@razorpay/blade 5.4.3 → 5.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/build/components/index.d.ts +23 -7
- package/build/components/index.native.d.ts +23 -7
- package/build/components/index.native.js +23 -7
- package/build/components/index.native.js.map +1 -1
- package/build/components/index.web.js +255 -17
- package/build/components/index.web.js.map +1 -1
- package/build/css/bankingThemeDarkDesktop.css +1 -1
- package/build/css/bankingThemeDarkMobile.css +1 -1
- package/build/css/bankingThemeLightDesktop.css +1 -1
- package/build/css/bankingThemeLightMobile.css +1 -1
- package/build/css/paymentThemeDarkDesktop.css +1 -1
- package/build/css/paymentThemeDarkMobile.css +1 -1
- package/build/css/paymentThemeLightDesktop.css +1 -1
- package/build/css/paymentThemeLightMobile.css +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sources":["../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/_nativeKeysIn.js","../../node_modules/lodash/_baseKeysIn.js","../../node_modules/lodash/keysIn.js","../../node_modules/lodash/_cloneBuffer.js","../../node_modules/lodash/_copyArray.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_cloneArrayBuffer.js","../../node_modules/lodash/_cloneSymbol.js","../../node_modules/lodash/_cloneTypedArray.js","../../node_modules/lodash/_baseCreate.js","../../node_modules/lodash/_initCloneObject.js","../../node_modules/lodash/isMap.js","../../node_modules/lodash/isSet.js","../../src/utils/metaAttribute/metaAttribute.native.ts","../../src/utils/getColorScheme/getColorScheme.native.ts","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/get.js","../../src/utils/getPlatformType/getPlatformType.ts","../../node_modules/lodash/isEmpty.js","../../node_modules/lodash/_equalByTag.js","../../src/utils/isValidAllowedChildren/isValidAllowedChildren.ts","../../src/utils/makeAccessible/accessibilityMapNative.ts","../../src/utils/makeAccessible/makeAccessible.native.ts","../../src/utils/makeBezier/makeBezier.native.ts","../../src/utils/makeBorderSize/makeBorderSize.ts","../../src/utils/makeMotionTime/makeMotionTime.native.ts","../../src/utils/makeSize/makeSize.ts","../../src/utils/makeSpace/makeSpace.ts","../../src/utils/makeTypographySize/makeTypographySize.native.ts","../../node_modules/lodash/_assignMergeValue.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/isArrayLikeObject.js","../../node_modules/lodash/isPlainObject.js","../../node_modules/lodash/_safeGet.js","../../node_modules/lodash/toPlainObject.js","../../node_modules/lodash/_baseMergeDeep.js","../../node_modules/lodash/_baseMerge.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_apply.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/_createAssigner.js","../../node_modules/lodash/merge.js","../../src/utils/toTitleCase/toTitleCase.ts","../../src/utils/useBreakpoint/useBreakpoint.ts","../../src/tokens/global/fontFamily/fontFamily.native.ts","../../src/tokens/global/typography.ts","../../src/tokens/global/motion.ts","../../src/tokens/theme/index.ts","../../src/utils/useColorScheme/useColorScheme.ts","../../src/utils/usePrevious/usePrevious.ts","../../src/utils/platform/castUtils.ts","../../src/components/Alert/styles.ts","../../src/components/Alert/StyledAlert.native.tsx","../../src/components/Icons/_Svg/ClipPath/ClipPath.native.tsx","../../src/components/Icons/_Svg/Defs/Defs.native.tsx","../../src/components/Icons/_Svg/G/G.native.tsx","../../src/components/Icons/_Svg/Path/Path.native.tsx","../../src/components/Icons/_Svg/Rect/Rect.native.tsx","../../src/components/Icons/_Svg/Svg/Svg.native.tsx","../../src/components/BladeProvider/useTheme.ts","../../src/components/BladeProvider/BladeProvider.tsx","../../src/components/Icons/useIconProps/useIconProps.tsx","../../src/components/Icons/ArrowDownIcon/ArrowDownIcon.tsx","../../src/components/Icons/ArrowLeftIcon/ArrowLeftIcon.tsx","../../src/components/Icons/ArrowRightIcon/ArrowRightIcon.tsx","../../src/components/Icons/ArrowUpRightIcon/ArrowUpRightIcon.tsx","../../src/components/Icons/ArrowUpIcon/ArrowUpIcon.tsx","../../src/components/Icons/CheckIcon/CheckIcon.tsx","../../src/components/Icons/ChevronDownIcon/ChevronDownIcon.tsx","../../src/components/Icons/ChevronLeftIcon/ChevronLeftIcon.tsx","../../src/components/Icons/ChevronRightIcon/ChevronRightIcon.tsx","../../src/components/Icons/ChevronUpIcon/ChevronUpIcon.tsx","../../src/components/Icons/CloseIcon/CloseIcon.tsx","../../src/components/Icons/CreditCardIcon/CreditCardIcon.tsx","../../src/components/Icons/DollarIcon/DollarIcon.tsx","../../src/components/Icons/DownloadIcon/DownloadIcon.tsx","../../src/components/Icons/EditIcon/EditIcon.tsx","../../src/components/Icons/EyeIcon/EyeIcon.tsx","../../src/components/Icons/EyeOffIcon/EyeOffIcon.tsx","../../src/components/Icons/FileTextIcon/FileTextIcon.tsx","../../src/components/Icons/HistoryIcon/HistoryIcon.tsx","../../src/components/Icons/HomeIcon/HomeIcon.tsx","../../src/components/Icons/InfoIcon/InfoIcon.tsx","../../src/components/Icons/LinkIcon/LinkIcon.tsx","../../src/components/Icons/LockIcon/LockIcon.tsx","../../src/components/Icons/PauseIcon/PauseIcon.tsx","../../src/components/Icons/PlusIcon/PlusIcon.tsx","../../src/components/Icons/RupeeIcon/RupeeIcon.tsx","../../src/components/Icons/SearchIcon/SearchIcon.tsx","../../src/components/Icons/SettingsIcon/SettingsIcon.tsx","../../src/components/Icons/SlashIcon/SlashIcon.tsx","../../src/components/Icons/TrashIcon/TrashIcon.tsx","../../src/components/Icons/AlertTriangleIcon/AlertTriangleIcon.tsx","../../src/components/Icons/AlertOctagonIcon/AlertOctagonIcon.tsx","../../src/components/Icons/CheckCircleIcon/CheckCircleIcon.tsx","../../src/components/Icons/RefreshLeftIcon/RefreshLeftIcon.tsx","../../src/components/Icons/MinusIcon/MinusIcon.tsx","../../src/components/Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.tsx","../../src/components/Icons/TrendingUpIcon/TrendingUpIcon.tsx","../../src/components/Icons/TrendingDownIcon/TrendingDownIcon.tsx","../../src/components/Icons/UsersIcon/UsersIcon.tsx","../../src/components/Icons/HelpCircleIcon/HelpCircleIcon.tsx","../../src/components/Icons/ExternalLinkIcon/ExternalLinkIcon.tsx","../../src/components/Icons/MailIcon/MailIcon.tsx","../../src/components/Button/IconButton/StyledIconButton.native.tsx","../../src/components/Button/IconButton/IconButton.tsx","../../src/components/Box/getBoxStyles.ts","../../src/components/Box/Box.native.tsx","../../src/components/Typography/BaseText/getBaseTextStyles.ts","../../src/components/Typography/BaseText/BaseText.native.tsx","../../src/components/Typography/Title/Title.tsx","../../src/components/Typography/Heading/Heading.tsx","../../src/components/Typography/Text/Text.tsx","../../src/components/Typography/Code/Code.tsx","../../src/components/Button/BaseButton/getStyledBaseButtonStyles.ts","../../src/components/Button/BaseButton/StyledBaseButton.native.tsx","../../src/components/Button/BaseButton/buttonTokens.ts","../../src/components/LiveAnnouncer/LiveAnnouncer.native.tsx","../../src/components/Spinner/BaseSpinner/spinnerTokens.ts","../../src/components/Spinner/BaseSpinner/SpinnerIcon.tsx","../../src/components/Spinner/BaseSpinner/SpinningBox.native.tsx","../../src/components/Spinner/BaseSpinner/BaseSpinner.tsx","../../src/components/Button/BaseButton/BaseButton.tsx","../../src/components/Link/BaseLink/getStyledLinkStyles.ts","../../src/components/Link/BaseLink/StyledBaseLink.native.tsx","../../src/hooks/useInteraction.ts","../../src/components/Link/BaseLink/BaseLink.tsx","../../src/components/Alert/Alert.tsx","../../src/components/Badge/getStyledBadgeStyles.ts","../../src/components/Badge/StyledBadge.native.tsx","../../src/components/Badge/badgeTokens.ts","../../src/components/Badge/Badge.tsx","../../src/components/Card/CardSurface.native.tsx","../../src/components/Card/CardContext.tsx","../../src/components/Card/Card.tsx","../../src/components/Link/Link/Link.tsx","../../src/components/Button/Button/Button.tsx","../../src/components/Card/Divider.native.tsx","../../src/components/Counter/counterTokens.ts","../../src/components/Counter/getStyledCounterStyles.ts","../../src/components/Counter/StyledCounter.native.tsx","../../src/components/Counter/Counter.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Card/CardFooter.tsx","../../node_modules/lodash/isUndefined.js","../../src/components/Checkbox/CheckboxGroup/CheckboxGroupContext.ts","../../src/components/Checkbox/checkboxTokens.ts","../../src/components/Checkbox/CheckboxIcon/CheckboxIconWrapperStyles.ts","../../src/components/Checkbox/CheckboxIcon/CheckboxIconWrapper.native.tsx","../../src/components/Checkbox/CheckboxIcon/Fade.native.tsx","../../src/components/Checkbox/CheckboxIcon/CheckboxIcon.tsx","../../src/hooks/useControllable.ts","../../src/hooks/useIsomorphicLayoutEffect.ts","../../src/hooks/useId.ts","../../src/components/Form/useFormId.ts","../../src/components/Checkbox/useCheckbox.ts","../../src/components/Form/FormHintWrapper.native.tsx","../../src/components/Form/FormHint.tsx","../../src/components/VisuallyHidden/ScreenReaderStyles.ts","../../src/components/VisuallyHidden/VisuallyHidden.native.tsx","../../src/components/Form/FormLabel.tsx","../../src/components/Form/Selector/SelectorLabel.native.tsx","../../src/components/Form/Selector/SelectorTitle.tsx","../../src/components/Form/Selector/SelectorSupportText.tsx","../../src/components/Form/Selector/SelectorInput.native.tsx","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/CheckboxGroup/useCheckboxGroup.ts","../../src/components/Form/Selector/SelectorGroupField.tsx","../../src/components/Checkbox/CheckboxGroup/CheckboxGroup.tsx","../../src/components/Input/BaseInput/BaseInputVisuals.tsx","../../src/components/Typography/Text/getTextStyles.ts","../../src/components/Input/BaseInput/baseInputStyles.ts","../../src/components/Input/BaseInput/StyledBaseInput.native.tsx","../../src/components/Input/BaseInput/BaseInputAnimatedBorder.native.tsx","../../src/components/Input/BaseInput/BaseInputWrapper.tsx","../../src/components/Input/BaseInput/BaseInput.tsx","../../src/components/Form/CharacterCounter/CharacterCounter.tsx","../../src/components/Spinner/Spinner/Spinner.tsx","../../src/components/Input/TextInput/TextInput.tsx","../../src/components/Input/PasswordInput/PasswordInput.tsx","../../src/components/Input/TextArea/TextArea.tsx","../../src/components/Input/OTPInput/OTPInput.tsx","../../src/components/Icons/_Svg/Circle/Circle.native.tsx","../../src/components/Indicator/Indicator.tsx","../../node_modules/lodash/_baseClamp.js","../../node_modules/lodash/_trimmedEndIndex.js","../../node_modules/lodash/_baseTrim.js","../../node_modules/lodash/toNumber.js","../../node_modules/lodash/clamp.js","../../src/components/ProgressBar/progressBarTokens.ts","../../src/components/ProgressBar/ProgressBarFilled.native.tsx","../../src/components/ProgressBar/ProgressBar.tsx","../../src/components/Radio/useRadio.ts","../../src/components/Radio/radioTokens.ts","../../src/components/Radio/RadioIcon/RadioIconWrapperStyles.ts","../../src/components/Radio/RadioIcon/RadioIconWrapper.native.tsx","../../src/components/Radio/RadioIcon/Fade.native.tsx","../../src/components/Radio/RadioIcon/RadioIcon.tsx","../../src/components/Radio/RadioGroup/RadioContext.tsx","../../src/components/Radio/Radio.tsx","../../src/components/Radio/RadioGroup/useRadioGroup.ts","../../src/components/Radio/RadioGroup/RadioGroup.tsx","../../src/components/SkipNav/SkipNav.native.tsx"],"sourcesContent":["/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\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\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\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 != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","const metaAttribute = (_name: string, _value: string): Record<string, string> => {\n return {};\n};\n\nexport { metaAttribute };\n","import { Appearance } from 'react-native';\nimport type { ColorSchemeNames, ColorSchemeNamesInput } from '~tokens/theme';\n\nexport const getColorScheme = (colorScheme: ColorSchemeNamesInput = 'light'): ColorSchemeNames => {\n // @TODO: convert this to hook as Appearance API also adds an eventListener which subscribes to the colorscheme changes on the device\n if (colorScheme === 'light' || colorScheme === 'dark') {\n return colorScheme;\n }\n\n if (colorScheme === 'system') {\n return Appearance.getColorScheme() ?? 'light';\n }\n\n return 'light';\n};\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\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) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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 (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\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\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\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 convert.\n * @returns {string} Returns the converted 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\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","export type PlatformTypes = 'browser' | 'node' | 'react-native' | 'unknown';\n\nexport const getPlatformType = (): PlatformTypes => {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return 'react-native';\n }\n\n if (typeof document !== 'undefined') {\n return 'browser';\n }\n\n if (typeof process !== 'undefined') {\n return 'node';\n }\n\n return 'unknown';\n};\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\n\n/**\n * A type defining React component with additional static prop `componentId`\n */\ntype WithComponentId<Props> = ((props: Props) => React.ReactElement) & {\n componentId: string;\n};\n\n/**\n * Gets the `componentId` prop of React component if it exists.\n */\nconst getComponentId = (component: React.ReactNode): string | null => {\n if (!React.isValidElement(component)) return null;\n return (component.type as any)?.componentId;\n};\n\n/**\n * Checks if the `component` matches the `componentId`\n */\nconst isValidAllowedChildren = (component: React.ReactNode, id: string): boolean => {\n return getComponentId(component) === id;\n};\n\nexport { isValidAllowedChildren, getComponentId, WithComponentId };\n","import type { AccessibilityMap } from './types';\n\nexport const accessibilityValue = {\n valueMax: 'max',\n valueMin: 'min',\n valueNow: 'now',\n valueText: 'text',\n};\n\nexport const accessibilityState = {\n selected: 'selected',\n disabled: 'disabled',\n expanded: 'expanded',\n busy: 'busy',\n checked: 'checked',\n};\n\nexport const accessibilityValueKeys = Object.keys(accessibilityValue);\nexport const accessibilityStateKeys = Object.keys(accessibilityState);\n\n// TODO:\n// accessibilityViewIsModal\nexport const accessibilityMap: AccessibilityMap = {\n ...accessibilityState,\n ...accessibilityValue,\n activeDescendant: 'accessibilityActiveDescendant',\n atomic: 'accessibilityAtomic',\n autoComplete: 'accessibilityAutoComplete',\n colCount: 'accessibilityColCount',\n colIndex: 'accessibilityColIndex',\n colSpan: 'accessibilityColSpan',\n controls: 'accessibilityControls',\n describedBy: 'accessibilityDescribedBy',\n details: 'accessibilityDetails',\n errorMessage: 'accessibilityErrorMessage',\n flowTo: 'accessibilityFlowTo',\n hasPopup: 'accessibilityHasPopup',\n hidden: 'accessibilityHidden',\n invalid: 'accessibilityInvalid',\n keyShortcuts: 'accessibilityKeyShortcuts',\n label: 'accessibilityLabel',\n labelledBy: 'accessibilityLabelledBy',\n liveRegion: 'accessibilityLiveRegion',\n modal: 'accessibilityModal',\n multiline: 'accessibilityMultiline',\n multiSelectable: 'accessibilityMultiSelectable',\n orientation: 'accessibilityOrientation',\n owns: 'accessibilityOwns',\n placeholder: 'accessibilityPlaceholder',\n posInSet: 'accessibilityPosInSet',\n pressed: 'accessibilityPressed',\n readOnly: 'accessibilityReadOnly',\n required: 'accessibilityRequired',\n role: 'accessibilityRole',\n roleDescription: 'accessibilityRoleDescription',\n rowCount: 'accessibilityRowCount',\n rowIndex: 'accessibilityRowIndex',\n rowSpan: 'accessibilityRowSpan',\n setSize: 'accessibilitySetSize',\n sort: 'accessibilitySort',\n current: 'accessibilityCurrent',\n dropEffect: 'accessibilityDropEffect',\n grabbed: 'accessibilityGrabbed',\n level: 'accessibilityLevel',\n relevant: 'accessibilityRelevant',\n};\n\nexport const accessibilityRoleMap = {\n alert: 'alert',\n button: 'button',\n checkbox: 'checkbox',\n combobox: 'combobox',\n image: 'image',\n link: 'link',\n menu: 'menu',\n menubar: 'menubar',\n menuitem: 'menuitem',\n progressbar: 'progressbar',\n radio: 'radio',\n radiogroup: 'radiogroup',\n scrollbar: 'scrollbar',\n search: 'search',\n spinbutton: 'spinbutton',\n switch: 'switch',\n tab: 'tab',\n tablist: 'tablist',\n timer: 'timer',\n togglebutton: 'togglebutton',\n toolbar: 'toolbar',\n heading: 'header',\n // mapped from web to native\n slider: 'adjustable',\n img: 'image',\n presentation: 'none',\n region: 'summary',\n imagebutton: 'imagebutton',\n keyboardkey: 'keyboardkey',\n label: 'label',\n text: 'text',\n meter: 'progressbar',\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n accessibilityMap,\n accessibilityRoleMap,\n accessibilityStateKeys,\n accessibilityValueKeys,\n} from './accessibilityMapNative';\nimport type { AccessibilityMap, AccessibilityProps } from './types';\n\nexport const makeAccessible = (props: Partial<AccessibilityProps>): Record<string, unknown> => {\n const newProps: Record<string, any> = {};\n\n // loop through all the incoming props and map them\n for (const key in props) {\n const propKey = key as keyof AccessibilityMap;\n const propValue = props[propKey];\n const accessibilityAttribute = accessibilityMap[propKey];\n\n // group accesibilityState prop for native\n if (accessibilityStateKeys.includes(propKey)) {\n newProps.accessibilityState = {\n ...newProps.accessibilityState,\n [accessibilityAttribute]: propValue,\n };\n continue;\n }\n\n // group accesibilityValue prop for native\n if (accessibilityValueKeys.includes(propKey)) {\n newProps.accessibilityValue = {\n ...newProps.accessibilityValue,\n [accessibilityAttribute]: propValue,\n };\n continue;\n }\n\n // handle accessibilityHidden\n // in react-native we have 2 platform-specific values for it.\n if (propKey === 'hidden') {\n if (propValue === true) {\n newProps.accessibilityElementsHidden = true;\n newProps.importantForAccessibility = 'no-hide-descendants';\n }\n\n delete newProps.accessibilityHidden;\n continue;\n }\n\n if (accessibilityAttribute) {\n newProps[accessibilityAttribute] = propValue;\n } else {\n console.warn(\n `[Blade: makeAccessible]: No mapping found for ${propKey}. Make sure you have entered valid key`,\n );\n }\n }\n\n if (newProps.accessibilityRole) {\n // map web to native overlapping roles\n type Roles = keyof typeof accessibilityRoleMap;\n const role = accessibilityRoleMap[newProps.accessibilityRole as Roles];\n newProps.accessibilityRole = role;\n\n // ignore unsupported roles\n if (!role) {\n const validRoles = Object.keys(accessibilityRoleMap).join(', ');\n console.log(\n `[Blade: makeAccessible]: Unsupported accessibility role for react-native. Expected one of ${validRoles} but found ${\n props.role as string\n }`,\n );\n delete newProps.accessibilityRole;\n }\n }\n\n return newProps;\n};\n","import { Easing } from 'react-native-reanimated';\nimport type { EasingFunctionFactory } from 'react-native-reanimated';\n\nexport const makeBezier = (\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n): EasingFunctionFactory => {\n return Easing.bezier(x1, y1, x2, y2);\n};\n","export function makeBorderSize<T extends number>(size: T): `${T}px`;\nexport function makeBorderSize<T extends string>(size: T): T;\nexport function makeBorderSize<T extends number | string>(size: T): `${T}px` | T {\n if (typeof size === 'number') {\n return `${size}px`;\n }\n return size;\n}\n","import type { MakeMotionTime } from './types';\nimport type { Platform } from '~utils';\n\nexport const makeMotionTime = <T extends number>(\n time: T,\n): Platform.CastNative<MakeMotionTime<T>> => {\n return time;\n};\n","export type MakeSize<T extends number> = `${T}px`;\n\nexport const makeSize = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","export const makeSpace = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","export const makeTypographySize = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","export const toTitleCase = (inputString: string): string =>\n inputString\n .toLowerCase()\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n","/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport { useEffect, useState, useCallback, useMemo } from 'react';\nimport { getPlatformType } from '../getPlatformType';\nimport type { Breakpoints } from '~tokens/global';\n\nconst deviceType = {\n desktop: 'desktop',\n mobile: 'mobile',\n} as const;\n\ntype DeviceType = keyof typeof deviceType;\ntype Breakpoint = keyof Breakpoints | undefined;\n\ntype BreakpointAndDevice = {\n matchedBreakpoint: Breakpoint;\n matchedDeviceType: DeviceType;\n};\n\nexport const useBreakpoint = ({\n breakpoints,\n}: {\n breakpoints: Breakpoints;\n}): BreakpointAndDevice => {\n const supportsMatchMedia =\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof window?.matchMedia === 'function';\n\n const breakpointsTokenAndQueryCollection = useMemo(\n () =>\n (supportsMatchMedia\n ? Object.entries(breakpoints).map(([token, screenSize], index, breakpointsArray) => {\n let mediaQuery = '';\n\n if (token === 'max') {\n mediaQuery = `screen and (min-width: ${screenSize}px)`;\n } else if (breakpointsArray[index - 1]) {\n mediaQuery = `screen and (min-width: ${\n breakpointsArray[index - 1][1] + 1\n }px) and (max-width: ${screenSize}px)`;\n } else {\n mediaQuery = `screen and (max-width: ${screenSize}px)`;\n }\n\n return { token, screenSize, mediaQuery };\n })\n : []) as {\n token: keyof Breakpoints;\n screenSize: number;\n mediaQuery: string;\n }[],\n [breakpoints, supportsMatchMedia],\n );\n\n const getMatchedDeviceType = useCallback((matchedBreakpoint: Breakpoint): DeviceType => {\n let matchedDeviceType: DeviceType = deviceType.mobile;\n const platform = getPlatformType();\n if (platform === 'react-native') {\n matchedDeviceType = deviceType.mobile;\n } else if (platform === 'browser') {\n if (matchedBreakpoint && ['xs', 's', 'm'].includes(matchedBreakpoint)) {\n // tablet is also categorised as mobile\n matchedDeviceType = deviceType.mobile;\n } else {\n matchedDeviceType = deviceType.desktop;\n }\n } else if (platform === 'node') {\n //@TODO: Check for useragent for node\n matchedDeviceType = deviceType.desktop;\n }\n return matchedDeviceType;\n }, []);\n\n const getMatchedBreakpoint = useCallback(\n (event?: MediaQueryListEvent): Breakpoint => {\n const matchedBreakpoint =\n breakpointsTokenAndQueryCollection.find(({ mediaQuery = '' }) => {\n // this will run whenever mediaQuery change event is triggered\n if (event?.media === mediaQuery) {\n return true;\n }\n // this will run when the state is initialised for the first time and hence the event object will be empty so we'll fallback to browser's window object\n if (window.matchMedia(mediaQuery).matches) {\n return true;\n }\n return false;\n })?.token ?? undefined;\n\n return matchedBreakpoint;\n },\n [breakpointsTokenAndQueryCollection],\n );\n\n const [breakpointAndDevice, setBreakpointAndDevice] = useState(() => {\n const matchedBreakpoint = getMatchedBreakpoint();\n const matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);\n return {\n matchedBreakpoint,\n matchedDeviceType,\n };\n });\n\n useEffect(() => {\n if (!supportsMatchMedia) {\n return undefined;\n }\n\n const handleMediaQueryChange = (event: MediaQueryListEvent): void => {\n setBreakpointAndDevice(() => {\n const matchedBreakpoint = getMatchedBreakpoint(event);\n const matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);\n\n return { matchedBreakpoint, matchedDeviceType };\n });\n };\n\n const mediaQueryInstances = breakpointsTokenAndQueryCollection.map(({ mediaQuery = '' }) => {\n const mediaQueryInstance = window.matchMedia(mediaQuery);\n /**\n * the mediaquery event listener is available on mediaQuery instances and not `window`\n * we iterate over all the breakpoints we have, register each instance and store them as `mediaQueryInstances` so we can later unregister all of them.\n */\n if (mediaQueryInstance.addEventListener) {\n mediaQueryInstance.addEventListener('change', handleMediaQueryChange);\n } else {\n // In older browsers MediaQueryList do not yet inherit from EventTarget, So using addListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n mediaQueryInstance.addListener(handleMediaQueryChange);\n }\n return mediaQueryInstance;\n });\n\n return (): void => {\n mediaQueryInstances.forEach((mediaQueryInstance) => {\n if (mediaQueryInstance.removeEventListener) {\n mediaQueryInstance.removeEventListener('change', handleMediaQueryChange);\n } else {\n // In older browsers MediaQueryList do not yet inherit from EventTarget, So using removeListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/removeListener\n mediaQueryInstance.removeListener(handleMediaQueryChange);\n }\n });\n };\n }, [\n breakpointsTokenAndQueryCollection,\n getMatchedBreakpoint,\n getMatchedDeviceType,\n supportsMatchMedia,\n ]);\n\n // @TODO: handle SSR scenarios\n return breakpointAndDevice;\n};\n","import { Platform } from 'react-native';\nimport type { FontFamily } from './types';\n\nconst fontFamily: FontFamily = {\n text: 'Lato',\n code: Platform.OS === 'ios' ? 'Courier' : 'monospace',\n};\n\nexport default fontFamily;\n","import fontFamily from './fontFamily';\nimport type { FontFamily } from './fontFamily/types';\n\ntype FontWeight = {\n regular: 400;\n bold: 700;\n};\n\n/**\n * For font size and line-heights we can’t say from xl to 2xl the value will necessary increase.\n * it might decrease or remain same because these are alias tokens and we need aliases for cross platform.\n * so for example xl on mobile can be 32px and on desktop xl can be 34px,\n * similarly 2xl on mobile can be 34px but on desktop doesn’t necessarily mean 2xl will be more than xl(34px) it can be 32 as well since visually they make better hierarchy.\n */\n\nexport type FontSize = {\n /** desktop: 9(px/rem/pt)\n *\n * mobile: 10(px/rem/pt)\n */\n 10: number;\n /** desktop: 10(px/rem/pt)\n *\n * mobile: 11(px/rem/pt)\n */\n 25: number;\n /** desktop: 11(px/rem/pt)\n *\n * mobile: 11(px/rem/pt)\n */\n 50: number;\n /** desktop: 12(px/rem/pt)\n *\n * mobile: 12(px/rem/pt)\n */\n 75: number;\n /** desktop: 14(px/rem/pt)\n *\n * mobile: 15(px/rem/pt)\n */\n 100: number;\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 17(px/rem/pt)\n */\n 200: number;\n /** desktop: 18(px/rem/pt)\n *\n * mobile: 18(px/rem/pt)\n */\n 300: number;\n /** desktop: 20(px/rem/pt)\n *\n * mobile: 20(px/rem/pt)\n */\n 400: number;\n /** desktop: 22(px/rem/pt)\n *\n * mobile: 22(px/rem/pt)\n */\n 500: number;\n /** desktop: 25(px/rem/pt)\n *\n * mobile: 22(px/rem/pt)\n */\n 600: number;\n /** desktop: 28(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n 700: number;\n /** desktop: 32(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n 800: number;\n /** desktop: 36(px/rem/pt)\n *\n * mobile: 29(px/rem/pt)\n */\n 900: number;\n /** desktop: 40(px/rem/pt)\n *\n * mobile: 29(px/rem/pt)\n */\n 1000: number;\n};\n\nconst fontWeight: FontWeight = {\n regular: 400,\n bold: 700,\n};\n\nexport type Typography = {\n fonts: {\n family: FontFamily;\n size: FontSize;\n weight: FontWeight;\n };\n lineHeights: {\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 16(px/rem/pt)\n */\n s: number;\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 18(px/rem/pt)\n */\n m: number;\n /** desktop: 20(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n l: number;\n /** desktop: 24(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n xl: number;\n /** desktop: 24(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n '2xl': number;\n /** desktop: 28(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n '3xl': number;\n /** desktop: 40(px/rem/pt)\n *\n * mobile: 32(px/rem/pt)\n */\n '4xl': number;\n /** desktop: 42(px/rem/pt)\n *\n * mobile: 30(px/rem/pt)\n */\n '5xl': number;\n /** desktop: 60(px/rem/pt)\n *\n * mobile: 40(px/rem/pt)\n */\n '6xl': number;\n };\n // letterSpacings: {};\n};\n\nexport type TypographyPlatforms = 'onDesktop' | 'onMobile';\n\nexport type TypographyWithPlatforms = Record<TypographyPlatforms, Typography>;\n\nconst typography: TypographyWithPlatforms = {\n onDesktop: {\n fonts: {\n family: {\n ...fontFamily,\n },\n size: {\n 10: 9,\n 25: 10,\n 50: 11,\n 75: 12,\n 100: 14,\n 200: 16,\n 300: 18,\n 400: 20,\n 500: 22,\n 600: 25,\n 700: 28,\n 800: 32,\n 900: 36,\n 1000: 40,\n },\n weight: {\n ...fontWeight,\n },\n },\n lineHeights: {\n s: 16,\n m: 16,\n l: 20,\n xl: 24,\n '2xl': 24,\n '3xl': 28,\n '4xl': 40,\n '5xl': 42,\n '6xl': 60,\n },\n // letterSpacings: {},\n },\n onMobile: {\n fonts: {\n family: {\n ...fontFamily,\n },\n size: {\n 10: 10,\n 25: 11,\n 50: 11,\n 75: 12,\n 100: 15,\n 200: 17,\n 300: 18,\n 400: 20,\n 500: 22,\n 600: 22,\n 700: 24,\n 800: 28,\n 900: 29,\n 1000: 29,\n },\n weight: {\n ...fontWeight,\n },\n },\n lineHeights: {\n s: 16,\n m: 18,\n l: 24,\n xl: 28,\n '2xl': 24,\n '3xl': 28,\n '4xl': 32,\n '5xl': 30,\n '6xl': 40,\n },\n // letterSpacings: {},\n },\n};\n\nexport default typography;\n","import type { DotNotationMotionStringToken } from '~src/_helpers/types';\nimport type { Platform } from '~utils';\nimport { makeBezier } from '~utils';\n\ntype Duration = {\n /** `70` milliseconds */\n '2xquick': 70;\n /** `150` milliseconds */\n xquick: 150;\n /** `200` milliseconds */\n quick: 200;\n /** `250` milliseconds */\n moderate: 250;\n /** `300` milliseconds */\n xmoderate: 300;\n /** `400` milliseconds */\n gentle: 400;\n /** `600` milliseconds */\n xgentle: 600;\n /** `900` milliseconds */\n '2xgentle': 900;\n};\n\ntype Delay = {\n /** `70` milliseconds */\n '2xshort': 70;\n /** `120` milliseconds */\n xshort: 120;\n /** `180` milliseconds */\n short: 180;\n /** `3000` milliseconds */\n long: 3000;\n /** `5000` milliseconds */\n xlong: 5000;\n};\n\nexport type EasingFunctionFactory = { factory: () => (value: number) => number }; // similar to EasingFunctionFactory of `react-native-reanimated`\ntype EasingType<Value extends string> = Platform.Select<{\n web: Value;\n native: EasingFunctionFactory;\n}>;\n\ntype Easing = {\n /** Easings for all standard animations*/\n standard: {\n /** `cubic-bezier(0.5, 0, 0.3, 1.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;\n /** `cubic-bezier(0.3, 0, 0.2, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0.3, 0, 0.2, 1)'>;\n /** `cubic-bezier(0.5, 0, 0, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0.5, 0, 0, 1)'>;\n /** `cubic-bezier(1, 0.5, 0, 0.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n wary: EasingType<'cubic-bezier(1, 0.5, 0, 0.5)'>;\n };\n /** Easings for all entrance animations*/\n entrance: {\n /** `cubic-bezier(0.5, 0, 0.3, 1.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;\n /** `cubic-bezier(0, 0, 0.2, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;\n /** `cubic-bezier(0, 0, 0, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;\n };\n /** Easings for all exit animations*/\n exit: {\n /** `cubic-bezier(0.7, 0, 0.5, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;\n /** `cubic-bezier(0.17, 0, 1, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;\n /** `cubic-bezier(0.5, 0, 1, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;\n };\n};\n\nexport type Motion = Readonly<{\n delay: Delay;\n duration: Duration;\n easing: Easing;\n}>;\n\nexport type EasingString = `easing.${DotNotationMotionStringToken<Easing>}`;\nexport type DurationString = `duration.${keyof Duration}`;\nexport type DelayString = `delay.${keyof Delay}`;\n\nconst delay: Delay = {\n '2xshort': 70,\n xshort: 120,\n short: 180,\n long: 3000,\n xlong: 5000,\n};\n\nconst duration: Duration = {\n '2xquick': 70,\n xquick: 150,\n quick: 200,\n moderate: 250,\n xmoderate: 300,\n gentle: 400,\n xgentle: 600,\n '2xgentle': 900,\n};\n\n/* makeBezier returns a string of `cubic-bezier()` for web & a react-native-reanimated Easing Function of type `EasingFunctionFactory` for native */\nconst easing: Easing = {\n standard: {\n attentive: makeBezier(0.5, 0, 0.3, 1.5),\n effective: makeBezier(0.3, 0, 0.2, 1),\n revealing: makeBezier(0.5, 0, 0, 1),\n wary: makeBezier(1, 0.5, 0, 0.5),\n },\n entrance: {\n attentive: makeBezier(0.5, 0, 0.3, 1.5),\n effective: makeBezier(0, 0, 0.2, 1),\n revealing: makeBezier(0, 0, 0, 1),\n },\n exit: {\n attentive: makeBezier(0.7, 0, 0.5, 1),\n effective: makeBezier(0.17, 0, 1, 1),\n revealing: makeBezier(0.5, 0, 1, 1),\n },\n};\n\nconst motion: Motion = {\n delay,\n duration,\n easing,\n};\n\nexport default motion;\n","import type { ColorSchemeNamesInput } from './theme.d';\n\nexport { default as paymentTheme } from './paymentTheme';\nexport { default as bankingTheme } from './bankingTheme';\nexport { default as overrideTheme } from './overrideTheme';\nexport type {\n ColorSchemeNames,\n ColorSchemeNamesInput,\n Shadows,\n ColorsWithModes,\n ThemeTokens,\n} from './theme.d';\nexport const colorSchemeNamesInput: ColorSchemeNamesInput[] = ['light', 'dark', 'system'];\n","import { useState, useCallback } from 'react';\nimport { getColorScheme } from '../getColorScheme';\nimport { colorSchemeNamesInput } from '~tokens/theme';\nimport type { ColorSchemeNames, ColorSchemeNamesInput } from '~tokens/theme';\n\nexport type UseColorScheme = {\n colorScheme: ColorSchemeNames;\n setColorScheme: (colorScheme: ColorSchemeNamesInput) => void;\n};\n\nexport const useColorScheme = (\n initialColorScheme: ColorSchemeNamesInput = 'light',\n): UseColorScheme => {\n // if colorScheme defined use that else fallback to 'light'\n const [colorSchemeState, setColorSchemeState] = useState<ColorSchemeNames>(() =>\n getColorScheme(initialColorScheme),\n );\n\n const setColorScheme = useCallback(function setThemeMode(colorScheme: ColorSchemeNamesInput) {\n if (!colorSchemeNamesInput.includes(colorScheme)) {\n throw new Error(\n `[useColorScheme]: Expected color scheme to be one of [${colorSchemeNamesInput.toString()}] but received ${colorScheme}`,\n );\n }\n setColorSchemeState(getColorScheme(colorScheme));\n }, []);\n\n return {\n colorScheme: colorSchemeState,\n setColorScheme,\n };\n};\n","import type { MutableRefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\n/**\n * a type-safe version of the `usePrevious` hook described here:\n * @see {@link https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state}\n */\nexport function usePrevious<T>(value: T): MutableRefObject<T | undefined>['current'] {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n","import type { Platform } from '.';\n\n/**\n * @description\n *\n * Casts a Platform.Select<> type to web type\n *\n * @example\n *\n * ```ts\n * type Example = Platform.Select<{ web: string; native: number }>;\n *\n * const extractedWebType = castWebType('' as Example);\n * // ^ string\n * ```\n */\nconst castWebType = <T>(value: T): Platform.CastWeb<T> => {\n return value as Platform.CastWeb<typeof value>;\n};\n\n/**\n * @description\n *\n * Casts a Platform.Select<> type to native type\n *\n * @example\n *\n * ```ts\n * type Example = Platform.Select<{ web: string; native: number }>;\n *\n * const extractedNativeType = castNativeType('' as Example);\n * // ^ number\n * ```\n */\nconst castNativeType = <T>(value: T): Platform.CastNative<T> => {\n return value as Platform.CastNative<typeof value>;\n};\n\nexport { castWebType, castNativeType };\n","import type { CSSObject, StyledProps } from 'styled-components';\n\nimport type { StyledAlertProps } from './types';\nimport { makeBorderSize, makeSize, makeSpace } from '~utils';\n\nconst MAX_WIDTH = 584;\n\nexport const getCommonStyles = (props: StyledProps<StyledAlertProps>): CSSObject => {\n const { theme, contrastType, intent, isFullWidth, isDesktop } = props;\n\n const feedbackColors = theme.colors.feedback;\n\n return {\n background: feedbackColors.background[intent][contrastType],\n padding: isFullWidth\n ? `${makeSpace(theme.spacing[4])} ${makeSpace(theme.spacing[5])}`\n : `${makeSpace(theme.spacing[3])} ${makeSpace(theme.spacing[3])} ${makeSpace(\n theme.spacing[4],\n )} ${makeSpace(theme.spacing[3])}`,\n borderRadius: makeBorderSize(\n isFullWidth ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderColor: feedbackColors.border[intent][contrastType],\n borderWidth: makeBorderSize(isFullWidth ? theme.border.width.none : theme.border.width.thin),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n maxWidth: isFullWidth ? 'auto' : makeSize(MAX_WIDTH),\n alignItems: isFullWidth && isDesktop ? 'center' : 'flex-start',\n };\n};\n","import styled from 'styled-components/native';\nimport type { StyledAlertProps } from './types';\nimport { getCommonStyles } from './styles';\n\nexport const StyledAlert = styled.View<StyledAlertProps>(getCommonStyles);\n","import type { ReactElement } from 'react';\nimport { ClipPath as ClipPathNative } from 'react-native-svg';\nimport type { ClipPathProps } from './types';\n\nconst ClipPath = ({ children, id }: ClipPathProps): ReactElement => {\n return <ClipPathNative id={id}>{children}</ClipPathNative>;\n};\n\nexport default ClipPath;\n","import type { ReactElement } from 'react';\nimport { Defs as DefsNative } from 'react-native-svg';\nimport type { DefsProps } from './types';\n\nconst Defs = ({ children }: DefsProps): ReactElement => {\n return <DefsNative>{children}</DefsNative>;\n};\n\nexport default Defs;\n","import type { ReactElement } from 'react';\nimport { G as GNative } from 'react-native-svg';\nimport type { GProps } from './types';\n\nconst G = ({ clipPath, fill, children }: GProps): ReactElement => {\n return (\n <GNative clipPath={clipPath} fill={fill}>\n {children}\n </GNative>\n );\n};\n\nexport default G;\n","import type { ReactElement } from 'react';\nimport { Path as PathNative } from 'react-native-svg';\nimport type { Exact, PathProps } from './types';\n\nconst Path = <Props extends Exact<PathProps, Props>>({\n d,\n clipPath,\n clipRule,\n fill,\n fillOpacity,\n fillRule,\n stroke,\n strokeLinecap,\n strokeLinejoin,\n strokeWidth,\n}: Props): ReactElement => {\n return (\n <PathNative\n d={d}\n clipPath={clipPath}\n clipRule={clipRule}\n fill={fill}\n fillOpacity={fillOpacity}\n fillRule={fillRule}\n stroke={stroke}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n strokeWidth={strokeWidth}\n />\n );\n};\n\nexport default Path;\n","import type { ReactElement } from 'react';\nimport { Rect as RectNative } from 'react-native-svg';\nimport type { RectProps } from './types';\n\nconst Rect = ({ height, width, rx, ry, x, y }: RectProps): ReactElement => {\n return <RectNative height={height} width={width} rx={rx} ry={ry} x={x} y={y} />;\n};\n\nexport default Rect;\n","import type { ReactElement } from 'react';\nimport { Svg as SvgNative } from 'react-native-svg';\nimport type { SvgProps } from './types';\nimport { makeAccessible } from '~utils';\n\nconst Svg = ({ children, height, viewBox, width, fill }: SvgProps): ReactElement => {\n return (\n <SvgNative\n {...makeAccessible({ hidden: true })}\n height={height}\n viewBox={viewBox}\n width={width}\n fill={fill}\n >\n {children}\n </SvgNative>\n );\n};\n\nexport default Svg;\n","import { useContext, createContext } from 'react';\nimport type { UseColorScheme } from '../../utils/useColorScheme';\nimport type { TypographyPlatforms } from '../../tokens/global/typography';\nimport type { Theme } from './';\n\nexport type ThemeContext = UseColorScheme & {\n theme: Theme;\n platform: TypographyPlatforms;\n};\n\nexport const ThemeContext = createContext<ThemeContext>({\n // @ts-expect-error set null\n theme: null,\n colorScheme: 'light',\n platform: 'onDesktop',\n setColorScheme: () => null,\n});\n\nconst useTheme = (): ThemeContext => {\n const themeContext = useContext<ThemeContext>(ThemeContext);\n if (!themeContext.theme) {\n throw new Error(`[@razorpay/blade:BladeProvider]: BladeProvider is missing theme`);\n }\n if (themeContext === undefined) {\n throw new Error(`[@razorpay/blade:BladeProvider]: useTheme must be used within BladeProvider`);\n }\n return themeContext;\n};\n\nexport default useTheme;\n","import type { ReactNode, ReactElement } from 'react';\nimport { ThemeProvider as StyledComponentThemeProvider } from 'styled-components';\nimport { ThemeContext } from './useTheme';\nimport type { Theme } from './';\nimport { useColorScheme, toTitleCase, useBreakpoint } from '~utils';\nimport { colorSchemeNamesInput } from '~tokens/theme';\nimport type { TypographyPlatforms } from '~tokens/global/typography';\nimport type { ColorSchemeModes, ThemeTokens, ColorSchemeNamesInput } from '~tokens/theme/theme';\n\nexport type BladeProviderProps = {\n themeTokens: ThemeTokens;\n colorScheme?: ColorSchemeNamesInput;\n children: ReactNode;\n};\n\nconst BladeProvider = ({\n themeTokens,\n colorScheme: initialColorScheme,\n children,\n}: BladeProviderProps): ReactElement => {\n if (!themeTokens) {\n throw new Error(\n `[BladeProvider]: Expected valid themeTokens of type ThemeTokens to be passed but found ${typeof themeTokens}`,\n );\n }\n\n if (initialColorScheme && !colorSchemeNamesInput.includes(initialColorScheme)) {\n throw new Error(\n `[BladeProvider]: Expected color scheme to be one of [${colorSchemeNamesInput.toString()}] but received ${initialColorScheme}`,\n );\n }\n\n const { colorScheme, setColorScheme } = useColorScheme(initialColorScheme);\n const { matchedDeviceType } = useBreakpoint({\n breakpoints: themeTokens.breakpoints,\n });\n\n const onColorMode = `on${toTitleCase(colorScheme)}` as ColorSchemeModes;\n const onDeviceType = `on${toTitleCase(matchedDeviceType)}` as TypographyPlatforms;\n\n const theme: Theme = {\n ...themeTokens,\n colors: themeTokens.colors[onColorMode],\n shadows: {\n ...themeTokens.shadows,\n color: themeTokens.shadows.color[onColorMode],\n },\n typography: themeTokens.typography[onDeviceType],\n };\n\n const themeContextValue = {\n theme,\n colorScheme,\n setColorScheme,\n platform: onDeviceType,\n };\n\n return (\n <ThemeContext.Provider value={themeContextValue}>\n <StyledComponentThemeProvider theme={theme}>{children}</StyledComponentThemeProvider>\n </ThemeContext.Provider>\n );\n};\n\nexport default BladeProvider;\n","import get from 'lodash/get';\nimport type { IconProps } from '..';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSize } from '~utils';\n\nconst iconSize = {\n xsmall: 8,\n small: 12,\n medium: 16,\n large: 20,\n xlarge: 24,\n '2xlarge': 32,\n} as const;\n\nfunction useIconProps({\n size,\n color,\n}: IconProps): {\n height: `${typeof iconSize[keyof typeof iconSize]}px`;\n width: `${typeof iconSize[keyof typeof iconSize]}px`;\n iconColor: string;\n} {\n const { theme } = useTheme();\n const height = makeSize(iconSize[size]);\n const width = makeSize(iconSize[size]);\n const iconColor = color === 'currentColor' ? 'currentColor' : get(theme.colors, color, '');\n\n return { height, width, iconColor };\n}\n\nexport default useIconProps;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 4a1 1 0 1 0-2 0v13.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L13 17.586V4Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowDownIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10.707 6.707a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414L6.414 13H20a1 1 0 1 0 0-2H6.414l4.293-4.293Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowLeftIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M14.707 5.293a1 1 0 1 0-1.414 1.414L17.586 11H4a1 1 0 1 0 0 2h13.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowUpRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M9 5a1 1 0 0 0 0 2h6.586L5.293 17.293a1 1 0 1 0 1.414 1.414L17 8.414V15a1 1 0 1 0 2 0V6a1 1 0 0 0-1-1H9Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowUpRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12.707 3.293a1 1 0 0 0-1.414 0l-6 6a1 1 0 0 0 1.414 1.414L11 6.414V20a1 1 0 1 0 2 0V6.414l4.293 4.293a1 1 0 0 0 1.414-1.414l-6-6Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowUpIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CheckIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7071 5.29289C21.0976 5.68342 21.0976 6.31658 20.7071 6.70711L9.70711 17.7071C9.31658 18.0976 8.68342 18.0976 8.29289 17.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929C3.68342 10.9024 4.31658 10.9024 4.70711 11.2929L9 15.5858L19.2929 5.29289C19.6834 4.90237 20.3166 4.90237 20.7071 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CheckIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L12 13.5858L17.2929 8.29289C17.6834 7.90237 18.3166 7.90237 18.7071 8.29289C19.0976 8.68342 19.0976 9.31658 18.7071 9.70711L12.7071 15.7071C12.3166 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronDownIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.7071 5.29289C16.0976 5.68342 16.0976 6.31658 15.7071 6.70711L10.4142 12L15.7071 17.2929C16.0976 17.6834 16.0976 18.3166 15.7071 18.7071C15.3166 19.0976 14.6834 19.0976 14.2929 18.7071L8.29289 12.7071C7.90237 12.3166 7.90237 11.6834 8.29289 11.2929L14.2929 5.29289C14.6834 4.90237 15.3166 4.90237 15.7071 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronLeftIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.29289 5.29289C8.68342 4.90237 9.31658 4.90237 9.70711 5.29289L15.7071 11.2929C16.0976 11.6834 16.0976 12.3166 15.7071 12.7071L9.70711 18.7071C9.31658 19.0976 8.68342 19.0976 8.29289 18.7071C7.90237 18.3166 7.90237 17.6834 8.29289 17.2929L13.5858 12L8.29289 6.70711C7.90237 6.31658 7.90237 5.68342 8.29289 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '../';\nimport useIconProps from '../useIconProps';\n\nconst ChevronUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.2929 8.29289C11.6834 7.90237 12.3166 7.90237 12.7071 8.29289L18.7071 14.2929C19.0976 14.6834 19.0976 15.3166 18.7071 15.7071C18.3166 16.0976 17.6834 16.0976 17.2929 15.7071L12 10.4142L6.70711 15.7071C6.31658 16.0976 5.68342 16.0976 5.29289 15.7071C4.90237 15.3166 4.90237 14.6834 5.29289 14.2929L11.2929 8.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronUpIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CloseIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5858L6.70711 5.29289C6.31658 4.90237 5.68342 4.90237 5.29289 5.29289C4.90237 5.68342 4.90237 6.31658 5.29289 6.70711L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.2929 18.7071C17.6834 19.0976 18.3166 19.0976 18.7071 18.7071C19.0976 18.3166 19.0976 17.6834 18.7071 17.2929L13.4142 12L18.7071 6.70711Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CloseIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CreditCardIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34314 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM22 9V6C22 5.44771 21.5523 5 21 5H3C2.44772 5 2 5.44772 2 6V9H22ZM2 11H22V18C22 18.5523 21.5523 19 21 19H3C2.44772 19 2 18.5523 2 18V11Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CreditCardIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst DollarIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M11.3963 21L11.4488 3H12.6824L12.6299 21H11.3963ZM14.8609 8.58281C14.7909 7.91719 14.5022 7.40156 13.9948 7.03594C13.4873 6.66563 12.8486 6.48047 12.0787 6.48047C11.5276 6.48047 11.0507 6.57422 10.6483 6.76172C10.2458 6.94453 9.93307 7.19766 9.70997 7.52109C9.49125 7.83984 9.38189 8.20313 9.38189 8.61094C9.38189 8.95313 9.45626 9.24844 9.60499 9.49688C9.75809 9.74531 9.95713 9.95391 10.2021 10.1227C10.4514 10.2867 10.7183 10.425 11.0026 10.5375C11.287 10.6453 11.5604 10.7344 11.8228 10.8047L13.1352 11.1703C13.5639 11.2828 14.0035 11.4352 14.4541 11.6273C14.9046 11.8195 15.3224 12.0727 15.7073 12.3867C16.0923 12.7008 16.4029 13.0898 16.6391 13.5539C16.8797 14.018 17 14.5734 17 15.2203C17 16.0359 16.8032 16.7602 16.4094 17.393C16.0201 18.0258 15.4536 18.525 14.71 18.8906C13.9707 19.2563 13.0761 19.4391 12.0262 19.4391C11.0201 19.4391 10.1496 19.268 9.4147 18.9258C8.67979 18.5836 8.10455 18.0984 7.68898 17.4703C7.2734 16.8375 7.04374 16.0875 7 15.2203H9.03412C9.07349 15.7406 9.23097 16.1742 9.50656 16.5211C9.78653 16.8633 10.143 17.1188 10.5761 17.2875C11.0136 17.4516 11.4926 17.5336 12.0131 17.5336C12.5862 17.5336 13.0958 17.4375 13.542 17.2453C13.9926 17.0484 14.3469 16.7766 14.605 16.4297C14.8631 16.0781 14.9921 15.668 14.9921 15.1992C14.9921 14.7727 14.8784 14.4234 14.6509 14.1516C14.4278 13.8797 14.1238 13.6547 13.7388 13.4766C13.3583 13.2984 12.9274 13.1414 12.4462 13.0055L10.8583 12.5414C9.78215 12.2273 8.92913 11.7656 8.29921 11.1563C7.67367 10.5469 7.36089 9.74063 7.36089 8.7375C7.36089 7.90781 7.57087 7.18359 7.99081 6.56484C8.41076 5.94609 8.97944 5.46563 9.69685 5.12344C10.4143 4.77656 11.2235 4.60313 12.1247 4.60313C13.0346 4.60313 13.8373 4.77422 14.5328 5.11641C15.2327 5.45859 15.7839 5.92969 16.1864 6.52969C16.5888 7.125 16.7988 7.80938 16.8163 8.58281H14.8609Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default DollarIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst DownloadIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 2a1 1 0 1 0-2 0v11.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4 .007.007a.996.996 0 0 0 .697.286h.006c.272 0 .518-.11.697-.286l.008-.008 4-3.999a1 1 0 0 0-1.415-1.414L13 13.586V2Z\"\n fill={iconColor}\n />\n <Path\n d=\"M3 16a1 1 0 0 1 1 1v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3a1 1 0 1 1 2 0v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-3a1 1 0 0 1 1-1Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default DownloadIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EditIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.293 2.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1 0 1.414l-13 13A1 1 0 0 1 8 22H3a1 1 0 0 1-1-1v-5a1 1 0 0 1 .293-.707l13-13ZM4 16.414V20h3.586l12-12L16 4.414l-12 12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default EditIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EyeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8ZM10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 3C8.8711 3 6.22807 4.48937 4.23728 6.25113C2.24678 8.01264 0.822273 10.1194 0.105573 11.5528C-0.0351909 11.8343 -0.0351909 12.1657 0.105573 12.4472C0.822273 13.8806 2.24678 15.9874 4.23728 17.7489C6.22807 19.5106 8.8711 21 12 21C15.1289 21 17.7719 19.5106 19.7627 17.7489C21.7532 15.9874 23.1777 13.8806 23.8944 12.4472C24.0352 12.1657 24.0352 11.8343 23.8944 11.5528C23.1777 10.1194 21.7532 8.01264 19.7627 6.25113C17.7719 4.48937 15.1289 3 12 3ZM5.56272 16.2511C3.98954 14.8589 2.80913 13.2146 2.13142 12C2.80913 10.7854 3.98954 9.14106 5.56272 7.74887C7.3386 6.17729 9.5289 5 12 5C14.4711 5 16.6614 6.17729 18.4373 7.74887C20.0105 9.14106 21.1909 10.7854 21.8686 12C21.1909 13.2146 20.0105 14.8589 18.4373 16.2511C16.6614 17.8227 14.4711 19 12 19C9.5289 19 7.3386 17.8227 5.56272 16.2511Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default EyeIcon;\n","import { Svg, Path, G, ClipPath, Defs, Rect } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EyeOffIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_186)\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L4.54852 5.96273C2.11768 8.23575 0.611157 10.5466 0.105573 11.5577C-0.0388552 11.8466 -0.0348927 12.1874 0.116212 12.4728C0.911795 13.9756 2.43155 16.1767 4.44905 17.9657C6.44912 19.7391 9.07199 21.2217 12.0463 21.0043C14.1054 20.965 16.1069 20.3524 17.8291 19.2433L22.2929 23.7071C22.6834 24.0976 23.3166 24.0976 23.7071 23.7071C24.0976 23.3166 24.0976 22.6834 23.7071 22.2929L1.70711 0.292893ZM16.3745 17.7888L14.0529 15.4671C13.137 16.0423 12.0118 16.2303 10.9354 15.9554C9.51816 15.5934 8.4115 14.4868 8.04956 13.0695C7.77466 11.9931 7.96267 10.8679 8.53787 9.95208L5.96358 7.3778C4.02162 9.18305 2.73293 11.0024 2.14239 12.0023C2.8992 13.3055 4.16865 15.044 5.77595 16.4692C7.59406 18.0814 9.71013 19.1781 11.9233 19.0079C11.9434 19.0063 11.9635 19.0054 11.9837 19.0051C13.5332 18.9797 15.0437 18.558 16.3745 17.7888ZM10.0291 11.4433C9.90866 11.8023 9.89029 12.1946 9.98736 12.5747C10.1683 13.2833 10.7217 13.8366 11.4303 14.0176C11.8104 14.1146 12.2026 14.0963 12.5616 13.9758L10.0291 11.4433ZM23.8777 11.5256C23.0808 10.0665 21.5613 7.9214 19.5476 6.15178C17.5484 4.3949 14.9387 2.90282 11.9828 3.00492C11.2049 3.00459 10.4296 3.09396 9.67209 3.27126C9.13434 3.39713 8.80045 3.93511 8.92632 4.47286C9.05219 5.0106 9.59016 5.3445 10.1279 5.21862C10.7408 5.07517 11.3682 5.00346 11.9977 5.00494C12.0107 5.00497 12.0238 5.00474 12.0369 5.00426C14.273 4.9217 16.4061 6.05356 18.2274 7.65411C19.8179 9.05181 21.0762 10.7264 21.8355 11.9857C21.6047 12.3498 21.3179 12.7884 21.0346 13.2066C20.8197 13.5237 20.6117 13.8221 20.4357 14.0622C20.2457 14.3213 20.1312 14.4595 20.0929 14.4978C19.7024 14.8884 19.7024 15.5215 20.0929 15.912C20.4834 16.3026 21.1166 16.3026 21.5071 15.912C21.6688 15.7504 21.8668 15.4927 22.0487 15.2446C22.2446 14.9774 22.4678 14.657 22.6904 14.3283C23.1344 13.6729 23.5951 12.9567 23.8575 12.5194C24.04 12.2152 24.0477 11.837 23.8777 11.5256Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_186\">\n <Rect width=\"100%\" height=\"100%\" fill=\"none\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default EyeOffIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst FileTextIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H13C13.5523 13 14 12.5523 14 12C14 11.4477 13.5523 11 13 11H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M4 16C4 15.4477 4.44772 15 5 15H13C13.5523 15 14 15.4477 14 16C14 16.5523 13.5523 17 13 17H5C4.44772 17 4 16.5523 4 16Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 7C4.44772 7 4 7.44772 4 8C4 8.55229 4.44772 9 5 9H7C7.55228 9 8 8.55229 8 8C8 7.44772 7.55228 7 7 7H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M0 3C0 1.34315 1.34315 0 3 0H11C11.2652 0 11.5196 0.105357 11.7071 0.292893L17.7071 6.29289C17.8946 6.48043 18 6.73478 18 7V19C18 20.6569 16.6569 22 15 22H3C1.34315 22 0 20.6569 0 19V3ZM3 2C2.44772 2 2 2.44772 2 3V19C2 19.5523 2.44772 20 3 20H15C15.5523 20 16 19.5523 16 19V8H11C10.4477 8 10 7.55228 10 7V2H3ZM12 3.41421L14.5858 6H12V3.41421Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default FileTextIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst HistoryIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.944 4.921a10 10 0 1 1-2.377 10.411 1 1 0 1 1 1.886-.664 8 8 0 1 0 1.872-8.3L4.475 9H8a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1V4a1 1 0 1 1 2 0v3.64L5.944 4.92ZM12 6a1 1 0 0 1 1 1v5.586l2.707 2.707a1 1 0 0 1-1.414 1.414l-3-3A1 1 0 0 1 11 13V7a1 1 0 0 1 1-1Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HistoryIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst HomeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.6139 1.21065C12.2528 0.929784 11.7472 0.929784 11.3861 1.21065L2.38606 8.21065C2.14247 8.4001 2 8.69141 2 9V20C2 21.6569 3.34315 23 5 23H19C20.6569 23 22 21.6569 22 20V9C22 8.69141 21.8575 8.4001 21.6139 8.21065L12.6139 1.21065ZM16 21H19C19.5523 21 20 20.5523 20 20V9.48908L12 3.26686L4 9.48908V20C4 20.5523 4.44772 21 5 21H8V12C8 11.4477 8.44772 11 9 11H15C15.5523 11 16 11.4477 16 12V21ZM10 21V13H14V21H10Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HomeIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst InfoIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 11C12.5523 11 13 11.4477 13 12V16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16V12C11 11.4477 11.4477 11 12 11Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9H12.01C12.5623 9 13.01 8.55228 13.01 8C13.01 7.44772 12.5623 7 12.01 7H12Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default InfoIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst LinkIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 22 22\" fill=\"none\">\n <Path\n d=\"M20.1863 1.82377C17.8719 -0.490636 14.1296 -0.523155 11.7753 1.75068L11.765 1.7608L10.045 3.4708C9.65336 3.86019 9.65151 4.49335 10.0409 4.88501C10.4303 5.27667 11.0634 5.27852 11.4551 4.88913L13.1697 3.18451C14.7395 1.67341 17.2307 1.69666 18.772 3.23798C20.313 4.77898 20.3366 7.26948 18.8265 8.83934L15.833 11.8329C15.0124 12.6537 13.8758 13.0778 12.7181 12.9949C11.5605 12.9119 10.496 12.3303 9.80083 11.401C9.47002 10.9587 8.84333 10.8684 8.40108 11.1992C7.95883 11.53 7.86849 12.1567 8.1993 12.5989C9.24204 13.993 10.8388 14.8654 12.5753 14.9897C14.3117 15.1141 16.0165 14.4782 17.2473 13.2469L20.2472 10.2471L20.2593 10.2347C22.5332 7.8804 22.5007 4.13817 20.1863 1.82377Z\"\n fill={iconColor}\n />\n <Path\n d=\"M9.42474 7.01016C7.68837 6.8858 5.9836 7.52171 4.75285 8.75283L1.75285 11.7528L1.74067 11.7652C-0.533165 14.1195 -0.500646 17.8617 1.81376 20.1761C4.12816 22.4905 7.8704 22.5231 10.2247 20.2492L10.2371 20.237L11.9471 18.527C12.3376 18.1365 12.3376 17.5034 11.9471 17.1128C11.5565 16.7223 10.9234 16.7223 10.5329 17.1128L8.82933 18.8164C7.25947 20.3265 4.76897 20.3029 3.22797 18.7619C1.68697 17.2209 1.66341 14.7304 3.17354 13.1606L6.16719 10.1669C6.9877 9.34611 8.12425 8.92214 9.28187 9.00505C10.4395 9.08796 11.504 9.66956 12.1992 10.5989C12.53 11.0412 13.1567 11.1315 13.5989 10.8007C14.0412 10.4699 14.1315 9.84321 13.8007 9.40096C12.758 8.00693 11.1612 7.13452 9.42474 7.01016Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default LinkIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst LockIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 10V7C6 3.68629 8.68629 1 12 1C15.3137 1 18 3.68629 18 7V10H19C20.6569 10 22 11.3431 22 13V20C22 21.6569 20.6569 23 19 23H5C3.34315 23 2 21.6569 2 20V13C2 11.3431 3.34315 10 5 10H6ZM8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7V10H8V7ZM5 12C4.44772 12 4 12.4477 4 13V20C4 20.5523 4.44772 21 5 21H19C19.5523 21 20 20.5523 20 20V13C20 12.4477 19.5523 12 19 12H5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default LockIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst PauseIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Zm1 16V5h2v14H7ZM14 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4Zm1 16V5h2v14h-2Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default PauseIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst PlusIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6V5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default PlusIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst RupeeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M17 7.78125L16.5015 9.59375H7L7.49853 7.78125H17ZM12.5425 20L7.17595 13L7.14663 11.6875H9.81525C10.5093 11.6875 11.1007 11.5833 11.5894 11.375C12.0782 11.1615 12.4521 10.8437 12.7111 10.4219C12.9702 9.99479 13.0997 9.45833 13.0997 8.8125C13.0997 7.85937 12.8309 7.11198 12.2933 6.57031C11.7556 6.02344 10.9296 5.75 9.81525 5.75H7L7.49853 4H9.81525C11.0078 4 11.9853 4.21094 12.7478 4.63281C13.5152 5.04948 14.0821 5.6224 14.4487 6.35156C14.8201 7.07552 15.0059 7.89583 15.0059 8.8125C15.0059 9.64062 14.8348 10.4036 14.4927 11.1016C14.1554 11.7943 13.6129 12.3516 12.8651 12.7734C12.1222 13.1953 11.1398 13.4062 9.91789 13.4062H9.8739L14.8299 19.875V20H12.5425ZM17 4L16.5015 5.8125L9.02346 5.75L9.52199 4H17Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RupeeIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst SearchIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.618 18.032a9 9 0 1 1 1.414-1.414l3.675 3.675a1 1 0 0 1-1.414 1.414l-3.675-3.675ZM4 11a7 7 0 1 1 12.041 4.857 1.009 1.009 0 0 0-.185.184A7 7 0 0 1 4 11Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SearchIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst SettingsIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12ZM12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 2C11.4477 2 11 2.44772 11 3V3.17399C10.9958 4.2302 10.3647 5.18306 9.39393 5.59914C9.30943 5.63535 9.22054 5.65966 9.1298 5.67154C8.18476 6.00287 7.12514 5.77346 6.40073 5.06486L6.39285 5.05715L6.33289 4.99711C6.14533 4.80933 5.89041 4.70343 5.625 4.70343C5.35959 4.70343 5.10507 4.80894 4.9175 4.99671L4.91671 4.9975C4.72894 5.18507 4.62343 5.43959 4.62343 5.705C4.62343 5.97041 4.72894 6.22493 4.91671 6.4125L4.98491 6.48069C5.73506 7.24758 5.94813 8.39018 5.52745 9.37478C5.14428 10.3797 4.19067 11.0545 3.11338 11.0797L3.09 11.08H3C2.44772 11.08 2 11.5277 2 12.08C2 12.6323 2.44772 13.08 3 13.08H3.17399C4.22841 13.0842 5.17982 13.7131 5.59701 14.6811C6.03158 15.6711 5.82114 16.8261 5.06486 17.5993L5.05715 17.6071L4.99711 17.6671C4.80933 17.8547 4.70343 18.1096 4.70343 18.375C4.70343 18.6404 4.80894 18.8949 4.99671 19.0825L4.9975 19.0833C5.18507 19.2711 5.43959 19.3766 5.705 19.3766C5.97041 19.3766 6.22493 19.2711 6.4125 19.0833L6.48069 19.0151C7.24757 18.2649 8.39018 18.0519 9.37477 18.4725C10.3797 18.8557 11.0545 19.8093 11.0797 20.8866L11.08 20.91V21C11.08 21.5523 11.5277 22 12.08 22C12.6323 22 13.08 21.5523 13.08 21V20.83L13.08 20.826C13.0842 19.7716 13.7132 18.8201 14.6812 18.4029C15.6712 17.9684 16.8261 18.1789 17.5993 18.9351L17.6071 18.9428L17.6671 19.0029C17.8547 19.1907 18.1096 19.2966 18.375 19.2966C18.6404 19.2966 18.8949 19.1911 19.0825 19.0033L19.0833 19.0025C19.2711 18.8149 19.3766 18.5604 19.3766 18.295C19.3766 18.0296 19.2711 17.7751 19.0833 17.5875L19.0151 17.5193C18.2588 16.7462 18.0484 15.5912 18.4829 14.6012C18.9001 13.6332 19.8516 13.0042 20.906 13L20.91 13L21 13C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H20.83L20.826 11C19.7698 10.9958 18.8169 10.3647 18.4009 9.39393C18.3646 9.30943 18.3403 9.22054 18.3285 9.1298C17.9971 8.18476 18.2265 7.12514 18.9351 6.40073L18.9428 6.39285L19.0029 6.3329C19.1907 6.14533 19.2966 5.89041 19.2966 5.625C19.2966 5.35959 19.1911 5.10507 19.0033 4.9175L19.0025 4.91671C18.8149 4.72894 18.5604 4.62343 18.295 4.62343C18.0296 4.62343 17.7751 4.72894 17.5875 4.91671L17.5193 4.98491C16.7462 5.74119 15.5911 5.95158 14.6011 5.51701C13.6331 5.09982 13.0042 4.14841 13 3.09399L13 3.09V3C13 2.44772 12.5523 2 12 2ZM9 3C9 1.34315 10.3431 0 12 0C13.6569 0 15 1.34315 15 3V3.0875C15.0016 3.34598 15.1563 3.579 15.3939 3.68086L15.4038 3.68508C15.6456 3.7918 15.9277 3.74149 16.1177 3.55811L16.1725 3.50329C16.7352 2.93996 17.4988 2.62343 18.295 2.62343C19.0912 2.62343 19.8548 2.93996 20.4175 3.50329C20.9803 4.06592 21.2966 4.82914 21.2966 5.625C21.2966 6.42104 20.9802 7.18444 20.4171 7.7471L20.3619 7.80231C20.1785 7.99225 20.1281 8.27444 20.2349 8.51624C20.2631 8.58029 20.2845 8.64696 20.2988 8.71513C20.4175 8.88998 20.6161 8.99864 20.8325 9H21C22.6569 9 24 10.3431 24 12C24 13.6569 22.6569 15 21 15H20.9125C20.654 15.0016 20.421 15.1563 20.3191 15.3939L20.3149 15.4038C20.2082 15.6456 20.2585 15.9277 20.4419 16.1177L20.4967 16.1725C21.0598 16.7352 21.3766 17.499 21.3766 18.295C21.3766 19.091 21.0602 19.8544 20.4971 20.4171C19.9344 20.9802 19.171 21.2966 18.375 21.2966C17.579 21.2966 16.8156 20.9802 16.2529 20.4171L16.1977 20.3619C16.0077 20.1785 15.7256 20.1282 15.4838 20.2349L15.474 20.2392C15.2363 20.3411 15.0816 20.574 15.08 20.8325V21C15.08 22.6569 13.7369 24 12.08 24C10.4231 24 9.08 22.6569 9.08 21V20.9244C9.07021 20.6612 8.90248 20.4296 8.65482 20.3385C8.63505 20.3313 8.61551 20.3234 8.59624 20.3149C8.35443 20.2081 8.07224 20.2585 7.8823 20.4419L7.8275 20.4967C7.26483 21.0598 6.50105 21.3766 5.705 21.3766C4.90914 21.3766 4.14592 21.0603 3.58329 20.4975C3.01996 19.9348 2.70343 19.1712 2.70343 18.375C2.70343 17.5788 3.01996 16.8152 3.58329 16.2525L3.63811 16.1977C3.82149 16.0077 3.87185 15.7256 3.76514 15.4838L3.76081 15.474C3.65895 15.2363 3.42598 15.0816 3.1675 15.08H3C1.34315 15.08 0 13.7369 0 12.08C0 10.4231 1.34315 9.08 3 9.08H3.07565C3.33875 9.07021 3.57038 8.90248 3.66146 8.65482C3.66874 8.63505 3.67663 8.61551 3.68514 8.59624C3.79185 8.35444 3.74149 8.07225 3.5581 7.88231L3.50329 7.8275C2.93996 7.2648 2.62343 6.50123 2.62343 5.705C2.62343 4.90896 2.93981 4.14556 3.50289 3.58289C4.06556 3.01981 4.82896 2.70343 5.625 2.70343C6.42123 2.70343 7.1848 3.01996 7.7475 3.58329L7.80231 3.6381C7.99225 3.82149 8.27444 3.87185 8.51624 3.76514C8.5803 3.73687 8.64697 3.71548 8.71514 3.70121C8.88999 3.58253 8.99864 3.38394 9 3.1675V3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SettingsIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst SlashIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM6.38231 4.9681C7.92199 3.73647 9.87499 3 12 3C16.9706 3 21 7.02944 21 12C21 14.125 20.2635 16.078 19.0319 17.6177L6.38231 4.9681ZM4.9681 6.38231C3.73647 7.92199 3 9.87499 3 12C3 16.9706 7.02944 21 12 21C14.125 21 16.078 20.2635 17.6177 19.0319L4.9681 6.38231Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SlashIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst TrashIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10 10a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1ZM15 11a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0v-6Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7 5V4a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h4a1 1 0 1 1 0 2h-1v13a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7H3a1 1 0 0 1 0-2h4Zm2-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H9V4Zm9 3v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7h12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default TrashIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst AlertTriangleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 8.10275C12.5523 8.10275 13 8.55047 13 9.10275V13.1028C13 13.655 12.5523 14.1028 12 14.1028C11.4477 14.1028 11 13.655 11 13.1028V9.10275C11 8.55047 11.4477 8.10275 12 8.10275Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 18.1028C12.5523 18.1028 13 17.655 13 17.1028C13 16.5505 12.5523 16.1028 12 16.1028C11.4477 16.1028 11 16.5505 11 17.1028C11 17.655 11.4477 18.1028 12 18.1028Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.43502 3.44412C9.97887 2.54754 10.9514 2 12 2C13.0486 2 14.0212 2.54754 14.565 3.44412L14.5679 3.44886L23.0379 17.5889L23.046 17.6027C23.5791 18.5258 23.5822 19.6624 23.0544 20.5885C22.5265 21.5145 21.5469 22.091 20.481 22.1027L20.47 22.1028L3.51903 22.1027C2.45315 22.091 1.47353 21.5145 0.94567 20.5885C0.41781 19.6624 0.420993 18.5258 0.95403 17.6027L0.962153 17.5889L9.43502 3.44412ZM11.1462 4.47938L2.6827 18.6086C2.50833 18.9152 2.50837 19.2913 2.68322 19.5981C2.85842 19.9054 3.1829 20.0972 3.53642 20.1027H20.4636C20.8171 20.0972 21.1416 19.9054 21.3168 19.5981C21.4917 19.2913 21.4917 18.9153 21.3174 18.6086L12.855 4.48137L12.8538 4.47938C12.6723 4.1817 12.3488 4 12 4C11.6513 4 11.3277 4.1817 11.1462 4.47938Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default AlertTriangleIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst AlertTriangleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 7C12.5523 7 13 7.44772 13 8V12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12V8C11 7.44772 11.4477 7 12 7Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.15289 1.29289C7.33386 1.11193 7.58386 1 7.86 1H16.14C16.4052 1 16.6596 1.10536 16.8471 1.29289L22.7071 7.15289C22.8946 7.34043 23 7.59478 23 7.86V16.14C23 16.4052 22.8946 16.6596 22.7071 16.8471L16.8471 22.7071C16.6596 22.8946 16.4052 23 16.14 23H7.86C7.59478 23 7.34043 22.8946 7.15289 22.7071L1.29289 16.8471C1.10536 16.6596 1 16.4052 1 16.14V7.86C1 7.59478 1.10536 7.34043 1.29289 7.15289L7.15289 1.29289ZM8.27421 3L3 8.27421V15.7258L8.27421 21H15.7258L21 15.7258V8.27421L15.7258 3H8.27421Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default AlertTriangleIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path, G, Defs, ClipPath, Rect } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CheckCircleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_208)\">\n <Path\n d=\"M4.15845 7.14679C6.74812 4.11688 11.0222 3.1512 14.663 4.77343C15.1675 4.99821 15.7586 4.77147 15.9834 4.267C16.2082 3.76253 15.9815 3.17135 15.477 2.94657C11.0272 0.96385 5.80325 2.14413 2.6381 5.84735C-0.527049 9.55057 -0.879431 14.8946 1.77205 18.9813C4.42353 23.0681 9.44725 24.9241 14.1189 23.5429C18.7905 22.1616 21.9972 17.8716 22 13V12.07C22 11.5177 21.5523 11.07 21 11.07C20.4477 11.07 20 11.5177 20 12.07V12.9994C19.9977 16.9852 17.3741 20.4948 13.5518 21.6249C9.72957 22.7551 5.61926 21.2365 3.44986 17.8928C1.28047 14.5491 1.56878 10.1767 4.15845 7.14679Z\"\n fill={iconColor}\n />\n <Path\n d=\"M22.7071 4.70711C23.0976 4.31658 23.0976 3.68342 22.7071 3.29289C22.3166 2.90237 21.6834 2.90237 21.2929 3.29289L11 13.5858L8.70711 11.2929C8.31658 10.9024 7.68342 10.9024 7.29289 11.2929C6.90237 11.6834 6.90237 12.3166 7.29289 12.7071L10.2929 15.7071C10.6834 16.0976 11.3166 16.0976 11.7071 15.7071L22.7071 4.70711Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_208\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default CheckCircleIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst RefreshLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10.229 4.2a8 8 0 0 1 7.446 2.169L20.525 9H17a1 1 0 1 0 0 2h6a1 1 0 0 0 1-1V4a1 1 0 1 0-2 0v3.64l-2.944-2.718A10 10 0 0 0 2.567 8.666a1 1 0 0 0 1.886.668A8 8 0 0 1 10.229 4.2ZM2 16.36V20a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H3.474l2.85 2.631a8 8 0 0 0 13.223-2.965 1 1 0 0 1 1.886.668 10 10 0 0 1-16.489 3.744L2 16.361Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RefreshLeftIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst MinusIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default MinusIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst RotateCounterClockWiseIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M17.8366 3.25759C13.9432 1.10528 9.09681 1.784 5.94449 4.92134L3 7.63918V4C3 3.44772 2.55228 3 2 3C1.44772 3 1 3.44772 1 4V10C1 10.5523 1.44772 11 2 11H8C8.55228 11 9 10.5523 9 10C9 9.44772 8.55228 9 8 9H4.47426L7.32478 6.36875C7.33213 6.36185 7.33937 6.35483 7.34651 6.34771C9.86814 3.83034 13.7507 3.28409 16.869 5.00794C19.9874 6.7318 21.5898 10.3102 20.7992 13.7845C20.0085 17.2588 17.0155 19.7914 13.4583 19.9961C9.90104 20.2009 6.63718 18.0283 5.45318 14.6677C5.26966 14.1468 4.69861 13.8733 4.17771 14.0568C3.65681 14.2403 3.38331 14.8114 3.56683 15.3323C5.04683 19.5331 9.12665 22.2487 13.5732 21.9928C18.0197 21.7369 21.761 18.5711 22.7493 14.2283C23.7376 9.8854 21.7346 5.41241 17.8366 3.25759Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RotateCounterClockWiseIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { G, Path, Svg, Defs, Rect, ClipPath } from '../_Svg';\n\nconst TrendingUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_147)\">\n <Path\n d=\"M17 5C16.4477 5 16 5.44772 16 6C16 6.55228 16.4477 7 17 7H20.5858L13.5 14.0858L9.20711 9.79289C8.81658 9.40237 8.18342 9.40237 7.79289 9.79289L0.292893 17.2929C-0.0976311 17.6834 -0.0976311 18.3166 0.292893 18.7071C0.683417 19.0976 1.31658 19.0976 1.70711 18.7071L8.5 11.9142L12.7929 16.2071C13.1834 16.5976 13.8166 16.5976 14.2071 16.2071L22 8.41421V12C22 12.5523 22.4477 13 23 13C23.5523 13 24 12.5523 24 12V6C24 5.44772 23.5523 5 23 5H17Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_147\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default TrendingUpIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { G, Path, Svg, Defs, ClipPath, Rect } from '../_Svg';\n\nconst TrendingDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_218)\">\n <Path\n d=\"M1.70711 5.29289C1.31658 4.90237 0.683417 4.90237 0.292893 5.29289C-0.0976311 5.68342 -0.0976311 6.31658 0.292893 6.70711L7.79289 14.2071C8.18342 14.5976 8.81658 14.5976 9.20711 14.2071L13.5 9.91421L20.5858 17H17C16.4477 17 16 17.4477 16 18C16 18.5523 16.4477 19 17 19H22.9993C23.0003 19 23.002 19 23.003 19C23.1375 18.9996 23.2657 18.9727 23.3828 18.9241C23.5007 18.8753 23.6112 18.803 23.7071 18.7071C23.8902 18.524 23.9874 18.2877 23.9989 18.048C23.9996 18.032 24 18.016 24 18C24 17.9997 24 18.0003 24 18V12C24 11.4477 23.5523 11 23 11C22.4477 11 22 11.4477 22 12V15.5858L14.2071 7.79289C13.8166 7.40237 13.1834 7.40237 12.7929 7.79289L8.5 12.0858L1.70711 5.29289Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_218\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default TrendingDownIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Svg, Path } from '../_Svg';\n\nconst UsersIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M9 0C6.23858 0 4 2.23858 4 5C4 7.76142 6.23858 10 9 10C11.7614 10 14 7.76142 14 5C14 2.23858 11.7614 0 9 0ZM6 5C6 3.34315 7.34315 2 9 2C10.6569 2 12 3.34315 12 5C12 6.65685 10.6569 8 9 8C7.34315 8 6 6.65685 6 5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 12C2.23858 12 0 14.2386 0 17V19C0 19.5523 0.447715 20 1 20C1.55228 20 2 19.5523 2 19V17C2 15.3431 3.34315 14 5 14H13C14.6569 14 16 15.3431 16 17V19C16 19.5523 16.4477 20 17 20C17.5523 20 18 19.5523 18 19V17C18 14.2386 15.7614 12 13 12H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M19.0318 12.88C19.1698 12.3453 19.7153 12.0237 20.25 12.1618C22.4562 12.7314 23.9983 14.7207 24 16.9993V19C24 19.5523 23.5523 20 23 20C22.4477 20 22 19.5523 22 19V17.0007C21.9988 15.6337 21.0737 14.44 19.75 14.0982C19.2153 13.9602 18.8937 13.4148 19.0318 12.88Z\"\n fill={iconColor}\n />\n <Path\n d=\"M16.248 0.161251C15.713 0.0242632 15.1682 0.346936 15.0312 0.881962C14.8943 1.41699 15.2169 1.96176 15.752 2.09875C17.0794 2.43863 18.0078 3.63474 18.0078 5.005C18.0078 6.37526 17.0794 7.57137 15.752 7.91125C15.2169 8.04824 14.8943 8.59301 15.0312 9.12804C15.1682 9.66307 15.713 9.98574 16.248 9.84875C18.4604 9.28229 20.0078 7.28876 20.0078 5.005C20.0078 2.72124 18.4604 0.727714 16.248 0.161251Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default UsersIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst HelpCircleIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12.2581 8.02434C11.2969 7.85947 10.357 8.4119 10.0333 9.33187C9.85006 9.85286 9.27914 10.1266 8.75815 9.94336C8.23716 9.76009 7.96339 9.18917 8.14666 8.66818C8.79391 6.82824 10.6738 5.72339 12.5962 6.05313C14.5184 6.38284 15.9226 8.05072 15.92 10.0009C15.9195 11.5313 14.7849 12.5419 13.9747 13.0821C13.5391 13.3725 13.1105 13.586 12.7949 13.7263C12.6356 13.7971 12.5015 13.8508 12.4049 13.8876C12.3565 13.9061 12.3173 13.9204 12.2887 13.9305L12.254 13.9427L12.2429 13.9465L12.239 13.9478L12.2375 13.9483C12.2375 13.9483 12.2362 13.9487 11.92 13L12.2362 13.9487C11.7123 14.1234 11.146 13.8402 10.9713 13.3163C10.7968 12.7927 11.0794 12.2267 11.6027 12.0517L11.6187 12.0461C11.6341 12.0406 11.6593 12.0315 11.6929 12.0187C11.7603 11.993 11.8606 11.9529 11.9826 11.8987C12.2294 11.789 12.5509 11.6276 12.8653 11.418C13.5549 10.9582 13.92 10.4692 13.92 10L13.92 9.99854C13.9214 9.0233 13.2193 8.18921 12.2581 8.02434Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HelpCircleIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst ExternalLinkIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M14 3C14 2.44772 14.4477 2 15 2H21C21.5523 2 22 2.44772 22 3V9C22 9.55228 21.5523 10 21 10C20.4477 10 20 9.55228 20 9V5.41421L10.7071 14.7071C10.3166 15.0976 9.68342 15.0976 9.29289 14.7071C8.90237 14.3166 8.90237 13.6834 9.29289 13.2929L18.5858 4H15C14.4477 4 14 3.55228 14 3Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 7C4.44772 7 4 7.44772 4 8V19C4 19.5523 4.44772 20 5 20H16C16.5523 20 17 19.5523 17 19V13C17 12.4477 17.4477 12 18 12C18.5523 12 19 12.4477 19 13V19C19 20.6569 17.6569 22 16 22H5C3.34315 22 2 20.6569 2 19V8C2 6.34315 3.34315 5 5 5H11C11.5523 5 12 5.44772 12 6C12 6.55228 11.5523 7 11 7H5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ExternalLinkIcon;\n","import type { ReactElement } from 'react';\nimport type { IconComponent, IconProps } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst MailIcon: IconComponent = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23 6.01769V18C23 19.6523 21.6523 21 20 21H4C2.34772 21 1 19.6523 1 18V6C1 4.34772 2.34772 3 4 3H20C21.6443 3 22.987 4.33473 22.9999 5.97608C23.0002 5.98996 23.0003 6.00383 23 6.01769ZM3.10659 5.55392C3.27198 5.22691 3.61205 5 4 5H20C20.388 5 20.7281 5.22695 20.8935 5.55401L12.0001 11.7794L3.10659 5.55392ZM3 7.92062V18C3 18.5477 3.45228 19 4 19H20C20.5477 19 21 18.5477 21 18V7.92074L12.5735 13.8193C12.2292 14.0603 11.7709 14.0603 11.4266 13.8193L3 7.92062Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default MailIcon;\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport styled from 'styled-components/native';\n\nimport type { StyledIconButtonProps } from './types';\nimport { makeAccessible } from '~utils';\nimport type { ColorContrastTypes } from '~tokens/theme/theme';\n\ntype State = 'active' | 'default';\ntype IconColorToken = `surface.action.icon.${State}.${ColorContrastTypes}Contrast`;\n\ntype StyledPressableProps = {\n contrast: ColorContrastTypes;\n};\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>({\n alignSelf: 'center', // ensure button only takes needed width\n});\n\nconst StyledIconButton = ({\n icon: Icon,\n onClick,\n size,\n contrast,\n accessibilityLabel,\n}: StyledIconButtonProps): ReactElement => {\n const [isPressed, setIsPressed] = useState(false);\n const getIconColorToken = (): IconColorToken => {\n const contrastType = contrast === 'high' ? 'highContrast' : 'lowContrast';\n const state = isPressed ? 'active' : 'default';\n\n return `surface.action.icon.${state}.${contrastType}`;\n };\n const iconColorToken = getIconColorToken();\n\n return (\n <StyledPressable\n contrast={contrast}\n onPress={onClick}\n onPressIn={() => setIsPressed(true)}\n onPressOut={() => setIsPressed(false)}\n {...makeAccessible({ label: accessibilityLabel, role: 'button' })}\n >\n <Icon size={size} color={iconColorToken} />\n </StyledPressable>\n );\n};\n\nexport default StyledIconButton;\n","import type { ReactElement } from 'react';\n\nimport StyledIconButton from './StyledIconButton';\nimport type { IconComponent } from '~components/Icons';\n\ntype IconButtonProps = {\n /**\n * Icon component to be rendered, eg. `CloseIcon`\n */\n icon: IconComponent;\n onClick: () => void;\n\n /**\n * Icon size\n *\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n\n /**\n * Icon contrast\n *\n * @default 'low'\n */\n contrast?: 'low' | 'high';\n\n /**\n * Sets aria-label to help users know what the action does, eg 'Dismiss alert'\n */\n accessibilityLabel: string;\n};\n\n/**\n * Component for making clickable icons with transparent background.\n * For other cases please use `Button` component with `icon` prop.\n */\nconst IconButton = ({\n icon,\n onClick,\n size = 'medium',\n contrast = 'low',\n accessibilityLabel,\n}: IconButtonProps): ReactElement => {\n return (\n <StyledIconButton\n onClick={onClick}\n contrast={contrast}\n size={size}\n icon={icon}\n accessibilityLabel={accessibilityLabel}\n />\n );\n};\n\nexport { IconButtonProps, IconButton };\n","import type { CSSObject } from 'styled-components';\nimport type { BoxProps } from './types';\nimport { getIn, makeSize, makeSpace } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\n\n// allows 'auto' as spacing value\nconst getSpacingValue = <SpacingValue extends string | number | undefined>({\n value,\n theme,\n}: {\n value: SpacingValue;\n theme: Theme;\n}): string | undefined => {\n if (value === 'auto') return 'auto';\n /**\n * NOTE: don't allow numbers once we have the scale for sizing\n * DO NOT PUBLISH THIS COMPONENT PUBLICLY WITH THIS PIECE OF CODE\n */\n if (typeof value === 'number') {\n return makeSpace(value);\n }\n return value ? makeSpace(getIn(theme, value)) : undefined;\n};\n\nconst getBoxStyles = ({\n theme,\n display,\n flex,\n flexWrap,\n flexDirection,\n flexGrow,\n alignItems,\n alignContent,\n justifyContent,\n alignSelf,\n overflow,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n marginTop,\n marginBottom,\n marginLeft,\n marginRight,\n gap,\n width,\n height,\n minHeight,\n minWidth,\n maxHeight,\n maxWidth,\n position,\n transform,\n top,\n left,\n right,\n bottom,\n background,\n backgroundColor,\n zIndex,\n borderRadius,\n}: BoxProps & { theme: Theme }): CSSObject => ({\n display,\n flex,\n flexWrap,\n flexGrow,\n flexDirection,\n alignItems,\n alignContent,\n justifyContent,\n alignSelf,\n overflow,\n position,\n top,\n right,\n bottom,\n left,\n paddingTop: getSpacingValue({ value: paddingTop, theme }),\n paddingBottom: getSpacingValue({ value: paddingBottom, theme }),\n paddingLeft: getSpacingValue({ value: paddingLeft, theme }),\n paddingRight: getSpacingValue({ value: paddingRight, theme }),\n marginTop: getSpacingValue({ value: marginTop, theme }),\n marginBottom: getSpacingValue({ value: marginBottom, theme }),\n marginLeft: getSpacingValue({ value: marginLeft, theme }),\n marginRight: getSpacingValue({ value: marginRight, theme }),\n gap: getSpacingValue({ value: gap, theme }),\n width,\n height,\n minHeight: minHeight ? makeSize(minHeight) : undefined,\n minWidth: minWidth ? makeSize(minWidth) : undefined,\n maxHeight: maxHeight ? makeSize(maxHeight) : undefined,\n maxWidth: maxWidth ? makeSize(maxWidth) : undefined,\n transform,\n background,\n backgroundColor,\n zIndex,\n borderRadius: borderRadius ? makeSize(getIn(theme, `border.radius.${borderRadius}`)) : undefined,\n});\n\nexport default getBoxStyles;\n","import styled from 'styled-components/native';\nimport type { BoxProps } from './types';\nimport getBoxStyles from './getBoxStyles';\n\nconst Box = styled.View<BoxProps>(getBoxStyles);\n\nexport default Box;\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBaseTextProps } from './types';\nimport { getIn, makeTypographySize } from '~utils';\n\nconst getBaseTextStyles = ({\n color = 'surface.text.normal.lowContrast',\n fontFamily = 'text',\n fontSize = 200,\n fontWeight = 'regular',\n fontStyle = 'normal',\n textDecorationLine = 'none',\n lineHeight = 'l',\n textAlign,\n theme,\n}: StyledBaseTextProps): CSSObject => {\n const textColor = getIn(theme.colors, color);\n const themeFontFamily = theme.typography.fonts.family[fontFamily];\n const themeFontSize = makeTypographySize(theme.typography.fonts.size[fontSize]);\n const themeFontWeight = theme.typography.fonts.weight[fontWeight];\n const themeLineHeight = makeTypographySize(theme.typography.lineHeights[lineHeight]);\n\n return {\n color: textColor,\n fontFamily: themeFontFamily,\n fontSize: themeFontSize,\n fontWeight: themeFontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight: themeLineHeight,\n textAlign,\n margin: 0,\n padding: 0,\n };\n};\n\nexport default getBaseTextStyles;\n","import type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport getBaseTextStyles from './getBaseTextStyles';\nimport type { BaseTextProps, StyledBaseTextProps } from './types';\nimport { metaAttribute, makeAccessible, MetaConstants } from '~utils';\n\nconst StyledBaseText = styled.Text<StyledBaseTextProps>(\n ({\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n textAlign,\n as,\n ...props\n }) => {\n if (as) {\n throw new Error(`[Blade: BaseText]: \"as\" prop is not supported for BaseText on React Native`);\n } else {\n return getBaseTextStyles({\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n textAlign,\n theme: props.theme,\n });\n }\n },\n);\n\nexport const BaseText = ({\n id,\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n as,\n textAlign,\n children,\n truncateAfterLines,\n className,\n style,\n accessibilityProps = {},\n componentName,\n}: BaseTextProps): ReactElement => {\n return (\n <StyledBaseText\n color={color}\n fontFamily={fontFamily}\n fontSize={fontSize}\n fontWeight={fontWeight}\n fontStyle={fontStyle}\n textDecorationLine={textDecorationLine}\n lineHeight={lineHeight}\n as={as}\n textAlign={textAlign}\n numberOfLines={truncateAfterLines}\n className={className}\n style={style}\n id={id}\n {...makeAccessible(accessibilityProps)}\n {...metaAttribute(MetaConstants.Component, componentName!)}\n >\n {children}\n </StyledBaseText>\n );\n};\n","import type { ReactElement } from 'react';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\nimport { getPlatformType } from '~utils';\n\nexport type TitleProps = {\n size?: 'small' | 'medium' | 'large';\n contrast?: ColorContrastTypes;\n type?: TextTypes;\n children: string;\n};\n\nconst getProps = ({\n size,\n type,\n contrast,\n}: Pick<TitleProps, 'size' | 'type' | 'contrast'>): Omit<BaseTextProps, 'children'> => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 600,\n fontWeight: 'bold',\n fontStyle: 'normal',\n lineHeight: '4xl',\n fontFamily: 'text',\n accessibilityProps: isPlatformWeb ? {} : { role: 'heading' },\n componentName: 'title',\n };\n\n if (size === 'small') {\n props.fontSize = 600;\n props.lineHeight = '4xl';\n props.as = isPlatformWeb ? 'h3' : undefined;\n } else if (size === 'medium') {\n props.fontSize = 700;\n props.lineHeight = '4xl';\n props.as = isPlatformWeb ? 'h2' : undefined;\n } else if (size === 'large') {\n props.fontSize = 1000;\n props.lineHeight = '6xl';\n props.as = isPlatformWeb ? 'h1' : undefined;\n }\n\n return props;\n};\n\nexport const Title = ({\n size = 'small',\n type = 'normal',\n contrast = 'low',\n children,\n}: TitleProps): ReactElement => {\n const props = getProps({ size, type, contrast });\n return <BaseText {...props}>{children}</BaseText>;\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\nimport { getPlatformType } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\n\ntype HeadingVariant = 'regular' | 'subheading';\ntype HeadingSize = 'small' | 'medium' | 'large';\n\ntype HeadingCommonProps = {\n type?: TextTypes;\n contrast?: ColorContrastTypes;\n children: string;\n};\n\ntype HeadingNormalVariant = HeadingCommonProps & {\n variant?: Exclude<HeadingVariant, 'subheading'>;\n /**\n *\n * @default small\n */\n size?: HeadingSize;\n weight?: keyof Theme['typography']['fonts']['weight'];\n};\n\ntype HeadingSubHeadingVariant = HeadingCommonProps & {\n variant?: Extract<HeadingVariant, 'subheading'>;\n /**\n * `size` cannot be used with variant=\"subheading\". Either change to variant=\"regular\" or remove size prop\n */\n size?: undefined;\n weight?: keyof Pick<Theme['typography']['fonts']['weight'], 'bold'>;\n};\n\n/**\n * Conditionally changing props based on variant.\n * Overloads or union gives wrong intellisense.\n */\nexport type HeadingProps<T> = T extends {\n variant: infer Variant;\n}\n ? Variant extends Exclude<HeadingVariant, 'subheading'>\n ? HeadingNormalVariant\n : Variant extends 'subheading'\n ? HeadingSubHeadingVariant\n : T\n : T;\n\nconst getProps = <T extends { variant: HeadingVariant }>({\n variant,\n size,\n type,\n weight,\n contrast,\n}: Pick<HeadingProps<T>, 'variant' | 'size' | 'type' | 'weight' | 'contrast'>): Omit<\n BaseTextProps,\n 'children'\n> => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast!}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 200,\n fontWeight: weight ?? 'bold',\n fontStyle: 'normal',\n lineHeight: 'xl',\n fontFamily: 'text',\n accessibilityProps: isPlatformWeb ? {} : { role: 'heading' },\n componentName: 'heading',\n };\n\n if (variant === 'regular') {\n if (!size || size === 'small') {\n props.fontSize = 200;\n props.lineHeight = '2xl';\n props.as = isPlatformWeb ? 'h6' : undefined;\n } else if (size === 'medium') {\n props.fontSize = 300;\n props.lineHeight = '3xl';\n props.as = isPlatformWeb ? 'h5' : undefined;\n } else if (size === 'large') {\n props.fontSize = 400;\n props.lineHeight = '3xl';\n props.as = isPlatformWeb ? 'h4' : undefined;\n }\n } else if (variant === 'subheading') {\n if (weight === 'regular') {\n throw new Error(`[Blade: Heading]: weight cannot be 'regular' when variant is 'subheading'`);\n }\n if (size) {\n throw new Error(\n `[Blade: Heading]: size prop cannot be added when variant is 'subheading'. Use variant 'regular' or remove size prop`,\n );\n }\n props.fontSize = 75;\n props.lineHeight = 's';\n props.as = isPlatformWeb ? 'h6' : undefined;\n }\n\n return props;\n};\n\nexport const Heading = <T extends { variant: HeadingVariant }>({\n variant = 'regular',\n size, // Not setting default value since the `size` should be undefined with variant=\"subheading\"\n type = 'normal',\n weight = 'bold',\n contrast = 'low',\n children,\n}: HeadingProps<T>): ReactElement => {\n const props = getProps({ variant, size, type, weight, contrast });\n return <BaseText {...props}>{children}</BaseText>;\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { Theme } from '~components/BladeProvider';\nimport { getPlatformType } from '~utils';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\n\ntype TextCommonProps = {\n type?: TextTypes;\n contrast?: ColorContrastTypes;\n truncateAfterLines?: number;\n children: React.ReactNode;\n weight?: keyof Theme['typography']['fonts']['weight'];\n /**\n * **For Internal use only**: Sets the color of the Text component\n */\n color?: BaseTextProps['color'];\n};\n\nexport type TextVariant = 'body' | 'caption';\n\ntype TextBodyVariant = TextCommonProps & {\n variant?: Extract<TextVariant, 'body'>;\n size?: 'small' | 'medium';\n};\n\ntype TextCaptionVariant = TextCommonProps & {\n variant?: Extract<TextVariant, 'caption'>;\n size?: 'medium';\n};\n\n/**\n * Conditionally changing props based on variant.\n * Overloads or union gives wrong intellisense.\n */\nexport type TextProps<T> = T extends {\n variant: infer Variant;\n}\n ? Variant extends 'caption'\n ? TextCaptionVariant\n : Variant extends 'body'\n ? TextBodyVariant\n : T\n : T;\n\ntype TextForwardedAs = {\n forwardedAs?: BaseTextProps['as'];\n};\n\nconst getTextProps = <T extends { variant: TextVariant }>({\n variant,\n type,\n weight,\n size,\n contrast,\n}: Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast'>): Omit<\n BaseTextProps,\n 'children'\n> &\n TextForwardedAs => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast!}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> & TextForwardedAs = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 100,\n fontWeight: weight ?? 'regular',\n fontStyle: 'normal',\n lineHeight: 'l',\n fontFamily: 'text',\n forwardedAs: isPlatformWeb ? 'p' : undefined,\n componentName: 'text',\n };\n\n if (variant === 'body') {\n if (size === 'small') {\n props.fontSize = 75;\n props.lineHeight = 's';\n }\n } else if (variant === 'caption') {\n if (size === 'small') {\n throw new Error(`[Blade: Text]: size cannot be 'small' when variant is 'caption'`);\n }\n props.fontSize = 50;\n props.lineHeight = 's';\n props.fontStyle = 'italic';\n }\n\n return props;\n};\n\nconst StyledText = styled(BaseText)(({ truncateAfterLines }) => {\n if (truncateAfterLines) {\n if (getPlatformType() === 'react-native') {\n return null;\n }\n return {\n overflow: 'hidden',\n display: '-webkit-box',\n 'line-clamp': `${truncateAfterLines}`,\n '-webkit-line-clamp': `${truncateAfterLines}`,\n '-webkit-box-orient': 'vertical',\n };\n }\n return {};\n});\n\nconst Text = <T extends { variant: TextVariant }>({\n variant = 'body',\n weight = 'regular',\n size = 'medium',\n type = 'normal',\n contrast = 'low',\n truncateAfterLines,\n children,\n color,\n}: TextProps<T>): ReactElement => {\n const props: Omit<BaseTextProps, 'children'> & TextForwardedAs = {\n truncateAfterLines,\n ...getTextProps({ variant, type, weight, size, contrast }),\n ...(color ? { color } : {}),\n };\n return <StyledText {...props}>{children}</StyledText>;\n};\n\nexport { Text, getTextProps };\n","import styled from 'styled-components';\nimport { BaseText } from '../BaseText';\nimport Box from '~components/Box';\nimport {\n metaAttribute,\n getPlatformType,\n makeSpace,\n makeTypographySize,\n MetaConstants,\n} from '~utils';\nimport type { FontSize } from '~tokens/global/typography';\n\nexport type CodeProps = {\n children: string;\n /**\n * Decides the fontSize and padding of Code\n *\n * @default small\n */\n size?: 'small' | 'medium';\n};\n\ntype CodeContainerProps = {\n size: CodeProps['size'];\n};\n\nconst platformType = getPlatformType();\nconst isPlatformWeb = platformType === 'browser' || platformType === 'node';\n\nconst getCodeFontSize = (size: CodeProps['size']): keyof FontSize => {\n switch (size) {\n case 'medium':\n return 100;\n\n default:\n return 75;\n }\n};\n\nconst CodeContainer = styled(Box)<CodeContainerProps>((props) => {\n const padding = `${makeSpace(props.theme.spacing[0])} ${makeSpace(props.theme.spacing[2])}`;\n return {\n padding,\n backgroundColor: props.theme.colors.brand.gray.a50.lowContrast,\n borderRadius: props.theme.border.radius.medium,\n display: isPlatformWeb ? 'inline-block' : undefined,\n // Removing the line height of container to remove extra surrounding space in background\n // The text itself will still have the normal lineHeight\n lineHeight: makeTypographySize(props.theme.typography.lineHeights.s),\n };\n});\n\n/**\n * Code component can be used for displaying token, variable names, or inlined code snippets.\n *\n * ## Usage\n *\n * ### In Web\n * In web, you can use it inside `Text` component or individually. The component is set to display `inline-block`\n *\n * ```tsx\n * <Text>\n * Lorem ipsum <Code>SENTRY_TOKEN</Code> normal text\n * </Text>\n * ```\n *\n * ### In React Native\n *\n * In React Native, you would have to align it using flex to make sure the Code and the surrounding text is correctly aligned\n *\n * ```tsx\n * <Box flexWrap=\"wrap\" flexDirection=\"row\" alignItems=\"flex-start\">\n * <Text>Lorem ipsum </Text>\n * <Code>SENTRY_TOKEN</Code>\n * <Text> normal text</Text>\n * </Box>\n * ```\n */\nconst Code = ({ children, size = 'small' }: CodeProps): JSX.Element => {\n return (\n <CodeContainer\n size={size}\n as={isPlatformWeb ? 'span' : undefined}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Code)}\n >\n <BaseText\n color=\"surface.text.subtle.lowContrast\"\n fontFamily=\"code\"\n fontSize={getCodeFontSize(size)}\n as={isPlatformWeb ? 'code' : undefined}\n >\n {children}\n </BaseText>\n </CodeContainer>\n );\n};\n\nexport { Code };\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBaseButtonProps } from './types';\n\nconst getBaseButtonStyles = ({\n defaultBorderColor,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n defaultBackgroundColor,\n disabled,\n isFullWidth,\n borderWidth,\n borderRadius,\n}: Omit<\n StyledBaseButtonProps,\n 'children' | 'onClick' | 'accessibilityProps' | 'accessibilityLabel'\n>): CSSObject => ({\n minHeight,\n width: isFullWidth ? '100%' : 'auto',\n cursor: disabled ? 'not-allowed' : 'pointer',\n backgroundColor: defaultBackgroundColor,\n borderColor: defaultBorderColor,\n borderWidth,\n borderRadius,\n borderStyle: 'solid',\n paddingTop: buttonPaddingTop,\n paddingBottom: buttonPaddingBottom,\n paddingLeft: buttonPaddingLeft,\n paddingRight: buttonPaddingRight,\n});\n\nexport default getBaseButtonStyles;\n","import { Pressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport { getIn } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\nconst StyledPressable = styled(Animated.createAnimatedComponent(Pressable))<\n Omit<StyledBaseButtonProps, 'accessibilityProps'>\n>((props) => ({\n ...getStyledBaseButtonStyles(props),\n alignSelf: 'center',\n}));\n\nconst StyledBaseButton = ({\n onClick,\n children,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n isFullWidth,\n disabled,\n defaultBackgroundColor,\n defaultBorderColor,\n hoverBackgroundColor,\n activeBackgroundColor,\n focusBackgroundColor,\n focusRingColor,\n hoverBorderColor,\n activeBorderColor,\n focusBorderColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n isLoading,\n accessibilityProps,\n}: StyledBaseButtonProps): React.ReactElement => {\n const { theme } = useTheme();\n const isPressed = useSharedValue(false);\n const duration = getIn(theme.motion, motionDuration);\n const easing = getIn(theme.motion, motionEasing);\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: withTiming(\n isPressed.value ? activeBackgroundColor : defaultBackgroundColor,\n {\n duration,\n easing,\n },\n ),\n borderColor: withTiming(isPressed.value ? activeBorderColor : defaultBorderColor, {\n duration,\n easing,\n }),\n };\n });\n\n return (\n <StyledPressable\n {...accessibilityProps}\n isLoading={isLoading}\n onPress={onClick}\n style={animatedStyles}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n isFullWidth={isFullWidth}\n disabled={disabled}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBorderColor={defaultBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n activeBackgroundColor={activeBackgroundColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n activeBorderColor={activeBorderColor}\n focusBorderColor={focusBorderColor}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n >\n {({ pressed }): React.ReactNode => {\n isPressed.value = pressed;\n return children;\n }}\n </StyledPressable>\n );\n};\n\nexport default StyledBaseButton;\n","import type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconProps } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\n\nexport type ButtonMinHeight = 28 | 32 | 36 | 48;\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 's',\n small: 's',\n medium: 'l',\n large: 'm',\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: 28,\n small: 32,\n medium: 36,\n large: 48,\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 4, // should be `6px` as per design but we're making it `8px` since `6px` is not available as a spacing token\n right: 4, // should be `6px` as per design but we're making it `8px` since `6px` is not available as a spacing token\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n};\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconProps['size']> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n IconProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst textPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n textPadding,\n buttonPadding,\n buttonIconOnlyPadding,\n};\n","import { AccessibilityInfo } from 'react-native';\nimport type { Assertiveness } from './types';\n\nexport function announce(message: string, _assertiveness: Assertiveness = 'assertive'): void {\n AccessibilityInfo.announceForAccessibility(message);\n}\n\nexport function clearAnnouncer(_assertiveness: Assertiveness): void {\n console.warn('[Blade LiveAnnouncer]: clearAnnouncer is not needed in react-native');\n}\n\nexport function destroyAnnouncer(): void {\n console.warn('[Blade LiveAnnouncer]: destroyAnnouncer is not needed in react-native');\n}\n","import type { DurationString, EasingString } from '~tokens/global/motion';\n\nconst dimensions = {\n medium: 16,\n large: 20,\n xlarge: 24,\n} as const;\n\nconst motion: {\n duration: DurationString;\n easing: EasingString;\n} = {\n duration: 'duration.2xgentle',\n easing: 'easing.standard.attentive',\n};\n\nexport { dimensions, motion };\n","import { Svg, Path } from '~components/Icons/_Svg';\n\ntype SpinnerIconProps = {\n dimensions: string;\n color: string;\n};\n\nconst SpinnerIcon = ({ dimensions, color }: SpinnerIconProps): React.ReactElement => {\n return (\n <Svg width={dimensions} height={dimensions} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillOpacity={0.2}\n d=\"M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\"\n fill={color}\n />\n <Path\n d=\"M24 12C24 13.8937 23.5518 15.7606 22.6921 17.4479C21.8324 19.1352 20.5855 20.5951 19.0534 21.7082C17.5214 22.8213 15.7476 23.556 13.8772 23.8523C12.0068 24.1485 10.0928 23.9979 8.29181 23.4127L9.21886 20.5595C10.5696 20.9984 12.0051 21.1114 13.4079 20.8892C14.8107 20.667 16.141 20.116 17.2901 19.2812C18.4391 18.4463 19.3743 17.3514 20.0191 16.0859C20.6639 14.8204 21 13.4203 21 12H24Z\"\n fill={color}\n />\n <Path\n d=\"M-1.33514e-05 12C-1.33514e-05 10.1063 0.448176 8.23944 1.30791 6.55211C2.16764 4.86479 3.41451 3.4049 4.94656 2.2918C6.47862 1.17869 8.25236 0.443983 10.1228 0.147739C11.9932 -0.148504 13.9072 0.00212896 15.7082 0.587322L14.7811 3.44049C13.4304 3.0016 11.9949 2.88862 10.5921 3.11081C9.18927 3.33299 7.85896 3.88402 6.70992 4.71885C5.56088 5.55367 4.62573 6.64859 3.98093 7.91409C3.33613 9.17958 2.99999 10.5797 2.99999 12H-1.33514e-05Z\"\n fill={color}\n />\n </Svg>\n );\n};\n\nexport default SpinnerIcon;\n","import React from 'react';\nimport type { EasingFunctionFactory } from 'react-native-reanimated';\nimport Animated, {\n withTiming,\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n} from 'react-native-reanimated';\nimport { motion as spinnerMotion } from './spinnerTokens';\nimport { useTheme } from '~components/BladeProvider';\nimport { castNativeType, getIn, makeMotionTime } from '~utils';\nimport Box from '~components/Box';\n\nconst SpinningBox = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n const { theme } = useTheme();\n const duration = castNativeType(makeMotionTime(getIn(theme.motion, spinnerMotion.duration)));\n const easing = getIn(theme.motion, spinnerMotion.easing) as EasingFunctionFactory;\n\n const rotation = useSharedValue(0);\n const animatedStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n }, [rotation.value]);\n\n React.useEffect(() => {\n rotation.value = withRepeat(\n withTiming(360, {\n duration,\n easing,\n }),\n -1,\n );\n return (): void => {\n cancelAnimation(rotation);\n };\n }, [duration, easing, rotation]);\n\n return (\n <Box alignSelf=\"center\">\n <Animated.View style={animatedStyles}>{children}</Animated.View>\n </Box>\n );\n};\n\nexport { SpinningBox };\n","import React from 'react';\nimport { dimensions } from './spinnerTokens';\nimport SpinnerIcon from './SpinnerIcon';\nimport { SpinningBox } from './SpinningBox';\nimport type { Theme } from '~components/BladeProvider';\nimport { useTheme } from '~components/BladeProvider';\nimport { metaAttribute, getIn, makeAccessible, makeSize, MetaConstants } from '~utils';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\n\ntype BaseSpinnerProps = {\n intent?: Feedback;\n /**\n * Sets the label of the spinner.\n *\n * @default 'right'\n */\n label?: string;\n /**\n * Sets the label of the spinner.\n *\n */\n labelPosition?: 'right' | 'bottom';\n /**\n * Sets the contrast of the spinner.\n *\n * @default 'low'\n */\n contrast?: ColorContrastTypes;\n /**\n * Sets the size of the spinner.\n *\n * @default 'medium'\n */\n size?: 'medium' | 'large' | 'xlarge';\n /**\n * Sets the aria-label for web & accessibilityLabel react-native.\n *\n */\n accessibilityLabel: string;\n};\n\nconst getColor = ({\n contrast,\n intent,\n theme,\n}: {\n contrast: NonNullable<BaseSpinnerProps['contrast']>;\n intent: BaseSpinnerProps['intent'];\n theme: Theme;\n}): string => {\n if (intent) {\n return getIn(\n theme.colors,\n `feedback.${intent}.action.icon.primary.disabled.${contrast}Contrast`,\n );\n } else if (contrast == 'low') {\n return getIn(theme.colors, 'brand.gray.700.lowContrast');\n } else {\n return getIn(theme.colors, 'brand.gray.400.lowContrast');\n }\n};\n\nconst BaseSpinner = ({\n label,\n labelPosition = 'right',\n accessibilityLabel,\n contrast = 'low',\n intent,\n size = 'medium',\n}: BaseSpinnerProps): React.ReactElement => {\n const { theme } = useTheme();\n return (\n <Box display=\"flex\" {...metaAttribute(MetaConstants.Component, MetaConstants.Spinner)}>\n <Box\n display=\"flex\"\n alignItems=\"center\"\n flexDirection={labelPosition === 'right' ? 'row' : 'column'}\n {...makeAccessible({\n label: accessibilityLabel,\n role: 'progressbar',\n })}\n >\n <SpinningBox>\n <SpinnerIcon\n dimensions={makeSize(dimensions[size])}\n color={getColor({ contrast, intent, theme })}\n />\n </SpinningBox>\n {label && label.trim().length > 0 ? (\n <Box\n marginLeft={labelPosition === 'right' ? 'spacing.3' : 'spacing.0'}\n marginTop={labelPosition === 'bottom' ? 'spacing.3' : 'spacing.0'}\n >\n <Text variant=\"body\" weight=\"regular\" type=\"subdued\" size=\"small\" contrast={contrast}>\n {label}\n </Text>\n </Box>\n ) : null}\n </Box>\n </Box>\n );\n};\n\nexport { BaseSpinner, BaseSpinnerProps };\n","import { useEffect } from 'react';\nimport styled from 'styled-components';\nimport type { ReactElement } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonMinHeight } from './buttonTokens';\nimport {\n buttonIconOnlyPadding,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n textPadding,\n buttonPadding,\n} from './buttonTokens';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent, IconProps, IconSize } from '~components/Icons';\nimport type { DurationString, EasingString } from '~tokens/global/motion';\nimport type { BorderRadiusValues, BorderWidthValues, SpacingValues } from '~tokens/theme/theme';\nimport type { Platform } from '~utils';\nimport {\n MetaConstants,\n metaAttribute,\n makeAccessible,\n usePrevious,\n makeSize,\n makeSpace,\n makeBorderSize,\n getIn,\n} from '~utils';\n\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport type { BaseSpinnerProps } from '~components/Spinner/BaseSpinner';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport Box from '~components/Box';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype BaseButtonCommonProps = {\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityLabel?: string;\n variant?: 'primary' | 'secondary' | 'tertiary';\n contrast?: 'low' | 'high';\n intent?: 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n};\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n property: 'background' | 'border' | 'text' | 'icon';\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'active' | 'focus' | 'disabled';\n intent: BaseButtonProps['intent'];\n contrast: BaseButtonProps['contrast'];\n};\n\n/**\n * All possible icon colors, derived from `IconProps` minus `currentColor` because possible values should only be from tokens\n */\ntype IconColor = Exclude<IconProps['color'], 'currentColor'>;\n\nconst getColorToken = ({\n property,\n variant,\n state,\n contrast,\n intent,\n}: BaseButtonColorTokenModifiers):\n | `action.${BaseButtonColorTokenModifiers['property']}.${BaseButtonColorTokenModifiers['variant']}.${BaseButtonColorTokenModifiers['state']}`\n | `feedback.${NonNullable<\n BaseButtonColorTokenModifiers['intent']\n >}.action.${BaseButtonColorTokenModifiers['property']}.primary.${BaseButtonColorTokenModifiers['state']}.${NonNullable<\n BaseButtonColorTokenModifiers['contrast']\n >}Contrast` => {\n if (intent && contrast) {\n // TODO: Add support for secondary & tertiary variants for feedback buttons here when a use-case is identified\n return `feedback.${intent}.action.${property}.primary.${state}.${contrast}Contrast`;\n }\n return `action.${property}.${variant}.${state}`;\n};\n\ntype BaseButtonStyleProps = {\n iconSize: IconSize;\n spinnerSize: BaseSpinnerProps['size'];\n fontSize: keyof Theme['typography']['fonts']['size'];\n lineHeight: keyof Theme['typography']['lineHeights'];\n minHeight: `${ButtonMinHeight}px`;\n iconPadding?: DotNotationSpacingStringToken;\n iconColor: IconColor;\n textColor: BaseTextProps['color'];\n buttonPaddingTop: SpacingValues;\n buttonPaddingBottom: SpacingValues;\n buttonPaddingLeft: SpacingValues;\n buttonPaddingRight: SpacingValues;\n text?: string;\n defaultBackgroundColor: string;\n defaultBorderColor: string;\n hoverBackgroundColor: string;\n hoverBorderColor: string;\n activeBackgroundColor: string;\n activeBorderColor: string;\n focusBackgroundColor: string;\n focusBorderColor: string;\n focusRingColor: string;\n motionDuration: DurationString;\n motionEasing: EasingString;\n borderWidth: BorderWidthValues;\n borderRadius: BorderRadiusValues;\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n children,\n isDisabled,\n size,\n theme,\n variant,\n intent,\n contrast,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n children?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n intent: BaseButtonProps['intent'];\n contrast: NonNullable<BaseButtonProps['contrast']>;\n}): BaseButtonStyleProps => {\n const isIconOnly = hasIcon && (!children || children?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n iconPadding: hasIcon && children?.trim() ? `spacing.${textPadding[size]}` : undefined,\n iconColor: getColorToken({\n property: 'icon',\n variant,\n contrast,\n intent,\n state: 'default',\n }) as IconColor,\n textColor: getColorToken({\n property: 'text',\n variant,\n contrast,\n intent,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].top])\n : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].bottom])\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].left])\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].right])\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: size === 'xsmall' ? children?.trim().toUpperCase() : children?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'hover' }),\n ),\n activeBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'active' }),\n ),\n activeBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'active' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'brand.primary.400'),\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderRadius: makeBorderSize(theme.border.radius.small),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard.effective',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'disabled' }),\n );\n props.iconColor = getColorToken({\n property: 'icon',\n variant,\n contrast,\n intent,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getColorToken({\n property: 'text',\n variant,\n contrast,\n intent,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.activeBackgroundColor = disabledBackgroundColor;\n props.activeBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(Box)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst BaseButton = ({\n variant = 'primary',\n intent,\n contrast = 'low',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n type = 'button',\n children,\n accessibilityLabel,\n}: BaseButtonProps): ReactElement => {\n const disabled = isLoading || isDisabled;\n const { theme } = useTheme();\n if (!Icon && !children?.trim()) {\n throw new Error(\n `[Blade: BaseButton]: At least one of icon or text is required to render a button.`,\n );\n }\n\n const prevLoading = usePrevious(isLoading);\n\n useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n activeBorderColor,\n activeBackgroundColor,\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n children,\n isDisabled: disabled,\n size,\n variant,\n theme,\n intent,\n contrast,\n hasIcon: Boolean(Icon),\n });\n\n return (\n <StyledBaseButton\n accessibilityProps={{ ...makeAccessible({ role: 'button', label: accessibilityLabel }) }}\n isLoading={isLoading}\n disabled={disabled}\n activeBorderColor={activeBorderColor}\n activeBackgroundColor={activeBackgroundColor}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={isFullWidth}\n onClick={onClick}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Button)}\n >\n {isLoading ? (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top={0}\n left={0}\n bottom={0}\n right={0}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n intent={intent}\n contrast={contrast}\n />\n </Box>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n >\n {Icon && iconPosition == 'left' ? (\n <Box\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </Box>\n ) : null}\n {text ? (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n fontWeight=\"bold\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <Box paddingLeft={iconPadding} display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </Box>\n ) : null}\n </ButtonContent>\n </StyledBaseButton>\n );\n};\n\nexport default BaseButton;\n","import type { CSSObject } from 'styled-components';\n\nconst getStyledLinkStyles = ({ cursor }: { cursor?: CSSObject['cursor'] }): CSSObject => ({\n padding: 0,\n backgroundColor: 'transparent',\n outline: 'none',\n textDecoration: 'none',\n border: 'none',\n cursor,\n});\n\nexport default getStyledLinkStyles;\n","import type { ReactElement } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Linking } from 'react-native';\nimport styled from 'styled-components/native';\nimport getStyledLinkStyles from './getStyledLinkStyles';\nimport type { StyledBaseLinkProps } from './types';\n\nconst StyledNativeLink = styled.Pressable({\n ...getStyledLinkStyles({}),\n alignSelf: 'flex-start',\n});\n\nconst openURL = async (href: string): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n if (canOpen) {\n await Linking.openURL(href);\n }\n } catch {\n console.warn(`[Blade: BaseLink]: Could not open the link \"href=${href}\"`);\n }\n};\n\nconst StyledLink = ({\n variant,\n disabled,\n href,\n onClick,\n children,\n setCurrentInteraction,\n accessibilityProps,\n // @ts-expect-error avoid exposing to public\n style,\n}: StyledBaseLinkProps & { children: React.ReactNode }): ReactElement => {\n const handleOnPress = (event: GestureResponderEvent): void => {\n if (href && variant === 'anchor') {\n void openURL(href);\n }\n\n if (onClick) {\n /*\n React Native's Pressable's onClick returns a GestureResponderEvent but our types expect a SyntheticEvent.\n Until we have a way to handle platform specific types, we will have to ignore this TS error.\n */\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n onClick(event);\n }\n };\n\n return (\n <StyledNativeLink\n {...accessibilityProps}\n disabled={disabled}\n onPress={handleOnPress}\n onPressIn={(): void => setCurrentInteraction('active')}\n onPressOut={(): void => setCurrentInteraction('default')}\n style={style}\n >\n {children}\n </StyledNativeLink>\n );\n};\n\nexport default StyledLink;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\nimport type { ActionStates } from '~tokens/theme/theme';\n\nconst useInteraction = (): {\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onFocus: () => void;\n onBlur: () => void;\n currentInteraction: keyof ActionStates;\n setCurrentInteraction: Dispatch<SetStateAction<keyof ActionStates>>;\n} => {\n const [currentInteraction, setCurrentInteraction] = useState<keyof ActionStates>('default');\n\n const onMouseEnter = (): void => {\n if (currentInteraction !== 'active') setCurrentInteraction('hover');\n };\n const onMouseLeave = (): void => {\n if (currentInteraction !== 'active') setCurrentInteraction('default');\n };\n const onFocus = (): void => {\n setCurrentInteraction('active');\n };\n const onBlur = (): void => {\n setCurrentInteraction('default');\n };\n\n return { onMouseEnter, onMouseLeave, onFocus, onBlur, currentInteraction, setCurrentInteraction };\n};\n\nexport default useInteraction;\n","/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { ReactElement, SyntheticEvent } from 'react';\nimport { useState } from 'react';\nimport type { CSSObject } from 'styled-components';\nimport StyledBaseLink from './StyledBaseLink';\nimport useInteraction from '~src/hooks/useInteraction';\nimport type { IconComponent, IconProps } from '~components/Icons';\nimport type { Theme } from '~components/BladeProvider';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport { BaseText } from '~components/Typography/BaseText';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport { makeAccessible, getIn, metaAttribute, MetaConstants } from '~utils';\nimport type { LinkActionStates } from '~tokens/theme/theme';\nimport type { DurationString, EasingString } from '~tokens/global/motion';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype BaseLinkCommonProps = {\n intent?: 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n contrast?: 'low' | 'high';\n icon?: IconComponent;\n iconPosition?: 'left' | 'right';\n onClick?: (event: SyntheticEvent) => void;\n accessibilityLabel?: string;\n\n /**\n * Sets the size of the link\n *\n * @default medium\n */\n size?: 'small' | 'medium';\n};\n\n/*\n Mandatory children prop when icon is not provided\n*/\ntype BaseLinkWithoutIconProps = BaseLinkCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseLinkWithIconProps = BaseLinkCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n BaseLink Props with or without an icon\n*/\ntype BaseLinkPropsWithOrWithoutIcon = BaseLinkWithIconProps | BaseLinkWithoutIconProps;\n\n/*\n BaseLink Props when variant is anchor\n*/\ntype BaseLinkAnchorVariantProps = BaseLinkPropsWithOrWithoutIcon & {\n variant?: 'anchor';\n href?: string;\n target?: string;\n rel?: string;\n isDisabled?: undefined;\n};\n\n/*\n BaseLink Props when variant is button\n*/\ntype BaseLinkButtonVariantProps = BaseLinkPropsWithOrWithoutIcon & {\n variant?: 'button';\n isDisabled?: boolean;\n href?: undefined;\n target?: undefined;\n rel?: undefined;\n};\n\n/*\n BaseLink Props when variant is anchor or button\n*/\nexport type BaseLinkProps = BaseLinkAnchorVariantProps | BaseLinkButtonVariantProps;\n\ntype BaseLinkStyleProps = {\n as: 'a' | 'button';\n textDecorationLine: 'underline' | 'none';\n iconColor: IconProps['color'];\n iconSize: IconProps['size'];\n iconPadding: DotNotationSpacingStringToken;\n textColor: BaseTextProps['color'];\n focusRingColor: string;\n motionDuration: DurationString;\n motionEasing: EasingString;\n cursor: CSSObject['cursor'];\n disabled: boolean;\n role: 'button' | 'link';\n defaultRel: BaseLinkProps['rel'];\n type?: 'button';\n fontSize: BaseTextProps['fontSize'];\n};\n\nconst getColorToken = ({\n variant,\n intent,\n contrast,\n element,\n currentInteraction,\n isDisabled,\n isVisited,\n}: {\n variant: BaseLinkProps['variant'];\n intent: BaseLinkProps['intent'];\n contrast: NonNullable<BaseLinkProps['contrast']>;\n element: 'icon' | 'text';\n currentInteraction: keyof LinkActionStates;\n isDisabled: boolean;\n isVisited: boolean;\n}): IconProps['color'] | BaseTextProps['color'] => {\n let state = currentInteraction;\n if (isDisabled && variant == 'button') {\n state = 'disabled';\n }\n if (isVisited && variant == 'anchor' && !intent) {\n // visited state is only valid for anchor variant without any intent\n state = 'visited';\n }\n\n if (intent && state !== 'visited') {\n return `feedback.${intent}.action.${element}.link.${state}.${contrast}Contrast`;\n }\n return `action.${element}.link.${state}`;\n};\n\nconst getProps = ({\n theme,\n variant,\n currentInteraction,\n children,\n isDisabled,\n intent,\n contrast,\n isVisited,\n target,\n size,\n}: {\n theme: Theme;\n variant: NonNullable<BaseLinkProps['variant']>;\n currentInteraction: keyof LinkActionStates;\n children?: string;\n isDisabled: boolean;\n intent: BaseLinkProps['intent'];\n contrast: NonNullable<BaseLinkProps['contrast']>;\n isVisited: boolean;\n target: BaseLinkProps['target'];\n size: 'small' | 'medium';\n}): BaseLinkStyleProps => {\n const isButton = variant === 'button';\n const props: BaseLinkStyleProps = {\n as: isButton ? 'button' : 'a',\n textDecorationLine: !isButton && currentInteraction !== 'default' ? 'underline' : 'none',\n iconColor: getColorToken({\n variant,\n intent,\n contrast,\n element: 'icon',\n currentInteraction,\n isDisabled,\n isVisited,\n }) as IconProps['color'],\n fontSize: size === 'medium' ? 100 : 75,\n iconSize: size,\n iconPadding: children?.trim() ? 'spacing.2' : 'spacing.0',\n textColor: getColorToken({\n variant,\n intent,\n contrast,\n element: 'text',\n currentInteraction,\n isDisabled,\n isVisited,\n }) as BaseTextProps['color'],\n focusRingColor: getIn(theme.colors, 'brand.primary.400'),\n motionDuration: 'duration.2xquick',\n motionEasing: 'easing.standard.effective',\n cursor: isButton && isDisabled ? 'not-allowed' : 'pointer',\n disabled: isButton && isDisabled,\n role: isButton ? 'button' : 'link',\n defaultRel: target && target === '_blank' ? 'noreferrer noopener' : undefined,\n type: isButton ? 'button' : undefined,\n };\n\n return props;\n};\n\nconst BaseLink = ({\n children,\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n onClick,\n variant = 'anchor',\n href,\n target,\n rel,\n intent,\n contrast = 'low',\n accessibilityLabel,\n // @ts-expect-error avoiding exposing to public\n className,\n // @ts-expect-error avoiding exposing to public\n style,\n size = 'medium',\n}: BaseLinkProps): ReactElement => {\n const [isVisited, setIsVisited] = useState(false);\n const { currentInteraction, setCurrentInteraction, ...syntheticEvents } = useInteraction();\n const { theme } = useTheme();\n if (!Icon && !children?.trim()) {\n throw new Error(\n `[Blade: BaseLink]: At least one of icon or text is required to render a link.`,\n );\n }\n const {\n as,\n textDecorationLine,\n iconColor,\n iconPadding,\n iconSize,\n fontSize,\n textColor,\n focusRingColor,\n motionDuration,\n motionEasing,\n cursor,\n disabled,\n role,\n defaultRel,\n type,\n } = getProps({\n theme,\n variant,\n currentInteraction,\n children,\n isDisabled,\n intent,\n contrast,\n isVisited,\n target,\n size,\n });\n\n const handleOnClick = (event: SyntheticEvent): void => {\n if (!isVisited && !intent && variant === 'anchor') {\n // visited state is only valid for anchor variant without any intent\n setIsVisited(true);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <StyledBaseLink\n {...syntheticEvents}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Link)}\n accessibilityProps={{ ...makeAccessible({ role, label: accessibilityLabel, disabled }) }}\n variant={variant}\n as={as}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n onClick={handleOnClick}\n disabled={disabled}\n type={type}\n cursor={cursor}\n focusRingColor={focusRingColor}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n setCurrentInteraction={setCurrentInteraction}\n // @ts-ignore Because we avoided exposing className to public\n className={className}\n style={style}\n >\n <Box display=\"flex\" flexDirection=\"row\" className=\"content-container\" alignItems=\"center\">\n {Icon && iconPosition == 'left' ? (\n <Box paddingRight={iconPadding} display=\"flex\" alignItems=\"center\">\n <Icon color={iconColor} size={iconSize} />\n </Box>\n ) : null}\n <BaseText\n textDecorationLine={textDecorationLine}\n color={textColor}\n fontSize={fontSize}\n textAlign=\"center\"\n fontWeight=\"bold\"\n >\n {children}\n </BaseText>\n {Icon && iconPosition == 'right' ? (\n <Box paddingLeft={iconPadding} display=\"flex\" alignItems=\"center\">\n <Icon color={iconColor} size={iconSize} />\n </Box>\n ) : null}\n </Box>\n </StyledBaseLink>\n );\n};\n\nexport default BaseLink;\n","import type { ReactChild, ReactElement } from 'react';\nimport { Fragment, useState } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport {\n getPlatformType,\n makeAccessible,\n metaAttribute,\n MetaConstants,\n useBreakpoint,\n} from '~utils';\nimport { IconButton } from '~components/Button/IconButton';\nimport Box from '~components/Box';\nimport { Heading, Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\n\ntype Nullable<Type> = Type | null;\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissable?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y contrast.\n *\n * @default low\n */\n contrast?: ColorContrastTypes;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n *\n * @default neutral\n */\n intent?: Feedback;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary: PrimaryAction;\n\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n};\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? Box : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst Alert = ({\n description,\n title,\n isDismissable = true,\n onDismiss,\n contrast = 'low',\n isFullWidth = false,\n intent = 'neutral',\n actions,\n}: AlertProps): ReactElement | null => {\n if (!actions?.primary && actions?.secondary) {\n throw new Error(\n '[Blade: Alert]: SecondaryAction is allowed only when PrimaryAction is defined.',\n );\n }\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const [isVisible, setIsVisible] = useState(true);\n const contrastType = `${contrast}Contrast` as const;\n const iconSize = isFullWidth ? 'large' : 'medium';\n const textSize = isFullWidth ? 'medium' : 'small';\n\n const Icon = intentIconMap[intent];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.0';\n }\n\n const icon = (\n <Box marginTop={iconOffset} display=\"flex\">\n <Icon color={`feedback.icon.${intent}.${contrastType}`} size={iconSize} />\n </Box>\n );\n\n const _title = title ? (\n <Box marginBottom=\"spacing.2\">\n {isFullWidth ? (\n <Heading size=\"small\" contrast={contrast}>\n {title}\n </Heading>\n ) : (\n <Text weight=\"bold\" contrast={contrast}>\n {title}\n </Text>\n )}\n </Box>\n ) : null;\n\n const _description = (\n <Box marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text size={textSize} contrast={contrast}>\n {description}\n </Text>\n </Box>\n );\n\n const primaryAction = actions?.primary ? (\n <Box marginRight=\"spacing.5\" display={isReactNative ? 'flex' : 'inline-flex'}>\n <BaseButton\n size={textSize}\n onClick={actions.primary.onClick}\n intent={intent}\n contrast={contrast}\n >\n {actions.primary.text}\n </BaseButton>\n </Box>\n ) : null;\n\n const secondaryActionParams: Nullable<Partial<SecondaryActionLinkButton>> = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n const secondaryAction = actions?.secondary ? (\n <Box marginRight=\"spacing.4\" display={isReactNative ? 'flex' : 'inline-flex'}>\n <BaseLink size={textSize} contrast={contrast} intent={intent} {...secondaryActionParams}>\n {actions.secondary.text}\n </BaseLink>\n </Box>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <Box flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </Box>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <Box marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </Box>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissable ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n contrast={contrast}\n size={iconSize}\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || intent === 'negative' || intent === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(intent === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <StyledAlert\n intent={intent}\n contrastType={contrastType}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n {...a11yProps}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Alert)}\n >\n {icon}\n <Box\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </Box>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n );\n};\n\nexport { AlertProps, Alert };\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBadgeProps } from './types';\nimport { getIn, makeBorderSize } from '~utils';\n\nconst getStyledBadgeStyles = ({ theme, backgroundColor }: StyledBadgeProps): CSSObject => ({\n backgroundColor: getIn(theme.colors, backgroundColor),\n borderRadius: makeBorderSize(theme.border.radius.max),\n display: 'flex',\n flexWrap: 'nowrap',\n});\n\nexport { getStyledBadgeStyles };\n","import styled from 'styled-components/native';\nimport { getStyledBadgeStyles } from './getStyledBadgeStyles';\nimport type { StyledBadgeProps } from './types';\n\nconst StyledBadge = styled.View<StyledBadgeProps>((props) => ({\n ...getStyledBadgeStyles(props),\n alignSelf: 'center',\n}));\n\nexport { StyledBadge };\n","import type { BadgeProps } from './Badge';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport type { IconProps } from '~components/Icons';\n\nconst verticalPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.0',\n medium: 'spacing.1',\n large: 'spacing.2',\n};\n\nconst horizontalPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.3',\n medium: 'spacing.3',\n large: 'spacing.4',\n};\n\nconst iconPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.1',\n medium: 'spacing.2',\n large: 'spacing.2',\n};\n\nconst iconSize: Record<NonNullable<BadgeProps['size']>, IconProps['size']> = {\n small: 'xsmall',\n medium: 'small',\n large: 'small',\n};\n\nexport { verticalPadding, horizontalPadding, iconPadding, iconSize };\n","import type { ReactElement } from 'react';\nimport type { StyledBadgeProps } from './types';\nimport { StyledBadge } from './StyledBadge';\nimport { iconPadding, iconSize, horizontalPadding, verticalPadding } from './badgeTokens';\nimport type { IconComponent, IconProps } from '~components/Icons';\nimport Box from '~components/Box';\nimport type { Feedback } from '~tokens/theme/theme';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils';\n\ntype BadgeProps = {\n /**\n * Sets the label for the badge.\n *\n */\n children: string;\n /**\n * Sets the variant of the badge.\n *\n * @default 'neutral'\n */\n variant?: Feedback | 'blue';\n /**\n * Sets the contrast of the badge.\n *\n * @default 'low'\n */\n contrast?: 'low' | 'high';\n /**\n * Sets the size of the badge.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Icon to be displayed in the badge.\n * Accepts a component of type `IconComponent` from Blade.\n *\n */\n icon?: IconComponent;\n /**\n * Sets the fontWeight of the label.\n *\n * @default 'regular'\n */\n fontWeight?: 'regular' | 'bold';\n};\n\nconst isFeedbackVariant = (variant: string): variant is Feedback => {\n const feedbackVariants = ['information', 'negative', 'neutral', 'notice', 'positive'];\n return feedbackVariants.includes(variant);\n};\n\ntype ColorProps = {\n iconColor: IconProps['color'];\n textColor: BaseTextProps['color'];\n backgroundColor: StyledBadgeProps['backgroundColor'];\n};\n\nconst getColorProps = ({\n variant,\n contrast,\n}: {\n variant: NonNullable<BadgeProps['variant']>;\n contrast: NonNullable<BadgeProps['contrast']>;\n}): ColorProps => {\n const props: ColorProps = {\n iconColor: 'feedback.icon.neutral.lowContrast',\n textColor: 'feedback.text.neutral.lowContrast',\n backgroundColor: 'feedback.background.neutral.lowContrast',\n };\n if (isFeedbackVariant(variant)) {\n props.iconColor = `feedback.icon.${variant}.${contrast}Contrast`;\n props.textColor = `feedback.text.${variant}.${contrast}Contrast`;\n props.backgroundColor = `feedback.background.${variant}.${contrast}Contrast`;\n } else {\n props.iconColor = `badge.icon.${variant}.${contrast}Contrast`;\n props.textColor = `badge.text.${variant}.${contrast}Contrast`;\n props.backgroundColor = `badge.background.${variant}.${contrast}Contrast`;\n }\n return props;\n};\n\nconst Badge = ({\n children,\n contrast = 'low',\n fontWeight = 'regular',\n icon: Icon,\n size = 'medium',\n variant = 'neutral',\n}: BadgeProps): ReactElement => {\n if (!children?.trim()) {\n throw new Error('[Blade: Badge]: Text as children is required for Badge.');\n }\n const { backgroundColor, iconColor, textColor } = getColorProps({\n variant,\n contrast,\n });\n return (\n <StyledBadge\n backgroundColor={backgroundColor}\n size={size}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Badge)}\n >\n <Box\n paddingRight={horizontalPadding[size]}\n paddingLeft={horizontalPadding[size]}\n paddingTop={verticalPadding[size]}\n paddingBottom={verticalPadding[size]}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n >\n {Icon ? (\n <Box paddingRight={Boolean(Icon) ? iconPadding[size] : 'spacing.0'} display=\"flex\">\n <Icon color={iconColor} size={iconSize[size]} />\n </Box>\n ) : null}\n <Text\n {...(size === 'small'\n ? {\n variant: 'caption',\n }\n : {\n variant: 'body',\n size: 'small',\n })}\n type=\"normal\"\n weight={fontWeight}\n truncateAfterLines={1}\n color={textColor}\n >\n {children}\n </Text>\n </Box>\n </StyledBadge>\n );\n};\n\nexport { Badge, BadgeProps };\n","import React from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport type { BoxProps } from '~components/Box/types';\n\nconst isAndroid = Platform.OS === 'android';\n// TODO: Temporary workaround to make android shadows look as close as iOS\nconst androidShadow = {\n color: undefined,\n elevation: 2,\n};\n\nconst CardSurfaceStyled = styled(Box)<{ elevation: number; surfaceLevel: 2 | 3 }>(\n ({ surfaceLevel, theme }) => {\n const backgroundColor = theme.colors.surface.background[`level${surfaceLevel}`].lowContrast;\n return {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n shadowOpacity: '1',\n shadowRadius: theme.shadows.blurRadius.level[1],\n shadowColor: isAndroid ? androidShadow.color : theme.shadows.color.level[1],\n shadowOffset: `0px ${theme.shadows.offsetY.level[1]}px`,\n backgroundColor,\n };\n },\n);\n\ntype CardSurfaceProps = {\n children: React.ReactNode;\n surfaceLevel: 2 | 3;\n} & BoxProps;\n\nconst CardSurface = ({\n children,\n surfaceLevel,\n ...props\n}: CardSurfaceProps): React.ReactElement => {\n const { theme } = useTheme();\n\n return (\n <CardSurfaceStyled\n {...props}\n surfaceLevel={surfaceLevel}\n elevation={isAndroid ? androidShadow.elevation : theme.shadows.androidElevation.level[1]}\n >\n {children}\n </CardSurfaceStyled>\n );\n};\n\nexport { CardSurface };\n","import React from 'react';\nimport { getComponentId } from '~utils';\n\ntype CardContextType = true | null;\nconst CardContext = React.createContext<CardContextType>(null);\n\nconst useVerifyInsideCard = (componentName: string): CardContextType => {\n const context = React.useContext(CardContext);\n if (!context) {\n throw new Error(`[Blade Card]: ${componentName} cannot be used outside of Card component`);\n }\n return true;\n};\n\n/**\n * Verify if the passed childrens are only of allowedComponents list\n */\nconst useVerifyAllowedComponents = (\n children: React.ReactNode,\n componentName: string,\n allowedComponents: string[],\n): void => {\n React.Children.forEach(children, (child) => {\n const isValidChild = child && allowedComponents.includes(getComponentId(child)!);\n if (!isValidChild) {\n throw new Error(\n `[Blade Card]: Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as ${componentName} children`,\n );\n }\n });\n};\n\ntype CardProviderProps = { children: React.ReactNode };\nconst CardProvider = ({ children }: CardProviderProps): React.ReactElement => {\n return <CardContext.Provider value={true}>{children}</CardContext.Provider>;\n};\n\nexport { useVerifyInsideCard, useVerifyAllowedComponents, CardProvider };\n","import React from 'react';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport Box from '~components/Box';\nimport type { WithComponentId } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card according to the surface level tokens\n *\n * eg: `theme.colors.surface.background.level1`\n *\n * **Description:**\n *\n * - 2: Used in layouts which are on top of the main background\n * - 3: Used over the cards template or as a text input backgrounds.\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-colors--page#-theme-tokens\n * - Figma: https://shorturl.at/fsvwK\n */\n surfaceLevel?: 2 | 3;\n};\n\nconst Card = ({ children, surfaceLevel = 3 }: CardProps): React.ReactElement => {\n useVerifyAllowedComponents(children, 'Card', [\n ComponentIds.CardHeader,\n ComponentIds.CardBody,\n ComponentIds.CardFooter,\n ]);\n\n return (\n <CardProvider>\n <CardSurface\n {...metaAttribute(MetaConstants.Component, MetaConstants.Card)}\n paddingLeft=\"spacing.7\"\n paddingRight=\"spacing.7\"\n paddingTop=\"spacing.6\"\n paddingBottom=\"spacing.6\"\n borderRadius=\"medium\"\n surfaceLevel={surfaceLevel}\n >\n {children}\n </CardSurface>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n};\n\nconst CardBody: WithComponentId<CardBodyProps> = ({ children }) => {\n useVerifyInsideCard('CardBody');\n\n return <Box {...metaAttribute(MetaConstants.Component, MetaConstants.CardBody)}>{children}</Box>;\n};\nCardBody.componentId = ComponentIds.CardBody;\n\nexport { Card, CardBody };\n","import type { ReactElement, SyntheticEvent } from 'react';\nimport { BaseLink } from '../BaseLink';\nimport type { IconComponent } from '~components/Icons';\n\ntype LinkCommonProps = {\n variant?: 'anchor' | 'button';\n icon?: IconComponent;\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n onClick?: (event: SyntheticEvent) => void;\n href?: string;\n target?: string;\n accessibilityLabel?: string;\n\n /**\n * Sets the size of the link\n *\n * @default medium\n */\n size?: 'small' | 'medium';\n};\n\n/*\n Mandatory children prop when icon is not provided\n*/\ntype LinkWithoutIconProps = LinkCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype LinkWithIconProps = LinkCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n Link Props with or without an icon\n*/\ntype LinkPropsWithOrWithoutIcon = LinkWithIconProps | LinkWithoutIconProps;\n\n/*\n Link Props when variant is anchor\n*/\ntype LinkAnchorVariantProps = LinkPropsWithOrWithoutIcon & {\n variant?: 'anchor';\n href?: string;\n target?: string;\n rel?: string;\n isDisabled?: undefined;\n};\n\n/*\n Link Props when variant is button\n*/\ntype LinkButtonVariantProps = LinkPropsWithOrWithoutIcon & {\n variant?: 'button';\n isDisabled?: boolean;\n href?: undefined;\n target?: undefined;\n rel?: undefined;\n};\n\n/*\n Link Props when variant is anchor or button\n*/\nexport type LinkProps = LinkAnchorVariantProps | LinkButtonVariantProps;\n\nconst Link = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n onClick,\n variant = 'anchor',\n href,\n target,\n rel,\n accessibilityLabel,\n size = 'medium',\n}: LinkProps): ReactElement => {\n return (\n <BaseLink\n {...(icon ? { icon, children } : { children })}\n {...(variant === 'anchor' ? { variant, href, target, rel } : { variant, isDisabled })}\n iconPosition={iconPosition}\n onClick={onClick}\n accessibilityLabel={accessibilityLabel}\n size={size}\n />\n );\n};\n\nexport default Link;\n","import type { GestureResponderEvent } from 'react-native';\nimport BaseButton from '../BaseButton';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\n\ntype ButtonCommonProps = {\n variant?: 'primary' | 'secondary' | 'tertiary';\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n isLoading?: boolean;\n accessibilityLabel?: string;\n type?: 'button' | 'reset' | 'submit';\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n};\n\n/*\n Mandatory children prop when icon is not provided\n */\ntype ButtonWithoutIconProps = ButtonCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n */\ntype ButtonWithIconProps = ButtonCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\nexport type ButtonProps = ButtonWithoutIconProps | ButtonWithIconProps;\n\nconst Button = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n size = 'medium',\n type = 'button',\n variant = 'primary',\n accessibilityLabel,\n}: ButtonProps): React.ReactElement => {\n return (\n <BaseButton\n {...(icon ? { icon, children } : { children })}\n accessibilityLabel={accessibilityLabel}\n iconPosition={iconPosition}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n onClick={onClick}\n size={size}\n type={type}\n variant={variant}\n isLoading={isLoading}\n />\n );\n};\n\nexport default Button;\n","import styled from 'styled-components/native';\nimport { makeSize } from '~utils';\n\nconst Divider = styled.View(({ theme }) => {\n return {\n borderBottomWidth: makeSize(theme.border.width.thin),\n borderBottomStyle: 'solid',\n borderColor: theme.colors.surface.border.normal.lowContrast,\n };\n});\n\nexport { Divider };\n","import type { CounterProps } from './Counter';\nimport type { TypographyPlatforms } from '~tokens/global/typography';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\n\ntype CounterMaxWidth = 100 | 120;\n\nconst verticalPadding: Record<NonNullable<CounterProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.0',\n medium: 'spacing.1',\n large: 'spacing.1',\n};\n\nconst horizontalPadding: Record<\n NonNullable<CounterProps['size']>,\n DotNotationSpacingStringToken\n> = {\n small: 'spacing.2',\n medium: 'spacing.3',\n large: 'spacing.3',\n};\n\nconst maxWidth: Record<NonNullable<TypographyPlatforms>, CounterMaxWidth> = {\n onMobile: 100,\n onDesktop: 120,\n};\n\nexport { maxWidth, verticalPadding, horizontalPadding };\n","import type { CSSObject } from 'styled-components';\nimport { maxWidth } from './counterTokens';\nimport type { StyledCounterProps } from './types';\nimport { getIn, makeBorderSize, makeSize } from '~utils';\n\nconst getStyledCounterStyles = ({\n theme,\n platform,\n backgroundColor,\n}: StyledCounterProps): CSSObject => ({\n backgroundColor: getIn(theme.colors, backgroundColor),\n borderRadius: makeBorderSize(theme.border.radius.max),\n maxWidth: makeSize(maxWidth[platform]),\n display: 'flex',\n flexWrap: 'nowrap',\n});\n\nexport { getStyledCounterStyles };\n","import styled from 'styled-components/native';\nimport { getStyledCounterStyles } from './getStyledCounterStyles';\nimport type { StyledCounterProps } from './types';\n\nconst StyledCounter = styled.View<StyledCounterProps>((props) => ({\n ...getStyledCounterStyles(props),\n alignSelf: 'center',\n}));\n\nexport { StyledCounter };\n","import { StyledCounter } from './StyledCounter';\nimport type { StyledCounterProps } from './types';\nimport { horizontalPadding, verticalPadding } from './counterTokens';\nimport type { Feedback } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport Box from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { metaAttribute, MetaConstants } from '~utils';\n\nexport type CounterProps = {\n /**\n * Sets the value for the counter.\n */\n value: number;\n /**\n * Sets the max value for the counter.\n * If value exceedes `max` it will render `value+`\n */\n max?: number;\n /**\n * Sets the intent of the counter.\n *\n * @default 'neutral'\n */\n intent?: Feedback;\n /**\n * Sets the contrast of the counter.\n *\n * @default 'low'\n */\n contrast?: 'high' | 'low';\n /**\n * Sets the size of the counter.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype ColorProps = {\n textColor: BaseTextProps['color'];\n backgroundColor: StyledCounterProps['backgroundColor'];\n};\n\nconst getColorProps = ({\n intent = 'neutral',\n contrast = 'low',\n}: {\n intent: NonNullable<CounterProps['intent']>;\n contrast: NonNullable<CounterProps['contrast']>;\n}): ColorProps => {\n const props: ColorProps = {\n textColor: `feedback.text.${intent}.${contrast}Contrast`,\n backgroundColor: `feedback.background.${intent}.${contrast}Contrast`,\n };\n return props;\n};\n\nconst Counter = ({\n value,\n max,\n intent = 'neutral',\n contrast = 'low',\n size = 'medium',\n}: CounterProps): React.ReactElement => {\n let content = `${value}`;\n if (max && value > max) {\n content = `${max}+`;\n }\n\n const { platform } = useTheme();\n const { backgroundColor, textColor } = getColorProps({\n intent,\n contrast,\n });\n\n const textSizes = {\n small: {\n variant: 'caption',\n },\n medium: {\n variant: 'body',\n size: 'small',\n },\n large: {\n variant: 'body',\n size: 'medium',\n },\n } as const;\n\n return (\n <StyledCounter backgroundColor={backgroundColor} size={size} platform={platform}>\n <Box\n paddingRight={horizontalPadding[size]}\n paddingLeft={horizontalPadding[size]}\n paddingTop={verticalPadding[size]}\n paddingBottom={verticalPadding[size]}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n {...metaAttribute(MetaConstants.Component, MetaConstants.Counter)}\n >\n <Text\n {...textSizes[size]}\n type=\"normal\"\n weight=\"regular\"\n truncateAfterLines={1}\n color={textColor}\n >\n {content}\n </Text>\n </Box>\n </StyledCounter>\n );\n};\n\nexport { Counter };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { BadgeProps } from '../Badge';\nimport { Badge } from '../Badge';\nimport type { LinkProps } from '../Link';\nimport { Link } from '../Link';\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { Divider } from './Divider';\nimport { useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport { ComponentIds } from './Card';\nimport Box from '~components/Box';\nimport type { TextProps, TextVariant } from '~components/Typography';\nimport { Heading, Text } from '~components/Typography';\nimport type { IconComponent } from '~components/Icons';\nimport type { CounterProps } from '~components/Counter';\nimport { Counter } from '~components/Counter';\nimport { minHeight } from '~components/Button/BaseButton/buttonTokens';\nimport type { WithComponentId } from '~utils';\nimport {\n metaAttribute,\n MetaConstants,\n getComponentId,\n isValidAllowedChildren,\n makeSpace,\n} from '~utils';\n\nconst CardHeaderIcon: WithComponentId<{ icon: IconComponent }> = ({ icon: Icon }) => {\n useVerifyInsideCard('CardHeaderIcon');\n\n return <Icon color=\"surface.text.normal.lowContrast\" size=\"xlarge\" />;\n};\nCardHeaderIcon.componentId = ComponentIds.CardHeaderIcon;\n\nconst CardHeaderCounter: WithComponentId<CounterProps> = (props) => {\n useVerifyInsideCard('CardHeaderCounter');\n\n return <Counter {...props} />;\n};\nCardHeaderCounter.componentId = ComponentIds.CardHeaderCounter;\n\nconst CardHeaderBadge: WithComponentId<BadgeProps> = (props) => {\n useVerifyInsideCard('CardHeaderBadge');\n\n return <Badge {...props} />;\n};\nCardHeaderBadge.componentId = ComponentIds.CardHeaderBadge;\n\nconst CardHeaderText: WithComponentId<TextProps<{ variant: TextVariant }>> = (props) => {\n useVerifyInsideCard('CardHeaderText');\n\n return <Text {...props} />;\n};\nCardHeaderText.componentId = ComponentIds.CardHeaderText;\n\nconst CardHeaderLink: WithComponentId<LinkProps> = (props) => {\n useVerifyInsideCard('CardHeaderLink');\n\n return <Link {...props} />;\n};\nCardHeaderLink.componentId = ComponentIds.CardHeaderLink;\n\ntype CardHeaderIconButtonProps = Omit<\n ButtonProps,\n 'variant' | 'size' | 'iconPosition' | 'isFullWidth' | 'children'\n> & {\n icon: IconComponent;\n};\n\nconst CardHeaderIconButton: WithComponentId<CardHeaderIconButtonProps> = (props) => {\n useVerifyInsideCard('CardHeaderIconButton');\n\n return (\n <Box width={makeSpace(minHeight.xsmall)}>\n <Button {...props} variant=\"tertiary\" size=\"xsmall\" iconPosition=\"left\" isFullWidth />\n </Box>\n );\n};\nCardHeaderIconButton.componentId = ComponentIds.CardHeaderIconButton;\n\ntype CardHeaderProps = {\n children?: React.ReactNode;\n};\n\nconst CardHeader: WithComponentId<CardHeaderProps> = ({ children }) => {\n useVerifyInsideCard('CardHeader');\n useVerifyAllowedComponents(children, 'CardHeader', [\n ComponentIds.CardHeaderLeading,\n ComponentIds.CardHeaderTrailing,\n ]);\n\n return (\n <Box\n marginBottom=\"spacing.7\"\n {...metaAttribute(MetaConstants.Component, MetaConstants.CardHeader)}\n >\n <Box\n marginBottom=\"spacing.7\"\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n >\n {children}\n </Box>\n <Divider />\n </Box>\n );\n};\nCardHeader.componentId = ComponentIds.CardHeader;\n\ntype CardHeaderLeadingProps = {\n title: string;\n subtitle?: string;\n /**\n * prefix element of Card\n *\n * Accepts: `CardHeaderIcon` component\n */\n prefix?: React.ReactNode;\n /**\n * suffix element of Card\n *\n * Accepts: `CardHeaderCounter` component\n */\n suffix?: React.ReactNode;\n};\nconst CardHeaderLeading: WithComponentId<CardHeaderLeadingProps> = ({\n title,\n subtitle,\n prefix,\n suffix,\n}) => {\n useVerifyInsideCard('CardHeaderLeading');\n\n if (prefix && !isValidAllowedChildren(prefix, ComponentIds.CardHeaderIcon)) {\n throw new Error(\n `[Blade CardHeaderLeading]: Only \\`${ComponentIds.CardHeaderIcon}\\` component is accepted in prefix`,\n );\n }\n\n if (suffix && !isValidAllowedChildren(suffix, ComponentIds.CardHeaderCounter)) {\n throw new Error(\n `[Blade CardHeaderLeading]: Only \\`${ComponentIds.CardHeaderCounter}\\` component is accepted in prefix`,\n );\n }\n\n return (\n <Box flex={1} display=\"flex\" flexDirection=\"row\">\n <Box marginRight=\"spacing.3\" alignSelf=\"center\" display=\"flex\">\n {prefix}\n </Box>\n <Box>\n <Box display=\"flex\" flexDirection=\"row\" alignItems=\"center\" flexWrap=\"wrap\">\n <Heading size=\"small\" variant=\"regular\" type=\"normal\">\n {title}\n </Heading>\n <Box marginLeft=\"spacing.3\">{suffix}</Box>\n </Box>\n <Text variant=\"body\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n </Box>\n </Box>\n );\n};\nCardHeaderLeading.componentId = ComponentIds.CardHeaderLeading;\n\ntype CardHeaderTrailingProps = {\n /**\n * Renders a visual ornament in card header trailing section\n *\n * Accepts: `CardHeaderLink`, `CardHeaderText`, `CardHeaderIconButton`, `CardHeaderBadge`\n */\n visual?: React.ReactNode;\n};\n\nconst headerTrailingAllowedComponents = [\n ComponentIds.CardHeaderLink,\n ComponentIds.CardHeaderText,\n ComponentIds.CardHeaderIconButton,\n ComponentIds.CardHeaderBadge,\n];\n\nconst CardHeaderTrailing: WithComponentId<CardHeaderTrailingProps> = ({ visual }) => {\n useVerifyInsideCard('CardHeaderTrailing');\n\n if (visual && !headerTrailingAllowedComponents.includes(getComponentId(visual)!)) {\n throw new Error(\n `[Blade CardHeaderTrailing]: Only one of \\`${headerTrailingAllowedComponents.join(\n ', ',\n )}\\` component is accepted in visual`,\n );\n }\n\n return <Box alignSelf=\"center\">{visual}</Box>;\n};\nCardHeaderTrailing.componentId = ComponentIds.CardHeaderTrailing;\n\nexport {\n CardHeader,\n CardHeaderLeading,\n CardHeaderTrailing,\n CardHeaderBadge,\n CardHeaderIcon,\n CardHeaderCounter,\n CardHeaderText,\n CardHeaderLink,\n CardHeaderIconButton,\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport React from 'react';\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { Divider } from './Divider';\nimport { useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport { ComponentIds } from './Card';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\nimport type { WithComponentId } from '~utils';\nimport { metaAttribute, MetaConstants, useBreakpoint } from '~utils';\n\nimport { useTheme } from '~components/BladeProvider';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n};\n\nconst useIsMobile = (): boolean => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({\n breakpoints: theme.breakpoints,\n });\n return matchedDeviceType === 'mobile';\n};\n\nconst CardFooter: WithComponentId<CardFooterProps> = ({ children }) => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedComponents(children, 'CardFooter', [\n ComponentIds.CardFooterLeading,\n ComponentIds.CardFooterTrailing,\n ]);\n\n return (\n <Box marginTop=\"auto\" {...metaAttribute(MetaConstants.Component, MetaConstants.CardFooter)}>\n <Box marginTop=\"spacing.7\" />\n <Divider />\n <Box\n marginTop=\"spacing.7\"\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </Box>\n </Box>\n );\n};\nCardFooter.componentId = ComponentIds.CardFooter;\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n};\nconst CardFooterLeading: WithComponentId<CardFooterLeadingProps> = ({ title, subtitle }) => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <Box>\n {title && (\n <Text variant=\"body\" size=\"medium\" weight=\"bold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text variant=\"body\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </Box>\n );\n};\nCardFooterLeading.componentId = ComponentIds.CardFooterLeading;\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n};\nconst CardFooterTrailing: WithComponentId<CardFooterTrailingProps> = ({ actions }) => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n >\n <Box flexGrow={1}>\n {actions?.secondary ? (\n <Button isFullWidth size=\"medium\" variant=\"secondary\" {...actions.secondary}>\n {actions.secondary.text!}\n </Button>\n ) : null}\n </Box>\n <Box marginLeft=\"spacing.5\" />\n <Box flexGrow={1}>\n {actions?.primary ? (\n <Button isFullWidth size=\"medium\" {...actions.primary}>\n {actions.primary.text!}\n </Button>\n ) : null}\n </Box>\n </Box>\n );\n};\nCardFooterTrailing.componentId = ComponentIds.CardFooterTrailing;\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { CheckboxGroupProps } from './CheckboxGroup';\nimport type { State } from './useCheckboxGroup';\n\nexport type CheckboxGroupContextType = Pick<\n CheckboxGroupProps,\n | 'validationState'\n | 'isDisabled'\n | 'labelPosition'\n | 'name'\n | 'defaultValue'\n | 'value'\n | 'onChange'\n | 'size'\n> & { state?: State };\n\nconst CheckboxGroupContext = React.createContext<CheckboxGroupContextType>({});\nconst CheckboxGroupProvider = CheckboxGroupContext.Provider;\n\nconst useCheckboxGroupContext = (): CheckboxGroupContextType => {\n const context = React.useContext(CheckboxGroupContext);\n return context;\n};\n\nexport { useCheckboxGroupContext, CheckboxGroupProvider };\n","import type { Theme } from '~components/BladeProvider';\nimport type { DotNotationColorStringToken } from '~src/_helpers/types';\n\nconst checkboxSizes = {\n group: {\n gap: {\n small: {\n mobile: 'spacing.2',\n desktop: 'spacing.0',\n },\n medium: {\n mobile: 'spacing.3',\n desktop: 'spacing.2',\n },\n },\n },\n icon: {\n small: {\n width: 12,\n height: 12,\n },\n medium: {\n width: 16,\n height: 16,\n },\n },\n} as const;\n\ntype ColorTokens = `colors.${DotNotationColorStringToken<Theme['colors']>}` | 'transparent';\ntype Variant = {\n border: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n background: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n};\n\ntype CheckboxIconColors = {\n variants: {\n default: Variant;\n disabled: Variant;\n negative: Variant;\n };\n};\n\nconst checkboxIconColors: CheckboxIconColors = {\n variants: {\n default: {\n border: {\n checked: 'colors.brand.primary.500',\n unchecked: 'colors.brand.gray.500.lowContrast',\n },\n background: {\n checked: 'colors.brand.primary.500',\n unchecked: 'transparent',\n },\n },\n disabled: {\n border: {\n checked: 'transparent',\n unchecked: 'colors.brand.gray.a100.lowContrast',\n },\n background: {\n checked: 'colors.brand.gray.a100.lowContrast',\n unchecked: 'transparent',\n },\n },\n negative: {\n border: {\n checked: 'colors.feedback.border.negative.highContrast',\n unchecked: 'colors.feedback.border.negative.highContrast',\n },\n background: {\n checked: 'colors.feedback.background.negative.highContrast',\n unchecked: 'colors.feedback.background.negative.lowContrast',\n },\n },\n },\n} as const;\n\nexport { checkboxSizes, checkboxIconColors };\n","import type { CSSObject } from 'styled-components';\nimport { checkboxIconColors, checkboxSizes } from '../checkboxTokens';\nimport type { CheckboxIconProps } from './CheckboxIcon';\nimport type { Theme } from '~components/BladeProvider';\nimport { getIn, makeBorderSize, makeSize, makeSpace } from '~utils';\n\nexport type CheckboxRectProps = Omit<CheckboxIconProps, 'state'> & {\n isChecked: boolean;\n};\n\nconst getCheckboxIconWrapperStyles = ({\n theme,\n isChecked,\n isDisabled,\n isNegative,\n size,\n}: CheckboxRectProps & { theme: Theme }): CSSObject => {\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const checked = isChecked ? 'checked' : 'unchecked';\n const background = checkboxIconColors.variants[variant].background[checked];\n const border = checkboxIconColors.variants[variant].border[checked];\n const backgroundColor = background === 'transparent' ? background : getIn(theme, background);\n const borderColor = border === 'transparent' ? border : getIn(theme, border);\n\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: makeSpace(checkboxSizes.icon[size].width),\n height: makeSpace(checkboxSizes.icon[size].height),\n borderWidth: makeBorderSize(theme.border.width.thick),\n borderStyle: 'solid',\n margin: makeSpace(theme.spacing[1]),\n borderRadius: makeSize(theme.border.radius.small),\n backgroundColor,\n borderColor,\n };\n};\n\nexport { getCheckboxIconWrapperStyles };\n","import styled from 'styled-components/native';\nimport type { CheckboxRectProps } from './CheckboxIconWrapperStyles';\nimport { getCheckboxIconWrapperStyles } from './CheckboxIconWrapperStyles';\n\nconst CheckboxIconWrapper = styled.View<CheckboxRectProps>((props) =>\n getCheckboxIconWrapperStyles(props),\n);\n\nexport { CheckboxIconWrapper };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, { Keyframe } from 'react-native-reanimated';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../../BladeProvider';\nimport type { FadeProps } from './types';\n\nconst StyledFade = styled(Animated.View)<{ styles: CSSObject }>(({ styles }) => {\n return {\n ...styles,\n };\n});\n\nconst Fade = ({ children, show, styles }: FadeProps) => {\n const { theme } = useTheme();\n\n const fadeInEasing = (theme.motion.easing.entrance.effective as unknown) as EasingFn;\n const fadeOutEasing = (theme.motion.easing.exit.effective as unknown) as EasingFn;\n const fadeIn = new Keyframe({\n from: {\n transform: [{ scale: 0.6 }],\n opacity: 0,\n easing: fadeInEasing,\n },\n to: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: fadeInEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n const fadeOut = new Keyframe({\n from: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: fadeOutEasing,\n },\n to: {\n transform: [{ scale: 0.6 }],\n opacity: 0,\n easing: fadeOutEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n return show ? (\n <StyledFade styles={styles as CSSObject} entering={fadeIn} exiting={fadeOut}>\n {children}\n </StyledFade>\n ) : null;\n};\n\nexport { Fade };\n","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport { CheckboxIconWrapper } from './CheckboxIconWrapper';\nimport { Fade } from './Fade';\nimport { useTheme } from '~components/BladeProvider';\nimport Svg, { Path } from '~components/Icons/_Svg';\nimport { getIn, makeSpace } from '~utils';\n\nconst svgSize = {\n small: {\n width: 8,\n height: 8,\n },\n medium: {\n width: 12,\n height: 12,\n },\n};\n\nconst CheckedIcon = ({ color, size }: { color: string; size: 'small' | 'medium' }) => {\n const width = makeSpace(svgSize[size].width);\n const height = makeSpace(svgSize[size].height);\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 8 8\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.90237 1.76413C7.03254 1.89431 7.03254 2.10536 6.90237 2.23554L3.2357 5.90221C3.10553 6.03238 2.89447 6.03238 2.7643 5.90221L1.09763 4.23554C0.967456 4.10536 0.967456 3.89431 1.09763 3.76414C1.22781 3.63396 1.43886 3.63396 1.56904 3.76414L3 5.1951L6.43096 1.76413C6.56114 1.63396 6.77219 1.63396 6.90237 1.76413Z\"\n fill={color}\n stroke=\"white\"\n strokeWidth=\"0.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n};\n\nconst IndeterminateIcon = ({ color, size }: { color: string; size: 'small' | 'medium' }) => {\n const width = `${svgSize[size].width}px`;\n const height = `${svgSize[size].height}px`;\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 8 8\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.3335 3.99984C1.3335 3.81574 1.48273 3.6665 1.66683 3.6665H6.3335C6.51759 3.6665 6.66683 3.81574 6.66683 3.99984C6.66683 4.18393 6.51759 4.33317 6.3335 4.33317H1.66683C1.48273 4.33317 1.3335 4.18393 1.3335 3.99984Z\"\n fill={color}\n stroke=\"white\"\n strokeWidth=\"0.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n};\n\nexport type CheckboxIconProps = {\n isDisabled?: boolean;\n isNegative?: boolean;\n isChecked?: boolean;\n isIndeterminate?: boolean;\n size: 'small' | 'medium';\n};\n\nconst CheckboxIcon = ({\n isChecked,\n isIndeterminate,\n isDisabled,\n isNegative,\n size,\n}: CheckboxIconProps) => {\n const { theme } = useTheme();\n const defaultIconColor = getIn(theme, 'colors.brand.gray.200.lowContrast');\n const disabledIconColor = getIn(theme, 'colors.brand.gray.500.lowContrast');\n const iconColor = isDisabled ? disabledIconColor : defaultIconColor;\n\n return (\n <CheckboxIconWrapper\n size={size}\n isIndeterminate={isIndeterminate}\n isDisabled={isDisabled}\n isNegative={isNegative}\n isChecked={!!(isChecked || isIndeterminate)}\n >\n <Fade show={isIndeterminate} styles={{ position: 'absolute', display: 'flex' }}>\n <IndeterminateIcon size={size} color={iconColor} />\n </Fade>\n <Fade\n show={Boolean(isChecked) && !isIndeterminate}\n styles={{ position: 'absolute', display: 'flex' }}\n >\n {isChecked ? <CheckedIcon size={size} color={iconColor} /> : null}\n </Fade>\n </CheckboxIconWrapper>\n );\n};\n\nexport { CheckboxIcon };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\n\ntype UseControllableStateProps<T> = {\n /**\n * The value to used in controlled mode\n */\n value?: T;\n /**\n * The initial value to be used, in uncontrolled mode\n */\n defaultValue?: T | (() => T);\n /**\n * The callback fired when the value changes\n */\n onChange?: (value: T) => void;\n};\n\n/**\n * React hook for using controlling component state.\n *\n * It automatically handles controlled and uncontrolled state,\n * while internally giving us the state value so that we can react to the changes.\n *\n * @example\n * In checkbox we want to internally track the checked state to be able to render the correct Icon\n * but also want to provide controlled and uncontrolled behavior to user\n */\nexport function useControllableState<T>(props: UseControllableStateProps<T>) {\n const { value: valueProp, defaultValue, onChange } = props;\n\n const [valueState, setValue] = React.useState(defaultValue as T);\n const { current: isControlled } = React.useRef(valueProp !== undefined);\n const value = isControlled && typeof valueProp !== 'undefined' ? valueProp : valueState;\n\n const updateValue = React.useCallback(\n (next: (prevState: T) => T) => {\n const nextValue = next(value);\n if (!isControlled) setValue(nextValue);\n onChange?.(nextValue);\n },\n [onChange, value],\n );\n\n return [value, updateValue] as [T, (next: (prevState: T) => T) => void];\n}\n","import * as React from 'react';\nimport { getPlatformType } from '~utils';\n\nconst isBrowser = getPlatformType() == 'browser';\n\n/**\n * useIsomorphicLayoutEffect enables us to safely call `useLayoutEffect` on the browser\n * (for SSR reasons)\n *\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser.\n *\n * @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n */\nexport const useIsomorphicLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;\n","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\n/**\n * Credit: https://github.com/reach/reach-ui/blob/dev/packages/auto-id/src/auto-id.ts\n */\nlet handoffComplete = false;\nlet id = 0;\nconst genId = () => ++id;\n\n/**\n * Reack hook to generate unique id\n * It helps us provide stable ID which we can reference in the components\n * and also works in server side rendered component\n * TODO: Add support for `React.useId` after React18 upgrade\n *\n * @param prefix prefix to append before the id\n * @param idProp the external id passed from the user\n */\nconst useId = (prefix?: string, idProp?: string) => {\n const initialId = idProp || (handoffComplete ? genId() : null);\n const [uid, setUid] = React.useState(initialId);\n\n useIsomorphicLayoutEffect(() => {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n if (uid === null) setUid(genId());\n }, []);\n\n React.useEffect(() => {\n if (!handoffComplete) {\n handoffComplete = true;\n }\n }, []);\n\n const id = uid != null ? uid.toString() : undefined;\n return prefix ? `${prefix}-${id}` : id!;\n};\n\nexport { useId };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { useId } from '~src/hooks/useId';\n\n/**\n * hook to generate unique ids for a form element\n *\n * @param prefix prefix to append before the id\n */\nconst useFormId = (prefix: string) => {\n const baseId = useId(prefix);\n const inputId = useId(`${baseId}-input`);\n const errorTextId = useId(`${baseId}-errortext`);\n const helpTextId = useId(`${baseId}-helptext`);\n const successTextId = useId(`${baseId}-successtext`);\n const labelId = useId(`${baseId}-label`);\n\n return {\n baseId,\n inputId,\n errorTextId,\n helpTextId,\n successTextId,\n labelId,\n };\n};\n\nexport { useFormId };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { useControllableState } from '../../hooks/useControllable';\nimport { getPlatformType, makeAccessible } from '../../utils';\nimport type { CheckboxProps } from './Checkbox';\nimport { useFormId } from '~components/Form/useFormId';\n\ntype UseCheckboxProps = Pick<\n CheckboxProps,\n | 'isChecked'\n | 'defaultChecked'\n | 'isDisabled'\n | 'isIndeterminate'\n | 'isRequired'\n | 'onChange'\n | 'name'\n | 'value'\n> & {\n hasError?: boolean;\n hasHelperText?: boolean;\n};\n\n/**\n * indeterminate is not a HTML input element prop,\n * it's an IDL prop thus we need to set it on the underlying HTMLInputElement\n */\nfunction setMixed(element: HTMLInputElement, mixed?: boolean) {\n if (mixed) {\n element.indeterminate = true;\n } else if (element.indeterminate) {\n element.indeterminate = false;\n }\n}\n\nconst useCheckbox = ({\n isChecked,\n defaultChecked,\n isIndeterminate,\n isDisabled,\n isRequired,\n hasError,\n hasHelperText,\n onChange,\n name,\n value,\n}: UseCheckboxProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const isReactNative = getPlatformType() === 'react-native';\n if (isChecked && defaultChecked) {\n throw new Error(\n `[Blade useCheckbox] Do not provide both 'isChecked' and 'defaultChecked' to useCheckbox. Consider if you want this component to be controlled or uncontrolled.`,\n );\n }\n\n const [checkboxState, setCheckboxStateChange] = useControllableState({\n value: isChecked,\n defaultValue: defaultChecked ?? false,\n });\n\n const handleOnChange = (event: React.ChangeEvent<HTMLInputElement> | GestureResponderEvent) => {\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n setCheckboxStateChange((checked) => {\n onChange?.({\n isChecked: !checked,\n event: event as React.ChangeEvent,\n value,\n });\n return !checked;\n });\n };\n\n // set indeterminate to input\n React.useEffect(() => {\n const element = inputRef.current;\n if (!element) return;\n setMixed(element, isIndeterminate);\n }, [isIndeterminate]);\n\n const state = {\n isReactNative,\n isChecked: checkboxState,\n setChecked: setCheckboxStateChange,\n };\n\n const { inputId, errorTextId, helpTextId } = useFormId('checkbox');\n\n const accessibilityProps = makeAccessible({\n role: 'checkbox',\n required: Boolean(isRequired),\n invalid: Boolean(hasError),\n disabled: Boolean(isDisabled),\n checked: checkboxState,\n ...(hasError ? { errorMessage: errorTextId } : {}),\n ...(hasHelperText ? { describedBy: helpTextId } : {}),\n });\n\n if (isReactNative) {\n return {\n state,\n inputProps: {\n onPress: handleOnChange,\n name,\n value,\n ...accessibilityProps,\n },\n };\n }\n\n return {\n state,\n ids: { inputId, errorTextId, helpTextId },\n inputProps: {\n ref: inputRef,\n onChange: handleOnChange,\n type: 'checkbox',\n name,\n value,\n checked: checkboxState,\n disabled: isDisabled,\n required: isRequired,\n ...accessibilityProps,\n },\n };\n};\n\nexport type InputProps = ReturnType<typeof useCheckbox>['inputProps'];\n\nexport { useCheckbox };\n","import React from 'react';\nimport { View } from 'react-native';\n\nconst FormHintWrapper = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <View\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n }}\n >\n {children}\n </View>\n );\n};\n\nexport { FormHintWrapper };\n","/* eslint-disable react/display-name */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { FormHintWrapper } from './FormHintWrapper';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType } from '~utils';\nimport Box from '~components/Box';\nimport { CheckIcon, InfoIcon } from '~components/Icons';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype HintTextProps = {\n icon?: React.ElementType;\n children: string;\n id?: string;\n color: BaseTextProps['color'];\n};\n\nconst HintText = ({ icon: Icon, children, id, color }: HintTextProps): ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <Box marginTop=\"spacing.2\">\n <FormHintWrapper>\n {Icon ? <Icon /> : null}\n <BaseText\n id={id}\n as={isReactNative ? undefined : 'span'}\n color={color}\n fontSize={50}\n lineHeight=\"s\"\n fontStyle=\"italic\"\n fontFamily=\"text\"\n >\n {children}\n </BaseText>\n </FormHintWrapper>\n </Box>\n );\n};\n\nexport type FormHintProps = {\n type: 'help' | 'error' | 'success';\n /**\n * Help text for the group\n */\n helpText?: string;\n /**\n * Error text for the group\n *\n * Renders when `state` is set to 'error'\n */\n errorText?: string;\n /**\n * Success text for the group\n *\n * Renders when `state` is set to 'success'\n */\n successText?: string;\n /**\n * Sets the id on errorText.\n * Needed for accessibility reasons.\n */\n errorTextId?: string;\n /**\n * Sets the id on helpText.\n * Needed for accessibility reasons.\n */\n helpTextId?: string;\n /**\n * Sets the id on successText.\n * Needed for accessibility reasons.\n */\n successTextId?: string;\n};\n\nconst Icons = {\n error: (): ReactElement => (\n <>\n <InfoIcon color=\"feedback.icon.negative.lowContrast\" size=\"small\" />\n <Box marginRight=\"spacing.2\" />\n </>\n ),\n success: (): ReactElement => (\n <>\n <CheckIcon color=\"feedback.icon.positive.lowContrast\" size=\"small\" />\n <Box marginRight=\"spacing.2\" />\n </>\n ),\n};\n\nconst FormHint = ({\n type,\n helpText,\n errorText,\n successText,\n helpTextId,\n errorTextId,\n successTextId,\n}: FormHintProps): React.ReactElement => {\n const colors = {\n help: 'surface.text.muted.lowContrast',\n error: 'feedback.text.negative.lowContrast',\n success: 'feedback.text.positive.lowContrast',\n } as const;\n\n const showError = type === 'error' && errorText;\n const showSuccess = type === 'success' && successText;\n const showHelp = !showError && !showSuccess && helpText;\n\n return (\n <>\n {showHelp && (\n <HintText id={helpTextId} color={colors.help}>\n {helpText}\n </HintText>\n )}\n\n {showError && (\n <HintText id={errorTextId} icon={Icons.error} color={colors.error}>\n {errorText}\n </HintText>\n )}\n\n {showSuccess && (\n <HintText id={successTextId} icon={Icons.success} color={colors.success}>\n {successText}\n </HintText>\n )}\n </>\n );\n};\n\nexport { FormHint };\n","import type { CSSObject } from 'styled-components';\n\nconst screenReaderStyles: CSSObject = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: `1px`,\n margin: '0 -1px -1px 0',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: `1px`,\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n};\n\nexport { screenReaderStyles };\n","import React from 'react';\nimport styled from 'styled-components/native';\nimport { screenReaderStyles } from './ScreenReaderStyles';\nimport type { VisuallyHiddenProps } from './types';\n\nconst StyledVisuallyHidden = styled.View(screenReaderStyles);\n\nexport const VisuallyHidden = ({ children }: VisuallyHiddenProps): JSX.Element => {\n return <StyledVisuallyHidden>{children}</StyledVisuallyHidden>;\n};\n","import React from 'react';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType, makeSpace, useBreakpoint } from '~utils';\nimport Box from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport type { ColorContrastTypes } from '~tokens/theme/theme';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string;\n id?: string;\n contrast?: ColorContrastTypes;\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n contrast = 'low',\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text variant=\"caption\" weight=\"regular\" type=\"placeholder\">\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <BaseText\n lineHeight=\"s\"\n fontFamily=\"text\"\n fontStyle=\"normal\"\n fontSize={75}\n fontWeight=\"bold\"\n color=\"feedback.text.negative.lowContrast\"\n >\n *\n </BaseText>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <Box\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n flexWrap=\"wrap\"\n >\n <Text\n type=\"subdued\"\n variant=\"body\"\n contrast={contrast}\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n weight=\"bold\"\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </Box>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <Box marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </Box>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? '120px' : 'auto';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: makeSpace(theme.spacing[5]),\n wordBreak: 'break-all',\n }}\n id={id}\n >\n <Box marginBottom={isLabelLeftPositioned ? 'spacing.0' : 'spacing.2'}>{textNode}</Box>\n </Component>\n );\n};\n\nexport { FormLabel };\n","// Selector* components are used in Checkbox/Radio\nimport React from 'react';\nimport styled from 'styled-components/native';\nimport type { SelectorLabelProps } from './types';\nimport { makeSpace } from '~utils';\n\nconst StyledSelectorLabel = styled.Pressable(({ theme }) => ({\n display: 'flex',\n flexDirection: 'row',\n marginTop: makeSpace(theme.spacing[1]),\n marginBottom: makeSpace(theme.spacing[1]),\n}));\n\nconst SelectorLabel = ({ children, inputProps }: SelectorLabelProps): React.ReactElement => {\n return <StyledSelectorLabel {...inputProps}>{children}</StyledSelectorLabel>;\n};\n\nexport { SelectorLabel };\n","import Box from '~components/Box';\nimport { BaseText } from '~components/Typography/BaseText';\n\nconst SelectorTitle = ({\n children,\n isDisabled,\n size = 'medium',\n}: {\n children: React.ReactNode;\n isDisabled?: boolean;\n size: 'small' | 'medium';\n}): React.ReactElement => {\n const lineHeight = {\n small: 's',\n medium: 'l',\n } as const;\n const fontSize = {\n small: 75,\n medium: 100,\n } as const;\n\n return (\n <>\n <Box marginLeft=\"spacing.2\" />\n <BaseText\n lineHeight={lineHeight[size]}\n fontFamily=\"text\"\n fontWeight=\"regular\"\n fontSize={fontSize[size]}\n color={\n isDisabled ? 'surface.text.placeholder.lowContrast' : 'surface.text.subtle.lowContrast'\n }\n >\n {children}\n </BaseText>\n </>\n );\n};\n\nexport { SelectorTitle };\n","import { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType } from '~utils';\n\nconst SelectorSupportText = ({\n children,\n id,\n}: {\n children: React.ReactNode;\n id?: string;\n}): React.ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <BaseText\n id={id}\n as={isReactNative ? undefined : 'span'}\n color=\"surface.text.muted.lowContrast\"\n fontSize={50}\n lineHeight=\"s\"\n fontStyle=\"italic\"\n fontFamily=\"text\"\n >\n {children}\n </BaseText>\n );\n};\n\nexport { SelectorSupportText };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/jsx-no-useless-fragment */\n\ntype HoverProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n hasError?: boolean;\n};\n// noop in react-native\nconst SelectorInput = (_props: HoverProps & { inputProps?: any }): React.ReactElement => {\n return <></>;\n};\n\nexport { SelectorInput };\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport isUndefined from 'lodash/isUndefined';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { metaAttribute, isEmpty, MetaConstants } from '~utils';\nimport Box from '~components/Box';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst Checkbox = ({\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n}: CheckboxProps): React.ReactElement => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throw new Error(\n `[Blade Checkbox]: Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n );\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _name = name ?? groupProps?.name;\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const isSmall = _size === 'small';\n\n // only show error when the self validation is set to error\n // Since we don't want to show errorText inside the group\n const showSupportingText = validationState !== 'error' && helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n return (\n <Box {...metaAttribute(MetaConstants.Component, MetaConstants.Checkbox)}>\n <SelectorLabel inputProps={state.isReactNative ? inputProps : {}}>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n </Box>\n <Box marginLeft={isSmall ? 'spacing.6' : 'spacing.7'}>\n {showSupportingText && (\n <SelectorSupportText id={ids?.helpTextId}>{helpText}</SelectorSupportText>\n )}\n </Box>\n </Box>\n </SelectorLabel>\n <FormHint\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </Box>\n );\n};\n\nexport { Checkbox, CheckboxProps };\n","/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nimport React from 'react';\nimport type { CheckboxGroupProps } from './CheckboxGroup';\nimport type { CheckboxGroupContextType } from './CheckboxGroupContext';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useTheme } from '~components/BladeProvider';\nimport { useFormId } from '~components/Form/useFormId';\n\ntype UseCheckboxGroupProps = Pick<\n CheckboxGroupProps,\n | 'isDisabled'\n | 'labelPosition'\n | 'validationState'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'size'\n>;\n\nexport type State = {\n value: string[];\n setValue(value: string[]): void;\n isChecked(value: string): boolean;\n addValue(value: string): void;\n removeValue(value: string): void;\n};\n\nconst useCheckboxGroup = ({\n value,\n defaultValue,\n isDisabled,\n labelPosition,\n onChange,\n validationState,\n name,\n size,\n}: UseCheckboxGroupProps) => {\n const { platform } = useTheme();\n const { labelId } = useFormId('checkbox-group');\n const [checkedValues, setValue] = useControllableState({\n value,\n defaultValue: defaultValue || [],\n onChange: (values: string[]) => onChange?.({ values, name: name! }),\n });\n\n const state = React.useMemo<State>(() => {\n return {\n value: checkedValues,\n setValue(value: string[]) {\n if (isDisabled) {\n return;\n }\n\n setValue(() => value);\n },\n isChecked(value: string) {\n return checkedValues.includes(value);\n },\n addValue(value: string) {\n if (isDisabled) {\n return;\n }\n if (!checkedValues.includes(value)) {\n setValue(() => checkedValues.concat(value));\n }\n },\n removeValue(value: string) {\n if (isDisabled) {\n return;\n }\n if (checkedValues.includes(value)) {\n setValue(() => checkedValues.filter((existingValue) => existingValue !== value));\n }\n },\n };\n }, [checkedValues, isDisabled, setValue]);\n\n const contextValue = React.useMemo<CheckboxGroupContextType>(() => {\n return {\n validationState,\n isDisabled,\n labelPosition: platform === 'onMobile' ? 'top' : labelPosition,\n name,\n state,\n size,\n };\n }, [validationState, isDisabled, platform, labelPosition, name, state, size]);\n\n return { state, contextValue, ids: { labelId } };\n};\n\nexport { useCheckboxGroup };\n","import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport { metaAttribute, getPlatformType, makeAccessible, MetaConstants } from '~utils';\nimport Box from '~components/Box';\nimport type { AriaRoles } from '~utils';\n\ntype SelectorGroupFieldProps = {\n children: React.ReactNode;\n labelledBy: string;\n position?: 'top' | 'left';\n accessibilityRole?: AriaRoles;\n componentName: 'checkbox-group' | 'radio-group';\n};\n\nconst SelectorGroupField = ({\n children,\n labelledBy,\n position,\n accessibilityRole = 'group',\n componentName,\n}: SelectorGroupFieldProps): React.ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n let labelPosition: CSSObject['flexDirection'] = position === 'top' ? 'column' : 'row';\n if (isReactNative) labelPosition = 'column';\n const role = accessibilityRole === 'group' && isReactNative ? undefined : accessibilityRole;\n\n return (\n <Box\n display=\"flex\"\n flexDirection={labelPosition}\n {...makeAccessible({\n role,\n labelledBy,\n })}\n {...metaAttribute(MetaConstants.Component, componentName)}\n >\n {children}\n </Box>\n );\n};\n\nexport { SelectorGroupField };\n","import React from 'react';\nimport { checkboxSizes } from '../checkboxTokens';\nimport { CheckboxGroupProvider } from './CheckboxGroupContext';\nimport { useCheckboxGroup } from './useCheckboxGroup';\nimport { FormLabel, FormHint } from '~components/Form';\nimport Box from '~components/Box';\nimport { SelectorGroupField } from '~components/Form/Selector/SelectorGroupField';\nimport { useBreakpoint } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\ntype CheckboxGroupProps = {\n /**\n * Accepts multiple checkboxes as children\n */\n children: React.ReactNode;\n /**\n * Help text of the checkbox group\n */\n helpText?: string;\n /**\n * Error text of the checkbox group\n * Renders when `validationState` is set to 'error'\n *\n * Overrides helpText\n */\n errorText?: string;\n /**\n * Sets the error state of the CheckboxGroup\n * If set to `error` it will render the `errorText` of the group,\n * and propagate `invalid` prop to every checkbox\n */\n validationState?: 'error' | 'none';\n /**\n * Renders a necessity indicator after CheckboxGroup label\n *\n * If set to `undefined` it renders nothing.\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n /**\n * Sets the disabled state of the CheckboxGroup\n * If set to `true` it propagate down to all the checkboxes\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Renders the label of the checkbox group\n */\n label: string;\n /**\n * Sets the position of the label\n *\n * @default 'top'\n */\n labelPosition?: 'top' | 'left';\n /**\n * Initial value of the checkbox group\n */\n defaultValue?: string[];\n /**\n * value of the checkbox group\n *\n * Use `onChange` to update its value\n */\n value?: string[];\n /**\n * The callback invoked when any of the checkbox's state changes\n */\n onChange?: ({ name, values }: { name: string; values: string[] }) => void;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst CheckboxGroup = ({\n children,\n label,\n helpText,\n isDisabled,\n necessityIndicator = 'none',\n labelPosition = 'top',\n validationState,\n errorText,\n name,\n defaultValue,\n onChange,\n value,\n size = 'medium',\n}: CheckboxGroupProps): React.ReactElement => {\n const { contextValue, ids } = useCheckboxGroup({\n defaultValue,\n onChange,\n value,\n isDisabled,\n name,\n labelPosition,\n validationState,\n size,\n });\n\n const { theme } = useTheme();\n const showError = validationState === 'error' && errorText;\n const showHelpText = !showError && helpText;\n const accessibilityText = `,${showError ? errorText : ''} ${showHelpText ? helpText : ''}`;\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const gap = checkboxSizes.group.gap[size][matchedDeviceType];\n const childCount = React.Children.count(children);\n\n return (\n <CheckboxGroupProvider value={contextValue}>\n <SelectorGroupField\n position={labelPosition}\n labelledBy={ids.labelId}\n componentName=\"checkbox-group\"\n >\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={ids.labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n <Box>\n <Box display=\"flex\" flexDirection=\"column\">\n {React.Children.map(children, (child, index) => {\n return (\n <Box key={index} {...{ marginBottom: index === childCount - 1 ? 0 : gap }}>\n {child}\n </Box>\n );\n })}\n </Box>\n <FormHint\n errorText={errorText}\n helpText={helpText}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </Box>\n </SelectorGroupField>\n </CheckboxGroupProvider>\n );\n};\n\nexport { CheckboxGroup, CheckboxGroupProps };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\nimport type { BoxProps } from '~components/Box/types';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n 'leadingIcon' | 'prefix' | 'interactionElement' | 'suffix' | 'trailingIcon' | 'isDisabled'\n>;\n\nconst getVisualContainerStyles = (): BoxProps => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): BoxProps => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.2',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasInteractionElement,\n hasSuffix,\n}: {\n hasTrailingIcon: boolean;\n hasInteractionElement: boolean;\n hasSuffix: boolean;\n}): BoxProps => {\n if (hasInteractionElement && (hasSuffix || hasTrailingIcon)) {\n return {\n paddingRight: 'spacing.2',\n };\n }\n\n if (hasInteractionElement && !hasSuffix && !hasTrailingIcon) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n}): BoxProps => {\n if (hasSuffix && hasTrailingIcon) {\n return {\n paddingRight: 'spacing.2',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasInteractionElement: Boolean(interactionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n});\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n });\n\n const hasLeadingVisuals = hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals = hasInteractionElement || hasSuffix || hasTrailingIcon;\n\n if (hasLeadingVisuals) {\n return (\n <Box {...getVisualContainerStyles()}>\n {LeadingIcon ? (\n <Box paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size=\"medium\"\n color={\n isDisabled\n ? 'surface.text.placeholder.lowContrast'\n : 'surface.text.subtle.lowContrast'\n }\n />\n </Box>\n ) : null}\n {hasPrefix ? (\n <Box {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size=\"medium\"\n variant=\"body\"\n weight=\"regular\"\n contrast=\"low\"\n type={isDisabled ? 'placeholder' : 'subtle'}\n >\n {prefix}\n </Text>\n </Box>\n ) : null}\n </Box>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <Box {...getVisualContainerStyles()}>\n {hasInteractionElement ? (\n <Box\n {...getInteractionElementStyles({ hasTrailingIcon, hasInteractionElement, hasSuffix })}\n display=\"flex\"\n >\n {interactionElement}\n </Box>\n ) : null}\n {hasSuffix ? (\n <Box {...getSuffixStyles({ hasTrailingIcon, hasSuffix })}>\n <Text\n size=\"medium\"\n variant=\"body\"\n weight=\"regular\"\n contrast=\"low\"\n type={isDisabled ? 'placeholder' : 'subtle'}\n >\n {suffix}\n </Text>\n </Box>\n ) : null}\n {TrailingIcon ? (\n <Box paddingRight=\"spacing.4\" display=\"flex\">\n {\n <TrailingIcon\n size=\"medium\"\n color={\n isDisabled\n ? 'surface.text.placeholder.lowContrast'\n : 'surface.text.subtle.lowContrast'\n }\n />\n }\n </Box>\n ) : null}\n </Box>\n );\n }\n\n return null;\n};\n","import type { CSSObject } from 'styled-components';\nimport getBaseTextStyles from '../BaseText/getBaseTextStyles';\nimport type { TextProps, TextVariant } from './Text';\nimport { getTextProps } from './Text';\nimport type { Theme } from '~components/BladeProvider';\n\nconst getTextStyles = <T extends { variant: TextVariant }>({\n variant,\n type,\n weight,\n size,\n contrast,\n theme,\n}: Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast'> & {\n theme: Theme;\n}): CSSObject => {\n return getBaseTextStyles({ ...getTextProps({ variant, type, weight, size, contrast }), theme });\n};\n\nexport default getTextStyles;\n","import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { getPlatformType, makeBorderSize, makeSpace } from '~utils';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n theme: Theme;\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n}: Pick<\n GetInputStyles,\n 'theme' | 'isFocused' | 'isDisabled' | 'validationState' | 'isHovered'\n>): CSSObject => {\n // normal state\n let backgroundColor = theme.colors.brand.gray[200].lowContrast;\n let borderBottomColor = theme.colors.brand.gray[400].lowContrast;\n\n //hoverState\n if (isHovered) {\n backgroundColor = theme.colors.brand.gray[300].lowContrast;\n }\n\n // focused state\n if (isFocused) {\n backgroundColor = theme.colors.brand.primary[300];\n }\n\n // disabled state\n if (isDisabled) {\n backgroundColor = theme.colors.brand.gray[200].lowContrast;\n borderBottomColor = theme.colors.brand.gray[300].lowContrast;\n }\n\n // validation state\n if (validationState === 'error') {\n backgroundColor = theme.colors.feedback.background.negative.lowContrast;\n borderBottomColor = theme.colors.feedback.border.negative.highContrast;\n } else if (validationState === 'success') {\n backgroundColor = theme.colors.feedback.background.positive.lowContrast;\n borderBottomColor = theme.colors.feedback.border.positive.highContrast;\n }\n\n return {\n backgroundColor,\n borderBottomColor,\n borderTopLeftRadius: makeBorderSize(theme.border.radius.small),\n borderTopRightRadius: makeBorderSize(theme.border.radius.small),\n borderBottomWidth: makeBorderSize(theme.border.width.thin),\n borderBottomStyle: 'solid',\n };\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n textAlign,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n });\n\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...getTextStyles({\n size: 'medium',\n variant: 'body',\n type: isDisabled ? 'placeholder' : 'subtle',\n weight: 'regular',\n contrast: 'low',\n theme,\n }),\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n paddingTop: makeSpace(theme.spacing[3]),\n paddingBottom: makeSpace(theme.spacing[3]),\n paddingLeft:\n hasLeadingIcon || hasPrefix ? makeSpace(theme.spacing[3]) : makeSpace(theme.spacing[4]),\n paddingRight:\n hasInteractionElement || hasSuffix || hasTrailingIcon\n ? makeSpace(theme.spacing[3])\n : makeSpace(theme.spacing[4]),\n textAlign,\n width: '100%',\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n","import React from 'react';\nimport styled from 'styled-components/native';\nimport type { TextInput } from 'react-native';\nimport type { StyledBaseInputProps } from './types';\nimport { getBaseInputStyles } from './baseInputStyles';\n\ntype StyledComponentAutoCompleteAndroid =\n | 'off'\n | 'name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'username'\n | 'password'\n | 'postal-code'\n | 'tel'\n | undefined;\n\nconst autoCompleteSuggestionTypeAndroid = {\n none: 'off',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'password',\n newPassword: 'password-new',\n oneTimeCode: 'sms-otp',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'postal-address-country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n} as const;\n\nconst autoCompleteSuggestionTypeIOS = {\n none: 'none',\n name: 'name',\n email: 'emailAddress',\n username: 'username',\n password: 'password',\n newPassword: 'newPassword',\n oneTimeCode: 'oneTimeCode',\n telephone: 'telephoneNumber',\n postalCode: 'postalCode',\n countryName: 'countryName',\n creditCardNumber: 'creditCardNumber',\n creditCardCSC: 'none',\n creditCardExpiry: 'none',\n creditCardExpiryMonth: 'none',\n creditCardExpiryYear: 'none',\n} as const;\n\nconst KeyboardTypeToNativeValuesMap = {\n text: 'default',\n search: 'default',\n telephone: 'phone-pad',\n email: 'email-address',\n url: 'url',\n decimal: 'decimal-pad',\n};\n\nconst StyledNativeBaseInput = styled.TextInput<\n Omit<\n StyledBaseInputProps,\n 'accessibilityProps' | 'setCurrentInteraction' | 'currentInteraction'\n > & {\n isTextArea?: boolean;\n isFocused: boolean;\n autoCompleteType?: typeof autoCompleteSuggestionTypeAndroid[keyof typeof autoCompleteSuggestionTypeAndroid];\n }\n>((props) => ({\n ...getBaseInputStyles({\n theme: props.theme,\n isFocused: props.isFocused,\n isDisabled: !props.editable,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n interactionElement: props.interactionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n }),\n lineHeight: undefined,\n textAlignVertical: 'top',\n height: props.isTextArea\n ? `${props.theme.typography.lineHeights.xl * (props.numberOfLines ?? 0)}px`\n : '36px',\n}));\n\nexport const StyledBaseInput = React.forwardRef<TextInput, StyledBaseInputProps>(\n (\n {\n name,\n isRequired,\n isDisabled,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n keyboardType = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n currentInteraction,\n setCurrentInteraction,\n type,\n numberOfLines,\n isTextArea,\n ...props\n },\n ref,\n ) => {\n return (\n <StyledNativeBaseInput\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n multiline={isTextArea}\n numberOfLines={numberOfLines}\n isFocused={currentInteraction === 'active'}\n editable={!isDisabled}\n maxLength={maxCharacters}\n onFocus={(event): void => {\n handleOnFocus?.({ name, value: event?.nativeEvent.text });\n setCurrentInteraction('active');\n }}\n onBlur={(): void => {\n setCurrentInteraction('default');\n }}\n onChangeText={(text): void => {\n handleOnChange?.({ name, value: text });\n handleOnInput?.({ name, value: text });\n }}\n onEndEditing={(event): void => handleOnBlur?.({ name, value: event?.nativeEvent.text })}\n onKeyPress={(event): void => {\n handleOnKeyDown?.({\n name,\n key: event?.nativeEvent.key,\n event: (event as unknown) as React.KeyboardEvent<HTMLInputElement>, // TODO: handle platform specific type\n });\n }}\n // @ts-expect-error styled-components have limited keyboard types('default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad') compared to the actual supported types so ignoring the error.\n // source: https://reactnative.dev/docs/textinput/#keyboardtype\n keyboardType={KeyboardTypeToNativeValuesMap[keyboardType]}\n returnKeyType={keyboardReturnKeyType}\n autoCompleteType={\n autoCompleteSuggestionType\n ? (autoCompleteSuggestionTypeAndroid[\n autoCompleteSuggestionType\n ] as StyledComponentAutoCompleteAndroid)\n : undefined\n }\n secureTextEntry={type === 'password'}\n isTextArea={isTextArea}\n textContentType={\n autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeIOS[autoCompleteSuggestionType]\n : undefined\n }\n {...props}\n {...accessibilityProps}\n />\n );\n },\n);\nStyledBaseInput.displayName = 'StyledBaseInput';\n","import styled from 'styled-components/native';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n interpolate,\n withTiming,\n} from 'react-native-reanimated';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport { makeBorderSize } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\nimport type { ActionStates } from '~tokens/theme/theme';\n\nconst BaseInputStyledAnimatedBorder = styled(Animated.View)(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n opacity: 1,\n backgroundColor: theme.colors.brand.primary[500],\n height: makeBorderSize(theme.border.width.thin),\n}));\n\nexport const BaseInputAnimatedBorder = ({\n currentInteraction,\n validationState,\n isLabelLeftPositioned: _,\n}: {\n currentInteraction: keyof ActionStates;\n validationState: BaseInputProps['validationState'];\n isLabelLeftPositioned?: boolean;\n}): ReactElement => {\n const { theme } = useTheme();\n const borderAnimationEasing = (theme.motion.easing.standard.effective as unknown) as EasingFn;\n\n const widthTrigger = useSharedValue(0);\n const opacityTrigger = useSharedValue(1);\n\n const animatedStyle = useAnimatedStyle(() => {\n return {\n width: `${interpolate(widthTrigger.value, [0, 1], [0, 100])}%`,\n opacity: interpolate(opacityTrigger.value, [0, 1], [0, 1]),\n };\n });\n\n useEffect(() => {\n if (\n currentInteraction == 'active' &&\n validationState !== 'error' &&\n validationState !== 'success'\n ) {\n widthTrigger.value = 0;\n opacityTrigger.value = 1;\n widthTrigger.value = withTiming(1, {\n duration: theme.motion.duration.moderate,\n easing: borderAnimationEasing,\n });\n } else if (currentInteraction === 'default') {\n opacityTrigger.value = withTiming(0, {\n duration: theme.motion.duration.xquick,\n easing: borderAnimationEasing,\n });\n }\n }, [\n currentInteraction,\n opacityTrigger,\n widthTrigger,\n theme.motion.duration,\n borderAnimationEasing,\n validationState,\n ]);\n\n return <BaseInputStyledAnimatedBorder style={animatedStyle} />;\n};\n","import styled from 'styled-components';\nimport type { ReactElement, ReactNode } from 'react';\nimport { getInputBackgroundAndBorderStyles } from './baseInputStyles';\nimport type { BaseInputProps } from './BaseInput';\nimport { BaseInputAnimatedBorder } from './BaseInputAnimatedBorder';\nimport Box from '~components/Box';\nimport { castWebType, getPlatformType, makeMotionTime } from '~utils';\nimport type { ActionStates } from '~tokens/theme/theme';\n\ntype BaseInputWrapperProps = Pick<BaseInputProps, 'isDisabled' | 'validationState'> & {\n isFocused?: boolean;\n isLabelLeftPositioned?: boolean;\n currentInteraction: keyof ActionStates;\n isTextArea?: boolean;\n};\n\nconst StyledBaseInputWrapper = styled(Box)<BaseInputWrapperProps>((props) => ({\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n '&:hover':\n getPlatformType() === 'react-native'\n ? undefined\n : {\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isHovered: true,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n transitionProperty: 'background-color',\n transitionDuration: castWebType(makeMotionTime(props.theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(props.theme.motion.easing.standard.effective),\n },\n ':focus-within':\n getPlatformType() === 'react-native'\n ? undefined\n : {\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n },\n}));\n\nexport const BaseInputWrapper = ({\n children,\n validationState,\n currentInteraction,\n isLabelLeftPositioned,\n isTextArea,\n ...props\n}: BaseInputWrapperProps & {\n children: ReactNode;\n}): ReactElement => {\n return (\n <>\n <StyledBaseInputWrapper\n display=\"flex\"\n flexDirection=\"row\"\n width=\"100%\"\n alignItems={isTextArea ? 'flex-start' : undefined}\n validationState={validationState}\n currentInteraction={currentInteraction}\n {...props}\n >\n {children}\n </StyledBaseInputWrapper>\n <BaseInputAnimatedBorder\n currentInteraction={currentInteraction}\n validationState={validationState}\n isLabelLeftPositioned={isLabelLeftPositioned}\n />\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '../../Form';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport Box from '~components/Box';\n\nimport {\n metaAttribute,\n getPlatformType,\n makeAccessible,\n useBreakpoint,\n MetaConstants,\n} from '~utils';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~src/hooks/useInteraction';\nimport type { FormInputHandleOnKeyDownEvent } from '~components/Form/FormTypes';\n\nexport type BaseInputProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input or textarea\n */\n as?: 'input' | 'textarea';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n interactionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?:\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n };\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\nconst useInput = ({\n value,\n defaultValue,\n onFocus,\n onChange,\n onBlur,\n onInput,\n onKeyDown,\n}: Pick<\n BaseInputProps,\n 'value' | 'defaultValue' | 'onFocus' | 'onChange' | 'onBlur' | 'onInput' | 'onKeyDown'\n>): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (value && defaultValue) {\n throw new Error(\n `[Blade: Input]: Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n );\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nexport const BaseInput = React.forwardRef<HTMLInputElement, BaseInputProps>(\n (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n hideLabelText,\n hideFormHint,\n },\n ref,\n ) => {\n const { theme } = useTheme();\n const {\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onChange,\n onBlur,\n onInput,\n onKeyDown,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throw new Error(\n `[Blade: Input]: Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n );\n }\n\n const isTextArea = as === 'textarea';\n const isReactNative = getPlatformType() === 'react-native';\n return (\n <Box {...metaAttribute(MetaConstants.Component, componentName!)}>\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n >\n {!hideLabelText && (\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginTop={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n marginBottom={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n htmlFor={inputId}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(inputValue)}\n </Box>\n )}\n <BaseInputWrapper\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n >\n <BaseInputVisuals leadingIcon={leadingIcon} prefix={prefix} isDisabled={isDisabled} />\n <StyledBaseInput\n as={isReactNative ? undefined : as}\n id={inputId}\n ref={ref as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n leadingIcon={leadingIcon}\n prefix={prefix}\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n />\n <BaseInputVisuals\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n />\n </BaseInputWrapper>\n </Box>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {!hideFormHint && (\n <Box marginLeft={isLabelLeftPositioned ? 136 : 0}>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n />\n {trailingFooterSlot?.(inputValue)}\n </Box>\n </Box>\n )}\n </Box>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { Text } from '~components/Typography';\n\ntype CharacterCounterProps = {\n currentCount: number;\n maxCount: number;\n};\n\nexport const CharacterCounter = ({\n currentCount,\n maxCount,\n}: CharacterCounterProps): ReactElement => (\n <Text variant=\"caption\" weight=\"regular\" type=\"muted\">\n {currentCount}/{maxCount}\n </Text>\n);\n","import { BaseSpinner } from '../BaseSpinner';\nimport type { BaseSpinnerProps } from '../BaseSpinner';\n\ntype SpinnerProps = Omit<BaseSpinnerProps, 'intent'>;\n\nconst Spinner = ({\n label,\n labelPosition,\n accessibilityLabel,\n contrast = 'low',\n size = 'medium',\n}: SpinnerProps): React.ReactElement => {\n return (\n <BaseSpinner\n label={label}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel ?? label ?? 'Loading'}\n contrast={contrast}\n size={size}\n />\n );\n};\n\nexport { Spinner, SpinnerProps };\n","import React, { useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport type { IconComponent } from '~components/Icons';\nimport { CloseIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport { getPlatformType, isEmpty } from '~utils';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport Box from '~components/Box';\nimport { Spinner } from '~components/Spinner';\n\n// Users should use PasswordInput for input type password\ntype Type = Exclude<BaseInputProps['type'], 'password'>;\n\nexport type TextInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'prefix'\n | 'suffix'\n | 'maxCharacters'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n\n /**\n * Icon that will be rendered at the beginning of the input field\n */\n icon?: IconComponent;\n\n /**\n * Type of Input Field to be rendered. Use `PasswordInput` for type `password`\n *\n * @default text\n */\n type?: Type;\n};\n\ntype TextInputKeyboardAndAutoComplete = Pick<\n BaseInputProps,\n 'keyboardType' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType'\n> & {\n type: Type;\n};\n\nconst getKeyboardAndAutocompleteProps = ({\n type = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n}: TextInputKeyboardAndAutoComplete): TextInputKeyboardAndAutoComplete => {\n const keyboardAndAutocompleteProps: TextInputKeyboardAndAutoComplete = {\n type,\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n };\n\n const keyboardConfigMap = {\n text: {\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n },\n telephone: {\n keyboardType: 'telephone',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'telephone',\n },\n email: {\n keyboardType: 'email',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'email',\n },\n url: {\n keyboardType: 'url',\n keyboardReturnKeyType: 'go',\n autoCompleteSuggestionType: 'none',\n },\n number: {\n keyboardType: 'decimal',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'none',\n },\n search: {\n keyboardType: 'search',\n keyboardReturnKeyType: 'search',\n autoCompleteSuggestionType: 'none',\n },\n } as const;\n\n const keyboardConfig = keyboardConfigMap[type];\n\n keyboardAndAutocompleteProps.keyboardType = keyboardConfig.keyboardType;\n\n keyboardAndAutocompleteProps.keyboardReturnKeyType =\n keyboardReturnKeyType ?? keyboardConfig.keyboardReturnKeyType;\n\n keyboardAndAutocompleteProps.autoCompleteSuggestionType =\n autoCompleteSuggestionType ?? keyboardConfig.autoCompleteSuggestionType;\n\n if (type === 'number') {\n /* the default keyboardType:numeric shows alphanumeric keyboard on iOS but number pad on android. making it type:text and keyboardType:decimal fixes this on all platforms.\n * source: https://css-tricks.com/everything-you-ever-wanted-to-know-about-keyboardType/#aa-decimal\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n if (type === 'search') {\n /* when input type:search is provided at that time browser adds a weird close button which collides with our clear button and then we have 2 clear buttons\n * source: https://github.com/razorpay/blade/issues/857#issue-1457367160\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n return keyboardAndAutocompleteProps;\n};\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nexport const TextInput = ({\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n maxCharacters,\n onChange,\n onBlur,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n icon,\n prefix,\n showClearButton,\n onClearButtonClick,\n isLoading,\n suffix,\n autoFocus,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n}: TextInputProps): ReactElement => {\n const textInputRef = React.useRef<HTMLInputElement | TextInputReactNative>(null);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(\n Boolean(defaultValue ?? value) ?? false,\n );\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" />;\n }\n\n if (shouldShowClearButton) {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n id=\"textinput\"\n componentName=\"textinput\"\n ref={textInputRef as React.Ref<HTMLInputElement>}\n label={label}\n labelPosition={labelPosition}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n maxCharacters={maxCharacters}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n onBlur={onBlur}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isRequired={isRequired}\n leadingIcon={icon}\n prefix={prefix}\n interactionElement={renderInteractionElement()}\n suffix={suffix}\n validationState={validationState}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n }}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n {...getKeyboardAndAutocompleteProps({\n type,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n })}\n />\n );\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { EyeIcon, EyeOffIcon } from '~components/Icons';\nimport Box from '~components/Box';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport { IconButton } from '~components/Button/IconButton';\n\ntype PasswordInputExtraProps = {\n /**\n * Shows a reveal button to toggle password visibility\n *\n * @default true\n */\n showRevealButton?: boolean;\n\n /**\n * Displays asterisk (`*`) when `isRequired` is enabled\n *\n * @default none\n */\n necessityIndicator?: Exclude<BaseInputProps['necessityIndicator'], 'optional'>;\n\n /**\n * Determines what autoComplete suggestion type to show. Defaults to using platform heuristics.\n *\n * It's not recommended to turn this off in favor of safe password practices.\n * Providing `password` or `newPassword` is more informative to the platform for browser autofill or password managers.\n *\n * **Note**: Using `newPassword` on iOS has some [known issue](https://github.com/facebook/react-native/issues/21911) on React Native\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: Extract<\n BaseInputProps['autoCompleteSuggestionType'],\n 'none' | 'password' | 'newPassword'\n >;\n};\n\ntype PasswordInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'maxCharacters'\n | 'validationState'\n | 'errorText'\n | 'successText'\n | 'helpText'\n | 'isDisabled'\n | 'defaultValue'\n | 'placeholder'\n | 'isRequired'\n | 'value'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'name'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n> &\n PasswordInputExtraProps;\n\nconst PasswordInput = ({\n label,\n labelPosition = 'top',\n showRevealButton = true,\n maxCharacters,\n validationState,\n errorText,\n successText,\n helpText,\n isDisabled = false,\n defaultValue,\n placeholder,\n isRequired = false,\n necessityIndicator = 'none',\n value,\n onChange,\n onFocus,\n onBlur,\n name,\n autoFocus = false,\n keyboardReturnKeyType = 'done',\n autoCompleteSuggestionType,\n}: PasswordInputProps): ReactElement => {\n const [isRevealed, setIsRevealed] = useState(false);\n const isEnabled = !isDisabled;\n\n // If input is disabled reveal button shouldn't be present and input should be masked\n const isRevealedAndEnabled = isRevealed && isEnabled;\n\n const toggleIsRevealed = (): void => setIsRevealed((revealed) => !revealed);\n const accessibilityLabel = isRevealedAndEnabled ? 'Hide password' : 'Show password';\n const type = isRevealedAndEnabled ? 'text' : 'password';\n\n const revealButtonIcon = isRevealedAndEnabled ? EyeOffIcon : EyeIcon;\n const revealButton =\n showRevealButton && !isDisabled ? (\n <IconButton\n size=\"medium\"\n icon={revealButtonIcon}\n onClick={toggleIsRevealed}\n accessibilityLabel={accessibilityLabel}\n />\n ) : null;\n\n const trailingFooterSlot = (value?: string): ReactNode =>\n maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n\n return (\n <BaseInput\n componentName=\"password-input\"\n id=\"password-field\"\n label={label}\n labelPosition={labelPosition}\n type={type}\n interactionElement={revealButton}\n trailingFooterSlot={trailingFooterSlot}\n maxCharacters={maxCharacters}\n validationState={validationState}\n errorText={errorText}\n successText={successText}\n helpText={helpText}\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isRequired={isRequired}\n necessityIndicator={necessityIndicator}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n name={name}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n />\n );\n};\n\nexport { PasswordInputProps, PasswordInput };\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport React from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport { CloseIcon } from '../../Icons';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { IconButton } from '~components/Button/IconButton';\nimport Box from '~components/Box';\nimport { getPlatformType, isEmpty } from '~utils';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\n\ntype TextAreaProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'maxCharacters'\n | 'autoFocus'\n | 'numberOfLines'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n};\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst TextArea = ({\n label,\n labelPosition,\n necessityIndicator,\n errorText,\n helpText,\n successText,\n validationState,\n defaultValue,\n isDisabled,\n isRequired,\n name,\n onBlur,\n onChange,\n placeholder,\n value,\n maxCharacters,\n showClearButton,\n onClearButtonClick,\n autoFocus,\n numberOfLines = 2,\n}: TextAreaProps): React.ReactElement => {\n const inputRef = React.useRef<HTMLInputElement | TextInputReactNative>(null);\n\n const [shouldShowClearButton, setShouldShowClearButton] = React.useState<boolean>(\n Boolean(showClearButton && (value?.length || defaultValue?.length)),\n );\n\n const renderInteractionElement = (): React.ReactNode => {\n if (shouldShowClearButton) {\n return (\n <Box paddingTop=\"spacing.3\" marginTop=\"spacing.1\">\n <IconButton\n icon={CloseIcon}\n accessibilityLabel=\"Clear textarea content\"\n onClick={() => {\n if (isEmpty(value) && inputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(inputRef.current)) {\n inputRef.current.clear();\n inputRef.current.focus();\n } else if (inputRef.current instanceof HTMLTextAreaElement) {\n inputRef.current.value = '';\n inputRef.current.focus();\n }\n }\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n inputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n />\n </Box>\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n as=\"textarea\"\n id=\"textarea\"\n componentName=\"textarea\"\n autoFocus={autoFocus}\n ref={inputRef as React.Ref<HTMLInputElement>}\n label={label}\n labelPosition={labelPosition}\n necessityIndicator={necessityIndicator}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n validationState={validationState}\n isDisabled={isDisabled}\n isRequired={isRequired}\n name={name}\n maxCharacters={maxCharacters}\n onBlur={onBlur}\n placeholder={placeholder}\n interactionElement={renderInteractionElement()}\n defaultValue={defaultValue}\n value={value}\n numberOfLines={numberOfLines}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n }}\n />\n );\n};\n\nexport { TextArea, TextAreaProps };\n","import React, { useEffect, useState } from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getHintType } from '../BaseInput/BaseInput';\nimport type { FormInputOnEvent } from '../../Form';\nimport { FormHint, FormLabel } from '../../Form';\nimport { useFormId } from '../../Form/useFormId';\nimport type { FormInputOnKeyDownEvent } from '../../Form/FormTypes';\nimport Box from '~components/Box';\nimport { metaAttribute, getPlatformType, MetaConstants } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\nexport type OTPInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'name'\n | 'onChange'\n | 'value'\n | 'isDisabled'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'keyboardType'\n | 'placeholder'\n> & {\n /**\n * Determines the number of input fields to show for the OTP\n * @default 6\n */\n otpLength?: 4 | 6;\n /**\n * The callback function to be invoked when all the values of the OTPInput are filled\n */\n onOTPFilled?: FormInputOnEvent;\n /**\n * Masks input characters in all the fields\n */\n isMasked?: boolean;\n};\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n/**\n * Converts a string value of otp to array if passed otherwise returns an array of 6 empty strings\n */\nconst otpToArray = (code?: string): string[] => code?.split('') ?? Array(6).fill('');\n\n/**\n * OTPInput component can be used for accepting OTPs sent to users for authentication/verification purposes.\n *\n * ## Usage\n *\n * ```tsx\n * <OTPInput\n * label=\"Enter OTP\"\n * name=\"otpInput\"\n * onChange={({ name, value }): void => console.log({ name, value })}\n * onOTPFilled={({ name, value }): void => console.log({ name, value })}\n * />\n * ```\n */\nconst OTPInput = ({\n autoFocus,\n errorText,\n helpText,\n isDisabled,\n keyboardReturnKeyType,\n keyboardType = 'decimal',\n label,\n labelPosition,\n name,\n onChange,\n onOTPFilled,\n otpLength = 6,\n placeholder,\n successText,\n validationState,\n value: inputValue,\n isMasked,\n}: OTPInputProps): React.ReactElement => {\n const inputRefs: React.RefObject<HTMLInputElement>[] = [];\n const [otpValue, setOtpValue] = useState<string[]>(otpToArray(inputValue));\n const isLabelLeftPositioned = labelPosition === 'left';\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId('otp');\n const { platform } = useTheme();\n\n useEffect(() => {\n // Effect for calling `onOTPFilled` callback\n if (inputValue && inputValue.length >= otpLength) {\n // callback for when the OTPInput is controlled and inputValue reaches the same or greater length as the otpLength\n onOTPFilled?.({ value: inputValue.slice(0, otpLength), name });\n } else if (!inputValue && otpValue.join('').length >= otpLength) {\n // callback for when the OTPInput is uncontrolled and otpValue stored in state reaches the same or greater length as the otpLength\n onOTPFilled?.({ value: otpValue.slice(0, otpLength).join(''), name });\n }\n }, [otpValue, otpLength, name, inputValue, onOTPFilled]);\n\n /**\n * Changes the value of the otp at a given index and updates the otpValue stored in state\n *\n * @param {{ value: string; index: number }} { value, index }\n * @returns {string} updated otpValue\n */\n const setOtpValueByIndex = ({ value, index }: { value: string; index: number }): string => {\n const newOtpValue = Array.from(otpValue);\n newOtpValue[index] = value;\n setOtpValue(newOtpValue);\n return newOtpValue.join('');\n };\n\n /**\n * Sets focus to the desired otp input by index\n *\n * @param {number} index the index of the otp input to be focused\n */\n const focusOnOtpByIndex = (index: number): void => {\n inputRefs[index]?.current?.focus();\n if (!isReactNative) {\n // React Native doesn't support imperatively selecting the value of input\n inputRefs[index]?.current?.select();\n }\n };\n\n const handleOnChange = ({\n value,\n currentOtpIndex,\n }: {\n value?: string;\n currentOtpIndex: number;\n }): void => {\n if (value && value === ' ') {\n // React native doesn't support `event.preventDefault()` hence have to add this check to ensure that empty space is not allowed\n return;\n }\n\n if (inputValue && inputValue.length > 0) {\n // When OTPInput is controlled, set the otpValue as the consumer passed `inputValue` and append the value on current index based on user's input.\n // User's input will not reflect on the otp but will trigger `onChange` callback with the user's input appended so that the consumer can take appropriate action.\n const newOtpValue = Array.from(inputValue);\n newOtpValue[currentOtpIndex] = value ?? '';\n setOtpValue(newOtpValue);\n onChange?.({ name, value: newOtpValue.join('') });\n } else if (value && value.trim().length > 1) {\n // When the entered value is more that 1 character (when value is pasted), set the otpValue to the newly received value.\n // Could have used `onPaste` for web to achieve this but 1. React Native doesn't support onPaste and 2. Safari's autofill on web doesn't trigger onPaste\n setOtpValue(Array.from(value));\n onChange?.({ name, value: value.trim().slice(0, otpLength) });\n } else if (otpValue[currentOtpIndex] !== value?.trim()) {\n // Set the value at the current index to the entered value\n // only as long as its not the same as the already existing value (this prevents `onChange` being triggered unnecessarily)\n const newValue = setOtpValueByIndex({\n value: value?.trim() ?? '',\n index: currentOtpIndex,\n });\n onChange?.({ name, value: newValue });\n }\n };\n\n const handleOnInput = ({\n value,\n currentOtpIndex,\n }: {\n value?: string;\n currentOtpIndex: number;\n }): void => {\n // Moves focus to next input whenever a value is entered in the current input\n if (value && value.trim().length === 1) {\n focusOnOtpByIndex(++currentOtpIndex);\n }\n };\n\n const handleOnKeyDown = ({\n key,\n code,\n event,\n currentOtpIndex,\n }: FormInputOnKeyDownEvent & { currentOtpIndex: number }): void => {\n if (key === 'Backspace' || code === 'Backspace' || code === 'Delete' || key === 'Delete') {\n event.preventDefault?.();\n handleOnChange({ value: '', currentOtpIndex });\n focusOnOtpByIndex(--currentOtpIndex);\n } else if (key === 'ArrowLeft' || code === 'ArrowLeft') {\n event.preventDefault?.();\n focusOnOtpByIndex(--currentOtpIndex);\n } else if (key === 'ArrowRight' || code === 'ArrowRight') {\n event.preventDefault?.();\n focusOnOtpByIndex(++currentOtpIndex);\n } else if (key === ' ' || code === 'Space') {\n event.preventDefault?.();\n }\n };\n\n const getHiddenInput = (): React.ReactNode => {\n if (!isReactNative) {\n return (\n <input\n hidden={true}\n id={inputId}\n name={name}\n value={inputValue ?? otpValue.join('') ?? ''}\n readOnly\n />\n );\n }\n return null;\n };\n\n const getOTPInputFields = (): React.ReactNode => {\n const inputs = [];\n for (let index = 0; index < otpLength; index++) {\n const currentValue = inputValue ? otpToArray(inputValue)[index] || '' : otpValue[index] || '';\n const ref = React.createRef<HTMLInputElement>();\n inputRefs.push(ref);\n inputs.push(\n <Box\n flex={1}\n marginLeft={index == 0 ? 'spacing.0' : 'spacing.3'}\n key={`${inputId}-${index}`}\n maxWidth={platform === 'onDesktop' ? 36 : 40} // TODO: use size tokens\n >\n <BaseInput\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus && index === 0}\n accessibilityLabel={`${index === 0 ? label : ''} character ${index + 1}`}\n label={label}\n hideLabelText={true}\n id={`${inputId}-${index}`}\n textAlign=\"center\"\n ref={ref}\n value={currentValue}\n maxCharacters={otpValue[index]?.length > 0 ? 1 : undefined}\n onChange={(formEvent) => handleOnChange({ ...formEvent, currentOtpIndex: index })}\n onInput={(formEvent) => handleOnInput({ ...formEvent, currentOtpIndex: index })}\n onKeyDown={(keyboardEvent) =>\n handleOnKeyDown({ ...keyboardEvent, currentOtpIndex: index })\n }\n isDisabled={isDisabled}\n placeholder={Array.from(placeholder ?? '')[index] ?? ''}\n isRequired={true}\n autoCompleteSuggestionType=\"oneTimeCode\"\n keyboardType={keyboardType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n validationState={validationState}\n successText={successText}\n errorText={errorText}\n helpText={helpText}\n hideFormHint={true}\n type={isMasked ? 'password' : undefined}\n />\n </Box>,\n );\n }\n return inputs;\n };\n\n return (\n <Box {...metaAttribute(MetaConstants.Component, MetaConstants.OTPInput)}>\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n >\n <FormLabel as=\"label\" position={labelPosition} htmlFor={inputId}>\n {label}\n </FormLabel>\n <Box display=\"flex\" flexDirection=\"row\">\n {getHiddenInput()}\n {getOTPInputFields()}\n </Box>\n </Box>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {/*Refer `BaseInput`'s implementation of FormHint which uses similar logic */}\n <Box marginLeft={isLabelLeftPositioned ? 136 : 0}>\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n />\n </Box>\n </Box>\n );\n};\n\nexport { OTPInput };\n","import type { ReactElement } from 'react';\nimport { Circle as CircleNative } from 'react-native-svg';\nimport type { CircleProps } from './types';\n\nconst Circle = ({ cx, cy, x, y, r, fill, stroke, strokeWidth }: CircleProps): ReactElement => {\n return (\n <CircleNative\n cx={cx}\n cy={cy}\n x={x}\n y={y}\n r={r}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n );\n};\n\nexport default Circle;\n","import type { ReactElement } from 'react';\nimport { useCallback } from 'react';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport Svg from '~components/Icons/_Svg';\nimport Circle from '~components/Icons/_Svg/Circle';\nimport { Text } from '~components/Typography';\n\nimport type { Feedback } from '~tokens/theme/theme';\nimport { metaAttribute, getPlatformType, makeAccessible, MetaConstants } from '~utils';\n\ntype IndicatorCommonProps = {\n /**\n * Sets the color tone\n *\n * @default neutral\n */\n intent?: Feedback;\n\n /**\n * Size of the indicator\n *\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype IndicatorWithoutA11yLabel = {\n /**\n * A text label to show alongside the indicator dot\n */\n children: string;\n\n /**\n * a11y label for screen readers\n */\n accessibilityLabel?: string;\n};\n\ntype IndicatorWithA11yLabel = {\n /**\n * a11y label for screen readers\n */\n accessibilityLabel: string;\n\n /**\n * A text label to show alongside the indicator dot\n */\n children?: string;\n};\n\ntype IndicatorProps = IndicatorCommonProps & (IndicatorWithA11yLabel | IndicatorWithoutA11yLabel);\n\ntype Dimensions = {\n svgSize: string;\n textSize: 'small' | 'medium';\n};\n\nconst Indicator = ({\n accessibilityLabel,\n children,\n size = 'medium',\n intent = 'neutral',\n}: IndicatorProps): ReactElement => {\n const { theme } = useTheme();\n\n const fillColor = theme.colors.feedback.background[intent].highContrast;\n const strokeColor = theme.colors.brand.gray.a100.highContrast;\n const getDimension = useCallback((): Dimensions => {\n switch (size) {\n case 'small':\n return { svgSize: '6', textSize: 'small' };\n case 'large':\n return { svgSize: '10', textSize: 'medium' };\n default:\n return { svgSize: '8', textSize: 'medium' };\n }\n }, [size]);\n const dimensions = getDimension();\n\n const isReactNative = getPlatformType() === 'react-native';\n const isWeb = !isReactNative;\n const a11yProps = makeAccessible({\n label: accessibilityLabel ?? children,\n ...(isWeb && { role: 'status' }),\n });\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n {...a11yProps}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Indicator)}\n >\n <Svg width={dimensions.svgSize} height={dimensions.svgSize} viewBox=\"0 0 10 10\" fill=\"none\">\n <Circle cx=\"5\" cy=\"5\" r=\"5\" fill={fillColor} />\n <Circle cx=\"5\" cy=\"5\" r=\"4.75\" stroke={strokeColor} strokeWidth=\"0.5\" />\n </Svg>\n <Box marginLeft=\"spacing.2\">\n <Text contrast=\"low\" type=\"subtle\" size={dimensions.textSize}>\n {children}\n </Text>\n </Box>\n </Box>\n );\n};\n\nexport { IndicatorProps, Indicator };\n","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseClamp = require('./_baseClamp'),\n toNumber = require('./toNumber');\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n","const indeterminateAnimation = {\n scaleXInitial: 1,\n scaleXMid: 5,\n scaleXFinal: 1,\n leftInitial: '-8%',\n leftMid: '50%',\n leftFinal: '103%',\n fillWidth: '5%',\n};\n\nconst pulseAnimation = {\n opacityInitial: 0,\n opacityMid: 0.25,\n opacityFinal: 0,\n backgroundColor: 'white',\n};\n\nexport { indeterminateAnimation, pulseAnimation };\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport Animated, {\n cancelAnimation,\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../BladeProvider';\nimport type { ProgressBarFilledProps } from './types';\nimport { indeterminateAnimation, pulseAnimation } from './progressBarTokens';\nimport { castNativeType, getIn, makeMotionTime } from '~utils';\n\nconst ProgressBarIndeterminateFilledContainer = styled(Animated.View)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor }) => ({\n backgroundColor,\n height: '100%',\n width: indeterminateAnimation.fillWidth,\n position: 'absolute',\n}));\n\nconst ProgressBarDeterminateFilledContainer = styled(Animated.View)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor, progress }) => ({\n backgroundColor,\n height: '100%',\n width: `${progress}%`,\n}));\n\nconst ProgressBarPulseAnimation = styled(Animated.View)({\n backgroundColor: pulseAnimation.backgroundColor,\n opacity: pulseAnimation.opacityInitial,\n width: '100%',\n height: '100%',\n});\n\nconst ProgressBarFilled = ({\n backgroundColor,\n progress,\n fillMotionDuration,\n motionEasing,\n pulseMotionDuration,\n pulseMotionDelay,\n variant,\n isIndeterminate,\n indeterminateMotionDuration,\n}: ProgressBarFilledProps): React.ReactElement => {\n const animatedWidth = useSharedValue(progress); // for progress fill animation\n const animatedOpacity = useSharedValue(pulseAnimation.opacityInitial); // for pulse animation\n const animatedScaleX = useSharedValue(indeterminateAnimation.scaleXInitial); // for indeterminate scale animation\n const animatedLeft = useSharedValue(indeterminateAnimation.leftInitial); // for indeterminate slide animation\n\n const { theme } = useTheme();\n const fillAndPulseEasing = getIn(theme.motion, motionEasing);\n const pulseDuration =\n castNativeType(makeMotionTime(getIn(theme.motion, pulseMotionDuration))) / 2; // divided by 2 since we animate it with 2 steps in a sequence\n\n // Trigger animation for progress fill\n useEffect(() => {\n const fillDuration = castNativeType(makeMotionTime(getIn(theme.motion, fillMotionDuration)));\n animatedWidth.value = withTiming(progress, {\n duration: fillDuration,\n easing: fillAndPulseEasing,\n });\n return () => {\n cancelAnimation(animatedWidth);\n };\n }, [progress, animatedWidth, fillMotionDuration, theme, fillAndPulseEasing]);\n\n // Animated styles for progress fill animation\n const progressFillAnimatedStyle = useAnimatedStyle(() => {\n return {\n width: `${animatedWidth.value}%`,\n };\n });\n\n // Trigger animation for indeterminate progress bar\n useEffect(() => {\n if (variant === 'progress' && isIndeterminate) {\n const indeterminateDuration = castNativeType(\n makeMotionTime(getIn(theme.motion, indeterminateMotionDuration)),\n );\n const indeterminateEasing = Easing.linear;\n\n // Sliding animation\n animatedLeft.value = withRepeat(\n withTiming(indeterminateAnimation.leftFinal, {\n duration: indeterminateDuration,\n easing: indeterminateEasing,\n }),\n -1,\n );\n\n // Scaling animation\n animatedScaleX.value = withRepeat(\n withSequence(\n withTiming(indeterminateAnimation.scaleXMid, {\n duration: indeterminateDuration / 2, // divided by 2 since we animate it with 2 steps in a sequence\n easing: indeterminateEasing,\n }),\n withTiming(indeterminateAnimation.scaleXFinal, {\n duration: indeterminateDuration / 2, // divided by 2 since we animate it with 2 steps in a sequence\n easing: indeterminateEasing,\n }),\n ),\n -1,\n );\n }\n\n return () => {\n cancelAnimation(animatedLeft);\n cancelAnimation(animatedScaleX);\n };\n }, [animatedLeft, animatedScaleX, indeterminateMotionDuration, isIndeterminate, theme, variant]);\n\n // Animated styles for indeterminate animation\n const indeterminateAnimatedStyle = useAnimatedStyle(() => {\n return {\n left: animatedLeft.value,\n transform: [{ scaleX: animatedScaleX.value }],\n };\n });\n\n //Trigger pulsating animation\n useEffect(() => {\n const pulsatingAnimationTimingConfig = {\n duration: pulseDuration,\n easing: fillAndPulseEasing,\n };\n if (variant === 'progress') {\n animatedOpacity.value = withDelay(\n castNativeType(makeMotionTime(getIn(theme.motion, pulseMotionDelay))),\n withRepeat(\n withSequence(\n withTiming(pulseAnimation.opacityMid, pulsatingAnimationTimingConfig),\n withTiming(pulseAnimation.opacityFinal, pulsatingAnimationTimingConfig),\n ),\n -1,\n ),\n );\n }\n\n return () => {\n cancelAnimation(animatedOpacity);\n };\n }, [animatedOpacity, fillAndPulseEasing, pulseDuration, pulseMotionDelay, theme, variant]);\n\n // Animated styles for pulse animation\n const pulseAnimatedStyle = useAnimatedStyle(() => {\n return {\n opacity: animatedOpacity.value,\n };\n });\n\n const ProgressBarFilledContainer = isIndeterminate\n ? ProgressBarIndeterminateFilledContainer\n : ProgressBarDeterminateFilledContainer;\n\n return (\n <ProgressBarFilledContainer\n style={isIndeterminate ? indeterminateAnimatedStyle : progressFillAnimatedStyle}\n backgroundColor={backgroundColor}\n progress={progress}\n >\n <ProgressBarPulseAnimation style={pulseAnimatedStyle} />\n </ProgressBarFilledContainer>\n );\n};\n\nexport { ProgressBarFilled, ProgressBarFilledProps };\n","import type { ReactElement } from 'react';\nimport clamp from 'lodash/clamp';\nimport { ProgressBarFilled } from './ProgressBarFilled';\nimport { FormLabel } from '~components/Form';\nimport type { AccessibilityProps } from '~utils';\nimport { makeAccessible, makeSize, metaAttribute, MetaConstants } from '~utils';\nimport { Text } from '~components/Typography/Text';\nimport { useId } from '~src/hooks/useId';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\n\ntype ProgressBarCommonProps = {\n /**\n * Sets aria-label to help users know what the progress bar is for. Default value is the same as the `label` passed.\n */\n accessibilityLabel?: string;\n /**\n * Sets the contrast for the progress bar\n * @default 'low'\n */\n contrast?: ColorContrastTypes;\n /**\n * Sets the intent of the progress bar which changes the feedback color.\n */\n intent?: Feedback;\n /**\n * Sets the label to be rendered for the progress bar. This value will also be used as default for `accessibilityLabel`.\n */\n label?: string;\n /**\n * Sets the size of the progress bar.\n * @default 'small'\n */\n size?: 'small' | 'medium';\n /**\n * Sets the progress value of the progress bar.\n * @default 'small'\n */\n value?: number;\n /**\n * Sets the minimum value for the progress bar.\n * @default 0\n */\n min?: number;\n /**\n * Sets the maximum value for the progress bar.\n * @default 100\n */\n max?: number;\n};\n\ntype ProgressBarVariant = 'progress' | 'meter';\n\ntype ProgressBarProgressProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for the progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'progress'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default true\n */\n showPercentage?: boolean;\n};\n\ntype ProgressBarMeterProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for thr progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'meter'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: undefined;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default false\n */\n showPercentage?: undefined;\n};\n\ntype ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;\n\nconst progressBarHeight: Record<NonNullable<ProgressBarCommonProps['size']>, 2 | 4> = {\n small: 2,\n medium: 4,\n};\n\nconst ProgressBar = ({\n accessibilityLabel,\n contrast = 'low',\n intent,\n isIndeterminate = false,\n label,\n showPercentage = true,\n size = 'small',\n value = 0,\n variant = 'progress',\n min = 0,\n max = 100,\n}: ProgressBarProps): ReactElement => {\n const { theme } = useTheme();\n const id = useId(variant);\n\n if (variant === 'meter' && isIndeterminate) {\n throw new Error(\n `[Blade: ProgressBar]: Cannot set 'isIndeterminate' when 'variant' is 'meter'.`,\n );\n }\n\n const unfilledBackgroundColor = theme.colors.brand.gray.a100[`${contrast}Contrast`];\n const filledBackgroundColor = intent\n ? theme.colors.feedback.background[intent].highContrast\n : theme.colors.brand.primary[500];\n const hasLabel = label && label.trim()?.length > 0;\n const isMeter = variant === 'meter';\n const progressValue = clamp(value, min, max);\n const percentageProgressValue = Math.floor(((progressValue - min) * 100) / (max - min));\n const shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;\n const accessibilityProps: Pick<\n AccessibilityProps,\n 'role' | 'label' | 'valueMax' | 'valueNow' | 'valueMin' | 'valueText'\n > = {\n role: 'progressbar',\n label: accessibilityLabel ?? label,\n valueNow: percentageProgressValue,\n valueText: `${percentageProgressValue}%`,\n valueMin: min,\n valueMax: max,\n };\n\n if (isMeter) {\n accessibilityProps.role = 'meter';\n accessibilityProps.valueNow = progressValue;\n accessibilityProps.valueText = `${progressValue}`;\n }\n\n if (isIndeterminate) {\n accessibilityProps.valueNow = undefined;\n accessibilityProps.valueMin = undefined;\n accessibilityProps.valueMax = undefined;\n accessibilityProps.valueText = undefined;\n }\n\n return (\n <>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={hasLabel ? 'space-between' : 'flex-end'}\n >\n {hasLabel ? (\n <FormLabel as=\"label\" htmlFor={id} contrast={contrast}>\n {label}\n </FormLabel>\n ) : null}\n {shouldShowPercentage ? (\n <Box marginBottom=\"spacing.2\">\n <Text\n type=\"subdued\"\n variant=\"body\"\n contrast={contrast}\n size=\"small\"\n >{`${percentageProgressValue}%`}</Text>\n </Box>\n ) : null}\n </Box>\n <Box\n id={id}\n {...metaAttribute(MetaConstants.Component, MetaConstants.ProgressBar)}\n {...makeAccessible({\n role: accessibilityProps.role,\n label: accessibilityProps.label,\n valueNow: accessibilityProps.valueNow,\n valueText: accessibilityProps.valueText,\n valueMin: accessibilityProps.valueMin,\n valueMax: accessibilityProps.valueMax,\n })}\n >\n <Box\n backgroundColor={unfilledBackgroundColor}\n height={makeSize(progressBarHeight[size])}\n overflow=\"hidden\"\n position=\"relative\"\n >\n <ProgressBarFilled\n backgroundColor={filledBackgroundColor}\n progress={percentageProgressValue}\n fillMotionDuration=\"duration.2xgentle\"\n pulseMotionDuration=\"duration.2xgentle\"\n indeterminateMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n variant={variant}\n isIndeterminate={isIndeterminate}\n />\n </Box>\n </Box>\n </>\n );\n};\n\nexport { ProgressBar, ProgressBarProps, ProgressBarVariant };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useId } from '~src/hooks/useId';\nimport { getPlatformType, makeAccessible } from '~src/utils';\n\nexport type OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype UseRadioProps = {\n hasError?: boolean;\n /**\n * If `true`, The Radio will be checked. This also makes the Radio controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the Radio will be initially checked. This also makes the Radio uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Radio` changes.\n */\n onChange?: OnChange;\n /**\n * The name of the input field in a Radio\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the Radio input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the Radio will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the Radio input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n};\n\nconst useRadio = ({\n isChecked,\n defaultChecked,\n isDisabled,\n isRequired,\n hasError,\n onChange,\n name,\n value,\n}: UseRadioProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const isReactNative = getPlatformType() === 'react-native';\n if (isChecked && defaultChecked) {\n throw new Error(\n `[Blade: Radio]: Do not provide both 'isChecked' and 'defaultChecked' to useRadio. Consider if you want this component to be controlled or uncontrolled.`,\n );\n }\n\n const [radioState, setRadioState] = useControllableState({\n value: isChecked,\n defaultValue: defaultChecked ?? false,\n });\n\n const handleOnChange = (event: React.ChangeEvent<HTMLInputElement> | GestureResponderEvent) => {\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n\n setRadioState((checked) => {\n // Prevent radio to be unchecked when clicked again\n // Once checked radios don't act as toggle buttons\n if (checked === false) {\n onChange?.({\n isChecked: true,\n event: event as React.ChangeEvent,\n value,\n });\n return true;\n }\n return checked;\n });\n };\n\n const state = {\n isChecked: radioState,\n setChecked: setRadioState,\n };\n\n const idBase = useId('radio');\n const helpTextId = useId(`${idBase}-helptext`);\n\n const accessibilityProps = makeAccessible({\n role: 'radio',\n required: Boolean(isRequired),\n invalid: Boolean(hasError),\n disabled: Boolean(isDisabled),\n checked: radioState,\n describedBy: helpTextId,\n });\n\n if (isReactNative) {\n return {\n state,\n inputProps: {\n onPress: handleOnChange,\n name,\n value,\n ...accessibilityProps,\n },\n };\n }\n\n return {\n state,\n ids: { helpTextId },\n inputProps: {\n ref: inputRef,\n onChange: handleOnChange,\n type: 'radio',\n name,\n value,\n checked: radioState,\n disabled: isDisabled,\n required: isRequired,\n ...accessibilityProps,\n },\n };\n};\n\nexport type InputProps = ReturnType<typeof useRadio>['inputProps'];\n\nexport { useRadio };\n","import type { Theme } from '~components/BladeProvider';\nimport type { DotNotationColorStringToken } from '~src/_helpers/types';\n\nconst radioSizes = {\n group: {\n gap: {\n small: {\n mobile: 'spacing.2',\n desktop: 'spacing.0',\n },\n medium: {\n mobile: 'spacing.3',\n desktop: 'spacing.2',\n },\n },\n },\n icon: {\n small: {\n width: 12,\n height: 12,\n dotRadius: 2,\n },\n medium: {\n width: 16,\n height: 16,\n dotRadius: 3,\n },\n },\n} as const;\n\ntype ColorTokens = `colors.${DotNotationColorStringToken<Theme['colors']>}` | 'transparent';\ntype Variant = {\n dot: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n border: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n background: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n};\n\ntype RadioIconColors = {\n variants: {\n default: Variant;\n disabled: Variant;\n negative: Variant;\n };\n};\n\nconst radioIconColors: RadioIconColors = {\n variants: {\n default: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'colors.brand.primary.500',\n unchecked: 'colors.brand.gray.500.lowContrast',\n },\n background: {\n checked: 'colors.brand.primary.500',\n unchecked: 'transparent',\n },\n },\n disabled: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'transparent',\n unchecked: 'colors.brand.gray.a100.lowContrast',\n },\n background: {\n checked: 'colors.brand.gray.a100.lowContrast',\n unchecked: 'transparent',\n },\n },\n negative: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'colors.feedback.border.negative.highContrast',\n unchecked: 'colors.feedback.border.negative.highContrast',\n },\n background: {\n checked: 'colors.feedback.background.negative.highContrast',\n unchecked: 'colors.feedback.background.negative.lowContrast',\n },\n },\n },\n} as const;\n\nexport { radioSizes, radioIconColors };\n","import type { CSSObject } from 'styled-components';\nimport { radioIconColors, radioSizes } from '../radioTokens';\nimport type { RadioIconProps } from './RadioIcon';\nimport type { Theme } from '~components/BladeProvider';\nimport {\n castWebType,\n getIn,\n getPlatformType,\n makeBorderSize,\n makeMotionTime,\n makeSize,\n makeSpace,\n} from '~utils';\n\nexport type RadioRectProps = RadioIconProps;\n\nconst getRadioIconWrapperStyles = ({\n theme,\n isChecked,\n isDisabled,\n isNegative,\n size,\n}: RadioRectProps & { theme: Theme }): CSSObject => {\n const isReactNative = getPlatformType() === 'react-native';\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const checked = isChecked ? 'checked' : 'unchecked';\n const background = radioIconColors.variants[variant].background[checked];\n const border = radioIconColors.variants[variant].border[checked];\n const backgroundColor = background === 'transparent' ? background : getIn(theme, background);\n const borderColor = border === 'transparent' ? border : getIn(theme, border);\n\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: makeSpace(radioSizes.icon[size].width),\n height: makeSpace(radioSizes.icon[size].height),\n borderWidth: makeBorderSize(theme.border.width.thick),\n borderStyle: 'solid',\n margin: makeSpace(theme.spacing[1]),\n borderRadius: makeSize(theme.border.radius.max),\n backgroundColor,\n borderColor,\n ...(!isReactNative && {\n transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(theme.motion.easing.exit.attentive),\n }),\n };\n};\n\nexport { getRadioIconWrapperStyles };\n","import styled from 'styled-components/native';\nimport type { RadioRectProps } from './RadioIconWrapperStyles';\nimport { getRadioIconWrapperStyles } from './RadioIconWrapperStyles';\n\nconst RadioIconWrapper = styled.View<RadioRectProps>((props) => getRadioIconWrapperStyles(props));\n\nexport { RadioIconWrapper };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, { Keyframe } from 'react-native-reanimated';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../../BladeProvider';\nimport type { FadeProps } from './types';\n\nconst StyledFade = styled(Animated.View)<{ styles: CSSObject }>(({ styles }) => {\n return {\n ...styles,\n };\n});\n\nconst Fade = ({ children, show, styles }: FadeProps) => {\n const { theme } = useTheme();\n\n const enterEasing = (theme.motion.easing.entrance.effective as unknown) as EasingFn;\n const exitEasing = (theme.motion.easing.exit.effective as unknown) as EasingFn;\n const scaleIn = new Keyframe({\n from: {\n transform: [{ scale: 0.3 }],\n opacity: 0,\n easing: enterEasing,\n },\n to: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: enterEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n const fadeOut = new Keyframe({\n from: {\n opacity: 1,\n easing: exitEasing,\n },\n to: {\n opacity: 0,\n easing: exitEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n return show ? (\n <StyledFade styles={styles as CSSObject} entering={scaleIn} exiting={fadeOut}>\n {children}\n </StyledFade>\n ) : null;\n};\n\nexport { Fade };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport { radioIconColors, radioSizes } from '../radioTokens';\nimport type { RadioProps } from '../Radio';\nimport { RadioIconWrapper } from './RadioIconWrapper';\nimport { Fade } from './Fade';\nimport { useTheme } from '~components/BladeProvider';\nimport Svg from '~components/Icons/_Svg';\nimport Circle from '~components/Icons/_Svg/Circle';\nimport { getIn, makeSpace } from '~utils';\n\nexport type RadioIconProps = {\n isDisabled?: boolean;\n isNegative?: boolean;\n isChecked?: boolean;\n} & Required<Pick<RadioProps, 'size'>>;\n\nconst CheckedIcon = ({ color, size }: { color: string; size: RadioIconProps['size'] }) => {\n const width = radioSizes.icon[size].width;\n const height = radioSizes.icon[size].height;\n const radius = radioSizes.icon[size].dotRadius;\n const viewBox = `0 0 ${width} ${height}`;\n const cx = `${width / 2}`;\n const cy = `${height / 2}`;\n\n return (\n <Svg width={makeSpace(width)} height={makeSpace(height)} viewBox={viewBox} fill=\"none\">\n <Circle cx={cx} cy={cy} r={`${radius}`} fill={color} />\n </Svg>\n );\n};\n\nconst RadioIcon = ({ isChecked, isDisabled, isNegative, size }: RadioIconProps) => {\n const { theme } = useTheme();\n\n const checked = Boolean(isChecked);\n const state = checked ? 'checked' : 'unchecked';\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const dotColor = getIn(theme, radioIconColors.variants[variant].dot[state]);\n\n return (\n <RadioIconWrapper\n size={size}\n isDisabled={isDisabled}\n isNegative={isNegative}\n isChecked={checked}\n >\n <Fade show={checked} styles={{ position: 'absolute', display: 'flex' }}>\n <CheckedIcon size={size} color={dotColor} />\n </Fade>\n </RadioIconWrapper>\n );\n};\n\nexport { RadioIcon };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { RadioGroupProps } from './RadioGroup';\nimport type { State } from './useRadioGroup';\n\nexport type RadioGroupContextType = Pick<\n RadioGroupProps,\n | 'validationState'\n | 'isDisabled'\n | 'labelPosition'\n | 'name'\n | 'defaultValue'\n | 'value'\n | 'onChange'\n | 'necessityIndicator'\n | 'size'\n> & { state?: State };\n\nconst RadioGroupContext = React.createContext<RadioGroupContextType>({});\nconst RadioGroupProvider = RadioGroupContext.Provider;\n\nconst useRadioGroupContext = (): RadioGroupContextType => {\n const context = React.useContext(RadioGroupContext);\n return context;\n};\n\nexport { useRadioGroupContext, RadioGroupProvider };\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport type { OnChange } from './useRadio';\nimport { useRadio } from './useRadio';\nimport { RadioIcon } from './RadioIcon/RadioIcon';\nimport { useRadioGroupContext } from './RadioGroup/RadioContext';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport Box from '~components/Box';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { getPlatformType } from '~utils';\n\ntype RadioProps = {\n /**\n * Sets the label text of the Radio\n */\n children: string;\n /**\n * Help text for the Radio\n */\n helpText?: string;\n /**\n * The value to be used in the Radio input.\n * This is the value that will be returned on form submission.\n */\n value: string;\n /**\n * If `true`, the Radio will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Size of the radios\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst Radio = ({\n value,\n children,\n helpText,\n isDisabled,\n size = 'medium',\n}: RadioProps): React.ReactElement => {\n const groupProps = useRadioGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n\n if (!isInsideGroup) {\n throw new Error('[Blade Radio]: Cannot use <Radio /> outside of <RadioGroup />');\n }\n\n const isChecked = groupProps?.state?.isChecked(value);\n const defaultChecked =\n groupProps?.defaultValue === undefined ? undefined : groupProps?.defaultValue === value;\n const validationState = groupProps?.validationState;\n const hasError = validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const name = groupProps?.name;\n const showHelpText = !hasError && helpText;\n const isReactNative = getPlatformType() === 'react-native';\n const _size = groupProps.size ?? size;\n const isSmall = _size === 'small';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.setValue(value!);\n } else {\n groupProps?.state?.removeValue();\n }\n };\n\n const { state, ids, inputProps } = useRadio({\n defaultChecked,\n isChecked,\n hasError,\n isDisabled: _isDisabled,\n isRequired: groupProps.necessityIndicator === 'required',\n name,\n value,\n onChange: handleChange,\n });\n\n return (\n <SelectorLabel inputProps={isReactNative ? inputProps : {}}>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n hasError={hasError}\n inputProps={inputProps}\n />\n <RadioIcon\n size={_size}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n isNegative={hasError}\n />\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n </Box>\n <Box marginLeft={isSmall ? 'spacing.6' : 'spacing.7'}>\n {showHelpText && (\n <SelectorSupportText id={ids?.helpTextId}>{helpText}</SelectorSupportText>\n )}\n </Box>\n </Box>\n </SelectorLabel>\n );\n};\n\nexport { Radio, RadioProps };\n","import React from 'react';\nimport isUndefined from 'lodash/isUndefined';\nimport type { RadioGroupProps } from './RadioGroup';\nimport type { RadioGroupContextType } from './RadioContext';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useTheme } from '~components/BladeProvider';\nimport { useId } from '~src/hooks/useId';\n\ntype UseRadioGroupProps = Pick<\n RadioGroupProps,\n | 'isDisabled'\n | 'labelPosition'\n | 'validationState'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'necessityIndicator'\n | 'size'\n>;\n\nexport type State = {\n value: string;\n setValue(value: string): void;\n removeValue(): void;\n isChecked(value: string): boolean;\n};\n\ntype UseRadioGroupReturn = {\n state: State;\n contextValue: RadioGroupContextType;\n ids: { labelId: string };\n};\n\nconst useRadioGroup = ({\n value,\n defaultValue,\n isDisabled,\n labelPosition,\n onChange,\n validationState,\n necessityIndicator,\n name,\n size,\n}: UseRadioGroupProps): UseRadioGroupReturn => {\n const { platform } = useTheme();\n const idBase = useId('radio-group');\n const labelId = `${idBase}-label`;\n const fallbackName = name ?? idBase;\n const [checkedValue, setValue] = useControllableState({\n value,\n defaultValue,\n onChange: (v: string) => onChange?.({ value: v, name: fallbackName }),\n });\n\n const state = React.useMemo<State>(() => {\n return {\n value: checkedValue,\n setValue(v: string): void {\n if (isDisabled) {\n return;\n }\n\n setValue(() => v);\n },\n removeValue(): void {\n if (isDisabled) {\n return;\n }\n\n setValue(undefined!);\n },\n isChecked(v: string): boolean {\n if (isUndefined(v) || isUndefined(checkedValue)) return false;\n return checkedValue === v;\n },\n };\n }, [checkedValue, isDisabled, setValue]);\n\n const contextValue = React.useMemo<RadioGroupContextType>(() => {\n return {\n necessityIndicator,\n validationState,\n isDisabled,\n labelPosition: platform === 'onMobile' ? 'top' : labelPosition,\n name: fallbackName,\n state,\n size,\n };\n }, [\n validationState,\n isDisabled,\n platform,\n labelPosition,\n state,\n fallbackName,\n necessityIndicator,\n size,\n ]);\n\n return { state, contextValue, ids: { labelId } };\n};\n\nexport { useRadioGroup };\n","import React from 'react';\nimport { radioSizes } from '../radioTokens';\nimport { RadioGroupProvider } from './RadioContext';\nimport { useRadioGroup } from './useRadioGroup';\nimport Box from '~components/Box';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { SelectorGroupField } from '~components/Form/Selector/SelectorGroupField';\nimport { getPlatformType, useBreakpoint } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\ntype RadioGroupProps = {\n /**\n * Accepts multiple radios as children\n */\n children: React.ReactNode;\n /**\n * Help text of the radio group\n */\n helpText?: string;\n /**\n * Error text of the radio group\n * Renders when `validationState` is set to 'error'\n *\n * Overrides helpText\n */\n errorText?: string;\n /**\n * Sets the error state of the radioGroup\n * If set to `error` it will render the `errorText` of the group,\n * and propagate `invalid` prop to every radio\n */\n validationState?: 'error' | 'none';\n /**\n * Renders a necessity indicator after radioGroup label\n *\n * If set to `undefined` it renders nothing.\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n /**\n * Sets the disabled state of the radioGroup\n * If set to `true` it propagate down to all the radios\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Renders the label of the radio group\n */\n label: string;\n /**\n * Sets the position of the label\n *\n * @default 'top'\n */\n labelPosition?: 'top' | 'left';\n /**\n * Initial value of the radio group\n */\n defaultValue?: string;\n /**\n * value of the radio group\n *\n * Use `onChange` to update its value\n */\n value?: string;\n /**\n * The callback invoked when any of the radio's state changes\n */\n onChange?: ({ name, value }: { name: string | undefined; value: string }) => void;\n /**\n * The name of the input field in a radio\n * (Useful for form submission).\n */\n name?: string;\n /**\n * Size of the radios\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst RadioGroup = ({\n children,\n label,\n helpText,\n isDisabled = false,\n necessityIndicator = 'none',\n labelPosition = 'top',\n validationState = 'none',\n errorText,\n name,\n defaultValue,\n onChange,\n value,\n size = 'medium',\n}: RadioGroupProps): React.ReactElement => {\n const { contextValue, ids } = useRadioGroup({\n defaultValue,\n isDisabled,\n labelPosition,\n name,\n onChange,\n validationState,\n value,\n size,\n });\n\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const showError = validationState === 'error' && errorText;\n const showHelpText = !showError && helpText;\n const accessibilityText = `${showError ? errorText : ''} ${showHelpText ? helpText : ''}`.trim();\n const isReactNative = getPlatformType() === 'react-native';\n const gap = radioSizes.group.gap[size][matchedDeviceType];\n const childCount = React.Children.count(children);\n\n return (\n <RadioGroupProvider value={contextValue}>\n <SelectorGroupField\n position={labelPosition}\n labelledBy={ids.labelId}\n accessibilityRole={isReactNative ? 'radiogroup' : 'group'}\n componentName=\"radio-group\"\n >\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={ids.labelId}\n accessibilityText={accessibilityText && `,${accessibilityText}`}\n >\n {label}\n </FormLabel>\n <Box>\n <Box display=\"flex\" flexDirection=\"column\">\n {React.Children.map(children, (child, index) => {\n return (\n <Box key={index} {...{ marginBottom: index === childCount - 1 ? 0 : gap }}>\n {child}\n </Box>\n );\n })}\n </Box>\n <FormHint\n type={validationState === 'error' ? 'error' : 'help'}\n errorText={errorText}\n helpText={helpText}\n />\n </Box>\n </SelectorGroupField>\n </RadioGroupProvider>\n );\n};\n\nexport { RadioGroup, RadioGroupProps };\n","type SkipNavLinkProps = {\n id?: string;\n children?: string;\n};\n\nconst SkipNavLink = (_props: SkipNavLinkProps): never => {\n throw new Error('[Blade: SkipNav]: SkipNavLink is not available on React Native');\n};\n\nconst SkipNavContent = (_props: SkipNavLinkProps): never => {\n throw new Error('[Blade: SkipNav]: SkipNavContent is not available on React Native');\n};\n\nexport { SkipNavLink, SkipNavContent };\n"],"names":["listCacheClear","eq","require$$0","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","require$$1","require$$2","require$$3","require$$4","ListCache","stackClear","stackDelete","stackGet","stackHas","freeGlobal","global","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","baseGetTag","isObject","funcTag","isFunction","coreJsData","isMasked","funcProto","funcToString","toSource","baseIsNative","getValue","getNative","Map","nativeCreate","hashClear","hashDelete","HASH_UNDEFINED","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","require$$5","Stack","defineProperty","baseAssignValue","assignValue","copyObject","baseTimes","isObjectLike","argsTag","baseIsArguments","isArguments","isArray","MAX_SAFE_INTEGER","isIndex","isLength","mapTag","objectTag","setTag","weakMapTag","dataViewTag","baseIsTypedArray","baseUnary","nodeUtil","isTypedArray","isBuffer","arrayLikeKeys","isPrototype","overArg","nativeKeys","baseKeys","isArrayLike","nativeKeysIn","baseKeysIn","keysIn","copyArray","getPrototype","DataView","Promise","Set","WeakMap","require$$6","getTag","Uint8Array","cloneArrayBuffer","symbolProto","cloneTypedArray","baseCreate","initCloneObject","metaAttribute","_name","_value","getColorScheme","colorScheme","Appearance","isSymbol","isKey","memoize","memoizeCapped","stringToPath","arrayMap","INFINITY","baseToString","toString","castPath","toKey","baseGet","getPlatformType","navigator","product","document","process","require$$7","getComponentId","component","React","isValidElement","type","componentId","isValidAllowedChildren","id","accessibilityValue","valueMax","valueMin","valueNow","valueText","accessibilityState","selected","disabled","expanded","busy","checked","accessibilityValueKeys","Object","keys","accessibilityStateKeys","accessibilityMap","activeDescendant","atomic","autoComplete","colCount","colIndex","colSpan","controls","describedBy","details","errorMessage","flowTo","hasPopup","hidden","invalid","keyShortcuts","label","labelledBy","liveRegion","modal","multiline","multiSelectable","orientation","owns","placeholder","posInSet","pressed","readOnly","required","role","roleDescription","rowCount","rowIndex","rowSpan","setSize","sort","current","dropEffect","grabbed","level","relevant","accessibilityRoleMap","alert","button","checkbox","combobox","image","link","menu","menubar","menuitem","progressbar","radio","radiogroup","scrollbar","search","spinbutton","switch","tab","tablist","timer","togglebutton","toolbar","heading","slider","img","presentation","region","imagebutton","keyboardkey","text","meter","makeAccessible","props","newProps","key","propKey","propValue","accessibilityAttribute","includes","accessibilityElementsHidden","importantForAccessibility","accessibilityHidden","console","warn","accessibilityRole","validRoles","join","log","makeBezier","x1","y1","x2","y2","Easing","bezier","makeBorderSize","size","makeMotionTime","time","makeSize","makeSpace","makeTypographySize","assignMergeValue","createBaseFor","baseFor","isArrayLikeObject","isPlainObject","safeGet","toPlainObject","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","baseMerge","identity","apply","overRest","constant","baseSetToString","shortOut","setToString","baseRest","isIterateeCall","createAssigner","toTitleCase","inputString","toLowerCase","split","map","word","charAt","toUpperCase","slice","deviceType","desktop","mobile","useBreakpoint","breakpoints","supportsMatchMedia","window","matchMedia","breakpointsTokenAndQueryCollection","useMemo","entries","index","breakpointsArray","token","screenSize","mediaQuery","getMatchedDeviceType","useCallback","matchedBreakpoint","matchedDeviceType","platform","getMatchedBreakpoint","event","find","media","matches","undefined","useState","breakpointAndDevice","setBreakpointAndDevice","useEffect","handleMediaQueryChange","mediaQueryInstances","mediaQueryInstance","addEventListener","addListener","forEach","removeEventListener","removeListener","fontFamily","code","Platform","OS","fontWeight","regular","bold","onDesktop","fonts","family","weight","lineHeights","s","m","l","xl","onMobile","standard","attentive","effective","revealing","wary","entrance","exit","colorSchemeNamesInput","useColorScheme","initialColorScheme","colorSchemeState","setColorSchemeState","setColorScheme","setThemeMode","Error","usePrevious","value","ref","useRef","castWebType","castNativeType","MAX_WIDTH","getCommonStyles","theme","contrastType","intent","isFullWidth","isDesktop","feedbackColors","colors","feedback","background","padding","spacing","borderRadius","border","radius","none","medium","borderColor","borderWidth","width","thin","borderStyle","display","flexDirection","maxWidth","alignItems","StyledAlert","styled","View","ClipPath","children","ClipPathNative","Defs","DefsNative","G","clipPath","fill","GNative","Path","d","clipRule","fillOpacity","fillRule","stroke","strokeLinecap","strokeLinejoin","strokeWidth","PathNative","Rect","height","rx","ry","x","y","RectNative","Svg","viewBox","SvgNative","ThemeContext","createContext","useTheme","themeContext","useContext","BladeProvider","themeTokens","onColorMode","onDeviceType","shadows","color","typography","themeContextValue","_jsx","StyledComponentThemeProvider","iconSize","xsmall","small","large","xlarge","useIconProps","iconColor","get","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpRightIcon","ArrowUpIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","CloseIcon","CreditCardIcon","DollarIcon","DownloadIcon","EditIcon","EyeIcon","EyeOffIcon","FileTextIcon","HistoryIcon","HomeIcon","InfoIcon","LinkIcon","LockIcon","PauseIcon","PlusIcon","RupeeIcon","SearchIcon","SettingsIcon","SlashIcon","TrashIcon","AlertTriangleIcon","CheckCircleIcon","_jsxs","RefreshLeftIcon","MinusIcon","RotateCounterClockWiseIcon","TrendingUpIcon","TrendingDownIcon","UsersIcon","HelpCircleIcon","ExternalLinkIcon","MailIcon","StyledPressable","Pressable","alignSelf","StyledIconButton","Icon","icon","onClick","contrast","accessibilityLabel","isPressed","setIsPressed","getIconColorToken","state","iconColorToken","IconButton","getSpacingValue","getIn","getBoxStyles","flex","flexWrap","flexGrow","alignContent","justifyContent","overflow","paddingTop","paddingBottom","paddingLeft","paddingRight","marginTop","marginBottom","marginLeft","marginRight","gap","minHeight","minWidth","maxHeight","position","transform","top","left","right","bottom","backgroundColor","zIndex","Box","getBaseTextStyles","fontSize","fontStyle","textDecorationLine","lineHeight","textAlign","textColor","themeFontFamily","themeFontSize","themeFontWeight","themeLineHeight","margin","StyledBaseText","Text","as","BaseText","truncateAfterLines","className","style","accessibilityProps","componentName","getProps","isPlatformWeb","colorContrast","Title","variant","Heading","getTextProps","forwardedAs","StyledText","platformType","getCodeFontSize","CodeContainer","brand","gray","a50","lowContrast","Code","getBaseButtonStyles","defaultBorderColor","buttonPaddingTop","buttonPaddingBottom","buttonPaddingLeft","buttonPaddingRight","defaultBackgroundColor","cursor","Animated","createAnimatedComponent","getStyledBaseButtonStyles","StyledBaseButton","hoverBackgroundColor","activeBackgroundColor","focusBackgroundColor","focusRingColor","hoverBorderColor","activeBorderColor","focusBorderColor","motionDuration","motionEasing","isLoading","useSharedValue","duration","motion","easing","animatedStyles","useAnimatedStyle","withTiming","buttonPadding","buttonIconOnlyPadding","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","textPadding","announce","message","AccessibilityInfo","announceForAccessibility","clearAnnouncer","_assertiveness","destroyAnnouncer","dimensions","SpinnerIcon","SpinningBox","spinnerMotion","rotation","rotateZ","withRepeat","cancelAnimation","getColor","BaseSpinner","labelPosition","trim","length","getColorToken","property","buttonTypographyTokens","isDisabled","hasIcon","isIconOnly","spinnerSize","buttonMinHeight","iconPadding","disabledBackgroundColor","disabledBorderColor","ButtonContent","isHidden","opacity","BaseButton","iconPosition","prevLoading","buttonTypography","Boolean","getStyledLinkStyles","outline","textDecoration","StyledNativeLink","openURL","href","Linking","canOpenURL","canOpen","StyledLink","setCurrentInteraction","handleOnPress","useInteraction","currentInteraction","onMouseEnter","onMouseLeave","onFocus","onBlur","element","isVisited","target","isButton","defaultRel","BaseLink","rel","setIsVisited","syntheticEvents","handleOnClick","StyledBaseLink","isReactNative","CloseButtonWrapper","Fragment","intentIconMap","positive","negative","AlertOctagonIcon","information","neutral","notice","Alert","description","title","isDismissable","onDismiss","actions","primary","secondary","isMobile","isVisible","setIsVisible","textSize","iconOffset","_title","_description","primaryAction","secondaryActionParams","secondaryAction","showActionsHorizontal","actionsHorizontal","actionsVertical","onClickDismiss","closeButton","a11yProps","getStyledBadgeStyles","max","StyledBadge","verticalPadding","horizontalPadding","isFeedbackVariant","feedbackVariants","getColorProps","Badge","isAndroid","androidShadow","elevation","CardSurfaceStyled","surfaceLevel","surface","shadowOpacity","shadowRadius","blurRadius","shadowColor","shadowOffset","offsetY","CardSurface","androidElevation","CardContext","useVerifyInsideCard","context","useVerifyAllowedComponents","allowedComponents","Children","child","isValidChild","CardProvider","ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderText","CardHeaderLink","CardHeaderIconButton","Card","Link","Button","Divider","borderBottomWidth","borderBottomStyle","normal","getStyledCounterStyles","StyledCounter","Counter","content","textSizes","subtitle","prefix","suffix","headerTrailingAllowedComponents","visual","useIsMobile","CheckboxGroupContext","CheckboxGroupProvider","Provider","useCheckboxGroupContext","checkboxSizes","group","checkboxIconColors","variants","default","unchecked","getCheckboxIconWrapperStyles","isChecked","isNegative","thick","CheckboxIconWrapper","StyledFade","styles","Fade","show","fadeInEasing","fadeOutEasing","fadeIn","Keyframe","from","scale","to","quick","fadeOut","svgSize","CheckedIcon","IndeterminateIcon","CheckboxIcon","isIndeterminate","defaultIconColor","disabledIconColor","useControllableState","valueProp","defaultValue","onChange","valueState","setValue","isControlled","updateValue","next","nextValue","isBrowser","useIsomorphicLayoutEffect","useLayoutEffect","handoffComplete","genId","useId","idProp","initialId","uid","setUid","useFormId","baseId","inputId","errorTextId","helpTextId","successTextId","labelId","setMixed","mixed","indeterminate","useCheckbox","defaultChecked","isRequired","hasError","hasHelperText","name","inputRef","checkboxState","setCheckboxStateChange","handleOnChange","stopPropagation","preventDefault","setChecked","inputProps","onPress","ids","FormHintWrapper","HintText","Icons","error","success","FormHint","helpText","errorText","successText","help","showError","showSuccess","showHelp","screenReaderStyles","clip","whiteSpace","wordWrap","StyledVisuallyHidden","VisuallyHidden","FormLabel","necessityIndicator","accessibilityText","htmlFor","necessityLabel","isLabelLeftPositioned","computedAccessibilityNode","textNode","Component","flexShrink","wordBreak","StyledSelectorLabel","SelectorLabel","SelectorTitle","SelectorSupportText","SelectorInput","_props","Checkbox","validationState","groupProps","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","isEmpty","filter","_validationState","_hasError","_isDisabled","_isChecked","_size","isSmall","showSupportingText","handleChange","addValue","removeValue","useCheckboxGroup","values","checkedValues","concat","existingValue","contextValue","SelectorGroupField","CheckboxGroup","showHelpText","childCount","count","getVisualContainerStyles","getPrefixStyles","hasLeadingIcon","hasPrefix","getInteractionElementStyles","hasTrailingIcon","hasInteractionElement","hasSuffix","getSuffixStyles","getInputVisualsToBeRendered","leadingIcon","interactionElement","trailingIcon","BaseInputVisuals","LeadingIcon","TrailingIcon","hasLeadingVisuals","hasTrailingVisuals","getTextStyles","getInputBackgroundAndBorderStyles","isHovered","isFocused","borderBottomColor","highContrast","borderTopLeftRadius","borderTopRightRadius","getBaseInputStyles","resize","autoCompleteSuggestionTypeAndroid","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","autoCompleteSuggestionTypeIOS","KeyboardTypeToNativeValuesMap","url","decimal","StyledNativeBaseInput","TextInput","editable","textAlignVertical","isTextArea","numberOfLines","StyledBaseInput","forwardRef","maxCharacters","handleOnFocus","handleOnBlur","handleOnInput","handleOnKeyDown","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","nativeEvent","displayName","BaseInputStyledAnimatedBorder","BaseInputAnimatedBorder","borderAnimationEasing","widthTrigger","opacityTrigger","animatedStyle","interpolate","moderate","xquick","StyledBaseInputWrapper","transitionProperty","transitionDuration","transitionTimingFunction","BaseInputWrapper","autoCompleteSuggestionTypeValues","useInput","onInput","onKeyDown","inputValue","setInputValue","getHintType","hasHelpText","getDescribedByElementId","hasErrorText","hasSuccessText","BaseInput","autoFocus","trailingHeaderSlot","trailingFooterSlot","hideLabelText","hideFormHint","willRenderHintText","CharacterCounter","currentCount","maxCount","Spinner","getKeyboardAndAutocompleteProps","keyboardAndAutocompleteProps","keyboardConfigMap","number","keyboardConfig","_textInputRef","showClearButton","onClearButtonClick","textInputRef","shouldShowClearButton","setShouldShowClearButton","renderInteractionElement","clear","focus","HTMLInputElement","PasswordInput","showRevealButton","isRevealed","setIsRevealed","isEnabled","isRevealedAndEnabled","toggleIsRevealed","revealed","revealButtonIcon","revealButton","TextArea","HTMLTextAreaElement","otpToArray","Array","OTPInput","onOTPFilled","otpLength","inputRefs","otpValue","setOtpValue","setOtpValueByIndex","newOtpValue","focusOnOtpByIndex","select","currentOtpIndex","newValue","getHiddenInput","getOTPInputFields","inputs","currentValue","createRef","push","formEvent","keyboardEvent","Circle","cx","cy","r","CircleNative","Indicator","fillColor","strokeColor","a100","getDimension","isWeb","baseClamp","trimmedEndIndex","baseTrim","toNumber","indeterminateAnimation","scaleXInitial","scaleXMid","scaleXFinal","leftInitial","leftMid","leftFinal","fillWidth","pulseAnimation","opacityInitial","opacityMid","opacityFinal","ProgressBarIndeterminateFilledContainer","ProgressBarDeterminateFilledContainer","progress","ProgressBarPulseAnimation","ProgressBarFilled","fillMotionDuration","pulseMotionDuration","pulseMotionDelay","indeterminateMotionDuration","animatedWidth","animatedOpacity","animatedScaleX","animatedLeft","fillAndPulseEasing","pulseDuration","fillDuration","progressFillAnimatedStyle","indeterminateDuration","indeterminateEasing","linear","withSequence","indeterminateAnimatedStyle","scaleX","pulsatingAnimationTimingConfig","withDelay","pulseAnimatedStyle","ProgressBarFilledContainer","progressBarHeight","ProgressBar","showPercentage","min","unfilledBackgroundColor","filledBackgroundColor","hasLabel","isMeter","progressValue","clamp","percentageProgressValue","Math","floor","shouldShowPercentage","useRadio","radioState","setRadioState","idBase","radioSizes","dotRadius","radioIconColors","dot","getRadioIconWrapperStyles","RadioIconWrapper","enterEasing","exitEasing","scaleIn","RadioIcon","dotColor","RadioGroupContext","RadioGroupProvider","useRadioGroupContext","Radio","isInsideGroup","useRadioGroup","fallbackName","v","checkedValue","RadioGroup","SkipNavLink","SkipNavContent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.native.js","sources":["../../node_modules/lodash/_listCacheClear.js","../../node_modules/lodash/eq.js","../../node_modules/lodash/_assocIndexOf.js","../../node_modules/lodash/_listCacheDelete.js","../../node_modules/lodash/_listCacheGet.js","../../node_modules/lodash/_listCacheHas.js","../../node_modules/lodash/_listCacheSet.js","../../node_modules/lodash/_ListCache.js","../../node_modules/lodash/_stackClear.js","../../node_modules/lodash/_stackDelete.js","../../node_modules/lodash/_stackGet.js","../../node_modules/lodash/_stackHas.js","../../node_modules/lodash/_freeGlobal.js","../../node_modules/lodash/_root.js","../../node_modules/lodash/_Symbol.js","../../node_modules/lodash/_getRawTag.js","../../node_modules/lodash/_objectToString.js","../../node_modules/lodash/_baseGetTag.js","../../node_modules/lodash/isObject.js","../../node_modules/lodash/isFunction.js","../../node_modules/lodash/_coreJsData.js","../../node_modules/lodash/_isMasked.js","../../node_modules/lodash/_toSource.js","../../node_modules/lodash/_baseIsNative.js","../../node_modules/lodash/_getValue.js","../../node_modules/lodash/_getNative.js","../../node_modules/lodash/_Map.js","../../node_modules/lodash/_nativeCreate.js","../../node_modules/lodash/_hashClear.js","../../node_modules/lodash/_hashDelete.js","../../node_modules/lodash/_hashGet.js","../../node_modules/lodash/_hashHas.js","../../node_modules/lodash/_hashSet.js","../../node_modules/lodash/_Hash.js","../../node_modules/lodash/_mapCacheClear.js","../../node_modules/lodash/_isKeyable.js","../../node_modules/lodash/_getMapData.js","../../node_modules/lodash/_mapCacheDelete.js","../../node_modules/lodash/_mapCacheGet.js","../../node_modules/lodash/_mapCacheHas.js","../../node_modules/lodash/_mapCacheSet.js","../../node_modules/lodash/_MapCache.js","../../node_modules/lodash/_stackSet.js","../../node_modules/lodash/_Stack.js","../../node_modules/lodash/_defineProperty.js","../../node_modules/lodash/_baseAssignValue.js","../../node_modules/lodash/_assignValue.js","../../node_modules/lodash/_copyObject.js","../../node_modules/lodash/_baseTimes.js","../../node_modules/lodash/isObjectLike.js","../../node_modules/lodash/_baseIsArguments.js","../../node_modules/lodash/isArguments.js","../../node_modules/lodash/isArray.js","../../node_modules/lodash/stubFalse.js","../../node_modules/lodash/isBuffer.js","../../node_modules/lodash/_isIndex.js","../../node_modules/lodash/isLength.js","../../node_modules/lodash/_baseIsTypedArray.js","../../node_modules/lodash/_baseUnary.js","../../node_modules/lodash/_nodeUtil.js","../../node_modules/lodash/isTypedArray.js","../../node_modules/lodash/_arrayLikeKeys.js","../../node_modules/lodash/_isPrototype.js","../../node_modules/lodash/_overArg.js","../../node_modules/lodash/_nativeKeys.js","../../node_modules/lodash/_baseKeys.js","../../node_modules/lodash/isArrayLike.js","../../node_modules/lodash/_nativeKeysIn.js","../../node_modules/lodash/_baseKeysIn.js","../../node_modules/lodash/keysIn.js","../../node_modules/lodash/_cloneBuffer.js","../../node_modules/lodash/_copyArray.js","../../node_modules/lodash/_getPrototype.js","../../node_modules/lodash/_DataView.js","../../node_modules/lodash/_Promise.js","../../node_modules/lodash/_Set.js","../../node_modules/lodash/_WeakMap.js","../../node_modules/lodash/_getTag.js","../../node_modules/lodash/_Uint8Array.js","../../node_modules/lodash/_cloneArrayBuffer.js","../../node_modules/lodash/_cloneSymbol.js","../../node_modules/lodash/_cloneTypedArray.js","../../node_modules/lodash/_baseCreate.js","../../node_modules/lodash/_initCloneObject.js","../../node_modules/lodash/isMap.js","../../node_modules/lodash/isSet.js","../../src/utils/metaAttribute/metaAttribute.native.ts","../../src/utils/getColorScheme/getColorScheme.native.ts","../../node_modules/lodash/isSymbol.js","../../node_modules/lodash/_isKey.js","../../node_modules/lodash/memoize.js","../../node_modules/lodash/_memoizeCapped.js","../../node_modules/lodash/_stringToPath.js","../../node_modules/lodash/_arrayMap.js","../../node_modules/lodash/_baseToString.js","../../node_modules/lodash/toString.js","../../node_modules/lodash/_castPath.js","../../node_modules/lodash/_toKey.js","../../node_modules/lodash/_baseGet.js","../../node_modules/lodash/get.js","../../src/utils/getPlatformType/getPlatformType.ts","../../node_modules/lodash/isEmpty.js","../../node_modules/lodash/_equalByTag.js","../../src/utils/isValidAllowedChildren/isValidAllowedChildren.ts","../../src/utils/makeAccessible/accessibilityMapNative.ts","../../src/utils/makeAccessible/makeAccessible.native.ts","../../src/utils/makeBezier/makeBezier.native.ts","../../src/utils/makeBorderSize/makeBorderSize.ts","../../src/utils/makeMotionTime/makeMotionTime.native.ts","../../src/utils/makeSize/makeSize.ts","../../src/utils/makeSpace/makeSpace.ts","../../src/utils/makeTypographySize/makeTypographySize.native.ts","../../node_modules/lodash/_assignMergeValue.js","../../node_modules/lodash/_createBaseFor.js","../../node_modules/lodash/_baseFor.js","../../node_modules/lodash/isArrayLikeObject.js","../../node_modules/lodash/isPlainObject.js","../../node_modules/lodash/_safeGet.js","../../node_modules/lodash/toPlainObject.js","../../node_modules/lodash/_baseMergeDeep.js","../../node_modules/lodash/_baseMerge.js","../../node_modules/lodash/identity.js","../../node_modules/lodash/_apply.js","../../node_modules/lodash/_overRest.js","../../node_modules/lodash/constant.js","../../node_modules/lodash/_baseSetToString.js","../../node_modules/lodash/_shortOut.js","../../node_modules/lodash/_setToString.js","../../node_modules/lodash/_baseRest.js","../../node_modules/lodash/_isIterateeCall.js","../../node_modules/lodash/_createAssigner.js","../../node_modules/lodash/merge.js","../../src/utils/toTitleCase/toTitleCase.ts","../../src/utils/useBreakpoint/useBreakpoint.ts","../../src/tokens/global/fontFamily/fontFamily.native.ts","../../src/tokens/global/typography.ts","../../src/tokens/global/motion.ts","../../src/tokens/theme/index.ts","../../src/utils/useColorScheme/useColorScheme.ts","../../src/utils/usePrevious/usePrevious.ts","../../src/utils/platform/castUtils.ts","../../src/components/Alert/styles.ts","../../src/components/Alert/StyledAlert.native.tsx","../../src/components/Icons/_Svg/ClipPath/ClipPath.native.tsx","../../src/components/Icons/_Svg/Defs/Defs.native.tsx","../../src/components/Icons/_Svg/G/G.native.tsx","../../src/components/Icons/_Svg/Path/Path.native.tsx","../../src/components/Icons/_Svg/Rect/Rect.native.tsx","../../src/components/Icons/_Svg/Svg/Svg.native.tsx","../../src/components/BladeProvider/useTheme.ts","../../src/components/BladeProvider/BladeProvider.tsx","../../src/components/Icons/useIconProps/useIconProps.tsx","../../src/components/Icons/ArrowDownIcon/ArrowDownIcon.tsx","../../src/components/Icons/ArrowLeftIcon/ArrowLeftIcon.tsx","../../src/components/Icons/ArrowRightIcon/ArrowRightIcon.tsx","../../src/components/Icons/ArrowUpRightIcon/ArrowUpRightIcon.tsx","../../src/components/Icons/ArrowUpIcon/ArrowUpIcon.tsx","../../src/components/Icons/CheckIcon/CheckIcon.tsx","../../src/components/Icons/ChevronDownIcon/ChevronDownIcon.tsx","../../src/components/Icons/ChevronLeftIcon/ChevronLeftIcon.tsx","../../src/components/Icons/ChevronRightIcon/ChevronRightIcon.tsx","../../src/components/Icons/ChevronUpIcon/ChevronUpIcon.tsx","../../src/components/Icons/ClockIcon/ClockIcon.tsx","../../src/components/Icons/CloseIcon/CloseIcon.tsx","../../src/components/Icons/CreditCardIcon/CreditCardIcon.tsx","../../src/components/Icons/DollarIcon/DollarIcon.tsx","../../src/components/Icons/DownloadIcon/DownloadIcon.tsx","../../src/components/Icons/EditIcon/EditIcon.tsx","../../src/components/Icons/EyeIcon/EyeIcon.tsx","../../src/components/Icons/EyeOffIcon/EyeOffIcon.tsx","../../src/components/Icons/FileTextIcon/FileTextIcon.tsx","../../src/components/Icons/HistoryIcon/HistoryIcon.tsx","../../src/components/Icons/HomeIcon/HomeIcon.tsx","../../src/components/Icons/InfoIcon/InfoIcon.tsx","../../src/components/Icons/LinkIcon/LinkIcon.tsx","../../src/components/Icons/LockIcon/LockIcon.tsx","../../src/components/Icons/PauseIcon/PauseIcon.tsx","../../src/components/Icons/PlusIcon/PlusIcon.tsx","../../src/components/Icons/RupeeIcon/RupeeIcon.tsx","../../src/components/Icons/SearchIcon/SearchIcon.tsx","../../src/components/Icons/SettingsIcon/SettingsIcon.tsx","../../src/components/Icons/SlashIcon/SlashIcon.tsx","../../src/components/Icons/BankIcon/BankIcon.tsx","../../src/components/Icons/TrashIcon/TrashIcon.tsx","../../src/components/Icons/AlertTriangleIcon/AlertTriangleIcon.tsx","../../src/components/Icons/AlertOctagonIcon/AlertOctagonIcon.tsx","../../src/components/Icons/CheckCircleIcon/CheckCircleIcon.tsx","../../src/components/Icons/RefreshLeftIcon/RefreshLeftIcon.tsx","../../src/components/Icons/MinusIcon/MinusIcon.tsx","../../src/components/Icons/RotateCounterClockWiseIcon/RotateCounterClockWiseIcon.tsx","../../src/components/Icons/TrendingUpIcon/TrendingUpIcon.tsx","../../src/components/Icons/TrendingDownIcon/TrendingDownIcon.tsx","../../src/components/Icons/UsersIcon/UsersIcon.tsx","../../src/components/Icons/HelpCircleIcon/HelpCircleIcon.tsx","../../src/components/Icons/ExternalLinkIcon/ExternalLinkIcon.tsx","../../src/components/Icons/MailIcon/MailIcon.tsx","../../src/components/Icons/BookIcon/BookIcon.tsx","../../src/components/Icons/SettlementsIcon/SettlementsIcon.tsx","../../src/components/Icons/ShuffleIcon/ShuffleIcon.tsx","../../src/components/Icons/TagIcon/TagIcon.tsx","../../src/components/Icons/UserIcon/UserIcon.tsx","../../src/components/Icons/TransactionsIcon/TransactionsIcon.tsx","../../src/components/Button/IconButton/StyledIconButton.native.tsx","../../src/components/Button/IconButton/IconButton.tsx","../../src/components/Box/getBoxStyles.ts","../../src/components/Box/Box.native.tsx","../../src/components/Typography/BaseText/getBaseTextStyles.ts","../../src/components/Typography/BaseText/BaseText.native.tsx","../../src/components/Typography/Title/Title.tsx","../../src/components/Typography/Heading/Heading.tsx","../../src/components/Typography/Text/Text.tsx","../../src/components/Typography/Code/Code.tsx","../../src/components/Button/BaseButton/getStyledBaseButtonStyles.ts","../../src/components/Button/BaseButton/StyledBaseButton.native.tsx","../../src/components/Button/BaseButton/buttonTokens.ts","../../src/components/LiveAnnouncer/LiveAnnouncer.native.tsx","../../src/components/Spinner/BaseSpinner/spinnerTokens.ts","../../src/components/Spinner/BaseSpinner/SpinnerIcon.tsx","../../src/components/Spinner/BaseSpinner/SpinningBox.native.tsx","../../src/components/Spinner/BaseSpinner/BaseSpinner.tsx","../../src/components/Button/BaseButton/BaseButton.tsx","../../src/components/Link/BaseLink/getStyledLinkStyles.ts","../../src/components/Link/BaseLink/StyledBaseLink.native.tsx","../../src/hooks/useInteraction.ts","../../src/components/Link/BaseLink/BaseLink.tsx","../../src/components/Alert/Alert.tsx","../../src/components/Badge/getStyledBadgeStyles.ts","../../src/components/Badge/StyledBadge.native.tsx","../../src/components/Badge/badgeTokens.ts","../../src/components/Badge/Badge.tsx","../../src/components/Card/CardSurface.native.tsx","../../src/components/Card/CardContext.tsx","../../src/components/Card/Card.tsx","../../src/components/Link/Link/Link.tsx","../../src/components/Button/Button/Button.tsx","../../src/components/Card/Divider.native.tsx","../../src/components/Counter/counterTokens.ts","../../src/components/Counter/getStyledCounterStyles.ts","../../src/components/Counter/StyledCounter.native.tsx","../../src/components/Counter/Counter.tsx","../../src/components/Card/CardHeader.tsx","../../src/components/Card/CardFooter.tsx","../../node_modules/lodash/isUndefined.js","../../src/components/Checkbox/CheckboxGroup/CheckboxGroupContext.ts","../../src/components/Checkbox/checkboxTokens.ts","../../src/components/Checkbox/CheckboxIcon/CheckboxIconWrapperStyles.ts","../../src/components/Checkbox/CheckboxIcon/CheckboxIconWrapper.native.tsx","../../src/components/Checkbox/CheckboxIcon/Fade.native.tsx","../../src/components/Checkbox/CheckboxIcon/CheckboxIcon.tsx","../../src/hooks/useControllable.ts","../../src/hooks/useIsomorphicLayoutEffect.ts","../../src/hooks/useId.ts","../../src/components/Form/useFormId.ts","../../src/components/Checkbox/useCheckbox.ts","../../src/components/Form/FormHintWrapper.native.tsx","../../src/components/Form/FormHint.tsx","../../src/components/VisuallyHidden/ScreenReaderStyles.ts","../../src/components/VisuallyHidden/VisuallyHidden.native.tsx","../../src/components/Form/FormLabel.tsx","../../src/components/Form/Selector/SelectorLabel.native.tsx","../../src/components/Form/Selector/SelectorTitle.tsx","../../src/components/Form/Selector/SelectorSupportText.tsx","../../src/components/Form/Selector/SelectorInput.native.tsx","../../src/components/Checkbox/Checkbox.tsx","../../src/components/Checkbox/CheckboxGroup/useCheckboxGroup.ts","../../src/components/Form/Selector/SelectorGroupField.tsx","../../src/components/Checkbox/CheckboxGroup/CheckboxGroup.tsx","../../src/components/Input/BaseInput/BaseInputVisuals.tsx","../../src/components/Typography/Text/getTextStyles.ts","../../src/components/Input/BaseInput/baseInputStyles.ts","../../src/components/Input/BaseInput/StyledBaseInput.native.tsx","../../src/components/Input/BaseInput/BaseInputAnimatedBorder.native.tsx","../../src/components/Input/BaseInput/BaseInputWrapper.tsx","../../src/components/Input/BaseInput/BaseInput.tsx","../../src/components/Form/CharacterCounter/CharacterCounter.tsx","../../src/components/Spinner/Spinner/Spinner.tsx","../../src/components/Input/TextInput/TextInput.tsx","../../src/components/Input/PasswordInput/PasswordInput.tsx","../../src/components/Input/TextArea/TextArea.tsx","../../src/components/Input/OTPInput/OTPInput.tsx","../../src/components/Icons/_Svg/Circle/Circle.native.tsx","../../src/components/Indicator/Indicator.tsx","../../node_modules/lodash/_baseClamp.js","../../node_modules/lodash/_trimmedEndIndex.js","../../node_modules/lodash/_baseTrim.js","../../node_modules/lodash/toNumber.js","../../node_modules/lodash/clamp.js","../../src/components/ProgressBar/progressBarTokens.ts","../../src/components/ProgressBar/ProgressBarFilled.native.tsx","../../src/components/ProgressBar/ProgressBar.tsx","../../src/components/Radio/useRadio.ts","../../src/components/Radio/radioTokens.ts","../../src/components/Radio/RadioIcon/RadioIconWrapperStyles.ts","../../src/components/Radio/RadioIcon/RadioIconWrapper.native.tsx","../../src/components/Radio/RadioIcon/Fade.native.tsx","../../src/components/Radio/RadioIcon/RadioIcon.tsx","../../src/components/Radio/RadioGroup/RadioContext.tsx","../../src/components/Radio/Radio.tsx","../../src/components/Radio/RadioGroup/useRadioGroup.ts","../../src/components/Radio/RadioGroup/RadioGroup.tsx","../../src/components/SkipNav/SkipNav.native.tsx"],"sourcesContent":["/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\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\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\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 != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\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 valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\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 array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var Symbol = require('./_Symbol');\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nmodule.exports = cloneSymbol;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var baseIsMap = require('./_baseIsMap'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nmodule.exports = isMap;\n","var baseIsSet = require('./_baseIsSet'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nmodule.exports = isSet;\n","const metaAttribute = (_name: string, _value: string): Record<string, string> => {\n return {};\n};\n\nexport { metaAttribute };\n","import { Appearance } from 'react-native';\nimport type { ColorSchemeNames, ColorSchemeNamesInput } from '~tokens/theme';\n\nexport const getColorScheme = (colorScheme: ColorSchemeNamesInput = 'light'): ColorSchemeNames => {\n // @TODO: convert this to hook as Appearance API also adds an eventListener which subscribes to the colorscheme changes on the device\n if (colorScheme === 'light' || colorScheme === 'dark') {\n return colorScheme;\n }\n\n if (colorScheme === 'system') {\n return Appearance.getColorScheme() ?? 'light';\n }\n\n return 'light';\n};\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\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) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nmodule.exports = isKey;\n","var MapCache = require('./_MapCache');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\nfunction memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n}\n\n// Expose `MapCache`.\nmemoize.Cache = MapCache;\n\nmodule.exports = memoize;\n","var memoize = require('./memoize');\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nmodule.exports = memoizeCapped;\n","var memoizeCapped = require('./_memoizeCapped');\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nmodule.exports = stringToPath;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nmodule.exports = arrayMap;\n","var Symbol = require('./_Symbol'),\n arrayMap = require('./_arrayMap'),\n isArray = require('./isArray'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\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 (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\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\nmodule.exports = baseToString;\n","var baseToString = require('./_baseToString');\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 convert.\n * @returns {string} Returns the converted 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\nmodule.exports = toString;\n","var isArray = require('./isArray'),\n isKey = require('./_isKey'),\n stringToPath = require('./_stringToPath'),\n toString = require('./toString');\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nmodule.exports = castPath;\n","var isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nmodule.exports = toKey;\n","var castPath = require('./_castPath'),\n toKey = require('./_toKey');\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nmodule.exports = baseGet;\n","var baseGet = require('./_baseGet');\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nmodule.exports = get;\n","export type PlatformTypes = 'browser' | 'node' | 'react-native' | 'unknown';\n\nexport const getPlatformType = (): PlatformTypes => {\n if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {\n return 'react-native';\n }\n\n if (typeof document !== 'undefined') {\n return 'browser';\n }\n\n if (typeof process !== 'undefined') {\n return 'node';\n }\n\n return 'unknown';\n};\n","var baseKeys = require('./_baseKeys'),\n getTag = require('./_getTag'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLike = require('./isArrayLike'),\n isBuffer = require('./isBuffer'),\n isPrototype = require('./_isPrototype'),\n isTypedArray = require('./isTypedArray');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n setTag = '[object Set]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\nfunction isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n}\n\nmodule.exports = isEmpty;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\n\n/**\n * A type defining React component with additional static prop `componentId`\n */\ntype WithComponentId<Props> = ((props: Props) => React.ReactElement) & {\n componentId: string;\n};\n\n/**\n * Gets the `componentId` prop of React component if it exists.\n */\nconst getComponentId = (component: React.ReactNode): string | null => {\n if (!React.isValidElement(component)) return null;\n return (component.type as any)?.componentId;\n};\n\n/**\n * Checks if the `component` matches the `componentId`\n */\nconst isValidAllowedChildren = (component: React.ReactNode, id: string): boolean => {\n return getComponentId(component) === id;\n};\n\nexport { isValidAllowedChildren, getComponentId, WithComponentId };\n","import type { AccessibilityMap } from './types';\n\nexport const accessibilityValue = {\n valueMax: 'max',\n valueMin: 'min',\n valueNow: 'now',\n valueText: 'text',\n};\n\nexport const accessibilityState = {\n selected: 'selected',\n disabled: 'disabled',\n expanded: 'expanded',\n busy: 'busy',\n checked: 'checked',\n};\n\nexport const accessibilityValueKeys = Object.keys(accessibilityValue);\nexport const accessibilityStateKeys = Object.keys(accessibilityState);\n\n// TODO:\n// accessibilityViewIsModal\nexport const accessibilityMap: AccessibilityMap = {\n ...accessibilityState,\n ...accessibilityValue,\n activeDescendant: 'accessibilityActiveDescendant',\n atomic: 'accessibilityAtomic',\n autoComplete: 'accessibilityAutoComplete',\n colCount: 'accessibilityColCount',\n colIndex: 'accessibilityColIndex',\n colSpan: 'accessibilityColSpan',\n controls: 'accessibilityControls',\n describedBy: 'accessibilityDescribedBy',\n details: 'accessibilityDetails',\n errorMessage: 'accessibilityErrorMessage',\n flowTo: 'accessibilityFlowTo',\n hasPopup: 'accessibilityHasPopup',\n hidden: 'accessibilityHidden',\n invalid: 'accessibilityInvalid',\n keyShortcuts: 'accessibilityKeyShortcuts',\n label: 'accessibilityLabel',\n labelledBy: 'accessibilityLabelledBy',\n liveRegion: 'accessibilityLiveRegion',\n modal: 'accessibilityModal',\n multiline: 'accessibilityMultiline',\n multiSelectable: 'accessibilityMultiSelectable',\n orientation: 'accessibilityOrientation',\n owns: 'accessibilityOwns',\n placeholder: 'accessibilityPlaceholder',\n posInSet: 'accessibilityPosInSet',\n pressed: 'accessibilityPressed',\n readOnly: 'accessibilityReadOnly',\n required: 'accessibilityRequired',\n role: 'accessibilityRole',\n roleDescription: 'accessibilityRoleDescription',\n rowCount: 'accessibilityRowCount',\n rowIndex: 'accessibilityRowIndex',\n rowSpan: 'accessibilityRowSpan',\n setSize: 'accessibilitySetSize',\n sort: 'accessibilitySort',\n current: 'accessibilityCurrent',\n dropEffect: 'accessibilityDropEffect',\n grabbed: 'accessibilityGrabbed',\n level: 'accessibilityLevel',\n relevant: 'accessibilityRelevant',\n};\n\nexport const accessibilityRoleMap = {\n alert: 'alert',\n button: 'button',\n checkbox: 'checkbox',\n combobox: 'combobox',\n image: 'image',\n link: 'link',\n menu: 'menu',\n menubar: 'menubar',\n menuitem: 'menuitem',\n progressbar: 'progressbar',\n radio: 'radio',\n radiogroup: 'radiogroup',\n scrollbar: 'scrollbar',\n search: 'search',\n spinbutton: 'spinbutton',\n switch: 'switch',\n tab: 'tab',\n tablist: 'tablist',\n timer: 'timer',\n togglebutton: 'togglebutton',\n toolbar: 'toolbar',\n heading: 'header',\n // mapped from web to native\n slider: 'adjustable',\n img: 'image',\n presentation: 'none',\n region: 'summary',\n imagebutton: 'imagebutton',\n keyboardkey: 'keyboardkey',\n label: 'label',\n text: 'text',\n meter: 'progressbar',\n};\n","/* eslint-disable guard-for-in */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport {\n accessibilityMap,\n accessibilityRoleMap,\n accessibilityStateKeys,\n accessibilityValueKeys,\n} from './accessibilityMapNative';\nimport type { AccessibilityMap, AccessibilityProps } from './types';\n\nexport const makeAccessible = (props: Partial<AccessibilityProps>): Record<string, unknown> => {\n const newProps: Record<string, any> = {};\n\n // loop through all the incoming props and map them\n for (const key in props) {\n const propKey = key as keyof AccessibilityMap;\n const propValue = props[propKey];\n const accessibilityAttribute = accessibilityMap[propKey];\n\n // group accesibilityState prop for native\n if (accessibilityStateKeys.includes(propKey)) {\n newProps.accessibilityState = {\n ...newProps.accessibilityState,\n [accessibilityAttribute]: propValue,\n };\n continue;\n }\n\n // group accesibilityValue prop for native\n if (accessibilityValueKeys.includes(propKey)) {\n newProps.accessibilityValue = {\n ...newProps.accessibilityValue,\n [accessibilityAttribute]: propValue,\n };\n continue;\n }\n\n // handle accessibilityHidden\n // in react-native we have 2 platform-specific values for it.\n if (propKey === 'hidden') {\n if (propValue === true) {\n newProps.accessibilityElementsHidden = true;\n newProps.importantForAccessibility = 'no-hide-descendants';\n }\n\n delete newProps.accessibilityHidden;\n continue;\n }\n\n if (accessibilityAttribute) {\n newProps[accessibilityAttribute] = propValue;\n } else {\n console.warn(\n `[Blade: makeAccessible]: No mapping found for ${propKey}. Make sure you have entered valid key`,\n );\n }\n }\n\n if (newProps.accessibilityRole) {\n // map web to native overlapping roles\n type Roles = keyof typeof accessibilityRoleMap;\n const role = accessibilityRoleMap[newProps.accessibilityRole as Roles];\n newProps.accessibilityRole = role;\n\n // ignore unsupported roles\n if (!role) {\n const validRoles = Object.keys(accessibilityRoleMap).join(', ');\n console.log(\n `[Blade: makeAccessible]: Unsupported accessibility role for react-native. Expected one of ${validRoles} but found ${\n props.role as string\n }`,\n );\n delete newProps.accessibilityRole;\n }\n }\n\n return newProps;\n};\n","import { Easing } from 'react-native-reanimated';\nimport type { EasingFunctionFactory } from 'react-native-reanimated';\n\nexport const makeBezier = (\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n): EasingFunctionFactory => {\n return Easing.bezier(x1, y1, x2, y2);\n};\n","export function makeBorderSize<T extends number>(size: T): `${T}px`;\nexport function makeBorderSize<T extends string>(size: T): T;\nexport function makeBorderSize<T extends number | string>(size: T): `${T}px` | T {\n if (typeof size === 'number') {\n return `${size}px`;\n }\n return size;\n}\n","import type { MakeMotionTime } from './types';\nimport type { Platform } from '~utils';\n\nexport const makeMotionTime = <T extends number>(\n time: T,\n): Platform.CastNative<MakeMotionTime<T>> => {\n return time;\n};\n","export type MakeSize<T extends number> = `${T}px`;\n\nexport const makeSize = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","export const makeSpace = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","export const makeTypographySize = <T extends number>(size: T): `${T}px` => {\n return `${size}px`;\n};\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an 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 an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","export const toTitleCase = (inputString: string): string =>\n inputString\n .toLowerCase()\n .split(' ')\n .map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n .join(' ');\n","/* eslint-disable @typescript-eslint/restrict-plus-operands */\nimport { useEffect, useState, useCallback, useMemo } from 'react';\nimport { getPlatformType } from '../getPlatformType';\nimport type { Breakpoints } from '~tokens/global';\n\nconst deviceType = {\n desktop: 'desktop',\n mobile: 'mobile',\n} as const;\n\ntype DeviceType = keyof typeof deviceType;\ntype Breakpoint = keyof Breakpoints | undefined;\n\ntype BreakpointAndDevice = {\n matchedBreakpoint: Breakpoint;\n matchedDeviceType: DeviceType;\n};\n\nexport const useBreakpoint = ({\n breakpoints,\n}: {\n breakpoints: Breakpoints;\n}): BreakpointAndDevice => {\n const supportsMatchMedia =\n typeof document !== 'undefined' &&\n typeof window !== 'undefined' &&\n typeof window?.matchMedia === 'function';\n\n const breakpointsTokenAndQueryCollection = useMemo(\n () =>\n (supportsMatchMedia\n ? Object.entries(breakpoints).map(([token, screenSize], index, breakpointsArray) => {\n let mediaQuery = '';\n\n if (token === 'max') {\n mediaQuery = `screen and (min-width: ${screenSize}px)`;\n } else if (breakpointsArray[index - 1]) {\n mediaQuery = `screen and (min-width: ${\n breakpointsArray[index - 1][1] + 1\n }px) and (max-width: ${screenSize}px)`;\n } else {\n mediaQuery = `screen and (max-width: ${screenSize}px)`;\n }\n\n return { token, screenSize, mediaQuery };\n })\n : []) as {\n token: keyof Breakpoints;\n screenSize: number;\n mediaQuery: string;\n }[],\n [breakpoints, supportsMatchMedia],\n );\n\n const getMatchedDeviceType = useCallback((matchedBreakpoint: Breakpoint): DeviceType => {\n let matchedDeviceType: DeviceType = deviceType.mobile;\n const platform = getPlatformType();\n if (platform === 'react-native') {\n matchedDeviceType = deviceType.mobile;\n } else if (platform === 'browser') {\n if (matchedBreakpoint && ['xs', 's', 'm'].includes(matchedBreakpoint)) {\n // tablet is also categorised as mobile\n matchedDeviceType = deviceType.mobile;\n } else {\n matchedDeviceType = deviceType.desktop;\n }\n } else if (platform === 'node') {\n //@TODO: Check for useragent for node\n matchedDeviceType = deviceType.desktop;\n }\n return matchedDeviceType;\n }, []);\n\n const getMatchedBreakpoint = useCallback(\n (event?: MediaQueryListEvent): Breakpoint => {\n const matchedBreakpoint =\n breakpointsTokenAndQueryCollection.find(({ mediaQuery = '' }) => {\n // this will run whenever mediaQuery change event is triggered\n if (event?.media === mediaQuery) {\n return true;\n }\n // this will run when the state is initialised for the first time and hence the event object will be empty so we'll fallback to browser's window object\n if (window.matchMedia(mediaQuery).matches) {\n return true;\n }\n return false;\n })?.token ?? undefined;\n\n return matchedBreakpoint;\n },\n [breakpointsTokenAndQueryCollection],\n );\n\n const [breakpointAndDevice, setBreakpointAndDevice] = useState(() => {\n const matchedBreakpoint = getMatchedBreakpoint();\n const matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);\n return {\n matchedBreakpoint,\n matchedDeviceType,\n };\n });\n\n useEffect(() => {\n if (!supportsMatchMedia) {\n return undefined;\n }\n\n const handleMediaQueryChange = (event: MediaQueryListEvent): void => {\n setBreakpointAndDevice(() => {\n const matchedBreakpoint = getMatchedBreakpoint(event);\n const matchedDeviceType = getMatchedDeviceType(matchedBreakpoint);\n\n return { matchedBreakpoint, matchedDeviceType };\n });\n };\n\n const mediaQueryInstances = breakpointsTokenAndQueryCollection.map(({ mediaQuery = '' }) => {\n const mediaQueryInstance = window.matchMedia(mediaQuery);\n /**\n * the mediaquery event listener is available on mediaQuery instances and not `window`\n * we iterate over all the breakpoints we have, register each instance and store them as `mediaQueryInstances` so we can later unregister all of them.\n */\n if (mediaQueryInstance.addEventListener) {\n mediaQueryInstance.addEventListener('change', handleMediaQueryChange);\n } else {\n // In older browsers MediaQueryList do not yet inherit from EventTarget, So using addListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/addListener\n mediaQueryInstance.addListener(handleMediaQueryChange);\n }\n return mediaQueryInstance;\n });\n\n return (): void => {\n mediaQueryInstances.forEach((mediaQueryInstance) => {\n if (mediaQueryInstance.removeEventListener) {\n mediaQueryInstance.removeEventListener('change', handleMediaQueryChange);\n } else {\n // In older browsers MediaQueryList do not yet inherit from EventTarget, So using removeListener as fallback - https://developer.mozilla.org/en-US/docs/Web/API/MediaQueryList/removeListener\n mediaQueryInstance.removeListener(handleMediaQueryChange);\n }\n });\n };\n }, [\n breakpointsTokenAndQueryCollection,\n getMatchedBreakpoint,\n getMatchedDeviceType,\n supportsMatchMedia,\n ]);\n\n // @TODO: handle SSR scenarios\n return breakpointAndDevice;\n};\n","import { Platform } from 'react-native';\nimport type { FontFamily } from './types';\n\nconst fontFamily: FontFamily = {\n text: 'Lato',\n code: Platform.OS === 'ios' ? 'Courier' : 'monospace',\n};\n\nexport default fontFamily;\n","import fontFamily from './fontFamily';\nimport type { FontFamily } from './fontFamily/types';\n\ntype FontWeight = {\n regular: 400;\n bold: 700;\n};\n\n/**\n * For font size and line-heights we can’t say from xl to 2xl the value will necessary increase.\n * it might decrease or remain same because these are alias tokens and we need aliases for cross platform.\n * so for example xl on mobile can be 32px and on desktop xl can be 34px,\n * similarly 2xl on mobile can be 34px but on desktop doesn’t necessarily mean 2xl will be more than xl(34px) it can be 32 as well since visually they make better hierarchy.\n */\n\nexport type FontSize = {\n /** desktop: 9(px/rem/pt)\n *\n * mobile: 10(px/rem/pt)\n */\n 10: number;\n /** desktop: 10(px/rem/pt)\n *\n * mobile: 11(px/rem/pt)\n */\n 25: number;\n /** desktop: 11(px/rem/pt)\n *\n * mobile: 11(px/rem/pt)\n */\n 50: number;\n /** desktop: 12(px/rem/pt)\n *\n * mobile: 12(px/rem/pt)\n */\n 75: number;\n /** desktop: 14(px/rem/pt)\n *\n * mobile: 15(px/rem/pt)\n */\n 100: number;\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 17(px/rem/pt)\n */\n 200: number;\n /** desktop: 18(px/rem/pt)\n *\n * mobile: 18(px/rem/pt)\n */\n 300: number;\n /** desktop: 20(px/rem/pt)\n *\n * mobile: 20(px/rem/pt)\n */\n 400: number;\n /** desktop: 22(px/rem/pt)\n *\n * mobile: 22(px/rem/pt)\n */\n 500: number;\n /** desktop: 25(px/rem/pt)\n *\n * mobile: 22(px/rem/pt)\n */\n 600: number;\n /** desktop: 28(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n 700: number;\n /** desktop: 32(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n 800: number;\n /** desktop: 36(px/rem/pt)\n *\n * mobile: 29(px/rem/pt)\n */\n 900: number;\n /** desktop: 40(px/rem/pt)\n *\n * mobile: 29(px/rem/pt)\n */\n 1000: number;\n};\n\nconst fontWeight: FontWeight = {\n regular: 400,\n bold: 700,\n};\n\nexport type Typography = {\n fonts: {\n family: FontFamily;\n size: FontSize;\n weight: FontWeight;\n };\n lineHeights: {\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 16(px/rem/pt)\n */\n s: number;\n /** desktop: 16(px/rem/pt)\n *\n * mobile: 18(px/rem/pt)\n */\n m: number;\n /** desktop: 20(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n l: number;\n /** desktop: 24(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n xl: number;\n /** desktop: 24(px/rem/pt)\n *\n * mobile: 24(px/rem/pt)\n */\n '2xl': number;\n /** desktop: 28(px/rem/pt)\n *\n * mobile: 28(px/rem/pt)\n */\n '3xl': number;\n /** desktop: 40(px/rem/pt)\n *\n * mobile: 32(px/rem/pt)\n */\n '4xl': number;\n /** desktop: 42(px/rem/pt)\n *\n * mobile: 30(px/rem/pt)\n */\n '5xl': number;\n /** desktop: 60(px/rem/pt)\n *\n * mobile: 40(px/rem/pt)\n */\n '6xl': number;\n };\n // letterSpacings: {};\n};\n\nexport type TypographyPlatforms = 'onDesktop' | 'onMobile';\n\nexport type TypographyWithPlatforms = Record<TypographyPlatforms, Typography>;\n\nconst typography: TypographyWithPlatforms = {\n onDesktop: {\n fonts: {\n family: {\n ...fontFamily,\n },\n size: {\n 10: 9,\n 25: 10,\n 50: 11,\n 75: 12,\n 100: 14,\n 200: 16,\n 300: 18,\n 400: 20,\n 500: 22,\n 600: 25,\n 700: 28,\n 800: 32,\n 900: 36,\n 1000: 40,\n },\n weight: {\n ...fontWeight,\n },\n },\n lineHeights: {\n s: 16,\n m: 16,\n l: 20,\n xl: 24,\n '2xl': 24,\n '3xl': 28,\n '4xl': 40,\n '5xl': 42,\n '6xl': 60,\n },\n // letterSpacings: {},\n },\n onMobile: {\n fonts: {\n family: {\n ...fontFamily,\n },\n size: {\n 10: 10,\n 25: 11,\n 50: 11,\n 75: 12,\n 100: 15,\n 200: 17,\n 300: 18,\n 400: 20,\n 500: 22,\n 600: 22,\n 700: 24,\n 800: 28,\n 900: 29,\n 1000: 29,\n },\n weight: {\n ...fontWeight,\n },\n },\n lineHeights: {\n s: 16,\n m: 18,\n l: 24,\n xl: 28,\n '2xl': 24,\n '3xl': 28,\n '4xl': 32,\n '5xl': 30,\n '6xl': 40,\n },\n // letterSpacings: {},\n },\n};\n\nexport default typography;\n","import type { DotNotationMotionStringToken } from '~src/_helpers/types';\nimport type { Platform } from '~utils';\nimport { makeBezier } from '~utils';\n\ntype Duration = {\n /** `70` milliseconds */\n '2xquick': 70;\n /** `150` milliseconds */\n xquick: 150;\n /** `200` milliseconds */\n quick: 200;\n /** `250` milliseconds */\n moderate: 250;\n /** `300` milliseconds */\n xmoderate: 300;\n /** `400` milliseconds */\n gentle: 400;\n /** `600` milliseconds */\n xgentle: 600;\n /** `900` milliseconds */\n '2xgentle': 900;\n};\n\ntype Delay = {\n /** `70` milliseconds */\n '2xshort': 70;\n /** `120` milliseconds */\n xshort: 120;\n /** `180` milliseconds */\n short: 180;\n /** `3000` milliseconds */\n long: 3000;\n /** `5000` milliseconds */\n xlong: 5000;\n};\n\nexport type EasingFunctionFactory = { factory: () => (value: number) => number }; // similar to EasingFunctionFactory of `react-native-reanimated`\ntype EasingType<Value extends string> = Platform.Select<{\n web: Value;\n native: EasingFunctionFactory;\n}>;\n\ntype Easing = {\n /** Easings for all standard animations*/\n standard: {\n /** `cubic-bezier(0.5, 0, 0.3, 1.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;\n /** `cubic-bezier(0.3, 0, 0.2, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0.3, 0, 0.2, 1)'>;\n /** `cubic-bezier(0.5, 0, 0, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0.5, 0, 0, 1)'>;\n /** `cubic-bezier(1, 0.5, 0, 0.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n wary: EasingType<'cubic-bezier(1, 0.5, 0, 0.5)'>;\n };\n /** Easings for all entrance animations*/\n entrance: {\n /** `cubic-bezier(0.5, 0, 0.3, 1.5)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.5, 0, 0.3, 1.5)'>;\n /** `cubic-bezier(0, 0, 0.2, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0, 0, 0.2, 1)'>;\n /** `cubic-bezier(0, 0, 0, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0, 0, 0, 1)'>;\n };\n /** Easings for all exit animations*/\n exit: {\n /** `cubic-bezier(0.7, 0, 0.5, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n attentive: EasingType<'cubic-bezier(0.7, 0, 0.5, 1)'>;\n /** `cubic-bezier(0.17, 0, 1, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n effective: EasingType<'cubic-bezier(0.17, 0, 1, 1)'>;\n /** `cubic-bezier(0.5, 0, 1, 1)`\n *\n * Returns a `string` of `\"cubic-bezier(...)\"` for web & react-native-reanimated's Easing Function of type `EasingFunctionFactory` for native */\n revealing: EasingType<'cubic-bezier(0.5, 0, 1, 1)'>;\n };\n};\n\nexport type Motion = Readonly<{\n delay: Delay;\n duration: Duration;\n easing: Easing;\n}>;\n\nexport type EasingString = `easing.${DotNotationMotionStringToken<Easing>}`;\nexport type DurationString = `duration.${keyof Duration}`;\nexport type DelayString = `delay.${keyof Delay}`;\n\nconst delay: Delay = {\n '2xshort': 70,\n xshort: 120,\n short: 180,\n long: 3000,\n xlong: 5000,\n};\n\nconst duration: Duration = {\n '2xquick': 70,\n xquick: 150,\n quick: 200,\n moderate: 250,\n xmoderate: 300,\n gentle: 400,\n xgentle: 600,\n '2xgentle': 900,\n};\n\n/* makeBezier returns a string of `cubic-bezier()` for web & a react-native-reanimated Easing Function of type `EasingFunctionFactory` for native */\nconst easing: Easing = {\n standard: {\n attentive: makeBezier(0.5, 0, 0.3, 1.5),\n effective: makeBezier(0.3, 0, 0.2, 1),\n revealing: makeBezier(0.5, 0, 0, 1),\n wary: makeBezier(1, 0.5, 0, 0.5),\n },\n entrance: {\n attentive: makeBezier(0.5, 0, 0.3, 1.5),\n effective: makeBezier(0, 0, 0.2, 1),\n revealing: makeBezier(0, 0, 0, 1),\n },\n exit: {\n attentive: makeBezier(0.7, 0, 0.5, 1),\n effective: makeBezier(0.17, 0, 1, 1),\n revealing: makeBezier(0.5, 0, 1, 1),\n },\n};\n\nconst motion: Motion = {\n delay,\n duration,\n easing,\n};\n\nexport default motion;\n","import type { ColorSchemeNamesInput } from './theme.d';\n\nexport { default as paymentTheme } from './paymentTheme';\nexport { default as bankingTheme } from './bankingTheme';\nexport { default as overrideTheme } from './overrideTheme';\nexport type {\n ColorSchemeNames,\n ColorSchemeNamesInput,\n Shadows,\n ColorsWithModes,\n ThemeTokens,\n} from './theme.d';\nexport const colorSchemeNamesInput: ColorSchemeNamesInput[] = ['light', 'dark', 'system'];\n","import { useState, useCallback } from 'react';\nimport { getColorScheme } from '../getColorScheme';\nimport { colorSchemeNamesInput } from '~tokens/theme';\nimport type { ColorSchemeNames, ColorSchemeNamesInput } from '~tokens/theme';\n\nexport type UseColorScheme = {\n colorScheme: ColorSchemeNames;\n setColorScheme: (colorScheme: ColorSchemeNamesInput) => void;\n};\n\nexport const useColorScheme = (\n initialColorScheme: ColorSchemeNamesInput = 'light',\n): UseColorScheme => {\n // if colorScheme defined use that else fallback to 'light'\n const [colorSchemeState, setColorSchemeState] = useState<ColorSchemeNames>(() =>\n getColorScheme(initialColorScheme),\n );\n\n const setColorScheme = useCallback(function setThemeMode(colorScheme: ColorSchemeNamesInput) {\n if (!colorSchemeNamesInput.includes(colorScheme)) {\n throw new Error(\n `[useColorScheme]: Expected color scheme to be one of [${colorSchemeNamesInput.toString()}] but received ${colorScheme}`,\n );\n }\n setColorSchemeState(getColorScheme(colorScheme));\n }, []);\n\n return {\n colorScheme: colorSchemeState,\n setColorScheme,\n };\n};\n","import type { MutableRefObject } from 'react';\nimport { useEffect, useRef } from 'react';\n\n/**\n * a type-safe version of the `usePrevious` hook described here:\n * @see {@link https://reactjs.org/docs/hooks-faq.html#how-to-get-the-previous-props-or-state}\n */\nexport function usePrevious<T>(value: T): MutableRefObject<T | undefined>['current'] {\n const ref = useRef<T>();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n}\n","import type { Platform } from '.';\n\n/**\n * @description\n *\n * Casts a Platform.Select<> type to web type\n *\n * @example\n *\n * ```ts\n * type Example = Platform.Select<{ web: string; native: number }>;\n *\n * const extractedWebType = castWebType('' as Example);\n * // ^ string\n * ```\n */\nconst castWebType = <T>(value: T): Platform.CastWeb<T> => {\n return value as Platform.CastWeb<typeof value>;\n};\n\n/**\n * @description\n *\n * Casts a Platform.Select<> type to native type\n *\n * @example\n *\n * ```ts\n * type Example = Platform.Select<{ web: string; native: number }>;\n *\n * const extractedNativeType = castNativeType('' as Example);\n * // ^ number\n * ```\n */\nconst castNativeType = <T>(value: T): Platform.CastNative<T> => {\n return value as Platform.CastNative<typeof value>;\n};\n\nexport { castWebType, castNativeType };\n","import type { CSSObject, StyledProps } from 'styled-components';\n\nimport type { StyledAlertProps } from './types';\nimport { makeBorderSize, makeSize, makeSpace } from '~utils';\n\nconst MAX_WIDTH = 584;\n\nexport const getCommonStyles = (props: StyledProps<StyledAlertProps>): CSSObject => {\n const { theme, contrastType, intent, isFullWidth, isDesktop } = props;\n\n const feedbackColors = theme.colors.feedback;\n\n return {\n background: feedbackColors.background[intent][contrastType],\n padding: isFullWidth\n ? `${makeSpace(theme.spacing[4])} ${makeSpace(theme.spacing[5])}`\n : `${makeSpace(theme.spacing[3])} ${makeSpace(theme.spacing[3])} ${makeSpace(\n theme.spacing[4],\n )} ${makeSpace(theme.spacing[3])}`,\n borderRadius: makeBorderSize(\n isFullWidth ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderColor: feedbackColors.border[intent][contrastType],\n borderWidth: makeBorderSize(isFullWidth ? theme.border.width.none : theme.border.width.thin),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n maxWidth: isFullWidth ? 'auto' : makeSize(MAX_WIDTH),\n alignItems: isFullWidth && isDesktop ? 'center' : 'flex-start',\n };\n};\n","import styled from 'styled-components/native';\nimport type { StyledAlertProps } from './types';\nimport { getCommonStyles } from './styles';\n\nexport const StyledAlert = styled.View<StyledAlertProps>(getCommonStyles);\n","import type { ReactElement } from 'react';\nimport { ClipPath as ClipPathNative } from 'react-native-svg';\nimport type { ClipPathProps } from './types';\n\nconst ClipPath = ({ children, id }: ClipPathProps): ReactElement => {\n return <ClipPathNative id={id}>{children}</ClipPathNative>;\n};\n\nexport default ClipPath;\n","import type { ReactElement } from 'react';\nimport { Defs as DefsNative } from 'react-native-svg';\nimport type { DefsProps } from './types';\n\nconst Defs = ({ children }: DefsProps): ReactElement => {\n return <DefsNative>{children}</DefsNative>;\n};\n\nexport default Defs;\n","import type { ReactElement } from 'react';\nimport { G as GNative } from 'react-native-svg';\nimport type { GProps } from './types';\n\nconst G = ({ clipPath, fill, children }: GProps): ReactElement => {\n return (\n <GNative clipPath={clipPath} fill={fill}>\n {children}\n </GNative>\n );\n};\n\nexport default G;\n","import type { ReactElement } from 'react';\nimport { Path as PathNative } from 'react-native-svg';\nimport type { Exact, PathProps } from './types';\n\nconst Path = <Props extends Exact<PathProps, Props>>({\n d,\n clipPath,\n clipRule,\n fill,\n fillOpacity,\n fillRule,\n stroke,\n strokeLinecap,\n strokeLinejoin,\n strokeWidth,\n}: Props): ReactElement => {\n return (\n <PathNative\n d={d}\n clipPath={clipPath}\n clipRule={clipRule}\n fill={fill}\n fillOpacity={fillOpacity}\n fillRule={fillRule}\n stroke={stroke}\n strokeLinecap={strokeLinecap}\n strokeLinejoin={strokeLinejoin}\n strokeWidth={strokeWidth}\n />\n );\n};\n\nexport default Path;\n","import type { ReactElement } from 'react';\nimport { Rect as RectNative } from 'react-native-svg';\nimport type { RectProps } from './types';\n\nconst Rect = ({ height, width, rx, ry, x, y }: RectProps): ReactElement => {\n return <RectNative height={height} width={width} rx={rx} ry={ry} x={x} y={y} />;\n};\n\nexport default Rect;\n","import type { ReactElement } from 'react';\nimport { Svg as SvgNative } from 'react-native-svg';\nimport type { SvgProps } from './types';\nimport { makeAccessible } from '~utils';\n\nconst Svg = ({ children, height, viewBox, width, fill }: SvgProps): ReactElement => {\n return (\n <SvgNative\n {...makeAccessible({ hidden: true })}\n height={height}\n viewBox={viewBox}\n width={width}\n fill={fill}\n >\n {children}\n </SvgNative>\n );\n};\n\nexport default Svg;\n","import { useContext, createContext } from 'react';\nimport type { UseColorScheme } from '../../utils/useColorScheme';\nimport type { TypographyPlatforms } from '../../tokens/global/typography';\nimport type { Theme } from './';\n\nexport type ThemeContext = UseColorScheme & {\n theme: Theme;\n platform: TypographyPlatforms;\n};\n\nexport const ThemeContext = createContext<ThemeContext>({\n // @ts-expect-error set null\n theme: null,\n colorScheme: 'light',\n platform: 'onDesktop',\n setColorScheme: () => null,\n});\n\nconst useTheme = (): ThemeContext => {\n const themeContext = useContext<ThemeContext>(ThemeContext);\n if (!themeContext.theme) {\n throw new Error(`[@razorpay/blade:BladeProvider]: BladeProvider is missing theme`);\n }\n if (themeContext === undefined) {\n throw new Error(`[@razorpay/blade:BladeProvider]: useTheme must be used within BladeProvider`);\n }\n return themeContext;\n};\n\nexport default useTheme;\n","import type { ReactNode, ReactElement } from 'react';\nimport { ThemeProvider as StyledComponentThemeProvider } from 'styled-components';\nimport { ThemeContext } from './useTheme';\nimport type { Theme } from './';\nimport { useColorScheme, toTitleCase, useBreakpoint } from '~utils';\nimport { colorSchemeNamesInput } from '~tokens/theme';\nimport type { TypographyPlatforms } from '~tokens/global/typography';\nimport type { ColorSchemeModes, ThemeTokens, ColorSchemeNamesInput } from '~tokens/theme/theme';\n\nexport type BladeProviderProps = {\n themeTokens: ThemeTokens;\n colorScheme?: ColorSchemeNamesInput;\n children: ReactNode;\n};\n\nconst BladeProvider = ({\n themeTokens,\n colorScheme: initialColorScheme,\n children,\n}: BladeProviderProps): ReactElement => {\n if (!themeTokens) {\n throw new Error(\n `[BladeProvider]: Expected valid themeTokens of type ThemeTokens to be passed but found ${typeof themeTokens}`,\n );\n }\n\n if (initialColorScheme && !colorSchemeNamesInput.includes(initialColorScheme)) {\n throw new Error(\n `[BladeProvider]: Expected color scheme to be one of [${colorSchemeNamesInput.toString()}] but received ${initialColorScheme}`,\n );\n }\n\n const { colorScheme, setColorScheme } = useColorScheme(initialColorScheme);\n const { matchedDeviceType } = useBreakpoint({\n breakpoints: themeTokens.breakpoints,\n });\n\n const onColorMode = `on${toTitleCase(colorScheme)}` as ColorSchemeModes;\n const onDeviceType = `on${toTitleCase(matchedDeviceType)}` as TypographyPlatforms;\n\n const theme: Theme = {\n ...themeTokens,\n colors: themeTokens.colors[onColorMode],\n shadows: {\n ...themeTokens.shadows,\n color: themeTokens.shadows.color[onColorMode],\n },\n typography: themeTokens.typography[onDeviceType],\n };\n\n const themeContextValue = {\n theme,\n colorScheme,\n setColorScheme,\n platform: onDeviceType,\n };\n\n return (\n <ThemeContext.Provider value={themeContextValue}>\n <StyledComponentThemeProvider theme={theme}>{children}</StyledComponentThemeProvider>\n </ThemeContext.Provider>\n );\n};\n\nexport default BladeProvider;\n","import get from 'lodash/get';\nimport type { IconProps } from '..';\nimport { useTheme } from '~components/BladeProvider';\nimport { makeSize } from '~utils';\n\nconst iconSize = {\n xsmall: 8,\n small: 12,\n medium: 16,\n large: 20,\n xlarge: 24,\n '2xlarge': 32,\n} as const;\n\nfunction useIconProps({\n size,\n color,\n}: IconProps): {\n height: `${typeof iconSize[keyof typeof iconSize]}px`;\n width: `${typeof iconSize[keyof typeof iconSize]}px`;\n iconColor: string;\n} {\n const { theme } = useTheme();\n const height = makeSize(iconSize[size]);\n const width = makeSize(iconSize[size]);\n const iconColor = color === 'currentColor' ? 'currentColor' : get(theme.colors, color, '');\n\n return { height, width, iconColor };\n}\n\nexport default useIconProps;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 4a1 1 0 1 0-2 0v13.586l-4.293-4.293a1 1 0 0 0-1.414 1.414l6 6a1 1 0 0 0 1.414 0l6-6a1 1 0 0 0-1.414-1.414L13 17.586V4Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowDownIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10.707 6.707a1 1 0 0 0-1.414-1.414l-6 6a1 1 0 0 0 0 1.414l6 6a1 1 0 0 0 1.414-1.414L6.414 13H20a1 1 0 1 0 0-2H6.414l4.293-4.293Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowLeftIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M14.707 5.293a1 1 0 1 0-1.414 1.414L17.586 11H4a1 1 0 1 0 0 2h13.586l-4.293 4.293a1 1 0 0 0 1.414 1.414l6-6a1 1 0 0 0 0-1.414l-6-6Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowUpRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M9 5a1 1 0 0 0 0 2h6.586L5.293 17.293a1 1 0 1 0 1.414 1.414L17 8.414V15a1 1 0 1 0 2 0V6a1 1 0 0 0-1-1H9Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowUpRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ArrowUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12.707 3.293a1 1 0 0 0-1.414 0l-6 6a1 1 0 0 0 1.414 1.414L11 6.414V20a1 1 0 1 0 2 0V6.414l4.293 4.293a1 1 0 0 0 1.414-1.414l-6-6Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ArrowUpIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CheckIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M20.7071 5.29289C21.0976 5.68342 21.0976 6.31658 20.7071 6.70711L9.70711 17.7071C9.31658 18.0976 8.68342 18.0976 8.29289 17.7071L3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929C3.68342 10.9024 4.31658 10.9024 4.70711 11.2929L9 15.5858L19.2929 5.29289C19.6834 4.90237 20.3166 4.90237 20.7071 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CheckIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.29289 8.29289C5.68342 7.90237 6.31658 7.90237 6.70711 8.29289L12 13.5858L17.2929 8.29289C17.6834 7.90237 18.3166 7.90237 18.7071 8.29289C19.0976 8.68342 19.0976 9.31658 18.7071 9.70711L12.7071 15.7071C12.3166 16.0976 11.6834 16.0976 11.2929 15.7071L5.29289 9.70711C4.90237 9.31658 4.90237 8.68342 5.29289 8.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronDownIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.7071 5.29289C16.0976 5.68342 16.0976 6.31658 15.7071 6.70711L10.4142 12L15.7071 17.2929C16.0976 17.6834 16.0976 18.3166 15.7071 18.7071C15.3166 19.0976 14.6834 19.0976 14.2929 18.7071L8.29289 12.7071C7.90237 12.3166 7.90237 11.6834 8.29289 11.2929L14.2929 5.29289C14.6834 4.90237 15.3166 4.90237 15.7071 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronLeftIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ChevronRightIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M8.29289 5.29289C8.68342 4.90237 9.31658 4.90237 9.70711 5.29289L15.7071 11.2929C16.0976 11.6834 16.0976 12.3166 15.7071 12.7071L9.70711 18.7071C9.31658 19.0976 8.68342 19.0976 8.29289 18.7071C7.90237 18.3166 7.90237 17.6834 8.29289 17.2929L13.5858 12L8.29289 6.70711C7.90237 6.31658 7.90237 5.68342 8.29289 5.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronRightIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '../';\nimport useIconProps from '../useIconProps';\n\nconst ChevronUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M11.2929 8.29289C11.6834 7.90237 12.3166 7.90237 12.7071 8.29289L18.7071 14.2929C19.0976 14.6834 19.0976 15.3166 18.7071 15.7071C18.3166 16.0976 17.6834 16.0976 17.2929 15.7071L12 10.4142L6.70711 15.7071C6.31658 16.0976 5.68342 16.0976 5.29289 15.7071C4.90237 15.3166 4.90237 14.6834 5.29289 14.2929L11.2929 8.29289Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ChevronUpIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ClockIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 6a1 1 0 1 0-2 0v6a1 1 0 0 0 .293.707l3 3a1 1 0 0 0 1.414-1.414L13 11.586V6Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 1C5.925 1 1 5.925 1 12s4.925 11 11 11 11-4.925 11-11S18.075 1 12 1ZM3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ClockIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CloseIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M18.7071 6.70711C19.0976 6.31658 19.0976 5.68342 18.7071 5.29289C18.3166 4.90237 17.6834 4.90237 17.2929 5.29289L12 10.5858L6.70711 5.29289C6.31658 4.90237 5.68342 4.90237 5.29289 5.29289C4.90237 5.68342 4.90237 6.31658 5.29289 6.70711L10.5858 12L5.29289 17.2929C4.90237 17.6834 4.90237 18.3166 5.29289 18.7071C5.68342 19.0976 6.31658 19.0976 6.70711 18.7071L12 13.4142L17.2929 18.7071C17.6834 19.0976 18.3166 19.0976 18.7071 18.7071C19.0976 18.3166 19.0976 17.6834 18.7071 17.2929L13.4142 12L18.7071 6.70711Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CloseIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CreditCardIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M3 3C1.34315 3 0 4.34315 0 6V18C0 19.6569 1.34314 21 3 21H21C22.6569 21 24 19.6569 24 18V6C24 4.34315 22.6569 3 21 3H3ZM22 9V6C22 5.44771 21.5523 5 21 5H3C2.44772 5 2 5.44772 2 6V9H22ZM2 11H22V18C22 18.5523 21.5523 19 21 19H3C2.44772 19 2 18.5523 2 18V11Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default CreditCardIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst DollarIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M11.3963 21L11.4488 3H12.6824L12.6299 21H11.3963ZM14.8609 8.58281C14.7909 7.91719 14.5022 7.40156 13.9948 7.03594C13.4873 6.66563 12.8486 6.48047 12.0787 6.48047C11.5276 6.48047 11.0507 6.57422 10.6483 6.76172C10.2458 6.94453 9.93307 7.19766 9.70997 7.52109C9.49125 7.83984 9.38189 8.20313 9.38189 8.61094C9.38189 8.95313 9.45626 9.24844 9.60499 9.49688C9.75809 9.74531 9.95713 9.95391 10.2021 10.1227C10.4514 10.2867 10.7183 10.425 11.0026 10.5375C11.287 10.6453 11.5604 10.7344 11.8228 10.8047L13.1352 11.1703C13.5639 11.2828 14.0035 11.4352 14.4541 11.6273C14.9046 11.8195 15.3224 12.0727 15.7073 12.3867C16.0923 12.7008 16.4029 13.0898 16.6391 13.5539C16.8797 14.018 17 14.5734 17 15.2203C17 16.0359 16.8032 16.7602 16.4094 17.393C16.0201 18.0258 15.4536 18.525 14.71 18.8906C13.9707 19.2563 13.0761 19.4391 12.0262 19.4391C11.0201 19.4391 10.1496 19.268 9.4147 18.9258C8.67979 18.5836 8.10455 18.0984 7.68898 17.4703C7.2734 16.8375 7.04374 16.0875 7 15.2203H9.03412C9.07349 15.7406 9.23097 16.1742 9.50656 16.5211C9.78653 16.8633 10.143 17.1188 10.5761 17.2875C11.0136 17.4516 11.4926 17.5336 12.0131 17.5336C12.5862 17.5336 13.0958 17.4375 13.542 17.2453C13.9926 17.0484 14.3469 16.7766 14.605 16.4297C14.8631 16.0781 14.9921 15.668 14.9921 15.1992C14.9921 14.7727 14.8784 14.4234 14.6509 14.1516C14.4278 13.8797 14.1238 13.6547 13.7388 13.4766C13.3583 13.2984 12.9274 13.1414 12.4462 13.0055L10.8583 12.5414C9.78215 12.2273 8.92913 11.7656 8.29921 11.1563C7.67367 10.5469 7.36089 9.74063 7.36089 8.7375C7.36089 7.90781 7.57087 7.18359 7.99081 6.56484C8.41076 5.94609 8.97944 5.46563 9.69685 5.12344C10.4143 4.77656 11.2235 4.60313 12.1247 4.60313C13.0346 4.60313 13.8373 4.77422 14.5328 5.11641C15.2327 5.45859 15.7839 5.92969 16.1864 6.52969C16.5888 7.125 16.7988 7.80938 16.8163 8.58281H14.8609Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default DollarIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst DownloadIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 2a1 1 0 1 0-2 0v11.586l-2.293-2.293a1 1 0 0 0-1.414 1.414l4 4 .007.007a.996.996 0 0 0 .697.286h.006c.272 0 .518-.11.697-.286l.008-.008 4-3.999a1 1 0 0 0-1.415-1.414L13 13.586V2Z\"\n fill={iconColor}\n />\n <Path\n d=\"M3 16a1 1 0 0 1 1 1v3a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-3a1 1 0 1 1 2 0v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3v-3a1 1 0 0 1 1-1Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default DownloadIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EditIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M15.293 2.293a1 1 0 0 1 1.414 0l5 5a1 1 0 0 1 0 1.414l-13 13A1 1 0 0 1 8 22H3a1 1 0 0 1-1-1v-5a1 1 0 0 1 .293-.707l13-13ZM4 16.414V20h3.586l12-12L16 4.414l-12 12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default EditIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EyeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 8C9.79086 8 8 9.79086 8 12C8 14.2091 9.79086 16 12 16C14.2091 16 16 14.2091 16 12C16 9.79086 14.2091 8 12 8ZM10 12C10 10.8954 10.8954 10 12 10C13.1046 10 14 10.8954 14 12C14 13.1046 13.1046 14 12 14C10.8954 14 10 13.1046 10 12Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 3C8.8711 3 6.22807 4.48937 4.23728 6.25113C2.24678 8.01264 0.822273 10.1194 0.105573 11.5528C-0.0351909 11.8343 -0.0351909 12.1657 0.105573 12.4472C0.822273 13.8806 2.24678 15.9874 4.23728 17.7489C6.22807 19.5106 8.8711 21 12 21C15.1289 21 17.7719 19.5106 19.7627 17.7489C21.7532 15.9874 23.1777 13.8806 23.8944 12.4472C24.0352 12.1657 24.0352 11.8343 23.8944 11.5528C23.1777 10.1194 21.7532 8.01264 19.7627 6.25113C17.7719 4.48937 15.1289 3 12 3ZM5.56272 16.2511C3.98954 14.8589 2.80913 13.2146 2.13142 12C2.80913 10.7854 3.98954 9.14106 5.56272 7.74887C7.3386 6.17729 9.5289 5 12 5C14.4711 5 16.6614 6.17729 18.4373 7.74887C20.0105 9.14106 21.1909 10.7854 21.8686 12C21.1909 13.2146 20.0105 14.8589 18.4373 16.2511C16.6614 17.8227 14.4711 19 12 19C9.5289 19 7.3386 17.8227 5.56272 16.2511Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default EyeIcon;\n","import { Svg, Path, G, ClipPath, Defs, Rect } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst EyeOffIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_186)\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L4.54852 5.96273C2.11768 8.23575 0.611157 10.5466 0.105573 11.5577C-0.0388552 11.8466 -0.0348927 12.1874 0.116212 12.4728C0.911795 13.9756 2.43155 16.1767 4.44905 17.9657C6.44912 19.7391 9.07199 21.2217 12.0463 21.0043C14.1054 20.965 16.1069 20.3524 17.8291 19.2433L22.2929 23.7071C22.6834 24.0976 23.3166 24.0976 23.7071 23.7071C24.0976 23.3166 24.0976 22.6834 23.7071 22.2929L1.70711 0.292893ZM16.3745 17.7888L14.0529 15.4671C13.137 16.0423 12.0118 16.2303 10.9354 15.9554C9.51816 15.5934 8.4115 14.4868 8.04956 13.0695C7.77466 11.9931 7.96267 10.8679 8.53787 9.95208L5.96358 7.3778C4.02162 9.18305 2.73293 11.0024 2.14239 12.0023C2.8992 13.3055 4.16865 15.044 5.77595 16.4692C7.59406 18.0814 9.71013 19.1781 11.9233 19.0079C11.9434 19.0063 11.9635 19.0054 11.9837 19.0051C13.5332 18.9797 15.0437 18.558 16.3745 17.7888ZM10.0291 11.4433C9.90866 11.8023 9.89029 12.1946 9.98736 12.5747C10.1683 13.2833 10.7217 13.8366 11.4303 14.0176C11.8104 14.1146 12.2026 14.0963 12.5616 13.9758L10.0291 11.4433ZM23.8777 11.5256C23.0808 10.0665 21.5613 7.9214 19.5476 6.15178C17.5484 4.3949 14.9387 2.90282 11.9828 3.00492C11.2049 3.00459 10.4296 3.09396 9.67209 3.27126C9.13434 3.39713 8.80045 3.93511 8.92632 4.47286C9.05219 5.0106 9.59016 5.3445 10.1279 5.21862C10.7408 5.07517 11.3682 5.00346 11.9977 5.00494C12.0107 5.00497 12.0238 5.00474 12.0369 5.00426C14.273 4.9217 16.4061 6.05356 18.2274 7.65411C19.8179 9.05181 21.0762 10.7264 21.8355 11.9857C21.6047 12.3498 21.3179 12.7884 21.0346 13.2066C20.8197 13.5237 20.6117 13.8221 20.4357 14.0622C20.2457 14.3213 20.1312 14.4595 20.0929 14.4978C19.7024 14.8884 19.7024 15.5215 20.0929 15.912C20.4834 16.3026 21.1166 16.3026 21.5071 15.912C21.6688 15.7504 21.8668 15.4927 22.0487 15.2446C22.2446 14.9774 22.4678 14.657 22.6904 14.3283C23.1344 13.6729 23.5951 12.9567 23.8575 12.5194C24.04 12.2152 24.0477 11.837 23.8777 11.5256Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_186\">\n <Rect width=\"100%\" height=\"100%\" fill=\"none\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default EyeOffIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst FileTextIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M5 11C4.44772 11 4 11.4477 4 12C4 12.5523 4.44772 13 5 13H13C13.5523 13 14 12.5523 14 12C14 11.4477 13.5523 11 13 11H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M4 16C4 15.4477 4.44772 15 5 15H13C13.5523 15 14 15.4477 14 16C14 16.5523 13.5523 17 13 17H5C4.44772 17 4 16.5523 4 16Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 7C4.44772 7 4 7.44772 4 8C4 8.55229 4.44772 9 5 9H7C7.55228 9 8 8.55229 8 8C8 7.44772 7.55228 7 7 7H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M0 3C0 1.34315 1.34315 0 3 0H11C11.2652 0 11.5196 0.105357 11.7071 0.292893L17.7071 6.29289C17.8946 6.48043 18 6.73478 18 7V19C18 20.6569 16.6569 22 15 22H3C1.34315 22 0 20.6569 0 19V3ZM3 2C2.44772 2 2 2.44772 2 3V19C2 19.5523 2.44772 20 3 20H15C15.5523 20 16 19.5523 16 19V8H11C10.4477 8 10 7.55228 10 7V2H3ZM12 3.41421L14.5858 6H12V3.41421Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default FileTextIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst HistoryIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M5.944 4.921a10 10 0 1 1-2.377 10.411 1 1 0 1 1 1.886-.664 8 8 0 1 0 1.872-8.3L4.475 9H8a1 1 0 1 1 0 2H2a1 1 0 0 1-1-1V4a1 1 0 1 1 2 0v3.64L5.944 4.92ZM12 6a1 1 0 0 1 1 1v5.586l2.707 2.707a1 1 0 0 1-1.414 1.414l-3-3A1 1 0 0 1 11 13V7a1 1 0 0 1 1-1Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HistoryIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst HomeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12.6139 1.21065C12.2528 0.929784 11.7472 0.929784 11.3861 1.21065L2.38606 8.21065C2.14247 8.4001 2 8.69141 2 9V20C2 21.6569 3.34315 23 5 23H19C20.6569 23 22 21.6569 22 20V9C22 8.69141 21.8575 8.4001 21.6139 8.21065L12.6139 1.21065ZM16 21H19C19.5523 21 20 20.5523 20 20V9.48908L12 3.26686L4 9.48908V20C4 20.5523 4.44772 21 5 21H8V12C8 11.4477 8.44772 11 9 11H15C15.5523 11 16 11.4477 16 12V21ZM10 21V13H14V21H10Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HomeIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst InfoIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 11C12.5523 11 13 11.4477 13 12V16C13 16.5523 12.5523 17 12 17C11.4477 17 11 16.5523 11 16V12C11 11.4477 11.4477 11 12 11Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9H12.01C12.5623 9 13.01 8.55228 13.01 8C13.01 7.44772 12.5623 7 12.01 7H12Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default InfoIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst LinkIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 22 22\" fill=\"none\">\n <Path\n d=\"M20.1863 1.82377C17.8719 -0.490636 14.1296 -0.523155 11.7753 1.75068L11.765 1.7608L10.045 3.4708C9.65336 3.86019 9.65151 4.49335 10.0409 4.88501C10.4303 5.27667 11.0634 5.27852 11.4551 4.88913L13.1697 3.18451C14.7395 1.67341 17.2307 1.69666 18.772 3.23798C20.313 4.77898 20.3366 7.26948 18.8265 8.83934L15.833 11.8329C15.0124 12.6537 13.8758 13.0778 12.7181 12.9949C11.5605 12.9119 10.496 12.3303 9.80083 11.401C9.47002 10.9587 8.84333 10.8684 8.40108 11.1992C7.95883 11.53 7.86849 12.1567 8.1993 12.5989C9.24204 13.993 10.8388 14.8654 12.5753 14.9897C14.3117 15.1141 16.0165 14.4782 17.2473 13.2469L20.2472 10.2471L20.2593 10.2347C22.5332 7.8804 22.5007 4.13817 20.1863 1.82377Z\"\n fill={iconColor}\n />\n <Path\n d=\"M9.42474 7.01016C7.68837 6.8858 5.9836 7.52171 4.75285 8.75283L1.75285 11.7528L1.74067 11.7652C-0.533165 14.1195 -0.500646 17.8617 1.81376 20.1761C4.12816 22.4905 7.8704 22.5231 10.2247 20.2492L10.2371 20.237L11.9471 18.527C12.3376 18.1365 12.3376 17.5034 11.9471 17.1128C11.5565 16.7223 10.9234 16.7223 10.5329 17.1128L8.82933 18.8164C7.25947 20.3265 4.76897 20.3029 3.22797 18.7619C1.68697 17.2209 1.66341 14.7304 3.17354 13.1606L6.16719 10.1669C6.9877 9.34611 8.12425 8.92214 9.28187 9.00505C10.4395 9.08796 11.504 9.66956 12.1992 10.5989C12.53 11.0412 13.1567 11.1315 13.5989 10.8007C14.0412 10.4699 14.1315 9.84321 13.8007 9.40096C12.758 8.00693 11.1612 7.13452 9.42474 7.01016Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default LinkIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst LockIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 10V7C6 3.68629 8.68629 1 12 1C15.3137 1 18 3.68629 18 7V10H19C20.6569 10 22 11.3431 22 13V20C22 21.6569 20.6569 23 19 23H5C3.34315 23 2 21.6569 2 20V13C2 11.3431 3.34315 10 5 10H6ZM8 7C8 4.79086 9.79086 3 12 3C14.2091 3 16 4.79086 16 7V10H8V7ZM5 12C4.44772 12 4 12.4477 4 13V20C4 20.5523 4.44772 21 5 21H19C19.5523 21 20 20.5523 20 20V13C20 12.4477 19.5523 12 19 12H5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default LockIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst PauseIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H6Zm1 16V5h2v14H7ZM14 3a1 1 0 0 0-1 1v16a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4Zm1 16V5h2v14h-2Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default PauseIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst PlusIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M13 5a1 1 0 1 0-2 0v6H5a1 1 0 1 0 0 2h6v6a1 1 0 1 0 2 0v-6h6a1 1 0 1 0 0-2h-6V5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default PlusIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst RupeeIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M17 7.78125L16.5015 9.59375H7L7.49853 7.78125H17ZM12.5425 20L7.17595 13L7.14663 11.6875H9.81525C10.5093 11.6875 11.1007 11.5833 11.5894 11.375C12.0782 11.1615 12.4521 10.8437 12.7111 10.4219C12.9702 9.99479 13.0997 9.45833 13.0997 8.8125C13.0997 7.85937 12.8309 7.11198 12.2933 6.57031C11.7556 6.02344 10.9296 5.75 9.81525 5.75H7L7.49853 4H9.81525C11.0078 4 11.9853 4.21094 12.7478 4.63281C13.5152 5.04948 14.0821 5.6224 14.4487 6.35156C14.8201 7.07552 15.0059 7.89583 15.0059 8.8125C15.0059 9.64062 14.8348 10.4036 14.4927 11.1016C14.1554 11.7943 13.6129 12.3516 12.8651 12.7734C12.1222 13.1953 11.1398 13.4062 9.91789 13.4062H9.8739L14.8299 19.875V20H12.5425ZM17 4L16.5015 5.8125L9.02346 5.75L9.52199 4H17Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RupeeIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst SearchIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M16.618 18.032a9 9 0 1 1 1.414-1.414l3.675 3.675a1 1 0 0 1-1.414 1.414l-3.675-3.675ZM4 11a7 7 0 1 1 12.041 4.857 1.009 1.009 0 0 0-.185.184A7 7 0 0 1 4 11Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SearchIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst SettingsIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M8 12C8 9.79086 9.79086 8 12 8C14.2091 8 16 9.79086 16 12C16 14.2091 14.2091 16 12 16C9.79086 16 8 14.2091 8 12ZM12 10C10.8954 10 10 10.8954 10 12C10 13.1046 10.8954 14 12 14C13.1046 14 14 13.1046 14 12C14 10.8954 13.1046 10 12 10Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 2C11.4477 2 11 2.44772 11 3V3.17399C10.9958 4.2302 10.3647 5.18306 9.39393 5.59914C9.30943 5.63535 9.22054 5.65966 9.1298 5.67154C8.18476 6.00287 7.12514 5.77346 6.40073 5.06486L6.39285 5.05715L6.33289 4.99711C6.14533 4.80933 5.89041 4.70343 5.625 4.70343C5.35959 4.70343 5.10507 4.80894 4.9175 4.99671L4.91671 4.9975C4.72894 5.18507 4.62343 5.43959 4.62343 5.705C4.62343 5.97041 4.72894 6.22493 4.91671 6.4125L4.98491 6.48069C5.73506 7.24758 5.94813 8.39018 5.52745 9.37478C5.14428 10.3797 4.19067 11.0545 3.11338 11.0797L3.09 11.08H3C2.44772 11.08 2 11.5277 2 12.08C2 12.6323 2.44772 13.08 3 13.08H3.17399C4.22841 13.0842 5.17982 13.7131 5.59701 14.6811C6.03158 15.6711 5.82114 16.8261 5.06486 17.5993L5.05715 17.6071L4.99711 17.6671C4.80933 17.8547 4.70343 18.1096 4.70343 18.375C4.70343 18.6404 4.80894 18.8949 4.99671 19.0825L4.9975 19.0833C5.18507 19.2711 5.43959 19.3766 5.705 19.3766C5.97041 19.3766 6.22493 19.2711 6.4125 19.0833L6.48069 19.0151C7.24757 18.2649 8.39018 18.0519 9.37477 18.4725C10.3797 18.8557 11.0545 19.8093 11.0797 20.8866L11.08 20.91V21C11.08 21.5523 11.5277 22 12.08 22C12.6323 22 13.08 21.5523 13.08 21V20.83L13.08 20.826C13.0842 19.7716 13.7132 18.8201 14.6812 18.4029C15.6712 17.9684 16.8261 18.1789 17.5993 18.9351L17.6071 18.9428L17.6671 19.0029C17.8547 19.1907 18.1096 19.2966 18.375 19.2966C18.6404 19.2966 18.8949 19.1911 19.0825 19.0033L19.0833 19.0025C19.2711 18.8149 19.3766 18.5604 19.3766 18.295C19.3766 18.0296 19.2711 17.7751 19.0833 17.5875L19.0151 17.5193C18.2588 16.7462 18.0484 15.5912 18.4829 14.6012C18.9001 13.6332 19.8516 13.0042 20.906 13L20.91 13L21 13C21.5523 13 22 12.5523 22 12C22 11.4477 21.5523 11 21 11H20.83L20.826 11C19.7698 10.9958 18.8169 10.3647 18.4009 9.39393C18.3646 9.30943 18.3403 9.22054 18.3285 9.1298C17.9971 8.18476 18.2265 7.12514 18.9351 6.40073L18.9428 6.39285L19.0029 6.3329C19.1907 6.14533 19.2966 5.89041 19.2966 5.625C19.2966 5.35959 19.1911 5.10507 19.0033 4.9175L19.0025 4.91671C18.8149 4.72894 18.5604 4.62343 18.295 4.62343C18.0296 4.62343 17.7751 4.72894 17.5875 4.91671L17.5193 4.98491C16.7462 5.74119 15.5911 5.95158 14.6011 5.51701C13.6331 5.09982 13.0042 4.14841 13 3.09399L13 3.09V3C13 2.44772 12.5523 2 12 2ZM9 3C9 1.34315 10.3431 0 12 0C13.6569 0 15 1.34315 15 3V3.0875C15.0016 3.34598 15.1563 3.579 15.3939 3.68086L15.4038 3.68508C15.6456 3.7918 15.9277 3.74149 16.1177 3.55811L16.1725 3.50329C16.7352 2.93996 17.4988 2.62343 18.295 2.62343C19.0912 2.62343 19.8548 2.93996 20.4175 3.50329C20.9803 4.06592 21.2966 4.82914 21.2966 5.625C21.2966 6.42104 20.9802 7.18444 20.4171 7.7471L20.3619 7.80231C20.1785 7.99225 20.1281 8.27444 20.2349 8.51624C20.2631 8.58029 20.2845 8.64696 20.2988 8.71513C20.4175 8.88998 20.6161 8.99864 20.8325 9H21C22.6569 9 24 10.3431 24 12C24 13.6569 22.6569 15 21 15H20.9125C20.654 15.0016 20.421 15.1563 20.3191 15.3939L20.3149 15.4038C20.2082 15.6456 20.2585 15.9277 20.4419 16.1177L20.4967 16.1725C21.0598 16.7352 21.3766 17.499 21.3766 18.295C21.3766 19.091 21.0602 19.8544 20.4971 20.4171C19.9344 20.9802 19.171 21.2966 18.375 21.2966C17.579 21.2966 16.8156 20.9802 16.2529 20.4171L16.1977 20.3619C16.0077 20.1785 15.7256 20.1282 15.4838 20.2349L15.474 20.2392C15.2363 20.3411 15.0816 20.574 15.08 20.8325V21C15.08 22.6569 13.7369 24 12.08 24C10.4231 24 9.08 22.6569 9.08 21V20.9244C9.07021 20.6612 8.90248 20.4296 8.65482 20.3385C8.63505 20.3313 8.61551 20.3234 8.59624 20.3149C8.35443 20.2081 8.07224 20.2585 7.8823 20.4419L7.8275 20.4967C7.26483 21.0598 6.50105 21.3766 5.705 21.3766C4.90914 21.3766 4.14592 21.0603 3.58329 20.4975C3.01996 19.9348 2.70343 19.1712 2.70343 18.375C2.70343 17.5788 3.01996 16.8152 3.58329 16.2525L3.63811 16.1977C3.82149 16.0077 3.87185 15.7256 3.76514 15.4838L3.76081 15.474C3.65895 15.2363 3.42598 15.0816 3.1675 15.08H3C1.34315 15.08 0 13.7369 0 12.08C0 10.4231 1.34315 9.08 3 9.08H3.07565C3.33875 9.07021 3.57038 8.90248 3.66146 8.65482C3.66874 8.63505 3.67663 8.61551 3.68514 8.59624C3.79185 8.35444 3.74149 8.07225 3.5581 7.88231L3.50329 7.8275C2.93996 7.2648 2.62343 6.50123 2.62343 5.705C2.62343 4.90896 2.93981 4.14556 3.50289 3.58289C4.06556 3.01981 4.82896 2.70343 5.625 2.70343C6.42123 2.70343 7.1848 3.01996 7.7475 3.58329L7.80231 3.6381C7.99225 3.82149 8.27444 3.87185 8.51624 3.76514C8.5803 3.73687 8.64697 3.71548 8.71514 3.70121C8.88999 3.58253 8.99864 3.38394 9 3.1675V3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SettingsIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst SlashIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM6.38231 4.9681C7.92199 3.73647 9.87499 3 12 3C16.9706 3 21 7.02944 21 12C21 14.125 20.2635 16.078 19.0319 17.6177L6.38231 4.9681ZM4.9681 6.38231C3.73647 7.92199 3 9.87499 3 12C3 16.9706 7.02944 21 12 21C14.125 21 16.078 20.2635 17.6177 19.0319L4.9681 6.38231Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SlashIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst BankIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M5.105 10.429a1 1 0 0 0-1 1v5.333a1 1 0 0 0 1 1h1.158a1 1 0 0 0 1-1v-5.333a1 1 0 0 0-1-1H5.105Zm6.316 0a1 1 0 0 0-1 1v5.333a1 1 0 0 0 1 1h1.158a1 1 0 0 0 1-1v-5.333a1 1 0 0 0-1-1H11.42ZM2 22a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-1.143a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1V22Zm15.737-11.571a1 1 0 0 0-1 1v5.333a1 1 0 0 0 1 1h1.158a1 1 0 0 0 1-1v-5.333a1 1 0 0 0-1-1h-1.158Zm-5.273-9.186a1 1 0 0 0-.928 0l-9 4.714A1 1 0 0 0 2 6.843v.49a1 1 0 0 0 1 1h18a1 1 0 0 0 1-1v-.49a1 1 0 0 0-.536-.886l-9-4.714Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default BankIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst TrashIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10 10a1 1 0 0 1 1 1v6a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1ZM15 11a1 1 0 1 0-2 0v6a1 1 0 1 0 2 0v-6Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7 5V4a3 3 0 0 1 3-3h4a3 3 0 0 1 3 3v1h4a1 1 0 1 1 0 2h-1v13a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7H3a1 1 0 0 1 0-2h4Zm2-1a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1H9V4Zm9 3v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7h12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default TrashIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst AlertTriangleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 8.10275C12.5523 8.10275 13 8.55047 13 9.10275V13.1028C13 13.655 12.5523 14.1028 12 14.1028C11.4477 14.1028 11 13.655 11 13.1028V9.10275C11 8.55047 11.4477 8.10275 12 8.10275Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 18.1028C12.5523 18.1028 13 17.655 13 17.1028C13 16.5505 12.5523 16.1028 12 16.1028C11.4477 16.1028 11 16.5505 11 17.1028C11 17.655 11.4477 18.1028 12 18.1028Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M9.43502 3.44412C9.97887 2.54754 10.9514 2 12 2C13.0486 2 14.0212 2.54754 14.565 3.44412L14.5679 3.44886L23.0379 17.5889L23.046 17.6027C23.5791 18.5258 23.5822 19.6624 23.0544 20.5885C22.5265 21.5145 21.5469 22.091 20.481 22.1027L20.47 22.1028L3.51903 22.1027C2.45315 22.091 1.47353 21.5145 0.94567 20.5885C0.41781 19.6624 0.420993 18.5258 0.95403 17.6027L0.962153 17.5889L9.43502 3.44412ZM11.1462 4.47938L2.6827 18.6086C2.50833 18.9152 2.50837 19.2913 2.68322 19.5981C2.85842 19.9054 3.1829 20.0972 3.53642 20.1027H20.4636C20.8171 20.0972 21.1416 19.9054 21.3168 19.5981C21.4917 19.2913 21.4917 18.9153 21.3174 18.6086L12.855 4.48137L12.8538 4.47938C12.6723 4.1817 12.3488 4 12 4C11.6513 4 11.3277 4.1817 11.1462 4.47938Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default AlertTriangleIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst AlertTriangleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12 7C12.5523 7 13 7.44772 13 8V12C13 12.5523 12.5523 13 12 13C11.4477 13 11 12.5523 11 12V8C11 7.44772 11.4477 7 12 7Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M7.15289 1.29289C7.33386 1.11193 7.58386 1 7.86 1H16.14C16.4052 1 16.6596 1.10536 16.8471 1.29289L22.7071 7.15289C22.8946 7.34043 23 7.59478 23 7.86V16.14C23 16.4052 22.8946 16.6596 22.7071 16.8471L16.8471 22.7071C16.6596 22.8946 16.4052 23 16.14 23H7.86C7.59478 23 7.34043 22.8946 7.15289 22.7071L1.29289 16.8471C1.10536 16.6596 1 16.4052 1 16.14V7.86C1 7.59478 1.10536 7.34043 1.29289 7.15289L7.15289 1.29289ZM8.27421 3L3 8.27421V15.7258L8.27421 21H15.7258L21 15.7258V8.27421L15.7258 3H8.27421Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default AlertTriangleIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path, G, Defs, ClipPath, Rect } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst CheckCircleIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_208)\">\n <Path\n d=\"M4.15845 7.14679C6.74812 4.11688 11.0222 3.1512 14.663 4.77343C15.1675 4.99821 15.7586 4.77147 15.9834 4.267C16.2082 3.76253 15.9815 3.17135 15.477 2.94657C11.0272 0.96385 5.80325 2.14413 2.6381 5.84735C-0.527049 9.55057 -0.879431 14.8946 1.77205 18.9813C4.42353 23.0681 9.44725 24.9241 14.1189 23.5429C18.7905 22.1616 21.9972 17.8716 22 13V12.07C22 11.5177 21.5523 11.07 21 11.07C20.4477 11.07 20 11.5177 20 12.07V12.9994C19.9977 16.9852 17.3741 20.4948 13.5518 21.6249C9.72957 22.7551 5.61926 21.2365 3.44986 17.8928C1.28047 14.5491 1.56878 10.1767 4.15845 7.14679Z\"\n fill={iconColor}\n />\n <Path\n d=\"M22.7071 4.70711C23.0976 4.31658 23.0976 3.68342 22.7071 3.29289C22.3166 2.90237 21.6834 2.90237 21.2929 3.29289L11 13.5858L8.70711 11.2929C8.31658 10.9024 7.68342 10.9024 7.29289 11.2929C6.90237 11.6834 6.90237 12.3166 7.29289 12.7071L10.2929 15.7071C10.6834 16.0976 11.3166 16.0976 11.7071 15.7071L22.7071 4.70711Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_208\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default CheckCircleIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst RefreshLeftIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M10.229 4.2a8 8 0 0 1 7.446 2.169L20.525 9H17a1 1 0 1 0 0 2h6a1 1 0 0 0 1-1V4a1 1 0 1 0-2 0v3.64l-2.944-2.718A10 10 0 0 0 2.567 8.666a1 1 0 0 0 1.886.668A8 8 0 0 1 10.229 4.2ZM2 16.36V20a1 1 0 1 1-2 0v-6a1 1 0 0 1 1-1h6a1 1 0 1 1 0 2H3.474l2.85 2.631a8 8 0 0 0 13.223-2.965 1 1 0 0 1 1.886.668 10 10 0 0 1-16.489 3.744L2 16.361Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RefreshLeftIcon;\n","import type { ReactElement } from 'react';\nimport { Svg, Path } from '../_Svg';\nimport type { IconProps } from '..';\nimport useIconProps from '../useIconProps';\n\nconst MinusIcon = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M4 12C4 11.4477 4.44772 11 5 11H19C19.5523 11 20 11.4477 20 12C20 12.5523 19.5523 13 19 13H5C4.44772 13 4 12.5523 4 12Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default MinusIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst RotateCounterClockWiseIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M17.8366 3.25759C13.9432 1.10528 9.09681 1.784 5.94449 4.92134L3 7.63918V4C3 3.44772 2.55228 3 2 3C1.44772 3 1 3.44772 1 4V10C1 10.5523 1.44772 11 2 11H8C8.55228 11 9 10.5523 9 10C9 9.44772 8.55228 9 8 9H4.47426L7.32478 6.36875C7.33213 6.36185 7.33937 6.35483 7.34651 6.34771C9.86814 3.83034 13.7507 3.28409 16.869 5.00794C19.9874 6.7318 21.5898 10.3102 20.7992 13.7845C20.0085 17.2588 17.0155 19.7914 13.4583 19.9961C9.90104 20.2009 6.63718 18.0283 5.45318 14.6677C5.26966 14.1468 4.69861 13.8733 4.17771 14.0568C3.65681 14.2403 3.38331 14.8114 3.56683 15.3323C5.04683 19.5331 9.12665 22.2487 13.5732 21.9928C18.0197 21.7369 21.761 18.5711 22.7493 14.2283C23.7376 9.8854 21.7346 5.41241 17.8366 3.25759Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default RotateCounterClockWiseIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { G, Path, Svg, Defs, Rect, ClipPath } from '../_Svg';\n\nconst TrendingUpIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_147)\">\n <Path\n d=\"M17 5C16.4477 5 16 5.44772 16 6C16 6.55228 16.4477 7 17 7H20.5858L13.5 14.0858L9.20711 9.79289C8.81658 9.40237 8.18342 9.40237 7.79289 9.79289L0.292893 17.2929C-0.0976311 17.6834 -0.0976311 18.3166 0.292893 18.7071C0.683417 19.0976 1.31658 19.0976 1.70711 18.7071L8.5 11.9142L12.7929 16.2071C13.1834 16.5976 13.8166 16.5976 14.2071 16.2071L22 8.41421V12C22 12.5523 22.4477 13 23 13C23.5523 13 24 12.5523 24 12V6C24 5.44772 23.5523 5 23 5H17Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_147\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default TrendingUpIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { G, Path, Svg, Defs, ClipPath, Rect } from '../_Svg';\n\nconst TrendingDownIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <G clipPath=\"url(#clip0_60_218)\">\n <Path\n d=\"M1.70711 5.29289C1.31658 4.90237 0.683417 4.90237 0.292893 5.29289C-0.0976311 5.68342 -0.0976311 6.31658 0.292893 6.70711L7.79289 14.2071C8.18342 14.5976 8.81658 14.5976 9.20711 14.2071L13.5 9.91421L20.5858 17H17C16.4477 17 16 17.4477 16 18C16 18.5523 16.4477 19 17 19H22.9993C23.0003 19 23.002 19 23.003 19C23.1375 18.9996 23.2657 18.9727 23.3828 18.9241C23.5007 18.8753 23.6112 18.803 23.7071 18.7071C23.8902 18.524 23.9874 18.2877 23.9989 18.048C23.9996 18.032 24 18.016 24 18C24 17.9997 24 18.0003 24 18V12C24 11.4477 23.5523 11 23 11C22.4477 11 22 11.4477 22 12V15.5858L14.2071 7.79289C13.8166 7.40237 13.1834 7.40237 12.7929 7.79289L8.5 12.0858L1.70711 5.29289Z\"\n fill={iconColor}\n />\n </G>\n <Defs>\n <ClipPath id=\"clip0_60_218\">\n <Rect width=\"24\" height=\"24\" fill=\"white\" />\n </ClipPath>\n </Defs>\n </Svg>\n );\n};\n\nexport default TrendingDownIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Svg, Path } from '../_Svg';\n\nconst UsersIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M9 0C6.23858 0 4 2.23858 4 5C4 7.76142 6.23858 10 9 10C11.7614 10 14 7.76142 14 5C14 2.23858 11.7614 0 9 0ZM6 5C6 3.34315 7.34315 2 9 2C10.6569 2 12 3.34315 12 5C12 6.65685 10.6569 8 9 8C7.34315 8 6 6.65685 6 5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 12C2.23858 12 0 14.2386 0 17V19C0 19.5523 0.447715 20 1 20C1.55228 20 2 19.5523 2 19V17C2 15.3431 3.34315 14 5 14H13C14.6569 14 16 15.3431 16 17V19C16 19.5523 16.4477 20 17 20C17.5523 20 18 19.5523 18 19V17C18 14.2386 15.7614 12 13 12H5Z\"\n fill={iconColor}\n />\n <Path\n d=\"M19.0318 12.88C19.1698 12.3453 19.7153 12.0237 20.25 12.1618C22.4562 12.7314 23.9983 14.7207 24 16.9993V19C24 19.5523 23.5523 20 23 20C22.4477 20 22 19.5523 22 19V17.0007C21.9988 15.6337 21.0737 14.44 19.75 14.0982C19.2153 13.9602 18.8937 13.4148 19.0318 12.88Z\"\n fill={iconColor}\n />\n <Path\n d=\"M16.248 0.161251C15.713 0.0242632 15.1682 0.346936 15.0312 0.881962C14.8943 1.41699 15.2169 1.96176 15.752 2.09875C17.0794 2.43863 18.0078 3.63474 18.0078 5.005C18.0078 6.37526 17.0794 7.57137 15.752 7.91125C15.2169 8.04824 14.8943 8.59301 15.0312 9.12804C15.1682 9.66307 15.713 9.98574 16.248 9.84875C18.4604 9.28229 20.0078 7.28876 20.0078 5.005C20.0078 2.72124 18.4604 0.727714 16.248 0.161251Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default UsersIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst HelpCircleIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M12.2581 8.02434C11.2969 7.85947 10.357 8.4119 10.0333 9.33187C9.85006 9.85286 9.27914 10.1266 8.75815 9.94336C8.23716 9.76009 7.96339 9.18917 8.14666 8.66818C8.79391 6.82824 10.6738 5.72339 12.5962 6.05313C14.5184 6.38284 15.9226 8.05072 15.92 10.0009C15.9195 11.5313 14.7849 12.5419 13.9747 13.0821C13.5391 13.3725 13.1105 13.586 12.7949 13.7263C12.6356 13.7971 12.5015 13.8508 12.4049 13.8876C12.3565 13.9061 12.3173 13.9204 12.2887 13.9305L12.254 13.9427L12.2429 13.9465L12.239 13.9478L12.2375 13.9483C12.2375 13.9483 12.2362 13.9487 11.92 13L12.2362 13.9487C11.7123 14.1234 11.146 13.8402 10.9713 13.3163C10.7968 12.7927 11.0794 12.2267 11.6027 12.0517L11.6187 12.0461C11.6341 12.0406 11.6593 12.0315 11.6929 12.0187C11.7603 11.993 11.8606 11.9529 11.9826 11.8987C12.2294 11.789 12.5509 11.6276 12.8653 11.418C13.5549 10.9582 13.92 10.4692 13.92 10L13.92 9.99854C13.9214 9.0233 13.2193 8.18921 12.2581 8.02434Z\"\n fill={iconColor}\n />\n <Path\n d=\"M12 18C12.5523 18 13 17.5523 13 17C13 16.4477 12.5523 16 12 16C11.4477 16 11 16.4477 11 17C11 17.5523 11.4477 18 12 18Z\"\n fill={iconColor}\n />\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 12C1 5.92487 5.92487 1 12 1C18.0751 1 23 5.92487 23 12C23 18.0751 18.0751 23 12 23C5.92487 23 1 18.0751 1 12ZM12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default HelpCircleIcon;\n","import type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst ExternalLinkIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg height={height} width={width} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n d=\"M14 3C14 2.44772 14.4477 2 15 2H21C21.5523 2 22 2.44772 22 3V9C22 9.55228 21.5523 10 21 10C20.4477 10 20 9.55228 20 9V5.41421L10.7071 14.7071C10.3166 15.0976 9.68342 15.0976 9.29289 14.7071C8.90237 14.3166 8.90237 13.6834 9.29289 13.2929L18.5858 4H15C14.4477 4 14 3.55228 14 3Z\"\n fill={iconColor}\n />\n <Path\n d=\"M5 7C4.44772 7 4 7.44772 4 8V19C4 19.5523 4.44772 20 5 20H16C16.5523 20 17 19.5523 17 19V13C17 12.4477 17.4477 12 18 12C18.5523 12 19 12.4477 19 13V19C19 20.6569 17.6569 22 16 22H5C3.34315 22 2 20.6569 2 19V8C2 6.34315 3.34315 5 5 5H11C11.5523 5 12 5.44772 12 6C12 6.55228 11.5523 7 11 7H5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ExternalLinkIcon;\n","import type { ReactElement } from 'react';\nimport type { IconComponent, IconProps } from '..';\nimport useIconProps from '../useIconProps';\nimport { Path, Svg } from '../_Svg';\n\nconst MailIcon: IconComponent = ({ size, color }: IconProps): ReactElement => {\n const { height, width, iconColor } = useIconProps({ size, color });\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M23 6.01769V18C23 19.6523 21.6523 21 20 21H4C2.34772 21 1 19.6523 1 18V6C1 4.34772 2.34772 3 4 3H20C21.6443 3 22.987 4.33473 22.9999 5.97608C23.0002 5.98996 23.0003 6.00383 23 6.01769ZM3.10659 5.55392C3.27198 5.22691 3.61205 5 4 5H20C20.388 5 20.7281 5.22695 20.8935 5.55401L12.0001 11.7794L3.10659 5.55392ZM3 7.92062V18C3 18.5477 3.45228 19 4 19H20C20.5477 19 21 18.5477 21 18V7.92074L12.5735 13.8193C12.2292 14.0603 11.7709 14.0603 11.4266 13.8193L3 7.92062Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default MailIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst BookIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M21 2a1 1 0 0 0-1-1H6.5A3.5 3.5 0 0 0 3 4.5v15A3.5 3.5 0 0 0 6.5 23H20a1 1 0 0 0 1-1V2ZM5 4.5A1.5 1.5 0 0 1 6.5 3H19v13H6.5c-.537 0-1.045.12-1.5.337V4.5Zm0 15A1.5 1.5 0 0 0 6.5 21H19v-3H6.5A1.5 1.5 0 0 0 5 19.5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default BookIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst SettlementsIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} fill=\"none\" viewBox=\"0 0 24 24\">\n <Path\n d=\"m22.763 7.879-7.797 9.697c-.097.118-.22.216-.362.29a1.283 1.283 0 0 1-.461.134h-.11c-.293 0-.575-.099-.79-.276l-3.58-2.957-2.054 2.582a1.059 1.059 0 0 1-.357.302c-.142.075-.302.12-.467.132h-.11c-.29.004-.57-.095-.779-.276l-4.502-3.705a1.01 1.01 0 0 1-.281-.321.906.906 0 0 1-.036-.798.984.984 0 0 1 .25-.34 1.09 1.09 0 0 1 .358-.252 1.2 1.2 0 0 1 1.268.193l3.558 2.907 7.006-8.742c.083-.115.192-.213.32-.288a1.22 1.22 0 0 1 .877-.13c.148.035.286.097.406.182.13.075.241.173.326.289a.928.928 0 0 1 .166.383.887.887 0 0 1-.022.41.95.95 0 0 1-.207.367l-4.392 5.41 2.833 2.346 7.072-8.752a1.05 1.05 0 0 1 .322-.286 1.22 1.22 0 0 1 .876-.124c.148.035.286.098.405.184.129.074.238.172.322.287a.93.93 0 0 1 .164.38.887.887 0 0 1-.02.407.949.949 0 0 1-.202.365Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default SettlementsIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst ShuffleIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} fill=\"none\" viewBox=\"0 0 24 24\">\n <Path\n d=\"M14 3a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 1 1-2 0V5.414L3.707 20.707a1 1 0 0 1-1.414-1.414L17.586 4H15a1 1 0 0 1-1-1ZM21 16a1 1 0 1 0-2 0v2.586l-4.293-4.293a1 1 0 0 0-1.414 1.414L17.586 20H15a1 1 0 1 0 0 2h5a1 1 0 0 0 1-1v-5ZM3.707 3.293a1 1 0 0 0-1.414 1.414l5 5a1 1 0 0 0 1.414-1.414l-5-5Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default ShuffleIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst TagIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} fill=\"none\" viewBox=\"0 0 24 24\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1 2a1 1 0 0 1 1-1h10a1 1 0 0 1 .707.293L21.3 9.885a3 3 0 0 1 0 4.23l-.002.002-7.17 7.17a3.001 3.001 0 0 1-4.244 0l-8.59-8.58A1 1 0 0 1 1 12V2Zm2 1v8.585l8.297 8.287v.001a1 1 0 0 0 1.415 0l7.169-7.168a1 1 0 0 0 0-1.41L11.586 3H3Z\"\n fill={iconColor}\n />\n <Path d=\"M10 8.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0Z\" fill={iconColor} />\n </Svg>\n );\n};\n\nexport default TagIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst UserIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} fill=\"none\" viewBox=\"0 0 24 24\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M12 2a5 5 0 1 0 0 10 5 5 0 0 0 0-10ZM9 7a3 3 0 1 1 6 0 3 3 0 0 1-6 0Z\"\n fill={iconColor}\n />\n <Path\n d=\"M8 14a5 5 0 0 0-5 5v2a1 1 0 1 0 2 0v-2a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v2a1 1 0 1 0 2 0v-2a5 5 0 0 0-5-5H8Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default UserIcon;\n","import { Svg, Path } from '../_Svg';\nimport type { IconComponent } from '..';\nimport useIconProps from '../useIconProps';\n\nconst TransactionsIcon: IconComponent = ({ size, color }) => {\n const { height, width, iconColor } = useIconProps({ size, color });\n\n return (\n <Svg width={width} height={height} fill=\"none\" viewBox=\"0 0 24 24\">\n <Path\n d=\"M6.24 12.03a.878.878 0 0 1 .26.623.898.898 0 0 1-.249.627.85.85 0 0 1-.61.257.833.833 0 0 1-.606-.268L1.25 9.377a.869.869 0 0 1-.107-.134c-.014-.022-.024-.044-.036-.067a.853.853 0 0 1-.042-.084.843.843 0 0 1-.027-.087c-.007-.026-.017-.05-.022-.076a.91.91 0 0 1 0-.343c.005-.026.015-.05.022-.075a.812.812 0 0 1 .027-.087.91.91 0 0 1 .042-.085c.012-.022.022-.043.036-.066a.895.895 0 0 1 .107-.135l3.785-3.892a.84.84 0 0 1 .6-.246.84.84 0 0 1 .595.257.89.89 0 0 1 .01 1.228L3.91 7.883h9.715a.84.84 0 0 1 .602.256c.16.164.25.387.25.62 0 .232-.09.455-.25.62a.84.84 0 0 1-.602.256H3.909l2.332 2.395Zm16.617 3.674c.014-.022.024-.044.035-.067a.896.896 0 0 0 .043-.084.806.806 0 0 0 .027-.088c.007-.024.017-.049.022-.074a.912.912 0 0 0 0-.344c-.005-.026-.015-.05-.022-.075a.836.836 0 0 0-.027-.088.843.843 0 0 0-.043-.083c-.011-.023-.021-.044-.035-.067a.87.87 0 0 0-.107-.134l-3.785-3.893a.84.84 0 0 0-1.195.011.889.889 0 0 0-.25.612.89.89 0 0 0 .24.616l2.33 2.397h-9.715a.84.84 0 0 0-.602.257.889.889 0 0 0-.25.62c0 .232.09.455.25.62a.84.84 0 0 0 .602.256h9.716l-2.332 2.397a.877.877 0 0 0-.26.623.898.898 0 0 0 .25.627.85.85 0 0 0 .61.257.833.833 0 0 0 .605-.267l3.786-3.893a.894.894 0 0 0 .107-.134v-.002Z\"\n fill={iconColor}\n />\n </Svg>\n );\n};\n\nexport default TransactionsIcon;\n","import type { ReactElement } from 'react';\nimport { useState } from 'react';\nimport styled from 'styled-components/native';\n\nimport type { StyledIconButtonProps } from './types';\nimport { makeAccessible } from '~utils';\nimport type { ColorContrastTypes } from '~tokens/theme/theme';\n\ntype State = 'active' | 'default';\ntype IconColorToken = `surface.action.icon.${State}.${ColorContrastTypes}Contrast`;\n\ntype StyledPressableProps = {\n contrast: ColorContrastTypes;\n};\n\nconst StyledPressable = styled.Pressable<StyledPressableProps>({\n alignSelf: 'center', // ensure button only takes needed width\n});\n\nconst StyledIconButton = ({\n icon: Icon,\n onClick,\n size,\n contrast,\n accessibilityLabel,\n}: StyledIconButtonProps): ReactElement => {\n const [isPressed, setIsPressed] = useState(false);\n const getIconColorToken = (): IconColorToken => {\n const contrastType = contrast === 'high' ? 'highContrast' : 'lowContrast';\n const state = isPressed ? 'active' : 'default';\n\n return `surface.action.icon.${state}.${contrastType}`;\n };\n const iconColorToken = getIconColorToken();\n\n return (\n <StyledPressable\n contrast={contrast}\n onPress={onClick}\n onPressIn={() => setIsPressed(true)}\n onPressOut={() => setIsPressed(false)}\n {...makeAccessible({ label: accessibilityLabel, role: 'button' })}\n >\n <Icon size={size} color={iconColorToken} />\n </StyledPressable>\n );\n};\n\nexport default StyledIconButton;\n","import type { ReactElement } from 'react';\n\nimport StyledIconButton from './StyledIconButton';\nimport type { IconComponent } from '~components/Icons';\n\ntype IconButtonProps = {\n /**\n * Icon component to be rendered, eg. `CloseIcon`\n */\n icon: IconComponent;\n onClick: () => void;\n\n /**\n * Icon size\n *\n * @default 'medium'\n */\n size?: 'medium' | 'large';\n\n /**\n * Icon contrast\n *\n * @default 'low'\n */\n contrast?: 'low' | 'high';\n\n /**\n * Sets aria-label to help users know what the action does, eg 'Dismiss alert'\n */\n accessibilityLabel: string;\n};\n\n/**\n * Component for making clickable icons with transparent background.\n * For other cases please use `Button` component with `icon` prop.\n */\nconst IconButton = ({\n icon,\n onClick,\n size = 'medium',\n contrast = 'low',\n accessibilityLabel,\n}: IconButtonProps): ReactElement => {\n return (\n <StyledIconButton\n onClick={onClick}\n contrast={contrast}\n size={size}\n icon={icon}\n accessibilityLabel={accessibilityLabel}\n />\n );\n};\n\nexport { IconButtonProps, IconButton };\n","import type { CSSObject } from 'styled-components';\nimport type { BoxProps } from './types';\nimport { getIn, makeSize, makeSpace } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\n\n// allows 'auto' as spacing value\nconst getSpacingValue = <SpacingValue extends string | number | undefined>({\n value,\n theme,\n}: {\n value: SpacingValue;\n theme: Theme;\n}): string | undefined => {\n if (value === 'auto') return 'auto';\n /**\n * NOTE: don't allow numbers once we have the scale for sizing\n * DO NOT PUBLISH THIS COMPONENT PUBLICLY WITH THIS PIECE OF CODE\n */\n if (typeof value === 'number') {\n return makeSpace(value);\n }\n return value ? makeSpace(getIn(theme, value)) : undefined;\n};\n\nconst getBoxStyles = ({\n theme,\n display,\n flex,\n flexWrap,\n flexDirection,\n flexGrow,\n alignItems,\n alignContent,\n justifyContent,\n alignSelf,\n overflow,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n marginTop,\n marginBottom,\n marginLeft,\n marginRight,\n gap,\n width,\n height,\n minHeight,\n minWidth,\n maxHeight,\n maxWidth,\n position,\n transform,\n top,\n left,\n right,\n bottom,\n background,\n backgroundColor,\n zIndex,\n borderRadius,\n}: BoxProps & { theme: Theme }): CSSObject => ({\n display,\n flex,\n flexWrap,\n flexGrow,\n flexDirection,\n alignItems,\n alignContent,\n justifyContent,\n alignSelf,\n overflow,\n position,\n top,\n right,\n bottom,\n left,\n paddingTop: getSpacingValue({ value: paddingTop, theme }),\n paddingBottom: getSpacingValue({ value: paddingBottom, theme }),\n paddingLeft: getSpacingValue({ value: paddingLeft, theme }),\n paddingRight: getSpacingValue({ value: paddingRight, theme }),\n marginTop: getSpacingValue({ value: marginTop, theme }),\n marginBottom: getSpacingValue({ value: marginBottom, theme }),\n marginLeft: getSpacingValue({ value: marginLeft, theme }),\n marginRight: getSpacingValue({ value: marginRight, theme }),\n gap: getSpacingValue({ value: gap, theme }),\n width,\n height,\n minHeight: minHeight ? makeSize(minHeight) : undefined,\n minWidth: minWidth ? makeSize(minWidth) : undefined,\n maxHeight: maxHeight ? makeSize(maxHeight) : undefined,\n maxWidth: maxWidth ? makeSize(maxWidth) : undefined,\n transform,\n background,\n backgroundColor,\n zIndex,\n borderRadius: borderRadius ? makeSize(getIn(theme, `border.radius.${borderRadius}`)) : undefined,\n});\n\nexport default getBoxStyles;\n","import styled from 'styled-components/native';\nimport type { BoxProps } from './types';\nimport getBoxStyles from './getBoxStyles';\n\nconst Box = styled.View<BoxProps>(getBoxStyles);\n\nexport default Box;\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBaseTextProps } from './types';\nimport { getIn, makeTypographySize } from '~utils';\n\nconst getBaseTextStyles = ({\n color = 'surface.text.normal.lowContrast',\n fontFamily = 'text',\n fontSize = 200,\n fontWeight = 'regular',\n fontStyle = 'normal',\n textDecorationLine = 'none',\n lineHeight = 'l',\n textAlign,\n theme,\n}: StyledBaseTextProps): CSSObject => {\n const textColor = getIn(theme.colors, color);\n const themeFontFamily = theme.typography.fonts.family[fontFamily];\n const themeFontSize = makeTypographySize(theme.typography.fonts.size[fontSize]);\n const themeFontWeight = theme.typography.fonts.weight[fontWeight];\n const themeLineHeight = makeTypographySize(theme.typography.lineHeights[lineHeight]);\n\n return {\n color: textColor,\n fontFamily: themeFontFamily,\n fontSize: themeFontSize,\n fontWeight: themeFontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight: themeLineHeight,\n textAlign,\n margin: 0,\n padding: 0,\n };\n};\n\nexport default getBaseTextStyles;\n","import type { ReactElement } from 'react';\nimport styled from 'styled-components/native';\nimport getBaseTextStyles from './getBaseTextStyles';\nimport type { BaseTextProps, StyledBaseTextProps } from './types';\nimport { metaAttribute, makeAccessible, MetaConstants } from '~utils';\n\nconst StyledBaseText = styled.Text<StyledBaseTextProps>(\n ({\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n textAlign,\n as,\n ...props\n }) => {\n if (as) {\n throw new Error(`[Blade: BaseText]: \"as\" prop is not supported for BaseText on React Native`);\n } else {\n return getBaseTextStyles({\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n textAlign,\n theme: props.theme,\n });\n }\n },\n);\n\nexport const BaseText = ({\n id,\n color,\n fontFamily,\n fontSize,\n fontWeight,\n fontStyle,\n textDecorationLine,\n lineHeight,\n as,\n textAlign,\n children,\n truncateAfterLines,\n className,\n style,\n accessibilityProps = {},\n componentName,\n}: BaseTextProps): ReactElement => {\n return (\n <StyledBaseText\n color={color}\n fontFamily={fontFamily}\n fontSize={fontSize}\n fontWeight={fontWeight}\n fontStyle={fontStyle}\n textDecorationLine={textDecorationLine}\n lineHeight={lineHeight}\n as={as}\n textAlign={textAlign}\n numberOfLines={truncateAfterLines}\n className={className}\n style={style}\n id={id}\n {...makeAccessible(accessibilityProps)}\n {...metaAttribute(MetaConstants.Component, componentName!)}\n >\n {children}\n </StyledBaseText>\n );\n};\n","import type { ReactElement } from 'react';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\nimport { getPlatformType } from '~utils';\n\nexport type TitleProps = {\n size?: 'small' | 'medium' | 'large';\n contrast?: ColorContrastTypes;\n type?: TextTypes;\n children: string;\n};\n\nconst getProps = ({\n size,\n type,\n contrast,\n}: Pick<TitleProps, 'size' | 'type' | 'contrast'>): Omit<BaseTextProps, 'children'> => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 600,\n fontWeight: 'bold',\n fontStyle: 'normal',\n lineHeight: '4xl',\n fontFamily: 'text',\n accessibilityProps: isPlatformWeb ? {} : { role: 'heading' },\n componentName: 'title',\n };\n\n if (size === 'small') {\n props.fontSize = 600;\n props.lineHeight = '4xl';\n props.as = isPlatformWeb ? 'h3' : undefined;\n } else if (size === 'medium') {\n props.fontSize = 700;\n props.lineHeight = '4xl';\n props.as = isPlatformWeb ? 'h2' : undefined;\n } else if (size === 'large') {\n props.fontSize = 1000;\n props.lineHeight = '6xl';\n props.as = isPlatformWeb ? 'h1' : undefined;\n }\n\n return props;\n};\n\nexport const Title = ({\n size = 'small',\n type = 'normal',\n contrast = 'low',\n children,\n}: TitleProps): ReactElement => {\n const props = getProps({ size, type, contrast });\n return <BaseText {...props}>{children}</BaseText>;\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\nimport { getPlatformType } from '~utils';\nimport type { Theme } from '~components/BladeProvider';\n\ntype HeadingVariant = 'regular' | 'subheading';\ntype HeadingSize = 'small' | 'medium' | 'large';\n\ntype HeadingCommonProps = {\n type?: TextTypes;\n contrast?: ColorContrastTypes;\n children: string;\n};\n\ntype HeadingNormalVariant = HeadingCommonProps & {\n variant?: Exclude<HeadingVariant, 'subheading'>;\n /**\n *\n * @default small\n */\n size?: HeadingSize;\n weight?: keyof Theme['typography']['fonts']['weight'];\n};\n\ntype HeadingSubHeadingVariant = HeadingCommonProps & {\n variant?: Extract<HeadingVariant, 'subheading'>;\n /**\n * `size` cannot be used with variant=\"subheading\". Either change to variant=\"regular\" or remove size prop\n */\n size?: undefined;\n weight?: keyof Pick<Theme['typography']['fonts']['weight'], 'bold'>;\n};\n\n/**\n * Conditionally changing props based on variant.\n * Overloads or union gives wrong intellisense.\n */\nexport type HeadingProps<T> = T extends {\n variant: infer Variant;\n}\n ? Variant extends Exclude<HeadingVariant, 'subheading'>\n ? HeadingNormalVariant\n : Variant extends 'subheading'\n ? HeadingSubHeadingVariant\n : T\n : T;\n\nconst getProps = <T extends { variant: HeadingVariant }>({\n variant,\n size,\n type,\n weight,\n contrast,\n}: Pick<HeadingProps<T>, 'variant' | 'size' | 'type' | 'weight' | 'contrast'>): Omit<\n BaseTextProps,\n 'children'\n> => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast!}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 200,\n fontWeight: weight ?? 'bold',\n fontStyle: 'normal',\n lineHeight: 'xl',\n fontFamily: 'text',\n accessibilityProps: isPlatformWeb ? {} : { role: 'heading' },\n componentName: 'heading',\n };\n\n if (variant === 'regular') {\n if (!size || size === 'small') {\n props.fontSize = 200;\n props.lineHeight = '2xl';\n props.as = isPlatformWeb ? 'h6' : undefined;\n } else if (size === 'medium') {\n props.fontSize = 300;\n props.lineHeight = '3xl';\n props.as = isPlatformWeb ? 'h5' : undefined;\n } else if (size === 'large') {\n props.fontSize = 400;\n props.lineHeight = '3xl';\n props.as = isPlatformWeb ? 'h4' : undefined;\n }\n } else if (variant === 'subheading') {\n if (weight === 'regular') {\n throw new Error(`[Blade: Heading]: weight cannot be 'regular' when variant is 'subheading'`);\n }\n if (size) {\n throw new Error(\n `[Blade: Heading]: size prop cannot be added when variant is 'subheading'. Use variant 'regular' or remove size prop`,\n );\n }\n props.fontSize = 75;\n props.lineHeight = 's';\n props.as = isPlatformWeb ? 'h6' : undefined;\n }\n\n return props;\n};\n\nexport const Heading = <T extends { variant: HeadingVariant }>({\n variant = 'regular',\n size, // Not setting default value since the `size` should be undefined with variant=\"subheading\"\n type = 'normal',\n weight = 'bold',\n contrast = 'low',\n children,\n}: HeadingProps<T>): ReactElement => {\n const props = getProps({ variant, size, type, weight, contrast });\n return <BaseText {...props}>{children}</BaseText>;\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport type { ReactElement } from 'react';\nimport styled from 'styled-components';\nimport { BaseText } from '../BaseText';\nimport type { BaseTextProps } from '../BaseText/types';\nimport type { Theme } from '~components/BladeProvider';\nimport { getPlatformType } from '~utils';\nimport type { ColorContrast, ColorContrastTypes, TextTypes } from '~tokens/theme/theme';\n\ntype TextCommonProps = {\n type?: TextTypes;\n contrast?: ColorContrastTypes;\n truncateAfterLines?: number;\n children: React.ReactNode;\n weight?: keyof Theme['typography']['fonts']['weight'];\n /**\n * **For Internal use only**: Sets the color of the Text component\n */\n color?: BaseTextProps['color'];\n};\n\nexport type TextVariant = 'body' | 'caption';\n\ntype TextBodyVariant = TextCommonProps & {\n variant?: Extract<TextVariant, 'body'>;\n size?: 'xsmall' | 'small' | 'medium';\n};\n\ntype TextCaptionVariant = TextCommonProps & {\n variant?: Extract<TextVariant, 'caption'>;\n size?: 'medium';\n};\n\n/**\n * Conditionally changing props based on variant.\n * Overloads or union gives wrong intellisense.\n */\nexport type TextProps<T> = T extends {\n variant: infer Variant;\n}\n ? Variant extends 'caption'\n ? TextCaptionVariant\n : Variant extends 'body'\n ? TextBodyVariant\n : T\n : T;\n\ntype TextForwardedAs = {\n forwardedAs?: BaseTextProps['as'];\n};\n\nconst getTextProps = <T extends { variant: TextVariant }>({\n variant,\n type,\n weight,\n size,\n contrast,\n}: Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast'>): Omit<\n BaseTextProps,\n 'children'\n> &\n TextForwardedAs => {\n const isPlatformWeb = getPlatformType() === 'browser' || getPlatformType() === 'node';\n const colorContrast: keyof ColorContrast = contrast ? `${contrast!}Contrast` : 'lowContrast';\n const props: Omit<BaseTextProps, 'children'> & TextForwardedAs = {\n color: `surface.text.${type ?? 'normal'}.${colorContrast}`,\n fontSize: 100,\n fontWeight: weight ?? 'regular',\n fontStyle: 'normal',\n lineHeight: 'l',\n fontFamily: 'text',\n forwardedAs: isPlatformWeb ? 'p' : undefined,\n componentName: 'text',\n };\n\n if (variant === 'body') {\n if (size === 'small') {\n props.fontSize = 75;\n props.lineHeight = 's';\n }\n if (size === 'xsmall') {\n props.fontSize = 25;\n props.lineHeight = 's';\n }\n } else if (variant === 'caption') {\n if (size === 'xsmall') {\n throw new Error(`[Blade: Text]: size cannot be 'xsmall' when variant is 'caption'`);\n }\n if (size === 'small') {\n throw new Error(`[Blade: Text]: size cannot be 'small' when variant is 'caption'`);\n }\n props.fontSize = 50;\n props.lineHeight = 's';\n props.fontStyle = 'italic';\n }\n\n return props;\n};\n\nconst StyledText = styled(BaseText)(({ truncateAfterLines }) => {\n if (truncateAfterLines) {\n if (getPlatformType() === 'react-native') {\n return null;\n }\n return {\n overflow: 'hidden',\n display: '-webkit-box',\n 'line-clamp': `${truncateAfterLines}`,\n '-webkit-line-clamp': `${truncateAfterLines}`,\n '-webkit-box-orient': 'vertical',\n };\n }\n return {};\n});\n\nconst Text = <T extends { variant: TextVariant }>({\n variant = 'body',\n weight = 'regular',\n size = 'medium',\n type = 'normal',\n contrast = 'low',\n truncateAfterLines,\n children,\n color,\n}: TextProps<T>): ReactElement => {\n const props: Omit<BaseTextProps, 'children'> & TextForwardedAs = {\n truncateAfterLines,\n ...getTextProps({ variant, type, weight, size, contrast }),\n ...(color ? { color } : {}),\n };\n return <StyledText {...props}>{children}</StyledText>;\n};\n\nexport { Text, getTextProps };\n","import styled from 'styled-components';\nimport { BaseText } from '../BaseText';\nimport Box from '~components/Box';\nimport {\n metaAttribute,\n getPlatformType,\n makeSpace,\n makeTypographySize,\n MetaConstants,\n} from '~utils';\nimport type { FontSize } from '~tokens/global/typography';\n\nexport type CodeProps = {\n children: string;\n /**\n * Decides the fontSize and padding of Code\n *\n * @default small\n */\n size?: 'small' | 'medium';\n};\n\ntype CodeContainerProps = {\n size: CodeProps['size'];\n};\n\nconst platformType = getPlatformType();\nconst isPlatformWeb = platformType === 'browser' || platformType === 'node';\n\nconst getCodeFontSize = (size: CodeProps['size']): keyof FontSize => {\n switch (size) {\n case 'medium':\n return 100;\n\n default:\n return 75;\n }\n};\n\nconst CodeContainer = styled(Box)<CodeContainerProps>((props) => {\n const padding = `${makeSpace(props.theme.spacing[0])} ${makeSpace(props.theme.spacing[2])}`;\n return {\n padding,\n backgroundColor: props.theme.colors.brand.gray.a50.lowContrast,\n borderRadius: props.theme.border.radius.medium,\n display: isPlatformWeb ? 'inline-block' : undefined,\n // Removing the line height of container to remove extra surrounding space in background\n // The text itself will still have the normal lineHeight\n lineHeight: makeTypographySize(props.theme.typography.lineHeights.s),\n };\n});\n\n/**\n * Code component can be used for displaying token, variable names, or inlined code snippets.\n *\n * ## Usage\n *\n * ### In Web\n * In web, you can use it inside `Text` component or individually. The component is set to display `inline-block`\n *\n * ```tsx\n * <Text>\n * Lorem ipsum <Code>SENTRY_TOKEN</Code> normal text\n * </Text>\n * ```\n *\n * ### In React Native\n *\n * In React Native, you would have to align it using flex to make sure the Code and the surrounding text is correctly aligned\n *\n * ```tsx\n * <Box flexWrap=\"wrap\" flexDirection=\"row\" alignItems=\"flex-start\">\n * <Text>Lorem ipsum </Text>\n * <Code>SENTRY_TOKEN</Code>\n * <Text> normal text</Text>\n * </Box>\n * ```\n */\nconst Code = ({ children, size = 'small' }: CodeProps): JSX.Element => {\n return (\n <CodeContainer\n size={size}\n as={isPlatformWeb ? 'span' : undefined}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Code)}\n >\n <BaseText\n color=\"surface.text.subtle.lowContrast\"\n fontFamily=\"code\"\n fontSize={getCodeFontSize(size)}\n as={isPlatformWeb ? 'code' : undefined}\n >\n {children}\n </BaseText>\n </CodeContainer>\n );\n};\n\nexport { Code };\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBaseButtonProps } from './types';\n\nconst getBaseButtonStyles = ({\n defaultBorderColor,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n defaultBackgroundColor,\n disabled,\n isFullWidth,\n borderWidth,\n borderRadius,\n}: Omit<\n StyledBaseButtonProps,\n 'children' | 'onClick' | 'accessibilityProps' | 'accessibilityLabel'\n>): CSSObject => ({\n minHeight,\n width: isFullWidth ? '100%' : 'auto',\n cursor: disabled ? 'not-allowed' : 'pointer',\n backgroundColor: defaultBackgroundColor,\n borderColor: defaultBorderColor,\n borderWidth,\n borderRadius,\n borderStyle: 'solid',\n paddingTop: buttonPaddingTop,\n paddingBottom: buttonPaddingBottom,\n paddingLeft: buttonPaddingLeft,\n paddingRight: buttonPaddingRight,\n});\n\nexport default getBaseButtonStyles;\n","import { Pressable } from 'react-native';\nimport Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\nimport styled from 'styled-components/native';\nimport getStyledBaseButtonStyles from './getStyledBaseButtonStyles';\nimport type { StyledBaseButtonProps } from './types';\nimport { getIn } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\nconst StyledPressable = styled(Animated.createAnimatedComponent(Pressable))<\n Omit<StyledBaseButtonProps, 'accessibilityProps'>\n>((props) => ({\n ...getStyledBaseButtonStyles(props),\n alignSelf: 'center',\n}));\n\nconst StyledBaseButton = ({\n onClick,\n children,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n isFullWidth,\n disabled,\n defaultBackgroundColor,\n defaultBorderColor,\n hoverBackgroundColor,\n activeBackgroundColor,\n focusBackgroundColor,\n focusRingColor,\n hoverBorderColor,\n activeBorderColor,\n focusBorderColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n isLoading,\n accessibilityProps,\n}: StyledBaseButtonProps): React.ReactElement => {\n const { theme } = useTheme();\n const isPressed = useSharedValue(false);\n const duration = getIn(theme.motion, motionDuration);\n const easing = getIn(theme.motion, motionEasing);\n const animatedStyles = useAnimatedStyle(() => {\n return {\n backgroundColor: withTiming(\n isPressed.value ? activeBackgroundColor : defaultBackgroundColor,\n {\n duration,\n easing,\n },\n ),\n borderColor: withTiming(isPressed.value ? activeBorderColor : defaultBorderColor, {\n duration,\n easing,\n }),\n };\n });\n\n return (\n <StyledPressable\n {...accessibilityProps}\n isLoading={isLoading}\n onPress={onClick}\n style={animatedStyles}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n isFullWidth={isFullWidth}\n disabled={disabled}\n defaultBackgroundColor={defaultBackgroundColor}\n defaultBorderColor={defaultBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n activeBackgroundColor={activeBackgroundColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n activeBorderColor={activeBorderColor}\n focusBorderColor={focusBorderColor}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n >\n {({ pressed }): React.ReactNode => {\n isPressed.value = pressed;\n return children;\n }}\n </StyledPressable>\n );\n};\n\nexport default StyledBaseButton;\n","import type { BaseButtonProps } from './BaseButton';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconProps } from '~components/Icons';\nimport type { SpinnerProps } from '~components/Spinner';\n\nexport type ButtonMinHeight = 28 | 32 | 36 | 48;\n\nexport type ButtonTypography = {\n fonts: {\n size: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['typography']['fonts']['size']>;\n };\n lineHeights: Record<\n NonNullable<BaseButtonProps['size']>,\n keyof Theme['typography']['lineHeights']\n >;\n};\n\nconst typography: ButtonTypography = {\n fonts: {\n size: {\n xsmall: 75,\n small: 75,\n medium: 100,\n large: 200,\n },\n },\n lineHeights: {\n xsmall: 's',\n small: 's',\n medium: 'l',\n large: 'm',\n },\n};\n\nconst minHeight: Record<NonNullable<BaseButtonProps['size']>, ButtonMinHeight> = {\n xsmall: 28,\n small: 32,\n medium: 36,\n large: 48,\n};\n\nconst buttonPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n small: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 6,\n right: 6,\n },\n};\n\nconst buttonIconOnlyPadding: Record<\n NonNullable<BaseButtonProps['size']>,\n Record<'top' | 'bottom' | 'left' | 'right', keyof Theme['spacing']>\n> = {\n xsmall: {\n top: 0,\n bottom: 0,\n left: 4, // should be `6px` as per design but we're making it `8px` since `6px` is not available as a spacing token\n right: 4, // should be `6px` as per design but we're making it `8px` since `6px` is not available as a spacing token\n },\n small: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n medium: {\n top: 0,\n bottom: 0,\n left: 3,\n right: 3,\n },\n large: {\n top: 0,\n bottom: 0,\n left: 4,\n right: 4,\n },\n};\n\nconst buttonSizeToIconSizeMap: Record<NonNullable<BaseButtonProps['size']>, IconProps['size']> = {\n xsmall: 'small',\n small: 'small',\n medium: 'medium',\n large: 'medium',\n};\n\nconst buttonIconOnlySizeToIconSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n IconProps['size']\n> = {\n xsmall: 'medium',\n small: 'medium',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst buttonSizeToSpinnerSizeMap: Record<\n NonNullable<BaseButtonProps['size']>,\n SpinnerProps['size']\n> = {\n xsmall: 'medium',\n small: 'large',\n medium: 'large',\n large: 'xlarge',\n};\n\nconst textPadding: Record<NonNullable<BaseButtonProps['size']>, keyof Theme['spacing']> = {\n xsmall: 2,\n small: 2,\n medium: 3,\n large: 3,\n};\n\nexport {\n typography,\n minHeight,\n buttonSizeToIconSizeMap,\n buttonIconOnlySizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n textPadding,\n buttonPadding,\n buttonIconOnlyPadding,\n};\n","import { AccessibilityInfo } from 'react-native';\nimport type { Assertiveness } from './types';\n\nexport function announce(message: string, _assertiveness: Assertiveness = 'assertive'): void {\n AccessibilityInfo.announceForAccessibility(message);\n}\n\nexport function clearAnnouncer(_assertiveness: Assertiveness): void {\n console.warn('[Blade LiveAnnouncer]: clearAnnouncer is not needed in react-native');\n}\n\nexport function destroyAnnouncer(): void {\n console.warn('[Blade LiveAnnouncer]: destroyAnnouncer is not needed in react-native');\n}\n","import type { DurationString, EasingString } from '~tokens/global/motion';\n\nconst dimensions = {\n medium: 16,\n large: 20,\n xlarge: 24,\n} as const;\n\nconst motion: {\n duration: DurationString;\n easing: EasingString;\n} = {\n duration: 'duration.2xgentle',\n easing: 'easing.standard.attentive',\n};\n\nexport { dimensions, motion };\n","import { Svg, Path } from '~components/Icons/_Svg';\n\ntype SpinnerIconProps = {\n dimensions: string;\n color: string;\n};\n\nconst SpinnerIcon = ({ dimensions, color }: SpinnerIconProps): React.ReactElement => {\n return (\n <Svg width={dimensions} height={dimensions} viewBox=\"0 0 24 24\" fill=\"none\">\n <Path\n fillOpacity={0.2}\n d=\"M24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0C18.6274 0 24 5.37258 24 12ZM3 12C3 16.9706 7.02944 21 12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12Z\"\n fill={color}\n />\n <Path\n d=\"M24 12C24 13.8937 23.5518 15.7606 22.6921 17.4479C21.8324 19.1352 20.5855 20.5951 19.0534 21.7082C17.5214 22.8213 15.7476 23.556 13.8772 23.8523C12.0068 24.1485 10.0928 23.9979 8.29181 23.4127L9.21886 20.5595C10.5696 20.9984 12.0051 21.1114 13.4079 20.8892C14.8107 20.667 16.141 20.116 17.2901 19.2812C18.4391 18.4463 19.3743 17.3514 20.0191 16.0859C20.6639 14.8204 21 13.4203 21 12H24Z\"\n fill={color}\n />\n <Path\n d=\"M-1.33514e-05 12C-1.33514e-05 10.1063 0.448176 8.23944 1.30791 6.55211C2.16764 4.86479 3.41451 3.4049 4.94656 2.2918C6.47862 1.17869 8.25236 0.443983 10.1228 0.147739C11.9932 -0.148504 13.9072 0.00212896 15.7082 0.587322L14.7811 3.44049C13.4304 3.0016 11.9949 2.88862 10.5921 3.11081C9.18927 3.33299 7.85896 3.88402 6.70992 4.71885C5.56088 5.55367 4.62573 6.64859 3.98093 7.91409C3.33613 9.17958 2.99999 10.5797 2.99999 12H-1.33514e-05Z\"\n fill={color}\n />\n </Svg>\n );\n};\n\nexport default SpinnerIcon;\n","import React from 'react';\nimport type { EasingFunctionFactory } from 'react-native-reanimated';\nimport Animated, {\n withTiming,\n cancelAnimation,\n useAnimatedStyle,\n useSharedValue,\n withRepeat,\n} from 'react-native-reanimated';\nimport { motion as spinnerMotion } from './spinnerTokens';\nimport { useTheme } from '~components/BladeProvider';\nimport { castNativeType, getIn, makeMotionTime } from '~utils';\nimport Box from '~components/Box';\n\nconst SpinningBox = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n const { theme } = useTheme();\n const duration = castNativeType(makeMotionTime(getIn(theme.motion, spinnerMotion.duration)));\n const easing = getIn(theme.motion, spinnerMotion.easing) as EasingFunctionFactory;\n\n const rotation = useSharedValue(0);\n const animatedStyles = useAnimatedStyle(() => {\n return {\n transform: [\n {\n rotateZ: `${rotation.value}deg`,\n },\n ],\n };\n }, [rotation.value]);\n\n React.useEffect(() => {\n rotation.value = withRepeat(\n withTiming(360, {\n duration,\n easing,\n }),\n -1,\n );\n return (): void => {\n cancelAnimation(rotation);\n };\n }, [duration, easing, rotation]);\n\n return (\n <Box alignSelf=\"center\">\n <Animated.View style={animatedStyles}>{children}</Animated.View>\n </Box>\n );\n};\n\nexport { SpinningBox };\n","import React from 'react';\nimport { dimensions } from './spinnerTokens';\nimport SpinnerIcon from './SpinnerIcon';\nimport { SpinningBox } from './SpinningBox';\nimport type { Theme } from '~components/BladeProvider';\nimport { useTheme } from '~components/BladeProvider';\nimport { metaAttribute, getIn, makeAccessible, makeSize, MetaConstants } from '~utils';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\n\ntype BaseSpinnerProps = {\n intent?: Feedback;\n /**\n * Sets the label of the spinner.\n *\n * @default 'right'\n */\n label?: string;\n /**\n * Sets the label of the spinner.\n *\n */\n labelPosition?: 'right' | 'bottom';\n /**\n * Sets the contrast of the spinner.\n *\n * @default 'low'\n */\n contrast?: ColorContrastTypes;\n /**\n * Sets the size of the spinner.\n *\n * @default 'medium'\n */\n size?: 'medium' | 'large' | 'xlarge';\n /**\n * Sets the aria-label for web & accessibilityLabel react-native.\n *\n */\n accessibilityLabel: string;\n};\n\nconst getColor = ({\n contrast,\n intent,\n theme,\n}: {\n contrast: NonNullable<BaseSpinnerProps['contrast']>;\n intent: BaseSpinnerProps['intent'];\n theme: Theme;\n}): string => {\n if (intent) {\n return getIn(\n theme.colors,\n `feedback.${intent}.action.icon.primary.disabled.${contrast}Contrast`,\n );\n } else if (contrast == 'low') {\n return getIn(theme.colors, 'brand.gray.700.lowContrast');\n } else {\n return getIn(theme.colors, 'brand.gray.700.highContrast');\n }\n};\n\nconst BaseSpinner = ({\n label,\n labelPosition = 'right',\n accessibilityLabel,\n contrast = 'low',\n intent,\n size = 'medium',\n}: BaseSpinnerProps): React.ReactElement => {\n const { theme } = useTheme();\n return (\n <Box display=\"flex\" {...metaAttribute(MetaConstants.Component, MetaConstants.Spinner)}>\n <Box\n display=\"flex\"\n alignItems=\"center\"\n flexDirection={labelPosition === 'right' ? 'row' : 'column'}\n {...makeAccessible({\n label: accessibilityLabel,\n role: 'progressbar',\n })}\n >\n <SpinningBox>\n <SpinnerIcon\n dimensions={makeSize(dimensions[size])}\n color={getColor({ contrast, intent, theme })}\n />\n </SpinningBox>\n {label && label.trim().length > 0 ? (\n <Box\n marginLeft={labelPosition === 'right' ? 'spacing.3' : 'spacing.0'}\n marginTop={labelPosition === 'bottom' ? 'spacing.3' : 'spacing.0'}\n >\n <Text variant=\"body\" weight=\"regular\" type=\"subdued\" size=\"small\" contrast={contrast}>\n {label}\n </Text>\n </Box>\n ) : null}\n </Box>\n </Box>\n );\n};\n\nexport { BaseSpinner, BaseSpinnerProps };\n","import { useEffect } from 'react';\nimport styled from 'styled-components';\nimport type { ReactElement } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport StyledBaseButton from './StyledBaseButton';\nimport type { ButtonTypography, ButtonMinHeight } from './buttonTokens';\nimport {\n buttonIconOnlyPadding,\n buttonIconOnlySizeToIconSizeMap,\n typography as buttonTypography,\n minHeight as buttonMinHeight,\n buttonSizeToIconSizeMap,\n buttonSizeToSpinnerSizeMap,\n textPadding,\n buttonPadding,\n} from './buttonTokens';\nimport type { Theme } from '~components/BladeProvider';\nimport type { IconComponent, IconProps, IconSize } from '~components/Icons';\nimport type { DurationString, EasingString } from '~tokens/global/motion';\nimport type { BorderRadiusValues, BorderWidthValues, SpacingValues } from '~tokens/theme/theme';\nimport type { Platform } from '~utils';\nimport {\n MetaConstants,\n metaAttribute,\n makeAccessible,\n usePrevious,\n makeSize,\n makeSpace,\n makeBorderSize,\n getIn,\n} from '~utils';\n\nimport { BaseText } from '~components/Typography/BaseText';\nimport { useTheme } from '~components/BladeProvider';\nimport { announce } from '~components/LiveAnnouncer';\nimport type { BaseSpinnerProps } from '~components/Spinner/BaseSpinner';\nimport { BaseSpinner } from '~components/Spinner/BaseSpinner';\nimport Box from '~components/Box';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype BaseButtonCommonProps = {\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n type?: 'button' | 'reset' | 'submit';\n isLoading?: boolean;\n accessibilityLabel?: string;\n variant?: 'primary' | 'secondary' | 'tertiary';\n contrast?: 'low' | 'high';\n intent?: 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n};\n\n/*\nMandatory children prop when icon is not provided\n*/\ntype BaseButtonWithoutIconProps = BaseButtonCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseButtonWithIconProps = BaseButtonCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n With or without icon prop. We need at least an icon or a children prop present.\n*/\nexport type BaseButtonProps = BaseButtonWithIconProps | BaseButtonWithoutIconProps;\n\ntype BaseButtonColorTokenModifiers = {\n property: 'background' | 'border' | 'text' | 'icon';\n variant: NonNullable<BaseButtonProps['variant']>;\n state: 'default' | 'hover' | 'active' | 'focus' | 'disabled';\n intent: BaseButtonProps['intent'];\n contrast: BaseButtonProps['contrast'];\n};\n\n/**\n * All possible icon colors, derived from `IconProps` minus `currentColor` because possible values should only be from tokens\n */\ntype IconColor = Exclude<IconProps['color'], 'currentColor'>;\n\nconst getColorToken = ({\n property,\n variant,\n state,\n contrast,\n intent,\n}: BaseButtonColorTokenModifiers):\n | `action.${BaseButtonColorTokenModifiers['property']}.${BaseButtonColorTokenModifiers['variant']}.${BaseButtonColorTokenModifiers['state']}`\n | `feedback.${NonNullable<\n BaseButtonColorTokenModifiers['intent']\n >}.action.${BaseButtonColorTokenModifiers['property']}.primary.${BaseButtonColorTokenModifiers['state']}.${NonNullable<\n BaseButtonColorTokenModifiers['contrast']\n >}Contrast` => {\n if (intent && contrast) {\n // TODO: Add support for secondary & tertiary variants for feedback buttons here when a use-case is identified\n return `feedback.${intent}.action.${property}.primary.${state}.${contrast}Contrast`;\n }\n return `action.${property}.${variant}.${state}`;\n};\n\ntype BaseButtonStyleProps = {\n iconSize: IconSize;\n spinnerSize: BaseSpinnerProps['size'];\n fontSize: keyof Theme['typography']['fonts']['size'];\n lineHeight: keyof Theme['typography']['lineHeights'];\n minHeight: `${ButtonMinHeight}px`;\n iconPadding?: DotNotationSpacingStringToken;\n iconColor: IconColor;\n textColor: BaseTextProps['color'];\n buttonPaddingTop: SpacingValues;\n buttonPaddingBottom: SpacingValues;\n buttonPaddingLeft: SpacingValues;\n buttonPaddingRight: SpacingValues;\n text?: string;\n defaultBackgroundColor: string;\n defaultBorderColor: string;\n hoverBackgroundColor: string;\n hoverBorderColor: string;\n activeBackgroundColor: string;\n activeBorderColor: string;\n focusBackgroundColor: string;\n focusBorderColor: string;\n focusRingColor: string;\n motionDuration: DurationString;\n motionEasing: EasingString;\n borderWidth: BorderWidthValues;\n borderRadius: BorderRadiusValues;\n};\n\nconst getProps = ({\n buttonTypographyTokens,\n children,\n isDisabled,\n size,\n theme,\n variant,\n intent,\n contrast,\n hasIcon,\n}: {\n buttonTypographyTokens: ButtonTypography;\n children?: string;\n isDisabled: boolean;\n hasIcon: boolean;\n theme: Theme;\n size: NonNullable<BaseButtonProps['size']>;\n variant: NonNullable<BaseButtonProps['variant']>;\n intent: BaseButtonProps['intent'];\n contrast: NonNullable<BaseButtonProps['contrast']>;\n}): BaseButtonStyleProps => {\n const isIconOnly = hasIcon && (!children || children?.trim().length === 0);\n const props: BaseButtonStyleProps = {\n iconSize: isIconOnly ? buttonIconOnlySizeToIconSizeMap[size] : buttonSizeToIconSizeMap[size],\n spinnerSize: buttonSizeToSpinnerSizeMap[size],\n fontSize: buttonTypographyTokens.fonts.size[size],\n lineHeight: buttonTypographyTokens.lineHeights[size],\n minHeight: makeSize(buttonMinHeight[size]),\n iconPadding: hasIcon && children?.trim() ? `spacing.${textPadding[size]}` : undefined,\n iconColor: getColorToken({\n property: 'icon',\n variant,\n contrast,\n intent,\n state: 'default',\n }) as IconColor,\n textColor: getColorToken({\n property: 'text',\n variant,\n contrast,\n intent,\n state: 'default',\n }) as BaseTextProps['color'],\n buttonPaddingTop: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].top])\n : makeSpace(theme.spacing[buttonPadding[size].top]),\n buttonPaddingBottom: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].bottom])\n : makeSpace(theme.spacing[buttonPadding[size].bottom]),\n buttonPaddingLeft: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].left])\n : makeSpace(theme.spacing[buttonPadding[size].left]),\n buttonPaddingRight: isIconOnly\n ? makeSpace(theme.spacing[buttonIconOnlyPadding[size].right])\n : makeSpace(theme.spacing[buttonPadding[size].right]),\n text: size === 'xsmall' ? children?.trim().toUpperCase() : children?.trim(),\n defaultBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'default' }),\n ),\n defaultBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'default' }),\n ),\n hoverBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'hover' }),\n ),\n hoverBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'hover' }),\n ),\n activeBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'active' }),\n ),\n activeBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'active' }),\n ),\n focusBackgroundColor: getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'focus' }),\n ),\n focusBorderColor: getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'focus' }),\n ),\n focusRingColor: getIn(theme.colors, 'brand.primary.400'),\n borderWidth: makeBorderSize(theme.border.width.thin),\n borderRadius: makeBorderSize(theme.border.radius.small),\n motionDuration: 'duration.xquick',\n motionEasing: 'easing.standard.effective',\n };\n\n if (isDisabled) {\n const disabledBackgroundColor = getIn(\n theme.colors,\n getColorToken({ property: 'background', variant, contrast, intent, state: 'disabled' }),\n );\n const disabledBorderColor = getIn(\n theme.colors,\n getColorToken({ property: 'border', variant, contrast, intent, state: 'disabled' }),\n );\n props.iconColor = getColorToken({\n property: 'icon',\n variant,\n contrast,\n intent,\n state: 'disabled',\n }) as IconColor;\n props.textColor = getColorToken({\n property: 'text',\n variant,\n contrast,\n intent,\n state: 'disabled',\n }) as BaseTextProps['color'];\n props.defaultBackgroundColor = disabledBackgroundColor;\n props.defaultBorderColor = disabledBorderColor;\n props.hoverBackgroundColor = disabledBackgroundColor;\n props.hoverBorderColor = disabledBorderColor;\n props.activeBackgroundColor = disabledBackgroundColor;\n props.activeBorderColor = disabledBorderColor;\n props.focusBackgroundColor = disabledBackgroundColor;\n props.focusBorderColor = disabledBorderColor;\n }\n\n return props;\n};\n\nconst ButtonContent = styled(Box)<{ isHidden: boolean }>(({ isHidden }) => ({\n opacity: isHidden ? 0 : 1,\n}));\n\nconst BaseButton = ({\n variant = 'primary',\n intent,\n contrast = 'low',\n size = 'medium',\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n type = 'button',\n children,\n accessibilityLabel,\n}: BaseButtonProps): ReactElement => {\n const disabled = isLoading || isDisabled;\n const { theme } = useTheme();\n if (!Icon && !children?.trim()) {\n throw new Error(\n `[Blade: BaseButton]: At least one of icon or text is required to render a button.`,\n );\n }\n\n const prevLoading = usePrevious(isLoading);\n\n useEffect(() => {\n if (isLoading) announce('Started loading');\n\n if (!isLoading && prevLoading) announce('Stopped loading');\n }, [isLoading, prevLoading]);\n\n const {\n activeBorderColor,\n activeBackgroundColor,\n defaultBorderColor,\n defaultBackgroundColor,\n minHeight,\n buttonPaddingTop,\n buttonPaddingBottom,\n buttonPaddingLeft,\n buttonPaddingRight,\n focusBorderColor,\n focusBackgroundColor,\n focusRingColor,\n fontSize,\n hoverBorderColor,\n hoverBackgroundColor,\n iconColor,\n iconSize,\n iconPadding,\n spinnerSize,\n lineHeight,\n text,\n textColor,\n borderWidth,\n borderRadius,\n motionDuration,\n motionEasing,\n } = getProps({\n buttonTypographyTokens: buttonTypography,\n children,\n isDisabled: disabled,\n size,\n variant,\n theme,\n intent,\n contrast,\n hasIcon: Boolean(Icon),\n });\n\n return (\n <StyledBaseButton\n accessibilityProps={{ ...makeAccessible({ role: 'button', label: accessibilityLabel }) }}\n isLoading={isLoading}\n disabled={disabled}\n activeBorderColor={activeBorderColor}\n activeBackgroundColor={activeBackgroundColor}\n defaultBorderColor={defaultBorderColor}\n minHeight={minHeight}\n buttonPaddingTop={buttonPaddingTop}\n buttonPaddingBottom={buttonPaddingBottom}\n buttonPaddingLeft={buttonPaddingLeft}\n buttonPaddingRight={buttonPaddingRight}\n defaultBackgroundColor={defaultBackgroundColor}\n focusBorderColor={focusBorderColor}\n focusBackgroundColor={focusBackgroundColor}\n focusRingColor={focusRingColor}\n hoverBorderColor={hoverBorderColor}\n hoverBackgroundColor={hoverBackgroundColor}\n isFullWidth={isFullWidth}\n onClick={onClick}\n type={type}\n borderWidth={borderWidth}\n borderRadius={borderRadius}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Button)}\n >\n {isLoading ? (\n <Box\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n position=\"absolute\"\n top={0}\n left={0}\n bottom={0}\n right={0}\n >\n <BaseSpinner\n accessibilityLabel=\"Loading\"\n size={spinnerSize}\n intent={intent}\n contrast={contrast}\n />\n </Box>\n ) : null}\n <ButtonContent\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent=\"center\"\n flex={1}\n isHidden={isLoading}\n >\n {Icon && iconPosition == 'left' ? (\n <Box\n paddingRight={iconPadding}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n >\n <Icon size={iconSize} color={iconColor} />\n </Box>\n ) : null}\n {text ? (\n <BaseText\n lineHeight={lineHeight}\n fontSize={fontSize}\n fontWeight=\"bold\"\n textAlign=\"center\"\n color={textColor}\n >\n {text}\n </BaseText>\n ) : null}\n {Icon && iconPosition == 'right' ? (\n <Box paddingLeft={iconPadding} display=\"flex\" justifyContent=\"center\" alignItems=\"center\">\n <Icon size={iconSize} color={iconColor} />\n </Box>\n ) : null}\n </ButtonContent>\n </StyledBaseButton>\n );\n};\n\nexport default BaseButton;\n","import type { CSSObject } from 'styled-components';\n\nconst getStyledLinkStyles = ({ cursor }: { cursor?: CSSObject['cursor'] }): CSSObject => ({\n padding: 0,\n backgroundColor: 'transparent',\n outline: 'none',\n textDecoration: 'none',\n border: 'none',\n cursor,\n});\n\nexport default getStyledLinkStyles;\n","import type { ReactElement } from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { Linking } from 'react-native';\nimport styled from 'styled-components/native';\nimport getStyledLinkStyles from './getStyledLinkStyles';\nimport type { StyledBaseLinkProps } from './types';\n\nconst StyledNativeLink = styled.Pressable({\n ...getStyledLinkStyles({}),\n alignSelf: 'flex-start',\n});\n\nconst openURL = async (href: string): Promise<void> => {\n try {\n const canOpen = await Linking.canOpenURL(href);\n if (canOpen) {\n await Linking.openURL(href);\n }\n } catch {\n console.warn(`[Blade: BaseLink]: Could not open the link \"href=${href}\"`);\n }\n};\n\nconst StyledLink = ({\n variant,\n disabled,\n href,\n onClick,\n children,\n setCurrentInteraction,\n accessibilityProps,\n // @ts-expect-error avoid exposing to public\n style,\n}: StyledBaseLinkProps & { children: React.ReactNode }): ReactElement => {\n const handleOnPress = (event: GestureResponderEvent): void => {\n if (href && variant === 'anchor') {\n void openURL(href);\n }\n\n if (onClick) {\n /*\n React Native's Pressable's onClick returns a GestureResponderEvent but our types expect a SyntheticEvent.\n Until we have a way to handle platform specific types, we will have to ignore this TS error.\n */\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-expect-error\n onClick(event);\n }\n };\n\n return (\n <StyledNativeLink\n {...accessibilityProps}\n disabled={disabled}\n onPress={handleOnPress}\n onPressIn={(): void => setCurrentInteraction('active')}\n onPressOut={(): void => setCurrentInteraction('default')}\n style={style}\n >\n {children}\n </StyledNativeLink>\n );\n};\n\nexport default StyledLink;\n","import type { Dispatch, SetStateAction } from 'react';\nimport { useState } from 'react';\nimport type { ActionStates } from '~tokens/theme/theme';\n\nconst useInteraction = (): {\n onMouseEnter: () => void;\n onMouseLeave: () => void;\n onFocus: () => void;\n onBlur: () => void;\n currentInteraction: keyof ActionStates;\n setCurrentInteraction: Dispatch<SetStateAction<keyof ActionStates>>;\n} => {\n const [currentInteraction, setCurrentInteraction] = useState<keyof ActionStates>('default');\n\n const onMouseEnter = (): void => {\n if (currentInteraction !== 'active') setCurrentInteraction('hover');\n };\n const onMouseLeave = (): void => {\n if (currentInteraction !== 'active') setCurrentInteraction('default');\n };\n const onFocus = (): void => {\n setCurrentInteraction('active');\n };\n const onBlur = (): void => {\n setCurrentInteraction('default');\n };\n\n return { onMouseEnter, onMouseLeave, onFocus, onBlur, currentInteraction, setCurrentInteraction };\n};\n\nexport default useInteraction;\n","/* eslint-disable @typescript-eslint/prefer-ts-expect-error */\n/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport type { ReactElement, SyntheticEvent } from 'react';\nimport { useState } from 'react';\nimport type { CSSObject } from 'styled-components';\nimport StyledBaseLink from './StyledBaseLink';\nimport useInteraction from '~src/hooks/useInteraction';\nimport type { IconComponent, IconProps } from '~components/Icons';\nimport type { Theme } from '~components/BladeProvider';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport { BaseText } from '~components/Typography/BaseText';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport { makeAccessible, getIn, metaAttribute, MetaConstants } from '~utils';\nimport type { LinkActionStates } from '~tokens/theme/theme';\nimport type { DurationString, EasingString } from '~tokens/global/motion';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype BaseLinkCommonProps = {\n intent?: 'positive' | 'negative' | 'notice' | 'information' | 'neutral';\n contrast?: 'low' | 'high';\n icon?: IconComponent;\n iconPosition?: 'left' | 'right';\n onClick?: (event: SyntheticEvent) => void;\n accessibilityLabel?: string;\n\n /**\n * Sets the size of the link\n *\n * @default medium\n */\n size?: 'small' | 'medium';\n};\n\n/*\n Mandatory children prop when icon is not provided\n*/\ntype BaseLinkWithoutIconProps = BaseLinkCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype BaseLinkWithIconProps = BaseLinkCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n BaseLink Props with or without an icon\n*/\ntype BaseLinkPropsWithOrWithoutIcon = BaseLinkWithIconProps | BaseLinkWithoutIconProps;\n\n/*\n BaseLink Props when variant is anchor\n*/\ntype BaseLinkAnchorVariantProps = BaseLinkPropsWithOrWithoutIcon & {\n variant?: 'anchor';\n href?: string;\n target?: string;\n rel?: string;\n isDisabled?: undefined;\n};\n\n/*\n BaseLink Props when variant is button\n*/\ntype BaseLinkButtonVariantProps = BaseLinkPropsWithOrWithoutIcon & {\n variant?: 'button';\n isDisabled?: boolean;\n href?: undefined;\n target?: undefined;\n rel?: undefined;\n};\n\n/*\n BaseLink Props when variant is anchor or button\n*/\nexport type BaseLinkProps = BaseLinkAnchorVariantProps | BaseLinkButtonVariantProps;\n\ntype BaseLinkStyleProps = {\n as: 'a' | 'button';\n textDecorationLine: 'underline' | 'none';\n iconColor: IconProps['color'];\n iconSize: IconProps['size'];\n iconPadding: DotNotationSpacingStringToken;\n textColor: BaseTextProps['color'];\n focusRingColor: string;\n motionDuration: DurationString;\n motionEasing: EasingString;\n cursor: CSSObject['cursor'];\n disabled: boolean;\n role: 'button' | 'link';\n defaultRel: BaseLinkProps['rel'];\n type?: 'button';\n fontSize: BaseTextProps['fontSize'];\n};\n\nconst getColorToken = ({\n variant,\n intent,\n contrast,\n element,\n currentInteraction,\n isDisabled,\n isVisited,\n}: {\n variant: BaseLinkProps['variant'];\n intent: BaseLinkProps['intent'];\n contrast: NonNullable<BaseLinkProps['contrast']>;\n element: 'icon' | 'text';\n currentInteraction: keyof LinkActionStates;\n isDisabled: boolean;\n isVisited: boolean;\n}): IconProps['color'] | BaseTextProps['color'] => {\n let state = currentInteraction;\n if (isDisabled && variant == 'button') {\n state = 'disabled';\n }\n if (isVisited && variant == 'anchor' && !intent) {\n // visited state is only valid for anchor variant without any intent\n state = 'visited';\n }\n\n if (intent && state !== 'visited') {\n return `feedback.${intent}.action.${element}.link.${state}.${contrast}Contrast`;\n }\n return `action.${element}.link.${state}`;\n};\n\nconst getProps = ({\n theme,\n variant,\n currentInteraction,\n children,\n isDisabled,\n intent,\n contrast,\n isVisited,\n target,\n size,\n}: {\n theme: Theme;\n variant: NonNullable<BaseLinkProps['variant']>;\n currentInteraction: keyof LinkActionStates;\n children?: string;\n isDisabled: boolean;\n intent: BaseLinkProps['intent'];\n contrast: NonNullable<BaseLinkProps['contrast']>;\n isVisited: boolean;\n target: BaseLinkProps['target'];\n size: 'small' | 'medium';\n}): BaseLinkStyleProps => {\n const isButton = variant === 'button';\n const props: BaseLinkStyleProps = {\n as: isButton ? 'button' : 'a',\n textDecorationLine: !isButton && currentInteraction !== 'default' ? 'underline' : 'none',\n iconColor: getColorToken({\n variant,\n intent,\n contrast,\n element: 'icon',\n currentInteraction,\n isDisabled,\n isVisited,\n }) as IconProps['color'],\n fontSize: size === 'medium' ? 100 : 75,\n iconSize: size,\n iconPadding: children?.trim() ? 'spacing.2' : 'spacing.0',\n textColor: getColorToken({\n variant,\n intent,\n contrast,\n element: 'text',\n currentInteraction,\n isDisabled,\n isVisited,\n }) as BaseTextProps['color'],\n focusRingColor: getIn(theme.colors, 'brand.primary.400'),\n motionDuration: 'duration.2xquick',\n motionEasing: 'easing.standard.effective',\n cursor: isButton && isDisabled ? 'not-allowed' : 'pointer',\n disabled: isButton && isDisabled,\n role: isButton ? 'button' : 'link',\n defaultRel: target && target === '_blank' ? 'noreferrer noopener' : undefined,\n type: isButton ? 'button' : undefined,\n };\n\n return props;\n};\n\nconst BaseLink = ({\n children,\n icon: Icon,\n iconPosition = 'left',\n isDisabled = false,\n onClick,\n variant = 'anchor',\n href,\n target,\n rel,\n intent,\n contrast = 'low',\n accessibilityLabel,\n // @ts-expect-error avoiding exposing to public\n className,\n // @ts-expect-error avoiding exposing to public\n style,\n size = 'medium',\n}: BaseLinkProps): ReactElement => {\n const [isVisited, setIsVisited] = useState(false);\n const { currentInteraction, setCurrentInteraction, ...syntheticEvents } = useInteraction();\n const { theme } = useTheme();\n if (!Icon && !children?.trim()) {\n throw new Error(\n `[Blade: BaseLink]: At least one of icon or text is required to render a link.`,\n );\n }\n const {\n as,\n textDecorationLine,\n iconColor,\n iconPadding,\n iconSize,\n fontSize,\n textColor,\n focusRingColor,\n motionDuration,\n motionEasing,\n cursor,\n disabled,\n role,\n defaultRel,\n type,\n } = getProps({\n theme,\n variant,\n currentInteraction,\n children,\n isDisabled,\n intent,\n contrast,\n isVisited,\n target,\n size,\n });\n\n const handleOnClick = (event: SyntheticEvent): void => {\n if (!isVisited && !intent && variant === 'anchor') {\n // visited state is only valid for anchor variant without any intent\n setIsVisited(true);\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n return (\n <StyledBaseLink\n {...syntheticEvents}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Link)}\n accessibilityProps={{ ...makeAccessible({ role, label: accessibilityLabel, disabled }) }}\n variant={variant}\n as={as}\n href={href}\n target={target}\n rel={rel ?? defaultRel}\n onClick={handleOnClick}\n disabled={disabled}\n type={type}\n cursor={cursor}\n focusRingColor={focusRingColor}\n motionDuration={motionDuration}\n motionEasing={motionEasing}\n setCurrentInteraction={setCurrentInteraction}\n // @ts-ignore Because we avoided exposing className to public\n className={className}\n style={style}\n >\n <Box display=\"flex\" flexDirection=\"row\" className=\"content-container\" alignItems=\"center\">\n {Icon && iconPosition == 'left' ? (\n <Box paddingRight={iconPadding} display=\"flex\" alignItems=\"center\">\n <Icon color={iconColor} size={iconSize} />\n </Box>\n ) : null}\n <BaseText\n textDecorationLine={textDecorationLine}\n color={textColor}\n fontSize={fontSize}\n textAlign=\"center\"\n fontWeight=\"bold\"\n >\n {children}\n </BaseText>\n {Icon && iconPosition == 'right' ? (\n <Box paddingLeft={iconPadding} display=\"flex\" alignItems=\"center\">\n <Icon color={iconColor} size={iconSize} />\n </Box>\n ) : null}\n </Box>\n </StyledBaseLink>\n );\n};\n\nexport default BaseLink;\n","import type { ReactChild, ReactElement } from 'react';\nimport { Fragment, useState } from 'react';\n\nimport { StyledAlert } from './StyledAlert';\nimport {\n AlertOctagonIcon,\n AlertTriangleIcon,\n CheckCircleIcon,\n CloseIcon,\n InfoIcon,\n} from '~components/Icons';\nimport {\n getPlatformType,\n makeAccessible,\n metaAttribute,\n MetaConstants,\n useBreakpoint,\n} from '~utils';\nimport { IconButton } from '~components/Button/IconButton';\nimport Box from '~components/Box';\nimport { Heading, Text } from '~components/Typography';\nimport BaseButton from '~components/Button/BaseButton';\nimport { BaseLink } from '~components/Link/BaseLink';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\nimport { useTheme } from '~components/BladeProvider';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\n\ntype Nullable<Type> = Type | null;\n\ntype PrimaryAction = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionButton = {\n text: string;\n onClick: () => void;\n};\n\ntype SecondaryActionLinkButton = {\n text: string;\n href: string;\n onClick?: () => void;\n target?: string;\n /**\n * When `target` is set to `_blank` this is automatically set to `noopener noreferrer`\n */\n rel?: string;\n};\n\ntype SecondaryAction = SecondaryActionButton | SecondaryActionLinkButton;\n\ntype AlertProps = {\n /**\n * Body content, pass text or JSX. Avoid passing components except `Link` to customize the content.\n */\n description: ReactChild;\n\n /**\n * A brief heading\n */\n title?: string;\n\n /**\n * Shows a dismiss button\n *\n * @default true\n */\n isDismissable?: boolean;\n\n /**\n * A callback when the dismiss button is clicked\n */\n onDismiss?: () => void;\n\n /**\n * Can be set to `high` for a more prominent look. Not to be confused with a11y contrast.\n *\n * @default low\n */\n contrast?: ColorContrastTypes;\n\n /**\n * Makes the Alert span the entire container width, instead of the default max width of `584px`.\n * This also makes the alert borderless, useful for creating full bleed layouts.\n *\n * @default false\n */\n isFullWidth?: boolean;\n\n /**\n * Sets the color tone\n *\n * @default neutral\n */\n intent?: Feedback;\n\n /**\n * Renders a primary action button and a secondary action link button\n */\n actions?: {\n /**\n * Renders a button (should **always** be present if `secondary` action is being used)\n */\n primary: PrimaryAction;\n\n /**\n * Renders a Link button\n */\n secondary?: SecondaryAction;\n };\n};\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n// Need extra wrappers on React Native only for alignment\nconst CloseButtonWrapper = isReactNative ? Box : Fragment;\n\nconst intentIconMap = {\n positive: CheckCircleIcon,\n negative: AlertOctagonIcon,\n information: InfoIcon,\n neutral: InfoIcon,\n notice: AlertTriangleIcon,\n};\n\nconst Alert = ({\n description,\n title,\n isDismissable = true,\n onDismiss,\n contrast = 'low',\n isFullWidth = false,\n intent = 'neutral',\n actions,\n}: AlertProps): ReactElement | null => {\n if (!actions?.primary && actions?.secondary) {\n throw new Error(\n '[Blade: Alert]: SecondaryAction is allowed only when PrimaryAction is defined.',\n );\n }\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isMobile = !isDesktop;\n\n const [isVisible, setIsVisible] = useState(true);\n const contrastType = `${contrast}Contrast` as const;\n const iconSize = isFullWidth ? 'large' : 'medium';\n const textSize = isFullWidth ? 'medium' : 'small';\n\n const Icon = intentIconMap[intent];\n let iconOffset: DotNotationSpacingStringToken = 'spacing.1';\n\n // certain special cases below needs special care for near perfect alignment\n if (isReactNative) {\n if (isFullWidth && !title) {\n iconOffset = 'spacing.1';\n } else if (!isFullWidth && !title) {\n iconOffset = 'spacing.0';\n } else if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n }\n } else if (isMobile) {\n if (!isFullWidth && title) {\n iconOffset = 'spacing.2';\n } else if (isFullWidth && !title) {\n iconOffset = 'spacing.2';\n }\n } else if (isFullWidth) {\n iconOffset = 'spacing.0';\n }\n\n const icon = (\n <Box marginTop={iconOffset} display=\"flex\">\n <Icon color={`feedback.icon.${intent}.${contrastType}`} size={iconSize} />\n </Box>\n );\n\n const _title = title ? (\n <Box marginBottom=\"spacing.2\">\n {isFullWidth ? (\n <Heading size=\"small\" contrast={contrast}>\n {title}\n </Heading>\n ) : (\n <Text weight=\"bold\" contrast={contrast}>\n {title}\n </Text>\n )}\n </Box>\n ) : null;\n\n const _description = (\n <Box marginTop={title || isReactNative ? 'spacing.0' : 'spacing.1'}>\n <Text size={textSize} contrast={contrast}>\n {description}\n </Text>\n </Box>\n );\n\n const primaryAction = actions?.primary ? (\n <Box marginRight=\"spacing.5\" display={isReactNative ? 'flex' : 'inline-flex'}>\n <BaseButton\n size={textSize}\n onClick={actions.primary.onClick}\n intent={intent}\n contrast={contrast}\n >\n {actions.primary.text}\n </BaseButton>\n </Box>\n ) : null;\n\n const secondaryActionParams: Nullable<Partial<SecondaryActionLinkButton>> = actions?.secondary\n ? {\n onClick: actions.secondary.onClick,\n }\n : null;\n\n /**\n * TS assumes only common properties to be present for `SecondaryAction` union type\n * We add a type guard that checks if href is present on secondary action:\n * - If yes, then TS can assume it to be `SecondaryActionLinkButton` (href being a required property)\n * - If no, then it would be `SecondaryActionButton` (and link properties wouldn't be needed)\n */\n if (actions?.secondary && secondaryActionParams && 'href' in actions.secondary) {\n secondaryActionParams.href = actions.secondary.href;\n secondaryActionParams.target = actions.secondary.target;\n secondaryActionParams.rel = actions.secondary.rel;\n }\n const secondaryAction = actions?.secondary ? (\n <Box marginRight=\"spacing.4\" display={isReactNative ? 'flex' : 'inline-flex'}>\n <BaseLink size={textSize} contrast={contrast} intent={intent} {...secondaryActionParams}>\n {actions.secondary.text}\n </BaseLink>\n </Box>\n ) : null;\n\n // For certain cases we wish to render actions inline with text content\n const showActionsHorizontal = isFullWidth && isDesktop;\n\n const actionsHorizontal =\n showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <Box flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </Box>\n ) : null;\n\n const actionsVertical =\n !showActionsHorizontal && (primaryAction || secondaryAction) ? (\n <Box marginTop=\"spacing.4\" flexDirection=\"row\" alignItems=\"center\">\n {primaryAction}\n {secondaryAction}\n </Box>\n ) : null;\n\n const onClickDismiss = (): void => {\n if (onDismiss) {\n onDismiss();\n }\n setIsVisible(false);\n };\n const closeButton = isDismissable ? (\n <CloseButtonWrapper>\n <IconButton\n accessibilityLabel=\"Dismiss alert\"\n onClick={onClickDismiss}\n contrast={contrast}\n size={iconSize}\n icon={CloseIcon}\n />\n </CloseButtonWrapper>\n ) : null;\n\n const a11yProps = makeAccessible({\n // React Native doesn't has status as role\n role: isReactNative || intent === 'negative' || intent === 'notice' ? 'alert' : 'status',\n // override the implicit live region of role `alert`\n ...(intent === 'notice' && { liveRegion: 'polite' }),\n });\n\n if (!isVisible) {\n return null;\n }\n\n return (\n <StyledAlert\n intent={intent}\n contrastType={contrastType}\n isFullWidth={isFullWidth}\n isDesktop={isDesktop}\n {...a11yProps}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Alert)}\n >\n {icon}\n <Box\n flex={1}\n paddingLeft={isFullWidth ? 'spacing.4' : 'spacing.3'}\n paddingRight={showActionsHorizontal ? 'spacing.4' : 'spacing.2'}\n >\n {_title}\n {_description}\n {actionsVertical}\n </Box>\n {actionsHorizontal}\n {closeButton}\n </StyledAlert>\n );\n};\n\nexport { AlertProps, Alert };\n","import type { CSSObject } from 'styled-components';\nimport type { StyledBadgeProps } from './types';\nimport { getIn, makeBorderSize } from '~utils';\n\nconst getStyledBadgeStyles = ({ theme, backgroundColor }: StyledBadgeProps): CSSObject => ({\n backgroundColor: getIn(theme.colors, backgroundColor),\n borderRadius: makeBorderSize(theme.border.radius.max),\n display: 'flex',\n flexWrap: 'nowrap',\n});\n\nexport { getStyledBadgeStyles };\n","import styled from 'styled-components/native';\nimport { getStyledBadgeStyles } from './getStyledBadgeStyles';\nimport type { StyledBadgeProps } from './types';\n\nconst StyledBadge = styled.View<StyledBadgeProps>((props) => ({\n ...getStyledBadgeStyles(props),\n alignSelf: 'center',\n}));\n\nexport { StyledBadge };\n","import type { BadgeProps } from './Badge';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\nimport type { IconProps } from '~components/Icons';\n\nconst verticalPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.0',\n medium: 'spacing.1',\n large: 'spacing.2',\n};\n\nconst horizontalPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.3',\n medium: 'spacing.3',\n large: 'spacing.4',\n};\n\nconst iconPadding: Record<NonNullable<BadgeProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.1',\n medium: 'spacing.2',\n large: 'spacing.2',\n};\n\nconst iconSize: Record<NonNullable<BadgeProps['size']>, IconProps['size']> = {\n small: 'xsmall',\n medium: 'small',\n large: 'small',\n};\n\nexport { verticalPadding, horizontalPadding, iconPadding, iconSize };\n","import type { ReactElement } from 'react';\nimport type { StyledBadgeProps } from './types';\nimport { StyledBadge } from './StyledBadge';\nimport { iconPadding, iconSize, horizontalPadding, verticalPadding } from './badgeTokens';\nimport type { IconComponent, IconProps } from '~components/Icons';\nimport Box from '~components/Box';\nimport type { Feedback } from '~tokens/theme/theme';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { Text } from '~components/Typography';\nimport { metaAttribute, MetaConstants } from '~utils';\n\ntype BadgeProps = {\n /**\n * Sets the label for the badge.\n *\n */\n children: string;\n /**\n * Sets the variant of the badge.\n *\n * @default 'neutral'\n */\n variant?: Feedback | 'blue';\n /**\n * Sets the contrast of the badge.\n *\n * @default 'low'\n */\n contrast?: 'low' | 'high';\n /**\n * Sets the size of the badge.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n /**\n * Icon to be displayed in the badge.\n * Accepts a component of type `IconComponent` from Blade.\n *\n */\n icon?: IconComponent;\n /**\n * Sets the fontWeight of the label.\n *\n * @default 'regular'\n */\n fontWeight?: 'regular' | 'bold';\n};\n\nconst isFeedbackVariant = (variant: string): variant is Feedback => {\n const feedbackVariants = ['information', 'negative', 'neutral', 'notice', 'positive'];\n return feedbackVariants.includes(variant);\n};\n\ntype ColorProps = {\n iconColor: IconProps['color'];\n textColor: BaseTextProps['color'];\n backgroundColor: StyledBadgeProps['backgroundColor'];\n};\n\nconst getColorProps = ({\n variant,\n contrast,\n}: {\n variant: NonNullable<BadgeProps['variant']>;\n contrast: NonNullable<BadgeProps['contrast']>;\n}): ColorProps => {\n const props: ColorProps = {\n iconColor: 'feedback.icon.neutral.lowContrast',\n textColor: 'feedback.text.neutral.lowContrast',\n backgroundColor: 'feedback.background.neutral.lowContrast',\n };\n if (isFeedbackVariant(variant)) {\n props.iconColor = `feedback.icon.${variant}.${contrast}Contrast`;\n props.textColor = `feedback.text.${variant}.${contrast}Contrast`;\n props.backgroundColor = `feedback.background.${variant}.${contrast}Contrast`;\n } else {\n props.iconColor = `badge.icon.${variant}.${contrast}Contrast`;\n props.textColor = `badge.text.${variant}.${contrast}Contrast`;\n props.backgroundColor = `badge.background.${variant}.${contrast}Contrast`;\n }\n return props;\n};\n\nconst Badge = ({\n children,\n contrast = 'low',\n fontWeight = 'regular',\n icon: Icon,\n size = 'medium',\n variant = 'neutral',\n}: BadgeProps): ReactElement => {\n if (!children?.trim()) {\n throw new Error('[Blade: Badge]: Text as children is required for Badge.');\n }\n const { backgroundColor, iconColor, textColor } = getColorProps({\n variant,\n contrast,\n });\n\n const badgeTextSizes = {\n small: {\n variant: 'body',\n size: 'xsmall',\n },\n medium: {\n variant: 'body',\n size: 'small',\n },\n large: {\n variant: 'body',\n size: 'small',\n },\n } as const;\n\n return (\n <StyledBadge\n backgroundColor={backgroundColor}\n size={size}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Badge)}\n >\n <Box\n paddingRight={horizontalPadding[size]}\n paddingLeft={horizontalPadding[size]}\n paddingTop={verticalPadding[size]}\n paddingBottom={verticalPadding[size]}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n >\n {Icon ? (\n <Box paddingRight={Boolean(Icon) ? iconPadding[size] : 'spacing.0'} display=\"flex\">\n <Icon color={iconColor} size={iconSize[size]} />\n </Box>\n ) : null}\n <Text\n {...badgeTextSizes[size]}\n type=\"normal\"\n weight={fontWeight}\n truncateAfterLines={1}\n color={textColor}\n >\n {children}\n </Text>\n </Box>\n </StyledBadge>\n );\n};\n\nexport { Badge, BadgeProps };\n","import React from 'react';\nimport { Platform } from 'react-native';\nimport styled from 'styled-components/native';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport type { BoxProps } from '~components/Box/types';\n\nconst isAndroid = Platform.OS === 'android';\n// TODO: Temporary workaround to make android shadows look as close as iOS\nconst androidShadow = {\n color: undefined,\n elevation: 2,\n};\n\nconst CardSurfaceStyled = styled(Box)<{ elevation: number; surfaceLevel: 2 | 3 }>(\n ({ surfaceLevel, theme }) => {\n const backgroundColor = theme.colors.surface.background[`level${surfaceLevel}`].lowContrast;\n return {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n shadowOpacity: '1',\n shadowRadius: theme.shadows.blurRadius.level[1],\n shadowColor: isAndroid ? androidShadow.color : theme.shadows.color.level[1],\n shadowOffset: `0px ${theme.shadows.offsetY.level[1]}px`,\n backgroundColor,\n };\n },\n);\n\ntype CardSurfaceProps = {\n children: React.ReactNode;\n surfaceLevel: 2 | 3;\n} & BoxProps;\n\nconst CardSurface = ({\n children,\n surfaceLevel,\n ...props\n}: CardSurfaceProps): React.ReactElement => {\n const { theme } = useTheme();\n\n return (\n <CardSurfaceStyled\n {...props}\n surfaceLevel={surfaceLevel}\n elevation={isAndroid ? androidShadow.elevation : theme.shadows.androidElevation.level[1]}\n >\n {children}\n </CardSurfaceStyled>\n );\n};\n\nexport { CardSurface };\n","import React from 'react';\nimport { getComponentId } from '~utils';\n\ntype CardContextType = true | null;\nconst CardContext = React.createContext<CardContextType>(null);\n\nconst useVerifyInsideCard = (componentName: string): CardContextType => {\n const context = React.useContext(CardContext);\n if (!context) {\n throw new Error(`[Blade Card]: ${componentName} cannot be used outside of Card component`);\n }\n return true;\n};\n\n/**\n * Verify if the passed childrens are only of allowedComponents list\n */\nconst useVerifyAllowedComponents = (\n children: React.ReactNode,\n componentName: string,\n allowedComponents: string[],\n): void => {\n React.Children.forEach(children, (child) => {\n const isValidChild = child && allowedComponents.includes(getComponentId(child)!);\n if (!isValidChild) {\n throw new Error(\n `[Blade Card]: Only one of \\`${allowedComponents.join(\n ', ',\n )}\\` component is accepted as ${componentName} children`,\n );\n }\n });\n};\n\ntype CardProviderProps = { children: React.ReactNode };\nconst CardProvider = ({ children }: CardProviderProps): React.ReactElement => {\n return <CardContext.Provider value={true}>{children}</CardContext.Provider>;\n};\n\nexport { useVerifyInsideCard, useVerifyAllowedComponents, CardProvider };\n","import React from 'react';\nimport { CardSurface } from './CardSurface';\nimport { CardProvider, useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport Box from '~components/Box';\nimport type { WithComponentId } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils';\n\nexport const ComponentIds = {\n CardHeader: 'CardHeader',\n CardHeaderTrailing: 'CardHeaderTrailing',\n CardHeaderLeading: 'CardHeaderLeading',\n CardFooter: 'CardFooter',\n CardFooterTrailing: 'CardFooterTrailing',\n CardFooterLeading: 'CardFooterLeading',\n CardBody: 'CardBody',\n CardHeaderIcon: 'CardHeaderIcon',\n CardHeaderCounter: 'CardHeaderCounter',\n CardHeaderBadge: 'CardHeaderBadge',\n CardHeaderText: 'CardHeaderText',\n CardHeaderLink: 'CardHeaderLink',\n CardHeaderIconButton: 'CardHeaderIconButton',\n};\n\nexport type CardProps = {\n /**\n * Card contents\n */\n children: React.ReactNode;\n /**\n * Sets the background color of the Card according to the surface level tokens\n *\n * eg: `theme.colors.surface.background.level1`\n *\n * **Description:**\n *\n * - 2: Used in layouts which are on top of the main background\n * - 3: Used over the cards template or as a text input backgrounds.\n *\n * **Links:**\n * - Docs: https://blade.razorpay.com/?path=/docs/tokens-colors--page#-theme-tokens\n * - Figma: https://shorturl.at/fsvwK\n */\n surfaceLevel?: 2 | 3;\n};\n\nconst Card = ({ children, surfaceLevel = 3 }: CardProps): React.ReactElement => {\n useVerifyAllowedComponents(children, 'Card', [\n ComponentIds.CardHeader,\n ComponentIds.CardBody,\n ComponentIds.CardFooter,\n ]);\n\n return (\n <CardProvider>\n <CardSurface\n {...metaAttribute(MetaConstants.Component, MetaConstants.Card)}\n paddingLeft=\"spacing.7\"\n paddingRight=\"spacing.7\"\n paddingTop=\"spacing.6\"\n paddingBottom=\"spacing.6\"\n borderRadius=\"medium\"\n surfaceLevel={surfaceLevel}\n >\n {children}\n </CardSurface>\n </CardProvider>\n );\n};\n\ntype CardBodyProps = {\n children: React.ReactNode;\n};\n\nconst CardBody: WithComponentId<CardBodyProps> = ({ children }) => {\n useVerifyInsideCard('CardBody');\n\n return <Box {...metaAttribute(MetaConstants.Component, MetaConstants.CardBody)}>{children}</Box>;\n};\nCardBody.componentId = ComponentIds.CardBody;\n\nexport { Card, CardBody };\n","import type { ReactElement, SyntheticEvent } from 'react';\nimport { BaseLink } from '../BaseLink';\nimport type { IconComponent } from '~components/Icons';\n\ntype LinkCommonProps = {\n variant?: 'anchor' | 'button';\n icon?: IconComponent;\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n onClick?: (event: SyntheticEvent) => void;\n href?: string;\n target?: string;\n accessibilityLabel?: string;\n\n /**\n * Sets the size of the link\n *\n * @default medium\n */\n size?: 'small' | 'medium';\n};\n\n/*\n Mandatory children prop when icon is not provided\n*/\ntype LinkWithoutIconProps = LinkCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n*/\ntype LinkWithIconProps = LinkCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\n/*\n Link Props with or without an icon\n*/\ntype LinkPropsWithOrWithoutIcon = LinkWithIconProps | LinkWithoutIconProps;\n\n/*\n Link Props when variant is anchor\n*/\ntype LinkAnchorVariantProps = LinkPropsWithOrWithoutIcon & {\n variant?: 'anchor';\n href?: string;\n target?: string;\n rel?: string;\n isDisabled?: undefined;\n};\n\n/*\n Link Props when variant is button\n*/\ntype LinkButtonVariantProps = LinkPropsWithOrWithoutIcon & {\n variant?: 'button';\n isDisabled?: boolean;\n href?: undefined;\n target?: undefined;\n rel?: undefined;\n};\n\n/*\n Link Props when variant is anchor or button\n*/\nexport type LinkProps = LinkAnchorVariantProps | LinkButtonVariantProps;\n\nconst Link = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n onClick,\n variant = 'anchor',\n href,\n target,\n rel,\n accessibilityLabel,\n size = 'medium',\n}: LinkProps): ReactElement => {\n return (\n <BaseLink\n {...(icon ? { icon, children } : { children })}\n {...(variant === 'anchor' ? { variant, href, target, rel } : { variant, isDisabled })}\n iconPosition={iconPosition}\n onClick={onClick}\n accessibilityLabel={accessibilityLabel}\n size={size}\n />\n );\n};\n\nexport default Link;\n","import type { GestureResponderEvent } from 'react-native';\nimport BaseButton from '../BaseButton';\nimport type { IconComponent } from '~components/Icons';\nimport type { Platform } from '~utils';\n\ntype ButtonCommonProps = {\n variant?: 'primary' | 'secondary' | 'tertiary';\n size?: 'xsmall' | 'small' | 'medium' | 'large';\n iconPosition?: 'left' | 'right';\n isDisabled?: boolean;\n isFullWidth?: boolean;\n isLoading?: boolean;\n accessibilityLabel?: string;\n type?: 'button' | 'reset' | 'submit';\n onClick?: Platform.Select<{\n native: (event: GestureResponderEvent) => void;\n web: (event: React.MouseEvent<HTMLButtonElement>) => void;\n }>;\n};\n\n/*\n Mandatory children prop when icon is not provided\n */\ntype ButtonWithoutIconProps = ButtonCommonProps & {\n icon?: undefined;\n children: string;\n};\n\n/*\n Optional children prop when icon is provided\n */\ntype ButtonWithIconProps = ButtonCommonProps & {\n icon: IconComponent;\n children?: string;\n};\n\nexport type ButtonProps = ButtonWithoutIconProps | ButtonWithIconProps;\n\nconst Button = ({\n children,\n icon,\n iconPosition = 'left',\n isDisabled = false,\n isFullWidth = false,\n isLoading = false,\n onClick,\n size = 'medium',\n type = 'button',\n variant = 'primary',\n accessibilityLabel,\n}: ButtonProps): React.ReactElement => {\n return (\n <BaseButton\n {...(icon ? { icon, children } : { children })}\n accessibilityLabel={accessibilityLabel}\n iconPosition={iconPosition}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n onClick={onClick}\n size={size}\n type={type}\n variant={variant}\n isLoading={isLoading}\n />\n );\n};\n\nexport default Button;\n","import styled from 'styled-components/native';\nimport { makeSize } from '~utils';\n\nconst Divider = styled.View(({ theme }) => {\n return {\n borderBottomWidth: makeSize(theme.border.width.thin),\n borderBottomStyle: 'solid',\n borderColor: theme.colors.surface.border.normal.lowContrast,\n };\n});\n\nexport { Divider };\n","import type { CounterProps } from './Counter';\nimport type { TypographyPlatforms } from '~tokens/global/typography';\nimport type { DotNotationSpacingStringToken } from '~src/_helpers/types';\n\ntype CounterMaxWidth = 100 | 120;\n\nconst verticalPadding: Record<NonNullable<CounterProps['size']>, DotNotationSpacingStringToken> = {\n small: 'spacing.0',\n medium: 'spacing.1',\n large: 'spacing.1',\n};\n\nconst horizontalPadding: Record<\n NonNullable<CounterProps['size']>,\n DotNotationSpacingStringToken\n> = {\n small: 'spacing.2',\n medium: 'spacing.3',\n large: 'spacing.3',\n};\n\nconst maxWidth: Record<NonNullable<TypographyPlatforms>, CounterMaxWidth> = {\n onMobile: 100,\n onDesktop: 120,\n};\n\nexport { maxWidth, verticalPadding, horizontalPadding };\n","import type { CSSObject } from 'styled-components';\nimport { maxWidth } from './counterTokens';\nimport type { StyledCounterProps } from './types';\nimport { getIn, makeBorderSize, makeSize } from '~utils';\n\nconst getStyledCounterStyles = ({\n theme,\n platform,\n backgroundColor,\n}: StyledCounterProps): CSSObject => ({\n backgroundColor: getIn(theme.colors, backgroundColor),\n borderRadius: makeBorderSize(theme.border.radius.max),\n maxWidth: makeSize(maxWidth[platform]),\n display: 'flex',\n flexWrap: 'nowrap',\n});\n\nexport { getStyledCounterStyles };\n","import styled from 'styled-components/native';\nimport { getStyledCounterStyles } from './getStyledCounterStyles';\nimport type { StyledCounterProps } from './types';\n\nconst StyledCounter = styled.View<StyledCounterProps>((props) => ({\n ...getStyledCounterStyles(props),\n alignSelf: 'center',\n}));\n\nexport { StyledCounter };\n","import { StyledCounter } from './StyledCounter';\nimport type { StyledCounterProps } from './types';\nimport { horizontalPadding, verticalPadding } from './counterTokens';\nimport type { Feedback } from '~tokens/theme/theme';\nimport { Text } from '~components/Typography';\nimport Box from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\nimport { metaAttribute, MetaConstants } from '~utils';\n\nexport type CounterProps = {\n /**\n * Sets the value for the counter.\n */\n value: number;\n /**\n * Sets the max value for the counter.\n * If value exceedes `max` it will render `value+`\n */\n max?: number;\n /**\n * Sets the intent of the counter.\n *\n * @default 'neutral'\n */\n intent?: Feedback;\n /**\n * Sets the contrast of the counter.\n *\n * @default 'low'\n */\n contrast?: 'high' | 'low';\n /**\n * Sets the size of the counter.\n *\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype ColorProps = {\n textColor: BaseTextProps['color'];\n backgroundColor: StyledCounterProps['backgroundColor'];\n};\n\nconst getColorProps = ({\n intent = 'neutral',\n contrast = 'low',\n}: {\n intent: NonNullable<CounterProps['intent']>;\n contrast: NonNullable<CounterProps['contrast']>;\n}): ColorProps => {\n const props: ColorProps = {\n textColor: `feedback.text.${intent}.${contrast}Contrast`,\n backgroundColor: `feedback.background.${intent}.${contrast}Contrast`,\n };\n return props;\n};\n\nconst Counter = ({\n value,\n max,\n intent = 'neutral',\n contrast = 'low',\n size = 'medium',\n}: CounterProps): React.ReactElement => {\n let content = `${value}`;\n if (max && value > max) {\n content = `${max}+`;\n }\n\n const { platform } = useTheme();\n const { backgroundColor, textColor } = getColorProps({\n intent,\n contrast,\n });\n\n const counterTextSizes = {\n small: {\n variant: 'body',\n size: 'xsmall',\n },\n medium: {\n variant: 'body',\n size: 'small',\n },\n large: {\n variant: 'body',\n size: 'medium',\n },\n } as const;\n\n return (\n <StyledCounter backgroundColor={backgroundColor} size={size} platform={platform}>\n <Box\n paddingRight={horizontalPadding[size]}\n paddingLeft={horizontalPadding[size]}\n paddingTop={verticalPadding[size]}\n paddingBottom={verticalPadding[size]}\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"center\"\n alignItems=\"center\"\n overflow=\"hidden\"\n {...metaAttribute(MetaConstants.Component, MetaConstants.Counter)}\n >\n <Text\n {...counterTextSizes[size]}\n type=\"normal\"\n weight=\"regular\"\n truncateAfterLines={1}\n color={textColor}\n >\n {content}\n </Text>\n </Box>\n </StyledCounter>\n );\n};\n\nexport { Counter };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { BadgeProps } from '../Badge';\nimport { Badge } from '../Badge';\nimport type { LinkProps } from '../Link';\nimport { Link } from '../Link';\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { Divider } from './Divider';\nimport { useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport { ComponentIds } from './Card';\nimport Box from '~components/Box';\nimport type { TextProps, TextVariant } from '~components/Typography';\nimport { Heading, Text } from '~components/Typography';\nimport type { IconComponent } from '~components/Icons';\nimport type { CounterProps } from '~components/Counter';\nimport { Counter } from '~components/Counter';\nimport { minHeight } from '~components/Button/BaseButton/buttonTokens';\nimport type { WithComponentId } from '~utils';\nimport {\n metaAttribute,\n MetaConstants,\n getComponentId,\n isValidAllowedChildren,\n makeSpace,\n} from '~utils';\n\nconst CardHeaderIcon: WithComponentId<{ icon: IconComponent }> = ({ icon: Icon }) => {\n useVerifyInsideCard('CardHeaderIcon');\n\n return <Icon color=\"surface.text.normal.lowContrast\" size=\"xlarge\" />;\n};\nCardHeaderIcon.componentId = ComponentIds.CardHeaderIcon;\n\nconst CardHeaderCounter: WithComponentId<CounterProps> = (props) => {\n useVerifyInsideCard('CardHeaderCounter');\n\n return <Counter {...props} />;\n};\nCardHeaderCounter.componentId = ComponentIds.CardHeaderCounter;\n\nconst CardHeaderBadge: WithComponentId<BadgeProps> = (props) => {\n useVerifyInsideCard('CardHeaderBadge');\n\n return <Badge {...props} />;\n};\nCardHeaderBadge.componentId = ComponentIds.CardHeaderBadge;\n\nconst CardHeaderText: WithComponentId<TextProps<{ variant: TextVariant }>> = (props) => {\n useVerifyInsideCard('CardHeaderText');\n\n return <Text {...props} />;\n};\nCardHeaderText.componentId = ComponentIds.CardHeaderText;\n\nconst CardHeaderLink: WithComponentId<LinkProps> = (props) => {\n useVerifyInsideCard('CardHeaderLink');\n\n return <Link {...props} />;\n};\nCardHeaderLink.componentId = ComponentIds.CardHeaderLink;\n\ntype CardHeaderIconButtonProps = Omit<\n ButtonProps,\n 'variant' | 'size' | 'iconPosition' | 'isFullWidth' | 'children'\n> & {\n icon: IconComponent;\n};\n\nconst CardHeaderIconButton: WithComponentId<CardHeaderIconButtonProps> = (props) => {\n useVerifyInsideCard('CardHeaderIconButton');\n\n return (\n <Box width={makeSpace(minHeight.xsmall)}>\n <Button {...props} variant=\"tertiary\" size=\"xsmall\" iconPosition=\"left\" isFullWidth />\n </Box>\n );\n};\nCardHeaderIconButton.componentId = ComponentIds.CardHeaderIconButton;\n\ntype CardHeaderProps = {\n children?: React.ReactNode;\n};\n\nconst CardHeader: WithComponentId<CardHeaderProps> = ({ children }) => {\n useVerifyInsideCard('CardHeader');\n useVerifyAllowedComponents(children, 'CardHeader', [\n ComponentIds.CardHeaderLeading,\n ComponentIds.CardHeaderTrailing,\n ]);\n\n return (\n <Box\n marginBottom=\"spacing.7\"\n {...metaAttribute(MetaConstants.Component, MetaConstants.CardHeader)}\n >\n <Box\n marginBottom=\"spacing.7\"\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n >\n {children}\n </Box>\n <Divider />\n </Box>\n );\n};\nCardHeader.componentId = ComponentIds.CardHeader;\n\ntype CardHeaderLeadingProps = {\n title: string;\n subtitle?: string;\n /**\n * prefix element of Card\n *\n * Accepts: `CardHeaderIcon` component\n */\n prefix?: React.ReactNode;\n /**\n * suffix element of Card\n *\n * Accepts: `CardHeaderCounter` component\n */\n suffix?: React.ReactNode;\n};\nconst CardHeaderLeading: WithComponentId<CardHeaderLeadingProps> = ({\n title,\n subtitle,\n prefix,\n suffix,\n}) => {\n useVerifyInsideCard('CardHeaderLeading');\n\n if (prefix && !isValidAllowedChildren(prefix, ComponentIds.CardHeaderIcon)) {\n throw new Error(\n `[Blade CardHeaderLeading]: Only \\`${ComponentIds.CardHeaderIcon}\\` component is accepted in prefix`,\n );\n }\n\n if (suffix && !isValidAllowedChildren(suffix, ComponentIds.CardHeaderCounter)) {\n throw new Error(\n `[Blade CardHeaderLeading]: Only \\`${ComponentIds.CardHeaderCounter}\\` component is accepted in prefix`,\n );\n }\n\n return (\n <Box flex={1} display=\"flex\" flexDirection=\"row\">\n <Box marginRight=\"spacing.3\" alignSelf=\"center\" display=\"flex\">\n {prefix}\n </Box>\n <Box>\n <Box display=\"flex\" flexDirection=\"row\" alignItems=\"center\" flexWrap=\"wrap\">\n <Heading size=\"small\" variant=\"regular\" type=\"normal\">\n {title}\n </Heading>\n <Box marginLeft=\"spacing.3\">{suffix}</Box>\n </Box>\n <Text variant=\"body\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n </Box>\n </Box>\n );\n};\nCardHeaderLeading.componentId = ComponentIds.CardHeaderLeading;\n\ntype CardHeaderTrailingProps = {\n /**\n * Renders a visual ornament in card header trailing section\n *\n * Accepts: `CardHeaderLink`, `CardHeaderText`, `CardHeaderIconButton`, `CardHeaderBadge`\n */\n visual?: React.ReactNode;\n};\n\nconst headerTrailingAllowedComponents = [\n ComponentIds.CardHeaderLink,\n ComponentIds.CardHeaderText,\n ComponentIds.CardHeaderIconButton,\n ComponentIds.CardHeaderBadge,\n];\n\nconst CardHeaderTrailing: WithComponentId<CardHeaderTrailingProps> = ({ visual }) => {\n useVerifyInsideCard('CardHeaderTrailing');\n\n if (visual && !headerTrailingAllowedComponents.includes(getComponentId(visual)!)) {\n throw new Error(\n `[Blade CardHeaderTrailing]: Only one of \\`${headerTrailingAllowedComponents.join(\n ', ',\n )}\\` component is accepted in visual`,\n );\n }\n\n return <Box alignSelf=\"center\">{visual}</Box>;\n};\nCardHeaderTrailing.componentId = ComponentIds.CardHeaderTrailing;\n\nexport {\n CardHeader,\n CardHeaderLeading,\n CardHeaderTrailing,\n CardHeaderBadge,\n CardHeaderIcon,\n CardHeaderCounter,\n CardHeaderText,\n CardHeaderLink,\n CardHeaderIconButton,\n};\n","/* eslint-disable @typescript-eslint/no-unnecessary-type-assertion */\nimport React from 'react';\nimport type { ButtonProps } from '../Button';\nimport { Button } from '../Button';\nimport { Divider } from './Divider';\nimport { useVerifyInsideCard, useVerifyAllowedComponents } from './CardContext';\nimport { ComponentIds } from './Card';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\nimport type { WithComponentId } from '~utils';\nimport { metaAttribute, MetaConstants, useBreakpoint } from '~utils';\n\nimport { useTheme } from '~components/BladeProvider';\n\nexport type CardFooterAction = Pick<\n ButtonProps,\n 'type' | 'accessibilityLabel' | 'isLoading' | 'isDisabled' | 'icon' | 'iconPosition' | 'onClick'\n> & {\n text: ButtonProps['children'];\n};\n\ntype CardFooterProps = {\n children?: React.ReactNode;\n};\n\nconst useIsMobile = (): boolean => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({\n breakpoints: theme.breakpoints,\n });\n return matchedDeviceType === 'mobile';\n};\n\nconst CardFooter: WithComponentId<CardFooterProps> = ({ children }) => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooter');\n useVerifyAllowedComponents(children, 'CardFooter', [\n ComponentIds.CardFooterLeading,\n ComponentIds.CardFooterTrailing,\n ]);\n\n return (\n <Box marginTop=\"auto\" {...metaAttribute(MetaConstants.Component, MetaConstants.CardFooter)}>\n <Box marginTop=\"spacing.7\" />\n <Divider />\n <Box\n marginTop=\"spacing.7\"\n display=\"flex\"\n flexDirection={isMobile ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignItems={isMobile ? 'stretch' : 'center'}\n >\n {children}\n </Box>\n </Box>\n );\n};\nCardFooter.componentId = ComponentIds.CardFooter;\n\ntype CardFooterLeadingProps = {\n title?: string;\n subtitle?: string;\n};\nconst CardFooterLeading: WithComponentId<CardFooterLeadingProps> = ({ title, subtitle }) => {\n useVerifyInsideCard('CardFooterLeading');\n\n return (\n <Box>\n {title && (\n <Text variant=\"body\" size=\"medium\" weight=\"bold\">\n {title}\n </Text>\n )}\n {subtitle && (\n <Text variant=\"body\" size=\"small\" weight=\"regular\">\n {subtitle}\n </Text>\n )}\n </Box>\n );\n};\nCardFooterLeading.componentId = ComponentIds.CardFooterLeading;\n\ntype CardFooterTrailingProps = {\n actions?: {\n primary?: CardFooterAction;\n secondary?: CardFooterAction;\n };\n};\nconst CardFooterTrailing: WithComponentId<CardFooterTrailingProps> = ({ actions }) => {\n const isMobile = useIsMobile();\n useVerifyInsideCard('CardFooterTrailing');\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignSelf={isMobile ? 'auto' : 'center'}\n marginTop={isMobile ? 'spacing.5' : 'spacing.0'}\n marginLeft={isMobile ? 'spacing.0' : 'spacing.5'}\n >\n <Box flexGrow={1}>\n {actions?.secondary ? (\n <Button isFullWidth size=\"medium\" variant=\"secondary\" {...actions.secondary}>\n {actions.secondary.text!}\n </Button>\n ) : null}\n </Box>\n <Box marginLeft=\"spacing.5\" />\n <Box flexGrow={1}>\n {actions?.primary ? (\n <Button isFullWidth size=\"medium\" {...actions.primary}>\n {actions.primary.text!}\n </Button>\n ) : null}\n </Box>\n </Box>\n );\n};\nCardFooterTrailing.componentId = ComponentIds.CardFooterTrailing;\n\nexport { CardFooter, CardFooterLeading, CardFooterTrailing };\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nmodule.exports = isUndefined;\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { CheckboxGroupProps } from './CheckboxGroup';\nimport type { State } from './useCheckboxGroup';\n\nexport type CheckboxGroupContextType = Pick<\n CheckboxGroupProps,\n | 'validationState'\n | 'isDisabled'\n | 'labelPosition'\n | 'name'\n | 'defaultValue'\n | 'value'\n | 'onChange'\n | 'size'\n> & { state?: State };\n\nconst CheckboxGroupContext = React.createContext<CheckboxGroupContextType>({});\nconst CheckboxGroupProvider = CheckboxGroupContext.Provider;\n\nconst useCheckboxGroupContext = (): CheckboxGroupContextType => {\n const context = React.useContext(CheckboxGroupContext);\n return context;\n};\n\nexport { useCheckboxGroupContext, CheckboxGroupProvider };\n","import type { Theme } from '~components/BladeProvider';\nimport type { DotNotationColorStringToken } from '~src/_helpers/types';\n\nconst checkboxSizes = {\n group: {\n gap: {\n small: {\n mobile: 'spacing.2',\n desktop: 'spacing.0',\n },\n medium: {\n mobile: 'spacing.3',\n desktop: 'spacing.2',\n },\n },\n },\n icon: {\n small: {\n width: 12,\n height: 12,\n },\n medium: {\n width: 16,\n height: 16,\n },\n },\n} as const;\n\ntype ColorTokens = `colors.${DotNotationColorStringToken<Theme['colors']>}` | 'transparent';\ntype Variant = {\n border: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n background: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n};\n\ntype CheckboxIconColors = {\n variants: {\n default: Variant;\n disabled: Variant;\n negative: Variant;\n };\n};\n\nconst checkboxIconColors: CheckboxIconColors = {\n variants: {\n default: {\n border: {\n checked: 'colors.brand.primary.500',\n unchecked: 'colors.brand.gray.500.lowContrast',\n },\n background: {\n checked: 'colors.brand.primary.500',\n unchecked: 'transparent',\n },\n },\n disabled: {\n border: {\n checked: 'transparent',\n unchecked: 'colors.brand.gray.a100.lowContrast',\n },\n background: {\n checked: 'colors.brand.gray.a100.lowContrast',\n unchecked: 'transparent',\n },\n },\n negative: {\n border: {\n checked: 'colors.feedback.border.negative.highContrast',\n unchecked: 'colors.feedback.border.negative.highContrast',\n },\n background: {\n checked: 'colors.feedback.background.negative.highContrast',\n unchecked: 'colors.feedback.background.negative.lowContrast',\n },\n },\n },\n} as const;\n\nexport { checkboxSizes, checkboxIconColors };\n","import type { CSSObject } from 'styled-components';\nimport { checkboxIconColors, checkboxSizes } from '../checkboxTokens';\nimport type { CheckboxIconProps } from './CheckboxIcon';\nimport type { Theme } from '~components/BladeProvider';\nimport { getIn, makeBorderSize, makeSize, makeSpace } from '~utils';\n\nexport type CheckboxRectProps = Omit<CheckboxIconProps, 'state'> & {\n isChecked: boolean;\n};\n\nconst getCheckboxIconWrapperStyles = ({\n theme,\n isChecked,\n isDisabled,\n isNegative,\n size,\n}: CheckboxRectProps & { theme: Theme }): CSSObject => {\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const checked = isChecked ? 'checked' : 'unchecked';\n const background = checkboxIconColors.variants[variant].background[checked];\n const border = checkboxIconColors.variants[variant].border[checked];\n const backgroundColor = background === 'transparent' ? background : getIn(theme, background);\n const borderColor = border === 'transparent' ? border : getIn(theme, border);\n\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: makeSpace(checkboxSizes.icon[size].width),\n height: makeSpace(checkboxSizes.icon[size].height),\n borderWidth: makeBorderSize(theme.border.width.thick),\n borderStyle: 'solid',\n margin: makeSpace(theme.spacing[1]),\n borderRadius: makeSize(theme.border.radius.small),\n backgroundColor,\n borderColor,\n };\n};\n\nexport { getCheckboxIconWrapperStyles };\n","import styled from 'styled-components/native';\nimport type { CheckboxRectProps } from './CheckboxIconWrapperStyles';\nimport { getCheckboxIconWrapperStyles } from './CheckboxIconWrapperStyles';\n\nconst CheckboxIconWrapper = styled.View<CheckboxRectProps>((props) =>\n getCheckboxIconWrapperStyles(props),\n);\n\nexport { CheckboxIconWrapper };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, { Keyframe } from 'react-native-reanimated';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../../BladeProvider';\nimport type { FadeProps } from './types';\n\nconst StyledFade = styled(Animated.View)<{ styles: CSSObject }>(({ styles }) => {\n return {\n ...styles,\n };\n});\n\nconst Fade = ({ children, show, styles }: FadeProps) => {\n const { theme } = useTheme();\n\n const fadeInEasing = (theme.motion.easing.entrance.effective as unknown) as EasingFn;\n const fadeOutEasing = (theme.motion.easing.exit.effective as unknown) as EasingFn;\n const fadeIn = new Keyframe({\n from: {\n transform: [{ scale: 0.6 }],\n opacity: 0,\n easing: fadeInEasing,\n },\n to: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: fadeInEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n const fadeOut = new Keyframe({\n from: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: fadeOutEasing,\n },\n to: {\n transform: [{ scale: 0.6 }],\n opacity: 0,\n easing: fadeOutEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n return show ? (\n <StyledFade styles={styles as CSSObject} entering={fadeIn} exiting={fadeOut}>\n {children}\n </StyledFade>\n ) : null;\n};\n\nexport { Fade };\n","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport { CheckboxIconWrapper } from './CheckboxIconWrapper';\nimport { Fade } from './Fade';\nimport { useTheme } from '~components/BladeProvider';\nimport Svg, { Path } from '~components/Icons/_Svg';\nimport { getIn, makeSpace } from '~utils';\n\nconst svgSize = {\n small: {\n width: 8,\n height: 8,\n },\n medium: {\n width: 12,\n height: 12,\n },\n};\n\nconst CheckedIcon = ({ color, size }: { color: string; size: 'small' | 'medium' }) => {\n const width = makeSpace(svgSize[size].width);\n const height = makeSpace(svgSize[size].height);\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 8 8\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M6.90237 1.76413C7.03254 1.89431 7.03254 2.10536 6.90237 2.23554L3.2357 5.90221C3.10553 6.03238 2.89447 6.03238 2.7643 5.90221L1.09763 4.23554C0.967456 4.10536 0.967456 3.89431 1.09763 3.76414C1.22781 3.63396 1.43886 3.63396 1.56904 3.76414L3 5.1951L6.43096 1.76413C6.56114 1.63396 6.77219 1.63396 6.90237 1.76413Z\"\n fill={color}\n stroke=\"white\"\n strokeWidth=\"0.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n};\n\nconst IndeterminateIcon = ({ color, size }: { color: string; size: 'small' | 'medium' }) => {\n const width = `${svgSize[size].width}px`;\n const height = `${svgSize[size].height}px`;\n\n return (\n <Svg width={width} height={height} viewBox=\"0 0 8 8\" fill=\"none\">\n <Path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.3335 3.99984C1.3335 3.81574 1.48273 3.6665 1.66683 3.6665H6.3335C6.51759 3.6665 6.66683 3.81574 6.66683 3.99984C6.66683 4.18393 6.51759 4.33317 6.3335 4.33317H1.66683C1.48273 4.33317 1.3335 4.18393 1.3335 3.99984Z\"\n fill={color}\n stroke=\"white\"\n strokeWidth=\"0.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </Svg>\n );\n};\n\nexport type CheckboxIconProps = {\n isDisabled?: boolean;\n isNegative?: boolean;\n isChecked?: boolean;\n isIndeterminate?: boolean;\n size: 'small' | 'medium';\n};\n\nconst CheckboxIcon = ({\n isChecked,\n isIndeterminate,\n isDisabled,\n isNegative,\n size,\n}: CheckboxIconProps) => {\n const { theme } = useTheme();\n const defaultIconColor = getIn(theme, 'colors.brand.gray.200.lowContrast');\n const disabledIconColor = getIn(theme, 'colors.brand.gray.500.lowContrast');\n const iconColor = isDisabled ? disabledIconColor : defaultIconColor;\n\n return (\n <CheckboxIconWrapper\n size={size}\n isIndeterminate={isIndeterminate}\n isDisabled={isDisabled}\n isNegative={isNegative}\n isChecked={!!(isChecked || isIndeterminate)}\n >\n <Fade show={isIndeterminate} styles={{ position: 'absolute', display: 'flex' }}>\n <IndeterminateIcon size={size} color={iconColor} />\n </Fade>\n <Fade\n show={Boolean(isChecked) && !isIndeterminate}\n styles={{ position: 'absolute', display: 'flex' }}\n >\n {isChecked ? <CheckedIcon size={size} color={iconColor} /> : null}\n </Fade>\n </CheckboxIconWrapper>\n );\n};\n\nexport { CheckboxIcon };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable react-hooks/exhaustive-deps */\nimport * as React from 'react';\n\ntype UseControllableStateProps<T> = {\n /**\n * The value to used in controlled mode\n */\n value?: T;\n /**\n * The initial value to be used, in uncontrolled mode\n */\n defaultValue?: T | (() => T);\n /**\n * The callback fired when the value changes\n */\n onChange?: (value: T) => void;\n};\n\n/**\n * React hook for using controlling component state.\n *\n * It automatically handles controlled and uncontrolled state,\n * while internally giving us the state value so that we can react to the changes.\n *\n * @example\n * In checkbox we want to internally track the checked state to be able to render the correct Icon\n * but also want to provide controlled and uncontrolled behavior to user\n */\nexport function useControllableState<T>(props: UseControllableStateProps<T>) {\n const { value: valueProp, defaultValue, onChange } = props;\n\n const [valueState, setValue] = React.useState(defaultValue as T);\n const { current: isControlled } = React.useRef(valueProp !== undefined);\n const value = isControlled && typeof valueProp !== 'undefined' ? valueProp : valueState;\n\n const updateValue = React.useCallback(\n (next: (prevState: T) => T) => {\n const nextValue = next(value);\n if (!isControlled) setValue(nextValue);\n onChange?.(nextValue);\n },\n [onChange, value],\n );\n\n return [value, updateValue] as [T, (next: (prevState: T) => T) => void];\n}\n","import * as React from 'react';\nimport { getPlatformType } from '~utils';\n\nconst isBrowser = getPlatformType() == 'browser';\n\n/**\n * useIsomorphicLayoutEffect enables us to safely call `useLayoutEffect` on the browser\n * (for SSR reasons)\n *\n * React currently throws a warning when using useLayoutEffect on the server.\n * To get around it, we can conditionally useEffect on the server (no-op) and\n * useLayoutEffect in the browser.\n *\n * @see https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85\n */\nexport const useIsomorphicLayoutEffect = isBrowser ? React.useLayoutEffect : React.useEffect;\n","/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport * as React from 'react';\nimport { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';\n\n/**\n * Credit: https://github.com/reach/reach-ui/blob/dev/packages/auto-id/src/auto-id.ts\n */\nlet handoffComplete = false;\nlet id = 0;\nconst genId = () => ++id;\n\n/**\n * Reack hook to generate unique id\n * It helps us provide stable ID which we can reference in the components\n * and also works in server side rendered component\n * TODO: Add support for `React.useId` after React18 upgrade\n *\n * @param prefix prefix to append before the id\n * @param idProp the external id passed from the user\n */\nconst useId = (prefix?: string, idProp?: string) => {\n const initialId = idProp || (handoffComplete ? genId() : null);\n const [uid, setUid] = React.useState(initialId);\n\n useIsomorphicLayoutEffect(() => {\n // Patch the ID after render. We do this in `useLayoutEffect` to avoid any\n // rendering flicker, though it'll make the first render slower (unlikely\n // to matter, but you're welcome to measure your app and let us know if\n // it's a problem).\n if (uid === null) setUid(genId());\n }, []);\n\n React.useEffect(() => {\n if (!handoffComplete) {\n handoffComplete = true;\n }\n }, []);\n\n const id = uid != null ? uid.toString() : undefined;\n return prefix ? `${prefix}-${id}` : id!;\n};\n\nexport { useId };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { useId } from '~src/hooks/useId';\n\n/**\n * hook to generate unique ids for a form element\n *\n * @param prefix prefix to append before the id\n */\nconst useFormId = (prefix: string) => {\n const baseId = useId(prefix);\n const inputId = useId(`${baseId}-input`);\n const errorTextId = useId(`${baseId}-errortext`);\n const helpTextId = useId(`${baseId}-helptext`);\n const successTextId = useId(`${baseId}-successtext`);\n const labelId = useId(`${baseId}-label`);\n\n return {\n baseId,\n inputId,\n errorTextId,\n helpTextId,\n successTextId,\n labelId,\n };\n};\n\nexport { useFormId };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { useControllableState } from '../../hooks/useControllable';\nimport { getPlatformType, makeAccessible } from '../../utils';\nimport type { CheckboxProps } from './Checkbox';\nimport { useFormId } from '~components/Form/useFormId';\n\ntype UseCheckboxProps = Pick<\n CheckboxProps,\n | 'isChecked'\n | 'defaultChecked'\n | 'isDisabled'\n | 'isIndeterminate'\n | 'isRequired'\n | 'onChange'\n | 'name'\n | 'value'\n> & {\n hasError?: boolean;\n hasHelperText?: boolean;\n};\n\n/**\n * indeterminate is not a HTML input element prop,\n * it's an IDL prop thus we need to set it on the underlying HTMLInputElement\n */\nfunction setMixed(element: HTMLInputElement, mixed?: boolean) {\n if (mixed) {\n element.indeterminate = true;\n } else if (element.indeterminate) {\n element.indeterminate = false;\n }\n}\n\nconst useCheckbox = ({\n isChecked,\n defaultChecked,\n isIndeterminate,\n isDisabled,\n isRequired,\n hasError,\n hasHelperText,\n onChange,\n name,\n value,\n}: UseCheckboxProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const isReactNative = getPlatformType() === 'react-native';\n if (isChecked && defaultChecked) {\n throw new Error(\n `[Blade useCheckbox] Do not provide both 'isChecked' and 'defaultChecked' to useCheckbox. Consider if you want this component to be controlled or uncontrolled.`,\n );\n }\n\n const [checkboxState, setCheckboxStateChange] = useControllableState({\n value: isChecked,\n defaultValue: defaultChecked ?? false,\n });\n\n const handleOnChange = (event: React.ChangeEvent<HTMLInputElement> | GestureResponderEvent) => {\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n setCheckboxStateChange((checked) => {\n onChange?.({\n isChecked: !checked,\n event: event as React.ChangeEvent,\n value,\n });\n return !checked;\n });\n };\n\n // set indeterminate to input\n React.useEffect(() => {\n const element = inputRef.current;\n if (!element) return;\n setMixed(element, isIndeterminate);\n }, [isIndeterminate]);\n\n const state = {\n isReactNative,\n isChecked: checkboxState,\n setChecked: setCheckboxStateChange,\n };\n\n const { inputId, errorTextId, helpTextId } = useFormId('checkbox');\n\n const accessibilityProps = makeAccessible({\n role: 'checkbox',\n required: Boolean(isRequired),\n invalid: Boolean(hasError),\n disabled: Boolean(isDisabled),\n checked: checkboxState,\n ...(hasError ? { errorMessage: errorTextId } : {}),\n ...(hasHelperText ? { describedBy: helpTextId } : {}),\n });\n\n if (isReactNative) {\n return {\n state,\n inputProps: {\n onPress: handleOnChange,\n name,\n value,\n ...accessibilityProps,\n },\n };\n }\n\n return {\n state,\n ids: { inputId, errorTextId, helpTextId },\n inputProps: {\n ref: inputRef,\n onChange: handleOnChange,\n type: 'checkbox',\n name,\n value,\n checked: checkboxState,\n disabled: isDisabled,\n required: isRequired,\n ...accessibilityProps,\n },\n };\n};\n\nexport type InputProps = ReturnType<typeof useCheckbox>['inputProps'];\n\nexport { useCheckbox };\n","import React from 'react';\nimport { View } from 'react-native';\n\nconst FormHintWrapper = ({ children }: { children: React.ReactNode }): React.ReactElement => {\n return (\n <View\n style={{\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n }}\n >\n {children}\n </View>\n );\n};\n\nexport { FormHintWrapper };\n","/* eslint-disable react/display-name */\nimport type { ReactElement } from 'react';\nimport React from 'react';\nimport { FormHintWrapper } from './FormHintWrapper';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType } from '~utils';\nimport Box from '~components/Box';\nimport { CheckIcon, InfoIcon } from '~components/Icons';\nimport type { BaseTextProps } from '~components/Typography/BaseText/types';\n\ntype HintTextProps = {\n icon?: React.ElementType;\n children: string;\n id?: string;\n color: BaseTextProps['color'];\n};\n\nconst HintText = ({ icon: Icon, children, id, color }: HintTextProps): ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <Box marginTop=\"spacing.2\">\n <FormHintWrapper>\n {Icon ? <Icon /> : null}\n <BaseText\n id={id}\n as={isReactNative ? undefined : 'span'}\n color={color}\n fontSize={50}\n lineHeight=\"s\"\n fontStyle=\"italic\"\n fontFamily=\"text\"\n >\n {children}\n </BaseText>\n </FormHintWrapper>\n </Box>\n );\n};\n\nexport type FormHintProps = {\n type: 'help' | 'error' | 'success';\n /**\n * Help text for the group\n */\n helpText?: string;\n /**\n * Error text for the group\n *\n * Renders when `state` is set to 'error'\n */\n errorText?: string;\n /**\n * Success text for the group\n *\n * Renders when `state` is set to 'success'\n */\n successText?: string;\n /**\n * Sets the id on errorText.\n * Needed for accessibility reasons.\n */\n errorTextId?: string;\n /**\n * Sets the id on helpText.\n * Needed for accessibility reasons.\n */\n helpTextId?: string;\n /**\n * Sets the id on successText.\n * Needed for accessibility reasons.\n */\n successTextId?: string;\n};\n\nconst Icons = {\n error: (): ReactElement => (\n <>\n <InfoIcon color=\"feedback.icon.negative.lowContrast\" size=\"small\" />\n <Box marginRight=\"spacing.2\" />\n </>\n ),\n success: (): ReactElement => (\n <>\n <CheckIcon color=\"feedback.icon.positive.lowContrast\" size=\"small\" />\n <Box marginRight=\"spacing.2\" />\n </>\n ),\n};\n\nconst FormHint = ({\n type,\n helpText,\n errorText,\n successText,\n helpTextId,\n errorTextId,\n successTextId,\n}: FormHintProps): React.ReactElement => {\n const colors = {\n help: 'surface.text.muted.lowContrast',\n error: 'feedback.text.negative.lowContrast',\n success: 'feedback.text.positive.lowContrast',\n } as const;\n\n const showError = type === 'error' && errorText;\n const showSuccess = type === 'success' && successText;\n const showHelp = !showError && !showSuccess && helpText;\n\n return (\n <>\n {showHelp && (\n <HintText id={helpTextId} color={colors.help}>\n {helpText}\n </HintText>\n )}\n\n {showError && (\n <HintText id={errorTextId} icon={Icons.error} color={colors.error}>\n {errorText}\n </HintText>\n )}\n\n {showSuccess && (\n <HintText id={successTextId} icon={Icons.success} color={colors.success}>\n {successText}\n </HintText>\n )}\n </>\n );\n};\n\nexport { FormHint };\n","import type { CSSObject } from 'styled-components';\n\nconst screenReaderStyles: CSSObject = {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: `1px`,\n margin: '0 -1px -1px 0',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: `1px`,\n whiteSpace: 'nowrap',\n wordWrap: 'normal',\n};\n\nexport { screenReaderStyles };\n","import React from 'react';\nimport styled from 'styled-components/native';\nimport { screenReaderStyles } from './ScreenReaderStyles';\nimport type { VisuallyHiddenProps } from './types';\n\nconst StyledVisuallyHidden = styled.View(screenReaderStyles);\n\nexport const VisuallyHidden = ({ children }: VisuallyHiddenProps): JSX.Element => {\n return <StyledVisuallyHidden>{children}</StyledVisuallyHidden>;\n};\n","import React from 'react';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { Text } from '~components/Typography';\nimport { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType, makeSpace, useBreakpoint } from '~utils';\nimport Box from '~components/Box';\nimport { useTheme } from '~components/BladeProvider';\nimport type { ColorContrastTypes } from '~tokens/theme/theme';\n\ntype CommonProps = {\n as: 'span' | 'label';\n position?: 'top' | 'left';\n necessityIndicator?: 'required' | 'optional' | 'none';\n accessibilityText?: string;\n children: string;\n id?: string;\n contrast?: ColorContrastTypes;\n};\n\ntype LabelProps = CommonProps & {\n htmlFor: string;\n as: 'label';\n};\n\ntype SpanProps = CommonProps & {\n as: 'span';\n htmlFor?: undefined;\n};\n\ntype FormLabelProps = LabelProps | SpanProps;\n\nexport type FormInputLabelProps = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Desktop only prop. Default value on mobile will be `top`\n */\n labelPosition?: 'left' | 'top';\n /**\n * Displays `(optional)` when `optional` is passed or `*` when `required` is passed\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n};\n\nconst FormLabel = ({\n as = 'span',\n position = 'top',\n necessityIndicator = 'none',\n accessibilityText,\n children,\n id,\n htmlFor,\n contrast = 'low',\n}: FormLabelProps): React.ReactElement => {\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isDesktop = matchedDeviceType === 'desktop';\n const isReactNative = getPlatformType() === 'react-native';\n\n let necessityLabel: React.ReactNode = null;\n\n const isLabelLeftPositioned = position === 'left' && isDesktop;\n\n if (necessityIndicator === 'optional') {\n necessityLabel = (\n <Text variant=\"caption\" weight=\"regular\" type=\"placeholder\">\n (optional)\n </Text>\n );\n }\n if (necessityIndicator === 'required') {\n necessityLabel = (\n <BaseText\n lineHeight=\"s\"\n fontFamily=\"text\"\n fontStyle=\"normal\"\n fontSize={75}\n fontWeight=\"bold\"\n color=\"feedback.text.negative.lowContrast\"\n >\n *\n </BaseText>\n );\n }\n\n const computedAccessibilityNode = (\n <VisuallyHidden>\n {necessityIndicator !== 'none' && <Text>{necessityIndicator}</Text>}\n <Text>{accessibilityText}</Text>\n </VisuallyHidden>\n );\n\n const textNode = (\n <Box\n gap={necessityIndicator === 'optional' ? 'spacing.2' : 'spacing.0'}\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n flexWrap=\"wrap\"\n >\n <Text\n type=\"subdued\"\n variant=\"body\"\n contrast={contrast}\n size={isLabelLeftPositioned ? 'medium' : 'small'}\n weight=\"bold\"\n >\n {children}\n </Text>\n {computedAccessibilityNode}\n {/* TODO: Hide from screen readers to prevent double announcement */}\n {necessityLabel}\n </Box>\n );\n\n // What harm can it do?\n if (isReactNative) {\n return (\n <Box marginRight=\"spacing.5\" marginBottom=\"spacing.2\">\n {textNode}\n </Box>\n );\n }\n\n const Component = as;\n // only set 120px label when device is desktop\n const width = isLabelLeftPositioned && isDesktop ? '120px' : 'auto';\n\n return (\n <Component\n htmlFor={htmlFor}\n style={{\n width,\n flexShrink: 0,\n marginRight: makeSpace(theme.spacing[5]),\n wordBreak: 'break-all',\n }}\n id={id}\n >\n <Box marginBottom={isLabelLeftPositioned ? 'spacing.0' : 'spacing.2'}>{textNode}</Box>\n </Component>\n );\n};\n\nexport { FormLabel };\n","// Selector* components are used in Checkbox/Radio\nimport React from 'react';\nimport styled from 'styled-components/native';\nimport type { SelectorLabelProps } from './types';\nimport { makeSpace } from '~utils';\n\nconst StyledSelectorLabel = styled.Pressable(({ theme }) => ({\n display: 'flex',\n flexDirection: 'row',\n marginTop: makeSpace(theme.spacing[1]),\n marginBottom: makeSpace(theme.spacing[1]),\n}));\n\nconst SelectorLabel = ({ children, inputProps }: SelectorLabelProps): React.ReactElement => {\n return <StyledSelectorLabel {...inputProps}>{children}</StyledSelectorLabel>;\n};\n\nexport { SelectorLabel };\n","import Box from '~components/Box';\nimport { BaseText } from '~components/Typography/BaseText';\n\nconst SelectorTitle = ({\n children,\n isDisabled,\n size = 'medium',\n}: {\n children: React.ReactNode;\n isDisabled?: boolean;\n size: 'small' | 'medium';\n}): React.ReactElement => {\n const lineHeight = {\n small: 's',\n medium: 'l',\n } as const;\n const fontSize = {\n small: 75,\n medium: 100,\n } as const;\n\n return (\n <>\n <Box marginLeft=\"spacing.2\" />\n <BaseText\n lineHeight={lineHeight[size]}\n fontFamily=\"text\"\n fontWeight=\"regular\"\n fontSize={fontSize[size]}\n color={\n isDisabled ? 'surface.text.placeholder.lowContrast' : 'surface.text.subtle.lowContrast'\n }\n >\n {children}\n </BaseText>\n </>\n );\n};\n\nexport { SelectorTitle };\n","import { BaseText } from '~components/Typography/BaseText';\nimport { getPlatformType } from '~utils';\n\nconst SelectorSupportText = ({\n children,\n id,\n}: {\n children: React.ReactNode;\n id?: string;\n}): React.ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n\n return (\n <BaseText\n id={id}\n as={isReactNative ? undefined : 'span'}\n color=\"surface.text.muted.lowContrast\"\n fontSize={50}\n lineHeight=\"s\"\n fontStyle=\"italic\"\n fontFamily=\"text\"\n >\n {children}\n </BaseText>\n );\n};\n\nexport { SelectorSupportText };\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable react/jsx-no-useless-fragment */\n\ntype HoverProps = {\n isChecked?: boolean;\n isDisabled?: boolean;\n hasError?: boolean;\n};\n// noop in react-native\nconst SelectorInput = (_props: HoverProps & { inputProps?: any }): React.ReactElement => {\n return <></>;\n};\n\nexport { SelectorInput };\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport isUndefined from 'lodash/isUndefined';\nimport { useCheckboxGroupContext } from './CheckboxGroup/CheckboxGroupContext';\nimport { CheckboxIcon } from './CheckboxIcon';\nimport { useCheckbox } from './useCheckbox';\nimport { metaAttribute, isEmpty, MetaConstants } from '~utils';\nimport Box from '~components/Box';\nimport { FormHint } from '~components/Form';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\n\ntype OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype CheckboxProps = {\n /**\n * If `true`, The checkbox will be checked. This also makes the checkbox controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the checkbox will be initially checked. This also makes the checkbox uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Checkbox` changes.\n */\n onChange?: OnChange;\n /**\n * Sets the label of the checkbox\n */\n children: React.ReactNode;\n /**\n * Help text for the checkbox\n */\n helpText?: string;\n /**\n * Error text for the checkbox\n *\n * Renders when `validationState` is set to 'error'\n */\n errorText?: string;\n /**\n * If `true`, the checkbox will be indeterminate.\n * This does not modify the isChecked property.\n *\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the checkbox input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the checkbox will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the checkbox input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n /**\n * If `error`, the checkbox input is marked as invalid,\n * and `invalid` attribute will be added\n */\n validationState?: 'error' | 'none';\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst Checkbox = ({\n defaultChecked,\n validationState,\n isChecked,\n isDisabled,\n isIndeterminate,\n isRequired,\n name,\n onChange,\n value,\n children,\n helpText,\n errorText,\n size = 'medium',\n}: CheckboxProps): React.ReactElement => {\n const groupProps = useCheckboxGroupContext();\n\n // ban certain props in checkbox while inside group\n const hasValidationState = !isUndefined(validationState);\n const hasName = !isUndefined(name);\n const hasDefaultChecked = !isUndefined(defaultChecked);\n const hasIsChecked = !isUndefined(isChecked);\n const hasOnChange = !isUndefined(onChange);\n if (\n (hasValidationState || hasName || hasDefaultChecked || hasIsChecked || hasOnChange) &&\n !isEmpty(groupProps)\n ) {\n const props = [\n hasValidationState ? 'validationState' : undefined,\n hasName ? 'name' : undefined,\n hasDefaultChecked ? 'defaultChecked' : undefined,\n hasIsChecked ? 'isChecked' : undefined,\n hasOnChange ? 'onChange' : undefined,\n ]\n .filter(Boolean)\n .join(',');\n\n throw new Error(\n `[Blade Checkbox]: Cannot set \\`${props}\\` on <Checkbox /> when it's inside <CheckboxGroup />, Please set it on the <CheckboxGroup /> itself`,\n );\n }\n\n // mandate value prop when using inside group\n if (!value && !isEmpty(groupProps)) {\n throw new Error(\n `[Blade Checkbox]: <CheckboxGroup /> requires that you pass unique \"value\" prop to each <Checkbox />\n <CheckboxGroup>\n <Checkbox value=\"apple\">Apple</Checkbox>\n <Checkbox value=\"mango\">Mango</Checkbox>\n </CheckboxGroup>\n `,\n );\n }\n\n const _validationState = validationState ?? groupProps?.validationState;\n const _hasError = _validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const _name = name ?? groupProps?.name;\n const _isChecked = isChecked ?? groupProps?.state?.isChecked(value!);\n const _size = groupProps.size ?? size;\n const isSmall = _size === 'small';\n\n // only show error when the self validation is set to error\n // Since we don't want to show errorText inside the group\n const showSupportingText = validationState !== 'error' && helpText;\n\n const handleChange: OnChange = ({ isChecked, event, value }) => {\n if (isChecked) {\n groupProps?.state?.addValue(value!);\n } else {\n groupProps?.state?.removeValue(value!);\n }\n\n onChange?.({ isChecked, event, value });\n };\n\n const { state, ids, inputProps } = useCheckbox({\n defaultChecked,\n isChecked: _isChecked,\n isIndeterminate,\n hasError: _hasError,\n hasHelperText: Boolean(showSupportingText),\n isDisabled: _isDisabled,\n isRequired,\n name: _name,\n value,\n onChange: handleChange,\n });\n\n return (\n <Box {...metaAttribute(MetaConstants.Component, MetaConstants.Checkbox)}>\n <SelectorLabel inputProps={state.isReactNative ? inputProps : {}}>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n isChecked={state.isChecked || Boolean(isIndeterminate)}\n isDisabled={_isDisabled}\n hasError={_hasError}\n inputProps={inputProps}\n />\n <CheckboxIcon\n size={_size}\n isChecked={state.isChecked}\n isIndeterminate={isIndeterminate}\n isDisabled={_isDisabled}\n isNegative={_hasError}\n />\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n </Box>\n <Box marginLeft={isSmall ? 'spacing.6' : 'spacing.7'}>\n {showSupportingText && (\n <SelectorSupportText id={ids?.helpTextId}>{helpText}</SelectorSupportText>\n )}\n </Box>\n </Box>\n </SelectorLabel>\n <FormHint\n errorText={errorText}\n errorTextId={ids?.errorTextId}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </Box>\n );\n};\n\nexport { Checkbox, CheckboxProps };\n","/* eslint-disable @typescript-eslint/no-shadow */\n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\nimport React from 'react';\nimport type { CheckboxGroupProps } from './CheckboxGroup';\nimport type { CheckboxGroupContextType } from './CheckboxGroupContext';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useTheme } from '~components/BladeProvider';\nimport { useFormId } from '~components/Form/useFormId';\n\ntype UseCheckboxGroupProps = Pick<\n CheckboxGroupProps,\n | 'isDisabled'\n | 'labelPosition'\n | 'validationState'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'size'\n>;\n\nexport type State = {\n value: string[];\n setValue(value: string[]): void;\n isChecked(value: string): boolean;\n addValue(value: string): void;\n removeValue(value: string): void;\n};\n\nconst useCheckboxGroup = ({\n value,\n defaultValue,\n isDisabled,\n labelPosition,\n onChange,\n validationState,\n name,\n size,\n}: UseCheckboxGroupProps) => {\n const { platform } = useTheme();\n const { labelId } = useFormId('checkbox-group');\n const [checkedValues, setValue] = useControllableState({\n value,\n defaultValue: defaultValue || [],\n onChange: (values: string[]) => onChange?.({ values, name: name! }),\n });\n\n const state = React.useMemo<State>(() => {\n return {\n value: checkedValues,\n setValue(value: string[]) {\n if (isDisabled) {\n return;\n }\n\n setValue(() => value);\n },\n isChecked(value: string) {\n return checkedValues.includes(value);\n },\n addValue(value: string) {\n if (isDisabled) {\n return;\n }\n if (!checkedValues.includes(value)) {\n setValue(() => checkedValues.concat(value));\n }\n },\n removeValue(value: string) {\n if (isDisabled) {\n return;\n }\n if (checkedValues.includes(value)) {\n setValue(() => checkedValues.filter((existingValue) => existingValue !== value));\n }\n },\n };\n }, [checkedValues, isDisabled, setValue]);\n\n const contextValue = React.useMemo<CheckboxGroupContextType>(() => {\n return {\n validationState,\n isDisabled,\n labelPosition: platform === 'onMobile' ? 'top' : labelPosition,\n name,\n state,\n size,\n };\n }, [validationState, isDisabled, platform, labelPosition, name, state, size]);\n\n return { state, contextValue, ids: { labelId } };\n};\n\nexport { useCheckboxGroup };\n","import React from 'react';\nimport type { CSSObject } from 'styled-components';\nimport { metaAttribute, getPlatformType, makeAccessible, MetaConstants } from '~utils';\nimport Box from '~components/Box';\nimport type { AriaRoles } from '~utils';\n\ntype SelectorGroupFieldProps = {\n children: React.ReactNode;\n labelledBy: string;\n position?: 'top' | 'left';\n accessibilityRole?: AriaRoles;\n componentName: 'checkbox-group' | 'radio-group';\n};\n\nconst SelectorGroupField = ({\n children,\n labelledBy,\n position,\n accessibilityRole = 'group',\n componentName,\n}: SelectorGroupFieldProps): React.ReactElement => {\n const isReactNative = getPlatformType() === 'react-native';\n let labelPosition: CSSObject['flexDirection'] = position === 'top' ? 'column' : 'row';\n if (isReactNative) labelPosition = 'column';\n const role = accessibilityRole === 'group' && isReactNative ? undefined : accessibilityRole;\n\n return (\n <Box\n display=\"flex\"\n flexDirection={labelPosition}\n {...makeAccessible({\n role,\n labelledBy,\n })}\n {...metaAttribute(MetaConstants.Component, componentName)}\n >\n {children}\n </Box>\n );\n};\n\nexport { SelectorGroupField };\n","import React from 'react';\nimport { checkboxSizes } from '../checkboxTokens';\nimport { CheckboxGroupProvider } from './CheckboxGroupContext';\nimport { useCheckboxGroup } from './useCheckboxGroup';\nimport { FormLabel, FormHint } from '~components/Form';\nimport Box from '~components/Box';\nimport { SelectorGroupField } from '~components/Form/Selector/SelectorGroupField';\nimport { useBreakpoint } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\ntype CheckboxGroupProps = {\n /**\n * Accepts multiple checkboxes as children\n */\n children: React.ReactNode;\n /**\n * Help text of the checkbox group\n */\n helpText?: string;\n /**\n * Error text of the checkbox group\n * Renders when `validationState` is set to 'error'\n *\n * Overrides helpText\n */\n errorText?: string;\n /**\n * Sets the error state of the CheckboxGroup\n * If set to `error` it will render the `errorText` of the group,\n * and propagate `invalid` prop to every checkbox\n */\n validationState?: 'error' | 'none';\n /**\n * Renders a necessity indicator after CheckboxGroup label\n *\n * If set to `undefined` it renders nothing.\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n /**\n * Sets the disabled state of the CheckboxGroup\n * If set to `true` it propagate down to all the checkboxes\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Renders the label of the checkbox group\n */\n label: string;\n /**\n * Sets the position of the label\n *\n * @default 'top'\n */\n labelPosition?: 'top' | 'left';\n /**\n * Initial value of the checkbox group\n */\n defaultValue?: string[];\n /**\n * value of the checkbox group\n *\n * Use `onChange` to update its value\n */\n value?: string[];\n /**\n * The callback invoked when any of the checkbox's state changes\n */\n onChange?: ({ name, values }: { name: string; values: string[] }) => void;\n /**\n * The name of the input field in a checkbox\n * (Useful for form submission).\n */\n name?: string;\n /**\n * Size of the checkbox\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst CheckboxGroup = ({\n children,\n label,\n helpText,\n isDisabled,\n necessityIndicator = 'none',\n labelPosition = 'top',\n validationState,\n errorText,\n name,\n defaultValue,\n onChange,\n value,\n size = 'medium',\n}: CheckboxGroupProps): React.ReactElement => {\n const { contextValue, ids } = useCheckboxGroup({\n defaultValue,\n onChange,\n value,\n isDisabled,\n name,\n labelPosition,\n validationState,\n size,\n });\n\n const { theme } = useTheme();\n const showError = validationState === 'error' && errorText;\n const showHelpText = !showError && helpText;\n const accessibilityText = `,${showError ? errorText : ''} ${showHelpText ? helpText : ''}`;\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const gap = checkboxSizes.group.gap[size][matchedDeviceType];\n const childCount = React.Children.count(children);\n\n return (\n <CheckboxGroupProvider value={contextValue}>\n <SelectorGroupField\n position={labelPosition}\n labelledBy={ids.labelId}\n componentName=\"checkbox-group\"\n >\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={ids.labelId}\n accessibilityText={accessibilityText}\n >\n {label}\n </FormLabel>\n <Box>\n <Box display=\"flex\" flexDirection=\"column\">\n {React.Children.map(children, (child, index) => {\n return (\n <Box key={index} {...{ marginBottom: index === childCount - 1 ? 0 : gap }}>\n {child}\n </Box>\n );\n })}\n </Box>\n <FormHint\n errorText={errorText}\n helpText={helpText}\n type={validationState === 'error' ? 'error' : 'help'}\n />\n </Box>\n </SelectorGroupField>\n </CheckboxGroupProvider>\n );\n};\n\nexport { CheckboxGroup, CheckboxGroupProps };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport type { ReactElement } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport Box from '~components/Box';\nimport { Text } from '~components/Typography';\nimport type { BoxProps } from '~components/Box/types';\n\ntype InputVisuals = Pick<\n BaseInputProps,\n 'leadingIcon' | 'prefix' | 'interactionElement' | 'suffix' | 'trailingIcon' | 'isDisabled'\n>;\n\nconst getVisualContainerStyles = (): BoxProps => ({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n});\n\nconst getPrefixStyles = ({\n hasLeadingIcon,\n hasPrefix,\n}: {\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n}): BoxProps => {\n if (hasPrefix && hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.2',\n };\n }\n\n if (hasPrefix && !hasLeadingIcon) {\n return {\n paddingLeft: 'spacing.4',\n };\n }\n\n return {\n paddingLeft: 'spacing.0',\n };\n};\n\nconst getInteractionElementStyles = ({\n hasTrailingIcon,\n hasInteractionElement,\n hasSuffix,\n}: {\n hasTrailingIcon: boolean;\n hasInteractionElement: boolean;\n hasSuffix: boolean;\n}): BoxProps => {\n if (hasInteractionElement && (hasSuffix || hasTrailingIcon)) {\n return {\n paddingRight: 'spacing.2',\n };\n }\n\n if (hasInteractionElement && !hasSuffix && !hasTrailingIcon) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nconst getSuffixStyles = ({\n hasTrailingIcon,\n hasSuffix,\n}: {\n hasTrailingIcon: boolean;\n hasSuffix: boolean;\n}): BoxProps => {\n if (hasSuffix && hasTrailingIcon) {\n return {\n paddingRight: 'spacing.2',\n };\n }\n\n if (hasSuffix && !hasTrailingIcon) {\n return {\n paddingRight: 'spacing.4',\n };\n }\n\n return {\n paddingRight: 'spacing.0',\n };\n};\n\nexport const getInputVisualsToBeRendered = ({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n}: InputVisuals) => ({\n hasLeadingIcon: Boolean(leadingIcon),\n hasPrefix: Boolean(prefix),\n hasInteractionElement: Boolean(interactionElement),\n hasSuffix: Boolean(suffix),\n hasTrailingIcon: Boolean(trailingIcon),\n});\n\nexport const BaseInputVisuals = ({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n isDisabled,\n}: InputVisuals): ReactElement | null => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon: LeadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon: TrailingIcon,\n });\n\n const hasLeadingVisuals = hasLeadingIcon || hasPrefix;\n const hasTrailingVisuals = hasInteractionElement || hasSuffix || hasTrailingIcon;\n\n if (hasLeadingVisuals) {\n return (\n <Box {...getVisualContainerStyles()}>\n {LeadingIcon ? (\n <Box paddingLeft=\"spacing.4\" display=\"flex\">\n <LeadingIcon\n size=\"medium\"\n color={\n isDisabled\n ? 'surface.text.placeholder.lowContrast'\n : 'surface.text.subtle.lowContrast'\n }\n />\n </Box>\n ) : null}\n {hasPrefix ? (\n <Box {...getPrefixStyles({ hasLeadingIcon, hasPrefix })}>\n <Text\n size=\"medium\"\n variant=\"body\"\n weight=\"regular\"\n contrast=\"low\"\n type={isDisabled ? 'placeholder' : 'subtle'}\n >\n {prefix}\n </Text>\n </Box>\n ) : null}\n </Box>\n );\n }\n\n if (hasTrailingVisuals) {\n return (\n <Box {...getVisualContainerStyles()}>\n {hasInteractionElement ? (\n <Box\n {...getInteractionElementStyles({ hasTrailingIcon, hasInteractionElement, hasSuffix })}\n display=\"flex\"\n >\n {interactionElement}\n </Box>\n ) : null}\n {hasSuffix ? (\n <Box {...getSuffixStyles({ hasTrailingIcon, hasSuffix })}>\n <Text\n size=\"medium\"\n variant=\"body\"\n weight=\"regular\"\n contrast=\"low\"\n type={isDisabled ? 'placeholder' : 'subtle'}\n >\n {suffix}\n </Text>\n </Box>\n ) : null}\n {TrailingIcon ? (\n <Box paddingRight=\"spacing.4\" display=\"flex\">\n {\n <TrailingIcon\n size=\"medium\"\n color={\n isDisabled\n ? 'surface.text.placeholder.lowContrast'\n : 'surface.text.subtle.lowContrast'\n }\n />\n }\n </Box>\n ) : null}\n </Box>\n );\n }\n\n return null;\n};\n","import type { CSSObject } from 'styled-components';\nimport getBaseTextStyles from '../BaseText/getBaseTextStyles';\nimport type { TextProps, TextVariant } from './Text';\nimport { getTextProps } from './Text';\nimport type { Theme } from '~components/BladeProvider';\n\nconst getTextStyles = <T extends { variant: TextVariant }>({\n variant,\n type,\n weight,\n size,\n contrast,\n theme,\n}: Pick<TextProps<T>, 'type' | 'variant' | 'weight' | 'size' | 'contrast'> & {\n theme: Theme;\n}): CSSObject => {\n return getBaseTextStyles({ ...getTextProps({ variant, type, weight, size, contrast }), theme });\n};\n\nexport default getTextStyles;\n","import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { getPlatformType, makeBorderSize, makeSpace } from '~utils';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'interactionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n theme: Theme;\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n}: Pick<\n GetInputStyles,\n 'theme' | 'isFocused' | 'isDisabled' | 'validationState' | 'isHovered'\n>): CSSObject => {\n // normal state\n let backgroundColor = theme.colors.brand.gray[200].lowContrast;\n let borderBottomColor = theme.colors.brand.gray[400].lowContrast;\n\n //hoverState\n if (isHovered) {\n backgroundColor = theme.colors.brand.gray[300].lowContrast;\n }\n\n // focused state\n if (isFocused) {\n backgroundColor = theme.colors.brand.primary[300];\n }\n\n // disabled state\n if (isDisabled) {\n backgroundColor = theme.colors.brand.gray[200].lowContrast;\n borderBottomColor = theme.colors.brand.gray[300].lowContrast;\n }\n\n // validation state\n if (validationState === 'error') {\n backgroundColor = theme.colors.feedback.background.negative.lowContrast;\n borderBottomColor = theme.colors.feedback.border.negative.highContrast;\n } else if (validationState === 'success') {\n backgroundColor = theme.colors.feedback.background.positive.lowContrast;\n borderBottomColor = theme.colors.feedback.border.positive.highContrast;\n }\n\n return {\n backgroundColor,\n borderBottomColor,\n borderTopLeftRadius: makeBorderSize(theme.border.radius.small),\n borderTopRightRadius: makeBorderSize(theme.border.radius.small),\n borderBottomWidth: makeBorderSize(theme.border.width.thin),\n borderBottomStyle: 'solid',\n };\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n textAlign,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n });\n\n const isReactNative = getPlatformType() === 'react-native';\n\n return {\n ...getTextStyles({\n size: 'medium',\n variant: 'body',\n type: isDisabled ? 'placeholder' : 'subtle',\n weight: 'regular',\n contrast: 'low',\n theme,\n }),\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: 'transparent',\n paddingTop: makeSpace(theme.spacing[3]),\n paddingBottom: makeSpace(theme.spacing[3]),\n paddingLeft:\n hasLeadingIcon || hasPrefix ? makeSpace(theme.spacing[3]) : makeSpace(theme.spacing[4]),\n paddingRight:\n hasInteractionElement || hasSuffix || hasTrailingIcon\n ? makeSpace(theme.spacing[3])\n : makeSpace(theme.spacing[4]),\n textAlign,\n width: '100%',\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n","import React from 'react';\nimport styled from 'styled-components/native';\nimport type { TextInput } from 'react-native';\nimport type { StyledBaseInputProps } from './types';\nimport { getBaseInputStyles } from './baseInputStyles';\n\ntype StyledComponentAutoCompleteAndroid =\n | 'off'\n | 'name'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'username'\n | 'password'\n | 'postal-code'\n | 'tel'\n | undefined;\n\nconst autoCompleteSuggestionTypeAndroid = {\n none: 'off',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'password',\n newPassword: 'password-new',\n oneTimeCode: 'sms-otp',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'postal-address-country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n} as const;\n\nconst autoCompleteSuggestionTypeIOS = {\n none: 'none',\n name: 'name',\n email: 'emailAddress',\n username: 'username',\n password: 'password',\n newPassword: 'newPassword',\n oneTimeCode: 'oneTimeCode',\n telephone: 'telephoneNumber',\n postalCode: 'postalCode',\n countryName: 'countryName',\n creditCardNumber: 'creditCardNumber',\n creditCardCSC: 'none',\n creditCardExpiry: 'none',\n creditCardExpiryMonth: 'none',\n creditCardExpiryYear: 'none',\n} as const;\n\nconst KeyboardTypeToNativeValuesMap = {\n text: 'default',\n search: 'default',\n telephone: 'phone-pad',\n email: 'email-address',\n url: 'url',\n decimal: 'decimal-pad',\n};\n\nconst StyledNativeBaseInput = styled.TextInput<\n Omit<\n StyledBaseInputProps,\n 'accessibilityProps' | 'setCurrentInteraction' | 'currentInteraction'\n > & {\n isTextArea?: boolean;\n isFocused: boolean;\n autoCompleteType?: typeof autoCompleteSuggestionTypeAndroid[keyof typeof autoCompleteSuggestionTypeAndroid];\n }\n>((props) => ({\n ...getBaseInputStyles({\n theme: props.theme,\n isFocused: props.isFocused,\n isDisabled: !props.editable,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n interactionElement: props.interactionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n }),\n lineHeight: undefined,\n textAlignVertical: 'top',\n height: props.isTextArea\n ? `${props.theme.typography.lineHeights.xl * (props.numberOfLines ?? 0)}px`\n : '36px',\n}));\n\nexport const StyledBaseInput = React.forwardRef<TextInput, StyledBaseInputProps>(\n (\n {\n name,\n isRequired,\n isDisabled,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n keyboardType = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n currentInteraction,\n setCurrentInteraction,\n type,\n numberOfLines,\n isTextArea,\n ...props\n },\n ref,\n ) => {\n return (\n <StyledNativeBaseInput\n // the types of styled-components for react-native is creating a mess, so there's no other option but to type `ref` as any\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref={ref as any}\n multiline={isTextArea}\n numberOfLines={numberOfLines}\n isFocused={currentInteraction === 'active'}\n editable={!isDisabled}\n maxLength={maxCharacters}\n onFocus={(event): void => {\n handleOnFocus?.({ name, value: event?.nativeEvent.text });\n setCurrentInteraction('active');\n }}\n onBlur={(): void => {\n setCurrentInteraction('default');\n }}\n onChangeText={(text): void => {\n handleOnChange?.({ name, value: text });\n handleOnInput?.({ name, value: text });\n }}\n onEndEditing={(event): void => handleOnBlur?.({ name, value: event?.nativeEvent.text })}\n onKeyPress={(event): void => {\n handleOnKeyDown?.({\n name,\n key: event?.nativeEvent.key,\n event: (event as unknown) as React.KeyboardEvent<HTMLInputElement>, // TODO: handle platform specific type\n });\n }}\n // @ts-expect-error styled-components have limited keyboard types('default' | 'email-address' | 'numeric' | 'phone-pad' | 'number-pad' | 'decimal-pad') compared to the actual supported types so ignoring the error.\n // source: https://reactnative.dev/docs/textinput/#keyboardtype\n keyboardType={KeyboardTypeToNativeValuesMap[keyboardType]}\n returnKeyType={keyboardReturnKeyType}\n autoCompleteType={\n autoCompleteSuggestionType\n ? (autoCompleteSuggestionTypeAndroid[\n autoCompleteSuggestionType\n ] as StyledComponentAutoCompleteAndroid)\n : undefined\n }\n secureTextEntry={type === 'password'}\n isTextArea={isTextArea}\n textContentType={\n autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeIOS[autoCompleteSuggestionType]\n : undefined\n }\n {...props}\n {...accessibilityProps}\n />\n );\n },\n);\nStyledBaseInput.displayName = 'StyledBaseInput';\n","import styled from 'styled-components/native';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, {\n useAnimatedStyle,\n useSharedValue,\n interpolate,\n withTiming,\n} from 'react-native-reanimated';\nimport type { ReactElement } from 'react';\nimport { useEffect } from 'react';\nimport type { BaseInputProps } from './BaseInput';\nimport { makeBorderSize } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\nimport type { ActionStates } from '~tokens/theme/theme';\n\nconst BaseInputStyledAnimatedBorder = styled(Animated.View)(({ theme }) => ({\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n opacity: 1,\n backgroundColor: theme.colors.brand.primary[500],\n height: makeBorderSize(theme.border.width.thin),\n}));\n\nexport const BaseInputAnimatedBorder = ({\n currentInteraction,\n validationState,\n isLabelLeftPositioned: _,\n}: {\n currentInteraction: keyof ActionStates;\n validationState: BaseInputProps['validationState'];\n isLabelLeftPositioned?: boolean;\n}): ReactElement => {\n const { theme } = useTheme();\n const borderAnimationEasing = (theme.motion.easing.standard.effective as unknown) as EasingFn;\n\n const widthTrigger = useSharedValue(0);\n const opacityTrigger = useSharedValue(1);\n\n const animatedStyle = useAnimatedStyle(() => {\n return {\n width: `${interpolate(widthTrigger.value, [0, 1], [0, 100])}%`,\n opacity: interpolate(opacityTrigger.value, [0, 1], [0, 1]),\n };\n });\n\n useEffect(() => {\n if (\n currentInteraction == 'active' &&\n validationState !== 'error' &&\n validationState !== 'success'\n ) {\n widthTrigger.value = 0;\n opacityTrigger.value = 1;\n widthTrigger.value = withTiming(1, {\n duration: theme.motion.duration.moderate,\n easing: borderAnimationEasing,\n });\n } else if (currentInteraction === 'default') {\n opacityTrigger.value = withTiming(0, {\n duration: theme.motion.duration.xquick,\n easing: borderAnimationEasing,\n });\n }\n }, [\n currentInteraction,\n opacityTrigger,\n widthTrigger,\n theme.motion.duration,\n borderAnimationEasing,\n validationState,\n ]);\n\n return <BaseInputStyledAnimatedBorder style={animatedStyle} />;\n};\n","import styled from 'styled-components';\nimport type { ReactElement, ReactNode } from 'react';\nimport { getInputBackgroundAndBorderStyles } from './baseInputStyles';\nimport type { BaseInputProps } from './BaseInput';\nimport { BaseInputAnimatedBorder } from './BaseInputAnimatedBorder';\nimport Box from '~components/Box';\nimport { castWebType, getPlatformType, makeMotionTime } from '~utils';\nimport type { ActionStates } from '~tokens/theme/theme';\n\ntype BaseInputWrapperProps = Pick<BaseInputProps, 'isDisabled' | 'validationState'> & {\n isFocused?: boolean;\n isLabelLeftPositioned?: boolean;\n currentInteraction: keyof ActionStates;\n isTextArea?: boolean;\n};\n\nconst StyledBaseInputWrapper = styled(Box)<BaseInputWrapperProps>((props) => ({\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n '&:hover':\n getPlatformType() === 'react-native'\n ? undefined\n : {\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isHovered: true,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n transitionProperty: 'background-color',\n transitionDuration: castWebType(makeMotionTime(props.theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(props.theme.motion.easing.standard.effective),\n },\n ':focus-within':\n getPlatformType() === 'react-native'\n ? undefined\n : {\n ...getInputBackgroundAndBorderStyles({\n theme: props.theme,\n isFocused: props.currentInteraction === 'active',\n isDisabled: props.isDisabled,\n validationState: props.validationState,\n }),\n },\n}));\n\nexport const BaseInputWrapper = ({\n children,\n validationState,\n currentInteraction,\n isLabelLeftPositioned,\n isTextArea,\n ...props\n}: BaseInputWrapperProps & {\n children: ReactNode;\n}): ReactElement => {\n return (\n <>\n <StyledBaseInputWrapper\n display=\"flex\"\n flexDirection=\"row\"\n width=\"100%\"\n alignItems={isTextArea ? 'flex-start' : undefined}\n validationState={validationState}\n currentInteraction={currentInteraction}\n {...props}\n >\n {children}\n </StyledBaseInputWrapper>\n <BaseInputAnimatedBorder\n currentInteraction={currentInteraction}\n validationState={validationState}\n isLabelLeftPositioned={isLabelLeftPositioned}\n />\n </>\n );\n};\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '../../Form';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport Box from '~components/Box';\n\nimport {\n metaAttribute,\n getPlatformType,\n makeAccessible,\n useBreakpoint,\n MetaConstants,\n} from '~utils';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~src/hooks/useInteraction';\nimport type { FormInputHandleOnKeyDownEvent } from '~components/Form/FormTypes';\n\nexport type BaseInputProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input or textarea\n */\n as?: 'input' | 'textarea';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n interactionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?:\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n };\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\nconst useInput = ({\n value,\n defaultValue,\n onFocus,\n onChange,\n onBlur,\n onInput,\n onKeyDown,\n}: Pick<\n BaseInputProps,\n 'value' | 'defaultValue' | 'onFocus' | 'onChange' | 'onBlur' | 'onInput' | 'onKeyDown'\n>): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (value && defaultValue) {\n throw new Error(\n `[Blade: Input]: Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n );\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nexport const BaseInput = React.forwardRef<HTMLInputElement, BaseInputProps>(\n (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n interactionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n hideLabelText,\n hideFormHint,\n },\n ref,\n ) => {\n const { theme } = useTheme();\n const {\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onChange,\n onBlur,\n onInput,\n onKeyDown,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n\n const accessibilityProps = makeAccessible({\n required: Boolean(isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throw new Error(\n `[Blade: Input]: Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n );\n }\n\n const isTextArea = as === 'textarea';\n const isReactNative = getPlatformType() === 'react-native';\n return (\n <Box {...metaAttribute(MetaConstants.Component, componentName!)}>\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n >\n {!hideLabelText && (\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginTop={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n marginBottom={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n htmlFor={inputId}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(inputValue)}\n </Box>\n )}\n <BaseInputWrapper\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n >\n <BaseInputVisuals leadingIcon={leadingIcon} prefix={prefix} isDisabled={isDisabled} />\n <StyledBaseInput\n as={isReactNative ? undefined : as}\n id={inputId}\n ref={ref as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n leadingIcon={leadingIcon}\n prefix={prefix}\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n />\n <BaseInputVisuals\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n />\n </BaseInputWrapper>\n </Box>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {!hideFormHint && (\n <Box marginLeft={isLabelLeftPositioned ? 136 : 0}>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n />\n {trailingFooterSlot?.(inputValue)}\n </Box>\n </Box>\n )}\n </Box>\n );\n },\n);\n","import type { ReactElement } from 'react';\nimport { Text } from '~components/Typography';\n\ntype CharacterCounterProps = {\n currentCount: number;\n maxCount: number;\n};\n\nexport const CharacterCounter = ({\n currentCount,\n maxCount,\n}: CharacterCounterProps): ReactElement => (\n <Text variant=\"caption\" weight=\"regular\" type=\"muted\">\n {currentCount}/{maxCount}\n </Text>\n);\n","import { BaseSpinner } from '../BaseSpinner';\nimport type { BaseSpinnerProps } from '../BaseSpinner';\n\ntype SpinnerProps = Omit<BaseSpinnerProps, 'intent'>;\n\nconst Spinner = ({\n label,\n labelPosition,\n accessibilityLabel,\n contrast = 'low',\n size = 'medium',\n}: SpinnerProps): React.ReactElement => {\n return (\n <BaseSpinner\n label={label}\n labelPosition={labelPosition}\n accessibilityLabel={accessibilityLabel ?? label ?? 'Loading'}\n contrast={contrast}\n size={size}\n />\n );\n};\n\nexport { Spinner, SpinnerProps };\n","import React, { useState } from 'react';\nimport type { ReactElement, ReactNode } from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport type { IconComponent } from '~components/Icons';\nimport { CloseIcon } from '~components/Icons';\nimport { IconButton } from '~components/Button/IconButton';\nimport { getPlatformType, isEmpty } from '~utils';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport Box from '~components/Box';\nimport { Spinner } from '~components/Spinner';\n\n// Users should use PasswordInput for input type password\ntype Type = Exclude<BaseInputProps['type'], 'password'>;\n\nexport type TextInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'prefix'\n | 'suffix'\n | 'maxCharacters'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n\n /**\n * Decides whether to show a loading spinner for the input field.\n */\n isLoading?: boolean;\n\n /**\n * Icon that will be rendered at the beginning of the input field\n */\n icon?: IconComponent;\n\n /**\n * Type of Input Field to be rendered. Use `PasswordInput` for type `password`\n *\n * @default text\n */\n type?: Type;\n};\n\ntype TextInputKeyboardAndAutoComplete = Pick<\n BaseInputProps,\n 'keyboardType' | 'keyboardReturnKeyType' | 'autoCompleteSuggestionType'\n> & {\n type: Type;\n};\n\nconst getKeyboardAndAutocompleteProps = ({\n type = 'text',\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n}: TextInputKeyboardAndAutoComplete): TextInputKeyboardAndAutoComplete => {\n const keyboardAndAutocompleteProps: TextInputKeyboardAndAutoComplete = {\n type,\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n };\n\n const keyboardConfigMap = {\n text: {\n keyboardType: 'text',\n keyboardReturnKeyType: 'default',\n autoCompleteSuggestionType: 'none',\n },\n telephone: {\n keyboardType: 'telephone',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'telephone',\n },\n email: {\n keyboardType: 'email',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'email',\n },\n url: {\n keyboardType: 'url',\n keyboardReturnKeyType: 'go',\n autoCompleteSuggestionType: 'none',\n },\n number: {\n keyboardType: 'decimal',\n keyboardReturnKeyType: 'done',\n autoCompleteSuggestionType: 'none',\n },\n search: {\n keyboardType: 'search',\n keyboardReturnKeyType: 'search',\n autoCompleteSuggestionType: 'none',\n },\n } as const;\n\n const keyboardConfig = keyboardConfigMap[type];\n\n keyboardAndAutocompleteProps.keyboardType = keyboardConfig.keyboardType;\n\n keyboardAndAutocompleteProps.keyboardReturnKeyType =\n keyboardReturnKeyType ?? keyboardConfig.keyboardReturnKeyType;\n\n keyboardAndAutocompleteProps.autoCompleteSuggestionType =\n autoCompleteSuggestionType ?? keyboardConfig.autoCompleteSuggestionType;\n\n if (type === 'number') {\n /* the default keyboardType:numeric shows alphanumeric keyboard on iOS but number pad on android. making it type:text and keyboardType:decimal fixes this on all platforms.\n * source: https://css-tricks.com/everything-you-ever-wanted-to-know-about-keyboardType/#aa-decimal\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n if (type === 'search') {\n /* when input type:search is provided at that time browser adds a weird close button which collides with our clear button and then we have 2 clear buttons\n * source: https://github.com/razorpay/blade/issues/857#issue-1457367160\n */\n keyboardAndAutocompleteProps.type = 'text';\n }\n\n return keyboardAndAutocompleteProps;\n};\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nexport const TextInput = ({\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n name,\n value,\n maxCharacters,\n onChange,\n onFocus,\n onBlur,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n icon,\n prefix,\n showClearButton,\n onClearButtonClick,\n isLoading,\n suffix,\n autoFocus,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n}: TextInputProps): ReactElement => {\n const textInputRef = React.useRef<HTMLInputElement | TextInputReactNative>(null);\n const [shouldShowClearButton, setShouldShowClearButton] = useState(false);\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(showClearButton && (defaultValue ?? value)));\n }, [showClearButton, defaultValue, value]);\n\n const renderInteractionElement = (): ReactNode => {\n if (isLoading) {\n return <Spinner accessibilityLabel=\"Loading Content\" />;\n }\n\n if (shouldShowClearButton) {\n return (\n <IconButton\n size=\"medium\"\n icon={CloseIcon}\n onClick={() => {\n if (isEmpty(value) && textInputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(textInputRef.current)) {\n textInputRef.current.clear();\n textInputRef.current.focus();\n } else if (textInputRef.current instanceof HTMLInputElement) {\n textInputRef.current.value = '';\n textInputRef.current.focus();\n }\n }\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n textInputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n accessibilityLabel=\"Clear Input Content\"\n />\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n id=\"textinput\"\n componentName=\"textinput\"\n ref={textInputRef as React.Ref<HTMLInputElement>}\n label={label}\n labelPosition={labelPosition}\n placeholder={placeholder}\n defaultValue={defaultValue}\n value={value}\n name={name}\n maxCharacters={maxCharacters}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n isDisabled={isDisabled}\n necessityIndicator={necessityIndicator}\n isRequired={isRequired}\n leadingIcon={icon}\n prefix={prefix}\n interactionElement={renderInteractionElement()}\n suffix={suffix}\n validationState={validationState}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n }}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n {...getKeyboardAndAutocompleteProps({\n type,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n })}\n />\n );\n};\n","import type { ReactElement, ReactNode } from 'react';\nimport { useState } from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { EyeIcon, EyeOffIcon } from '~components/Icons';\nimport Box from '~components/Box';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\nimport { IconButton } from '~components/Button/IconButton';\n\ntype PasswordInputExtraProps = {\n /**\n * Shows a reveal button to toggle password visibility\n *\n * @default true\n */\n showRevealButton?: boolean;\n\n /**\n * Displays asterisk (`*`) when `isRequired` is enabled\n *\n * @default none\n */\n necessityIndicator?: Exclude<BaseInputProps['necessityIndicator'], 'optional'>;\n\n /**\n * Determines what autoComplete suggestion type to show. Defaults to using platform heuristics.\n *\n * It's not recommended to turn this off in favor of safe password practices.\n * Providing `password` or `newPassword` is more informative to the platform for browser autofill or password managers.\n *\n * **Note**: Using `newPassword` on iOS has some [known issue](https://github.com/facebook/react-native/issues/21911) on React Native\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: Extract<\n BaseInputProps['autoCompleteSuggestionType'],\n 'none' | 'password' | 'newPassword'\n >;\n};\n\ntype PasswordInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'maxCharacters'\n | 'validationState'\n | 'errorText'\n | 'successText'\n | 'helpText'\n | 'isDisabled'\n | 'defaultValue'\n | 'placeholder'\n | 'isRequired'\n | 'value'\n | 'onChange'\n | 'onBlur'\n | 'onFocus'\n | 'name'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'autoCompleteSuggestionType'\n> &\n PasswordInputExtraProps;\n\nconst PasswordInput = ({\n label,\n labelPosition = 'top',\n showRevealButton = true,\n maxCharacters,\n validationState,\n errorText,\n successText,\n helpText,\n isDisabled = false,\n defaultValue,\n placeholder,\n isRequired = false,\n necessityIndicator = 'none',\n value,\n onChange,\n onFocus,\n onBlur,\n name,\n autoFocus = false,\n keyboardReturnKeyType = 'done',\n autoCompleteSuggestionType,\n}: PasswordInputProps): ReactElement => {\n const [isRevealed, setIsRevealed] = useState(false);\n const isEnabled = !isDisabled;\n\n // If input is disabled reveal button shouldn't be present and input should be masked\n const isRevealedAndEnabled = isRevealed && isEnabled;\n\n const toggleIsRevealed = (): void => setIsRevealed((revealed) => !revealed);\n const accessibilityLabel = isRevealedAndEnabled ? 'Hide password' : 'Show password';\n const type = isRevealedAndEnabled ? 'text' : 'password';\n\n const revealButtonIcon = isRevealedAndEnabled ? EyeOffIcon : EyeIcon;\n const revealButton =\n showRevealButton && !isDisabled ? (\n <IconButton\n size=\"medium\"\n icon={revealButtonIcon}\n onClick={toggleIsRevealed}\n accessibilityLabel={accessibilityLabel}\n />\n ) : null;\n\n const trailingFooterSlot = (value?: string): ReactNode =>\n maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n\n return (\n <BaseInput\n componentName=\"password-input\"\n id=\"password-field\"\n label={label}\n labelPosition={labelPosition}\n type={type}\n interactionElement={revealButton}\n trailingFooterSlot={trailingFooterSlot}\n maxCharacters={maxCharacters}\n validationState={validationState}\n errorText={errorText}\n successText={successText}\n helpText={helpText}\n isDisabled={isDisabled}\n defaultValue={defaultValue}\n placeholder={placeholder}\n isRequired={isRequired}\n necessityIndicator={necessityIndicator}\n value={value}\n onChange={onChange}\n onBlur={onBlur}\n onFocus={onFocus}\n name={name}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n />\n );\n};\n\nexport { PasswordInputProps, PasswordInput };\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport React from 'react';\nimport type { TextInput as TextInputReactNative } from 'react-native';\nimport { CloseIcon } from '../../Icons';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { IconButton } from '~components/Button/IconButton';\nimport Box from '~components/Box';\nimport { getPlatformType, isEmpty } from '~utils';\nimport { CharacterCounter } from '~components/Form/CharacterCounter';\n\ntype TextAreaProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'necessityIndicator'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'placeholder'\n | 'defaultValue'\n | 'name'\n | 'onChange'\n | 'onFocus'\n | 'onBlur'\n | 'value'\n | 'isDisabled'\n | 'isRequired'\n | 'maxCharacters'\n | 'autoFocus'\n | 'numberOfLines'\n> & {\n /**\n * Decides whether to render a clear icon button\n */\n showClearButton?: boolean;\n /**\n * Event handler to handle the onClick event for clear button.\n */\n onClearButtonClick?: () => void;\n};\n\n// need to do this to tell TS to infer type as TextInput of React Native and make it believe that `ref.current.clear()` exists\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isReactNative = (_textInputRef: any): _textInputRef is TextInputReactNative => {\n return getPlatformType() === 'react-native';\n};\n\nconst TextArea = ({\n label,\n labelPosition,\n necessityIndicator,\n errorText,\n helpText,\n successText,\n validationState,\n defaultValue,\n isDisabled,\n isRequired,\n name,\n onChange,\n onFocus,\n onBlur,\n placeholder,\n value,\n maxCharacters,\n showClearButton,\n onClearButtonClick,\n autoFocus,\n numberOfLines = 2,\n}: TextAreaProps): React.ReactElement => {\n const inputRef = React.useRef<HTMLInputElement | TextInputReactNative>(null);\n\n const [shouldShowClearButton, setShouldShowClearButton] = React.useState(false);\n\n React.useEffect(() => {\n setShouldShowClearButton(Boolean(showClearButton && (value?.length || defaultValue?.length)));\n }, [showClearButton, defaultValue, value]);\n\n const renderInteractionElement = (): React.ReactNode => {\n if (shouldShowClearButton) {\n return (\n <Box paddingTop=\"spacing.3\" marginTop=\"spacing.1\">\n <IconButton\n icon={CloseIcon}\n accessibilityLabel=\"Clear textarea content\"\n onClick={() => {\n if (isEmpty(value) && inputRef.current) {\n // when the input field is uncontrolled take the ref and clear the input and then call the onClearButtonClick function\n if (isReactNative(inputRef.current)) {\n inputRef.current.clear();\n inputRef.current.focus();\n } else if (inputRef.current instanceof HTMLTextAreaElement) {\n inputRef.current.value = '';\n inputRef.current.focus();\n }\n }\n // if the input field is controlled just call the click handler and the value change shall be left upto the consumer\n onClearButtonClick?.();\n inputRef?.current?.focus();\n setShouldShowClearButton(false);\n }}\n />\n </Box>\n );\n }\n\n return null;\n };\n\n return (\n <BaseInput\n as=\"textarea\"\n id=\"textarea\"\n componentName=\"textarea\"\n autoFocus={autoFocus}\n ref={inputRef as React.Ref<HTMLInputElement>}\n label={label}\n labelPosition={labelPosition}\n necessityIndicator={necessityIndicator}\n errorText={errorText}\n helpText={helpText}\n successText={successText}\n validationState={validationState}\n isDisabled={isDisabled}\n isRequired={isRequired}\n name={name}\n maxCharacters={maxCharacters}\n placeholder={placeholder}\n interactionElement={renderInteractionElement()}\n defaultValue={defaultValue}\n value={value}\n numberOfLines={numberOfLines}\n onChange={({ name, value }) => {\n if (showClearButton && value?.length) {\n // show the clear button when the user starts typing in\n setShouldShowClearButton(true);\n }\n\n if (shouldShowClearButton && !value?.length) {\n // hide the clear button when the input field is empty\n setShouldShowClearButton(false);\n }\n\n onChange?.({ name, value });\n }}\n onFocus={onFocus}\n onBlur={onBlur}\n trailingFooterSlot={(value) => {\n return maxCharacters ? (\n <Box marginTop=\"spacing.2\" marginRight=\"spacing.1\">\n <CharacterCounter currentCount={value?.length ?? 0} maxCount={maxCharacters} />\n </Box>\n ) : null;\n }}\n />\n );\n};\n\nexport { TextArea, TextAreaProps };\n","import React, { useEffect, useState } from 'react';\nimport type { BaseInputProps } from '../BaseInput';\nimport { BaseInput } from '../BaseInput';\nimport { getHintType } from '../BaseInput/BaseInput';\nimport type { FormInputOnEvent } from '../../Form';\nimport { FormHint, FormLabel } from '../../Form';\nimport { useFormId } from '../../Form/useFormId';\nimport type { FormInputOnKeyDownEvent } from '../../Form/FormTypes';\nimport Box from '~components/Box';\nimport { metaAttribute, getPlatformType, MetaConstants } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\nexport type OTPInputProps = Pick<\n BaseInputProps,\n | 'label'\n | 'labelPosition'\n | 'validationState'\n | 'helpText'\n | 'errorText'\n | 'successText'\n | 'name'\n | 'onChange'\n | 'value'\n | 'isDisabled'\n | 'autoFocus'\n | 'keyboardReturnKeyType'\n | 'keyboardType'\n | 'placeholder'\n> & {\n /**\n * Determines the number of input fields to show for the OTP\n * @default 6\n */\n otpLength?: 4 | 6;\n /**\n * The callback function to be invoked when all the values of the OTPInput are filled\n */\n onOTPFilled?: FormInputOnEvent;\n /**\n * Masks input characters in all the fields\n */\n isMasked?: boolean;\n};\n\nconst isReactNative = getPlatformType() === 'react-native';\n\n/**\n * Converts a string value of otp to array if passed otherwise returns an array of 6 empty strings\n */\nconst otpToArray = (code?: string): string[] => code?.split('') ?? Array(6).fill('');\n\n/**\n * OTPInput component can be used for accepting OTPs sent to users for authentication/verification purposes.\n *\n * ## Usage\n *\n * ```tsx\n * <OTPInput\n * label=\"Enter OTP\"\n * name=\"otpInput\"\n * onChange={({ name, value }): void => console.log({ name, value })}\n * onOTPFilled={({ name, value }): void => console.log({ name, value })}\n * />\n * ```\n */\nconst OTPInput = ({\n autoFocus,\n errorText,\n helpText,\n isDisabled,\n keyboardReturnKeyType,\n keyboardType = 'decimal',\n label,\n labelPosition,\n name,\n onChange,\n onOTPFilled,\n otpLength = 6,\n placeholder,\n successText,\n validationState,\n value: inputValue,\n isMasked,\n}: OTPInputProps): React.ReactElement => {\n const inputRefs: React.RefObject<HTMLInputElement>[] = [];\n const [otpValue, setOtpValue] = useState<string[]>(otpToArray(inputValue));\n const isLabelLeftPositioned = labelPosition === 'left';\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId('otp');\n const { platform } = useTheme();\n\n useEffect(() => {\n // Effect for calling `onOTPFilled` callback\n if (inputValue && inputValue.length >= otpLength) {\n // callback for when the OTPInput is controlled and inputValue reaches the same or greater length as the otpLength\n onOTPFilled?.({ value: inputValue.slice(0, otpLength), name });\n } else if (!inputValue && otpValue.join('').length >= otpLength) {\n // callback for when the OTPInput is uncontrolled and otpValue stored in state reaches the same or greater length as the otpLength\n onOTPFilled?.({ value: otpValue.slice(0, otpLength).join(''), name });\n }\n }, [otpValue, otpLength, name, inputValue, onOTPFilled]);\n\n /**\n * Changes the value of the otp at a given index and updates the otpValue stored in state\n *\n * @param {{ value: string; index: number }} { value, index }\n * @returns {string} updated otpValue\n */\n const setOtpValueByIndex = ({ value, index }: { value: string; index: number }): string => {\n const newOtpValue = Array.from(otpValue);\n newOtpValue[index] = value;\n setOtpValue(newOtpValue);\n return newOtpValue.join('');\n };\n\n /**\n * Sets focus to the desired otp input by index\n *\n * @param {number} index the index of the otp input to be focused\n */\n const focusOnOtpByIndex = (index: number): void => {\n inputRefs[index]?.current?.focus();\n if (!isReactNative) {\n // React Native doesn't support imperatively selecting the value of input\n inputRefs[index]?.current?.select();\n }\n };\n\n const handleOnChange = ({\n value,\n currentOtpIndex,\n }: {\n value?: string;\n currentOtpIndex: number;\n }): void => {\n if (value && value === ' ') {\n // React native doesn't support `event.preventDefault()` hence have to add this check to ensure that empty space is not allowed\n return;\n }\n\n if (inputValue && inputValue.length > 0) {\n // When OTPInput is controlled, set the otpValue as the consumer passed `inputValue` and append the value on current index based on user's input.\n // User's input will not reflect on the otp but will trigger `onChange` callback with the user's input appended so that the consumer can take appropriate action.\n const newOtpValue = Array.from(inputValue);\n newOtpValue[currentOtpIndex] = value ?? '';\n setOtpValue(newOtpValue);\n onChange?.({ name, value: newOtpValue.join('') });\n } else if (value && value.trim().length > 1) {\n // When the entered value is more that 1 character (when value is pasted), set the otpValue to the newly received value.\n // Could have used `onPaste` for web to achieve this but 1. React Native doesn't support onPaste and 2. Safari's autofill on web doesn't trigger onPaste\n setOtpValue(Array.from(value));\n onChange?.({ name, value: value.trim().slice(0, otpLength) });\n } else if (otpValue[currentOtpIndex] !== value?.trim()) {\n // Set the value at the current index to the entered value\n // only as long as its not the same as the already existing value (this prevents `onChange` being triggered unnecessarily)\n const newValue = setOtpValueByIndex({\n value: value?.trim() ?? '',\n index: currentOtpIndex,\n });\n onChange?.({ name, value: newValue });\n }\n };\n\n const handleOnInput = ({\n value,\n currentOtpIndex,\n }: {\n value?: string;\n currentOtpIndex: number;\n }): void => {\n // Moves focus to next input whenever a value is entered in the current input\n if (value && value.trim().length === 1) {\n focusOnOtpByIndex(++currentOtpIndex);\n }\n };\n\n const handleOnKeyDown = ({\n key,\n code,\n event,\n currentOtpIndex,\n }: FormInputOnKeyDownEvent & { currentOtpIndex: number }): void => {\n if (key === 'Backspace' || code === 'Backspace' || code === 'Delete' || key === 'Delete') {\n event.preventDefault?.();\n handleOnChange({ value: '', currentOtpIndex });\n focusOnOtpByIndex(--currentOtpIndex);\n } else if (key === 'ArrowLeft' || code === 'ArrowLeft') {\n event.preventDefault?.();\n focusOnOtpByIndex(--currentOtpIndex);\n } else if (key === 'ArrowRight' || code === 'ArrowRight') {\n event.preventDefault?.();\n focusOnOtpByIndex(++currentOtpIndex);\n } else if (key === ' ' || code === 'Space') {\n event.preventDefault?.();\n }\n };\n\n const getHiddenInput = (): React.ReactNode => {\n if (!isReactNative) {\n return (\n <input\n hidden={true}\n id={inputId}\n name={name}\n value={inputValue ?? otpValue.join('') ?? ''}\n readOnly\n />\n );\n }\n return null;\n };\n\n const getOTPInputFields = (): React.ReactNode => {\n const inputs = [];\n for (let index = 0; index < otpLength; index++) {\n const currentValue = inputValue ? otpToArray(inputValue)[index] || '' : otpValue[index] || '';\n const ref = React.createRef<HTMLInputElement>();\n inputRefs.push(ref);\n inputs.push(\n <Box\n flex={1}\n marginLeft={index == 0 ? 'spacing.0' : 'spacing.3'}\n key={`${inputId}-${index}`}\n maxWidth={platform === 'onDesktop' ? 36 : 40} // TODO: use size tokens\n >\n <BaseInput\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus && index === 0}\n accessibilityLabel={`${index === 0 ? label : ''} character ${index + 1}`}\n label={label}\n hideLabelText={true}\n id={`${inputId}-${index}`}\n textAlign=\"center\"\n ref={ref}\n value={currentValue}\n maxCharacters={otpValue[index]?.length > 0 ? 1 : undefined}\n onChange={(formEvent) => handleOnChange({ ...formEvent, currentOtpIndex: index })}\n onInput={(formEvent) => handleOnInput({ ...formEvent, currentOtpIndex: index })}\n onKeyDown={(keyboardEvent) =>\n handleOnKeyDown({ ...keyboardEvent, currentOtpIndex: index })\n }\n isDisabled={isDisabled}\n placeholder={Array.from(placeholder ?? '')[index] ?? ''}\n isRequired={true}\n autoCompleteSuggestionType=\"oneTimeCode\"\n keyboardType={keyboardType}\n keyboardReturnKeyType={keyboardReturnKeyType}\n validationState={validationState}\n successText={successText}\n errorText={errorText}\n helpText={helpText}\n hideFormHint={true}\n type={isMasked ? 'password' : undefined}\n />\n </Box>,\n );\n }\n return inputs;\n };\n\n return (\n <Box {...metaAttribute(MetaConstants.Component, MetaConstants.OTPInput)}>\n <Box\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n >\n <FormLabel as=\"label\" position={labelPosition} htmlFor={inputId}>\n {label}\n </FormLabel>\n <Box display=\"flex\" flexDirection=\"row\">\n {getHiddenInput()}\n {getOTPInputFields()}\n </Box>\n </Box>\n {/* the magic number 136 is basically max-width of label i.e 120 and then right margin i.e 16 which is the spacing between label and input field */}\n {/*Refer `BaseInput`'s implementation of FormHint which uses similar logic */}\n <Box marginLeft={isLabelLeftPositioned ? 136 : 0}>\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n />\n </Box>\n </Box>\n );\n};\n\nexport { OTPInput };\n","import type { ReactElement } from 'react';\nimport { Circle as CircleNative } from 'react-native-svg';\nimport type { CircleProps } from './types';\n\nconst Circle = ({ cx, cy, x, y, r, fill, stroke, strokeWidth }: CircleProps): ReactElement => {\n return (\n <CircleNative\n cx={cx}\n cy={cy}\n x={x}\n y={y}\n r={r}\n fill={fill}\n stroke={stroke}\n strokeWidth={strokeWidth}\n />\n );\n};\n\nexport default Circle;\n","import type { ReactElement } from 'react';\nimport { useCallback } from 'react';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport Svg from '~components/Icons/_Svg';\nimport Circle from '~components/Icons/_Svg/Circle';\nimport { Text } from '~components/Typography';\n\nimport type { Feedback } from '~tokens/theme/theme';\nimport { metaAttribute, getPlatformType, makeAccessible, MetaConstants } from '~utils';\n\ntype IndicatorCommonProps = {\n /**\n * Sets the color tone\n *\n * @default neutral\n */\n intent?: Feedback;\n\n /**\n * Size of the indicator\n *\n * @default medium\n */\n size?: 'small' | 'medium' | 'large';\n};\n\ntype IndicatorWithoutA11yLabel = {\n /**\n * A text label to show alongside the indicator dot\n */\n children: string;\n\n /**\n * a11y label for screen readers\n */\n accessibilityLabel?: string;\n};\n\ntype IndicatorWithA11yLabel = {\n /**\n * a11y label for screen readers\n */\n accessibilityLabel: string;\n\n /**\n * A text label to show alongside the indicator dot\n */\n children?: string;\n};\n\ntype IndicatorProps = IndicatorCommonProps & (IndicatorWithA11yLabel | IndicatorWithoutA11yLabel);\n\ntype Dimensions = {\n svgSize: string;\n textSize: 'small' | 'medium';\n};\n\nconst Indicator = ({\n accessibilityLabel,\n children,\n size = 'medium',\n intent = 'neutral',\n}: IndicatorProps): ReactElement => {\n const { theme } = useTheme();\n\n const fillColor = theme.colors.feedback.background[intent].highContrast;\n const strokeColor = theme.colors.brand.gray.a100.highContrast;\n const getDimension = useCallback((): Dimensions => {\n switch (size) {\n case 'small':\n return { svgSize: '6', textSize: 'small' };\n case 'large':\n return { svgSize: '10', textSize: 'medium' };\n default:\n return { svgSize: '8', textSize: 'medium' };\n }\n }, [size]);\n const dimensions = getDimension();\n\n const isReactNative = getPlatformType() === 'react-native';\n const isWeb = !isReactNative;\n const a11yProps = makeAccessible({\n label: accessibilityLabel ?? children,\n ...(isWeb && { role: 'status' }),\n });\n\n return (\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n alignItems=\"center\"\n {...a11yProps}\n {...metaAttribute(MetaConstants.Component, MetaConstants.Indicator)}\n >\n <Svg width={dimensions.svgSize} height={dimensions.svgSize} viewBox=\"0 0 10 10\" fill=\"none\">\n <Circle cx=\"5\" cy=\"5\" r=\"5\" fill={fillColor} />\n <Circle cx=\"5\" cy=\"5\" r=\"4.75\" stroke={strokeColor} strokeWidth=\"0.5\" />\n </Svg>\n <Box marginLeft=\"spacing.2\">\n <Text contrast=\"low\" type=\"subtle\" size={dimensions.textSize}>\n {children}\n </Text>\n </Box>\n </Box>\n );\n};\n\nexport { IndicatorProps, Indicator };\n","/**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\nfunction baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n}\n\nmodule.exports = baseClamp;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","var baseClamp = require('./_baseClamp'),\n toNumber = require('./toNumber');\n\n/**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\nfunction clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n}\n\nmodule.exports = clamp;\n","const indeterminateAnimation = {\n scaleXInitial: 1,\n scaleXMid: 5,\n scaleXFinal: 1,\n leftInitial: '-8%',\n leftMid: '50%',\n leftFinal: '103%',\n fillWidth: '5%',\n};\n\nconst pulseAnimation = {\n opacityInitial: 0,\n opacityMid: 0.25,\n opacityFinal: 0,\n backgroundColor: 'white',\n};\n\nexport { indeterminateAnimation, pulseAnimation };\n","import React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport Animated, {\n cancelAnimation,\n Easing,\n useAnimatedStyle,\n useSharedValue,\n withDelay,\n withRepeat,\n withSequence,\n withTiming,\n} from 'react-native-reanimated';\nimport { useTheme } from '../BladeProvider';\nimport type { ProgressBarFilledProps } from './types';\nimport { indeterminateAnimation, pulseAnimation } from './progressBarTokens';\nimport { castNativeType, getIn, makeMotionTime } from '~utils';\n\nconst ProgressBarIndeterminateFilledContainer = styled(Animated.View)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor }) => ({\n backgroundColor,\n height: '100%',\n width: indeterminateAnimation.fillWidth,\n position: 'absolute',\n}));\n\nconst ProgressBarDeterminateFilledContainer = styled(Animated.View)<\n Pick<ProgressBarFilledProps, 'backgroundColor' | 'progress'>\n>(({ backgroundColor, progress }) => ({\n backgroundColor,\n height: '100%',\n width: `${progress}%`,\n}));\n\nconst ProgressBarPulseAnimation = styled(Animated.View)({\n backgroundColor: pulseAnimation.backgroundColor,\n opacity: pulseAnimation.opacityInitial,\n width: '100%',\n height: '100%',\n});\n\nconst ProgressBarFilled = ({\n backgroundColor,\n progress,\n fillMotionDuration,\n motionEasing,\n pulseMotionDuration,\n pulseMotionDelay,\n variant,\n isIndeterminate,\n indeterminateMotionDuration,\n}: ProgressBarFilledProps): React.ReactElement => {\n const animatedWidth = useSharedValue(progress); // for progress fill animation\n const animatedOpacity = useSharedValue(pulseAnimation.opacityInitial); // for pulse animation\n const animatedScaleX = useSharedValue(indeterminateAnimation.scaleXInitial); // for indeterminate scale animation\n const animatedLeft = useSharedValue(indeterminateAnimation.leftInitial); // for indeterminate slide animation\n\n const { theme } = useTheme();\n const fillAndPulseEasing = getIn(theme.motion, motionEasing);\n const pulseDuration =\n castNativeType(makeMotionTime(getIn(theme.motion, pulseMotionDuration))) / 2; // divided by 2 since we animate it with 2 steps in a sequence\n\n // Trigger animation for progress fill\n useEffect(() => {\n const fillDuration = castNativeType(makeMotionTime(getIn(theme.motion, fillMotionDuration)));\n animatedWidth.value = withTiming(progress, {\n duration: fillDuration,\n easing: fillAndPulseEasing,\n });\n return () => {\n cancelAnimation(animatedWidth);\n };\n }, [progress, animatedWidth, fillMotionDuration, theme, fillAndPulseEasing]);\n\n // Animated styles for progress fill animation\n const progressFillAnimatedStyle = useAnimatedStyle(() => {\n return {\n width: `${animatedWidth.value}%`,\n };\n });\n\n // Trigger animation for indeterminate progress bar\n useEffect(() => {\n if (variant === 'progress' && isIndeterminate) {\n const indeterminateDuration = castNativeType(\n makeMotionTime(getIn(theme.motion, indeterminateMotionDuration)),\n );\n const indeterminateEasing = Easing.linear;\n\n // Sliding animation\n animatedLeft.value = withRepeat(\n withTiming(indeterminateAnimation.leftFinal, {\n duration: indeterminateDuration,\n easing: indeterminateEasing,\n }),\n -1,\n );\n\n // Scaling animation\n animatedScaleX.value = withRepeat(\n withSequence(\n withTiming(indeterminateAnimation.scaleXMid, {\n duration: indeterminateDuration / 2, // divided by 2 since we animate it with 2 steps in a sequence\n easing: indeterminateEasing,\n }),\n withTiming(indeterminateAnimation.scaleXFinal, {\n duration: indeterminateDuration / 2, // divided by 2 since we animate it with 2 steps in a sequence\n easing: indeterminateEasing,\n }),\n ),\n -1,\n );\n }\n\n return () => {\n cancelAnimation(animatedLeft);\n cancelAnimation(animatedScaleX);\n };\n }, [animatedLeft, animatedScaleX, indeterminateMotionDuration, isIndeterminate, theme, variant]);\n\n // Animated styles for indeterminate animation\n const indeterminateAnimatedStyle = useAnimatedStyle(() => {\n return {\n left: animatedLeft.value,\n transform: [{ scaleX: animatedScaleX.value }],\n };\n });\n\n //Trigger pulsating animation\n useEffect(() => {\n const pulsatingAnimationTimingConfig = {\n duration: pulseDuration,\n easing: fillAndPulseEasing,\n };\n if (variant === 'progress') {\n animatedOpacity.value = withDelay(\n castNativeType(makeMotionTime(getIn(theme.motion, pulseMotionDelay))),\n withRepeat(\n withSequence(\n withTiming(pulseAnimation.opacityMid, pulsatingAnimationTimingConfig),\n withTiming(pulseAnimation.opacityFinal, pulsatingAnimationTimingConfig),\n ),\n -1,\n ),\n );\n }\n\n return () => {\n cancelAnimation(animatedOpacity);\n };\n }, [animatedOpacity, fillAndPulseEasing, pulseDuration, pulseMotionDelay, theme, variant]);\n\n // Animated styles for pulse animation\n const pulseAnimatedStyle = useAnimatedStyle(() => {\n return {\n opacity: animatedOpacity.value,\n };\n });\n\n const ProgressBarFilledContainer = isIndeterminate\n ? ProgressBarIndeterminateFilledContainer\n : ProgressBarDeterminateFilledContainer;\n\n return (\n <ProgressBarFilledContainer\n style={isIndeterminate ? indeterminateAnimatedStyle : progressFillAnimatedStyle}\n backgroundColor={backgroundColor}\n progress={progress}\n >\n <ProgressBarPulseAnimation style={pulseAnimatedStyle} />\n </ProgressBarFilledContainer>\n );\n};\n\nexport { ProgressBarFilled, ProgressBarFilledProps };\n","import type { ReactElement } from 'react';\nimport clamp from 'lodash/clamp';\nimport { ProgressBarFilled } from './ProgressBarFilled';\nimport { FormLabel } from '~components/Form';\nimport type { AccessibilityProps } from '~utils';\nimport { makeAccessible, makeSize, metaAttribute, MetaConstants } from '~utils';\nimport { Text } from '~components/Typography/Text';\nimport { useId } from '~src/hooks/useId';\nimport { useTheme } from '~components/BladeProvider';\nimport Box from '~components/Box';\nimport type { ColorContrastTypes, Feedback } from '~tokens/theme/theme';\n\ntype ProgressBarCommonProps = {\n /**\n * Sets aria-label to help users know what the progress bar is for. Default value is the same as the `label` passed.\n */\n accessibilityLabel?: string;\n /**\n * Sets the contrast for the progress bar\n * @default 'low'\n */\n contrast?: ColorContrastTypes;\n /**\n * Sets the intent of the progress bar which changes the feedback color.\n */\n intent?: Feedback;\n /**\n * Sets the label to be rendered for the progress bar. This value will also be used as default for `accessibilityLabel`.\n */\n label?: string;\n /**\n * Sets the size of the progress bar.\n * @default 'small'\n */\n size?: 'small' | 'medium';\n /**\n * Sets the progress value of the progress bar.\n * @default 'small'\n */\n value?: number;\n /**\n * Sets the minimum value for the progress bar.\n * @default 0\n */\n min?: number;\n /**\n * Sets the maximum value for the progress bar.\n * @default 100\n */\n max?: number;\n};\n\ntype ProgressBarVariant = 'progress' | 'meter';\n\ntype ProgressBarProgressProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for the progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'progress'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default true\n */\n showPercentage?: boolean;\n};\n\ntype ProgressBarMeterProps = ProgressBarCommonProps & {\n /**\n * Sets the variant to be rendered for thr progress bar.\n * @default 'progress'\n */\n variant?: Extract<ProgressBarVariant, 'meter'>;\n /**\n * Sets whether the progress bar is in an indeterminate state.\n * @default false\n */\n isIndeterminate?: undefined;\n /**\n * Sets whether or not to show the progress percentage for the progress bar. Percentage is hidden by default for the `meter` variant.\n * @default false\n */\n showPercentage?: undefined;\n};\n\ntype ProgressBarProps = ProgressBarProgressProps | ProgressBarMeterProps;\n\nconst progressBarHeight: Record<NonNullable<ProgressBarCommonProps['size']>, 2 | 4> = {\n small: 2,\n medium: 4,\n};\n\nconst ProgressBar = ({\n accessibilityLabel,\n contrast = 'low',\n intent,\n isIndeterminate = false,\n label,\n showPercentage = true,\n size = 'small',\n value = 0,\n variant = 'progress',\n min = 0,\n max = 100,\n}: ProgressBarProps): ReactElement => {\n const { theme } = useTheme();\n const id = useId(variant);\n\n if (variant === 'meter' && isIndeterminate) {\n throw new Error(\n `[Blade: ProgressBar]: Cannot set 'isIndeterminate' when 'variant' is 'meter'.`,\n );\n }\n\n const unfilledBackgroundColor = theme.colors.brand.gray.a100[`${contrast}Contrast`];\n const filledBackgroundColor = intent\n ? theme.colors.feedback.background[intent].highContrast\n : theme.colors.brand.primary[500];\n const hasLabel = label && label.trim()?.length > 0;\n const isMeter = variant === 'meter';\n const progressValue = clamp(value, min, max);\n const percentageProgressValue = Math.floor(((progressValue - min) * 100) / (max - min));\n const shouldShowPercentage = showPercentage && !isMeter && !isIndeterminate;\n const accessibilityProps: Pick<\n AccessibilityProps,\n 'role' | 'label' | 'valueMax' | 'valueNow' | 'valueMin' | 'valueText'\n > = {\n role: 'progressbar',\n label: accessibilityLabel ?? label,\n valueNow: percentageProgressValue,\n valueText: `${percentageProgressValue}%`,\n valueMin: min,\n valueMax: max,\n };\n\n if (isMeter) {\n accessibilityProps.role = 'meter';\n accessibilityProps.valueNow = progressValue;\n accessibilityProps.valueText = `${progressValue}`;\n }\n\n if (isIndeterminate) {\n accessibilityProps.valueNow = undefined;\n accessibilityProps.valueMin = undefined;\n accessibilityProps.valueMax = undefined;\n accessibilityProps.valueText = undefined;\n }\n\n return (\n <>\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={hasLabel ? 'space-between' : 'flex-end'}\n >\n {hasLabel ? (\n <FormLabel as=\"label\" htmlFor={id} contrast={contrast}>\n {label}\n </FormLabel>\n ) : null}\n {shouldShowPercentage ? (\n <Box marginBottom=\"spacing.2\">\n <Text\n type=\"subdued\"\n variant=\"body\"\n contrast={contrast}\n size=\"small\"\n >{`${percentageProgressValue}%`}</Text>\n </Box>\n ) : null}\n </Box>\n <Box\n id={id}\n {...metaAttribute(MetaConstants.Component, MetaConstants.ProgressBar)}\n {...makeAccessible({\n role: accessibilityProps.role,\n label: accessibilityProps.label,\n valueNow: accessibilityProps.valueNow,\n valueText: accessibilityProps.valueText,\n valueMin: accessibilityProps.valueMin,\n valueMax: accessibilityProps.valueMax,\n })}\n >\n <Box\n backgroundColor={unfilledBackgroundColor}\n height={makeSize(progressBarHeight[size])}\n overflow=\"hidden\"\n position=\"relative\"\n >\n <ProgressBarFilled\n backgroundColor={filledBackgroundColor}\n progress={percentageProgressValue}\n fillMotionDuration=\"duration.2xgentle\"\n pulseMotionDuration=\"duration.2xgentle\"\n indeterminateMotionDuration=\"duration.2xgentle\"\n pulseMotionDelay=\"delay.long\"\n motionEasing=\"easing.standard.revealing\"\n variant={variant}\n isIndeterminate={isIndeterminate}\n />\n </Box>\n </Box>\n </>\n );\n};\n\nexport { ProgressBar, ProgressBarProps, ProgressBarVariant };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { GestureResponderEvent } from 'react-native';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useId } from '~src/hooks/useId';\nimport { getPlatformType, makeAccessible } from '~src/utils';\n\nexport type OnChange = ({\n isChecked,\n event,\n value,\n}: {\n isChecked: boolean;\n event?: React.ChangeEvent;\n value?: string;\n}) => void;\n\ntype UseRadioProps = {\n hasError?: boolean;\n /**\n * If `true`, The Radio will be checked. This also makes the Radio controlled\n * Use `onChange` to update its value\n *\n * @default false\n */\n isChecked?: boolean;\n /**\n * If `true`, the Radio will be initially checked. This also makes the Radio uncontrolled\n *\n * @default false\n */\n defaultChecked?: boolean;\n /**\n * The callback invoked when the checked state of the `Radio` changes.\n */\n onChange?: OnChange;\n /**\n * The name of the input field in a Radio\n * (Useful for form submission).\n */\n name?: string;\n /**\n * The value to be used in the Radio input.\n * This is the value that will be returned on form submission.\n */\n value?: string;\n /**\n * If `true`, the Radio will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * If `true`, the Radio input is marked as required,\n * and `required` attribute will be added\n *\n * @default false\n */\n isRequired?: boolean;\n};\n\nconst useRadio = ({\n isChecked,\n defaultChecked,\n isDisabled,\n isRequired,\n hasError,\n onChange,\n name,\n value,\n}: UseRadioProps) => {\n const inputRef = React.useRef<HTMLInputElement>(null);\n\n const isReactNative = getPlatformType() === 'react-native';\n if (isChecked && defaultChecked) {\n throw new Error(\n `[Blade: Radio]: Do not provide both 'isChecked' and 'defaultChecked' to useRadio. Consider if you want this component to be controlled or uncontrolled.`,\n );\n }\n\n const [radioState, setRadioState] = useControllableState({\n value: isChecked,\n defaultValue: defaultChecked ?? false,\n });\n\n const handleOnChange = (event: React.ChangeEvent<HTMLInputElement> | GestureResponderEvent) => {\n if (isDisabled) {\n event.stopPropagation();\n event.preventDefault();\n return;\n }\n\n setRadioState((checked) => {\n // Prevent radio to be unchecked when clicked again\n // Once checked radios don't act as toggle buttons\n if (checked === false) {\n onChange?.({\n isChecked: true,\n event: event as React.ChangeEvent,\n value,\n });\n return true;\n }\n return checked;\n });\n };\n\n const state = {\n isChecked: radioState,\n setChecked: setRadioState,\n };\n\n const idBase = useId('radio');\n const helpTextId = useId(`${idBase}-helptext`);\n\n const accessibilityProps = makeAccessible({\n role: 'radio',\n required: Boolean(isRequired),\n invalid: Boolean(hasError),\n disabled: Boolean(isDisabled),\n checked: radioState,\n describedBy: helpTextId,\n });\n\n if (isReactNative) {\n return {\n state,\n inputProps: {\n onPress: handleOnChange,\n name,\n value,\n ...accessibilityProps,\n },\n };\n }\n\n return {\n state,\n ids: { helpTextId },\n inputProps: {\n ref: inputRef,\n onChange: handleOnChange,\n type: 'radio',\n name,\n value,\n checked: radioState,\n disabled: isDisabled,\n required: isRequired,\n ...accessibilityProps,\n },\n };\n};\n\nexport type InputProps = ReturnType<typeof useRadio>['inputProps'];\n\nexport { useRadio };\n","import type { Theme } from '~components/BladeProvider';\nimport type { DotNotationColorStringToken } from '~src/_helpers/types';\n\nconst radioSizes = {\n group: {\n gap: {\n small: {\n mobile: 'spacing.2',\n desktop: 'spacing.0',\n },\n medium: {\n mobile: 'spacing.3',\n desktop: 'spacing.2',\n },\n },\n },\n icon: {\n small: {\n width: 12,\n height: 12,\n dotRadius: 2,\n },\n medium: {\n width: 16,\n height: 16,\n dotRadius: 3,\n },\n },\n} as const;\n\ntype ColorTokens = `colors.${DotNotationColorStringToken<Theme['colors']>}` | 'transparent';\ntype Variant = {\n dot: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n border: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n background: {\n checked: ColorTokens;\n unchecked: ColorTokens;\n };\n};\n\ntype RadioIconColors = {\n variants: {\n default: Variant;\n disabled: Variant;\n negative: Variant;\n };\n};\n\nconst radioIconColors: RadioIconColors = {\n variants: {\n default: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'colors.brand.primary.500',\n unchecked: 'colors.brand.gray.500.lowContrast',\n },\n background: {\n checked: 'colors.brand.primary.500',\n unchecked: 'transparent',\n },\n },\n disabled: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'transparent',\n unchecked: 'colors.brand.gray.a100.lowContrast',\n },\n background: {\n checked: 'colors.brand.gray.a100.lowContrast',\n unchecked: 'transparent',\n },\n },\n negative: {\n dot: {\n checked: 'colors.brand.gray.200.lowContrast',\n unchecked: 'colors.brand.gray.200.lowContrast',\n },\n border: {\n checked: 'colors.feedback.border.negative.highContrast',\n unchecked: 'colors.feedback.border.negative.highContrast',\n },\n background: {\n checked: 'colors.feedback.background.negative.highContrast',\n unchecked: 'colors.feedback.background.negative.lowContrast',\n },\n },\n },\n} as const;\n\nexport { radioSizes, radioIconColors };\n","import type { CSSObject } from 'styled-components';\nimport { radioIconColors, radioSizes } from '../radioTokens';\nimport type { RadioIconProps } from './RadioIcon';\nimport type { Theme } from '~components/BladeProvider';\nimport {\n castWebType,\n getIn,\n getPlatformType,\n makeBorderSize,\n makeMotionTime,\n makeSize,\n makeSpace,\n} from '~utils';\n\nexport type RadioRectProps = RadioIconProps;\n\nconst getRadioIconWrapperStyles = ({\n theme,\n isChecked,\n isDisabled,\n isNegative,\n size,\n}: RadioRectProps & { theme: Theme }): CSSObject => {\n const isReactNative = getPlatformType() === 'react-native';\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const checked = isChecked ? 'checked' : 'unchecked';\n const background = radioIconColors.variants[variant].background[checked];\n const border = radioIconColors.variants[variant].border[checked];\n const backgroundColor = background === 'transparent' ? background : getIn(theme, background);\n const borderColor = border === 'transparent' ? border : getIn(theme, border);\n\n return {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: makeSpace(radioSizes.icon[size].width),\n height: makeSpace(radioSizes.icon[size].height),\n borderWidth: makeBorderSize(theme.border.width.thick),\n borderStyle: 'solid',\n margin: makeSpace(theme.spacing[1]),\n borderRadius: makeSize(theme.border.radius.max),\n backgroundColor,\n borderColor,\n ...(!isReactNative && {\n transitionDuration: castWebType(makeMotionTime(theme.motion.duration.xquick)),\n transitionTimingFunction: castWebType(theme.motion.easing.exit.attentive),\n }),\n };\n};\n\nexport { getRadioIconWrapperStyles };\n","import styled from 'styled-components/native';\nimport type { RadioRectProps } from './RadioIconWrapperStyles';\nimport { getRadioIconWrapperStyles } from './RadioIconWrapperStyles';\n\nconst RadioIconWrapper = styled.View<RadioRectProps>((props) => getRadioIconWrapperStyles(props));\n\nexport { RadioIconWrapper };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport type { EasingFn } from 'react-native-reanimated';\nimport Animated, { Keyframe } from 'react-native-reanimated';\nimport type { CSSObject } from 'styled-components';\nimport styled from 'styled-components/native';\nimport { useTheme } from '../../BladeProvider';\nimport type { FadeProps } from './types';\n\nconst StyledFade = styled(Animated.View)<{ styles: CSSObject }>(({ styles }) => {\n return {\n ...styles,\n };\n});\n\nconst Fade = ({ children, show, styles }: FadeProps) => {\n const { theme } = useTheme();\n\n const enterEasing = (theme.motion.easing.entrance.effective as unknown) as EasingFn;\n const exitEasing = (theme.motion.easing.exit.effective as unknown) as EasingFn;\n const scaleIn = new Keyframe({\n from: {\n transform: [{ scale: 0.3 }],\n opacity: 0,\n easing: enterEasing,\n },\n to: {\n transform: [{ scale: 1 }],\n opacity: 1,\n easing: enterEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n const fadeOut = new Keyframe({\n from: {\n opacity: 1,\n easing: exitEasing,\n },\n to: {\n opacity: 0,\n easing: exitEasing,\n },\n }).duration(theme.motion.duration.quick);\n\n return show ? (\n <StyledFade styles={styles as CSSObject} entering={scaleIn} exiting={fadeOut}>\n {children}\n </StyledFade>\n ) : null;\n};\n\nexport { Fade };\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\nimport React from 'react';\nimport { radioIconColors, radioSizes } from '../radioTokens';\nimport type { RadioProps } from '../Radio';\nimport { RadioIconWrapper } from './RadioIconWrapper';\nimport { Fade } from './Fade';\nimport { useTheme } from '~components/BladeProvider';\nimport Svg from '~components/Icons/_Svg';\nimport Circle from '~components/Icons/_Svg/Circle';\nimport { getIn, makeSpace } from '~utils';\n\nexport type RadioIconProps = {\n isDisabled?: boolean;\n isNegative?: boolean;\n isChecked?: boolean;\n} & Required<Pick<RadioProps, 'size'>>;\n\nconst CheckedIcon = ({ color, size }: { color: string; size: RadioIconProps['size'] }) => {\n const width = radioSizes.icon[size].width;\n const height = radioSizes.icon[size].height;\n const radius = radioSizes.icon[size].dotRadius;\n const viewBox = `0 0 ${width} ${height}`;\n const cx = `${width / 2}`;\n const cy = `${height / 2}`;\n\n return (\n <Svg width={makeSpace(width)} height={makeSpace(height)} viewBox={viewBox} fill=\"none\">\n <Circle cx={cx} cy={cy} r={`${radius}`} fill={color} />\n </Svg>\n );\n};\n\nconst RadioIcon = ({ isChecked, isDisabled, isNegative, size }: RadioIconProps) => {\n const { theme } = useTheme();\n\n const checked = Boolean(isChecked);\n const state = checked ? 'checked' : 'unchecked';\n let variant: 'default' | 'disabled' | 'negative' = 'default';\n if (isDisabled) variant = 'disabled';\n if (isNegative) variant = 'negative';\n const dotColor = getIn(theme, radioIconColors.variants[variant].dot[state]);\n\n return (\n <RadioIconWrapper\n size={size}\n isDisabled={isDisabled}\n isNegative={isNegative}\n isChecked={checked}\n >\n <Fade show={checked} styles={{ position: 'absolute', display: 'flex' }}>\n <CheckedIcon size={size} color={dotColor} />\n </Fade>\n </RadioIconWrapper>\n );\n};\n\nexport { RadioIcon };\n","/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React from 'react';\nimport type { RadioGroupProps } from './RadioGroup';\nimport type { State } from './useRadioGroup';\n\nexport type RadioGroupContextType = Pick<\n RadioGroupProps,\n | 'validationState'\n | 'isDisabled'\n | 'labelPosition'\n | 'name'\n | 'defaultValue'\n | 'value'\n | 'onChange'\n | 'necessityIndicator'\n | 'size'\n> & { state?: State };\n\nconst RadioGroupContext = React.createContext<RadioGroupContextType>({});\nconst RadioGroupProvider = RadioGroupContext.Provider;\n\nconst useRadioGroupContext = (): RadioGroupContextType => {\n const context = React.useContext(RadioGroupContext);\n return context;\n};\n\nexport { useRadioGroupContext, RadioGroupProvider };\n","/* eslint-disable @typescript-eslint/no-shadow */\nimport React from 'react';\nimport isEmpty from 'lodash/isEmpty';\nimport type { OnChange } from './useRadio';\nimport { useRadio } from './useRadio';\nimport { RadioIcon } from './RadioIcon/RadioIcon';\nimport { useRadioGroupContext } from './RadioGroup/RadioContext';\nimport { SelectorLabel } from '~components/Form/Selector/SelectorLabel';\nimport Box from '~components/Box';\nimport { SelectorTitle } from '~components/Form/Selector/SelectorTitle';\nimport { SelectorSupportText } from '~components/Form/Selector/SelectorSupportText';\nimport { SelectorInput } from '~components/Form/Selector/SelectorInput';\nimport { getPlatformType } from '~utils';\n\ntype RadioProps = {\n /**\n * Sets the label text of the Radio\n */\n children: string;\n /**\n * Help text for the Radio\n */\n helpText?: string;\n /**\n * The value to be used in the Radio input.\n * This is the value that will be returned on form submission.\n */\n value: string;\n /**\n * If `true`, the Radio will be disabled\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Size of the radios\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst Radio = ({\n value,\n children,\n helpText,\n isDisabled,\n size = 'medium',\n}: RadioProps): React.ReactElement => {\n const groupProps = useRadioGroupContext();\n const isInsideGroup = !isEmpty(groupProps);\n\n if (!isInsideGroup) {\n throw new Error('[Blade Radio]: Cannot use <Radio /> outside of <RadioGroup />');\n }\n\n const isChecked = groupProps?.state?.isChecked(value);\n const defaultChecked =\n groupProps?.defaultValue === undefined ? undefined : groupProps?.defaultValue === value;\n const validationState = groupProps?.validationState;\n const hasError = validationState === 'error';\n const _isDisabled = isDisabled ?? groupProps?.isDisabled;\n const name = groupProps?.name;\n const showHelpText = !hasError && helpText;\n const isReactNative = getPlatformType() === 'react-native';\n const _size = groupProps.size ?? size;\n const isSmall = _size === 'small';\n\n const handleChange: OnChange = ({ isChecked, value }) => {\n if (isChecked) {\n groupProps?.state?.setValue(value!);\n } else {\n groupProps?.state?.removeValue();\n }\n };\n\n const { state, ids, inputProps } = useRadio({\n defaultChecked,\n isChecked,\n hasError,\n isDisabled: _isDisabled,\n isRequired: groupProps.necessityIndicator === 'required',\n name,\n value,\n onChange: handleChange,\n });\n\n return (\n <SelectorLabel inputProps={isReactNative ? inputProps : {}}>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" alignItems=\"center\" flexDirection=\"row\">\n <SelectorInput\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n hasError={hasError}\n inputProps={inputProps}\n />\n <RadioIcon\n size={_size}\n isChecked={state.isChecked}\n isDisabled={_isDisabled}\n isNegative={hasError}\n />\n <SelectorTitle size={_size} isDisabled={_isDisabled}>\n {children}\n </SelectorTitle>\n </Box>\n <Box marginLeft={isSmall ? 'spacing.6' : 'spacing.7'}>\n {showHelpText && (\n <SelectorSupportText id={ids?.helpTextId}>{helpText}</SelectorSupportText>\n )}\n </Box>\n </Box>\n </SelectorLabel>\n );\n};\n\nexport { Radio, RadioProps };\n","import React from 'react';\nimport isUndefined from 'lodash/isUndefined';\nimport type { RadioGroupProps } from './RadioGroup';\nimport type { RadioGroupContextType } from './RadioContext';\nimport { useControllableState } from '~src/hooks/useControllable';\nimport { useTheme } from '~components/BladeProvider';\nimport { useId } from '~src/hooks/useId';\n\ntype UseRadioGroupProps = Pick<\n RadioGroupProps,\n | 'isDisabled'\n | 'labelPosition'\n | 'validationState'\n | 'name'\n | 'value'\n | 'defaultValue'\n | 'onChange'\n | 'necessityIndicator'\n | 'size'\n>;\n\nexport type State = {\n value: string;\n setValue(value: string): void;\n removeValue(): void;\n isChecked(value: string): boolean;\n};\n\ntype UseRadioGroupReturn = {\n state: State;\n contextValue: RadioGroupContextType;\n ids: { labelId: string };\n};\n\nconst useRadioGroup = ({\n value,\n defaultValue,\n isDisabled,\n labelPosition,\n onChange,\n validationState,\n necessityIndicator,\n name,\n size,\n}: UseRadioGroupProps): UseRadioGroupReturn => {\n const { platform } = useTheme();\n const idBase = useId('radio-group');\n const labelId = `${idBase}-label`;\n const fallbackName = name ?? idBase;\n const [checkedValue, setValue] = useControllableState({\n value,\n defaultValue,\n onChange: (v: string) => onChange?.({ value: v, name: fallbackName }),\n });\n\n const state = React.useMemo<State>(() => {\n return {\n value: checkedValue,\n setValue(v: string): void {\n if (isDisabled) {\n return;\n }\n\n setValue(() => v);\n },\n removeValue(): void {\n if (isDisabled) {\n return;\n }\n\n setValue(undefined!);\n },\n isChecked(v: string): boolean {\n if (isUndefined(v) || isUndefined(checkedValue)) return false;\n return checkedValue === v;\n },\n };\n }, [checkedValue, isDisabled, setValue]);\n\n const contextValue = React.useMemo<RadioGroupContextType>(() => {\n return {\n necessityIndicator,\n validationState,\n isDisabled,\n labelPosition: platform === 'onMobile' ? 'top' : labelPosition,\n name: fallbackName,\n state,\n size,\n };\n }, [\n validationState,\n isDisabled,\n platform,\n labelPosition,\n state,\n fallbackName,\n necessityIndicator,\n size,\n ]);\n\n return { state, contextValue, ids: { labelId } };\n};\n\nexport { useRadioGroup };\n","import React from 'react';\nimport { radioSizes } from '../radioTokens';\nimport { RadioGroupProvider } from './RadioContext';\nimport { useRadioGroup } from './useRadioGroup';\nimport Box from '~components/Box';\nimport { FormHint, FormLabel } from '~components/Form';\nimport { SelectorGroupField } from '~components/Form/Selector/SelectorGroupField';\nimport { getPlatformType, useBreakpoint } from '~utils';\nimport { useTheme } from '~components/BladeProvider';\n\ntype RadioGroupProps = {\n /**\n * Accepts multiple radios as children\n */\n children: React.ReactNode;\n /**\n * Help text of the radio group\n */\n helpText?: string;\n /**\n * Error text of the radio group\n * Renders when `validationState` is set to 'error'\n *\n * Overrides helpText\n */\n errorText?: string;\n /**\n * Sets the error state of the radioGroup\n * If set to `error` it will render the `errorText` of the group,\n * and propagate `invalid` prop to every radio\n */\n validationState?: 'error' | 'none';\n /**\n * Renders a necessity indicator after radioGroup label\n *\n * If set to `undefined` it renders nothing.\n */\n necessityIndicator?: 'required' | 'optional' | 'none';\n /**\n * Sets the disabled state of the radioGroup\n * If set to `true` it propagate down to all the radios\n *\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Renders the label of the radio group\n */\n label: string;\n /**\n * Sets the position of the label\n *\n * @default 'top'\n */\n labelPosition?: 'top' | 'left';\n /**\n * Initial value of the radio group\n */\n defaultValue?: string;\n /**\n * value of the radio group\n *\n * Use `onChange` to update its value\n */\n value?: string;\n /**\n * The callback invoked when any of the radio's state changes\n */\n onChange?: ({ name, value }: { name: string | undefined; value: string }) => void;\n /**\n * The name of the input field in a radio\n * (Useful for form submission).\n */\n name?: string;\n /**\n * Size of the radios\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium';\n};\n\nconst RadioGroup = ({\n children,\n label,\n helpText,\n isDisabled = false,\n necessityIndicator = 'none',\n labelPosition = 'top',\n validationState = 'none',\n errorText,\n name,\n defaultValue,\n onChange,\n value,\n size = 'medium',\n}: RadioGroupProps): React.ReactElement => {\n const { contextValue, ids } = useRadioGroup({\n defaultValue,\n isDisabled,\n labelPosition,\n name,\n onChange,\n validationState,\n value,\n size,\n });\n\n const { theme } = useTheme();\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const showError = validationState === 'error' && errorText;\n const showHelpText = !showError && helpText;\n const accessibilityText = `${showError ? errorText : ''} ${showHelpText ? helpText : ''}`.trim();\n const isReactNative = getPlatformType() === 'react-native';\n const gap = radioSizes.group.gap[size][matchedDeviceType];\n const childCount = React.Children.count(children);\n\n return (\n <RadioGroupProvider value={contextValue}>\n <SelectorGroupField\n position={labelPosition}\n labelledBy={ids.labelId}\n accessibilityRole={isReactNative ? 'radiogroup' : 'group'}\n componentName=\"radio-group\"\n >\n <FormLabel\n as=\"span\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={ids.labelId}\n accessibilityText={accessibilityText && `,${accessibilityText}`}\n >\n {label}\n </FormLabel>\n <Box>\n <Box display=\"flex\" flexDirection=\"column\">\n {React.Children.map(children, (child, index) => {\n return (\n <Box key={index} {...{ marginBottom: index === childCount - 1 ? 0 : gap }}>\n {child}\n </Box>\n );\n })}\n </Box>\n <FormHint\n type={validationState === 'error' ? 'error' : 'help'}\n errorText={errorText}\n helpText={helpText}\n />\n </Box>\n </SelectorGroupField>\n </RadioGroupProvider>\n );\n};\n\nexport { RadioGroup, RadioGroupProps };\n","type SkipNavLinkProps = {\n id?: string;\n children?: string;\n};\n\nconst SkipNavLink = (_props: SkipNavLinkProps): never => {\n throw new Error('[Blade: SkipNav]: SkipNavLink is not available on React Native');\n};\n\nconst SkipNavContent = (_props: SkipNavLinkProps): never => {\n throw new Error('[Blade: SkipNav]: SkipNavContent is not available on React Native');\n};\n\nexport { SkipNavLink, SkipNavContent };\n"],"names":["listCacheClear","eq","require$$0","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","require$$1","require$$2","require$$3","require$$4","ListCache","stackClear","stackDelete","stackGet","stackHas","freeGlobal","global","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","baseGetTag","isObject","funcTag","isFunction","coreJsData","isMasked","funcProto","funcToString","toSource","baseIsNative","getValue","getNative","Map","nativeCreate","hashClear","hashDelete","HASH_UNDEFINED","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","require$$5","Stack","defineProperty","baseAssignValue","assignValue","copyObject","baseTimes","isObjectLike","argsTag","baseIsArguments","isArguments","isArray","MAX_SAFE_INTEGER","isIndex","isLength","mapTag","objectTag","setTag","weakMapTag","dataViewTag","baseIsTypedArray","baseUnary","nodeUtil","isTypedArray","isBuffer","arrayLikeKeys","isPrototype","overArg","nativeKeys","baseKeys","isArrayLike","nativeKeysIn","baseKeysIn","keysIn","copyArray","getPrototype","DataView","Promise","Set","WeakMap","require$$6","getTag","Uint8Array","cloneArrayBuffer","symbolProto","cloneTypedArray","baseCreate","initCloneObject","metaAttribute","_name","_value","getColorScheme","colorScheme","Appearance","isSymbol","isKey","memoize","memoizeCapped","stringToPath","arrayMap","INFINITY","baseToString","toString","castPath","toKey","baseGet","getPlatformType","navigator","product","document","process","require$$7","getComponentId","component","React","isValidElement","type","componentId","isValidAllowedChildren","id","accessibilityValue","valueMax","valueMin","valueNow","valueText","accessibilityState","selected","disabled","expanded","busy","checked","accessibilityValueKeys","Object","keys","accessibilityStateKeys","accessibilityMap","activeDescendant","atomic","autoComplete","colCount","colIndex","colSpan","controls","describedBy","details","errorMessage","flowTo","hasPopup","hidden","invalid","keyShortcuts","label","labelledBy","liveRegion","modal","multiline","multiSelectable","orientation","owns","placeholder","posInSet","pressed","readOnly","required","role","roleDescription","rowCount","rowIndex","rowSpan","setSize","sort","current","dropEffect","grabbed","level","relevant","accessibilityRoleMap","alert","button","checkbox","combobox","image","link","menu","menubar","menuitem","progressbar","radio","radiogroup","scrollbar","search","spinbutton","switch","tab","tablist","timer","togglebutton","toolbar","heading","slider","img","presentation","region","imagebutton","keyboardkey","text","meter","makeAccessible","props","newProps","key","propKey","propValue","accessibilityAttribute","includes","accessibilityElementsHidden","importantForAccessibility","accessibilityHidden","console","warn","accessibilityRole","validRoles","join","log","makeBezier","x1","y1","x2","y2","Easing","bezier","makeBorderSize","size","makeMotionTime","time","makeSize","makeSpace","makeTypographySize","assignMergeValue","createBaseFor","baseFor","isArrayLikeObject","isPlainObject","safeGet","toPlainObject","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","baseMerge","identity","apply","overRest","constant","baseSetToString","shortOut","setToString","baseRest","isIterateeCall","createAssigner","toTitleCase","inputString","toLowerCase","split","map","word","charAt","toUpperCase","slice","deviceType","desktop","mobile","useBreakpoint","breakpoints","supportsMatchMedia","window","matchMedia","breakpointsTokenAndQueryCollection","useMemo","entries","index","breakpointsArray","token","screenSize","mediaQuery","getMatchedDeviceType","useCallback","matchedBreakpoint","matchedDeviceType","platform","getMatchedBreakpoint","event","find","media","matches","undefined","useState","breakpointAndDevice","setBreakpointAndDevice","useEffect","handleMediaQueryChange","mediaQueryInstances","mediaQueryInstance","addEventListener","addListener","forEach","removeEventListener","removeListener","fontFamily","code","Platform","OS","fontWeight","regular","bold","onDesktop","fonts","family","weight","lineHeights","s","m","l","xl","onMobile","standard","attentive","effective","revealing","wary","entrance","exit","colorSchemeNamesInput","useColorScheme","initialColorScheme","colorSchemeState","setColorSchemeState","setColorScheme","setThemeMode","Error","usePrevious","value","ref","useRef","castWebType","castNativeType","MAX_WIDTH","getCommonStyles","theme","contrastType","intent","isFullWidth","isDesktop","feedbackColors","colors","feedback","background","padding","spacing","borderRadius","border","radius","none","medium","borderColor","borderWidth","width","thin","borderStyle","display","flexDirection","maxWidth","alignItems","StyledAlert","styled","View","ClipPath","children","ClipPathNative","Defs","DefsNative","G","clipPath","fill","GNative","Path","d","clipRule","fillOpacity","fillRule","stroke","strokeLinecap","strokeLinejoin","strokeWidth","PathNative","Rect","height","rx","ry","x","y","RectNative","Svg","viewBox","SvgNative","ThemeContext","createContext","useTheme","themeContext","useContext","BladeProvider","themeTokens","onColorMode","onDeviceType","shadows","color","typography","themeContextValue","_jsx","StyledComponentThemeProvider","iconSize","xsmall","small","large","xlarge","useIconProps","iconColor","get","ArrowDownIcon","ArrowLeftIcon","ArrowRightIcon","ArrowUpRightIcon","ArrowUpIcon","CheckIcon","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","ClockIcon","CloseIcon","CreditCardIcon","DollarIcon","DownloadIcon","EditIcon","EyeIcon","EyeOffIcon","FileTextIcon","HistoryIcon","HomeIcon","InfoIcon","LinkIcon","LockIcon","PauseIcon","PlusIcon","RupeeIcon","SearchIcon","SettingsIcon","SlashIcon","BankIcon","TrashIcon","AlertTriangleIcon","CheckCircleIcon","_jsxs","RefreshLeftIcon","MinusIcon","RotateCounterClockWiseIcon","TrendingUpIcon","TrendingDownIcon","UsersIcon","HelpCircleIcon","ExternalLinkIcon","MailIcon","BookIcon","SettlementsIcon","ShuffleIcon","TagIcon","UserIcon","TransactionsIcon","StyledPressable","Pressable","alignSelf","StyledIconButton","Icon","icon","onClick","contrast","accessibilityLabel","isPressed","setIsPressed","getIconColorToken","state","iconColorToken","IconButton","getSpacingValue","getIn","getBoxStyles","flex","flexWrap","flexGrow","alignContent","justifyContent","overflow","paddingTop","paddingBottom","paddingLeft","paddingRight","marginTop","marginBottom","marginLeft","marginRight","gap","minHeight","minWidth","maxHeight","position","transform","top","left","right","bottom","backgroundColor","zIndex","Box","getBaseTextStyles","fontSize","fontStyle","textDecorationLine","lineHeight","textAlign","textColor","themeFontFamily","themeFontSize","themeFontWeight","themeLineHeight","margin","StyledBaseText","Text","as","BaseText","truncateAfterLines","className","style","accessibilityProps","componentName","getProps","isPlatformWeb","colorContrast","Title","variant","Heading","getTextProps","forwardedAs","StyledText","platformType","getCodeFontSize","CodeContainer","brand","gray","a50","lowContrast","Code","getBaseButtonStyles","defaultBorderColor","buttonPaddingTop","buttonPaddingBottom","buttonPaddingLeft","buttonPaddingRight","defaultBackgroundColor","cursor","Animated","createAnimatedComponent","getStyledBaseButtonStyles","StyledBaseButton","hoverBackgroundColor","activeBackgroundColor","focusBackgroundColor","focusRingColor","hoverBorderColor","activeBorderColor","focusBorderColor","motionDuration","motionEasing","isLoading","useSharedValue","duration","motion","easing","animatedStyles","useAnimatedStyle","withTiming","buttonPadding","buttonIconOnlyPadding","buttonSizeToIconSizeMap","buttonIconOnlySizeToIconSizeMap","buttonSizeToSpinnerSizeMap","textPadding","announce","message","AccessibilityInfo","announceForAccessibility","clearAnnouncer","_assertiveness","destroyAnnouncer","dimensions","SpinnerIcon","SpinningBox","spinnerMotion","rotation","rotateZ","withRepeat","cancelAnimation","getColor","BaseSpinner","labelPosition","trim","length","getColorToken","property","buttonTypographyTokens","isDisabled","hasIcon","isIconOnly","spinnerSize","buttonMinHeight","iconPadding","disabledBackgroundColor","disabledBorderColor","ButtonContent","isHidden","opacity","BaseButton","iconPosition","prevLoading","buttonTypography","Boolean","getStyledLinkStyles","outline","textDecoration","StyledNativeLink","openURL","href","Linking","canOpenURL","canOpen","StyledLink","setCurrentInteraction","handleOnPress","useInteraction","currentInteraction","onMouseEnter","onMouseLeave","onFocus","onBlur","element","isVisited","target","isButton","defaultRel","BaseLink","rel","setIsVisited","syntheticEvents","handleOnClick","StyledBaseLink","isReactNative","CloseButtonWrapper","Fragment","intentIconMap","positive","negative","AlertOctagonIcon","information","neutral","notice","Alert","description","title","isDismissable","onDismiss","actions","primary","secondary","isMobile","isVisible","setIsVisible","textSize","iconOffset","_title","_description","primaryAction","secondaryActionParams","secondaryAction","showActionsHorizontal","actionsHorizontal","actionsVertical","onClickDismiss","closeButton","a11yProps","getStyledBadgeStyles","max","StyledBadge","verticalPadding","horizontalPadding","isFeedbackVariant","feedbackVariants","getColorProps","Badge","badgeTextSizes","isAndroid","androidShadow","elevation","CardSurfaceStyled","surfaceLevel","surface","shadowOpacity","shadowRadius","blurRadius","shadowColor","shadowOffset","offsetY","CardSurface","androidElevation","CardContext","useVerifyInsideCard","context","useVerifyAllowedComponents","allowedComponents","Children","child","isValidChild","CardProvider","ComponentIds","CardHeader","CardHeaderTrailing","CardHeaderLeading","CardFooter","CardFooterTrailing","CardFooterLeading","CardBody","CardHeaderIcon","CardHeaderCounter","CardHeaderBadge","CardHeaderText","CardHeaderLink","CardHeaderIconButton","Card","Link","Button","Divider","borderBottomWidth","borderBottomStyle","normal","getStyledCounterStyles","StyledCounter","Counter","content","counterTextSizes","subtitle","prefix","suffix","headerTrailingAllowedComponents","visual","useIsMobile","CheckboxGroupContext","CheckboxGroupProvider","Provider","useCheckboxGroupContext","checkboxSizes","group","checkboxIconColors","variants","default","unchecked","getCheckboxIconWrapperStyles","isChecked","isNegative","thick","CheckboxIconWrapper","StyledFade","styles","Fade","show","fadeInEasing","fadeOutEasing","fadeIn","Keyframe","from","scale","to","quick","fadeOut","svgSize","CheckedIcon","IndeterminateIcon","CheckboxIcon","isIndeterminate","defaultIconColor","disabledIconColor","useControllableState","valueProp","defaultValue","onChange","valueState","setValue","isControlled","updateValue","next","nextValue","isBrowser","useIsomorphicLayoutEffect","useLayoutEffect","handoffComplete","genId","useId","idProp","initialId","uid","setUid","useFormId","baseId","inputId","errorTextId","helpTextId","successTextId","labelId","setMixed","mixed","indeterminate","useCheckbox","defaultChecked","isRequired","hasError","hasHelperText","name","inputRef","checkboxState","setCheckboxStateChange","handleOnChange","stopPropagation","preventDefault","setChecked","inputProps","onPress","ids","FormHintWrapper","HintText","Icons","error","success","FormHint","helpText","errorText","successText","help","showError","showSuccess","showHelp","screenReaderStyles","clip","whiteSpace","wordWrap","StyledVisuallyHidden","VisuallyHidden","FormLabel","necessityIndicator","accessibilityText","htmlFor","necessityLabel","isLabelLeftPositioned","computedAccessibilityNode","textNode","Component","flexShrink","wordBreak","StyledSelectorLabel","SelectorLabel","SelectorTitle","SelectorSupportText","SelectorInput","_props","Checkbox","validationState","groupProps","hasValidationState","isUndefined","hasName","hasDefaultChecked","hasIsChecked","hasOnChange","isEmpty","filter","_validationState","_hasError","_isDisabled","_isChecked","_size","isSmall","showSupportingText","handleChange","addValue","removeValue","useCheckboxGroup","values","checkedValues","concat","existingValue","contextValue","SelectorGroupField","CheckboxGroup","showHelpText","childCount","count","getVisualContainerStyles","getPrefixStyles","hasLeadingIcon","hasPrefix","getInteractionElementStyles","hasTrailingIcon","hasInteractionElement","hasSuffix","getSuffixStyles","getInputVisualsToBeRendered","leadingIcon","interactionElement","trailingIcon","BaseInputVisuals","LeadingIcon","TrailingIcon","hasLeadingVisuals","hasTrailingVisuals","getTextStyles","getInputBackgroundAndBorderStyles","isHovered","isFocused","borderBottomColor","highContrast","borderTopLeftRadius","borderTopRightRadius","getBaseInputStyles","resize","autoCompleteSuggestionTypeAndroid","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","autoCompleteSuggestionTypeIOS","KeyboardTypeToNativeValuesMap","url","decimal","StyledNativeBaseInput","TextInput","editable","textAlignVertical","isTextArea","numberOfLines","StyledBaseInput","forwardRef","maxCharacters","handleOnFocus","handleOnBlur","handleOnInput","handleOnKeyDown","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","nativeEvent","displayName","BaseInputStyledAnimatedBorder","BaseInputAnimatedBorder","borderAnimationEasing","widthTrigger","opacityTrigger","animatedStyle","interpolate","moderate","xquick","StyledBaseInputWrapper","transitionProperty","transitionDuration","transitionTimingFunction","BaseInputWrapper","autoCompleteSuggestionTypeValues","useInput","onInput","onKeyDown","inputValue","setInputValue","getHintType","hasHelpText","getDescribedByElementId","hasErrorText","hasSuccessText","BaseInput","autoFocus","trailingHeaderSlot","trailingFooterSlot","hideLabelText","hideFormHint","willRenderHintText","CharacterCounter","currentCount","maxCount","Spinner","getKeyboardAndAutocompleteProps","keyboardAndAutocompleteProps","keyboardConfigMap","number","keyboardConfig","_textInputRef","showClearButton","onClearButtonClick","textInputRef","shouldShowClearButton","setShouldShowClearButton","renderInteractionElement","clear","focus","HTMLInputElement","PasswordInput","showRevealButton","isRevealed","setIsRevealed","isEnabled","isRevealedAndEnabled","toggleIsRevealed","revealed","revealButtonIcon","revealButton","TextArea","HTMLTextAreaElement","otpToArray","Array","OTPInput","onOTPFilled","otpLength","inputRefs","otpValue","setOtpValue","setOtpValueByIndex","newOtpValue","focusOnOtpByIndex","select","currentOtpIndex","newValue","getHiddenInput","getOTPInputFields","inputs","currentValue","createRef","push","formEvent","keyboardEvent","Circle","cx","cy","r","CircleNative","Indicator","fillColor","strokeColor","a100","getDimension","isWeb","baseClamp","trimmedEndIndex","baseTrim","toNumber","indeterminateAnimation","scaleXInitial","scaleXMid","scaleXFinal","leftInitial","leftMid","leftFinal","fillWidth","pulseAnimation","opacityInitial","opacityMid","opacityFinal","ProgressBarIndeterminateFilledContainer","ProgressBarDeterminateFilledContainer","progress","ProgressBarPulseAnimation","ProgressBarFilled","fillMotionDuration","pulseMotionDuration","pulseMotionDelay","indeterminateMotionDuration","animatedWidth","animatedOpacity","animatedScaleX","animatedLeft","fillAndPulseEasing","pulseDuration","fillDuration","progressFillAnimatedStyle","indeterminateDuration","indeterminateEasing","linear","withSequence","indeterminateAnimatedStyle","scaleX","pulsatingAnimationTimingConfig","withDelay","pulseAnimatedStyle","ProgressBarFilledContainer","progressBarHeight","ProgressBar","showPercentage","min","unfilledBackgroundColor","filledBackgroundColor","hasLabel","isMeter","progressValue","clamp","percentageProgressValue","Math","floor","shouldShowPercentage","useRadio","radioState","setRadioState","idBase","radioSizes","dotRadius","radioIconColors","dot","getRadioIconWrapperStyles","RadioIconWrapper","enterEasing","exitEasing","scaleIn","RadioIcon","dotColor","RadioGroupContext","RadioGroupProvider","useRadioGroupContext","Radio","isInsideGroup","useRadioGroup","fallbackName","v","checkedValue","RadioGroup","SkipNavLink","SkipNavContent"],"mappings":"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"}
|