@reillymc/react-native-components 0.12.6 → 0.12.8

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.
@@ -1 +1 @@
1
- var _excluded=["label","hideLabel","help","error","required","disabled","readOnly","variant","style","theme"];function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useComponent}from"../../internal";import{Field,FieldSurface,FieldTextInput}from"../field";import{jsx as _jsx}from"react/jsx-runtime";export var TextInput=t0=>{var $=_c(28);var disabled;var error;var help;var hideLabel;var inputProps;var label;var readOnly;var required;var style;var themeOverrides;var variant;if($[0]!==t0){label=t0.label;hideLabel=t0.hideLabel;help=t0.help;error=t0.error;required=t0.required;disabled=t0.disabled;readOnly=t0.readOnly;variant=t0.variant;style=t0.style;themeOverrides=t0.theme;inputProps=_objectWithoutProperties(t0,_excluded);$[0]=t0;$[1]=disabled;$[2]=error;$[3]=help;$[4]=hideLabel;$[5]=inputProps;$[6]=label;$[7]=readOnly;$[8]=required;$[9]=style;$[10]=themeOverrides;$[11]=variant;}else{disabled=$[1];error=$[2];help=$[3];hideLabel=$[4];inputProps=$[5];label=$[6];readOnly=$[7];required=$[8];style=$[9];themeOverrides=$[10];variant=$[11];}var t1;if($[12]!==themeOverrides){t1={themeOverrides};$[12]=themeOverrides;$[13]=t1;}else{t1=$[13];}var _useComponent=useComponent("textInput",t1),theme=_useComponent.theme;var t2;if($[14]!==inputProps||$[15]!==theme.textInput){t2=_jsx(FieldSurface,{children:_jsx(FieldTextInput,{theme:theme.textInput,...inputProps})});$[14]=inputProps;$[15]=theme.textInput;$[16]=t2;}else{t2=$[16];}var t3;if($[17]!==disabled||$[18]!==error||$[19]!==help||$[20]!==hideLabel||$[21]!==label||$[22]!==readOnly||$[23]!==required||$[24]!==style||$[25]!==t2||$[26]!==variant){t3=_jsx(Field,{label:label,hideLabel:hideLabel,help:help,error:error,required:required,disabled:disabled,readOnly:readOnly,variant:variant,style:style,children:t2});$[17]=disabled;$[18]=error;$[19]=help;$[20]=hideLabel;$[21]=label;$[22]=readOnly;$[23]=required;$[24]=style;$[25]=t2;$[26]=variant;$[27]=t3;}else{t3=$[27];}return t3;};
1
+ var _excluded=["label","hideLabel","help","error","required","disabled","readOnly","variant","style","theme"];function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useComponent}from"../../internal";import{Field,FieldSurface,FieldTextInput}from"../field";import{jsx as _jsx}from"react/jsx-runtime";export var TextInput=t0=>{var $=_c(31);var disabled;var error;var help;var hideLabel;var inputProps;var label;var readOnly;var required;var style;var themeOverrides;var variant;if($[0]!==t0){label=t0.label;hideLabel=t0.hideLabel;help=t0.help;error=t0.error;required=t0.required;disabled=t0.disabled;readOnly=t0.readOnly;variant=t0.variant;style=t0.style;themeOverrides=t0.theme;inputProps=_objectWithoutProperties(t0,_excluded);$[0]=t0;$[1]=disabled;$[2]=error;$[3]=help;$[4]=hideLabel;$[5]=inputProps;$[6]=label;$[7]=readOnly;$[8]=required;$[9]=style;$[10]=themeOverrides;$[11]=variant;}else{disabled=$[1];error=$[2];help=$[3];hideLabel=$[4];inputProps=$[5];label=$[6];readOnly=$[7];required=$[8];style=$[9];themeOverrides=$[10];variant=$[11];}var t1;if($[12]!==themeOverrides){t1={themeOverrides};$[12]=themeOverrides;$[13]=t1;}else{t1=$[13];}var _useComponent=useComponent("textInput",t1),theme=_useComponent.theme;var t2;if($[14]!==inputProps||$[15]!==theme.textInput){t2=_jsx(FieldTextInput,{theme:theme.textInput,...inputProps});$[14]=inputProps;$[15]=theme.textInput;$[16]=t2;}else{t2=$[16];}var t3;if($[17]!==t2||$[18]!==theme.surface){t3=_jsx(FieldSurface,{theme:theme.surface,children:t2});$[17]=t2;$[18]=theme.surface;$[19]=t3;}else{t3=$[19];}var t4;if($[20]!==disabled||$[21]!==error||$[22]!==help||$[23]!==hideLabel||$[24]!==label||$[25]!==readOnly||$[26]!==required||$[27]!==style||$[28]!==t3||$[29]!==variant){t4=_jsx(Field,{label:label,hideLabel:hideLabel,help:help,error:error,required:required,disabled:disabled,readOnly:readOnly,variant:variant,style:style,children:t3});$[20]=disabled;$[21]=error;$[22]=help;$[23]=hideLabel;$[24]=label;$[25]=readOnly;$[26]=required;$[27]=style;$[28]=t3;$[29]=variant;$[30]=t4;}else{t4=$[30];}return t4;};
@@ -1 +1 @@
1
- export var defaultTextInputTheme=({theme})=>({textInput:theme.field.text});
1
+ export var defaultTextInputTheme=({theme})=>({surface:theme.field.surface,textInput:theme.field.text});
@@ -1 +1 @@
1
- var _excluded=["label","hideLabel","help","error","required","disabled","readOnly","variant","style","theme","onChange"];function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useAnimatedRef}from"react-native-reanimated";import{useComponent}from"../../../internal";import{Field,FieldSurface}from"../../field";import{ComboboxInputBase}from"./ComboboxInputBase";import{jsx as _jsx}from"react/jsx-runtime";export var ComboboxInput=t0=>{var $=_c(35);var disabled;var error;var help;var hideLabel;var label;var onChange;var props;var readOnly;var required;var style;var themeOverrides;var variant;if($[0]!==t0){label=t0.label;hideLabel=t0.hideLabel;help=t0.help;error=t0.error;required=t0.required;disabled=t0.disabled;readOnly=t0.readOnly;variant=t0.variant;style=t0.style;themeOverrides=t0.theme;onChange=t0.onChange;props=_objectWithoutProperties(t0,_excluded);$[0]=t0;$[1]=disabled;$[2]=error;$[3]=help;$[4]=hideLabel;$[5]=label;$[6]=onChange;$[7]=props;$[8]=readOnly;$[9]=required;$[10]=style;$[11]=themeOverrides;$[12]=variant;}else{disabled=$[1];error=$[2];help=$[3];hideLabel=$[4];label=$[5];onChange=$[6];props=$[7];readOnly=$[8];required=$[9];style=$[10];themeOverrides=$[11];variant=$[12];}var t1;if($[13]!==themeOverrides){t1={themeOverrides};$[13]=themeOverrides;$[14]=t1;}else{t1=$[14];}var _useComponent=useComponent("comboboxInput",t1),theme=_useComponent.theme;var surfaceAnchorRef=useAnimatedRef();var t2;if($[15]!==onChange||$[16]!==props||$[17]!==surfaceAnchorRef||$[18]!==theme){t2=_jsx(ComboboxInputBase,{anchorRef:surfaceAnchorRef,theme:theme,onChange:onChange,...props});$[15]=onChange;$[16]=props;$[17]=surfaceAnchorRef;$[18]=theme;$[19]=t2;}else{t2=$[19];}var t3;if($[20]!==surfaceAnchorRef||$[21]!==t2||$[22]!==theme.surface){t3=_jsx(FieldSurface,{ref:surfaceAnchorRef,theme:theme.surface,children:t2});$[20]=surfaceAnchorRef;$[21]=t2;$[22]=theme.surface;$[23]=t3;}else{t3=$[23];}var t4;if($[24]!==disabled||$[25]!==error||$[26]!==help||$[27]!==hideLabel||$[28]!==label||$[29]!==readOnly||$[30]!==required||$[31]!==style||$[32]!==t3||$[33]!==variant){t4=_jsx(Field,{label:label,hideLabel:hideLabel,help:help,error:error,required:required,disabled:disabled,readOnly:readOnly,variant:variant,style:style,children:t3});$[24]=disabled;$[25]=error;$[26]=help;$[27]=hideLabel;$[28]=label;$[29]=readOnly;$[30]=required;$[31]=style;$[32]=t3;$[33]=variant;$[34]=t4;}else{t4=$[34];}return t4;};
1
+ var _excluded=["label","hideLabel","help","error","required","disabled","readOnly","variant","style","theme"];function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useAnimatedRef}from"react-native-reanimated";import{useComponent}from"../../../internal";import{Field,FieldSurface}from"../../field";import{ComboboxInputBase}from"./ComboboxInputBase";import{jsx as _jsx}from"react/jsx-runtime";export var ComboboxInput=t0=>{var $=_c(33);var disabled;var error;var help;var hideLabel;var label;var props;var readOnly;var required;var style;var themeOverrides;var variant;if($[0]!==t0){label=t0.label;hideLabel=t0.hideLabel;help=t0.help;error=t0.error;required=t0.required;disabled=t0.disabled;readOnly=t0.readOnly;variant=t0.variant;style=t0.style;themeOverrides=t0.theme;props=_objectWithoutProperties(t0,_excluded);$[0]=t0;$[1]=disabled;$[2]=error;$[3]=help;$[4]=hideLabel;$[5]=label;$[6]=props;$[7]=readOnly;$[8]=required;$[9]=style;$[10]=themeOverrides;$[11]=variant;}else{disabled=$[1];error=$[2];help=$[3];hideLabel=$[4];label=$[5];props=$[6];readOnly=$[7];required=$[8];style=$[9];themeOverrides=$[10];variant=$[11];}var t1;if($[12]!==themeOverrides){t1={themeOverrides};$[12]=themeOverrides;$[13]=t1;}else{t1=$[13];}var _useComponent=useComponent("comboboxInput",t1),theme=_useComponent.theme;var surfaceAnchorRef=useAnimatedRef();var t2;if($[14]!==props||$[15]!==surfaceAnchorRef||$[16]!==theme){t2=_jsx(ComboboxInputBase,{anchorRef:surfaceAnchorRef,theme:theme,...props});$[14]=props;$[15]=surfaceAnchorRef;$[16]=theme;$[17]=t2;}else{t2=$[17];}var t3;if($[18]!==surfaceAnchorRef||$[19]!==t2||$[20]!==theme.surface){t3=_jsx(FieldSurface,{ref:surfaceAnchorRef,theme:theme.surface,children:t2});$[18]=surfaceAnchorRef;$[19]=t2;$[20]=theme.surface;$[21]=t3;}else{t3=$[21];}var t4;if($[22]!==disabled||$[23]!==error||$[24]!==help||$[25]!==hideLabel||$[26]!==label||$[27]!==readOnly||$[28]!==required||$[29]!==style||$[30]!==t3||$[31]!==variant){t4=_jsx(Field,{label:label,hideLabel:hideLabel,help:help,error:error,required:required,disabled:disabled,readOnly:readOnly,variant:variant,style:style,children:t3});$[22]=disabled;$[23]=error;$[24]=help;$[25]=hideLabel;$[26]=label;$[27]=readOnly;$[28]=required;$[29]=style;$[30]=t3;$[31]=variant;$[32]=t4;}else{t4=$[32];}return t4;};
@@ -1 +1 @@
1
- var _excluded=["items","value","defaultValue","onChange","onChangeText","controllerRef","disableOpenOnFocus","allowsCustomValue","blurOnSelect","filterItems","minimumSearchLength","maxSuggestionCount","containerPosition","anchorRef","theme","onBlur","onFocus","onKeyPress","onSubmitEditing","ref"];function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useImperativeHandle,useState}from"react";import{useComponent,useForwardedRef}from"../../../internal";import{AnchoredContainer}from"../../../overlays/anchoredContainer";import{Menu,MenuItem}from"../../../overlays/menu";import{FieldTextInput,useFieldControlState}from"../../field";import{ComboboxBlurGuard}from"./ComboboxBlurGuard";import{getItemKey}from"./helpers";import{useComboboxController}from"./useComboboxController";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var EMPTY_ITEMS=[];export var ComboboxInputBase=props=>{var $=_c(80);var anchorRef;var containerPosition;var controllerRef;var defaultValue;var filterItems;var inputProps;var maxSuggestionCount;var onBlur;var onChange;var onChangeText;var onFocus;var onKeyPress;var onSubmitEditing;var ref;var t0;var t1;var t2;var t3;var t4;var themeOverrides;var value;if($[0]!==props){t0=props.items;value=props.value;defaultValue=props.defaultValue;onChange=props.onChange;onChangeText=props.onChangeText;controllerRef=props.controllerRef;t1=props.disableOpenOnFocus;t2=props.allowsCustomValue;t3=props.blurOnSelect;filterItems=props.filterItems;t4=props.minimumSearchLength;maxSuggestionCount=props.maxSuggestionCount;containerPosition=props.containerPosition;anchorRef=props.anchorRef;themeOverrides=props.theme;onBlur=props.onBlur;onFocus=props.onFocus;onKeyPress=props.onKeyPress;onSubmitEditing=props.onSubmitEditing;ref=props.ref;inputProps=_objectWithoutProperties(props,_excluded);$[0]=props;$[1]=anchorRef;$[2]=containerPosition;$[3]=controllerRef;$[4]=defaultValue;$[5]=filterItems;$[6]=inputProps;$[7]=maxSuggestionCount;$[8]=onBlur;$[9]=onChange;$[10]=onChangeText;$[11]=onFocus;$[12]=onKeyPress;$[13]=onSubmitEditing;$[14]=ref;$[15]=t0;$[16]=t1;$[17]=t2;$[18]=t3;$[19]=t4;$[20]=themeOverrides;$[21]=value;}else{anchorRef=$[1];containerPosition=$[2];controllerRef=$[3];defaultValue=$[4];filterItems=$[5];inputProps=$[6];maxSuggestionCount=$[7];onBlur=$[8];onChange=$[9];onChangeText=$[10];onFocus=$[11];onKeyPress=$[12];onSubmitEditing=$[13];ref=$[14];t0=$[15];t1=$[16];t2=$[17];t3=$[18];t4=$[19];themeOverrides=$[20];value=$[21];}var items=t0===undefined?EMPTY_ITEMS:t0;var disableOpenOnFocus=t1===undefined?false:t1;var allowsCustomValue=t2===undefined?false:t2;var blurOnSelect=t3===undefined?true:t3;var minimumSearchLength=t4===undefined?1:t4;var isValueControlled="value"in props;var _useFieldControlState=useFieldControlState(),interactive=_useFieldControlState.interactive;var inputRef=useForwardedRef(ref);var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isMenuInverted=_useState2[0],setIsMenuInverted=_useState2[1];var t5;if($[22]!==themeOverrides){t5={themeOverrides};$[22]=themeOverrides;$[23]=t5;}else{t5=$[23];}var _useComponent=useComponent("comboboxInput",t5),theme=_useComponent.theme;var t6;if($[24]!==allowsCustomValue||$[25]!==blurOnSelect||$[26]!==defaultValue||$[27]!==disableOpenOnFocus||$[28]!==filterItems||$[29]!==inputRef||$[30]!==interactive||$[31]!==isMenuInverted||$[32]!==isValueControlled||$[33]!==items||$[34]!==maxSuggestionCount||$[35]!==minimumSearchLength||$[36]!==onBlur||$[37]!==onChange||$[38]!==onChangeText||$[39]!==onFocus||$[40]!==onKeyPress||$[41]!==onSubmitEditing||$[42]!==value){t6={items,value,defaultValue,isValueControlled,interactive,onChange,onChangeText,onFocus,onBlur,onKeyPress,onSubmitEditing,disableOpenOnFocus,allowsCustomValue,blurOnSelect,filterItems,minimumSearchLength,maxSuggestionCount,inputRef,isMenuInverted};$[24]=allowsCustomValue;$[25]=blurOnSelect;$[26]=defaultValue;$[27]=disableOpenOnFocus;$[28]=filterItems;$[29]=inputRef;$[30]=interactive;$[31]=isMenuInverted;$[32]=isValueControlled;$[33]=items;$[34]=maxSuggestionCount;$[35]=minimumSearchLength;$[36]=onBlur;$[37]=onChange;$[38]=onChangeText;$[39]=onFocus;$[40]=onKeyPress;$[41]=onSubmitEditing;$[42]=value;$[43]=t6;}else{t6=$[43];}var _useComboboxControlle=useComboboxController(t6),displayText=_useComboboxControlle.displayText,query=_useComboboxControlle.query,filteredItems=_useComboboxControlle.filteredItems,showContainer=_useComboboxControlle.showContainer,activeIndex=_useComboboxControlle.activeIndex,handleFocus=_useComboboxControlle.handleFocus,handleBlur=_useComboboxControlle.handleBlur,handleKeyPress=_useComboboxControlle.handleKeyPress,handleSubmitEditing=_useComboboxControlle.handleSubmitEditing,selectItem=_useComboboxControlle.selectItem,updateInputText=_useComboboxControlle.updateInputText,clear=_useComboboxControlle.clear,open=_useComboboxControlle.open,close=_useComboboxControlle.close;var t7;var t8;if($[44]!==clear||$[45]!==close||$[46]!==inputRef||$[47]!==interactive||$[48]!==open||$[49]!==updateInputText){t7=()=>({setInputValue:updateInputText,clear,open,close,focus:()=>interactive&&inputRef.current?.focus(),blur:()=>inputRef.current?.blur()});t8=[updateInputText,clear,open,close,interactive,inputRef];$[44]=clear;$[45]=close;$[46]=inputRef;$[47]=interactive;$[48]=open;$[49]=updateInputText;$[50]=t7;$[51]=t8;}else{t7=$[50];t8=$[51];}useImperativeHandle(controllerRef,t7,t8);var t9;if($[52]!==displayText||$[53]!==handleBlur||$[54]!==handleFocus||$[55]!==handleKeyPress||$[56]!==handleSubmitEditing||$[57]!==inputProps||$[58]!==inputRef||$[59]!==theme.textInput||$[60]!==updateInputText){t9=_jsx(FieldTextInput,{...inputProps,ref:inputRef,theme:theme.textInput,value:displayText,submitBehavior:"submit",blurOnSubmit:false,onFocus:handleFocus,onBlur:handleBlur,onKeyPress:handleKeyPress,onSubmitEditing:handleSubmitEditing,onChangeText:updateInputText,autoCorrect:false,spellCheck:false});$[52]=displayText;$[53]=handleBlur;$[54]=handleFocus;$[55]=handleKeyPress;$[56]=handleSubmitEditing;$[57]=inputProps;$[58]=inputRef;$[59]=theme.textInput;$[60]=updateInputText;$[61]=t9;}else{t9=$[61];}var t10;if($[62]!==theme.panelGap){t10={parentMargin:theme.panelGap};$[62]=theme.panelGap;$[63]=t10;}else{t10=$[63];}var t11;if($[64]!==activeIndex||$[65]!==filteredItems||$[66]!==query||$[67]!==selectItem||$[68]!==theme.menu){t11=t12=>{var inverted=t12.inverted;return _jsx(ComboboxBlurGuard,{children:_jsx(Menu,{theme:theme.menu,data:filteredItems,activeIndex:activeIndex,reverse:inverted,keyExtractor:_temp,renderItem:t13=>{var item_0=t13.item,index=t13.index;return _jsx(MenuItem,{label:item_0.label,description:item_0.description,searchValue:query,highlighted:index===activeIndex,onPress:()=>selectItem(item_0)});}})});};$[64]=activeIndex;$[65]=filteredItems;$[66]=query;$[67]=selectItem;$[68]=theme.menu;$[69]=t11;}else{t11=$[69];}var t12;if($[70]!==anchorRef||$[71]!==containerPosition||$[72]!==inputRef||$[73]!==showContainer||$[74]!==t10||$[75]!==t11){t12=_jsx(AnchoredContainer,{parentRef:inputRef,anchorRef:anchorRef,show:showContainer,position:containerPosition,theme:t10,onInvertedChange:setIsMenuInverted,children:t11});$[70]=anchorRef;$[71]=containerPosition;$[72]=inputRef;$[73]=showContainer;$[74]=t10;$[75]=t11;$[76]=t12;}else{t12=$[76];}var t13;if($[77]!==t12||$[78]!==t9){t13=_jsxs(_Fragment,{children:[t9,t12]});$[77]=t12;$[78]=t9;$[79]=t13;}else{t13=$[79];}return t13;};function _temp(item){return String(getItemKey(item));}
1
+ var _excluded=["items","value","defaultValue","inputValue","defaultInputValue","onChange","onInputChange","onSubmit","submitOnEnter","selectBehavior","controllerRef","disableOpenOnFocus","allowsCustomValue","filterItems","minimumSearchLength","maxSuggestionCount","containerPosition","anchorRef","theme","onBlur","onFocus","onKeyPress","ref"];function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}function _objectWithoutProperties(e,t){if(null==e)return{};var o,r,i=_objectWithoutPropertiesLoose(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],-1===t.indexOf(o)&&{}.propertyIsEnumerable.call(e,o)&&(i[o]=e[o]);}return i;}function _objectWithoutPropertiesLoose(r,e){if(null==r)return{};var t={};for(var n in r)if({}.hasOwnProperty.call(r,n)){if(-1!==e.indexOf(n))continue;t[n]=r[n];}return t;}import{c as _c}from"react/compiler-runtime";import{useImperativeHandle,useState}from"react";import{Platform}from"react-native";import{useComponent,useForwardedRef}from"../../../internal";import{AnchoredContainer}from"../../../overlays/anchoredContainer";import{Menu,MenuItem}from"../../../overlays/menu";import{FieldTextInput,useFieldControlState}from"../../field";import{ComboboxBlurGuard}from"./ComboboxBlurGuard";import{getItemKey}from"./helpers";import{useComboboxController}from"./useComboboxController";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var EMPTY_ITEMS=[];export var ComboboxInputBase=props=>{var $=_c(88);var anchorRef;var containerPosition;var controllerRef;var defaultInputValue;var defaultValue;var filterItems;var inputProps;var inputValue;var maxSuggestionCount;var onBlur;var onChange;var onFocus;var onInputChange;var onKeyPress;var onSubmit;var ref;var t0;var t1;var t2;var t3;var t4;var t5;var themeOverrides;var value;if($[0]!==props){t0=props.items;value=props.value;defaultValue=props.defaultValue;inputValue=props.inputValue;defaultInputValue=props.defaultInputValue;onChange=props.onChange;onInputChange=props.onInputChange;onSubmit=props.onSubmit;t1=props.submitOnEnter;t2=props.selectBehavior;controllerRef=props.controllerRef;t3=props.disableOpenOnFocus;t4=props.allowsCustomValue;filterItems=props.filterItems;t5=props.minimumSearchLength;maxSuggestionCount=props.maxSuggestionCount;containerPosition=props.containerPosition;anchorRef=props.anchorRef;themeOverrides=props.theme;onBlur=props.onBlur;onFocus=props.onFocus;onKeyPress=props.onKeyPress;ref=props.ref;inputProps=_objectWithoutProperties(props,_excluded);$[0]=props;$[1]=anchorRef;$[2]=containerPosition;$[3]=controllerRef;$[4]=defaultInputValue;$[5]=defaultValue;$[6]=filterItems;$[7]=inputProps;$[8]=inputValue;$[9]=maxSuggestionCount;$[10]=onBlur;$[11]=onChange;$[12]=onFocus;$[13]=onInputChange;$[14]=onKeyPress;$[15]=onSubmit;$[16]=ref;$[17]=t0;$[18]=t1;$[19]=t2;$[20]=t3;$[21]=t4;$[22]=t5;$[23]=themeOverrides;$[24]=value;}else{anchorRef=$[1];containerPosition=$[2];controllerRef=$[3];defaultInputValue=$[4];defaultValue=$[5];filterItems=$[6];inputProps=$[7];inputValue=$[8];maxSuggestionCount=$[9];onBlur=$[10];onChange=$[11];onFocus=$[12];onInputChange=$[13];onKeyPress=$[14];onSubmit=$[15];ref=$[16];t0=$[17];t1=$[18];t2=$[19];t3=$[20];t4=$[21];t5=$[22];themeOverrides=$[23];value=$[24];}var items=t0===undefined?EMPTY_ITEMS:t0;var submitOnEnter=t1===undefined?false:t1;var selectBehavior=t2===undefined?"blurAndClose":t2;var disableOpenOnFocus=t3===undefined?false:t3;var allowsCustomValue=t4===undefined?false:t4;var minimumSearchLength=t5===undefined?1:t5;var isValueControlled="value"in props;var isInputControlled="inputValue"in props;var _useFieldControlState=useFieldControlState(),interactive=_useFieldControlState.interactive;var inputRef=useForwardedRef(ref);var _useState=useState(false),_useState2=_slicedToArray(_useState,2),isMenuInverted=_useState2[0],setIsMenuInverted=_useState2[1];var t6;if($[25]!==themeOverrides){t6={themeOverrides};$[25]=themeOverrides;$[26]=t6;}else{t6=$[26];}var _useComponent=useComponent("comboboxInput",t6),theme=_useComponent.theme;var t7;if($[27]!==allowsCustomValue||$[28]!==defaultInputValue||$[29]!==defaultValue||$[30]!==disableOpenOnFocus||$[31]!==filterItems||$[32]!==inputRef||$[33]!==inputValue||$[34]!==interactive||$[35]!==isInputControlled||$[36]!==isMenuInverted||$[37]!==isValueControlled||$[38]!==items||$[39]!==maxSuggestionCount||$[40]!==minimumSearchLength||$[41]!==onBlur||$[42]!==onChange||$[43]!==onFocus||$[44]!==onInputChange||$[45]!==onKeyPress||$[46]!==onSubmit||$[47]!==selectBehavior||$[48]!==submitOnEnter||$[49]!==value){t7={items,value,defaultValue,isValueControlled,inputValue,defaultInputValue,isInputControlled,interactive,onChange,onInputChange,onSubmit,onFocus,onBlur,onKeyPress,selectBehavior,disableOpenOnFocus,allowsCustomValue,submitOnEnter,filterItems,minimumSearchLength,maxSuggestionCount,inputRef,isMenuInverted};$[27]=allowsCustomValue;$[28]=defaultInputValue;$[29]=defaultValue;$[30]=disableOpenOnFocus;$[31]=filterItems;$[32]=inputRef;$[33]=inputValue;$[34]=interactive;$[35]=isInputControlled;$[36]=isMenuInverted;$[37]=isValueControlled;$[38]=items;$[39]=maxSuggestionCount;$[40]=minimumSearchLength;$[41]=onBlur;$[42]=onChange;$[43]=onFocus;$[44]=onInputChange;$[45]=onKeyPress;$[46]=onSubmit;$[47]=selectBehavior;$[48]=submitOnEnter;$[49]=value;$[50]=t7;}else{t7=$[50];}var _useComboboxControlle=useComboboxController(t7),displayText=_useComboboxControlle.displayText,query=_useComboboxControlle.query,filteredItems=_useComboboxControlle.filteredItems,showContainer=_useComboboxControlle.showContainer,activeIndex=_useComboboxControlle.activeIndex,handleFocus=_useComboboxControlle.handleFocus,handleBlur=_useComboboxControlle.handleBlur,handleKeyPress=_useComboboxControlle.handleKeyPress,handleSubmitEditing=_useComboboxControlle.handleSubmitEditing,selectItem=_useComboboxControlle.selectItem,updateInputText=_useComboboxControlle.updateInputText,open=_useComboboxControlle.open,close=_useComboboxControlle.close,handlePress=_useComboboxControlle.handlePress;var t8;if($[51]!==handlePress){t8=Platform.OS==="web"?{onMouseDown:handlePress}:{onPressIn:handlePress};$[51]=handlePress;$[52]=t8;}else{t8=$[52];}var pressHandlers=t8;var t10;var t9;if($[53]!==close||$[54]!==inputRef||$[55]!==interactive||$[56]!==open){t9=()=>({open,close,focus:()=>interactive&&inputRef.current?.focus(),blur:()=>inputRef.current?.blur()});t10=[open,close,interactive,inputRef];$[53]=close;$[54]=inputRef;$[55]=interactive;$[56]=open;$[57]=t10;$[58]=t9;}else{t10=$[57];t9=$[58];}useImperativeHandle(controllerRef,t9,t10);var t11;if($[59]!==displayText||$[60]!==handleBlur||$[61]!==handleFocus||$[62]!==handleKeyPress||$[63]!==handleSubmitEditing||$[64]!==inputProps||$[65]!==inputRef||$[66]!==pressHandlers||$[67]!==theme.textInput||$[68]!==updateInputText){t11=_jsx(FieldTextInput,{...inputProps,...pressHandlers,ref:inputRef,theme:theme.textInput,value:displayText,submitBehavior:"submit",blurOnSubmit:false,onFocus:handleFocus,onBlur:handleBlur,onKeyPress:handleKeyPress,onSubmitEditing:handleSubmitEditing,onChangeText:updateInputText,autoCorrect:false,spellCheck:false});$[59]=displayText;$[60]=handleBlur;$[61]=handleFocus;$[62]=handleKeyPress;$[63]=handleSubmitEditing;$[64]=inputProps;$[65]=inputRef;$[66]=pressHandlers;$[67]=theme.textInput;$[68]=updateInputText;$[69]=t11;}else{t11=$[69];}var t12;if($[70]!==theme.panelGap){t12={parentMargin:theme.panelGap};$[70]=theme.panelGap;$[71]=t12;}else{t12=$[71];}var t13;if($[72]!==activeIndex||$[73]!==filteredItems||$[74]!==query||$[75]!==selectItem||$[76]!==theme.menu){t13=t14=>{var inverted=t14.inverted;return _jsx(ComboboxBlurGuard,{children:_jsx(Menu,{theme:theme.menu,data:filteredItems,activeIndex:activeIndex,reverse:inverted,keyExtractor:_temp,renderItem:t15=>{var item_0=t15.item,index=t15.index;return _jsx(MenuItem,{label:item_0.label,description:item_0.description,searchValue:query,highlighted:index===activeIndex,onPress:()=>selectItem(item_0)});}})});};$[72]=activeIndex;$[73]=filteredItems;$[74]=query;$[75]=selectItem;$[76]=theme.menu;$[77]=t13;}else{t13=$[77];}var t14;if($[78]!==anchorRef||$[79]!==containerPosition||$[80]!==inputRef||$[81]!==showContainer||$[82]!==t12||$[83]!==t13){t14=_jsx(AnchoredContainer,{parentRef:inputRef,anchorRef:anchorRef,show:showContainer,position:containerPosition,theme:t12,onInvertedChange:setIsMenuInverted,children:t13});$[78]=anchorRef;$[79]=containerPosition;$[80]=inputRef;$[81]=showContainer;$[82]=t12;$[83]=t13;$[84]=t14;}else{t14=$[84];}var t15;if($[85]!==t11||$[86]!==t14){t15=_jsxs(_Fragment,{children:[t11,t14]});$[85]=t11;$[86]=t14;$[87]=t15;}else{t15=$[87];}return t15;};function _temp(item){return String(getItemKey(item));}
@@ -1 +1 @@
1
- function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}import{c as _c}from"react/compiler-runtime";import{useEffect,useRef,useState}from"react";import{filterComboboxItems,getItemKey}from"./helpers";export var useComboboxController=t0=>{var $=_c(117);var items=t0.items,value=t0.value,defaultValue=t0.defaultValue,isValueControlled=t0.isValueControlled,interactive=t0.interactive,onChange=t0.onChange,onChangeText=t0.onChangeText,onFocus=t0.onFocus,onBlur=t0.onBlur,onKeyPress=t0.onKeyPress,onSubmitEditing=t0.onSubmitEditing,disableOpenOnFocus=t0.disableOpenOnFocus,allowsCustomValue=t0.allowsCustomValue,blurOnSelect=t0.blurOnSelect,filterItems=t0.filterItems,minimumSearchLength=t0.minimumSearchLength,maxSuggestionCount=t0.maxSuggestionCount,inputRef=t0.inputRef,isMenuInverted=t0.isMenuInverted;var _useControlledState=useControlledState(isValueControlled,value,defaultValue),_useControlledState2=_slicedToArray(_useControlledState,2),selectedKey=_useControlledState2[0],setSelectedKey=_useControlledState2[1];var _useState=useState(),_useState2=_slicedToArray(_useState,2),edit=_useState2[0],setEdit=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),isOpen=_useState4[0],setIsOpen=_useState4[1];var _useState5=useState(-1),_useState6=_slicedToArray(_useState5,2),activeIndex=_useState6[0],setActiveIndex=_useState6[1];var t1;var t2;if($[0]!==interactive){t1=()=>{if(!interactive){setIsOpen(false);setActiveIndex(-1);}};t2=[interactive];$[0]=interactive;$[1]=t1;$[2]=t2;}else{t1=$[1];t2=$[2];}useEffect(t1,t2);var skipBlurRef=useRef(false);var t3;if($[3]!==items||$[4]!==selectedKey){var _t;if($[6]!==selectedKey){_t=item=>getItemKey(item)===selectedKey;$[6]=selectedKey;$[7]=_t;}else{_t=$[7];}t3=items.find(_t);$[3]=items;$[4]=selectedKey;$[5]=t3;}else{t3=$[5];}var selectedItem=t3;var activeEdit=edit!==undefined&&edit.key===selectedKey?edit:undefined;var isInputCleared=edit?.text==="";var query=activeEdit?.text??"";var displayText=activeEdit?activeEdit.text:selectedItem?.label??"";var filteredItems;var meetsMinimum;var showContainer;var t4;if($[8]!==filterItems||$[9]!==isOpen||$[10]!==items||$[11]!==maxSuggestionCount||$[12]!==minimumSearchLength||$[13]!==query||$[14]!==selectedKey){var _filterComboboxItems=filterComboboxItems(items,query,{filterItems,maxSuggestionCount,minimumSearchLength});filteredItems=_filterComboboxItems.filteredItems;meetsMinimum=_filterComboboxItems.meetsMinimum;showContainer=isOpen&&meetsMinimum&&filteredItems.length>0;t4=selectedKey===undefined?-1:filteredItems.findIndex(item_0=>getItemKey(item_0)===selectedKey);$[8]=filterItems;$[9]=isOpen;$[10]=items;$[11]=maxSuggestionCount;$[12]=minimumSearchLength;$[13]=query;$[14]=selectedKey;$[15]=filteredItems;$[16]=meetsMinimum;$[17]=showContainer;$[18]=t4;}else{filteredItems=$[15];meetsMinimum=$[16];showContainer=$[17];t4=$[18];}var selectedIndex=t4;var initialActiveIndex=selectedIndex>=0?selectedIndex:0;var t5;var t6;if($[19]!==activeIndex||$[20]!==filteredItems.length||$[21]!==isInputCleared||$[22]!==showContainer){t5=()=>{if(!showContainer||filteredItems.length===0){if(activeIndex!==-1){setActiveIndex(-1);}return;}if(activeIndex<0){if(!isInputCleared){setActiveIndex(0);}return;}if(activeIndex>=filteredItems.length){setActiveIndex(filteredItems.length-1);}};t6=[activeIndex,filteredItems.length,isInputCleared,showContainer];$[19]=activeIndex;$[20]=filteredItems.length;$[21]=isInputCleared;$[22]=showContainer;$[23]=t5;$[24]=t6;}else{t5=$[23];t6=$[24];}useEffect(t5,t6);var t7;if($[25]!==onChangeText||$[26]!==selectedItem?.label){t7=()=>{setEdit(undefined);onChangeText?.(selectedItem?.label??"");};$[25]=onChangeText;$[26]=selectedItem?.label;$[27]=t7;}else{t7=$[27];}var revertText=t7;var commitCustomValue;var selectItem;var settleText;if($[28]!==allowsCustomValue||$[29]!==blurOnSelect||$[30]!==inputRef||$[31]!==interactive||$[32]!==onChange||$[33]!==query||$[34]!==revertText||$[35]!==selectedItem?.label||$[36]!==setSelectedKey){settleText=()=>{if(allowsCustomValue&&query&&query!==selectedItem?.label){commitCustomValue(query);return;}revertText();};var _t2;if($[40]!==blurOnSelect||$[41]!==inputRef||$[42]!==interactive||$[43]!==onChange||$[44]!==setSelectedKey){_t2=item_1=>{if(!interactive){return;}setSelectedKey(getItemKey(item_1));onChange?.(item_1,item_1.label);setEdit(undefined);skipBlurRef.current=blurOnSelect;setActiveIndex(-1);setIsOpen(false);if(blurOnSelect){inputRef.current?.blur();}};$[40]=blurOnSelect;$[41]=inputRef;$[42]=interactive;$[43]=onChange;$[44]=setSelectedKey;$[45]=_t2;}else{_t2=$[45];}selectItem=_t2;commitCustomValue=typed=>{if(!interactive){return;}setSelectedKey(undefined);onChange?.(undefined,typed);setEdit({text:typed,key:undefined});setActiveIndex(-1);setIsOpen(false);};$[28]=allowsCustomValue;$[29]=blurOnSelect;$[30]=inputRef;$[31]=interactive;$[32]=onChange;$[33]=query;$[34]=revertText;$[35]=selectedItem?.label;$[36]=setSelectedKey;$[37]=commitCustomValue;$[38]=selectItem;$[39]=settleText;}else{commitCustomValue=$[37];selectItem=$[38];settleText=$[39];}var t8;if($[46]!==disableOpenOnFocus||$[47]!==initialActiveIndex||$[48]!==interactive||$[49]!==onFocus){t8=e=>{skipBlurRef.current=false;var shouldOpen=interactive&&!disableOpenOnFocus;setIsOpen(shouldOpen);setActiveIndex(shouldOpen?initialActiveIndex:-1);onFocus?.(e);};$[46]=disableOpenOnFocus;$[47]=initialActiveIndex;$[48]=interactive;$[49]=onFocus;$[50]=t8;}else{t8=$[50];}var handleFocus=t8;var t9;if($[51]!==interactive||$[52]!==onBlur||$[53]!==settleText){t9=e_0=>{setIsOpen(false);setActiveIndex(-1);if(!interactive){onBlur?.(e_0);return;}if(skipBlurRef.current){skipBlurRef.current=false;onBlur?.(e_0);return;}settleText();onBlur?.(e_0);};$[51]=interactive;$[52]=onBlur;$[53]=settleText;$[54]=t9;}else{t9=$[54];}var handleBlur=t9;var t10;if($[55]!==interactive||$[56]!==onChange||$[57]!==onChangeText||$[58]!==selectedKey||$[59]!==setSelectedKey){t10=next=>{if(!interactive){return;}skipBlurRef.current=false;setIsOpen(true);onChangeText?.(next);if(next===""){if(selectedKey!==undefined){setSelectedKey(undefined);onChange?.(undefined,"");}setEdit({text:"",key:undefined});setActiveIndex(-1);return;}setActiveIndex(0);setEdit({text:next,key:selectedKey});};$[55]=interactive;$[56]=onChange;$[57]=onChangeText;$[58]=selectedKey;$[59]=setSelectedKey;$[60]=t10;}else{t10=$[60];}var updateInputText=t10;var t11;if($[61]!==filteredItems.length||$[62]!==initialActiveIndex||$[63]!==interactive||$[64]!==isMenuInverted||$[65]!==meetsMinimum||$[66]!==showContainer){t11=e_1=>{if(!interactive){return;}e_1.preventDefault?.();var itemCount=filteredItems.length;if(!showContainer){if(itemCount>0&&meetsMinimum){setIsOpen(true);setActiveIndex(initialActiveIndex);}return;}setActiveIndex(prev=>Math.min(Math.max(prev+(isMenuInverted?-1:1),0),itemCount-1));};$[61]=filteredItems.length;$[62]=initialActiveIndex;$[63]=interactive;$[64]=isMenuInverted;$[65]=meetsMinimum;$[66]=showContainer;$[67]=t11;}else{t11=$[67];}var handleArrowDown=t11;var t12;if($[68]!==filteredItems.length||$[69]!==interactive||$[70]!==isMenuInverted||$[71]!==showContainer){t12=e_2=>{if(!interactive){return;}e_2.preventDefault?.();if(!showContainer){return;}var itemCount_0=filteredItems.length;var step=isMenuInverted?1:-1;setActiveIndex(prev_0=>Math.min(Math.max(prev_0+step,0),itemCount_0-1));};$[68]=filteredItems.length;$[69]=interactive;$[70]=isMenuInverted;$[71]=showContainer;$[72]=t12;}else{t12=$[72];}var handleArrowUp=t12;var t13;if($[73]!==handleArrowDown||$[74]!==handleArrowUp||$[75]!==interactive||$[76]!==onKeyPress||$[77]!==revertText){t13=e_3=>{if(!interactive){onKeyPress?.(e_3);return;}switch(e_3.nativeEvent.key){case"ArrowDown":{handleArrowDown(e_3);return;}case"ArrowUp":{handleArrowUp(e_3);return;}case"Escape":{setIsOpen(false);setActiveIndex(-1);revertText();return;}default:{onKeyPress?.(e_3);}}};$[73]=handleArrowDown;$[74]=handleArrowUp;$[75]=interactive;$[76]=onKeyPress;$[77]=revertText;$[78]=t13;}else{t13=$[78];}var handleKeyPress=t13;var t14;if($[79]!==inputRef){t14=()=>{skipBlurRef.current=true;inputRef.current?.blur();};$[79]=inputRef;$[80]=t14;}else{t14=$[80];}var blurInput=t14;var t15;if($[81]!==activeIndex||$[82]!==allowsCustomValue||$[83]!==blurInput||$[84]!==commitCustomValue||$[85]!==filteredItems||$[86]!==inputRef||$[87]!==interactive||$[88]!==onSubmitEditing||$[89]!==query||$[90]!==selectItem||$[91]!==selectedItem?.label||$[92]!==showContainer){t15=e_4=>{if(!interactive){onSubmitEditing?.(e_4);return;}var item_2=showContainer&&activeIndex>=0?filteredItems[activeIndex]:undefined;if(item_2){selectItem(item_2);return;}if(allowsCustomValue&&query&&query!==selectedItem?.label){commitCustomValue(query);blurInput();return;}onSubmitEditing?.(e_4);inputRef.current?.blur();};$[81]=activeIndex;$[82]=allowsCustomValue;$[83]=blurInput;$[84]=commitCustomValue;$[85]=filteredItems;$[86]=inputRef;$[87]=interactive;$[88]=onSubmitEditing;$[89]=query;$[90]=selectItem;$[91]=selectedItem?.label;$[92]=showContainer;$[93]=t15;}else{t15=$[93];}var handleSubmitEditing=t15;var t16;if($[94]!==interactive||$[95]!==onChange||$[96]!==onChangeText||$[97]!==setSelectedKey){t16=()=>{if(!interactive){return;}setEdit(undefined);setIsOpen(false);setActiveIndex(-1);setSelectedKey(undefined);onChange?.(undefined,"");onChangeText?.("");};$[94]=interactive;$[95]=onChange;$[96]=onChangeText;$[97]=setSelectedKey;$[98]=t16;}else{t16=$[98];}var clear=t16;var t17;if($[99]!==initialActiveIndex||$[100]!==interactive){t17=()=>{if(interactive){setIsOpen(true);setActiveIndex(initialActiveIndex);}};$[99]=initialActiveIndex;$[100]=interactive;$[101]=t17;}else{t17=$[101];}var t18;if($[102]===Symbol.for("react.memo_cache_sentinel")){t18=()=>{setIsOpen(false);setActiveIndex(-1);};$[102]=t18;}else{t18=$[102];}var t19;if($[103]!==activeIndex||$[104]!==clear||$[105]!==displayText||$[106]!==filteredItems||$[107]!==handleBlur||$[108]!==handleFocus||$[109]!==handleKeyPress||$[110]!==handleSubmitEditing||$[111]!==query||$[112]!==selectItem||$[113]!==showContainer||$[114]!==t17||$[115]!==updateInputText){t19={displayText,query,filteredItems,showContainer,activeIndex,handleFocus,handleBlur,handleKeyPress,handleSubmitEditing,selectItem,updateInputText,clear,open:t17,close:t18};$[103]=activeIndex;$[104]=clear;$[105]=displayText;$[106]=filteredItems;$[107]=handleBlur;$[108]=handleFocus;$[109]=handleKeyPress;$[110]=handleSubmitEditing;$[111]=query;$[112]=selectItem;$[113]=showContainer;$[114]=t17;$[115]=updateInputText;$[116]=t19;}else{t19=$[116];}return t19;};var useControlledState=(isControlled,value,defaultValue)=>{var $=_c(5);var _useState7=useState(defaultValue),_useState8=_slicedToArray(_useState7,2),internalValue=_useState8[0],setInternalValue=_useState8[1];var currentValue=isControlled?value:internalValue;var t0;if($[0]!==isControlled){t0=nextValue=>{if(!isControlled){setInternalValue(nextValue);}};$[0]=isControlled;$[1]=t0;}else{t0=$[1];}var setValue=t0;var t1;if($[2]!==currentValue||$[3]!==setValue){t1=[currentValue,setValue];$[2]=currentValue;$[3]=setValue;$[4]=t1;}else{t1=$[4];}return t1;};
1
+ function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1;}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r;}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return;}finally{if(o)throw n;}}return a;}}function _arrayWithHoles(r){if(Array.isArray(r))return r;}import{c as _c}from"react/compiler-runtime";import{useEffect,useRef,useState}from"react";import{filterComboboxItems,getItemKey}from"./helpers";var resolveSubmit=({showContainer,activeIndex,filteredItems,query,selectedItem,allowsCustomValue})=>{var highlightedItem=showContainer&&activeIndex>=0?filteredItems[activeIndex]:undefined;if(highlightedItem){return{type:"item",item:highlightedItem};}var customValue=query.trim();if(allowsCustomValue&&customValue&&customValue!==selectedItem?.label.trim()){return{type:"custom",customValue};}return{type:"selected",item:selectedItem};};export var useComboboxController=t0=>{var $=_c(143);var items=t0.items,value=t0.value,defaultValue=t0.defaultValue,isValueControlled=t0.isValueControlled,inputValue=t0.inputValue,defaultInputValue=t0.defaultInputValue,isInputControlled=t0.isInputControlled,interactive=t0.interactive,onChange=t0.onChange,onInputChange=t0.onInputChange,onSubmit=t0.onSubmit,onFocus=t0.onFocus,onBlur=t0.onBlur,onKeyPress=t0.onKeyPress,selectBehavior=t0.selectBehavior,disableOpenOnFocus=t0.disableOpenOnFocus,allowsCustomValue=t0.allowsCustomValue,submitOnEnter=t0.submitOnEnter,filterItems=t0.filterItems,minimumSearchLength=t0.minimumSearchLength,maxSuggestionCount=t0.maxSuggestionCount,inputRef=t0.inputRef,isMenuInverted=t0.isMenuInverted;var _useControlledState=useControlledState(isValueControlled,value,defaultValue),_useControlledState2=_slicedToArray(_useControlledState,2),selectedKey=_useControlledState2[0],setSelectedKey=_useControlledState2[1];var _useState=useState(defaultInputValue),_useState2=_slicedToArray(_useState,2),inputText=_useState2[0],setInputText=_useState2[1];var _useState3=useState(false),_useState4=_slicedToArray(_useState3,2),isFocused=_useState4[0],setIsFocused=_useState4[1];var _useState5=useState(false),_useState6=_slicedToArray(_useState5,2),isOpen=_useState6[0],setIsOpen=_useState6[1];var _useState7=useState(-1),_useState8=_slicedToArray(_useState7,2),activeIndex=_useState8[0],setActiveIndex=_useState8[1];var skipBlurRef=useRef(false);var previousValueRef=useRef(value);var expectedValueChangeRef=useRef(undefined);var t1;var t2;if($[0]!==isInputControlled||$[1]!==value){t1=()=>{var previousValue=previousValueRef.current;if(previousValue===value){return;}previousValueRef.current=value;var expectedChange=expectedValueChangeRef.current;expectedValueChangeRef.current=undefined;if(expectedChange&&expectedChange.value===value){return;}if(!isInputControlled){setInputText(undefined);}};t2=[isInputControlled,value];$[0]=isInputControlled;$[1]=value;$[2]=t1;$[3]=t2;}else{t1=$[2];t2=$[3];}useEffect(t1,t2);var t3;var t4;if($[4]!==interactive){t3=()=>{if(!interactive){setIsOpen(false);setActiveIndex(-1);}};t4=[interactive];$[4]=interactive;$[5]=t3;$[6]=t4;}else{t3=$[5];t4=$[6];}useEffect(t3,t4);var t5;if($[7]!==items||$[8]!==selectedKey){var _t;if($[10]!==selectedKey){_t=item=>getItemKey(item)===selectedKey;$[10]=selectedKey;$[11]=_t;}else{_t=$[11];}t5=items.find(_t);$[7]=items;$[8]=selectedKey;$[9]=t5;}else{t5=$[9];}var selectedItem=t5;var isInputCleared=isInputControlled?(inputValue??"")==="":inputText==="";var query=isInputControlled?inputValue??"":inputText??"";var displayText=isInputControlled?inputValue??"":inputText??selectedItem?.label??"";var filteredItems;var meetsMinimum;var showContainer;var t6;if($[12]!==filterItems||$[13]!==isOpen||$[14]!==items||$[15]!==maxSuggestionCount||$[16]!==minimumSearchLength||$[17]!==query||$[18]!==selectedKey){var _filterComboboxItems=filterComboboxItems(items,query,{filterItems,maxSuggestionCount,minimumSearchLength});filteredItems=_filterComboboxItems.filteredItems;meetsMinimum=_filterComboboxItems.meetsMinimum;showContainer=isOpen&&meetsMinimum&&filteredItems.length>0;t6=selectedKey===undefined?-1:filteredItems.findIndex(item_0=>getItemKey(item_0)===selectedKey);$[12]=filterItems;$[13]=isOpen;$[14]=items;$[15]=maxSuggestionCount;$[16]=minimumSearchLength;$[17]=query;$[18]=selectedKey;$[19]=filteredItems;$[20]=meetsMinimum;$[21]=showContainer;$[22]=t6;}else{filteredItems=$[19];meetsMinimum=$[20];showContainer=$[21];t6=$[22];}var selectedIndex=t6;var initialActiveIndex=selectedIndex>=0?selectedIndex:0;var t7;var t8;if($[23]!==activeIndex||$[24]!==filteredItems.length||$[25]!==isInputCleared||$[26]!==showContainer){t7=()=>{if(!showContainer||filteredItems.length===0){if(activeIndex!==-1){setActiveIndex(-1);}return;}if(activeIndex<0){if(!isInputCleared){setActiveIndex(0);}return;}if(activeIndex>=filteredItems.length){setActiveIndex(filteredItems.length-1);}};t8=[activeIndex,filteredItems.length,isInputCleared,showContainer];$[23]=activeIndex;$[24]=filteredItems.length;$[25]=isInputCleared;$[26]=showContainer;$[27]=t7;$[28]=t8;}else{t7=$[27];t8=$[28];}useEffect(t7,t8);var t9;if($[29]!==displayText||$[30]!==isInputControlled||$[31]!==onInputChange||$[32]!==selectedItem?.label){t9=()=>{var fallback=selectedItem?.label??"";if(!isInputControlled){setInputText(undefined);}if(displayText!==fallback){onInputChange?.({inputValue:fallback,reason:"revert"});}};$[29]=displayText;$[30]=isInputControlled;$[31]=onInputChange;$[32]=selectedItem?.label;$[33]=t9;}else{t9=$[33];}var revertText=t9;var commitCustomValue;var selectItem;var settleText;if($[34]!==allowsCustomValue||$[35]!==inputRef||$[36]!==interactive||$[37]!==isInputControlled||$[38]!==onChange||$[39]!==onInputChange||$[40]!==query||$[41]!==revertText||$[42]!==selectBehavior||$[43]!==selectedItem?.label||$[44]!==selectedKey||$[45]!==setSelectedKey){settleText=()=>{var customValue=query.trim();if(allowsCustomValue&&customValue&&customValue!==selectedItem?.label.trim()){commitCustomValue(customValue,true);return;}revertText();};var _t2;if($[49]!==inputRef||$[50]!==interactive||$[51]!==isInputControlled||$[52]!==onChange||$[53]!==onInputChange||$[54]!==selectBehavior||$[55]!==setSelectedKey){_t2=item_1=>{if(!interactive){return;}var nextKey=getItemKey(item_1);setSelectedKey(nextKey);expectedValueChangeRef.current={value:nextKey};onChange?.({value:nextKey,item:item_1,reason:"select"});if(!isInputControlled){setInputText(undefined);}onInputChange?.({inputValue:item_1.label,reason:"select"});setActiveIndex(-1);var shouldBlur=selectBehavior==="blurAndClose";var shouldClose=selectBehavior!=="keepOpen";if(shouldClose){setIsOpen(false);}if(shouldBlur){skipBlurRef.current=true;inputRef.current?.blur();}};$[49]=inputRef;$[50]=interactive;$[51]=isInputControlled;$[52]=onChange;$[53]=onInputChange;$[54]=selectBehavior;$[55]=setSelectedKey;$[56]=_t2;}else{_t2=$[56];}selectItem=_t2;commitCustomValue=(customValue_0,notifyInputChange)=>{if(!interactive){return;}if(selectedKey!==undefined){setSelectedKey(undefined);expectedValueChangeRef.current={value:undefined};onChange?.({value:undefined,item:undefined,reason:"deselect"});}if(!isInputControlled){setInputText(customValue_0);}if(notifyInputChange){onInputChange?.({inputValue:customValue_0,reason:"commit"});}setActiveIndex(-1);setIsOpen(false);};$[34]=allowsCustomValue;$[35]=inputRef;$[36]=interactive;$[37]=isInputControlled;$[38]=onChange;$[39]=onInputChange;$[40]=query;$[41]=revertText;$[42]=selectBehavior;$[43]=selectedItem?.label;$[44]=selectedKey;$[45]=setSelectedKey;$[46]=commitCustomValue;$[47]=selectItem;$[48]=settleText;}else{commitCustomValue=$[46];selectItem=$[47];settleText=$[48];}var t10;if($[57]!==disableOpenOnFocus||$[58]!==initialActiveIndex||$[59]!==interactive||$[60]!==onFocus){t10=e=>{setIsFocused(true);skipBlurRef.current=false;var shouldOpen=interactive&&!disableOpenOnFocus;setIsOpen(shouldOpen);setActiveIndex(shouldOpen?initialActiveIndex:-1);onFocus?.(e);};$[57]=disableOpenOnFocus;$[58]=initialActiveIndex;$[59]=interactive;$[60]=onFocus;$[61]=t10;}else{t10=$[61];}var handleFocus=t10;var t11;if($[62]!==interactive||$[63]!==onBlur||$[64]!==settleText){t11=e_0=>{setIsFocused(false);setIsOpen(false);setActiveIndex(-1);if(!interactive){onBlur?.(e_0);return;}if(skipBlurRef.current){skipBlurRef.current=false;onBlur?.(e_0);return;}settleText();onBlur?.(e_0);};$[62]=interactive;$[63]=onBlur;$[64]=settleText;$[65]=t11;}else{t11=$[65];}var handleBlur=t11;var t12;if($[66]!==interactive||$[67]!==isInputControlled||$[68]!==onChange||$[69]!==onInputChange||$[70]!==selectedKey||$[71]!==setSelectedKey){t12=next=>{if(!interactive){return;}skipBlurRef.current=false;setIsOpen(true);if(!isInputControlled){setInputText(next);}if(next===""){if(selectedKey!==undefined){setSelectedKey(undefined);expectedValueChangeRef.current={value:undefined};onChange?.({value:undefined,item:undefined,reason:"deselect"});}onInputChange?.({inputValue:next,reason:"clear"});setActiveIndex(-1);return;}onInputChange?.({inputValue:next,reason:"input"});setActiveIndex(0);};$[66]=interactive;$[67]=isInputControlled;$[68]=onChange;$[69]=onInputChange;$[70]=selectedKey;$[71]=setSelectedKey;$[72]=t12;}else{t12=$[72];}var updateInputText=t12;var t13;if($[73]!==filteredItems.length||$[74]!==initialActiveIndex||$[75]!==interactive||$[76]!==isMenuInverted||$[77]!==meetsMinimum||$[78]!==showContainer){t13=e_1=>{if(!interactive){return;}e_1.preventDefault?.();var itemCount=filteredItems.length;if(!showContainer){if(itemCount>0&&meetsMinimum){setIsOpen(true);setActiveIndex(initialActiveIndex);}return;}setActiveIndex(prev=>Math.min(Math.max(prev+(isMenuInverted?-1:1),0),itemCount-1));};$[73]=filteredItems.length;$[74]=initialActiveIndex;$[75]=interactive;$[76]=isMenuInverted;$[77]=meetsMinimum;$[78]=showContainer;$[79]=t13;}else{t13=$[79];}var handleArrowDown=t13;var t14;if($[80]!==filteredItems.length||$[81]!==interactive||$[82]!==isMenuInverted||$[83]!==showContainer){t14=e_2=>{if(!interactive){return;}e_2.preventDefault?.();if(!showContainer){return;}var itemCount_0=filteredItems.length;var step=isMenuInverted?1:-1;setActiveIndex(prev_0=>Math.min(Math.max(prev_0+step,0),itemCount_0-1));};$[80]=filteredItems.length;$[81]=interactive;$[82]=isMenuInverted;$[83]=showContainer;$[84]=t14;}else{t14=$[84];}var handleArrowUp=t14;var t15;if($[85]!==handleArrowDown||$[86]!==handleArrowUp||$[87]!==interactive||$[88]!==onKeyPress||$[89]!==revertText){t15=e_3=>{if(!interactive){onKeyPress?.(e_3);return;}switch(e_3.nativeEvent.key){case"ArrowDown":{handleArrowDown(e_3);return;}case"ArrowUp":{handleArrowUp(e_3);return;}case"Escape":{setIsOpen(false);setActiveIndex(-1);revertText();return;}default:{onKeyPress?.(e_3);}}};$[85]=handleArrowDown;$[86]=handleArrowUp;$[87]=interactive;$[88]=onKeyPress;$[89]=revertText;$[90]=t15;}else{t15=$[90];}var handleKeyPress=t15;var t16;if($[91]!==inputRef){t16=()=>{skipBlurRef.current=true;inputRef.current?.blur();};$[91]=inputRef;$[92]=t16;}else{t16=$[92];}var blurInput=t16;var t17;if($[93]!==onSubmit||$[94]!==selectItem||$[95]!==submitOnEnter){t17=item_2=>{selectItem(item_2);if(!submitOnEnter){return;}onSubmit?.({value:getItemKey(item_2),item:item_2,inputValue:item_2.label,reason:"select"});};$[93]=onSubmit;$[94]=selectItem;$[95]=submitOnEnter;$[96]=t17;}else{t17=$[96];}var submitItem=t17;var t18;if($[97]!==blurInput||$[98]!==commitCustomValue||$[99]!==onSubmit||$[100]!==query){t18=customValue_1=>{commitCustomValue(customValue_1,customValue_1!==query);onSubmit?.({value:undefined,item:undefined,inputValue:customValue_1,reason:"custom"});blurInput();};$[97]=blurInput;$[98]=commitCustomValue;$[99]=onSubmit;$[100]=query;$[101]=t18;}else{t18=$[101];}var submitCustom=t18;var t19;if($[102]!==blurInput||$[103]!==displayText||$[104]!==onSubmit||$[105]!==revertText){t19=item_3=>{if(displayText!==(item_3?.label??"")){revertText();}onSubmit?.({value:item_3?getItemKey(item_3):undefined,item:item_3,inputValue:item_3?.label??"",reason:item_3?"select":"empty"});blurInput();};$[102]=blurInput;$[103]=displayText;$[104]=onSubmit;$[105]=revertText;$[106]=t19;}else{t19=$[106];}var submitSelection=t19;var t20;if($[107]!==initialActiveIndex||$[108]!==interactive){t20=()=>{if(interactive){setIsOpen(true);setActiveIndex(initialActiveIndex);}};$[107]=initialActiveIndex;$[108]=interactive;$[109]=t20;}else{t20=$[109];}var openMenu=t20;var t21;if($[110]===Symbol.for("react.memo_cache_sentinel")){t21=()=>{setIsOpen(false);setActiveIndex(-1);};$[110]=t21;}else{t21=$[110];}var closeMenu=t21;var t22;if($[111]!==interactive||$[112]!==isOpen||$[113]!==openMenu){t22=()=>{if(!interactive){return;}if(isOpen){closeMenu();return;}openMenu();};$[111]=interactive;$[112]=isOpen;$[113]=openMenu;$[114]=t22;}else{t22=$[114];}var toggleMenu=t22;var t23;if($[115]!==isFocused||$[116]!==toggleMenu){t23=()=>{if(isFocused){toggleMenu();}};$[115]=isFocused;$[116]=toggleMenu;$[117]=t23;}else{t23=$[117];}var handlePress=t23;var t24;if($[118]!==activeIndex||$[119]!==allowsCustomValue||$[120]!==filteredItems||$[121]!==interactive||$[122]!==query||$[123]!==selectedItem||$[124]!==showContainer||$[125]!==submitCustom||$[126]!==submitItem||$[127]!==submitSelection){t24=()=>{if(!interactive){return;}var resolution=resolveSubmit({showContainer,activeIndex,filteredItems,query,selectedItem,allowsCustomValue});if(resolution.type==="item"){submitItem(resolution.item);return;}if(resolution.type==="custom"){submitCustom(resolution.customValue);return;}submitSelection(resolution.item);};$[118]=activeIndex;$[119]=allowsCustomValue;$[120]=filteredItems;$[121]=interactive;$[122]=query;$[123]=selectedItem;$[124]=showContainer;$[125]=submitCustom;$[126]=submitItem;$[127]=submitSelection;$[128]=t24;}else{t24=$[128];}var handleSubmitEditing=t24;var t25;if($[129]!==activeIndex||$[130]!==displayText||$[131]!==filteredItems||$[132]!==handleBlur||$[133]!==handleFocus||$[134]!==handleKeyPress||$[135]!==handlePress||$[136]!==handleSubmitEditing||$[137]!==openMenu||$[138]!==query||$[139]!==selectItem||$[140]!==showContainer||$[141]!==updateInputText){t25={displayText,query,filteredItems,showContainer,activeIndex,handleFocus,handleBlur,handleKeyPress,handleSubmitEditing,selectItem,updateInputText,open:openMenu,close:closeMenu,handlePress};$[129]=activeIndex;$[130]=displayText;$[131]=filteredItems;$[132]=handleBlur;$[133]=handleFocus;$[134]=handleKeyPress;$[135]=handlePress;$[136]=handleSubmitEditing;$[137]=openMenu;$[138]=query;$[139]=selectItem;$[140]=showContainer;$[141]=updateInputText;$[142]=t25;}else{t25=$[142];}return t25;};var useControlledState=(isControlled,value,defaultValue)=>{var $=_c(5);var _useState9=useState(defaultValue),_useState0=_slicedToArray(_useState9,2),internalValue=_useState0[0],setInternalValue=_useState0[1];var currentValue=isControlled?value:internalValue;var t0;if($[0]!==isControlled){t0=nextValue=>{if(!isControlled){setInternalValue(nextValue);}};$[0]=isControlled;$[1]=t0;}else{t0=$[1];}var setValue=t0;var t1;if($[2]!==currentValue||$[3]!==setValue){t1=[currentValue,setValue];$[2]=currentValue;$[3]=setValue;$[4]=t1;}else{t1=$[4];}return t1;};
@@ -1,6 +1,7 @@
1
1
  import type { ThemeFactory } from "../../theme/theme";
