@multiplatform.one/forms 7.90.6 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/IconButtonGroup.native.js.map +1 -1
- package/dist/cjs/Button/circleGlyph.native.js.map +1 -1
- package/dist/cjs/Button/glass.cjs +4 -0
- package/dist/cjs/Button/glass.native.js +6 -0
- package/dist/cjs/Button/glass.native.js.map +1 -1
- package/dist/cjs/Button/iconButtonGroupContext.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +1 -2
- package/dist/cjs/Button/index.native.js +1 -2
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Button/webGlass.native.js.map +1 -1
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/Composer/index.cjs +85 -0
- package/dist/cjs/Composer/index.native.js +95 -0
- package/dist/cjs/Composer/index.native.js.map +1 -0
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.native.js.map +1 -1
- package/dist/cjs/ErrorSummary.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/editMode.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/formatters.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/PanelHeader.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/RegularPanel.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/compactFace.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/containingBlock.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/coverRect.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/echoContext.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +1 -4
- package/dist/cjs/FloatingPanel/index.native.js +2 -3
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/nestedAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/paintedBox.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/panelWidth.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/pointAnchor.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/regularPlacement.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/trailingAction.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +1 -7
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +1 -7
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/Form/submissionController.native.js.map +1 -1
- package/dist/cjs/Form/validateOn.native.js.map +1 -1
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/PasswordReveal.native.js.map +1 -1
- package/dist/cjs/InputParts/index.cjs +32 -1
- package/dist/cjs/InputParts/index.native.js +32 -1
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/InputParts/keyboardAppearance.native.js.map +1 -1
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/MediaPicker/base64.native.js.map +1 -1
- package/dist/cjs/MediaPicker/payload.native.js.map +1 -1
- package/dist/cjs/MediaPicker/types.native.js.map +1 -1
- package/dist/cjs/MediaPicker/useMediaPicker.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -1
- package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -1
- package/dist/cjs/Table/index.native.js.map +1 -1
- package/dist/cjs/Wheel/haptic.native.js.map +1 -1
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -1
- package/dist/cjs/actionLabel.native.js.map +1 -1
- package/dist/cjs/fieldDefaults.native.js.map +1 -1
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/code128.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/qr.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.cjs +0 -2
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +0 -2
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +2 -4
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +2 -4
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/checkboxGroupContext.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/SystemColorField.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.cjs +1 -3
- package/dist/cjs/fields/ColorPicker/index.native.js +2 -4
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/systemColorWell.gnome.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/authorOptions.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.cjs +0 -2
- package/dist/cjs/fields/Combobox/index.native.js +1 -3
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.cjs +2 -5
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js +2 -5
- package/dist/cjs/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +1 -3
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/catalog.cjs +2 -5
- package/dist/cjs/fields/DatePicker/catalog.native.js +2 -5
- package/dist/cjs/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.native.js +1 -3
- package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/utils.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationWheelTypes.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.cjs +1 -3
- package/dist/cjs/fields/FileUpload/index.native.js +1 -3
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geoValue.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoder.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/geocoderContext.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.cjs +2 -2
- package/dist/cjs/fields/Geolocation/index.native.js +2 -2
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapTypes.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/nativeSearchFocus.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/photonGeocoder.native.js.map +1 -1
- package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -1
- package/dist/cjs/fields/Icon/index.cjs +1 -3
- package/dist/cjs/fields/Icon/index.native.js +1 -3
- package/dist/cjs/fields/Icon/index.native.js.map +1 -1
- package/dist/cjs/fields/ImageField/index.cjs +1 -5
- package/dist/cjs/fields/ImageField/index.native.js +1 -5
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- 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.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellEdge.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/dialCodes.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/regionNames.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.cjs +0 -2
- package/dist/cjs/fields/RadioGroup/index.native.js +0 -2
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -1
- package/dist/cjs/fields/Rating/types.native.js.map +1 -1
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/InlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Select/SheetPickerRow.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.cjs +0 -2
- package/dist/cjs/fields/Select/index.native.js +3 -5
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/shouldInlineChoices.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.cjs +0 -2
- package/dist/cjs/fields/Slider/index.native.js +0 -2
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -1
- package/dist/cjs/fields/Switch/footprint.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.cjs +0 -2
- package/dist/cjs/fields/TextArea/index.native.js +1 -3
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/catalog.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -1
- package/dist/cjs/fields/ToggleGroup/index.cjs +0 -2
- package/dist/cjs/fields/ToggleGroup/index.native.js +1 -3
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/OsDateTimeSheet.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/dateTimePickerLoader.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/osDateTimeIosDisplay.native.js.map +1 -1
- package/dist/cjs/fields/nativeDateTime/sheetKeyboard.native.js.map +1 -1
- package/dist/cjs/fields/nativeSelect.native.js.map +1 -1
- package/dist/cjs/fields/selectedOrder.native.js.map +1 -1
- package/dist/cjs/formSpacing.native.js.map +1 -1
- package/dist/cjs/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/cjs/index.cjs +3 -1
- package/dist/cjs/index.gnome.cjs +200 -0
- package/dist/cjs/index.gnome.native.js +203 -0
- package/dist/cjs/index.gnome.native.js.map +1 -0
- package/dist/cjs/index.native.js +2 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keyboard/chain.native.js.map +1 -1
- package/dist/cjs/keyboard/index.native.js.map +1 -1
- package/dist/cjs/keyboard/types.native.js.map +1 -1
- package/dist/cjs/nativeTwins.cjs +28 -0
- package/dist/cjs/nativeTwins.native.js +31 -0
- package/dist/cjs/nativeTwins.native.js.map +1 -0
- package/dist/cjs/requiredMarking.native.js.map +1 -1
- package/dist/cjs/shared/CheckGlyph.native.js.map +1 -1
- package/dist/cjs/shared/OverlayWindow.native.js +2 -33
- package/dist/cjs/shared/OverlayWindow.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/capabilityPreflight.native.js.map +1 -1
- package/dist/cjs/shared/checkedOnField.native.js.map +1 -1
- package/dist/cjs/shared/choiceRowPress.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/fieldRowContext.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/groupContext.native.js.map +1 -1
- package/dist/cjs/shared/i18n.native.js.map +1 -1
- package/dist/cjs/shared/instantMotion.native.js.map +1 -1
- package/dist/cjs/shared/nativeA11y.native.js.map +1 -1
- package/dist/cjs/shared/nativeAutoFocus.native.js.map +1 -1
- package/dist/cjs/shared/nativeOverlayWindow.cjs +50 -0
- package/dist/cjs/shared/nativeOverlayWindow.native.js +54 -0
- package/dist/cjs/shared/nativeOverlayWindow.native.js.map +1 -0
- package/dist/cjs/shared/overlaySizeClass.native.js.map +1 -1
- package/dist/cjs/shared/overlayStack.native.js.map +1 -1
- package/dist/cjs/shared/panelPortal.native.js.map +1 -1
- package/dist/cjs/shared/pickerTriggerContract.native.js.map +1 -1
- package/dist/cjs/shared/pressSlopProps.native.js.map +1 -1
- package/dist/cjs/shared/restoreRetries.native.js.map +1 -1
- package/dist/cjs/shared/sheetNavigation.native.js.map +1 -1
- package/dist/cjs/shared/systemControlModules.gnome.native.js.map +1 -1
- package/dist/cjs/shared/systemControls.native.js.map +1 -1
- package/dist/cjs/shared/t.native.js.map +1 -1
- package/dist/cjs/shared/tableCellContext.native.js.map +1 -1
- package/dist/cjs/shared/useDragScroll.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
- package/dist/cjs/shared/useSheetEscapeDismiss.native.js.map +1 -1
- package/dist/cjs/shared/useWheelIncrement.native.js.map +1 -1
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/shared/zIndex.native.js.map +1 -1
- package/dist/cjs/standardActions.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/cjs/types.native.js.map +1 -1
- package/dist/cjs/utils/LinkCell.native.js.map +1 -1
- package/dist/esm/Button/glass.mjs +4 -1
- package/dist/esm/Button/glass.mjs.map +1 -1
- package/dist/esm/Button/glass.native.js +6 -1
- package/dist/esm/Button/glass.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +2 -3
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +2 -3
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Composer/index.mjs +60 -0
- package/dist/esm/Composer/index.mjs.map +1 -0
- package/dist/esm/Composer/index.native.js +67 -0
- package/dist/esm/Composer/index.native.js.map +1 -0
- package/dist/esm/FloatingPanel/index.mjs +3 -5
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +3 -4
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs +2 -7
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js +2 -7
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +33 -2
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +33 -2
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.mjs +0 -2
- package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js +0 -2
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +2 -4
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +2 -4
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.mjs +1 -3
- package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js +2 -4
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.mjs +0 -2
- package/dist/esm/fields/Combobox/index.mjs.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js +1 -3
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs +2 -5
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js +2 -5
- package/dist/esm/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js +1 -3
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.mjs +2 -5
- package/dist/esm/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/catalog.native.js +2 -5
- package/dist/esm/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/index.native.js +1 -3
- package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/index.mjs +1 -3
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +1 -3
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/index.mjs +2 -2
- package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js +2 -2
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/Icon/index.mjs +1 -3
- package/dist/esm/fields/Icon/index.mjs.map +1 -1
- package/dist/esm/fields/Icon/index.native.js +1 -3
- package/dist/esm/fields/Icon/index.native.js.map +1 -1
- package/dist/esm/fields/ImageField/index.mjs +1 -5
- package/dist/esm/fields/ImageField/index.mjs.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js +1 -5
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.mjs +3 -5
- package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js +3 -5
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.mjs +0 -2
- package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js +0 -2
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.mjs +0 -2
- package/dist/esm/fields/Select/index.mjs.map +1 -1
- package/dist/esm/fields/Select/index.native.js +3 -5
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.mjs +0 -2
- package/dist/esm/fields/Slider/index.mjs.map +1 -1
- package/dist/esm/fields/Slider/index.native.js +0 -2
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.mjs +0 -2
- package/dist/esm/fields/TextArea/index.mjs.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js +1 -3
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.mjs +0 -2
- package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js +1 -3
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/index.gnome.mjs +61 -0
- package/dist/esm/index.gnome.mjs.map +1 -0
- package/dist/esm/index.gnome.native.js +61 -0
- package/dist/esm/index.gnome.native.js.map +1 -0
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -1
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/nativeTwins.mjs +3 -0
- package/dist/esm/nativeTwins.mjs.map +1 -0
- package/dist/esm/nativeTwins.native.js +3 -0
- package/dist/esm/nativeTwins.native.js.map +1 -0
- package/dist/esm/shared/OverlayWindow.native.js +1 -25
- package/dist/esm/shared/OverlayWindow.native.js.map +1 -1
- package/dist/esm/shared/nativeOverlayWindow.mjs +25 -0
- package/dist/esm/shared/nativeOverlayWindow.mjs.map +1 -0
- package/dist/esm/shared/nativeOverlayWindow.native.js +26 -0
- package/dist/esm/shared/nativeOverlayWindow.native.js.map +1 -0
- package/dist/jsx/Button/glass.mjs +4 -1
- package/dist/jsx/Button/glass.mjs.map +1 -1
- package/dist/jsx/Button/glass.native.js +6 -0
- package/dist/jsx/Button/glass.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +2 -3
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +1 -2
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Composer/index.mjs +60 -0
- package/dist/jsx/Composer/index.mjs.map +1 -0
- package/dist/jsx/Composer/index.native.js +95 -0
- package/dist/jsx/Composer/index.native.js.map +1 -0
- package/dist/jsx/FloatingPanel/index.mjs +3 -5
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +2 -3
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +2 -7
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +1 -7
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +33 -2
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +32 -1
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.mjs +0 -2
- package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js +0 -2
- package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +2 -4
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +2 -4
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.mjs +1 -3
- package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.native.js +2 -4
- package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/index.mjs +0 -2
- package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +1 -3
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs +2 -5
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js +2 -5
- package/dist/jsx/fields/DatePicker/DatetimePicker.catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +1 -3
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.mjs +2 -5
- package/dist/jsx/fields/DatePicker/catalog.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/catalog.native.js +2 -5
- package/dist/jsx/fields/DatePicker/catalog.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js +1 -3
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/index.mjs +1 -3
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +1 -3
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/index.mjs +2 -2
- package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
- package/dist/jsx/fields/Geolocation/index.native.js +2 -2
- package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
- package/dist/jsx/fields/Icon/index.mjs +1 -3
- package/dist/jsx/fields/Icon/index.mjs.map +1 -1
- package/dist/jsx/fields/Icon/index.native.js +1 -3
- package/dist/jsx/fields/Icon/index.native.js.map +1 -1
- package/dist/jsx/fields/ImageField/index.mjs +1 -5
- package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
- package/dist/jsx/fields/ImageField/index.native.js +1 -5
- package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.mjs +3 -5
- package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +3 -5
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.mjs +0 -2
- package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js +0 -2
- package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.mjs +0 -2
- package/dist/jsx/fields/Select/index.mjs.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +3 -5
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/index.mjs +0 -2
- package/dist/jsx/fields/Slider/index.mjs.map +1 -1
- package/dist/jsx/fields/Slider/index.native.js +0 -2
- package/dist/jsx/fields/Slider/index.native.js.map +1 -1
- package/dist/jsx/fields/TextArea/index.mjs +0 -2
- package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
- package/dist/jsx/fields/TextArea/index.native.js +1 -3
- package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.mjs +0 -2
- package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js +1 -3
- package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/jsx/index.gnome.mjs +61 -0
- package/dist/jsx/index.gnome.mjs.map +1 -0
- package/dist/jsx/index.gnome.native.js +203 -0
- package/dist/jsx/index.gnome.native.js.map +1 -0
- package/dist/jsx/index.js +2 -1
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -1
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +2 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/nativeTwins.mjs +3 -0
- package/dist/jsx/nativeTwins.mjs.map +1 -0
- package/dist/jsx/nativeTwins.native.js +31 -0
- package/dist/jsx/nativeTwins.native.js.map +1 -0
- package/dist/jsx/shared/OverlayWindow.native.js +2 -33
- package/dist/jsx/shared/OverlayWindow.native.js.map +1 -1
- package/dist/jsx/shared/nativeOverlayWindow.mjs +25 -0
- package/dist/jsx/shared/nativeOverlayWindow.mjs.map +1 -0
- package/dist/jsx/shared/nativeOverlayWindow.native.js +54 -0
- package/dist/jsx/shared/nativeOverlayWindow.native.js.map +1 -0
- package/package.json +22 -9
- package/src/Button/glass.native.field.spec.ts +14 -0
- package/src/Button/glass.native.ts +5 -0
- package/src/Button/glass.ts +8 -0
- package/src/Button/index.tsx +2 -7
- package/src/Composer/Composer.spec.tsx +66 -0
- package/src/Composer/Composer.stories.tsx +56 -0
- package/src/Composer/index.tsx +82 -0
- package/src/FloatingPanel/FloatingPanel.stories.tsx +1 -1
- package/src/FloatingPanel/index.native.tsx +2 -3
- package/src/FloatingPanel/index.tsx +1 -10
- package/src/FloatingPanel/panelWidthContract.spec.ts +1 -10
- package/src/FloatingPanel/useFloatingPanel.spec.tsx +0 -26
- package/src/FloatingPanel/useFloatingPanel.ts +1 -19
- package/src/FloatingPanel/viewportHydration.spec.tsx +2 -2
- package/src/InputParts/InputParts.glass.spec.tsx +99 -0
- package/src/InputParts/index.tsx +41 -0
- package/src/fields/Checkbox/Checkbox.spec.tsx +8 -25
- package/src/fields/Checkbox/Checkbox.stories.tsx +4 -4
- package/src/fields/Checkbox/Checkbox.tsx +1 -5
- package/src/fields/Checkbox/CheckboxGroup.stories.tsx +2 -2
- package/src/fields/Checkbox/CheckboxGroup.tsx +3 -8
- package/src/fields/ColorPicker/ColorPicker.spec.tsx +2 -11
- package/src/fields/ColorPicker/index.tsx +3 -7
- package/src/fields/Combobox/Combobox.spec.tsx +1 -5
- package/src/fields/Combobox/Combobox.stories.tsx +6 -6
- package/src/fields/Combobox/index.tsx +1 -6
- package/src/fields/DatePicker/DatePicker.spec.tsx +4 -21
- package/src/fields/DatePicker/DatetimePicker.catalog.tsx +3 -9
- package/src/fields/DatePicker/DatetimePicker.native.spec.tsx +3 -13
- package/src/fields/DatePicker/DatetimePicker.native.tsx +1 -4
- package/src/fields/DatePicker/DatetimePicker.spec.tsx +3 -18
- package/src/fields/DatePicker/DatetimePicker.stories.tsx +3 -3
- package/src/fields/DatePicker/catalog.tsx +3 -9
- package/src/fields/DatePicker/index.native.tsx +1 -4
- package/src/fields/FileUpload/FileUpload.spec.tsx +2 -10
- package/src/fields/FileUpload/index.tsx +3 -7
- package/src/fields/Geolocation/index.tsx +2 -2
- package/src/fields/Icon/index.tsx +1 -5
- package/src/fields/ImageField/ImageField.spec.tsx +2 -10
- package/src/fields/ImageField/index.tsx +2 -9
- package/src/fields/MentionInput/MentionInput.spec.tsx +2 -14
- package/src/fields/MentionInput/index.tsx +3 -7
- package/src/fields/RadioGroup/RadioGroup.spec.tsx +3 -21
- package/src/fields/RadioGroup/RadioGroup.stories.tsx +4 -4
- package/src/fields/RadioGroup/index.tsx +1 -6
- package/src/fields/Select/Select.spec.tsx +1 -5
- package/src/fields/Select/Select.stories.tsx +5 -5
- package/src/fields/Select/index.tsx +1 -6
- package/src/fields/Slider/Slider.spec.tsx +8 -22
- package/src/fields/Slider/Slider.stories.tsx +5 -5
- package/src/fields/Slider/index.tsx +1 -6
- package/src/fields/TextArea/TextArea.spec.tsx +17 -35
- package/src/fields/TextArea/TextArea.stories.tsx +6 -6
- package/src/fields/TextArea/index.tsx +0 -4
- package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +2 -11
- package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +5 -5
- package/src/fields/ToggleGroup/index.tsx +1 -6
- package/src/fields/pickerActivation.spec.tsx +1 -1
- package/src/fields/pickerRows.spec.tsx +4 -4
- package/src/index.gnome.ts +150 -0
- package/src/index.ts +3 -0
- package/src/nativeTwins.ts +8 -0
- package/src/shared/OverlayWindow.native.tsx +1 -28
- package/src/shared/nativeOverlayWindow.tsx +28 -0
- package/types/Button/glass.d.ts +5 -0
- package/types/Button/glass.d.ts.map +1 -1
- package/types/Button/glass.native.d.ts +2 -0
- package/types/Button/glass.native.d.ts.map +1 -1
- package/types/Button/index.d.ts +1 -2
- package/types/Button/index.d.ts.map +1 -1
- package/types/Composer/index.d.ts +28 -0
- package/types/Composer/index.d.ts.map +1 -0
- package/types/FloatingPanel/index.d.ts +1 -7
- 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 +1 -11
- package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/fields/Checkbox/Checkbox.d.ts +1 -3
- package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxGroup.d.ts +1 -4
- package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
- package/types/fields/Checkbox/index.d.ts +3 -3
- package/types/fields/ColorPicker/index.d.ts +1 -3
- package/types/fields/ColorPicker/index.d.ts.map +1 -1
- package/types/fields/Combobox/index.d.ts +1 -4
- package/types/fields/Combobox/index.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.catalog.d.ts +0 -3
- 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/catalog.d.ts +0 -3
- 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/FileUpload/index.d.ts +1 -3
- package/types/fields/FileUpload/index.d.ts.map +1 -1
- package/types/fields/Icon/index.d.ts +0 -2
- package/types/fields/Icon/index.d.ts.map +1 -1
- package/types/fields/ImageField/index.d.ts +2 -4
- package/types/fields/ImageField/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/RadioGroup/index.d.ts +1 -4
- package/types/fields/RadioGroup/index.d.ts.map +1 -1
- package/types/fields/Select/index.d.ts +1 -4
- package/types/fields/Select/index.d.ts.map +1 -1
- package/types/fields/Slider/index.d.ts +1 -4
- package/types/fields/Slider/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/ToggleGroup/index.d.ts +1 -4
- package/types/fields/ToggleGroup/index.d.ts.map +1 -1
- package/types/index.d.ts +2 -0
- package/types/index.d.ts.map +1 -1
- package/types/index.gnome.d.ts +88 -0
- package/types/index.gnome.d.ts.map +1 -0
- package/types/nativeTwins.d.ts +8 -0
- package/types/nativeTwins.d.ts.map +1 -0
- package/types/shared/OverlayWindow.native.d.ts +1 -14
- package/types/shared/OverlayWindow.native.d.ts.map +1 -1
- package/types/shared/nativeOverlayWindow.d.ts +15 -0
- package/types/shared/nativeOverlayWindow.d.ts.map +1 -0
- package/types/shared/pickerTriggerContract.d.ts +3 -3
|
@@ -177,9 +177,9 @@ export const Basic: Story = {
|
|
|
177
177
|
<Select
|
|
178
178
|
{...args}
|
|
179
179
|
value={value || undefined}
|
|
180
|
-
|
|
180
|
+
onChange={(val) => {
|
|
181
181
|
setValue(Array.isArray(val) ? (val[0] ?? "") : val);
|
|
182
|
-
action("
|
|
182
|
+
action("onChange")(val);
|
|
183
183
|
}}
|
|
184
184
|
/>
|
|
185
185
|
);
|
|
@@ -327,7 +327,7 @@ export const DynamicOptions: StoryObj<typeof Select> = {
|
|
|
327
327
|
options={categoryOptions}
|
|
328
328
|
value={category}
|
|
329
329
|
placeholder="Select a category"
|
|
330
|
-
|
|
330
|
+
onChange={(val) => setCategory(Array.isArray(val) ? (val[0] ?? "") : val)}
|
|
331
331
|
/>
|
|
332
332
|
|
|
333
333
|
<Select
|
|
@@ -395,9 +395,9 @@ export const Comparison: StoryObj<typeof Select> = {
|
|
|
395
395
|
placeholder="Select an option"
|
|
396
396
|
groupLabel="Options"
|
|
397
397
|
value={customValue}
|
|
398
|
-
|
|
398
|
+
onChange={(val) => {
|
|
399
399
|
setCustomValue(Array.isArray(val) ? val[0] : val);
|
|
400
|
-
action("custom.
|
|
400
|
+
action("custom.onChange")(val);
|
|
401
401
|
}}
|
|
402
402
|
/>
|
|
403
403
|
</YStack>
|
|
@@ -114,11 +114,8 @@ export interface SelectProps {
|
|
|
114
114
|
defaultValue?: string | string[];
|
|
115
115
|
/**
|
|
116
116
|
* Canonical change handler, consistent with the rest of the field family.
|
|
117
|
-
* Prefer this over `onValueChange`.
|
|
118
117
|
*/
|
|
119
118
|
onChange?: (value: string | string[]) => void;
|
|
120
|
-
/** @deprecated Use `onChange` instead. Kept as an alias for the tamagui/Radix name. */
|
|
121
|
-
onValueChange?: (value: string | string[]) => void;
|
|
122
119
|
onBlur?: (...args: any[]) => void;
|
|
123
120
|
options: SelectOption[];
|
|
124
121
|
placeholder?: string;
|
|
@@ -1714,7 +1711,6 @@ export function Select({
|
|
|
1714
1711
|
value,
|
|
1715
1712
|
defaultValue,
|
|
1716
1713
|
onChange,
|
|
1717
|
-
onValueChange,
|
|
1718
1714
|
onBlur,
|
|
1719
1715
|
options,
|
|
1720
1716
|
placeholder = t("Select an option"),
|
|
@@ -1728,11 +1724,10 @@ export function Select({
|
|
|
1728
1724
|
"aria-label": ariaLabel,
|
|
1729
1725
|
...rest
|
|
1730
1726
|
}: SelectProps) {
|
|
1731
|
-
// Canonical `onChange`
|
|
1727
|
+
// Canonical `onChange` fires from the
|
|
1732
1728
|
// single emit site in renderSelectContent (same reconciliation as Switch).
|
|
1733
1729
|
const emitValueChange = (val: string | string[]) => {
|
|
1734
1730
|
onChange?.(val);
|
|
1735
|
-
onValueChange?.(val);
|
|
1736
1731
|
};
|
|
1737
1732
|
const { resolvedForm, knobProps, id } = useFormField({
|
|
1738
1733
|
form: formProp,
|
|
@@ -48,10 +48,10 @@ describe("Slider", () => {
|
|
|
48
48
|
});
|
|
49
49
|
|
|
50
50
|
describe("value changes", () => {
|
|
51
|
-
it("should call
|
|
52
|
-
const
|
|
51
|
+
it("should call onChange callback", async () => {
|
|
52
|
+
const onChange = vi.fn();
|
|
53
53
|
const result = renderWithProviders(
|
|
54
|
-
<Slider label="Change Slider" name="change" value={[30]}
|
|
54
|
+
<Slider label="Change Slider" name="change" value={[30]} onChange={onChange} />,
|
|
55
55
|
);
|
|
56
56
|
const slider = result.container.querySelector('[role="slider"]');
|
|
57
57
|
if (slider) {
|
|
@@ -59,20 +59,13 @@ describe("Slider", () => {
|
|
|
59
59
|
fireEvent.keyDown(slider, { key: "ArrowRight" });
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
|
-
expect(
|
|
62
|
+
expect(onChange).toHaveBeenCalled();
|
|
63
63
|
});
|
|
64
64
|
|
|
65
|
-
it("fires canonical onChange
|
|
65
|
+
it("fires canonical onChange", async () => {
|
|
66
66
|
const onChange = vi.fn();
|
|
67
|
-
const onValueChange = vi.fn();
|
|
68
67
|
const result = renderWithProviders(
|
|
69
|
-
<Slider
|
|
70
|
-
label="Canonical Slider"
|
|
71
|
-
name="canonical"
|
|
72
|
-
value={[30]}
|
|
73
|
-
onChange={onChange}
|
|
74
|
-
onValueChange={onValueChange}
|
|
75
|
-
/>,
|
|
68
|
+
<Slider label="Canonical Slider" name="canonical" value={[30]} onChange={onChange} />,
|
|
76
69
|
);
|
|
77
70
|
const slider = result.container.querySelector('[role="slider"]');
|
|
78
71
|
expect(slider).toBeTruthy();
|
|
@@ -82,9 +75,6 @@ describe("Slider", () => {
|
|
|
82
75
|
});
|
|
83
76
|
}
|
|
84
77
|
expect(onChange).toHaveBeenCalled();
|
|
85
|
-
expect(onValueChange).toHaveBeenCalled();
|
|
86
|
-
expect(onChange.mock.calls.length).toBe(onValueChange.mock.calls.length);
|
|
87
|
-
expect(onChange.mock.lastCall).toEqual(onValueChange.mock.lastCall);
|
|
88
78
|
});
|
|
89
79
|
});
|
|
90
80
|
|
|
@@ -218,21 +208,17 @@ describe("Slider", () => {
|
|
|
218
208
|
|
|
219
209
|
it("standalone controlled: a value arriving after mount renders, without onChange", async () => {
|
|
220
210
|
const onChange = vi.fn();
|
|
221
|
-
const onValueChange = vi.fn();
|
|
222
211
|
const result = renderWithProviders(
|
|
223
|
-
<Slider label="Progress" value={[25]} onChange={onChange}
|
|
212
|
+
<Slider label="Progress" value={[25]} onChange={onChange} />,
|
|
224
213
|
);
|
|
225
214
|
expect(getThumb(result.container)?.getAttribute("aria-valuenow")).toBe("25");
|
|
226
215
|
|
|
227
216
|
// Late seed: the upstream doc value arrives after first paint.
|
|
228
|
-
result.rerender(
|
|
229
|
-
<Slider label="Progress" value={[75]} onChange={onChange} onValueChange={onValueChange} />,
|
|
230
|
-
);
|
|
217
|
+
result.rerender(<Slider label="Progress" value={[75]} onChange={onChange} />);
|
|
231
218
|
await waitFor(() => {
|
|
232
219
|
expect(getThumb(result.container)?.getAttribute("aria-valuenow")).toBe("75");
|
|
233
220
|
});
|
|
234
221
|
expect(onChange).not.toHaveBeenCalled();
|
|
235
|
-
expect(onValueChange).not.toHaveBeenCalled();
|
|
236
222
|
});
|
|
237
223
|
|
|
238
224
|
it("form-integrated: a field value set after mount renders, without onChange", async () => {
|
|
@@ -139,7 +139,7 @@ export const Basic: Story = {
|
|
|
139
139
|
value: [50],
|
|
140
140
|
min: 0,
|
|
141
141
|
max: 100,
|
|
142
|
-
|
|
142
|
+
onChange: action("onChange"),
|
|
143
143
|
},
|
|
144
144
|
};
|
|
145
145
|
|
|
@@ -151,7 +151,7 @@ export const RangeSlider: Story = {
|
|
|
151
151
|
value: [25, 75],
|
|
152
152
|
min: 0,
|
|
153
153
|
max: 100,
|
|
154
|
-
|
|
154
|
+
onChange: action("onChange"),
|
|
155
155
|
},
|
|
156
156
|
};
|
|
157
157
|
|
|
@@ -192,7 +192,7 @@ export const Interactive: Story = {
|
|
|
192
192
|
const [value, setValue] = useState([50]);
|
|
193
193
|
return (
|
|
194
194
|
<YStack gap="$4" maxWidth={400}>
|
|
195
|
-
<Slider label="Adjust Value" value={value} min={0} max={100}
|
|
195
|
+
<Slider label="Adjust Value" value={value} min={0} max={100} onChange={setValue} />
|
|
196
196
|
<Text>Current value: {value[0]}</Text>
|
|
197
197
|
</YStack>
|
|
198
198
|
);
|
|
@@ -235,9 +235,9 @@ export const Comparison: Story = {
|
|
|
235
235
|
value={customVal}
|
|
236
236
|
min={0}
|
|
237
237
|
max={100}
|
|
238
|
-
|
|
238
|
+
onChange={(val) => {
|
|
239
239
|
setCustomVal(val);
|
|
240
|
-
action("custom.
|
|
240
|
+
action("custom.onChange")(val);
|
|
241
241
|
}}
|
|
242
242
|
/>
|
|
243
243
|
</YStack>
|
|
@@ -173,11 +173,8 @@ export interface SliderProps {
|
|
|
173
173
|
defaultValue?: number[];
|
|
174
174
|
/**
|
|
175
175
|
* Canonical change handler, consistent with the rest of the field family.
|
|
176
|
-
* Prefer this over `onValueChange`.
|
|
177
176
|
*/
|
|
178
177
|
onChange?: (value: number[]) => void;
|
|
179
|
-
/** @deprecated Use `onChange` instead. Kept as an alias for the tamagui name. */
|
|
180
|
-
onValueChange?: (value: number[]) => void;
|
|
181
178
|
onBlur?: (...args: any[]) => void;
|
|
182
179
|
min?: number;
|
|
183
180
|
max?: number;
|
|
@@ -815,7 +812,6 @@ export function Slider({
|
|
|
815
812
|
value,
|
|
816
813
|
defaultValue,
|
|
817
814
|
onChange,
|
|
818
|
-
onValueChange,
|
|
819
815
|
onBlur,
|
|
820
816
|
min = 0,
|
|
821
817
|
max = 100,
|
|
@@ -825,11 +821,10 @@ export function Slider({
|
|
|
825
821
|
"aria-label": ariaLabel,
|
|
826
822
|
native = true,
|
|
827
823
|
}: SliderProps) {
|
|
828
|
-
// Canonical `onChange`
|
|
824
|
+
// Canonical `onChange` fires from the
|
|
829
825
|
// single emit site below (same reconciliation as Switch).
|
|
830
826
|
const handleValueChange = (values: number[]) => {
|
|
831
827
|
onChange?.(values);
|
|
832
|
-
onValueChange?.(values);
|
|
833
828
|
};
|
|
834
829
|
const { resolvedForm, knobProps, elevation, id } = useFormField({
|
|
835
830
|
form: formProp,
|
|
@@ -35,20 +35,15 @@ describe("TextArea", () => {
|
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
it("should handle text changes", async () => {
|
|
38
|
-
const
|
|
38
|
+
const onChange = vi.fn();
|
|
39
39
|
const result = renderWithProviders(
|
|
40
|
-
<TextArea
|
|
41
|
-
label="Description"
|
|
42
|
-
name="description"
|
|
43
|
-
onChangeText={onChangeText}
|
|
44
|
-
defaultValue=""
|
|
45
|
-
/>,
|
|
40
|
+
<TextArea label="Description" name="description" onChange={onChange} defaultValue="" />,
|
|
46
41
|
);
|
|
47
42
|
const textarea = result.getTextArea();
|
|
48
43
|
await act(async () => {
|
|
49
44
|
if (textarea) fireEvent.change(textarea, { target: { value: "New description" } });
|
|
50
45
|
});
|
|
51
|
-
expect(
|
|
46
|
+
expect(onChange).toHaveBeenCalledWith("New description");
|
|
52
47
|
});
|
|
53
48
|
|
|
54
49
|
it("should handle maxLength constraint", () => {
|
|
@@ -116,19 +111,19 @@ describe("TextArea", () => {
|
|
|
116
111
|
});
|
|
117
112
|
|
|
118
113
|
it("should handle state transitions", async () => {
|
|
119
|
-
const
|
|
114
|
+
const onChange = vi.fn();
|
|
120
115
|
const result = renderWithProviders(
|
|
121
|
-
<TextArea name="description" defaultValue="Initial text"
|
|
116
|
+
<TextArea name="description" defaultValue="Initial text" onChange={onChange} />,
|
|
122
117
|
);
|
|
123
118
|
const textarea = result.getTextArea();
|
|
124
119
|
|
|
125
120
|
await act(async () => {
|
|
126
121
|
if (textarea) fireEvent.change(textarea, { target: { value: "Updated text" } });
|
|
127
122
|
});
|
|
128
|
-
expect(
|
|
123
|
+
expect(onChange).toHaveBeenCalledWith("Updated text");
|
|
129
124
|
|
|
130
125
|
if (textarea) fireEvent.change(textarea, { target: { value: "" } });
|
|
131
|
-
expect(
|
|
126
|
+
expect(onChange).toHaveBeenCalledWith("");
|
|
132
127
|
});
|
|
133
128
|
});
|
|
134
129
|
|
|
@@ -185,17 +180,17 @@ describe("TextArea", () => {
|
|
|
185
180
|
});
|
|
186
181
|
|
|
187
182
|
it("should handle disabled state in form context", async () => {
|
|
188
|
-
const
|
|
183
|
+
const onChange = vi.fn();
|
|
189
184
|
const result = renderWithProviders(
|
|
190
185
|
<Form formOptions={{ defaultValues: { description: "Initial text" } }}>
|
|
191
|
-
<TextArea label="Description" name="description" disabled
|
|
186
|
+
<TextArea label="Description" name="description" disabled onChange={onChange} />
|
|
192
187
|
</Form>,
|
|
193
188
|
);
|
|
194
189
|
const textarea = result.getTextArea();
|
|
195
190
|
await act(async () => {
|
|
196
191
|
if (textarea) fireEvent.change(textarea, { target: { value: "New text" } });
|
|
197
192
|
});
|
|
198
|
-
expect(
|
|
193
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
199
194
|
const isDisabled =
|
|
200
195
|
textarea?.hasAttribute("disabled") || textarea?.getAttribute("aria-disabled") === "true";
|
|
201
196
|
expect(isDisabled).toBeTruthy();
|
|
@@ -210,20 +205,13 @@ describe("TextArea", () => {
|
|
|
210
205
|
// programmatic value must not emit onChange (LC-14).
|
|
211
206
|
it("form-integrated: a field value set after mount displays with a live count, without onChange", async () => {
|
|
212
207
|
const onChange = vi.fn();
|
|
213
|
-
const onChangeText = vi.fn();
|
|
214
208
|
let formApi: { setFieldValue: (name: "notes", value: string) => void } | undefined;
|
|
215
209
|
const TestComponent = () => {
|
|
216
210
|
const form = useForm({ defaultValues: { notes: "" } });
|
|
217
211
|
formApi = form as unknown as typeof formApi;
|
|
218
212
|
return (
|
|
219
213
|
<Form form={form}>
|
|
220
|
-
<TextArea
|
|
221
|
-
label="Notes"
|
|
222
|
-
name="notes"
|
|
223
|
-
showCount
|
|
224
|
-
onChange={onChange}
|
|
225
|
-
onChangeText={onChangeText}
|
|
226
|
-
/>
|
|
214
|
+
<TextArea label="Notes" name="notes" showCount onChange={onChange} />
|
|
227
215
|
</Form>
|
|
228
216
|
);
|
|
229
217
|
};
|
|
@@ -238,24 +226,21 @@ describe("TextArea", () => {
|
|
|
238
226
|
expect(result.findTextElement("11 characters")).toBeDefined();
|
|
239
227
|
});
|
|
240
228
|
expect(onChange).not.toHaveBeenCalled();
|
|
241
|
-
expect(onChangeText).not.toHaveBeenCalled();
|
|
242
229
|
});
|
|
243
230
|
|
|
244
231
|
it("standalone controlled: a value arriving after mount updates the count, without onChange", async () => {
|
|
245
|
-
const
|
|
232
|
+
const onChange = vi.fn();
|
|
246
233
|
const result = renderWithProviders(
|
|
247
|
-
<TextArea label="Notes" value="" showCount
|
|
234
|
+
<TextArea label="Notes" value="" showCount onChange={onChange} />,
|
|
248
235
|
);
|
|
249
236
|
expect(result.findTextElement("0 characters")).toBeDefined();
|
|
250
237
|
|
|
251
|
-
result.rerender(
|
|
252
|
-
<TextArea label="Notes" value="late value" showCount onChangeText={onChangeText} />,
|
|
253
|
-
);
|
|
238
|
+
result.rerender(<TextArea label="Notes" value="late value" showCount onChange={onChange} />);
|
|
254
239
|
await waitFor(() => {
|
|
255
240
|
expect((result.getTextArea() as HTMLTextAreaElement)?.value).toBe("late value");
|
|
256
241
|
expect(result.findTextElement("10 characters")).toBeDefined();
|
|
257
242
|
});
|
|
258
|
-
expect(
|
|
243
|
+
expect(onChange).not.toHaveBeenCalled();
|
|
259
244
|
});
|
|
260
245
|
});
|
|
261
246
|
|
|
@@ -345,20 +330,17 @@ describe("TextArea", () => {
|
|
|
345
330
|
});
|
|
346
331
|
|
|
347
332
|
describe("LC-14 canonical onChange(value)", () => {
|
|
348
|
-
it("fires onChange with the string
|
|
333
|
+
it("fires onChange with the string", async () => {
|
|
349
334
|
const onChange = vi.fn();
|
|
350
|
-
const onChangeText = vi.fn();
|
|
351
335
|
const result = renderWithProviders(
|
|
352
|
-
<TextArea label="Notes" defaultValue="" onChange={onChange}
|
|
336
|
+
<TextArea label="Notes" defaultValue="" onChange={onChange} />,
|
|
353
337
|
);
|
|
354
338
|
const textarea = result.getTextArea();
|
|
355
339
|
await act(async () => {
|
|
356
340
|
if (textarea) fireEvent.change(textarea, { target: { value: "hello" } });
|
|
357
341
|
});
|
|
358
342
|
expect(onChange).toHaveBeenCalledWith("hello");
|
|
359
|
-
expect(onChangeText).toHaveBeenCalledWith("hello");
|
|
360
343
|
expect(onChange).toHaveBeenCalledTimes(1);
|
|
361
|
-
expect(onChangeText).toHaveBeenCalledTimes(1);
|
|
362
344
|
});
|
|
363
345
|
});
|
|
364
346
|
|
|
@@ -111,7 +111,7 @@ export const Basic: Story = {
|
|
|
111
111
|
helperText: "Enter a detailed description",
|
|
112
112
|
name: "description",
|
|
113
113
|
textAreaProps: { placeholder: "Type your description here..." },
|
|
114
|
-
|
|
114
|
+
onChange: action("onChange"),
|
|
115
115
|
},
|
|
116
116
|
};
|
|
117
117
|
|
|
@@ -177,9 +177,9 @@ export const AutoResize: Story = {
|
|
|
177
177
|
minRows={2}
|
|
178
178
|
maxRows={6}
|
|
179
179
|
value={val}
|
|
180
|
-
|
|
180
|
+
onChange={(text) => {
|
|
181
181
|
setVal(text);
|
|
182
|
-
action("
|
|
182
|
+
action("onChange")(text);
|
|
183
183
|
}}
|
|
184
184
|
textAreaProps={{ placeholder: "Start typing to see it grow..." }}
|
|
185
185
|
showCount
|
|
@@ -187,7 +187,7 @@ export const AutoResize: Story = {
|
|
|
187
187
|
<TextArea
|
|
188
188
|
label="Default (no auto-resize)"
|
|
189
189
|
value={val}
|
|
190
|
-
|
|
190
|
+
onChange={setVal}
|
|
191
191
|
textAreaProps={{ placeholder: "Fixed height for comparison" }}
|
|
192
192
|
/>
|
|
193
193
|
</YStack>
|
|
@@ -230,9 +230,9 @@ export const Comparison: Story = {
|
|
|
230
230
|
<TextArea
|
|
231
231
|
textAreaProps={{ placeholder: "Type here..." }}
|
|
232
232
|
value={customVal}
|
|
233
|
-
|
|
233
|
+
onChange={(text) => {
|
|
234
234
|
setCustomVal(text);
|
|
235
|
-
action("custom.
|
|
235
|
+
action("custom.onChange")(text);
|
|
236
236
|
}}
|
|
237
237
|
/>
|
|
238
238
|
</YStack>
|
|
@@ -36,8 +36,6 @@ export interface TextAreaProps {
|
|
|
36
36
|
defaultValue?: string;
|
|
37
37
|
/** Canonical change contract (LC-14): emits the string value. */
|
|
38
38
|
onChange?: (value: string) => void;
|
|
39
|
-
/** @deprecated Use onChange. Still fires from the same emit site. */
|
|
40
|
-
onChangeText?: (text: string) => void;
|
|
41
39
|
onBlur?: (...args: any[]) => void;
|
|
42
40
|
placeholder?: string;
|
|
43
41
|
textAreaProps?: Omit<TamaguiTextAreaProps, "value" | "id" | "onChange" | "onChangeText">;
|
|
@@ -72,7 +70,6 @@ export function TextArea({
|
|
|
72
70
|
value,
|
|
73
71
|
defaultValue,
|
|
74
72
|
onChange,
|
|
75
|
-
onChangeText,
|
|
76
73
|
onBlur,
|
|
77
74
|
placeholder,
|
|
78
75
|
textAreaProps,
|
|
@@ -316,7 +313,6 @@ export function TextArea({
|
|
|
316
313
|
setCharCount(text.length);
|
|
317
314
|
handleChange?.(text);
|
|
318
315
|
onChange?.(text);
|
|
319
|
-
onChangeText?.(text);
|
|
320
316
|
measureAndResize();
|
|
321
317
|
}}
|
|
322
318
|
{...(autoResize && !isWeb
|
|
@@ -85,25 +85,16 @@ describe("ToggleGroup", () => {
|
|
|
85
85
|
expect(result.findTextElement("Left")).toBeDefined();
|
|
86
86
|
});
|
|
87
87
|
|
|
88
|
-
it("fires canonical onChange
|
|
88
|
+
it("fires canonical onChange once", () => {
|
|
89
89
|
const onChange = vi.fn();
|
|
90
|
-
const onValueChange = vi.fn();
|
|
91
90
|
const result = renderWithProviders(
|
|
92
|
-
<ToggleGroup
|
|
93
|
-
label="Alignment"
|
|
94
|
-
name="align"
|
|
95
|
-
options={options}
|
|
96
|
-
onChange={onChange}
|
|
97
|
-
onValueChange={onValueChange}
|
|
98
|
-
/>,
|
|
91
|
+
<ToggleGroup label="Alignment" name="align" options={options} onChange={onChange} />,
|
|
99
92
|
);
|
|
100
93
|
const center = result.findTextElement("Center");
|
|
101
94
|
expect(center).toBeDefined();
|
|
102
95
|
if (center) fireEvent.click(center);
|
|
103
96
|
expect(onChange).toHaveBeenCalledTimes(1);
|
|
104
97
|
expect(onChange).toHaveBeenCalledWith("center");
|
|
105
|
-
expect(onValueChange).toHaveBeenCalledTimes(1);
|
|
106
|
-
expect(onValueChange).toHaveBeenCalledWith("center");
|
|
107
98
|
});
|
|
108
99
|
});
|
|
109
100
|
|
|
@@ -135,7 +135,7 @@ export const Basic: Story = {
|
|
|
135
135
|
{ label: "Center", value: "center" },
|
|
136
136
|
{ label: "Right", value: "right" },
|
|
137
137
|
],
|
|
138
|
-
|
|
138
|
+
onChange: action("onChange"),
|
|
139
139
|
},
|
|
140
140
|
};
|
|
141
141
|
|
|
@@ -170,7 +170,7 @@ export const ItemDisabledReason: Story = {
|
|
|
170
170
|
},
|
|
171
171
|
{ label: "Right", value: "right" },
|
|
172
172
|
],
|
|
173
|
-
|
|
173
|
+
onChange: action("onChange"),
|
|
174
174
|
},
|
|
175
175
|
};
|
|
176
176
|
|
|
@@ -267,7 +267,7 @@ export const Interactive: Story = {
|
|
|
267
267
|
label="Text alignment"
|
|
268
268
|
type="single"
|
|
269
269
|
value={value}
|
|
270
|
-
|
|
270
|
+
onChange={(val) => setValue(val as string)}
|
|
271
271
|
options={[
|
|
272
272
|
{ label: "Left", value: "left" },
|
|
273
273
|
{ label: "Center", value: "center" },
|
|
@@ -322,9 +322,9 @@ export const Comparison: Story = {
|
|
|
322
322
|
type="single"
|
|
323
323
|
value={customVal}
|
|
324
324
|
options={alignmentOptions}
|
|
325
|
-
|
|
325
|
+
onChange={(val) => {
|
|
326
326
|
setCustomVal(val as string);
|
|
327
|
-
action("custom.
|
|
327
|
+
action("custom.onChange")(val);
|
|
328
328
|
}}
|
|
329
329
|
/>
|
|
330
330
|
</YStack>
|
|
@@ -211,11 +211,8 @@ export interface ToggleGroupProps {
|
|
|
211
211
|
defaultValue?: string | string[];
|
|
212
212
|
/**
|
|
213
213
|
* Canonical change handler, consistent with the rest of the field family.
|
|
214
|
-
* Prefer this over `onValueChange`.
|
|
215
214
|
*/
|
|
216
215
|
onChange?: (value: string | string[]) => void;
|
|
217
|
-
/** @deprecated Use `onChange` instead. Kept as an alias for the tamagui name. */
|
|
218
|
-
onValueChange?: (value: string | string[]) => void;
|
|
219
216
|
onBlur?: (...args: any[]) => void;
|
|
220
217
|
options?: ToggleGroupOption[];
|
|
221
218
|
orientation?: "horizontal" | "vertical";
|
|
@@ -269,7 +266,6 @@ export function ToggleGroup({
|
|
|
269
266
|
value,
|
|
270
267
|
defaultValue,
|
|
271
268
|
onChange,
|
|
272
|
-
onValueChange,
|
|
273
269
|
onBlur,
|
|
274
270
|
options,
|
|
275
271
|
orientation = "horizontal",
|
|
@@ -281,11 +277,10 @@ export function ToggleGroup({
|
|
|
281
277
|
"aria-labelledby": ariaLabelledBy,
|
|
282
278
|
native = true,
|
|
283
279
|
}: ToggleGroupProps) {
|
|
284
|
-
// Canonical `onChange`
|
|
280
|
+
// Canonical `onChange` fires from the
|
|
285
281
|
// single emit site below (same reconciliation as Switch).
|
|
286
282
|
const handleValueChange = (val: string | string[]) => {
|
|
287
283
|
onChange?.(val);
|
|
288
|
-
onValueChange?.(val);
|
|
289
284
|
};
|
|
290
285
|
// MPO-283: one name, two channels. tamagui drops `aria-label` on native, so
|
|
291
286
|
// the prop and the attribute are reconciled here and each platform is handed
|
|
@@ -43,11 +43,11 @@ describe("picker sheet rows consume resolved control height", () => {
|
|
|
43
43
|
for (const height of [37, 48]) {
|
|
44
44
|
it(`${name} retains labels and selection at resolved height ${height}`, () => {
|
|
45
45
|
recipe.height = height;
|
|
46
|
-
const
|
|
46
|
+
const onChange = vi.fn();
|
|
47
47
|
const result = renderWithProviders(
|
|
48
48
|
<Picker
|
|
49
49
|
value="one"
|
|
50
|
-
|
|
50
|
+
onChange={onChange}
|
|
51
51
|
// Eight options: a shorter Select opens as a menu, not its sheet (FZ-7830).
|
|
52
52
|
options={[
|
|
53
53
|
{ value: "one", label: "First choice" },
|
|
@@ -62,8 +62,8 @@ describe("picker sheet rows consume resolved control height", () => {
|
|
|
62
62
|
: result.getByRole("option", { name: "Second choice" });
|
|
63
63
|
expect(row.className).toContain(`_h-${height}px`);
|
|
64
64
|
fireEvent.click(row);
|
|
65
|
-
expect(
|
|
66
|
-
expect(
|
|
65
|
+
expect(onChange).toHaveBeenCalledWith("two");
|
|
66
|
+
expect(onChange).toHaveBeenCalledTimes(1);
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
}
|