{"version":3,"file":"select-wrapper-b8fbda68.js","sources":["../../../node_modules/lodash.uniqueid/index.js","../../../client/src/javascripts/customer_pages/_utils/select-wrapper.jsx"],"sourcesContent":["/**\n * lodash (Custom Build) \n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to generate unique IDs. */\nvar idCounter = 0;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\n/**\n * Generates a unique ID. If `prefix` is given, the ID is appended to it.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {string} [prefix=''] The value to prefix the ID with.\n * @returns {string} Returns the unique ID.\n * @example\n *\n * _.uniqueId('contact_');\n * // => 'contact_104'\n *\n * _.uniqueId();\n * // => '105'\n */\nfunction uniqueId(prefix) {\n var id = ++idCounter;\n return toString(prefix) + id;\n}\n\nmodule.exports = uniqueId;\n","// Import Libraries\nimport React, { useState, useRef, useEffect } from 'react';\nimport classNames from 'classnames';\n// Import JS Modules\nimport uniqueId from 'lodash.uniqueid';\n\nexport default function SelectWrapper({\n value: propsValue,\n options,\n placeholder,\n label = '',\n id,\n disabled,\n isRequired,\n className,\n name,\n onFocus,\n defaultText,\n inputStyleLink,\n withCaret,\n onChange,\n}) {\n useEffect(() => {\n if (!propsValue) {\n [...selectRef.current].forEach(option => (option.selected = false));\n }\n }, [propsValue]);\n\n const [valueHasBeenChanged, setValueHasBeenChanged] = useState(false);\n const selectRef = useRef();\n let selectValue = propsValue;\n\n const $options = options.map((option, i) => {\n if (selectValue == option.label) {\n selectValue = option.value;\n }\n\n const selectedOption = selectValue == option.value;\n\n if (typeof option.label === 'string' && typeof option.value === 'string' && option.value.includes(\"print_border--yes\")) {\n let parenthesisPos = option.label.indexOf(\"(\")\n if (parenthesisPos >= 0) {\n option.label = option.label.slice(0, parenthesisPos-1) + \" with border \" + option.label.slice(parenthesisPos)\n } else {\n option.label = option.label + \" with border\";\n }\n }\n\n return (\n \n {option.label}\n \n );\n });\n\n if (placeholder) {\n if (!valueHasBeenChanged) {\n selectValue = '';\n }\n\n $options.unshift(\n \n );\n }\n\n function handleChange(e) {\n onChange && onChange(e.target.value);\n\n setValueHasBeenChanged(true);\n }\n\n function handleLabelClick() {\n selectRef.current.focus();\n }\n\n const inputID =\n id ||\n `${label || uniqueId('select')}-input-id`.toLowerCase().replace(' ', '-');\n\n const $select = (\n \n {$options}\n \n );\n\n if (inputStyleLink) {\n const { label: valueText = defaultText } =\n options.find(option => option.value == selectValue) || {};\n\n return (\n \n {label && (\n \n )}\n
\n {(valueText || '').replace(/\\(.*\\)\\s*/, '')}\n {$select}\n
\n \n );\n }\n\n return $select;\n}\n"],"names":["INFINITY","symbolTag","freeGlobal","global","freeSelf","root","objectProto","idCounter","objectToString","Symbol","symbolProto","symbolToString","baseToString","value","isSymbol","result","isObjectLike","toString","uniqueId","prefix","id","lodash_uniqueid","SelectWrapper","propsValue","options","placeholder","label","disabled","isRequired","className","name","onFocus","defaultText","inputStyleLink","withCaret","onChange","useEffect","selectRef","option","valueHasBeenChanged","setValueHasBeenChanged","useState","useRef","selectValue","$options","selectedOption","parenthesisPos","React","classNames","handleChange","e","handleLabelClick","inputID","$select","valueText"],"mappings":"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","x_google_ignoreList":[0]}