@multiplatform.one/forms 6.7.0 → 7.0.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
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
useState,
|
|
10
10
|
memo,
|
|
11
11
|
} from "react";
|
|
12
|
-
import { useTranslation } from "
|
|
12
|
+
import { useTranslation } from "../../shared/i18n";
|
|
13
13
|
import {
|
|
14
14
|
CaretDownIcon,
|
|
15
15
|
CheckIcon,
|
|
@@ -26,7 +26,13 @@ import {
|
|
|
26
26
|
FloatingFocusManager,
|
|
27
27
|
} from "@floating-ui/react";
|
|
28
28
|
import type { AnyFormApi } from "../../types";
|
|
29
|
-
import {
|
|
29
|
+
import {
|
|
30
|
+
ensureFocusVisibleRing,
|
|
31
|
+
ensureKeyboardModalityTracking,
|
|
32
|
+
keyboardFocusRingProps,
|
|
33
|
+
menuRowFrame,
|
|
34
|
+
useResolvedKnobs,
|
|
35
|
+
} from "@multiplatform.one/theme";
|
|
30
36
|
import type { LabelProps, SizeTokens } from "tamagui";
|
|
31
37
|
import { Pressable as RNPressable } from "react-native";
|
|
32
38
|
import { Input as TInput, Text, View, XStack, YStack, isWeb, styled, useTheme } from "tamagui";
|
|
@@ -61,28 +67,44 @@ import { useIsInTableCell } from "../../shared/tableCellContext";
|
|
|
61
67
|
|
|
62
68
|
// ── Styled row ───────────────────────────────────────────────
|
|
63
69
|
|
|
70
|
+
// LC-16 menu-row frame + LC-71: fill (selected/active) and ring are orthogonal.
|
|
71
|
+
// Virtual list navigation never DOM-focuses the row, so the keyboard ring is
|
|
72
|
+
// painted from `keyboardFocusRingProps` on the active option (activedescendant),
|
|
73
|
+
// same as TreeView. focusVisibleStyle remains for the rare real-focus path.
|
|
64
74
|
const ComboboxRow = styled(View, {
|
|
65
75
|
name: "ComboboxRow",
|
|
66
|
-
|
|
67
|
-
alignItems: "center",
|
|
76
|
+
...menuRowFrame,
|
|
68
77
|
gap: "$2",
|
|
69
|
-
paddingHorizontal: "$3",
|
|
70
78
|
cursor: "default",
|
|
71
|
-
outlineStyle: "none" as any,
|
|
72
79
|
hoverStyle: { backgroundColor: formInputColors.background.focus },
|
|
73
|
-
|
|
74
|
-
focusVisibleStyle: { outlineStyle: "none" as any },
|
|
80
|
+
focusVisibleStyle: ensureFocusVisibleRing({ outlineOffset: -2 }),
|
|
75
81
|
variants: {
|
|
76
82
|
selected: {
|
|
77
83
|
true: { backgroundColor: formInputColors.background.base },
|
|
78
84
|
false: { backgroundColor: "transparent" },
|
|
79
85
|
},
|
|
86
|
+
active: {
|
|
87
|
+
true: { backgroundColor: formInputColors.background.focus },
|
|
88
|
+
false: {},
|
|
89
|
+
},
|
|
80
90
|
size: {
|
|
81
91
|
"...size": (val: any) => ({ height: val }),
|
|
82
92
|
},
|
|
83
93
|
} as const,
|
|
84
94
|
});
|
|
85
95
|
|
|
96
|
+
function comboboxOptionId(baseId: string | undefined, index: number) {
|
|
97
|
+
return `${baseId ?? "combobox"}-opt-${index}`;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
function comboboxListboxId(baseId: string | undefined) {
|
|
101
|
+
return `${baseId ?? "combobox"}-listbox`;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
function listItemRingProps(keyboardRing: boolean) {
|
|
105
|
+
return keyboardRing ? keyboardFocusRingProps : { outlineWidth: 0 as const };
|
|
106
|
+
}
|
|
107
|
+
|
|
86
108
|
const GroupHeader = styled(Text, {
|
|
87
109
|
name: "ComboboxGroupHeader",
|
|
88
110
|
paddingHorizontal: "$3",
|
|
@@ -267,6 +289,8 @@ const ComboboxItem = memo(function ComboboxItem({
|
|
|
267
289
|
index,
|
|
268
290
|
isSelected,
|
|
269
291
|
isActive,
|
|
292
|
+
keyboardRing,
|
|
293
|
+
optionId,
|
|
270
294
|
suppressHover,
|
|
271
295
|
handlers,
|
|
272
296
|
}: {
|
|
@@ -274,6 +298,9 @@ const ComboboxItem = memo(function ComboboxItem({
|
|
|
274
298
|
index: number;
|
|
275
299
|
isSelected: boolean;
|
|
276
300
|
isActive: boolean;
|
|
301
|
+
/** LC-71: inset ring on the activedescendant row during keyboard nav only. */
|
|
302
|
+
keyboardRing?: boolean;
|
|
303
|
+
optionId?: string;
|
|
277
304
|
/** When true, disable hoverStyle so only isActive drives the highlight (avoids ghost highlight from stale hover) */
|
|
278
305
|
suppressHover?: boolean;
|
|
279
306
|
handlers: React.RefObject<ComboboxItemHandlers>;
|
|
@@ -291,6 +318,7 @@ const ComboboxItem = memo(function ComboboxItem({
|
|
|
291
318
|
ctx.listItemsRef.current[index] = node as HTMLElement | null;
|
|
292
319
|
}}
|
|
293
320
|
{...itemProps}
|
|
321
|
+
id={optionId}
|
|
294
322
|
data-combobox-index={index}
|
|
295
323
|
data-active={isActive}
|
|
296
324
|
onKeyDown={(e: React.KeyboardEvent) => {
|
|
@@ -304,9 +332,11 @@ const ComboboxItem = memo(function ComboboxItem({
|
|
|
304
332
|
role="option"
|
|
305
333
|
tabIndex={-1}
|
|
306
334
|
selected={isSelected}
|
|
335
|
+
active={isActive}
|
|
307
336
|
aria-selected={isSelected}
|
|
308
337
|
data-state={isSelected ? "active" : "inactive"}
|
|
309
338
|
size={ctx.knobProps.sizeToken}
|
|
339
|
+
{...listItemRingProps(Boolean(keyboardRing))}
|
|
310
340
|
{...(suppressHover
|
|
311
341
|
? {
|
|
312
342
|
hoverStyle: {
|
|
@@ -439,6 +469,7 @@ function FloatingComboboxCore({
|
|
|
439
469
|
open: openProp,
|
|
440
470
|
onOpenChange,
|
|
441
471
|
}: FloatingComboboxCoreProps) {
|
|
472
|
+
if (isWeb) ensureKeyboardModalityTracking();
|
|
442
473
|
const { t } = useTranslation();
|
|
443
474
|
const inTableCell = useIsInTableCell();
|
|
444
475
|
const describedBy = useFieldDescribedBy();
|
|
@@ -500,7 +531,7 @@ function FloatingComboboxCore({
|
|
|
500
531
|
|
|
501
532
|
const filtered = useMemo(() => {
|
|
502
533
|
if (onSearch || !filter) return options;
|
|
503
|
-
const query = filter.toLowerCase();
|
|
534
|
+
const query = filter.trim().toLowerCase();
|
|
504
535
|
return options.filter(
|
|
505
536
|
(option) =>
|
|
506
537
|
option.label.toLowerCase().includes(query) ||
|
|
@@ -586,6 +617,11 @@ function FloatingComboboxCore({
|
|
|
586
617
|
const searchInputRef = useRef<HTMLInputElement | null>(null);
|
|
587
618
|
const listScrollRef = useRef<HTMLElement | null>(null);
|
|
588
619
|
const keyboardNavRef = useRef(false);
|
|
620
|
+
const [listKeyboardRing, setListKeyboardRing] = useState(false);
|
|
621
|
+
const setKeyboardNav = useCallback((next: boolean) => {
|
|
622
|
+
keyboardNavRef.current = next;
|
|
623
|
+
setListKeyboardRing((prev) => (prev === next ? prev : next));
|
|
624
|
+
}, []);
|
|
589
625
|
const lastMousePosRef = useRef<{ x: number; y: number } | null>(null);
|
|
590
626
|
const currentMousePosRef = useRef({ x: 0, y: 0 });
|
|
591
627
|
const lastKeyboardNavTimeRef = useRef(0);
|
|
@@ -643,6 +679,7 @@ function FloatingComboboxCore({
|
|
|
643
679
|
lastMousePosRef.current = null;
|
|
644
680
|
initialOrderRef.current = null;
|
|
645
681
|
hasSearchedRef.current = false;
|
|
682
|
+
setKeyboardNav(false);
|
|
646
683
|
}
|
|
647
684
|
}, [open]);
|
|
648
685
|
|
|
@@ -670,7 +707,9 @@ function FloatingComboboxCore({
|
|
|
670
707
|
const viewportHeight = window.innerHeight;
|
|
671
708
|
const viewportWidth = window.innerWidth;
|
|
672
709
|
|
|
673
|
-
|
|
710
|
+
// OVERLAY_ANCHOR_GAP rule (theme/layoutTokens): the listbox matches the
|
|
711
|
+
// trigger width exactly and stays flush at triggerBounds.left below.
|
|
712
|
+
const minWidth = popoverWidth ?? triggerBounds.width;
|
|
674
713
|
const maxWidth = viewportWidth - 20;
|
|
675
714
|
|
|
676
715
|
dropdownElement.style.minWidth = `${minWidth}px`;
|
|
@@ -905,11 +944,11 @@ function FloatingComboboxCore({
|
|
|
905
944
|
return () => document.removeEventListener("mousemove", onMove);
|
|
906
945
|
}, [open, panel.refs]);
|
|
907
946
|
|
|
908
|
-
// When filter/list changes: truncate refs, sync activeIndex with cursor
|
|
947
|
+
// When filter/list changes: truncate refs, sync activeIndex with cursor.
|
|
948
|
+
// Typing is keyboard-origin (LC-71) — do not drop the list ring on filter.
|
|
909
949
|
// After filter, the list remounts (Fragment key=filter) so mouseenter often doesn't fire for
|
|
910
950
|
// elements that appear under a stationary cursor. Use elementFromPoint to set the correct index.
|
|
911
951
|
useLayoutEffect(() => {
|
|
912
|
-
keyboardNavRef.current = false;
|
|
913
952
|
const len = sortedFiltered.length + (showCreateOption ? 1 : 0);
|
|
914
953
|
listItemsRef.current.length = len;
|
|
915
954
|
justResetFromFilterRef.current = true;
|
|
@@ -941,7 +980,7 @@ function FloatingComboboxCore({
|
|
|
941
980
|
activeIndex,
|
|
942
981
|
onNavigate: (index) => {
|
|
943
982
|
if (index !== null) {
|
|
944
|
-
|
|
983
|
+
setKeyboardNav(true);
|
|
945
984
|
lastKeyboardNavTimeRef.current = Date.now();
|
|
946
985
|
lastMousePosRef.current = { ...currentMousePosRef.current };
|
|
947
986
|
setActiveIndex(index);
|
|
@@ -989,31 +1028,34 @@ function FloatingComboboxCore({
|
|
|
989
1028
|
[onValueChange, multiple, value, sortedFiltered],
|
|
990
1029
|
);
|
|
991
1030
|
|
|
992
|
-
const handleListMouseMove = useCallback(
|
|
993
|
-
|
|
994
|
-
|
|
1031
|
+
const handleListMouseMove = useCallback(
|
|
1032
|
+
(e: React.MouseEvent) => {
|
|
1033
|
+
const { clientX, clientY } = e;
|
|
1034
|
+
currentMousePosRef.current = { x: clientX, y: clientY };
|
|
995
1035
|
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1036
|
+
// Sync activeIndex from elementUnderCursor - list's own mousemove fires in correct context (works in iframes)
|
|
1037
|
+
if (!keyboardNavRef.current && typeof document !== "undefined") {
|
|
1038
|
+
const el = document.elementFromPoint(clientX, clientY);
|
|
1039
|
+
const row = el?.closest?.("[data-combobox-index]");
|
|
1040
|
+
const actualIndex = row?.getAttribute("data-combobox-index");
|
|
1041
|
+
const list = sortedFilteredRef.current;
|
|
1042
|
+
const len = list.length + (showCreateOptionRef.current ? 1 : 0);
|
|
1043
|
+
const activeIdx = activeIndexRef.current;
|
|
1044
|
+
const n = actualIndex != null ? Number(actualIndex) : null;
|
|
1045
|
+
const next = n != null && n >= 0 && n < len ? n : activeIdx;
|
|
1046
|
+
if (next !== activeIdx) setActiveIndex(next);
|
|
1047
|
+
}
|
|
1008
1048
|
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1049
|
+
const last = lastMousePosRef.current;
|
|
1050
|
+
const posChanged = last != null && (clientX !== last.x || clientY !== last.y);
|
|
1051
|
+
if (!posChanged) return;
|
|
1052
|
+
const now = Date.now();
|
|
1053
|
+
if (now - lastKeyboardNavTimeRef.current < 200) return;
|
|
1054
|
+
lastMousePosRef.current = { x: clientX, y: clientY };
|
|
1055
|
+
setKeyboardNav(false);
|
|
1056
|
+
},
|
|
1057
|
+
[setKeyboardNav],
|
|
1058
|
+
);
|
|
1017
1059
|
|
|
1018
1060
|
const handlersRef = useRef({} as ComboboxItemHandlers);
|
|
1019
1061
|
|
|
@@ -1073,12 +1115,17 @@ function FloatingComboboxCore({
|
|
|
1073
1115
|
event.key === "k"
|
|
1074
1116
|
) {
|
|
1075
1117
|
event.preventDefault();
|
|
1118
|
+
setKeyboardNav(true);
|
|
1076
1119
|
setOpen(true);
|
|
1077
1120
|
setActiveIndex(0);
|
|
1078
1121
|
}
|
|
1079
1122
|
},
|
|
1080
1123
|
});
|
|
1081
1124
|
|
|
1125
|
+
const listboxId = comboboxListboxId(id);
|
|
1126
|
+
const activeDescendant =
|
|
1127
|
+
open && activeIndex != null && activeIndex >= 0 ? comboboxOptionId(id, activeIndex) : undefined;
|
|
1128
|
+
|
|
1082
1129
|
const boxEventProps: Record<string, any> = {};
|
|
1083
1130
|
for (const [key, val] of Object.entries(referenceProps)) {
|
|
1084
1131
|
if (key === "ref" || typeof val === "function") boxEventProps[key] = val;
|
|
@@ -1088,11 +1135,17 @@ function FloatingComboboxCore({
|
|
|
1088
1135
|
boxEventProps.role = "combobox";
|
|
1089
1136
|
boxEventProps["aria-haspopup"] = "listbox";
|
|
1090
1137
|
boxEventProps["aria-expanded"] = open;
|
|
1138
|
+
boxEventProps["aria-controls"] = listboxId;
|
|
1139
|
+
if (hideSearch) {
|
|
1140
|
+
boxEventProps["aria-autocomplete"] = "list";
|
|
1141
|
+
if (activeDescendant) boxEventProps["aria-activedescendant"] = activeDescendant;
|
|
1142
|
+
}
|
|
1091
1143
|
if (id) boxEventProps.id = id;
|
|
1092
1144
|
if (ariaLabel) boxEventProps["aria-label"] = ariaLabel;
|
|
1093
|
-
|
|
1094
|
-
//
|
|
1095
|
-
|
|
1145
|
+
// A labelled trigger is already named: the sibling Label wires
|
|
1146
|
+
// `aria-labelledby` onto this id itself, so naming it again here doubles the
|
|
1147
|
+
// spoken name. Standalone triggers still need one (axe aria-input-field-name).
|
|
1148
|
+
else if (!(hasLabel && id) && placeholder) boxEventProps["aria-label"] = placeholder;
|
|
1096
1149
|
if (describedBy) boxEventProps["aria-describedby"] = describedBy;
|
|
1097
1150
|
|
|
1098
1151
|
// Total navigable items includes the create option if shown
|
|
@@ -1106,7 +1159,7 @@ function FloatingComboboxCore({
|
|
|
1106
1159
|
if (isDown || isUp) {
|
|
1107
1160
|
e.preventDefault();
|
|
1108
1161
|
e.stopPropagation();
|
|
1109
|
-
|
|
1162
|
+
setKeyboardNav(true);
|
|
1110
1163
|
lastKeyboardNavTimeRef.current = Date.now();
|
|
1111
1164
|
lastMousePosRef.current = { ...currentMousePosRef.current };
|
|
1112
1165
|
setActiveIndex((prev) => {
|
|
@@ -1127,7 +1180,7 @@ function FloatingComboboxCore({
|
|
|
1127
1180
|
});
|
|
1128
1181
|
}
|
|
1129
1182
|
},
|
|
1130
|
-
[totalNavigableItems],
|
|
1183
|
+
[totalNavigableItems, setKeyboardNav],
|
|
1131
1184
|
);
|
|
1132
1185
|
|
|
1133
1186
|
handlersRef.current = {
|
|
@@ -1146,7 +1199,7 @@ function FloatingComboboxCore({
|
|
|
1146
1199
|
const isUp = event.key === "ArrowUp" || event.key === "k";
|
|
1147
1200
|
if (isDown) {
|
|
1148
1201
|
event.preventDefault();
|
|
1149
|
-
|
|
1202
|
+
setKeyboardNav(true);
|
|
1150
1203
|
lastKeyboardNavTimeRef.current = Date.now();
|
|
1151
1204
|
lastMousePosRef.current = { ...currentMousePosRef.current };
|
|
1152
1205
|
setActiveIndex((prev) => {
|
|
@@ -1155,13 +1208,23 @@ function FloatingComboboxCore({
|
|
|
1155
1208
|
});
|
|
1156
1209
|
} else if (isUp) {
|
|
1157
1210
|
event.preventDefault();
|
|
1158
|
-
|
|
1211
|
+
setKeyboardNav(true);
|
|
1159
1212
|
lastKeyboardNavTimeRef.current = Date.now();
|
|
1160
1213
|
lastMousePosRef.current = { ...currentMousePosRef.current };
|
|
1161
1214
|
setActiveIndex((prev) => {
|
|
1162
1215
|
const next = prev == null ? totalNavigableItems - 1 : prev - 1;
|
|
1163
1216
|
return next < 0 ? totalNavigableItems - 1 : next;
|
|
1164
1217
|
});
|
|
1218
|
+
} else if (event.key === "Home") {
|
|
1219
|
+
event.preventDefault();
|
|
1220
|
+
setKeyboardNav(true);
|
|
1221
|
+
lastKeyboardNavTimeRef.current = Date.now();
|
|
1222
|
+
setActiveIndex(0);
|
|
1223
|
+
} else if (event.key === "End") {
|
|
1224
|
+
event.preventDefault();
|
|
1225
|
+
setKeyboardNav(true);
|
|
1226
|
+
lastKeyboardNavTimeRef.current = Date.now();
|
|
1227
|
+
setActiveIndex(Math.max(0, totalNavigableItems - 1));
|
|
1165
1228
|
} else if (event.key === "Enter" || event.key === " ") {
|
|
1166
1229
|
event.preventDefault();
|
|
1167
1230
|
if (activeIndex === createOptionIndex && showCreateOption) {
|
|
@@ -1190,6 +1253,7 @@ function FloatingComboboxCore({
|
|
|
1190
1253
|
createOptionIndex,
|
|
1191
1254
|
showCreateOption,
|
|
1192
1255
|
multiple,
|
|
1256
|
+
setKeyboardNav,
|
|
1193
1257
|
],
|
|
1194
1258
|
);
|
|
1195
1259
|
|
|
@@ -1239,6 +1303,8 @@ function FloatingComboboxCore({
|
|
|
1239
1303
|
width="100%"
|
|
1240
1304
|
alignSelf="stretch"
|
|
1241
1305
|
flexShrink={0}
|
|
1306
|
+
outlineWidth={0}
|
|
1307
|
+
focusVisibleStyle={ensureFocusVisibleRing({ outlineOffset: -2 })}
|
|
1242
1308
|
style={{ display: "flex", alignItems: "stretch", width: "100%" }}
|
|
1243
1309
|
>
|
|
1244
1310
|
{triggerRender(multiple ? selectedOptions : selectedOption, open)}
|
|
@@ -1252,6 +1318,10 @@ function FloatingComboboxCore({
|
|
|
1252
1318
|
cursor={disabled ? "not-allowed" : "pointer"}
|
|
1253
1319
|
disabled={disabled}
|
|
1254
1320
|
size={knobProps.sizeToken}
|
|
1321
|
+
// One surface owner (OVERLAY_ANCHOR_GAP rule): the open panel covers
|
|
1322
|
+
// this trigger (panel top = trigger top), so the trigger's outer focus
|
|
1323
|
+
// ring must not paint — it would ghost around the panel's corners.
|
|
1324
|
+
suppressFocusRing={open}
|
|
1255
1325
|
{...(inTableCell
|
|
1256
1326
|
? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
|
|
1257
1327
|
{ minHeight: 44 }
|
|
@@ -1354,6 +1424,7 @@ function FloatingComboboxCore({
|
|
|
1354
1424
|
pointerEvents={panel.visible ? "auto" : "none"}
|
|
1355
1425
|
{...getFloatingProps({
|
|
1356
1426
|
ref: panel.refs.setFloating,
|
|
1427
|
+
id: listboxId,
|
|
1357
1428
|
})}
|
|
1358
1429
|
style={
|
|
1359
1430
|
{
|
|
@@ -1386,6 +1457,8 @@ function FloatingComboboxCore({
|
|
|
1386
1457
|
borderBottomColor={formCommonColors.divider}
|
|
1387
1458
|
borderRadius={0}
|
|
1388
1459
|
elevation={undefined}
|
|
1460
|
+
// LC-71: search is text-entry — ring the whole row (magnifier included).
|
|
1461
|
+
{...(isWeb ? { className: "mp-composite-ring" } : undefined)}
|
|
1389
1462
|
>
|
|
1390
1463
|
<InputParts.Section>
|
|
1391
1464
|
<InputParts.Icon adornment="leading">
|
|
@@ -1399,6 +1472,10 @@ function FloatingComboboxCore({
|
|
|
1399
1472
|
onChangeText={(text: string) => setInternalFilter(text)}
|
|
1400
1473
|
placeholder={searchPlaceholder}
|
|
1401
1474
|
onKeyDown={handleSearchKeyDown as any}
|
|
1475
|
+
aria-autocomplete="list"
|
|
1476
|
+
aria-controls={listboxId}
|
|
1477
|
+
aria-activedescendant={activeDescendant}
|
|
1478
|
+
aria-expanded={open}
|
|
1402
1479
|
/>
|
|
1403
1480
|
</InputParts.Section>
|
|
1404
1481
|
{loading ? (
|
|
@@ -1455,8 +1532,10 @@ function FloatingComboboxCore({
|
|
|
1455
1532
|
key={option.value}
|
|
1456
1533
|
option={option}
|
|
1457
1534
|
index={index}
|
|
1535
|
+
optionId={comboboxOptionId(id, index)}
|
|
1458
1536
|
isSelected={isSelected(option.value)}
|
|
1459
1537
|
isActive={index === activeIndex}
|
|
1538
|
+
keyboardRing={index === activeIndex && listKeyboardRing}
|
|
1460
1539
|
suppressHover={activeIndex != null}
|
|
1461
1540
|
handlers={handlersRef}
|
|
1462
1541
|
/>
|
|
@@ -1471,8 +1550,10 @@ function FloatingComboboxCore({
|
|
|
1471
1550
|
key={item.option.value}
|
|
1472
1551
|
option={item.option}
|
|
1473
1552
|
index={item.flatIndex}
|
|
1553
|
+
optionId={comboboxOptionId(id, item.flatIndex)}
|
|
1474
1554
|
isSelected={isSelected(item.option.value)}
|
|
1475
1555
|
isActive={item.flatIndex === activeIndex}
|
|
1556
|
+
keyboardRing={item.flatIndex === activeIndex && listKeyboardRing}
|
|
1476
1557
|
suppressHover={activeIndex != null}
|
|
1477
1558
|
handlers={handlersRef}
|
|
1478
1559
|
/>
|
|
@@ -1482,10 +1563,13 @@ function FloatingComboboxCore({
|
|
|
1482
1563
|
<ComboboxRow
|
|
1483
1564
|
role="option"
|
|
1484
1565
|
tabIndex={-1}
|
|
1566
|
+
id={comboboxOptionId(id, createOptionIndex)}
|
|
1485
1567
|
selected={false}
|
|
1568
|
+
active={createOptionIndex === activeIndex}
|
|
1486
1569
|
size={knobProps.sizeToken}
|
|
1487
1570
|
data-combobox-index={createOptionIndex}
|
|
1488
1571
|
data-active={createOptionIndex === activeIndex}
|
|
1572
|
+
{...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
|
|
1489
1573
|
backgroundColor={
|
|
1490
1574
|
createOptionIndex === activeIndex
|
|
1491
1575
|
? formInputColors.background.focus
|
|
@@ -1518,14 +1602,16 @@ function FloatingComboboxCore({
|
|
|
1518
1602
|
)}
|
|
1519
1603
|
</Fragment>
|
|
1520
1604
|
) : showCreateOption ? (
|
|
1521
|
-
<
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1605
|
+
<ComboboxRow
|
|
1606
|
+
role="option"
|
|
1607
|
+
tabIndex={-1}
|
|
1608
|
+
id={comboboxOptionId(id, createOptionIndex)}
|
|
1609
|
+
selected={false}
|
|
1610
|
+
active={createOptionIndex === activeIndex}
|
|
1611
|
+
size={knobProps.sizeToken}
|
|
1527
1612
|
data-combobox-index={createOptionIndex}
|
|
1528
1613
|
data-active={createOptionIndex === activeIndex}
|
|
1614
|
+
{...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
|
|
1529
1615
|
onPress={handleCreate}
|
|
1530
1616
|
hoverStyle={
|
|
1531
1617
|
activeIndex != null
|
|
@@ -1555,7 +1641,7 @@ function FloatingComboboxCore({
|
|
|
1555
1641
|
>
|
|
1556
1642
|
{createLabel.replace("{value}", filter.trim())}
|
|
1557
1643
|
</Text>
|
|
1558
|
-
</
|
|
1644
|
+
</ComboboxRow>
|
|
1559
1645
|
) : loading ? (
|
|
1560
1646
|
// Async search in flight with nothing loaded yet: a bounded
|
|
1561
1647
|
// loading row — never a premature "no results".
|
|
@@ -1670,6 +1756,7 @@ function NativeComboboxCore({
|
|
|
1670
1756
|
open: openProp,
|
|
1671
1757
|
onOpenChange,
|
|
1672
1758
|
}: FloatingComboboxCoreProps) {
|
|
1759
|
+
if (isWeb) ensureKeyboardModalityTracking();
|
|
1673
1760
|
const { t } = useTranslation();
|
|
1674
1761
|
const inTableCell = useIsInTableCell();
|
|
1675
1762
|
const describedBy = useFieldDescribedBy();
|
|
@@ -1690,6 +1777,10 @@ function NativeComboboxCore({
|
|
|
1690
1777
|
// Use external searchValue when provided, otherwise use internal filter
|
|
1691
1778
|
const filter = searchValue !== undefined ? searchValue : internalFilter;
|
|
1692
1779
|
const [activeIndex, setActiveIndex] = useState<number | null>(0);
|
|
1780
|
+
const [listKeyboardRing, setListKeyboardRing] = useState(false);
|
|
1781
|
+
const setKeyboardNav = useCallback((next: boolean) => {
|
|
1782
|
+
setListKeyboardRing((prev) => (prev === next ? prev : next));
|
|
1783
|
+
}, []);
|
|
1693
1784
|
const listRef = useRef<HTMLElement | null>(null);
|
|
1694
1785
|
const fieldA11y = useFieldA11y();
|
|
1695
1786
|
|
|
@@ -1735,7 +1826,7 @@ function NativeComboboxCore({
|
|
|
1735
1826
|
|
|
1736
1827
|
const filtered = useMemo(() => {
|
|
1737
1828
|
if (onSearch || !filter) return options;
|
|
1738
|
-
const query = filter.toLowerCase();
|
|
1829
|
+
const query = filter.trim().toLowerCase();
|
|
1739
1830
|
return options.filter(
|
|
1740
1831
|
(option) =>
|
|
1741
1832
|
option.label.toLowerCase().includes(query) ||
|
|
@@ -1814,6 +1905,9 @@ function NativeComboboxCore({
|
|
|
1814
1905
|
|
|
1815
1906
|
const totalItems = sortedFiltered.length + (showCreateOption ? 1 : 0);
|
|
1816
1907
|
const createOptionIndex = showCreateOption ? sortedFiltered.length : -1;
|
|
1908
|
+
const listboxId = comboboxListboxId(id);
|
|
1909
|
+
const activeDescendant =
|
|
1910
|
+
open && activeIndex != null && activeIndex >= 0 ? comboboxOptionId(id, activeIndex) : undefined;
|
|
1817
1911
|
|
|
1818
1912
|
const handleSelect = useCallback(
|
|
1819
1913
|
(option: ComboboxOption) => {
|
|
@@ -1837,6 +1931,7 @@ function NativeComboboxCore({
|
|
|
1837
1931
|
const isUp = e.key === "ArrowUp" || e.key === "k";
|
|
1838
1932
|
if (isDown) {
|
|
1839
1933
|
e.preventDefault();
|
|
1934
|
+
setKeyboardNav(true);
|
|
1840
1935
|
listRef.current?.focus();
|
|
1841
1936
|
setActiveIndex((prev) => {
|
|
1842
1937
|
const next = prev == null ? 0 : prev + 1;
|
|
@@ -1844,14 +1939,23 @@ function NativeComboboxCore({
|
|
|
1844
1939
|
});
|
|
1845
1940
|
} else if (isUp) {
|
|
1846
1941
|
e.preventDefault();
|
|
1942
|
+
setKeyboardNav(true);
|
|
1847
1943
|
listRef.current?.focus();
|
|
1848
1944
|
setActiveIndex((prev) => {
|
|
1849
1945
|
const next = prev == null ? totalItems - 1 : prev - 1;
|
|
1850
1946
|
return next < 0 ? totalItems - 1 : next;
|
|
1851
1947
|
});
|
|
1948
|
+
} else if (e.key === "Home") {
|
|
1949
|
+
e.preventDefault();
|
|
1950
|
+
setKeyboardNav(true);
|
|
1951
|
+
setActiveIndex(0);
|
|
1952
|
+
} else if (e.key === "End") {
|
|
1953
|
+
e.preventDefault();
|
|
1954
|
+
setKeyboardNav(true);
|
|
1955
|
+
setActiveIndex(Math.max(0, totalItems - 1));
|
|
1852
1956
|
}
|
|
1853
1957
|
},
|
|
1854
|
-
[totalItems],
|
|
1958
|
+
[totalItems, setKeyboardNav],
|
|
1855
1959
|
);
|
|
1856
1960
|
|
|
1857
1961
|
const handleListKeyDown = useCallback(
|
|
@@ -1861,16 +1965,26 @@ function NativeComboboxCore({
|
|
|
1861
1965
|
const isUp = e.key === "ArrowUp" || e.key === "k";
|
|
1862
1966
|
if (isDown) {
|
|
1863
1967
|
e.preventDefault();
|
|
1968
|
+
setKeyboardNav(true);
|
|
1864
1969
|
setActiveIndex((prev) => {
|
|
1865
1970
|
const next = prev == null ? 0 : prev + 1;
|
|
1866
1971
|
return next >= totalItems ? 0 : next;
|
|
1867
1972
|
});
|
|
1868
1973
|
} else if (isUp) {
|
|
1869
1974
|
e.preventDefault();
|
|
1975
|
+
setKeyboardNav(true);
|
|
1870
1976
|
setActiveIndex((prev) => {
|
|
1871
1977
|
const next = prev == null ? totalItems - 1 : prev - 1;
|
|
1872
1978
|
return next < 0 ? totalItems - 1 : next;
|
|
1873
1979
|
});
|
|
1980
|
+
} else if (e.key === "Home") {
|
|
1981
|
+
e.preventDefault();
|
|
1982
|
+
setKeyboardNav(true);
|
|
1983
|
+
setActiveIndex(0);
|
|
1984
|
+
} else if (e.key === "End") {
|
|
1985
|
+
e.preventDefault();
|
|
1986
|
+
setKeyboardNav(true);
|
|
1987
|
+
setActiveIndex(Math.max(0, totalItems - 1));
|
|
1874
1988
|
} else if (e.key === "Enter" || e.key === " ") {
|
|
1875
1989
|
e.preventDefault();
|
|
1876
1990
|
if (activeIndex === createOptionIndex && showCreateOption) {
|
|
@@ -1890,6 +2004,7 @@ function NativeComboboxCore({
|
|
|
1890
2004
|
handleCreate,
|
|
1891
2005
|
handleSelect,
|
|
1892
2006
|
multiple,
|
|
2007
|
+
setKeyboardNav,
|
|
1893
2008
|
],
|
|
1894
2009
|
);
|
|
1895
2010
|
|
|
@@ -1960,8 +2075,17 @@ function NativeComboboxCore({
|
|
|
1960
2075
|
// VoiceOver blob.
|
|
1961
2076
|
<View
|
|
1962
2077
|
ref={listRef as any}
|
|
1963
|
-
{...(isWeb
|
|
1964
|
-
|
|
2078
|
+
{...(isWeb
|
|
2079
|
+
? // role="listbox" is a valid ARIA role but outside RN's `Role` union;
|
|
2080
|
+
// this web-only bag forwards it to the DOM node (house Record cast).
|
|
2081
|
+
({
|
|
2082
|
+
tabIndex: 0,
|
|
2083
|
+
onKeyDown: handleListKeyDown,
|
|
2084
|
+
role: "listbox",
|
|
2085
|
+
id: listboxId,
|
|
2086
|
+
} as Record<string, unknown>)
|
|
2087
|
+
: undefined)}
|
|
2088
|
+
outlineWidth={0}
|
|
1965
2089
|
// Native sheet: flex={1} inside FloatingPanel ScrollView collapses rows.
|
|
1966
2090
|
>
|
|
1967
2091
|
{searchError ? (
|
|
@@ -1988,11 +2112,20 @@ function NativeComboboxCore({
|
|
|
1988
2112
|
alignItems="center"
|
|
1989
2113
|
gap="$2"
|
|
1990
2114
|
paddingHorizontal="$3"
|
|
2115
|
+
id={comboboxOptionId(id, i)}
|
|
2116
|
+
role="option"
|
|
2117
|
+
aria-selected={selected}
|
|
2118
|
+
data-combobox-index={i}
|
|
2119
|
+
data-active={active}
|
|
2120
|
+
{...listItemRingProps(active && listKeyboardRing)}
|
|
1991
2121
|
{...(option.description
|
|
1992
2122
|
? { minHeight: knobProps.sizeToken, paddingVertical: "$2" }
|
|
1993
2123
|
: { height: knobProps.sizeToken })}
|
|
1994
2124
|
onPress={isWeb ? () => handleSelect(option) : undefined}
|
|
1995
|
-
onMouseEnter={() =>
|
|
2125
|
+
onMouseEnter={() => {
|
|
2126
|
+
setKeyboardNav(false);
|
|
2127
|
+
setActiveIndex(i);
|
|
2128
|
+
}}
|
|
1996
2129
|
{...(!isWeb ? { pointerEvents: "none" as const } : {})}
|
|
1997
2130
|
hoverStyle={
|
|
1998
2131
|
activeIndex != null
|
|
@@ -2076,8 +2209,16 @@ function NativeComboboxCore({
|
|
|
2076
2209
|
gap="$2"
|
|
2077
2210
|
paddingHorizontal="$3"
|
|
2078
2211
|
height={knobProps.sizeToken}
|
|
2212
|
+
role="option"
|
|
2213
|
+
id={comboboxOptionId(id, createOptionIndex)}
|
|
2214
|
+
data-combobox-index={createOptionIndex}
|
|
2215
|
+
data-active={createOptionIndex === activeIndex}
|
|
2216
|
+
{...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
|
|
2079
2217
|
onPress={handleCreate}
|
|
2080
|
-
onMouseEnter={() =>
|
|
2218
|
+
onMouseEnter={() => {
|
|
2219
|
+
setKeyboardNav(false);
|
|
2220
|
+
setActiveIndex(createOptionIndex);
|
|
2221
|
+
}}
|
|
2081
2222
|
hoverStyle={
|
|
2082
2223
|
activeIndex != null
|
|
2083
2224
|
? {
|
|
@@ -2113,8 +2254,16 @@ function NativeComboboxCore({
|
|
|
2113
2254
|
gap="$2"
|
|
2114
2255
|
paddingHorizontal="$3"
|
|
2115
2256
|
height={knobProps.sizeToken}
|
|
2257
|
+
role="option"
|
|
2258
|
+
id={comboboxOptionId(id, createOptionIndex)}
|
|
2259
|
+
data-combobox-index={createOptionIndex}
|
|
2260
|
+
data-active={createOptionIndex === activeIndex}
|
|
2261
|
+
{...listItemRingProps(createOptionIndex === activeIndex && listKeyboardRing)}
|
|
2116
2262
|
onPress={handleCreate}
|
|
2117
|
-
onMouseEnter={() =>
|
|
2263
|
+
onMouseEnter={() => {
|
|
2264
|
+
setKeyboardNav(false);
|
|
2265
|
+
setActiveIndex(createOptionIndex);
|
|
2266
|
+
}}
|
|
2118
2267
|
hoverStyle={
|
|
2119
2268
|
activeIndex != null
|
|
2120
2269
|
? {
|
|
@@ -2173,6 +2322,8 @@ function NativeComboboxCore({
|
|
|
2173
2322
|
width="100%"
|
|
2174
2323
|
alignSelf="stretch"
|
|
2175
2324
|
flexShrink={0}
|
|
2325
|
+
outlineWidth={0}
|
|
2326
|
+
focusVisibleStyle={ensureFocusVisibleRing({ outlineOffset: -2 })}
|
|
2176
2327
|
style={{ display: "flex", alignItems: "stretch", width: "100%" }}
|
|
2177
2328
|
>
|
|
2178
2329
|
{triggerRender(multiple ? selectedOptions : selectedOption, open)}
|
|
@@ -2185,6 +2336,10 @@ function NativeComboboxCore({
|
|
|
2185
2336
|
cursor={disabled ? "not-allowed" : "pointer"}
|
|
2186
2337
|
disabled={disabled}
|
|
2187
2338
|
size={knobProps.sizeToken}
|
|
2339
|
+
// One surface owner (OVERLAY_ANCHOR_GAP rule): the open FloatingPanel
|
|
2340
|
+
// covers this trigger (panel top = trigger top), so the trigger's outer
|
|
2341
|
+
// focus ring must not paint — it would ghost around the panel's corners.
|
|
2342
|
+
suppressFocusRing={open}
|
|
2188
2343
|
{...(inTableCell
|
|
2189
2344
|
? // Chromeless in cells, but keep a ≥44px pressable target (SP-FIXED).
|
|
2190
2345
|
{ minHeight: 44 }
|
|
@@ -2203,9 +2358,13 @@ function NativeComboboxCore({
|
|
|
2203
2358
|
role: "combobox" as const,
|
|
2204
2359
|
"aria-haspopup": "listbox",
|
|
2205
2360
|
"aria-expanded": open,
|
|
2206
|
-
|
|
2361
|
+
"aria-controls": listboxId,
|
|
2362
|
+
"aria-activedescendant": hideSearch ? activeDescendant : undefined,
|
|
2363
|
+
"aria-autocomplete": hideSearch ? ("list" as const) : undefined,
|
|
2364
|
+
// Standalone (no label): fall back to placeholder for the name.
|
|
2365
|
+
// Labelled: the sibling Label wires `aria-labelledby` onto this id
|
|
2366
|
+
// itself — naming it here too doubles the spoken name.
|
|
2207
2367
|
"aria-label": ariaLabel ?? (!hasLabel ? placeholder : undefined),
|
|
2208
|
-
"aria-labelledby": !ariaLabel && hasLabel && id ? `${id}-label` : undefined,
|
|
2209
2368
|
"aria-describedby": describedBy,
|
|
2210
2369
|
tabIndex: disabled ? -1 : 0,
|
|
2211
2370
|
}
|
|
@@ -2219,6 +2378,7 @@ function NativeComboboxCore({
|
|
|
2219
2378
|
e.code === "Space"
|
|
2220
2379
|
) {
|
|
2221
2380
|
e.preventDefault();
|
|
2381
|
+
setKeyboardNav(true);
|
|
2222
2382
|
if (!open) handleOpenChange(true);
|
|
2223
2383
|
}
|
|
2224
2384
|
}}
|