@corva/ui 3.76.0-rc.0 → 3.77.0-1

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,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),s=require("@babel/runtime/helpers/toConsumableArray"),o=require("@babel/runtime/helpers/typeof"),n=require("@babel/runtime/helpers/slicedToArray"),i=require("@material-ui/lab"),c=require("react"),r=require("classnames"),t=require("../Popper/Popper.js"),u=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/InfoRounded.js"),require("../../icons/customIcons/icons/FlameFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/PinOne.js"),require("../../icons/customIcons/icons/PinOneCrossed.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var l=require("./AutocompleteInput/AutocompleteInput.js"),a=require("./AutocompletePaper.js"),p=require("./utils.js"),m=require("./AutocompleteMenuItem.js"),d=require("./AutocompleteListBox.js"),j=require("./Autocomplete.scss.js"),I=require("../Menu/Menu.js"),q=require("react/jsx-runtime");function f(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=f(e),b=f(s),C=f(o),h=f(n),v=f(r);function A(e,s){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);s&&(n=n.filter((function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable}))),o.push.apply(o,n)}return o}function g(e){for(var s=1;s<arguments.length;s++){var o=null!=arguments[s]?arguments[s]:{};s%2?A(Object(o),!0).forEach((function(s){O.default(e,s,o[s])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):A(Object(o)).forEach((function(s){Object.defineProperty(e,s,Object.getOwnPropertyDescriptor(o,s))}))}return e}var y=function(e){var s=e.label,o=e.options,n=void 0===o?[]:o,r=e.value,f=e.onChange,A=e.multiple,y=e.renderOption,x=void 0===y?p.renderOptionDefault:y,P=e.optionSize,M=void 0===P?"medium":P,k=e.showPopupIcon,F=void 0===k||k,D=e.clearable,S=void 0===D||D,N=e.loading,R=e.noOptionsMessage,w=e.filterOptions,z=e.prefix,B=e.disabled,T=e.getOptionDisabled,V=e.renderSelected,L=void 0===V?p.renderSelectedValue:V,E=e.onInputChange,G=e.className,U=e.testId,W=e.status,_=e.message,K=e.useAllOption,Z=void 0!==K&&K,H=e.useOnlyOptionButton,J=void 0!==H&&H,Q=e.groupBy,X=e.renderGroup,Y=e.disableFiltering,$=e.onCreate,ee=e.dropdownClassName,se=e.popperProps,oe=e.placeholder,ne=e.focusOnClear,ie=void 0===ne||ne,ce=e.listboxComponent,re=e.size,te=void 0===re?"small":re,ue=e.labelPlacement,le=void 0===ue?"top":ue,ae=e.elementsClassNames,pe=e.htmlAttributes,me=e.type,de=e.spacing,je=e.isNext,Ie=c.useState(""),qe=h.default(Ie,2),fe=qe[0],Oe=qe[1],be=c.useMemo((function(){if(void 0===r||r instanceof Array&&0===r.length)return A?[]:null;var e=r instanceof Array?r:[r];if(A){var s=e.filter((function(e){return"object"!==C.default(e)})),o=e.filter((function(e){return"object"===C.default(e)})).map((function(e){return{id:e.id,title:e.title}})),i=n.filter((function(e){return s.includes(e.id)}));return[].concat(b.default(i),b.default(o))}return"object"===C.default(e[0])?e[0]:n.find((function(s){return e[0]===s.id}))||null}),[A,r,n]),Ce=be instanceof Array&&be.length>0,he=be instanceof Array&&be.length===n.length,ve=N?"Loading ...":"No options",Ae=!S||!be||be instanceof Array&&!(null!=be&&be.length),ge=c.useCallback((function(e){return q.jsx(l.AutocompleteInput,g(g({},e),{},{label:s,loading:N,prefix:z,status:W,message:_,readOnly:Y,placeholder:oe,size:te,labelPlacement:le,elementsClassNames:ae,htmlAttributes:pe,type:me,spacing:de,isNext:je}))}),[s,N,z,W,_,Y,oe,te,le,ae,pe,me,de,je]),ye=c.useCallback((function(e,s,o){if("clear"!==o||ie||(e.stopPropagation(),e.preventDefault()),$&&s){var i=(s instanceof Array?s:[s]).find((function(e){return!p.isRealOption(e)&&!!e[p.CreateOptionMark]}));if(i)return void $(i.newOptionTitle||"")}if(A&&s instanceof Array&&s.some((function(e){return!p.isRealOption(e)&&!!e[p.AllOptionMark]})))return void(be instanceof Array&&be.length<n.length?null==f||f(n.filter(p.isRealOption),o,e):null==f||f([],o,e));null==f||f(s||void 0,o,e)}),[ie,$,A,f,be,n]),xe=c.useCallback((function(e,s){return null==f?void 0:f([e],"select-only-option",s)}),[f]),Pe=c.useCallback((function(e,s){var o=s.selected;return p.isRealOption(e)?q.jsx(m.AutocompleteMenuItem,{size:M,selected:o,prefix:e.prefix,multiple:A,useOnlyButton:J,option:e,onSelectOnly:xe,children:x(e)}):e[p.AllOptionMark]?q.jsxs("div",{className:j.allOptionContainer,children:[q.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,indeterminate:Ce&&!he,multiple:!0,children:e.title}),q.jsx(I.Menu.Divider,{className:j.allOptionDivider})]}):q.jsx(m.AutocompleteMenuItem,{size:M,selected:Ce,children:e.title})}),[M,A,J,xe,x,Ce,he]),Me=c.useCallback((function(e,s){var o,n=w?w(e,s.inputValue):i.createFilterOptions()(e,s),c=Z&&A&&n.length&&e.length>1?[O.default({title:"All"},p.AllOptionMark,!0)].concat(b.default(n)):n;return $&&""!==s.inputValue.trim()?[].concat(b.default(c),[(o={title:'Add "'.concat(s.inputValue,'"')},O.default(o,p.CreateOptionMark,!0),O.default(o,"newOptionTitle",s.inputValue),o)]):c}),[w,$,Z,A]),ke=c.useCallback((function(e){return p.isRealOption(e)&&!(null==T||!T(e))}),[T]),Fe=c.useCallback((function(e){return e.title}),[]),De=c.useCallback((function(e,s){var o=e.filter(p.isRealOption).map((function(e,o){return{option:e,onDelete:s({index:o}).onDelete}}));return L(o,{useAllOption:Z,allOptions:n})}),[L,Z,n]),Se=c.useCallback((function(e,s,o){e&&"blur"===e.type?Oe(""):"reset"!==o&&Oe(s),"reset"!==o&&(null==E||E(s,e))}),[E]),Ne=c.useMemo((function(){if(Q)return function(e){return p.isRealOption(e)?Q(e):""}}),[Q]),Re=c.useMemo((function(){return{paper:ee}}),[ee]),we=c.useCallback((function(e,s){return!(!p.isRealOption(e)||!p.isRealOption(s))&&e.id===s.id}),[]),ze=i.Autocomplete,Be=c.useCallback((function(e){return q.jsx(t.Popper,g(g(g({},e),se),{},{className:v.default(null==e?void 0:e.className,null==se?void 0:se.className)}))}),[se]);return q.jsx("div",{className:v.default(j.root,F&&j.withArrow,!Ae&&j.withClear,G),"data-testid":U,children:q.jsx(ze,{value:be,options:n,getOptionLabel:Fe,renderInput:ge,PopperComponent:Be,PaperComponent:a.AutocompletePaper,multiple:A,disableCloseOnSelect:A,blurOnSelect:!A,onChange:ye,renderOption:Pe,popupIcon:q.jsx(u.DownIcon,{size:16}),forcePopupIcon:!!F,closeIcon:q.jsx(u.CloseSmallIcon,{size:16}),disableClearable:Ae,clearText:"",noOptionsText:R||ve,filterOptions:Me,disabled:B,getOptionDisabled:ke,renderTags:De,inputValue:A?fe:void 0,onInputChange:Se,groupBy:Ne,renderGroup:X,clearOnBlur:!0,selectOnFocus:!Y,classes:Re,getOptionSelected:we,ListboxComponent:null!=ce?ce:d.AutocompleteListBox})})},x=function(e){return y(g(g({},e),{},{isNext:!0}))};x.selectedValueRenderers={default:p.renderSelectedValue,chipsMultiline:p.renderSelectedValueChips},exports.Autocomplete=function(e){return y(g(g({},e),{},{isNext:!1}))},exports.AutocompleteNext=x;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),o=require("@babel/runtime/helpers/toConsumableArray"),s=require("@babel/runtime/helpers/typeof"),n=require("@babel/runtime/helpers/slicedToArray"),i=require("@material-ui/lab"),c=require("react"),r=require("classnames"),t=require("../Popper/Popper.js"),u=require("../../icons/iconParkIcons.js");require("../../icons/customIcons/icons/AddMessage.js"),require("../../icons/customIcons/icons/DragOne.js"),require("../../icons/customIcons/icons/Attention.js"),require("../../icons/customIcons/icons/Collapse.js"),require("../../icons/customIcons/icons/Dashboard.js"),require("../../icons/customIcons/icons/Expand.js"),require("../../icons/customIcons/icons/FolderClosed.js"),require("../../icons/customIcons/icons/FolderClosedFilled.js"),require("../../icons/customIcons/icons/FolderOpened.js"),require("../../icons/customIcons/icons/GreaterOrEqual.js"),require("../../icons/customIcons/icons/LessOrEqual.js"),require("../../icons/customIcons/icons/Search.js"),require("../../icons/customIcons/icons/SearchOne.js"),require("../../icons/customIcons/icons/Wellhub.js"),require("../../icons/customIcons/icons/MultiRuler.js"),require("../../icons/customIcons/icons/Checkbox.js"),require("../../icons/customIcons/icons/CheckboxChecked.js"),require("../../icons/customIcons/icons/CheckboxIndeterminate.js"),require("../../icons/customIcons/icons/Radio.js"),require("../../icons/customIcons/icons/RadioChecked.js"),require("../../icons/customIcons/icons/SimulFrac.js"),require("../../icons/customIcons/icons/ZipperFrac.js"),require("../../icons/customIcons/icons/CautionFilled.js"),require("../../icons/customIcons/icons/InfoRounded.js"),require("../../icons/customIcons/icons/FlameFilled.js"),require("../../icons/customIcons/icons/MoreApp.js"),require("../../icons/customIcons/icons/Pad.js"),require("../../icons/customIcons/icons/DrilloutUnit.js"),require("../../icons/customIcons/icons/FracFleet.js"),require("../../icons/customIcons/icons/Global.js"),require("../../icons/customIcons/icons/Program.js"),require("../../icons/customIcons/icons/Rig.js"),require("../../icons/customIcons/icons/Well.js"),require("../../icons/customIcons/icons/Gap.js"),require("../../icons/customIcons/icons/Pin.js"),require("../../icons/customIcons/icons/PinOne.js"),require("../../icons/customIcons/icons/PinOneCrossed.js"),require("../../icons/customIcons/icons/CloseOneFilled.js"),require("../../icons/customIcons/icons/AttentionFilled.js"),require("../../icons/customIcons/icons/CheckOneFilled.js"),require("../../icons/customIcons/icons/Archive.js"),require("../../icons/customIcons/icons/ArchiveCancel.js"),require("../../icons/customIcons/icons/Unarchive.js"),require("../../icons/customIcons/icons/Archived.js"),require("../../icons/customIcons/icons/InterventionUnit.js"),require("../../icons/customIcons/icons/CloudDelete.js"),require("../../icons/customIcons/icons/Lasso.js"),require("../../icons/customIcons/icons/Radius.js"),require("../../icons/customIcons/icons/ErrorOps.js"),require("../../icons/customIcons/icons/DataTypeOps.js"),require("../../icons/customIcons/icons/FalsePositiveOps.js"),require("../../icons/customIcons/icons/CalibrationOps.js"),require("../../icons/customIcons/icons/CriticalOps.js"),require("../../icons/customIcons/icons/Company.js"),require("../../icons/customIcons/icons/ArchiveOne.js"),require("../../icons/customIcons/icons/ParseBotFusion.js"),require("../../icons/customIcons/icons/Connect.js"),require("../../icons/customIcons/icons/PuzzleOne.js"),require("../../icons/customIcons/icons/Feed.js"),require("../../icons/customIcons/icons/Prompt.js"),require("../../icons/customIcons/icons/Companies.js"),require("../../icons/customIcons/icons/ClipboardAi.js"),require("../../icons/customIcons/icons/Key.js"),require("../../icons/customIcons/icons/AtSignCrossed.js"),require("../../icons/customIcons/icons/MappingManual.js"),require("../../icons/customIcons/icons/Mapping.js"),require("../../icons/customIcons/icons/Metrics.js"),require("../../icons/customIcons/icons/Drops.js"),require("../../icons/customIcons/icons/ClipboardSearch.js"),require("../../icons/customIcons/icons/Template.js"),require("../../icons/customIcons/icons/ClipboardMetrics.js"),require("../../icons/customIcons/icons/ClipboardBuilder.js"),require("../../icons/customIcons/icons/UnitConversion.js"),require("../../icons/customIcons/icons/NPT.js"),require("../../icons/customIcons/icons/GuidedFrac.js");var l=require("./AutocompleteInput/AutocompleteInput.js"),a=require("./AutocompletePaper.js"),p=require("./utils.js"),m=require("./AutocompleteMenuItem.js"),d=require("./AutocompleteListBox.js"),j=require("./Autocomplete.scss.js"),I=require("../Menu/Menu.js"),f=require("react/jsx-runtime");function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var O=q(e),b=q(o),C=q(s),h=q(n),v=q(r);function A(e,o){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),s.push.apply(s,n)}return s}function g(e){for(var o=1;o<arguments.length;o++){var s=null!=arguments[o]?arguments[o]:{};o%2?A(Object(s),!0).forEach((function(o){O.default(e,o,s[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):A(Object(s)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(s,o))}))}return e}var y=function(e){var o=e.label,s=e.options,n=void 0===s?[]:s,r=e.value,q=e.onChange,A=e.multiple,y=e.renderOption,x=void 0===y?p.renderOptionDefault:y,P=e.optionSize,k=void 0===P?"medium":P,M=e.showPopupIcon,F=void 0===M||M,D=e.clearable,S=void 0===D||D,N=e.loading,R=e.noOptionsMessage,w=e.filterOptions,z=e.prefix,B=e.disabled,T=e.getOptionDisabled,V=e.renderSelected,L=void 0===V?p.renderSelectedValue:V,E=e.onInputChange,G=e.className,U=e.testId,W=e.status,_=e.message,K=e.useAllOption,Z=void 0!==K&&K,H=e.useOnlyOptionButton,J=void 0!==H&&H,Q=e.groupBy,X=e.renderGroup,Y=e.disableFiltering,$=e.onCreate,ee=e.dropdownClassName,oe=e.popperProps,se=e.placeholder,ne=e.focusOnClear,ie=void 0===ne||ne,ce=e.listboxComponent,re=e.size,te=void 0===re?"small":re,ue=e.labelPlacement,le=void 0===ue?"top":ue,ae=e.elementsClassNames,pe=e.htmlAttributes,me=e.onOpen,de=e.onClose,je=e.type,Ie=e.spacing,fe=e.isNext,qe=c.useState(""),Oe=h.default(qe,2),be=Oe[0],Ce=Oe[1],he=c.useMemo((function(){if(void 0===r||r instanceof Array&&0===r.length)return A?[]:null;var e=r instanceof Array?r:[r];if(A){var o=e.filter((function(e){return"object"!==C.default(e)})),s=e.filter((function(e){return"object"===C.default(e)})).map((function(e){return{id:e.id,title:e.title}})),i=n.filter((function(e){return o.includes(e.id)}));return[].concat(b.default(i),b.default(s))}return"object"===C.default(e[0])?e[0]:n.find((function(o){return e[0]===o.id}))||null}),[A,r,n]),ve=he instanceof Array&&he.length>0,Ae=he instanceof Array&&he.length===n.length,ge=N?"Loading ...":"No options",ye=!S||!he||he instanceof Array&&!(null!=he&&he.length),xe=c.useCallback((function(e){return f.jsx(l.AutocompleteInput,g(g({},e),{},{label:o,loading:N,prefix:z,status:W,message:_,readOnly:Y,placeholder:se,size:te,labelPlacement:le,elementsClassNames:ae,htmlAttributes:pe,type:je,spacing:Ie,isNext:fe}))}),[o,N,z,W,_,Y,se,te,le,ae,pe,je,Ie,fe]),Pe=c.useCallback((function(e,o,s){if("clear"!==s||ie||(e.stopPropagation(),e.preventDefault()),$&&o){var i=(o instanceof Array?o:[o]).find((function(e){return!p.isRealOption(e)&&!!e[p.CreateOptionMark]}));if(i)return void $(i.newOptionTitle||"")}if(A&&o instanceof Array&&o.some((function(e){return!p.isRealOption(e)&&!!e[p.AllOptionMark]})))return void(he instanceof Array&&he.length<n.length?null==q||q(n.filter(p.isRealOption),s,e):null==q||q([],s,e));null==q||q(o||void 0,s,e)}),[ie,$,A,q,he,n]),ke=c.useCallback((function(e,o){return null==q?void 0:q([e],"select-only-option",o)}),[q]),Me=c.useCallback((function(e,o){var s=o.selected;return p.isRealOption(e)?f.jsx(m.AutocompleteMenuItem,{size:k,selected:s,prefix:e.prefix,multiple:A,useOnlyButton:J,option:e,onSelectOnly:ke,children:x(e)}):e[p.AllOptionMark]?f.jsxs("div",{className:j.allOptionContainer,children:[f.jsx(m.AutocompleteMenuItem,{size:k,selected:ve,indeterminate:ve&&!Ae,multiple:!0,children:e.title}),f.jsx(I.Menu.Divider,{className:j.allOptionDivider})]}):f.jsx(m.AutocompleteMenuItem,{size:k,selected:ve,children:e.title})}),[k,A,J,ke,x,ve,Ae]),Fe=c.useCallback((function(e,o){var s,n=w?w(e,o.inputValue):i.createFilterOptions()(e,o),c=Z&&A&&n.length&&e.length>1?[O.default({title:"All"},p.AllOptionMark,!0)].concat(b.default(n)):n;return $&&""!==o.inputValue.trim()?[].concat(b.default(c),[(s={title:'Add "'.concat(o.inputValue,'"')},O.default(s,p.CreateOptionMark,!0),O.default(s,"newOptionTitle",o.inputValue),s)]):c}),[w,$,Z,A]),De=c.useCallback((function(e){return p.isRealOption(e)&&!(null==T||!T(e))}),[T]),Se=c.useCallback((function(e){return e.title}),[]),Ne=c.useCallback((function(e,o){var s=e.filter(p.isRealOption).map((function(e,s){return{option:e,onDelete:o({index:s}).onDelete}}));return L(s,{useAllOption:Z,allOptions:n})}),[L,Z,n]),Re=c.useCallback((function(e,o,s){e&&"blur"===e.type?Ce(""):"reset"!==s&&Ce(o),"reset"!==s&&(null==E||E(o,e))}),[E]),we=c.useMemo((function(){if(Q)return function(e){return p.isRealOption(e)?Q(e):""}}),[Q]),ze=c.useMemo((function(){return{paper:ee}}),[ee]),Be=c.useCallback((function(e,o){return!(!p.isRealOption(e)||!p.isRealOption(o))&&e.id===o.id}),[]),Te=i.Autocomplete,Ve=c.useCallback((function(e){return f.jsx(t.Popper,g(g(g({},e),oe),{},{className:v.default(null==e?void 0:e.className,null==oe?void 0:oe.className)}))}),[oe]),Le=c.useCallback((function(){null==me||me()}),[me]),Ee=c.useCallback((function(e,o){null==de||de(o)}),[de]);return f.jsx("div",{className:v.default(j.root,F&&j.withArrow,!ye&&j.withClear,G),"data-testid":U,children:f.jsx(Te,{value:he,options:n,getOptionLabel:Se,renderInput:xe,PopperComponent:Ve,PaperComponent:a.AutocompletePaper,multiple:A,disableCloseOnSelect:A,blurOnSelect:!A,onChange:Pe,renderOption:Me,popupIcon:f.jsx(u.DownIcon,{size:16}),forcePopupIcon:!!F,closeIcon:f.jsx(u.CloseSmallIcon,{size:16}),disableClearable:ye,clearText:"",noOptionsText:R||ge,filterOptions:Fe,disabled:B,getOptionDisabled:De,renderTags:Ne,inputValue:A?be:void 0,onInputChange:Re,groupBy:we,renderGroup:X,clearOnBlur:!0,selectOnFocus:!Y,classes:ze,getOptionSelected:Be,ListboxComponent:null!=ce?ce:d.AutocompleteListBox,onOpen:Le,onClose:Ee})})},x=function(e){return y(g(g({},e),{},{isNext:!0}))};x.selectedValueRenderers={default:p.renderSelectedValue,chipsMultiline:p.renderSelectedValueChips},exports.Autocomplete=function(e){return y(g(g({},e),{},{isNext:!1}))},exports.AutocompleteNext=x;
2
2
  //# sourceMappingURL=Autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => (\n <Popper\n {...props}\n {...popperProps}\n className={classNames(props?.className, popperProps?.className)}\n />\n ),\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.js","sources":["../../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteCloseReason as MuiAutocompleteCloseReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Called when the dropdown is opened\n */\n onOpen?: () => void;\n /**\n * Called when the dropdown is closed\n */\n onClose?: (reason: MuiAutocompleteCloseReason) => void;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n onOpen,\n onClose,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => (\n <Popper\n {...props}\n {...popperProps}\n className={classNames(props?.className, popperProps?.className)}\n />\n ),\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n const actualOnOpen = useCallback<MuiAutocompleteProps<T>['onOpen']>(() => {\n onOpen?.();\n }, [onOpen]);\n\n const actualOnClose = useCallback<MuiAutocompleteProps<T>['onClose']>(\n (_e, reason) => {\n onClose?.(reason);\n },\n [onClose]\n );\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n onOpen={actualOnOpen}\n onClose={actualOnClose}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","onOpen","onClose","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","actualOnOpen","actualOnClose","_e","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { AutocompleteChangeReason as MuiAutocompleteChangeReason, AutocompleteRenderGroupParams } from '@material-ui/lab';
1
+ import { AutocompleteChangeReason as MuiAutocompleteChangeReason, AutocompleteCloseReason as MuiAutocompleteCloseReason, AutocompleteRenderGroupParams } from '@material-ui/lab';
2
2
  import { ChangeEvent, ComponentType, HTMLAttributes, MouseEventHandler, ReactNode } from 'react';
3
3
  import { PopperProps } from '../Popper';
4
4
  import { MenuItemProps } from '../Menu/MenuItem';
@@ -120,6 +120,14 @@ type AutocompleteBaseProps<T extends AutocompleteOption = AutocompleteOption, Mu
120
120
  type?: 'default' | 'search';
121
121
  className?: string;
122
122
  testId?: string;
123
+ /**
124
+ * Called when the dropdown is opened
125
+ */
126
+ onOpen?: () => void;
127
+ /**
128
+ * Called when the dropdown is closed
129
+ */
130
+ onClose?: (reason: MuiAutocompleteCloseReason) => void;
123
131
  /**
124
132
  * Escape hatch to fine-tune the styling of underlying elements
125
133
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/toConsumableArray";import n from"@babel/runtime/helpers/typeof";import i from"@babel/runtime/helpers/slicedToArray";import{createFilterOptions as t,Autocomplete as c}from"@material-ui/lab";import{useState as e,useMemo as r,useCallback as m}from"react";import l from"classnames";import{Popper as p}from"../Popper/Popper.js";import{DownIcon as u,CloseSmallIcon as a}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import{AutocompleteInput as d}from"./AutocompleteInput/AutocompleteInput.js";import{AutocompletePaper as j}from"./AutocompletePaper.js";import{renderSelectedValue as I,renderSelectedValueChips as f,isRealOption as O,CreateOptionMark as b,AllOptionMark as h,renderOptionDefault as v}from"./utils.js";import{AutocompleteMenuItem as g}from"./AutocompleteMenuItem.js";import{AutocompleteListBox as C}from"./AutocompleteListBox.js";import y from"./Autocomplete.scss.js";import{Menu as A}from"../Menu/Menu.js";import{jsx as P,jsxs as x}from"react/jsx-runtime";function F(o,s){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),n.push.apply(n,i)}return n}function D(s){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?F(Object(i),!0).forEach((function(n){o(s,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):F(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var N=function(f){var F=f.label,N=f.options,w=void 0===N?[]:N,M=f.value,S=f.onChange,z=f.multiple,T=f.renderOption,k=void 0===T?v:T,B=f.optionSize,R=void 0===B?"medium":B,E=f.showPopupIcon,G=void 0===E||E,L=f.clearable,V=void 0===L||L,U=f.loading,q=f.noOptionsMessage,W=f.filterOptions,K=f.prefix,Z=f.disabled,H=f.getOptionDisabled,J=f.renderSelected,Q=void 0===J?I:J,X=f.onInputChange,Y=f.className,$=f.testId,_=f.status,oo=f.message,so=f.useAllOption,no=void 0!==so&&so,io=f.useOnlyOptionButton,to=void 0!==io&&io,co=f.groupBy,eo=f.renderGroup,ro=f.disableFiltering,mo=f.onCreate,lo=f.dropdownClassName,po=f.popperProps,uo=f.placeholder,ao=f.focusOnClear,jo=void 0===ao||ao,Io=f.listboxComponent,fo=f.size,Oo=void 0===fo?"small":fo,bo=f.labelPlacement,ho=void 0===bo?"top":bo,vo=f.elementsClassNames,go=f.htmlAttributes,Co=f.type,yo=f.spacing,Ao=f.isNext,Po=e(""),xo=i(Po,2),Fo=xo[0],Do=xo[1],No=r((function(){if(void 0===M||M instanceof Array&&0===M.length)return z?[]:null;var o=M instanceof Array?M:[M];if(z){var i=o.filter((function(o){return"object"!==n(o)})),t=o.filter((function(o){return"object"===n(o)})).map((function(o){return{id:o.id,title:o.title}})),c=w.filter((function(o){return i.includes(o.id)}));return[].concat(s(c),s(t))}return"object"===n(o[0])?o[0]:w.find((function(s){return o[0]===s.id}))||null}),[z,M,w]),wo=No instanceof Array&&No.length>0,Mo=No instanceof Array&&No.length===w.length,So=U?"Loading ...":"No options",zo=!V||!No||No instanceof Array&&!(null!=No&&No.length),To=m((function(o){return P(d,D(D({},o),{},{label:F,loading:U,prefix:K,status:_,message:oo,readOnly:ro,placeholder:uo,size:Oo,labelPlacement:ho,elementsClassNames:vo,htmlAttributes:go,type:Co,spacing:yo,isNext:Ao}))}),[F,U,K,_,oo,ro,uo,Oo,ho,vo,go,Co,yo,Ao]),ko=m((function(o,s,n){if("clear"!==n||jo||(o.stopPropagation(),o.preventDefault()),mo&&s){var i=(s instanceof Array?s:[s]).find((function(o){return!O(o)&&!!o[b]}));if(i)return void mo(i.newOptionTitle||"")}if(z&&s instanceof Array&&s.some((function(o){return!O(o)&&!!o[h]})))return void(No instanceof Array&&No.length<w.length?null==S||S(w.filter(O),n,o):null==S||S([],n,o));null==S||S(s||void 0,n,o)}),[jo,mo,z,S,No,w]),Bo=m((function(o,s){return null==S?void 0:S([o],"select-only-option",s)}),[S]),Ro=m((function(o,s){var n=s.selected;return O(o)?P(g,{size:R,selected:n,prefix:o.prefix,multiple:z,useOnlyButton:to,option:o,onSelectOnly:Bo,children:k(o)}):o[h]?x("div",{className:y.allOptionContainer,children:[P(g,{size:R,selected:wo,indeterminate:wo&&!Mo,multiple:!0,children:o.title}),P(A.Divider,{className:y.allOptionDivider})]}):P(g,{size:R,selected:wo,children:o.title})}),[R,z,to,Bo,k,wo,Mo]),Eo=m((function(n,i){var c,e=W?W(n,i.inputValue):t()(n,i),r=no&&z&&e.length&&n.length>1?[o({title:"All"},h,!0)].concat(s(e)):e;return mo&&""!==i.inputValue.trim()?[].concat(s(r),[(c={title:'Add "'.concat(i.inputValue,'"')},o(c,b,!0),o(c,"newOptionTitle",i.inputValue),c)]):r}),[W,mo,no,z]),Go=m((function(o){return O(o)&&!(null==H||!H(o))}),[H]),Lo=m((function(o){return o.title}),[]),Vo=m((function(o,s){var n=o.filter(O).map((function(o,n){return{option:o,onDelete:s({index:n}).onDelete}}));return Q(n,{useAllOption:no,allOptions:w})}),[Q,no,w]),Uo=m((function(o,s,n){o&&"blur"===o.type?Do(""):"reset"!==n&&Do(s),"reset"!==n&&(null==X||X(s,o))}),[X]),qo=r((function(){if(co)return function(o){return O(o)?co(o):""}}),[co]),Wo=r((function(){return{paper:lo}}),[lo]),Ko=m((function(o,s){return!(!O(o)||!O(s))&&o.id===s.id}),[]),Zo=c,Ho=m((function(o){return P(p,D(D(D({},o),po),{},{className:l(null==o?void 0:o.className,null==po?void 0:po.className)}))}),[po]);return P("div",{className:l(y.root,G&&y.withArrow,!zo&&y.withClear,Y),"data-testid":$,children:P(Zo,{value:No,options:w,getOptionLabel:Lo,renderInput:To,PopperComponent:Ho,PaperComponent:j,multiple:z,disableCloseOnSelect:z,blurOnSelect:!z,onChange:ko,renderOption:Ro,popupIcon:P(u,{size:16}),forcePopupIcon:!!G,closeIcon:P(a,{size:16}),disableClearable:zo,clearText:"",noOptionsText:q||So,filterOptions:Eo,disabled:Z,getOptionDisabled:Go,renderTags:Vo,inputValue:z?Fo:void 0,onInputChange:Uo,groupBy:qo,renderGroup:eo,clearOnBlur:!0,selectOnFocus:!ro,classes:Wo,getOptionSelected:Ko,ListboxComponent:null!=Io?Io:C})})},w=function(o){return N(D(D({},o),{},{isNext:!1}))},M=function(o){return N(D(D({},o),{},{isNext:!0}))};M.selectedValueRenderers={default:I,chipsMultiline:f};export{w as Autocomplete,M as AutocompleteNext};
1
+ import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/toConsumableArray";import n from"@babel/runtime/helpers/typeof";import i from"@babel/runtime/helpers/slicedToArray";import{createFilterOptions as t,Autocomplete as c}from"@material-ui/lab";import{useState as e,useMemo as r,useCallback as l}from"react";import m from"classnames";import{Popper as u}from"../Popper/Popper.js";import{DownIcon as p,CloseSmallIcon as a}from"../../icons/iconParkIcons.js";import"../../icons/customIcons/icons/AddMessage.js";import"../../icons/customIcons/icons/DragOne.js";import"../../icons/customIcons/icons/Attention.js";import"../../icons/customIcons/icons/Collapse.js";import"../../icons/customIcons/icons/Dashboard.js";import"../../icons/customIcons/icons/Expand.js";import"../../icons/customIcons/icons/FolderClosed.js";import"../../icons/customIcons/icons/FolderClosedFilled.js";import"../../icons/customIcons/icons/FolderOpened.js";import"../../icons/customIcons/icons/GreaterOrEqual.js";import"../../icons/customIcons/icons/LessOrEqual.js";import"../../icons/customIcons/icons/Search.js";import"../../icons/customIcons/icons/SearchOne.js";import"../../icons/customIcons/icons/Wellhub.js";import"../../icons/customIcons/icons/MultiRuler.js";import"../../icons/customIcons/icons/Checkbox.js";import"../../icons/customIcons/icons/CheckboxChecked.js";import"../../icons/customIcons/icons/CheckboxIndeterminate.js";import"../../icons/customIcons/icons/Radio.js";import"../../icons/customIcons/icons/RadioChecked.js";import"../../icons/customIcons/icons/SimulFrac.js";import"../../icons/customIcons/icons/ZipperFrac.js";import"../../icons/customIcons/icons/CautionFilled.js";import"../../icons/customIcons/icons/InfoRounded.js";import"../../icons/customIcons/icons/FlameFilled.js";import"../../icons/customIcons/icons/MoreApp.js";import"../../icons/customIcons/icons/Pad.js";import"../../icons/customIcons/icons/DrilloutUnit.js";import"../../icons/customIcons/icons/FracFleet.js";import"../../icons/customIcons/icons/Global.js";import"../../icons/customIcons/icons/Program.js";import"../../icons/customIcons/icons/Rig.js";import"../../icons/customIcons/icons/Well.js";import"../../icons/customIcons/icons/Gap.js";import"../../icons/customIcons/icons/Pin.js";import"../../icons/customIcons/icons/PinOne.js";import"../../icons/customIcons/icons/PinOneCrossed.js";import"../../icons/customIcons/icons/CloseOneFilled.js";import"../../icons/customIcons/icons/AttentionFilled.js";import"../../icons/customIcons/icons/CheckOneFilled.js";import"../../icons/customIcons/icons/Archive.js";import"../../icons/customIcons/icons/ArchiveCancel.js";import"../../icons/customIcons/icons/Unarchive.js";import"../../icons/customIcons/icons/Archived.js";import"../../icons/customIcons/icons/InterventionUnit.js";import"../../icons/customIcons/icons/CloudDelete.js";import"../../icons/customIcons/icons/Lasso.js";import"../../icons/customIcons/icons/Radius.js";import"../../icons/customIcons/icons/ErrorOps.js";import"../../icons/customIcons/icons/DataTypeOps.js";import"../../icons/customIcons/icons/FalsePositiveOps.js";import"../../icons/customIcons/icons/CalibrationOps.js";import"../../icons/customIcons/icons/CriticalOps.js";import"../../icons/customIcons/icons/Company.js";import"../../icons/customIcons/icons/ArchiveOne.js";import"../../icons/customIcons/icons/ParseBotFusion.js";import"../../icons/customIcons/icons/Connect.js";import"../../icons/customIcons/icons/PuzzleOne.js";import"../../icons/customIcons/icons/Feed.js";import"../../icons/customIcons/icons/Prompt.js";import"../../icons/customIcons/icons/Companies.js";import"../../icons/customIcons/icons/ClipboardAi.js";import"../../icons/customIcons/icons/Key.js";import"../../icons/customIcons/icons/AtSignCrossed.js";import"../../icons/customIcons/icons/MappingManual.js";import"../../icons/customIcons/icons/Mapping.js";import"../../icons/customIcons/icons/Metrics.js";import"../../icons/customIcons/icons/Drops.js";import"../../icons/customIcons/icons/ClipboardSearch.js";import"../../icons/customIcons/icons/Template.js";import"../../icons/customIcons/icons/ClipboardMetrics.js";import"../../icons/customIcons/icons/ClipboardBuilder.js";import"../../icons/customIcons/icons/UnitConversion.js";import"../../icons/customIcons/icons/NPT.js";import"../../icons/customIcons/icons/GuidedFrac.js";import{AutocompleteInput as d}from"./AutocompleteInput/AutocompleteInput.js";import{AutocompletePaper as j}from"./AutocompletePaper.js";import{renderSelectedValue as f,renderSelectedValueChips as I,isRealOption as O,CreateOptionMark as b,AllOptionMark as h,renderOptionDefault as v}from"./utils.js";import{AutocompleteMenuItem as C}from"./AutocompleteMenuItem.js";import{AutocompleteListBox as g}from"./AutocompleteListBox.js";import y from"./Autocomplete.scss.js";import{Menu as A}from"../Menu/Menu.js";import{jsx as P,jsxs as x}from"react/jsx-runtime";function F(o,s){var n=Object.keys(o);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(o);s&&(i=i.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),n.push.apply(n,i)}return n}function D(s){for(var n=1;n<arguments.length;n++){var i=null!=arguments[n]?arguments[n]:{};n%2?F(Object(i),!0).forEach((function(n){o(s,n,i[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(i)):F(Object(i)).forEach((function(o){Object.defineProperty(s,o,Object.getOwnPropertyDescriptor(i,o))}))}return s}var N=function(I){var F=I.label,N=I.options,w=void 0===N?[]:N,M=I.value,S=I.onChange,z=I.multiple,T=I.renderOption,k=void 0===T?v:T,B=I.optionSize,R=void 0===B?"medium":B,E=I.showPopupIcon,G=void 0===E||E,L=I.clearable,V=void 0===L||L,U=I.loading,q=I.noOptionsMessage,W=I.filterOptions,K=I.prefix,Z=I.disabled,H=I.getOptionDisabled,J=I.renderSelected,Q=void 0===J?f:J,X=I.onInputChange,Y=I.className,$=I.testId,_=I.status,oo=I.message,so=I.useAllOption,no=void 0!==so&&so,io=I.useOnlyOptionButton,to=void 0!==io&&io,co=I.groupBy,eo=I.renderGroup,ro=I.disableFiltering,lo=I.onCreate,mo=I.dropdownClassName,uo=I.popperProps,po=I.placeholder,ao=I.focusOnClear,jo=void 0===ao||ao,fo=I.listboxComponent,Io=I.size,Oo=void 0===Io?"small":Io,bo=I.labelPlacement,ho=void 0===bo?"top":bo,vo=I.elementsClassNames,Co=I.htmlAttributes,go=I.onOpen,yo=I.onClose,Ao=I.type,Po=I.spacing,xo=I.isNext,Fo=e(""),Do=i(Fo,2),No=Do[0],wo=Do[1],Mo=r((function(){if(void 0===M||M instanceof Array&&0===M.length)return z?[]:null;var o=M instanceof Array?M:[M];if(z){var i=o.filter((function(o){return"object"!==n(o)})),t=o.filter((function(o){return"object"===n(o)})).map((function(o){return{id:o.id,title:o.title}})),c=w.filter((function(o){return i.includes(o.id)}));return[].concat(s(c),s(t))}return"object"===n(o[0])?o[0]:w.find((function(s){return o[0]===s.id}))||null}),[z,M,w]),So=Mo instanceof Array&&Mo.length>0,zo=Mo instanceof Array&&Mo.length===w.length,To=U?"Loading ...":"No options",ko=!V||!Mo||Mo instanceof Array&&!(null!=Mo&&Mo.length),Bo=l((function(o){return P(d,D(D({},o),{},{label:F,loading:U,prefix:K,status:_,message:oo,readOnly:ro,placeholder:po,size:Oo,labelPlacement:ho,elementsClassNames:vo,htmlAttributes:Co,type:Ao,spacing:Po,isNext:xo}))}),[F,U,K,_,oo,ro,po,Oo,ho,vo,Co,Ao,Po,xo]),Ro=l((function(o,s,n){if("clear"!==n||jo||(o.stopPropagation(),o.preventDefault()),lo&&s){var i=(s instanceof Array?s:[s]).find((function(o){return!O(o)&&!!o[b]}));if(i)return void lo(i.newOptionTitle||"")}if(z&&s instanceof Array&&s.some((function(o){return!O(o)&&!!o[h]})))return void(Mo instanceof Array&&Mo.length<w.length?null==S||S(w.filter(O),n,o):null==S||S([],n,o));null==S||S(s||void 0,n,o)}),[jo,lo,z,S,Mo,w]),Eo=l((function(o,s){return null==S?void 0:S([o],"select-only-option",s)}),[S]),Go=l((function(o,s){var n=s.selected;return O(o)?P(C,{size:R,selected:n,prefix:o.prefix,multiple:z,useOnlyButton:to,option:o,onSelectOnly:Eo,children:k(o)}):o[h]?x("div",{className:y.allOptionContainer,children:[P(C,{size:R,selected:So,indeterminate:So&&!zo,multiple:!0,children:o.title}),P(A.Divider,{className:y.allOptionDivider})]}):P(C,{size:R,selected:So,children:o.title})}),[R,z,to,Eo,k,So,zo]),Lo=l((function(n,i){var c,e=W?W(n,i.inputValue):t()(n,i),r=no&&z&&e.length&&n.length>1?[o({title:"All"},h,!0)].concat(s(e)):e;return lo&&""!==i.inputValue.trim()?[].concat(s(r),[(c={title:'Add "'.concat(i.inputValue,'"')},o(c,b,!0),o(c,"newOptionTitle",i.inputValue),c)]):r}),[W,lo,no,z]),Vo=l((function(o){return O(o)&&!(null==H||!H(o))}),[H]),Uo=l((function(o){return o.title}),[]),qo=l((function(o,s){var n=o.filter(O).map((function(o,n){return{option:o,onDelete:s({index:n}).onDelete}}));return Q(n,{useAllOption:no,allOptions:w})}),[Q,no,w]),Wo=l((function(o,s,n){o&&"blur"===o.type?wo(""):"reset"!==n&&wo(s),"reset"!==n&&(null==X||X(s,o))}),[X]),Ko=r((function(){if(co)return function(o){return O(o)?co(o):""}}),[co]),Zo=r((function(){return{paper:mo}}),[mo]),Ho=l((function(o,s){return!(!O(o)||!O(s))&&o.id===s.id}),[]),Jo=c,Qo=l((function(o){return P(u,D(D(D({},o),uo),{},{className:m(null==o?void 0:o.className,null==uo?void 0:uo.className)}))}),[uo]),Xo=l((function(){null==go||go()}),[go]),Yo=l((function(o,s){null==yo||yo(s)}),[yo]);return P("div",{className:m(y.root,G&&y.withArrow,!ko&&y.withClear,Y),"data-testid":$,children:P(Jo,{value:Mo,options:w,getOptionLabel:Uo,renderInput:Bo,PopperComponent:Qo,PaperComponent:j,multiple:z,disableCloseOnSelect:z,blurOnSelect:!z,onChange:Ro,renderOption:Go,popupIcon:P(p,{size:16}),forcePopupIcon:!!G,closeIcon:P(a,{size:16}),disableClearable:ko,clearText:"",noOptionsText:q||To,filterOptions:Lo,disabled:Z,getOptionDisabled:Vo,renderTags:qo,inputValue:z?No:void 0,onInputChange:Wo,groupBy:Ko,renderGroup:eo,clearOnBlur:!0,selectOnFocus:!ro,classes:Zo,getOptionSelected:Ho,ListboxComponent:null!=fo?fo:g,onOpen:Xo,onClose:Yo})})},w=function(o){return N(D(D({},o),{},{isNext:!1}))},M=function(o){return N(D(D({},o),{},{isNext:!0}))};M.selectedValueRenderers={default:f,chipsMultiline:I};export{w as Autocomplete,M as AutocompleteNext};
2
2
  //# sourceMappingURL=Autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.js","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => (\n <Popper\n {...props}\n {...popperProps}\n className={classNames(props?.className, popperProps?.className)}\n />\n ),\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","Autocomplete","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
1
+ {"version":3,"file":"Autocomplete.js","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import {\n Autocomplete as MuiAutocomplete,\n AutocompleteChangeReason as MuiAutocompleteChangeReason,\n AutocompleteCloseReason as MuiAutocompleteCloseReason,\n AutocompleteProps as MuiAutocompleteBaseProps,\n AutocompleteRenderGroupParams,\n AutocompleteRenderInputParams,\n createFilterOptions,\n} from '@material-ui/lab';\nimport {\n ChangeEvent,\n ComponentType,\n HTMLAttributes,\n MouseEventHandler,\n ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport classNames from 'classnames';\n\nimport { Popper, PopperProps } from '../Popper';\nimport { MenuItemProps } from '../Menu/MenuItem';\nimport { CloseSmallIcon, DownIcon } from '../../icons';\nimport { TextInputNextProps } from '../TextInputNext';\nimport { TextInputProps } from '../TextInput';\n\nimport { AutocompleteInput } from './AutocompleteInput';\nimport { AutocompletePaper } from './AutocompletePaper';\nimport {\n AllOptionMark,\n AutocompleteOption,\n CreateOptionMark,\n InternalOption,\n isRealOption,\n OwnAddedOption,\n renderOptionDefault,\n renderSelectedValue,\n renderSelectedValueChips,\n} from './utils';\nimport { AutocompleteMenuItem } from './AutocompleteMenuItem';\nimport { AutocompleteListBox } from './AutocompleteListBox';\n\nimport styles from './Autocomplete.scss';\nimport { Menu } from '../Menu';\n\ntype MuiAutocompleteProps<T extends AutocompleteOption> = Required<\n MuiAutocompleteBaseProps<InternalOption<T>, boolean, false, false>\n>;\n\ntype ChangeReason =\n | MuiAutocompleteChangeReason\n | 'select-option-all'\n | 'remove-option-all'\n | 'select-only-option';\ntype AutocompletePopperProps = Omit<PopperProps, 'open' | 'anchorEl' | 'children'>;\n\ntype AutocompleteBaseProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = {\n /**\n * Options to allow selection from. Has to be assignable to `{ id: string | number; title: string; prefix?: ReactNode; }[]`\n */\n options?: T[];\n /**\n * Selected value. If `multiple` is `false | undefined`, and the value is an array, only the first element will be used\n *\n * There's a [bug in TS](https://github.com/microsoft/TypeScript/issues/47599) which causes `onChange` prop\n * to have incorrect typing if we mix T and T['id'] in `value`. Therefore, we can't use the \"correct\" typing\n * ```\n * value?: T['id'] | T | (T['id'] | T)[];\n * ```\n *\n * You may need to provide additional typings\n */\n value?: string | number | T | (string | number | T)[];\n /**\n * If `true`, the component will support multiple selection\n */\n multiple?: Multiple;\n /**\n * Selection change handler\n * Receives an array of options if `multiple` is `true`, a single selected option or `undefined` otherwise\n */\n onChange?: (\n value: Multiple extends undefined | false ? T | undefined : T[],\n reason: ChangeReason,\n event?: ChangeEvent<unknown>\n ) => void;\n label?: ReactNode;\n placeholder?: string;\n /**\n * Controls the size of the options rendered\n */\n optionSize?: MenuItemProps['size'];\n disabled?: boolean;\n /**\n * If exists - allows user to create own options. Called when 'Add \"whatever\"' option is selected\n */\n onCreate?: (title: string) => void;\n\n prefix?: ReactNode;\n loading?: boolean;\n showPopupIcon?: boolean;\n /**\n * Controls the \"Clear\" button that's shown to the right if there is a value\n */\n clearable?: boolean;\n /**\n * Controls if the field should keep/gain focus after \"Clear\" button is clicked\n */\n focusOnClear?: boolean;\n /**\n * Triggered when user types something\n */\n onInputChange?: (value: string, event: ChangeEvent<HTMLInputElement>) => void;\n status?: TextInputNextProps['status'];\n message?: TextInputNextProps['message'];\n size?: TextInputNextProps['size'];\n labelPlacement?: TextInputNextProps['labelPlacement'];\n /**\n * Makes internal text field readonly, effectively turning component into a simple `<select/>`\n */\n disableFiltering?: boolean;\n\n renderOption?: (item: T) => ReactNode;\n /**\n * Message to show when there are no options\n */\n noOptionsMessage?: ReactNode;\n spacing?: TextInputProps['spacing'];\n /**\n * Function that filters options based on input value\n */\n filterOptions?: (options: T[], inputValue: string) => T[];\n /**\n * Function that determines if an option is disabled. Used to override the default\n * @param option\n */\n getOptionDisabled?: (option: T) => boolean;\n /**\n * If `multiple === true` shows an \"All\" option that selects/deselects all options\n */\n useAllOption?: boolean;\n /**\n * If `multiple === true` shows a \"Select Only\" button on option that selects only the corresponding option\n */\n useOnlyOptionButton?: boolean;\n\n /**\n * Used to render selected values when `multiple === true`\n */\n renderSelected?: (\n data: { option: T; onDelete: MouseEventHandler }[],\n options: { useAllOption: boolean; allOptions: T[] }\n ) => ReactNode;\n\n /**\n * Defines option grouping\n */\n groupBy?: (option: T) => string;\n /**\n * Group render override\n */\n renderGroup?: (props: AutocompleteRenderGroupParams) => ReactNode;\n\n /**\n * A classname that will be applied to dropdown (`<Paper/>` component)\n */\n dropdownClassName?: string;\n /**\n * Escape hatch to customize dropdown popper behavior.\n * `open`, `anchorEl`, and `children` are controlled internally.\n */\n popperProps?: Partial<AutocompletePopperProps>;\n\n type?: 'default' | 'search';\n\n className?: string;\n testId?: string;\n\n /**\n * Called when the dropdown is opened\n */\n onOpen?: () => void;\n /**\n * Called when the dropdown is closed\n */\n onClose?: (reason: MuiAutocompleteCloseReason) => void;\n\n /**\n * Escape hatch to fine-tune the styling of underlying elements\n */\n elementsClassNames?: TextInputNextProps['elementsClassNames'];\n\n /** HTML attributes forwarded to the underlying input. */\n htmlAttributes?: TextInputNextProps['htmlAttributes'];\n\n /**\n * Custom listbox component for rendering options (e.g., virtualized list)\n */\n listboxComponent?: ComponentType<HTMLAttributes<HTMLElement>>;\n\n // TODO Remove when making next a new baseline\n isNext?: boolean;\n};\n\nexport type AutocompleteChangeHandler<\n Option extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Required<AutocompleteBaseProps<Option, Multiple>>['onChange'];\n\nconst AutocompleteBase = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>({\n label,\n options = [],\n value,\n onChange,\n multiple,\n renderOption = renderOptionDefault,\n optionSize = 'medium',\n showPopupIcon = true,\n clearable = true,\n loading,\n noOptionsMessage,\n filterOptions,\n prefix,\n disabled,\n getOptionDisabled,\n renderSelected = renderSelectedValue,\n onInputChange,\n className,\n testId,\n status,\n message,\n useAllOption = false,\n useOnlyOptionButton = false,\n groupBy,\n renderGroup,\n disableFiltering,\n onCreate,\n dropdownClassName,\n popperProps,\n placeholder,\n focusOnClear = true,\n listboxComponent,\n size = 'small',\n labelPlacement = 'top',\n elementsClassNames,\n htmlAttributes,\n onOpen,\n onClose,\n\n // Old props\n type,\n spacing,\n isNext,\n}: AutocompleteBaseProps<T, Multiple>) => {\n const [inputValue, setInputValue] = useState('');\n\n const muiValue = useMemo(() => {\n if (value === undefined || (value instanceof Array && value.length === 0)) {\n return multiple ? [] : null;\n }\n\n // Array of either ids or actual values\n const mixedValues = value instanceof Array ? value : [value];\n\n if (multiple) {\n const valuesArray = mixedValues.filter(value => typeof value !== 'object');\n const objectValues = mixedValues\n .filter(value => typeof value === 'object')\n // MUI Autocomplete doesn't like react nodes in value, so we strip everything from the object to the bare minimum\n .map(({ id, title }) => ({ id, title }));\n const optionsById = options.filter(option => valuesArray.includes(option.id));\n\n return [...optionsById, ...objectValues];\n } else {\n return typeof mixedValues[0] === 'object'\n ? mixedValues[0]\n : options.find(option => mixedValues[0] === option.id) || null;\n }\n }, [multiple, value, options]) as MuiAutocompleteBaseProps<T, Multiple, false, false>['value'];\n\n const hasMultiSelected = muiValue instanceof Array && muiValue.length > 0;\n const hasAllMultiSelected = muiValue instanceof Array && muiValue.length === options.length;\n const defaultNoOptionsText = loading ? 'Loading ...' : 'No options';\n const disableClearable =\n !clearable || !muiValue || (muiValue instanceof Array && !muiValue?.length);\n\n const renderInput = useCallback(\n (inputProps: AutocompleteRenderInputParams) => (\n <AutocompleteInput\n {...inputProps}\n label={label}\n loading={loading}\n prefix={prefix}\n status={status}\n message={message}\n readOnly={disableFiltering}\n placeholder={placeholder}\n size={size}\n labelPlacement={labelPlacement}\n elementsClassNames={elementsClassNames}\n htmlAttributes={htmlAttributes}\n // Old props\n type={type}\n spacing={spacing}\n isNext={isNext}\n />\n ),\n [\n label,\n loading,\n prefix,\n status,\n message,\n disableFiltering,\n placeholder,\n size,\n labelPlacement,\n elementsClassNames,\n htmlAttributes,\n type,\n spacing,\n isNext,\n ]\n );\n\n const actualOnChange = useCallback<MuiAutocompleteProps<T>['onChange']>(\n (event, optionOrArray, reason) => {\n if (reason === 'clear' && !focusOnClear) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n // Handling of \"Add\" option\n if (onCreate && optionOrArray) {\n const optionArray = optionOrArray instanceof Array ? optionOrArray : [optionOrArray];\n const foundAddOption: OwnAddedOption | undefined = optionArray.find(\n option => !isRealOption(option) && !!option[CreateOptionMark]\n );\n\n if (foundAddOption) {\n onCreate(foundAddOption.newOptionTitle || '');\n return;\n }\n }\n\n // Handling of \"All\" option - only multiselect\n if (multiple && optionOrArray instanceof Array) {\n const allOptionExists = optionOrArray.some(\n option => !isRealOption(option) && !!option[AllOptionMark]\n );\n\n if (allOptionExists) {\n // Selecting \"All\"\n if (muiValue instanceof Array && muiValue.length < options.length) {\n onChange?.(options.filter(isRealOption) as never, reason, event);\n }\n // Deselecting \"All\"\n else {\n onChange?.([] as never, reason, event);\n }\n return;\n }\n }\n\n onChange?.((optionOrArray || undefined) as never, reason, event);\n },\n [focusOnClear, onCreate, multiple, onChange, muiValue, options]\n );\n\n const onSelectOnly = useCallback(\n (option: T, event: ChangeEvent<object>) =>\n onChange?.([option] as never, 'select-only-option', event),\n [onChange]\n );\n\n const actualRenderOption = useCallback<MuiAutocompleteProps<T>['renderOption']>(\n (option: InternalOption<T>, { selected }) => {\n if (isRealOption(option)) {\n return (\n <AutocompleteMenuItem\n size={optionSize}\n selected={selected}\n prefix={option.prefix}\n multiple={multiple}\n useOnlyButton={useOnlyOptionButton}\n option={option}\n onSelectOnly={onSelectOnly}\n >\n {renderOption(option)}\n </AutocompleteMenuItem>\n );\n } else if (option[AllOptionMark]) {\n return (\n <div className={styles.allOptionContainer}>\n <AutocompleteMenuItem\n size={optionSize}\n selected={hasMultiSelected}\n indeterminate={hasMultiSelected && !hasAllMultiSelected}\n multiple\n >\n {option.title}\n </AutocompleteMenuItem>\n <Menu.Divider className={styles.allOptionDivider} />\n </div>\n );\n } else {\n return (\n <AutocompleteMenuItem size={optionSize} selected={hasMultiSelected}>\n {option.title}\n </AutocompleteMenuItem>\n );\n }\n },\n [\n optionSize,\n multiple,\n useOnlyOptionButton,\n onSelectOnly,\n renderOption,\n hasMultiSelected,\n hasAllMultiSelected,\n ]\n );\n\n const actualFilterOptions = useCallback<MuiAutocompleteProps<T>['filterOptions']>(\n (options, params): InternalOption<T>[] => {\n const filteredOptions = filterOptions\n ? filterOptions(options as T[], params.inputValue)\n : createFilterOptions<T>()(options as T[], params);\n\n // Adding \"All\" option if needed\n const optionsWithAll =\n useAllOption && multiple && filteredOptions.length && options.length > 1\n ? [{ title: 'All', [AllOptionMark]: true }, ...filteredOptions]\n : filteredOptions;\n\n // Adding \"Add\" option if needed\n return onCreate && params.inputValue.trim() !== ''\n ? [\n ...optionsWithAll,\n {\n title: `Add \"${params.inputValue}\"`,\n [CreateOptionMark]: true,\n newOptionTitle: params.inputValue,\n },\n ]\n : optionsWithAll;\n },\n [filterOptions, onCreate, useAllOption, multiple]\n );\n\n const actualGetOptionDisabled = useCallback<MuiAutocompleteProps<T>['getOptionDisabled']>(\n option => isRealOption(option) && !!getOptionDisabled?.(option),\n [getOptionDisabled]\n );\n\n const getOptionLabel = useCallback<MuiAutocompleteProps<T>['getOptionLabel']>(\n option => option.title,\n []\n );\n\n const renderTags = useCallback<MuiAutocompleteProps<T>['renderTags']>(\n (tags, getTagProps) => {\n const tagsArray = tags.filter(isRealOption).map((option, index) => {\n // Untyped in MUI, so we have to do it ourselves\n const { onDelete } = getTagProps({ index }) as { onDelete: MouseEventHandler };\n return { option, onDelete };\n });\n\n return renderSelected(tagsArray, { useAllOption, allOptions: options });\n },\n [renderSelected, useAllOption, options]\n );\n\n const actualOnInputChange = useCallback<MuiAutocompleteProps<T>['onInputChange']>(\n (event, value, reason) => {\n if (event && event.type === 'blur') {\n setInputValue('');\n } else if (reason !== 'reset') {\n setInputValue(value);\n }\n\n if (reason !== 'reset') {\n onInputChange?.(value, event as ChangeEvent<HTMLInputElement>);\n }\n },\n [onInputChange]\n );\n\n const actualGroupBy = useMemo<MuiAutocompleteProps<T>['groupBy'] | undefined>(() => {\n if (groupBy) {\n return option => {\n if (isRealOption(option)) {\n return groupBy(option);\n }\n\n return '';\n };\n }\n\n return undefined;\n }, [groupBy]);\n\n const classes = useMemo(() => ({ paper: dropdownClassName }), [dropdownClassName]);\n\n const getOptionSelected = useCallback((a: InternalOption<T>, b: InternalOption<T>) => {\n return isRealOption(a) && isRealOption(b) ? a.id === b.id : false;\n }, []);\n\n const Component = MuiAutocomplete<InternalOption<T>, Multiple, boolean, false>;\n\n const PopperComponent = useCallback(\n (props: PopperProps) => (\n <Popper\n {...props}\n {...popperProps}\n className={classNames(props?.className, popperProps?.className)}\n />\n ),\n [popperProps]\n ) as NonNullable<MuiAutocompleteProps<T>['PopperComponent']>;\n\n const actualOnOpen = useCallback<MuiAutocompleteProps<T>['onOpen']>(() => {\n onOpen?.();\n }, [onOpen]);\n\n const actualOnClose = useCallback<MuiAutocompleteProps<T>['onClose']>(\n (_e, reason) => {\n onClose?.(reason);\n },\n [onClose]\n );\n\n return (\n <div\n className={classNames(\n styles.root,\n showPopupIcon && styles.withArrow,\n !disableClearable && styles.withClear,\n className\n )}\n data-testid={testId}\n >\n <Component\n value={muiValue}\n options={options}\n getOptionLabel={getOptionLabel}\n renderInput={renderInput}\n PopperComponent={PopperComponent}\n PaperComponent={AutocompletePaper}\n multiple={multiple}\n disableCloseOnSelect={multiple}\n blurOnSelect={!multiple}\n onChange={actualOnChange}\n renderOption={actualRenderOption}\n popupIcon={<DownIcon size={16} />}\n forcePopupIcon={!!showPopupIcon}\n closeIcon={<CloseSmallIcon size={16} />}\n disableClearable={disableClearable}\n clearText=\"\"\n noOptionsText={noOptionsMessage || defaultNoOptionsText}\n filterOptions={actualFilterOptions}\n disabled={disabled}\n getOptionDisabled={actualGetOptionDisabled}\n renderTags={renderTags}\n inputValue={multiple ? inputValue : undefined}\n onInputChange={actualOnInputChange}\n groupBy={actualGroupBy}\n renderGroup={renderGroup}\n clearOnBlur\n selectOnFocus={!disableFiltering}\n classes={classes}\n getOptionSelected={getOptionSelected}\n ListboxComponent={listboxComponent ?? AutocompleteListBox}\n onOpen={actualOnOpen}\n onClose={actualOnClose}\n />\n </div>\n );\n};\n\n// Old version\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport type AutocompleteProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<\n AutocompleteBaseProps<T, Multiple>,\n 'size' | 'labelPlacement' | 'elementsClassNames' | 'htmlAttributes' | 'isNext'\n>;\n\n/**\n * @deprecated use `AutocompleteNext`, and see migration guide for `TextInputNext` for details\n */\nexport const Autocomplete = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: false });\n\n// New version\nexport type AutocompleteNextProps<\n T extends AutocompleteOption = AutocompleteOption,\n Multiple extends boolean | undefined = false\n> = Omit<AutocompleteBaseProps<T, Multiple>, 'type' | 'spacing' | 'isNext'>;\n\nexport const AutocompleteNext = <\n T extends AutocompleteOption,\n Multiple extends boolean | undefined = false\n>(\n props: AutocompleteNextProps<T, Multiple>\n) => AutocompleteBase<T, Multiple>({ ...props, isNext: true });\n\nAutocompleteNext.selectedValueRenderers = {\n default: renderSelectedValue,\n chipsMultiline: renderSelectedValueChips,\n};\n"],"names":["AutocompleteBase","_ref","label","_ref$options","options","value","onChange","multiple","_ref$renderOption","renderOption","renderOptionDefault","_ref$optionSize","optionSize","_ref$showPopupIcon","showPopupIcon","_ref$clearable","clearable","loading","noOptionsMessage","filterOptions","prefix","disabled","getOptionDisabled","_ref$renderSelected","renderSelected","renderSelectedValue","onInputChange","className","testId","status","message","_ref$useAllOption","useAllOption","_ref$useOnlyOptionBut","useOnlyOptionButton","groupBy","renderGroup","disableFiltering","onCreate","dropdownClassName","popperProps","placeholder","_ref$focusOnClear","focusOnClear","listboxComponent","_ref$size","size","_ref$labelPlacement","labelPlacement","elementsClassNames","htmlAttributes","onOpen","onClose","type","spacing","isNext","useState","_useState2","_slicedToArray","_useState","inputValue","setInputValue","muiValue","useMemo","undefined","Array","length","mixedValues","valuesArray","filter","_typeof","objectValues","map","_ref2","id","title","optionsById","option","includes","find","hasMultiSelected","hasAllMultiSelected","defaultNoOptionsText","disableClearable","renderInput","useCallback","inputProps","_jsx","AutocompleteInput","_objectSpread","readOnly","actualOnChange","event","optionOrArray","reason","stopPropagation","preventDefault","foundAddOption","isRealOption","CreateOptionMark","newOptionTitle","some","AllOptionMark","onSelectOnly","actualRenderOption","_ref3","selected","AutocompleteMenuItem","useOnlyButton","children","_jsxs","styles","allOptionContainer","indeterminate","Menu","Divider","allOptionDivider","actualFilterOptions","params","_ref5","filteredOptions","createFilterOptions","optionsWithAll","_defineProperty","trim","concat","_toConsumableArray","actualGetOptionDisabled","getOptionLabel","renderTags","tags","getTagProps","tagsArray","index","onDelete","allOptions","actualOnInputChange","actualGroupBy","classes","paper","getOptionSelected","a","b","Component","MuiAutocomplete","PopperComponent","props","Popper","classNames","actualOnOpen","actualOnClose","_e","root","withArrow","withClear","PaperComponent","AutocompletePaper","disableCloseOnSelect","blurOnSelect","popupIcon","DownIcon","forcePopupIcon","closeIcon","CloseSmallIcon","clearText","noOptionsText","clearOnBlur","selectOnFocus","ListboxComponent","AutocompleteListBox","Autocomplete","AutocompleteNext","selectedValueRenderers","default","chipsMultiline","renderSelectedValueChips"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.stories.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiC,MAAM,OAAO,CAAC;AAQtE,OAAO,EAAE,YAAY,EAA6B,MAAM,gBAAgB,CAAC;AAYzE,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAEjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAGrB,CAAC;eA6Da,IAAI;AAiBnB,eAAO,MAAM,OAAO,UAAW,KAAK,4CAuBnC,CAAC;AAGF,eAAO,MAAM,KAAK,+CA4BjB,CAAC;AAOF,eAAO,MAAM,WAAW,+CAyBvB,CAAC;AAQF,eAAO,MAAM,MAAM,+CAQlB,CAAC;AAKF,eAAO,MAAM,kBAAkB,+CA0C9B,CAAC;AAOF,eAAO,MAAM,QAAQ,+CA4BpB,CAAC;AAQF,eAAO,MAAM,gCAAgC,+CA6C5C,CAAC;AAOF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,OAAO,+CAsBnB,CAAC;AAOF,eAAO,MAAM,OAAO,+CAmDnB,CAAC;AAQF,eAAO,MAAM,YAAY,+CAgBxB,CAAC;AAMF,eAAO,MAAM,kBAAkB,+CAgB9B,CAAC;AAOF,eAAO,MAAM,kBAAkB,+CAuB9B,CAAC;AAQF,eAAO,MAAM,QAAQ,+CAYpB,CAAC;AAMF,eAAO,MAAM,MAAM,+CAUlB,CAAC;AAKF,eAAO,MAAM,uBAAuB,+CAyBnC,CAAC;AAMF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,aAAa,+CAmCzB,CAAC;AAOF,eAAO,MAAM,UAAU,+CAsCtB,CAAC;AAOF,eAAO,MAAM,gBAAgB,+CAU5B,CAAC;AAOF,eAAO,MAAM,UAAU,+CAmCtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,+CAO7B,CAAC"}
1
+ {"version":3,"file":"Autocomplete.stories.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/Autocomplete.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiC,MAAM,OAAO,CAAC;AAQtE,OAAO,EAAE,YAAY,EAA6B,MAAM,gBAAgB,CAAC;AAYzE,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,YAAY,CAAC,CAAC;AAEjD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAGrB,CAAC;eA+Da,IAAI;AAiBnB,eAAO,MAAM,OAAO,UAAW,KAAK,4CAuBnC,CAAC;AAGF,eAAO,MAAM,KAAK,+CA4BjB,CAAC;AAOF,eAAO,MAAM,WAAW,+CAyBvB,CAAC;AAQF,eAAO,MAAM,MAAM,+CAQlB,CAAC;AAKF,eAAO,MAAM,kBAAkB,+CA0C9B,CAAC;AAOF,eAAO,MAAM,QAAQ,+CA4BpB,CAAC;AAQF,eAAO,MAAM,gCAAgC,+CA6C5C,CAAC;AAOF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,OAAO,+CAsBnB,CAAC;AAOF,eAAO,MAAM,OAAO,+CAmDnB,CAAC;AAQF,eAAO,MAAM,YAAY,+CAgBxB,CAAC;AAMF,eAAO,MAAM,kBAAkB,+CAgB9B,CAAC;AAOF,eAAO,MAAM,kBAAkB,+CAuB9B,CAAC;AAQF,eAAO,MAAM,QAAQ,+CAYpB,CAAC;AAMF,eAAO,MAAM,MAAM,+CAUlB,CAAC;AAKF,eAAO,MAAM,uBAAuB,+CAyBnC,CAAC;AAMF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,aAAa,+CAmCzB,CAAC;AAOF,eAAO,MAAM,UAAU,+CAsCtB,CAAC;AAOF,eAAO,MAAM,gBAAgB,+CAU5B,CAAC;AAOF,eAAO,MAAM,UAAU,+CAmCtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,+CAO7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteNext.stories.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/AutocompleteNext.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiC,MAAM,OAAO,CAAC;AAOtE,OAAO,EAA6B,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAM7E,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAGrB,CAAC;eA8Ca,IAAI;AAiBnB,eAAO,MAAM,OAAO,UAAW,KAAK,4CAuBnC,CAAC;AAGF,eAAO,MAAM,KAAK,+CAmBjB,CAAC;AASF,eAAO,MAAM,cAAc,+CAmB1B,CAAC;AASF,eAAO,MAAM,WAAW,+CAyBvB,CAAC;AAQF,eAAO,MAAM,MAAM,+CAQlB,CAAC;AAKF,eAAO,MAAM,kBAAkB,+CA0C9B,CAAC;AAOF,eAAO,MAAM,QAAQ,+CA2CpB,CAAC;AAQF,eAAO,MAAM,gCAAgC,+CAkE5C,CAAC;AASF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,OAAO,+CAsBnB,CAAC;AAOF,eAAO,MAAM,YAAY,+CA0BxB,CAAC;AAMF,eAAO,MAAM,kBAAkB,+CAgB9B,CAAC;AAOF,eAAO,MAAM,kBAAkB,+CAuB9B,CAAC;AAQF,eAAO,MAAM,QAAQ,+CAYpB,CAAC;AAMF,eAAO,MAAM,MAAM,+CAUlB,CAAC;AAKF,eAAO,MAAM,uBAAuB,+CAyBnC,CAAC;AAMF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,aAAa,+CAgDzB,CAAC;AAOF,eAAO,MAAM,UAAU,+CAsCtB,CAAC;AAOF,eAAO,MAAM,gBAAgB,+CAU5B,CAAC;AAOF,eAAO,MAAM,UAAU,+CAmCtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,+CAO7B,CAAC"}
1
+ {"version":3,"file":"AutocompleteNext.stories.d.ts","sourceRoot":"","sources":["../../../src/componentsV2/Autocomplete/AutocompleteNext.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAW,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAiC,MAAM,OAAO,CAAC;AAOtE,OAAO,EAA6B,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAM7E,KAAK,KAAK,GAAG,cAAc,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAErD,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,KAAK,CAGrB,CAAC;eAgDa,IAAI;AAiBnB,eAAO,MAAM,OAAO,UAAW,KAAK,4CAuBnC,CAAC;AAGF,eAAO,MAAM,KAAK,+CAmBjB,CAAC;AASF,eAAO,MAAM,cAAc,+CAmB1B,CAAC;AASF,eAAO,MAAM,WAAW,+CAyBvB,CAAC;AAQF,eAAO,MAAM,MAAM,+CAQlB,CAAC;AAKF,eAAO,MAAM,kBAAkB,+CA0C9B,CAAC;AAOF,eAAO,MAAM,QAAQ,+CA2CpB,CAAC;AAQF,eAAO,MAAM,gCAAgC,+CAkE5C,CAAC;AASF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,OAAO,+CAsBnB,CAAC;AAOF,eAAO,MAAM,YAAY,+CA0BxB,CAAC;AAMF,eAAO,MAAM,kBAAkB,+CAgB9B,CAAC;AAOF,eAAO,MAAM,kBAAkB,+CAuB9B,CAAC;AAQF,eAAO,MAAM,QAAQ,+CAYpB,CAAC;AAMF,eAAO,MAAM,MAAM,+CAUlB,CAAC;AAKF,eAAO,MAAM,uBAAuB,+CAyBnC,CAAC;AAMF,eAAO,MAAM,KAAK,+CAWjB,CAAC;AAMF,eAAO,MAAM,aAAa,+CAgDzB,CAAC;AAOF,eAAO,MAAM,UAAU,+CAsCtB,CAAC;AAOF,eAAO,MAAM,gBAAgB,+CAU5B,CAAC;AAOF,eAAO,MAAM,UAAU,+CAmCtB,CAAC;AAMF,eAAO,MAAM,iBAAiB,+CAO7B,CAAC"}
@@ -248,7 +248,7 @@ const validateDsn = dsn => {
248
248
 
249
249
  const MCP_SERVER_VERSION = '1.5.0';
250
250
 
251
- var version = "3.76.0-rc.0";
251
+ var version = "3.77.0-1";
252
252
 
253
253
  const CORVA_UI_VERSION = version;
254
254
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@corva/ui",
3
- "version": "3.76.0-rc.0",
3
+ "version": "3.77.0-1",
4
4
  "license": "UNLICENSED",
5
5
  "description": "Shared components/utils for Corva ui projects",
6
6
  "repository": {