@multiplatform.one/forms 6.7.0 → 7.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/AdaptivePopup/index.cjs +179 -46
- package/dist/cjs/AdaptivePopup/index.native.js +184 -48
- package/dist/cjs/AdaptivePopup/index.native.js.map +1 -1
- package/dist/cjs/Button/index.cjs +238 -63
- package/dist/cjs/Button/index.native.js +291 -83
- package/dist/cjs/Button/index.native.js.map +1 -1
- package/dist/cjs/Chip/index.cjs +291 -74
- package/dist/cjs/Chip/index.native.js +306 -73
- package/dist/cjs/Chip/index.native.js.map +1 -1
- package/dist/cjs/ControlGroup/index.cjs +144 -67
- package/dist/cjs/ControlGroup/index.native.js +141 -60
- package/dist/cjs/ControlGroup/index.native.js.map +1 -1
- package/dist/cjs/FieldDisplay/index.cjs +437 -91
- package/dist/cjs/FieldDisplay/index.native.js +455 -95
- package/dist/cjs/FieldDisplay/index.native.js.map +1 -1
- package/dist/cjs/FieldGroup.cjs +43 -40
- package/dist/cjs/FieldGroup.native.js +43 -40
- package/dist/cjs/FieldGroup.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/index.cjs +79 -9
- package/dist/cjs/FloatingPanel/index.native.js +9 -7
- package/dist/cjs/FloatingPanel/index.native.js.map +1 -1
- package/dist/cjs/FloatingPanel/useFloatingPanel.cjs +21 -5
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js +21 -5
- package/dist/cjs/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/cjs/Form/index.cjs +49 -8
- package/dist/cjs/Form/index.native.js +50 -8
- package/dist/cjs/Form/index.native.js.map +1 -1
- package/dist/cjs/FormGrid.cjs +35 -6
- package/dist/cjs/FormGrid.native.js +35 -6
- package/dist/cjs/FormGrid.native.js.map +1 -1
- package/dist/cjs/FormSection.cjs +13 -6
- package/dist/cjs/FormSection.native.js +13 -6
- package/dist/cjs/FormSection.native.js.map +1 -1
- package/dist/cjs/InputParts/index.cjs +305 -77
- package/dist/cjs/InputParts/index.native.js +332 -84
- package/dist/cjs/InputParts/index.native.js.map +1 -1
- package/dist/cjs/Label/index.cjs +81 -4
- package/dist/cjs/Label/index.native.js +85 -4
- package/dist/cjs/Label/index.native.js.map +1 -1
- package/dist/cjs/Skeleton/index.cjs +14 -11
- package/dist/cjs/Skeleton/index.native.js +15 -12
- package/dist/cjs/Skeleton/index.native.js.map +1 -1
- package/dist/cjs/Spinner/SpinnerGlyph.cjs +75 -0
- package/dist/cjs/Spinner/SpinnerGlyph.native.js +81 -0
- package/dist/cjs/Spinner/SpinnerGlyph.native.js.map +1 -0
- package/dist/cjs/Spinner/index.cjs +26 -18
- package/dist/cjs/Spinner/index.native.js +53 -31
- package/dist/cjs/Spinner/index.native.js.map +1 -1
- package/dist/cjs/Spinner/spinnerSize.cjs +38 -0
- package/dist/cjs/Spinner/spinnerSize.native.js +41 -0
- package/dist/cjs/Spinner/spinnerSize.native.js.map +1 -0
- package/dist/cjs/fieldLayout.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/BarcodeScanner.cjs +26 -8
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js +9 -3
- package/dist/cjs/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/index.cjs +90 -62
- package/dist/cjs/fields/Barcode/index.native.js +97 -62
- package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
- package/dist/cjs/fields/Barcode/scannerTypes.cjs +100 -1
- package/dist/cjs/fields/Barcode/scannerTypes.native.js +137 -0
- package/dist/cjs/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/Checkbox.cjs +35 -88
- package/dist/cjs/fields/Checkbox/Checkbox.native.js +36 -88
- package/dist/cjs/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxBox.cjs +134 -0
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js +145 -0
- package/dist/cjs/fields/Checkbox/CheckboxBox.native.js.map +1 -0
- package/dist/cjs/fields/Checkbox/CheckboxCard.cjs +2 -2
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js +2 -2
- package/dist/cjs/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.cjs +16 -36
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
- package/dist/cjs/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/CheckboxGroup.cjs +3 -2
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js +3 -2
- package/dist/cjs/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/cjs/fields/Checkbox/index.cjs +50 -77
- package/dist/cjs/fields/Checkbox/index.native.js +52 -77
- package/dist/cjs/fields/Checkbox/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/gradients.cjs +9 -4
- package/dist/cjs/fields/ColorPicker/gradients.native.js +37 -18
- package/dist/cjs/fields/ColorPicker/gradients.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/index.cjs +77 -50
- package/dist/cjs/fields/ColorPicker/index.native.js +104 -55
- package/dist/cjs/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/cjs/fields/ColorPicker/parts.cjs +425 -234
- package/dist/cjs/fields/ColorPicker/parts.native.js +447 -238
- package/dist/cjs/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Combobox/index.cjs +175 -45
- package/dist/cjs/fields/Combobox/index.native.js +180 -45
- package/dist/cjs/fields/Combobox/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/Calendar.cjs +67 -170
- package/dist/cjs/fields/DatePicker/Calendar.native.js +71 -194
- package/dist/cjs/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DateRangePicker.cjs +48 -119
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js +53 -123
- package/dist/cjs/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/DatetimePicker.cjs +67 -181
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js +73 -195
- package/dist/cjs/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MonthPicker.cjs +59 -62
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js +66 -64
- package/dist/cjs/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/MultiDatePicker.cjs +11 -77
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js +20 -83
- package/dist/cjs/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/index.cjs +11 -79
- package/dist/cjs/fields/DatePicker/index.native.js +22 -83
- package/dist/cjs/fields/DatePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/DatePicker/parts.cjs +547 -181
- package/dist/cjs/fields/DatePicker/parts.native.js +575 -178
- package/dist/cjs/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/cjs/fields/Duration/index.cjs +314 -159
- package/dist/cjs/fields/Duration/index.native.js +345 -182
- package/dist/cjs/fields/Duration/index.native.js.map +1 -1
- package/dist/cjs/fields/FileUpload/index.cjs +146 -27
- package/dist/cjs/fields/FileUpload/index.native.js +161 -32
- package/dist/cjs/fields/FileUpload/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/GeolocationMap.cjs +115 -20
- package/dist/cjs/fields/Geolocation/GeolocationMap.native.js +11 -11
- package/dist/cjs/fields/Geolocation/GeolocationMap.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/index.cjs +125 -76
- package/dist/cjs/fields/Geolocation/index.native.js +134 -91
- package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
- package/dist/cjs/fields/Geolocation/mapMath.cjs +105 -0
- package/dist/cjs/fields/Geolocation/mapMath.native.js +108 -0
- package/dist/cjs/fields/Geolocation/mapMath.native.js.map +1 -0
- package/dist/cjs/fields/ImageField/index.cjs +306 -168
- package/dist/cjs/fields/ImageField/index.native.js +323 -181
- package/dist/cjs/fields/ImageField/index.native.js.map +1 -1
- package/dist/cjs/fields/Input/index.cjs +133 -121
- package/dist/cjs/fields/Input/index.native.js +133 -121
- package/dist/cjs/fields/Input/index.native.js.map +1 -1
- package/dist/cjs/fields/MentionInput/index.cjs +142 -27
- package/dist/cjs/fields/MentionInput/index.native.js +164 -39
- package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/index.cjs +188 -58
- package/dist/cjs/fields/OTPInput/index.native.js +197 -53
- package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
- package/dist/cjs/fields/OTPInput/otpCellCss.cjs +84 -0
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js +87 -0
- package/dist/cjs/fields/OTPInput/otpCellCss.native.js.map +1 -0
- package/dist/cjs/fields/PhoneInput/index.cjs +200 -105
- package/dist/cjs/fields/PhoneInput/index.native.js +241 -143
- package/dist/cjs/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/cjs/fields/PhoneInput/phone.cjs +234 -0
- package/dist/cjs/fields/PhoneInput/phone.native.js +301 -0
- package/dist/cjs/fields/PhoneInput/phone.native.js.map +1 -0
- package/dist/cjs/fields/Progress/index.cjs +169 -52
- package/dist/cjs/fields/Progress/index.native.js +170 -50
- package/dist/cjs/fields/Progress/index.native.js.map +1 -1
- package/dist/cjs/fields/RadioGroup/index.cjs +138 -74
- package/dist/cjs/fields/RadioGroup/index.native.js +151 -82
- package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/StarInk.cjs +41 -0
- package/dist/cjs/fields/Rating/StarInk.native.js +77 -0
- package/dist/cjs/fields/Rating/StarInk.native.js.map +1 -0
- package/dist/cjs/fields/Rating/index.cjs +154 -53
- package/dist/cjs/fields/Rating/index.native.js +162 -56
- package/dist/cjs/fields/Rating/index.native.js.map +1 -1
- package/dist/cjs/fields/Rating/types.cjs +18 -0
- package/dist/cjs/fields/Rating/types.native.js +21 -0
- package/dist/cjs/fields/Rating/types.native.js.map +1 -0
- package/dist/cjs/fields/SearchInput/index.cjs +192 -54
- package/dist/cjs/fields/SearchInput/index.native.js +195 -54
- package/dist/cjs/fields/SearchInput/index.native.js.map +1 -1
- package/dist/cjs/fields/Select/index.cjs +152 -24
- package/dist/cjs/fields/Select/index.native.js +168 -24
- package/dist/cjs/fields/Select/index.native.js.map +1 -1
- package/dist/cjs/fields/Signature/index.cjs +143 -49
- package/dist/cjs/fields/Signature/index.native.js +152 -53
- package/dist/cjs/fields/Signature/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/index.cjs +224 -153
- package/dist/cjs/fields/Slider/index.native.js +249 -166
- package/dist/cjs/fields/Slider/index.native.js.map +1 -1
- package/dist/cjs/fields/Slider/jumpMotion.cjs +5 -11
- package/dist/cjs/fields/Slider/jumpMotion.native.js +5 -11
- package/dist/cjs/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/cjs/fields/Stepper/index.cjs +272 -122
- package/dist/cjs/fields/Stepper/index.native.js +290 -125
- package/dist/cjs/fields/Stepper/index.native.js.map +1 -1
- package/dist/cjs/fields/Switch/index.cjs +174 -54
- package/dist/cjs/fields/Switch/index.native.js +186 -56
- package/dist/cjs/fields/Switch/index.native.js.map +1 -1
- package/dist/cjs/fields/TextArea/index.cjs +67 -21
- package/dist/cjs/fields/TextArea/index.native.js +75 -22
- package/dist/cjs/fields/TextArea/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/index.cjs +57 -248
- package/dist/cjs/fields/TimePicker/index.native.js +66 -276
- package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
- package/dist/cjs/fields/TimePicker/parts.cjs +648 -0
- package/dist/cjs/fields/TimePicker/parts.native.js +685 -0
- package/dist/cjs/fields/TimePicker/parts.native.js.map +1 -0
- package/dist/cjs/fields/ToggleGroup/index.cjs +115 -106
- package/dist/cjs/fields/ToggleGroup/index.native.js +123 -116
- package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/cjs/formSpacing.native.js.map +1 -1
- package/dist/cjs/index.cjs +1 -0
- package/dist/cjs/index.native.js +1 -0
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/shared/devWarn.cjs +1 -0
- package/dist/cjs/shared/devWarn.native.js +1 -0
- package/dist/cjs/shared/devWarn.native.js.map +1 -1
- package/dist/cjs/shared/focusManagement.cjs +9 -2
- package/dist/cjs/shared/focusManagement.native.js +9 -2
- package/dist/cjs/shared/focusManagement.native.js.map +1 -1
- package/dist/cjs/shared/i18n.cjs +46 -0
- package/dist/cjs/shared/i18n.native.js +52 -0
- package/dist/cjs/shared/i18n.native.js.map +1 -0
- package/dist/cjs/shared/utils.cjs +3 -2
- package/dist/cjs/shared/utils.native.js +3 -2
- package/dist/cjs/shared/utils.native.js.map +1 -1
- package/dist/cjs/themedPrimitives.cjs +12 -24
- package/dist/cjs/themedPrimitives.native.js +12 -24
- package/dist/cjs/themedPrimitives.native.js.map +1 -1
- package/dist/esm/AdaptivePopup/index.mjs +182 -49
- package/dist/esm/AdaptivePopup/index.mjs.map +1 -1
- package/dist/esm/AdaptivePopup/index.native.js +187 -51
- package/dist/esm/AdaptivePopup/index.native.js.map +1 -1
- package/dist/esm/Button/index.mjs +238 -68
- package/dist/esm/Button/index.mjs.map +1 -1
- package/dist/esm/Button/index.native.js +291 -88
- package/dist/esm/Button/index.native.js.map +1 -1
- package/dist/esm/Chip/index.mjs +293 -78
- package/dist/esm/Chip/index.mjs.map +1 -1
- package/dist/esm/Chip/index.native.js +308 -77
- package/dist/esm/Chip/index.native.js.map +1 -1
- package/dist/esm/ControlGroup/index.mjs +145 -69
- package/dist/esm/ControlGroup/index.mjs.map +1 -1
- package/dist/esm/ControlGroup/index.native.js +143 -63
- package/dist/esm/ControlGroup/index.native.js.map +1 -1
- package/dist/esm/FieldDisplay/index.mjs +439 -93
- package/dist/esm/FieldDisplay/index.mjs.map +1 -1
- package/dist/esm/FieldDisplay/index.native.js +457 -97
- package/dist/esm/FieldDisplay/index.native.js.map +1 -1
- package/dist/esm/FieldGroup.mjs +43 -40
- package/dist/esm/FieldGroup.mjs.map +1 -1
- package/dist/esm/FieldGroup.native.js +43 -40
- package/dist/esm/FieldGroup.native.js.map +1 -1
- package/dist/esm/FloatingPanel/index.mjs +80 -10
- package/dist/esm/FloatingPanel/index.mjs.map +1 -1
- package/dist/esm/FloatingPanel/index.native.js +10 -8
- package/dist/esm/FloatingPanel/index.native.js.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs +22 -7
- package/dist/esm/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js +22 -7
- package/dist/esm/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/esm/Form/index.mjs +51 -11
- package/dist/esm/Form/index.mjs.map +1 -1
- package/dist/esm/Form/index.native.js +52 -11
- package/dist/esm/Form/index.native.js.map +1 -1
- package/dist/esm/FormGrid.mjs +35 -6
- package/dist/esm/FormGrid.mjs.map +1 -1
- package/dist/esm/FormGrid.native.js +35 -6
- package/dist/esm/FormGrid.native.js.map +1 -1
- package/dist/esm/FormSection.mjs +13 -6
- package/dist/esm/FormSection.mjs.map +1 -1
- package/dist/esm/FormSection.native.js +13 -6
- package/dist/esm/FormSection.native.js.map +1 -1
- package/dist/esm/InputParts/index.mjs +304 -80
- package/dist/esm/InputParts/index.mjs.map +1 -1
- package/dist/esm/InputParts/index.native.js +331 -87
- package/dist/esm/InputParts/index.native.js.map +1 -1
- package/dist/esm/Label/index.mjs +83 -6
- package/dist/esm/Label/index.mjs.map +1 -1
- package/dist/esm/Label/index.native.js +87 -6
- package/dist/esm/Label/index.native.js.map +1 -1
- package/dist/esm/Skeleton/index.mjs +15 -12
- package/dist/esm/Skeleton/index.mjs.map +1 -1
- package/dist/esm/Skeleton/index.native.js +16 -13
- package/dist/esm/Skeleton/index.native.js.map +1 -1
- package/dist/esm/Spinner/SpinnerGlyph.mjs +49 -0
- package/dist/esm/Spinner/SpinnerGlyph.mjs.map +1 -0
- package/dist/esm/Spinner/SpinnerGlyph.native.js +52 -0
- package/dist/esm/Spinner/SpinnerGlyph.native.js.map +1 -0
- package/dist/esm/Spinner/index.mjs +26 -18
- package/dist/esm/Spinner/index.mjs.map +1 -1
- package/dist/esm/Spinner/index.native.js +50 -28
- package/dist/esm/Spinner/index.native.js.map +1 -1
- package/dist/esm/Spinner/spinnerSize.mjs +12 -0
- package/dist/esm/Spinner/spinnerSize.mjs.map +1 -0
- package/dist/esm/Spinner/spinnerSize.native.js +12 -0
- package/dist/esm/Spinner/spinnerSize.native.js.map +1 -0
- package/dist/esm/fieldLayout.mjs.map +1 -1
- package/dist/esm/fieldLayout.native.js.map +1 -1
- package/dist/esm/fields/Barcode/BarcodeScanner.mjs +27 -9
- package/dist/esm/fields/Barcode/BarcodeScanner.mjs.map +1 -1
- package/dist/esm/fields/Barcode/BarcodeScanner.native.js +9 -3
- package/dist/esm/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/esm/fields/Barcode/index.mjs +93 -65
- package/dist/esm/fields/Barcode/index.mjs.map +1 -1
- package/dist/esm/fields/Barcode/index.native.js +100 -65
- package/dist/esm/fields/Barcode/index.native.js.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.mjs +88 -1
- package/dist/esm/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js +126 -1
- package/dist/esm/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.mjs +38 -91
- package/dist/esm/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/Checkbox.native.js +39 -91
- package/dist/esm/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs +103 -0
- package/dist/esm/fields/Checkbox/CheckboxBox.mjs.map +1 -0
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js +111 -0
- package/dist/esm/fields/Checkbox/CheckboxBox.native.js.map +1 -0
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs +2 -2
- package/dist/esm/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js +2 -2
- package/dist/esm/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs +16 -36
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
- package/dist/esm/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs +3 -2
- package/dist/esm/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js +3 -2
- package/dist/esm/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/esm/fields/Checkbox/index.mjs +54 -81
- package/dist/esm/fields/Checkbox/index.mjs.map +1 -1
- package/dist/esm/fields/Checkbox/index.native.js +56 -81
- package/dist/esm/fields/Checkbox/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/gradients.mjs +9 -4
- package/dist/esm/fields/ColorPicker/gradients.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/gradients.native.js +37 -18
- package/dist/esm/fields/ColorPicker/gradients.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/index.mjs +81 -54
- package/dist/esm/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/index.native.js +108 -59
- package/dist/esm/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.mjs +425 -237
- package/dist/esm/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/esm/fields/ColorPicker/parts.native.js +447 -241
- package/dist/esm/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/esm/fields/Combobox/index.mjs +172 -42
- package/dist/esm/fields/Combobox/index.mjs.map +1 -1
- package/dist/esm/fields/Combobox/index.native.js +177 -42
- package/dist/esm/fields/Combobox/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.mjs +69 -172
- package/dist/esm/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/Calendar.native.js +73 -196
- package/dist/esm/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs +52 -123
- package/dist/esm/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js +57 -127
- package/dist/esm/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.mjs +71 -185
- package/dist/esm/fields/DatePicker/DatetimePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js +77 -199
- package/dist/esm/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.mjs +60 -63
- package/dist/esm/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MonthPicker.native.js +67 -65
- package/dist/esm/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs +14 -80
- package/dist/esm/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js +23 -86
- package/dist/esm/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/index.mjs +13 -81
- package/dist/esm/fields/DatePicker/index.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/index.native.js +24 -85
- package/dist/esm/fields/DatePicker/index.native.js.map +1 -1
- package/dist/esm/fields/DatePicker/parts.mjs +542 -184
- package/dist/esm/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/esm/fields/DatePicker/parts.native.js +570 -181
- package/dist/esm/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/esm/fields/Duration/index.mjs +313 -162
- package/dist/esm/fields/Duration/index.mjs.map +1 -1
- package/dist/esm/fields/Duration/index.native.js +344 -185
- package/dist/esm/fields/Duration/index.native.js.map +1 -1
- package/dist/esm/fields/FileUpload/index.mjs +146 -27
- package/dist/esm/fields/FileUpload/index.mjs.map +1 -1
- package/dist/esm/fields/FileUpload/index.native.js +161 -32
- package/dist/esm/fields/FileUpload/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/GeolocationMap.mjs +116 -21
- package/dist/esm/fields/Geolocation/GeolocationMap.mjs.map +1 -1
- package/dist/esm/fields/Geolocation/GeolocationMap.native.js +10 -10
- package/dist/esm/fields/Geolocation/GeolocationMap.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/index.mjs +127 -78
- package/dist/esm/fields/Geolocation/index.mjs.map +1 -1
- package/dist/esm/fields/Geolocation/index.native.js +136 -93
- package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
- package/dist/esm/fields/Geolocation/mapMath.mjs +72 -0
- package/dist/esm/fields/Geolocation/mapMath.mjs.map +1 -0
- package/dist/esm/fields/Geolocation/mapMath.native.js +72 -0
- package/dist/esm/fields/Geolocation/mapMath.native.js.map +1 -0
- package/dist/esm/fields/ImageField/index.mjs +311 -173
- package/dist/esm/fields/ImageField/index.mjs.map +1 -1
- package/dist/esm/fields/ImageField/index.native.js +328 -186
- package/dist/esm/fields/ImageField/index.native.js.map +1 -1
- package/dist/esm/fields/Input/index.mjs +136 -124
- package/dist/esm/fields/Input/index.mjs.map +1 -1
- package/dist/esm/fields/Input/index.native.js +136 -124
- package/dist/esm/fields/Input/index.native.js.map +1 -1
- package/dist/esm/fields/MentionInput/index.mjs +143 -28
- package/dist/esm/fields/MentionInput/index.mjs.map +1 -1
- package/dist/esm/fields/MentionInput/index.native.js +165 -40
- package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/index.mjs +187 -58
- package/dist/esm/fields/OTPInput/index.mjs.map +1 -1
- package/dist/esm/fields/OTPInput/index.native.js +196 -53
- package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
- package/dist/esm/fields/OTPInput/otpCellCss.mjs +59 -0
- package/dist/esm/fields/OTPInput/otpCellCss.mjs.map +1 -0
- package/dist/esm/fields/OTPInput/otpCellCss.native.js +59 -0
- package/dist/esm/fields/OTPInput/otpCellCss.native.js.map +1 -0
- package/dist/esm/fields/PhoneInput/index.mjs +208 -113
- package/dist/esm/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/esm/fields/PhoneInput/index.native.js +249 -151
- package/dist/esm/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/esm/fields/PhoneInput/phone.mjs +196 -0
- package/dist/esm/fields/PhoneInput/phone.mjs.map +1 -0
- package/dist/esm/fields/PhoneInput/phone.native.js +260 -0
- package/dist/esm/fields/PhoneInput/phone.native.js.map +1 -0
- package/dist/esm/fields/Progress/index.mjs +173 -56
- package/dist/esm/fields/Progress/index.mjs.map +1 -1
- package/dist/esm/fields/Progress/index.native.js +174 -54
- package/dist/esm/fields/Progress/index.native.js.map +1 -1
- package/dist/esm/fields/RadioGroup/index.mjs +138 -74
- package/dist/esm/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/esm/fields/RadioGroup/index.native.js +151 -82
- package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/StarInk.mjs +16 -0
- package/dist/esm/fields/Rating/StarInk.mjs.map +1 -0
- package/dist/esm/fields/Rating/StarInk.native.js +48 -0
- package/dist/esm/fields/Rating/StarInk.native.js.map +1 -0
- package/dist/esm/fields/Rating/index.mjs +157 -45
- package/dist/esm/fields/Rating/index.mjs.map +1 -1
- package/dist/esm/fields/Rating/index.native.js +165 -48
- package/dist/esm/fields/Rating/index.native.js.map +1 -1
- package/dist/esm/fields/Rating/types.mjs +2 -0
- package/dist/esm/fields/Rating/types.mjs.map +1 -0
- package/dist/esm/fields/Rating/types.native.js +2 -0
- package/dist/esm/fields/Rating/types.native.js.map +1 -0
- package/dist/esm/fields/SearchInput/index.mjs +195 -57
- package/dist/esm/fields/SearchInput/index.mjs.map +1 -1
- package/dist/esm/fields/SearchInput/index.native.js +198 -57
- package/dist/esm/fields/SearchInput/index.native.js.map +1 -1
- package/dist/esm/fields/Select/index.mjs +155 -27
- package/dist/esm/fields/Select/index.mjs.map +1 -1
- package/dist/esm/fields/Select/index.native.js +171 -27
- package/dist/esm/fields/Select/index.native.js.map +1 -1
- package/dist/esm/fields/Signature/index.mjs +145 -40
- package/dist/esm/fields/Signature/index.mjs.map +1 -1
- package/dist/esm/fields/Signature/index.native.js +154 -44
- package/dist/esm/fields/Signature/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/index.mjs +227 -156
- package/dist/esm/fields/Slider/index.mjs.map +1 -1
- package/dist/esm/fields/Slider/index.native.js +252 -169
- package/dist/esm/fields/Slider/index.native.js.map +1 -1
- package/dist/esm/fields/Slider/jumpMotion.mjs +5 -11
- package/dist/esm/fields/Slider/jumpMotion.mjs.map +1 -1
- package/dist/esm/fields/Slider/jumpMotion.native.js +5 -11
- package/dist/esm/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/esm/fields/Stepper/index.mjs +252 -102
- package/dist/esm/fields/Stepper/index.mjs.map +1 -1
- package/dist/esm/fields/Stepper/index.native.js +268 -103
- package/dist/esm/fields/Stepper/index.native.js.map +1 -1
- package/dist/esm/fields/Switch/index.mjs +176 -56
- package/dist/esm/fields/Switch/index.mjs.map +1 -1
- package/dist/esm/fields/Switch/index.native.js +188 -58
- package/dist/esm/fields/Switch/index.native.js.map +1 -1
- package/dist/esm/fields/TextArea/index.mjs +67 -21
- package/dist/esm/fields/TextArea/index.mjs.map +1 -1
- package/dist/esm/fields/TextArea/index.native.js +75 -22
- package/dist/esm/fields/TextArea/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/index.mjs +51 -246
- package/dist/esm/fields/TimePicker/index.mjs.map +1 -1
- package/dist/esm/fields/TimePicker/index.native.js +60 -274
- package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
- package/dist/esm/fields/TimePicker/parts.mjs +615 -0
- package/dist/esm/fields/TimePicker/parts.mjs.map +1 -0
- package/dist/esm/fields/TimePicker/parts.native.js +649 -0
- package/dist/esm/fields/TimePicker/parts.native.js.map +1 -0
- package/dist/esm/fields/ToggleGroup/index.mjs +119 -110
- package/dist/esm/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/esm/fields/ToggleGroup/index.native.js +127 -120
- package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/esm/formSpacing.mjs.map +1 -1
- package/dist/esm/formSpacing.native.js.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +2 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/shared/devWarn.mjs +2 -2
- package/dist/esm/shared/devWarn.mjs.map +1 -1
- package/dist/esm/shared/devWarn.native.js +2 -2
- package/dist/esm/shared/devWarn.native.js.map +1 -1
- package/dist/esm/shared/focusManagement.mjs +9 -2
- package/dist/esm/shared/focusManagement.mjs.map +1 -1
- package/dist/esm/shared/focusManagement.native.js +9 -2
- package/dist/esm/shared/focusManagement.native.js.map +1 -1
- package/dist/esm/shared/i18n.mjs +10 -0
- package/dist/esm/shared/i18n.mjs.map +1 -0
- package/dist/esm/shared/i18n.native.js +13 -0
- package/dist/esm/shared/i18n.native.js.map +1 -0
- package/dist/esm/shared/utils.mjs +5 -4
- package/dist/esm/shared/utils.mjs.map +1 -1
- package/dist/esm/shared/utils.native.js +5 -4
- package/dist/esm/shared/utils.native.js.map +1 -1
- package/dist/esm/themedPrimitives.mjs +13 -25
- package/dist/esm/themedPrimitives.mjs.map +1 -1
- package/dist/esm/themedPrimitives.native.js +13 -25
- package/dist/esm/themedPrimitives.native.js.map +1 -1
- package/dist/jsx/AdaptivePopup/index.mjs +182 -49
- package/dist/jsx/AdaptivePopup/index.mjs.map +1 -1
- package/dist/jsx/AdaptivePopup/index.native.js +184 -48
- package/dist/jsx/AdaptivePopup/index.native.js.map +1 -1
- package/dist/jsx/Button/index.mjs +238 -68
- package/dist/jsx/Button/index.mjs.map +1 -1
- package/dist/jsx/Button/index.native.js +291 -83
- package/dist/jsx/Button/index.native.js.map +1 -1
- package/dist/jsx/Chip/index.mjs +293 -78
- package/dist/jsx/Chip/index.mjs.map +1 -1
- package/dist/jsx/Chip/index.native.js +306 -73
- package/dist/jsx/Chip/index.native.js.map +1 -1
- package/dist/jsx/ControlGroup/index.mjs +145 -69
- package/dist/jsx/ControlGroup/index.mjs.map +1 -1
- package/dist/jsx/ControlGroup/index.native.js +141 -60
- package/dist/jsx/ControlGroup/index.native.js.map +1 -1
- package/dist/jsx/FieldDisplay/index.mjs +439 -93
- package/dist/jsx/FieldDisplay/index.mjs.map +1 -1
- package/dist/jsx/FieldDisplay/index.native.js +455 -95
- package/dist/jsx/FieldDisplay/index.native.js.map +1 -1
- package/dist/jsx/FieldGroup.mjs +43 -40
- package/dist/jsx/FieldGroup.mjs.map +1 -1
- package/dist/jsx/FieldGroup.native.js +43 -40
- package/dist/jsx/FieldGroup.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/index.mjs +80 -10
- package/dist/jsx/FloatingPanel/index.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/index.native.js +9 -7
- package/dist/jsx/FloatingPanel/index.native.js.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs +22 -7
- package/dist/jsx/FloatingPanel/useFloatingPanel.mjs.map +1 -1
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js +21 -5
- package/dist/jsx/FloatingPanel/useFloatingPanel.native.js.map +1 -1
- package/dist/jsx/Form/index.mjs +51 -11
- package/dist/jsx/Form/index.mjs.map +1 -1
- package/dist/jsx/Form/index.native.js +50 -8
- package/dist/jsx/Form/index.native.js.map +1 -1
- package/dist/jsx/FormGrid.mjs +35 -6
- package/dist/jsx/FormGrid.mjs.map +1 -1
- package/dist/jsx/FormGrid.native.js +35 -6
- package/dist/jsx/FormGrid.native.js.map +1 -1
- package/dist/jsx/FormSection.mjs +13 -6
- package/dist/jsx/FormSection.mjs.map +1 -1
- package/dist/jsx/FormSection.native.js +13 -6
- package/dist/jsx/FormSection.native.js.map +1 -1
- package/dist/jsx/InputParts/index.mjs +304 -80
- package/dist/jsx/InputParts/index.mjs.map +1 -1
- package/dist/jsx/InputParts/index.native.js +332 -84
- package/dist/jsx/InputParts/index.native.js.map +1 -1
- package/dist/jsx/Label/index.mjs +83 -6
- package/dist/jsx/Label/index.mjs.map +1 -1
- package/dist/jsx/Label/index.native.js +85 -4
- package/dist/jsx/Label/index.native.js.map +1 -1
- package/dist/jsx/Skeleton/index.mjs +15 -12
- package/dist/jsx/Skeleton/index.mjs.map +1 -1
- package/dist/jsx/Skeleton/index.native.js +15 -12
- package/dist/jsx/Skeleton/index.native.js.map +1 -1
- package/dist/jsx/Spinner/SpinnerGlyph.mjs +49 -0
- package/dist/jsx/Spinner/SpinnerGlyph.mjs.map +1 -0
- package/dist/jsx/Spinner/SpinnerGlyph.native.js +81 -0
- package/dist/jsx/Spinner/SpinnerGlyph.native.js.map +1 -0
- package/dist/jsx/Spinner/index.mjs +26 -18
- package/dist/jsx/Spinner/index.mjs.map +1 -1
- package/dist/jsx/Spinner/index.native.js +53 -31
- package/dist/jsx/Spinner/index.native.js.map +1 -1
- package/dist/jsx/Spinner/spinnerSize.mjs +12 -0
- package/dist/jsx/Spinner/spinnerSize.mjs.map +1 -0
- package/dist/jsx/Spinner/spinnerSize.native.js +41 -0
- package/dist/jsx/Spinner/spinnerSize.native.js.map +1 -0
- package/dist/jsx/fieldLayout.mjs.map +1 -1
- package/dist/jsx/fieldLayout.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.mjs +27 -9
- package/dist/jsx/fields/Barcode/BarcodeScanner.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js +9 -3
- package/dist/jsx/fields/Barcode/BarcodeScanner.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/index.mjs +93 -65
- package/dist/jsx/fields/Barcode/index.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/index.native.js +97 -62
- package/dist/jsx/fields/Barcode/index.native.js.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.mjs +88 -1
- package/dist/jsx/fields/Barcode/scannerTypes.mjs.map +1 -1
- package/dist/jsx/fields/Barcode/scannerTypes.native.js +137 -0
- package/dist/jsx/fields/Barcode/scannerTypes.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.mjs +38 -91
- package/dist/jsx/fields/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/Checkbox.native.js +36 -88
- package/dist/jsx/fields/Checkbox/Checkbox.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs +103 -0
- package/dist/jsx/fields/Checkbox/CheckboxBox.mjs.map +1 -0
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js +145 -0
- package/dist/jsx/fields/Checkbox/CheckboxBox.native.js.map +1 -0
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs +2 -2
- package/dist/jsx/fields/Checkbox/CheckboxCard.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js +2 -2
- package/dist/jsx/fields/Checkbox/CheckboxCard.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs +16 -36
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js +16 -36
- package/dist/jsx/fields/Checkbox/CheckboxFieldFrame.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs +3 -2
- package/dist/jsx/fields/Checkbox/CheckboxGroup.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js +3 -2
- package/dist/jsx/fields/Checkbox/CheckboxGroup.native.js.map +1 -1
- package/dist/jsx/fields/Checkbox/index.mjs +54 -81
- package/dist/jsx/fields/Checkbox/index.mjs.map +1 -1
- package/dist/jsx/fields/Checkbox/index.native.js +52 -77
- package/dist/jsx/fields/Checkbox/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/gradients.mjs +9 -4
- package/dist/jsx/fields/ColorPicker/gradients.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/gradients.native.js +37 -18
- package/dist/jsx/fields/ColorPicker/gradients.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.mjs +81 -54
- package/dist/jsx/fields/ColorPicker/index.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/index.native.js +104 -55
- package/dist/jsx/fields/ColorPicker/index.native.js.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.mjs +425 -237
- package/dist/jsx/fields/ColorPicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/ColorPicker/parts.native.js +447 -238
- package/dist/jsx/fields/ColorPicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/Combobox/index.mjs +172 -42
- package/dist/jsx/fields/Combobox/index.mjs.map +1 -1
- package/dist/jsx/fields/Combobox/index.native.js +180 -45
- package/dist/jsx/fields/Combobox/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.mjs +69 -172
- package/dist/jsx/fields/DatePicker/Calendar.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/Calendar.native.js +71 -194
- package/dist/jsx/fields/DatePicker/Calendar.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs +52 -123
- package/dist/jsx/fields/DatePicker/DateRangePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js +53 -123
- package/dist/jsx/fields/DatePicker/DateRangePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.mjs +71 -185
- package/dist/jsx/fields/DatePicker/DatetimePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js +73 -195
- package/dist/jsx/fields/DatePicker/DatetimePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs +60 -63
- package/dist/jsx/fields/DatePicker/MonthPicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js +66 -64
- package/dist/jsx/fields/DatePicker/MonthPicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs +14 -80
- package/dist/jsx/fields/DatePicker/MultiDatePicker.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js +20 -83
- package/dist/jsx/fields/DatePicker/MultiDatePicker.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/index.mjs +13 -81
- package/dist/jsx/fields/DatePicker/index.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/index.native.js +22 -83
- package/dist/jsx/fields/DatePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.mjs +542 -184
- package/dist/jsx/fields/DatePicker/parts.mjs.map +1 -1
- package/dist/jsx/fields/DatePicker/parts.native.js +575 -178
- package/dist/jsx/fields/DatePicker/parts.native.js.map +1 -1
- package/dist/jsx/fields/Duration/index.mjs +313 -162
- package/dist/jsx/fields/Duration/index.mjs.map +1 -1
- package/dist/jsx/fields/Duration/index.native.js +345 -182
- package/dist/jsx/fields/Duration/index.native.js.map +1 -1
- package/dist/jsx/fields/FileUpload/index.mjs +146 -27
- package/dist/jsx/fields/FileUpload/index.mjs.map +1 -1
- package/dist/jsx/fields/FileUpload/index.native.js +161 -32
- package/dist/jsx/fields/FileUpload/index.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/GeolocationMap.mjs +116 -21
- package/dist/jsx/fields/Geolocation/GeolocationMap.mjs.map +1 -1
- package/dist/jsx/fields/Geolocation/GeolocationMap.native.js +11 -11
- package/dist/jsx/fields/Geolocation/GeolocationMap.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/index.mjs +127 -78
- package/dist/jsx/fields/Geolocation/index.mjs.map +1 -1
- package/dist/jsx/fields/Geolocation/index.native.js +134 -91
- package/dist/jsx/fields/Geolocation/index.native.js.map +1 -1
- package/dist/jsx/fields/Geolocation/mapMath.mjs +72 -0
- package/dist/jsx/fields/Geolocation/mapMath.mjs.map +1 -0
- package/dist/jsx/fields/Geolocation/mapMath.native.js +108 -0
- package/dist/jsx/fields/Geolocation/mapMath.native.js.map +1 -0
- package/dist/jsx/fields/ImageField/index.mjs +311 -173
- package/dist/jsx/fields/ImageField/index.mjs.map +1 -1
- package/dist/jsx/fields/ImageField/index.native.js +323 -181
- package/dist/jsx/fields/ImageField/index.native.js.map +1 -1
- package/dist/jsx/fields/Input/index.mjs +136 -124
- package/dist/jsx/fields/Input/index.mjs.map +1 -1
- package/dist/jsx/fields/Input/index.native.js +133 -121
- package/dist/jsx/fields/Input/index.native.js.map +1 -1
- package/dist/jsx/fields/MentionInput/index.mjs +143 -28
- package/dist/jsx/fields/MentionInput/index.mjs.map +1 -1
- package/dist/jsx/fields/MentionInput/index.native.js +164 -39
- package/dist/jsx/fields/MentionInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/index.mjs +187 -58
- package/dist/jsx/fields/OTPInput/index.mjs.map +1 -1
- package/dist/jsx/fields/OTPInput/index.native.js +197 -53
- package/dist/jsx/fields/OTPInput/index.native.js.map +1 -1
- package/dist/jsx/fields/OTPInput/otpCellCss.mjs +59 -0
- package/dist/jsx/fields/OTPInput/otpCellCss.mjs.map +1 -0
- package/dist/jsx/fields/OTPInput/otpCellCss.native.js +87 -0
- package/dist/jsx/fields/OTPInput/otpCellCss.native.js.map +1 -0
- package/dist/jsx/fields/PhoneInput/index.mjs +208 -113
- package/dist/jsx/fields/PhoneInput/index.mjs.map +1 -1
- package/dist/jsx/fields/PhoneInput/index.native.js +241 -143
- package/dist/jsx/fields/PhoneInput/index.native.js.map +1 -1
- package/dist/jsx/fields/PhoneInput/phone.mjs +196 -0
- package/dist/jsx/fields/PhoneInput/phone.mjs.map +1 -0
- package/dist/jsx/fields/PhoneInput/phone.native.js +301 -0
- package/dist/jsx/fields/PhoneInput/phone.native.js.map +1 -0
- package/dist/jsx/fields/Progress/index.mjs +173 -56
- package/dist/jsx/fields/Progress/index.mjs.map +1 -1
- package/dist/jsx/fields/Progress/index.native.js +170 -50
- package/dist/jsx/fields/Progress/index.native.js.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.mjs +138 -74
- package/dist/jsx/fields/RadioGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/RadioGroup/index.native.js +151 -82
- package/dist/jsx/fields/RadioGroup/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/StarInk.mjs +16 -0
- package/dist/jsx/fields/Rating/StarInk.mjs.map +1 -0
- package/dist/jsx/fields/Rating/StarInk.native.js +77 -0
- package/dist/jsx/fields/Rating/StarInk.native.js.map +1 -0
- package/dist/jsx/fields/Rating/index.mjs +157 -45
- package/dist/jsx/fields/Rating/index.mjs.map +1 -1
- package/dist/jsx/fields/Rating/index.native.js +162 -56
- package/dist/jsx/fields/Rating/index.native.js.map +1 -1
- package/dist/jsx/fields/Rating/types.mjs +2 -0
- package/dist/jsx/fields/Rating/types.mjs.map +1 -0
- package/dist/jsx/fields/Rating/types.native.js +21 -0
- package/dist/jsx/fields/Rating/types.native.js.map +1 -0
- package/dist/jsx/fields/SearchInput/index.mjs +195 -57
- package/dist/jsx/fields/SearchInput/index.mjs.map +1 -1
- package/dist/jsx/fields/SearchInput/index.native.js +195 -54
- package/dist/jsx/fields/SearchInput/index.native.js.map +1 -1
- package/dist/jsx/fields/Select/index.mjs +155 -27
- package/dist/jsx/fields/Select/index.mjs.map +1 -1
- package/dist/jsx/fields/Select/index.native.js +168 -24
- package/dist/jsx/fields/Select/index.native.js.map +1 -1
- package/dist/jsx/fields/Signature/index.mjs +145 -40
- package/dist/jsx/fields/Signature/index.mjs.map +1 -1
- package/dist/jsx/fields/Signature/index.native.js +152 -53
- package/dist/jsx/fields/Signature/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/index.mjs +227 -156
- package/dist/jsx/fields/Slider/index.mjs.map +1 -1
- package/dist/jsx/fields/Slider/index.native.js +249 -166
- package/dist/jsx/fields/Slider/index.native.js.map +1 -1
- package/dist/jsx/fields/Slider/jumpMotion.mjs +5 -11
- package/dist/jsx/fields/Slider/jumpMotion.mjs.map +1 -1
- package/dist/jsx/fields/Slider/jumpMotion.native.js +5 -11
- package/dist/jsx/fields/Slider/jumpMotion.native.js.map +1 -1
- package/dist/jsx/fields/Stepper/index.mjs +252 -102
- package/dist/jsx/fields/Stepper/index.mjs.map +1 -1
- package/dist/jsx/fields/Stepper/index.native.js +290 -125
- package/dist/jsx/fields/Stepper/index.native.js.map +1 -1
- package/dist/jsx/fields/Switch/index.mjs +176 -56
- package/dist/jsx/fields/Switch/index.mjs.map +1 -1
- package/dist/jsx/fields/Switch/index.native.js +186 -56
- package/dist/jsx/fields/Switch/index.native.js.map +1 -1
- package/dist/jsx/fields/TextArea/index.mjs +67 -21
- package/dist/jsx/fields/TextArea/index.mjs.map +1 -1
- package/dist/jsx/fields/TextArea/index.native.js +75 -22
- package/dist/jsx/fields/TextArea/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/index.mjs +51 -246
- package/dist/jsx/fields/TimePicker/index.mjs.map +1 -1
- package/dist/jsx/fields/TimePicker/index.native.js +66 -276
- package/dist/jsx/fields/TimePicker/index.native.js.map +1 -1
- package/dist/jsx/fields/TimePicker/parts.mjs +615 -0
- package/dist/jsx/fields/TimePicker/parts.mjs.map +1 -0
- package/dist/jsx/fields/TimePicker/parts.native.js +685 -0
- package/dist/jsx/fields/TimePicker/parts.native.js.map +1 -0
- package/dist/jsx/fields/ToggleGroup/index.mjs +119 -110
- package/dist/jsx/fields/ToggleGroup/index.mjs.map +1 -1
- package/dist/jsx/fields/ToggleGroup/index.native.js +123 -116
- package/dist/jsx/fields/ToggleGroup/index.native.js.map +1 -1
- package/dist/jsx/formSpacing.mjs.map +1 -1
- package/dist/jsx/formSpacing.native.js.map +1 -1
- package/dist/jsx/index.js +2 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +2 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +1 -0
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/shared/devWarn.mjs +2 -2
- package/dist/jsx/shared/devWarn.mjs.map +1 -1
- package/dist/jsx/shared/devWarn.native.js +1 -0
- package/dist/jsx/shared/devWarn.native.js.map +1 -1
- package/dist/jsx/shared/focusManagement.mjs +9 -2
- package/dist/jsx/shared/focusManagement.mjs.map +1 -1
- package/dist/jsx/shared/focusManagement.native.js +9 -2
- package/dist/jsx/shared/focusManagement.native.js.map +1 -1
- package/dist/jsx/shared/i18n.mjs +10 -0
- package/dist/jsx/shared/i18n.mjs.map +1 -0
- package/dist/jsx/shared/i18n.native.js +52 -0
- package/dist/jsx/shared/i18n.native.js.map +1 -0
- package/dist/jsx/shared/utils.mjs +5 -4
- package/dist/jsx/shared/utils.mjs.map +1 -1
- package/dist/jsx/shared/utils.native.js +3 -2
- package/dist/jsx/shared/utils.native.js.map +1 -1
- package/dist/jsx/themedPrimitives.mjs +13 -25
- package/dist/jsx/themedPrimitives.mjs.map +1 -1
- package/dist/jsx/themedPrimitives.native.js +12 -24
- package/dist/jsx/themedPrimitives.native.js.map +1 -1
- package/package.json +16 -16
- package/src/AdaptivePopup/AdaptivePopup.spec.tsx +210 -0
- package/src/AdaptivePopup/index.tsx +187 -52
- package/src/Button/Button.lc18.spec.tsx +134 -0
- package/src/Button/Button.lc50.spec.tsx +73 -0
- package/src/Button/Button.lc71.spec.tsx +109 -0
- package/src/Button/Button.spec.tsx +128 -0
- package/src/Button/Button.stories.tsx +40 -0
- package/src/Button/index.tsx +355 -73
- package/src/Chip/Chip.spec.tsx +173 -1
- package/src/Chip/index.tsx +425 -64
- package/src/ControlGroup/ControlGroup.stories.tsx +46 -3
- package/src/ControlGroup/index.tsx +179 -74
- package/src/FieldDisplay/FieldDisplay.spec.tsx +121 -0
- package/src/FieldDisplay/FieldDisplay.stories.tsx +16 -5
- package/src/FieldDisplay/index.tsx +416 -102
- package/src/FieldGroup.tsx +46 -42
- package/src/FloatingPanel/FloatingPanel.spec.tsx +263 -0
- package/src/FloatingPanel/FloatingPanel.stories.tsx +10 -39
- package/src/FloatingPanel/index.native.tsx +9 -8
- package/src/FloatingPanel/index.tsx +139 -11
- package/src/FloatingPanel/useFloatingPanel.spec.tsx +59 -0
- package/src/FloatingPanel/useFloatingPanel.ts +58 -7
- package/src/Form/Form.stories.tsx +181 -130
- package/src/Form/form.spec.tsx +43 -1
- package/src/Form/index.tsx +67 -12
- package/src/FormGrid.spec.tsx +41 -0
- package/src/FormGrid.stories.tsx +3 -4
- package/src/FormGrid.tsx +55 -15
- package/src/FormSection.tsx +14 -7
- package/src/InputParts/index.spec.tsx +62 -1
- package/src/InputParts/index.tsx +375 -72
- package/src/Label/Label.spec.tsx +65 -0
- package/src/Label/Label.stories.tsx +75 -5
- package/src/Label/index.tsx +101 -6
- package/src/Skeleton/index.tsx +18 -8
- package/src/Spinner/Spinner.spec.tsx +66 -0
- package/src/Spinner/Spinner.stories.tsx +43 -14
- package/src/Spinner/SpinnerGlyph.tsx +38 -0
- package/src/Spinner/index.native.tsx +64 -0
- package/src/Spinner/index.tsx +30 -37
- package/src/Spinner/spinnerSize.ts +27 -0
- package/src/fieldLayout.tsx +6 -0
- package/src/fields/Barcode/Barcode.spec.tsx +91 -1
- package/src/fields/Barcode/Barcode.stories.tsx +13 -0
- package/src/fields/Barcode/BarcodeScanner.native.tsx +6 -17
- package/src/fields/Barcode/BarcodeScanner.tsx +37 -6
- package/src/fields/Barcode/index.tsx +111 -66
- package/src/fields/Barcode/scannerTypes.ts +130 -0
- package/src/fields/Checkbox/Checkbox.spec.tsx +84 -3
- package/src/fields/Checkbox/Checkbox.tsx +52 -99
- package/src/fields/Checkbox/CheckboxBox.tsx +139 -0
- package/src/fields/Checkbox/CheckboxCard.tsx +1 -1
- package/src/fields/Checkbox/CheckboxFieldFrame.tsx +14 -30
- package/src/fields/Checkbox/CheckboxGroup.tsx +8 -2
- package/src/fields/Checkbox/index.tsx +49 -82
- package/src/fields/ColorPicker/ColorPicker.spec.tsx +84 -2
- package/src/fields/ColorPicker/ColorPicker.stories.tsx +1 -1
- package/src/fields/ColorPicker/gradients.native.tsx +23 -5
- package/src/fields/ColorPicker/gradients.tsx +20 -5
- package/src/fields/ColorPicker/index.tsx +95 -71
- package/src/fields/ColorPicker/parts.tsx +498 -229
- package/src/fields/Combobox/Combobox.spec.tsx +33 -1
- package/src/fields/Combobox/index.tsx +219 -59
- package/src/fields/DatePicker/Calendar.spec.tsx +34 -0
- package/src/fields/DatePicker/Calendar.tsx +70 -200
- package/src/fields/DatePicker/DatePicker.spec.tsx +28 -1
- package/src/fields/DatePicker/DatePicker.stories.tsx +1 -1
- package/src/fields/DatePicker/DateRangePicker.spec.tsx +22 -1
- package/src/fields/DatePicker/DateRangePicker.stories.tsx +1 -1
- package/src/fields/DatePicker/DateRangePicker.tsx +55 -128
- package/src/fields/DatePicker/DatetimePicker.spec.tsx +14 -0
- package/src/fields/DatePicker/DatetimePicker.stories.tsx +1 -1
- package/src/fields/DatePicker/DatetimePicker.tsx +86 -224
- package/src/fields/DatePicker/MonthPicker.spec.tsx +44 -0
- package/src/fields/DatePicker/MonthPicker.stories.tsx +1 -1
- package/src/fields/DatePicker/MonthPicker.tsx +69 -62
- package/src/fields/DatePicker/MultiDatePicker.spec.tsx +22 -1
- package/src/fields/DatePicker/MultiDatePicker.stories.tsx +1 -1
- package/src/fields/DatePicker/MultiDatePicker.tsx +20 -90
- package/src/fields/DatePicker/index.tsx +23 -95
- package/src/fields/DatePicker/parts.tsx +583 -241
- package/src/fields/Duration/Duration.spec.tsx +58 -3
- package/src/fields/Duration/Duration.stories.tsx +20 -44
- package/src/fields/Duration/index.tsx +381 -183
- package/src/fields/FileUpload/FileUpload.spec.tsx +63 -1
- package/src/fields/FileUpload/index.tsx +163 -27
- package/src/fields/Geolocation/Geolocation.spec.tsx +144 -0
- package/src/fields/Geolocation/Geolocation.stories.tsx +11 -6
- package/src/fields/Geolocation/GeolocationMap.native.spec.tsx +7 -0
- package/src/fields/Geolocation/GeolocationMap.native.tsx +24 -19
- package/src/fields/Geolocation/GeolocationMap.tsx +134 -18
- package/src/fields/Geolocation/index.tsx +171 -120
- package/src/fields/Geolocation/mapMath.spec.ts +59 -0
- package/src/fields/Geolocation/mapMath.ts +91 -0
- package/src/fields/Geolocation/mapTypes.ts +7 -2
- package/src/fields/ImageField/ImageField.spec.tsx +68 -0
- package/src/fields/ImageField/ImageField.stories.tsx +40 -24
- package/src/fields/ImageField/index.tsx +381 -214
- package/src/fields/Input/Input.spec.tsx +111 -0
- package/src/fields/Input/Input.stories.tsx +37 -4
- package/src/fields/Input/index.tsx +139 -108
- package/src/fields/MentionInput/MentionInput.spec.tsx +115 -0
- package/src/fields/MentionInput/MentionInput.stories.tsx +1 -1
- package/src/fields/MentionInput/index.tsx +220 -69
- package/src/fields/OTPInput/OtpInput.spec.tsx +58 -1
- package/src/fields/OTPInput/OtpInput.stories.tsx +14 -18
- package/src/fields/OTPInput/index.tsx +220 -72
- package/src/fields/OTPInput/otpCellCss.ts +68 -0
- package/src/fields/PhoneInput/PhoneInput.spec.tsx +61 -8
- package/src/fields/PhoneInput/PhoneInput.stories.tsx +0 -2
- package/src/fields/PhoneInput/index.tsx +253 -140
- package/src/fields/PhoneInput/phone.spec.ts +85 -0
- package/src/fields/PhoneInput/phone.ts +268 -0
- package/src/fields/Progress/Progress.spec.tsx +53 -0
- package/src/fields/Progress/Progress.stories.tsx +7 -2
- package/src/fields/Progress/index.tsx +202 -64
- package/src/fields/RadioGroup/RadioGroup.spec.tsx +31 -4
- package/src/fields/RadioGroup/index.tsx +183 -93
- package/src/fields/Rating/Rating.spec.tsx +103 -0
- package/src/fields/Rating/Rating.stories.tsx +2 -1
- package/src/fields/Rating/StarInk.native.spec.tsx +175 -0
- package/src/fields/Rating/StarInk.native.tsx +77 -0
- package/src/fields/Rating/StarInk.tsx +23 -0
- package/src/fields/Rating/index.tsx +196 -46
- package/src/fields/Rating/types.ts +28 -0
- package/src/fields/SearchInput/SearchInput.spec.tsx +30 -0
- package/src/fields/SearchInput/SearchInput.stories.tsx +10 -1
- package/src/fields/SearchInput/index.tsx +207 -68
- package/src/fields/Select/Select.spec.tsx +55 -1
- package/src/fields/Select/index.tsx +172 -22
- package/src/fields/Signature/Signature.spec.tsx +122 -3
- package/src/fields/Signature/index.tsx +170 -54
- package/src/fields/Slider/Slider.spec.tsx +63 -21
- package/src/fields/Slider/index.tsx +282 -184
- package/src/fields/Slider/jumpMotion.ts +9 -25
- package/src/fields/Stepper/Stepper.spec.tsx +96 -0
- package/src/fields/Stepper/Stepper.stories.tsx +4 -6
- package/src/fields/Stepper/index.tsx +321 -129
- package/src/fields/Switch/Switch.spec.tsx +52 -3
- package/src/fields/Switch/Switch.stories.tsx +34 -0
- package/src/fields/Switch/index.tsx +234 -57
- package/src/fields/TextArea/TextArea.spec.tsx +38 -0
- package/src/fields/TextArea/TextArea.stories.tsx +11 -1
- package/src/fields/TextArea/index.tsx +79 -20
- package/src/fields/TimePicker/TimePicker.spec.tsx +66 -0
- package/src/fields/TimePicker/TimePicker.stories.tsx +8 -37
- package/src/fields/TimePicker/index.tsx +86 -292
- package/src/fields/TimePicker/parts.tsx +714 -0
- package/src/fields/ToggleGroup/ToggleGroup.spec.tsx +27 -0
- package/src/fields/ToggleGroup/ToggleGroup.stories.tsx +15 -0
- package/src/fields/ToggleGroup/index.tsx +144 -153
- package/src/formSpacing.ts +3 -8
- package/src/index.ts +2 -0
- package/src/shared/devWarn.ts +1 -0
- package/src/shared/focusManagement.ts +8 -2
- package/src/shared/i18n.ts +25 -0
- package/src/shared/utils.ts +5 -6
- package/src/themedPrimitives.tsx +14 -17
- package/types/AdaptivePopup/index.d.ts.map +1 -1
- package/types/Button/index.d.ts +51 -1
- package/types/Button/index.d.ts.map +1 -1
- package/types/Chip/index.d.ts +31 -7
- package/types/Chip/index.d.ts.map +1 -1
- package/types/ControlGroup/index.d.ts +14 -1
- package/types/ControlGroup/index.d.ts.map +1 -1
- package/types/FieldDisplay/index.d.ts +10 -12
- package/types/FieldDisplay/index.d.ts.map +1 -1
- package/types/FieldGroup.d.ts +10 -4
- package/types/FieldGroup.d.ts.map +1 -1
- package/types/FloatingPanel/index.d.ts.map +1 -1
- package/types/FloatingPanel/index.native.d.ts.map +1 -1
- package/types/FloatingPanel/useFloatingPanel.d.ts +10 -1
- package/types/FloatingPanel/useFloatingPanel.d.ts.map +1 -1
- package/types/Form/index.d.ts +18 -1
- package/types/Form/index.d.ts.map +1 -1
- package/types/FormGrid.d.ts +8 -3
- package/types/FormGrid.d.ts.map +1 -1
- package/types/FormSection.d.ts +3 -1
- package/types/FormSection.d.ts.map +1 -1
- package/types/InputParts/index.d.ts +61 -13
- package/types/InputParts/index.d.ts.map +1 -1
- package/types/Label/index.d.ts +16 -4
- package/types/Label/index.d.ts.map +1 -1
- package/types/Skeleton/index.d.ts.map +1 -1
- package/types/Spinner/SpinnerGlyph.d.ts +7 -0
- package/types/Spinner/SpinnerGlyph.d.ts.map +1 -0
- package/types/Spinner/index.d.ts +3 -6
- package/types/Spinner/index.d.ts.map +1 -1
- package/types/Spinner/index.native.d.ts +5 -0
- package/types/Spinner/index.native.d.ts.map +1 -0
- package/types/Spinner/spinnerSize.d.ts +16 -0
- package/types/Spinner/spinnerSize.d.ts.map +1 -0
- package/types/fieldLayout.d.ts.map +1 -1
- package/types/fields/Barcode/BarcodeScanner.d.ts +1 -1
- package/types/fields/Barcode/BarcodeScanner.d.ts.map +1 -1
- package/types/fields/Barcode/BarcodeScanner.native.d.ts +1 -1
- package/types/fields/Barcode/BarcodeScanner.native.d.ts.map +1 -1
- package/types/fields/Barcode/index.d.ts +2 -2
- package/types/fields/Barcode/index.d.ts.map +1 -1
- package/types/fields/Barcode/scannerTypes.d.ts +21 -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 +71 -0
- package/types/fields/Checkbox/CheckboxBox.d.ts.map +1 -0
- package/types/fields/Checkbox/CheckboxFieldFrame.d.ts +2 -2
- package/types/fields/Checkbox/CheckboxFieldFrame.d.ts.map +1 -1
- package/types/fields/Checkbox/CheckboxGroup.d.ts +1 -1
- package/types/fields/Checkbox/CheckboxGroup.d.ts.map +1 -1
- package/types/fields/Checkbox/index.d.ts +4 -4
- package/types/fields/Checkbox/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/gradients.d.ts +4 -2
- package/types/fields/ColorPicker/gradients.d.ts.map +1 -1
- package/types/fields/ColorPicker/gradients.native.d.ts +4 -2
- package/types/fields/ColorPicker/gradients.native.d.ts.map +1 -1
- package/types/fields/ColorPicker/index.d.ts +1 -1
- package/types/fields/ColorPicker/index.d.ts.map +1 -1
- package/types/fields/ColorPicker/parts.d.ts +19 -4
- package/types/fields/ColorPicker/parts.d.ts.map +1 -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 +1 -1
- package/types/fields/DatePicker/DateRangePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/DatetimePicker.d.ts +1 -1
- package/types/fields/DatePicker/DatetimePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/MonthPicker.d.ts +1 -1
- package/types/fields/DatePicker/MonthPicker.d.ts.map +1 -1
- package/types/fields/DatePicker/MultiDatePicker.d.ts +1 -1
- package/types/fields/DatePicker/MultiDatePicker.d.ts.map +1 -1
- package/types/fields/DatePicker/index.d.ts +1 -1
- package/types/fields/DatePicker/index.d.ts.map +1 -1
- package/types/fields/DatePicker/parts.d.ts +52 -118
- package/types/fields/DatePicker/parts.d.ts.map +1 -1
- package/types/fields/Duration/index.d.ts +25 -6
- package/types/fields/Duration/index.d.ts.map +1 -1
- package/types/fields/FileUpload/index.d.ts +1 -1
- package/types/fields/FileUpload/index.d.ts.map +1 -1
- package/types/fields/Geolocation/GeolocationMap.d.ts +5 -5
- package/types/fields/Geolocation/GeolocationMap.d.ts.map +1 -1
- package/types/fields/Geolocation/GeolocationMap.native.d.ts +1 -1
- package/types/fields/Geolocation/GeolocationMap.native.d.ts.map +1 -1
- package/types/fields/Geolocation/index.d.ts +1 -1
- package/types/fields/Geolocation/index.d.ts.map +1 -1
- package/types/fields/Geolocation/mapMath.d.ts +41 -0
- package/types/fields/Geolocation/mapMath.d.ts.map +1 -0
- package/types/fields/Geolocation/mapTypes.d.ts +7 -2
- package/types/fields/Geolocation/mapTypes.d.ts.map +1 -1
- package/types/fields/ImageField/index.d.ts +9 -8
- package/types/fields/ImageField/index.d.ts.map +1 -1
- package/types/fields/Input/index.d.ts +38 -9
- package/types/fields/Input/index.d.ts.map +1 -1
- package/types/fields/MentionInput/index.d.ts +1 -1
- package/types/fields/MentionInput/index.d.ts.map +1 -1
- package/types/fields/OTPInput/index.d.ts +6 -0
- package/types/fields/OTPInput/index.d.ts.map +1 -1
- package/types/fields/OTPInput/otpCellCss.d.ts +3 -0
- package/types/fields/OTPInput/otpCellCss.d.ts.map +1 -0
- package/types/fields/PhoneInput/index.d.ts +1 -3
- package/types/fields/PhoneInput/index.d.ts.map +1 -1
- package/types/fields/PhoneInput/phone.d.ts +25 -0
- package/types/fields/PhoneInput/phone.d.ts.map +1 -0
- package/types/fields/Progress/index.d.ts +7 -2
- package/types/fields/Progress/index.d.ts.map +1 -1
- package/types/fields/RadioGroup/index.d.ts +2 -2
- package/types/fields/RadioGroup/index.d.ts.map +1 -1
- package/types/fields/Rating/StarInk.d.ts +15 -0
- package/types/fields/Rating/StarInk.d.ts.map +1 -0
- package/types/fields/Rating/StarInk.native.d.ts +49 -0
- package/types/fields/Rating/StarInk.native.d.ts.map +1 -0
- package/types/fields/Rating/index.d.ts +1 -1
- package/types/fields/Rating/index.d.ts.map +1 -1
- package/types/fields/Rating/types.d.ts +27 -0
- package/types/fields/Rating/types.d.ts.map +1 -0
- package/types/fields/SearchInput/index.d.ts +5 -3
- package/types/fields/SearchInput/index.d.ts.map +1 -1
- package/types/fields/Select/index.d.ts.map +1 -1
- package/types/fields/Signature/index.d.ts +1 -1
- package/types/fields/Signature/index.d.ts.map +1 -1
- package/types/fields/Slider/index.d.ts +1 -1
- package/types/fields/Slider/index.d.ts.map +1 -1
- package/types/fields/Slider/jumpMotion.d.ts +7 -17
- package/types/fields/Slider/jumpMotion.d.ts.map +1 -1
- package/types/fields/Stepper/index.d.ts +8 -1
- package/types/fields/Stepper/index.d.ts.map +1 -1
- package/types/fields/Switch/index.d.ts +9 -1
- package/types/fields/Switch/index.d.ts.map +1 -1
- package/types/fields/TextArea/index.d.ts +1 -1
- package/types/fields/TextArea/index.d.ts.map +1 -1
- package/types/fields/TimePicker/index.d.ts +4 -3
- package/types/fields/TimePicker/index.d.ts.map +1 -1
- package/types/fields/TimePicker/parts.d.ts +51 -0
- package/types/fields/TimePicker/parts.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/formSpacing.d.ts +3 -8
- package/types/formSpacing.d.ts.map +1 -1
- package/types/index.d.ts +2 -2
- package/types/index.d.ts.map +1 -1
- package/types/shared/devWarn.d.ts +1 -1
- package/types/shared/devWarn.d.ts.map +1 -1
- package/types/shared/focusManagement.d.ts.map +1 -1
- package/types/shared/i18n.d.ts +13 -0
- package/types/shared/i18n.d.ts.map +1 -0
- package/types/shared/utils.d.ts +2 -2
- package/types/shared/utils.d.ts.map +1 -1
- package/types/themedPrimitives.d.ts +1 -1
- package/types/themedPrimitives.d.ts.map +1 -1
|
@@ -60,8 +60,70 @@ describe("FileUpload", () => {
|
|
|
60
60
|
|
|
61
61
|
it("keeps an aria-label fallback on the dropzone when no label is given", () => {
|
|
62
62
|
const result = renderWithProviders(<FileUpload name="attachment" />);
|
|
63
|
-
const dropzone = result.container.querySelector(
|
|
63
|
+
const dropzone = result.container.querySelector(
|
|
64
|
+
'[data-file-upload="dropzone"]',
|
|
65
|
+
) as HTMLElement | null;
|
|
64
66
|
expect(dropzone?.getAttribute("aria-label")).toBeTruthy();
|
|
65
67
|
expect(dropzone?.getAttribute("aria-labelledby")).toBeNull();
|
|
66
68
|
});
|
|
69
|
+
|
|
70
|
+
it("paints the house ring on keyboard focus and suppresses the UA outline on pointer focus", () => {
|
|
71
|
+
const result = renderWithProviders(<FileUpload label="Attachment" name="attachment" />);
|
|
72
|
+
const dropzone = result.container.querySelector(
|
|
73
|
+
'[data-file-upload="dropzone"]',
|
|
74
|
+
) as HTMLElement | null;
|
|
75
|
+
expect(dropzone).toBeTruthy();
|
|
76
|
+
|
|
77
|
+
fireEvent.pointerDown(document.body);
|
|
78
|
+
fireEvent.focus(dropzone as HTMLElement);
|
|
79
|
+
expect(dropzone?.getAttribute("data-kb-ring")).toBeNull();
|
|
80
|
+
|
|
81
|
+
fireEvent.blur(dropzone as HTMLElement);
|
|
82
|
+
fireEvent.keyDown(document.body, { key: "Tab", code: "Tab" });
|
|
83
|
+
fireEvent.focus(dropzone as HTMLElement);
|
|
84
|
+
expect(dropzone?.getAttribute("data-kb-ring")).toBe("true");
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
it("keeps Choose File out of the tab order so the dropzone is the one stop", () => {
|
|
88
|
+
const result = renderWithProviders(
|
|
89
|
+
<FileUpload label="Attachment" name="attachment" buttonText="Pick file" />,
|
|
90
|
+
);
|
|
91
|
+
const pick = result.findTextElement("Pick file");
|
|
92
|
+
const pickControl = pick?.closest('[role="button"]') as HTMLElement | null;
|
|
93
|
+
expect(pickControl?.getAttribute("tabindex")).toBe("-1");
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
it("shows a drop overlay on drag enter without changing the dropzone border width", () => {
|
|
97
|
+
const result = renderWithProviders(<FileUpload label="Attachment" name="attachment" />);
|
|
98
|
+
const dropzone = result.container.querySelector(
|
|
99
|
+
'[data-file-upload="dropzone"]',
|
|
100
|
+
) as HTMLElement | null;
|
|
101
|
+
expect(dropzone).toBeTruthy();
|
|
102
|
+
const restWidth = getComputedStyle(dropzone as HTMLElement).borderTopWidth;
|
|
103
|
+
|
|
104
|
+
fireEvent.dragEnter(dropzone as HTMLElement, {
|
|
105
|
+
dataTransfer: { files: [], types: ["Files"] },
|
|
106
|
+
});
|
|
107
|
+
|
|
108
|
+
expect(dropzone?.getAttribute("data-drag-over")).toBe("true");
|
|
109
|
+
expect(result.container.querySelector('[data-file-upload="overlay"]')).toBeTruthy();
|
|
110
|
+
expect(result.findTextElement("Drop a file to upload")).toBeDefined();
|
|
111
|
+
expect(getComputedStyle(dropzone as HTMLElement).borderTopWidth).toBe(restWidth);
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it("keeps per-file remove in the tab order after a file is chosen", async () => {
|
|
115
|
+
const result = renderWithProviders(<FileUpload label="Attachment" name="attachment" />);
|
|
116
|
+
const input = result.container.querySelector("input[type='file']") as HTMLInputElement | null;
|
|
117
|
+
const file = new File(["hello"], "hello.txt", { type: "text/plain" });
|
|
118
|
+
await act(async () => {
|
|
119
|
+
if (input) fireEvent.change(input, { target: { files: [file] } });
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
const dropzone = result.container.querySelector('[data-file-upload="dropzone"]') as HTMLElement;
|
|
123
|
+
const nested = Array.from(dropzone.querySelectorAll('[role="button"]')).filter(
|
|
124
|
+
(el) => el !== dropzone,
|
|
125
|
+
);
|
|
126
|
+
const removeStops = nested.filter((el) => el.getAttribute("tabindex") !== "-1");
|
|
127
|
+
expect(removeStops.length).toBeGreaterThan(0);
|
|
128
|
+
});
|
|
67
129
|
});
|
|
@@ -15,6 +15,11 @@ import {
|
|
|
15
15
|
useResolvedValidators,
|
|
16
16
|
} from "../../shared/utils";
|
|
17
17
|
import type { FormFieldProps } from "../../fieldLayout";
|
|
18
|
+
import {
|
|
19
|
+
ensureFocusVisibleRing,
|
|
20
|
+
ensureKeyboardModalityTracking,
|
|
21
|
+
wasKeyboardFocus,
|
|
22
|
+
} from "@multiplatform.one/theme";
|
|
18
23
|
import { formCommonColors, formInputColors } from "../../shared/colorRamps";
|
|
19
24
|
import { t } from "../../shared/t";
|
|
20
25
|
import type { FieldComponentProps, Validator } from "../../types";
|
|
@@ -54,16 +59,24 @@ export type FileUploadProps<
|
|
|
54
59
|
onValueChange?: (value: TData) => void;
|
|
55
60
|
/** When true, renders a skeleton placeholder instead of the file upload */
|
|
56
61
|
skeleton?: boolean;
|
|
57
|
-
/** When true,
|
|
62
|
+
/** When true, applies compact density (tighter layout gaps; control size unchanged) */
|
|
58
63
|
compact?: boolean;
|
|
59
64
|
};
|
|
60
65
|
|
|
61
66
|
const UploadAreaFrame = styled(YStack, {
|
|
62
67
|
width: "100%",
|
|
68
|
+
position: "relative",
|
|
63
69
|
overflow: "hidden",
|
|
64
70
|
borderStyle: "dashed",
|
|
65
71
|
backgroundColor: formInputColors.background.base,
|
|
66
72
|
borderColor: formInputColors.border.base,
|
|
73
|
+
// LC-71: kill UA :focus-visible on the dropzone. House ring is painted
|
|
74
|
+
// only on keyboard-origin focus via wasKeyboardFocus() below — never the
|
|
75
|
+
// 1px browser outline (forms-fileupload--standalone audit Cluster C).
|
|
76
|
+
outlineWidth: 0,
|
|
77
|
+
outlineStyle: "none" as any,
|
|
78
|
+
focusStyle: { outlineWidth: 0, outlineStyle: "none" as any },
|
|
79
|
+
focusVisibleStyle: { outlineWidth: 0, outlineStyle: "none" as any },
|
|
67
80
|
variants: {
|
|
68
81
|
outlined: {
|
|
69
82
|
true: {
|
|
@@ -73,6 +86,21 @@ const UploadAreaFrame = styled(YStack, {
|
|
|
73
86
|
} as const,
|
|
74
87
|
});
|
|
75
88
|
|
|
89
|
+
const DropOverlayFrame = styled(YStack, {
|
|
90
|
+
position: "absolute",
|
|
91
|
+
top: 0,
|
|
92
|
+
right: 0,
|
|
93
|
+
bottom: 0,
|
|
94
|
+
left: 0,
|
|
95
|
+
alignItems: "center",
|
|
96
|
+
justifyContent: "center",
|
|
97
|
+
pointerEvents: "none",
|
|
98
|
+
zIndex: 2,
|
|
99
|
+
backgroundColor: formInputColors.background.focus,
|
|
100
|
+
borderStyle: "solid",
|
|
101
|
+
borderColor: formInputColors.border.focus,
|
|
102
|
+
});
|
|
103
|
+
|
|
76
104
|
const UploadFileListFrame = styled(YStack, {
|
|
77
105
|
width: "100%",
|
|
78
106
|
borderTopWidth: 1,
|
|
@@ -94,7 +122,7 @@ export function FileUpload<
|
|
|
94
122
|
multiple = false,
|
|
95
123
|
dragDrop = true,
|
|
96
124
|
showPreview = true,
|
|
97
|
-
placeholder = t("
|
|
125
|
+
placeholder = t("or drag and drop"),
|
|
98
126
|
buttonText = t("Choose File"),
|
|
99
127
|
onFileSelect,
|
|
100
128
|
onFileRemove,
|
|
@@ -117,6 +145,8 @@ export function FileUpload<
|
|
|
117
145
|
id: idProp,
|
|
118
146
|
compact,
|
|
119
147
|
});
|
|
148
|
+
if (isWeb) ensureKeyboardModalityTracking();
|
|
149
|
+
const [kbZoneFocus, setKbZoneFocus] = useState(false);
|
|
120
150
|
// Canonical `onChange` and the alias `onValueChange` both fire once per
|
|
121
151
|
// change through the internal handler chain (same reconciliation as Switch).
|
|
122
152
|
const emitChange = useCallback(
|
|
@@ -140,13 +170,28 @@ export function FileUpload<
|
|
|
140
170
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
141
171
|
const [validationError, setValidationError] = useState<string | undefined>();
|
|
142
172
|
const fileInputRef = useRef<HTMLInputElement>(null);
|
|
173
|
+
const zoneCleanupRef = useRef<(() => void) | null>(null);
|
|
174
|
+
const lastZoneInputWasKeyboardRef = useRef(false);
|
|
143
175
|
const previewUrlsRef = useRef(new Map<File, string>());
|
|
144
176
|
|
|
145
177
|
useEffect(() => {
|
|
146
178
|
if (!isWeb) return;
|
|
179
|
+
ensureKeyboardModalityTracking();
|
|
180
|
+
const onKey = () => {
|
|
181
|
+
lastZoneInputWasKeyboardRef.current = true;
|
|
182
|
+
};
|
|
183
|
+
const onPointer = () => {
|
|
184
|
+
lastZoneInputWasKeyboardRef.current = false;
|
|
185
|
+
};
|
|
186
|
+
document.addEventListener("keydown", onKey, true);
|
|
187
|
+
document.addEventListener("pointerdown", onPointer, true);
|
|
147
188
|
return () => {
|
|
189
|
+
document.removeEventListener("keydown", onKey, true);
|
|
190
|
+
document.removeEventListener("pointerdown", onPointer, true);
|
|
148
191
|
previewUrlsRef.current.forEach((url) => URL.revokeObjectURL(url));
|
|
149
192
|
previewUrlsRef.current.clear();
|
|
193
|
+
zoneCleanupRef.current?.();
|
|
194
|
+
zoneCleanupRef.current = null;
|
|
150
195
|
};
|
|
151
196
|
}, []);
|
|
152
197
|
|
|
@@ -328,6 +373,33 @@ export function FileUpload<
|
|
|
328
373
|
[openFileDialog],
|
|
329
374
|
);
|
|
330
375
|
|
|
376
|
+
const paintZoneRing = useCallback(() => {
|
|
377
|
+
if (lastZoneInputWasKeyboardRef.current || wasKeyboardFocus()) setKbZoneFocus(true);
|
|
378
|
+
}, []);
|
|
379
|
+
|
|
380
|
+
const bindZoneNode = useCallback(
|
|
381
|
+
(node: HTMLElement | null) => {
|
|
382
|
+
zoneCleanupRef.current?.();
|
|
383
|
+
zoneCleanupRef.current = null;
|
|
384
|
+
if (!node || !isWeb) return;
|
|
385
|
+
const onFocus = () => paintZoneRing();
|
|
386
|
+
const onBlur = () => setKbZoneFocus(false);
|
|
387
|
+
node.addEventListener("focus", onFocus);
|
|
388
|
+
node.addEventListener("blur", onBlur);
|
|
389
|
+
zoneCleanupRef.current = () => {
|
|
390
|
+
node.removeEventListener("focus", onFocus);
|
|
391
|
+
node.removeEventListener("blur", onBlur);
|
|
392
|
+
};
|
|
393
|
+
},
|
|
394
|
+
[paintZoneRing],
|
|
395
|
+
);
|
|
396
|
+
|
|
397
|
+
const handleZoneFocus = paintZoneRing;
|
|
398
|
+
|
|
399
|
+
const handleZoneBlur = useCallback(() => {
|
|
400
|
+
setKbZoneFocus(false);
|
|
401
|
+
}, []);
|
|
402
|
+
|
|
331
403
|
const getFilePreview = useCallback((file: File) => {
|
|
332
404
|
if (!isWeb) return null;
|
|
333
405
|
if (file.type.startsWith("image/")) {
|
|
@@ -401,26 +473,43 @@ export function FileUpload<
|
|
|
401
473
|
// so the rendered `<label htmlFor>` resolves (family pattern — see
|
|
402
474
|
// Barcode / ColorPicker for other non-native-input controls).
|
|
403
475
|
id={id}
|
|
476
|
+
ref={bindZoneNode as any}
|
|
477
|
+
data-file-upload="dropzone"
|
|
478
|
+
data-drag-over={isDragOver && canInteract && dragDrop ? "true" : undefined}
|
|
479
|
+
data-kb-ring={kbZoneFocus ? "true" : undefined}
|
|
404
480
|
outlined={knobProps.outlined}
|
|
405
481
|
// LC-40: text-bearing chrome — surface wash, not an opacity dim
|
|
406
482
|
// (a dim here stacks with the inner Button's treatment).
|
|
407
483
|
{...(disabled ? disabledState.surfaceKnobProps : undefined)}
|
|
408
484
|
borderRadius={cappedRadius}
|
|
409
|
-
//
|
|
410
|
-
|
|
411
|
-
borderWidth={isDragOver && canInteract ? 2 : (knobProps.borderRadius.borderWidth ?? 1)}
|
|
485
|
+
// Keep width stable on drag (Polaris overlay, not a 1→2 layout shift).
|
|
486
|
+
borderWidth={knobProps.borderRadius.borderWidth ?? 1}
|
|
412
487
|
{...(errorProp ? { borderColor: formCommonColors.error } : undefined)}
|
|
413
|
-
{...(isDragOver && canInteract ? { borderColor: formCommonColors.text } : undefined)}
|
|
414
488
|
elevation={knobProps.elevation}
|
|
415
489
|
transition={knobProps.transition}
|
|
416
490
|
aria-required={fieldProps.required || undefined}
|
|
417
491
|
aria-invalid={!!errorProp || undefined}
|
|
418
492
|
aria-readonly={readOnly || undefined}
|
|
493
|
+
aria-disabled={disabled || undefined}
|
|
494
|
+
// Inset: overflow:hidden on this frame would clip an outer ring (LC-71).
|
|
495
|
+
{...(kbZoneFocus ? ensureFocusVisibleRing({ outlineOffset: -2 }) : undefined)}
|
|
496
|
+
hoverStyle={
|
|
497
|
+
canInteract
|
|
498
|
+
? {
|
|
499
|
+
borderColor: errorProp ? formCommonColors.error : formInputColors.border.hover,
|
|
500
|
+
...(knobProps.outlined
|
|
501
|
+
? undefined
|
|
502
|
+
: { backgroundColor: formInputColors.background.focus }),
|
|
503
|
+
}
|
|
504
|
+
: undefined
|
|
505
|
+
}
|
|
419
506
|
{...(canInteract
|
|
420
507
|
? ({
|
|
421
508
|
// DROPZONE-FULL-TARGET: the entire surface is the click target.
|
|
422
509
|
role: "button",
|
|
423
510
|
tabIndex: 0,
|
|
511
|
+
onFocus: handleZoneFocus,
|
|
512
|
+
onBlur: handleZoneBlur,
|
|
424
513
|
// Labeled fields get aria-labelledby auto-wired by the
|
|
425
514
|
// FieldLayout Label (tamagui Label htmlFor → this id); the
|
|
426
515
|
// aria-label fallback covers label-less usage.
|
|
@@ -435,9 +524,46 @@ export function FileUpload<
|
|
|
435
524
|
cursor: "pointer",
|
|
436
525
|
onClick: handleZoneClick,
|
|
437
526
|
onKeyDown: handleZoneKeyDown,
|
|
527
|
+
...(dragDrop
|
|
528
|
+
? {
|
|
529
|
+
onDragEnter: handleDragEnter,
|
|
530
|
+
onDragOver: handleDragOver,
|
|
531
|
+
onDragLeave: handleDragLeave,
|
|
532
|
+
onDrop: (e: DragEvent) => {
|
|
533
|
+
handleDrop(e, onValueChange);
|
|
534
|
+
onBlurHandler?.();
|
|
535
|
+
},
|
|
536
|
+
}
|
|
537
|
+
: null),
|
|
438
538
|
} as any)
|
|
439
|
-
: {})}
|
|
539
|
+
: { cursor: disabled ? "not-allowed" : undefined })}
|
|
440
540
|
>
|
|
541
|
+
{isDragOver && canInteract && dragDrop ? (
|
|
542
|
+
<DropOverlayFrame
|
|
543
|
+
data-file-upload="overlay"
|
|
544
|
+
borderRadius={cappedRadius}
|
|
545
|
+
borderWidth={knobProps.borderRadius.borderWidth ?? 1}
|
|
546
|
+
{...(errorProp ? { borderColor: formCommonColors.error } : undefined)}
|
|
547
|
+
{...knobProps.gap}
|
|
548
|
+
{...knobProps.panelPadding}
|
|
549
|
+
>
|
|
550
|
+
<XStack
|
|
551
|
+
width={compact ? 24 : 32}
|
|
552
|
+
height={compact ? 24 : 32}
|
|
553
|
+
alignItems="center"
|
|
554
|
+
justifyContent="center"
|
|
555
|
+
// `color` tints the phosphor glyph via currentColor; Tamagui applies
|
|
556
|
+
// it on web Stacks though the RN-flavored View type omits it.
|
|
557
|
+
{...({ color: formCommonColors.text } as Record<string, unknown>)}
|
|
558
|
+
>
|
|
559
|
+
<UploadIcon size={compact ? 24 : 32} aria-hidden />
|
|
560
|
+
</XStack>
|
|
561
|
+
<Text color={formCommonColors.text} textAlign="center" {...knobProps.body}>
|
|
562
|
+
{multiple ? t("Drop files to upload") : t("Drop a file to upload")}
|
|
563
|
+
</Text>
|
|
564
|
+
</DropOverlayFrame>
|
|
565
|
+
) : null}
|
|
566
|
+
|
|
441
567
|
<YStack
|
|
442
568
|
{...knobProps.panelPadding}
|
|
443
569
|
minHeight={getFieldHeight((fieldProps.size || knobProps.sizeToken) as SizeTokens, 5)}
|
|
@@ -445,22 +571,27 @@ export function FileUpload<
|
|
|
445
571
|
alignItems="center"
|
|
446
572
|
justifyContent="center"
|
|
447
573
|
{...knobProps.gap}
|
|
448
|
-
{...(canInteract
|
|
449
|
-
? ({
|
|
450
|
-
onDragEnter: handleDragEnter,
|
|
451
|
-
onDragOver: handleDragOver,
|
|
452
|
-
onDragLeave: handleDragLeave,
|
|
453
|
-
onDrop: (e: DragEvent) => {
|
|
454
|
-
handleDrop(e, onValueChange);
|
|
455
|
-
onBlurHandler?.();
|
|
456
|
-
},
|
|
457
|
-
} as any)
|
|
458
|
-
: {})}
|
|
459
574
|
>
|
|
460
|
-
|
|
461
|
-
<
|
|
462
|
-
|
|
463
|
-
|
|
575
|
+
{selectedFiles.length === 0 ? (
|
|
576
|
+
<XStack
|
|
577
|
+
width={compact ? 24 : 32}
|
|
578
|
+
height={compact ? 24 : 32}
|
|
579
|
+
alignItems="center"
|
|
580
|
+
justifyContent="center"
|
|
581
|
+
// `color` tints the phosphor glyph via currentColor; Tamagui applies
|
|
582
|
+
// it on web Stacks though the RN-flavored View type omits it.
|
|
583
|
+
{...({ color: formCommonColors.muted } as Record<string, unknown>)}
|
|
584
|
+
>
|
|
585
|
+
<UploadIcon size={compact ? 24 : 32} aria-hidden />
|
|
586
|
+
</XStack>
|
|
587
|
+
) : null}
|
|
588
|
+
|
|
589
|
+
<Button
|
|
590
|
+
onPress={openFileDialog}
|
|
591
|
+
disabled={!canInteract}
|
|
592
|
+
size={knobProps.sizeToken}
|
|
593
|
+
tabIndex={-1}
|
|
594
|
+
>
|
|
464
595
|
<Button.Text {...knobProps.body}>{buttonText}</Button.Text>
|
|
465
596
|
</Button>
|
|
466
597
|
|
|
@@ -475,6 +606,7 @@ export function FileUpload<
|
|
|
475
606
|
type="file"
|
|
476
607
|
accept={accept}
|
|
477
608
|
multiple={multiple}
|
|
609
|
+
tabIndex={-1}
|
|
478
610
|
onChange={(e) => {
|
|
479
611
|
handleFileSelect(e.target.files, onValueChange, e.target.files);
|
|
480
612
|
onBlurHandler?.();
|
|
@@ -505,13 +637,18 @@ export function FileUpload<
|
|
|
505
637
|
// onto the DOM <img> as source="[object Object]" on web
|
|
506
638
|
src={preview}
|
|
507
639
|
alt={file.name}
|
|
508
|
-
width={32}
|
|
509
|
-
height={32}
|
|
640
|
+
width={compact ? 24 : 32}
|
|
641
|
+
height={compact ? 24 : 32}
|
|
510
642
|
objectFit="cover"
|
|
511
643
|
/>
|
|
512
644
|
) : (
|
|
513
|
-
<XStack
|
|
514
|
-
|
|
645
|
+
<XStack
|
|
646
|
+
width={compact ? 24 : 32}
|
|
647
|
+
height={compact ? 24 : 32}
|
|
648
|
+
justifyContent="center"
|
|
649
|
+
alignItems="center"
|
|
650
|
+
>
|
|
651
|
+
<FileIcon size={compact ? 14 : 16} />
|
|
515
652
|
</XStack>
|
|
516
653
|
)}
|
|
517
654
|
<YStack flex={1} gap="$1">
|
|
@@ -528,7 +665,6 @@ export function FileUpload<
|
|
|
528
665
|
<Button
|
|
529
666
|
circular
|
|
530
667
|
size={knobProps.sizeToken}
|
|
531
|
-
tabIndex={-1}
|
|
532
668
|
onPress={(e) => {
|
|
533
669
|
e.stopPropagation();
|
|
534
670
|
handleFileRemove(file, onValueChange);
|
|
@@ -53,6 +53,84 @@ describe("Geolocation", () => {
|
|
|
53
53
|
expect(result.container.querySelector("[aria-label='Locate']")).not.toBeNull();
|
|
54
54
|
});
|
|
55
55
|
|
|
56
|
+
it("empty value does not paint Null Island coordinates", () => {
|
|
57
|
+
const result = renderWithProviders(<Geolocation label="Location" />);
|
|
58
|
+
expect(result.container.textContent).not.toContain("0.0000, 0.0000");
|
|
59
|
+
expect(result.container.textContent).toContain("Set location");
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
it("LC-71: map frame is the keyboard stop; pick layer is not a tab stop", () => {
|
|
63
|
+
const result = renderWithProviders(
|
|
64
|
+
<Geolocation
|
|
65
|
+
label="Location"
|
|
66
|
+
value={JSON.stringify({ lat: 1, lng: 2 })}
|
|
67
|
+
locationIcon={locationIcon}
|
|
68
|
+
/>,
|
|
69
|
+
);
|
|
70
|
+
const map = result.container.querySelector("[data-testid='geolocation-map']");
|
|
71
|
+
const pick = result.container.querySelector("[data-testid='geolocation-map-pick']");
|
|
72
|
+
expect(map?.getAttribute("tabindex")).toBe("0");
|
|
73
|
+
expect(pick?.getAttribute("tabindex")).toBeNull();
|
|
74
|
+
expect(result.container.querySelector("iframe")).toBeNull();
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it("clicking the map pick layer commits a coordinate", () => {
|
|
78
|
+
const onChange = vi.fn();
|
|
79
|
+
const result = renderWithProviders(
|
|
80
|
+
<Geolocation
|
|
81
|
+
label="Location"
|
|
82
|
+
value={JSON.stringify({ lat: 0, lng: 0 })}
|
|
83
|
+
onChange={onChange}
|
|
84
|
+
locationIcon={locationIcon}
|
|
85
|
+
/>,
|
|
86
|
+
);
|
|
87
|
+
const pick = result.container.querySelector(
|
|
88
|
+
"[data-testid='geolocation-map-pick']",
|
|
89
|
+
) as HTMLElement;
|
|
90
|
+
expect(pick).not.toBeNull();
|
|
91
|
+
pick.getBoundingClientRect = () =>
|
|
92
|
+
({
|
|
93
|
+
width: 200,
|
|
94
|
+
height: 200,
|
|
95
|
+
left: 0,
|
|
96
|
+
top: 0,
|
|
97
|
+
right: 200,
|
|
98
|
+
bottom: 200,
|
|
99
|
+
x: 0,
|
|
100
|
+
y: 0,
|
|
101
|
+
toJSON() {},
|
|
102
|
+
}) as DOMRect;
|
|
103
|
+
fireEvent.click(pick, { clientX: 100, clientY: 100 });
|
|
104
|
+
expect(onChange).toHaveBeenCalled();
|
|
105
|
+
const parsed = JSON.parse(onChange.mock.calls[0][0] as string) as {
|
|
106
|
+
lat: number;
|
|
107
|
+
lng: number;
|
|
108
|
+
};
|
|
109
|
+
expect(parsed.lat).toBeCloseTo(0, 4);
|
|
110
|
+
expect(parsed.lng).toBeCloseTo(0, 4);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it("arrow keys nudge the pin when the map is focused", () => {
|
|
114
|
+
const onChange = vi.fn();
|
|
115
|
+
const result = renderWithProviders(
|
|
116
|
+
<Geolocation
|
|
117
|
+
label="Location"
|
|
118
|
+
value={JSON.stringify({ lat: 10, lng: 20 })}
|
|
119
|
+
onChange={onChange}
|
|
120
|
+
locationIcon={locationIcon}
|
|
121
|
+
/>,
|
|
122
|
+
);
|
|
123
|
+
const map = result.container.querySelector("[data-testid='geolocation-map']") as HTMLElement;
|
|
124
|
+
fireEvent.keyDown(map, { key: "ArrowUp" });
|
|
125
|
+
expect(onChange).toHaveBeenCalled();
|
|
126
|
+
const parsed = JSON.parse(onChange.mock.calls[0][0] as string) as {
|
|
127
|
+
lat: number;
|
|
128
|
+
lng: number;
|
|
129
|
+
};
|
|
130
|
+
expect(parsed.lat).toBeGreaterThan(10);
|
|
131
|
+
expect(parsed.lng).toBe(20);
|
|
132
|
+
});
|
|
133
|
+
|
|
56
134
|
it("coordinates FloatingPanel commits live — no Apply button", async () => {
|
|
57
135
|
const onChange = vi.fn();
|
|
58
136
|
const result = renderWithProviders(
|
|
@@ -113,6 +191,72 @@ describe("Geolocation", () => {
|
|
|
113
191
|
expect(result.container.querySelector("input")).toBeNull();
|
|
114
192
|
});
|
|
115
193
|
|
|
194
|
+
// A disabled control opens nothing. Expand was the one overlay in this
|
|
195
|
+
// field that still did: unlike Locate and Coordinates it carried no
|
|
196
|
+
// `disabled`, and it opens its AdaptivePopup programmatically, so the
|
|
197
|
+
// Button's own pointerEvents:none was never the whole guard. Both halves
|
|
198
|
+
// of a real press are fired — `click` alone would pass against the bug.
|
|
199
|
+
describe("disabled opens no overlay", () => {
|
|
200
|
+
const expandIcon = <span data-testid="expand-icon" />;
|
|
201
|
+
const value = JSON.stringify({ lat: 51.5, lng: -0.12 });
|
|
202
|
+
|
|
203
|
+
const press = (el: Element) => {
|
|
204
|
+
fireEvent.mouseDown(el);
|
|
205
|
+
fireEvent.mouseUp(el);
|
|
206
|
+
fireEvent.click(el);
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
it("enabled: Expand opens the map popup (positive control)", async () => {
|
|
210
|
+
const result = renderWithProviders(
|
|
211
|
+
<Geolocation
|
|
212
|
+
label="Location"
|
|
213
|
+
name="loc"
|
|
214
|
+
locationIcon={locationIcon}
|
|
215
|
+
expandIcon={expandIcon}
|
|
216
|
+
value={value}
|
|
217
|
+
/>,
|
|
218
|
+
);
|
|
219
|
+
press(result.container.querySelector("[aria-label='Expand map']") as Element);
|
|
220
|
+
await waitFor(() => {
|
|
221
|
+
expect(document.querySelector("[role='dialog']")).not.toBeNull();
|
|
222
|
+
});
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
it("disabled: Expand opens nothing", async () => {
|
|
226
|
+
const result = renderWithProviders(
|
|
227
|
+
<Geolocation
|
|
228
|
+
label="Location"
|
|
229
|
+
name="loc"
|
|
230
|
+
locationIcon={locationIcon}
|
|
231
|
+
expandIcon={expandIcon}
|
|
232
|
+
value={value}
|
|
233
|
+
disabled
|
|
234
|
+
/>,
|
|
235
|
+
);
|
|
236
|
+
const expand = result.container.querySelector("[aria-label='Expand map']");
|
|
237
|
+
expect(expand).not.toBeNull();
|
|
238
|
+
press(expand as Element);
|
|
239
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
240
|
+
expect(document.querySelector("[role='dialog']")).toBeNull();
|
|
241
|
+
});
|
|
242
|
+
|
|
243
|
+
it("disabled: Coordinates opens no panel", async () => {
|
|
244
|
+
const result = renderWithProviders(
|
|
245
|
+
<Geolocation
|
|
246
|
+
label="Location"
|
|
247
|
+
name="loc"
|
|
248
|
+
locationIcon={locationIcon}
|
|
249
|
+
value={value}
|
|
250
|
+
disabled
|
|
251
|
+
/>,
|
|
252
|
+
);
|
|
253
|
+
press(result.container.querySelector("[aria-label='Edit coordinates']") as Element);
|
|
254
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
255
|
+
expect(document.querySelector("[data-testid='geolocation-coords-panel']")).toBeNull();
|
|
256
|
+
expect(document.querySelector("[data-testid='floating-panel-viewport']")).toBeNull();
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
|
|
116
260
|
it("renders readOnly — hides locate and coordinates overlay controls", () => {
|
|
117
261
|
const result = renderWithProviders(
|
|
118
262
|
<Geolocation
|
|
@@ -15,7 +15,7 @@ const meta: Meta<typeof Geolocation> = {
|
|
|
15
15
|
docs: {
|
|
16
16
|
description: {
|
|
17
17
|
component:
|
|
18
|
-
"Map-primary geolocation field: the map
|
|
18
|
+
"Map-primary geolocation field: click the map to drop a pin. Locate is an icon overlay; the coordinate chip opens a FloatingPanel (no Apply — LC-21 dismiss-by-intent). LC-19 preflight gates Locate. LC-71: the map frame is the keyboard stop (inset ring, overflow hidden); overlay actions ring themselves. Accepts a custom `renderMap` prop for interactive maps.",
|
|
19
19
|
},
|
|
20
20
|
},
|
|
21
21
|
},
|
|
@@ -52,7 +52,7 @@ export const Main: Story = {
|
|
|
52
52
|
<Geolocation
|
|
53
53
|
label="Delivery Location"
|
|
54
54
|
name="location"
|
|
55
|
-
helperText="
|
|
55
|
+
helperText="Click the map or use Locate to set the delivery pin"
|
|
56
56
|
locationIcon={<NavigationArrowIcon size={16} />}
|
|
57
57
|
/>
|
|
58
58
|
<Button action="submit">Save Location</Button>
|
|
@@ -67,7 +67,7 @@ export const Main: Story = {
|
|
|
67
67
|
export const Standalone: Story = {
|
|
68
68
|
args: {
|
|
69
69
|
label: "Location",
|
|
70
|
-
helperText: "
|
|
70
|
+
helperText: "Click the map to set a pin, or open the coordinate chip to type Lat/Lng",
|
|
71
71
|
},
|
|
72
72
|
render: (args) => <Geolocation {...args} locationIcon={<NavigationArrowIcon size={16} />} />,
|
|
73
73
|
};
|
|
@@ -88,7 +88,7 @@ export const Bare: Story = {
|
|
|
88
88
|
export const Basic: Story = {
|
|
89
89
|
args: {
|
|
90
90
|
label: "Location",
|
|
91
|
-
helperText: "
|
|
91
|
+
helperText: "Click the map to set a pin, or open the coordinate chip to type Lat/Lng",
|
|
92
92
|
onChange: action("onChange"),
|
|
93
93
|
},
|
|
94
94
|
render: (args) => <Geolocation {...args} locationIcon={<NavigationArrowIcon size={16} />} />,
|
|
@@ -116,7 +116,7 @@ export const Disabled: Story = {
|
|
|
116
116
|
export const WithError: Story = {
|
|
117
117
|
args: {
|
|
118
118
|
label: "Location",
|
|
119
|
-
helperText: "
|
|
119
|
+
helperText: "Click the map to set a pin, or open the coordinate chip to type Lat/Lng",
|
|
120
120
|
required: true,
|
|
121
121
|
error: "Location is required",
|
|
122
122
|
onChange: action("onChange"),
|
|
@@ -201,8 +201,12 @@ export const WithCoordinates: Story = {
|
|
|
201
201
|
},
|
|
202
202
|
};
|
|
203
203
|
|
|
204
|
+
// Reads the `disabled` dial so it is reachable on the one story that has an
|
|
205
|
+
// expand button: `disabled` and `expandIcon` never met in any other specimen,
|
|
206
|
+
// which is how "Expand opens while disabled" went unmeasured. Undefined by
|
|
207
|
+
// default, so the default render (and its baseline) is unchanged.
|
|
204
208
|
export const WithExpandButton: Story = {
|
|
205
|
-
render: () => {
|
|
209
|
+
render: ({ disabled }) => {
|
|
206
210
|
const Example = () => {
|
|
207
211
|
const [value, setValue] = useState(JSON.stringify({ lat: 51.5074, lng: -0.1278 }));
|
|
208
212
|
return (
|
|
@@ -217,6 +221,7 @@ export const WithExpandButton: Story = {
|
|
|
217
221
|
}}
|
|
218
222
|
locationIcon={<NavigationArrowIcon size={16} />}
|
|
219
223
|
expandIcon={<ArrowsOutIcon size={16} />}
|
|
224
|
+
disabled={disabled}
|
|
220
225
|
/>
|
|
221
226
|
</YStack>
|
|
222
227
|
);
|
|
@@ -114,6 +114,13 @@ describe("GeolocationMap (native)", () => {
|
|
|
114
114
|
expect(onChange).not.toHaveBeenCalled();
|
|
115
115
|
});
|
|
116
116
|
|
|
117
|
+
it("omits the value marker when hasValue is false", () => {
|
|
118
|
+
(Platform as AnyProps).OS = "ios";
|
|
119
|
+
loadExpoMapsMock.mockReturnValue(createMapsMock());
|
|
120
|
+
renderWithProviders(<GeolocationMap lat={0} lng={0} hasValue={false} onChange={vi.fn()} />);
|
|
121
|
+
expect(appleProps?.markers).toEqual([]);
|
|
122
|
+
});
|
|
123
|
+
|
|
117
124
|
it("ignores click events without numeric coordinates", () => {
|
|
118
125
|
(Platform as AnyProps).OS = "ios";
|
|
119
126
|
loadExpoMapsMock.mockReturnValue(createMapsMock());
|