@multiplatform.one/forms 7.34.3 → 7.35.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.cjs +26 -43
- package/dist/cjs/AdaptivePopup/index.native.js +26 -47
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +96 -61
- package/dist/cjs/Button/index.native.js +104 -64
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +9 -3
- package/dist/cjs/Chip/index.native.js +9 -3
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.cjs +6 -31
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +6 -31
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/index.cjs +5 -4
- package/dist/cjs/ContextualSaveBar/index.native.js +5 -4
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.cjs +12 -11
- package/dist/cjs/ControlGroup/index.native.js +12 -11
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.cjs +17 -21
- package/dist/cjs/DescriptionList/index.native.js +17 -21
- package/dist/cjs/DescriptionList/index.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.cjs +5 -8
- package/dist/cjs/FieldDisplay/index.native.js +6 -9
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.cjs +4 -15
- package/dist/cjs/FieldGroup.native.js +4 -15
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +80 -22
- package/dist/cjs/FloatingPanel/index.native.js +44 -20
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +31 -17
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +36 -16
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.cjs +9 -13
- package/dist/cjs/Form/index.native.js +12 -13
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/FormGrid.cjs +7 -16
- package/dist/cjs/FormGrid.native.js +7 -16
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.cjs +4 -9
- package/dist/cjs/FormSection.native.js +4 -9
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/index.cjs +53 -71
- package/dist/cjs/InputParts/index.native.js +54 -73
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/Label/index.cjs +0 -1
- package/dist/cjs/Label/index.native.js +0 -1
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/MediaPicker/base64.cjs +45 -0
- package/dist/cjs/MediaPicker/base64.native.js +48 -0
- package/dist/cjs/MediaPicker/base64.native.js.map +1 -0
- package/dist/cjs/MediaPicker/payload.cjs +61 -0
- package/dist/cjs/MediaPicker/payload.native.js +64 -0
- package/dist/cjs/MediaPicker/payload.native.js.map +1 -0
- package/dist/cjs/MediaPicker/pickMedia.cjs +134 -0
- package/dist/cjs/MediaPicker/pickMedia.native.js +97 -0
- package/dist/cjs/MediaPicker/pickMedia.native.js.map +1 -0
- package/dist/cjs/MediaPicker/types.cjs +39 -0
- package/dist/cjs/MediaPicker/types.native.js +162 -0
- package/dist/cjs/MediaPicker/types.native.js.map +1 -0
- package/dist/cjs/MediaPicker/useMediaPicker.cjs +57 -0
- package/dist/cjs/MediaPicker/useMediaPicker.native.js +61 -0
- package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -0
- package/dist/cjs/Skeleton/index.cjs +124 -42
- package/dist/cjs/Skeleton/index.native.js +128 -50
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/index.cjs +2 -2
- package/dist/cjs/Spinner/index.native.js +2 -2
- package/dist/cjs/Spinner/index.native.js.map +1 -1
- package/dist/cjs/Wheel/index.cjs +10 -20
- package/dist/cjs/Wheel/index.native.js +12 -22
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/fieldLayout.cjs +18 -7
- package/dist/cjs/fieldLayout.native.js +20 -7
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +2 -3
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +2 -3
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.cjs +7 -11
- package/dist/cjs/fields/Barcode/index.native.js +7 -11
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.cjs +3 -2
- package/dist/cjs/fields/Barcode/scannerTypes.native.js +3 -2
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.cjs +10 -18
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +10 -18
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +4 -2
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +4 -2
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +11 -21
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +11 -22
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +3 -6
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +4 -11
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.cjs +12 -11
- package/dist/cjs/fields/Checkbox/index.native.js +12 -11
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.cjs +14 -13
- package/dist/cjs/fields/ColorPicker/index.native.js +16 -15
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.cjs +8 -12
- package/dist/cjs/fields/ColorPicker/parts.native.js +10 -14
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.cjs +20 -22
- package/dist/cjs/fields/Combobox/index.native.js +21 -23
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.cjs +3 -2
- package/dist/cjs/fields/DatePicker/Calendar.native.js +3 -2
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +8 -5
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +8 -5
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +7 -4
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +7 -4
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +7 -4
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MonthPicker.cjs +11 -7
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +11 -7
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +7 -4
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +7 -4
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.cjs +7 -4
- package/dist/cjs/fields/DatePicker/catalog.native.js +7 -4
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js +7 -4
- package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/parts.cjs +19 -24
- package/dist/cjs/fields/DatePicker/parts.native.js +19 -24
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.cjs +5 -6
- package/dist/cjs/fields/Duration/index.native.js +5 -6
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.cjs +55 -13
- package/dist/cjs/fields/FileUpload/index.native.js +57 -13
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.cjs +4 -13
- package/dist/cjs/fields/Geolocation/index.native.js +4 -13
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.cjs +6 -8
- package/dist/cjs/fields/Icon/index.native.js +7 -10
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/ImageField/index.cjs +8 -9
- package/dist/cjs/fields/ImageField/index.native.js +8 -9
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.cjs +5 -5
- package/dist/cjs/fields/Input/index.native.js +5 -5
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.cjs +3 -5
- package/dist/cjs/fields/MentionInput/index.native.js +3 -5
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.cjs +2 -4
- package/dist/cjs/fields/OTPInput/index.native.js +2 -4
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.cjs +1 -3
- package/dist/cjs/fields/PhoneInput/index.native.js +1 -3
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.cjs +15 -20
- package/dist/cjs/fields/Progress/index.native.js +15 -20
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.cjs +7 -10
- package/dist/cjs/fields/RadioGroup/index.native.js +8 -15
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.cjs +17 -29
- package/dist/cjs/fields/Rating/index.native.js +18 -30
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.cjs +18 -11
- package/dist/cjs/fields/SearchInput/index.native.js +21 -9
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.cjs +12 -14
- package/dist/cjs/fields/Select/index.native.js +15 -17
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.cjs +3 -5
- package/dist/cjs/fields/Signature/index.native.js +3 -5
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.cjs +60 -44
- package/dist/cjs/fields/Slider/index.native.js +76 -59
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.cjs +48 -27
- package/dist/cjs/fields/Stepper/index.native.js +53 -28
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Switch/footprint.cjs +9 -7
- package/dist/cjs/fields/Switch/footprint.native.js +9 -7
- package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.cjs +87 -109
- package/dist/cjs/fields/Switch/index.native.js +92 -112
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.cjs +5 -8
- package/dist/cjs/fields/TextArea/index.native.js +5 -8
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.cjs +8 -5
- package/dist/cjs/fields/TimePicker/catalog.native.js +8 -5
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.native.js +8 -5
- package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/parts.cjs +1 -5
- package/dist/cjs/fields/TimePicker/parts.native.js +1 -5
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/index.cjs +17 -15
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js +17 -15
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.cjs +24 -34
- package/dist/cjs/fields/ToggleGroup/index.native.js +26 -36
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.cjs +4 -4
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/cjs/formSpacing.cjs +1 -1
- package/dist/cjs/formSpacing.native.js +1 -1
- package/dist/cjs/index.cjs +8 -1
- package/dist/cjs/index.native.js +7 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.cjs +1 -3
- package/dist/cjs/shared/TimeColumn.native.js +1 -3
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.cjs +17 -15
- package/dist/cjs/shared/colorRamps.native.js +17 -15
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.cjs +4 -6
- package/dist/cjs/shared/floatingList.native.js +4 -6
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.cjs +15 -5
- package/dist/cjs/shared/focusManagement.native.js +15 -5
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/instantMotion.cjs +31 -0
- package/dist/cjs/shared/instantMotion.native.js +35 -0
- package/dist/cjs/shared/instantMotion.native.js.map +1 -0
- package/dist/cjs/shared/utils.cjs +11 -11
- package/dist/cjs/shared/utils.native.js +12 -12
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.cjs +1 -1
- package/dist/cjs/themedPrimitives.native.js +1 -1
- package/dist/esm/AdaptivePopup/index.mjs +22 -39
- package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
- package/dist/esm/AdaptivePopup/index.native.js +22 -43
- package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +76 -40
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +84 -43
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +10 -4
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +10 -4
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs +3 -28
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -1
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js +3 -28
- 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.mjs +3 -2
- package/dist/esm/ContextualSaveBar/index.mjs.map +1 -1
- package/dist/esm/ContextualSaveBar/index.native.js +3 -2
- 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.mjs +3 -2
- package/dist/esm/ControlGroup/index.mjs.map +1 -1
- package/dist/esm/ControlGroup/index.native.js +3 -2
- package/dist/esm/ControlGroup/index.native.js.map +1 -1
- package/dist/esm/DescriptionList/index.mjs +18 -22
- package/dist/esm/DescriptionList/index.mjs.map +1 -1
- package/dist/esm/DescriptionList/index.native.js +18 -22
- 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.mjs +6 -9
- package/dist/esm/FieldDisplay/index.mjs.map +1 -1
- package/dist/esm/FieldDisplay/index.native.js +7 -10
- package/dist/esm/FieldDisplay/index.native.js.map +1 -1
- package/dist/esm/FieldGroup.mjs +5 -16
- package/dist/esm/FieldGroup.mjs.map +1 -1
- package/dist/esm/FieldGroup.native.js +5 -16
- package/dist/esm/FieldGroup.native.js.map +1 -1
- package/dist/esm/FloatingPanel/index.mjs +78 -20
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +42 -18
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/esm/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs +26 -14
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js +31 -13
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/Form/index.mjs +10 -14
- package/dist/esm/Form/index.mjs.map +1 -1
- package/dist/esm/Form/index.native.js +13 -14
- 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.mjs +7 -16
- package/dist/esm/FormGrid.mjs.map +1 -1
- package/dist/esm/FormGrid.native.js +7 -16
- package/dist/esm/FormGrid.native.js.map +1 -1
- package/dist/esm/FormSection.mjs +4 -9
- package/dist/esm/FormSection.mjs.map +1 -1
- package/dist/esm/FormSection.native.js +4 -9
- package/dist/esm/FormSection.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +13 -30
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +14 -32
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/Label/index.mjs +0 -1
- package/dist/esm/Label/index.mjs.map +1 -1
- package/dist/esm/Label/index.native.js +0 -1
- package/dist/esm/Label/index.native.js.map +1 -1
- package/dist/esm/MediaPicker/base64.mjs +20 -0
- package/dist/esm/MediaPicker/base64.mjs.map +1 -0
- package/dist/esm/MediaPicker/base64.native.js +20 -0
- package/dist/esm/MediaPicker/base64.native.js.map +1 -0
- package/dist/esm/MediaPicker/payload.mjs +35 -0
- package/dist/esm/MediaPicker/payload.mjs.map +1 -0
- package/dist/esm/MediaPicker/payload.native.js +35 -0
- package/dist/esm/MediaPicker/payload.native.js.map +1 -0
- package/dist/esm/MediaPicker/pickMedia.mjs +109 -0
- package/dist/esm/MediaPicker/pickMedia.mjs.map +1 -0
- package/dist/esm/MediaPicker/pickMedia.native.js +69 -0
- package/dist/esm/MediaPicker/pickMedia.native.js.map +1 -0
- package/dist/esm/MediaPicker/types.mjs +14 -0
- package/dist/esm/MediaPicker/types.mjs.map +1 -0
- package/dist/esm/MediaPicker/types.native.js +134 -0
- package/dist/esm/MediaPicker/types.native.js.map +1 -0
- package/dist/esm/MediaPicker/useMediaPicker.mjs +32 -0
- package/dist/esm/MediaPicker/useMediaPicker.mjs.map +1 -0
- package/dist/esm/MediaPicker/useMediaPicker.native.js +33 -0
- package/dist/esm/MediaPicker/useMediaPicker.native.js.map +1 -0
- package/dist/esm/Skeleton/index.mjs +123 -42
- package/dist/esm/Skeleton/index.mjs.map +1 -1
- package/dist/esm/Skeleton/index.native.js +128 -51
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/esm/Spinner/index.mjs +2 -2
- package/dist/esm/Spinner/index.mjs.map +1 -1
- package/dist/esm/Spinner/index.native.js +2 -2
- package/dist/esm/Spinner/index.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.mjs +9 -19
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +11 -21
- package/dist/esm/Wheel/index.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.mjs +18 -7
- package/dist/esm/fieldLayout.mjs.map +1 -1
- package/dist/esm/fieldLayout.native.js +20 -7
- 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/BarcodeScanner.mjs +2 -3
- package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
- package/dist/esm/fields/Barcode/BarcodeScanner.native.js +2 -3
- package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/esm/fields/Barcode/code128.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.mjs +8 -12
- package/dist/esm/fields/Barcode/index.mjs.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js +8 -12
- 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.mjs +3 -2
- package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js +3 -2
- package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.mjs +11 -19
- package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js +11 -19
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs +4 -2
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js +4 -2
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs +11 -21
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js +11 -22
- 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.mjs +3 -6
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +4 -11
- 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.mjs +4 -3
- package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/index.native.js +4 -3
- package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.mjs +15 -14
- package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js +17 -16
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.mjs +9 -13
- package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.native.js +11 -15
- package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/esm/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.mjs +21 -23
- package/dist/esm/fields/Combobox/index.mjs.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js +22 -24
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.mjs +3 -2
- package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.native.js +3 -2
- package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs +8 -5
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js +8 -5
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +7 -4
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +7 -4
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js +7 -4
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.mjs +9 -5
- package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.native.js +9 -5
- package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +7 -4
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +7 -4
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.mjs +7 -4
- package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.native.js +7 -4
- 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/index.native.js +7 -4
- package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.mjs +9 -14
- package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js +9 -14
- 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/durationMath.native.js.map +1 -1
- package/dist/esm/fields/Duration/index.mjs +5 -6
- package/dist/esm/fields/Duration/index.mjs.map +1 -1
- package/dist/esm/fields/Duration/index.native.js +5 -6
- 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.mjs +49 -7
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +51 -7
- 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.mjs +5 -14
- package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js +5 -14
- 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.mjs +10 -12
- package/dist/esm/fields/Icon/index.mjs.map +1 -1
- package/dist/esm/fields/Icon/index.native.js +9 -12
- package/dist/esm/fields/Icon/index.native.js.map +1 -1
- package/dist/esm/fields/ImageField/index.mjs +4 -5
- package/dist/esm/fields/ImageField/index.mjs.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js +4 -5
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/Input/index.mjs +5 -5
- package/dist/esm/fields/Input/index.mjs.map +1 -1
- package/dist/esm/fields/Input/index.native.js +5 -5
- package/dist/esm/fields/Input/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.mjs +4 -6
- package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js +4 -6
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.mjs +2 -4
- package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js +2 -4
- 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.mjs +1 -3
- package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/esm/fields/PhoneInput/index.native.js +1 -3
- 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.mjs +17 -22
- package/dist/esm/fields/Progress/index.mjs.map +1 -1
- package/dist/esm/fields/Progress/index.native.js +17 -22
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.mjs +8 -11
- package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js +9 -16
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/index.mjs +9 -21
- package/dist/esm/fields/Rating/index.mjs.map +1 -1
- package/dist/esm/fields/Rating/index.native.js +10 -22
- 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.mjs +18 -11
- package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js +22 -10
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.mjs +13 -15
- package/dist/esm/fields/Select/index.mjs.map +1 -1
- package/dist/esm/fields/Select/index.native.js +16 -18
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.mjs +3 -5
- package/dist/esm/fields/Signature/index.mjs.map +1 -1
- package/dist/esm/fields/Signature/index.native.js +3 -5
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.mjs +44 -30
- package/dist/esm/fields/Slider/index.mjs.map +1 -1
- package/dist/esm/fields/Slider/index.native.js +45 -30
- 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.mjs +43 -22
- package/dist/esm/fields/Stepper/index.mjs.map +1 -1
- package/dist/esm/fields/Stepper/index.native.js +48 -23
- 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.mjs +9 -7
- package/dist/esm/fields/Switch/footprint.mjs.map +1 -1
- package/dist/esm/fields/Switch/footprint.native.js +9 -7
- package/dist/esm/fields/Switch/footprint.native.js.map +1 -1
- package/dist/esm/fields/Switch/index.mjs +73 -95
- package/dist/esm/fields/Switch/index.mjs.map +1 -1
- package/dist/esm/fields/Switch/index.native.js +78 -98
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.mjs +5 -8
- package/dist/esm/fields/TextArea/index.mjs.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js +5 -8
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.mjs +8 -5
- package/dist/esm/fields/TimePicker/catalog.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/catalog.native.js +8 -5
- package/dist/esm/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/index.native.js +8 -5
- package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.mjs +1 -5
- package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/parts.native.js +1 -5
- 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.mjs +7 -5
- package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/index.native.js +7 -5
- package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.mjs +14 -24
- package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js +16 -26
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs +4 -4
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
- package/dist/esm/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
- 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.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.mjs +1 -1
- package/dist/esm/formSpacing.native.js +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.mjs +5 -3
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +5 -3
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/requiredMarking.native.js.map +1 -1
- package/dist/esm/shared/TimeColumn.mjs +1 -3
- package/dist/esm/shared/TimeColumn.mjs.map +1 -1
- package/dist/esm/shared/TimeColumn.native.js +1 -3
- package/dist/esm/shared/TimeColumn.native.js.map +1 -1
- package/dist/esm/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/esm/shared/colorRamps.mjs +17 -16
- package/dist/esm/shared/colorRamps.mjs.map +1 -1
- package/dist/esm/shared/colorRamps.native.js +17 -16
- package/dist/esm/shared/colorRamps.native.js.map +1 -1
- package/dist/esm/shared/devWarn.native.js.map +1 -1
- package/dist/esm/shared/floatingList.mjs +3 -5
- package/dist/esm/shared/floatingList.mjs.map +1 -1
- package/dist/esm/shared/floatingList.native.js +3 -5
- package/dist/esm/shared/floatingList.native.js.map +1 -1
- package/dist/esm/shared/focusManagement.mjs +16 -6
- package/dist/esm/shared/focusManagement.mjs.map +1 -1
- package/dist/esm/shared/focusManagement.native.js +16 -6
- 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.mjs +6 -0
- package/dist/esm/shared/instantMotion.mjs.map +1 -0
- package/dist/esm/shared/instantMotion.native.js +7 -0
- package/dist/esm/shared/instantMotion.native.js.map +1 -0
- package/dist/esm/shared/nativeA11y.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/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.mjs +2 -2
- package/dist/esm/shared/utils.mjs.map +1 -1
- package/dist/esm/shared/utils.native.js +2 -2
- package/dist/esm/shared/utils.native.js.map +1 -1
- package/dist/esm/shared/zIndex.native.js.map +1 -1
- package/dist/esm/themedPrimitives.mjs +1 -1
- package/dist/esm/themedPrimitives.native.js +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/AdaptivePopup/index.mjs +22 -39
- package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
- package/dist/jsx/AdaptivePopup/index.native.js +27 -48
- package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +76 -40
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +104 -64
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +10 -4
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +9 -3
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs +3 -28
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -1
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +7 -32
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/index.mjs +3 -2
- package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -1
- package/dist/jsx/ContextualSaveBar/index.native.js +8 -7
- package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/jsx/ControlGroup/index.mjs +3 -2
- package/dist/jsx/ControlGroup/index.mjs.map +1 -1
- package/dist/jsx/ControlGroup/index.native.js +13 -12
- package/dist/jsx/ControlGroup/index.native.js.map +1 -1
- package/dist/jsx/DescriptionList/index.mjs +18 -22
- package/dist/jsx/DescriptionList/index.mjs.map +1 -1
- package/dist/jsx/DescriptionList/index.native.js +19 -23
- package/dist/jsx/DescriptionList/index.native.js.map +1 -1
- package/dist/jsx/ErrorSummary.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/index.mjs +6 -9
- package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
- package/dist/jsx/FieldDisplay/index.native.js +7 -10
- package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
- package/dist/jsx/FieldGroup.mjs +5 -16
- package/dist/jsx/FieldGroup.mjs.map +1 -1
- package/dist/jsx/FieldGroup.native.js +4 -15
- package/dist/jsx/FieldGroup.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/index.mjs +78 -20
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +44 -20
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +26 -14
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +36 -16
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/Form/index.mjs +10 -14
- package/dist/jsx/Form/index.mjs.map +1 -1
- package/dist/jsx/Form/index.native.js +13 -14
- package/dist/jsx/Form/index.native.js.map +1 -1
- package/dist/jsx/Form/submissionController.native.js.map +1 -1
- package/dist/jsx/Form/validateOn.native.js.map +1 -1
- package/dist/jsx/FormGrid.mjs +7 -16
- package/dist/jsx/FormGrid.mjs.map +1 -1
- package/dist/jsx/FormGrid.native.js +7 -16
- package/dist/jsx/FormGrid.native.js.map +1 -1
- package/dist/jsx/FormSection.mjs +4 -9
- package/dist/jsx/FormSection.mjs.map +1 -1
- package/dist/jsx/FormSection.native.js +4 -9
- package/dist/jsx/FormSection.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +13 -30
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +54 -73
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/Label/index.mjs +0 -1
- package/dist/jsx/Label/index.mjs.map +1 -1
- package/dist/jsx/Label/index.native.js +0 -1
- package/dist/jsx/Label/index.native.js.map +1 -1
- package/dist/jsx/MediaPicker/base64.mjs +20 -0
- package/dist/jsx/MediaPicker/base64.mjs.map +1 -0
- package/dist/jsx/MediaPicker/base64.native.js +48 -0
- package/dist/jsx/MediaPicker/base64.native.js.map +1 -0
- package/dist/jsx/MediaPicker/payload.mjs +35 -0
- package/dist/jsx/MediaPicker/payload.mjs.map +1 -0
- package/dist/jsx/MediaPicker/payload.native.js +64 -0
- package/dist/jsx/MediaPicker/payload.native.js.map +1 -0
- package/dist/jsx/MediaPicker/pickMedia.mjs +109 -0
- package/dist/jsx/MediaPicker/pickMedia.mjs.map +1 -0
- package/dist/jsx/MediaPicker/pickMedia.native.js +97 -0
- package/dist/jsx/MediaPicker/pickMedia.native.js.map +1 -0
- package/dist/jsx/MediaPicker/types.mjs +14 -0
- package/dist/jsx/MediaPicker/types.mjs.map +1 -0
- package/dist/jsx/MediaPicker/types.native.js +162 -0
- package/dist/jsx/MediaPicker/types.native.js.map +1 -0
- package/dist/jsx/MediaPicker/useMediaPicker.mjs +32 -0
- package/dist/jsx/MediaPicker/useMediaPicker.mjs.map +1 -0
- package/dist/jsx/MediaPicker/useMediaPicker.native.js +61 -0
- package/dist/jsx/MediaPicker/useMediaPicker.native.js.map +1 -0
- package/dist/jsx/Skeleton/index.mjs +123 -42
- package/dist/jsx/Skeleton/index.mjs.map +1 -1
- package/dist/jsx/Skeleton/index.native.js +128 -50
- package/dist/jsx/Skeleton/index.native.js.map +1 -1
- package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/jsx/Spinner/index.mjs +2 -2
- package/dist/jsx/Spinner/index.mjs.map +1 -1
- package/dist/jsx/Spinner/index.native.js +2 -2
- package/dist/jsx/Spinner/index.native.js.map +1 -1
- package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/jsx/Table/index.native.js.map +1 -1
- package/dist/jsx/Wheel/haptic.native.js.map +1 -1
- package/dist/jsx/Wheel/index.mjs +9 -19
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +12 -22
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/actionLabel.native.js.map +1 -1
- package/dist/jsx/fieldDefaults.native.js.map +1 -1
- package/dist/jsx/fieldLayout.mjs +18 -7
- package/dist/jsx/fieldLayout.mjs.map +1 -1
- package/dist/jsx/fieldLayout.native.js +21 -8
- package/dist/jsx/fieldLayout.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +2 -3
- package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +3 -4
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/index.mjs +8 -12
- package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/index.native.js +9 -13
- package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/qr.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.mjs +3 -2
- package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.native.js +3 -2
- package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.mjs +11 -19
- package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js +11 -19
- package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +4 -2
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +4 -2
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +11 -21
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +11 -22
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +3 -6
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +5 -12
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/index.mjs +4 -3
- package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/index.native.js +12 -11
- package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.mjs +15 -14
- package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.native.js +19 -18
- package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.mjs +9 -13
- package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.native.js +12 -16
- package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/index.mjs +21 -23
- package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +27 -29
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.mjs +3 -2
- package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.native.js +3 -2
- package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +8 -5
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +10 -7
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +7 -4
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +10 -7
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +9 -6
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs +9 -5
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js +13 -9
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +7 -4
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +9 -6
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.mjs +7 -4
- package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.native.js +9 -6
- package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js +9 -6
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.mjs +9 -14
- package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.native.js +21 -26
- package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/jsx/fields/Duration/index.mjs +5 -6
- package/dist/jsx/fields/Duration/index.mjs.map +1 -1
- package/dist/jsx/fields/Duration/index.native.js +8 -9
- package/dist/jsx/fields/Duration/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/index.mjs +49 -7
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +59 -15
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/index.mjs +5 -14
- package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
- package/dist/jsx/fields/Geolocation/index.native.js +9 -18
- package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/jsx/fields/Icon/index.mjs +10 -12
- package/dist/jsx/fields/Icon/index.mjs.map +1 -1
- package/dist/jsx/fields/Icon/index.native.js +10 -13
- package/dist/jsx/fields/Icon/index.native.js.map +1 -1
- package/dist/jsx/fields/ImageField/index.mjs +4 -5
- package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
- package/dist/jsx/fields/ImageField/index.native.js +10 -11
- package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
- package/dist/jsx/fields/Input/index.mjs +5 -5
- package/dist/jsx/fields/Input/index.mjs.map +1 -1
- package/dist/jsx/fields/Input/index.native.js +7 -7
- package/dist/jsx/fields/Input/index.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.mjs +4 -6
- package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +6 -8
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/index.mjs +2 -4
- package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
- package/dist/jsx/fields/OTPInput/index.native.js +5 -7
- package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/index.mjs +1 -3
- package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/jsx/fields/PhoneInput/index.native.js +4 -6
- package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/jsx/fields/Progress/index.mjs +17 -22
- package/dist/jsx/fields/Progress/index.mjs.map +1 -1
- package/dist/jsx/fields/Progress/index.native.js +16 -21
- package/dist/jsx/fields/Progress/index.native.js.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.mjs +8 -11
- package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js +9 -16
- package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/index.mjs +9 -21
- package/dist/jsx/fields/Rating/index.mjs.map +1 -1
- package/dist/jsx/fields/Rating/index.native.js +19 -31
- package/dist/jsx/fields/Rating/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/jsx/fields/Rating/types.native.js.map +1 -1
- package/dist/jsx/fields/SearchInput/index.mjs +18 -11
- package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
- package/dist/jsx/fields/SearchInput/index.native.js +23 -11
- package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.mjs +13 -15
- package/dist/jsx/fields/Select/index.mjs.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +19 -21
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Signature/index.mjs +3 -5
- package/dist/jsx/fields/Signature/index.mjs.map +1 -1
- package/dist/jsx/fields/Signature/index.native.js +5 -7
- package/dist/jsx/fields/Signature/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/index.mjs +44 -30
- package/dist/jsx/fields/Slider/index.mjs.map +1 -1
- package/dist/jsx/fields/Slider/index.native.js +77 -60
- package/dist/jsx/fields/Slider/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/index.mjs +43 -22
- package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
- package/dist/jsx/fields/Stepper/index.native.js +55 -30
- package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/jsx/fields/Switch/footprint.mjs +9 -7
- package/dist/jsx/fields/Switch/footprint.mjs.map +1 -1
- package/dist/jsx/fields/Switch/footprint.native.js +9 -7
- package/dist/jsx/fields/Switch/footprint.native.js.map +1 -1
- package/dist/jsx/fields/Switch/index.mjs +73 -95
- package/dist/jsx/fields/Switch/index.mjs.map +1 -1
- package/dist/jsx/fields/Switch/index.native.js +94 -114
- package/dist/jsx/fields/Switch/index.native.js.map +1 -1
- package/dist/jsx/fields/TextArea/index.mjs +5 -8
- package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
- package/dist/jsx/fields/TextArea/index.native.js +7 -10
- package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/catalog.mjs +8 -5
- package/dist/jsx/fields/TimePicker/catalog.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/catalog.native.js +11 -8
- package/dist/jsx/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/index.native.js +10 -7
- package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.mjs +1 -5
- package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.native.js +2 -6
- package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/index.mjs +7 -5
- package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js +19 -17
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.mjs +14 -24
- package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js +27 -37
- package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs +4 -4
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.mjs.map +1 -1
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js +5 -5
- package/dist/jsx/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/jsx/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/jsx/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/jsx/fields/nativeSelect.native.js.map +1 -1
- package/dist/jsx/fields/selectedOrder.native.js.map +1 -1
- package/dist/jsx/formSpacing.mjs +1 -1
- package/dist/jsx/formSpacing.native.js +1 -1
- package/dist/jsx/formSpacing.native.js.map +1 -1
- package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/jsx/index.js +5 -3
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +5 -3
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +50 -43
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/requiredMarking.native.js.map +1 -1
- package/dist/jsx/shared/TimeColumn.mjs +1 -3
- package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
- package/dist/jsx/shared/TimeColumn.native.js +2 -4
- package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
- package/dist/jsx/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/jsx/shared/colorRamps.mjs +17 -16
- package/dist/jsx/shared/colorRamps.mjs.map +1 -1
- package/dist/jsx/shared/colorRamps.native.js +17 -15
- package/dist/jsx/shared/colorRamps.native.js.map +1 -1
- package/dist/jsx/shared/devWarn.native.js.map +1 -1
- package/dist/jsx/shared/floatingList.mjs +3 -5
- package/dist/jsx/shared/floatingList.mjs.map +1 -1
- package/dist/jsx/shared/floatingList.native.js +5 -7
- package/dist/jsx/shared/floatingList.native.js.map +1 -1
- package/dist/jsx/shared/focusManagement.mjs +16 -6
- package/dist/jsx/shared/focusManagement.mjs.map +1 -1
- package/dist/jsx/shared/focusManagement.native.js +15 -5
- package/dist/jsx/shared/focusManagement.native.js.map +1 -1
- package/dist/jsx/shared/groupContext.native.js.map +1 -1
- package/dist/jsx/shared/i18n.native.js.map +1 -1
- package/dist/jsx/shared/instantMotion.mjs +6 -0
- package/dist/jsx/shared/instantMotion.mjs.map +1 -0
- package/dist/jsx/shared/instantMotion.native.js +35 -0
- package/dist/jsx/shared/instantMotion.native.js.map +1 -0
- package/dist/jsx/shared/nativeA11y.native.js.map +1 -1
- package/dist/jsx/shared/panelPortal.native.js.map +1 -1
- package/dist/jsx/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/jsx/shared/pressSlopProps.native.js.map +1 -1
- package/dist/jsx/shared/t.native.js.map +1 -1
- package/dist/jsx/shared/tableCellContext.native.js.map +1 -1
- package/dist/jsx/shared/useDragScroll.native.js.map +1 -1
- package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/jsx/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/jsx/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/jsx/shared/utils.mjs +2 -2
- package/dist/jsx/shared/utils.mjs.map +1 -1
- package/dist/jsx/shared/utils.native.js +13 -13
- package/dist/jsx/shared/utils.native.js.map +1 -1
- package/dist/jsx/shared/zIndex.native.js.map +1 -1
- package/dist/jsx/themedPrimitives.mjs +1 -1
- package/dist/jsx/themedPrimitives.native.js +1 -1
- package/dist/jsx/themedPrimitives.native.js.map +1 -1
- package/dist/jsx/types.native.js.map +1 -1
- package/dist/jsx/utils/LinkCell.native.js.map +1 -1
- package/package.json +8 -8
- package/src/AdaptivePopup/index.tsx +20 -43
- package/src/Button/Button.disabledReasonInk.spec.tsx +60 -1
- package/src/Button/Button.filledBorder.spec.tsx +2 -2
- package/src/Button/Button.labelInk.spec.tsx +15 -31
- package/src/Button/Button.lc18.spec.tsx +7 -7
- package/src/Button/Button.lc71.spec.tsx +33 -46
- package/src/Button/Button.loading.spec.tsx +87 -0
- package/src/Button/Button.nativeInk.spec.tsx +100 -0
- package/src/Button/Button.radiusLaw.spec.tsx +18 -24
- package/src/Button/Button.sizeLadder.spec.tsx +12 -24
- package/src/Button/Button.sizeToken.spec.tsx +123 -0
- package/src/Button/Button.spec.tsx +17 -17
- package/src/Button/Button.stories.tsx +40 -4
- package/src/Button/index.tsx +114 -61
- package/src/Chip/Chip.spec.tsx +41 -3
- package/src/Chip/index.tsx +15 -8
- package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +5 -5
- package/src/ContextualSaveBar/UnsavedChangesDialog.tsx +5 -22
- package/src/ContextualSaveBar/index.tsx +3 -2
- package/src/ControlGroup/index.tsx +9 -4
- package/src/DescriptionList/DescriptionList.spec.tsx +11 -3
- package/src/DescriptionList/DescriptionList.stories.tsx +1 -3
- package/src/DescriptionList/index.tsx +24 -26
- package/src/FieldDisplay/index.tsx +12 -9
- package/src/FieldGroup.spec.tsx +15 -13
- package/src/FieldGroup.tsx +11 -17
- package/src/FieldLayout.stories.tsx +4 -5
- package/src/FloatingPanel/FloatingPanel.native.spec.tsx +33 -0
- package/src/FloatingPanel/FloatingPanel.spec.tsx +62 -0
- package/src/FloatingPanel/FloatingPanel.stories.tsx +4 -4
- package/src/FloatingPanel/index.native.tsx +38 -19
- package/src/FloatingPanel/index.tsx +112 -22
- package/src/FloatingPanel/touchRecipeHydration.spec.tsx +62 -4
- package/src/FloatingPanel/useFloatingPanel.spec.tsx +94 -27
- package/src/FloatingPanel/useFloatingPanel.ts +47 -20
- package/src/Form/Form.stories.tsx +0 -4
- package/src/Form/form.spec.tsx +67 -20
- package/src/Form/index.tsx +15 -15
- package/src/FormGrid.spec.tsx +32 -31
- package/src/FormGrid.stories.tsx +0 -1
- package/src/FormGrid.tsx +12 -22
- package/src/FormSection.tsx +5 -10
- package/src/InputParts/InputParts.stories.tsx +4 -4
- package/src/InputParts/index.spec.tsx +25 -0
- package/src/InputParts/index.tsx +13 -44
- package/src/InputParts/layoutGap.spec.tsx +9 -11
- package/src/Label/Label.spec.tsx +33 -0
- package/src/Label/index.tsx +0 -1
- package/src/MediaPicker/MediaPicker.stories.tsx +65 -0
- package/src/MediaPicker/MediaPickerDemo.spec.tsx +68 -0
- package/src/MediaPicker/README.md +35 -0
- package/src/MediaPicker/base64.spec.ts +29 -0
- package/src/MediaPicker/base64.ts +23 -0
- package/src/MediaPicker/payload.ts +54 -0
- package/src/MediaPicker/pickMedia.native.spec.ts +160 -0
- package/src/MediaPicker/pickMedia.native.ts +95 -0
- package/src/MediaPicker/pickMedia.spec.ts +125 -0
- package/src/MediaPicker/pickMedia.ts +152 -0
- package/src/MediaPicker/types.ts +43 -0
- package/src/MediaPicker/useMediaPicker.spec.tsx +48 -0
- package/src/MediaPicker/useMediaPicker.ts +33 -0
- package/src/Skeleton/Skeleton.stories.tsx +2 -2
- package/src/Skeleton/index.tsx +172 -53
- package/src/Skeleton/skeletonStories.spec.tsx +1 -1
- package/src/Spinner/Spinner.spec.tsx +9 -9
- package/src/Spinner/Spinner.stories.tsx +10 -10
- package/src/Spinner/index.native.tsx +2 -2
- package/src/Spinner/index.tsx +4 -4
- package/src/Spinner/spinnerSize.ts +1 -1
- package/src/Wheel/Wheel.spec.tsx +3 -3
- package/src/Wheel/Wheel.stories.tsx +1 -1
- package/src/Wheel/index.tsx +10 -22
- package/src/Wheel/wheelStories.spec.tsx +1 -1
- package/src/errorTint.spec.tsx +77 -1
- package/src/fieldFamilyStories.radius.spec.tsx +2 -2
- package/src/fieldLayout.spec.tsx +77 -12
- package/src/fieldLayout.tsx +29 -13
- package/src/fields/Barcode/BarcodeScanner.native.tsx +1 -2
- package/src/fields/Barcode/BarcodeScanner.tsx +1 -2
- package/src/fields/Barcode/index.tsx +4 -17
- package/src/fields/Barcode/scannerTypes.ts +8 -6
- package/src/fields/Checkbox/Checkbox.stories.tsx +1 -2
- package/src/fields/Checkbox/Checkbox.tsx +14 -22
- package/src/fields/Checkbox/CheckboxBox.spec.tsx +50 -14
- package/src/fields/Checkbox/CheckboxBox.tsx +4 -2
- package/src/fields/Checkbox/CheckboxCard.heading.spec.tsx +29 -0
- package/src/fields/Checkbox/CheckboxCard.spec.tsx +62 -27
- package/src/fields/Checkbox/CheckboxCard.tsx +11 -13
- package/src/fields/Checkbox/CheckboxGroup.stories.tsx +0 -1
- package/src/fields/Checkbox/CheckboxGroup.tsx +2 -9
- package/src/fields/Checkbox/index.tsx +4 -3
- package/src/fields/ColorPicker/ColorPicker.stories.tsx +1 -1
- package/src/fields/ColorPicker/index.tsx +26 -15
- package/src/fields/ColorPicker/parts.tsx +8 -9
- package/src/fields/Combobox/Combobox.spec.tsx +26 -11
- package/src/fields/Combobox/Combobox.stories.tsx +1 -6
- package/src/fields/Combobox/index.tsx +20 -27
- package/src/fields/DatePicker/Calendar.spec.tsx +3 -3
- package/src/fields/DatePicker/Calendar.tsx +8 -2
- package/src/fields/DatePicker/DatePicker.stories.tsx +1 -2
- package/src/fields/DatePicker/DateRangePicker.stories.tsx +1 -2
- package/src/fields/DatePicker/DateRangePicker.tsx +15 -8
- package/src/fields/DatePicker/DatetimePicker.catalog.tsx +11 -7
- package/src/fields/DatePicker/DatetimePicker.native.tsx +11 -6
- package/src/fields/DatePicker/DatetimePicker.stories.tsx +1 -2
- package/src/fields/DatePicker/MonthPicker.stories.tsx +1 -2
- package/src/fields/DatePicker/MonthPicker.tsx +13 -8
- package/src/fields/DatePicker/MultiDatePicker.stories.tsx +1 -2
- package/src/fields/DatePicker/MultiDatePicker.tsx +9 -7
- package/src/fields/DatePicker/catalog.tsx +11 -7
- package/src/fields/DatePicker/index.native.tsx +11 -6
- package/src/fields/DatePicker/parts.tsx +8 -11
- package/src/fields/Duration/Duration.spec.tsx +2 -2
- package/src/fields/Duration/Duration.stories.tsx +1 -2
- package/src/fields/Duration/index.tsx +2 -8
- package/src/fields/FileUpload/FileUpload.spec.tsx +11 -25
- package/src/fields/FileUpload/FileUpload.stories.tsx +1 -1
- package/src/fields/FileUpload/index.tsx +72 -10
- package/src/fields/Geolocation/Geolocation.spec.tsx +5 -0
- package/src/fields/Geolocation/index.tsx +5 -12
- package/src/fields/Icon/Icon.stories.tsx +3 -3
- package/src/fields/Icon/index.tsx +7 -19
- package/src/fields/ImageField/index.tsx +2 -5
- package/src/fields/Input/Input.copy.spec.tsx +4 -4
- package/src/fields/Input/Input.spec.tsx +54 -28
- package/src/fields/Input/Input.stories.tsx +4 -18
- package/src/fields/Input/index.tsx +7 -14
- package/src/fields/MentionInput/MentionInput.spec.tsx +1 -1
- package/src/fields/MentionInput/MentionInput.stories.tsx +1 -2
- package/src/fields/MentionInput/index.tsx +4 -8
- package/src/fields/OTPInput/OtpInput.spec.tsx +6 -6
- package/src/fields/OTPInput/OtpInput.stories.tsx +1 -1
- package/src/fields/OTPInput/index.tsx +4 -5
- package/src/fields/OTPInput/otpCellHeightTouch.spec.ts +5 -4
- package/src/fields/PhoneInput/PhoneInput.spec.tsx +2 -5
- package/src/fields/PhoneInput/PhoneInput.stories.tsx +1 -1
- package/src/fields/PhoneInput/index.tsx +1 -3
- package/src/fields/Progress/Progress.spec.tsx +34 -21
- package/src/fields/Progress/Progress.stories.tsx +3 -5
- package/src/fields/Progress/index.tsx +20 -28
- package/src/fields/RadioGroup/RadioGroup.stories.tsx +1 -1
- package/src/fields/RadioGroup/index.tsx +8 -14
- package/src/fields/Rating/Rating.spec.tsx +1 -4
- package/src/fields/Rating/index.tsx +10 -23
- package/src/fields/SearchInput/SearchInput.native.spec.tsx +111 -0
- package/src/fields/SearchInput/SearchInput.spec.tsx +106 -19
- package/src/fields/SearchInput/SearchInput.stories.tsx +26 -6
- package/src/fields/SearchInput/index.tsx +65 -49
- package/src/fields/Select/Select.spec.tsx +65 -0
- package/src/fields/Select/Select.stories.tsx +8 -7
- package/src/fields/Select/index.tsx +21 -22
- package/src/fields/Signature/index.tsx +1 -5
- package/src/fields/Slider/Slider.spec.tsx +43 -8
- package/src/fields/Slider/Slider.stories.tsx +3 -3
- package/src/fields/Slider/index.tsx +57 -38
- package/src/fields/Stepper/Stepper.spec.tsx +22 -2
- package/src/fields/Stepper/Stepper.stories.tsx +1 -1
- package/src/fields/Stepper/index.tsx +55 -21
- package/src/fields/Switch/Switch.footprint.native.spec.tsx +18 -18
- package/src/fields/Switch/Switch.footprint.spec.tsx +64 -54
- package/src/fields/Switch/Switch.spec.tsx +125 -4
- package/src/fields/Switch/Switch.stories.tsx +3 -3
- package/src/fields/Switch/footprint.ts +14 -15
- package/src/fields/Switch/index.tsx +83 -117
- package/src/fields/TextArea/TextArea.spec.tsx +11 -11
- package/src/fields/TextArea/TextArea.stories.tsx +3 -8
- package/src/fields/TextArea/index.tsx +4 -8
- package/src/fields/TimePicker/catalog.tsx +8 -7
- package/src/fields/TimePicker/index.native.tsx +8 -6
- package/src/fields/TimePicker/parts.tsx +1 -4
- package/src/fields/TimeRangeScrubber/index.tsx +7 -5
- package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +21 -33
- package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +4 -8
- package/src/fields/ToggleGroup/index.tsx +21 -36
- package/src/fields/nativeDateTime/OsDateTimeSheet.tsx +4 -4
- package/src/fields/pickerActivation.spec.tsx +4 -2
- package/src/fields/pickerRows.spec.tsx +2 -0
- package/src/formSpacing.ts +3 -3
- package/src/index.ts +22 -4
- package/src/shared/TimeColumn.tsx +1 -1
- package/src/shared/colorRamps.ts +23 -25
- package/src/shared/floatingList.spec.tsx +8 -12
- package/src/shared/floatingList.tsx +3 -8
- package/src/shared/focusManagement.spec.tsx +39 -2
- package/src/shared/focusManagement.ts +26 -5
- package/src/shared/instantMotion.spec.ts +26 -0
- package/src/shared/instantMotion.ts +13 -0
- package/src/shared/utils.spec.ts +4 -4
- package/src/shared/utils.ts +8 -10
- package/src/themedPrimitives.tsx +1 -1
- package/types/AdaptivePopup/index.d.ts.map +1 -1
- package/types/Button/index.d.ts +8 -16
- package/types/Button/index.d.ts.map +1 -1
- package/types/Chip/index.d.ts +1 -1
- package/types/Chip/index.d.ts.map +1 -1
- package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts.map +1 -1
- package/types/ContextualSaveBar/index.d.ts.map +1 -1
- package/types/ControlGroup/index.d.ts.map +1 -1
- package/types/DescriptionList/index.d.ts +7 -3
- package/types/DescriptionList/index.d.ts.map +1 -1
- package/types/FieldDisplay/index.d.ts.map +1 -1
- package/types/FieldGroup.d.ts +6 -9
- package/types/FieldGroup.d.ts.map +1 -1
- package/types/FloatingPanel/index.d.ts +9 -6
- 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/FloatingPanel/useFloatingPanel.d.ts +19 -14
- package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
- package/types/Form/index.d.ts +7 -8
- package/types/Form/index.d.ts.map +1 -1
- package/types/FormGrid.d.ts +3 -5
- package/types/FormGrid.d.ts.map +1 -1
- package/types/FormSection.d.ts +3 -5
- package/types/FormSection.d.ts.map +1 -1
- package/types/InputParts/index.d.ts +37 -46
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/Label/index.d.ts.map +1 -1
- package/types/MediaPicker/base64.d.ts +2 -0
- package/types/MediaPicker/base64.d.ts.map +1 -0
- package/types/MediaPicker/payload.d.ts +4 -0
- package/types/MediaPicker/payload.d.ts.map +1 -0
- package/types/MediaPicker/pickMedia.d.ts +3 -0
- package/types/MediaPicker/pickMedia.d.ts.map +1 -0
- package/types/MediaPicker/pickMedia.native.d.ts +3 -0
- package/types/MediaPicker/pickMedia.native.d.ts.map +1 -0
- package/types/MediaPicker/types.d.ts +23 -0
- package/types/MediaPicker/types.d.ts.map +1 -0
- package/types/MediaPicker/useMediaPicker.d.ts +6 -0
- package/types/MediaPicker/useMediaPicker.d.ts.map +1 -0
- package/types/Skeleton/index.d.ts +25 -4
- package/types/Skeleton/index.d.ts.map +1 -1
- package/types/Spinner/spinnerSize.d.ts +1 -1
- package/types/Wheel/index.d.ts.map +1 -1
- package/types/fieldLayout.d.ts +6 -7
- package/types/fieldLayout.d.ts.map +1 -1
- package/types/fields/Barcode/BarcodeScanner.d.ts +1 -1
- package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
- package/types/fields/Barcode/BarcodeScanner.native.d.ts +1 -1
- package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
- package/types/fields/Barcode/index.d.ts +1 -3
- package/types/fields/Barcode/index.d.ts.map +1 -1
- package/types/fields/Barcode/scannerTypes.d.ts +2 -4
- package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
- package/types/fields/Checkbox/Checkbox.d.ts +6 -7
- package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxBox.d.ts +6 -2
- package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxCard.d.ts +5 -5
- package/types/fields/Checkbox/CheckboxCard.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxGroup.d.ts +1 -3
- package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
- package/types/fields/Checkbox/index.d.ts +5 -5
- package/types/fields/Checkbox/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/index.d.ts +0 -2
- package/types/fields/ColorPicker/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/parts.d.ts +2 -2
- package/types/fields/ColorPicker/parts.d.ts.map +1 -1
- package/types/fields/Combobox/index.d.ts +1 -3
- package/types/fields/Combobox/index.d.ts.map +1 -1
- package/types/fields/DatePicker/Calendar.d.ts.map +1 -1
- package/types/fields/DatePicker/DateRangePicker.d.ts +0 -2
- package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +0 -2
- package/types/fields/DatePicker/DatetimePicker.catalog.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.native.d.ts +0 -1
- package/types/fields/DatePicker/DatetimePicker.native.d.ts.map +1 -1
- package/types/fields/DatePicker/MonthPicker.d.ts +0 -2
- package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
- package/types/fields/DatePicker/MultiDatePicker.d.ts +0 -2
- package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/catalog.d.ts +0 -2
- package/types/fields/DatePicker/catalog.d.ts.map +1 -1
- package/types/fields/DatePicker/index.native.d.ts +0 -1
- package/types/fields/DatePicker/index.native.d.ts.map +1 -1
- package/types/fields/DatePicker/parts.d.ts +1 -2
- package/types/fields/DatePicker/parts.d.ts.map +1 -1
- package/types/fields/Duration/index.d.ts +2 -4
- package/types/fields/Duration/index.d.ts.map +1 -1
- package/types/fields/FileUpload/index.d.ts +10 -2
- package/types/fields/FileUpload/index.d.ts.map +1 -1
- package/types/fields/Geolocation/index.d.ts +1 -3
- package/types/fields/Geolocation/index.d.ts.map +1 -1
- package/types/fields/Icon/index.d.ts +0 -1
- package/types/fields/Icon/index.d.ts.map +1 -1
- package/types/fields/ImageField/index.d.ts +1 -3
- package/types/fields/ImageField/index.d.ts.map +1 -1
- package/types/fields/Input/index.d.ts +17 -22
- package/types/fields/Input/index.d.ts.map +1 -1
- package/types/fields/MentionInput/index.d.ts +0 -2
- package/types/fields/MentionInput/index.d.ts.map +1 -1
- package/types/fields/OTPInput/index.d.ts +0 -2
- package/types/fields/OTPInput/index.d.ts.map +1 -1
- package/types/fields/PhoneInput/index.d.ts +0 -1
- package/types/fields/PhoneInput/index.d.ts.map +1 -1
- package/types/fields/Progress/index.d.ts +4 -6
- package/types/fields/Progress/index.d.ts.map +1 -1
- package/types/fields/RadioGroup/index.d.ts +5 -7
- package/types/fields/RadioGroup/index.d.ts.map +1 -1
- package/types/fields/Rating/index.d.ts +1 -3
- package/types/fields/Rating/index.d.ts.map +1 -1
- package/types/fields/SearchInput/index.d.ts +7 -4
- package/types/fields/SearchInput/index.d.ts.map +1 -1
- package/types/fields/Select/index.d.ts +1 -3
- package/types/fields/Select/index.d.ts.map +1 -1
- package/types/fields/Signature/index.d.ts +1 -3
- package/types/fields/Signature/index.d.ts.map +1 -1
- package/types/fields/Slider/index.d.ts +8 -3
- package/types/fields/Slider/index.d.ts.map +1 -1
- package/types/fields/Stepper/index.d.ts +10 -2
- package/types/fields/Stepper/index.d.ts.map +1 -1
- package/types/fields/Switch/footprint.d.ts.map +1 -1
- package/types/fields/Switch/index.d.ts +1 -3
- package/types/fields/Switch/index.d.ts.map +1 -1
- package/types/fields/TextArea/index.d.ts +1 -3
- package/types/fields/TextArea/index.d.ts.map +1 -1
- package/types/fields/TimePicker/catalog.d.ts +1 -3
- package/types/fields/TimePicker/catalog.d.ts.map +1 -1
- package/types/fields/TimePicker/index.native.d.ts +0 -1
- package/types/fields/TimePicker/index.native.d.ts.map +1 -1
- package/types/fields/TimePicker/parts.d.ts +1 -2
- package/types/fields/TimePicker/parts.d.ts.map +1 -1
- package/types/fields/TimeRangeScrubber/index.d.ts +1 -2
- package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -1
- package/types/fields/ToggleGroup/index.d.ts +2 -4
- package/types/fields/ToggleGroup/index.d.ts.map +1 -1
- package/types/formSpacing.d.ts +3 -3
- package/types/index.d.ts +7 -4
- package/types/index.d.ts.map +1 -1
- package/types/shared/colorRamps.d.ts +19 -21
- package/types/shared/colorRamps.d.ts.map +1 -1
- package/types/shared/floatingList.d.ts.map +1 -1
- package/types/shared/focusManagement.d.ts.map +1 -1
- package/types/shared/instantMotion.d.ts +4 -0
- package/types/shared/instantMotion.d.ts.map +1 -0
- package/types/shared/utils.d.ts +1 -3
- package/types/shared/utils.d.ts.map +1 -1
- package/types/themedPrimitives.d.ts +2 -2
- package/src/Button/Button.density.spec.tsx +0 -164
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { motionDurationMs } from "@multiplatform.one/theme";
|
|
2
|
+
import { cssAnimationConfig } from "@multiplatform.one/theme";
|
|
1
3
|
import { useTouchSurface } from "@multiplatform.one/theme";
|
|
2
4
|
import type { DeepKeys, DeepValue } from "@tanstack/form-core";
|
|
3
5
|
import { CaretDownIcon, CaretUpIcon, MinusIcon, PlusIcon } from "@phosphor-icons/react";
|
|
@@ -38,18 +40,10 @@ const repeatDelay = 400;
|
|
|
38
40
|
const repeatInterval = 80;
|
|
39
41
|
const boundCaptionDuration = 2000;
|
|
40
42
|
const LARGE_STEP_FACTOR = 10;
|
|
43
|
+
/** A hugging stepper reserves room for at least this many characters. */
|
|
44
|
+
const hugMinChars = 4;
|
|
41
45
|
|
|
42
46
|
/** CSS timings for discrete value motion (mirrors theme animationConfig). */
|
|
43
|
-
const stepperCssTimings: Record<string, string> = {
|
|
44
|
-
bouncy: "ease-in 200ms",
|
|
45
|
-
lazy: "ease-in 600ms",
|
|
46
|
-
slow: "ease-in 500ms",
|
|
47
|
-
medium: "ease-in-out 250ms",
|
|
48
|
-
quick: "ease-in 100ms",
|
|
49
|
-
tooltip: "ease-in 400ms",
|
|
50
|
-
snappy: "ease-out 80ms",
|
|
51
|
-
gentle: "ease-in-out 450ms",
|
|
52
|
-
};
|
|
53
47
|
|
|
54
48
|
const noButtonRing = {
|
|
55
49
|
outlineWidth: 0,
|
|
@@ -132,6 +126,16 @@ export type StepperProps<
|
|
|
132
126
|
* (end) alignment.
|
|
133
127
|
*/
|
|
134
128
|
currency?: string;
|
|
129
|
+
/**
|
|
130
|
+
* Unit written after the value ("kg", "dm"). The value aligns to the
|
|
131
|
+
* end beside it, the way the currency glyph does.
|
|
132
|
+
*/
|
|
133
|
+
unit?: string;
|
|
134
|
+
/**
|
|
135
|
+
* The field hugs its value: the input is as wide as the longest value
|
|
136
|
+
* the bounds allow (or a short default), not the column.
|
|
137
|
+
*/
|
|
138
|
+
hug?: boolean;
|
|
135
139
|
allowEmpty?: boolean;
|
|
136
140
|
placeholder?: string;
|
|
137
141
|
inputProps?: Omit<InputProps, "value" | "onChangeText" | "ref">;
|
|
@@ -141,8 +145,6 @@ export type StepperProps<
|
|
|
141
145
|
value?: number | null;
|
|
142
146
|
/** When true, renders a skeleton placeholder instead of the stepper */
|
|
143
147
|
skeleton?: boolean;
|
|
144
|
-
/** When true, uses compact sizing */
|
|
145
|
-
compact?: boolean;
|
|
146
148
|
};
|
|
147
149
|
|
|
148
150
|
function StepperSpinButton({
|
|
@@ -269,6 +271,11 @@ function StepperSpinButton({
|
|
|
269
271
|
);
|
|
270
272
|
}
|
|
271
273
|
|
|
274
|
+
/** Native has no `ch`: a digit is about half the control's type size wide. */
|
|
275
|
+
function hugNativeCharPx(controlSize: unknown): number {
|
|
276
|
+
return Math.ceil(sizeRecipeForToken(String(controlSize)).fontSize * 0.62);
|
|
277
|
+
}
|
|
278
|
+
|
|
272
279
|
export function Stepper<
|
|
273
280
|
TParentData,
|
|
274
281
|
TName extends DeepKeys<TParentData>,
|
|
@@ -306,16 +313,17 @@ export function Stepper<
|
|
|
306
313
|
onChange,
|
|
307
314
|
value: valueProp,
|
|
308
315
|
skeleton,
|
|
309
|
-
compact,
|
|
310
316
|
id: idProp,
|
|
311
317
|
currency,
|
|
318
|
+
unit,
|
|
319
|
+
hug = false,
|
|
312
320
|
...restProps
|
|
313
321
|
} = useProps(props);
|
|
314
322
|
|
|
315
|
-
const { resolvedForm, knobProps, id } = useFormField({ form, id: idProp
|
|
316
|
-
const affix = currencyAffix(currency);
|
|
323
|
+
const { resolvedForm, knobProps, id } = useFormField({ form, id: idProp });
|
|
324
|
+
const affix = unit ? { glyph: unit, position: "trailing" as const } : currencyAffix(currency);
|
|
317
325
|
const resolvedValidators = useResolvedValidators(required, validators, label, name);
|
|
318
|
-
const motionTransition = knobProps.transition as string | undefined;
|
|
326
|
+
const motionTransition = knobProps.motion.control.transition as string | undefined;
|
|
319
327
|
const controlSize = size || knobProps.sizeToken;
|
|
320
328
|
// +/- glyphs are control-internal icons: the recipe's icon channel (LC-79).
|
|
321
329
|
const iconPx = sizeRecipeForToken(String(controlSize)).iconSize;
|
|
@@ -331,6 +339,17 @@ export function Stepper<
|
|
|
331
339
|
}
|
|
332
340
|
return "";
|
|
333
341
|
});
|
|
342
|
+
const hugChars = hug
|
|
343
|
+
? Math.max(
|
|
344
|
+
inputValue.length,
|
|
345
|
+
Math.max(
|
|
346
|
+
hugMinChars,
|
|
347
|
+
...[min, max]
|
|
348
|
+
.filter((bound): bound is number => typeof bound === "number" && Number.isFinite(bound))
|
|
349
|
+
.map((bound) => String(Math.trunc(Math.abs(bound))).length + 1),
|
|
350
|
+
) + (precision > 0 ? precision + 1 : 0),
|
|
351
|
+
)
|
|
352
|
+
: 0;
|
|
334
353
|
// LC-25: discrete +/- taps tween the value chrome; hold-repeat / typing stay live.
|
|
335
354
|
// Opacity (not transform) — Tamagui Input owns transform internally on web.
|
|
336
355
|
const [valueFlash, setValueFlash] = useState(false);
|
|
@@ -372,8 +391,8 @@ export function Stepper<
|
|
|
372
391
|
if (!motionTransition) return;
|
|
373
392
|
setValueFlash(true);
|
|
374
393
|
// Hold the dipped opacity long enough for the CSS transition to paint
|
|
375
|
-
// intermediates
|
|
376
|
-
setTimeout(() => setValueFlash(false),
|
|
394
|
+
// intermediates before restoring the resting opacity.
|
|
395
|
+
setTimeout(() => setValueFlash(false), motionDurationMs(motionTransition));
|
|
377
396
|
}, [motionTransition]);
|
|
378
397
|
|
|
379
398
|
const repeatIncrement = useRepeatAction(() => incrementRef.current(), repeatingRef);
|
|
@@ -572,7 +591,8 @@ export function Stepper<
|
|
|
572
591
|
const atMax = currentValue !== null && boundsHi !== undefined && currentValue >= boundsHi;
|
|
573
592
|
const live = repeatingRef.current || typingRef.current;
|
|
574
593
|
const timing = motionTransition
|
|
575
|
-
? (
|
|
594
|
+
? (cssAnimationConfig[motionTransition as keyof typeof cssAnimationConfig] ??
|
|
595
|
+
cssAnimationConfig.quick)
|
|
576
596
|
: undefined;
|
|
577
597
|
// Prefer explicit CSS opacity transition — Tamagui `transition` on Input can
|
|
578
598
|
// compile to `all` and fight focus rings; scoped opacity is enough for LC-25.
|
|
@@ -678,7 +698,12 @@ export function Stepper<
|
|
|
678
698
|
data-stepper-live={live ? "true" : undefined}
|
|
679
699
|
data-stepper-flash={valueFlash ? "true" : undefined}
|
|
680
700
|
onChangeText={readOnly ? undefined : handleInputChange}
|
|
681
|
-
textAlign={affix ? "right" : "center"}
|
|
701
|
+
textAlign={affix ? "right" : showSpin ? "center" : "left"}
|
|
702
|
+
{...(hug
|
|
703
|
+
? isWeb
|
|
704
|
+
? { flexGrow: 0, flexShrink: 0 }
|
|
705
|
+
: { flexGrow: 0, flexShrink: 0, width: hugChars * hugNativeCharPx(controlSize) }
|
|
706
|
+
: undefined)}
|
|
682
707
|
opacity={valueMotionStyle.opacity}
|
|
683
708
|
// LC-25 native value tween intentionally disabled: Tamagui's RN
|
|
684
709
|
// animation driver crashes Hermes ("Cannot add new property
|
|
@@ -688,6 +713,7 @@ export function Stepper<
|
|
|
688
713
|
? {
|
|
689
714
|
style: {
|
|
690
715
|
...(inputProps as any)?.style,
|
|
716
|
+
...(hug ? { width: `${hugChars}ch` } : undefined),
|
|
691
717
|
transition: valueMotionStyle.transition,
|
|
692
718
|
opacity: valueMotionStyle.opacity,
|
|
693
719
|
},
|
|
@@ -742,6 +768,8 @@ export function Stepper<
|
|
|
742
768
|
data-stepper="true"
|
|
743
769
|
data-stepper-control="true"
|
|
744
770
|
data-stepper-placement={placement}
|
|
771
|
+
data-stepper-hug={hug ? "true" : undefined}
|
|
772
|
+
{...(hug ? { alignSelf: "flex-start" as const } : undefined)}
|
|
745
773
|
{...(showSpin
|
|
746
774
|
? {
|
|
747
775
|
paddingHorizontal: 0,
|
|
@@ -762,7 +790,10 @@ export function Stepper<
|
|
|
762
790
|
// Wrap with wheel handler on web
|
|
763
791
|
if (isWeb && !disabled && !readOnly) {
|
|
764
792
|
return (
|
|
765
|
-
<div
|
|
793
|
+
<div
|
|
794
|
+
{...wheelProps}
|
|
795
|
+
style={hug ? { minWidth: 0, maxWidth: "100%" } : { minWidth: 0, width: "100%" }}
|
|
796
|
+
>
|
|
766
797
|
{box}
|
|
767
798
|
</div>
|
|
768
799
|
);
|
|
@@ -797,6 +828,7 @@ export function Stepper<
|
|
|
797
828
|
size={size}
|
|
798
829
|
knobProps={knobProps}
|
|
799
830
|
onBlur={onBlur}
|
|
831
|
+
hug={hug}
|
|
800
832
|
// LC-40: FieldLayout owns the dimWhole assembly dim (keepLabel pins
|
|
801
833
|
// the sibling label/helper readable) — it needs the disabled state.
|
|
802
834
|
disabled={disabled}
|
|
@@ -831,6 +863,7 @@ export function Stepper<
|
|
|
831
863
|
readOnly,
|
|
832
864
|
disabled,
|
|
833
865
|
onBlur,
|
|
866
|
+
hug,
|
|
834
867
|
...restProps,
|
|
835
868
|
}}
|
|
836
869
|
id={id}
|
|
@@ -902,6 +935,7 @@ function StepperFieldRenderer<TData>({
|
|
|
902
935
|
size={fieldProps.size}
|
|
903
936
|
knobProps={knobProps}
|
|
904
937
|
onBlur={mergeFieldHandler(field, "handleBlur", fieldProps.onBlur)}
|
|
938
|
+
hug={fieldProps.hug}
|
|
905
939
|
// LC-40: see standalone branch — FieldLayout carries dimWhole.
|
|
906
940
|
disabled={fieldProps.disabled}
|
|
907
941
|
>
|
|
@@ -1,16 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
* thumb follows Tamagui's proportion, filling the track inside the 1 pt
|
|
5
|
-
* hairline (29 pt) as it does on web. Mock tamagui's isWeb so the native
|
|
6
|
-
* branch runs on the test host renderer (RadioGroup.native.spec pattern) and
|
|
7
|
-
* read the painted track back.
|
|
2
|
+
* LC-91: native uses UISwitch's 51 × 31 pt at the scale's control.
|
|
3
|
+
* The thumb is inset 1 pt and the press target can grow independently.
|
|
8
4
|
*/
|
|
9
5
|
|
|
10
6
|
import { cleanup } from "@testing-library/react";
|
|
11
7
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
12
8
|
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
13
|
-
import { Preset } from "@multiplatform.one/theme";
|
|
9
|
+
import { Preset, Surface } from "@multiplatform.one/theme";
|
|
14
10
|
import { Switch } from "./index";
|
|
15
11
|
import { paintedBox, thumbOf, trackBox } from "../../../tests/switchFootprintProbe";
|
|
16
12
|
|
|
@@ -21,15 +17,19 @@ vi.mock("tamagui", async (importOriginal) => ({
|
|
|
21
17
|
|
|
22
18
|
afterEach(cleanup);
|
|
23
19
|
|
|
24
|
-
|
|
20
|
+
const rowToken = { small: "$3", medium: "$4", large: "$5" } as const;
|
|
21
|
+
|
|
22
|
+
function mount({ size }: { size?: keyof typeof rowToken } = {}, minTargetHeight?: number) {
|
|
25
23
|
const result = renderWithProviders(
|
|
26
|
-
<Preset overrides={{ elevation: "none"
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
<Preset overrides={{ elevation: "none" }}>
|
|
25
|
+
<Surface size={size ? rowToken[size] : undefined}>
|
|
26
|
+
<Switch
|
|
27
|
+
name="sw"
|
|
28
|
+
defaultValue={false}
|
|
29
|
+
aria-label="Notifications"
|
|
30
|
+
{...(minTargetHeight !== undefined && { minTargetHeight })}
|
|
31
|
+
/>
|
|
32
|
+
</Surface>
|
|
33
33
|
</Preset>,
|
|
34
34
|
);
|
|
35
35
|
const frame = result.getSwitch() as HTMLElement;
|
|
@@ -38,7 +38,7 @@ function mount(overrides: Record<string, unknown> = {}, minTargetHeight?: number
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
describe("Switch footprint on native (MPO-356)", () => {
|
|
41
|
-
it("paints a
|
|
41
|
+
it("paints a 51 × 31 track with a 29 pt thumb at default knobs", () => {
|
|
42
42
|
const { track, thumb } = mount();
|
|
43
43
|
expect(track).toEqual({ width: 51, height: 31 });
|
|
44
44
|
expect(thumb).toEqual({ width: 29, height: 29 });
|
|
@@ -50,7 +50,7 @@ describe("Switch footprint on native (MPO-356)", () => {
|
|
|
50
50
|
expect(track).toEqual({ width: 51, height: 31 });
|
|
51
51
|
});
|
|
52
52
|
|
|
53
|
-
it("steps with the size
|
|
53
|
+
it("steps with the size token at the UISwitch aspect", () => {
|
|
54
54
|
const small = mount({ size: "small" }).track;
|
|
55
55
|
cleanup();
|
|
56
56
|
const large = mount({ size: "large" }).track;
|
|
@@ -59,7 +59,7 @@ describe("Switch footprint on native (MPO-356)", () => {
|
|
|
59
59
|
});
|
|
60
60
|
|
|
61
61
|
for (const size of ["small", "medium", "large"] as const) {
|
|
62
|
-
it(`size ${size}: the thumb
|
|
62
|
+
it(`size ${size}: the thumb is inset 1 pt inside the borderless track`, () => {
|
|
63
63
|
const { track, thumb } = mount({ size });
|
|
64
64
|
expect(thumb).toEqual({ width: track.height - 2, height: track.height - 2 });
|
|
65
65
|
});
|
|
@@ -1,79 +1,89 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
* track is
|
|
4
|
-
* so `$4` paints 58 × 29, not the 86 × 44 control row it used to fill.
|
|
5
|
-
* The size knob keeps stepping it along Tamagui's ladder.
|
|
2
|
+
* LC-91: web tracks use 22/40 of the recipe height at 42:22.
|
|
3
|
+
* The default track is 42 × 22 with an 18 px thumb inset 2 px.
|
|
6
4
|
*/
|
|
7
|
-
|
|
8
5
|
import { cleanup } from "@testing-library/react";
|
|
9
|
-
import { Switch as TamaguiSwitch } from "tamagui";
|
|
10
6
|
import { afterEach, describe, expect, it } from "vitest";
|
|
11
7
|
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
12
8
|
import { Preset } from "@multiplatform.one/theme";
|
|
13
|
-
import { Switch } from "./index";
|
|
9
|
+
import { Switch, type SwitchProps } from "./index";
|
|
10
|
+
import { switchFootprint } from "./footprint";
|
|
14
11
|
import { paintedBox, thumbOf, trackBox } from "../../../tests/switchFootprintProbe";
|
|
15
12
|
|
|
16
13
|
afterEach(cleanup);
|
|
17
14
|
|
|
18
|
-
|
|
19
|
-
{ knob: "small", token: "$3" },
|
|
20
|
-
{ knob: "medium", token: "$4" },
|
|
21
|
-
{ knob: "large", token: "$5" },
|
|
22
|
-
] as const;
|
|
23
|
-
|
|
24
|
-
function ours(size?: (typeof LADDER)[number]["knob"]) {
|
|
15
|
+
function mount(props: SwitchProps = {}, outlined = false) {
|
|
25
16
|
const result = renderWithProviders(
|
|
26
|
-
<Preset overrides={{ elevation: "none",
|
|
27
|
-
<Switch
|
|
17
|
+
<Preset overrides={{ elevation: "none", fillStyle: outlined ? "outlined" : "filled" }}>
|
|
18
|
+
<Switch aria-label="Notifications" {...props} />
|
|
28
19
|
</Preset>,
|
|
29
20
|
);
|
|
30
21
|
const frame = result.getSwitch() as HTMLElement;
|
|
31
|
-
|
|
32
|
-
return { track: trackBox(frame), thumb: paintedBox(thumbOf(frame)) };
|
|
22
|
+
return { frame, thumb: thumbOf(frame), track: trackBox(frame) };
|
|
33
23
|
}
|
|
34
24
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
25
|
+
describe("Switch footprint on web", () => {
|
|
26
|
+
it.each([
|
|
27
|
+
{ size: undefined, width: 42, height: 22, thumbSize: 18 },
|
|
28
|
+
{ size: "$3", width: 34, height: 18, thumbSize: 14 },
|
|
29
|
+
{ size: "$5", width: 50, height: 26, thumbSize: 22 },
|
|
30
|
+
{ size: "$2", width: 27, height: 14, thumbSize: 10 },
|
|
31
|
+
] as const)(
|
|
32
|
+
"$size paints $width × $height with a $thumbSize px thumb",
|
|
33
|
+
({ size, width, height, thumbSize }) => {
|
|
34
|
+
const { track, thumb } = mount({ size });
|
|
35
|
+
expect(track).toEqual({ width, height });
|
|
36
|
+
expect(paintedBox(thumb)).toEqual({ width: thumbSize, height: thumbSize });
|
|
37
|
+
},
|
|
40
38
|
);
|
|
41
|
-
const frame = result.getSwitch() as HTMLElement;
|
|
42
|
-
expect(frame).toBeTruthy();
|
|
43
|
-
return { track: paintedBox(frame), thumb: paintedBox(thumbOf(frame)) };
|
|
44
|
-
}
|
|
45
39
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const
|
|
49
|
-
expect(
|
|
40
|
+
it.each([false, true])("checked=%s rests with a 2 px outer inset", (checked) => {
|
|
41
|
+
const { thumb } = mount({ checked });
|
|
42
|
+
const transform = thumb.style.transform || getComputedStyle(thumb).transform;
|
|
43
|
+
expect(transform).toContain(`translateX(${checked ? 22 : 2}px)`);
|
|
44
|
+
expect(transform).toContain("translateY(2px)");
|
|
50
45
|
});
|
|
51
46
|
|
|
52
|
-
it("
|
|
53
|
-
|
|
47
|
+
it("has no border under the default preset", () => {
|
|
48
|
+
const { frame } = mount();
|
|
49
|
+
expect(getComputedStyle(frame).borderTopWidth).toBe("0px");
|
|
54
50
|
});
|
|
55
51
|
|
|
56
|
-
it(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
52
|
+
it.each([
|
|
53
|
+
{ size: undefined, width: 42, height: 22, thumbSize: 18 },
|
|
54
|
+
{ size: "$3", width: 34, height: 18, thumbSize: 14 },
|
|
55
|
+
] as const)(
|
|
56
|
+
"$size centers its paint inside a 44 × 44 target",
|
|
57
|
+
({ size, width, height, thumbSize }) => {
|
|
58
|
+
const { frame, track, thumb } = mount({ size, minTargetHeight: 44 });
|
|
59
|
+
expect(paintedBox(frame)).toEqual({ width: 44, height: 44 });
|
|
60
|
+
expect(track).toEqual({ width, height });
|
|
61
|
+
expect(paintedBox(thumb)).toEqual({ width: thumbSize, height: thumbSize });
|
|
62
|
+
const transform = thumb.style.transform || getComputedStyle(thumb).transform;
|
|
63
|
+
expect(transform).toContain(`translateX(${(44 - width) / 2 + 2}px)`);
|
|
64
|
+
expect(transform).toContain(`translateY(${(44 - thumbSize) / 2}px)`);
|
|
65
|
+
},
|
|
66
|
+
);
|
|
67
|
+
|
|
68
|
+
it("outlines a transparent off track while preserving the 18 px thumb", () => {
|
|
69
|
+
const { frame, thumb } = mount({}, true);
|
|
70
|
+
expect(frame.className).toContain("_bg-transparent");
|
|
71
|
+
expect(parseFloat(getComputedStyle(frame).borderTopWidth)).toBeGreaterThanOrEqual(1);
|
|
72
|
+
expect(paintedBox(thumb)).toEqual({ width: 18, height: 18 });
|
|
64
73
|
});
|
|
65
74
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
75
|
+
it.each([0, 1, 2])("keeps the thumb 2 px from the outer edge with a %s px ring", (ring) => {
|
|
76
|
+
const footprint = switchFootprint("$4", ring);
|
|
77
|
+
expect(footprint.thumbSize).toBe(18);
|
|
78
|
+
expect(footprint.thumbInset + ring).toBe(2);
|
|
79
|
+
expect(footprint.travel).toBe(20);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
it("restores the 44 px press target on both axes through press slop", () => {
|
|
83
|
+
const { frame, track } = mount();
|
|
84
|
+
const slop = Number(frame.getAttribute("data-mp-press-slop"));
|
|
85
|
+
expect(track.height + slop * 2).toBeGreaterThanOrEqual(44);
|
|
86
|
+
expect(track.width + slop * 2).toBeGreaterThanOrEqual(44);
|
|
87
|
+
expect(frame.hasAttribute("data-mp-press-axis")).toBe(false);
|
|
88
|
+
});
|
|
79
89
|
});
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { readFileSync } from "node:fs";
|
|
2
|
+
import { URL as NodeURL } from "node:url";
|
|
1
3
|
import { useForm } from "@tanstack/react-form";
|
|
2
|
-
import { act, fireEvent, render, waitFor } from "@testing-library/react";
|
|
4
|
+
import { act, cleanup, fireEvent, render, waitFor } from "@testing-library/react";
|
|
3
5
|
import { TamaguiProvider, YStack, createTamagui } from "tamagui";
|
|
4
6
|
import { describe, expect, it, vi } from "vitest";
|
|
5
7
|
import { renderWithProviders } from "@multiplatform.one/test-utils";
|
|
6
8
|
import {
|
|
9
|
+
Preset,
|
|
7
10
|
createThemesBuilder,
|
|
8
11
|
defaultAccentTheme,
|
|
9
12
|
defaultBaseTheme,
|
|
@@ -14,6 +17,7 @@ import { animationsCSS } from "@tamagui/config/v5-css";
|
|
|
14
17
|
import { Button } from "../../Button";
|
|
15
18
|
import { Form } from "../../Form";
|
|
16
19
|
import { Switch } from "./index";
|
|
20
|
+
import { thumbOf } from "../../../tests/switchFootprintProbe";
|
|
17
21
|
|
|
18
22
|
// House builder themes for the LC-05 mark assertion — created at MODULE
|
|
19
23
|
// scope: tamagui registers a config's theme variables globally at
|
|
@@ -236,8 +240,6 @@ describe("Switch", () => {
|
|
|
236
240
|
fireEvent.pointerDown(switchElement, { clientX: 0, pointerId: 1, button: 0 });
|
|
237
241
|
});
|
|
238
242
|
await act(async () => {
|
|
239
|
-
// Past drag-intent (10px) but still below the snap midpoint
|
|
240
|
-
// (recipe $4 track ≈ 21px, midpoint ≈ 10.5).
|
|
241
243
|
fireEvent(
|
|
242
244
|
document,
|
|
243
245
|
new PointerEvent("pointermove", { clientX: 10, pointerId: 1, bubbles: true }),
|
|
@@ -246,7 +248,7 @@ describe("Switch", () => {
|
|
|
246
248
|
await act(async () => {
|
|
247
249
|
fireEvent(
|
|
248
250
|
document,
|
|
249
|
-
new PointerEvent("pointerup", { clientX:
|
|
251
|
+
new PointerEvent("pointerup", { clientX: 9, pointerId: 1, bubbles: true }),
|
|
250
252
|
);
|
|
251
253
|
});
|
|
252
254
|
// Same-gesture press that follows a drag must not flip the value.
|
|
@@ -413,3 +415,122 @@ describe("Switch", () => {
|
|
|
413
415
|
});
|
|
414
416
|
});
|
|
415
417
|
});
|
|
418
|
+
|
|
419
|
+
describe("Switch thumb and pointer paint", () => {
|
|
420
|
+
function paint(el: HTMLElement, prefix: "_bg-" | "_btc-") {
|
|
421
|
+
const property = prefix === "_bg-" ? "background-color" : "border-top-color";
|
|
422
|
+
const tokens = Array.from(el.classList)
|
|
423
|
+
.filter((name) => name.startsWith(prefix) && !/^_[a-z]+-0/.test(name))
|
|
424
|
+
.flatMap((name) =>
|
|
425
|
+
Array.from(document.styleSheets).flatMap((sheet) =>
|
|
426
|
+
Array.from(sheet.cssRules)
|
|
427
|
+
.filter(
|
|
428
|
+
(rule): rule is CSSStyleRule =>
|
|
429
|
+
rule instanceof CSSStyleRule && rule.selectorText.endsWith(`.${name}`),
|
|
430
|
+
)
|
|
431
|
+
.map((rule) => rule.style.getPropertyValue(property).trim())
|
|
432
|
+
.filter(Boolean),
|
|
433
|
+
),
|
|
434
|
+
);
|
|
435
|
+
return tokens.join(" ");
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
function mount({
|
|
439
|
+
checked = false,
|
|
440
|
+
disabled = false,
|
|
441
|
+
readOnly = false,
|
|
442
|
+
grown = false,
|
|
443
|
+
outlined = false,
|
|
444
|
+
scheme = "light",
|
|
445
|
+
switchProps = {},
|
|
446
|
+
} = {}) {
|
|
447
|
+
const result = render(
|
|
448
|
+
<TamaguiProvider config={houseConfig} defaultTheme={scheme} disableInjectCSS>
|
|
449
|
+
<Preset overrides={{ fillStyle: outlined ? "outlined" : "filled" }}>
|
|
450
|
+
<Switch
|
|
451
|
+
label="Pointer"
|
|
452
|
+
checked={checked}
|
|
453
|
+
disabled={disabled}
|
|
454
|
+
readOnly={readOnly}
|
|
455
|
+
minTargetHeight={grown ? 44 : undefined}
|
|
456
|
+
switchProps={switchProps}
|
|
457
|
+
/>
|
|
458
|
+
</Preset>
|
|
459
|
+
</TamaguiProvider>,
|
|
460
|
+
);
|
|
461
|
+
const frame = result.getByRole("switch");
|
|
462
|
+
const track = grown ? frame.querySelector<HTMLElement>("._pos-absolute._pe-none")! : frame;
|
|
463
|
+
return { frame, track, thumb: thumbOf(frame) };
|
|
464
|
+
}
|
|
465
|
+
|
|
466
|
+
it.each(["light", "dark"])("%s uses the same thumb token in both states", (scheme) => {
|
|
467
|
+
const off = mount({ scheme });
|
|
468
|
+
expect(off.thumb.className).toContain("_bg-switchThu");
|
|
469
|
+
cleanup();
|
|
470
|
+
const on = mount({ scheme, checked: true });
|
|
471
|
+
expect(on.thumb.className).toContain("_bg-switchThu");
|
|
472
|
+
});
|
|
473
|
+
|
|
474
|
+
it("has no luminance-dependent thumb override", () => {
|
|
475
|
+
expect(readFileSync(new NodeURL("./index.tsx", import.meta.url), "utf8")).not.toContain(
|
|
476
|
+
"useLuminanceThumbColor",
|
|
477
|
+
);
|
|
478
|
+
});
|
|
479
|
+
|
|
480
|
+
it.each([false, true])("grown=%s changes the off track on mouse enter and leave", (grown) => {
|
|
481
|
+
const { frame, track } = mount({ grown });
|
|
482
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOff)");
|
|
483
|
+
fireEvent.mouseEnter(frame);
|
|
484
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOffHover)");
|
|
485
|
+
fireEvent.mouseLeave(frame);
|
|
486
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOff)");
|
|
487
|
+
});
|
|
488
|
+
|
|
489
|
+
it.each([false, true])("grown=%s keeps the checked accent on hover", (grown) => {
|
|
490
|
+
const { frame, track } = mount({ grown, checked: true });
|
|
491
|
+
expect(paint(track, "_bg-")).toBe("var(--accentBackground)");
|
|
492
|
+
fireEvent.mouseEnter(frame);
|
|
493
|
+
expect(paint(track, "_bg-")).toBe("var(--accentBackground)");
|
|
494
|
+
});
|
|
495
|
+
|
|
496
|
+
it.each([{ disabled: true }, { readOnly: true }])("ignores hover for %o", (props) => {
|
|
497
|
+
const { frame, track } = mount(props);
|
|
498
|
+
fireEvent.mouseEnter(frame);
|
|
499
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOff)");
|
|
500
|
+
});
|
|
501
|
+
|
|
502
|
+
it.each([false, true])("grown=%s changes only the outlined ring on hover", (grown) => {
|
|
503
|
+
const { frame, track } = mount({ grown, outlined: true });
|
|
504
|
+
expect(track.className).toContain("_bg-transparent");
|
|
505
|
+
expect(paint(track, "_btc-")).toBe("var(--switchTrackOff)");
|
|
506
|
+
fireEvent.mouseEnter(frame);
|
|
507
|
+
expect(track.className).toContain("_bg-transparent");
|
|
508
|
+
expect(paint(track, "_btc-")).toBe("var(--switchTrackOffHover)");
|
|
509
|
+
fireEvent.mouseLeave(frame);
|
|
510
|
+
expect(paint(track, "_btc-")).toBe("var(--switchTrackOff)");
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
it("composes the caller's mouse handlers once", () => {
|
|
514
|
+
const onMouseEnter = vi.fn();
|
|
515
|
+
const onMouseLeave = vi.fn();
|
|
516
|
+
const { frame } = mount({ switchProps: { onMouseEnter, onMouseLeave } });
|
|
517
|
+
fireEvent.mouseEnter(frame);
|
|
518
|
+
fireEvent.mouseLeave(frame);
|
|
519
|
+
expect(onMouseEnter).toHaveBeenCalledTimes(1);
|
|
520
|
+
expect(onMouseLeave).toHaveBeenCalledTimes(1);
|
|
521
|
+
});
|
|
522
|
+
|
|
523
|
+
it("paints the press tier and composes press handlers", () => {
|
|
524
|
+
const onPressIn = vi.fn();
|
|
525
|
+
const onPressOut = vi.fn();
|
|
526
|
+
const { frame, track } = mount({ switchProps: { onPressIn, onPressOut } });
|
|
527
|
+
fireEvent.pointerDown(frame, { pointerId: 1, button: 0, clientX: 0 });
|
|
528
|
+
fireEvent.mouseDown(frame, { button: 0 });
|
|
529
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOffPress)");
|
|
530
|
+
expect(onPressIn).toHaveBeenCalledTimes(1);
|
|
531
|
+
fireEvent.mouseUp(frame, { button: 0 });
|
|
532
|
+
fireEvent.pointerUp(document, { pointerId: 1, clientX: 0 });
|
|
533
|
+
expect(paint(track, "_bg-")).toBe("var(--switchTrackOff)");
|
|
534
|
+
expect(onPressOut).toHaveBeenCalledTimes(1);
|
|
535
|
+
});
|
|
536
|
+
});
|
|
@@ -146,9 +146,9 @@ export const WithIcons: Story = {
|
|
|
146
146
|
export const Sizes: Story = {
|
|
147
147
|
render: () => (
|
|
148
148
|
<YStack gap="$4" maxWidth={400}>
|
|
149
|
-
<Switch label="Small" size="$
|
|
150
|
-
<Switch label="
|
|
151
|
-
<Switch label="Large" size="$
|
|
149
|
+
<Switch label="Small ($3)" size="$3" />
|
|
150
|
+
<Switch label="Default ($4)" />
|
|
151
|
+
<Switch label="Large ($5)" size="$5" />
|
|
152
152
|
</YStack>
|
|
153
153
|
),
|
|
154
154
|
};
|
|
@@ -2,20 +2,13 @@ import { sizeRecipeForToken } from "@multiplatform.one/theme";
|
|
|
2
2
|
import { isWeb } from "tamagui";
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
|
-
* LC-91
|
|
6
|
-
* the
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - web: Tamagui's Switch, `getSwitchHeight` = size × 0.65 at a 2:1 aspect,
|
|
10
|
-
* thumb filling the track (tamagui.dev `$4` = 58 × 29, thumb 29).
|
|
11
|
-
* - native: UISwitch's 51 × 31 pt track at the 44 medium stop (Material 3's
|
|
12
|
-
* 52 × 32 sits inside the same 10 percent), Tamagui's thumb filling it: 29 pt.
|
|
13
|
-
*
|
|
14
|
-
* Painting the whole recipe height is what made `$4` an 86 × 44 slab once
|
|
15
|
-
* MPO-13 lifted the recipe from 32 to Tamagui's 44.
|
|
5
|
+
* LC-91: web track = 22/40 of the token's recipe height at 42:22,
|
|
6
|
+
* with the thumb inset 2 px from the outer edge.
|
|
7
|
+
* Native uses UISwitch's 51 × 31 pt at the scale's control,
|
|
8
|
+
* scaled by the token's ratio to that control height.
|
|
16
9
|
*/
|
|
17
|
-
const webSwitch = { heightRatio:
|
|
18
|
-
const nativeSwitch = {
|
|
10
|
+
const webSwitch = { heightRatio: 22 / 40, aspect: 42 / 22, rimGutter: 2 };
|
|
11
|
+
const nativeSwitch = { width: 51, height: 31, rimGutter: 1 };
|
|
19
12
|
|
|
20
13
|
export type SwitchFootprint = {
|
|
21
14
|
trackHeight: number;
|
|
@@ -30,8 +23,14 @@ export type SwitchFootprint = {
|
|
|
30
23
|
|
|
31
24
|
export function switchFootprint(sizeToken: string, borderWidth: number): SwitchFootprint {
|
|
32
25
|
const platform = isWeb ? webSwitch : nativeSwitch;
|
|
33
|
-
const
|
|
34
|
-
const
|
|
26
|
+
const recipeHeight = sizeRecipeForToken(sizeToken).height;
|
|
27
|
+
const ratio = recipeHeight / sizeRecipeForToken("$4").height;
|
|
28
|
+
const trackHeight = Math.round(
|
|
29
|
+
isWeb ? recipeHeight * webSwitch.heightRatio : nativeSwitch.height * ratio,
|
|
30
|
+
);
|
|
31
|
+
const trackWidth = Math.round(
|
|
32
|
+
isWeb ? trackHeight * webSwitch.aspect : nativeSwitch.width * ratio,
|
|
33
|
+
);
|
|
35
34
|
const thumbSlot = trackHeight - borderWidth * 2;
|
|
36
35
|
const thumbInset = Math.max(0, platform.rimGutter - borderWidth);
|
|
37
36
|
return {
|