@bigbinary/neetoui-rn 0.0.277 → 0.0.279
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ChatInput=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireWildcard(require("react"));var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _nodeHtmlParser=require("node-html-parser");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _expand=_interopRequireDefault(require("../../../assets/icons/expand.svg"));var _minimize=_interopRequireDefault(require("../../../assets/icons/minimize.svg"));var _AttachmentsView=require("./AttachmentsView");var _EmailFields=require("./EmailFields");var _IconButton=require("./IconButton");var _MentionsInputWrapper=require("./MentionsInputWrapper");var _theme=require("../../theme");var _Button=require("../Button");var _Container=require("../Container");var _LineLoader=require("../LineLoader");var _Popover=require("../Popover");var _excluded=["shouldShowEmailFields","showReplyMenuOptions","value","onChangeText","onForward","onCannedResponse","toEmails","onReply","onAddNote","onAttachment","attachmentsCount","Attachments","showCannedResponsesFor","showSuggestionsFor","disabled","isLoading","onOptionChange","initialSelectedOption","suggestions"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/ChatInput/ChatInput.jsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2;}var OPTION_TYPES={REPLY:"REPLY",NOTE:"NOTE",FORWARD:"FORWARD"};var placeholders=(0,_defineProperty2.default)((0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.REPLY,"Type here to reply…"),OPTION_TYPES.NOTE,"Add note here…"),OPTION_TYPES.FORWARD,"Type here to forward…");var labels=(0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.NOTE,"Add note"),OPTION_TYPES.FORWARD,"Forward");var convertMentionsToHTMLAndPlainText=function convertMentionsToHTMLAndPlainText(_ref){var suggestions=_ref.suggestions,value=_ref.value;var mentionsRegex=new RegExp(/@\[[^)]*\)/g);var html="<p>"+value+"</p>";var plainText=value;var allMentions=html.matchAll(mentionsRegex);var _loop=function _loop(){var mention=mentionObject[0];var id=/\((.*)\)/.exec(mention)[1];var suggestion=suggestions.find(function(suggestion){return suggestion.id===id;});var rootNode=(0,_nodeHtmlParser.parse)("<span></span>");var spanNode=rootNode.querySelector("span");spanNode.setAttribute("data-type","mention");spanNode.setAttribute("data-id",id);spanNode.setAttribute("data-label",suggestion.name);spanNode.set_content("@"+suggestion.name);var rootNodeString=rootNode.toString();html=html.replace(mention,rootNodeString);var plainTextMention="@"+suggestion.name;plainText=plainText.replace(mention,plainTextMention);};for(var _iterator=_createForOfIteratorHelperLoose(allMentions),_step;!(_step=_iterator()).done;){var mentionObject=_step.value;_loop();}return{html:html,plainText:plainText};};var ChatInput=exports.ChatInput=(0,_react.forwardRef)(function(_ref2,ref){var _labels$selectedOptio;var shouldShowEmailFields=_ref2.shouldShowEmailFields,showReplyMenuOptions=_ref2.showReplyMenuOptions,_ref2$value=_ref2.value,value=_ref2$value===void 0?"":_ref2$value,_ref2$onChangeText=_ref2.onChangeText,onChangeText=_ref2$onChangeText===void 0?function(){}:_ref2$onChangeText,onForward=_ref2.onForward,onCannedResponse=_ref2.onCannedResponse,initialToEmails=_ref2.toEmails,_ref2$onReply=_ref2.onReply,onReply=_ref2$onReply===void 0?function(){}:_ref2$onReply,_ref2$onAddNote=_ref2.onAddNote,onAddNote=_ref2$onAddNote===void 0?function(){}:_ref2$onAddNote,_ref2$onAttachment=_ref2.onAttachment,onAttachment=_ref2$onAttachment===void 0?function(){}:_ref2$onAttachment,attachmentsCount=_ref2.attachmentsCount,Attachments=_ref2.Attachments,_ref2$showCannedRespo=_ref2.showCannedResponsesFor,showCannedResponsesFor=_ref2$showCannedRespo===void 0?[OPTION_TYPES.REPLY]:_ref2$showCannedRespo,_ref2$showSuggestions=_ref2.showSuggestionsFor,showSuggestionsFor=_ref2$showSuggestions===void 0?[OPTION_TYPES.NOTE]:_ref2$showSuggestions,disabled=_ref2.disabled,_ref2$isLoading=_ref2.isLoading,isLoading=_ref2$isLoading===void 0?true:_ref2$isLoading,_ref2$onOptionChange=_ref2.onOptionChange,onOptionChange=_ref2$onOptionChange===void 0?function(){}:_ref2$onOptionChange,_ref2$initialSelected=_ref2.initialSelectedOption,initialSelectedOption=_ref2$initialSelected===void 0?OPTION_TYPES.REPLY:_ref2$initialSelected,suggestions=_ref2.suggestions,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(initialSelectedOption),_useState2=(0,_slicedToArray2.default)(_useState,2),selectedOption=_useState2[0],setSelectedOption=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isEmailFieldsVisible=_useState4[0],setIsEmailFieldsVisible=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isAttachmentsVisible=_useState6[0],setIsAttachmentsVisible=_useState6[1];var isReplyOptionSelected=selectedOption===OPTION_TYPES.REPLY;var isNoteOptionSelected=selectedOption===OPTION_TYPES.NOTE;var isForwardOptionSelected=selectedOption===OPTION_TYPES.FORWARD;var _useState7=(0,_react.useState)(initialToEmails!=null?initialToEmails:[]),_useState8=(0,_slicedToArray2.default)(_useState7,2),toEmails=_useState8[0],setToEmails=_useState8[1];var _useState9=(0,_react.useState)([]),_useState10=(0,_slicedToArray2.default)(_useState9,2),toEmailsForForward=_useState10[0],setToEmailsForForward=_useState10[1];var _useState11=(0,_react.useState)([]),_useState12=(0,_slicedToArray2.default)(_useState11,2),ccEmails=_useState12[0],setCcEmails=_useState12[1];var _useState13=(0,_react.useState)([]),_useState14=(0,_slicedToArray2.default)(_useState13,2),bccEmails=_useState14[0],setBccEmails=_useState14[1];var moreReplyOptions=[{label:"Send and set as closed",Icon:function Icon(){return null;},onPress:function onPress(){onReply((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails,status:"closed"},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}}];(0,_react.useImperativeHandle)(ref,function(){return{clearEmailFields:function clearEmailFields(){setToEmails(initialToEmails!=null?initialToEmails:[]);setToEmailsForForward([]);setCcEmails([]);setBccEmails([]);inputRef.current.blur();}};},[initialToEmails,isReplyOptionSelected]);(0,_react.useEffect)(function(){onOptionChange(selectedOption);},[selectedOption]);(0,_react.useEffect)(function(){setSelectedOption(initialSelectedOption);},[initialSelectedOption]);(0,_react.useEffect)(function(){setToEmails(initialToEmails!=null?initialToEmails:[]);},[initialToEmails]);var showEmailFieldsAndAttachments=function showEmailFieldsAndAttachments(){setIsAttachmentsVisible(true);!isNoteOptionSelected&&setIsEmailFieldsVisible(true);};var hideEmailFieldsAndAttachments=function hideEmailFieldsAndAttachments(){setIsAttachmentsVisible(false);setIsEmailFieldsVisible(false);};var onReplyClickHandler=function onReplyClickHandler(){hideEmailFieldsAndAttachments();inputRef.current.focus();setSelectedOption(OPTION_TYPES.REPLY);};var onAddNoteClickHandler=function onAddNoteClickHandler(){hideEmailFieldsAndAttachments();inputRef.current.focus();setIsEmailFieldsVisible(false);setSelectedOption(OPTION_TYPES.NOTE);};var onAddForwardClickHandler=function onAddForwardClickHandler(){inputRef.current.focus();setIsEmailFieldsVisible(true);setIsAttachmentsVisible(false);setSelectedOption(OPTION_TYPES.FORWARD);};var onAddAttachmentsClickHandler=function onAddAttachmentsClickHandler(){if(!isAttachmentsVisible&&attachmentsCount>0){}else{onAttachment();}setIsEmailFieldsVisible(false);setIsAttachmentsVisible(true);};var onActionHandler=(0,_react.useCallback)(function(){(0,_defineProperty2.default)((0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.REPLY,function(){onReply((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}),OPTION_TYPES.NOTE,function(){onAddNote((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}),OPTION_TYPES.FORWARD,function(){onForward((0,_extends2.default)({toEmails:toEmailsForForward,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));})[selectedOption]();},[bccEmails,ccEmails,onAddNote,onForward,onReply,selectedOption,suggestions,toEmails,value]);var shouldShowExpandAndMinimizeButton=attachmentsCount>0||toEmails.length>0&&!isNoteOptionSelected;var shouldDisableWhenForwardAndToFieldMissing=isForwardOptionSelected&&toEmailsForForward.length===0;return _react.default.createElement(_Container.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:314,columnNumber:7}},_react.default.createElement(_LineLoader.LineLoader,{backgroundColor:_theme.theme.colors.background.grey400,height:(0,_reactNativeSizeMatters.moderateScale)(1),isLoading:isLoading,__self:_this,__source:{fileName:_jsxFileName,lineNumber:315,columnNumber:9}}),_react.default.createElement(_Container.Container,{bg:isNoteOptionSelected?"background.oldLace":"transparent",p:(0,_reactNativeSizeMatters.moderateScale)(5),pt:0,px:(0,_reactNativeSizeMatters.moderateScale)(16),__self:_this,__source:{fileName:_jsxFileName,lineNumber:320,columnNumber:9}},_react.default.createElement(_Container.Container,{pt:(0,_reactNativeSizeMatters.moderateScale)(8),__self:_this,__source:{fileName:_jsxFileName,lineNumber:326,columnNumber:11}},_react.default.createElement(_EmailFields.EmailFields,{bccEmails:bccEmails,ccEmails:ccEmails,isEmailFieldsVisible:isEmailFieldsVisible,isForwardOptionSelected:isForwardOptionSelected,isNoteOptionSelected:isNoteOptionSelected,isReplyOptionSelected:isReplyOptionSelected,setBccEmails:setBccEmails,setCcEmails:setCcEmails,setIsEmailFieldsVisible:setIsEmailFieldsVisible,setToEmails:setToEmails,setToEmailsForForward:setToEmailsForForward,shouldShowEmailFields:shouldShowEmailFields,toEmails:toEmails,toEmailsForForward:toEmailsForForward,__self:_this,__source:{fileName:_jsxFileName,lineNumber:327,columnNumber:13}}),_react.default.createElement(_Container.Container,{flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:343,columnNumber:13}},_react.default.createElement(_MentionsInputWrapper.MentionsInputWrapper,(0,_extends2.default)({placeholder:placeholders[selectedOption],ref:inputRef,suggestions:suggestions,value:value,shouldShowSuggestions:showSuggestionsFor.includes(selectedOption),onChange:onChangeText,onTouchStart:hideEmailFieldsAndAttachments},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:344,columnNumber:15}})),shouldShowExpandAndMinimizeButton&&_react.default.createElement(_Container.Container,{alignSelf:"center",__self:_this,__source:{fileName:_jsxFileName,lineNumber:357,columnNumber:17}},isEmailFieldsVisible||isAttachmentsVisible?_react.default.createElement(_IconButton.IconButton,{Icon:_minimize.default,height:(0,_reactNativeSizeMatters.moderateScale)(30),pt:(0,_reactNativeSizeMatters.moderateScale)(8),width:(0,_reactNativeSizeMatters.moderateScale)(30),onPress:hideEmailFieldsAndAttachments,__self:_this,__source:{fileName:_jsxFileName,lineNumber:359,columnNumber:21}}):_react.default.createElement(_IconButton.IconButton,{Icon:_expand.default,height:(0,_reactNativeSizeMatters.moderateScale)(30),pt:(0,_reactNativeSizeMatters.moderateScale)(8),width:(0,_reactNativeSizeMatters.moderateScale)(30),onPress:showEmailFieldsAndAttachments,__self:_this,__source:{fileName:_jsxFileName,lineNumber:367,columnNumber:21}}))),_react.default.createElement(_AttachmentsView.AttachmentsView,{Attachments:Attachments,attachmentsCount:attachmentsCount,isAttachmentsVisible:isAttachmentsVisible,isNoteOptionSelected:isNoteOptionSelected,setIsAttachmentsVisible:setIsAttachmentsVisible,__self:_this,__source:{fileName:_jsxFileName,lineNumber:378,columnNumber:13}}),_react.default.createElement(_Container.Container,{alignItems:"center",flexDirection:"row",justifyContent:"space-between",mt:(0,_reactNativeSizeMatters.moderateScale)(10),__self:_this,__source:{fileName:_jsxFileName,lineNumber:385,columnNumber:13}},_react.default.createElement(_Container.Container,{flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:391,columnNumber:15}},_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.ChatBubble,opacity:isReplyOptionSelected?1:0.5,pl:(0,_reactNativeSizeMatters.moderateScale)(10),iconProps:{viewBox:"0 0 37 37",size:(0,_reactNativeSizeMatters.moderateScale)(30),color:isReplyOptionSelected?_theme.theme.colors.font.grey700:_theme.theme.colors.font.grey500},onPress:onReplyClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:392,columnNumber:17}}),_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.Notes,opacity:isNoteOptionSelected?1:0.5,onPress:onAddNoteClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:405,columnNumber:17}}),onForward&&_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.Forward,opacity:isForwardOptionSelected?1:0.5,onPress:onAddForwardClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:19}}),_react.default.createElement(_Container.Container,{bg:"background.grey400",mx:(0,_reactNativeSizeMatters.moderateScale)(5),p:(0,_reactNativeSizeMatters.moderateScale)(0.4),__self:_this,__source:{fileName:_jsxFileName,lineNumber:417,columnNumber:17}}),onCannedResponse&&showCannedResponsesFor.includes(selectedOption)&&_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.CannedResponses,opacity:0.5,iconProps:{viewBox:"0 0 38 38",size:(0,_reactNativeSizeMatters.moderateScale)(30)},onPress:onCannedResponse,__self:_this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:21}}),_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.Attachment,opacity:0.5,onPress:onAddAttachmentsClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:434,columnNumber:17}})),_react.default.createElement(_Container.Container,{alignItems:"center",flexDirection:"row",__self:_this,__source:{fileName:_jsxFileName,lineNumber:440,columnNumber:15}},_react.default.createElement(_Button.Button,{height:(0,_reactNativeSizeMatters.moderateScale)(30),label:(_labels$selectedOptio=labels[selectedOption])!=null?_labels$selectedOptio:"",pr:0,variant:"text",RightIcon:selectedOption===OPTION_TYPES.REPLY?function(){return _react.default.createElement(_neetoIconsRn.SendPlane,{color:_theme.theme.colors.font.primary,size:(0,_reactNativeSizeMatters.moderateScale)(22),__self:_this,__source:{fileName:_jsxFileName,lineNumber:449,columnNumber:27}});}:null,disabled:shouldDisableWhenForwardAndToFieldMissing||disabled,labelStyle:{mx:(0,_reactNativeSizeMatters.moderateScale)(0)},onPress:onActionHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:441,columnNumber:17}}),showReplyMenuOptions&&isReplyOptionSelected&&_react.default.createElement(_Popover.Popover,{data:moreReplyOptions,from:_react.default.createElement(_Button.Button,{disabled:disabled,height:(0,_reactNativeSizeMatters.moderateScale)(30),label:"",p:0,variant:"text",RightIcon:function RightIcon(){return _react.default.createElement(_neetoIconsRn.Down,{color:_theme.theme.colors.background.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(22),__self:_this,__source:{fileName:_jsxFileName,lineNumber:475,columnNumber:27}});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:468,columnNumber:23}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:465,columnNumber:19}}))))));});ChatInput.displayName="ChatInput";ChatInput.propTypes={isLoading:_propTypes.default.bool,shouldShowEmailFields:_propTypes.default.bool,showReplyMenuOptions:_propTypes.default.bool,value:_propTypes.default.string,initialSelectedOption:_propTypes.default.oneOf(Object.values(OPTION_TYPES)),onOptionChange:_propTypes.default.func,onChangeText:_propTypes.default.func,onForward:_propTypes.default.func,onCannedResponse:_propTypes.default.func,toEmails:_propTypes.default.arrayOf(_propTypes.default.string),onReply:_propTypes.default.func,onAddNote:_propTypes.default.func,onAttachment:_propTypes.default.func,attachmentsCount:_propTypes.default.number,Attachments:_propTypes.default.any,showCannedResponsesFor:_propTypes.default.arrayOf(_propTypes.default.oneOf(Object.values(OPTION_TYPES))),showSuggestionsFor:_propTypes.default.arrayOf(_propTypes.default.oneOf(Object.values(OPTION_TYPES))),disabled:_propTypes.default.bool,suggestions:_propTypes.default.arrayOf(_propTypes.default.shape({name:_propTypes.default.string,imageUrl:_propTypes.default.string,id:_propTypes.default.string}))};
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ChatInput=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _react=_interopRequireWildcard(require("react"));var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _nodeHtmlParser=require("node-html-parser");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _expand=_interopRequireDefault(require("../../../assets/icons/expand.svg"));var _minimize=_interopRequireDefault(require("../../../assets/icons/minimize.svg"));var _AttachmentsView=require("./AttachmentsView");var _EmailFields=require("./EmailFields");var _IconButton=require("./IconButton");var _MentionsInputWrapper=require("./MentionsInputWrapper");var _theme=require("../../theme");var _Button=require("../Button");var _Container=require("../Container");var _LineLoader=require("../LineLoader");var _Popover=require("../Popover");var _excluded=["shouldShowEmailFields","showReplyMenuOptions","value","onChangeText","onForward","onCannedResponse","toEmails","onReply","onAddNote","onAttachment","attachmentsCount","Attachments","showCannedResponsesFor","showSuggestionsFor","disabled","isLoading","onOptionChange","initialSelectedOption","suggestions"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/ChatInput/ChatInput.jsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}function _createForOfIteratorHelperLoose(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(it)return(it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;return function(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2;}var OPTION_TYPES={REPLY:"REPLY",NOTE:"NOTE",FORWARD:"FORWARD"};var placeholders=(0,_defineProperty2.default)((0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.REPLY,"Type here to reply…"),OPTION_TYPES.NOTE,"Add note here…"),OPTION_TYPES.FORWARD,"Type here to forward…");var labels=(0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.NOTE,"Add note"),OPTION_TYPES.FORWARD,"Forward");var convertMentionsToHTMLAndPlainText=function convertMentionsToHTMLAndPlainText(_ref){var suggestions=_ref.suggestions,value=_ref.value;var mentionsRegex=new RegExp(/@\[[^)]*\)/g);var html="<p>"+value+"</p>";var plainText=value;var allMentions=html.matchAll(mentionsRegex);var _loop=function _loop(){var mention=mentionObject[0];var id=/\((.*)\)/.exec(mention)[1];var suggestion=suggestions.find(function(suggestion){return suggestion.id===id;});var rootNode=(0,_nodeHtmlParser.parse)("<span></span>");var spanNode=rootNode.querySelector("span");spanNode.setAttribute("data-type","mention");spanNode.setAttribute("data-id",id);spanNode.setAttribute("data-label",suggestion.name);spanNode.set_content("@"+suggestion.name);var rootNodeString=rootNode.toString();html=html.replace(mention,rootNodeString);var plainTextMention="@"+suggestion.name;plainText=plainText.replace(mention,plainTextMention);};for(var _iterator=_createForOfIteratorHelperLoose(allMentions),_step;!(_step=_iterator()).done;){var mentionObject=_step.value;_loop();}return{html:html,plainText:plainText};};var ChatInput=exports.ChatInput=(0,_react.forwardRef)(function(_ref2,ref){var _labels$selectedOptio;var shouldShowEmailFields=_ref2.shouldShowEmailFields,showReplyMenuOptions=_ref2.showReplyMenuOptions,_ref2$value=_ref2.value,value=_ref2$value===void 0?"":_ref2$value,_ref2$onChangeText=_ref2.onChangeText,onChangeText=_ref2$onChangeText===void 0?function(){}:_ref2$onChangeText,onForward=_ref2.onForward,onCannedResponse=_ref2.onCannedResponse,initialToEmails=_ref2.toEmails,_ref2$onReply=_ref2.onReply,onReply=_ref2$onReply===void 0?function(){}:_ref2$onReply,_ref2$onAddNote=_ref2.onAddNote,onAddNote=_ref2$onAddNote===void 0?function(){}:_ref2$onAddNote,_ref2$onAttachment=_ref2.onAttachment,onAttachment=_ref2$onAttachment===void 0?function(){}:_ref2$onAttachment,attachmentsCount=_ref2.attachmentsCount,Attachments=_ref2.Attachments,_ref2$showCannedRespo=_ref2.showCannedResponsesFor,showCannedResponsesFor=_ref2$showCannedRespo===void 0?[OPTION_TYPES.REPLY]:_ref2$showCannedRespo,_ref2$showSuggestions=_ref2.showSuggestionsFor,showSuggestionsFor=_ref2$showSuggestions===void 0?[OPTION_TYPES.NOTE]:_ref2$showSuggestions,disabled=_ref2.disabled,_ref2$isLoading=_ref2.isLoading,isLoading=_ref2$isLoading===void 0?true:_ref2$isLoading,_ref2$onOptionChange=_ref2.onOptionChange,onOptionChange=_ref2$onOptionChange===void 0?function(){}:_ref2$onOptionChange,_ref2$initialSelected=_ref2.initialSelectedOption,initialSelectedOption=_ref2$initialSelected===void 0?OPTION_TYPES.REPLY:_ref2$initialSelected,suggestions=_ref2.suggestions,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(initialSelectedOption),_useState2=(0,_slicedToArray2.default)(_useState,2),selectedOption=_useState2[0],setSelectedOption=_useState2[1];var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isEmailFieldsVisible=_useState4[0],setIsEmailFieldsVisible=_useState4[1];var _useState5=(0,_react.useState)(false),_useState6=(0,_slicedToArray2.default)(_useState5,2),isAttachmentsVisible=_useState6[0],setIsAttachmentsVisible=_useState6[1];var isReplyOptionSelected=selectedOption===OPTION_TYPES.REPLY;var isNoteOptionSelected=selectedOption===OPTION_TYPES.NOTE;var isForwardOptionSelected=selectedOption===OPTION_TYPES.FORWARD;var _useState7=(0,_react.useState)(initialToEmails!=null?initialToEmails:[]),_useState8=(0,_slicedToArray2.default)(_useState7,2),toEmails=_useState8[0],setToEmails=_useState8[1];var _useState9=(0,_react.useState)([]),_useState10=(0,_slicedToArray2.default)(_useState9,2),toEmailsForForward=_useState10[0],setToEmailsForForward=_useState10[1];var _useState11=(0,_react.useState)([]),_useState12=(0,_slicedToArray2.default)(_useState11,2),ccEmails=_useState12[0],setCcEmails=_useState12[1];var _useState13=(0,_react.useState)([]),_useState14=(0,_slicedToArray2.default)(_useState13,2),bccEmails=_useState14[0],setBccEmails=_useState14[1];var moreReplyOptions=[{label:"Send and set as closed",Icon:function Icon(){return null;},onPress:function onPress(){onReply((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails,status:"closed"},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}}];(0,_react.useImperativeHandle)(ref,function(){return{clearEmailFields:function clearEmailFields(){setToEmails(initialToEmails!=null?initialToEmails:[]);setToEmailsForForward([]);setCcEmails([]);setBccEmails([]);inputRef.current.blur();}};},[initialToEmails,isReplyOptionSelected]);(0,_react.useEffect)(function(){onOptionChange(selectedOption);},[selectedOption]);(0,_react.useEffect)(function(){setSelectedOption(initialSelectedOption);},[initialSelectedOption]);(0,_react.useEffect)(function(){setToEmails(initialToEmails!=null?initialToEmails:[]);},[initialToEmails]);var showEmailFieldsAndAttachments=function showEmailFieldsAndAttachments(){setIsAttachmentsVisible(true);!isNoteOptionSelected&&setIsEmailFieldsVisible(true);};var hideEmailFieldsAndAttachments=function hideEmailFieldsAndAttachments(){setIsAttachmentsVisible(false);setIsEmailFieldsVisible(false);};var onReplyClickHandler=function onReplyClickHandler(){hideEmailFieldsAndAttachments();inputRef.current.focus();setSelectedOption(OPTION_TYPES.REPLY);};var onAddNoteClickHandler=function onAddNoteClickHandler(){hideEmailFieldsAndAttachments();inputRef.current.focus();setIsEmailFieldsVisible(false);setSelectedOption(OPTION_TYPES.NOTE);};var onAddForwardClickHandler=function onAddForwardClickHandler(){inputRef.current.focus();setIsEmailFieldsVisible(true);setIsAttachmentsVisible(false);setSelectedOption(OPTION_TYPES.FORWARD);};var onAddAttachmentsClickHandler=function onAddAttachmentsClickHandler(){if(!isAttachmentsVisible&&attachmentsCount>0){}else{onAttachment();}setIsEmailFieldsVisible(false);setIsAttachmentsVisible(true);};var onActionHandler=(0,_react.useCallback)(function(){(0,_defineProperty2.default)((0,_defineProperty2.default)((0,_defineProperty2.default)({},OPTION_TYPES.REPLY,function(){onReply((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}),OPTION_TYPES.NOTE,function(){onAddNote((0,_extends2.default)({toEmails:toEmails,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));}),OPTION_TYPES.FORWARD,function(){onForward((0,_extends2.default)({toEmails:toEmailsForForward,ccEmails:ccEmails,bccEmails:bccEmails},convertMentionsToHTMLAndPlainText({suggestions:suggestions,value:value})));})[selectedOption]();},[bccEmails,ccEmails,onAddNote,onForward,onReply,selectedOption,suggestions,toEmails,value]);var shouldShowExpandAndMinimizeButton=attachmentsCount>0||toEmails.length>0&&!isNoteOptionSelected;var shouldDisableWhenForwardAndToFieldMissing=isForwardOptionSelected&&toEmailsForForward.length===0;return _react.default.createElement(_Container.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:314,columnNumber:7}},_react.default.createElement(_LineLoader.LineLoader,{backgroundColor:_theme.theme.colors.background.grey400,height:(0,_reactNativeSizeMatters.moderateScale)(1),isLoading:isLoading,__self:_this,__source:{fileName:_jsxFileName,lineNumber:315,columnNumber:9}}),_react.default.createElement(_Container.Container,{bg:isNoteOptionSelected?"background.oldLace":"transparent",p:(0,_reactNativeSizeMatters.moderateScale)(5),pt:0,px:(0,_reactNativeSizeMatters.moderateScale)(16),__self:_this,__source:{fileName:_jsxFileName,lineNumber:320,columnNumber:9}},_react.default.createElement(_Container.Container,{pt:(0,_reactNativeSizeMatters.moderateScale)(8),__self:_this,__source:{fileName:_jsxFileName,lineNumber:326,columnNumber:11}},_react.default.createElement(_EmailFields.EmailFields,{bccEmails:bccEmails,ccEmails:ccEmails,isEmailFieldsVisible:isEmailFieldsVisible,isForwardOptionSelected:isForwardOptionSelected,isNoteOptionSelected:isNoteOptionSelected,isReplyOptionSelected:isReplyOptionSelected,setBccEmails:setBccEmails,setCcEmails:setCcEmails,setIsEmailFieldsVisible:setIsEmailFieldsVisible,setToEmails:setToEmails,setToEmailsForForward:setToEmailsForForward,shouldShowEmailFields:shouldShowEmailFields,toEmails:toEmails,toEmailsForForward:toEmailsForForward,__self:_this,__source:{fileName:_jsxFileName,lineNumber:327,columnNumber:13}}),_react.default.createElement(_Container.Container,{flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:343,columnNumber:13}},_react.default.createElement(_MentionsInputWrapper.MentionsInputWrapper,(0,_extends2.default)({placeholder:placeholders[selectedOption],ref:inputRef,suggestions:suggestions,value:value,shouldShowSuggestions:showSuggestionsFor.includes(selectedOption),onChange:onChangeText,onTouchStart:hideEmailFieldsAndAttachments},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:344,columnNumber:15}})),shouldShowExpandAndMinimizeButton&&_react.default.createElement(_Container.Container,{alignSelf:"center",__self:_this,__source:{fileName:_jsxFileName,lineNumber:357,columnNumber:17}},isEmailFieldsVisible||isAttachmentsVisible?_react.default.createElement(_IconButton.IconButton,{Icon:_minimize.default,height:(0,_reactNativeSizeMatters.moderateScale)(30),pt:(0,_reactNativeSizeMatters.moderateScale)(8),width:(0,_reactNativeSizeMatters.moderateScale)(30),onPress:hideEmailFieldsAndAttachments,__self:_this,__source:{fileName:_jsxFileName,lineNumber:359,columnNumber:21}}):_react.default.createElement(_IconButton.IconButton,{Icon:_expand.default,height:(0,_reactNativeSizeMatters.moderateScale)(30),pt:(0,_reactNativeSizeMatters.moderateScale)(8),width:(0,_reactNativeSizeMatters.moderateScale)(30),onPress:showEmailFieldsAndAttachments,__self:_this,__source:{fileName:_jsxFileName,lineNumber:367,columnNumber:21}}))),_react.default.createElement(_AttachmentsView.AttachmentsView,{Attachments:Attachments,attachmentsCount:attachmentsCount,isAttachmentsVisible:isAttachmentsVisible,isNoteOptionSelected:isNoteOptionSelected,setIsAttachmentsVisible:setIsAttachmentsVisible,__self:_this,__source:{fileName:_jsxFileName,lineNumber:378,columnNumber:13}}),_react.default.createElement(_Container.Container,{alignItems:"center",flexDirection:"row",justifyContent:"space-between",mt:(0,_reactNativeSizeMatters.moderateScale)(10),__self:_this,__source:{fileName:_jsxFileName,lineNumber:385,columnNumber:13}},_react.default.createElement(_Container.Container,{flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:391,columnNumber:15}},_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.ChatBubble,opacity:isReplyOptionSelected?1:0.5,pl:(0,_reactNativeSizeMatters.moderateScale)(10),iconProps:{viewBox:"0 0 37 37",size:(0,_reactNativeSizeMatters.moderateScale)(30),color:isReplyOptionSelected?_theme.theme.colors.font.grey700:_theme.theme.colors.font.grey500},onPress:onReplyClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:392,columnNumber:17}}),_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.Notes,opacity:isNoteOptionSelected?1:0.5,onPress:onAddNoteClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:405,columnNumber:17}}),onForward&&_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.Forward,opacity:isForwardOptionSelected?1:0.5,onPress:onAddForwardClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:19}}),_react.default.createElement(_Container.Container,{bg:"background.grey400",mx:(0,_reactNativeSizeMatters.moderateScale)(5),p:(0,_reactNativeSizeMatters.moderateScale)(0.4),__self:_this,__source:{fileName:_jsxFileName,lineNumber:417,columnNumber:17}}),onCannedResponse&&showCannedResponsesFor.includes(selectedOption)&&_react.default.createElement(_IconButton.IconButton,{Icon:_neetoIconsRn.CannedResponses,opacity:0.5,iconProps:{viewBox:"0 0 38 38",size:(0,_reactNativeSizeMatters.moderateScale)(30)},onPress:onCannedResponse,__self:_this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:21}}),_react.default.createElement(_IconButton.IconButton,(0,_extends2.default)({},isLoading&&{iconProps:{color:"grey"}},{Icon:_neetoIconsRn.Attachment,disabled:isLoading,onPress:onAddAttachmentsClickHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:434,columnNumber:17}}))),_react.default.createElement(_Container.Container,{alignItems:"center",flexDirection:"row",__self:_this,__source:{fileName:_jsxFileName,lineNumber:443,columnNumber:15}},_react.default.createElement(_Button.Button,{height:(0,_reactNativeSizeMatters.moderateScale)(30),label:(_labels$selectedOptio=labels[selectedOption])!=null?_labels$selectedOptio:"",pr:0,variant:"text",RightIcon:selectedOption===OPTION_TYPES.REPLY?function(){return _react.default.createElement(_neetoIconsRn.SendPlane,{color:_theme.theme.colors.font.primary,size:(0,_reactNativeSizeMatters.moderateScale)(22),__self:_this,__source:{fileName:_jsxFileName,lineNumber:452,columnNumber:27}});}:null,disabled:shouldDisableWhenForwardAndToFieldMissing||disabled,labelStyle:{mx:(0,_reactNativeSizeMatters.moderateScale)(0)},onPress:onActionHandler,__self:_this,__source:{fileName:_jsxFileName,lineNumber:444,columnNumber:17}}),showReplyMenuOptions&&isReplyOptionSelected&&_react.default.createElement(_Popover.Popover,{data:moreReplyOptions,from:_react.default.createElement(_Button.Button,{disabled:disabled,height:(0,_reactNativeSizeMatters.moderateScale)(30),label:"",p:0,variant:"text",RightIcon:function RightIcon(){return _react.default.createElement(_neetoIconsRn.Down,{color:_theme.theme.colors.background.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(22),__self:_this,__source:{fileName:_jsxFileName,lineNumber:478,columnNumber:27}});},__self:_this,__source:{fileName:_jsxFileName,lineNumber:471,columnNumber:23}}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:468,columnNumber:19}}))))));});ChatInput.displayName="ChatInput";ChatInput.propTypes={isLoading:_propTypes.default.bool,shouldShowEmailFields:_propTypes.default.bool,showReplyMenuOptions:_propTypes.default.bool,value:_propTypes.default.string,initialSelectedOption:_propTypes.default.oneOf(Object.values(OPTION_TYPES)),onOptionChange:_propTypes.default.func,onChangeText:_propTypes.default.func,onForward:_propTypes.default.func,onCannedResponse:_propTypes.default.func,toEmails:_propTypes.default.arrayOf(_propTypes.default.string),onReply:_propTypes.default.func,onAddNote:_propTypes.default.func,onAttachment:_propTypes.default.func,attachmentsCount:_propTypes.default.number,Attachments:_propTypes.default.any,showCannedResponsesFor:_propTypes.default.arrayOf(_propTypes.default.oneOf(Object.values(OPTION_TYPES))),showSuggestionsFor:_propTypes.default.arrayOf(_propTypes.default.oneOf(Object.values(OPTION_TYPES))),disabled:_propTypes.default.bool,suggestions:_propTypes.default.arrayOf(_propTypes.default.shape({name:_propTypes.default.string,imageUrl:_propTypes.default.string,id:_propTypes.default.string}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.MultiSelect=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=_interopRequireWildcard(require("styled-components/native"));var _styledSystem=require("styled-system");var _=require("./");var _excluded=["options","label","value","labelExtractor","valueExtractor","onSelect","deletedValue","isLoading","isSearchable","showCreateOption","labelStyle","containerStyle","inputContainerStyle","dropdownContainerStyle","itemContainerStyle","multiSelectedItemContainerStyle","multiSelectedItemLabelStyle","selectedValue","CreateItemComponent","showCreateOptionLoader","createSearchedOptionLabelStyle","onPressCreateOption","createSearchedOptionContainerStyle","onDonePress","disabled","noResultsLabelContainerStyle","noResultsLabelStyle","noResultsLabel","NoResultsComponent","maxItemSize","moreItemLabelContainerStyle","moreItemLabelStyle","MoreItemComponent","onBackdropPress","searchBarProps","confirmationAlertObj"];var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/MultiSelect.jsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Typography=_native.default.Text(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.textStyle,_styledSystem.space,_styledSystem.layout,_styledSystem.flexbox,_styledSystem.typography,_styledSystem.color,_styledSystem.position,(0,_styledSystem.system)({textDecoration:{property:"textDecoration",cssProperty:"textDecoration"},textTransform:{property:"textTransform",cssProperty:"textTransform"}}));var MultiSelectItem=function MultiSelectItem(_ref){var label=_ref.label,onUnselect=_ref.onUnselect,multiSelectedItemContainerStyle=_ref.multiSelectedItemContainerStyle,multiSelectedItemLabelStyle=_ref.multiSelectedItemLabelStyle,disabled=_ref.disabled,_ref$confirmationAler=_ref.confirmationAlertObj,confirmationAlertObj=_ref$confirmationAler===void 0?{}:_ref$confirmationAler;var theme=(0,_react.useContext)(_native.ThemeContext);var _confirmationAlertObj=confirmationAlertObj.alertTitle,alertTitle=_confirmationAlertObj===void 0?"Delete tag":_confirmationAlertObj,_confirmationAlertObj2=confirmationAlertObj.alertDescription,alertDescription=_confirmationAlertObj2===void 0?"Are you sure you want to delete tag: "+label+"? This action cannot be undone.":_confirmationAlertObj2,_confirmationAlertObj3=confirmationAlertObj.alertConfirmButtonLabel,alertConfirmButtonLabel=_confirmationAlertObj3===void 0?"Proceed":_confirmationAlertObj3,_confirmationAlertObj4=confirmationAlertObj.showDeleteAlertConfirmation,showDeleteAlertConfirmation=_confirmationAlertObj4===void 0?true:_confirmationAlertObj4;var handleItemUnSelection=function handleItemUnSelection(){showDeleteAlertConfirmation?_.Alert.show({title:alertTitle,description:alertDescription,buttons:[{label:alertConfirmButtonLabel,variant:"danger",onPress:function onPress(){onUnselect();}},{label:"Cancel",onPress:function onPress(){}}]}):onUnselect();};return _react.default.createElement(_.Container,(0,_extends2.default)({alignItems:"center",bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),flexDirection:"row",justifyContent:"space-between",mr:(0,_reactNativeSizeMatters.moderateScale)(4),mt:(0,_reactNativeSizeMatters.moderateScale)(4),px:(0,_reactNativeSizeMatters.moderateScale)(10),py:(0,_reactNativeSizeMatters.moderateScale)(4)},multiSelectedItemContainerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:83,columnNumber:5}}),_react.default.createElement(Typography,(0,_extends2.default)({color:"font.grey800",fontFamily:"sf400",fontSize:"s",mr:(0,_reactNativeSizeMatters.moderateScale)(2)},multiSelectedItemLabelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:95,columnNumber:7}}),label),!disabled&&_react.default.createElement(_reactNative.TouchableWithoutFeedback,{disabled:disabled,onPress:handleItemUnSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:9}},_react.default.createElement(_neetoIconsRn.Close,{color:theme.colors.font.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(18),viewBox:"0 0 25 20",__self:_this,__source:{fileName:_jsxFileName,lineNumber:109,columnNumber:11}})));};MultiSelectItem.propTypes={label:_propTypes.default.string,onUnselect:_propTypes.default.func,multiSelectedItemContainerStyle:_propTypes.default.object,multiSelectedItemLabelStyle:_propTypes.default.object,disabled:_propTypes.default.bool,confirmationAlertObj:_propTypes.default.object};var AnimatedLabel=_reactNativeReanimated.default.createAnimatedComponent(Typography);var MultiSelect=exports.MultiSelect=function MultiSelect(_ref2){var options=_ref2.options,label=_ref2.label,value=_ref2.value,labelExtractor=_ref2.labelExtractor,valueExtractor=_ref2.valueExtractor,onSelect=_ref2.onSelect,deletedValue=_ref2.deletedValue,isLoading=_ref2.isLoading,isSearchable=_ref2.isSearchable,showCreateOption=_ref2.showCreateOption,labelStyle=_ref2.labelStyle,containerStyle=_ref2.containerStyle,inputContainerStyle=_ref2.inputContainerStyle,dropdownContainerStyle=_ref2.dropdownContainerStyle,itemContainerStyle=_ref2.itemContainerStyle,multiSelectedItemContainerStyle=_ref2.multiSelectedItemContainerStyle,multiSelectedItemLabelStyle=_ref2.multiSelectedItemLabelStyle,selectedValue=_ref2.selectedValue,CreateItemComponent=_ref2.CreateItemComponent,showCreateOptionLoader=_ref2.showCreateOptionLoader,createSearchedOptionLabelStyle=_ref2.createSearchedOptionLabelStyle,onPressCreateOption=_ref2.onPressCreateOption,createSearchedOptionContainerStyle=_ref2.createSearchedOptionContainerStyle,onDonePress=_ref2.onDonePress,disabled=_ref2.disabled,noResultsLabelContainerStyle=_ref2.noResultsLabelContainerStyle,noResultsLabelStyle=_ref2.noResultsLabelStyle,noResultsLabel=_ref2.noResultsLabel,NoResultsComponent=_ref2.NoResultsComponent,maxItemSize=_ref2.maxItemSize,moreItemLabelContainerStyle=_ref2.moreItemLabelContainerStyle,moreItemLabelStyle=_ref2.moreItemLabelStyle,MoreItemComponent=_ref2.MoreItemComponent,onBackdropPress=_ref2.onBackdropPress,searchBarProps=_ref2.searchBarProps,confirmationAlertObj=_ref2.confirmationAlertObj,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var theme=(0,_react.useContext)(_native.ThemeContext);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),showDropdown=_useState2[0],setShowDropdown=_useState2[1];var _useState3=(0,_react.useState)(""),_useState4=(0,_slicedToArray2.default)(_useState3,2),searchQuery=_useState4[0],setSearchQuery=_useState4[1];var dropdownAnimatedHeight=(0,_reactNativeReanimated.useSharedValue)(0);var animatedLabelValue=(0,_reactNativeReanimated.useSharedValue)(0);var formatStr=function formatStr(str){var _str$toLowerCase;return str==null?void 0:(_str$toLowerCase=str.toLowerCase())==null?void 0:_str$toLowerCase.trim();};var filteredOptions=options.filter(function(item,index){var optionValue=valueExtractor(item,index);var isItemAlreadySelected=Boolean(value==null?void 0:value.find(function(selectedItem){return valueExtractor(selectedItem)===optionValue;}));return!isItemAlreadySelected;}).filter(function(item,index){var optionLabel=labelExtractor(item,index);if(searchQuery.length===0)return true;return formatStr(optionLabel).includes(formatStr(searchQuery));});var isOptionsEmpty=!options||(options==null?void 0:options.length)===0;var isSearchedOptionsEmpty=searchQuery.length>0&&filteredOptions.length===0;var emptyOptionsPlaceholderHeight=(0,_reactNativeSizeMatters.moderateScale)(40);var emptySearchedOptionsHeight=(0,_reactNativeSizeMatters.moderateScale)(40);var searchInputHeight=(0,_reactNativeSizeMatters.moderateScale)(35);var multipleOptionsSelected=(value==null?void 0:value.length)>0;var defaultDropdownItemHeight=(itemContainerStyle==null?void 0:itemContainerStyle.height)||(0,_reactNativeSizeMatters.moderateScale)(32);var dropdownHeight=(dropdownContainerStyle==null?void 0:dropdownContainerStyle.height)||(dropdownContainerStyle==null?void 0:dropdownContainerStyle.maxHeight)||defaultDropdownItemHeight*Math.min(filteredOptions==null?void 0:filteredOptions.length,6)+(isSearchable?searchInputHeight+(0,_reactNativeSizeMatters.moderateScale)(10):0)+(isOptionsEmpty&&!(isSearchedOptionsEmpty&&showCreateOption)?emptyOptionsPlaceholderHeight:0)+(isSearchedOptionsEmpty&&showCreateOption?emptySearchedOptionsHeight:0);var getValue=function getValue(item,index){return(item==null?void 0:item.value)||valueExtractor(item,index)||item;};var getLabel=function getLabel(item,index){return(item==null?void 0:item.label)||labelExtractor(item,index)||item;};var handleCheckbox=function handleCheckbox(item){var oldData=(0,_toConsumableArray2.default)(value);var index=value.findIndex(function(data,index){return getValue(data,index)===getValue(item);});if(index===-1){oldData.push(item);}else{oldData.splice(index,1);}onSelect(oldData);};var CheckBoxContent=function CheckBoxContent(_ref3){var onPress=_ref3.onPress,item=_ref3.item,index=_ref3.index;var itemIndex=value.findIndex(function(data,i){return getValue(data,i)===getValue(item,index);});return _react.default.createElement(_.CheckBox,{checked:itemIndex!==-1,disabled:disabled,label:(item==null?void 0:item.label)||labelExtractor(item,index)||item,onSelect:onPress,__self:_this,__source:{fileName:_jsxFileName,lineNumber:285,columnNumber:7}});};var handleOpenDropdown=function handleOpenDropdown(){_reactNative.Keyboard.dismiss();setSearchQuery("");if(!showDropdown){setShowDropdown(true);}if(showDropdown){dropdownAnimatedHeight.value=0;}};var handleUnSelection=function handleUnSelection(item){var newValue=value.filter(function(selectedItem){return valueExtractor(selectedItem)!==valueExtractor(item);});onSelect(newValue);deletedValue(item);};(0,_react.useEffect)(function(){animatedLabelValue.value=(0,_reactNativeReanimated.withTiming)(value.length||showDropdown?1:0,{duration:250});},[value,showDropdown]);(0,_react.useEffect)(function(){if(showDropdown){dropdownAnimatedHeight.value=dropdownHeight;}},[showDropdown,dropdownHeight]);CheckBoxContent.propTypes={onPress:_propTypes.default.func,item:_propTypes.default.object,index:_propTypes.default.number};var animatedStyles=(0,_reactNativeReanimated.useAnimatedStyle)(function(){return{top:(0,_reactNativeReanimated.interpolate)(animatedLabelValue.value,[0,1],[7,-5]),fontSize:(0,_reactNativeReanimated.interpolate)(animatedLabelValue.value,[0,1],[17,13])};});var OpenCloseIcon=showDropdown?_neetoIconsRn.Up:_neetoIconsRn.Down;return _react.default.createElement(_.Container,(0,_extends2.default)({},containerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:343,columnNumber:5}}),_react.default.createElement(_reactNative.TouchableWithoutFeedback,{disabled:isLoading,onPress:handleOpenDropdown,__self:_this,__source:{fileName:_jsxFileName,lineNumber:344,columnNumber:7}},_react.default.createElement(_.Container,(0,_extends2.default)({borderColor:showDropdown?"border.base":"border.grey400",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),borderWidth:(0,_reactNativeSizeMatters.moderateScale)(1),minHeight:(0,_reactNativeSizeMatters.moderateScale)(58),p:(0,_reactNativeSizeMatters.moderateScale)(10),pr:(0,_reactNativeSizeMatters.moderateScale)(8),pt:(0,_reactNativeSizeMatters.moderateScale)(12)},inputContainerStyle,rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:348,columnNumber:9}}),_react.default.createElement(_.Container,{alignItems:"center",flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:359,columnNumber:11}},_react.default.createElement(AnimatedLabel,{color:"font.grey600",position:"absolute",zIndex:1,style:[animatedStyles,(0,_extends2.default)({marginLeft:(0,_reactNativeSizeMatters.moderateScale)(2)},labelStyle)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:364,columnNumber:13}},label),!multipleOptionsSelected&&_react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:375,columnNumber:42}}),multipleOptionsSelected&&_react.default.createElement(_.Container,{flexDirection:"row",flexWrap:"wrap",maxWidth:"85%",mt:(0,_reactNativeSizeMatters.moderateScale)(16),onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},__self:_this,__source:{fileName:_jsxFileName,lineNumber:377,columnNumber:15}},value==null?void 0:value.slice(0,maxItemSize).map(function(item,index){return _react.default.createElement(MultiSelectItem,{confirmationAlertObj:confirmationAlertObj,disabled:disabled,key:index,label:getLabel(item),multiSelectedItemLabelStyle:multiSelectedItemLabelStyle,multiSelectedItemContainerStyle:multiSelectedItemContainerStyle,onUnselect:function onUnselect(){return handleUnSelection(item);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:385,columnNumber:19}});}),(value==null?void 0:value.length)>maxItemSize&&(!MoreItemComponent?_react.default.createElement(_.Container,(0,_extends2.default)({alignItems:"center",bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),flexDirection:"row",justifyContent:"space-between",mr:(0,_reactNativeSizeMatters.moderateScale)(4),mt:(0,_reactNativeSizeMatters.moderateScale)(4),px:(0,_reactNativeSizeMatters.moderateScale)(10),py:(0,_reactNativeSizeMatters.moderateScale)(4)},moreItemLabelContainerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:399,columnNumber:21}}),_react.default.createElement(Typography,(0,_extends2.default)({},moreItemLabelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:411,columnNumber:23}}),"+",(value==null?void 0:value.length)-maxItemSize," More")):_react.default.createElement(MoreItemComponent,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:416,columnNumber:21}}))),_react.default.createElement(_.Container,{mt:(0,_reactNativeSizeMatters.moderateScale)(10),__self:_this,__source:{fileName:_jsxFileName,lineNumber:420,columnNumber:13}},isLoading?_react.default.createElement(_.Loader,{color:theme.colors.background.base,__self:_this,__source:{fileName:_jsxFileName,lineNumber:422,columnNumber:17}}):_react.default.createElement(OpenCloseIcon,{color:"grey",size:(0,_reactNativeSizeMatters.moderateScale)(20),__self:_this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:17}}))))),_react.default.createElement(_.BottomSheet,{ContentRow:CheckBoxContent,CreateItemComponent:CreateItemComponent,NoResultsComponent:NoResultsComponent,canSearch:isSearchable,contentType:"checkbox",createSearchedOptionContainerStyle:createSearchedOptionContainerStyle,createSearchedOptionLabelStyle:createSearchedOptionLabelStyle,data:options,disabled:disabled,hide:function hide(){return setShowDropdown(false);},isVisible:showDropdown,labelExtractor:labelExtractor,noResultsLabel:noResultsLabel,noResultsLabelContainerStyle:noResultsLabelContainerStyle,noResultsLabelStyle:noResultsLabelStyle,searchBarProps:searchBarProps,showCreateOption:showCreateOption,showCreateOptionLoader:showCreateOptionLoader,title:label,valueExtractor:valueExtractor,onBackdropPress:onBackdropPress,onDonePress:onDonePress,onPressCreateOption:onPressCreateOption,onItemPress:function onItemPress(_ref4){var item=_ref4.item;handleCheckbox(item);selectedValue(item);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:430,columnNumber:7}}));};MultiSelect.propTypes={label:_propTypes.default.string,options:_propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string),_propTypes.default.arrayOf(_propTypes.default.object)]),labelExtractor:_propTypes.default.func,valueExtractor:_propTypes.default.func,value:_propTypes.default.oneOfType([_propTypes.default.string,_propTypes.default.array]),onSelect:_propTypes.default.func,selectedValue:_propTypes.default.func,deletedValue:_propTypes.default.func,isLoading:_propTypes.default.bool,isSearchable:_propTypes.default.bool,onDonePress:_propTypes.default.func,showCreateOption:_propTypes.default.bool,showCreateOptionLoader:_propTypes.default.bool,onPressCreateOption:_propTypes.default.func,labelStyle:_propTypes.default.object,containerStyle:_propTypes.default.object,inputContainerStyle:_propTypes.default.object,dropdownContainerStyle:_propTypes.default.object,itemContainerStyle:_propTypes.default.object,multiSelectedItemContainerStyle:_propTypes.default.object,multiSelectedItemLabelStyle:_propTypes.default.object,confirmationAlertObj:_propTypes.default.object,createSearchedOptionContainerStyle:_propTypes.default.object,createSearchedOptionLabelStyle:_propTypes.default.object,CreateItemComponent:_propTypes.default.func,disabled:_propTypes.default.bool,noResultsLabelContainerStyle:_propTypes.default.object,noResultsLabelStyle:_propTypes.default.object,noResultsLabel:_propTypes.default.string,NoResultsComponent:_propTypes.default.node,maxItemSize:_propTypes.default.number,moreItemLabelContainerStyle:_propTypes.default.object,moreItemLabelStyle:_propTypes.default.object,MoreItemComponent:_propTypes.default.node,onBackdropPress:_propTypes.default.func,searchBarProps:_propTypes.default.object};MultiSelect.defaultProps={label:null,labelExtractor:function labelExtractor(option){return option==null?void 0:option.label;},valueExtractor:function valueExtractor(option){return option==null?void 0:option.value;},value:null,onSelect:function onSelect(){},selectedValue:function selectedValue(){},deletedValue:function deletedValue(){},isLoading:false,isSearchable:false,showCreateOption:false,showCreateOptionLoader:false,onPressCreateOption:function onPressCreateOption(){},onDonePress:function onDonePress(){},maxItemSize:5,onBackdropPress:function onBackdropPress(){},searchBarProps:{},confirmationAlertObj:{}};
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.MultiSelect=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _neetoIconsRn=require("@bigbinary/neeto-icons-rn");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _reactNativeSizeMatters=require("react-native-size-matters");var _native=_interopRequireWildcard(require("styled-components/native"));var _styledSystem=require("styled-system");var _Alert=require("./Alert");var _BottomSheet=require("./BottomSheet");var _CheckBox=require("./CheckBox");var _Container=require("./Container");var _Loader=require("./Loader");var _excluded=["options","label","value","labelExtractor","valueExtractor","onSelect","deletedValue","isLoading","isSearchable","showCreateOption","labelStyle","containerStyle","inputContainerStyle","dropdownContainerStyle","itemContainerStyle","multiSelectedItemContainerStyle","multiSelectedItemLabelStyle","selectedValue","CreateItemComponent","showCreateOptionLoader","createSearchedOptionLabelStyle","onPressCreateOption","createSearchedOptionContainerStyle","onDonePress","disabled","noResultsLabelContainerStyle","noResultsLabelStyle","noResultsLabel","NoResultsComponent","maxItemSize","moreItemLabelContainerStyle","moreItemLabelStyle","MoreItemComponent","onBackdropPress","searchBarProps","confirmationAlertObj"];var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/MultiSelect.jsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var Typography=_native.default.Text(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.textStyle,_styledSystem.space,_styledSystem.layout,_styledSystem.flexbox,_styledSystem.typography,_styledSystem.color,_styledSystem.position,(0,_styledSystem.system)({textDecoration:{property:"textDecoration",cssProperty:"textDecoration"},textTransform:{property:"textTransform",cssProperty:"textTransform"}}));var MultiSelectItem=function MultiSelectItem(_ref){var label=_ref.label,onUnselect=_ref.onUnselect,multiSelectedItemContainerStyle=_ref.multiSelectedItemContainerStyle,multiSelectedItemLabelStyle=_ref.multiSelectedItemLabelStyle,disabled=_ref.disabled,_ref$confirmationAler=_ref.confirmationAlertObj,confirmationAlertObj=_ref$confirmationAler===void 0?{}:_ref$confirmationAler;var theme=(0,_react.useContext)(_native.ThemeContext);var _confirmationAlertObj=confirmationAlertObj.alertTitle,alertTitle=_confirmationAlertObj===void 0?"Delete tag":_confirmationAlertObj,_confirmationAlertObj2=confirmationAlertObj.alertDescription,alertDescription=_confirmationAlertObj2===void 0?"Are you sure you want to delete tag: "+label+"? This action cannot be undone.":_confirmationAlertObj2,_confirmationAlertObj3=confirmationAlertObj.alertConfirmButtonLabel,alertConfirmButtonLabel=_confirmationAlertObj3===void 0?"Proceed":_confirmationAlertObj3,_confirmationAlertObj4=confirmationAlertObj.showDeleteAlertConfirmation,showDeleteAlertConfirmation=_confirmationAlertObj4===void 0?true:_confirmationAlertObj4;var handleItemUnSelection=function handleItemUnSelection(){showDeleteAlertConfirmation?_Alert.Alert.show({title:alertTitle,description:alertDescription,buttons:[{label:alertConfirmButtonLabel,variant:"danger",onPress:function onPress(){onUnselect();}},{label:"Cancel",onPress:function onPress(){}}]}):onUnselect();};return _react.default.createElement(_Container.Container,(0,_extends2.default)({alignItems:"center",bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),flexDirection:"row",justifyContent:"space-between",mr:(0,_reactNativeSizeMatters.moderateScale)(4),mt:(0,_reactNativeSizeMatters.moderateScale)(4),px:(0,_reactNativeSizeMatters.moderateScale)(10),py:(0,_reactNativeSizeMatters.moderateScale)(4)},multiSelectedItemContainerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:87,columnNumber:5}}),_react.default.createElement(Typography,(0,_extends2.default)({color:"font.grey800",fontFamily:"sf400",fontSize:"s",mr:(0,_reactNativeSizeMatters.moderateScale)(2)},multiSelectedItemLabelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:99,columnNumber:7}}),label),!disabled&&_react.default.createElement(_reactNative.TouchableWithoutFeedback,{disabled:disabled,onPress:handleItemUnSelection,__self:_this,__source:{fileName:_jsxFileName,lineNumber:109,columnNumber:9}},_react.default.createElement(_neetoIconsRn.Close,{color:theme.colors.font.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(18),viewBox:"0 0 25 20",__self:_this,__source:{fileName:_jsxFileName,lineNumber:113,columnNumber:11}})));};MultiSelectItem.propTypes={label:_propTypes.default.string,onUnselect:_propTypes.default.func,multiSelectedItemContainerStyle:_propTypes.default.object,multiSelectedItemLabelStyle:_propTypes.default.object,disabled:_propTypes.default.bool,confirmationAlertObj:_propTypes.default.object};var AnimatedLabel=_reactNativeReanimated.default.createAnimatedComponent(Typography);var MultiSelect=exports.MultiSelect=function MultiSelect(_ref2){var options=_ref2.options,label=_ref2.label,value=_ref2.value,labelExtractor=_ref2.labelExtractor,valueExtractor=_ref2.valueExtractor,onSelect=_ref2.onSelect,deletedValue=_ref2.deletedValue,isLoading=_ref2.isLoading,isSearchable=_ref2.isSearchable,showCreateOption=_ref2.showCreateOption,labelStyle=_ref2.labelStyle,containerStyle=_ref2.containerStyle,inputContainerStyle=_ref2.inputContainerStyle,dropdownContainerStyle=_ref2.dropdownContainerStyle,itemContainerStyle=_ref2.itemContainerStyle,multiSelectedItemContainerStyle=_ref2.multiSelectedItemContainerStyle,multiSelectedItemLabelStyle=_ref2.multiSelectedItemLabelStyle,selectedValue=_ref2.selectedValue,CreateItemComponent=_ref2.CreateItemComponent,showCreateOptionLoader=_ref2.showCreateOptionLoader,createSearchedOptionLabelStyle=_ref2.createSearchedOptionLabelStyle,onPressCreateOption=_ref2.onPressCreateOption,createSearchedOptionContainerStyle=_ref2.createSearchedOptionContainerStyle,onDonePress=_ref2.onDonePress,disabled=_ref2.disabled,noResultsLabelContainerStyle=_ref2.noResultsLabelContainerStyle,noResultsLabelStyle=_ref2.noResultsLabelStyle,noResultsLabel=_ref2.noResultsLabel,NoResultsComponent=_ref2.NoResultsComponent,maxItemSize=_ref2.maxItemSize,moreItemLabelContainerStyle=_ref2.moreItemLabelContainerStyle,moreItemLabelStyle=_ref2.moreItemLabelStyle,MoreItemComponent=_ref2.MoreItemComponent,onBackdropPress=_ref2.onBackdropPress,searchBarProps=_ref2.searchBarProps,confirmationAlertObj=_ref2.confirmationAlertObj,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var theme=(0,_react.useContext)(_native.ThemeContext);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),showDropdown=_useState2[0],setShowDropdown=_useState2[1];var _useState3=(0,_react.useState)(""),_useState4=(0,_slicedToArray2.default)(_useState3,2),searchQuery=_useState4[0],setSearchQuery=_useState4[1];var dropdownAnimatedHeight=(0,_reactNativeReanimated.useSharedValue)(0);var animatedLabelValue=(0,_reactNativeReanimated.useSharedValue)(0);var formatStr=function formatStr(str){var _str$toLowerCase;return str==null?void 0:(_str$toLowerCase=str.toLowerCase())==null?void 0:_str$toLowerCase.trim();};var filteredOptions=options.filter(function(item,index){var optionValue=valueExtractor(item,index);var isItemAlreadySelected=Boolean(value==null?void 0:value.find(function(selectedItem){return valueExtractor(selectedItem)===optionValue;}));return!isItemAlreadySelected;}).filter(function(item,index){var optionLabel=labelExtractor(item,index);if(searchQuery.length===0)return true;return formatStr(optionLabel).includes(formatStr(searchQuery));});var isOptionsEmpty=!options||(options==null?void 0:options.length)===0;var isSearchedOptionsEmpty=searchQuery.length>0&&filteredOptions.length===0;var emptyOptionsPlaceholderHeight=(0,_reactNativeSizeMatters.moderateScale)(40);var emptySearchedOptionsHeight=(0,_reactNativeSizeMatters.moderateScale)(40);var searchInputHeight=(0,_reactNativeSizeMatters.moderateScale)(35);var multipleOptionsSelected=(value==null?void 0:value.length)>0;var defaultDropdownItemHeight=(itemContainerStyle==null?void 0:itemContainerStyle.height)||(0,_reactNativeSizeMatters.moderateScale)(32);var dropdownHeight=(dropdownContainerStyle==null?void 0:dropdownContainerStyle.height)||(dropdownContainerStyle==null?void 0:dropdownContainerStyle.maxHeight)||defaultDropdownItemHeight*Math.min(filteredOptions==null?void 0:filteredOptions.length,6)+(isSearchable?searchInputHeight+(0,_reactNativeSizeMatters.moderateScale)(10):0)+(isOptionsEmpty&&!(isSearchedOptionsEmpty&&showCreateOption)?emptyOptionsPlaceholderHeight:0)+(isSearchedOptionsEmpty&&showCreateOption?emptySearchedOptionsHeight:0);var getValue=function getValue(item,index){return(item==null?void 0:item.value)||valueExtractor(item,index)||item;};var getLabel=function getLabel(item,index){return(item==null?void 0:item.label)||labelExtractor(item,index)||item;};var handleCheckbox=function handleCheckbox(item){var oldData=(0,_toConsumableArray2.default)(value);var index=value.findIndex(function(data,index){return getValue(data,index)===getValue(item);});if(index===-1){oldData.push(item);}else{oldData.splice(index,1);}onSelect(oldData);};var CheckBoxContent=function CheckBoxContent(_ref3){var onPress=_ref3.onPress,item=_ref3.item,index=_ref3.index;var itemIndex=value.findIndex(function(data,i){return getValue(data,i)===getValue(item,index);});return _react.default.createElement(_CheckBox.CheckBox,{checked:itemIndex!==-1,disabled:disabled,label:(item==null?void 0:item.label)||labelExtractor(item,index)||item,onSelect:onPress,__self:_this,__source:{fileName:_jsxFileName,lineNumber:289,columnNumber:7}});};var handleOpenDropdown=function handleOpenDropdown(){_reactNative.Keyboard.dismiss();setSearchQuery("");if(!showDropdown){setShowDropdown(true);}if(showDropdown){dropdownAnimatedHeight.value=0;}};var handleUnSelection=function handleUnSelection(item){var newValue=value.filter(function(selectedItem){return valueExtractor(selectedItem)!==valueExtractor(item);});onSelect(newValue);deletedValue(item);};(0,_react.useEffect)(function(){animatedLabelValue.value=(0,_reactNativeReanimated.withTiming)(value.length||showDropdown?1:0,{duration:250});},[value,showDropdown]);(0,_react.useEffect)(function(){if(showDropdown){dropdownAnimatedHeight.value=dropdownHeight;}},[showDropdown,dropdownHeight]);CheckBoxContent.propTypes={onPress:_propTypes.default.func,item:_propTypes.default.object,index:_propTypes.default.number};var animatedStyles=(0,_reactNativeReanimated.useAnimatedStyle)(function(){return{top:(0,_reactNativeReanimated.interpolate)(animatedLabelValue.value,[0,1],[7,-5]),fontSize:(0,_reactNativeReanimated.interpolate)(animatedLabelValue.value,[0,1],[17,13])};});var OpenCloseIcon=showDropdown?_neetoIconsRn.Up:_neetoIconsRn.Down;return _react.default.createElement(_Container.Container,(0,_extends2.default)({},containerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:347,columnNumber:5}}),_react.default.createElement(_reactNative.TouchableWithoutFeedback,{disabled:isLoading,onPress:handleOpenDropdown,__self:_this,__source:{fileName:_jsxFileName,lineNumber:348,columnNumber:7}},_react.default.createElement(_Container.Container,(0,_extends2.default)({borderColor:showDropdown?"border.base":"border.grey400",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),borderWidth:(0,_reactNativeSizeMatters.moderateScale)(1),minHeight:(0,_reactNativeSizeMatters.moderateScale)(58),p:(0,_reactNativeSizeMatters.moderateScale)(10),pr:(0,_reactNativeSizeMatters.moderateScale)(8),pt:(0,_reactNativeSizeMatters.moderateScale)(12)},inputContainerStyle,rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:352,columnNumber:9}}),_react.default.createElement(_Container.Container,{alignItems:"center",flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:363,columnNumber:11}},_react.default.createElement(AnimatedLabel,{color:"font.grey600",position:"absolute",zIndex:1,style:[animatedStyles,(0,_extends2.default)({marginLeft:(0,_reactNativeSizeMatters.moderateScale)(2)},labelStyle)],__self:_this,__source:{fileName:_jsxFileName,lineNumber:368,columnNumber:13}},label),!multipleOptionsSelected&&_react.default.createElement(_Container.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:379,columnNumber:42}}),multipleOptionsSelected&&_react.default.createElement(_Container.Container,{flexDirection:"row",flexWrap:"wrap",maxWidth:"85%",mt:(0,_reactNativeSizeMatters.moderateScale)(16),onStartShouldSetResponder:function onStartShouldSetResponder(){return true;},__self:_this,__source:{fileName:_jsxFileName,lineNumber:381,columnNumber:15}},value==null?void 0:value.slice(0,maxItemSize).map(function(item,index){return _react.default.createElement(MultiSelectItem,{confirmationAlertObj:confirmationAlertObj,disabled:disabled,key:index,label:getLabel(item),multiSelectedItemLabelStyle:multiSelectedItemLabelStyle,multiSelectedItemContainerStyle:multiSelectedItemContainerStyle,onUnselect:function onUnselect(){return handleUnSelection(item);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:389,columnNumber:19}});}),(value==null?void 0:value.length)>maxItemSize&&(!MoreItemComponent?_react.default.createElement(_Container.Container,(0,_extends2.default)({alignItems:"center",bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(12),flexDirection:"row",justifyContent:"space-between",mr:(0,_reactNativeSizeMatters.moderateScale)(4),mt:(0,_reactNativeSizeMatters.moderateScale)(4),px:(0,_reactNativeSizeMatters.moderateScale)(10),py:(0,_reactNativeSizeMatters.moderateScale)(4)},moreItemLabelContainerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:403,columnNumber:21}}),_react.default.createElement(Typography,(0,_extends2.default)({},moreItemLabelStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:415,columnNumber:23}}),"+",(value==null?void 0:value.length)-maxItemSize," More")):_react.default.createElement(MoreItemComponent,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:420,columnNumber:21}}))),_react.default.createElement(_Container.Container,{mt:(0,_reactNativeSizeMatters.moderateScale)(10),__self:_this,__source:{fileName:_jsxFileName,lineNumber:424,columnNumber:13}},isLoading?_react.default.createElement(_Loader.Loader,{color:theme.colors.background.base,__self:_this,__source:{fileName:_jsxFileName,lineNumber:426,columnNumber:17}}):_react.default.createElement(OpenCloseIcon,{color:theme.colors.background.grey800,size:(0,_reactNativeSizeMatters.moderateScale)(20),__self:_this,__source:{fileName:_jsxFileName,lineNumber:428,columnNumber:17}}))))),_react.default.createElement(_BottomSheet.BottomSheet,{ContentRow:CheckBoxContent,CreateItemComponent:CreateItemComponent,NoResultsComponent:NoResultsComponent,canSearch:isSearchable,contentType:"checkbox",createSearchedOptionContainerStyle:createSearchedOptionContainerStyle,createSearchedOptionLabelStyle:createSearchedOptionLabelStyle,data:options,disabled:disabled,hide:function hide(){return setShowDropdown(false);},isVisible:showDropdown,labelExtractor:labelExtractor,noResultsLabel:noResultsLabel,noResultsLabelContainerStyle:noResultsLabelContainerStyle,noResultsLabelStyle:noResultsLabelStyle,searchBarProps:searchBarProps,showCreateOption:showCreateOption,showCreateOptionLoader:showCreateOptionLoader,title:label,valueExtractor:valueExtractor,onBackdropPress:onBackdropPress,onDonePress:onDonePress,onPressCreateOption:onPressCreateOption,onItemPress:function onItemPress(_ref4){var item=_ref4.item;handleCheckbox(item);selectedValue(item);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:437,columnNumber:7}}));};MultiSelect.propTypes={label:_propTypes.default.string,options:_propTypes.default.oneOfType([_propTypes.default.arrayOf(_propTypes.default.string),_propTypes.default.arrayOf(_propTypes.default.object)]),labelExtractor:_propTypes.default.func,valueExtractor:_propTypes.default.func,value:_propTypes.default.oneOfType([_propTypes.default.string,_propTypes.default.array]),onSelect:_propTypes.default.func,selectedValue:_propTypes.default.func,deletedValue:_propTypes.default.func,isLoading:_propTypes.default.bool,isSearchable:_propTypes.default.bool,onDonePress:_propTypes.default.func,showCreateOption:_propTypes.default.bool,showCreateOptionLoader:_propTypes.default.bool,onPressCreateOption:_propTypes.default.func,labelStyle:_propTypes.default.object,containerStyle:_propTypes.default.object,inputContainerStyle:_propTypes.default.object,dropdownContainerStyle:_propTypes.default.object,itemContainerStyle:_propTypes.default.object,multiSelectedItemContainerStyle:_propTypes.default.object,multiSelectedItemLabelStyle:_propTypes.default.object,confirmationAlertObj:_propTypes.default.object,createSearchedOptionContainerStyle:_propTypes.default.object,createSearchedOptionLabelStyle:_propTypes.default.object,CreateItemComponent:_propTypes.default.func,disabled:_propTypes.default.bool,noResultsLabelContainerStyle:_propTypes.default.object,noResultsLabelStyle:_propTypes.default.object,noResultsLabel:_propTypes.default.string,NoResultsComponent:_propTypes.default.node,maxItemSize:_propTypes.default.number,moreItemLabelContainerStyle:_propTypes.default.object,moreItemLabelStyle:_propTypes.default.object,MoreItemComponent:_propTypes.default.node,onBackdropPress:_propTypes.default.func,searchBarProps:_propTypes.default.object};MultiSelect.defaultProps={label:null,labelExtractor:function labelExtractor(option){return option==null?void 0:option.label;},valueExtractor:function valueExtractor(option){return option==null?void 0:option.value;},value:null,onSelect:function onSelect(){},selectedValue:function selectedValue(){},deletedValue:function deletedValue(){},isLoading:false,isSearchable:false,showCreateOption:false,showCreateOptionLoader:false,onPressCreateOption:function onPressCreateOption(){},onDonePress:function onDonePress(){},maxItemSize:5,onBackdropPress:function onBackdropPress(){},searchBarProps:{},confirmationAlertObj:{}};
|