@multiplatform.one/forms 7.4.1 → 7.6.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 +139 -20
- package/dist/cjs/AdaptivePopup/index.native.js +139 -21
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +20 -15
- package/dist/cjs/Button/index.native.js +26 -15
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +7 -3
- package/dist/cjs/Chip/index.native.js +7 -3
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.cjs +142 -0
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
- package/dist/cjs/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.cjs +37 -0
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
- package/dist/cjs/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
- package/dist/cjs/ContextualSaveBar/commitImmediateField.cjs +50 -0
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js +55 -0
- package/dist/cjs/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
- package/dist/cjs/ContextualSaveBar/index.cjs +301 -0
- package/dist/cjs/ContextualSaveBar/index.native.js +325 -0
- package/dist/cjs/ContextualSaveBar/index.native.js.map +1 -0
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.cjs +49 -0
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
- package/dist/cjs/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
- package/dist/cjs/ControlGroup/index.cjs +10 -9
- package/dist/cjs/ControlGroup/index.native.js +10 -10
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/DescriptionList/index.cjs +416 -0
- package/dist/cjs/DescriptionList/index.native.js +441 -0
- package/dist/cjs/DescriptionList/index.native.js.map +1 -0
- package/dist/cjs/FieldDisplay/index.cjs +104 -43
- package/dist/cjs/FieldDisplay/index.native.js +115 -45
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.cjs +13 -3
- package/dist/cjs/FieldGroup.native.js +13 -3
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +40 -9
- package/dist/cjs/FloatingPanel/index.native.js +229 -46
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +26 -9
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +26 -9
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.cjs +51 -28
- package/dist/cjs/Form/index.native.js +56 -28
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/FormGrid.cjs +11 -4
- package/dist/cjs/FormGrid.native.js +11 -4
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.cjs +10 -3
- package/dist/cjs/FormSection.native.js +10 -3
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/index.cjs +139 -58
- package/dist/cjs/InputParts/index.native.js +146 -64
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/Label/index.cjs +1 -0
- package/dist/cjs/Label/index.native.js +1 -0
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/Spinner/index.cjs +1 -0
- package/dist/cjs/Spinner/index.native.js +14 -1
- package/dist/cjs/Spinner/index.native.js.map +1 -1
- package/dist/cjs/Wheel/WheelEdgeFade.cjs +30 -0
- package/dist/cjs/Wheel/WheelEdgeFade.native.js +116 -0
- package/dist/cjs/Wheel/WheelEdgeFade.native.js.map +1 -0
- package/dist/cjs/Wheel/haptic.cjs +35 -0
- package/dist/cjs/Wheel/haptic.native.js +39 -0
- package/dist/cjs/Wheel/haptic.native.js.map +1 -0
- package/dist/cjs/Wheel/index.cjs +293 -109
- package/dist/cjs/Wheel/index.native.js +311 -112
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/fieldDefaults.cjs +4 -0
- package/dist/cjs/fieldDefaults.native.js +6 -0
- package/dist/cjs/fieldDefaults.native.js.map +1 -1
- package/dist/cjs/fieldLayout.cjs +11 -7
- package/dist/cjs/fieldLayout.native.js +11 -7
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodePreview.cjs +86 -18
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js +92 -18
- package/dist/cjs/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.cjs +8 -2
- package/dist/cjs/fields/Barcode/index.native.js +8 -2
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/qr.cjs +406 -0
- package/dist/cjs/fields/Barcode/qr.native.js +637 -0
- package/dist/cjs/fields/Barcode/qr.native.js.map +1 -0
- package/dist/cjs/fields/Barcode/scannerTypes.cjs +6 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js +6 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.cjs +12 -6
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +14 -6
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +18 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +21 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +0 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +0 -1
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +1 -0
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +6 -3
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +7 -4
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.cjs +11 -3
- package/dist/cjs/fields/Checkbox/index.native.js +11 -3
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.cjs +13 -10
- package/dist/cjs/fields/ColorPicker/index.native.js +15 -11
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.cjs +10 -6
- package/dist/cjs/fields/ColorPicker/parts.native.js +10 -6
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.cjs +72 -64
- package/dist/cjs/fields/Combobox/index.native.js +85 -84
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.cjs +12 -4
- package/dist/cjs/fields/DatePicker/Calendar.native.js +12 -4
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +19 -5
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +21 -5
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.cjs +22 -136
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +24 -150
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MonthPicker.cjs +2 -0
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +4 -0
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +26 -9
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +28 -9
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.cjs +2 -0
- package/dist/cjs/fields/DatePicker/index.native.js +4 -0
- package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/parts.cjs +65 -38
- package/dist/cjs/fields/DatePicker/parts.native.js +72 -38
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Duration/durationMath.cjs +93 -0
- package/dist/cjs/fields/Duration/durationMath.native.js +115 -0
- package/dist/cjs/fields/Duration/durationMath.native.js.map +1 -0
- package/dist/cjs/fields/Duration/index.cjs +80 -111
- package/dist/cjs/fields/Duration/index.native.js +87 -118
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/filePickerTypes.cjs +18 -0
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js +21 -0
- package/dist/cjs/fields/FileUpload/filePickerTypes.native.js.map +1 -0
- package/dist/cjs/fields/FileUpload/index.cjs +356 -156
- package/dist/cjs/fields/FileUpload/index.native.js +454 -166
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/nativeFilePicker.cjs +37 -0
- package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js +174 -0
- package/dist/cjs/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
- package/dist/cjs/fields/FileUpload/nativePickerLoader.cjs +62 -0
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js +65 -0
- package/dist/cjs/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
- package/dist/cjs/fields/Icon/drawnSet.cjs +388 -0
- package/dist/cjs/fields/Icon/drawnSet.native.js +398 -0
- package/dist/cjs/fields/Icon/drawnSet.native.js.map +1 -0
- package/dist/cjs/fields/Icon/index.cjs +381 -0
- package/dist/cjs/fields/Icon/index.native.js +399 -0
- package/dist/cjs/fields/Icon/index.native.js.map +1 -0
- package/dist/cjs/fields/ImageField/index.cjs +18 -25
- package/dist/cjs/fields/ImageField/index.native.js +18 -26
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.cjs +175 -91
- package/dist/cjs/fields/Input/index.native.js +88 -5
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.cjs +133 -58
- package/dist/cjs/fields/MentionInput/index.native.js +158 -81
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.cjs +15 -4
- package/dist/cjs/fields/OTPInput/index.native.js +15 -4
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/index.cjs +4 -2
- package/dist/cjs/fields/PhoneInput/index.native.js +5 -2
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Progress/index.cjs +29 -19
- package/dist/cjs/fields/Progress/index.native.js +31 -19
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.cjs +15 -14
- package/dist/cjs/fields/RadioGroup/index.native.js +15 -14
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/index.cjs +31 -23
- package/dist/cjs/fields/Rating/index.native.js +33 -25
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/ratingMath.cjs +36 -0
- package/dist/cjs/fields/Rating/ratingMath.native.js +39 -0
- package/dist/cjs/fields/Rating/ratingMath.native.js.map +1 -0
- package/dist/cjs/fields/SearchInput/index.cjs +216 -151
- package/dist/cjs/fields/SearchInput/index.native.js +225 -155
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.cjs +36 -19
- package/dist/cjs/fields/Select/index.native.js +38 -25
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.cjs +26 -18
- package/dist/cjs/fields/Signature/index.native.js +26 -18
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.cjs +39 -11
- package/dist/cjs/fields/Slider/index.native.js +60 -14
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.cjs +17 -7
- package/dist/cjs/fields/Stepper/index.native.js +17 -7
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.cjs +32 -0
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js +35 -0
- package/dist/cjs/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
- package/dist/cjs/fields/Switch/index.cjs +134 -46
- package/dist/cjs/fields/Switch/index.native.js +154 -47
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.cjs +33 -35
- package/dist/cjs/fields/TextArea/index.native.js +33 -38
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.cjs +6 -2
- package/dist/cjs/fields/TimePicker/index.native.js +8 -2
- package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/parts.cjs +54 -495
- package/dist/cjs/fields/TimePicker/parts.native.js +59 -526
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/TimeRangeScrubber/geometry.cjs +288 -0
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js +352 -0
- package/dist/cjs/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
- package/dist/cjs/fields/TimeRangeScrubber/index.cjs +855 -0
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js +936 -0
- package/dist/cjs/fields/TimeRangeScrubber/index.native.js.map +1 -0
- package/dist/cjs/fields/ToggleGroup/index.cjs +56 -46
- package/dist/cjs/fields/ToggleGroup/index.native.js +59 -51
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/selectedOrder.cjs +36 -0
- package/dist/cjs/fields/selectedOrder.native.js +46 -0
- package/dist/cjs/fields/selectedOrder.native.js.map +1 -0
- package/dist/cjs/index.cjs +47 -11
- package/dist/cjs/index.native.js +47 -11
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/TimeColumn.cjs +122 -80
- package/dist/cjs/shared/TimeColumn.native.js +146 -88
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/cjs/shared/colorRamps.cjs +23 -1
- package/dist/cjs/shared/colorRamps.native.js +23 -1
- package/dist/cjs/shared/colorRamps.native.js.map +1 -1
- package/dist/cjs/shared/floatingList.cjs +17 -4
- package/dist/cjs/shared/floatingList.native.js +17 -4
- package/dist/cjs/shared/floatingList.native.js.map +1 -1
- package/dist/cjs/shared/useKeyboardInset.cjs +48 -0
- package/dist/cjs/shared/useKeyboardInset.native.js +53 -0
- package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -0
- package/dist/cjs/shared/utils.cjs +69 -73
- package/dist/cjs/shared/utils.native.js +119 -75
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.cjs +4 -2
- package/dist/cjs/themedPrimitives.native.js +4 -2
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/esm/AdaptivePopup/index.mjs +138 -20
- package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
- package/dist/esm/AdaptivePopup/index.native.js +138 -21
- package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +20 -14
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +26 -14
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +7 -3
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +7 -3
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js +122 -0
- package/dist/esm/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js +12 -0
- package/dist/esm/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
- package/dist/esm/ContextualSaveBar/commitImmediateField.mjs +25 -0
- package/dist/esm/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
- package/dist/esm/ContextualSaveBar/commitImmediateField.native.js +27 -0
- package/dist/esm/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
- package/dist/esm/ContextualSaveBar/index.mjs +274 -0
- package/dist/esm/ContextualSaveBar/index.mjs.map +1 -0
- package/dist/esm/ContextualSaveBar/index.native.js +295 -0
- package/dist/esm/ContextualSaveBar/index.native.js.map +1 -0
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js +27 -0
- package/dist/esm/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
- package/dist/esm/ControlGroup/index.mjs +11 -10
- package/dist/esm/ControlGroup/index.mjs.map +1 -1
- package/dist/esm/ControlGroup/index.native.js +11 -11
- package/dist/esm/ControlGroup/index.native.js.map +1 -1
- package/dist/esm/DescriptionList/index.mjs +389 -0
- package/dist/esm/DescriptionList/index.mjs.map +1 -0
- package/dist/esm/DescriptionList/index.native.js +411 -0
- package/dist/esm/DescriptionList/index.native.js.map +1 -0
- package/dist/esm/FieldDisplay/index.mjs +104 -45
- package/dist/esm/FieldDisplay/index.mjs.map +1 -1
- package/dist/esm/FieldDisplay/index.native.js +115 -47
- package/dist/esm/FieldDisplay/index.native.js.map +1 -1
- package/dist/esm/FieldGroup.mjs +14 -4
- package/dist/esm/FieldGroup.mjs.map +1 -1
- package/dist/esm/FieldGroup.native.js +14 -4
- package/dist/esm/FieldGroup.native.js.map +1 -1
- package/dist/esm/FloatingPanel/index.mjs +41 -12
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +231 -48
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs +27 -11
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js +27 -11
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/Form/index.mjs +50 -29
- package/dist/esm/Form/index.mjs.map +1 -1
- package/dist/esm/Form/index.native.js +55 -29
- package/dist/esm/Form/index.native.js.map +1 -1
- package/dist/esm/FormGrid.mjs +11 -4
- package/dist/esm/FormGrid.mjs.map +1 -1
- package/dist/esm/FormGrid.native.js +11 -4
- package/dist/esm/FormGrid.native.js.map +1 -1
- package/dist/esm/FormSection.mjs +10 -3
- package/dist/esm/FormSection.mjs.map +1 -1
- package/dist/esm/FormSection.native.js +10 -3
- package/dist/esm/FormSection.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +137 -60
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +144 -66
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/Label/index.mjs +1 -0
- package/dist/esm/Label/index.mjs.map +1 -1
- package/dist/esm/Label/index.native.js +1 -0
- package/dist/esm/Label/index.native.js.map +1 -1
- package/dist/esm/Spinner/index.mjs +1 -0
- package/dist/esm/Spinner/index.mjs.map +1 -1
- package/dist/esm/Spinner/index.native.js +16 -3
- package/dist/esm/Spinner/index.native.js.map +1 -1
- package/dist/esm/Wheel/WheelEdgeFade.mjs +5 -0
- package/dist/esm/Wheel/WheelEdgeFade.mjs.map +1 -0
- package/dist/esm/Wheel/WheelEdgeFade.native.js +88 -0
- package/dist/esm/Wheel/WheelEdgeFade.native.js.map +1 -0
- package/dist/esm/Wheel/haptic.mjs +10 -0
- package/dist/esm/Wheel/haptic.mjs.map +1 -0
- package/dist/esm/Wheel/haptic.native.js +11 -0
- package/dist/esm/Wheel/haptic.native.js.map +1 -0
- package/dist/esm/Wheel/index.mjs +294 -110
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +312 -113
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/fieldDefaults.mjs +3 -1
- package/dist/esm/fieldDefaults.mjs.map +1 -1
- package/dist/esm/fieldDefaults.native.js +5 -1
- package/dist/esm/fieldDefaults.native.js.map +1 -1
- package/dist/esm/fieldLayout.mjs +12 -8
- package/dist/esm/fieldLayout.mjs.map +1 -1
- package/dist/esm/fieldLayout.native.js +12 -8
- package/dist/esm/fieldLayout.native.js.map +1 -1
- package/dist/esm/fields/Barcode/BarcodePreview.mjs +86 -19
- package/dist/esm/fields/Barcode/BarcodePreview.mjs.map +1 -1
- package/dist/esm/fields/Barcode/BarcodePreview.native.js +92 -19
- package/dist/esm/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.mjs +8 -2
- package/dist/esm/fields/Barcode/index.mjs.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js +8 -2
- package/dist/esm/fields/Barcode/index.native.js.map +1 -1
- package/dist/esm/fields/Barcode/qr.mjs +379 -0
- package/dist/esm/fields/Barcode/qr.mjs.map +1 -0
- package/dist/esm/fields/Barcode/qr.native.js +607 -0
- package/dist/esm/fields/Barcode/qr.native.js.map +1 -0
- package/dist/esm/fields/Barcode/scannerTypes.mjs +6 -2
- package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js +6 -2
- package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.mjs +14 -8
- package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js +16 -8
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs +15 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js +18 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs +0 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js +0 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +8 -5
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +9 -6
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/index.mjs +8 -4
- package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/index.native.js +8 -4
- package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.mjs +13 -10
- package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js +15 -11
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.mjs +8 -7
- package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.native.js +8 -7
- package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.mjs +74 -66
- package/dist/esm/fields/Combobox/index.mjs.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js +87 -86
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.mjs +12 -4
- package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.native.js +12 -4
- package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs +20 -6
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js +22 -6
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.mjs +25 -139
- package/dist/esm/fields/DatePicker/DatetimePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js +27 -153
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.mjs +2 -0
- package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.native.js +4 -0
- package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +27 -10
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +29 -10
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/index.mjs +2 -0
- package/dist/esm/fields/DatePicker/index.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/index.native.js +4 -0
- package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.mjs +52 -26
- package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js +59 -26
- package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/Duration/durationMath.mjs +64 -0
- package/dist/esm/fields/Duration/durationMath.mjs.map +1 -0
- package/dist/esm/fields/Duration/durationMath.native.js +83 -0
- package/dist/esm/fields/Duration/durationMath.native.js.map +1 -0
- package/dist/esm/fields/Duration/index.mjs +70 -102
- package/dist/esm/fields/Duration/index.mjs.map +1 -1
- package/dist/esm/fields/Duration/index.native.js +77 -109
- package/dist/esm/fields/Duration/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/filePickerTypes.mjs +2 -0
- package/dist/esm/fields/FileUpload/filePickerTypes.mjs.map +1 -0
- package/dist/esm/fields/FileUpload/filePickerTypes.native.js +2 -0
- package/dist/esm/fields/FileUpload/filePickerTypes.native.js.map +1 -0
- package/dist/esm/fields/FileUpload/index.mjs +359 -159
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +457 -169
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/nativeFilePicker.mjs +11 -0
- package/dist/esm/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
- package/dist/esm/fields/FileUpload/nativeFilePicker.native.js +143 -0
- package/dist/esm/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
- package/dist/esm/fields/FileUpload/nativePickerLoader.mjs +35 -0
- package/dist/esm/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
- package/dist/esm/fields/FileUpload/nativePickerLoader.native.js +35 -0
- package/dist/esm/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
- package/dist/esm/fields/Icon/drawnSet.mjs +358 -0
- package/dist/esm/fields/Icon/drawnSet.mjs.map +1 -0
- package/dist/esm/fields/Icon/drawnSet.native.js +365 -0
- package/dist/esm/fields/Icon/drawnSet.native.js.map +1 -0
- package/dist/esm/fields/Icon/index.mjs +350 -0
- package/dist/esm/fields/Icon/index.mjs.map +1 -0
- package/dist/esm/fields/Icon/index.native.js +365 -0
- package/dist/esm/fields/Icon/index.native.js.map +1 -0
- package/dist/esm/fields/ImageField/index.mjs +20 -27
- package/dist/esm/fields/ImageField/index.mjs.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js +20 -28
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/Input/index.mjs +177 -94
- package/dist/esm/fields/Input/index.mjs.map +1 -1
- package/dist/esm/fields/Input/index.native.js +90 -8
- package/dist/esm/fields/Input/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.mjs +133 -59
- package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js +158 -82
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.mjs +16 -6
- package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js +16 -6
- package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/index.mjs +5 -3
- package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/esm/fields/PhoneInput/index.native.js +6 -3
- package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/esm/fields/Progress/index.mjs +29 -19
- package/dist/esm/fields/Progress/index.mjs.map +1 -1
- package/dist/esm/fields/Progress/index.native.js +31 -19
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.mjs +16 -15
- package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js +16 -15
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/index.mjs +29 -22
- package/dist/esm/fields/Rating/index.mjs.map +1 -1
- package/dist/esm/fields/Rating/index.native.js +31 -24
- package/dist/esm/fields/Rating/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/ratingMath.mjs +11 -0
- package/dist/esm/fields/Rating/ratingMath.mjs.map +1 -0
- package/dist/esm/fields/Rating/ratingMath.native.js +11 -0
- package/dist/esm/fields/Rating/ratingMath.native.js.map +1 -0
- package/dist/esm/fields/SearchInput/index.mjs +220 -155
- package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js +229 -159
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.mjs +39 -22
- package/dist/esm/fields/Select/index.mjs.map +1 -1
- package/dist/esm/fields/Select/index.native.js +41 -28
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.mjs +26 -18
- package/dist/esm/fields/Signature/index.mjs.map +1 -1
- package/dist/esm/fields/Signature/index.native.js +26 -18
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.mjs +40 -12
- package/dist/esm/fields/Slider/index.mjs.map +1 -1
- package/dist/esm/fields/Slider/index.native.js +61 -15
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/Stepper/index.mjs +17 -8
- package/dist/esm/fields/Stepper/index.mjs.map +1 -1
- package/dist/esm/fields/Stepper/index.native.js +17 -8
- package/dist/esm/fields/Stepper/index.native.js.map +1 -1
- package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs +7 -0
- package/dist/esm/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
- package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js +7 -0
- package/dist/esm/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
- package/dist/esm/fields/Switch/index.mjs +135 -47
- package/dist/esm/fields/Switch/index.mjs.map +1 -1
- package/dist/esm/fields/Switch/index.native.js +155 -48
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.mjs +34 -36
- package/dist/esm/fields/TextArea/index.mjs.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js +34 -39
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/index.mjs +7 -3
- package/dist/esm/fields/TimePicker/index.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/index.native.js +9 -3
- package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.mjs +58 -499
- package/dist/esm/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/parts.native.js +63 -530
- package/dist/esm/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/TimeRangeScrubber/geometry.mjs +229 -0
- package/dist/esm/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
- package/dist/esm/fields/TimeRangeScrubber/geometry.native.js +290 -0
- package/dist/esm/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
- package/dist/esm/fields/TimeRangeScrubber/index.mjs +822 -0
- package/dist/esm/fields/TimeRangeScrubber/index.mjs.map +1 -0
- package/dist/esm/fields/TimeRangeScrubber/index.native.js +900 -0
- package/dist/esm/fields/TimeRangeScrubber/index.native.js.map +1 -0
- package/dist/esm/fields/ToggleGroup/index.mjs +58 -48
- package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js +61 -53
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/fields/selectedOrder.mjs +11 -0
- package/dist/esm/fields/selectedOrder.mjs.map +1 -0
- package/dist/esm/fields/selectedOrder.native.js +18 -0
- package/dist/esm/fields/selectedOrder.native.js.map +1 -0
- package/dist/esm/index.mjs +15 -8
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +15 -8
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/TimeColumn.mjs +123 -80
- package/dist/esm/shared/TimeColumn.mjs.map +1 -1
- package/dist/esm/shared/TimeColumn.native.js +147 -88
- package/dist/esm/shared/TimeColumn.native.js.map +1 -1
- package/dist/esm/shared/colorRamps.mjs +23 -2
- package/dist/esm/shared/colorRamps.mjs.map +1 -1
- package/dist/esm/shared/colorRamps.native.js +23 -2
- package/dist/esm/shared/colorRamps.native.js.map +1 -1
- package/dist/esm/shared/floatingList.mjs +18 -5
- package/dist/esm/shared/floatingList.mjs.map +1 -1
- package/dist/esm/shared/floatingList.native.js +18 -5
- package/dist/esm/shared/floatingList.native.js.map +1 -1
- package/dist/esm/shared/useKeyboardInset.mjs +23 -0
- package/dist/esm/shared/useKeyboardInset.mjs.map +1 -0
- package/dist/esm/shared/useKeyboardInset.native.js +25 -0
- package/dist/esm/shared/useKeyboardInset.native.js.map +1 -0
- package/dist/esm/shared/utils.mjs +70 -74
- package/dist/esm/shared/utils.mjs.map +1 -1
- package/dist/esm/shared/utils.native.js +120 -76
- package/dist/esm/shared/utils.native.js.map +1 -1
- package/dist/esm/themedPrimitives.mjs +5 -3
- package/dist/esm/themedPrimitives.mjs.map +1 -1
- package/dist/esm/themedPrimitives.native.js +5 -3
- package/dist/esm/themedPrimitives.native.js.map +1 -1
- package/dist/jsx/AdaptivePopup/index.mjs +138 -20
- package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
- package/dist/jsx/AdaptivePopup/index.native.js +140 -22
- package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +20 -14
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +27 -16
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +7 -3
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +7 -3
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs +117 -0
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.mjs.map +1 -0
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js +150 -0
- package/dist/jsx/ContextualSaveBar/UnsavedChangesDialog.native.js.map +1 -0
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs +12 -0
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.mjs.map +1 -0
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js +40 -0
- package/dist/jsx/ContextualSaveBar/clientKnownIdentity.native.js.map +1 -0
- package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs +25 -0
- package/dist/jsx/ContextualSaveBar/commitImmediateField.mjs.map +1 -0
- package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js +55 -0
- package/dist/jsx/ContextualSaveBar/commitImmediateField.native.js.map +1 -0
- package/dist/jsx/ContextualSaveBar/index.mjs +274 -0
- package/dist/jsx/ContextualSaveBar/index.mjs.map +1 -0
- package/dist/jsx/ContextualSaveBar/index.native.js +325 -0
- package/dist/jsx/ContextualSaveBar/index.native.js.map +1 -0
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs +24 -0
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.mjs.map +1 -0
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js +55 -0
- package/dist/jsx/ContextualSaveBar/useUnsavedChangesGuard.native.js.map +1 -0
- package/dist/jsx/ControlGroup/index.mjs +11 -10
- package/dist/jsx/ControlGroup/index.mjs.map +1 -1
- package/dist/jsx/ControlGroup/index.native.js +11 -11
- package/dist/jsx/ControlGroup/index.native.js.map +1 -1
- package/dist/jsx/DescriptionList/index.mjs +389 -0
- package/dist/jsx/DescriptionList/index.mjs.map +1 -0
- package/dist/jsx/DescriptionList/index.native.js +441 -0
- package/dist/jsx/DescriptionList/index.native.js.map +1 -0
- 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 +104 -45
- package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
- package/dist/jsx/FieldDisplay/index.native.js +116 -46
- package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
- package/dist/jsx/FieldGroup.mjs +14 -4
- package/dist/jsx/FieldGroup.mjs.map +1 -1
- package/dist/jsx/FieldGroup.native.js +13 -3
- package/dist/jsx/FieldGroup.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/index.mjs +41 -12
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +229 -46
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +27 -11
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +26 -9
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/Form/index.mjs +50 -29
- package/dist/jsx/Form/index.mjs.map +1 -1
- package/dist/jsx/Form/index.native.js +56 -28
- package/dist/jsx/Form/index.native.js.map +1 -1
- package/dist/jsx/Form/validateOn.native.js.map +1 -1
- package/dist/jsx/FormGrid.mjs +11 -4
- package/dist/jsx/FormGrid.mjs.map +1 -1
- package/dist/jsx/FormGrid.native.js +11 -4
- package/dist/jsx/FormGrid.native.js.map +1 -1
- package/dist/jsx/FormSection.mjs +10 -3
- package/dist/jsx/FormSection.mjs.map +1 -1
- package/dist/jsx/FormSection.native.js +10 -3
- package/dist/jsx/FormSection.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +137 -60
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +146 -64
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/Label/index.mjs +1 -0
- package/dist/jsx/Label/index.mjs.map +1 -1
- package/dist/jsx/Label/index.native.js +1 -0
- package/dist/jsx/Label/index.native.js.map +1 -1
- 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 +1 -0
- package/dist/jsx/Spinner/index.mjs.map +1 -1
- package/dist/jsx/Spinner/index.native.js +14 -1
- 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/WheelEdgeFade.mjs +5 -0
- package/dist/jsx/Wheel/WheelEdgeFade.mjs.map +1 -0
- package/dist/jsx/Wheel/WheelEdgeFade.native.js +116 -0
- package/dist/jsx/Wheel/WheelEdgeFade.native.js.map +1 -0
- package/dist/jsx/Wheel/haptic.mjs +10 -0
- package/dist/jsx/Wheel/haptic.mjs.map +1 -0
- package/dist/jsx/Wheel/haptic.native.js +39 -0
- package/dist/jsx/Wheel/haptic.native.js.map +1 -0
- package/dist/jsx/Wheel/index.mjs +294 -110
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +311 -112
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/actionLabel.native.js.map +1 -1
- package/dist/jsx/fieldDefaults.mjs +3 -1
- package/dist/jsx/fieldDefaults.mjs.map +1 -1
- package/dist/jsx/fieldDefaults.native.js +6 -0
- package/dist/jsx/fieldDefaults.native.js.map +1 -1
- package/dist/jsx/fieldLayout.mjs +12 -8
- package/dist/jsx/fieldLayout.mjs.map +1 -1
- package/dist/jsx/fieldLayout.native.js +11 -7
- package/dist/jsx/fieldLayout.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodePreview.mjs +86 -19
- package/dist/jsx/fields/Barcode/BarcodePreview.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodePreview.native.js +92 -18
- package/dist/jsx/fields/Barcode/BarcodePreview.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +1 -1
- package/dist/jsx/fields/Barcode/code128.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/index.mjs +8 -2
- package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/index.native.js +10 -4
- package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/qr.mjs +379 -0
- package/dist/jsx/fields/Barcode/qr.mjs.map +1 -0
- package/dist/jsx/fields/Barcode/qr.native.js +637 -0
- package/dist/jsx/fields/Barcode/qr.native.js.map +1 -0
- package/dist/jsx/fields/Barcode/scannerTypes.mjs +6 -2
- package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.native.js +6 -1
- package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.mjs +14 -8
- package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js +15 -7
- package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +15 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +21 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +0 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +0 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +1 -0
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +1 -0
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +8 -5
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +8 -5
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/index.mjs +8 -4
- package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/index.native.js +11 -3
- package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.mjs +13 -10
- package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.native.js +18 -14
- package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.mjs +8 -7
- package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.native.js +12 -8
- 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 +74 -66
- package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +90 -89
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.mjs +12 -4
- package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.native.js +12 -4
- package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +20 -6
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +23 -7
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.mjs +25 -139
- package/dist/jsx/fields/DatePicker/DatetimePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +27 -153
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs +2 -0
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js +6 -2
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +27 -10
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +30 -11
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/fieldValueSync.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.mjs +2 -0
- package/dist/jsx/fields/DatePicker/index.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js +6 -2
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.mjs +52 -26
- package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.native.js +74 -40
- 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.mjs +64 -0
- package/dist/jsx/fields/Duration/durationMath.mjs.map +1 -0
- package/dist/jsx/fields/Duration/durationMath.native.js +115 -0
- package/dist/jsx/fields/Duration/durationMath.native.js.map +1 -0
- package/dist/jsx/fields/Duration/index.mjs +70 -102
- package/dist/jsx/fields/Duration/index.mjs.map +1 -1
- package/dist/jsx/fields/Duration/index.native.js +90 -121
- package/dist/jsx/fields/Duration/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/filePickerTypes.mjs +2 -0
- package/dist/jsx/fields/FileUpload/filePickerTypes.mjs.map +1 -0
- package/dist/jsx/fields/FileUpload/filePickerTypes.native.js +21 -0
- package/dist/jsx/fields/FileUpload/filePickerTypes.native.js.map +1 -0
- package/dist/jsx/fields/FileUpload/index.mjs +359 -159
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +456 -168
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs +11 -0
- package/dist/jsx/fields/FileUpload/nativeFilePicker.mjs.map +1 -0
- package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js +174 -0
- package/dist/jsx/fields/FileUpload/nativeFilePicker.native.js.map +1 -0
- package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs +35 -0
- package/dist/jsx/fields/FileUpload/nativePickerLoader.mjs.map +1 -0
- package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js +65 -0
- package/dist/jsx/fields/FileUpload/nativePickerLoader.native.js.map +1 -0
- package/dist/jsx/fields/Geolocation/expoMapsLoader.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/index.native.js +5 -5
- 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/Icon/drawnSet.mjs +358 -0
- package/dist/jsx/fields/Icon/drawnSet.mjs.map +1 -0
- package/dist/jsx/fields/Icon/drawnSet.native.js +398 -0
- package/dist/jsx/fields/Icon/drawnSet.native.js.map +1 -0
- package/dist/jsx/fields/Icon/index.mjs +350 -0
- package/dist/jsx/fields/Icon/index.mjs.map +1 -0
- package/dist/jsx/fields/Icon/index.native.js +399 -0
- package/dist/jsx/fields/Icon/index.native.js.map +1 -0
- package/dist/jsx/fields/ImageField/index.mjs +20 -27
- package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
- package/dist/jsx/fields/ImageField/index.native.js +20 -28
- package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
- package/dist/jsx/fields/Input/index.mjs +177 -94
- package/dist/jsx/fields/Input/index.mjs.map +1 -1
- package/dist/jsx/fields/Input/index.native.js +90 -7
- package/dist/jsx/fields/Input/index.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.mjs +133 -59
- package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +161 -84
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/index.mjs +16 -6
- package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
- package/dist/jsx/fields/OTPInput/index.native.js +18 -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 +5 -3
- package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/jsx/fields/PhoneInput/index.native.js +8 -5
- 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/Progress/index.mjs +29 -19
- package/dist/jsx/fields/Progress/index.mjs.map +1 -1
- package/dist/jsx/fields/Progress/index.native.js +32 -20
- package/dist/jsx/fields/Progress/index.native.js.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.mjs +16 -15
- package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js +16 -15
- package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/index.mjs +29 -22
- package/dist/jsx/fields/Rating/index.mjs.map +1 -1
- package/dist/jsx/fields/Rating/index.native.js +34 -26
- package/dist/jsx/fields/Rating/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/ratingMath.mjs +11 -0
- package/dist/jsx/fields/Rating/ratingMath.mjs.map +1 -0
- package/dist/jsx/fields/Rating/ratingMath.native.js +39 -0
- package/dist/jsx/fields/Rating/ratingMath.native.js.map +1 -0
- package/dist/jsx/fields/Rating/types.native.js.map +1 -1
- package/dist/jsx/fields/SearchInput/index.mjs +220 -155
- package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
- package/dist/jsx/fields/SearchInput/index.native.js +226 -156
- package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.mjs +39 -22
- package/dist/jsx/fields/Select/index.mjs.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +42 -29
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Signature/index.mjs +26 -18
- package/dist/jsx/fields/Signature/index.mjs.map +1 -1
- package/dist/jsx/fields/Signature/index.native.js +28 -20
- package/dist/jsx/fields/Signature/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/index.mjs +40 -12
- package/dist/jsx/fields/Slider/index.mjs.map +1 -1
- package/dist/jsx/fields/Slider/index.native.js +61 -15
- 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 +17 -8
- package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
- package/dist/jsx/fields/Stepper/index.native.js +19 -9
- package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs +7 -0
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.mjs.map +1 -0
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js +35 -0
- package/dist/jsx/fields/Stepper/resolveStepperPlacement.native.js.map +1 -0
- package/dist/jsx/fields/Switch/index.mjs +135 -47
- package/dist/jsx/fields/Switch/index.mjs.map +1 -1
- package/dist/jsx/fields/Switch/index.native.js +155 -48
- package/dist/jsx/fields/Switch/index.native.js.map +1 -1
- package/dist/jsx/fields/TextArea/index.mjs +34 -36
- package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
- package/dist/jsx/fields/TextArea/index.native.js +35 -40
- package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/index.mjs +7 -3
- package/dist/jsx/fields/TimePicker/index.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/index.native.js +11 -5
- package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.mjs +58 -499
- package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.native.js +60 -527
- package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs +229 -0
- package/dist/jsx/fields/TimeRangeScrubber/geometry.mjs.map +1 -0
- package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js +352 -0
- package/dist/jsx/fields/TimeRangeScrubber/geometry.native.js.map +1 -0
- package/dist/jsx/fields/TimeRangeScrubber/index.mjs +822 -0
- package/dist/jsx/fields/TimeRangeScrubber/index.mjs.map +1 -0
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js +936 -0
- package/dist/jsx/fields/TimeRangeScrubber/index.native.js.map +1 -0
- package/dist/jsx/fields/ToggleGroup/index.mjs +58 -48
- package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js +60 -52
- package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/selectedOrder.mjs +11 -0
- package/dist/jsx/fields/selectedOrder.mjs.map +1 -0
- package/dist/jsx/fields/selectedOrder.native.js +46 -0
- package/dist/jsx/fields/selectedOrder.native.js.map +1 -0
- package/dist/jsx/formSpacing.native.js.map +1 -1
- package/dist/jsx/hooks/useFocusManagement.native.js.map +1 -1
- package/dist/jsx/index.js +15 -8
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +15 -8
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +84 -48
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/requiredMarking.native.js.map +1 -1
- package/dist/jsx/shared/TimeColumn.mjs +123 -80
- package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
- package/dist/jsx/shared/TimeColumn.native.js +146 -88
- 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 +23 -2
- package/dist/jsx/shared/colorRamps.mjs.map +1 -1
- package/dist/jsx/shared/colorRamps.native.js +23 -1
- 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 +18 -5
- package/dist/jsx/shared/floatingList.mjs.map +1 -1
- package/dist/jsx/shared/floatingList.native.js +18 -5
- package/dist/jsx/shared/floatingList.native.js.map +1 -1
- 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/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.mjs +23 -0
- package/dist/jsx/shared/useKeyboardInset.mjs.map +1 -0
- package/dist/jsx/shared/useKeyboardInset.native.js +53 -0
- package/dist/jsx/shared/useKeyboardInset.native.js.map +1 -0
- 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 +70 -74
- package/dist/jsx/shared/utils.mjs.map +1 -1
- package/dist/jsx/shared/utils.native.js +120 -76
- 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 +5 -3
- package/dist/jsx/themedPrimitives.mjs.map +1 -1
- package/dist/jsx/themedPrimitives.native.js +4 -2
- 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 +21 -7
- package/src/AdaptivePopup/AdaptivePopup.spec.tsx +213 -2
- package/src/AdaptivePopup/AdaptivePopup.stories.tsx +42 -1
- package/src/AdaptivePopup/index.tsx +162 -24
- package/src/Button/Button.density.spec.tsx +164 -0
- package/src/Button/Button.filledBorder.spec.tsx +74 -0
- package/src/Button/Button.labelInk.spec.tsx +196 -0
- package/src/Button/Button.lc71.spec.tsx +10 -3
- package/src/Button/Button.stories.tsx +40 -21
- package/src/Button/index.tsx +52 -20
- package/src/Chip/index.tsx +7 -3
- package/src/ContextualSaveBar/ContextualSaveBar.spec.tsx +269 -0
- package/src/ContextualSaveBar/ContextualSaveBar.stories.tsx +72 -0
- package/src/ContextualSaveBar/UnsavedChangesDialog.tsx +118 -0
- package/src/ContextualSaveBar/clientKnownIdentity.ts +15 -0
- package/src/ContextualSaveBar/commitImmediateField.ts +31 -0
- package/src/ContextualSaveBar/index.tsx +327 -0
- package/src/ContextualSaveBar/useUnsavedChangesGuard.ts +38 -0
- package/src/ControlGroup/ControlGroup.spec.tsx +86 -0
- package/src/ControlGroup/index.tsx +16 -8
- package/src/DescriptionList/DescriptionList.spec.tsx +254 -0
- package/src/DescriptionList/DescriptionList.stories.tsx +244 -0
- package/src/DescriptionList/index.tsx +503 -0
- package/src/FieldDisplay/FieldDisplay.spec.tsx +17 -0
- package/src/FieldDisplay/index.tsx +155 -41
- package/src/FieldGroup.spec.tsx +63 -0
- package/src/FieldGroup.tsx +17 -4
- package/src/Fieldset.spec.tsx +39 -0
- package/src/FloatingPanel/index.native.tsx +253 -46
- package/src/FloatingPanel/index.tsx +93 -12
- package/src/FloatingPanel/panelWidthContract.spec.ts +58 -0
- package/src/FloatingPanel/useFloatingPanel.spec.tsx +127 -18
- package/src/FloatingPanel/useFloatingPanel.ts +62 -18
- package/src/Form/Form.stories.tsx +19 -0
- package/src/Form/form.spec.tsx +4 -2
- package/src/Form/index.tsx +66 -28
- package/src/FormGrid.spec.tsx +13 -1
- package/src/FormGrid.tsx +11 -4
- package/src/FormSection.tsx +14 -4
- package/src/FormsIntegration.stories.tsx +329 -344
- package/src/InputParts/InputButton.spec.tsx +60 -0
- package/src/InputParts/index.spec.tsx +41 -1
- package/src/InputParts/index.tsx +221 -61
- package/src/Label/Label.spec.tsx +8 -0
- package/src/Label/index.tsx +1 -0
- package/src/Spinner/Spinner.spec.tsx +14 -0
- package/src/Spinner/index.native.tsx +16 -3
- package/src/Spinner/index.tsx +1 -0
- package/src/Wheel/Wheel.spec.tsx +292 -0
- package/src/Wheel/WheelEdgeFade.native.tsx +67 -0
- package/src/Wheel/WheelEdgeFade.tsx +7 -0
- package/src/Wheel/haptic.ts +15 -0
- package/src/Wheel/index.tsx +389 -146
- package/src/fieldDefaults.spec.ts +7 -0
- package/src/fieldDefaults.ts +13 -0
- package/src/fieldLayout.spec.tsx +39 -0
- package/src/fieldLayout.tsx +17 -7
- package/src/fields/Barcode/Barcode.spec.tsx +30 -0
- package/src/fields/Barcode/Barcode.stories.tsx +18 -0
- package/src/fields/Barcode/BarcodePreview.spec.tsx +210 -1
- package/src/fields/Barcode/BarcodePreview.tsx +147 -21
- package/src/fields/Barcode/index.tsx +9 -1
- package/src/fields/Barcode/qr.spec.ts +332 -0
- package/src/fields/Barcode/qr.ts +590 -0
- package/src/fields/Barcode/scannerTypes.ts +12 -1
- package/src/fields/Checkbox/Checkbox.spec.tsx +101 -2
- package/src/fields/Checkbox/Checkbox.stories.tsx +23 -0
- package/src/fields/Checkbox/Checkbox.tsx +25 -6
- package/src/fields/Checkbox/CheckboxBox.tsx +33 -0
- package/src/fields/Checkbox/CheckboxCard.tsx +0 -1
- package/src/fields/Checkbox/CheckboxFieldFrame.tsx +1 -0
- package/src/fields/Checkbox/CheckboxGroup.tsx +12 -5
- package/src/fields/Checkbox/index.tsx +16 -4
- package/src/fields/ColorPicker/ColorPicker.spec.tsx +93 -2
- package/src/fields/ColorPicker/ColorPicker.stories.tsx +29 -0
- package/src/fields/ColorPicker/index.tsx +15 -19
- package/src/fields/ColorPicker/parts.tsx +13 -13
- package/src/fields/Combobox/Combobox.spec.tsx +193 -1
- package/src/fields/Combobox/Combobox.stories.tsx +46 -0
- package/src/fields/Combobox/index.tsx +161 -104
- package/src/fields/DatePicker/Calendar.spec.tsx +157 -2
- package/src/fields/DatePicker/Calendar.tsx +11 -1
- package/src/fields/DatePicker/DatePicker.stories.tsx +28 -0
- package/src/fields/DatePicker/DateRangePicker.spec.tsx +53 -0
- package/src/fields/DatePicker/DateRangePicker.stories.tsx +41 -0
- package/src/fields/DatePicker/DateRangePicker.tsx +17 -3
- package/src/fields/DatePicker/DatetimePicker.spec.tsx +17 -0
- package/src/fields/DatePicker/DatetimePicker.stories.tsx +29 -1
- package/src/fields/DatePicker/DatetimePicker.tsx +42 -147
- package/src/fields/DatePicker/MonthPicker.tsx +3 -6
- package/src/fields/DatePicker/MultiDatePicker.spec.tsx +29 -0
- package/src/fields/DatePicker/MultiDatePicker.stories.tsx +33 -0
- package/src/fields/DatePicker/MultiDatePicker.tsx +26 -2
- package/src/fields/DatePicker/index.tsx +2 -0
- package/src/fields/DatePicker/parts.tsx +79 -40
- package/src/fields/Duration/Duration.spec.tsx +135 -6
- package/src/fields/Duration/Duration.stories.tsx +30 -1
- package/src/fields/Duration/durationMath.spec.ts +67 -0
- package/src/fields/Duration/durationMath.ts +78 -0
- package/src/fields/Duration/index.tsx +89 -112
- package/src/fields/FileUpload/FileUpload.spec.tsx +348 -1
- package/src/fields/FileUpload/FileUpload.stories.tsx +71 -1
- package/src/fields/FileUpload/filePickerTypes.ts +42 -0
- package/src/fields/FileUpload/index.tsx +533 -182
- package/src/fields/FileUpload/nativeFilePicker.native.spec.ts +168 -0
- package/src/fields/FileUpload/nativeFilePicker.native.ts +150 -0
- package/src/fields/FileUpload/nativeFilePicker.ts +21 -0
- package/src/fields/FileUpload/nativePickerLoader.ts +65 -0
- package/src/fields/Geolocation/Geolocation.stories.tsx +29 -0
- package/src/fields/Icon/Icon.spec.tsx +67 -0
- package/src/fields/Icon/Icon.stories.tsx +59 -0
- package/src/fields/Icon/drawnSet.spec.ts +47 -0
- package/src/fields/Icon/drawnSet.tsx +288 -0
- package/src/fields/Icon/index.tsx +466 -0
- package/src/fields/ImageField/ImageField.spec.tsx +84 -2
- package/src/fields/ImageField/ImageField.stories.tsx +30 -1
- package/src/fields/ImageField/index.tsx +35 -31
- package/src/fields/Input/Input.copy.spec.tsx +113 -0
- package/src/fields/Input/Input.spec.tsx +57 -0
- package/src/fields/Input/Input.stories.tsx +39 -0
- package/src/fields/Input/index.tsx +189 -84
- package/src/fields/MentionInput/MentionInput.spec.tsx +140 -38
- package/src/fields/MentionInput/MentionInput.stories.tsx +39 -2
- package/src/fields/MentionInput/index.tsx +166 -82
- package/src/fields/OTPInput/OtpInput.spec.tsx +99 -4
- package/src/fields/OTPInput/OtpInput.stories.tsx +28 -0
- package/src/fields/OTPInput/index.tsx +33 -5
- package/src/fields/OTPInput/otpCellHeightTouch.spec.ts +44 -0
- package/src/fields/PhoneInput/PhoneInput.spec.tsx +109 -0
- package/src/fields/PhoneInput/PhoneInput.stories.tsx +28 -0
- package/src/fields/PhoneInput/index.tsx +5 -3
- package/src/fields/Progress/Progress.spec.tsx +132 -18
- package/src/fields/Progress/Progress.stories.tsx +32 -3
- package/src/fields/Progress/index.tsx +38 -15
- package/src/fields/RadioGroup/RadioGroup.spec.tsx +58 -0
- package/src/fields/RadioGroup/RadioGroup.stories.tsx +42 -7
- package/src/fields/RadioGroup/index.tsx +26 -18
- package/src/fields/Rating/Rating.spec.tsx +71 -1
- package/src/fields/Rating/Rating.stories.tsx +28 -0
- package/src/fields/Rating/index.tsx +39 -25
- package/src/fields/Rating/ratingMath.spec.ts +24 -0
- package/src/fields/Rating/ratingMath.ts +14 -0
- package/src/fields/SearchInput/SearchInput.spec.tsx +86 -0
- package/src/fields/SearchInput/SearchInput.stories.tsx +14 -0
- package/src/fields/SearchInput/index.tsx +257 -154
- package/src/fields/Select/Select.stories.tsx +91 -42
- package/src/fields/Select/index.tsx +62 -23
- package/src/fields/Signature/Signature.spec.tsx +70 -0
- package/src/fields/Signature/Signature.stories.tsx +29 -0
- package/src/fields/Signature/index.tsx +27 -20
- package/src/fields/Slider/Slider.spec.tsx +57 -0
- package/src/fields/Slider/Slider.stories.tsx +28 -0
- package/src/fields/Slider/index.tsx +38 -15
- package/src/fields/Stepper/Stepper.spec.tsx +8 -0
- package/src/fields/Stepper/Stepper.stories.tsx +28 -0
- package/src/fields/Stepper/index.tsx +28 -18
- package/src/fields/Stepper/resolveStepperPlacement.spec.ts +21 -0
- package/src/fields/Stepper/resolveStepperPlacement.ts +14 -0
- package/src/fields/Switch/Switch.radius.spec.tsx +114 -0
- package/src/fields/Switch/Switch.stories.tsx +23 -0
- package/src/fields/Switch/index.tsx +157 -52
- package/src/fields/TextArea/TextArea.spec.tsx +103 -0
- package/src/fields/TextArea/TextArea.stories.tsx +28 -0
- package/src/fields/TextArea/index.tsx +36 -42
- package/src/fields/TimePicker/TimePicker.spec.tsx +73 -11
- package/src/fields/TimePicker/TimePicker.stories.tsx +29 -1
- package/src/fields/TimePicker/index.tsx +8 -2
- package/src/fields/TimePicker/parts.tsx +74 -584
- package/src/fields/TimeRangeScrubber/TimeRangeScrubber.spec.tsx +483 -0
- package/src/fields/TimeRangeScrubber/TimeRangeScrubber.stories.tsx +151 -0
- package/src/fields/TimeRangeScrubber/geometry.ts +285 -0
- package/src/fields/TimeRangeScrubber/index.tsx +1049 -0
- package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +118 -2
- package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +41 -0
- package/src/fields/ToggleGroup/index.tsx +70 -67
- package/src/fields/selectedOrder.spec.ts +29 -0
- package/src/fields/selectedOrder.ts +26 -0
- package/src/index.ts +71 -8
- package/src/shared/TimeColumn.tsx +135 -87
- package/src/shared/TimeWheels.spec.tsx +39 -0
- package/src/shared/colorRamps.ts +35 -1
- package/src/shared/floatingList.spec.tsx +65 -0
- package/src/shared/floatingList.tsx +18 -5
- package/src/shared/useKeyboardInset.ts +43 -0
- package/src/shared/utils.spec.ts +122 -9
- package/src/shared/utils.ts +161 -71
- package/src/themedPrimitives.tsx +5 -3
- package/types/AdaptivePopup/index.d.ts +19 -1
- package/types/AdaptivePopup/index.d.ts.map +1 -1
- package/types/Button/index.d.ts +8 -3
- 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 +13 -0
- package/types/ContextualSaveBar/UnsavedChangesDialog.d.ts.map +1 -0
- package/types/ContextualSaveBar/clientKnownIdentity.d.ts +7 -0
- package/types/ContextualSaveBar/clientKnownIdentity.d.ts.map +1 -0
- package/types/ContextualSaveBar/commitImmediateField.d.ts +8 -0
- package/types/ContextualSaveBar/commitImmediateField.d.ts.map +1 -0
- package/types/ContextualSaveBar/index.d.ts +27 -0
- package/types/ContextualSaveBar/index.d.ts.map +1 -0
- package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts +9 -0
- package/types/ContextualSaveBar/useUnsavedChangesGuard.d.ts.map +1 -0
- package/types/ControlGroup/index.d.ts.map +1 -1
- package/types/DescriptionList/index.d.ts +69 -0
- package/types/DescriptionList/index.d.ts.map +1 -0
- package/types/FieldDisplay/index.d.ts +26 -5
- package/types/FieldDisplay/index.d.ts.map +1 -1
- package/types/FieldGroup.d.ts +2 -0
- package/types/FieldGroup.d.ts.map +1 -1
- package/types/FloatingPanel/index.d.ts +30 -5
- 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 +30 -7
- package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
- package/types/Form/index.d.ts +19 -3
- package/types/Form/index.d.ts.map +1 -1
- package/types/FormGrid.d.ts.map +1 -1
- package/types/FormSection.d.ts +2 -2
- package/types/FormSection.d.ts.map +1 -1
- package/types/InputParts/index.d.ts +51 -17
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/Label/index.d.ts.map +1 -1
- package/types/Spinner/index.d.ts.map +1 -1
- package/types/Spinner/index.native.d.ts.map +1 -1
- package/types/Wheel/WheelEdgeFade.d.ts +8 -0
- package/types/Wheel/WheelEdgeFade.d.ts.map +1 -0
- package/types/Wheel/WheelEdgeFade.native.d.ts +8 -0
- package/types/Wheel/WheelEdgeFade.native.d.ts.map +1 -0
- package/types/Wheel/haptic.d.ts +6 -0
- package/types/Wheel/haptic.d.ts.map +1 -0
- package/types/Wheel/index.d.ts +19 -1
- package/types/Wheel/index.d.ts.map +1 -1
- package/types/fieldDefaults.d.ts +7 -0
- package/types/fieldDefaults.d.ts.map +1 -1
- package/types/fieldLayout.d.ts.map +1 -1
- package/types/fields/Barcode/BarcodePreview.d.ts +46 -11
- package/types/fields/Barcode/BarcodePreview.d.ts.map +1 -1
- package/types/fields/Barcode/index.d.ts.map +1 -1
- package/types/fields/Barcode/qr.d.ts +53 -0
- package/types/fields/Barcode/qr.d.ts.map +1 -0
- package/types/fields/Barcode/scannerTypes.d.ts +7 -0
- package/types/fields/Barcode/scannerTypes.d.ts.map +1 -1
- package/types/fields/Checkbox/Checkbox.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxBox.d.ts +16 -0
- package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxCard.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
- package/types/fields/Checkbox/index.d.ts +5 -4
- package/types/fields/Checkbox/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/parts.d.ts +9 -6
- package/types/fields/ColorPicker/parts.d.ts.map +1 -1
- package/types/fields/Combobox/index.d.ts +7 -1
- 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.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
- package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/index.d.ts.map +1 -1
- package/types/fields/DatePicker/parts.d.ts +15 -3
- package/types/fields/DatePicker/parts.d.ts.map +1 -1
- package/types/fields/Duration/durationMath.d.ts +17 -0
- package/types/fields/Duration/durationMath.d.ts.map +1 -0
- package/types/fields/Duration/index.d.ts +3 -11
- package/types/fields/Duration/index.d.ts.map +1 -1
- package/types/fields/FileUpload/filePickerTypes.d.ts +39 -0
- package/types/fields/FileUpload/filePickerTypes.d.ts.map +1 -0
- package/types/fields/FileUpload/index.d.ts +38 -0
- package/types/fields/FileUpload/index.d.ts.map +1 -1
- package/types/fields/FileUpload/nativeFilePicker.d.ts +10 -0
- package/types/fields/FileUpload/nativeFilePicker.d.ts.map +1 -0
- package/types/fields/FileUpload/nativeFilePicker.native.d.ts +23 -0
- package/types/fields/FileUpload/nativeFilePicker.native.d.ts.map +1 -0
- package/types/fields/FileUpload/nativePickerLoader.d.ts +15 -0
- package/types/fields/FileUpload/nativePickerLoader.d.ts.map +1 -0
- package/types/fields/Icon/drawnSet.d.ts +17 -0
- package/types/fields/Icon/drawnSet.d.ts.map +1 -0
- package/types/fields/Icon/index.d.ts +20 -0
- package/types/fields/Icon/index.d.ts.map +1 -0
- package/types/fields/ImageField/index.d.ts +5 -0
- package/types/fields/ImageField/index.d.ts.map +1 -1
- package/types/fields/Input/index.d.ts +29 -17
- package/types/fields/Input/index.d.ts.map +1 -1
- package/types/fields/MentionInput/index.d.ts +11 -4
- package/types/fields/MentionInput/index.d.ts.map +1 -1
- package/types/fields/OTPInput/index.d.ts +12 -0
- package/types/fields/OTPInput/index.d.ts.map +1 -1
- package/types/fields/PhoneInput/index.d.ts.map +1 -1
- package/types/fields/Progress/index.d.ts +9 -2
- package/types/fields/Progress/index.d.ts.map +1 -1
- package/types/fields/RadioGroup/index.d.ts +7 -4
- package/types/fields/RadioGroup/index.d.ts.map +1 -1
- package/types/fields/Rating/index.d.ts +1 -0
- package/types/fields/Rating/index.d.ts.map +1 -1
- package/types/fields/Rating/ratingMath.d.ts +7 -0
- package/types/fields/Rating/ratingMath.d.ts.map +1 -0
- package/types/fields/SearchInput/index.d.ts +15 -3
- package/types/fields/SearchInput/index.d.ts.map +1 -1
- package/types/fields/Select/index.d.ts +7 -1
- package/types/fields/Select/index.d.ts.map +1 -1
- package/types/fields/Signature/index.d.ts +3 -3
- package/types/fields/Signature/index.d.ts.map +1 -1
- package/types/fields/Slider/index.d.ts.map +1 -1
- package/types/fields/Stepper/index.d.ts +4 -4
- package/types/fields/Stepper/index.d.ts.map +1 -1
- package/types/fields/Stepper/resolveStepperPlacement.d.ts +7 -0
- package/types/fields/Stepper/resolveStepperPlacement.d.ts.map +1 -0
- package/types/fields/Switch/index.d.ts.map +1 -1
- package/types/fields/TextArea/index.d.ts +3 -1
- package/types/fields/TextArea/index.d.ts.map +1 -1
- package/types/fields/TimePicker/index.d.ts.map +1 -1
- package/types/fields/TimePicker/parts.d.ts +5 -13
- package/types/fields/TimePicker/parts.d.ts.map +1 -1
- package/types/fields/TimeRangeScrubber/geometry.d.ts +87 -0
- package/types/fields/TimeRangeScrubber/geometry.d.ts.map +1 -0
- package/types/fields/TimeRangeScrubber/index.d.ts +51 -0
- package/types/fields/TimeRangeScrubber/index.d.ts.map +1 -0
- package/types/fields/ToggleGroup/index.d.ts +1 -1
- package/types/fields/ToggleGroup/index.d.ts.map +1 -1
- package/types/fields/selectedOrder.d.ts +15 -0
- package/types/fields/selectedOrder.d.ts.map +1 -0
- package/types/index.d.ts +26 -13
- package/types/index.d.ts.map +1 -1
- package/types/shared/TimeColumn.d.ts +15 -13
- package/types/shared/TimeColumn.d.ts.map +1 -1
- package/types/shared/colorRamps.d.ts +28 -1
- package/types/shared/colorRamps.d.ts.map +1 -1
- package/types/shared/floatingList.d.ts.map +1 -1
- package/types/shared/useKeyboardInset.d.ts +16 -0
- package/types/shared/useKeyboardInset.d.ts.map +1 -0
- package/types/shared/utils.d.ts +36 -6
- package/types/shared/utils.d.ts.map +1 -1
- package/types/themedPrimitives.d.ts +1 -1
- package/types/themedPrimitives.d.ts.map +1 -1
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* How many points of the screen the software keyboard currently covers.
|
|
3
|
+
*
|
|
4
|
+
* A sheet that ignores this draws its frame UNDER the keyboard: the last row
|
|
5
|
+
* is sliced mid-glyph, the rounded top edge lands on top of the autocomplete
|
|
6
|
+
* suggestion strip, and the field being typed into can be occluded by it
|
|
7
|
+
* (MPO-64). KeyboardAvoidingView is not enough inside a `Modal` — it pads the
|
|
8
|
+
* container but the sheet keeps whatever fixed height it was given, so it
|
|
9
|
+
* simply overflows off the top instead of shrinking.
|
|
10
|
+
*
|
|
11
|
+
* The number comes from the platform, never from a constant: the suggestion
|
|
12
|
+
* strip is exactly the band that overlapped, and its height varies with the
|
|
13
|
+
* field, the language and whether QuickType is on.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { useEffect, useState } from "react";
|
|
17
|
+
import { Dimensions, Keyboard, Platform } from "react-native";
|
|
18
|
+
|
|
19
|
+
export function useKeyboardInset(): number {
|
|
20
|
+
const [inset, setInset] = useState(0);
|
|
21
|
+
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
// iOS fires the *Will* pair one frame before the animation, so the sheet
|
|
24
|
+
// resizes with the keyboard rather than after it. Android has no *Will*.
|
|
25
|
+
const showEvent = Platform.OS === "ios" ? "keyboardWillChangeFrame" : "keyboardDidShow";
|
|
26
|
+
const hideEvent = Platform.OS === "ios" ? "keyboardWillHide" : "keyboardDidHide";
|
|
27
|
+
|
|
28
|
+
const show = Keyboard.addListener(showEvent, (event) => {
|
|
29
|
+
const screen = event?.endCoordinates;
|
|
30
|
+
if (!screen) return;
|
|
31
|
+
const windowHeight = Dimensions.get("window").height;
|
|
32
|
+
setInset(Math.max(0, Math.round(windowHeight - screen.screenY)));
|
|
33
|
+
});
|
|
34
|
+
const hide = Keyboard.addListener(hideEvent, () => setInset(0));
|
|
35
|
+
|
|
36
|
+
return () => {
|
|
37
|
+
show.remove();
|
|
38
|
+
hide.remove();
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
|
|
42
|
+
return inset;
|
|
43
|
+
}
|
package/src/shared/utils.spec.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { describe, expect, it, vi } from "vitest";
|
|
2
|
+
import type { BorderRadius } from "@multiplatform.one/theme";
|
|
3
|
+
import { borderRadiusMap, resolveRadiusClass } from "@multiplatform.one/theme";
|
|
2
4
|
import {
|
|
3
5
|
clampRadiusForControl,
|
|
4
6
|
clampRadiusForLargeComponent,
|
|
@@ -60,17 +62,20 @@ describe("clampRadiusForLargeComponent", () => {
|
|
|
60
62
|
});
|
|
61
63
|
|
|
62
64
|
describe("getOTPCellRadius", () => {
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
const H = 44;
|
|
66
|
+
|
|
67
|
+
it("is a thin CIRCULAR-AT-FULL alias: 0 at none, token scale, height/2 at full", () => {
|
|
68
|
+
expect(getOTPCellRadius("$0", H)).toBe(0);
|
|
69
|
+
expect(getOTPCellRadius("none", H)).toBe(0);
|
|
70
|
+
expect(getOTPCellRadius("$2", H)).toBe(5);
|
|
71
|
+
expect(getOTPCellRadius("$4", H)).toBe(9);
|
|
72
|
+
expect(getOTPCellRadius("$6", H)).toBe(16);
|
|
73
|
+
expect(getOTPCellRadius("$12", H)).toBe(H / 2);
|
|
74
|
+
expect(getOTPCellRadius("full", 40)).toBe(20);
|
|
65
75
|
});
|
|
66
76
|
|
|
67
|
-
it("
|
|
68
|
-
expect(getOTPCellRadius(
|
|
69
|
-
expect(getOTPCellRadius("$8")).toBe("$6");
|
|
70
|
-
});
|
|
71
|
-
|
|
72
|
-
it("returns $4 fallback for undefined", () => {
|
|
73
|
-
expect(getOTPCellRadius(undefined)).toBe("$4");
|
|
77
|
+
it("falls back to medium ($4) when the token is missing", () => {
|
|
78
|
+
expect(getOTPCellRadius(undefined, H)).toBe(9);
|
|
74
79
|
});
|
|
75
80
|
});
|
|
76
81
|
|
|
@@ -114,6 +119,114 @@ describe("clampRadiusInStateProps", () => {
|
|
|
114
119
|
const result = clampRadiusInStateProps({ borderRadius: "$8", color: "blue" }, 4);
|
|
115
120
|
expect(result).toEqual({ borderRadius: "$4", color: "blue" });
|
|
116
121
|
});
|
|
122
|
+
|
|
123
|
+
// DG-RAD-03 / knobs-enumerated Part 2b / RULINGS-2026-08-28 §R2:
|
|
124
|
+
// BINARY covers thumb AND track. A per-state override bag may not inject
|
|
125
|
+
// an intermediate radius (the old token clamp turned $12 into $6 = 16px
|
|
126
|
+
// on a 44px thumb). Every state resolves to 0 or h/2 and nothing between.
|
|
127
|
+
describe("BINARY-class parts refuse intermediate radius in every state", () => {
|
|
128
|
+
const STATES = ["hover", "press", "focus", "focusVisible"] as const;
|
|
129
|
+
const THUMB_H = 44;
|
|
130
|
+
const TRACK_H = 28;
|
|
131
|
+
const INTERMEDIATE = ["$2", "$4", "$6", "$8", "$12", 9, "9px"] as const;
|
|
132
|
+
|
|
133
|
+
function expectBinaryRadius(value: unknown, heightPx: number) {
|
|
134
|
+
expect(value === 0 || value === heightPx / 2).toBe(true);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
it.each(STATES)("snaps a %s bag's token clamp to 0 or h/2 (thumb)", (state) => {
|
|
138
|
+
for (const token of INTERMEDIATE) {
|
|
139
|
+
const result = clampRadiusInStateProps(
|
|
140
|
+
{ borderRadius: token, color: "blue", state },
|
|
141
|
+
{ radiusClass: "BINARY", heightPx: THUMB_H },
|
|
142
|
+
);
|
|
143
|
+
expect(result?.borderRadius).toBe(THUMB_H / 2);
|
|
144
|
+
expectBinaryRadius(result?.borderRadius, THUMB_H);
|
|
145
|
+
}
|
|
146
|
+
});
|
|
147
|
+
|
|
148
|
+
it.each(STATES)("snaps a %s bag's token clamp to 0 or h/2 (track — R2)", (state) => {
|
|
149
|
+
for (const token of INTERMEDIATE) {
|
|
150
|
+
const result = clampRadiusInStateProps(
|
|
151
|
+
{ borderRadius: token, state },
|
|
152
|
+
{ radiusClass: "BINARY", heightPx: TRACK_H },
|
|
153
|
+
);
|
|
154
|
+
expect(result?.borderRadius).toBe(TRACK_H / 2);
|
|
155
|
+
expectBinaryRadius(result?.borderRadius, TRACK_H);
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it.each(STATES)("resolves a none stop to 0 in a %s bag", (state) => {
|
|
160
|
+
for (const none of ["$0", 0, "none"] as const) {
|
|
161
|
+
const result = clampRadiusInStateProps(
|
|
162
|
+
{ borderRadius: none, state },
|
|
163
|
+
{ radiusClass: "BINARY", heightPx: THUMB_H },
|
|
164
|
+
);
|
|
165
|
+
expect(result?.borderRadius).toBe(0);
|
|
166
|
+
}
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
it("walks nested state styles so a composite bag cannot sneak an intermediate radius", () => {
|
|
170
|
+
const result = clampRadiusInStateProps(
|
|
171
|
+
{
|
|
172
|
+
borderRadius: "$4",
|
|
173
|
+
hoverStyle: { borderRadius: "$6" },
|
|
174
|
+
pressStyle: { borderRadius: "$12" },
|
|
175
|
+
focusStyle: { borderRadius: 9 },
|
|
176
|
+
focusVisibleStyle: { borderRadius: "$2" },
|
|
177
|
+
},
|
|
178
|
+
{ radiusClass: "BINARY", heightPx: THUMB_H },
|
|
179
|
+
);
|
|
180
|
+
expect(result?.borderRadius).toBe(THUMB_H / 2);
|
|
181
|
+
for (const key of ["hoverStyle", "pressStyle", "focusStyle", "focusVisibleStyle"] as const) {
|
|
182
|
+
expect(result?.[key]?.borderRadius).toBe(THUMB_H / 2);
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
|
|
186
|
+
// LC-16 ONE-IMPLEMENTATION. The BINARY row is doctrine-GENERATED
|
|
187
|
+
// (radiusClassTable.generated.ts, from docs/design-guidelines.md §13).
|
|
188
|
+
// A state bag must resolve through THAT table, not through a copy of it
|
|
189
|
+
// living in forms — otherwise a DG-RAD edit reaches the base radius and
|
|
190
|
+
// silently misses every hover/press/focus bag. Driven off borderRadiusMap
|
|
191
|
+
// so a stop added to the doctrine is covered without touching this test.
|
|
192
|
+
const STOPS = Object.keys(borderRadiusMap) as BorderRadius[];
|
|
193
|
+
|
|
194
|
+
it.each(STOPS)("agrees with resolveRadiusClass('BINARY') at the %s stop", (stop) => {
|
|
195
|
+
for (const heightPx of [THUMB_H, TRACK_H, 21]) {
|
|
196
|
+
const expected = resolveRadiusClass("BINARY", stop, { heightPx });
|
|
197
|
+
for (const spelling of [stop, borderRadiusMap[stop]]) {
|
|
198
|
+
const result = clampRadiusInStateProps(
|
|
199
|
+
{ borderRadius: spelling },
|
|
200
|
+
{ radiusClass: "BINARY", heightPx },
|
|
201
|
+
);
|
|
202
|
+
expect(result?.borderRadius).toBe(expected);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
it("reads the token/stop mapping off borderRadiusMap rather than a hand-kept copy", () => {
|
|
208
|
+
for (const stop of STOPS) {
|
|
209
|
+
const byName = clampRadiusInStateProps(
|
|
210
|
+
{ borderRadius: stop },
|
|
211
|
+
{ radiusClass: "BINARY", heightPx: THUMB_H },
|
|
212
|
+
);
|
|
213
|
+
const byToken = clampRadiusInStateProps(
|
|
214
|
+
{ borderRadius: borderRadiusMap[stop] },
|
|
215
|
+
{ radiusClass: "BINARY", heightPx: THUMB_H },
|
|
216
|
+
);
|
|
217
|
+
expect(byName?.borderRadius).toBe(byToken?.borderRadius);
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
it("refuses a BINARY bag with no height instead of guessing one", () => {
|
|
222
|
+
expect(() =>
|
|
223
|
+
clampRadiusInStateProps({ borderRadius: "$12" }, { radiusClass: "BINARY" }),
|
|
224
|
+
).toThrow(/heightPx/);
|
|
225
|
+
expect(() =>
|
|
226
|
+
clampRadiusInStateProps({ borderRadius: "$0" }, { radiusClass: "BINARY", heightPx: 0 }),
|
|
227
|
+
).toThrow(/heightPx/);
|
|
228
|
+
});
|
|
229
|
+
});
|
|
117
230
|
});
|
|
118
231
|
|
|
119
232
|
describe("getFieldError", () => {
|
package/src/shared/utils.ts
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { type ReactNode, useId, useMemo } from "react";
|
|
2
2
|
import type {
|
|
3
|
+
BorderRadius,
|
|
3
4
|
ElevationStateProps,
|
|
4
5
|
KnobProps,
|
|
5
6
|
KnobRecipe,
|
|
6
7
|
ResolvedKnobs,
|
|
7
8
|
} from "@multiplatform.one/theme";
|
|
8
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
borderRadiusMap,
|
|
11
|
+
isTouchSurface,
|
|
12
|
+
resolveRadiusClass,
|
|
13
|
+
sizeRecipeForToken,
|
|
14
|
+
useResolvedKnobs,
|
|
15
|
+
} from "@multiplatform.one/theme";
|
|
9
16
|
import type { SizeTokens } from "tamagui";
|
|
10
|
-
import { isWeb } from "tamagui";
|
|
11
17
|
import { useFormContext, useFormValidate } from "../Form";
|
|
12
18
|
import { remapValidatorsForTiming, resolveEffectiveValidateOn } from "../Form/validateOn";
|
|
13
19
|
import type { AnyFormApi, SimpleFieldApi } from "../types";
|
|
@@ -59,69 +65,38 @@ export function clampRadiusForLargeComponent(
|
|
|
59
65
|
return clampRadius(radiusToken, maxTokenNum, "$3");
|
|
60
66
|
}
|
|
61
67
|
|
|
68
|
+
type OtpRadiusStop = keyof typeof borderRadiusMap;
|
|
69
|
+
|
|
70
|
+
const OTP_RADIUS_STOPS = Object.keys(borderRadiusMap) as OtpRadiusStop[];
|
|
71
|
+
|
|
72
|
+
function otpRadiusStop(radiusToken: string | undefined): OtpRadiusStop {
|
|
73
|
+
if (radiusToken == null) return "medium";
|
|
74
|
+
for (const stop of OTP_RADIUS_STOPS) {
|
|
75
|
+
if (stop === radiusToken || borderRadiusMap[stop] === radiusToken) return stop;
|
|
76
|
+
}
|
|
77
|
+
throw new Error(
|
|
78
|
+
`getOTPCellRadius: "${radiusToken}" is not a borderRadiusMap token; cannot resolve CIRCULAR-AT-FULL`,
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
|
|
62
82
|
/**
|
|
63
|
-
*
|
|
64
|
-
*
|
|
83
|
+
* OTP cells are CIRCULAR-AT-FULL (DG-RAD-02 / LC-16): ride the token scale,
|
|
84
|
+
* true circle at full = the cell's own height/2 — never a raw 1000 / browser
|
|
85
|
+
* clamp. Equal-w/h parts; single-line controls are the pill case of the same
|
|
86
|
+
* family (RULINGS-2026-08-28 §R2 leftover). Thin alias over resolveRadiusClass.
|
|
65
87
|
*/
|
|
66
|
-
export function getOTPCellRadius(radiusToken: string | undefined): number
|
|
67
|
-
|
|
68
|
-
return clampRadiusForControl(radiusToken, 6) as string;
|
|
88
|
+
export function getOTPCellRadius(radiusToken: string | undefined, heightPx: number): number {
|
|
89
|
+
return resolveRadiusClass("CIRCULAR-AT-FULL", otpRadiusStop(radiusToken), { heightPx });
|
|
69
90
|
}
|
|
70
91
|
|
|
71
92
|
/**
|
|
72
93
|
* Build elevation props for a wrapper View around HOC-based components.
|
|
73
94
|
*
|
|
74
95
|
* Tamagui's create* HOC chains (createCheckbox, createSwitch, etc.) swallow
|
|
75
|
-
* the elevation variant.
|
|
76
|
-
*
|
|
77
|
-
*
|
|
96
|
+
* the elevation variant. Spread the complete `elevationChrome` fragment from
|
|
97
|
+
* resolveKnobs (LC-85) — scheme-aware tint lives on `inputBackground` /
|
|
98
|
+
* `elevatedSurface`, not here.
|
|
78
99
|
*/
|
|
79
|
-
|
|
80
|
-
// Single light source (Axiom 14/15): every directional layer keeps the house
|
|
81
|
-
// y-offset:blur ratio of 0.5 (light straight above); $1's second layer is a
|
|
82
|
-
// directionless ambient ring (0 offset), matching the Switch thumb precedent.
|
|
83
|
-
const webShadow: Record<string, string> = {
|
|
84
|
-
$1: "0 1px 2px rgba(0,0,0,0.12), 0 0 1px rgba(0,0,0,0.08)",
|
|
85
|
-
$2: "0 3px 6px rgba(0,0,0,0.15), 0 2px 4px rgba(0,0,0,0.10)",
|
|
86
|
-
$4: "0 10px 20px rgba(0,0,0,0.15), 0 3px 6px rgba(0,0,0,0.10)",
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
const nativeShadow: Record<string, Record<string, any>> = {
|
|
90
|
-
$1: {
|
|
91
|
-
shadowColor: "#000",
|
|
92
|
-
shadowOffset: { width: 0, height: 1 },
|
|
93
|
-
shadowOpacity: 0.12,
|
|
94
|
-
shadowRadius: 2,
|
|
95
|
-
elevation: 2,
|
|
96
|
-
},
|
|
97
|
-
$2: {
|
|
98
|
-
shadowColor: "#000",
|
|
99
|
-
shadowOffset: { width: 0, height: 3 },
|
|
100
|
-
shadowOpacity: 0.15,
|
|
101
|
-
shadowRadius: 6,
|
|
102
|
-
elevation: 4,
|
|
103
|
-
},
|
|
104
|
-
$4: {
|
|
105
|
-
shadowColor: "#000",
|
|
106
|
-
shadowOffset: { width: 0, height: 10 },
|
|
107
|
-
shadowOpacity: 0.15,
|
|
108
|
-
shadowRadius: 20,
|
|
109
|
-
elevation: 8,
|
|
110
|
-
},
|
|
111
|
-
};
|
|
112
|
-
|
|
113
|
-
// On native the theme emits NUMERIC tokens.size values instead of token
|
|
114
|
-
// strings ($1=20, $2=28, $4=44) so raw RN Views never see a String for the
|
|
115
|
-
// Double `elevation` prop (SB-N-04). Accept both spellings here.
|
|
116
|
-
const elevationKeyAlias: Record<string, string> = { "20": "$1", "28": "$2", "44": "$4" };
|
|
117
|
-
|
|
118
|
-
function elevationToProps(token: string | number | undefined): Record<string, any> {
|
|
119
|
-
if (token == null) return {};
|
|
120
|
-
const key = elevationKeyAlias[String(token)] ?? String(token);
|
|
121
|
-
if (isWeb) return { style: { boxShadow: webShadow[key] || webShadow["$2"] } };
|
|
122
|
-
return nativeShadow[key] || nativeShadow["$2"];
|
|
123
|
-
}
|
|
124
|
-
|
|
125
100
|
export function getElevationWrapperProps(
|
|
126
101
|
knobProps: KnobProps,
|
|
127
102
|
elevationRecipe: KnobRecipe<ElevationStateProps>,
|
|
@@ -136,18 +111,17 @@ export function getElevationWrapperProps(
|
|
|
136
111
|
return {};
|
|
137
112
|
}
|
|
138
113
|
const props: Record<string, any> = {
|
|
139
|
-
elevation,
|
|
140
114
|
overflow: "visible" as const,
|
|
141
|
-
...
|
|
115
|
+
...knobProps.elevationChrome,
|
|
142
116
|
};
|
|
143
|
-
if (elevationRecipe.hoverKnobProps
|
|
144
|
-
props.hoverStyle =
|
|
117
|
+
if (elevationRecipe.hoverKnobProps) {
|
|
118
|
+
props.hoverStyle = elevationRecipe.hoverKnobProps;
|
|
145
119
|
}
|
|
146
|
-
if (elevationRecipe.pressKnobProps
|
|
147
|
-
props.pressStyle =
|
|
120
|
+
if (elevationRecipe.pressKnobProps) {
|
|
121
|
+
props.pressStyle = elevationRecipe.pressKnobProps;
|
|
148
122
|
}
|
|
149
|
-
if (elevationRecipe.focusVisibleKnobProps
|
|
150
|
-
props.focusVisibleStyle =
|
|
123
|
+
if (elevationRecipe.focusVisibleKnobProps) {
|
|
124
|
+
props.focusVisibleStyle = elevationRecipe.focusVisibleKnobProps;
|
|
151
125
|
}
|
|
152
126
|
if (knobProps.transition) props.animation = knobProps.transition;
|
|
153
127
|
return props;
|
|
@@ -236,15 +210,131 @@ export function stripRadiusFromStateProps(props: ControlStateProps): ControlStat
|
|
|
236
210
|
}
|
|
237
211
|
|
|
238
212
|
/**
|
|
239
|
-
*
|
|
240
|
-
*
|
|
213
|
+
* DG-RAD resolution class. Same vocabulary as theme `RadiusResolutionClass`
|
|
214
|
+
* (W1-radius-core / `resolveRadiusClass`).
|
|
215
|
+
*/
|
|
216
|
+
export type StatePropsRadiusClass = "DEFAULT" | "CIRCULAR-AT-FULL" | "BINARY" | "CONTAINER-CAP";
|
|
217
|
+
|
|
218
|
+
export interface ClampRadiusInStatePropsOptions {
|
|
219
|
+
maxTokenNum?: number;
|
|
220
|
+
/**
|
|
221
|
+
* Anatomy class the bag is being applied to. BINARY (thumb AND track —
|
|
222
|
+
* RULINGS-2026-08-28 §R2) resolves to 0 or h/2; a token clamp must not
|
|
223
|
+
* inject an intermediate radius onto either part (DG-RAD-03).
|
|
224
|
+
*/
|
|
225
|
+
radiusClass?: StatePropsRadiusClass;
|
|
226
|
+
/** The part's own painted height (shorter edge). Required for BINARY. */
|
|
227
|
+
heightPx?: number;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
const STATE_STYLE_KEYS = ["hoverStyle", "pressStyle", "focusStyle", "focusVisibleStyle"] as const;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* Token/stop-name lookup DERIVED from `borderRadiusMap` — the same single
|
|
234
|
+
* source `otpRadiusStop` reads a few lines up. A hand-kept second copy of the
|
|
235
|
+
* token scale is how this file would end up with two answers for one stop, so
|
|
236
|
+
* there is only one (LC-16 ONE-IMPLEMENTATION).
|
|
237
|
+
*/
|
|
238
|
+
const RADIUS_TOKEN_TO_STOP = Object.fromEntries(
|
|
239
|
+
(Object.keys(borderRadiusMap) as BorderRadius[]).flatMap((stop) => [
|
|
240
|
+
[stop, stop],
|
|
241
|
+
[borderRadiusMap[stop], stop],
|
|
242
|
+
]),
|
|
243
|
+
) as Record<string, BorderRadius>;
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* A state bag carries whatever the recipe put in it — a stop name, a radius
|
|
247
|
+
* token, or a raw px value. An unrecognised value resolves to `full`, which
|
|
248
|
+
* for BINARY is h/2: the safe direction, because the class has no
|
|
249
|
+
* intermediate value to fall back to.
|
|
250
|
+
*/
|
|
251
|
+
function radiusValueToStop(value: unknown): BorderRadius {
|
|
252
|
+
if (value == null || value === 0) return "none";
|
|
253
|
+
const key = String(value).trim();
|
|
254
|
+
if (key === "0" || key === "0px") return "none";
|
|
255
|
+
return RADIUS_TOKEN_TO_STOP[key] ?? "full";
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* BINARY class contract (DG-RAD-03): none is square, every other stop is h/2,
|
|
260
|
+
* and tracks square with their thumbs (§R2).
|
|
261
|
+
*
|
|
262
|
+
* The table is NOT restated here. It is read from the doctrine-GENERATED
|
|
263
|
+
* resolver in `@multiplatform.one/theme`, so a DG-RAD edit reaches per-state
|
|
264
|
+
* override bags the same way it reaches the base radius — a local copy of the
|
|
265
|
+
* BINARY row would keep answering with the old doctrine (LC-16).
|
|
266
|
+
*
|
|
267
|
+
* The `heightPx` guard is the CALLER's contract rather than the table's: the
|
|
268
|
+
* doctrine only needs a height for the h/2 stops, but a part that declares
|
|
269
|
+
* BINARY without its height would resolve at `none` and throw at every other
|
|
270
|
+
* stop. Refusing up front beats working in one state and throwing in the next.
|
|
271
|
+
*/
|
|
272
|
+
function resolveBinaryStateRadius(value: unknown, heightPx: number | undefined): number {
|
|
273
|
+
if (heightPx === undefined || heightPx <= 0) {
|
|
274
|
+
throw new Error(
|
|
275
|
+
"clampRadiusInStateProps: BINARY resolves to 0 or h/2 and needs heightPx — the part's own painted height (shorter edge)",
|
|
276
|
+
);
|
|
277
|
+
}
|
|
278
|
+
return resolveRadiusClass("BINARY", radiusValueToStop(value), { heightPx });
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
function clampOneStateRadius(
|
|
282
|
+
borderRadius: unknown,
|
|
283
|
+
options: { maxTokenNum: number; radiusClass?: StatePropsRadiusClass; heightPx?: number },
|
|
284
|
+
): unknown {
|
|
285
|
+
if (options.radiusClass === "BINARY") {
|
|
286
|
+
return resolveBinaryStateRadius(borderRadius, options.heightPx);
|
|
287
|
+
}
|
|
288
|
+
return clampRadiusForControl(
|
|
289
|
+
typeof borderRadius === "string" || borderRadius === undefined
|
|
290
|
+
? borderRadius
|
|
291
|
+
: String(borderRadius),
|
|
292
|
+
options.maxTokenNum,
|
|
293
|
+
);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function isClampOptions(
|
|
297
|
+
value: number | ClampRadiusInStatePropsOptions | undefined,
|
|
298
|
+
): value is ClampRadiusInStatePropsOptions {
|
|
299
|
+
return typeof value === "object" && value !== null;
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* Clamp borderRadius in a per-state override bag.
|
|
304
|
+
*
|
|
305
|
+
* Default (no class / DEFAULT): token clamp so a control cannot go fully
|
|
306
|
+
* circular. BINARY: the bag resolves to 0 or h/2 — never an intermediate
|
|
307
|
+
* token. A hover/press/focus/focusVisible radius cannot turn a thumb or
|
|
308
|
+
* track into a partly-rounded shape (DG-RAD-03, LC-60, LC-55).
|
|
241
309
|
*/
|
|
242
310
|
export function clampRadiusInStateProps(
|
|
243
311
|
props: ControlStateProps,
|
|
244
|
-
|
|
312
|
+
maxTokenNumOrOptions: number | ClampRadiusInStatePropsOptions = 6,
|
|
245
313
|
): ControlStateProps {
|
|
246
|
-
if (!props
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
314
|
+
if (!props) return props;
|
|
315
|
+
const options = isClampOptions(maxTokenNumOrOptions)
|
|
316
|
+
? {
|
|
317
|
+
maxTokenNum: maxTokenNumOrOptions.maxTokenNum ?? 6,
|
|
318
|
+
radiusClass: maxTokenNumOrOptions.radiusClass,
|
|
319
|
+
heightPx: maxTokenNumOrOptions.heightPx,
|
|
320
|
+
}
|
|
321
|
+
: { maxTokenNum: maxTokenNumOrOptions, radiusClass: undefined, heightPx: undefined };
|
|
322
|
+
|
|
323
|
+
const nestedKeys = STATE_STYLE_KEYS.filter(
|
|
324
|
+
(key) => props[key] && typeof props[key] === "object" && "borderRadius" in props[key],
|
|
325
|
+
);
|
|
326
|
+
if (!("borderRadius" in props) && nestedKeys.length === 0) return props;
|
|
327
|
+
|
|
328
|
+
const next: Record<string, any> = { ...props };
|
|
329
|
+
if ("borderRadius" in props) {
|
|
330
|
+
next.borderRadius = clampOneStateRadius(props.borderRadius, options);
|
|
331
|
+
}
|
|
332
|
+
for (const key of nestedKeys) {
|
|
333
|
+
const bag = props[key] as Record<string, any>;
|
|
334
|
+
next[key] = {
|
|
335
|
+
...bag,
|
|
336
|
+
borderRadius: clampOneStateRadius(bag.borderRadius, options),
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
return next;
|
|
250
340
|
}
|
package/src/themedPrimitives.tsx
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SizeVariantSpreadFunction } from "@tamagui/web";
|
|
2
|
-
import { isTouchSurface, sizeRecipeForToken } from "@multiplatform.one/theme";
|
|
2
|
+
import { isTouchSurface, sizeRecipeForToken, textFieldInset } from "@multiplatform.one/theme";
|
|
3
3
|
import { TextArea as TamaguiTextArea, isWeb, styled } from "tamagui";
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -23,14 +23,16 @@ import { TextArea as TamaguiTextArea, isWeb, styled } from "tamagui";
|
|
|
23
23
|
const textAreaSizeWithoutRadius: SizeVariantSpreadFunction<any> = (val, extras) => {
|
|
24
24
|
const { props } = extras;
|
|
25
25
|
const recipe = sizeRecipeForToken(String(val || "$true"), { touch: isTouchSurface() });
|
|
26
|
+
const inset = textFieldInset(recipe);
|
|
26
27
|
const lineHeight = Math.round(recipe.fontSize * 1.25);
|
|
27
28
|
const lines = props.rows ?? props.numberOfLines;
|
|
28
29
|
const height = typeof lines === "number" ? lines * lineHeight + recipe.gap * 2 : "auto";
|
|
29
30
|
return {
|
|
30
31
|
fontSize: recipe.fontSize,
|
|
31
32
|
...(isWeb ? { lineHeight } : undefined),
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
// LC-84: padX === padY === optical inset. Never more padX than padY.
|
|
34
|
+
paddingVertical: inset,
|
|
35
|
+
paddingHorizontal: inset,
|
|
34
36
|
height,
|
|
35
37
|
};
|
|
36
38
|
};
|
|
@@ -21,6 +21,13 @@ export interface AdaptivePopupProps {
|
|
|
21
21
|
* - `fullscreen`: fills viewport with padding
|
|
22
22
|
*/
|
|
23
23
|
size?: "sm" | "md" | "lg" | "xl" | "fullscreen";
|
|
24
|
+
/**
|
|
25
|
+
* Desktop face. `"drawer"` is the edge-anchored companion (C22) above
|
|
26
|
+
* `OVERLAY_BREAKPOINT`. At the breakpoint and below the drawer face does
|
|
27
|
+
* not exist — the same props render the existing sheet. `size="fullscreen"`
|
|
28
|
+
* stays dialog-family. Default `"dialog"`.
|
|
29
|
+
*/
|
|
30
|
+
face?: "dialog" | "drawer";
|
|
24
31
|
/** Whether to show the close button. Default true. */
|
|
25
32
|
showCloseButton?: boolean;
|
|
26
33
|
/** Custom footer content (e.g. action buttons) */
|
|
@@ -28,5 +35,16 @@ export interface AdaptivePopupProps {
|
|
|
28
35
|
/** Whether to disable the trigger */
|
|
29
36
|
disabled?: boolean;
|
|
30
37
|
}
|
|
31
|
-
export
|
|
38
|
+
export type AdaptivePopupRenderedFace = "dialog" | "drawer" | "sheet";
|
|
39
|
+
/**
|
|
40
|
+
* Face-picking rule (C22): ≤ OVERLAY_BREAKPOINT always sheet; above it,
|
|
41
|
+
* `face="drawer"` → edge panel unless `size="fullscreen"` (dialog-family).
|
|
42
|
+
* A panel the user keeps open is SupportingPaneLayout, not this overlay (LC-29).
|
|
43
|
+
*/
|
|
44
|
+
export declare function pickAdaptivePopupFace(options: {
|
|
45
|
+
face?: AdaptivePopupProps["face"];
|
|
46
|
+
size?: AdaptivePopupProps["size"];
|
|
47
|
+
viewportWidth: number;
|
|
48
|
+
}): AdaptivePopupRenderedFace;
|
|
49
|
+
export declare function AdaptivePopup({ open, onOpenChange, trigger, title, description, children, size, face, showCloseButton, footer, disabled, }: AdaptivePopupProps): import("react/jsx-runtime").JSX.Element;
|
|
32
50
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AdaptivePopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/AdaptivePopup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAc5D,MAAM,WAAW,kBAAkB;IACjC,4BAA4B;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,uCAAuC;IACvC,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,gCAAgC;IAChC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wCAAwC;IACxC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mBAAmB;IACnB,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,YAAY,CAAC;IAChD;;;;;OAKG;IACH,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC3B,sDAAsD;IACtD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kDAAkD;IAClD,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAkBD,MAAM,MAAM,yBAAyB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEtE;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE;IAC7C,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,yBAAyB,CAK5B;AA2ED,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,YAAY,EACZ,OAAO,EACP,KAAK,EACL,WAAW,EACX,QAAQ,EACR,IAAW,EACX,IAAe,EACf,eAAsB,EACtB,MAAM,EACN,QAAQ,GACT,EAAE,kBAAkB,2CAuTpB"}
|
package/types/Button/index.d.ts
CHANGED
|
@@ -17,9 +17,14 @@ import type { SizeTokens } from "@tamagui/web";
|
|
|
17
17
|
export type ButtonSizeRecipe = SizeRecipe;
|
|
18
18
|
export declare const buttonSizeRecipes: Record<string, ButtonSizeRecipe>;
|
|
19
19
|
export declare function resolveButtonSizeRecipe(size: SizeTokens | number | undefined, family?: RecipeFamilyName): ButtonSizeRecipe;
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
/**
|
|
21
|
+
* Density selects the recipe FAMILY, it does not subtract from the recipe
|
|
22
|
+
* (LC-79 / LC-80): control -> controlCompact, same heights, tighter ratios.
|
|
23
|
+
* A hand-set delta is a second density writer and it drifts from the
|
|
24
|
+
* generated table at every token but `$4` — it inverted at `$2`, where
|
|
25
|
+
* `max(8, 7 - 2)` painted a compact Button WIDER than a comfortable one.
|
|
26
|
+
*/
|
|
27
|
+
export declare function buttonDensityFamily(family: RecipeFamilyName, densityTight: boolean): RecipeFamilyName;
|
|
23
28
|
/** DG-ACT-01 role within an ActionBar / action region. */
|
|
24
29
|
export type ButtonActionRole = "primary" | "secondary" | "chrome";
|
|
25
30
|
type IconLike = ReactNode | ComponentType<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAWL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAEL,KAAK,WAAW,IAAI,kBAAkB,EAUvC,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AAMpE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAkC,CAAC;AAElG,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EACrC,MAAM,GAAE,gBAA4B,GACnC,gBAAgB,CAOlB;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Button/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAWL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAEL,KAAK,WAAW,IAAI,kBAAkB,EAUvC,MAAM,SAAS,CAAC;AAIjB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,cAAc,CAAC;AAMpE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAkC,CAAC;AAElG,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,EACrC,MAAM,GAAE,gBAA4B,GACnC,gBAAgB,CAOlB;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,YAAY,EAAE,OAAO,GACpB,gBAAgB,CAElB;AA+CD,0DAA0D;AAC1D,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AAElE,KAAK,QAAQ,GAAG,SAAS,GAAG,aAAa,CAAC;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAqE7D,eAAO,MAAM,WAAW;;;;;;;;6CA4DtB,CAAC;AAEH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IAC1F,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;OAMG;IACH,uBAAuB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7C;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,MAAM,EACN,IAAI,EAAE,QAAQ,EACd,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,OAAO,EACP,QAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,OAAO,EACP,SAAS,EACT,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACP,QAAQ,EACR,MAAc,EACd,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,cAAc,EACd,uBAAiC,EACjC,gBAAgB,EAChB,YAAwB,EACxB,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,qBAAqB,EACxC,GAAG,KAAK,EACT,EAAE,WAAW,2CAkdb;yBAnfe,MAAM;;;iBAnD8B,CAAA;YAAsB,CAAC"}
|
package/types/Chip/index.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface ChipProps {
|
|
|
29
29
|
*/
|
|
30
30
|
export declare const ChipFrame: import("tamagui").TamaguiComponent<import("@tamagui/web").TamaDefer, import("tamagui").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/web").StackStyleBase, {
|
|
31
31
|
size?: import("tamagui").SizeTokens | undefined;
|
|
32
|
-
variant?: "
|
|
32
|
+
variant?: "outline" | "solid" | "subtle" | undefined;
|
|
33
33
|
}, import("@tamagui/web").StaticConfigPublic>;
|
|
34
34
|
export declare const ChipText: import("tamagui").TamaguiComponent<import("@tamagui/web").TamaDefer, import("tamagui").TamaguiTextElement, import("@tamagui/core").RNTamaguiTextNonStyleProps, import("@tamagui/web").TextStylePropsBase, {
|
|
35
35
|
size?: import("tamagui").SizeTokens | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EAQL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAqID;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Chip/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EAQL,KAAK,gBAAgB,EACrB,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,SAAS,CAAC;AAMrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AACzD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,oEAAoE;IACpE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAqID;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;6CA+BpB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;6CAenB,CAAC;AAiBH,sFAAsF;AACtF,wBAAgB,YAAY,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAEnD;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,KAAK,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D;AA2GD,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,IAAI,EACJ,OAAO,EAAE,WAAsB,EAC/B,KAAc,EACd,SAAS,EACT,QAAQ,EACR,QAAgB,EAChB,OAAO,EACP,IAAI,EACJ,aAAa,EACb,gBAA+B,GAChC,EAAE,SAAS,2CAoNX;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface UnsavedChangesDialogProps {
|
|
2
|
+
open: boolean;
|
|
3
|
+
fieldCount: number;
|
|
4
|
+
onKeepEditing: () => void;
|
|
5
|
+
onDiscard: () => void;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Route-leave / Discard confirm (DG-OVL-02). Lives in forms so ContextualSaveBar
|
|
9
|
+
* does not import `@multiplatform.one/components` (ConfirmDialog → forms Button
|
|
10
|
+
* would cycle).
|
|
11
|
+
*/
|
|
12
|
+
export declare function UnsavedChangesDialog({ open, fieldCount, onKeepEditing, onDiscard, }: UnsavedChangesDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=UnsavedChangesDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UnsavedChangesDialog.d.ts","sourceRoot":"","sources":["../../src/ContextualSaveBar/UnsavedChangesDialog.tsx"],"names":[],"mappings":"AAQA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,OAAO,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,UAAU,EACV,aAAa,EACb,SAAS,GACV,EAAE,yBAAyB,2CA4F3B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LC-64 CLIENT-KNOWN-IDENTITY — post-mutation navigation rides an identifier
|
|
3
|
+
* the client already owns. A missing / blank / literal `"undefined"` value
|
|
4
|
+
* is an honest refuse, never interpolated into a route.
|
|
5
|
+
*/
|
|
6
|
+
export declare function clientKnownIdentity(id: unknown): string;
|
|
7
|
+
//# sourceMappingURL=clientKnownIdentity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientKnownIdentity.d.ts","sourceRoot":"","sources":["../../src/ContextualSaveBar/clientKnownIdentity.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,CASvD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnyFormApi } from "../types";
|
|
2
|
+
/**
|
|
3
|
+
* DG-ACT-06 / DG-CTRL-02 — a Switch bound to an immediate effect commits on
|
|
4
|
+
* flip. Updating that field's default so `isDirty` stays false means the
|
|
5
|
+
* page-level bar never rises, and a later Discard cannot revert the flip.
|
|
6
|
+
*/
|
|
7
|
+
export declare function commitImmediateField(form: AnyFormApi, name: string, value: unknown): void;
|
|
8
|
+
//# sourceMappingURL=commitImmediateField.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitImmediateField.d.ts","sourceRoot":"","sources":["../../src/ContextualSaveBar/commitImmediateField.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAI3C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAqBzF"}
|