{"version":3,"sources":["webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/@paypalcorp/pp-react-address-input/dist/@paypalcorp/pp-react-address-input.esm.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/@paypalcorp/pp-react-combobox/dist/@paypalcorp/pp-react-combobox.esm.js","webpack:////home/jenkins/agent/workspace/rAlWnROk32481EutLuZS/node_modules/@paypalcorp/pp-react-auto-suggest/dist/@paypalcorp/pp-react-auto-suggest.esm.js"],"names":["_templateObject","_templateObject2","_templateObject3","styles","tokens","arguments","length","undefined","sysColorBackgroundMediumContrast","sysSpaceXs","suggestionListFooter","googleLogo","googleAddressSecondaryText","GoogleAddressSuggestion","_ref","_ref$mainText","mainText","_ref$secondaryText","secondaryText","query","className","_styles","highlightedMainText","highlightMatch","dangerouslySetInnerHTML","__html","_ref2","css","GoogleFooter","_ref$domain","domain","src","concat","alt","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","source","forEach","key","getOwnPropertyDescriptors","defineProperties","defineProperty","renderGoogleAddressSuggestion","suggestion","createElement","AddressInputUtils","useValidate","getAddress","onValidate","validate","region","requiredFieldErrorText","invalidFieldErrorText","intlContext","validator","addressFormatter","addressRegion","validations","errors","address","countryCode","code","element","useAddress","_ref3","_ref3$initialAddress","initialAddress","addressLine1","addressLine2","addressLine3","adminArea1","adminArea2","adminArea3","adminArea4","postalCode","_ref3$initialAddressE","initialAddressErrors","_ref3$autoSuggestFiel","autoSuggestField","suggestions","fetchSuggestions","onSuggestionSelect","_ref3$renderSuggestio","renderSuggestion","_ref3$suggestionListF","_useState","_useState2","setAddressLine1","_useState3","_useState4","setAddressLine2","_useState5","_useState6","setAddressLine3","_useState7","_useState8","setAdminArea1","_useState9","_useState10","setAdminArea2","_useState11","_useState12","setAdminArea3","_useState13","_useState14","setAdminArea4","_useState15","_useState16","setPostalCode","_useState17","_useState18","addressLine1Error","setAddressLine1Error","_useState19","_useState20","addressLine2Error","setAddressLine2Error","_useState21","_useState22","addressLine3Error","setAddressLine3Error","_useState23","_useState24","adminArea1Error","setAdminArea1Error","_useState25","_useState26","adminArea2Error","setAdminArea2Error","_useState27","_useState28","adminArea3Error","setAdminArea3Error","_useState29","_useState30","adminArea4Error","setAdminArea4Error","_useState31","_useState32","postalCodeError","setPostalCodeError","setError","field","error","handleChange","evt","value","setAddress","addressParts","props","errorText","onChange","suggestionList","onSelect","as","onClear","currentAddress","ownKeys$1","_objectSpread$1","AddressInput","_ref3$parts","parts","partsOrder","_ref3$excludedParts","excludedParts","fieldClassName","fieldNamePrefix","_ref3$requiredFieldEr","_ref3$invalidFieldErr","reduce","acc","getAddressFromParts","_partsOrder","_useMemo","partsToDisplay","partsDisplayOrder","formatToParts","types","allowedValues","type","getDisplayNamesObject","translations","options","map","allowedValue","label","select","labelTranslations","getAddressParts","tempPartsOrder","part","slice","renderPart","partObj","Component","name","rows","index","columns","cols","Math","floor","subPart","colIndex","includes","sm","xs","form","_excluded","ownKeys$2","_objectSpread$2","ADDRESS_PARTS","AddressInputWithValidation","_ref$parts","_ref$requiredFieldErr","_ref$invalidFieldErro","_ref$address","_ref$addressErrors","addressErrors","_ref$onChange","console","warn","rest","_parts","sysSizeFieldLg","base","menu","affordanceTrigger","defaultGetMenuOptions","optionList","userText","option","comparand","toLowerCase","prefix","substring","getOptionValue","_option$value","ideate","result","mappedOption","hasOwnProperty","id","optionLegend","mapOptions","srcList","onMouseDown","preventDefault","legend","entries","dest","Combobox","_ref3$name","_ref3$value","text","dir","onOpen","onBlur","onTextChange","_ref3$onFocus","onFocus","_ref3$getMenuOptions","getMenuOptions","placeholder","isLoadingOptions","_ref3$emptyMessage","emptyMessage","_ref3$mobileTitle","mobileTitle","sheetWrapperClassName","autoComplete","showMenu","setShowMenu","activeIndex","setActiveIndex","placemat","setPlacemat","filteredList","setFilteredList","activeItem","setActiveItem","textFocus","setTextFocus","sheetInputRef","textInputRef","getInitialText","selectedValue","currentText","selectedOption","find","initialText","textValue","setTextValue","sheetTextValue","setSheetTextValue","comboId","textInputId","menuId","updateFilteredList","filterText","updatedList","unselectable","doSetShowMenu","isShown","openMenu","current","handleSheetTyping","handleClose","outsideClickCheck","handleItemSelection","newValue","getActiveId","updateActiveItem","offset","nextIndex","min","max","handleKey","keyCode","KeyCode","IS_ARROW_UP","IS_ARROW_DOWN","IS_ENTER","IS_TAB","IS_ESC","sheetTextPlaceholder","sheetTextInputName","getSheetTextInput","inputDir","ref","onKeyDown","role","disabled","comboStyles","AffordanceIcon","affordance","onClick","stopPropagation","size","color","getRefCurrent","sheetInput","focus","inputProps","inputRef","menuProps","rightIcon","setFocus","_ref4","initialItemFocus","ignoreKeyboard","isOpen","mobileHeaderContents","onClose","onSelection","triggerElementRef","containerClassName","_templateObject4","_templateObject5","_templateObject6","_templateObject7","_templateObject8","_templateObject9","_templateObject10","_templateObject11","sysBorderRadiusLg","sysBorderThicknessNormal","sysColorBackgroundSurface","sysColorBackgroundSurfaceHover","sysSizeMediaSm","sysSizeMediaMd","sysSizeMediaLg","sysSpaceLg","sysSpaceMd","sysSpaceSm","sysSpaceTiny","elevationStyles","suggestionListContainer","elevatedSuggestionListContainer","level3","content","centeredContent","suggestionSublist","highlightedSuggesiton","errorMessage","suggestionDecoration","AutoSuggestUtils","match","escapedMatch","replace","regex","RegExp","defaultRenderSuggestion","primaryText","decoration","highlightedValue","secondaryElm","decorationElm","Fragment","SuggestionList","_ref2$suggestions","onHighlight","listItemClassName","_ref2$enableKeyboardI","enableKeyboardInteraction","hasSections","highlightedIndex","setHighlightedIndex","highlightedIndexRef","listRef","_suggestions","section","sectionIndex","suggestionIndex","normalizeSuggestions","handleHighlight","highlightedElm","scrollIntoView","behavior","block","handleSelect","handleKeyDown","currentHighlightedIndex","document","addEventListener","removeEventListener","currentNormalizedIndex","renderSuggestionList","items","normalizedIndex","cssVal","suggestionContent","el","listItems","title","_excluded$1","AutoSuggest","_props$id","_props$debounceTimeou","debounceTimeout","_props$fetchSuggestio","_props$suggestionList","isSuggestionListInline","isLoadingSuggestions","_props$triggerCompone","triggerComponent","suggestionListContainerClassName","suggestionListFooterClassName","suggestionListChangeMessage","_props$suggestionList2","suggestionListLoadingMessage","suggestionListErrorMessage","onSuggestionListClose","timerRef","internalRef","suggestionListContainerRef","areSuggestionsVisible","setSuggestionsVisible","highlightedSuggestionId","setHighlightedSuggestionId","isTriggerFocused","setTriggerFocus","suggestionsLength","handleOutsideClick","inputElm","contains","clearTimeout","callSuggestionListClose","suggestionListId","footer","suggestionsElm","cloneElement","loadingElm","screenReaderText","errorElm","suggestionListContainerCssVal","suggestionContainerElm","_suggestListChangeMessage","otherProps","setTimeout"],"mappings":"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","file":"default~addShippingAddressOverpanel~guest~request-page~request-preview~send-page~universal-preview.esm.js","sourcesContent":["import _extends from '@babel/runtime/helpers/esm/extends';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport React, { useMemo, useContext, useEffect, useState } from 'react';\nimport { IntlContext } from '@paypalcorp/pp-react-intl';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { Combobox } from '@paypalcorp/pp-react-combobox';\nimport { Col, Row } from '@paypalcorp/pp-react-grid';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport { AutoSuggestUtils, SuggestionList, AutoSuggest } from '@paypalcorp/pp-react-auto-suggest';\nimport { BodyText, CaptionText } from '@paypalcorp/pp-react-text';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\n\nvar _templateObject, _templateObject2, _templateObject3;\nfunction styles() {\n var tokens = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var sysColorBackgroundMediumContrast = tokens.sysColorBackgroundMediumContrast,\n sysSpaceXs = tokens.sysSpaceXs;\n var suggestionListFooter = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: suggestion_list_footer;\\n text-align: center;\\n \"])));\n var googleLogo = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n height: \", \";\\n \"])), '0.75rem');\n var googleAddressSecondaryText = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: google_address_secondary_styles;\\n color: \", \";\\n margin-top: \", \";\\n \"])), sysColorBackgroundMediumContrast, sysSpaceXs);\n return {\n suggestionListFooter: suggestionListFooter,\n googleLogo: googleLogo,\n googleAddressSecondaryText: googleAddressSecondaryText\n };\n}\n\nvar GoogleAddressSuggestion = function (_ref) {\n var _ref$mainText = _ref.mainText,\n mainText = _ref$mainText === void 0 ? 'Main Text' : _ref$mainText,\n _ref$secondaryText = _ref.secondaryText,\n secondaryText = _ref$secondaryText === void 0 ? 'Secondary Text' : _ref$secondaryText,\n query = _ref.query,\n className = _ref.className;\n var tokens = useTheme();\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var highlightedMainText = AutoSuggestUtils.highlightMatch(mainText, query);\n return jsx(\"div\", {\n className: className,\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n dangerouslySetInnerHTML: {\n __html: highlightedMainText\n },\n \"data-ppui\": \"true\"\n }), jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref2) {\n var css = _ref2.css;\n return jsx(CaptionText, {\n className: css(_styles.googleAddressSecondaryText),\n \"data-ppui\": \"true\"\n }, secondaryText);\n }));\n};\n\nvar GoogleFooter = function (_ref) {\n var _ref$domain = _ref.domain,\n domain = _ref$domain === void 0 ? 'www.paypalobjects.com' : _ref$domain,\n className = _ref.className;\n\n var _styles = styles();\n\n return jsx(\"div\", {\n css: _styles.suggestionListFooter,\n className: className,\n \"data-ppui\": \"true\"\n }, jsx(\"img\", {\n css: _styles.googleLogo,\n src: \"https://\".concat(domain, \"/paypal-ui/web/components/address-input/powered_by_google_on_white.png\"),\n alt: \"Powered by Google\",\n \"data-ppui\": \"true\"\n }));\n};\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n/**\n * Renders suggestion from Google Places Autocomplete service https://developers.google.com/maps/documentation/javascript/reference/places-autocomplete-service#AutocompletePrediction\n * suggestion: {mainText, secondaryText, description, placeId, matchedSubstrings}\n * @param suggestion\n * @returns\n */\n\n/* istanbul ignore next */\n\nfunction renderGoogleAddressSuggestion(suggestion, query) {\n var mainText = suggestion.mainText,\n secondaryText = suggestion.secondaryText;\n return /*#__PURE__*/React.createElement(GoogleAddressSuggestion, {\n mainText: mainText,\n secondaryText: secondaryText,\n query: query,\n \"data-ppui\": \"true\"\n });\n}\n/**\n * Validation hook to validate using AddressFormatter from IntlContext\n */\n\n\nfunction useValidate(_ref) {\n var getAddress = _ref.getAddress,\n onValidate = _ref.onValidate,\n validate = _ref.validate,\n region = _ref.region,\n requiredFieldErrorText = _ref.requiredFieldErrorText,\n invalidFieldErrorText = _ref.invalidFieldErrorText;\n var intlContext = useContext(IntlContext);\n var validator = region && intlContext && intlContext.addressFormatter && intlContext.addressFormatter({\n addressRegion: region\n });\n\n var validateAddress = function () {\n var validations = [];\n var errors = {};\n var address = getAddress();\n address.countryCode = region;\n validations = validator.validate(address);\n validations.forEach(function (_ref2) {\n var code = _ref2.code,\n element = _ref2.element;\n\n /* istanbul ignore next */\n errors[element] = code === 'MISSING_REQUIRED' ? requiredFieldErrorText : invalidFieldErrorText;\n });\n onValidate(errors, validations);\n };\n\n useEffect(function () {\n if (validate && validator) {\n validateAddress();\n }\n }, [validate]);\n}\n/**\n * Address state hook\n */\n\n\nfunction useAddress() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$initialAddress = _ref3.initialAddress,\n initialAddress = _ref3$initialAddress === void 0 ? {\n addressLine1: '',\n addressLine2: '',\n addressLine3: '',\n adminArea1: '',\n adminArea2: '',\n adminArea3: '',\n adminArea4: '',\n postalCode: ''\n } : _ref3$initialAddress,\n _ref3$initialAddressE = _ref3.initialAddressErrors,\n initialAddressErrors = _ref3$initialAddressE === void 0 ? {} : _ref3$initialAddressE,\n _ref3$autoSuggestFiel = _ref3.autoSuggestField,\n autoSuggestField = _ref3$autoSuggestFiel === void 0 ? 'addressLine1' : _ref3$autoSuggestFiel,\n suggestions = _ref3.suggestions,\n fetchSuggestions = _ref3.fetchSuggestions,\n onSuggestionSelect = _ref3.onSuggestionSelect,\n _ref3$renderSuggestio = _ref3.renderSuggestion,\n renderSuggestion = _ref3$renderSuggestio === void 0 ? renderGoogleAddressSuggestion : _ref3$renderSuggestio,\n _ref3$suggestionListF = _ref3.suggestionListFooter,\n suggestionListFooter = _ref3$suggestionListF === void 0 ? /*#__PURE__*/React.createElement(GoogleFooter, {\n \"data-ppui\": \"true\"\n }) : _ref3$suggestionListF;\n\n var _useState = useState(initialAddress.addressLine1),\n _useState2 = _slicedToArray(_useState, 2),\n addressLine1 = _useState2[0],\n setAddressLine1 = _useState2[1];\n\n var _useState3 = useState(initialAddress.addressLine2),\n _useState4 = _slicedToArray(_useState3, 2),\n addressLine2 = _useState4[0],\n setAddressLine2 = _useState4[1];\n\n var _useState5 = useState(initialAddress.addressLine3),\n _useState6 = _slicedToArray(_useState5, 2),\n addressLine3 = _useState6[0],\n setAddressLine3 = _useState6[1];\n\n var _useState7 = useState(initialAddress.adminArea1),\n _useState8 = _slicedToArray(_useState7, 2),\n adminArea1 = _useState8[0],\n setAdminArea1 = _useState8[1];\n\n var _useState9 = useState(initialAddress.adminArea2),\n _useState10 = _slicedToArray(_useState9, 2),\n adminArea2 = _useState10[0],\n setAdminArea2 = _useState10[1];\n\n var _useState11 = useState(initialAddress.adminArea3),\n _useState12 = _slicedToArray(_useState11, 2),\n adminArea3 = _useState12[0],\n setAdminArea3 = _useState12[1];\n\n var _useState13 = useState(initialAddress.adminArea4),\n _useState14 = _slicedToArray(_useState13, 2),\n adminArea4 = _useState14[0],\n setAdminArea4 = _useState14[1];\n\n var _useState15 = useState(initialAddress.postalCode),\n _useState16 = _slicedToArray(_useState15, 2),\n postalCode = _useState16[0],\n setPostalCode = _useState16[1];\n\n var _useState17 = useState(initialAddressErrors.addressLine1),\n _useState18 = _slicedToArray(_useState17, 2),\n addressLine1Error = _useState18[0],\n setAddressLine1Error = _useState18[1];\n\n var _useState19 = useState(initialAddressErrors.addressLine2),\n _useState20 = _slicedToArray(_useState19, 2),\n addressLine2Error = _useState20[0],\n setAddressLine2Error = _useState20[1];\n\n var _useState21 = useState(initialAddressErrors.addressLine3),\n _useState22 = _slicedToArray(_useState21, 2),\n addressLine3Error = _useState22[0],\n setAddressLine3Error = _useState22[1];\n\n var _useState23 = useState(initialAddressErrors.adminArea1),\n _useState24 = _slicedToArray(_useState23, 2),\n adminArea1Error = _useState24[0],\n setAdminArea1Error = _useState24[1];\n\n var _useState25 = useState(initialAddressErrors.adminArea2),\n _useState26 = _slicedToArray(_useState25, 2),\n adminArea2Error = _useState26[0],\n setAdminArea2Error = _useState26[1];\n\n var _useState27 = useState(initialAddressErrors.adminArea3),\n _useState28 = _slicedToArray(_useState27, 2),\n adminArea3Error = _useState28[0],\n setAdminArea3Error = _useState28[1];\n\n var _useState29 = useState(initialAddressErrors.adminArea4),\n _useState30 = _slicedToArray(_useState29, 2),\n adminArea4Error = _useState30[0],\n setAdminArea4Error = _useState30[1];\n\n var _useState31 = useState(initialAddressErrors.postalCode),\n _useState32 = _slicedToArray(_useState31, 2),\n postalCodeError = _useState32[0],\n setPostalCodeError = _useState32[1];\n /* istanbul ignore next */\n\n\n var setError = function (field, error) {\n switch (field) {\n case 'addressLine1':\n setAddressLine1Error(error);\n break;\n\n case 'addressLine2':\n setAddressLine2Error(error);\n break;\n\n case 'addressLine3':\n setAddressLine3Error(error);\n break;\n\n case 'adminArea1':\n setAdminArea1Error(error);\n break;\n\n case 'adminArea2':\n setAdminArea2Error(error);\n break;\n\n case 'adminArea3':\n setAdminArea3Error(error);\n break;\n\n case 'adminArea4':\n setAdminArea4Error(error);\n break;\n\n case 'postalCode':\n setPostalCodeError(error);\n break;\n }\n };\n /* istanbul ignore next */\n\n\n var handleChange = function (evt, field) {\n var value = evt.target.value;\n setError(field, ''); // reset any error\n\n switch (field) {\n case 'addressLine1':\n setAddressLine1(value);\n break;\n\n case 'addressLine2':\n setAddressLine2(value);\n break;\n\n case 'adminArea1':\n setAdminArea1(value);\n break;\n\n case 'adminArea2':\n setAdminArea2(value);\n break;\n\n case 'adminArea3':\n setAdminArea3(value);\n break;\n\n case 'adminArea4':\n setAdminArea4(value);\n break;\n\n case 'postalCode':\n setPostalCode(value);\n break;\n }\n };\n\n var getAddress = function () {\n return {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n addressLine3: addressLine3,\n adminArea1: adminArea1,\n adminArea2: adminArea2,\n adminArea3: adminArea3,\n adminArea4: adminArea4,\n postalCode: postalCode\n };\n };\n /* istanbul ignore next */\n\n\n var setAddress = function (address) {\n setAddressLine1(address.addressLine1 || '');\n setAddressLine2(address.addressLine2 || '');\n setAddressLine3(address.addressLine3 || '');\n setAdminArea1(address.adminArea1 || '');\n setAdminArea2(address.adminArea2 || '');\n setAdminArea3(address.adminArea3 || '');\n setAdminArea4(address.adminArea4 || '');\n setPostalCode(address.postalCode || '');\n };\n /* istanbul ignore next */\n\n\n var addressParts = {\n addressLine1: {\n props: {\n value: addressLine1,\n errorText: addressLine1Error,\n onChange: function onChange(evt) {\n handleChange(evt, 'addressLine1');\n }\n }\n },\n addressLine2: {\n props: {\n value: addressLine2,\n errorText: addressLine2Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'addressLine2');\n }\n }\n },\n addressLine3: {\n props: {\n value: addressLine3,\n errorText: addressLine3Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'addressLine3');\n }\n }\n },\n adminArea1: {\n props: {\n value: adminArea1,\n errorText: adminArea1Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea1');\n }\n }\n },\n adminArea2: {\n props: {\n value: adminArea2,\n errorText: adminArea2Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea2');\n }\n }\n },\n adminArea3: {\n props: {\n value: adminArea3,\n errorText: adminArea3Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea3');\n }\n }\n },\n adminArea4: {\n props: {\n value: adminArea4,\n errorText: adminArea4Error,\n onChange: function onChange(evt) {\n return handleChange(evt, 'adminArea4');\n }\n }\n },\n postalCode: {\n props: {\n value: postalCode,\n errorText: postalCodeError,\n onChange: function onChange(evt) {\n return handleChange(evt, 'postalCode');\n }\n }\n }\n };\n\n if (fetchSuggestions) {\n var suggestionList = /*#__PURE__*/React.createElement(SuggestionList, {\n suggestions: suggestions,\n query: addressParts[autoSuggestField].props.value,\n renderSuggestion: renderSuggestion,\n onSelect: onSuggestionSelect,\n \"data-ppui\": \"true\"\n });\n addressParts[autoSuggestField].as = AutoSuggest;\n addressParts[autoSuggestField].props = _objectSpread(_objectSpread({}, addressParts[autoSuggestField].props), {}, {\n onClear: function onClear() {\n var currentAddress = getAddress();\n currentAddress[autoSuggestField] = '';\n setAddress(currentAddress);\n },\n fetchSuggestions: fetchSuggestions,\n suggestionList: suggestionList,\n suggestions: suggestions,\n suggestionListFooter: suggestionListFooter\n });\n }\n\n return {\n addressLine1: addressLine1,\n addressLine2: addressLine2,\n addressLine3: addressLine3,\n adminArea1: adminArea1,\n adminArea2: adminArea2,\n adminArea3: adminArea3,\n adminArea4: adminArea4,\n postalCode: postalCode,\n addressLine1Error: addressLine1Error,\n addressLine2Error: addressLine2Error,\n addressLine3Error: addressLine3Error,\n adminArea1Error: adminArea1Error,\n adminArea2Error: adminArea2Error,\n adminArea3Error: adminArea3Error,\n adminArea4Error: adminArea4Error,\n postalCodeError: postalCodeError,\n addressParts: addressParts,\n handleChange: handleChange,\n setError: setError,\n getAddress: getAddress,\n setAddress: setAddress\n };\n}\n\nvar AddressInputUtils = {\n useValidate: useValidate,\n useAddress: useAddress\n};\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar REQ_FIELD_ERROR = 'Please enter a value';\nvar INVALID_FIELD_ERROR = 'Please enter a valid value';\n\nfunction getAddressFromParts(parts) {\n return Object.keys(parts).reduce(function (acc, key) {\n /* istanbul ignore next */\n acc[key] = parts[key].props.value || '';\n return acc;\n }, {});\n}\n\n// Get address parts to display for the current locale and address region from IntlProvider\nfunction getAddressParts(intlContext, region) {\n var partsToDisplay = {};\n var partsDisplayOrder = [];\n\n if (region && intlContext && intlContext.addressFormatter) {\n var addressParts = intlContext.addressFormatter({\n addressRegion: region\n }).formatToParts({});\n addressParts.forEach(function (_ref) {\n var parts = _ref.parts;\n var types = [];\n parts.forEach(function (_ref2) {\n var allowedValues = _ref2.allowedValues,\n type = _ref2.type;\n partsToDisplay[type] = {};\n partsToDisplay[type].props = {};\n types.push(type);\n /* istanbul ignore else */\n\n if (intlContext.getDisplayNamesObject) {\n if (allowedValues) {\n var translations = intlContext.getDisplayNamesObject({\n type: 'portableAddressValues',\n element: type,\n addressRegion: region\n });\n var options = allowedValues.map(function (allowedValue) {\n return {\n label: translations.select(allowedValue),\n value: allowedValue\n };\n });\n partsToDisplay[type].props.options = options;\n partsToDisplay[type].as = Combobox;\n }\n\n var labelTranslations = intlContext.getDisplayNamesObject({\n type: 'portableAddress',\n addressRegion: region\n });\n partsToDisplay[type].props.label = labelTranslations.select(type);\n }\n });\n\n if (types.length > 1) {\n partsDisplayOrder.push(types);\n } else {\n partsDisplayOrder.push(types[0]);\n }\n });\n }\n\n return {\n partsToDisplay: partsToDisplay,\n partsDisplayOrder: partsDisplayOrder\n };\n}\n\nvar AddressInput = function (_ref3) {\n var region = _ref3.region,\n _ref3$parts = _ref3.parts,\n parts = _ref3$parts === void 0 ? {} : _ref3$parts,\n partsOrder = _ref3.partsOrder,\n _ref3$excludedParts = _ref3.excludedParts,\n excludedParts = _ref3$excludedParts === void 0 ? [] : _ref3$excludedParts,\n className = _ref3.className,\n fieldClassName = _ref3.fieldClassName,\n fieldNamePrefix = _ref3.fieldNamePrefix,\n validate = _ref3.validate,\n _ref3$requiredFieldEr = _ref3.requiredFieldErrorText,\n requiredFieldErrorText = _ref3$requiredFieldEr === void 0 ? REQ_FIELD_ERROR : _ref3$requiredFieldEr,\n _ref3$invalidFieldErr = _ref3.invalidFieldErrorText,\n invalidFieldErrorText = _ref3$invalidFieldErr === void 0 ? INVALID_FIELD_ERROR : _ref3$invalidFieldErr,\n onValidate = _ref3.onValidate;\n AddressInputUtils.useValidate({\n getAddress: function getAddress() {\n return getAddressFromParts(parts);\n },\n onValidate: onValidate,\n validate: validate,\n region: region,\n requiredFieldErrorText: requiredFieldErrorText,\n invalidFieldErrorText: invalidFieldErrorText\n });\n var intlContext = useContext(IntlContext);\n var _partsOrder = partsOrder;\n\n var _useMemo = useMemo(function () {\n return getAddressParts(intlContext, region);\n }, [region, intlContext]),\n partsToDisplay = _useMemo.partsToDisplay,\n partsDisplayOrder = _useMemo.partsDisplayOrder;\n\n if (region && !(_partsOrder && _partsOrder.length)) {\n _partsOrder = partsDisplayOrder;\n }\n\n if (!(_partsOrder && _partsOrder.length)) {\n _partsOrder = Object.keys(parts);\n }\n\n var tempPartsOrder = [];\n\n _partsOrder.forEach(function (part) {\n if (part.length > 6 && typeof part !== 'string') {\n for (var i = 0; i < part.length; i += 4) {\n tempPartsOrder.push(part.slice(i, i + 4));\n }\n } else {\n tempPartsOrder.push(part);\n }\n });\n\n _partsOrder = tempPartsOrder;\n\n var renderPart = function (part) {\n var partObj = _objectSpread$1(_objectSpread$1({\n props: {}\n }, partsToDisplay[part]), parts[part]); //Merge props\n\n\n if (partsToDisplay[part] && parts[part]) {\n partObj.props = _objectSpread$1(_objectSpread$1({}, partsToDisplay[part].props), parts[part].props);\n }\n\n if (!partObj.as) {\n if (partObj.props.options) {\n partObj.as = Combobox;\n } else {\n partObj.as = TextInput;\n }\n }\n\n var Component = partObj.as;\n return /*#__PURE__*/React.createElement(Component, _extends({\n name: \"\".concat(fieldNamePrefix, \"_\").concat(part)\n }, partObj.props, {\n \"data-ppui\": \"true\"\n }));\n };\n\n var rows = [];\n\n _partsOrder.forEach(function (part, index) {\n var columns = [];\n\n if (typeof part !== 'string') {\n var cols = Math.floor(12 / part.length);\n part.forEach(function (subPart, colIndex) {\n if (!excludedParts.includes(subPart)) {\n columns.push( /*#__PURE__*/React.createElement(Col, {\n sm: cols,\n xs: 12,\n className: fieldClassName,\n key: colIndex,\n form: \"vspace\",\n \"data-ppui\": \"true\"\n }, renderPart(subPart)));\n }\n });\n } else if (!excludedParts.includes(part)) {\n columns.push( /*#__PURE__*/React.createElement(Col, {\n xs: 12,\n className: fieldClassName,\n key: index,\n form: \"vspace\",\n \"data-ppui\": \"true\"\n }, renderPart(part)));\n }\n\n if (columns.length) {\n rows.push( /*#__PURE__*/React.createElement(Row, {\n key: index,\n \"data-ppui\": \"true\"\n }, columns));\n }\n });\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: className,\n \"data-ppui-info\": \"address-input_2.3.17\"\n }, rows);\n};\n\nvar _excluded = [\"region\", \"validate\", \"parts\", \"requiredFieldErrorText\", \"invalidFieldErrorText\", \"address\", \"addressErrors\", \"onChange\", \"onValidate\"];\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar ADDRESS_PARTS = ['recipient', 'businessName', 'addressLine1', 'addressLine2', 'addressLine3', 'adminArea1', 'adminArea2', 'adminArea3', 'adminArea4', 'postalCode'];\n\nvar AddressInputWithValidation = function (_ref) {\n var region = _ref.region,\n validate = _ref.validate,\n _ref$parts = _ref.parts,\n parts = _ref$parts === void 0 ? {} : _ref$parts,\n _ref$requiredFieldErr = _ref.requiredFieldErrorText,\n requiredFieldErrorText = _ref$requiredFieldErr === void 0 ? 'Please enter a value' : _ref$requiredFieldErr,\n _ref$invalidFieldErro = _ref.invalidFieldErrorText,\n invalidFieldErrorText = _ref$invalidFieldErro === void 0 ? 'Please enter a valid value' : _ref$invalidFieldErro,\n _ref$address = _ref.address,\n address = _ref$address === void 0 ? {\n addressLine1: ''\n } : _ref$address,\n _ref$addressErrors = _ref.addressErrors,\n addressErrors = _ref$addressErrors === void 0 ? {} : _ref$addressErrors,\n _ref$onChange = _ref.onChange,\n onChange = _ref$onChange === void 0 ? function () {\n return console.warn('onChange prop is missing');\n } : _ref$onChange,\n onValidate = _ref.onValidate,\n rest = _objectWithoutProperties(_ref, _excluded);\n\n AddressInputUtils.useValidate({\n getAddress: function getAddress() {\n return address;\n },\n onValidate: onValidate,\n validate: validate,\n region: region,\n requiredFieldErrorText: requiredFieldErrorText,\n invalidFieldErrorText: invalidFieldErrorText\n });\n\n var handleChange = function (evt, part) {\n onChange(_objectSpread$2(_objectSpread$2({}, address), {}, _defineProperty({}, part, evt.target.value)));\n };\n\n var _parts = useMemo(function () {\n return ADDRESS_PARTS.reduce(function (acc, part) {\n acc[part] = _objectSpread$2({\n props: {}\n }, parts[part]);\n\n acc[part].props.onChange = function (evt) {\n return handleChange(evt, part);\n };\n\n acc[part].props.value = address[part] || '';\n acc[part].props.errorText = addressErrors[part];\n return acc;\n }, {});\n }, [parts]);\n\n return /*#__PURE__*/React.createElement(AddressInput, _extends({\n parts: _parts,\n region: region,\n \"data-ppui-info\": \"address-input_2.3.17\"\n }, rest));\n};\n\nexport { AddressInput, AddressInputUtils, AddressInputWithValidation, GoogleAddressSuggestion, GoogleFooter, styles as addressInputStyles };\n","import _extends from '@babel/runtime/helpers/esm/extends';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport { useState, useRef, useMemo, useEffect } from 'react';\nimport { css, useTheme, jsx, ClassNames } from '@emotion/react';\nimport { ChevronUpIcon, ChevronDownIcon } from '@paypalcorp/pp-react-icons';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { SelectionMenu } from '@paypalcorp/pp-react-menu';\nimport _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { uniqueId, KeyboardCode } from '@paypalcorp/pp-react-utils';\n\nvar _templateObject, _templateObject2, _templateObject3;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n var sysSizeFieldLg = tokens.sysSizeFieldLg;\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n position: relative;\\n \"])));\n var menu = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n top: \", \";\\n \"])), sysSizeFieldLg);\n var affordanceTrigger = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: affordance_trigger;\\n cursor: pointer;\\n \"])));\n return {\n base: base,\n menu: menu,\n affordanceTrigger: affordanceTrigger\n };\n}\n\nvar _excluded = [\"name\", \"options\", \"value\", \"text\", \"id\", \"dir\", \"label\", \"onOpen\", \"onChange\", \"onBlur\", \"onTextChange\", \"onFocus\", \"getMenuOptions\", \"placeholder\", \"isLoadingOptions\", \"emptyMessage\", \"mobileTitle\", \"sheetWrapperClassName\", \"autoComplete\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\n// By default, matching is case-insensitive prefix match\nvar defaultGetMenuOptions = function (optionList, userText) {\n if (!userText) {\n // No filter means you get it all, no questions asked!\n return optionList;\n }\n\n return optionList.filter(function (option) {\n // istanbul ignore next\n var comparand = (option.label || '').toLowerCase();\n var prefix = userText.toLowerCase();\n return comparand.substring(0, prefix.length) === prefix;\n });\n};\n\nvar getOptionValue = function (option) {\n var _option$value;\n\n return (_option$value = option.value) !== null && _option$value !== void 0 ? _option$value : option.label;\n}; // Make sure all items have an id we can use for aria tags\n\n\nvar ideate = function (optionList, name) {\n // istanbul ignore next (this function is called, but converage doesn't see it\n return optionList.reduce(function (result, option) {\n var mappedOption = _objectSpread({}, option);\n\n if (!mappedOption.hasOwnProperty('id')) {\n mappedOption.id = \"\".concat(name, \"__\").concat(getOptionValue(option));\n }\n\n result.push(mappedOption);\n return result;\n }, []);\n};\n\nvar defaultEmptyMessage = 'No results. Try something else or check for errors.';\nvar optionLegend = {\n label: 'primaryText'\n};\n\nvar mapObj = function (src, legend) {\n return Object.entries(src).reduce(function (dest, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n\n var newKey = legend.hasOwnProperty(key) ? legend[key] : key;\n dest[newKey] = value;\n return dest;\n }, {});\n}; // istanbul ignore next\n\n\nvar mapOptions = function (srcList) {\n return srcList ? srcList.map(function (option) {\n // add onMouseDown to prevent onBlur being called when selecting an option\n option.onMouseDown = function (evt) {\n return evt.preventDefault();\n };\n\n return mapObj(option, optionLegend);\n }) : [];\n}; // eslint-disable-next-line max-statements\n\n\nvar Combobox = function (_ref3) {\n var _ref3$name = _ref3.name,\n name = _ref3$name === void 0 ? 'NO_NAME' : _ref3$name,\n options = _ref3.options,\n _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? '' : _ref3$value,\n text = _ref3.text,\n id = _ref3.id,\n dir = _ref3.dir,\n label = _ref3.label,\n onOpen = _ref3.onOpen,\n onChange = _ref3.onChange,\n onBlur = _ref3.onBlur,\n onTextChange = _ref3.onTextChange,\n _ref3$onFocus = _ref3.onFocus,\n onFocus = _ref3$onFocus === void 0 ? null : _ref3$onFocus,\n _ref3$getMenuOptions = _ref3.getMenuOptions,\n getMenuOptions = _ref3$getMenuOptions === void 0 ? defaultGetMenuOptions : _ref3$getMenuOptions,\n placeholder = _ref3.placeholder,\n isLoadingOptions = _ref3.isLoadingOptions,\n _ref3$emptyMessage = _ref3.emptyMessage,\n emptyMessage = _ref3$emptyMessage === void 0 ? defaultEmptyMessage : _ref3$emptyMessage,\n _ref3$mobileTitle = _ref3.mobileTitle,\n mobileTitle = _ref3$mobileTitle === void 0 ? label : _ref3$mobileTitle,\n sheetWrapperClassName = _ref3.sheetWrapperClassName,\n autoComplete = _ref3.autoComplete,\n rest = _objectWithoutProperties(_ref3, _excluded);\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n showMenu = _useState2[0],\n setShowMenu = _useState2[1];\n\n var _useState3 = useState(-1),\n _useState4 = _slicedToArray(_useState3, 2),\n activeIndex = _useState4[0],\n setActiveIndex = _useState4[1];\n\n var _useState5 = useState(''),\n _useState6 = _slicedToArray(_useState5, 2),\n placemat = _useState6[0],\n setPlacemat = _useState6[1];\n\n var _useState7 = useState(options),\n _useState8 = _slicedToArray(_useState7, 2),\n filteredList = _useState8[0],\n setFilteredList = _useState8[1];\n\n var _useState9 = useState(value),\n _useState10 = _slicedToArray(_useState9, 2),\n activeItem = _useState10[0],\n setActiveItem = _useState10[1];\n\n var _useState11 = useState(false),\n _useState12 = _slicedToArray(_useState11, 2),\n textFocus = _useState12[0],\n setTextFocus = _useState12[1];\n\n var sheetInputRef = useRef();\n var textInputRef = useRef();\n\n var getInitialText = function (selectedValue, currentText) {\n if (currentText !== '' && (!selectedValue || !options)) {\n return currentText;\n }\n\n var selectedOption = options === null || options === void 0 ? void 0 : options.find(function (option) {\n return selectedValue === getOptionValue(option);\n });\n return selectedOption ? selectedOption.label : selectedValue;\n };\n\n var initialText = getInitialText(value, text);\n\n var _useState13 = useState(initialText || ''),\n _useState14 = _slicedToArray(_useState13, 2),\n textValue = _useState14[0],\n setTextValue = _useState14[1];\n\n var _useState15 = useState(''),\n _useState16 = _slicedToArray(_useState15, 2),\n sheetTextValue = _useState16[0],\n setSheetTextValue = _useState16[1];\n\n var comboId = id !== null && id !== void 0 ? id : uniqueId('Combobox_');\n var textInputId = \"combo_txt_\".concat(comboId);\n var menuId = \"combo_menu_\".concat(comboId);\n\n var clearActiveItem = function () {\n setActiveIndex(-1);\n setPlacemat('');\n };\n\n var updateFilteredList = function (filterText) {\n var updatedList = ideate(getMenuOptions(options, filterText), name);\n\n if (!updatedList || updatedList.length === 0) {\n updatedList = [{\n label: emptyMessage,\n unselectable: true\n }];\n }\n\n setFilteredList(updatedList);\n clearActiveItem();\n }; // Spoof an event so the caller thinks a change happened in this component\n\n\n var changeCallback = function (newValue) {\n // istanbul ignore next (sanity check)\n if (typeof onChange === 'function') {\n onChange({\n target: {\n name: name,\n value: newValue\n }\n });\n }\n };\n\n var doSetShowMenu = function (isShown) {\n setShowMenu(isShown);\n setTextFocus(isShown);\n };\n\n var openMenu = function () {\n if (!isLoadingOptions) {\n updateFilteredList('');\n setSheetTextValue('');\n }\n\n doSetShowMenu(true); // istanbul ignore next\n\n if (textInputRef.current) {\n textInputRef.current.select();\n }\n };\n\n var handleSheetTyping = function (evt) {\n // istanbul ignore next\n if (typeof onTextChange === 'function') {\n onTextChange(evt);\n }\n\n setSheetTextValue(evt.target.value);\n setTextValue(evt.target.value);\n updateFilteredList(evt.target.value);\n setActiveItem('');\n };\n\n var handleClose = function () {\n doSetShowMenu(false);\n setPlacemat('');\n }; // Clicks inside the text input are NOT outside clicks!\n\n\n var outsideClickCheck = function (evt) {\n var target = evt.target;\n return target.id !== textInputId;\n };\n\n var handleItemSelection = function (index) {\n var selectedOption = filteredList[index]; // istanbul ignore next\n\n if (selectedOption && !selectedOption.unselectable) {\n setTextValue(selectedOption.label);\n setActiveItem(getOptionValue(selectedOption));\n setSheetTextValue(selectedOption.label);\n changeCallback(getOptionValue(selectedOption));\n doSetShowMenu(false);\n }\n };\n\n // This is a simplistic way of telling. We may need to use a state... --BCC\n // istanbul ignore next\n var isFiltered = function () {\n return textValue === '' || filteredList.length < options.length;\n };\n\n var getActiveId = function () {\n return activeIndex < 0 ? '' : filteredList[activeIndex].id;\n };\n\n var updateActiveItem = function (offset) {\n var nextIndex = Math.min(Math.max(activeIndex + offset, 0), filteredList.length - 1);\n\n if (nextIndex !== activeIndex) {\n var selectedOption = filteredList[nextIndex];\n\n if (!selectedOption.unselectable) {\n setActiveIndex(nextIndex); // We can have text in the text input that's not actually filtering the list yet.\n // (if we reopen after a selection has been made) This can lead to mismatches\n // between the text and placemat. So if we're not filtering, no placemat for you!\n // --BCC\n // istanbul ignore next\n\n if (selectedOption && isFiltered()) {\n setPlacemat(selectedOption.label);\n }\n }\n }\n }; // eslint-disable-next-line complexity\n\n\n var handleKey = function (evt) {\n /* istanbul ignore next */\n var key = evt.key || evt.keyCode;\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(key);\n\n if (KeyCode.IS_ARROW_UP) {\n updateActiveItem(-1);\n } else if (KeyCode.IS_ARROW_DOWN) {\n if (!showMenu) {\n openMenu();\n } else {\n updateActiveItem(1);\n }\n } else if (KeyCode.IS_ENTER || key === 'Unidentified') {\n // HACK ALERT! In test environment `jest` sends `enter` key as `Unidentified`\n evt.preventDefault();\n\n if (!showMenu) {\n openMenu();\n } else {\n handleItemSelection(activeIndex);\n }\n } else if (KeyCode.IS_TAB || KeyCode.IS_ESC) {\n handleClose();\n }\n };\n\n var sheetTextPlaceholder = placemat ? null : placeholder;\n var sheetTextInputName = \"sheet_t_\".concat(name);\n\n var getSheetTextInput = function () {\n var inputDir = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ltr';\n return jsx(\"div\", {\n dir: inputDir,\n \"data-ppui\": \"true\"\n }, jsx(TextInput, {\n name: sheetTextInputName,\n ref: sheetInputRef,\n label: label,\n value: sheetTextValue,\n placeholder: sheetTextPlaceholder,\n placemat: placemat,\n onChange: handleSheetTyping,\n onKeyDown: function onKeyDown(evt) {\n return handleKey(evt);\n },\n autoComplete: \"off\",\n role: \"combobox\",\n \"aria-controls\": menuId,\n \"aria-activedescendant\": getActiveId(),\n disabled: isLoadingOptions,\n \"data-ppui\": \"true\"\n }));\n };\n\n var tokens = useTheme();\n var comboStyles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n var AffordanceIcon = showMenu ? ChevronUpIcon : ChevronDownIcon;\n var affordance = jsx(AffordanceIcon, {\n onClick: function toggleMenu(evt) {\n evt.stopPropagation();\n\n if (showMenu) {\n doSetShowMenu(false);\n } else {\n setTextFocus(true);\n openMenu();\n }\n },\n size: \"sm\",\n \"aria-hidden\": \"true\",\n \"data-testid\": \"combo-affordance\",\n color: \"BackgroundMediumContrast\",\n css: comboStyles.affordanceTrigger,\n \"data-ppui\": \"true\"\n });\n useEffect(function () {\n setActiveItem(value);\n setTextValue(getInitialText(value, ''));\n }, [value]);\n useEffect(function () {\n // Set the text only if it was explicitly passed in\n if (text !== undefined && text !== null) {\n setTextValue(text);\n }\n }, [text]);\n\n var getRefCurrent = function (ref) {\n return (\n /* istanbul ignore next */\n ref && ref.current ? ref.current : null\n );\n };\n\n useEffect(function () {\n if (!isLoadingOptions && showMenu) {\n var sheetInput = getRefCurrent(sheetInputRef);\n /* istanbul ignore next */\n\n if (sheetInput) {\n sheetInput.focus();\n }\n } else if (options && options.length) {\n setFilteredList(options);\n setTextValue(getInitialText(value, textValue));\n }\n }, [isLoadingOptions, options]);\n var inputProps = {\n role: 'combobox',\n autoComplete: autoComplete !== null && autoComplete !== void 0 ? autoComplete : 'new-password',\n 'aria-expanded': showMenu,\n 'aria-haspopup': true,\n 'aria-controls': menuId,\n 'aria-activedescendant': getActiveId(),\n value: textValue,\n placeholder: placemat ? ' ' : placeholder,\n placemat: placemat,\n inputRef: textInputRef\n };\n var menuProps = {\n isLoadingOptions: isLoadingOptions\n }; // aria-owns={menuId} This will be needed if SelectionMenu goes into a portal\n\n return jsx(\"div\", {\n dir: dir,\n css: comboStyles.base,\n \"data-ppui-info\": \"combobox_3.5.8\"\n }, jsx(TextInput, _extends({\n name: \"combo_t_\".concat(name),\n label: label,\n id: textInputId,\n rightIcon: affordance,\n setFocus: textFocus\n }, rest, inputProps, {\n onChange: function handleChange(evt) {\n if (typeof onTextChange === 'function') {\n onTextChange(evt);\n }\n\n setTextValue(evt.target.value);\n updateFilteredList(evt.target.value);\n setActiveItem('');\n\n if (!showMenu) {\n doSetShowMenu(true);\n }\n },\n onClick: function handleFocus() {\n if (!showMenu) {\n openMenu();\n }\n },\n onKeyDown: handleKey,\n onFocus: function openOnFocus(evt) {\n var sheetInput = getRefCurrent(sheetInputRef);\n\n if (onFocus && !sheetInput) {\n onFocus(evt);\n }\n },\n onBlur: function handleBlur() {\n // Are we transferring focus to a newly opened sheet in mweb?\n if (sheetInputRef.current) {\n return; // Don't call onBlur(). This is a \"false\" blur!\n }\n\n if (onBlur) {\n onBlur({\n target: {\n name: name,\n textValue: textValue,\n value: activeItem\n }\n });\n }\n },\n \"data-reactcombo\": true,\n \"data-ppui\": \"true\"\n })), jsx(ClassNames, {\n \"data-ppui\": \"true\"\n }, function (_ref4) {\n var css = _ref4.css;\n return jsx(SelectionMenu, _extends({\n name: \"combo_m_\".concat(name),\n value: activeItem,\n id: menuId\n }, menuProps, {\n initialItemFocus: false,\n ignoreKeyboard: true,\n isOpen: showMenu,\n mobileTitle: mobileTitle,\n mobileHeaderContents: getSheetTextInput(dir),\n outsideClickCheck: outsideClickCheck,\n onOpen: onOpen,\n onClose: handleClose,\n onSelection: handleItemSelection,\n activeItem: activeIndex,\n triggerElementRef: textInputRef,\n options: mapOptions(filteredList),\n containerClassName: css(comboStyles.menu),\n sheetWrapperClassName: sheetWrapperClassName,\n \"data-ppui\": \"true\"\n }));\n }));\n};\n\nexport { Combobox, styles as comboboxStyles };\n","import _taggedTemplateLiteral from '@babel/runtime/helpers/esm/taggedTemplateLiteral';\nimport { css, useTheme, jsx } from '@emotion/react';\nimport { math } from 'polished';\nimport { utilStyles, ZINDEX_DROPDOWN, KeyboardCode, ScreenReaderContent } from '@paypalcorp/pp-react-utils';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _slicedToArray from '@babel/runtime/helpers/esm/slicedToArray';\nimport _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';\nimport React, { useMemo, useState, useRef, useEffect, forwardRef } from 'react';\nimport { TextInput } from '@paypalcorp/pp-react-text-input';\nimport { CaptionText, BodyText } from '@paypalcorp/pp-react-text';\nimport { LoadingSpinner } from '@paypalcorp/pp-react-loading-spinner';\nimport { ContextualAlert } from '@paypalcorp/pp-react-contextual-alert';\n\nvar _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;\nfunction styles(tokens) {\n /* istanbul ignore next */\n if (!Object.keys(tokens).length) {\n console.warn('Missing Emotion theme. Use ThemeProvider from @emotion/react to pass a valid theme from pp-react.');\n return {};\n }\n\n var sysBorderRadiusLg = tokens.sysBorderRadiusLg,\n sysBorderThicknessNormal = tokens.sysBorderThicknessNormal,\n sysColorBackgroundSurface = tokens.sysColorBackgroundSurface,\n sysColorBackgroundSurfaceHover = tokens.sysColorBackgroundSurfaceHover,\n sysSizeMediaSm = tokens.sysSizeMediaSm,\n sysSizeMediaMd = tokens.sysSizeMediaMd,\n sysSizeMediaLg = tokens.sysSizeMediaLg,\n sysSpaceLg = tokens.sysSpaceLg,\n sysSpaceMd = tokens.sysSpaceMd,\n sysSpaceSm = tokens.sysSpaceSm,\n sysSizeFieldLg = tokens.sysSizeFieldLg,\n sysSpaceTiny = tokens.sysSpaceTiny,\n sysSpaceXs = tokens.sysSpaceXs;\n\n var _utilStyles = utilStyles(tokens),\n elevationStyles = _utilStyles.elevationStyles;\n\n var base = css(_templateObject || (_templateObject = _taggedTemplateLiteral([\"\\n label: auto-suggest_base;\\n position: relative;\\n \"])));\n var suggestionListContainer = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral([\"\\n label: suggestion_list_container;\\n min-width: \", \";\\n max-width: \", \";\\n margin-top: \", \";\\n padding: \", \" 0;\\n overflow-x: hidden;\\n width: 100%;\\n \"])), math(\"2 * \".concat(sysSizeFieldLg)), sysSizeMediaLg, math(\"\".concat(sysSpaceXs, \" + \").concat(sysSpaceTiny)), sysSpaceSm);\n var elevatedSuggestionListContainer = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral([\"\\n label: elevated_suggestion_list_container;\\n \", \"\\n \", \"\\n\\n border-radius: \", \";\\n background-color: \", \";\\n z-index: \", \";\\n outline: \", \" solid transparent;\\n top: \", \";\\n position: absolute;\\n \"])), suggestionListContainer, elevationStyles.level3, sysBorderRadiusLg, sysColorBackgroundSurface, ZINDEX_DROPDOWN, sysBorderThicknessNormal, sysSizeFieldLg);\n var content = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral([\"\\n label: content;\\n padding: \", \" \", \";\\n \"])), sysSpaceMd, sysSpaceLg);\n var centeredContent = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral([\"\\n label: centered_content;\\n display: flex;\\n justify-content: center;\\n \"])));\n var suggestionSublist = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral([\"\\n label: suggestion_sublist;\\n list-style-type: none;\\n margin: 0;\\n padding: 0;\\n \"])));\n var suggestionList = css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral([\"\\n label: suggestion_list;\\n \", \"\\n overflow-y: auto;\\n max-height: \", \";\\n\\n @media (max-width: \", \") {\\n max-height: \", \";\\n }\\n \"])), suggestionSublist, sysSizeMediaSm, sysSizeMediaMd, math(\"\".concat(sysSizeMediaSm, \" / 2\")));\n var highlightedSuggesiton = css(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral([\"\\n label: highlighted_suggestion;\\n background-color: \", \";\\n \"])), sysColorBackgroundSurfaceHover);\n var suggestion = css(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral([\"\\n label: suggestion;\\n \", \"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\\n &:hover {\\n \", \"\\n }\\n \"])), content, highlightedSuggesiton);\n var errorMessage = css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral([\"\\n label: error_message;\\n margin: 0 \", \";\\n \"])), sysSpaceLg);\n var suggestionDecoration = css(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral([\"\\n label: suggestion_decoration;\\n margin-right: \", \";\\n\\n [dir='rtl'] & {\\n margin-right: 0;\\n margin-left: \", \";\\n }\\n \"])), sysSpaceMd, sysSpaceMd);\n return {\n base: base,\n suggestionListContainer: suggestionListContainer,\n elevatedSuggestionListContainer: elevatedSuggestionListContainer,\n content: content,\n centeredContent: centeredContent,\n suggestionSublist: suggestionSublist,\n suggestionList: suggestionList,\n highlightedSuggesiton: highlightedSuggesiton,\n suggestion: suggestion,\n errorMessage: errorMessage,\n suggestionDecoration: suggestionDecoration\n };\n}\n\n/**\n * Returns JSX to render suggestion with highlighted match\n * @param src\n * @param match\n */\nfunction highlightMatch(src, match) {\n if (match) {\n var escapedMatch = match.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n var regex = new RegExp(escapedMatch, 'ig');\n return src.replace(regex, '$&');\n }\n\n return src;\n}\n\nvar AutoSuggestUtils = {\n highlightMatch: highlightMatch\n};\n\nvar _excluded = [\"suggestions\", \"renderSuggestion\", \"onHighlight\", \"onSelect\", \"className\", \"listItemClassName\", \"query\", \"enableKeyboardInteraction\", \"hasSections\"];\n\nvar defaultRenderSuggestion = function (_ref, query, _styles) {\n var value = _ref.value,\n primaryText = _ref.primaryText,\n secondaryText = _ref.secondaryText,\n decoration = _ref.decoration;\n var highlightedValue = AutoSuggestUtils.highlightMatch(primaryText || value, query);\n var secondaryElm = secondaryText ? jsx(CaptionText, {\n \"data-ppui\": \"true\"\n }, secondaryText) : null;\n var decorationElm = decoration ? jsx(\"div\", {\n css: _styles.suggestionDecoration,\n \"data-ppui\": \"true\"\n }, decoration) : null;\n return jsx(React.Fragment, null, decorationElm, jsx(\"div\", {\n \"data-ppui\": \"true\"\n }, jsx(BodyText, {\n dangerouslySetInnerHTML: {\n __html: highlightedValue\n },\n \"data-ppui\": \"true\"\n }), secondaryElm));\n};\n/* Create a flat list of suggestions for highlight and selection by index */\n\n\nvar normalizeSuggestions = function (suggestions, hasSections) {\n if (!hasSections) {\n return suggestions.reduce(function (acc, suggestion, index) {\n acc.push({\n value: suggestion,\n suggestionIndex: index\n });\n return acc;\n }, []);\n }\n\n return suggestions.reduce(function (acc, section, sectionIndex) {\n if (section.suggestions) {\n section.suggestions.forEach(function (suggestion, suggestionIndex) {\n acc.push({\n value: suggestion,\n section: section,\n suggestionIndex: suggestionIndex,\n sectionIndex: sectionIndex\n });\n });\n }\n\n return acc;\n }, []);\n};\n\nvar SuggestionList = function (_ref2) {\n var _ref2$suggestions = _ref2.suggestions,\n suggestions = _ref2$suggestions === void 0 ? [] : _ref2$suggestions,\n renderSuggestion = _ref2.renderSuggestion,\n onHighlight = _ref2.onHighlight,\n onSelect = _ref2.onSelect,\n className = _ref2.className,\n listItemClassName = _ref2.listItemClassName,\n query = _ref2.query,\n _ref2$enableKeyboardI = _ref2.enableKeyboardInteraction,\n enableKeyboardInteraction = _ref2$enableKeyboardI === void 0 ? true : _ref2$enableKeyboardI,\n hasSections = _ref2.hasSections,\n rest = _objectWithoutProperties(_ref2, _excluded);\n\n var tokens = useTheme();\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var _useState = useState(-1),\n _useState2 = _slicedToArray(_useState, 2),\n highlightedIndex = _useState2[0],\n setHighlightedIndex = _useState2[1];\n\n var highlightedIndexRef = useRef(-1);\n var listRef = useRef([]);\n\n var _suggestions = normalizeSuggestions(suggestions, hasSections);\n\n var handleHighlight = function (evt, index) {\n setHighlightedIndex(index);\n highlightedIndexRef.current = index;\n /* istanbul ignore next */\n\n if (index !== -1) {\n var id = _suggestions[index].section ? \"\".concat(_suggestions[index].section.id, \"_\").concat(_suggestions[index].value.id) : _suggestions[index].value.id;\n var highlightedElm = listRef.current[id];\n\n if (highlightedElm && highlightedElm.scrollIntoView) {\n highlightedElm.scrollIntoView({\n behavior: 'smooth',\n block: 'nearest'\n });\n }\n }\n /* istanbul ignore next */\n\n\n if (onHighlight) {\n onHighlight(evt, _suggestions[index].value, _suggestions[index].section);\n }\n };\n\n var handleSelect = function (evt, index) {\n /* istanbul ignore next */\n if (onSelect) {\n onSelect(evt, _suggestions[index].value, _suggestions[index].section);\n }\n };\n /* istanbul ignore next */\n\n\n var handleKeyDown = function (evt) {\n if (!_suggestions.length) {\n return;\n }\n\n var currentHighlightedIndex = highlightedIndexRef.current;\n /* istanbul ignore next */\n\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n\n if (KeyCode.IS_ARROW_UP) {\n evt.preventDefault();\n\n if (currentHighlightedIndex > 0) {\n handleHighlight(evt, currentHighlightedIndex - 1);\n } else if (currentHighlightedIndex === 0) {\n handleHighlight(evt, _suggestions.length - 1);\n }\n } else if (KeyCode.IS_ARROW_DOWN) {\n evt.preventDefault();\n\n if (currentHighlightedIndex < _suggestions.length - 1) {\n handleHighlight(evt, currentHighlightedIndex + 1);\n } else if (currentHighlightedIndex === _suggestions.length - 1) {\n handleHighlight(evt, 0);\n }\n } else if (KeyCode.IS_ENTER) {\n evt.preventDefault();\n\n if (currentHighlightedIndex >= 0) {\n handleSelect(evt, currentHighlightedIndex);\n }\n }\n };\n\n useEffect(function () {\n setHighlightedIndex(-1);\n highlightedIndexRef.current = -1;\n\n if (suggestions.length && enableKeyboardInteraction) {\n document.addEventListener('keydown', handleKeyDown);\n }\n\n return function () {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [suggestions, enableKeyboardInteraction]);\n\n var renderSuggestionList = function (items, section) {\n var normalizedIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n return items.map(function (suggestion, index) {\n var cssVal = [_styles.suggestion, highlightedIndex >= 0 && suggestion === _suggestions[highlightedIndex].value && _styles.highlightedSuggesiton];\n var id = section ? \"\".concat(section.id, \"_\").concat(suggestion.id) : suggestion.id;\n var suggestionContent = renderSuggestion ? renderSuggestion(suggestion, query, section) : defaultRenderSuggestion(suggestion, query, _styles);\n return jsx(\"li\", _extends({\n role: \"option\"\n }, section ? {\n 'aria-describedby': section.id\n } : null, {\n key: id,\n id: id,\n ref: function ref(el) {\n return listRef.current[id] = el;\n },\n css: cssVal,\n className: listItemClassName,\n onMouseDown: function onMouseDown(evt) {\n return evt.preventDefault();\n },\n onClick: function onClick(evt) {\n handleSelect(evt, normalizedIndex + index);\n },\n \"data-ppui\": \"true\"\n }), suggestionContent);\n });\n };\n\n var listItems = hasSections ? function renderSections() {\n var currentNormalizedIndex = 0;\n return suggestions.reduce(function (acc, section) {\n if (section.suggestions && section.suggestions.length) {\n acc.push(jsx(\"li\", {\n role: \"presentation\",\n key: section.id,\n \"data-ppui\": \"true\"\n }, jsx(\"div\", {\n css: _styles.content,\n id: section.id,\n \"aria-hidden\": \"true\",\n \"data-ppui\": \"true\"\n }, jsx(CaptionText, {\n \"data-ppui\": \"true\"\n }, section.title)), jsx(\"ul\", {\n role: \"listbox\",\n css: _styles.suggestionSublist,\n \"aria-labelledby\": section.id,\n \"data-ppui\": \"true\"\n }, renderSuggestionList(section.suggestions, section, currentNormalizedIndex))));\n currentNormalizedIndex += section.suggestions.length;\n }\n\n return acc;\n }, []);\n }() : renderSuggestionList(suggestions);\n\n if (_suggestions.length) {\n return jsx(\"ul\", _extends({\n role: \"listbox\",\n css: _styles.suggestionList,\n className: className\n }, rest, {\n \"data-ppui\": \"true\"\n }), listItems);\n }\n\n return null;\n};\n\nvar _excluded$1 = [\"id\", \"value\", \"debounceTimeout\", \"fetchSuggestions\", \"suggestionList\", \"isSuggestionListInline\", \"isLoadingSuggestions\", \"onChange\", \"onFocus\", \"onKeyDown\", \"onBlur\", \"onClear\", \"className\", \"triggerComponent\", \"suggestions\", \"suggestionListFooter\", \"suggestionListContainerClassName\", \"suggestionListFooterClassName\", \"suggestionListChangeMessage\", \"suggestionListLoadingMessage\", \"suggestionListErrorMessage\", \"onSuggestionListClose\"];\nvar DEBOUNCE_TIMEOUT = 500;\n/* Get total number of suggestions */\n\nvar getNormalizedSuggestionLength = function (suggestions, hasSections) {\n if (!hasSections) {\n return suggestions.length;\n }\n\n return suggestions.reduce(function (acc, section) {\n if (section.suggestions) {\n acc += section.suggestions.length;\n }\n\n return acc;\n }, 0);\n};\n/* eslint-disable complexity */\n\n\nvar AutoSuggest = forwardRef(function (props, ref) {\n var _props$id = props.id,\n id = _props$id === void 0 ? 'default' : _props$id,\n value = props.value,\n _props$debounceTimeou = props.debounceTimeout,\n debounceTimeout = _props$debounceTimeou === void 0 ? DEBOUNCE_TIMEOUT : _props$debounceTimeou,\n _props$fetchSuggestio = props.fetchSuggestions,\n fetchSuggestions = _props$fetchSuggestio === void 0 ? function () {\n return console.warn('Required prop `fetchSuggestions` is missing');\n } : _props$fetchSuggestio,\n _props$suggestionList = props.suggestionList,\n suggestionList = _props$suggestionList === void 0 ? jsx(SuggestionList, {\n suggestions: [],\n \"data-ppui\": \"true\"\n }) : _props$suggestionList,\n isSuggestionListInline = props.isSuggestionListInline,\n isLoadingSuggestions = props.isLoadingSuggestions,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onKeyDown = props.onKeyDown,\n onBlur = props.onBlur,\n onClear = props.onClear,\n className = props.className,\n _props$triggerCompone = props.triggerComponent,\n triggerComponent = _props$triggerCompone === void 0 ? TextInput : _props$triggerCompone,\n _props$suggestions = props.suggestions,\n suggestionListFooter = props.suggestionListFooter,\n suggestionListContainerClassName = props.suggestionListContainerClassName,\n suggestionListFooterClassName = props.suggestionListFooterClassName,\n suggestionListChangeMessage = props.suggestionListChangeMessage,\n _props$suggestionList2 = props.suggestionListLoadingMessage,\n suggestionListLoadingMessage = _props$suggestionList2 === void 0 ? 'Loading suggestions' : _props$suggestionList2,\n suggestionListErrorMessage = props.suggestionListErrorMessage,\n onSuggestionListClose = props.onSuggestionListClose,\n rest = _objectWithoutProperties(props, _excluded$1);\n\n var tokens = useTheme();\n\n var _styles = useMemo(function () {\n return styles(tokens);\n }, [tokens]);\n\n var timerRef = useRef();\n var internalRef = useRef();\n var suggestionListContainerRef = useRef();\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n areSuggestionsVisible = _useState2[0],\n setSuggestionsVisible = _useState2[1];\n\n var _useState3 = useState(''),\n _useState4 = _slicedToArray(_useState3, 2),\n highlightedSuggestionId = _useState4[0],\n setHighlightedSuggestionId = _useState4[1];\n\n var _useState5 = useState(false),\n _useState6 = _slicedToArray(_useState5, 2),\n isTriggerFocused = _useState6[0],\n setTriggerFocus = _useState6[1];\n\n var inputRef = ref || internalRef;\n var suggestionsLength = getNormalizedSuggestionLength(suggestionList.props.suggestions || [], suggestionList.props.hasSections);\n\n var handleOutsideClick = function (evt) {\n var inputElm = inputRef.current;\n var suggestionListContainer = suggestionListContainerRef.current;\n /* istanbul ignore next */\n\n if (evt.target === inputElm || suggestionListContainer && suggestionListContainer.contains(evt.target)) {\n return;\n }\n /* istanbul ignore next */\n\n\n setSuggestionsVisible(false);\n };\n\n useEffect(function () {\n return function () {\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n };\n }, []);\n useEffect(function () {\n if (areSuggestionsVisible && !isSuggestionListInline) {\n document.addEventListener('click', handleOutsideClick);\n }\n\n return function () {\n document.removeEventListener('click', handleOutsideClick);\n };\n }, [areSuggestionsVisible, isSuggestionListInline]);\n\n var callSuggestionListClose = function (evt) {\n if (onSuggestionListClose && suggestionsLength) {\n onSuggestionListClose(evt);\n }\n };\n\n var suggestionListId = \"\".concat(id, \"-suggestionList\");\n var footer = suggestionListFooter ? jsx(\"div\", {\n css: _styles.content,\n className: suggestionListFooterClassName,\n \"data-ppui\": \"true\"\n }, suggestionListFooter) : null;\n var suggestionsElm = !isLoadingSuggestions && suggestionsLength > 0 && jsx(React.Fragment, null, React.cloneElement(suggestionList, {\n id: suggestionListId,\n 'aria-labelledby': \"\".concat(id, \"-label\"),\n onHighlight: function handleHighlight(evt, suggestion, section) {\n setHighlightedSuggestionId(section ? \"\".concat(section.id, \"_\").concat(suggestion.id) : suggestion.id);\n /* istanbul ignore next */\n\n if (suggestionList.props.onHighlight) {\n suggestionList.props.onHighlight(evt, suggestion, section);\n }\n },\n onSelect: function handleSelect(evt, suggestion, section) {\n /* istanbul ignore next */\n if (suggestionList.props.onSelect) {\n suggestionList.props.onSelect(evt, suggestion, section);\n }\n\n if (!isSuggestionListInline) {\n setSuggestionsVisible(false);\n }\n },\n enableKeyboardInteraction: isTriggerFocused\n }), footer);\n var loadingElm = isLoadingSuggestions ? jsx(\"div\", {\n css: _styles.centeredContent,\n \"data-ppui\": \"true\"\n }, jsx(LoadingSpinner, {\n screenReaderText: suggestionListLoadingMessage,\n size: \"md\",\n \"data-ppui\": \"true\"\n })) : null;\n var errorElm = suggestionListErrorMessage && !suggestionsLength && !isLoadingSuggestions ? jsx(ContextualAlert, {\n css: _styles.errorMessage,\n type: \"warning\",\n \"data-ppui\": \"true\"\n }, suggestionListErrorMessage) : null;\n var suggestionListContainerCssVal = isSuggestionListInline ? _styles.suggestionListContainer : _styles.elevatedSuggestionListContainer;\n var suggestionContainerElm = value && areSuggestionsVisible && (suggestionsElm || loadingElm || errorElm) ? jsx(\"div\", {\n css: suggestionListContainerCssVal,\n className: suggestionListContainerClassName,\n ref: suggestionListContainerRef,\n \"data-ppui\": \"true\"\n }, suggestionsElm, loadingElm, errorElm) : null;\n\n var _suggestListChangeMessage = suggestionListChangeMessage || \"\".concat(suggestionsLength, \" suggestions available\");\n\n var otherProps = triggerComponent !== TextInput ? {\n onClear: function handleClear(evt) {\n callSuggestionListClose(evt);\n\n if (onClear) {\n onClear(evt);\n }\n }\n } : {};\n return jsx(\"div\", {\n css: _styles.base,\n className: className,\n \"data-ppui-info\": \"auto-suggest_2.7.3\"\n }, jsx(triggerComponent, _extends({}, rest, {\n id: id,\n value: value,\n ref: inputRef,\n onChange: function handleChange(evt) {\n var newValue = evt.target.value;\n\n if (timerRef.current) {\n clearTimeout(timerRef.current);\n }\n /* istanbul ignore next */\n\n\n timerRef.current = setTimeout(function () {\n fetchSuggestions(newValue);\n }, debounceTimeout);\n setSuggestionsVisible(true);\n onChange(evt);\n },\n onFocus: function handleFocus(evt) {\n if (suggestionsLength) {\n setSuggestionsVisible(true);\n }\n\n fetchSuggestions(value);\n setTriggerFocus(true);\n /* istanbul ignore next */\n\n if (onFocus) {\n onFocus(evt);\n }\n },\n onKeyDown: function handleKey(evt) {\n /* istanbul ignore next */\n var KeyCode = new KeyboardCode(evt.key || evt.keyCode);\n\n if (KeyCode.IS_ESC || KeyCode.IS_TAB) {\n if (!isSuggestionListInline) {\n setSuggestionsVisible(false);\n }\n /* istanbul ignore next */\n\n\n if (KeyCode.IS_ESC && onClear) {\n onClear(evt);\n }\n }\n /* istanbul ignore next */\n\n\n if (onKeyDown) {\n onKeyDown(evt);\n }\n },\n onBlur: function handleBlur(evt) {\n // onSuggestionListClose callback\n // this callback is triggered ONLY when suggestionList is visible\n callSuggestionListClose(evt);\n setTriggerFocus(false);\n setSuggestionsVisible(false);\n /* istanbul ignore next */\n\n if (onBlur) {\n onBlur(evt);\n }\n },\n \"aria-activedescendant\": highlightedSuggestionId,\n \"aria-autocomplete\": \"list\",\n role: \"combobox\",\n \"aria-expanded\": suggestionsLength > 0 && areSuggestionsVisible,\n \"aria-owns\": suggestionListId,\n \"aria-haspopup\": \"listbox\"\n }, otherProps, {\n \"data-ppui\": \"true\"\n })), suggestionContainerElm, jsx(ScreenReaderContent, {\n role: \"status\",\n \"data-ppui\": \"true\"\n }, _suggestListChangeMessage));\n});\n\nexport { AutoSuggest, AutoSuggestUtils, SuggestionList, styles as autoSuggestStyles };\n"],"sourceRoot":""}