@razorpay/blade 12.33.1 → 12.33.2
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/Accordion/AccordionButton.native.js +1 -1
- package/build/lib/native/components/Accordion/AccordionButton.native.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js +2 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js +1 -1
- package/build/lib/native/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js +1 -1
- package/build/lib/native/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownButton.js +1 -1
- package/build/lib/native/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/native/components/Dropdown/InputDropdownButton.native.js +7 -0
- package/build/lib/native/components/Dropdown/InputDropdownButton.native.js.map +1 -0
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js +1 -1
- package/build/lib/native/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/native/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +12 -0
- package/build/lib/native/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/native/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -5
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js +12 -3
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +11 -3
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- 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 +2 -0
- package/build/lib/native/components/index.js.map +1 -1
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js +14 -0
- package/build/lib/native/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +18 -2
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js +4 -3
- package/build/lib/web/development/components/Accordion/StyledAccordionButton.web.js.map +1 -1
- package/build/lib/web/development/components/Accordion/commonStyles.js +1 -11
- package/build/lib/web/development/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +2 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +6 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +24 -3
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
- package/build/lib/web/development/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js +19 -0
- package/build/lib/web/development/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js +4 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js +4 -2
- package/build/lib/web/development/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js +180 -0
- package/build/lib/web/development/components/Dropdown/InputDropdownButton.web.js.map +1 -0
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/development/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/index.js +1 -0
- package/build/lib/web/development/components/Dropdown/index.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js +2 -0
- package/build/lib/web/development/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
- package/build/lib/web/development/components/Icons/index.js +1 -0
- package/build/lib/web/development/components/Icons/index.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +10 -4
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js +32 -8
- package/build/lib/web/development/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/development/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js +8 -4
- package/build/lib/web/development/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/web/development/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
- package/build/lib/web/development/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +97 -30
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +123 -31
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Typography/Text/Text.js +0 -1
- package/build/lib/web/development/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/development/components/index.js +2 -0
- package/build/lib/web/development/components/index.js.map +1 -1
- package/build/lib/web/development/utils/useControlledDropdownInput/index.js +2 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/index.js.map +1 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
- package/build/lib/web/development/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +18 -2
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js +4 -3
- package/build/lib/web/production/components/Accordion/StyledAccordionButton.web.js.map +1 -1
- package/build/lib/web/production/components/Accordion/commonStyles.js +1 -11
- package/build/lib/web/production/components/Accordion/commonStyles.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +2 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +6 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +24 -3
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js +14 -2
- package/build/lib/web/production/components/Button/BaseButton/StyledBaseButton.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js +19 -0
- package/build/lib/web/production/components/Button/BaseButton/buttonTokens.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +4 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js +4 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js +4 -2
- package/build/lib/web/production/components/Dropdown/DropdownOverlay.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js +180 -0
- package/build/lib/web/production/components/Dropdown/InputDropdownButton.web.js.map +1 -0
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js +2 -1
- package/build/lib/web/production/components/Dropdown/dropdownComponentIds.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/index.js +1 -0
- package/build/lib/web/production/components/Dropdown/index.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/useDropdown.js.map +1 -1
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js +40 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/ChevronUpDownIcon.js.map +1 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js +2 -0
- package/build/lib/web/production/components/Icons/ChevronUpDownIcon/index.js.map +1 -0
- package/build/lib/web/production/components/Icons/index.js +1 -0
- package/build/lib/web/production/components/Icons/index.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +10 -4
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js +32 -8
- package/build/lib/web/production/components/Input/BaseInput/BaseInputVisuals.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js +2 -1
- package/build/lib/web/production/components/Input/BaseInput/StyledBaseInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js +8 -4
- package/build/lib/web/production/components/Input/BaseInput/baseInputStyles.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js +1 -1
- package/build/lib/web/production/components/Input/BaseInput/baseInputTokens.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +25 -124
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js +6 -4
- package/build/lib/web/production/components/Input/PhoneNumberInput/CountrySelector.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +97 -30
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +123 -31
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Typography/Text/Text.js +0 -1
- package/build/lib/web/production/components/Typography/Text/Text.js.map +1 -1
- package/build/lib/web/production/components/index.js +2 -0
- package/build/lib/web/production/components/index.js.map +1 -1
- package/build/lib/web/production/utils/useControlledDropdownInput/index.js +2 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/index.js.map +1 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js +108 -0
- package/build/lib/web/production/utils/useControlledDropdownInput/useControlledDropdownInput.js.map +1 -0
- package/build/types/components/index.d.ts +3098 -3001
- package/build/types/components/index.native.d.ts +2719 -2686
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n trailingInteractionElement: props.trailingInteractionElement,\n leadingInteractionElement: props.leadingInteractionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n isTableInputCell: props.isTableInputCell,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: props.$size,\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n $size,\n valueComponentType,\n tabIndex,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n $size={$size}\n valueComponentType={valueComponentType}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\n tabIndex={tabIndex}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n size={$size}\n >\n {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n // In Tagged TextArea, tags take up their own space so we need to define height instead of relying on HTML rows\n rows={props.isTextArea && props.isDropdownTrigger ? 1 : numberOfLines}\n numberOfLines={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n $size={$size}\n valueComponentType={valueComponentType}\n tabIndex={tabIndex}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","size","$size","valueComponentType","isTableInputCell","outline","border","getTextStyles","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","tabIndex","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","stopPropagation","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"StyledBaseInput.web.js","sources":["../../../../../../../src/components/Input/BaseInput/StyledBaseInput.web.tsx"],"sourcesContent":["import React from 'react';\nimport styled from 'styled-components';\nimport type { CSSObject, DefaultTheme, ThemeProps } from 'styled-components';\nimport { getBaseInputStyles } from './baseInputStyles';\nimport type { StyledBaseInputProps } from './types';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { Text } from '~components/Typography';\n\nconst getWebInputStyles = (\n props: Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'> &\n ThemeProps<DefaultTheme> &\n (React.InputHTMLAttributes<HTMLInputElement> | React.ButtonHTMLAttributes<HTMLButtonElement>),\n): CSSObject => {\n return {\n ...getBaseInputStyles({\n isDisabled: props.disabled,\n theme: props.theme,\n validationState: props.validationState,\n leadingIcon: props.leadingIcon,\n prefix: props.prefix,\n trailingInteractionElement: props.trailingInteractionElement,\n leadingInteractionElement: props.leadingInteractionElement,\n suffix: props.suffix,\n trailingIcon: props.trailingIcon,\n textAlign: props.textAlign,\n isTextArea: props.isTextArea,\n hasTags: props.hasTags,\n isDropdownTrigger: props.isDropdownTrigger,\n size: props.$size,\n valueComponentType: props.valueComponentType,\n isTableInputCell: props.isTableInputCell,\n hasLeadingDropdown: props.hasLeadingDropdown,\n }),\n outline: 'none',\n border: 'none',\n '::placeholder': {\n ...getTextStyles({\n size: props.$size,\n variant: 'body',\n weight: 'regular',\n color: 'surface.text.gray.disabled',\n theme: props.theme,\n }),\n textAlign: props.textAlign,\n },\n ':focus': {\n outline: 'none',\n },\n cursor: props.disabled ? 'not-allowed' : 'auto',\n };\n};\n\nconst StyledBaseNativeInput = styled.input<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>(getWebInputStyles);\n\nconst StyledBaseNativeButton = styled.button<\n Omit<StyledBaseInputProps, 'accessibilityProps' | 'setCurrentInteraction' | 'type'>\n>((props) => ({\n ...getWebInputStyles(props),\n}));\n\nconst autoCompleteSuggestionTypeMap = {\n none: 'off',\n on: 'on',\n name: 'name',\n email: 'email',\n username: 'username',\n password: 'current-password',\n newPassword: 'new-password',\n oneTimeCode: 'one-time-code',\n telephone: 'tel',\n postalCode: 'postal-code',\n countryName: 'country',\n creditCardNumber: 'cc-number',\n creditCardCSC: 'cc-csc',\n creditCardExpiry: 'cc-exp',\n creditCardExpiryMonth: 'cc-exp-month',\n creditCardExpiryYear: 'cc-exp-year',\n};\n\nconst _StyledBaseInput: React.ForwardRefRenderFunction<\n HTMLInputElement | HTMLButtonElement,\n StyledBaseInputProps\n> = (\n {\n name,\n isDisabled,\n isRequired,\n maxCharacters,\n handleOnFocus,\n handleOnChange,\n handleOnBlur,\n handleOnInput,\n handleOnKeyDown,\n handleOnClick,\n keyboardType,\n keyboardReturnKeyType,\n autoCompleteSuggestionType,\n accessibilityProps,\n setCurrentInteraction,\n numberOfLines,\n type,\n hasPopup,\n shouldIgnoreBlurAnimation,\n autoCapitalize,\n $size,\n valueComponentType,\n tabIndex,\n ...props\n },\n ref,\n) => {\n const commonProps = {\n onBlur: (event: React.ChangeEvent<HTMLInputElement>): void => {\n // In certain cases like SelectInput, we want to ignore the blur animation when option item is clicked.\n // The selectinput should always look like it is in focus otherwise it triggers blur + focus again which can cause flicker\n if (!shouldIgnoreBlurAnimation) {\n setCurrentInteraction('default');\n }\n handleOnBlur?.({ name, value: event });\n },\n onFocus: (event: React.ChangeEvent<HTMLInputElement>): void => {\n setCurrentInteraction('focus');\n handleOnFocus?.({ name, value: event });\n },\n onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => {\n handleOnKeyDown?.({ name, key: event.key, code: event.code, event });\n },\n disabled: isDisabled,\n enterKeyHint: keyboardReturnKeyType === 'default' ? 'enter' : keyboardReturnKeyType,\n autoComplete: autoCompleteSuggestionType\n ? autoCompleteSuggestionTypeMap[autoCompleteSuggestionType]\n : undefined,\n };\n\n return props.as === 'button' ? (\n <StyledBaseNativeButton\n // @ts-expect-error: TS doesnt understand that this will always be `button`\n ref={ref}\n name={name}\n type=\"button\"\n onClick={(event: React.MouseEvent<HTMLInputElement>): void => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n $size={$size}\n valueComponentType={valueComponentType}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n value={props.value}\n tabIndex={tabIndex}\n >\n <Text\n color={\n props.value && !isDisabled ? 'surface.text.gray.subtle' : 'surface.text.gray.disabled'\n }\n truncateAfterLines={1}\n textAlign={props.textAlign}\n size={$size}\n >\n {props.value ? props.value : props.placeholder}\n </Text>\n </StyledBaseNativeButton>\n ) : (\n <StyledBaseNativeInput\n // @ts-expect-error: TS doesnt understand that this will always be `input`\n ref={ref}\n name={name}\n type={type === 'telephone' ? 'tel' : type}\n required={isRequired}\n maxLength={maxCharacters}\n // In Tagged TextArea, tags take up their own space so we need to define height instead of relying on HTML rows\n rows={props.isTextArea && props.isDropdownTrigger ? 1 : numberOfLines}\n numberOfLines={numberOfLines}\n inputMode={keyboardType === 'telephone' ? 'tel' : keyboardType}\n onChange={(event: React.ChangeEvent<HTMLInputElement>): void =>\n handleOnChange?.({ name, value: event })\n }\n onInput={(event: React.ChangeEvent<HTMLInputElement>) => {\n handleOnInput?.({ name, value: event });\n }}\n onClick={(event) => {\n if (props.isDropdownTrigger) {\n // dropdown triggers have click event on outer container as well on web to handle outer padding clicks of input\n // we don't want the clicks to be called twice in such cases so we stop propogation if this click has happened\n event.stopPropagation();\n }\n\n handleOnClick?.({ name, value: event });\n }}\n autoCapitalize={autoCapitalize}\n $size={$size}\n valueComponentType={valueComponentType}\n tabIndex={tabIndex}\n {...commonProps}\n {...props}\n {...accessibilityProps}\n />\n );\n};\n\nconst StyledBaseInput = assignWithoutSideEffects(React.forwardRef(_StyledBaseInput), {\n displayName: 'StyledBaseInput',\n});\n\nexport { StyledBaseInput };\n"],"names":["getWebInputStyles","props","_objectSpread","getBaseInputStyles","isDisabled","disabled","theme","validationState","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","isTextArea","hasTags","isDropdownTrigger","size","$size","valueComponentType","isTableInputCell","hasLeadingDropdown","outline","border","getTextStyles","variant","weight","color","cursor","StyledBaseNativeInput","styled","input","withConfig","displayName","componentId","StyledBaseNativeButton","button","autoCompleteSuggestionTypeMap","none","on","name","email","username","password","newPassword","oneTimeCode","telephone","postalCode","countryName","creditCardNumber","creditCardCSC","creditCardExpiry","creditCardExpiryMonth","creditCardExpiryYear","_StyledBaseInput","_ref","ref","isRequired","maxCharacters","handleOnFocus","handleOnChange","handleOnBlur","handleOnInput","handleOnKeyDown","handleOnClick","keyboardType","keyboardReturnKeyType","autoCompleteSuggestionType","accessibilityProps","setCurrentInteraction","numberOfLines","type","hasPopup","shouldIgnoreBlurAnimation","autoCapitalize","tabIndex","_objectWithoutProperties","_excluded","commonProps","onBlur","event","value","onFocus","onKeyDown","key","code","enterKeyHint","autoComplete","undefined","as","_jsx","onClick","stopPropagation","children","Text","truncateAfterLines","placeholder","required","maxLength","rows","inputMode","onChange","onInput","StyledBaseInput","assignWithoutSideEffects","React","forwardRef"],"mappings":"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"}
|
|
@@ -82,11 +82,12 @@ var getLeftPadding = function getLeftPadding(_ref3) {
|
|
|
82
82
|
isDropdownTrigger = _ref3.isDropdownTrigger,
|
|
83
83
|
hasLeadingIcon = _ref3.hasLeadingIcon,
|
|
84
84
|
hasPrefix = _ref3.hasPrefix,
|
|
85
|
-
size = _ref3.size
|
|
85
|
+
size = _ref3.size,
|
|
86
|
+
hasLeadingDropdown = _ref3.hasLeadingDropdown;
|
|
86
87
|
if (isDropdownTrigger) {
|
|
87
88
|
return theme.spacing[0];
|
|
88
89
|
}
|
|
89
|
-
if (hasLeadingIcon || hasPrefix) {
|
|
90
|
+
if (hasLeadingIcon || hasPrefix || hasLeadingDropdown) {
|
|
90
91
|
return theme.spacing[3];
|
|
91
92
|
}
|
|
92
93
|
return theme.spacing[baseInputPaddingTokens.left[size]];
|
|
@@ -116,7 +117,9 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
|
116
117
|
hasTags = _ref5.hasTags,
|
|
117
118
|
isDropdownTrigger = _ref5.isDropdownTrigger,
|
|
118
119
|
size = _ref5.size,
|
|
119
|
-
valueComponentType = _ref5.valueComponentType
|
|
120
|
+
valueComponentType = _ref5.valueComponentType,
|
|
121
|
+
_ref5$hasLeadingDropd = _ref5.hasLeadingDropdown,
|
|
122
|
+
hasLeadingDropdown = _ref5$hasLeadingDropd === void 0 ? false : _ref5$hasLeadingDropd;
|
|
120
123
|
var _getInputVisualsToBeR = getInputVisualsToBeRendered({
|
|
121
124
|
leadingIcon: leadingIcon,
|
|
122
125
|
prefix: prefix,
|
|
@@ -157,7 +160,8 @@ var getBaseInputStyles = function getBaseInputStyles(_ref5) {
|
|
|
157
160
|
isDropdownTrigger: isDropdownTrigger,
|
|
158
161
|
hasLeadingIcon: hasLeadingIcon,
|
|
159
162
|
hasPrefix: hasPrefix,
|
|
160
|
-
size: size
|
|
163
|
+
size: size,
|
|
164
|
+
hasLeadingDropdown: hasLeadingDropdown
|
|
161
165
|
})),
|
|
162
166
|
paddingRight: getRightPadding({
|
|
163
167
|
theme: theme,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputBorderlessBackgroundColor,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n isTableInputCell,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n | 'isTableInputCell'\n>): CSSObject => {\n // normal state\n const backgroundColorTokens = isTableInputCell\n ? baseInputBorderlessBackgroundColor\n : baseInputBackgroundColor;\n let backgroundColor = getIn(theme.colors, backgroundColorTokens.default);\n let borderColor = isTableInputCell\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n let zIndex: number | undefined;\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, backgroundColorTokens[baseInputState]);\n borderColor =\n isTableInputCell && baseInputState !== 'focused'\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (!isTableInputCell && validationState && validationState !== 'none') {\n borderColor = getIn(theme.colors, baseInputBorderColor[validationState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[validationState]);\n zIndex = 1; // Prevent validation ring clipping by adjacent inputs in InputGroup\n } else if (validationState && validationState !== 'none') {\n backgroundColor = getIn(theme.colors, baseInputBorderlessBackgroundColor[validationState]);\n }\n return {\n backgroundColor,\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger && !isTextArea ? 'auto' : undefined,\n border: 'none',\n zIndex,\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasTrailingInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const shouldHaveFlexibleHeight = isTextArea || isDropdownWithTags;\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: theme.colors.transparent,\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({ theme, isDropdownTrigger, hasLeadingIcon, hasPrefix, size }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","isTableInputCell","backgroundColorTokens","baseInputBorderlessBackgroundColor","baseInputBackgroundColor","backgroundColor","getIn","colors","borderColor","transparent","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","zIndex","baseInputState","_objectSpread","borderRadius","makeBorderSize","radius","none","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasTrailingInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","shouldHaveFlexibleHeight","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseInputStyles.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputStyles.ts"],"sourcesContent":["import type { CSSObject } from 'styled-components';\nimport type { BaseInputProps } from './BaseInput';\nimport { getBaseInputBorderStyles } from './getBaseInputBorderStyles';\nimport {\n baseInputBackgroundColor,\n baseInputBorderColor,\n baseInputBorderWidth,\n baseInputBorderlessBackgroundColor,\n baseInputHeight,\n baseInputPaddingTokens,\n baseInputWrapperMaxHeight,\n} from './baseInputTokens';\nimport { getInputVisualsToBeRendered } from './BaseInputVisuals';\nimport type { BaseInputWrapperProps } from './types';\nimport type { Theme } from '~components/BladeProvider';\nimport getTextStyles from '~components/Typography/Text/getTextStyles';\nimport { makeSpace } from '~utils/makeSpace';\nimport { makeBorderSize } from '~utils/makeBorderSize';\nimport { getPlatformType } from '~utils';\nimport getIn from '~utils/lodashButBetter/get';\nimport getHeadingStyles from '~components/Typography/Heading/getHeadingStyles';\n\ntype GetInputStyles = Pick<\n BaseInputProps,\n | 'isDisabled'\n | 'validationState'\n | 'leadingIcon'\n | 'prefix'\n | 'trailingInteractionElement'\n | 'leadingInteractionElement'\n | 'suffix'\n | 'trailingIcon'\n | 'textAlign'\n | 'isDropdownTrigger'\n | 'valueComponentType'\n> & {\n isHovered?: boolean;\n isFocused?: boolean;\n isTextArea?: boolean;\n hasTags?: boolean;\n theme: Theme;\n size: NonNullable<BaseInputProps['size']>;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n hasLeadingDropdown?: boolean;\n};\n\nexport const getBaseInputState = ({\n isFocused,\n isHovered,\n isDisabled,\n}: {\n isFocused?: boolean;\n isHovered?: boolean;\n isDisabled?: boolean;\n}): 'focused' | 'hovered' | 'disabled' | 'default' => {\n if (isDisabled) {\n return 'disabled';\n } else if (isFocused) {\n return 'focused';\n } else if (isHovered) {\n return 'hovered';\n } else {\n return 'default';\n }\n};\n\nexport const getInputBackgroundAndBorderStyles = ({\n theme,\n isHovered,\n isFocused,\n isDisabled,\n validationState,\n isTextArea,\n isDropdownTrigger,\n isTableInputCell,\n}: Pick<\n GetInputStyles,\n | 'theme'\n | 'isFocused'\n | 'isDisabled'\n | 'validationState'\n | 'isHovered'\n | 'isTextArea'\n | 'isDropdownTrigger'\n | 'isTableInputCell'\n>): CSSObject => {\n // normal state\n const backgroundColorTokens = isTableInputCell\n ? baseInputBorderlessBackgroundColor\n : baseInputBackgroundColor;\n let backgroundColor = getIn(theme.colors, backgroundColorTokens.default);\n let borderColor = isTableInputCell\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor.default);\n let borderWidth = getIn(theme.border.width, baseInputBorderWidth.default);\n let zIndex: number | undefined;\n\n const baseInputState = getBaseInputState({ isFocused, isHovered, isDisabled });\n\n backgroundColor = getIn(theme.colors, backgroundColorTokens[baseInputState]);\n borderColor =\n isTableInputCell && baseInputState !== 'focused'\n ? theme.colors.transparent\n : getIn(theme.colors, baseInputBorderColor[baseInputState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[baseInputState]);\n\n if (!isTableInputCell && validationState && validationState !== 'none') {\n borderColor = getIn(theme.colors, baseInputBorderColor[validationState]);\n borderWidth = getIn(theme.border.width, baseInputBorderWidth[validationState]);\n zIndex = 1; // Prevent validation ring clipping by adjacent inputs in InputGroup\n } else if (validationState && validationState !== 'none') {\n backgroundColor = getIn(theme.colors, baseInputBorderlessBackgroundColor[validationState]);\n }\n return {\n backgroundColor,\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n borderStyle: 'solid',\n display: 'flex',\n flexDirection: 'row',\n width: '100%',\n alignItems: isTextArea ? 'flex-start' : undefined,\n position: 'relative',\n height: isDropdownTrigger && !isTextArea ? 'auto' : undefined,\n border: 'none',\n zIndex,\n ...getBaseInputBorderStyles({ theme, borderColor, borderWidth, isFocused }),\n };\n};\n\nconst getLeftPadding = ({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n hasLeadingDropdown,\n}: {\n theme: Theme;\n hasLeadingIcon: boolean;\n hasPrefix: boolean;\n isDropdownTrigger: GetInputStyles['isDropdownTrigger'];\n size: GetInputStyles['size'];\n hasLeadingDropdown: boolean;\n}): number => {\n if (isDropdownTrigger) {\n return theme.spacing[0];\n }\n\n if (hasLeadingIcon || hasPrefix || hasLeadingDropdown) {\n return theme.spacing[3];\n }\n\n return theme.spacing[baseInputPaddingTokens.left[size]];\n};\n\nconst getRightPadding = ({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n}: {\n theme: Theme;\n hasTrailingInteractionElement: boolean;\n hasSuffix: boolean;\n hasTrailingIcon: boolean;\n size: GetInputStyles['size'];\n}): number => {\n if (hasTrailingInteractionElement || hasSuffix || hasTrailingIcon) {\n return theme.spacing[3];\n }\n return theme.spacing[baseInputPaddingTokens.right[size]];\n};\n\nexport const getBaseInputStyles = ({\n theme,\n isDisabled,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n textAlign,\n isTextArea,\n hasTags,\n isDropdownTrigger,\n size,\n valueComponentType,\n hasLeadingDropdown = false,\n}: GetInputStyles): CSSObject => {\n const {\n hasLeadingIcon,\n hasPrefix,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n } = getInputVisualsToBeRendered({\n leadingIcon,\n prefix,\n trailingInteractionElement,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n size,\n });\n\n const isDropdownWithTags = isDropdownTrigger && hasTags;\n const isReactNative = getPlatformType() === 'react-native';\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n const shouldHaveFlexibleHeight = isTextArea || isDropdownWithTags;\n\n return {\n ...(valueComponentType === 'heading'\n ? getHeadingStyles({\n size,\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })\n : getTextStyles({\n size,\n variant: 'body',\n weight: 'regular',\n color: isDisabled ? 'surface.text.gray.disabled' : 'surface.text.gray.subtle',\n theme,\n })),\n\n // take the full available width of parent container for input field\n flex: 1,\n backgroundColor: theme.colors.transparent,\n\n paddingTop: makeSpace(theme.spacing[baseInputPaddingTokens.top[size]]),\n paddingBottom: makeSpace(theme.spacing[baseInputPaddingTokens.bottom[size]]),\n paddingLeft: makeSpace(\n getLeftPadding({\n theme,\n isDropdownTrigger,\n hasLeadingIcon,\n hasPrefix,\n size,\n hasLeadingDropdown,\n }),\n ),\n paddingRight: getRightPadding({\n theme,\n hasTrailingInteractionElement,\n hasSuffix,\n hasTrailingIcon,\n size,\n }),\n\n textAlign,\n width: '100%',\n height: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n minHeight: shouldHaveFlexibleHeight ? undefined : makeSpace(baseInputHeight[size]),\n ...(isReactNative ? {} : { resize: 'none' }),\n };\n};\n\nexport const getAnimatedBaseInputWrapperMaxHeight = ({\n maxTagRows,\n showAllTags,\n size,\n}: Pick<BaseInputWrapperProps, 'maxTagRows' | 'showAllTags' | 'size'>): number => {\n if (maxTagRows === 'single') {\n return baseInputHeight[size];\n }\n\n if (maxTagRows === 'multiple') {\n return baseInputWrapperMaxHeight[size];\n }\n\n // In expandable, max-height depends on the state\n return showAllTags ? baseInputWrapperMaxHeight[size] : baseInputHeight[size];\n};\n"],"names":["getBaseInputState","_ref","isFocused","isHovered","isDisabled","getInputBackgroundAndBorderStyles","_ref2","theme","validationState","isTextArea","isDropdownTrigger","isTableInputCell","backgroundColorTokens","baseInputBorderlessBackgroundColor","baseInputBackgroundColor","backgroundColor","getIn","colors","borderColor","transparent","baseInputBorderColor","borderWidth","border","width","baseInputBorderWidth","zIndex","baseInputState","_objectSpread","borderRadius","makeBorderSize","radius","none","medium","borderStyle","display","flexDirection","alignItems","undefined","position","height","getBaseInputBorderStyles","getLeftPadding","_ref3","hasLeadingIcon","hasPrefix","size","hasLeadingDropdown","spacing","baseInputPaddingTokens","left","getRightPadding","_ref4","hasTrailingInteractionElement","hasSuffix","hasTrailingIcon","right","getBaseInputStyles","_ref5","leadingIcon","prefix","trailingInteractionElement","leadingInteractionElement","suffix","trailingIcon","textAlign","hasTags","valueComponentType","_ref5$hasLeadingDropd","_getInputVisualsToBeR","getInputVisualsToBeRendered","isDropdownWithTags","isReactNative","getPlatformType","shouldHaveFlexibleHeight","getHeadingStyles","weight","color","getTextStyles","variant","flex","paddingTop","makeSpace","top","paddingBottom","bottom","paddingLeft","paddingRight","baseInputHeight","minHeight","resize","getAnimatedBaseInputWrapperMaxHeight","_ref6","maxTagRows","showAllTags","baseInputWrapperMaxHeight"],"mappings":"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"}
|
|
@@ -35,7 +35,7 @@ var baseInputBackgroundColor = {
|
|
|
35
35
|
"default": 'surface.background.gray.intense',
|
|
36
36
|
hovered: 'surface.background.gray.moderate',
|
|
37
37
|
focused: 'surface.background.gray.moderate',
|
|
38
|
-
disabled: 'surface.background.gray.
|
|
38
|
+
disabled: 'surface.background.gray.subtle',
|
|
39
39
|
error: 'surface.background.gray.intense',
|
|
40
40
|
success: 'surface.background.gray.intense'
|
|
41
41
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseInputTokens.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputTokens.ts"],"sourcesContent":["import type { BaseInputProps } from './BaseInput';\nimport { size, spacing } from '~tokens/global';\n\nexport const BASEINPUT_MAX_ROWS = 4;\n\nexport const TAG_HEIGHT = size['20'];\nexport const TAG_GAP = spacing['3'];\n\n/**\n * 36px\n */\nexport const baseInputHeight: Record<\n NonNullable<BaseInputProps['size']>,\n typeof size[keyof typeof size]\n> = {\n medium: size['36'],\n large: size['48'],\n};\n\n/**\n * medium - 144px (36px height * 4 rows)\n * large - 192px (48px height * 4 rows)\n */\n// we don't want exact number but rough number to be able to animate correctly in height.\nexport const baseInputWrapperMaxHeight = {\n medium: baseInputHeight.medium * BASEINPUT_MAX_ROWS,\n large: baseInputHeight.large * BASEINPUT_MAX_ROWS,\n} as const;\n\nexport const baseInputBorderColor = {\n default: 'interactive.border.gray.default',\n hovered: 'interactive.border.gray.highlighted',\n focused: 'interactive.border.primary.default',\n disabled: 'interactive.border.gray.disabled',\n error: 'interactive.border.negative.default',\n success: 'interactive.border.positive.default',\n} as const;\n\nexport const baseInputBackgroundColor = {\n default: 'surface.background.gray.intense',\n hovered: 'surface.background.gray.moderate',\n focused: 'surface.background.gray.moderate',\n disabled: 'surface.background.gray.
|
|
1
|
+
{"version":3,"file":"baseInputTokens.js","sources":["../../../../../../../src/components/Input/BaseInput/baseInputTokens.ts"],"sourcesContent":["import type { BaseInputProps } from './BaseInput';\nimport { size, spacing } from '~tokens/global';\n\nexport const BASEINPUT_MAX_ROWS = 4;\n\nexport const TAG_HEIGHT = size['20'];\nexport const TAG_GAP = spacing['3'];\n\n/**\n * 36px\n */\nexport const baseInputHeight: Record<\n NonNullable<BaseInputProps['size']>,\n typeof size[keyof typeof size]\n> = {\n medium: size['36'],\n large: size['48'],\n};\n\n/**\n * medium - 144px (36px height * 4 rows)\n * large - 192px (48px height * 4 rows)\n */\n// we don't want exact number but rough number to be able to animate correctly in height.\nexport const baseInputWrapperMaxHeight = {\n medium: baseInputHeight.medium * BASEINPUT_MAX_ROWS,\n large: baseInputHeight.large * BASEINPUT_MAX_ROWS,\n} as const;\n\nexport const baseInputBorderColor = {\n default: 'interactive.border.gray.default',\n hovered: 'interactive.border.gray.highlighted',\n focused: 'interactive.border.primary.default',\n disabled: 'interactive.border.gray.disabled',\n error: 'interactive.border.negative.default',\n success: 'interactive.border.positive.default',\n} as const;\n\nexport const baseInputBackgroundColor = {\n default: 'surface.background.gray.intense',\n hovered: 'surface.background.gray.moderate',\n focused: 'surface.background.gray.moderate',\n disabled: 'surface.background.gray.subtle',\n error: 'surface.background.gray.intense',\n success: 'surface.background.gray.intense',\n} as const;\n\nexport const baseInputBorderlessBackgroundColor = {\n default: 'transparent',\n hovered: 'surface.background.gray.moderate',\n focused: 'surface.background.gray.moderate',\n disabled: 'surface.background.gray.intense',\n error: 'feedback.background.negative.subtle',\n success: 'feedback.background.positive.subtle',\n} as const;\n\nexport const baseInputBorderWidth = {\n default: 'thin',\n hovered: 'thin',\n disabled: 'thin',\n focused: 'thick',\n error: 'thick',\n success: 'thick',\n} as const;\n\nexport const baseInputBorderBackgroundMotion = {\n enter: { duration: 'xgentle', easing: 'emphasized' },\n exit: { duration: 'gentle', easing: 'standard' },\n} as const;\n\nexport const baseInputPaddingTokens = {\n top: {\n medium: 3,\n large: 4,\n },\n bottom: {\n medium: 3,\n large: 4,\n },\n left: {\n medium: 4,\n large: 4,\n },\n right: {\n medium: 4,\n large: 4,\n },\n} as const;\n\n/* the magic number 192 is basically max-width of label \ni.e 176 and then right margin \ni.e 16 which is the spacing between label and input field */\nexport const formHintLeftLabelMarginLeft = {\n medium: 136,\n large: 192,\n} as const;\n"],"names":["BASEINPUT_MAX_ROWS","TAG_HEIGHT","size","TAG_GAP","spacing","baseInputHeight","medium","large","baseInputWrapperMaxHeight","baseInputBorderColor","hovered","focused","disabled","error","success","baseInputBackgroundColor","baseInputBorderlessBackgroundColor","baseInputBorderWidth","baseInputBorderBackgroundMotion","enter","duration","easing","exit","baseInputPaddingTokens","top","bottom","left","right","formHintLeftLabelMarginLeft"],"mappings":";;;;AAGO,IAAMA,kBAAkB,GAAG,EAAC;IAEtBC,UAAU,GAAGC,IAAI,CAAC,IAAI,EAAC;IACvBC,OAAO,GAAGC,OAAO,CAAC,GAAG,EAAC;;AAEnC;AACA;AACA;AACO,IAAMC,eAGZ,GAAG;AACFC,EAAAA,MAAM,EAAEJ,IAAI,CAAC,IAAI,CAAC;EAClBK,KAAK,EAAEL,IAAI,CAAC,IAAI,CAAA;AAClB,EAAC;;AAED;AACA;AACA;AACA;AACA;AACO,IAAMM,yBAAyB,GAAG;AACvCF,EAAAA,MAAM,EAAED,eAAe,CAACC,MAAM,GAAGN,kBAAkB;AACnDO,EAAAA,KAAK,EAAEF,eAAe,CAACE,KAAK,GAAGP,kBAAAA;AACjC,EAAU;AAEH,IAAMS,oBAAoB,GAAG;AAClC,EAAA,SAAA,EAAS,iCAAiC;AAC1CC,EAAAA,OAAO,EAAE,qCAAqC;AAC9CC,EAAAA,OAAO,EAAE,oCAAoC;AAC7CC,EAAAA,QAAQ,EAAE,kCAAkC;AAC5CC,EAAAA,KAAK,EAAE,qCAAqC;AAC5CC,EAAAA,OAAO,EAAE,qCAAA;AACX,EAAU;AAEH,IAAMC,wBAAwB,GAAG;AACtC,EAAA,SAAA,EAAS,iCAAiC;AAC1CL,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,QAAQ,EAAE,gCAAgC;AAC1CC,EAAAA,KAAK,EAAE,iCAAiC;AACxCC,EAAAA,OAAO,EAAE,iCAAA;AACX,EAAU;AAEH,IAAME,kCAAkC,GAAG;AAChD,EAAA,SAAA,EAAS,aAAa;AACtBN,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,OAAO,EAAE,kCAAkC;AAC3CC,EAAAA,QAAQ,EAAE,iCAAiC;AAC3CC,EAAAA,KAAK,EAAE,qCAAqC;AAC5CC,EAAAA,OAAO,EAAE,qCAAA;AACX,EAAU;AAEH,IAAMG,oBAAoB,GAAG;AAClC,EAAA,SAAA,EAAS,MAAM;AACfP,EAAAA,OAAO,EAAE,MAAM;AACfE,EAAAA,QAAQ,EAAE,MAAM;AAChBD,EAAAA,OAAO,EAAE,OAAO;AAChBE,EAAAA,KAAK,EAAE,OAAO;AACdC,EAAAA,OAAO,EAAE,OAAA;AACX,EAAU;AAEH,IAAMI,+BAA+B,GAAG;AAC7CC,EAAAA,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE,SAAS;AAAEC,IAAAA,MAAM,EAAE,YAAA;GAAc;AACpDC,EAAAA,IAAI,EAAE;AAAEF,IAAAA,QAAQ,EAAE,QAAQ;AAAEC,IAAAA,MAAM,EAAE,UAAA;AAAW,GAAA;AACjD,EAAU;AAEH,IAAME,sBAAsB,GAAG;AACpCC,EAAAA,GAAG,EAAE;AACHlB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDkB,EAAAA,MAAM,EAAE;AACNnB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDmB,EAAAA,IAAI,EAAE;AACJpB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;GACR;AACDoB,EAAAA,KAAK,EAAE;AACLrB,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,KAAK,EAAE,CAAA;AACT,GAAA;AACF,EAAU;;AAEV;AACA;AACA;AACO,IAAMqB,2BAA2B,GAAG;AACzCtB,EAAAA,MAAM,EAAE,GAAG;AACXC,EAAAA,KAAK,EAAE,GAAA;AACT;;;;"}
|
package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js
CHANGED
|
@@ -2,22 +2,19 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import React__default from 'react';
|
|
3
3
|
import '../BaseInput/index.js';
|
|
4
4
|
import { InputChevronIcon } from './InputChevronIcon.web.js';
|
|
5
|
-
import isEmpty from '../../../utils/lodashButBetter/isEmpty.js';
|
|
6
5
|
import { useDropdown } from '../../Dropdown/useDropdown.js';
|
|
7
6
|
import '../../../utils/index.js';
|
|
8
7
|
import { getActionListContainerRole } from '../../ActionList/getA11yRoles.js';
|
|
9
8
|
import '../../../utils/metaAttribute/index.js';
|
|
10
9
|
import { getTagsGroup } from '../../Tag/getTagsGroup.js';
|
|
11
|
-
import { useFirstRender } from '../../../utils/useFirstRender.js';
|
|
12
10
|
import { useTableContext } from '../../Table/TableContext.js';
|
|
13
11
|
import { rowDensityToIsTableInputCellMapping, tableEditableCellRowDensityToInputSizeMap, validationStateToInputTrailingIconMap } from '../../Table/tokens.js';
|
|
14
12
|
import { useTableEditableCell } from '../../Table/TableEditableCellContext.js';
|
|
15
13
|
import '../../../utils/makeAnalyticsAttribute/index.js';
|
|
16
|
-
import '../../../utils/fireNativeEvent/index.js';
|
|
17
14
|
import { dropdownComponentIds } from '../../Dropdown/dropdownComponentIds.js';
|
|
15
|
+
import '../../../utils/useControlledDropdownInput/index.js';
|
|
18
16
|
import { jsx } from 'react/jsx-runtime';
|
|
19
|
-
import {
|
|
20
|
-
import { fireNativeEvent } from '../../../utils/fireNativeEvent/fireNativeEvent.web.js';
|
|
17
|
+
import { useControlledDropdownInput } from '../../../utils/useControlledDropdownInput/useControlledDropdownInput.js';
|
|
21
18
|
import { isReactNative } from '../../../utils/platform/isReactNative.js';
|
|
22
19
|
import { BaseInput } from '../BaseInput/BaseInput.js';
|
|
23
20
|
import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
|
|
@@ -25,127 +22,31 @@ import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/ma
|
|
|
25
22
|
|
|
26
23
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
27
24
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
28
|
-
var useControlledDropdownInput = function useControlledDropdownInput(props) {
|
|
29
|
-
var isFirstRender = useFirstRender();
|
|
30
|
-
var _useDropdown = useDropdown(),
|
|
31
|
-
changeCallbackTriggerer = _useDropdown.changeCallbackTriggerer,
|
|
32
|
-
isControlled = _useDropdown.isControlled,
|
|
33
|
-
options = _useDropdown.options,
|
|
34
|
-
selectedIndices = _useDropdown.selectedIndices,
|
|
35
|
-
controlledValueIndices = _useDropdown.controlledValueIndices,
|
|
36
|
-
setSelectedIndices = _useDropdown.setSelectedIndices,
|
|
37
|
-
selectionType = _useDropdown.selectionType,
|
|
38
|
-
setIsControlled = _useDropdown.setIsControlled;
|
|
39
|
-
var getValuesArrayFromIndices = function getValuesArrayFromIndices() {
|
|
40
|
-
var indices = [];
|
|
41
|
-
if (isControlled) {
|
|
42
|
-
indices = controlledValueIndices;
|
|
43
|
-
} else {
|
|
44
|
-
indices = selectedIndices;
|
|
45
|
-
}
|
|
46
|
-
return indices.map(function (selectionIndex) {
|
|
47
|
-
return options[selectionIndex].value;
|
|
48
|
-
});
|
|
49
|
-
};
|
|
50
|
-
var selectValues = function selectValues(valuesToSelect) {
|
|
51
|
-
if (options.length > 0) {
|
|
52
|
-
// we use empty `''` for clearing the input
|
|
53
|
-
if (isEmpty(valuesToSelect)) {
|
|
54
|
-
setSelectedIndices([]);
|
|
55
|
-
} else if (typeof valuesToSelect === 'string') {
|
|
56
|
-
// single select control
|
|
57
|
-
var selectedItemIndex = options.findIndex(function (option) {
|
|
58
|
-
return option.value === valuesToSelect;
|
|
59
|
-
});
|
|
60
|
-
if (selectedItemIndex >= 0) {
|
|
61
|
-
setSelectedIndices([selectedItemIndex]);
|
|
62
|
-
}
|
|
63
|
-
} else {
|
|
64
|
-
// multiselect control
|
|
65
|
-
|
|
66
|
-
// Handles repeated values in user state
|
|
67
|
-
var uniqueValues = Array.from(new Set(valuesToSelect));
|
|
68
|
-
// Handle selectionType single with multiselect values
|
|
69
|
-
var userValues = selectionType === 'single' ? [valuesToSelect === null || valuesToSelect === void 0 ? void 0 : valuesToSelect[0]] : uniqueValues;
|
|
70
|
-
var selectedItemIndices = userValues.map(function (optionValue) {
|
|
71
|
-
return options.findIndex(function (option) {
|
|
72
|
-
return option.value === optionValue;
|
|
73
|
-
});
|
|
74
|
-
}).filter(function (value) {
|
|
75
|
-
return value >= 0;
|
|
76
|
-
});
|
|
77
|
-
setSelectedIndices(selectedItemIndices);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
|
|
82
|
-
// Handles `defaultValue` prop
|
|
83
|
-
React__default.useEffect(function () {
|
|
84
|
-
if (options.length > 0 && props.defaultValue) {
|
|
85
|
-
selectValues(props.defaultValue);
|
|
86
|
-
}
|
|
87
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
88
|
-
}, [options.length]);
|
|
89
|
-
|
|
90
|
-
// Handles `value` prop
|
|
91
|
-
React__default.useEffect(function () {
|
|
92
|
-
if (options.length > 0 && props.value !== undefined) {
|
|
93
|
-
if (!isControlled) {
|
|
94
|
-
setIsControlled(true);
|
|
95
|
-
}
|
|
96
|
-
selectValues(props.value);
|
|
97
|
-
|
|
98
|
-
// in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.
|
|
99
|
-
if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {
|
|
100
|
-
var _props$syncInputValue;
|
|
101
|
-
(_props$syncInputValue = props.syncInputValueWithSelection) === null || _props$syncInputValue === void 0 ? void 0 : _props$syncInputValue.call(props, props.value);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
105
|
-
}, [props.value, options]);
|
|
106
|
-
|
|
107
|
-
// onChange behaviour
|
|
108
|
-
React__default.useEffect(function () {
|
|
109
|
-
// Ignore calling onChange on mount
|
|
110
|
-
|
|
111
|
-
if (!isFirstRender) {
|
|
112
|
-
var _props$onChange;
|
|
113
|
-
(_props$onChange = props.onChange) === null || _props$onChange === void 0 ? void 0 : _props$onChange.call(props, {
|
|
114
|
-
name: props.name,
|
|
115
|
-
values: getValuesArrayFromIndices()
|
|
116
|
-
});
|
|
117
|
-
if (isBrowser()) {
|
|
118
|
-
fireNativeEvent(props.triggererRef, ['change', 'input']);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
122
|
-
}, [changeCallbackTriggerer]);
|
|
123
|
-
};
|
|
124
25
|
var _BaseDropdownInputTrigger = function _BaseDropdownInputTrigger(props, ref) {
|
|
125
26
|
var _props$placeholder, _props$validationStat, _props$maxRows, _props$label;
|
|
126
|
-
var
|
|
127
|
-
isOpen =
|
|
128
|
-
activeTagIndex =
|
|
129
|
-
setActiveTagIndex =
|
|
130
|
-
displayValue =
|
|
131
|
-
selectionType =
|
|
132
|
-
dropdownTriggerer =
|
|
133
|
-
dropdownBaseId =
|
|
134
|
-
selectedIndices =
|
|
135
|
-
triggererRef =
|
|
136
|
-
headerAutoCompleteRef =
|
|
137
|
-
triggererWrapperRef =
|
|
138
|
-
isTagDismissedRef =
|
|
139
|
-
onTriggerClick =
|
|
140
|
-
value =
|
|
141
|
-
shouldIgnoreBlurAnimation =
|
|
142
|
-
setShouldIgnoreBlurAnimation =
|
|
143
|
-
activeIndex =
|
|
144
|
-
hasFooterAction =
|
|
145
|
-
options =
|
|
146
|
-
removeOption =
|
|
147
|
-
setChangeCallbackTriggerer =
|
|
148
|
-
changeCallbackTriggerer =
|
|
27
|
+
var _useDropdown = useDropdown(),
|
|
28
|
+
isOpen = _useDropdown.isOpen,
|
|
29
|
+
activeTagIndex = _useDropdown.activeTagIndex,
|
|
30
|
+
setActiveTagIndex = _useDropdown.setActiveTagIndex,
|
|
31
|
+
displayValue = _useDropdown.displayValue,
|
|
32
|
+
selectionType = _useDropdown.selectionType,
|
|
33
|
+
dropdownTriggerer = _useDropdown.dropdownTriggerer,
|
|
34
|
+
dropdownBaseId = _useDropdown.dropdownBaseId,
|
|
35
|
+
selectedIndices = _useDropdown.selectedIndices,
|
|
36
|
+
triggererRef = _useDropdown.triggererRef,
|
|
37
|
+
headerAutoCompleteRef = _useDropdown.headerAutoCompleteRef,
|
|
38
|
+
triggererWrapperRef = _useDropdown.triggererWrapperRef,
|
|
39
|
+
isTagDismissedRef = _useDropdown.isTagDismissedRef,
|
|
40
|
+
onTriggerClick = _useDropdown.onTriggerClick,
|
|
41
|
+
value = _useDropdown.value,
|
|
42
|
+
shouldIgnoreBlurAnimation = _useDropdown.shouldIgnoreBlurAnimation,
|
|
43
|
+
setShouldIgnoreBlurAnimation = _useDropdown.setShouldIgnoreBlurAnimation,
|
|
44
|
+
activeIndex = _useDropdown.activeIndex,
|
|
45
|
+
hasFooterAction = _useDropdown.hasFooterAction,
|
|
46
|
+
options = _useDropdown.options,
|
|
47
|
+
removeOption = _useDropdown.removeOption,
|
|
48
|
+
setChangeCallbackTriggerer = _useDropdown.setChangeCallbackTriggerer,
|
|
49
|
+
changeCallbackTriggerer = _useDropdown.changeCallbackTriggerer;
|
|
149
50
|
var _useTableContext = useTableContext(),
|
|
150
51
|
rowDensity = _useTableContext.rowDensity;
|
|
151
52
|
var _useTableEditableCell = useTableEditableCell(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps, useControlledDropdownInputProps } from './types';\nimport isEmpty from '~utils/lodashButBetter/isEmpty';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative, isBrowser } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useFirstRender } from '~utils/useFirstRender';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { fireNativeEvent } from '~utils/fireNativeEvent';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\n\nconst useControlledDropdownInput = (props: useControlledDropdownInputProps): void => {\n const isFirstRender = useFirstRender();\n const {\n changeCallbackTriggerer,\n isControlled,\n options,\n selectedIndices,\n controlledValueIndices,\n setSelectedIndices,\n selectionType,\n setIsControlled,\n } = useDropdown();\n\n const getValuesArrayFromIndices = (): string[] => {\n let indices: number[] = [];\n if (isControlled) {\n indices = controlledValueIndices;\n } else {\n indices = selectedIndices;\n }\n\n return indices.map((selectionIndex) => options[selectionIndex].value);\n };\n\n const selectValues = (valuesToSelect: string | string[]): void => {\n if (options.length > 0) {\n // we use empty `''` for clearing the input\n if (isEmpty(valuesToSelect)) {\n setSelectedIndices([]);\n } else if (typeof valuesToSelect === 'string') {\n // single select control\n const selectedItemIndex = options.findIndex((option) => option.value === valuesToSelect);\n if (selectedItemIndex >= 0) {\n setSelectedIndices([selectedItemIndex]);\n }\n } else {\n // multiselect control\n\n // Handles repeated values in user state\n const uniqueValues = Array.from(new Set(valuesToSelect));\n // Handle selectionType single with multiselect values\n const userValues = selectionType === 'single' ? [valuesToSelect?.[0]] : uniqueValues;\n\n const selectedItemIndices = userValues\n .map((optionValue) => options.findIndex((option) => option.value === optionValue))\n .filter((value) => value >= 0);\n\n setSelectedIndices(selectedItemIndices);\n }\n }\n };\n\n // Handles `defaultValue` prop\n React.useEffect(() => {\n if (options.length > 0 && props.defaultValue) {\n selectValues(props.defaultValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [options.length]);\n\n // Handles `value` prop\n React.useEffect(() => {\n if (options.length > 0 && props.value !== undefined) {\n if (!isControlled) {\n setIsControlled(true);\n }\n\n selectValues(props.value);\n\n // in single select AutoComplete, we have to set inputValue of autocomplete according to the new selection.\n if (selectionType === 'single' && !Array.isArray(props.value) && !props.isSelectInput) {\n props.syncInputValueWithSelection?.(props.value);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.value, options]);\n\n // onChange behaviour\n React.useEffect(() => {\n // Ignore calling onChange on mount\n\n if (!isFirstRender) {\n props.onChange?.({\n name: props.name,\n values: getValuesArrayFromIndices(),\n });\n if (isBrowser()) {\n fireNativeEvent(props.triggererRef, ['change', 'input']);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changeCallbackTriggerer]);\n};\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader =\n !props.isSelectInput && dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (isAutoCompleteInHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [isAutoCompleteInHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n triggererRef,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (isReactNative()\n ? null\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n if (isAutoCompleteInHeader) {\n headerAutoCompleteRef.current = node;\n } else {\n triggererRef.current = node;\n }\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n // when autocomplete is in header, its not a trigger but a component inside of DropdownOverlay\n if (!isAutoCompleteInHeader) {\n triggererWrapperRef.current = wrapperNode;\n }\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n role={isAutoCompleteInHeader ? 'searchbox' : 'combobox'}\n hasPopup={\n isAutoCompleteInHeader\n ? false\n : getActionListContainerRole(hasFooterAction, dropdownTriggerer)\n }\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={isAutoCompleteInHeader ? undefined : `${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n {...makeAnalyticsAttribute(props)}\n onTrailingInteractionElementClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? null : (\n <InputChevronIcon isDisabled={props.isDisabled} isOpen={isOpen} />\n )\n }\n {...(isInsideTableEditableCell ? tableInputProps : undefined)}\n // When AutoComplete is present inside DropdownOverlay, the floating ui adds tabIndex -1 internally. We override it with tabIndex 0 here\n tabIndex={isAutoCompleteInHeader ? 0 : undefined}\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["useControlledDropdownInput","props","isFirstRender","useFirstRender","_useDropdown","useDropdown","changeCallbackTriggerer","isControlled","options","selectedIndices","controlledValueIndices","setSelectedIndices","selectionType","setIsControlled","getValuesArrayFromIndices","indices","map","selectionIndex","value","selectValues","valuesToSelect","length","isEmpty","selectedItemIndex","findIndex","option","uniqueValues","Array","from","Set","userValues","selectedItemIndices","optionValue","filter","React","useEffect","defaultValue","undefined","isArray","isSelectInput","_props$syncInputValue","syncInputValueWithSelection","call","_props$onChange","onChange","name","values","isBrowser","fireNativeEvent","triggererRef","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","headerAutoCompleteRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","dropdownComponentIds","triggers","AutoComplete","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","concat","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","_objectSpread","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","testID","labelId","role","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","makeAnalyticsAttribute","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","tabIndex","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseDropdownInputTrigger.js","sources":["../../../../../../../src/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.tsx"],"sourcesContent":["import React from 'react';\nimport { BaseInput } from '../BaseInput';\nimport type { BaseInputProps } from '../BaseInput';\nimport { InputChevronIcon } from './InputChevronIcon';\nimport type { BaseDropdownInputTriggerProps } from './types';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport { isReactNative } from '~utils';\nimport { getActionListContainerRole } from '~components/ActionList/getA11yRoles';\nimport { MetaConstants } from '~utils/metaAttribute';\nimport { getTagsGroup } from '~components/Tag/getTagsGroup';\nimport type { BladeElementRef } from '~utils/types';\nimport { useTableContext } from '~components/Table/TableContext';\nimport {\n rowDensityToIsTableInputCellMapping,\n tableEditableCellRowDensityToInputSizeMap,\n validationStateToInputTrailingIconMap,\n} from '~components/Table/tokens';\nimport { useTableEditableCell } from '~components/Table/TableEditableCellContext';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { useControlledDropdownInput } from '~utils/useControlledDropdownInput';\n\nconst _BaseDropdownInputTrigger = (\n props: BaseDropdownInputTriggerProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const {\n isOpen,\n activeTagIndex,\n setActiveTagIndex,\n displayValue,\n selectionType,\n dropdownTriggerer,\n dropdownBaseId,\n selectedIndices,\n triggererRef,\n headerAutoCompleteRef,\n triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n options,\n removeOption,\n setChangeCallbackTriggerer,\n changeCallbackTriggerer,\n } = useDropdown();\n const { rowDensity } = useTableContext();\n const { isInsideTableEditableCell } = useTableEditableCell();\n\n const dropdownTriggerPlaceholder = props.placeholder ?? 'Select Option';\n const isAutoCompleteInHeader =\n !props.isSelectInput && dropdownTriggerer !== dropdownComponentIds.triggers.AutoComplete;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (isAutoCompleteInHeader) {\n // When AutoComplete is in bottomsheet header, we never want to show all tags in outer select input\n if (props.isSelectInput) {\n return false;\n }\n\n // ... And we always want to show all tags in inner AutoComplete\n return true;\n }\n\n return isOpen;\n }, [isAutoCompleteInHeader, props.isSelectInput, isOpen]);\n\n useControlledDropdownInput({\n onChange: props.onChange,\n name: props.name,\n value: props.value,\n defaultValue: props.defaultValue,\n syncInputValueWithSelection: props.syncInputValueWithSelection,\n isSelectInput: props.isSelectInput,\n triggererRef,\n });\n\n const getValue = (): string | undefined => {\n let prefix = '';\n if (props.labelPosition === 'inside-input' && props.label) {\n prefix = `${props.label}: `;\n }\n\n if (props.isSelectInput) {\n if (selectionType === 'single') {\n return `${prefix}${displayValue}`;\n }\n\n // In multiselect, we return tags so no display value is required\n return undefined;\n }\n\n // In AutoComplete, input has a special value too\n return props.inputValue;\n };\n\n const getTags = React.useMemo(\n () => ({ size }: { size: NonNullable<BaseInputProps['size']> }) => {\n if (selectionType === 'single') {\n return undefined;\n }\n\n return getTagsGroup({\n size,\n tags: selectedIndices.map((selectedIndex) => options[selectedIndex]?.title),\n activeTagIndex,\n isDisabled: props.isDisabled,\n onDismiss: ({ tagIndex }) => {\n if (isTagDismissedRef.current) {\n isTagDismissedRef.current.value = true;\n }\n\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n\n removeOption(selectedIndices[tagIndex]);\n setChangeCallbackTriggerer(Number(changeCallbackTriggerer) + 1);\n },\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedIndices, selectionType, activeTagIndex, changeCallbackTriggerer, options],\n );\n\n const tableInputProps: Partial<BaseInputProps> = {\n isTableInputCell: rowDensityToIsTableInputCellMapping[rowDensity],\n id: 'table-editable-cell-input',\n size: tableEditableCellRowDensityToInputSizeMap[rowDensity],\n trailingIcon: validationStateToInputTrailingIconMap[props.validationState ?? 'none'],\n showHintsAsTooltip: true,\n };\n\n const isValidationStateNone =\n props.validationState === 'none' || props.validationState === undefined;\n\n return (\n <BaseInput\n as={props.isSelectInput ? 'button' : 'input'}\n ref={\n (isReactNative()\n ? null\n : // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n if (isAutoCompleteInHeader) {\n headerAutoCompleteRef.current = node;\n } else {\n triggererRef.current = node;\n }\n\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n // when autocomplete is in header, its not a trigger but a component inside of DropdownOverlay\n if (!isAutoCompleteInHeader) {\n triggererWrapperRef.current = wrapperNode;\n }\n }}\n maxTagRows={props.maxRows ?? 'single'}\n tags={getTags({ size: props.size || 'medium' })}\n showAllTags={getShowAllTags()}\n activeTagIndex={activeTagIndex}\n setActiveTagIndex={setActiveTagIndex}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n textAlign=\"left\"\n // Form Props\n label={props.label as string}\n placeholder={\n selectionType === 'multiple' && selectedIndices.length > 0\n ? undefined\n : dropdownTriggerPlaceholder\n }\n hideLabelText={props.label?.length === 0}\n accessibilityLabel={props.accessibilityLabel}\n labelPosition={props.labelPosition === 'inside-input' ? undefined : props.labelPosition}\n isLabelInsideInput={props.labelPosition === 'inside-input'}\n necessityIndicator={props.necessityIndicator}\n autoCompleteSuggestionType=\"none\"\n validationState={props.validationState}\n helpText={props.helpText}\n errorText={props.errorText}\n successText={props.successText}\n name={props.name}\n isDisabled={props.isDisabled}\n isRequired={props.isRequired}\n prefix={props.prefix}\n suffix={props.suffix}\n autoFocus={props.autoFocus} // eslint-disable-line jsx-a11y/no-autofocus\n value={getValue()}\n onClick={(e) => {\n if (props.isDisabled) {\n return;\n }\n props.onTriggerClick?.(e);\n }}\n onFocus={props.onFocus}\n onBlur={({ name }) => {\n props.onBlur?.({ name, value });\n }}\n leadingIcon={props.icon}\n // Meta Props\n componentName={props.isSelectInput ? MetaConstants.SelectInput : MetaConstants.AutoComplete}\n testID={props.testID}\n // a11y Props\n id={`${dropdownBaseId}-trigger`}\n labelId={`${dropdownBaseId}-label`}\n role={isAutoCompleteInHeader ? 'searchbox' : 'combobox'}\n hasPopup={\n isAutoCompleteInHeader\n ? false\n : getActionListContainerRole(hasFooterAction, dropdownTriggerer)\n }\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={isAutoCompleteInHeader ? undefined : `${dropdownBaseId}-actionlist`}\n // Special Props for Unique behaviour between Select and AutoComplete\n onChange={props.isSelectInput ? undefined : props.onInputValueChange}\n onKeyDown={props.onTriggerKeydown}\n size={props.size}\n {...makeAnalyticsAttribute(props)}\n onTrailingInteractionElementClick={() => {\n if (!props.isDisabled) {\n // Icon onClicks to the SelectInput itself\n if (!isReactNative()) {\n triggererRef.current?.focus();\n }\n onTriggerClick();\n }\n }}\n trailingInteractionElement={\n isAutoCompleteInHeader || (isInsideTableEditableCell && !isValidationStateNone) ? null : (\n <InputChevronIcon isDisabled={props.isDisabled} isOpen={isOpen} />\n )\n }\n {...(isInsideTableEditableCell ? tableInputProps : undefined)}\n // When AutoComplete is present inside DropdownOverlay, the floating ui adds tabIndex -1 internally. We override it with tabIndex 0 here\n tabIndex={isAutoCompleteInHeader ? 0 : undefined}\n />\n );\n};\n\nconst BaseDropdownInputTrigger = React.forwardRef(_BaseDropdownInputTrigger);\n\nexport { BaseDropdownInputTrigger };\n"],"names":["_BaseDropdownInputTrigger","props","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown","useDropdown","isOpen","activeTagIndex","setActiveTagIndex","displayValue","selectionType","dropdownTriggerer","dropdownBaseId","selectedIndices","triggererRef","headerAutoCompleteRef","triggererWrapperRef","isTagDismissedRef","onTriggerClick","value","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","options","removeOption","setChangeCallbackTriggerer","changeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","isSelectInput","dropdownComponentIds","triggers","AutoComplete","getShowAllTags","React","useCallback","useControlledDropdownInput","onChange","name","defaultValue","syncInputValueWithSelection","getValue","prefix","labelPosition","label","concat","undefined","inputValue","getTags","useMemo","_ref","size","getTagsGroup","tags","map","selectedIndex","_options$selectedInde","title","isDisabled","onDismiss","_ref2","tagIndex","current","isReactNative","_triggererRef$current","focus","Number","tableInputProps","isTableInputCell","rowDensityToIsTableInputCellMapping","id","tableEditableCellRowDensityToInputSizeMap","trailingIcon","validationStateToInputTrailingIconMap","validationState","showHintsAsTooltip","isValidationStateNone","_jsx","BaseInput","_objectSpread","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","length","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","_props$onTriggerClick","call","onFocus","onBlur","_ref3","_props$onBlur","leadingIcon","icon","componentName","MetaConstants","SelectInput","testID","labelId","role","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","makeAnalyticsAttribute","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","tabIndex","BaseDropdownInputTrigger","forwardRef"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAsBA,IAAMA,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAC7BC,KAAoC,EACpCC,GAAwC,EACjB;AAAA,EAAA,IAAAC,kBAAA,EAAAC,qBAAA,EAAAC,cAAA,EAAAC,YAAA,CAAA;AACvB,EAAA,IAAAC,YAAA,GAuBIC,WAAW,EAAE;IAtBfC,MAAM,GAAAF,YAAA,CAANE,MAAM;IACNC,cAAc,GAAAH,YAAA,CAAdG,cAAc;IACdC,iBAAiB,GAAAJ,YAAA,CAAjBI,iBAAiB;IACjBC,YAAY,GAAAL,YAAA,CAAZK,YAAY;IACZC,aAAa,GAAAN,YAAA,CAAbM,aAAa;IACbC,iBAAiB,GAAAP,YAAA,CAAjBO,iBAAiB;IACjBC,cAAc,GAAAR,YAAA,CAAdQ,cAAc;IACdC,eAAe,GAAAT,YAAA,CAAfS,eAAe;IACfC,YAAY,GAAAV,YAAA,CAAZU,YAAY;IACZC,qBAAqB,GAAAX,YAAA,CAArBW,qBAAqB;IACrBC,mBAAmB,GAAAZ,YAAA,CAAnBY,mBAAmB;IACnBC,iBAAiB,GAAAb,YAAA,CAAjBa,iBAAiB;IACjBC,cAAc,GAAAd,YAAA,CAAdc,cAAc;IACdC,KAAK,GAAAf,YAAA,CAALe,KAAK;IACLC,yBAAyB,GAAAhB,YAAA,CAAzBgB,yBAAyB;IACzBC,4BAA4B,GAAAjB,YAAA,CAA5BiB,4BAA4B;IAC5BC,WAAW,GAAAlB,YAAA,CAAXkB,WAAW;IACXC,eAAe,GAAAnB,YAAA,CAAfmB,eAAe;IACfC,OAAO,GAAApB,YAAA,CAAPoB,OAAO;IACPC,YAAY,GAAArB,YAAA,CAAZqB,YAAY;IACZC,0BAA0B,GAAAtB,YAAA,CAA1BsB,0BAA0B;IAC1BC,uBAAuB,GAAAvB,YAAA,CAAvBuB,uBAAuB,CAAA;AAEzB,EAAA,IAAAC,gBAAA,GAAuBC,eAAe,EAAE;IAAhCC,UAAU,GAAAF,gBAAA,CAAVE,UAAU,CAAA;AAClB,EAAA,IAAAC,qBAAA,GAAsCC,oBAAoB,EAAE;IAApDC,yBAAyB,GAAAF,qBAAA,CAAzBE,yBAAyB,CAAA;AAEjC,EAAA,IAAMC,0BAA0B,GAAA,CAAAlC,kBAAA,GAAGF,KAAK,CAACqC,WAAW,MAAA,IAAA,IAAAnC,kBAAA,KAAA,KAAA,CAAA,GAAAA,kBAAA,GAAI,eAAe,CAAA;AACvE,EAAA,IAAMoC,sBAAsB,GAC1B,CAACtC,KAAK,CAACuC,aAAa,IAAI1B,iBAAiB,KAAK2B,oBAAoB,CAACC,QAAQ,CAACC,YAAY,CAAA;AAE1F,EAAA,IAAMC,cAAc,GAAGC,cAAK,CAACC,WAAW,CAAC,YAAe;AACtD,IAAA,IAAIP,sBAAsB,EAAE;AAC1B;MACA,IAAItC,KAAK,CAACuC,aAAa,EAAE;AACvB,QAAA,OAAO,KAAK,CAAA;AACd,OAAA;;AAEA;AACA,MAAA,OAAO,IAAI,CAAA;AACb,KAAA;AAEA,IAAA,OAAO/B,MAAM,CAAA;GACd,EAAE,CAAC8B,sBAAsB,EAAEtC,KAAK,CAACuC,aAAa,EAAE/B,MAAM,CAAC,CAAC,CAAA;AAEzDsC,EAAAA,0BAA0B,CAAC;IACzBC,QAAQ,EAAE/C,KAAK,CAAC+C,QAAQ;IACxBC,IAAI,EAAEhD,KAAK,CAACgD,IAAI;IAChB3B,KAAK,EAAErB,KAAK,CAACqB,KAAK;IAClB4B,YAAY,EAAEjD,KAAK,CAACiD,YAAY;IAChCC,2BAA2B,EAAElD,KAAK,CAACkD,2BAA2B;IAC9DX,aAAa,EAAEvC,KAAK,CAACuC,aAAa;AAClCvB,IAAAA,YAAY,EAAZA,YAAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,IAAMmC,QAAQ,GAAG,SAAXA,QAAQA,GAA6B;IACzC,IAAIC,MAAM,GAAG,EAAE,CAAA;IACf,IAAIpD,KAAK,CAACqD,aAAa,KAAK,cAAc,IAAIrD,KAAK,CAACsD,KAAK,EAAE;AACzDF,MAAAA,MAAM,MAAAG,MAAA,CAAMvD,KAAK,CAACsD,KAAK,EAAI,IAAA,CAAA,CAAA;AAC7B,KAAA;IAEA,IAAItD,KAAK,CAACuC,aAAa,EAAE;MACvB,IAAI3B,aAAa,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAA,EAAA,CAAA2C,MAAA,CAAUH,MAAM,CAAAG,CAAAA,MAAA,CAAG5C,YAAY,CAAA,CAAA;AACjC,OAAA;;AAEA;AACA,MAAA,OAAO6C,SAAS,CAAA;AAClB,KAAA;;AAEA;IACA,OAAOxD,KAAK,CAACyD,UAAU,CAAA;GACxB,CAAA;AAED,EAAA,IAAMC,OAAO,GAAGd,cAAK,CAACe,OAAO,CAC3B,YAAA;IAAA,OAAM,UAAAC,IAAA,EAA6D;AAAA,MAAA,IAA1DC,IAAI,GAAAD,IAAA,CAAJC,IAAI,CAAA;MACX,IAAIjD,aAAa,KAAK,QAAQ,EAAE;AAC9B,QAAA,OAAO4C,SAAS,CAAA;AAClB,OAAA;AAEA,MAAA,OAAOM,YAAY,CAAC;AAClBD,QAAAA,IAAI,EAAJA,IAAI;AACJE,QAAAA,IAAI,EAAEhD,eAAe,CAACiD,GAAG,CAAC,UAACC,aAAa,EAAA;AAAA,UAAA,IAAAC,qBAAA,CAAA;UAAA,OAAAA,CAAAA,qBAAA,GAAKxC,OAAO,CAACuC,aAAa,CAAC,MAAA,IAAA,IAAAC,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAtBA,qBAAA,CAAwBC,KAAK,CAAA;SAAC,CAAA;AAC3E1D,QAAAA,cAAc,EAAdA,cAAc;QACd2D,UAAU,EAAEpE,KAAK,CAACoE,UAAU;AAC5BC,QAAAA,SAAS,EAAE,SAAAA,SAAAC,CAAAA,KAAA,EAAkB;AAAA,UAAA,IAAfC,QAAQ,GAAAD,KAAA,CAARC,QAAQ,CAAA;UACpB,IAAIpD,iBAAiB,CAACqD,OAAO,EAAE;AAC7BrD,YAAAA,iBAAiB,CAACqD,OAAO,CAACnD,KAAK,GAAG,IAAI,CAAA;AACxC,WAAA;AAEA,UAAA,IAAI,CAACoD,aAAa,EAAE,EAAE;AAAA,YAAA,IAAAC,qBAAA,CAAA;AACpB,YAAA,CAAAA,qBAAA,GAAA1D,YAAY,CAACwD,OAAO,MAAA,IAAA,IAAAE,qBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,qBAAA,CAAsBC,KAAK,EAAE,CAAA;AAC/B,WAAA;AAEAhD,UAAAA,YAAY,CAACZ,eAAe,CAACwD,QAAQ,CAAC,CAAC,CAAA;AACvC3C,UAAAA,0BAA0B,CAACgD,MAAM,CAAC/C,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAA;AACjE,SAAA;AACF,OAAC,CAAC,CAAA;KACH,CAAA;AAAA,GAAA;AACD;EACA,CAACd,eAAe,EAAEH,aAAa,EAAEH,cAAc,EAAEoB,uBAAuB,EAAEH,OAAO,CACnF,CAAC,CAAA;AAED,EAAA,IAAMmD,eAAwC,GAAG;AAC/CC,IAAAA,gBAAgB,EAAEC,mCAAmC,CAAC/C,UAAU,CAAC;AACjEgD,IAAAA,EAAE,EAAE,2BAA2B;AAC/BnB,IAAAA,IAAI,EAAEoB,yCAAyC,CAACjD,UAAU,CAAC;AAC3DkD,IAAAA,YAAY,EAAEC,qCAAqC,CAAAhF,CAAAA,qBAAA,GAACH,KAAK,CAACoF,eAAe,MAAA,IAAA,IAAAjF,qBAAA,KAAA,KAAA,CAAA,GAAAA,qBAAA,GAAI,MAAM,CAAC;AACpFkF,IAAAA,kBAAkB,EAAE,IAAA;GACrB,CAAA;AAED,EAAA,IAAMC,qBAAqB,GACzBtF,KAAK,CAACoF,eAAe,KAAK,MAAM,IAAIpF,KAAK,CAACoF,eAAe,KAAK5B,SAAS,CAAA;EAEzE,oBACE+B,GAAA,CAACC,SAAS,EAAAC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAA;AACRC,IAAAA,EAAE,EAAE1F,KAAK,CAACuC,aAAa,GAAG,QAAQ,GAAG,OAAQ;AAC7CtC,IAAAA,GAAG,EACAwE,aAAa,EAAE,GACZ,IAAI;AACJ;AACA,IAAA,UAACkB,IAAS,EAAK;AACb,MAAA,IAAIrD,sBAAsB,EAAE;QAC1BrB,qBAAqB,CAACuD,OAAO,GAAGmB,IAAI,CAAA;AACtC,OAAC,MAAM;QACL3E,YAAY,CAACwD,OAAO,GAAGmB,IAAI,CAAA;AAC7B,OAAA;AAEA,MAAA,IAAI1F,GAAG,EAAE;AACP,QAAA,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;UAC7BA,GAAG,CAAC0F,IAAI,CAAC,CAAA;AACX,SAAC,MAAM;UACL1F,GAAG,CAACuE,OAAO,GAAGmB,IAAI,CAAA;AACpB,SAAA;AACF,OAAA;KAEP;AACDC,IAAAA,iBAAiB,EAAE,IAAK;AACxBC,IAAAA,kBAAkB,EAAE,SAAAA,kBAACC,CAAAA,WAAW,EAAK;AACnC;MACA,IAAI,CAACxD,sBAAsB,EAAE;QAC3BpB,mBAAmB,CAACsD,OAAO,GAAGsB,WAAW,CAAA;AAC3C,OAAA;KACA;IACFC,UAAU,EAAA,CAAA3F,cAAA,GAAEJ,KAAK,CAACgG,OAAO,MAAA,IAAA,IAAA5F,cAAA,KAAA,KAAA,CAAA,GAAAA,cAAA,GAAI,QAAS;IACtC2D,IAAI,EAAEL,OAAO,CAAC;AAAEG,MAAAA,IAAI,EAAE7D,KAAK,CAAC6D,IAAI,IAAI,QAAA;AAAS,KAAC,CAAE;IAChDoC,WAAW,EAAEtD,cAAc,EAAG;AAC9BlC,IAAAA,cAAc,EAAEA,cAAe;AAC/BC,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCY,IAAAA,yBAAyB,EAAEA,yBAA0B;AACrDC,IAAAA,4BAA4B,EAAEA,4BAA6B;AAC3D2E,IAAAA,SAAS,EAAC,MAAA;AACV;AAAA;IACA5C,KAAK,EAAEtD,KAAK,CAACsD,KAAgB;AAC7BjB,IAAAA,WAAW,EACTzB,aAAa,KAAK,UAAU,IAAIG,eAAe,CAACoF,MAAM,GAAG,CAAC,GACtD3C,SAAS,GACTpB,0BACL;AACDgE,IAAAA,aAAa,EAAE,CAAA,CAAA/F,YAAA,GAAAL,KAAK,CAACsD,KAAK,MAAAjD,IAAAA,IAAAA,YAAA,KAAXA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAA,CAAa8F,MAAM,MAAK,CAAE;IACzCE,kBAAkB,EAAErG,KAAK,CAACqG,kBAAmB;IAC7ChD,aAAa,EAAErD,KAAK,CAACqD,aAAa,KAAK,cAAc,GAAGG,SAAS,GAAGxD,KAAK,CAACqD,aAAc;AACxFiD,IAAAA,kBAAkB,EAAEtG,KAAK,CAACqD,aAAa,KAAK,cAAe;IAC3DkD,kBAAkB,EAAEvG,KAAK,CAACuG,kBAAmB;AAC7CC,IAAAA,0BAA0B,EAAC,MAAM;IACjCpB,eAAe,EAAEpF,KAAK,CAACoF,eAAgB;IACvCqB,QAAQ,EAAEzG,KAAK,CAACyG,QAAS;IACzBC,SAAS,EAAE1G,KAAK,CAAC0G,SAAU;IAC3BC,WAAW,EAAE3G,KAAK,CAAC2G,WAAY;IAC/B3D,IAAI,EAAEhD,KAAK,CAACgD,IAAK;IACjBoB,UAAU,EAAEpE,KAAK,CAACoE,UAAW;IAC7BwC,UAAU,EAAE5G,KAAK,CAAC4G,UAAW;IAC7BxD,MAAM,EAAEpD,KAAK,CAACoD,MAAO;IACrByD,MAAM,EAAE7G,KAAK,CAAC6G,MAAO;AACrBC,IAAAA,SAAS,EAAE9G,KAAK,CAAC8G,SAAU;AAAC;IAC5BzF,KAAK,EAAE8B,QAAQ,EAAG;AAClB4D,IAAAA,OAAO,EAAE,SAAAA,OAACC,CAAAA,CAAC,EAAK;AAAA,MAAA,IAAAC,qBAAA,CAAA;MACd,IAAIjH,KAAK,CAACoE,UAAU,EAAE;AACpB,QAAA,OAAA;AACF,OAAA;AACA,MAAA,CAAA6C,qBAAA,GAAAjH,KAAK,CAACoB,cAAc,MAAA6F,IAAAA,IAAAA,qBAAA,KAApBA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,qBAAA,CAAAC,IAAA,CAAAlH,KAAK,EAAkBgH,CAAC,CAAC,CAAA;KACzB;IACFG,OAAO,EAAEnH,KAAK,CAACmH,OAAQ;AACvBC,IAAAA,MAAM,EAAE,SAAAA,MAAAC,CAAAA,KAAA,EAAc;AAAA,MAAA,IAAAC,aAAA,CAAA;AAAA,MAAA,IAAXtE,IAAI,GAAAqE,KAAA,CAAJrE,IAAI,CAAA;AACb,MAAA,CAAAsE,aAAA,GAAAtH,KAAK,CAACoH,MAAM,MAAA,IAAA,IAAAE,aAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,aAAA,CAAAJ,IAAA,CAAAlH,KAAK,EAAU;AAAEgD,QAAAA,IAAI,EAAJA,IAAI;AAAE3B,QAAAA,KAAK,EAALA,KAAAA;AAAM,OAAC,CAAC,CAAA;KAC/B;IACFkG,WAAW,EAAEvH,KAAK,CAACwH,IAAAA;AACnB;AAAA;IACAC,aAAa,EAAEzH,KAAK,CAACuC,aAAa,GAAGmF,aAAa,CAACC,WAAW,GAAGD,aAAa,CAAChF,YAAa;IAC5FkF,MAAM,EAAE5H,KAAK,CAAC4H,MAAAA;AACd;AAAA;AACA5C,IAAAA,EAAE,EAAAzB,EAAAA,CAAAA,MAAA,CAAKzC,cAAc,EAAW,UAAA,CAAA;AAChC+G,IAAAA,OAAO,EAAAtE,EAAAA,CAAAA,MAAA,CAAKzC,cAAc,EAAS,QAAA,CAAA;AACnCgH,IAAAA,IAAI,EAAExF,sBAAsB,GAAG,WAAW,GAAG,UAAW;IACxDyF,QAAQ,EACNzF,sBAAsB,GAClB,KAAK,GACL0F,0BAA0B,CAACvG,eAAe,EAAEZ,iBAAiB,CAClE;AACDoH,IAAAA,eAAe,EAAEzH,MAAO;AACxB0H,IAAAA,gBAAgB,EAAE1G,WAAW,IAAI,CAAC,GAAA+B,EAAAA,CAAAA,MAAA,CAAMzC,cAAc,EAAAyC,GAAAA,CAAAA,CAAAA,MAAA,CAAI/B,WAAW,IAAKgC,SAAU;AACpF2E,IAAAA,OAAO,EAAE7F,sBAAsB,GAAGkB,SAAS,GAAAD,EAAAA,CAAAA,MAAA,CAAMzC,cAAc,EAAA,aAAA,CAAA;AAC/D;AAAA;IACAiC,QAAQ,EAAE/C,KAAK,CAACuC,aAAa,GAAGiB,SAAS,GAAGxD,KAAK,CAACoI,kBAAmB;IACrEC,SAAS,EAAErI,KAAK,CAACsI,gBAAiB;IAClCzE,IAAI,EAAE7D,KAAK,CAAC6D,IAAAA;GACR0E,EAAAA,sBAAsB,CAACvI,KAAK,CAAC,CAAA,EAAA,EAAA,EAAA;IACjCwI,iCAAiC,EAAE,SAAAA,iCAAAA,GAAM;AACvC,MAAA,IAAI,CAACxI,KAAK,CAACoE,UAAU,EAAE;AACrB;AACA,QAAA,IAAI,CAACK,aAAa,EAAE,EAAE;AAAA,UAAA,IAAAgE,sBAAA,CAAA;AACpB,UAAA,CAAAA,sBAAA,GAAAzH,YAAY,CAACwD,OAAO,MAAA,IAAA,IAAAiE,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAApBA,sBAAA,CAAsB9D,KAAK,EAAE,CAAA;AAC/B,SAAA;AACAvD,QAAAA,cAAc,EAAE,CAAA;AAClB,OAAA;KACA;AACFsH,IAAAA,0BAA0B,EACxBpG,sBAAsB,IAAKH,yBAAyB,IAAI,CAACmD,qBAAsB,GAAG,IAAI,gBACpFC,GAAA,CAACoD,gBAAgB,EAAA;MAACvE,UAAU,EAAEpE,KAAK,CAACoE,UAAW;AAAC5D,MAAAA,MAAM,EAAEA,MAAAA;KAAS,CAAA;AAEpE,GAAA,EACI2B,yBAAyB,GAAG0C,eAAe,GAAGrB,SAAS,CAAA,EAAA,EAAA,EAAA;AAC5D;AACAoF,IAAAA,QAAQ,EAAEtG,sBAAsB,GAAG,CAAC,GAAGkB,SAAAA;AAAU,GAAA,CAClD,CAAC,CAAA;AAEN,CAAC,CAAA;AAED,IAAMqF,wBAAwB,gBAAGjG,cAAK,CAACkG,UAAU,CAAC/I,yBAAyB;;;;"}
|
|
@@ -19,8 +19,7 @@ import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
|
19
19
|
import { size } from '../../../tokens/global/size.js';
|
|
20
20
|
import { Dropdown } from '../../Dropdown/Dropdown.js';
|
|
21
21
|
import { DropdownButton } from '../../Dropdown/DropdownButton.js';
|
|
22
|
-
import
|
|
23
|
-
import ChevronDownIcon from '../../Icons/ChevronDownIcon/ChevronDownIcon.js';
|
|
22
|
+
import ChevronUpDownIcon from '../../Icons/ChevronUpDownIcon/ChevronUpDownIcon.js';
|
|
24
23
|
import { BottomSheet } from '../../BottomSheet/BottomSheet.web.js';
|
|
25
24
|
import { BottomSheetHeader } from '../../BottomSheet/BottomSheetHeader.web.js';
|
|
26
25
|
import { BottomSheetBody } from '../../BottomSheet/BottomSheetBody.web.js';
|
|
@@ -83,9 +82,12 @@ var CountrySelector = function CountrySelector(_ref) {
|
|
|
83
82
|
children: /*#__PURE__*/jsx(DropdownButton, {
|
|
84
83
|
isDisabled: isDisabled,
|
|
85
84
|
size: size$1 === 'medium' ? 'xsmall' : 'medium',
|
|
86
|
-
variant: "tertiary"
|
|
85
|
+
variant: "tertiary"
|
|
86
|
+
//@ts-expect-error
|
|
87
|
+
,
|
|
88
|
+
color: "transparent",
|
|
87
89
|
accessibilityLabel: "".concat(countryNameFormatter.of(selectedCountry), " - Select Country"),
|
|
88
|
-
icon:
|
|
90
|
+
icon: ChevronUpDownIcon,
|
|
89
91
|
iconPosition: "right"
|
|
90
92
|
// We need to prevent the click event from propagating to the BaseInputWrapper,
|
|
91
93
|
// Because the BaseInputWrapper is listening for click events to focus the input.
|