@razorpay/blade 11.8.1 → 11.9.0
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/build/lib/native/components/Checkbox/Checkbox.js +4 -3
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/CheckboxIcon.js +1 -1
- package/build/lib/native/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/native/components/Checkbox/checkboxTokens.js +1 -1
- package/build/lib/native/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js +2 -1
- package/build/lib/native/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/native/components/Form/FormHint.js +2 -1
- package/build/lib/native/components/Form/FormHint.js.map +1 -1
- package/build/lib/native/components/Form/FormLabel.js +3 -1
- package/build/lib/native/components/Form/FormLabel.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorSupportText.js +1 -1
- package/build/lib/native/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/native/components/Form/formTokens.js +8 -0
- package/build/lib/native/components/Form/formTokens.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js +5 -3
- package/build/lib/native/components/Input/BaseInput/AnimatedBaseInputWrapper.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +8 -2
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js +2 -2
- package/build/lib/native/components/Input/BaseInput/BaseInputTagSlot.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +4 -2
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.js +2 -3
- package/build/lib/native/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js +2 -1
- package/build/lib/native/components/Input/BaseInput/StyledBaseInput.native.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +6 -3
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +8 -0
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/getBaseInputBorderStyles.native.js +4 -0
- package/build/lib/native/components/Input/BaseInput/getBaseInputBorderStyles.native.js.map +1 -0
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js +2 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +2 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Radio/Radio.js +4 -3
- package/build/lib/native/components/Radio/Radio.js.map +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/native/components/Radio/radioTokens.js +1 -1
- package/build/lib/native/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/native/components/Tag/Tag.js +1 -1
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/components/Tag/getTagsGroup.js +1 -1
- package/build/lib/native/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/native/components/Typography/Heading/Heading.js +2 -2
- package/build/lib/native/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/native/components/Typography/Heading/getHeadingStyles.js +7 -0
- package/build/lib/native/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/native/components/Typography/Text/Text.js +1 -1
- package/build/lib/native/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/native/components/index.js +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/getFocusRingStyles/getFocusRingStyles.native.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js +7 -12
- package/build/lib/web/development/components/ButtonGroup/StyledButtonGroup.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +17 -3
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -0
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/CheckboxIcon.js +4 -0
- package/build/lib/web/development/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/checkboxTokens.js +12 -4
- package/build/lib/web/development/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/web/development/components/Form/CharacterCounter/CharacterCounter.js +5 -1
- package/build/lib/web/development/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/development/components/Form/FormHint.js +34 -17
- package/build/lib/web/development/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/development/components/Form/FormLabel.js +10 -7
- package/build/lib/web/development/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorSupportText.js +8 -2
- package/build/lib/web/development/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/web/development/components/Form/formTokens.js +53 -0
- package/build/lib/web/development/components/Form/formTokens.js.map +1 -0
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +23 -37
- package/build/lib/web/development/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +200 -155
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js +4 -3
- package/build/lib/web/development/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +101 -34
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js +3 -7
- package/build/lib/web/development/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +14 -5
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +119 -67
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +88 -0
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/web/development/components/Input/BaseInput/getBaseInputBorderStyles.web.js +23 -0
- package/build/lib/web/development/components/Input/BaseInput/getBaseInputBorderStyles.web.js.map +1 -0
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +11 -6
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +9 -3
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +5 -2
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +7 -3
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +17 -6
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +10 -3
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js +2 -0
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/development/components/Radio/radioTokens.js +13 -4
- package/build/lib/web/development/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js +4 -1
- package/build/lib/web/development/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js +2 -2
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Tag/getTagsGroup.js +4 -1
- package/build/lib/web/development/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/web/development/components/Typography/Heading/Heading.js +3 -3
- package/build/lib/web/development/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/development/components/Typography/Heading/getHeadingStyles.js +22 -0
- package/build/lib/web/development/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/web/development/components/Typography/Heading/index.js +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +8 -3
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/components/index.js +1 -1
- package/build/lib/web/development/tokens/global/size.js +2 -0
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -0
- package/build/lib/web/development/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js +7 -12
- package/build/lib/web/production/components/ButtonGroup/StyledButtonGroup.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +17 -3
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -0
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/CheckboxIcon.js +4 -0
- package/build/lib/web/production/components/Checkbox/CheckboxIcon/CheckboxIcon.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/checkboxTokens.js +12 -4
- package/build/lib/web/production/components/Checkbox/checkboxTokens.js.map +1 -1
- package/build/lib/web/production/components/Form/CharacterCounter/CharacterCounter.js +5 -1
- package/build/lib/web/production/components/Form/CharacterCounter/CharacterCounter.js.map +1 -1
- package/build/lib/web/production/components/Form/FormHint.js +34 -17
- package/build/lib/web/production/components/Form/FormHint.js.map +1 -1
- package/build/lib/web/production/components/Form/FormLabel.js +10 -7
- package/build/lib/web/production/components/Form/FormLabel.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorSupportText.js +8 -2
- package/build/lib/web/production/components/Form/Selector/SelectorSupportText.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorTitle.js.map +1 -1
- package/build/lib/web/production/components/Form/formTokens.js +53 -0
- package/build/lib/web/production/components/Form/formTokens.js.map +1 -0
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js +23 -37
- package/build/lib/web/production/components/Input/BaseInput/AnimatedBaseInputWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +200 -155
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js +4 -3
- package/build/lib/web/production/components/Input/BaseInput/BaseInputTagSlot.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +101 -34
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js +3 -7
- package/build/lib/web/production/components/Input/BaseInput/BaseInputWrapper.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +14 -5
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +119 -67
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +88 -0
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -0
- package/build/lib/web/production/components/Input/BaseInput/getBaseInputBorderStyles.web.js +23 -0
- package/build/lib/web/production/components/Input/BaseInput/getBaseInputBorderStyles.web.js.map +1 -0
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +11 -6
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +9 -3
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +5 -2
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +7 -3
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +17 -6
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +10 -3
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js +2 -0
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/production/components/Radio/radioTokens.js +13 -4
- package/build/lib/web/production/components/Radio/radioTokens.js.map +1 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js +4 -1
- package/build/lib/web/production/components/Tag/AnimatedTag.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js +2 -2
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Tag/getTagsGroup.js +4 -1
- package/build/lib/web/production/components/Tag/getTagsGroup.js.map +1 -1
- package/build/lib/web/production/components/Typography/Heading/Heading.js +3 -3
- package/build/lib/web/production/components/Typography/Heading/Heading.js.map +1 -1
- package/build/lib/web/production/components/Typography/Heading/getHeadingStyles.js +22 -0
- package/build/lib/web/production/components/Typography/Heading/getHeadingStyles.js.map +1 -0
- package/build/lib/web/production/components/Typography/Heading/index.js +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +8 -3
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/components/index.js +1 -1
- package/build/lib/web/production/tokens/global/size.js +2 -0
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js +1 -0
- package/build/lib/web/production/utils/getFocusRingStyles/getFocusRingStyles.web.js.map +1 -1
- package/build/types/components/index.d.ts +36 -15
- package/build/types/components/index.native.d.ts +36 -15
- package/build/types/tokens/index.d.ts +2 -0
- package/build/types/tokens/index.native.d.ts +2 -0
- package/package.json +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputAnimatedBorder.native.js +0 -16
- package/build/lib/native/components/Input/BaseInput/BaseInputAnimatedBorder.native.js.map +0 -1
- package/build/lib/native/components/Input/BaseInput/baseInputConfig.js +0 -8
- package/build/lib/native/components/Input/BaseInput/baseInputConfig.js.map +0 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputAnimatedBorder.web.js +0 -43
- package/build/lib/web/development/components/Input/BaseInput/BaseInputAnimatedBorder.web.js.map +0 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputConfig.js +0 -26
- package/build/lib/web/development/components/Input/BaseInput/baseInputConfig.js.map +0 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputAnimatedBorder.web.js +0 -43
- package/build/lib/web/production/components/Input/BaseInput/BaseInputAnimatedBorder.web.js.map +0 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputConfig.js +0 -26
- package/build/lib/web/production/components/Input/BaseInput/baseInputConfig.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport { getPlatformType, isReactNative, useBreakpoint } from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type { BladeElementRef, ContainerElementType, TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\n\ntype CommonAutoCompleteSuggestionTypes =\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\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\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 input is clicked\n */\n onClick?: 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 * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\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 * 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 * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: 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 * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\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?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\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?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\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\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\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 handleOnClick: FormInputHandleOnClickEvent = 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?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: 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 if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\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 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 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 onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\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\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\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 labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n ...styledProps\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n }\n }, [showAllTags]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\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 const _isRequired = isRequired || necessityIndicator === 'required';\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 hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(styledProps)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n >\n <BaseInputVisuals leadingIcon={leadingIcon} prefix={prefix} isDisabled={isDisabled} />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n >\n <StyledBaseInput\n as={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 handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\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 || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n />\n </BaseInputWrapper>\n </BaseBox>\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 <BaseBox marginLeft={makeSize(isLabelLeftPositioned && !hideLabelText ? 136 : 0)}>\n <BaseBox\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?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","concat","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","_BaseInput","_ref11","ref","_ref11$as","as","label","_ref11$labelPosition","labelPosition","placeholder","_ref11$type","type","_ref11$showAllTags","showAllTags","_ref11$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","interactionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","theme","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","currentInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","BaseBox","_objectSpread","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","width","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","focus","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","MetaConstants","marginLeft","makeSize","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type { BladeElementRef, ContainerElementType, TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\n\ntype CommonAutoCompleteSuggestionTypes =\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\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\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 input is clicked\n */\n onClick?: 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 * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\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 * 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 * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: 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 * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\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?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\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?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\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\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\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 handleOnClick: FormInputHandleOnClickEvent = 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?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: 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 if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\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 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 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 onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\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\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n}>(({ theme, currentInteraction }) => ({\n borderRadius: makeBorderSize(theme.border.radius.medium),\n width: '100%',\n '&:focus-within': {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit'].easing,\n ),\n ),\n },\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\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 labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n ...styledProps\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\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 const _isRequired = isRequired || necessityIndicator === 'required';\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 hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText = Boolean(helpText) || Boolean(successText) || Boolean(errorText);\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(styledProps)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper currentInteraction={currentInteraction}>\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={size}\n >\n <BaseInputVisuals\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={isDisabled}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={size}\n >\n <StyledBaseInput\n as={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 handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\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 || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={size}\n valueComponentType={valueComponentType}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n interactionElement={interactionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={size}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n\n {!hideFormHint && (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox\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 size={size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","concat","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","withConfig","displayName","componentId","_ref11","theme","currentInteraction","borderRadius","makeBorderSize","border","radius","medium","width","_objectSpread","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","interactionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","focus","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkYA,IAAMA,gCAAgC,GAAG,CACvC,MAAM,EACN,IAAI,EACJ,MAAM,EACN,OAAO,EACP,UAAU,EACV,UAAU,EACV,aAAa,EACb,aAAa,EACb,WAAW,EACX,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,CACvB,CAAA;AAGD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CACXC,IAA4B,EAC5BC,cAAsB,EACtBC,iBAAoD,EAIjD;AACH,EAAA,IAAMC,mBAAmB,GAAGC,cAAK,CAACC,MAAM,CAAS,CAAC,CAAC,CAAA;EAEnDD,cAAK,CAACE,SAAS,CAAC,YAAM;IACpB,IAAIN,IAAI,IAAIC,cAAc,IAAI,CAAC,IAAIA,cAAc,GAAGD,IAAI,CAACO,MAAM,EAAE;MAAA,IAAAC,oBAAA,EAAAC,qBAAA,CAAA;MAC/D,IAAMC,QAAQ,IAAAF,oBAAA,GAAGR,IAAI,CAACC,cAAc,CAAC,MAAAO,IAAAA,IAAAA,oBAAA,wBAAAC,qBAAA,GAApBD,oBAAA,CAAsBG,KAAK,cAAAF,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA3BA,qBAAA,CAA6BG,QAAQ,CAAA;AACtD,MAAA,IAAIF,QAAQ,EAAE;AACZG,QAAAA,QAAQ,CAAAC,QAAAA,CAAAA,MAAA,CAAUJ,QAAQ,SAAM,CAAC,CAAA;AACnC,OAAA;AACF,KAAA;AACA;AACF,GAAC,EAAE,CAACT,cAAc,EAAED,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEO,MAAM,CAAC,CAAC,CAAA;AAElC,EAAA,IAAMQ,SAAS,GAAG,SAAZA,SAASA,GAAe;IAC5B,IAAId,cAAc,GAAG,CAAC,EAAE;MACtBC,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAjBA,iBAAiB,CAAGC,mBAAmB,CAACa,OAAO,GAAG,CAAC,CAAC,CAAA;AACtD,KAAA;IAEA,IAAIf,cAAc,GAAG,CAAC,EAAE;MACtBC,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAGD,cAAc,GAAG,CAAC,CAAC,CAAA;AACzC,KAAA;GACD,CAAA;AAED,EAAA,IAAMgB,UAAU,GAAG,SAAbA,UAAUA,GAAe;AAC7B,IAAA,IAAIhB,cAAc,GAAGE,mBAAmB,CAACa,OAAO,GAAG,CAAC,EAAE;MACpDd,iBAAiB,KAAA,IAAA,IAAjBA,iBAAiB,KAAjBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,iBAAiB,CAAGD,cAAc,GAAG,CAAC,CAAC,CAAA;AACzC,KAAA;GACD,CAAA;AAED,EAAA,IAAMiB,WAAW,GAAG,SAAdA,WAAWA,GAAe;IAC9B,IAAIjB,cAAc,IAAI,CAAC,IAAIA,cAAc,GAAGE,mBAAmB,CAACa,OAAO,IAAIhB,IAAI,EAAE;AAC/EA,MAAAA,IAAI,CAACC,cAAc,CAAC,CAACU,KAAK,CAACQ,SAAS,CAAC;AAAEC,QAAAA,QAAQ,EAAEnB,cAAAA;AAAe,OAAC,CAAC,CAAA;AACpE,KAAA;GACD,CAAA;AAED,EAAA,IAAMoB,wBAAsD,GAAG,SAAzDA,wBAAsDA,CAAIC,GAAG,EAAK;AACtE,IAAA,IAAItB,IAAI,IAAIA,IAAI,CAACO,MAAM,GAAG,CAAC,EAAE;MAC3B,IAAIe,GAAG,KAAK,YAAY,EAAE;AACxBL,QAAAA,UAAU,EAAE,CAAA;AACd,OAAA;MAEA,IAAIK,GAAG,KAAK,WAAW,EAAE;AACvBP,QAAAA,SAAS,EAAE,CAAA;AACb,OAAA;MAEA,IAAIO,GAAG,KAAK,WAAW,EAAE;AACvBJ,QAAAA,WAAW,EAAE,CAAA;AACf,OAAA;AACF,KAAA;GACD,CAAA;EAED,OAAO;AACLG,IAAAA,wBAAwB,EAAxBA,wBAAwB;AACxBlB,IAAAA,mBAAmB,EAAnBA,mBAAAA;GACD,CAAA;AACH,CAAC,CAAA;AAED,IAAMoB,QAAQ,GAAG,SAAXA,QAAQA,CAAAC,IAAA,EAiCT;AAAA,EAAA,IAhCHC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACLC,YAAY,GAAAF,IAAA,CAAZE,YAAY;IACZC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,OAAO,GAAAJ,IAAA,CAAPI,OAAO;IACPC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IACRC,MAAM,GAAAN,IAAA,CAANM,MAAM;IACNC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,OAAO,GAAAR,IAAA,CAAPQ,OAAO;IACPC,SAAS,GAAAT,IAAA,CAATS,SAAS;IACTZ,wBAAwB,GAAAG,IAAA,CAAxBH,wBAAwB,CAAA;AAwBxB,EAAA,IAAI,KAAO,EAAE;IACX,IAAII,KAAK,IAAIC,YAAY,EAAE;AACzBQ,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAmH,iHAAA;AAC1HC,QAAAA,UAAU,EAAE,OAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,IAAAC,eAAA,GAAoCjC,cAAK,CAACkC,QAAQ,CAACZ,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAZA,YAAY,GAAID,KAAK,CAAC;IAAAc,gBAAA,GAAAC,cAAA,CAAAH,eAAA,EAAA,CAAA,CAAA;AAAlEI,IAAAA,UAAU,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,aAAa,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;EAEhC,IAAMI,aAAqC,GAAGvC,cAAK,CAACwC,WAAW,CAC7D,UAAAC,KAAA,EAAqB;AAAA,IAAA,IAAlBC,IAAI,GAAAD,KAAA,CAAJC,IAAI;MAAErB,KAAK,GAAAoB,KAAA,CAALpB,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IAEf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,KAAK,QAAQ,EAAE;AACrEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAwB,mBAAA,CAAA;AACpC;AACAF,MAAAA,MAAM,IAAAE,mBAAA,GAAGxB,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEyB,MAAM,CAACzB,KAAK,MAAA,IAAA,IAAAwB,mBAAA,KAAAA,KAAAA,CAAAA,GAAAA,mBAAA,GAAI,EAAE,CAAA;AACpC,KAAA;AAEArB,IAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAG;AACRkB,MAAAA,IAAI,EAAJA,IAAI;AACJrB,MAAAA,KAAK,EAAEsB,MAAAA;AACT,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACnB,OAAO,CACV,CAAC,CAAA;EAED,IAAMuB,aAA0C,GAAG/C,cAAK,CAACwC,WAAW,CAClE,UAAAQ,KAAA,EAAqB;AAAA,IAAA,IAAlBN,IAAI,GAAAM,KAAA,CAAJN,IAAI;MAAErB,KAAK,GAAA2B,KAAA,CAAL3B,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IAEf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,KAAK,QAAQ,EAAE;AACrEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAA4B,qBAAA,CAAA;AACpC;AACAN,MAAAA,MAAM,IAAAM,qBAAA,GAAG5B,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAE6B,aAAa,CAAC7B,KAAK,MAAA,IAAA,IAAA4B,qBAAA,KAAAA,KAAAA,CAAAA,GAAAA,qBAAA,GAAI,EAAE,CAAA;AAC3C,KAAA;AAEA1B,IAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAG;AACRmB,MAAAA,IAAI,EAAJA,IAAI;AACJrB,MAAAA,KAAK,EAAEsB,MAAAA;AACT,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACpB,OAAO,CACV,CAAC,CAAA;EAED,IAAM4B,cAAsC,GAAGnD,cAAK,CAACwC,WAAW,CAC9D,UAAAY,KAAA,EAAqB;AAAA,IAAA,IAAlBV,IAAI,GAAAU,KAAA,CAAJV,IAAI;MAAErB,KAAK,GAAA+B,KAAA,CAAL/B,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IAEf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,KAAK,QAAQ,EAAE;AACrEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAgC,oBAAA,CAAA;AACpC;AACAV,MAAAA,MAAM,IAAAU,oBAAA,GAAGhC,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEyB,MAAM,CAACzB,KAAK,MAAA,IAAA,IAAAgC,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AACpC,KAAA;IACA,IAAIC,aAAa,EAAE,EAAE;AACnB;AACA;AACA3B,MAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;AACTe,QAAAA,IAAI,EAAJA,IAAI;AACJrB,QAAAA,KAAK,EAAEsB,MAAAA;AACT,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAC,EACD,CAAChB,QAAQ,CACX,CAAC,CAAA;EAED,IAAM4B,YAAoC,GAAGvD,cAAK,CAACwC,WAAW,CAC5D,UAAAgB,KAAA,EAAqB;AAAA,IAAA,IAAlBd,IAAI,GAAAc,KAAA,CAAJd,IAAI;MAAErB,KAAK,GAAAmC,KAAA,CAALnC,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IACf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,IAAI,QAAQ,EAAE;AACpEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAoC,oBAAA,CAAA;AACpC;AACAd,MAAAA,MAAM,IAAAc,oBAAA,GAAGpC,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEyB,MAAM,CAACzB,KAAK,MAAA,IAAA,IAAAoC,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AACpC,KAAA;AAEA/B,IAAAA,MAAM,KAANA,IAAAA,IAAAA,MAAM,KAANA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,MAAM,CAAG;AACPgB,MAAAA,IAAI,EAAJA,IAAI;AACJrB,MAAAA,KAAK,EAAEsB,MAAAA;AACT,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACjB,MAAM,CACT,CAAC,CAAA;EAED,IAAMgC,cAAsC,GAAG1D,cAAK,CAACwC,WAAW,CAC9D,UAAAmB,KAAA,EAAqB;AAAA,IAAA,IAAlBjB,IAAI,GAAAiB,KAAA,CAAJjB,IAAI;MAAErB,KAAK,GAAAsC,KAAA,CAALtC,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IAEf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,KAAK,QAAQ,EAAE;AACrEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAAuC,oBAAA,CAAA;AACpC;AACAjB,MAAAA,MAAM,IAAAiB,oBAAA,GAAGvC,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEyB,MAAM,CAACzB,KAAK,MAAA,IAAA,IAAAuC,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AACpC,KAAA;AAEAnC,IAAAA,QAAQ,KAARA,IAAAA,IAAAA,QAAQ,KAARA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,QAAQ,CAAG;AACTiB,MAAAA,IAAI,EAAJA,IAAI;AACJrB,MAAAA,KAAK,EAAEsB,MAAAA;AACT,KAAC,CAAC,CAAA;IACFL,aAAa,CAACK,MAAM,CAAC,CAAA;AACvB,GAAC,EACD,CAAClB,QAAQ,CACX,CAAC,CAAA;EAED,IAAMoC,aAAqC,GAAG7D,cAAK,CAACwC,WAAW,CAC7D,UAAAsB,KAAA,EAAqB;AAAA,IAAA,IAAlBpB,IAAI,GAAAoB,KAAA,CAAJpB,IAAI;MAAErB,KAAK,GAAAyC,KAAA,CAALzC,KAAK,CAAA;IACZ,IAAIsB,MAAM,GAAG,EAAE,CAAA;IACf,IAAIC,eAAe,EAAE,KAAK,cAAc,IAAI,OAAOvB,KAAK,IAAI,QAAQ,EAAE;AACpEsB,MAAAA,MAAM,GAAGtB,KAAK,CAAA;AAChB,KAAC,MAAM,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;AAAA,MAAA,IAAA0C,oBAAA,CAAA;AACpC;AACApB,MAAAA,MAAM,IAAAoB,oBAAA,GAAG1C,KAAK,KAAA,IAAA,IAALA,KAAK,KAALA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,KAAK,CAAEyB,MAAM,CAACzB,KAAK,MAAA,IAAA,IAAA0C,oBAAA,KAAAA,KAAAA,CAAAA,GAAAA,oBAAA,GAAI,EAAE,CAAA;AACpC,KAAA;AAEAnC,IAAAA,OAAO,KAAPA,IAAAA,IAAAA,OAAO,KAAPA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,OAAO,CAAG;AACRc,MAAAA,IAAI,EAAJA,IAAI;AACJrB,MAAAA,KAAK,EAAEsB,MAAAA;AACT,KAAC,CAAC,CAAA;AACJ,GAAC,EACD,CAACf,OAAO,CACV,CAAC,CAAA;EAED,IAAMoC,eAA8C,GAAGhE,cAAK,CAACwC,WAAW,CACtE,UAAAyB,KAAA,EAAgC;AAAA,IAAA,IAA7BvB,IAAI,GAAAuB,KAAA,CAAJvB,IAAI;MAAExB,GAAG,GAAA+C,KAAA,CAAH/C,GAAG;MAAEgD,IAAI,GAAAD,KAAA,CAAJC,IAAI;MAAEC,KAAK,GAAAF,KAAA,CAALE,KAAK,CAAA;IACvBlD,wBAAwB,CAACC,GAAG,CAAC,CAAA;AAC7BW,IAAAA,SAAS,KAATA,IAAAA,IAAAA,SAAS,KAATA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,SAAS,CAAG;AACVa,MAAAA,IAAI,EAAJA,IAAI;AACJxB,MAAAA,GAAG,EAAHA,GAAG;AACHgD,MAAAA,IAAI,EAAJA,IAAI;AACJC,MAAAA,KAAK,EAALA,KAAAA;AACF,KAAC,CAAC,CAAA;GACH;AACD;EACA,CAACtC,SAAS,CACZ,CAAC,CAAA;EAED,OAAO;AACLU,IAAAA,aAAa,EAAbA,aAAa;AACbQ,IAAAA,aAAa,EAAbA,aAAa;AACbW,IAAAA,cAAc,EAAdA,cAAc;AACdH,IAAAA,YAAY,EAAZA,YAAY;AACZJ,IAAAA,cAAc,EAAdA,cAAc;AACdU,IAAAA,aAAa,EAAbA,aAAa;AACbG,IAAAA,eAAe,EAAfA,eAAe;AACf3B,IAAAA,UAAU,EAAVA,UAAAA;GACD,CAAA;AACH,CAAC,CAAA;IAEY+B,WAAW,GAAG,SAAdA,WAAWA,CAAAC,KAAA,EAMK;AAAA,EAAA,IAL3BC,eAAe,GAAAD,KAAA,CAAfC,eAAe;IACfC,WAAW,GAAAF,KAAA,CAAXE,WAAW,CAAA;EAKX,IAAID,eAAe,KAAK,OAAO,EAAE;AAC/B,IAAA,OAAO,OAAO,CAAA;AAChB,GAAA;EAEA,IAAIA,eAAe,KAAK,SAAS,EAAE;AACjC,IAAA,OAAO,SAAS,CAAA;AAClB,GAAA;AAEA,EAAA,IAAIC,WAAW,EAAE;AACf,IAAA,OAAO,MAAM,CAAA;AACf,GAAA;AAEA,EAAA,OAAO,MAAM,CAAA;AACf,EAAC;AAED,IAAMC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAAC,MAAA,EAgBf;AAAA,EAAA,IAfZH,eAAe,GAAAG,MAAA,CAAfH,eAAe;IACfI,YAAY,GAAAD,MAAA,CAAZC,YAAY;IACZC,cAAc,GAAAF,MAAA,CAAdE,cAAc;IACdJ,WAAW,GAAAE,MAAA,CAAXF,WAAW;IACXK,WAAW,GAAAH,MAAA,CAAXG,WAAW;IACXC,aAAa,GAAAJ,MAAA,CAAbI,aAAa;IACbC,UAAU,GAAAL,MAAA,CAAVK,UAAU,CAAA;AAUV,EAAA,IAAIR,eAAe,KAAK,OAAO,IAAII,YAAY,EAAE;AAC/C,IAAA,OAAOE,WAAW,CAAA;AACpB,GAAA;AAEA,EAAA,IAAIN,eAAe,KAAK,SAAS,IAAIK,cAAc,EAAE;AACnD,IAAA,OAAOE,aAAa,CAAA;AACtB,GAAA;AAEA,EAAA,IAAIN,WAAW,EAAE;AACf,IAAA,OAAOO,UAAU,CAAA;AACnB,GAAA;AAEA,EAAA,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AAED,IAAMC,gBAAgB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,6BAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAErC,UAAAC,MAAA,EAAA;AAAA,EAAA,IAAGC,KAAK,GAAAD,MAAA,CAALC,KAAK;IAAEC,kBAAkB,GAAAF,MAAA,CAAlBE,kBAAkB,CAAA;EAAA,OAAQ;IACrCC,YAAY,EAAEC,cAAc,CAACH,KAAK,CAACI,MAAM,CAACC,MAAM,CAACC,MAAM,CAAC;AACxDC,IAAAA,KAAK,EAAE,MAAM;AACb,IAAA,gBAAgB,EAAAC,aAAA,CAAAA,aAAA,CAAA,EAAA,EACXC,kBAAkB,CAAC;AACpBT,MAAAA,KAAK,EAALA,KAAAA;AACF,KAAC,CAAC,CAAA,EAAA,EAAA,EAAA;MACFU,kBAAkB,EAAEC,WAAW,CAC7BC,cAAc,CACZC,KAAK,CACHb,KAAK,CAACc,MAAM,CAACC,QAAQ,EACrBC,+BAA+B,CAACf,kBAAkB,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,CAC/Ec,QACL,CACF,CACF,CAAC;MACDE,wBAAwB,EAAEN,WAAW,CACnCE,KAAK,CACHb,KAAK,CAACc,MAAM,CAACI,MAAM,EACnBF,+BAA+B,CAACf,kBAAkB,KAAK,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC,CAACiB,MACrF,CACF,CAAA;AAAC,KAAA,CAAA;GAEJ,CAAA;AAAA,CAAC,CAAC,CAAA;AAEH,IAAMC,UAA2E,GAAG,SAA9EA,UAA2EA,CAAAC,MAAA,EAiE/EC,GAAG,EACA;AAAA,EAAA,IAAAC,SAAA,GAAAF,MAAA,CAhEDG,EAAE;AAAFA,IAAAA,EAAE,GAAAD,SAAA,KAAG,KAAA,CAAA,GAAA,OAAO,GAAAA,SAAA;IACZE,KAAK,GAAAJ,MAAA,CAALI,KAAK;IAAAC,oBAAA,GAAAL,MAAA,CACLM,aAAa;AAAbA,IAAAA,aAAa,GAAAD,oBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,oBAAA;IACrBE,WAAW,GAAAP,MAAA,CAAXO,WAAW;IAAAC,WAAA,GAAAR,MAAA,CACXS,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,WAAA;IACb5F,YAAY,GAAAoF,MAAA,CAAZpF,YAAY;IACZ1B,IAAI,GAAA8G,MAAA,CAAJ9G,IAAI;IAAAwH,kBAAA,GAAAV,MAAA,CACJW,WAAW;AAAXA,IAAAA,WAAW,GAAAD,kBAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,kBAAA;IAAAE,qBAAA,GAAAZ,MAAA,CACnB7G,cAAc;AAAdA,IAAAA,cAAc,GAAAyH,qBAAA,KAAA,KAAA,CAAA,GAAG,CAAC,CAAC,GAAAA,qBAAA;IACnBxH,iBAAiB,GAAA4G,MAAA,CAAjB5G,iBAAiB;IACjB4C,IAAI,GAAAgE,MAAA,CAAJhE,IAAI;IACJrB,KAAK,GAAAqF,MAAA,CAALrF,KAAK;IACLG,OAAO,GAAAkF,MAAA,CAAPlF,OAAO;IACPC,QAAQ,GAAAiF,MAAA,CAARjF,QAAQ;IACRG,OAAO,GAAA8E,MAAA,CAAP9E,OAAO;IACPF,MAAM,GAAAgF,MAAA,CAANhF,MAAM;IACNC,QAAQ,GAAA+E,MAAA,CAAR/E,QAAQ;IACRJ,OAAO,GAAAmF,MAAA,CAAPnF,OAAO;IACPM,SAAS,GAAA6E,MAAA,CAAT7E,SAAS;IACT0F,UAAU,GAAAb,MAAA,CAAVa,UAAU;IACVC,kBAAkB,GAAAd,MAAA,CAAlBc,kBAAkB;IAClBlD,eAAe,GAAAoC,MAAA,CAAfpC,eAAe;IACfmD,SAAS,GAAAf,MAAA,CAATe,SAAS;IACTC,QAAQ,GAAAhB,MAAA,CAARgB,QAAQ;IACRC,WAAW,GAAAjB,MAAA,CAAXiB,WAAW;IACXC,UAAU,GAAAlB,MAAA,CAAVkB,UAAU;IACVC,WAAW,GAAAnB,MAAA,CAAXmB,WAAW;IACXC,MAAM,GAAApB,MAAA,CAANoB,MAAM;IACNC,kBAAkB,GAAArB,MAAA,CAAlBqB,kBAAkB;IAClBC,MAAM,GAAAtB,MAAA,CAANsB,MAAM;IACNC,YAAY,GAAAvB,MAAA,CAAZuB,YAAY;IACZC,aAAa,GAAAxB,MAAA,CAAbwB,aAAa;IACbC,SAAS,GAAAzB,MAAA,CAATyB,SAAS;IACTC,SAAS,GAAA1B,MAAA,CAAT0B,SAAS;IACTC,qBAAqB,GAAA3B,MAAA,CAArB2B,qBAAqB;IACrBC,YAAY,GAAA5B,MAAA,CAAZ4B,YAAY;IACZC,0BAA0B,GAAA7B,MAAA,CAA1B6B,0BAA0B;IAC1BC,kBAAkB,GAAA9B,MAAA,CAAlB8B,kBAAkB;IAClBC,kBAAkB,GAAA/B,MAAA,CAAlB+B,kBAAkB;IAClBC,aAAa,GAAAhC,MAAA,CAAbgC,aAAa;IACbC,EAAE,GAAAjC,MAAA,CAAFiC,EAAE;IACFC,aAAa,GAAAlC,MAAA,CAAbkC,aAAa;IACbC,kBAAkB,GAAAnC,MAAA,CAAlBmC,kBAAkB;IAClBC,OAAO,GAAApC,MAAA,CAAPoC,OAAO;IACPC,gBAAgB,GAAArC,MAAA,CAAhBqC,gBAAgB;IAChBC,aAAa,GAAAtC,MAAA,CAAbsC,aAAa;IACbC,YAAY,GAAAvC,MAAA,CAAZuC,YAAY;IACZC,QAAQ,GAAAxC,MAAA,CAARwC,QAAQ;IACRC,OAAO,GAAAzC,MAAA,CAAPyC,OAAO;IACPC,eAAe,GAAA1C,MAAA,CAAf0C,eAAe;IACfC,UAAU,GAAA3C,MAAA,CAAV2C,UAAU;IACVC,yBAAyB,GAAA5C,MAAA,CAAzB4C,yBAAyB;IACzBC,4BAA4B,GAAA7C,MAAA,CAA5B6C,4BAA4B;IAC5BC,cAAc,GAAA9C,MAAA,CAAd8C,cAAc;IACdC,kBAAkB,GAAA/C,MAAA,CAAlB+C,kBAAkB;IAClBC,MAAM,GAAAhD,MAAA,CAANgD,MAAM;IACNC,iBAAiB,GAAAjD,MAAA,CAAjBiD,iBAAiB;IACjBC,kBAAkB,GAAAlD,MAAA,CAAlBkD,kBAAkB;IAAAC,WAAA,GAAAnD,MAAA,CAClBoD,IAAI;AAAJA,IAAAA,IAAI,GAAAD,WAAA,KAAG,KAAA,CAAA,GAAA,QAAQ,GAAAA,WAAA;IACfE,cAAc,GAAArD,MAAA,CAAdqD,cAAc;IAAAC,qBAAA,GAAAtD,MAAA,CACduD,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,MAAM,GAAAA,qBAAA;AACxBE,IAAAA,WAAW,GAAAC,wBAAA,CAAAzD,MAAA,EAAA0D,SAAA,CAAA,CAAA;AAIhB,EAAA,IAAAC,SAAA,GAAkBC,QAAQ,EAAE;IAApBhF,KAAK,GAAA+E,SAAA,CAAL/E,KAAK,CAAA;AACb,EAAA,IAAMiF,eAAgC,GAAGvK,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CAAA;EAC3D,IAAAuK,QAAA,GAA0D7K,OAAO,CAC/DC,IAAI,EACJC,cAAc,EACdC,iBACF,CAAC;IAJOmB,wBAAwB,GAAAuJ,QAAA,CAAxBvJ,wBAAwB;IAAElB,mBAAmB,GAAAyK,QAAA,CAAnBzK,mBAAmB,CAAA;AAKrD,EAAA,IAAA0K,gBAAA,GAAgEzK,cAAK,CAACkC,QAAQ,CAAC,KAAK,CAAC;IAAAwI,gBAAA,GAAAtI,cAAA,CAAAqI,gBAAA,EAAA,CAAA,CAAA;AAA9EE,IAAAA,wBAAwB,GAAAD,gBAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,2BAA2B,GAAAF,gBAAA,CAAA,CAAA,CAAA,CAAA;AAC5D,EAAA,IAAMpH,aAAa,GAAGV,eAAe,EAAE,KAAK,cAAc,CAAA;EAE1D5C,cAAK,CAACE,SAAS,CAAC,YAAM;AACpB,IAAA,IAAImH,WAAW,EAAE;MACfuD,2BAA2B,CAAC,IAAI,CAAC,CAAA;AACnC,KAAC,MAAM,IAAIvB,UAAU,KAAK,YAAY,EAAE;MACtCuB,2BAA2B,CAAC,KAAK,CAAC,CAAA;AACpC,KAAA;AACF,GAAC,EAAE,CAACvD,WAAW,EAAEgC,UAAU,CAAC,CAAC,CAAA;EAE7B,IAAAwB,SAAA,GASI1J,QAAQ,CAAC;AACXG,MAAAA,YAAY,EAAZA,YAAY;AACZD,MAAAA,KAAK,EAALA,KAAK;AACLG,MAAAA,OAAO,EAAPA,OAAO;AACPD,MAAAA,OAAO,EAAPA,OAAO;AACPE,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,MAAM,EAANA,MAAM;AACNC,MAAAA,QAAQ,EAARA,QAAQ;AACRC,MAAAA,OAAO,EAAPA,OAAO;AACPC,MAAAA,SAAS,EAATA,SAAS;AACTZ,MAAAA,wBAAwB,EAAxBA,wBAAAA;AACF,KAAC,CAAC;IAnBAsB,aAAa,GAAAsI,SAAA,CAAbtI,aAAa;IACbmB,cAAc,GAAAmH,SAAA,CAAdnH,cAAc;IACdX,aAAa,GAAA8H,SAAA,CAAb9H,aAAa;IACbQ,YAAY,GAAAsH,SAAA,CAAZtH,YAAY;IACZJ,cAAc,GAAA0H,SAAA,CAAd1H,cAAc;IACdU,aAAa,GAAAgH,SAAA,CAAbhH,aAAa;IACbG,eAAe,GAAA6G,SAAA,CAAf7G,eAAe;IACf3B,UAAU,GAAAwI,SAAA,CAAVxI,UAAU,CAAA;AAaZ,EAAA,IAAAyI,UAAA,GAA4DC,SAAS,CAACpC,EAAE,CAAC;IAAjEqC,OAAO,GAAAF,UAAA,CAAPE,OAAO;IAAElG,UAAU,GAAAgG,UAAA,CAAVhG,UAAU;IAAEF,WAAW,GAAAkG,UAAA,CAAXlG,WAAW;IAAEC,aAAa,GAAAiG,UAAA,CAAbjG,aAAa,CAAA;EACvD,IAAAoG,cAAA,GAA8BC,aAAa,CAAC;MAAEC,WAAW,EAAE7F,KAAK,CAAC6F,WAAAA;AAAY,KAAC,CAAC;IAAvEC,iBAAiB,GAAAH,cAAA,CAAjBG,iBAAiB,CAAA;EACzB,IAAMC,qBAAqB,GAAGrE,aAAa,KAAK,MAAM,IAAIoE,iBAAiB,KAAK,SAAS,CAAA;AACzF,EAAA,IAAAE,eAAA,GAAsDC,cAAc,EAAE;IAA9DhG,kBAAkB,GAAA+F,eAAA,CAAlB/F,kBAAkB;IAAEiG,qBAAqB,GAAAF,eAAA,CAArBE,qBAAqB,CAAA;AACjD,EAAA,IAAMC,WAAW,GAAG7D,UAAU,IAAIJ,kBAAkB,KAAK,UAAU,CAAA;EAEnE,IAAMkE,kBAAkB,GAAGC,cAAc,CAAC;AACxCC,IAAAA,QAAQ,EAAEC,OAAO,CAACJ,WAAW,CAAC;AAC9BK,IAAAA,QAAQ,EAAED,OAAO,CAACtE,UAAU,CAAC;AAC7BwE,IAAAA,OAAO,EAAEF,OAAO,CAACvH,eAAe,KAAK,OAAO,CAAC;IAC7C0H,WAAW,EAAExH,uBAAuB,CAAC;AACnCF,MAAAA,eAAe,EAAfA,eAAe;AACfI,MAAAA,YAAY,EAAEmH,OAAO,CAACpE,SAAS,CAAC;AAChC9C,MAAAA,cAAc,EAAEkH,OAAO,CAAClE,WAAW,CAAC;AACpCpD,MAAAA,WAAW,EAAEsH,OAAO,CAACnE,QAAQ,CAAC;AAC9B9C,MAAAA,WAAW,EAAXA,WAAW;AACXC,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,UAAU,EAAVA,UAAAA;AACF,KAAC,CAAC;AACFgC,IAAAA,KAAK,EAAE+B,kBAAkB;AACzBK,IAAAA,QAAQ,EAARA,QAAQ;AACR+C,IAAAA,QAAQ,EAAE/C,QAAQ,GAAGE,eAAe,GAAG8C,SAAS;AAChDC,IAAAA,QAAQ,EAAEjD,QAAQ,GAAGC,OAAO,GAAG+C,SAAS;AACxCE,IAAAA,IAAI,EAAElD,QAAQ,GAAG,UAAU,GAAGgD,SAAS;AACvCnD,IAAAA,gBAAgB,EAAhBA,gBAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMsD,kBAAkB,GAAGR,OAAO,CAACnE,QAAQ,CAAC,IAAImE,OAAO,CAAClE,WAAW,CAAC,IAAIkE,OAAO,CAACpE,SAAS,CAAC,CAAA;AAE1F,EAAA,IAAI,KAAO,EAAE;IACX,IACEc,0BAA0B,IAC1B,CAAC7I,gCAAgC,CAAC4M,QAAQ,CAAC/D,0BAA0B,CAAC,EACtE;AACAzG,MAAAA,eAAe,CAAC;AACdC,QAAAA,OAAO,EAAArB,mDAAAA,CAAAA,MAAA,CAAsDhB,gCAAgC,CAAC6M,IAAI,CAChG,IACF,CAAC,EAAA,gBAAA,CAAA,CAAA7L,MAAA,CAAiB6H,0BAA0B,CAAE;AAC9CvG,QAAAA,UAAU,EAAE,OAAA;AACd,OAAC,CAAC,CAAA;AACJ,KAAA;AACF,GAAA;AAEA,EAAA,IAAMwK,UAAU,GAAG3F,EAAE,KAAK,UAAU,CAAA;EACpC,oBACE4F,IAAA,CAACxH,OAAO,EAAAa,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAK4G,EAAAA,EAAAA,aAAa,CAAC;AAAEhK,IAAAA,IAAI,EAAEkG,aAAa;AAAEc,IAAAA,MAAM,EAANA,MAAAA;AAAO,GAAC,CAAC,CAAA,EAAMiD,cAAc,CAACzC,WAAW,CAAC,CAAA,EAAA,EAAA,EAAA;IAAA1J,QAAA,EAAA,cAC1FiM,IAAA,CAACxH,OAAO,EAAA;AACN2H,MAAAA,OAAO,EAAC,MAAM;AACdC,MAAAA,aAAa,EAAExB,qBAAqB,GAAG,KAAK,GAAG,QAAS;AACxDyB,MAAAA,cAAc,EAAEzB,qBAAqB,GAAG,QAAQ,GAAGa,SAAU;AAC7Da,MAAAA,UAAU,EAAE1B,qBAAqB,GAAG,QAAQ,GAAGa,SAAU;AACzDc,MAAAA,QAAQ,EAAC,UAAU;AACnBnH,MAAAA,KAAK,EAAC,MAAM;MAAArF,QAAA,EAAA,CAEX,CAACwI,aAAa,IAAI,CAACY,kBAAkB,iBACpC6C,IAAA,CAACxH,OAAO,EAAA;AACN2H,QAAAA,OAAO,EAAC,MAAM;AACdC,QAAAA,aAAa,EAAExB,qBAAqB,GAAG,QAAQ,GAAG,KAAM;AACxDyB,QAAAA,cAAc,EAAC,eAAe;AAC9BG,QAAAA,SAAS,EAAET,UAAU,GAAG,YAAY,GAAGN,SAAU;AACjDgB,QAAAA,OAAO,EAAEV,UAAU,IAAInB,qBAAqB,GAAG,WAAW,GAAG,WAAY;QAAA7K,QAAA,EAAA,cAEzE2M,GAAA,CAACC,SAAS,EAAA;AACRvG,UAAAA,EAAE,EAAC,OAAO;AACVW,UAAAA,kBAAkB,EAAEA,kBAAmB;AACvCwF,UAAAA,QAAQ,EAAEhG,aAAc;AACxB2B,UAAAA,EAAE,EAAEG,OAAQ;AACZuE,UAAAA,OAAO,EAAErC,OAAQ;AACjBlB,UAAAA,IAAI,EAAEA,IAAK;AAAAtJ,UAAAA,QAAA,EAEVsG,KAAAA;AAAK,SACG,CAAC,EACX0B,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAGnH,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIgB,UAAU,CAAC,CAAA;AAAA,OACnC,CACV,eACD8K,GAAA,CAACpI,gBAAgB,EAAA;AAACQ,QAAAA,kBAAkB,EAAEA,kBAAmB;QAAA/E,QAAA,eACvDiM,IAAA,CAACa,gBAAgB,EAAA;AACf3D,UAAAA,iBAAiB,EAAEA,iBAAkB;AACrC6C,UAAAA,UAAU,EAAEA,UAAW;AACvBjF,UAAAA,UAAU,EAAEA,UAAW;AACvBjD,UAAAA,eAAe,EAAEA,eAAgB;AACjCiB,UAAAA,kBAAkB,EAAEA,kBAAmB;AACvC8F,UAAAA,qBAAqB,EAAEA,qBAAsB;AAC7ChE,UAAAA,WAAW,EAAEA,WAAY;AACzBuD,UAAAA,2BAA2B,EAAEA,2BAA4B;AACzDjE,UAAAA,GAAG,EAAE,SAAAA,GAAC4G,CAAAA,OAAO,EAAK;AAChB,YAAA,IAAIA,OAAO,EAAE;AACX9D,cAAAA,kBAAkB,aAAlBA,kBAAkB,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAlBA,kBAAkB,CAAG8D,OAAO,CAAC,CAAA;cAC7BhD,eAAe,CAAC3J,OAAO,GAAG2M,OAAO,CAAA;AACnC,aAAA;WACA;AACFlE,UAAAA,UAAU,EAAEA,UAAW;AACvBS,UAAAA,IAAI,EAAEA,IAAK;UAAAtJ,QAAA,EAAA,cAEX2M,GAAA,CAACK,gBAAgB,EAAA;AACf1D,YAAAA,IAAI,EAAEA,IAAK;AACXjC,YAAAA,WAAW,EAAEA,WAAY;AACzBC,YAAAA,MAAM,EAAEA,MAAO;AACfP,YAAAA,UAAU,EAAEA,UAAAA;AAAW,WACxB,CAAC,eACF4F,GAAA,CAACM,gBAAgB,EAAA;AACfC,YAAAA,QAAQ,EAAE7G,EAAG;AACbjH,YAAAA,IAAI,EAAEA,IAAK;AACX2H,YAAAA,UAAU,EAAEA,UAAW;AACvBF,YAAAA,WAAW,EAAEsD,wBAAyB;YACtCgD,eAAe,EAAE,SAAAA,eAAAA,GAAM;cACrB,IAAIhH,GAAG,IAAI,CAACrD,aAAa,IAAI,SAAS,IAAIqD,GAAG,EAAE;AAAA,gBAAA,IAAAiH,YAAA,CAAA;AAC7C,gBAAA,CAAAA,YAAA,GAAAjH,GAAG,CAAC/F,OAAO,MAAA,IAAA,IAAAgN,YAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,YAAA,CAAaC,KAAK,EAAE,CAAA;AACtB,eAAA;aACA;AACFC,YAAAA,WAAW,EAAElE,kBAAkB,GAAG9C,KAAK,GAAGoF,SAAU;AACpDvC,YAAAA,iBAAiB,EAAEA,iBAAkB;AACrC5J,YAAAA,mBAAmB,EAAEA,mBAAoB;AACzCgO,YAAAA,kBAAkB,EAAE,SAAAA,kBAACC,CAAAA,CAAC,EAAK;AACzBjL,cAAAA,aAAa,CAAC;AAAEL,gBAAAA,IAAI,EAAJA,IAAI;AAAErB,gBAAAA,KAAK,EAAEiC,aAAa,GAAGjC,KAAK,GAAG2M,CAAAA;AAAE,eAAC,CAAC,CAAA;aACzD;AACFzE,YAAAA,4BAA4B,EAAEA,4BAA6B;AAC3DF,YAAAA,UAAU,EAAEA,UAAW;AACvBkB,YAAAA,eAAe,EAAEA,eAAgB;AACjCT,YAAAA,IAAI,EAAEA,IAAK;AAAAtJ,YAAAA,QAAA,eAEX2M,GAAA,CAACc,eAAe,EAAAnI,aAAA,CAAA;AACde,cAAAA,EAAE,EAAEA,EAAG;AACP8B,cAAAA,EAAE,EAAEqC,OAAQ;AACZrE,cAAAA,GAAG,EAAEA,GAAW;AAChBjE,cAAAA,IAAI,EAAEA,IAAK;AACXyE,cAAAA,IAAI,EAAEA,IAAK;AACX7F,cAAAA,YAAY,EAAEA,YAAa;AAC3BD,cAAAA,KAAK,EAAEA,KAAM;AACb4F,cAAAA,WAAW,EAAEA,WAAY;AACzBM,cAAAA,UAAU,EAAEA,UAAW;AACvBjD,cAAAA,eAAe,EAAEA,eAAgB;AACjCsD,cAAAA,UAAU,EAAE6D,WAAY;AACxBlJ,cAAAA,aAAa,EAAEA,aAAc;AAC7BmB,cAAAA,cAAc,EAAEA,cAAe;AAC/BH,cAAAA,YAAY,EAAEA,YAAa;AAC3BJ,cAAAA,cAAc,EAAEA,cAAe;AAC/BU,cAAAA,aAAa,EAAEA,aAAc;AAC7BG,cAAAA,eAAe,EAAEA,eAAgB;AACjCjB,cAAAA,aAAa,EAAEA,aAAc;AAC7B8E,cAAAA,WAAW,EAAEA,WAAY;AACzBC,cAAAA,MAAM,EAAEA,MAAO;AACfC,cAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,cAAAA,MAAM,EAAEA,MAAO;AACfC,cAAAA,YAAY,EAAEA,YAAa;AAC3BC,cAAAA,aAAa,EAAEA,aAAc;AAC7BC,cAAAA,SAAS,EAAEA,SAAAA;AACX;AAAA;AACAC,cAAAA,SAAS,EAAEA,SAAU;AACrBC,cAAAA,qBAAqB,EAAEA,qBAAsB;AAC7CC,cAAAA,YAAY,EAAEA,YAAa;AAC3BC,cAAAA,0BAA0B,EAAEA,0BAA2B;AACvDmD,cAAAA,kBAAkB,EAAEA,kBAAmB;AACvCnG,cAAAA,kBAAkB,EAAEA,kBAAmB;AACvCiG,cAAAA,qBAAqB,EAAEA,qBAAsB;AAC7C9C,cAAAA,aAAa,EAAEA,aAAc;cAC7B8D,UAAU,EAAEA,UAAU,IAAInD,UAAU,KAAK,UAAU,IAAIA,UAAU,KAAK,YAAa;AACnFH,cAAAA,QAAQ,EAAEA,QAAS;cACnBgF,OAAO,EAAE,CAAC,EAAEtO,IAAI,IAAIA,IAAI,CAACO,MAAM,GAAG,CAAC,CAAE;AACrCmJ,cAAAA,yBAAyB,EAAEA,yBAA0B;AACrDE,cAAAA,cAAc,EAAEA,cAAe;AAC/BG,cAAAA,iBAAiB,EAAEA,iBAAkB;AACrCwE,cAAAA,KAAK,EAAErE,IAAK;AACZG,cAAAA,kBAAkB,EAAEA,kBAAAA;AAAmB,aAAA,EACnCyC,aAAa,CAAC;cAAEhK,IAAI,EAAE0L,aAAa,CAACH,eAAAA;AAAgB,aAAC,CAAC,CAC3D,CAAA;AAAC,WACc,CAAC,eACnBd,GAAA,CAACK,gBAAgB,EAAA;AACfzF,YAAAA,kBAAkB,EAAEA,kBAAmB;AACvCC,YAAAA,MAAM,EAAEA,MAAO;AACfC,YAAAA,YAAY,EAAEA,YAAa;AAC3BV,YAAAA,UAAU,EAAEA,UAAW;AACvBjD,YAAAA,eAAe,EAAEA,eAAgB;AACjCyF,YAAAA,cAAc,EAAEA,cAAe;AAC/BD,YAAAA,IAAI,EAAEA,IAAAA;AAAK,WACZ,CAAC,CAAA;SACc,CAAA;AAAC,OACH,CAAC,CAAA;AAAA,KACZ,CAAC,EAET,CAACb,YAAY,iBACZkE,GAAA,CAAClI,OAAO,EAAA;AACNoJ,MAAAA,UAAU,EAAEC,QAAQ,CAClBjD,qBAAqB,IAAI,CAACrC,aAAa,GAAGuF,2BAA2B,CAACzE,IAAI,CAAC,GAAG,CAChF,CAAE;MAAAtJ,QAAA,eAEFiM,IAAA,CAACxH,OAAO,EAAA;AACN2H,QAAAA,OAAO,EAAC,MAAM;AACdC,QAAAA,aAAa,EAAC,KAAK;AACnBC,QAAAA,cAAc,EAAET,kBAAkB,GAAG,eAAe,GAAG,UAAW;QAAA7L,QAAA,EAAA,cAElE2M,GAAA,CAACqB,QAAQ,EAAA;UACPrH,IAAI,EAAE/C,WAAW,CAAC;AAAEE,YAAAA,eAAe,EAAfA,eAAe;YAAEC,WAAW,EAAEsH,OAAO,CAACnE,QAAQ,CAAA;AAAE,WAAC,CAAE;AACvEA,UAAAA,QAAQ,EAAEA,QAAS;AACnBD,UAAAA,SAAS,EAAEA,SAAU;AACrBE,UAAAA,WAAW,EAAEA,WAAY;AACzB7C,UAAAA,UAAU,EAAEA,UAAW;AACvBF,UAAAA,WAAW,EAAEA,WAAY;AACzBC,UAAAA,aAAa,EAAEA,aAAc;AAC7BiF,UAAAA,IAAI,EAAEA,IAAAA;AAAK,SACZ,CAAC,EACDrB,kBAAkB,KAAA,IAAA,IAAlBA,kBAAkB,KAAlBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,kBAAkB,CAAGpH,KAAK,aAALA,KAAK,KAAA,KAAA,CAAA,GAALA,KAAK,GAAIgB,UAAU,CAAC,CAAA;OACnC,CAAA;AAAC,KACH,CACV,CAAA;AAAA,GAAA,CACM,CAAC,CAAA;AAEd,CAAC,CAAA;AAED,IAAMoM,gBAAgB,gBAAGzO,cAAK,CAAC0O,UAAU,CAACjI,UAAU,CAAC,CAAA;AACrD,IAAMkI,SAAS,gBAAGC,wBAAwB,CAACH,gBAAgB,EAAE;AAAEtJ,EAAAA,WAAW,EAAE,WAAA;AAAY,CAAC;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import styled from 'styled-components';
|
|
4
|
-
import {
|
|
4
|
+
import { baseInputHeight } from './baseInputTokens.js';
|
|
5
5
|
import '../../Box/BaseBox/index.js';
|
|
6
6
|
import '../../Typography/index.js';
|
|
7
7
|
import '../../../utils/index.js';
|
|
@@ -116,7 +116,8 @@ var BaseInputTagSlot = function BaseInputTagSlot(_ref3) {
|
|
|
116
116
|
isDropdownTrigger = _ref3.isDropdownTrigger,
|
|
117
117
|
visibleTagsCountRef = _ref3.visibleTagsCountRef,
|
|
118
118
|
labelPrefix = _ref3.labelPrefix,
|
|
119
|
-
isDisabled = _ref3.isDisabled
|
|
119
|
+
isDisabled = _ref3.isDisabled,
|
|
120
|
+
size$1 = _ref3.size;
|
|
120
121
|
var hasTags = tags && tags.length > 0;
|
|
121
122
|
var slotRef = React__default.useRef(null);
|
|
122
123
|
var visibleTagsCount = useVisibleTagsCount({
|
|
@@ -174,7 +175,7 @@ var BaseInputTagSlot = function BaseInputTagSlot(_ref3) {
|
|
|
174
175
|
flexWrap: maxTagRows === 'single' ? 'nowrap' : 'wrap',
|
|
175
176
|
overflowX: "auto",
|
|
176
177
|
overflowY: showAllTags || maxTagRows === 'multiple' ? 'auto' : 'hidden',
|
|
177
|
-
minHeight: makeSize(
|
|
178
|
+
minHeight: makeSize(baseInputHeight[size$1]),
|
|
178
179
|
onMouseDown: function onMouseDown() {
|
|
179
180
|
setShouldIgnoreBlurAnimation === null || setShouldIgnoreBlurAnimation === void 0 ? void 0 : setShouldIgnoreBlurAnimation(true);
|
|
180
181
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInputTagSlot.web.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BaseInputTagSlotProps } from './types';\nimport { BASEINPUT_DEFAULT_HEIGHT } from './baseInputConfig';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeSize } from '~utils';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { size } from '~tokens/global';\n\nconst MINUMUM_INPUT_SPACE = 30;\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\nconst TAG_MAX_WIDTH: number = size['140'];\n\nconst useVisibleTagsCount = ({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n}: {\n slotRef: React.RefObject<HTMLDivElement>;\n tags: BaseInputTagSlotProps['tags'];\n maxTagRows: BaseInputTagSlotProps['maxTagRows'];\n visibleTagsCountRef: BaseInputTagSlotProps['visibleTagsCountRef'];\n showAllTags: BaseInputTagSlotProps['showAllTags'];\n labelPrefix: BaseInputTagSlotProps['labelPrefix'];\n}): number => {\n const [visibleTagsCount, setVisibleTagsCount] = React.useState(0);\n const visibleTagsCountStateRef = React.useRef<number>(0);\n\n useIsomorphicLayoutEffect(() => {\n if (!tags || labelPrefix) {\n setVisibleTagsCount(0);\n return;\n }\n\n if (maxTagRows === 'multiple' || showAllTags) {\n visibleTagsCountRef.current = tags.length;\n setVisibleTagsCount(tags.length);\n return;\n }\n\n const inputTagsSlotWidth = slotRef.current?.clientWidth;\n visibleTagsCountStateRef.current = 0;\n let totalTagsWidth = 0;\n\n if (!inputTagsSlotWidth) {\n return;\n }\n\n const allTagsEl = slotRef.current?.querySelectorAll(\n `[data-blade-component=\"${MetaConstants.Tag}\"]`,\n );\n\n const totalAvailableSpaceForTags =\n inputTagsSlotWidth - (MINUMUM_INPUT_SPACE + PLUS_X_MORE_TEXT_WIDTH);\n\n if (allTagsEl.length !== tags.length) {\n // some weird edge cases in controlled select where tags are not rendered in children\n // we assume 140px (max-width of tag as width of all tags)\n const tagsCount = Math.floor((totalAvailableSpaceForTags / TAG_MAX_WIDTH) * tags.length);\n visibleTagsCountRef.current = tagsCount;\n setVisibleTagsCount(tagsCount);\n return;\n }\n\n for (const tagEl of allTagsEl) {\n totalTagsWidth += tagEl.clientWidth;\n if (totalTagsWidth >= totalAvailableSpaceForTags) {\n break;\n } else {\n visibleTagsCountStateRef.current++;\n }\n }\n\n visibleTagsCountRef.current = visibleTagsCountStateRef.current;\n setVisibleTagsCount(visibleTagsCountStateRef.current);\n }, [tags?.length, showAllTags]);\n\n return visibleTagsCount;\n};\n\nconst getSelectedTextWithoutTags = ({\n items,\n labelPrefix,\n}: {\n items: number;\n labelPrefix?: string;\n}): string => {\n if (labelPrefix) {\n return `${labelPrefix} (${items} Selected)`;\n }\n\n return `${items} Selected`;\n};\n\nconst TagSlotContainer = styled(BaseBox)(() => {\n return {\n // hides the scrollbar of tagslot\n '::-webkit-scrollbar': {\n display: 'none',\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none',\n };\n});\n\nconst BaseInputTagSlot = ({\n renderAs,\n children,\n tags,\n maxTagRows,\n showAllTags,\n setShouldIgnoreBlurAnimation,\n handleOnInputClick,\n isDropdownTrigger,\n visibleTagsCountRef,\n labelPrefix,\n isDisabled,\n}: BaseInputTagSlotProps): React.ReactElement => {\n const hasTags = tags && tags.length > 0;\n const slotRef = React.useRef<HTMLDivElement>(null);\n const visibleTagsCount = useVisibleTagsCount({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n });\n\n React.useEffect(() => {\n slotRef.current?.scrollTo?.({\n top:\n maxTagRows === 'multiple' || maxTagRows === 'expandable' ? slotRef.current.scrollHeight : 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }, [tags?.length, maxTagRows]);\n\n React.useEffect(() => {\n if (!showAllTags) {\n slotRef.current?.scrollTo?.({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showAllTags]);\n\n const visibleTags = React.useMemo(() => {\n return showAllTags ? tags : tags?.slice(0, visibleTagsCount);\n }, [showAllTags, tags, visibleTagsCount]);\n\n const invisibleTagsCount = React.useMemo(() => {\n if (tags && visibleTags) {\n return tags.length - visibleTags.length;\n }\n\n return 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tags?.length, visibleTags?.length]);\n\n const isMobile = useIsMobile();\n\n if (!isDropdownTrigger) {\n // If its not dropdown trigger, we don't need to render tag containers\n return children;\n }\n\n // tag height changes in mobile and desktop so we keep different paddings to make it look as expected\n const paddingYWithTags = isMobile ? 'spacing.1' : 'spacing.2';\n\n return (\n <TagSlotContainer\n ref={slotRef}\n className=\"tags-slot\"\n paddingY={paddingYWithTags}\n paddingLeft=\"spacing.4\"\n display=\"flex\"\n flex=\"1\"\n flexWrap={maxTagRows === 'single' ? 'nowrap' : 'wrap'}\n overflowX=\"auto\"\n overflowY={showAllTags || maxTagRows === 'multiple' ? 'auto' : 'hidden'}\n minHeight={makeSize(BASEINPUT_DEFAULT_HEIGHT)}\n onMouseDown={() => {\n setShouldIgnoreBlurAnimation?.(true);\n }}\n onClick={(e) => {\n handleOnInputClick(castWebType(e));\n }}\n onMouseUp={() => {\n setShouldIgnoreBlurAnimation?.(false);\n }}\n >\n {visibleTags}\n {tags && !showAllTags && invisibleTagsCount ? (\n <Text\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n alignSelf=\"center\"\n marginY=\"spacing.2\"\n marginRight=\"spacing.4\"\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n >\n <BaseBox as=\"span\" whiteSpace=\"nowrap\">\n {visibleTags?.length === 0\n ? getSelectedTextWithoutTags({\n items: invisibleTagsCount,\n labelPrefix,\n })\n : `+${invisibleTagsCount} More`}\n </BaseBox>\n </Text>\n ) : null}\n <BaseBox\n marginTop=\"-4px\"\n minWidth={hasTags && renderAs === 'button' ? undefined : makeSize(MINUMUM_INPUT_SPACE)}\n width={hasTags && renderAs === 'button' ? makeSize(size['1']) : '100%'}\n >\n {children}\n </BaseBox>\n </TagSlotContainer>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["MINUMUM_INPUT_SPACE","PLUS_X_MORE_TEXT_WIDTH","TAG_MAX_WIDTH","size","useVisibleTagsCount","_ref","slotRef","tags","maxTagRows","visibleTagsCountRef","showAllTags","labelPrefix","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleTagsCount","setVisibleTagsCount","visibleTagsCountStateRef","useRef","useIsomorphicLayoutEffect","_slotRef$current","_slotRef$current2","current","length","inputTagsSlotWidth","clientWidth","totalTagsWidth","allTagsEl","querySelectorAll","concat","MetaConstants","Tag","totalAvailableSpaceForTags","tagsCount","Math","floor","_iterator","_createForOfIteratorHelper","_step","s","n","done","tagEl","value","err","e","f","getSelectedTextWithoutTags","_ref2","items","TagSlotContainer","styled","BaseBox","withConfig","displayName","componentId","display","BaseInputTagSlot","_ref3","renderAs","children","setShouldIgnoreBlurAnimation","handleOnInputClick","isDropdownTrigger","isDisabled","hasTags","useEffect","_slotRef$current3","_slotRef$current3$scr","scrollTo","call","top","scrollHeight","left","scrollWidth","behavior","_slotRef$current4","_slotRef$current4$scr","visibleTags","useMemo","slice","invisibleTagsCount","isMobile","useIsMobile","paddingYWithTags","_jsxs","ref","className","paddingY","paddingLeft","flex","flexWrap","overflowX","overflowY","minHeight","makeSize","BASEINPUT_DEFAULT_HEIGHT","onMouseDown","onClick","castWebType","onMouseUp","_jsx","Text","color","alignSelf","marginY","marginRight","variant","weight","as","whiteSpace","marginTop","minWidth","undefined","width"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInputTagSlot.web.js","sources":["../../../../../../../src/components/Input/BaseInput/BaseInputTagSlot.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { BaseInputTagSlotProps } from './types';\nimport { baseInputHeight } from './baseInputTokens';\nimport BaseBox from '~components/Box/BaseBox';\nimport { Text } from '~components/Typography';\nimport { castWebType, makeSize } from '~utils';\nimport { useIsomorphicLayoutEffect } from '~utils/useIsomorphicLayoutEffect';\nimport { useIsMobile } from '~utils/useIsMobile';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { size as sizeToken } from '~tokens/global';\n\nconst MINUMUM_INPUT_SPACE = 30;\nconst PLUS_X_MORE_TEXT_WIDTH = 60;\nconst TAG_MAX_WIDTH: number = sizeToken['140'];\n\nconst useVisibleTagsCount = ({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n}: {\n slotRef: React.RefObject<HTMLDivElement>;\n tags: BaseInputTagSlotProps['tags'];\n maxTagRows: BaseInputTagSlotProps['maxTagRows'];\n visibleTagsCountRef: BaseInputTagSlotProps['visibleTagsCountRef'];\n showAllTags: BaseInputTagSlotProps['showAllTags'];\n labelPrefix: BaseInputTagSlotProps['labelPrefix'];\n}): number => {\n const [visibleTagsCount, setVisibleTagsCount] = React.useState(0);\n const visibleTagsCountStateRef = React.useRef<number>(0);\n\n useIsomorphicLayoutEffect(() => {\n if (!tags || labelPrefix) {\n setVisibleTagsCount(0);\n return;\n }\n\n if (maxTagRows === 'multiple' || showAllTags) {\n visibleTagsCountRef.current = tags.length;\n setVisibleTagsCount(tags.length);\n return;\n }\n\n const inputTagsSlotWidth = slotRef.current?.clientWidth;\n visibleTagsCountStateRef.current = 0;\n let totalTagsWidth = 0;\n\n if (!inputTagsSlotWidth) {\n return;\n }\n\n const allTagsEl = slotRef.current?.querySelectorAll(\n `[data-blade-component=\"${MetaConstants.Tag}\"]`,\n );\n\n const totalAvailableSpaceForTags =\n inputTagsSlotWidth - (MINUMUM_INPUT_SPACE + PLUS_X_MORE_TEXT_WIDTH);\n\n if (allTagsEl.length !== tags.length) {\n // some weird edge cases in controlled select where tags are not rendered in children\n // we assume 140px (max-width of tag as width of all tags)\n const tagsCount = Math.floor((totalAvailableSpaceForTags / TAG_MAX_WIDTH) * tags.length);\n visibleTagsCountRef.current = tagsCount;\n setVisibleTagsCount(tagsCount);\n return;\n }\n\n for (const tagEl of allTagsEl) {\n totalTagsWidth += tagEl.clientWidth;\n if (totalTagsWidth >= totalAvailableSpaceForTags) {\n break;\n } else {\n visibleTagsCountStateRef.current++;\n }\n }\n\n visibleTagsCountRef.current = visibleTagsCountStateRef.current;\n setVisibleTagsCount(visibleTagsCountStateRef.current);\n }, [tags?.length, showAllTags]);\n\n return visibleTagsCount;\n};\n\nconst getSelectedTextWithoutTags = ({\n items,\n labelPrefix,\n}: {\n items: number;\n labelPrefix?: string;\n}): string => {\n if (labelPrefix) {\n return `${labelPrefix} (${items} Selected)`;\n }\n\n return `${items} Selected`;\n};\n\nconst TagSlotContainer = styled(BaseBox)(() => {\n return {\n // hides the scrollbar of tagslot\n '::-webkit-scrollbar': {\n display: 'none',\n },\n '-ms-overflow-style': 'none',\n 'scrollbar-width': 'none',\n };\n});\n\nconst BaseInputTagSlot = ({\n renderAs,\n children,\n tags,\n maxTagRows,\n showAllTags,\n setShouldIgnoreBlurAnimation,\n handleOnInputClick,\n isDropdownTrigger,\n visibleTagsCountRef,\n labelPrefix,\n isDisabled,\n size,\n}: BaseInputTagSlotProps): React.ReactElement => {\n const hasTags = tags && tags.length > 0;\n const slotRef = React.useRef<HTMLDivElement>(null);\n const visibleTagsCount = useVisibleTagsCount({\n slotRef,\n tags,\n maxTagRows,\n visibleTagsCountRef,\n showAllTags,\n labelPrefix,\n });\n\n React.useEffect(() => {\n slotRef.current?.scrollTo?.({\n top:\n maxTagRows === 'multiple' || maxTagRows === 'expandable' ? slotRef.current.scrollHeight : 0,\n left: maxTagRows === 'single' ? slotRef.current.scrollWidth : 0,\n behavior: 'smooth',\n });\n }, [tags?.length, maxTagRows]);\n\n React.useEffect(() => {\n if (!showAllTags) {\n slotRef.current?.scrollTo?.({\n top: 0,\n left: 0,\n behavior: 'smooth',\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showAllTags]);\n\n const visibleTags = React.useMemo(() => {\n return showAllTags ? tags : tags?.slice(0, visibleTagsCount);\n }, [showAllTags, tags, visibleTagsCount]);\n\n const invisibleTagsCount = React.useMemo(() => {\n if (tags && visibleTags) {\n return tags.length - visibleTags.length;\n }\n\n return 0;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [tags?.length, visibleTags?.length]);\n\n const isMobile = useIsMobile();\n\n if (!isDropdownTrigger) {\n // If its not dropdown trigger, we don't need to render tag containers\n return children;\n }\n\n // tag height changes in mobile and desktop so we keep different paddings to make it look as expected\n const paddingYWithTags = isMobile ? 'spacing.1' : 'spacing.2';\n\n return (\n <TagSlotContainer\n ref={slotRef}\n className=\"tags-slot\"\n paddingY={paddingYWithTags}\n paddingLeft=\"spacing.4\"\n display=\"flex\"\n flex=\"1\"\n flexWrap={maxTagRows === 'single' ? 'nowrap' : 'wrap'}\n overflowX=\"auto\"\n overflowY={showAllTags || maxTagRows === 'multiple' ? 'auto' : 'hidden'}\n minHeight={makeSize(baseInputHeight[size])}\n onMouseDown={() => {\n setShouldIgnoreBlurAnimation?.(true);\n }}\n onClick={(e) => {\n handleOnInputClick(castWebType(e));\n }}\n onMouseUp={() => {\n setShouldIgnoreBlurAnimation?.(false);\n }}\n >\n {visibleTags}\n {tags && !showAllTags && invisibleTagsCount ? (\n <Text\n color={isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle'}\n alignSelf=\"center\"\n marginY=\"spacing.2\"\n marginRight=\"spacing.4\"\n variant=\"body\"\n size=\"small\"\n weight=\"regular\"\n >\n <BaseBox as=\"span\" whiteSpace=\"nowrap\">\n {visibleTags?.length === 0\n ? getSelectedTextWithoutTags({\n items: invisibleTagsCount,\n labelPrefix,\n })\n : `+${invisibleTagsCount} More`}\n </BaseBox>\n </Text>\n ) : null}\n <BaseBox\n marginTop=\"-4px\"\n minWidth={hasTags && renderAs === 'button' ? undefined : makeSize(MINUMUM_INPUT_SPACE)}\n width={hasTags && renderAs === 'button' ? makeSize(sizeToken['1']) : '100%'}\n >\n {children}\n </BaseBox>\n </TagSlotContainer>\n );\n};\n\nexport { BaseInputTagSlot };\n"],"names":["MINUMUM_INPUT_SPACE","PLUS_X_MORE_TEXT_WIDTH","TAG_MAX_WIDTH","sizeToken","useVisibleTagsCount","_ref","slotRef","tags","maxTagRows","visibleTagsCountRef","showAllTags","labelPrefix","_React$useState","React","useState","_React$useState2","_slicedToArray","visibleTagsCount","setVisibleTagsCount","visibleTagsCountStateRef","useRef","useIsomorphicLayoutEffect","_slotRef$current","_slotRef$current2","current","length","inputTagsSlotWidth","clientWidth","totalTagsWidth","allTagsEl","querySelectorAll","concat","MetaConstants","Tag","totalAvailableSpaceForTags","tagsCount","Math","floor","_iterator","_createForOfIteratorHelper","_step","s","n","done","tagEl","value","err","e","f","getSelectedTextWithoutTags","_ref2","items","TagSlotContainer","styled","BaseBox","withConfig","displayName","componentId","display","BaseInputTagSlot","_ref3","renderAs","children","setShouldIgnoreBlurAnimation","handleOnInputClick","isDropdownTrigger","isDisabled","size","hasTags","useEffect","_slotRef$current3","_slotRef$current3$scr","scrollTo","call","top","scrollHeight","left","scrollWidth","behavior","_slotRef$current4","_slotRef$current4$scr","visibleTags","useMemo","slice","invisibleTagsCount","isMobile","useIsMobile","paddingYWithTags","_jsxs","ref","className","paddingY","paddingLeft","flex","flexWrap","overflowX","overflowY","minHeight","makeSize","baseInputHeight","onMouseDown","onClick","castWebType","onMouseUp","_jsx","Text","color","alignSelf","marginY","marginRight","variant","weight","as","whiteSpace","marginTop","minWidth","undefined","width"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,mBAAmB,GAAG,EAAE,CAAA;AAC9B,IAAMC,sBAAsB,GAAG,EAAE,CAAA;AACjC,IAAMC,aAAqB,GAAGC,IAAS,CAAC,KAAK,CAAC,CAAA;AAE9C,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAAC,IAAA,EAcX;AAAA,EAAA,IAbZC,OAAO,GAAAD,IAAA,CAAPC,OAAO;IACPC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IACJC,UAAU,GAAAH,IAAA,CAAVG,UAAU;IACVC,mBAAmB,GAAAJ,IAAA,CAAnBI,mBAAmB;IACnBC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IACXC,WAAW,GAAAN,IAAA,CAAXM,WAAW,CAAA;AASX,EAAA,IAAAC,eAAA,GAAgDC,cAAK,CAACC,QAAQ,CAAC,CAAC,CAAC;IAAAC,gBAAA,GAAAC,cAAA,CAAAJ,eAAA,EAAA,CAAA,CAAA;AAA1DK,IAAAA,gBAAgB,GAAAF,gBAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,mBAAmB,GAAAH,gBAAA,CAAA,CAAA,CAAA,CAAA;AAC5C,EAAA,IAAMI,wBAAwB,GAAGN,cAAK,CAACO,MAAM,CAAS,CAAC,CAAC,CAAA;AAExDC,EAAAA,yBAAyB,CAAC,YAAM;IAAA,IAAAC,gBAAA,EAAAC,iBAAA,CAAA;AAC9B,IAAA,IAAI,CAAChB,IAAI,IAAII,WAAW,EAAE;MACxBO,mBAAmB,CAAC,CAAC,CAAC,CAAA;AACtB,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAIV,UAAU,KAAK,UAAU,IAAIE,WAAW,EAAE;AAC5CD,MAAAA,mBAAmB,CAACe,OAAO,GAAGjB,IAAI,CAACkB,MAAM,CAAA;AACzCP,MAAAA,mBAAmB,CAACX,IAAI,CAACkB,MAAM,CAAC,CAAA;AAChC,MAAA,OAAA;AACF,KAAA;AAEA,IAAA,IAAMC,kBAAkB,GAAA,CAAAJ,gBAAA,GAAGhB,OAAO,CAACkB,OAAO,MAAA,IAAA,IAAAF,gBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,gBAAA,CAAiBK,WAAW,CAAA;IACvDR,wBAAwB,CAACK,OAAO,GAAG,CAAC,CAAA;IACpC,IAAII,cAAc,GAAG,CAAC,CAAA;IAEtB,IAAI,CAACF,kBAAkB,EAAE;AACvB,MAAA,OAAA;AACF,KAAA;IAEA,IAAMG,SAAS,IAAAN,iBAAA,GAAGjB,OAAO,CAACkB,OAAO,cAAAD,iBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAfA,iBAAA,CAAiBO,gBAAgB,4BAAAC,MAAA,CACvBC,aAAa,CAACC,GAAG,QAC7C,CAAC,CAAA;AAED,IAAA,IAAMC,0BAA0B,GAC9BR,kBAAkB,IAAI1B,mBAAmB,GAAGC,sBAAsB,CAAC,CAAA;AAErE,IAAA,IAAI4B,SAAS,CAACJ,MAAM,KAAKlB,IAAI,CAACkB,MAAM,EAAE;AACpC;AACA;AACA,MAAA,IAAMU,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAEH,0BAA0B,GAAGhC,aAAa,GAAIK,IAAI,CAACkB,MAAM,CAAC,CAAA;MACxFhB,mBAAmB,CAACe,OAAO,GAAGW,SAAS,CAAA;MACvCjB,mBAAmB,CAACiB,SAAS,CAAC,CAAA;AAC9B,MAAA,OAAA;AACF,KAAA;AAAC,IAAA,IAAAG,SAAA,GAAAC,0BAAA,CAEmBV,SAAS,CAAA;MAAAW,KAAA,CAAA;AAAA,IAAA,IAAA;MAA7B,KAAAF,SAAA,CAAAG,CAAA,EAAAD,EAAAA,CAAAA,CAAAA,KAAA,GAAAF,SAAA,CAAAI,CAAA,EAAAC,EAAAA,IAAA,GAA+B;AAAA,QAAA,IAApBC,KAAK,GAAAJ,KAAA,CAAAK,KAAA,CAAA;QACdjB,cAAc,IAAIgB,KAAK,CAACjB,WAAW,CAAA;QACnC,IAAIC,cAAc,IAAIM,0BAA0B,EAAE;AAChD,UAAA,MAAA;AACF,SAAC,MAAM;UACLf,wBAAwB,CAACK,OAAO,EAAE,CAAA;AACpC,SAAA;AACF,OAAA;AAAC,KAAA,CAAA,OAAAsB,GAAA,EAAA;MAAAR,SAAA,CAAAS,CAAA,CAAAD,GAAA,CAAA,CAAA;AAAA,KAAA,SAAA;AAAAR,MAAAA,SAAA,CAAAU,CAAA,EAAA,CAAA;AAAA,KAAA;AAEDvC,IAAAA,mBAAmB,CAACe,OAAO,GAAGL,wBAAwB,CAACK,OAAO,CAAA;AAC9DN,IAAAA,mBAAmB,CAACC,wBAAwB,CAACK,OAAO,CAAC,CAAA;AACvD,GAAC,EAAE,CAACjB,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEkB,MAAM,EAAEf,WAAW,CAAC,CAAC,CAAA;AAE/B,EAAA,OAAOO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AAED,IAAMgC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAAC,KAAA,EAMlB;AAAA,EAAA,IALZC,KAAK,GAAAD,KAAA,CAALC,KAAK;IACLxC,WAAW,GAAAuC,KAAA,CAAXvC,WAAW,CAAA;AAKX,EAAA,IAAIA,WAAW,EAAE;AACf,IAAA,OAAA,EAAA,CAAAoB,MAAA,CAAUpB,WAAW,EAAAoB,IAAAA,CAAAA,CAAAA,MAAA,CAAKoB,KAAK,EAAA,YAAA,CAAA,CAAA;AACjC,GAAA;EAEA,OAAApB,EAAAA,CAAAA,MAAA,CAAUoB,KAAK,EAAA,WAAA,CAAA,CAAA;AACjB,CAAC,CAAA;AAED,IAAMC,gBAAgB,gBAAGC,MAAM,CAACC,OAAO,CAAC,CAAAC,UAAA,CAAA;EAAAC,WAAA,EAAA,uCAAA;EAAAC,WAAA,EAAA,cAAA;AAAA,CAAA,CAAA,CAAC,YAAM;EAC7C,OAAO;AACL;AACA,IAAA,qBAAqB,EAAE;AACrBC,MAAAA,OAAO,EAAE,MAAA;KACV;AACD,IAAA,oBAAoB,EAAE,MAAM;AAC5B,IAAA,iBAAiB,EAAE,MAAA;GACpB,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAC,KAAA,EAa2B;AAAA,EAAA,IAZ/CC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;IACRC,QAAQ,GAAAF,KAAA,CAARE,QAAQ;IACRvD,IAAI,GAAAqD,KAAA,CAAJrD,IAAI;IACJC,UAAU,GAAAoD,KAAA,CAAVpD,UAAU;IACVE,WAAW,GAAAkD,KAAA,CAAXlD,WAAW;IACXqD,4BAA4B,GAAAH,KAAA,CAA5BG,4BAA4B;IAC5BC,kBAAkB,GAAAJ,KAAA,CAAlBI,kBAAkB;IAClBC,iBAAiB,GAAAL,KAAA,CAAjBK,iBAAiB;IACjBxD,mBAAmB,GAAAmD,KAAA,CAAnBnD,mBAAmB;IACnBE,WAAW,GAAAiD,KAAA,CAAXjD,WAAW;IACXuD,UAAU,GAAAN,KAAA,CAAVM,UAAU;IACVC,MAAI,GAAAP,KAAA,CAAJO,IAAI,CAAA;EAEJ,IAAMC,OAAO,GAAG7D,IAAI,IAAIA,IAAI,CAACkB,MAAM,GAAG,CAAC,CAAA;AACvC,EAAA,IAAMnB,OAAO,GAAGO,cAAK,CAACO,MAAM,CAAiB,IAAI,CAAC,CAAA;EAClD,IAAMH,gBAAgB,GAAGb,mBAAmB,CAAC;AAC3CE,IAAAA,OAAO,EAAPA,OAAO;AACPC,IAAAA,IAAI,EAAJA,IAAI;AACJC,IAAAA,UAAU,EAAVA,UAAU;AACVC,IAAAA,mBAAmB,EAAnBA,mBAAmB;AACnBC,IAAAA,WAAW,EAAXA,WAAW;AACXC,IAAAA,WAAW,EAAXA,WAAAA;AACF,GAAC,CAAC,CAAA;EAEFE,cAAK,CAACwD,SAAS,CAAC,YAAM;IAAA,IAAAC,iBAAA,EAAAC,qBAAA,CAAA;IACpB,CAAAD,iBAAA,GAAAhE,OAAO,CAACkB,OAAO,MAAA8C,IAAAA,IAAAA,iBAAA,wBAAAC,qBAAA,GAAfD,iBAAA,CAAiBE,QAAQ,cAAAD,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzBA,qBAAA,CAAAE,IAAA,CAAAH,iBAAA,EAA4B;AAC1BI,MAAAA,GAAG,EACDlE,UAAU,KAAK,UAAU,IAAIA,UAAU,KAAK,YAAY,GAAGF,OAAO,CAACkB,OAAO,CAACmD,YAAY,GAAG,CAAC;MAC7FC,IAAI,EAAEpE,UAAU,KAAK,QAAQ,GAAGF,OAAO,CAACkB,OAAO,CAACqD,WAAW,GAAG,CAAC;AAC/DC,MAAAA,QAAQ,EAAE,QAAA;AACZ,KAAC,CAAC,CAAA;AACJ,GAAC,EAAE,CAACvE,IAAI,KAAA,IAAA,IAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEkB,MAAM,EAAEjB,UAAU,CAAC,CAAC,CAAA;EAE9BK,cAAK,CAACwD,SAAS,CAAC,YAAM;IACpB,IAAI,CAAC3D,WAAW,EAAE;MAAA,IAAAqE,iBAAA,EAAAC,qBAAA,CAAA;MAChB,CAAAD,iBAAA,GAAAzE,OAAO,CAACkB,OAAO,MAAAuD,IAAAA,IAAAA,iBAAA,wBAAAC,qBAAA,GAAfD,iBAAA,CAAiBP,QAAQ,cAAAQ,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAzBA,qBAAA,CAAAP,IAAA,CAAAM,iBAAA,EAA4B;AAC1BL,QAAAA,GAAG,EAAE,CAAC;AACNE,QAAAA,IAAI,EAAE,CAAC;AACPE,QAAAA,QAAQ,EAAE,QAAA;AACZ,OAAC,CAAC,CAAA;AACJ,KAAA;AACA;AACF,GAAC,EAAE,CAACpE,WAAW,CAAC,CAAC,CAAA;AAEjB,EAAA,IAAMuE,WAAW,GAAGpE,cAAK,CAACqE,OAAO,CAAC,YAAM;AACtC,IAAA,OAAOxE,WAAW,GAAGH,IAAI,GAAGA,IAAI,KAAJA,IAAAA,IAAAA,IAAI,KAAJA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,IAAI,CAAE4E,KAAK,CAAC,CAAC,EAAElE,gBAAgB,CAAC,CAAA;GAC7D,EAAE,CAACP,WAAW,EAAEH,IAAI,EAAEU,gBAAgB,CAAC,CAAC,CAAA;AAEzC,EAAA,IAAMmE,kBAAkB,GAAGvE,cAAK,CAACqE,OAAO,CAAC,YAAM;IAC7C,IAAI3E,IAAI,IAAI0E,WAAW,EAAE;AACvB,MAAA,OAAO1E,IAAI,CAACkB,MAAM,GAAGwD,WAAW,CAACxD,MAAM,CAAA;AACzC,KAAA;AAEA,IAAA,OAAO,CAAC,CAAA;AACR;AACF,GAAC,EAAE,CAAClB,IAAI,aAAJA,IAAI,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAJA,IAAI,CAAEkB,MAAM,EAAEwD,WAAW,aAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAExD,MAAM,CAAC,CAAC,CAAA;AAEvC,EAAA,IAAM4D,QAAQ,GAAGC,WAAW,EAAE,CAAA;EAE9B,IAAI,CAACrB,iBAAiB,EAAE;AACtB;AACA,IAAA,OAAOH,QAAQ,CAAA;AACjB,GAAA;;AAEA;AACA,EAAA,IAAMyB,gBAAgB,GAAGF,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAA;EAE7D,oBACEG,IAAA,CAACpC,gBAAgB,EAAA;AACfqC,IAAAA,GAAG,EAAEnF,OAAQ;AACboF,IAAAA,SAAS,EAAC,WAAW;AACrBC,IAAAA,QAAQ,EAAEJ,gBAAiB;AAC3BK,IAAAA,WAAW,EAAC,WAAW;AACvBlC,IAAAA,OAAO,EAAC,MAAM;AACdmC,IAAAA,IAAI,EAAC,GAAG;AACRC,IAAAA,QAAQ,EAAEtF,UAAU,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAO;AACtDuF,IAAAA,SAAS,EAAC,MAAM;IAChBC,SAAS,EAAEtF,WAAW,IAAIF,UAAU,KAAK,UAAU,GAAG,MAAM,GAAG,QAAS;AACxEyF,IAAAA,SAAS,EAAEC,QAAQ,CAACC,eAAe,CAAChC,MAAI,CAAC,CAAE;IAC3CiC,WAAW,EAAE,SAAAA,WAAAA,GAAM;AACjBrC,MAAAA,4BAA4B,aAA5BA,4BAA4B,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,4BAA4B,CAAG,IAAI,CAAC,CAAA;KACpC;AACFsC,IAAAA,OAAO,EAAE,SAAAA,OAACtD,CAAAA,CAAC,EAAK;AACdiB,MAAAA,kBAAkB,CAACsC,WAAW,CAACvD,CAAC,CAAC,CAAC,CAAA;KAClC;IACFwD,SAAS,EAAE,SAAAA,SAAAA,GAAM;AACfxC,MAAAA,4BAA4B,aAA5BA,4BAA4B,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAA5BA,4BAA4B,CAAG,KAAK,CAAC,CAAA;KACrC;AAAAD,IAAAA,QAAA,EAEDmB,CAAAA,WAAW,EACX1E,IAAI,IAAI,CAACG,WAAW,IAAI0E,kBAAkB,gBACzCoB,GAAA,CAACC,IAAI,EAAA;AACHC,MAAAA,KAAK,EAAExC,UAAU,GAAG,4BAA4B,GAAG,0BAA2B;AAC9EyC,MAAAA,SAAS,EAAC,QAAQ;AAClBC,MAAAA,OAAO,EAAC,WAAW;AACnBC,MAAAA,WAAW,EAAC,WAAW;AACvBC,MAAAA,OAAO,EAAC,MAAM;AACd3C,MAAAA,IAAI,EAAC,OAAO;AACZ4C,MAAAA,MAAM,EAAC,SAAS;MAAAjD,QAAA,eAEhB0C,GAAA,CAAClD,OAAO,EAAA;AAAC0D,QAAAA,EAAE,EAAC,MAAM;AAACC,QAAAA,UAAU,EAAC,QAAQ;AAAAnD,QAAAA,QAAA,EACnC,CAAAmB,WAAW,KAAA,IAAA,IAAXA,WAAW,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAXA,WAAW,CAAExD,MAAM,MAAK,CAAC,GACtBwB,0BAA0B,CAAC;AACzBE,UAAAA,KAAK,EAAEiC,kBAAkB;AACzBzE,UAAAA,WAAW,EAAXA,WAAAA;AACF,SAAC,CAAC,GAAA,GAAA,CAAAoB,MAAA,CACEqD,kBAAkB,EAAA,OAAA,CAAA;OACnB,CAAA;AAAC,KACN,CAAC,GACL,IAAI,eACRoB,GAAA,CAAClD,OAAO,EAAA;AACN4D,MAAAA,SAAS,EAAC,MAAM;AAChBC,MAAAA,QAAQ,EAAE/C,OAAO,IAAIP,QAAQ,KAAK,QAAQ,GAAGuD,SAAS,GAAGlB,QAAQ,CAAClG,mBAAmB,CAAE;AACvFqH,MAAAA,KAAK,EAAEjD,OAAO,IAAIP,QAAQ,KAAK,QAAQ,GAAGqC,QAAQ,CAAC/F,IAAS,CAAC,GAAG,CAAC,CAAC,GAAG,MAAO;AAAA2D,MAAAA,QAAA,EAE3EA,QAAAA;AAAQ,KACF,CAAC,CAAA;AAAA,GACM,CAAC,CAAA;AAEvB;;;;"}
|