2
- import type { FieldTextInputTheme } from "../field";
2
+ import type { FieldTextInputTheme, FieldTheme } from "../field";
3
3
  export type TextInputTheme = {
4
+ surface: FieldTheme["surface"];
4
5
  textInput: FieldTextInputTheme;
5
6
  };
6
7
  export declare const defaultTextInputTheme: ThemeFactory<"textInput">;
@@ -1 +1 @@
1
- {"version":3,"file":"TextInput.theme.d.ts","sourceRoot":"","sources":["../../../../src/forms/input/TextInput.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,MAAM,cAAc,GAAG;IACzB,SAAS,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,WAAW,CAI1D,CAAC"}
1
+ {"version":3,"file":"TextInput.theme.d.ts","sourceRoot":"","sources":["../../../../src/forms/input/TextInput.theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEhE,MAAM,MAAM,cAAc,GAAG;IACzB,OAAO,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;IAC/B,SAAS,EAAE,mBAAmB,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAAY,CAAC,WAAW,CAK1D,CAAC"}
@@ -2,8 +2,8 @@ import type { DeepPartial } from "@reillymc/es-utils";
2
2
  import { type FieldComponentProps } from "../../field";
3
3
  import type { ComboboxInputTheme } from "./ComboboxInput.theme";
4
4
  import { type ComboboxInputBaseProps } from "./ComboboxInputBase";
5
- export type ComboboxInputProps<T = string> = FieldComponentProps & Pick<ComboboxInputBaseProps<T>, "autoCapitalize" | "returnKeyType" | "returnKeyLabel" | "onBlur" | "placeholder" | "onChangeText" | "controllerRef" | "clearButtonMode" | "maxLength" | "onSubmitEditing" | "autoFocus" | "items" | "value" | "defaultValue" | "onChange" | "disableOpenOnFocus" | "allowsCustomValue" | "blurOnSelect" | "filterItems" | "minimumSearchLength" | "maxSuggestionCount" | "containerPosition" | "ref"> & {
5
+ export type ComboboxInputProps<T = string> = FieldComponentProps & Pick<ComboboxInputBaseProps<T>, "autoCapitalize" | "returnKeyType" | "returnKeyLabel" | "onBlur" | "placeholder" | "controllerRef" | "clearButtonMode" | "maxLength" | "autoFocus" | "items" | "value" | "defaultValue" | "onChange" | "inputValue" | "defaultInputValue" | "onInputChange" | "onSubmit" | "submitOnEnter" | "selectBehavior" | "disableOpenOnFocus" | "allowsCustomValue" | "filterItems" | "minimumSearchLength" | "maxSuggestionCount" | "containerPosition" | "ref"> & {
6
6
  theme?: DeepPartial<ComboboxInputTheme>;
7
7
  };
8
- export declare const ComboboxInput: <T>({ label, hideLabel, help, error, required, disabled, readOnly, variant, style, theme: themeOverrides, onChange, ...props }: ComboboxInputProps<T>) => import("react").JSX.Element;
8
+ export declare const ComboboxInput: <T>({ label, hideLabel, help, error, required, disabled, readOnly, variant, style, theme: themeOverrides, ...props }: ComboboxInputProps<T>) => import("react").JSX.Element;
9
9
  //# sourceMappingURL=ComboboxInput.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/ComboboxInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAS,KAAK,mBAAmB,EAAgB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,MAAM,IAAI,mBAAmB,GAC5D,IAAI,CACA,sBAAsB,CAAC,CAAC,CAAC,EACvB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,cAAc,GACd,eAAe,GACf,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,WAAW,GACX,OAAO,GACP,OAAO,GACP,cAAc,GACd,UAAU,GACV,oBAAoB,GACpB,mBAAmB,GACnB,cAAc,GACd,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,KAAK,CACV,GAAG;IACA,KAAK,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEN,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,4HAa/B,kBAAkB,CAAC,CAAC,CAAC,gCA0BvB,CAAC"}
1
+ {"version":3,"file":"ComboboxInput.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/ComboboxInput.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAAS,KAAK,mBAAmB,EAAgB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,kBAAkB,CAAC,CAAC,GAAG,MAAM,IAAI,mBAAmB,GAC5D,IAAI,CACA,sBAAsB,CAAC,CAAC,CAAC,EACvB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,QAAQ,GACR,aAAa,GACb,eAAe,GACf,iBAAiB,GACjB,WAAW,GACX,WAAW,GACX,OAAO,GACP,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,mBAAmB,GACnB,eAAe,GACf,UAAU,GACV,eAAe,GACf,gBAAgB,GAChB,oBAAoB,GACpB,mBAAmB,GACnB,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,mBAAmB,GACnB,KAAK,CACV,GAAG;IACA,KAAK,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;CAC3C,CAAC;AAEN,eAAO,MAAM,aAAa,GAAI,CAAC,EAAG,kHAY/B,kBAAkB,CAAC,CAAC,CAAC,gCAyBvB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type Ref } from "react";
2
- import type { TextInput as DefaultTextInput, View } from "react-native";
2
+ import { type TextInput as DefaultTextInput, type View } from "react-native";
3
3
  import type { AnimatedRef } from "react-native-reanimated";
4
4
  import type { DeepPartial } from "@reillymc/es-utils";
5
5
  import { type AnchoredContainerProps } from "../../../overlays/anchoredContainer";
@@ -7,36 +7,61 @@ import { type FieldTextInputProps } from "../../field";
7
7
  import type { ValueItem } from "../valueItem";
8
8
  import type { ComboboxInputTheme } from "./ComboboxInput.theme";
9
9
  import { type ComboboxValue } from "./helpers";
10
- export type { ComboboxValue } from "./helpers";
10
+ import { type ComboboxInputChangeDetails, type ComboboxSelectBehavior, type ComboboxSubmitDetails, type ComboboxValueChangeDetails } from "./useComboboxController";
11
11
  export interface ComboboxInputHandle {
12
- setInputValue: (text: string) => void;
13
- clear: () => void;
14
12
  open: () => void;
15
13
  close: () => void;
16
14
  focus: () => void;
17
15
  blur: () => void;
18
16
  }
19
- export type ComboboxInputBaseProps<T = string> = Pick<FieldTextInputProps, "autoCapitalize" | "returnKeyType" | "returnKeyLabel" | "onBlur" | "onFocus" | "onKeyPress" | "placeholder" | "clearButtonMode" | "maxLength" | "onSubmitEditing" | "autoFocus" | "style"> & {
17
+ export type ComboboxInputBaseProps<T = string> = Pick<FieldTextInputProps, "autoCapitalize" | "returnKeyType" | "returnKeyLabel" | "onBlur" | "onFocus" | "onKeyPress" | "placeholder" | "clearButtonMode" | "maxLength" | "autoFocus" | "style"> & {
20
18
  items?: Array<ValueItem<T>>;
21
19
  /**
22
- * The selected item's key. Controlled when supplied; otherwise the
23
- * component manages selection internally (seed it with `defaultValue`).
20
+ * The selected item's key. Controlled when the prop is present; pass
21
+ * `undefined` for an explicit empty selection. Omit the prop for
22
+ * uncontrolled usage.
24
23
  */
25
24
  value?: ComboboxValue<T>;
26
25
  /** Initial selection for uncontrolled usage. */
27
26
  defaultValue?: ComboboxValue<T>;
28
27
  /**
29
- * Called when the selection changes. The item is `undefined` for a custom
30
- * (free-typed) value; `inputValue` is always the current input text.
28
+ * Called when the selection changes with reason `"select"` or
29
+ * `"deselect"`. Custom text is not represented here; it is reported through
30
+ * `onInputChange` and `onSubmit`.
31
31
  */
32
- onChange?: (item: ValueItem<T> | undefined, inputValue: string) => void;
32
+ onChange?: (details: ComboboxValueChangeDetails<T>) => void;
33
33
  /**
34
- * Notification for text changes: user typing, imperative set/clear, and
35
- * reverts to the selected label on blur/escape. Not called on selection
36
- * (use `onChange` for that).
34
+ * The input text. Controlled when supplied. When controlled, update it
35
+ * from `onInputChange` (including selection and revert events) so the
36
+ * displayed text stays in sync. The component does not write this prop or
37
+ * emit `onInputChange` for external `value` changes; reset `inputValue`
38
+ * alongside `value` when resetting the form.
37
39
  */
38
- onChangeText?: (text: string) => void;
39
- /** Imperative controls (set text, clear, open/close, focus/blur). */
40
+ inputValue?: string;
41
+ /**
42
+ * Initial input text for uncontrolled usage. Defaults to the selected
43
+ * item's label.
44
+ */
45
+ defaultInputValue?: string;
46
+ /**
47
+ * Called whenever the input text changes: typing, selection, custom-value
48
+ * commits, reverts, and clears.
49
+ */
50
+ onInputChange?: (details: ComboboxInputChangeDetails) => void;
51
+ /**
52
+ * Called on every return-key press, including empty or unchanged
53
+ * selections. Receives the resolved value, so it does not depend on state
54
+ * updates from `onChange`/`onInputChange`.
55
+ */
56
+ onSubmit?: (details: ComboboxSubmitDetails<T>) => void;
57
+ /**
58
+ * Whether Enter also submits when it accepts a highlighted suggestion.
59
+ * Enter already submits when the popup is closed, with custom text, or
60
+ * with an empty value.
61
+ * @default false
62
+ */
63
+ submitOnEnter?: boolean;
64
+ /** Imperative controls (open/close, focus/blur). */
40
65
  controllerRef?: Ref<ComboboxInputHandle>;
41
66
  /**
42
67
  * Whether focusing the input should not open the list of all options.
@@ -44,16 +69,21 @@ export type ComboboxInputBaseProps<T = string> = Pick<FieldTextInputProps, "auto
44
69
  */
45
70
  disableOpenOnFocus?: boolean;
46
71
  /**
47
- * Whether free-typed values that don't match an item are kept and reported
48
- * through `onChange` (rather than reverting to the selected item on blur).
72
+ * Whether free-typed values are kept instead of reverting on blur. Custom
73
+ * text is committed on blur/Enter and reported through `onInputChange`
74
+ * and `onSubmit`.
49
75
  * @default false
50
76
  */
51
77
  allowsCustomValue?: boolean;
52
78
  /**
53
- * Whether selecting an item blurs (and closes) the input.
54
- * @default true
79
+ * Controls what happens when an item is selected.
80
+ *
81
+ * - `"blurAndClose"`: close the menu and blur the input.
82
+ * - `"close"`: close the menu and keep focus in the input.
83
+ * - `"keepOpen"`: keep the menu open and keep focus in the input.
84
+ * @default "blurAndClose"
55
85
  */
56
- blurOnSelect?: boolean;
86
+ selectBehavior?: ComboboxSelectBehavior;
57
87
  /** Overrides the default label/description matching. */
58
88
  filterItems?: (item: ValueItem<T>, query: string) => boolean;
59
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ComboboxInputBase.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/ComboboxInputBase.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAiC,MAAM,OAAO,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,IAAI,gBAAgB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAEH,KAAK,sBAAsB,EAC9B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAEH,KAAK,mBAAmB,EAE3B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAc,MAAM,WAAW,CAAC;AAG3D,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAChC,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,MAAM,IAAI,IAAI,CACjD,mBAAmB,EACjB,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,QAAQ,GACR,SAAS,GACT,YAAY,GACZ,aAAa,GACb,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,WAAW,GACX,OAAO,CACZ,GAAG;IACA,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5B;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEzB,gDAAgD;IAChD,YAAY,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IAEhC;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IAExE;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAEtC,qEAAqE;IACrE,aAAa,CAAC,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAEzC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE7D;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,iBAAiB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEvD;;;OAGG;IACH,SAAS,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAE9B,KAAK,CAAC,EAAE,WAAW,CAAC,kBAAkB,CAAC,CAAC;IAExC,GAAG,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CAC/B,CAAC;AAIF,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAG,OAAO,sBAAsB,CAAC,CAAC,CAAC,gCAoIrE,CAAC"}
1
+ {"version":3,"file":"ComboboxInputBase.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/ComboboxInputBase.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type { ComboboxInputProps } from "./ComboboxInput";
2
2
  export { ComboboxInput } from "./ComboboxInput";
3
3
  export type { ComboboxInputTheme } from "./ComboboxInput.theme";
4
- export type { ComboboxInputHandle, ComboboxValue } from "./ComboboxInputBase";
4
+ export type { ComboboxInputHandle } from "./ComboboxInputBase";
5
+ export type { ComboboxValue } from "./helpers";
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC"}
@@ -3,28 +3,55 @@ import type { BlurEvent, TextInput as DefaultTextInput, FocusEvent, TextInputKey
3
3
  import type { FieldTextInputProps } from "../../field";
4
4
  import type { ValueItem } from "../valueItem";
5
5
  import { type ComboboxValue } from "./helpers";
6
+ type ComboboxValueChangeReason = "select" | "deselect";
7
+ type ComboboxInputChangeReason = "input" | "select" | "commit" | "revert" | "clear";
8
+ type ComboboxSubmitReason = "select" | "custom" | "empty";
9
+ export type ComboboxSelectBehavior = "blurAndClose" | "close" | "keepOpen";
10
+ export interface ComboboxValueChangeDetails<T> {
11
+ /** The selected item key, or `undefined` when the selection is cleared. */
12
+ value: ComboboxValue<T> | undefined;
13
+ /** The selected item, or `undefined` when the selection is cleared. */
14
+ item: ValueItem<T> | undefined;
15
+ reason: ComboboxValueChangeReason;
16
+ }
17
+ export interface ComboboxInputChangeDetails {
18
+ inputValue: string;
19
+ reason: ComboboxInputChangeReason;
20
+ }
21
+ export interface ComboboxSubmitDetails<T> {
22
+ /** The resolved key of the submitted item, or `undefined` for custom/empty. */
23
+ value: ComboboxValue<T> | undefined;
24
+ /** The resolved item, or `undefined` for custom/empty submissions. */
25
+ item: ValueItem<T> | undefined;
26
+ inputValue: string;
27
+ reason: ComboboxSubmitReason;
28
+ }
6
29
  export type ComboboxControllerOptions<T> = {
7
30
  items: Array<ValueItem<T>>;
8
31
  value: ComboboxValue<T> | undefined;
9
32
  defaultValue: ComboboxValue<T> | undefined;
10
33
  isValueControlled: boolean;
34
+ inputValue: string | undefined;
35
+ defaultInputValue: string | undefined;
36
+ isInputControlled: boolean;
11
37
  interactive: boolean;
12
- onChange?: (item: ValueItem<T> | undefined, inputValue: string) => void;
13
- onChangeText?: (text: string) => void;
38
+ onChange?: (details: ComboboxValueChangeDetails<T>) => void;
39
+ onInputChange?: (details: ComboboxInputChangeDetails) => void;
40
+ onSubmit?: (details: ComboboxSubmitDetails<T>) => void;
14
41
  onFocus?: FieldTextInputProps["onFocus"];
15
42
  onBlur?: FieldTextInputProps["onBlur"];
16
43
  onKeyPress?: FieldTextInputProps["onKeyPress"];
17
- onSubmitEditing?: FieldTextInputProps["onSubmitEditing"];
44
+ selectBehavior: ComboboxSelectBehavior;
18
45
  disableOpenOnFocus: boolean;
19
46
  allowsCustomValue: boolean;
20
- blurOnSelect: boolean;
47
+ submitOnEnter: boolean;
21
48
  filterItems?: (item: ValueItem<T>, query: string) => boolean;
22
49
  minimumSearchLength: number;
23
50
  maxSuggestionCount?: number;
24
51
  inputRef: RefObject<DefaultTextInput | null>;
25
52
  isMenuInverted?: boolean;
26
53
  };
27
- export declare const useComboboxController: <T>({ items, value, defaultValue, isValueControlled, interactive, onChange, onChangeText, onFocus, onBlur, onKeyPress, onSubmitEditing, disableOpenOnFocus, allowsCustomValue, blurOnSelect, filterItems, minimumSearchLength, maxSuggestionCount, inputRef, isMenuInverted, }: ComboboxControllerOptions<T>) => {
54
+ export declare const useComboboxController: <T>({ items, value, defaultValue, isValueControlled, inputValue, defaultInputValue, isInputControlled, interactive, onChange, onInputChange, onSubmit, onFocus, onBlur, onKeyPress, selectBehavior, disableOpenOnFocus, allowsCustomValue, submitOnEnter, filterItems, minimumSearchLength, maxSuggestionCount, inputRef, isMenuInverted, }: ComboboxControllerOptions<T>) => {
28
55
  displayText: string;
29
56
  query: string;
30
57
  filteredItems: ValueItem<T>[];
@@ -36,8 +63,9 @@ export declare const useComboboxController: <T>({ items, value, defaultValue, is
36
63
  handleSubmitEditing: (e: import("react-native").TextInputSubmitEditingEvent) => void;
37
64
  selectItem: (item: ValueItem<T>) => void;
38
65
  updateInputText: (next: string) => void;
39
- clear: () => void;
40
66
  open: () => void;
41
67
  close: () => void;
68
+ handlePress: () => void;
42
69
  };
70
+ export {};
43
71
  //# sourceMappingURL=useComboboxController.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useComboboxController.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/useComboboxController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAA+B,MAAM,OAAO,CAAC;AACpE,OAAO,KAAK,EACR,SAAS,EACT,SAAS,IAAI,gBAAgB,EAC7B,UAAU,EACV,sBAAsB,EACzB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,aAAa,EAAmC,MAAM,WAAW,CAAC;AAQhF,MAAM,MAAM,yBAAyB,CAAC,CAAC,IAAI;IACvC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC3C,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACvC,UAAU,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC/C,eAAe,CAAC,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IACzD,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,mBAAmB,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,CAAC,EAAE,4QAoBtC,yBAAyB,CAAC,CAAC,CAAC;;;;;;;;;;uBA+ED,SAAS,CAAC,CAAC,CAAC;4BAwDP,MAAM;;;;CAuJxC,CAAC"}
1
+ {"version":3,"file":"useComboboxController.d.ts","sourceRoot":"","sources":["../../../../../src/forms/input/comboboxInput/useComboboxController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export type { ComboboxInputProps, ComboboxInputTheme } from "./comboboxInput";
2
- export { ComboboxInput, type ComboboxInputHandle, type ComboboxValue, } from "./comboboxInput";
1
+ export type { ComboboxInputHandle, ComboboxInputProps, ComboboxInputTheme, ComboboxValue, } from "./comboboxInput";
2
+ export { ComboboxInput } from "./comboboxInput";
3
3
  export type { CounterInputProps, CounterInputTheme } from "./counterInput";
4
4
  export { CounterInput } from "./counterInput";
5
5
  export type { FractionValue, NumberInputHandle, NumberInputPlaceholders, NumberInputProps, NumberInputTheme, NumberInputValue, NumberValue, RangeValue, } from "./numberInput";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/input/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EACH,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,aAAa,GACrB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACR,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACR,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACR,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACR,SAAS,EACT,gBAAgB,EAChB,eAAe,GAClB,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/forms/input/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACR,aAAa,EACb,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,UAAU,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACR,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,cAAc,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACR,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACR,SAAS,EACT,gBAAgB,EAChB,eAAe,GAClB,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reillymc/react-native-components",
3
- "version": "0.12.6",
3
+ "version": "0.12.8",
4
4
  "description": "A collection of React Native components and resources",
5
5
  "type": "module",
6
6
  "sideEffects": false,