@multiplatform.one/forms 7.77.1 → 7.77.2
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.cjs +45 -18
- package/dist/cjs/Button/IconButtonGroup.native.js +51 -20
- package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/cjs/Button/circleGlyph.cjs +12 -2
- package/dist/cjs/Button/circleGlyph.native.js +12 -1
- package/dist/cjs/Button/circleGlyph.native.js.map +1 -1
- package/dist/cjs/Button/iconButtonGroupContext.cjs +7 -1
- package/dist/cjs/Button/iconButtonGroupContext.native.js +7 -1
- package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +3 -11
- package/dist/cjs/Button/index.native.js +5 -14
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Button/mediaPlate.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/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.cjs +50 -0
- package/dist/cjs/FloatingPanel/coverRect.native.js +54 -0
- package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -0
- package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/iconEcho.cjs +3 -1
- package/dist/cjs/FloatingPanel/iconEcho.native.js +3 -1
- package/dist/cjs/FloatingPanel/iconEcho.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +23 -13
- package/dist/cjs/FloatingPanel/index.native.js +41 -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.cjs +5 -0
- package/dist/cjs/InputParts/index.native.js +7 -0
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/InputParts/keyboardAppearance.cjs +30 -0
- package/dist/cjs/InputParts/keyboardAppearance.native.js +33 -0
- package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -0
- 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.cjs +34 -0
- package/dist/cjs/fields/Duration/DurationWheel.native.js +132 -0
- package/dist/cjs/fields/Duration/DurationWheel.native.js.map +1 -0
- package/dist/cjs/fields/Duration/durationMath.cjs +19 -1
- package/dist/cjs/fields/Duration/durationMath.native.js +19 -1
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationWheelTypes.cjs +18 -0
- package/dist/cjs/fields/Duration/durationWheelTypes.native.js +21 -0
- package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -0
- package/dist/cjs/fields/Duration/index.cjs +30 -10
- package/dist/cjs/fields/Duration/index.native.js +34 -14
- 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/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.cjs +8 -7
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +9 -8
- 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.cjs +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/sheetKeyboard.cjs +1 -1
- package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js +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/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/index.native.js +45 -45
- 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/requiredMarking.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/choiceRowPress.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.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/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/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/AdaptivePopup/index.native.js.map +1 -1
- package/dist/esm/Button/IconButtonGroup.mjs +47 -20
- package/dist/esm/Button/IconButtonGroup.mjs.map +1 -1
- package/dist/esm/Button/IconButtonGroup.native.js +53 -22
- package/dist/esm/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/esm/Button/circleGlyph.mjs +9 -1
- package/dist/esm/Button/circleGlyph.mjs.map +1 -1
- package/dist/esm/Button/circleGlyph.native.js +10 -1
- package/dist/esm/Button/circleGlyph.native.js.map +1 -1
- package/dist/esm/Button/iconButtonGroupContext.mjs +5 -1
- package/dist/esm/Button/iconButtonGroupContext.mjs.map +1 -1
- package/dist/esm/Button/iconButtonGroupContext.native.js +5 -1
- package/dist/esm/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +1 -9
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +1 -10
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Button/mediaPlate.native.js.map +1 -1
- package/dist/esm/Button/webGlass.native.js.map +1 -1
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/esm/ControlGroup/index.native.js.map +1 -1
- package/dist/esm/DescriptionList/index.native.js.map +1 -1
- package/dist/esm/ErrorSummary.native.js.map +1 -1
- package/dist/esm/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/esm/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/esm/FieldDisplay/index.native.js.map +1 -1
- package/dist/esm/FieldGroup.native.js.map +1 -1
- package/dist/esm/FloatingPanel/PanelHeader.native.js.map +1 -1
- package/dist/esm/FloatingPanel/RegularPanel.native.js.map +1 -1
- package/dist/esm/FloatingPanel/compactFace.native.js.map +1 -1
- package/dist/esm/FloatingPanel/containingBlock.native.js.map +1 -1
- package/dist/esm/FloatingPanel/coverRect.mjs +23 -0
- package/dist/esm/FloatingPanel/coverRect.mjs.map +1 -0
- package/dist/esm/FloatingPanel/coverRect.native.js +24 -0
- package/dist/esm/FloatingPanel/coverRect.native.js.map +1 -0
- package/dist/esm/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/esm/FloatingPanel/iconEcho.mjs +4 -2
- package/dist/esm/FloatingPanel/iconEcho.mjs.map +1 -1
- package/dist/esm/FloatingPanel/iconEcho.native.js +4 -2
- package/dist/esm/FloatingPanel/iconEcho.native.js.map +1 -1
- package/dist/esm/FloatingPanel/index.mjs +23 -13
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +41 -15
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/esm/FloatingPanel/paintedBox.native.js.map +1 -1
- package/dist/esm/FloatingPanel/panelWidth.native.js.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/esm/FloatingPanel/regularPlacement.native.js.map +1 -1
- package/dist/esm/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/Form/index.native.js.map +1 -1
- package/dist/esm/Form/submissionController.native.js.map +1 -1
- package/dist/esm/Form/validateOn.native.js.map +1 -1
- package/dist/esm/FormGrid.native.js.map +1 -1
- package/dist/esm/FormSection.native.js.map +1 -1
- package/dist/esm/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +6 -1
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +8 -1
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/InputParts/keyboardAppearance.mjs +5 -0
- package/dist/esm/InputParts/keyboardAppearance.mjs.map +1 -0
- package/dist/esm/InputParts/keyboardAppearance.native.js +5 -0
- package/dist/esm/InputParts/keyboardAppearance.native.js.map +1 -0
- package/dist/esm/Label/index.native.js.map +1 -1
- package/dist/esm/MediaPicker/base64.native.js.map +1 -1
- package/dist/esm/MediaPicker/payload.native.js.map +1 -1
- package/dist/esm/MediaPicker/types.native.js.map +1 -1
- package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/esm/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/esm/Table/index.native.js.map +1 -1
- package/dist/esm/Wheel/haptic.native.js.map +1 -1
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wheel/wheelShared.native.js.map +1 -1
- package/dist/esm/actionLabel.native.js.map +1 -1
- package/dist/esm/fieldDefaults.native.js.map +1 -1
- package/dist/esm/fieldLayout.native.js.map +1 -1
- package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js.map +1 -1
- package/dist/esm/fields/Barcode/qr.native.js.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/SystemColorField.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
- package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/esm/fields/Duration/DurationWheel.mjs +8 -0
- package/dist/esm/fields/Duration/DurationWheel.mjs.map +1 -0
- package/dist/esm/fields/Duration/DurationWheel.native.js +103 -0
- package/dist/esm/fields/Duration/DurationWheel.native.js.map +1 -0
- package/dist/esm/fields/Duration/durationMath.mjs +16 -1
- package/dist/esm/fields/Duration/durationMath.mjs.map +1 -1
- package/dist/esm/fields/Duration/durationMath.native.js +16 -1
- package/dist/esm/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/esm/fields/Duration/durationWheelTypes.mjs +2 -0
- package/dist/esm/fields/Duration/durationWheelTypes.mjs.map +1 -0
- package/dist/esm/fields/Duration/durationWheelTypes.native.js +2 -0
- package/dist/esm/fields/Duration/durationWheelTypes.native.js.map +1 -0
- package/dist/esm/fields/Duration/index.mjs +28 -11
- package/dist/esm/fields/Duration/index.mjs.map +1 -1
- package/dist/esm/fields/Duration/index.native.js +30 -13
- package/dist/esm/fields/Duration/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/esm/fields/Icon/index.native.js.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/Input/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/esm/fields/Rating/types.native.js.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/InlineChoices.native.js.map +1 -1
- package/dist/esm/fields/Select/SheetPickerRow.native.js.map +1 -1
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/esm/fields/Stepper/index.native.js.map +1 -1
- package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +8 -7
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +8 -7
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.mjs +1 -1
- package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.mjs.map +1 -1
- package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js +1 -1
- package/dist/esm/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs +1 -1
- package/dist/esm/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -1
- package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js +1 -1
- package/dist/esm/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/dist/esm/fields/nativeSelect.native.js.map +1 -1
- package/dist/esm/fields/selectedOrder.native.js.map +1 -1
- package/dist/esm/formSpacing.native.js.map +1 -1
- package/dist/esm/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/keyboard/chain.native.js.map +1 -1
- package/dist/esm/keyboard/index.native.js.map +1 -1
- package/dist/esm/keyboard/types.native.js.map +1 -1
- package/dist/esm/requiredMarking.native.js.map +1 -1
- package/dist/esm/shared/TimeColumn.native.js.map +1 -1
- package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/esm/shared/choiceRowPress.native.js.map +1 -1
- package/dist/esm/shared/colorRamps.native.js.map +1 -1
- package/dist/esm/shared/devWarn.native.js.map +1 -1
- package/dist/esm/shared/fieldRowContext.native.js.map +1 -1
- package/dist/esm/shared/floatingList.native.js.map +1 -1
- package/dist/esm/shared/focusManagement.native.js.map +1 -1
- package/dist/esm/shared/groupContext.native.js.map +1 -1
- package/dist/esm/shared/i18n.native.js.map +1 -1
- package/dist/esm/shared/instantMotion.native.js.map +1 -1
- package/dist/esm/shared/nativeA11y.native.js.map +1 -1
- package/dist/esm/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/esm/shared/overlaySizeClass.native.js.map +1 -1
- package/dist/esm/shared/overlayStack.native.js.map +1 -1
- package/dist/esm/shared/panelPortal.native.js.map +1 -1
- package/dist/esm/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/esm/shared/pressSlopProps.native.js.map +1 -1
- package/dist/esm/shared/restoreRetries.native.js.map +1 -1
- package/dist/esm/shared/sheetNavigation.native.js.map +1 -1
- package/dist/esm/shared/systemControlModules.gnome.native.js.map +1 -1
- package/dist/esm/shared/systemControls.native.js.map +1 -1
- package/dist/esm/shared/t.native.js.map +1 -1
- package/dist/esm/shared/tableCellContext.native.js.map +1 -1
- package/dist/esm/shared/useDragScroll.native.js.map +1 -1
- package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/esm/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/esm/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/esm/shared/utils.native.js.map +1 -1
- package/dist/esm/shared/zIndex.native.js.map +1 -1
- package/dist/esm/standardActions.native.js.map +1 -1
- package/dist/esm/themedPrimitives.native.js.map +1 -1
- package/dist/esm/types.native.js.map +1 -1
- package/dist/esm/utils/LinkCell.native.js.map +1 -1
- package/dist/jsx/Button/IconButtonGroup.mjs +47 -20
- package/dist/jsx/Button/IconButtonGroup.mjs.map +1 -1
- package/dist/jsx/Button/IconButtonGroup.native.js +51 -20
- package/dist/jsx/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/jsx/Button/circleGlyph.mjs +9 -1
- package/dist/jsx/Button/circleGlyph.mjs.map +1 -1
- package/dist/jsx/Button/circleGlyph.native.js +12 -1
- package/dist/jsx/Button/circleGlyph.native.js.map +1 -1
- package/dist/jsx/Button/iconButtonGroupContext.mjs +5 -1
- package/dist/jsx/Button/iconButtonGroupContext.mjs.map +1 -1
- package/dist/jsx/Button/iconButtonGroupContext.native.js +7 -1
- package/dist/jsx/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +1 -9
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +3 -12
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/coverRect.mjs +23 -0
- package/dist/jsx/FloatingPanel/coverRect.mjs.map +1 -0
- package/dist/jsx/FloatingPanel/coverRect.native.js +54 -0
- package/dist/jsx/FloatingPanel/coverRect.native.js.map +1 -0
- package/dist/jsx/FloatingPanel/iconEcho.mjs +4 -2
- package/dist/jsx/FloatingPanel/iconEcho.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/iconEcho.native.js +3 -1
- package/dist/jsx/FloatingPanel/iconEcho.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/index.mjs +23 -13
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +41 -15
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +6 -1
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +7 -0
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/InputParts/keyboardAppearance.mjs +5 -0
- package/dist/jsx/InputParts/keyboardAppearance.mjs.map +1 -0
- package/dist/jsx/InputParts/keyboardAppearance.native.js +33 -0
- package/dist/jsx/InputParts/keyboardAppearance.native.js.map +1 -0
- package/dist/jsx/fields/Duration/DurationWheel.mjs +8 -0
- package/dist/jsx/fields/Duration/DurationWheel.mjs.map +1 -0
- package/dist/jsx/fields/Duration/DurationWheel.native.js +132 -0
- package/dist/jsx/fields/Duration/DurationWheel.native.js.map +1 -0
- package/dist/jsx/fields/Duration/durationMath.mjs +16 -1
- package/dist/jsx/fields/Duration/durationMath.mjs.map +1 -1
- package/dist/jsx/fields/Duration/durationMath.native.js +19 -1
- package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/jsx/fields/Duration/durationWheelTypes.mjs +2 -0
- package/dist/jsx/fields/Duration/durationWheelTypes.mjs.map +1 -0
- package/dist/jsx/fields/Duration/durationWheelTypes.native.js +21 -0
- package/dist/jsx/fields/Duration/durationWheelTypes.native.js.map +1 -0
- package/dist/jsx/fields/Duration/index.mjs +28 -11
- package/dist/jsx/fields/Duration/index.mjs.map +1 -1
- package/dist/jsx/fields/Duration/index.native.js +32 -12
- package/dist/jsx/fields/Duration/index.native.js.map +1 -1
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +8 -7
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +8 -7
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/jsx/fields/nativeDateTime/osDateTimeIosDisplay.mjs +1 -1
- package/dist/jsx/fields/nativeDateTime/osDateTimeIosDisplay.mjs.map +1 -1
- package/dist/jsx/fields/nativeDateTime/osDateTimeIosDisplay.native.js +1 -1
- package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs +1 -1
- package/dist/jsx/fields/nativeDateTime/sheetKeyboard.mjs.map +1 -1
- package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js +1 -1
- package/dist/jsx/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Button/IconButtonGroup.spec.tsx +20 -0
- package/src/Button/IconButtonGroup.tsx +60 -25
- package/src/Button/circleGlyph.ts +18 -0
- package/src/Button/iconButtonGroupContext.ts +25 -0
- package/src/Button/index.tsx +2 -20
- package/src/FloatingPanel/FloatingPanel.iconEcho.spec.tsx +61 -1
- package/src/FloatingPanel/FloatingPanel.menuFace.native.spec.tsx +104 -0
- package/src/FloatingPanel/coverRect.ts +42 -0
- package/src/FloatingPanel/iconEcho.tsx +9 -3
- package/src/FloatingPanel/index.native.tsx +63 -18
- package/src/FloatingPanel/index.tsx +35 -15
- package/src/InputParts/index.tsx +6 -0
- package/src/InputParts/keyboardAppearance.spec.ts +12 -0
- package/src/InputParts/keyboardAppearance.ts +4 -0
- package/src/fields/Duration/Duration.spec.tsx +19 -10
- package/src/fields/Duration/Duration.wheel.native.spec.tsx +98 -0
- package/src/fields/Duration/DurationWheel.native.tsx +101 -0
- package/src/fields/Duration/DurationWheel.tsx +11 -0
- package/src/fields/Duration/durationMath.spec.ts +43 -0
- package/src/fields/Duration/durationMath.ts +31 -0
- package/src/fields/Duration/durationWheelTypes.ts +18 -0
- package/src/fields/Duration/index.tsx +58 -27
- package/src/fields/nativeDateTime/OsDateTimeSheet.countdown.native.spec.tsx +121 -0
- package/src/fields/nativeDateTime/OsDateTimeSheet.spec.ts +4 -0
- package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +14 -9
- package/src/fields/nativeDateTime/osDateTimeIosDisplay.ts +3 -3
- package/src/fields/nativeDateTime/sheetKeyboard.spec.ts +6 -0
- package/src/fields/nativeDateTime/sheetKeyboard.ts +2 -2
- package/types/Button/IconButtonGroup.d.ts.map +1 -1
- package/types/Button/circleGlyph.d.ts +12 -0
- package/types/Button/circleGlyph.d.ts.map +1 -1
- package/types/Button/iconButtonGroupContext.d.ts +19 -0
- package/types/Button/iconButtonGroupContext.d.ts.map +1 -1
- package/types/Button/index.d.ts +2 -9
- package/types/Button/index.d.ts.map +1 -1
- package/types/FloatingPanel/coverRect.d.ts +25 -0
- package/types/FloatingPanel/coverRect.d.ts.map +1 -0
- package/types/FloatingPanel/index.d.ts.map +1 -1
- package/types/FloatingPanel/index.native.d.ts.map +1 -1
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/InputParts/keyboardAppearance.d.ts +3 -0
- package/types/InputParts/keyboardAppearance.d.ts.map +1 -0
- package/types/fields/Duration/DurationWheel.d.ts +5 -0
- package/types/fields/Duration/DurationWheel.d.ts.map +1 -0
- package/types/fields/Duration/DurationWheel.native.d.ts +5 -0
- package/types/fields/Duration/DurationWheel.native.d.ts.map +1 -0
- package/types/fields/Duration/durationMath.d.ts +13 -0
- package/types/fields/Duration/durationMath.d.ts.map +1 -1
- package/types/fields/Duration/durationWheelTypes.d.ts +18 -0
- package/types/fields/Duration/durationWheelTypes.d.ts.map +1 -0
- package/types/fields/Duration/index.d.ts +8 -3
- package/types/fields/Duration/index.d.ts.map +1 -1
- package/types/fields/nativeDateTime/OsDateTimeSheet.d.ts +1 -1
- package/types/fields/nativeDateTime/OsDateTimeSheet.d.ts.map +1 -1
- package/types/fields/nativeDateTime/osDateTimeIosDisplay.d.ts +2 -2
- package/types/fields/nativeDateTime/osDateTimeIosDisplay.d.ts.map +1 -1
- package/types/fields/nativeDateTime/sheetKeyboard.d.ts +1 -1
- package/types/fields/nativeDateTime/sheetKeyboard.d.ts.map +1 -1
|
@@ -2,10 +2,13 @@ import { describe, expect, it } from "vitest";
|
|
|
2
2
|
import { sizeRecipeForToken } from "@multiplatform.one/theme";
|
|
3
3
|
import {
|
|
4
4
|
durationSegmentWidth,
|
|
5
|
+
durationToWheelDate,
|
|
6
|
+
formatDurationParts,
|
|
5
7
|
normalizeSeconds,
|
|
6
8
|
parseDurationText,
|
|
7
9
|
partsToSeconds,
|
|
8
10
|
secondsToParts,
|
|
11
|
+
wheelDateToDuration,
|
|
9
12
|
} from "./durationMath";
|
|
10
13
|
|
|
11
14
|
describe("durationMath", () => {
|
|
@@ -64,4 +67,44 @@ describe("durationMath", () => {
|
|
|
64
67
|
expect(durationSegmentWidth("$2", 2)).not.toBe(durationSegmentWidth("$6", 2));
|
|
65
68
|
expect(durationSegmentWidth("$2", 2)).toBeLessThan(durationSegmentWidth("$4", 2));
|
|
66
69
|
});
|
|
70
|
+
|
|
71
|
+
describe("countdown wheel (FZ-8111)", () => {
|
|
72
|
+
const at = (h: number, m: number) => {
|
|
73
|
+
const d = new Date(2026, 9, 29);
|
|
74
|
+
d.setHours(h, m, 0, 0);
|
|
75
|
+
return d;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
it("reads hours and minutes within the day onto the wheel", () => {
|
|
79
|
+
const date = durationToWheelDate(3720);
|
|
80
|
+
expect([date.getHours(), date.getMinutes(), date.getSeconds()]).toEqual([1, 2, 0]);
|
|
81
|
+
const late = durationToWheelDate(23 * 3600 + 59 * 60);
|
|
82
|
+
expect([late.getHours(), late.getMinutes()]).toEqual([23, 59]);
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
it("round-trips every wheel position back to the same seconds", () => {
|
|
86
|
+
for (const seconds of [0, 60, 900, 3720, 9000, 86340]) {
|
|
87
|
+
expect(wheelDateToDuration(durationToWheelDate(seconds), 0)).toBe(seconds);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
it("sets seconds from a wheel pick", () => {
|
|
92
|
+
expect(wheelDateToDuration(at(2, 30), 0)).toBe(9000);
|
|
93
|
+
expect(wheelDateToDuration(at(0, 15), 3720)).toBe(900);
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("carries whole days and stray seconds the wheel cannot show", () => {
|
|
97
|
+
expect(wheelDateToDuration(at(2, 30), 86400 + 3600 + 7)).toBe(86400 + 9000 + 7);
|
|
98
|
+
const wheel = durationToWheelDate(90000);
|
|
99
|
+
expect([wheel.getHours(), wheel.getMinutes()]).toEqual([1, 0]);
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
it("formats the trigger text with or without days", () => {
|
|
103
|
+
const units = { d: "d", h: "h", m: "m" };
|
|
104
|
+
expect(formatDurationParts(secondsToParts(3720, true), true, units)).toBe("1 h 2 m");
|
|
105
|
+
expect(formatDurationParts(secondsToParts(90000, true), true, units)).toBe("25 h 0 m");
|
|
106
|
+
expect(formatDurationParts(secondsToParts(93784, false), false, units)).toBe("1 d 2 h 3 m");
|
|
107
|
+
expect(formatDurationParts(secondsToParts(3720, false), false, units)).toBe("1 h 2 m");
|
|
108
|
+
});
|
|
109
|
+
});
|
|
67
110
|
});
|
|
@@ -76,3 +76,34 @@ export function durationSegmentWidth(sizeToken: string, digits: number): number
|
|
|
76
76
|
const recipe = sizeRecipeForToken(sizeToken);
|
|
77
77
|
return recipe.fontSize * digits;
|
|
78
78
|
}
|
|
79
|
+
|
|
80
|
+
const DAY = 86400;
|
|
81
|
+
|
|
82
|
+
/** The countdown wheel's reading of a duration: hours and minutes within one day, on today's date. */
|
|
83
|
+
export function durationToWheelDate(total: number): Date {
|
|
84
|
+
const s = normalizeSeconds(total) % DAY;
|
|
85
|
+
const date = new Date();
|
|
86
|
+
date.setHours(Math.floor(s / 3600), Math.floor((s % 3600) / 60), 0, 0);
|
|
87
|
+
return date;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* A wheel pick back to seconds. The wheel spans 0 h 0 m to 23 h 59 m, so the
|
|
92
|
+
* whole days and the stray seconds of the previous value carry over untouched.
|
|
93
|
+
*/
|
|
94
|
+
export function wheelDateToDuration(picked: Date, previous: number): number {
|
|
95
|
+
const prev = normalizeSeconds(previous);
|
|
96
|
+
return (
|
|
97
|
+
Math.floor(prev / DAY) * DAY + picked.getHours() * 3600 + picked.getMinutes() * 60 + (prev % 60)
|
|
98
|
+
);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/** "1 h 2 m", "1 d 2 h 3 m": the wheel trigger's text, units from the caller. */
|
|
102
|
+
export function formatDurationParts(
|
|
103
|
+
parts: DurationParts,
|
|
104
|
+
hideDays: boolean,
|
|
105
|
+
units: { d: string; h: string; m: string },
|
|
106
|
+
): string {
|
|
107
|
+
const head = hideDays || parts.days === 0 ? [] : [`${parts.days} ${units.d}`];
|
|
108
|
+
return [...head, `${parts.hours} ${units.h}`, `${parts.minutes} ${units.m}`].join(" ");
|
|
109
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { KnobProps } from "@multiplatform.one/theme";
|
|
2
|
+
import type { ReactNode } from "react";
|
|
3
|
+
import type { SizeTokens } from "tamagui";
|
|
4
|
+
|
|
5
|
+
export interface DurationWheelFieldProps {
|
|
6
|
+
seconds: number;
|
|
7
|
+
onChange: (seconds: number) => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
readOnly?: boolean;
|
|
10
|
+
foldDays: boolean;
|
|
11
|
+
clockIcon?: ReactNode | null;
|
|
12
|
+
hasError?: boolean;
|
|
13
|
+
id?: string;
|
|
14
|
+
hasLabel?: boolean;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
size?: SizeTokens;
|
|
17
|
+
knobProps: KnobProps;
|
|
18
|
+
}
|
|
@@ -5,7 +5,7 @@ import type { ReactNode } from "react";
|
|
|
5
5
|
import { useCallback, useState } from "react";
|
|
6
6
|
import type { LabelProps, SizeTokens } from "tamagui";
|
|
7
7
|
import { Text, XStack, YStack, isWeb } from "tamagui";
|
|
8
|
-
import {
|
|
8
|
+
import { Chip } from "../../Chip";
|
|
9
9
|
import { Skeleton } from "../../Skeleton";
|
|
10
10
|
import { Field, FieldLayout } from "../../fieldLayout";
|
|
11
11
|
import { Input as InputParts } from "../../InputParts";
|
|
@@ -20,22 +20,29 @@ import {
|
|
|
20
20
|
useResolvedValidators,
|
|
21
21
|
} from "../../shared/utils";
|
|
22
22
|
import type { AnyFormApi } from "../../types";
|
|
23
|
+
import { DurationWheelField, durationWheelAvailable } from "./DurationWheel";
|
|
23
24
|
import {
|
|
24
25
|
durationSegmentWidth,
|
|
26
|
+
durationToWheelDate,
|
|
27
|
+
formatDurationParts,
|
|
25
28
|
normalizeSeconds,
|
|
26
29
|
parseDurationText,
|
|
27
30
|
partsToSeconds,
|
|
28
31
|
secondsToParts,
|
|
32
|
+
wheelDateToDuration,
|
|
29
33
|
type DurationParts,
|
|
30
34
|
} from "./durationMath";
|
|
31
35
|
|
|
32
36
|
export type { DurationParts };
|
|
33
37
|
export {
|
|
34
38
|
durationSegmentWidth,
|
|
39
|
+
durationToWheelDate,
|
|
40
|
+
formatDurationParts,
|
|
35
41
|
normalizeSeconds,
|
|
36
42
|
parseDurationText,
|
|
37
43
|
partsToSeconds,
|
|
38
44
|
secondsToParts,
|
|
45
|
+
wheelDateToDuration,
|
|
39
46
|
};
|
|
40
47
|
|
|
41
48
|
export interface DurationPreset {
|
|
@@ -374,16 +381,15 @@ function DurationPresets({
|
|
|
374
381
|
{presets.map((preset) => {
|
|
375
382
|
const selected = seconds === preset.seconds;
|
|
376
383
|
return (
|
|
377
|
-
<
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
</Button>
|
|
384
|
+
<XStack key={preset.seconds} data-duration-preset={preset.label}>
|
|
385
|
+
<Chip
|
|
386
|
+
size={DURATION_PRESET_SIZE}
|
|
387
|
+
selected={selected}
|
|
388
|
+
onPress={() => onChange(preset.seconds)}
|
|
389
|
+
>
|
|
390
|
+
{preset.label}
|
|
391
|
+
</Chip>
|
|
392
|
+
</XStack>
|
|
387
393
|
);
|
|
388
394
|
})}
|
|
389
395
|
</XStack>
|
|
@@ -425,6 +431,11 @@ export interface DurationProps {
|
|
|
425
431
|
clockIcon?: ReactNode | null;
|
|
426
432
|
/** When true, renders a skeleton placeholder instead of the duration picker */
|
|
427
433
|
skeleton?: boolean;
|
|
434
|
+
/**
|
|
435
|
+
* On iOS and Android a tap opens the system hours/minutes wheel (LC-266).
|
|
436
|
+
* `false` keeps the typed segments there too. Web always types.
|
|
437
|
+
*/
|
|
438
|
+
native?: boolean;
|
|
428
439
|
}
|
|
429
440
|
|
|
430
441
|
export function Duration({
|
|
@@ -450,6 +461,7 @@ export function Duration({
|
|
|
450
461
|
placeholder = t("Select duration"),
|
|
451
462
|
clockIcon,
|
|
452
463
|
skeleton,
|
|
464
|
+
native,
|
|
453
465
|
}: DurationProps) {
|
|
454
466
|
const hydrationTouch = useTouchSurface();
|
|
455
467
|
const { resolvedForm, knobProps, id } = useFormField({
|
|
@@ -489,24 +501,43 @@ export function Duration({
|
|
|
489
501
|
);
|
|
490
502
|
}
|
|
491
503
|
|
|
504
|
+
const wheel = native !== false && !showSeconds && durationWheelAvailable();
|
|
505
|
+
|
|
492
506
|
const fieldBody = (current: number, onValueChange: (s: number) => void, hasError?: boolean) => (
|
|
493
507
|
<YStack {...knobProps.gap}>
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
508
|
+
{wheel ? (
|
|
509
|
+
<DurationWheelField
|
|
510
|
+
seconds={current}
|
|
511
|
+
onChange={onValueChange}
|
|
512
|
+
disabled={disabled}
|
|
513
|
+
readOnly={readOnly}
|
|
514
|
+
foldDays={hideDays}
|
|
515
|
+
clockIcon={clockIcon}
|
|
516
|
+
hasError={hasError}
|
|
517
|
+
id={id}
|
|
518
|
+
hasLabel={Boolean(label)}
|
|
519
|
+
required={required}
|
|
520
|
+
size={size}
|
|
521
|
+
knobProps={knobProps}
|
|
522
|
+
/>
|
|
523
|
+
) : (
|
|
524
|
+
<DurationControl
|
|
525
|
+
seconds={current}
|
|
526
|
+
onChange={onValueChange}
|
|
527
|
+
disabled={disabled}
|
|
528
|
+
readOnly={readOnly}
|
|
529
|
+
hideDays={hideDays}
|
|
530
|
+
showSeconds={showSeconds}
|
|
531
|
+
clockIcon={clockIcon}
|
|
532
|
+
hasError={hasError}
|
|
533
|
+
id={id}
|
|
534
|
+
hasLabel={Boolean(label)}
|
|
535
|
+
placeholder={placeholder}
|
|
536
|
+
required={required}
|
|
537
|
+
size={size}
|
|
538
|
+
knobProps={knobProps}
|
|
539
|
+
/>
|
|
540
|
+
)}
|
|
510
541
|
{readOnly || disabled || inTableCell ? null : (
|
|
511
542
|
<DurationPresets
|
|
512
543
|
seconds={current}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
2
|
+
import { fireEvent } from "@testing-library/react";
|
|
3
|
+
import { describe, expect, it, vi } from "vitest";
|
|
4
|
+
import { OsDateTimeSheet } from "./OsDateTimeSheet";
|
|
5
|
+
import { DATE_PICKER_WHEEL_HEIGHT } from "./sheetKeyboard";
|
|
6
|
+
|
|
7
|
+
const os = vi.hoisted(() => ({ name: "ios" as "ios" | "android" }));
|
|
8
|
+
const seen = vi.hoisted(() => ({ props: [] as Record<string, unknown>[] }));
|
|
9
|
+
|
|
10
|
+
vi.mock("react-native-web", async (importOriginal) => ({
|
|
11
|
+
...(await importOriginal<typeof import("react-native")>()),
|
|
12
|
+
useWindowDimensions: () => ({ width: 390, height: 844, scale: 3, fontScale: 1 }),
|
|
13
|
+
}));
|
|
14
|
+
|
|
15
|
+
vi.mock("@multiplatform.one/platform", async (importOriginal) => {
|
|
16
|
+
const actual = (await importOriginal()) as Record<string, unknown>;
|
|
17
|
+
const real = actual.platform as Record<string, unknown>;
|
|
18
|
+
return {
|
|
19
|
+
...actual,
|
|
20
|
+
platform: new Proxy(
|
|
21
|
+
{},
|
|
22
|
+
{
|
|
23
|
+
get(_target, prop) {
|
|
24
|
+
if (prop === "isIos") return os.name === "ios";
|
|
25
|
+
if (prop === "isAndroid") return os.name === "android";
|
|
26
|
+
return real[prop as string];
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
),
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
vi.mock("./dateTimePickerLoader", () => ({
|
|
34
|
+
loadDateTimePicker: () => (props: Record<string, unknown>) => {
|
|
35
|
+
seen.props.push(props);
|
|
36
|
+
return <div data-testid="os-picker" />;
|
|
37
|
+
},
|
|
38
|
+
}));
|
|
39
|
+
|
|
40
|
+
const at = (h: number, m: number) => {
|
|
41
|
+
const d = new Date(2026, 9, 29);
|
|
42
|
+
d.setHours(h, m, 0, 0);
|
|
43
|
+
return d;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
describe("OsDateTimeSheet countdown (FZ-8111)", () => {
|
|
47
|
+
it("opens the iOS countdown-timer wheel in the app's scheme", () => {
|
|
48
|
+
os.name = "ios";
|
|
49
|
+
seen.props = [];
|
|
50
|
+
renderWithProviders(
|
|
51
|
+
<OsDateTimeSheet
|
|
52
|
+
open
|
|
53
|
+
mode="countdown"
|
|
54
|
+
value={at(1, 2)}
|
|
55
|
+
onCancel={vi.fn()}
|
|
56
|
+
onConfirm={vi.fn()}
|
|
57
|
+
/>,
|
|
58
|
+
);
|
|
59
|
+
const props = seen.props.at(-1)!;
|
|
60
|
+
expect(props.mode).toBe("countdown");
|
|
61
|
+
expect(props.display).toBe("spinner");
|
|
62
|
+
expect(props.themeVariant).toBe("light");
|
|
63
|
+
expect((props.value as Date).getHours()).toBe(1);
|
|
64
|
+
expect((props.value as Date).getMinutes()).toBe(2);
|
|
65
|
+
expect((props.style as { height: number }).height).toBe(DATE_PICKER_WHEEL_HEIGHT);
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
it("confirms the wheel's hours and minutes", () => {
|
|
69
|
+
os.name = "ios";
|
|
70
|
+
seen.props = [];
|
|
71
|
+
const onConfirm = vi.fn();
|
|
72
|
+
const onCancel = vi.fn();
|
|
73
|
+
const result = renderWithProviders(
|
|
74
|
+
<OsDateTimeSheet
|
|
75
|
+
open
|
|
76
|
+
mode="countdown"
|
|
77
|
+
value={at(1, 2)}
|
|
78
|
+
onCancel={onCancel}
|
|
79
|
+
onConfirm={onConfirm}
|
|
80
|
+
/>,
|
|
81
|
+
);
|
|
82
|
+
fireEvent.click(result.getByRole("button", { name: "Done" }));
|
|
83
|
+
expect(onConfirm).toHaveBeenCalledOnce();
|
|
84
|
+
const picked = onConfirm.mock.calls[0]![0] as Date;
|
|
85
|
+
expect([picked.getHours(), picked.getMinutes()]).toEqual([1, 2]);
|
|
86
|
+
fireEvent.click(result.getByRole("button", { name: "Cancel" }));
|
|
87
|
+
expect(onCancel).toHaveBeenCalledOnce();
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
it("opens Android's 24-hour spinner, never the AM/PM clock dial", () => {
|
|
91
|
+
os.name = "android";
|
|
92
|
+
seen.props = [];
|
|
93
|
+
renderWithProviders(
|
|
94
|
+
<OsDateTimeSheet
|
|
95
|
+
open
|
|
96
|
+
mode="countdown"
|
|
97
|
+
value={at(2, 30)}
|
|
98
|
+
onCancel={vi.fn()}
|
|
99
|
+
onConfirm={vi.fn()}
|
|
100
|
+
/>,
|
|
101
|
+
);
|
|
102
|
+
const props = seen.props.at(-1)!;
|
|
103
|
+
expect(props.mode).toBe("time");
|
|
104
|
+
expect(props.display).toBe("spinner");
|
|
105
|
+
expect(props.is24Hour).toBe(true);
|
|
106
|
+
os.name = "ios";
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
it("leaves the Android date dialog as it was", () => {
|
|
110
|
+
os.name = "android";
|
|
111
|
+
seen.props = [];
|
|
112
|
+
renderWithProviders(
|
|
113
|
+
<OsDateTimeSheet open mode="date" value={at(0, 0)} onCancel={vi.fn()} onConfirm={vi.fn()} />,
|
|
114
|
+
);
|
|
115
|
+
const props = seen.props.at(-1)!;
|
|
116
|
+
expect(props.mode).toBe("date");
|
|
117
|
+
expect(props.display).toBe("default");
|
|
118
|
+
expect(props.is24Hour).toBeUndefined();
|
|
119
|
+
os.name = "ios";
|
|
120
|
+
});
|
|
121
|
+
});
|
|
@@ -9,4 +9,8 @@ describe("osDateTimeIosDisplay", () => {
|
|
|
9
9
|
it("keeps the time wheel", () => {
|
|
10
10
|
expect(osDateTimeIosDisplay("time")).toBe("spinner");
|
|
11
11
|
});
|
|
12
|
+
|
|
13
|
+
it("keeps the wheel for a countdown (FZ-8111)", () => {
|
|
14
|
+
expect(osDateTimeIosDisplay("countdown")).toBe("spinner");
|
|
15
|
+
});
|
|
12
16
|
});
|
|
@@ -33,7 +33,7 @@ import { osDateTimeIosDisplay } from "./osDateTimeIosDisplay";
|
|
|
33
33
|
import { datePickerHeight, dateSheetBottomPadding, dateSheetMaxHeight } from "./sheetKeyboard";
|
|
34
34
|
import { useKeyboardInset } from "../../shared/useKeyboardInset";
|
|
35
35
|
|
|
36
|
-
export type OsDateTimeMode = "date" | "time" | "datetime";
|
|
36
|
+
export type OsDateTimeMode = "date" | "time" | "datetime" | "countdown";
|
|
37
37
|
|
|
38
38
|
export type OsDateTimeSheetProps = {
|
|
39
39
|
open: boolean;
|
|
@@ -74,8 +74,12 @@ export function OsDateTimeSheet({
|
|
|
74
74
|
const maxHeight = dateSheetMaxHeight(windowHeight, keyboardInset, topInset);
|
|
75
75
|
const [showTimePicker, setShowTimePicker] = useState(false);
|
|
76
76
|
const [temp, setTemp] = useState(value);
|
|
77
|
-
const pickerMode: "date" | "time" =
|
|
78
|
-
mode === "
|
|
77
|
+
const pickerMode: "date" | "time" | "countdown" =
|
|
78
|
+
mode === "countdown"
|
|
79
|
+
? "countdown"
|
|
80
|
+
: mode === "time" || (mode === "datetime" && showTimePicker)
|
|
81
|
+
? "time"
|
|
82
|
+
: "date";
|
|
79
83
|
const iosDisplay = osDateTimeIosDisplay(pickerMode);
|
|
80
84
|
|
|
81
85
|
const reset = useCallback(() => {
|
|
@@ -182,11 +186,12 @@ export function OsDateTimeSheet({
|
|
|
182
186
|
return (
|
|
183
187
|
<DateTimePicker
|
|
184
188
|
value={temp}
|
|
185
|
-
mode={pickerMode}
|
|
186
|
-
display="default"
|
|
189
|
+
mode={pickerMode === "countdown" ? "time" : pickerMode}
|
|
190
|
+
display={pickerMode === "countdown" ? "spinner" : "default"}
|
|
191
|
+
is24Hour={pickerMode === "countdown" ? true : undefined}
|
|
187
192
|
onChange={handleAndroidChange}
|
|
188
|
-
minimumDate={mode
|
|
189
|
-
maximumDate={mode
|
|
193
|
+
minimumDate={mode === "date" || mode === "datetime" ? minDate : undefined}
|
|
194
|
+
maximumDate={mode === "date" || mode === "datetime" ? maxDate : undefined}
|
|
190
195
|
/>
|
|
191
196
|
);
|
|
192
197
|
}
|
|
@@ -242,8 +247,8 @@ export function OsDateTimeSheet({
|
|
|
242
247
|
themeVariant={themeVariant}
|
|
243
248
|
accentColor={accentColor}
|
|
244
249
|
onChange={handleIOSChange}
|
|
245
|
-
minimumDate={mode
|
|
246
|
-
maximumDate={mode
|
|
250
|
+
minimumDate={mode === "date" || mode === "datetime" ? minDate : undefined}
|
|
251
|
+
maximumDate={mode === "date" || mode === "datetime" ? maxDate : undefined}
|
|
247
252
|
style={{ width: "100%", height: datePickerHeight(pickerMode, maxHeight) }}
|
|
248
253
|
/>
|
|
249
254
|
</YStack>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/** iOS date is the inline calendar; time
|
|
2
|
-
export function osDateTimeIosDisplay(mode: "date" | "time"): "inline" | "spinner" {
|
|
3
|
-
return mode === "
|
|
1
|
+
/** iOS date is the inline calendar; time and countdown keep the wheel users expect. */
|
|
2
|
+
export function osDateTimeIosDisplay(mode: "date" | "time" | "countdown"): "inline" | "spinner" {
|
|
3
|
+
return mode === "date" ? "inline" : "spinner";
|
|
4
4
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
dateSheetBottomPadding,
|
|
11
11
|
dateSheetMaxHeight,
|
|
12
12
|
DATE_PICKER_CALENDAR_HEIGHT,
|
|
13
|
+
DATE_PICKER_WHEEL_HEIGHT,
|
|
13
14
|
DATE_SHEET_BACKDROP_STRIP,
|
|
14
15
|
DATE_SHEET_MIN_HEIGHT,
|
|
15
16
|
} from "./sheetKeyboard";
|
|
@@ -49,6 +50,11 @@ describe("datePickerHeight", () => {
|
|
|
49
50
|
expect(height).toBeLessThan(DATE_PICKER_CALENDAR_HEIGHT);
|
|
50
51
|
expect(height).toBeLessThanOrEqual(maxHeight);
|
|
51
52
|
});
|
|
53
|
+
|
|
54
|
+
it("gives the countdown the wheel height, not the calendar's (FZ-8111)", () => {
|
|
55
|
+
expect(datePickerHeight("countdown", 700)).toBe(DATE_PICKER_WHEEL_HEIGHT);
|
|
56
|
+
expect(datePickerHeight("countdown", 700)).toBe(datePickerHeight("time", 700));
|
|
57
|
+
});
|
|
52
58
|
});
|
|
53
59
|
|
|
54
60
|
describe("dateSheetBottomPadding", () => {
|
|
@@ -39,7 +39,7 @@ export function dateSheetBottomPadding(keyboardInset: number, isIos: boolean): n
|
|
|
39
39
|
return isIos ? 24 : 16;
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
export function datePickerHeight(mode: "date" | "time", maxHeight: number): number {
|
|
43
|
-
const preferred = mode === "
|
|
42
|
+
export function datePickerHeight(mode: "date" | "time" | "countdown", maxHeight: number): number {
|
|
43
|
+
const preferred = mode === "date" ? DATE_PICKER_CALENDAR_HEIGHT : DATE_PICKER_WHEEL_HEIGHT;
|
|
44
44
|
return Math.min(preferred, Math.max(minPickerHeight, maxHeight - DATE_SHEET_CHROME));
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButtonGroup.d.ts","sourceRoot":"","sources":["../../src/Button/IconButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"IconButtonGroup.d.ts","sourceRoot":"","sources":["../../src/Button/IconButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAA8B,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAWvE;;;GAGG;AACH,eAAO,MAAM,0BAA0B,KAAK,CAAC;AAQ7C,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,oBAAoB,2CAkIjF"}
|
|
@@ -4,4 +4,16 @@
|
|
|
4
4
|
* ratio, never a small glyph lost in a big plate.
|
|
5
5
|
*/
|
|
6
6
|
export declare const ICON_BUTTON_CIRCLE_GLYPH_RATIO = 0.58;
|
|
7
|
+
/**
|
|
8
|
+
* LC-176: Phosphor bold's stem is 0.12 of its ink, an SF Symbols bold plus's
|
|
9
|
+
* 0.18 (measured at 17 and 24pt). An outline stroke this wide, in the 256-unit
|
|
10
|
+
* grid, brings a bold glyph to SF semibold-bold (0.154); a wider one closes
|
|
11
|
+
* Phosphor bold's 16-unit counters (the trash lid, copy's overlap).
|
|
12
|
+
*/
|
|
13
|
+
export declare const GLYPH_BOLD_STROKE_UNITS = 8;
|
|
14
|
+
export declare function boldStroke(weight: "regular" | "bold", color?: string): {
|
|
15
|
+
stroke: string;
|
|
16
|
+
strokeWidth: number;
|
|
17
|
+
strokeLinejoin: "round";
|
|
18
|
+
} | undefined;
|
|
7
19
|
//# sourceMappingURL=circleGlyph.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"circleGlyph.d.ts","sourceRoot":"","sources":["../../src/Button/circleGlyph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"circleGlyph.d.ts","sourceRoot":"","sources":["../../src/Button/circleGlyph.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,EAAE,KAAK,SAAiB;;;;cAQ5E"}
|
|
@@ -14,4 +14,23 @@ export declare function useIconButtonGroupGround(): IconButtonGroupGround;
|
|
|
14
14
|
*/
|
|
15
15
|
export declare const IconButtonGroupRegistry: import("react").Context<(() => () => void) | null>;
|
|
16
16
|
export declare function useIconButtonGroupMember(iconOnly: boolean): void;
|
|
17
|
+
/**
|
|
18
|
+
* The window frame and corner radius of the plate an `IconButtonGroup` paints
|
|
19
|
+
* (a native Liquid Glass capsule). Native has no DOM to walk, so a panel
|
|
20
|
+
* opening from a grouped button reads the plate it covers here (LC-112,
|
|
21
|
+
* FZ-8550).
|
|
22
|
+
*/
|
|
23
|
+
export interface IconButtonGroupPlate {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
radius: number;
|
|
29
|
+
}
|
|
30
|
+
export interface IconButtonGroupSurface {
|
|
31
|
+
/** Answers once: the plate, or null when it cannot be measured. */
|
|
32
|
+
measure(callback: (plate: IconButtonGroupPlate | null) => void): void;
|
|
33
|
+
}
|
|
34
|
+
export declare const IconButtonGroupSurfaceContext: import("react").Context<IconButtonGroupSurface | null>;
|
|
35
|
+
export declare function useIconButtonGroupSurface(): IconButtonGroupSurface | null;
|
|
17
36
|
//# sourceMappingURL=iconButtonGroupContext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iconButtonGroupContext.d.ts","sourceRoot":"","sources":["../../src/Button/iconButtonGroupContext.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAE7D,eAAO,MAAM,sBAAsB,gDAA6C,CAAC;AAEjF,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iCAAwB,MAAM,IAAI,SAAe,CAAC;AAEtF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAMhE"}
|
|
1
|
+
{"version":3,"file":"iconButtonGroupContext.d.ts","sourceRoot":"","sources":["../../src/Button/iconButtonGroupContext.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC;AAE7D,eAAO,MAAM,sBAAsB,gDAA6C,CAAC;AAEjF,wBAAgB,wBAAwB,IAAI,qBAAqB,CAEhE;AAED;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,iCAAwB,MAAM,IAAI,SAAe,CAAC;AAEtF,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAMhE;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,sBAAsB;IACrC,mEAAmE;IACnE,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC;CACvE;AAED,eAAO,MAAM,6BAA6B,wDAAqD,CAAC;AAEhG,wBAAgB,yBAAyB,IAAI,sBAAsB,GAAG,IAAI,CAEzE"}
|
package/types/Button/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { type RecipeFamilyName, type SizeRecipe } from "@multiplatform.one/theme
|
|
|
3
3
|
import { type ButtonProps as TamaguiButtonProps } from "tamagui";
|
|
4
4
|
import type { AnyFormApi } from "../types";
|
|
5
5
|
import type { SizeTokens } from "@tamagui/web";
|
|
6
|
-
import { ICON_BUTTON_CIRCLE_GLYPH_RATIO } from "./circleGlyph";
|
|
7
|
-
export { ICON_BUTTON_CIRCLE_GLYPH_RATIO };
|
|
6
|
+
import { GLYPH_BOLD_STROKE_UNITS, ICON_BUTTON_CIRCLE_GLYPH_RATIO } from "./circleGlyph";
|
|
7
|
+
export { GLYPH_BOLD_STROKE_UNITS, ICON_BUTTON_CIRCLE_GLYPH_RATIO };
|
|
8
8
|
/**
|
|
9
9
|
* Coordinated size recipe (Polaris slim/medium/large, Primer s/m/l, Linear
|
|
10
10
|
* 28/32/40, Spectrum S/M, M3 XS/S). Height, pad, type, icon, gap and radius
|
|
@@ -173,13 +173,6 @@ export declare const ICON_BUTTON_NEUTRAL_GLYPH_PX = 24;
|
|
|
173
173
|
* target.
|
|
174
174
|
*/
|
|
175
175
|
export declare function iconButtonGlyphPx(rowLinePx: number | undefined): number;
|
|
176
|
-
/**
|
|
177
|
-
* LC-176: Phosphor bold's stem is 0.12 of its ink, an SF Symbols bold plus's
|
|
178
|
-
* 0.18 (measured at 17 and 24pt). An outline stroke this wide, in the 256-unit
|
|
179
|
-
* grid, brings a bold glyph to SF semibold-bold (0.154); a wider one closes
|
|
180
|
-
* Phosphor bold's 16-unit counters (the trash lid, copy's overlap).
|
|
181
|
-
*/
|
|
182
|
-
export declare const GLYPH_BOLD_STROKE_UNITS = 8;
|
|
183
176
|
export declare function Button({ children, action, form: formProp, loading, accent, error, warning, success, skeleton, outlined, disabled, theme, onPress, onKeyDown, tabIndex, icon, iconAfter, selected, nested, circular: circularProp, chromeless, edge, accentInk, plate, inline, glyphWeight, verb, noun, actionRole, disabledReason, disabledReasonPlacement, sizeRecipeEscape, recipeFamily, height: heightProp, paddingHorizontal: paddingHorizontalProp, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
184
177
|
export declare namespace Button {
|
|
185
178
|
var Icon: (props: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EA6BL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEhB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAEL,KAAK,WAAW,IAAI,kBAAkB,EAavC,MAAM,SAAS,CAAC;AAKjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AAQpE,OAAO,EAAE,8BAA8B,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { TriggerRect } from "./pointAnchor";
|
|
2
|
+
/**
|
|
3
|
+
* The 44pt box an icon trigger is pressed in, centred on the trigger
|
|
4
|
+
* (LC-176). A trigger drawn smaller than its target (a 32pt avatar) is
|
|
5
|
+
* covered at its target, so the panel's row-icon column, which centres on
|
|
6
|
+
* a 44pt start inset, runs through the trigger's centre and the X drawn on
|
|
7
|
+
* it (FZ-8480 GAP). A trigger at least that big is its own box.
|
|
8
|
+
*/
|
|
9
|
+
export declare function pressTargetRect(trigger: TriggerRect, min?: number): TriggerRect;
|
|
10
|
+
/**
|
|
11
|
+
* The surface a panel opened from an icon trigger covers (LC-112, FZ-8480
|
|
12
|
+
* Round 37): the plate the trigger sits on. In a grouped glass capsule
|
|
13
|
+
* that is the capsule (FZ-8550); a lone trigger is its press target.
|
|
14
|
+
*/
|
|
15
|
+
export declare function iconCoverRect(trigger: TriggerRect, group: TriggerRect | null): TriggerRect;
|
|
16
|
+
/**
|
|
17
|
+
* Where the trigger sits inside the surface its panel covers: the X box's
|
|
18
|
+
* offset from the cover's top, and the band's height. Null when the cover is
|
|
19
|
+
* the trigger itself.
|
|
20
|
+
*/
|
|
21
|
+
export declare function echoInCover(trigger: TriggerRect, cover: TriggerRect): {
|
|
22
|
+
top: number;
|
|
23
|
+
height: number;
|
|
24
|
+
} | null;
|
|
25
|
+
//# sourceMappingURL=coverRect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coverRect.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/coverRect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,SAAmB,GAAG,WAAW,CASzF;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,GAAG,WAAW,CAE1F;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,WAAW,GACjB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AA8B3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,UAAU,EACV,KAAK,UAAU,EAIhB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAsB,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AASrE,OAAO,EAAqC,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAyCH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../src/FloatingPanel/index.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAyCH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AA+BlD,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1F,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/E,uFAAuF;AACvF,wBAAgB,eAAe,YAE9B;AAiBD,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAyB,EACzB,QAAQ,EAAE,aAAa,EACvB,UAAU,EACV,QAAQ,EACR,cAA0B,EAC1B,MAAM,EACN,eAAe,EACf,WAAW,EACX,SAAS,EACT,MAAgB,EAChB,WAAW,EACX,UAAU,EACV,WAAkB,EAClB,UAAoB,EACpB,QAAQ,EACR,UAAU,EACV,UAAsB,EACtB,KAAK,EACL,SAAS,EACT,UAAU,GACX,EAAE,kBAAkB,2CAioBpB;AAgXD,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,IAAI,CAEvE;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,aAAa,EAAE,OAAO,EACtB,SAAS,EAAE,OAAO,EAClB,QAAQ,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,IAAI,CAAG"}
|