@razorpay/blade 11.37.0 → 11.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/lib/native/components/Accordion/Accordion.js +2 -1
- package/build/lib/native/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItem.js +3 -1
- package/build/lib/native/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemBody.js +3 -2
- package/build/lib/native/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/native/components/Accordion/AccordionItemHeader.js +3 -2
- package/build/lib/native/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionList.js +3 -1
- package/build/lib/native/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/native/components/ActionList/ActionListItem.js +3 -2
- package/build/lib/native/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/native/components/Alert/Alert.js +2 -1
- package/build/lib/native/components/Alert/Alert.js.map +1 -1
- package/build/lib/native/components/Amount/Amount.js +2 -1
- package/build/lib/native/components/Amount/Amount.js.map +1 -1
- package/build/lib/native/components/Badge/Badge.js +2 -1
- package/build/lib/native/components/Badge/Badge.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseFooter.js +3 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js +3 -2
- package/build/lib/native/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/native/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/native/components/Box/Box.js +2 -1
- package/build/lib/native/components/Box/Box.js.map +1 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js +2 -1
- package/build/lib/native/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/native/components/Button/Button/Button.js +2 -1
- package/build/lib/native/components/Button/Button/Button.js.map +1 -1
- package/build/lib/native/components/Button/IconButton/IconButton.js +3 -1
- package/build/lib/native/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/native/components/Card/Card.js +2 -1
- package/build/lib/native/components/Card/Card.js.map +1 -1
- package/build/lib/native/components/Card/CardFooter.js +3 -2
- package/build/lib/native/components/Card/CardFooter.js.map +1 -1
- package/build/lib/native/components/Card/CardHeader.js +3 -2
- package/build/lib/native/components/Card/CardHeader.js.map +1 -1
- package/build/lib/native/components/Checkbox/Checkbox.js +3 -2
- package/build/lib/native/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js +2 -1
- package/build/lib/native/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/native/components/Chip/Chip.js +2 -1
- package/build/lib/native/components/Chip/Chip.js.map +1 -1
- package/build/lib/native/components/Chip/ChipGroup.js +2 -1
- package/build/lib/native/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/native/components/Collapsible/Collapsible.js +2 -1
- package/build/lib/native/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleBody.js +3 -1
- package/build/lib/native/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleButton.js +3 -1
- package/build/lib/native/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/native/components/Collapsible/CollapsibleLink.js +2 -1
- package/build/lib/native/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/native/components/Counter/Counter.js +2 -1
- package/build/lib/native/components/Counter/Counter.js.map +1 -1
- package/build/lib/native/components/Dropdown/Dropdown.js +2 -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/DropdownHeaderFooter.js +3 -1
- package/build/lib/native/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js +2 -1
- package/build/lib/native/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/native/components/Form/Selector/SelectorGroupField.js +3 -1
- package/build/lib/native/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/native/components/Indicator/Indicator.js +2 -1
- package/build/lib/native/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js +2 -1
- package/build/lib/native/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +2 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js +2 -1
- package/build/lib/native/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js +2 -1
- package/build/lib/native/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js +1 -1
- package/build/lib/native/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js +1 -1
- package/build/lib/native/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js +1 -1
- package/build/lib/native/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js +1 -1
- package/build/lib/native/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js +2 -1
- package/build/lib/native/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/native/components/Link/Link/Link.js +2 -1
- package/build/lib/native/components/Link/Link/Link.js.map +1 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js +2 -1
- package/build/lib/native/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/native/components/Radio/Radio.js +2 -1
- package/build/lib/native/components/Radio/Radio.js.map +1 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js +2 -1
- package/build/lib/native/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/native/components/StepGroup/tokens.js +1 -1
- package/build/lib/native/components/StepGroup/tokens.js.map +1 -1
- package/build/lib/native/components/Switch/Switch.js +2 -1
- package/build/lib/native/components/Switch/Switch.js.map +1 -1
- package/build/lib/native/components/Tag/Tag.js +2 -1
- package/build/lib/native/components/Tag/Tag.js.map +1 -1
- package/build/lib/native/tokens/global/size.js +1 -1
- package/build/lib/native/tokens/global/size.js.map +1 -1
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +7 -0
- package/build/lib/native/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/lib/web/development/components/Accordion/Accordion.js +5 -3
- package/build/lib/web/development/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItem.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItemBody.js +8 -3
- package/build/lib/web/development/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js +10 -4
- package/build/lib/web/development/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionList.js +9 -4
- package/build/lib/web/development/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js +8 -3
- package/build/lib/web/development/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/development/components/ActionList/ActionListItem.js +10 -5
- package/build/lib/web/development/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/development/components/Alert/Alert.js +5 -3
- package/build/lib/web/development/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/development/components/Amount/Amount.js +5 -8
- package/build/lib/web/development/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/development/components/Avatar/Avatar.web.js +5 -3
- package/build/lib/web/development/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js +5 -3
- package/build/lib/web/development/components/Avatar/AvatarGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Badge/Badge.js +5 -3
- package/build/lib/web/development/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseFooter.js +8 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js +8 -3
- package/build/lib/web/development/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js +12 -8
- package/build/lib/web/development/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js +9 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetFooter.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetFooter.web.js.map +1 -1
- package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js +8 -3
- package/build/lib/web/development/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js +4 -2
- package/build/lib/web/development/components/Box/BaseBox/BaseBox.web.js.map +1 -1
- package/build/lib/web/development/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/development/components/Box/Box.js +4 -2
- package/build/lib/web/development/components/Box/Box.js.map +1 -1
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js +6 -4
- package/build/lib/web/development/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/development/components/Breadcrumb/BreadcrumbItem.web.js +13 -4
- package/build/lib/web/development/components/Breadcrumb/BreadcrumbItem.web.js.map +1 -1
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js +4 -2
- package/build/lib/web/development/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/development/components/Button/Button/Button.js +4 -2
- package/build/lib/web/development/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/IconButton.js +11 -5
- package/build/lib/web/development/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js +8 -3
- package/build/lib/web/development/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js +5 -3
- package/build/lib/web/development/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/development/components/Card/Card.js +11 -7
- package/build/lib/web/development/components/Card/Card.js.map +1 -1
- package/build/lib/web/development/components/Card/CardFooter.js +22 -11
- package/build/lib/web/development/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/development/components/Card/CardHeader.js +13 -6
- package/build/lib/web/development/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/development/components/Carousel/Carousel.web.js +5 -3
- package/build/lib/web/development/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js +9 -3
- package/build/lib/web/development/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/Checkbox.js +6 -4
- package/build/lib/web/development/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js +8 -5
- package/build/lib/web/development/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/development/components/Chip/Chip.js +5 -3
- package/build/lib/web/development/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/development/components/Chip/ChipGroup.js +8 -5
- package/build/lib/web/development/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/Collapsible.js +5 -3
- package/build/lib/web/development/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleBody.js +8 -3
- package/build/lib/web/development/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js +13 -4
- package/build/lib/web/development/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/development/components/Collapsible/CollapsibleLink.js +5 -3
- package/build/lib/web/development/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/web/development/components/Counter/Counter.js +5 -3
- package/build/lib/web/development/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DateInput.web.js +11 -7
- package/build/lib/web/development/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js +4 -2
- package/build/lib/web/development/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/Drawer.web.js +8 -3
- package/build/lib/web/development/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js +11 -3
- package/build/lib/web/development/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/Dropdown.js +5 -3
- package/build/lib/web/development/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownButton.js +2 -2
- package/build/lib/web/development/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js +8 -3
- package/build/lib/web/development/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/development/components/Dropdown/DropdownLink.js +5 -3
- package/build/lib/web/development/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js +6 -4
- package/build/lib/web/development/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorGroupField.js +8 -3
- package/build/lib/web/development/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js +8 -3
- package/build/lib/web/development/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/development/components/Indicator/Indicator.js +5 -3
- package/build/lib/web/development/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js +6 -4
- package/build/lib/web/development/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +5 -2
- package/build/lib/web/development/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js +5 -3
- package/build/lib/web/development/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js +6 -4
- package/build/lib/web/development/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js +2 -2
- package/build/lib/web/development/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +2 -2
- package/build/lib/web/development/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js +2 -2
- package/build/lib/web/development/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/development/components/Input/TextArea/TextArea.js +2 -2
- package/build/lib/web/development/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/development/components/Input/TextInput/TextInput.js +2 -2
- package/build/lib/web/development/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js +5 -3
- package/build/lib/web/development/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/development/components/Link/Link/Link.js +4 -2
- package/build/lib/web/development/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +18 -8
- package/build/lib/web/development/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/Modal.web.js +10 -4
- package/build/lib/web/development/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalBody.web.js +9 -3
- package/build/lib/web/development/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalFooter.web.js +7 -2
- package/build/lib/web/development/components/Modal/ModalFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Modal/ModalHeader.web.js +14 -6
- package/build/lib/web/development/components/Modal/ModalHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Popover/Popover.web.js +8 -3
- package/build/lib/web/development/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/development/components/Popover/PopoverInteractiveWrapper.web.js.map +1 -1
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js +5 -3
- package/build/lib/web/development/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/development/components/Radio/Radio.js +6 -4
- package/build/lib/web/development/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js +8 -5
- package/build/lib/web/development/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNav.web.js +5 -3
- package/build/lib/web/development/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js +13 -4
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js +10 -4
- package/build/lib/web/development/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/development/components/SideNav/SideNavSection.web.js +10 -4
- package/build/lib/web/development/components/SideNav/SideNavSection.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js +5 -3
- package/build/lib/web/development/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepItem.web.js +13 -7
- package/build/lib/web/development/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/StepLine.web.js +79 -42
- package/build/lib/web/development/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/development/components/StepGroup/tokens.js +6 -6
- package/build/lib/web/development/components/StepGroup/tokens.js.map +1 -1
- package/build/lib/web/development/components/Switch/Switch.js +5 -3
- package/build/lib/web/development/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/development/components/Table/Table.web.js +9 -7
- package/build/lib/web/development/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableBody.web.js +18 -9
- package/build/lib/web/development/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableFooter.web.js +18 -9
- package/build/lib/web/development/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableHeader.web.js +18 -9
- package/build/lib/web/development/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TablePagination.web.js +10 -4
- package/build/lib/web/development/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/development/components/Table/TableToolbar.web.js +13 -8
- package/build/lib/web/development/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabItem.web.js +9 -5
- package/build/lib/web/development/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabList.web.js +5 -3
- package/build/lib/web/development/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/TabPanel.web.js +10 -5
- package/build/lib/web/development/components/Tabs/TabPanel.web.js.map +1 -1
- package/build/lib/web/development/components/Tabs/Tabs.web.js +8 -3
- package/build/lib/web/development/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/development/components/Tag/Tag.js +6 -4
- package/build/lib/web/development/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/development/components/Toast/ToastContainer.web.js +8 -3
- package/build/lib/web/development/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js +8 -3
- package/build/lib/web/development/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js +6 -3
- package/build/lib/web/development/components/TopNav/TabNav/TabNav.web.js.map +1 -1
- package/build/lib/web/development/components/TopNav/TopNav.web.js +8 -5
- package/build/lib/web/development/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/development/tokens/global/size.js +3 -1
- package/build/lib/web/development/tokens/global/size.js.map +1 -1
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js +2 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/index.js.map +1 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +20 -0
- package/build/lib/web/development/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/lib/web/production/components/Accordion/Accordion.js +5 -3
- package/build/lib/web/production/components/Accordion/Accordion.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionButton.web.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItem.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionItem.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItemBody.js +8 -3
- package/build/lib/web/production/components/Accordion/AccordionItemBody.js.map +1 -1
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js +10 -4
- package/build/lib/web/production/components/Accordion/AccordionItemHeader.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionList.js +9 -4
- package/build/lib/web/production/components/ActionList/ActionList.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js +8 -3
- package/build/lib/web/production/components/ActionList/ActionListBox.web.js.map +1 -1
- package/build/lib/web/production/components/ActionList/ActionListItem.js +10 -5
- package/build/lib/web/production/components/ActionList/ActionListItem.js.map +1 -1
- package/build/lib/web/production/components/Alert/Alert.js +5 -3
- package/build/lib/web/production/components/Alert/Alert.js.map +1 -1
- package/build/lib/web/production/components/Amount/Amount.js +5 -8
- package/build/lib/web/production/components/Amount/Amount.js.map +1 -1
- package/build/lib/web/production/components/Avatar/Avatar.web.js +5 -3
- package/build/lib/web/production/components/Avatar/Avatar.web.js.map +1 -1
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js +5 -3
- package/build/lib/web/production/components/Avatar/AvatarGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Badge/Badge.js +5 -3
- package/build/lib/web/production/components/Badge/Badge.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseFooter.js +8 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseFooter.js.map +1 -1
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js +8 -3
- package/build/lib/web/production/components/BaseHeaderFooter/BaseHeader.js.map +1 -1
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js +12 -8
- package/build/lib/web/production/components/BottomNav/BottomNav.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js +9 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheet.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetBody.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetFooter.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetFooter.web.js.map +1 -1
- package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js +8 -3
- package/build/lib/web/production/components/BottomSheet/BottomSheetHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js +4 -2
- package/build/lib/web/production/components/Box/BaseBox/BaseBox.web.js.map +1 -1
- package/build/lib/web/production/components/Box/BaseBox/types/propsTypes.js.map +1 -1
- package/build/lib/web/production/components/Box/Box.js +4 -2
- package/build/lib/web/production/components/Box/Box.js.map +1 -1
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js +6 -4
- package/build/lib/web/production/components/Breadcrumb/Breadcrumb.web.js.map +1 -1
- package/build/lib/web/production/components/Breadcrumb/BreadcrumbItem.web.js +13 -4
- package/build/lib/web/production/components/Breadcrumb/BreadcrumbItem.web.js.map +1 -1
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js +4 -2
- package/build/lib/web/production/components/Button/BaseButton/BaseButton.js.map +1 -1
- package/build/lib/web/production/components/Button/Button/Button.js +4 -2
- package/build/lib/web/production/components/Button/Button/Button.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/IconButton.js +11 -5
- package/build/lib/web/production/components/Button/IconButton/IconButton.js.map +1 -1
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js +8 -3
- package/build/lib/web/production/components/Button/IconButton/StyledIconButton.web.js.map +1 -1
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js +5 -3
- package/build/lib/web/production/components/ButtonGroup/ButtonGroup.web.js.map +1 -1
- package/build/lib/web/production/components/Card/Card.js +11 -7
- package/build/lib/web/production/components/Card/Card.js.map +1 -1
- package/build/lib/web/production/components/Card/CardFooter.js +22 -11
- package/build/lib/web/production/components/Card/CardFooter.js.map +1 -1
- package/build/lib/web/production/components/Card/CardHeader.js +13 -6
- package/build/lib/web/production/components/Card/CardHeader.js.map +1 -1
- package/build/lib/web/production/components/Carousel/Carousel.web.js +5 -3
- package/build/lib/web/production/components/Carousel/Carousel.web.js.map +1 -1
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js +9 -3
- package/build/lib/web/production/components/Carousel/CarouselItem.web.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/Checkbox.js +6 -4
- package/build/lib/web/production/components/Checkbox/Checkbox.js.map +1 -1
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js +8 -5
- package/build/lib/web/production/components/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -1
- package/build/lib/web/production/components/Chip/Chip.js +5 -3
- package/build/lib/web/production/components/Chip/Chip.js.map +1 -1
- package/build/lib/web/production/components/Chip/ChipGroup.js +8 -5
- package/build/lib/web/production/components/Chip/ChipGroup.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/Collapsible.js +5 -3
- package/build/lib/web/production/components/Collapsible/Collapsible.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleBody.js +8 -3
- package/build/lib/web/production/components/Collapsible/CollapsibleBody.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js +13 -4
- package/build/lib/web/production/components/Collapsible/CollapsibleButton.js.map +1 -1
- package/build/lib/web/production/components/Collapsible/CollapsibleLink.js +5 -3
- package/build/lib/web/production/components/Collapsible/CollapsibleLink.js.map +1 -1
- package/build/lib/web/production/components/Counter/Counter.js +5 -3
- package/build/lib/web/production/components/Counter/Counter.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DateInput.web.js +11 -7
- package/build/lib/web/production/components/DatePicker/DateInput.web.js.map +1 -1
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js +4 -2
- package/build/lib/web/production/components/DatePicker/DatePicker.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/Drawer.web.js +8 -3
- package/build/lib/web/production/components/Drawer/Drawer.web.js.map +1 -1
- package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js +11 -3
- package/build/lib/web/production/components/Drawer/DrawerSubcomponents.web.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/Dropdown.js +5 -3
- package/build/lib/web/production/components/Dropdown/Dropdown.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownButton.js +2 -2
- package/build/lib/web/production/components/Dropdown/DropdownButton.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js +8 -3
- package/build/lib/web/production/components/Dropdown/DropdownHeaderFooter.js.map +1 -1
- package/build/lib/web/production/components/Dropdown/DropdownLink.js +5 -3
- package/build/lib/web/production/components/Dropdown/DropdownLink.js.map +1 -1
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js +6 -4
- package/build/lib/web/production/components/FileUpload/FileUpload.web.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorGroupField.js +8 -3
- package/build/lib/web/production/components/Form/Selector/SelectorGroupField.js.map +1 -1
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js +8 -3
- package/build/lib/web/production/components/Form/Selector/SelectorInput.web.js.map +1 -1
- package/build/lib/web/production/components/Indicator/Indicator.js +5 -3
- package/build/lib/web/production/components/Indicator/Indicator.js.map +1 -1
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js +6 -4
- package/build/lib/web/production/components/Input/BaseInput/BaseInput.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js +5 -2
- package/build/lib/web/production/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map +1 -1
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js +5 -3
- package/build/lib/web/production/components/Input/DropdownInputTriggers/SelectInput.js.map +1 -1
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js +6 -4
- package/build/lib/web/production/components/Input/OTPInput/OTPInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js +2 -2
- package/build/lib/web/production/components/Input/PasswordInput/PasswordInput.js.map +1 -1
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js +2 -2
- package/build/lib/web/production/components/Input/PhoneNumberInput/PhoneNumberInput.web.js.map +1 -1
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js +2 -2
- package/build/lib/web/production/components/Input/SearchInput/SearchInput.js.map +1 -1
- package/build/lib/web/production/components/Input/TextArea/TextArea.js +2 -2
- package/build/lib/web/production/components/Input/TextArea/TextArea.js.map +1 -1
- package/build/lib/web/production/components/Input/TextInput/TextInput.js +2 -2
- package/build/lib/web/production/components/Input/TextInput/TextInput.js.map +1 -1
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js +5 -3
- package/build/lib/web/production/components/Link/BaseLink/BaseLink.js.map +1 -1
- package/build/lib/web/production/components/Link/Link/Link.js +4 -2
- package/build/lib/web/production/components/Link/Link/Link.js.map +1 -1
- package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js +18 -8
- package/build/lib/web/production/components/Menu/VisualSubComponents/MenuHeaderFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/Modal.web.js +10 -4
- package/build/lib/web/production/components/Modal/Modal.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalBody.web.js +9 -3
- package/build/lib/web/production/components/Modal/ModalBody.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalFooter.web.js +7 -2
- package/build/lib/web/production/components/Modal/ModalFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Modal/ModalHeader.web.js +14 -6
- package/build/lib/web/production/components/Modal/ModalHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Popover/Popover.web.js +8 -3
- package/build/lib/web/production/components/Popover/Popover.web.js.map +1 -1
- package/build/lib/web/production/components/Popover/PopoverInteractiveWrapper.web.js.map +1 -1
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js +5 -3
- package/build/lib/web/production/components/ProgressBar/ProgressBar.js.map +1 -1
- package/build/lib/web/production/components/Radio/Radio.js +6 -4
- package/build/lib/web/production/components/Radio/Radio.js.map +1 -1
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js +8 -5
- package/build/lib/web/production/components/Radio/RadioGroup/RadioGroup.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNav.web.js +5 -3
- package/build/lib/web/production/components/SideNav/SideNav.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js +13 -4
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavItem.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js +10 -4
- package/build/lib/web/production/components/SideNav/SideNavItems/SideNavLink.web.js.map +1 -1
- package/build/lib/web/production/components/SideNav/SideNavSection.web.js +10 -4
- package/build/lib/web/production/components/SideNav/SideNavSection.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js +5 -3
- package/build/lib/web/production/components/StepGroup/StepGroup.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepItem.web.js +13 -7
- package/build/lib/web/production/components/StepGroup/StepItem.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/StepLine.web.js +79 -42
- package/build/lib/web/production/components/StepGroup/StepLine.web.js.map +1 -1
- package/build/lib/web/production/components/StepGroup/tokens.js +6 -6
- package/build/lib/web/production/components/StepGroup/tokens.js.map +1 -1
- package/build/lib/web/production/components/Switch/Switch.js +5 -3
- package/build/lib/web/production/components/Switch/Switch.js.map +1 -1
- package/build/lib/web/production/components/Table/Table.web.js +9 -7
- package/build/lib/web/production/components/Table/Table.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableBody.web.js +18 -9
- package/build/lib/web/production/components/Table/TableBody.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableFooter.web.js +18 -9
- package/build/lib/web/production/components/Table/TableFooter.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableHeader.web.js +18 -9
- package/build/lib/web/production/components/Table/TableHeader.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TablePagination.web.js +10 -4
- package/build/lib/web/production/components/Table/TablePagination.web.js.map +1 -1
- package/build/lib/web/production/components/Table/TableToolbar.web.js +13 -8
- package/build/lib/web/production/components/Table/TableToolbar.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabItem.web.js +9 -5
- package/build/lib/web/production/components/Tabs/TabItem.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabList.web.js +5 -3
- package/build/lib/web/production/components/Tabs/TabList.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/TabPanel.web.js +10 -5
- package/build/lib/web/production/components/Tabs/TabPanel.web.js.map +1 -1
- package/build/lib/web/production/components/Tabs/Tabs.web.js +8 -3
- package/build/lib/web/production/components/Tabs/Tabs.web.js.map +1 -1
- package/build/lib/web/production/components/Tag/Tag.js +6 -4
- package/build/lib/web/production/components/Tag/Tag.js.map +1 -1
- package/build/lib/web/production/components/Toast/ToastContainer.web.js +8 -3
- package/build/lib/web/production/components/Toast/ToastContainer.web.js.map +1 -1
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js +8 -3
- package/build/lib/web/production/components/Tooltip/Tooltip.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js +6 -3
- package/build/lib/web/production/components/TopNav/TabNav/TabNav.web.js.map +1 -1
- package/build/lib/web/production/components/TopNav/TopNav.web.js +8 -5
- package/build/lib/web/production/components/TopNav/TopNav.web.js.map +1 -1
- package/build/lib/web/production/tokens/global/size.js +3 -1
- package/build/lib/web/production/tokens/global/size.js.map +1 -1
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js +2 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/index.js.map +1 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js +20 -0
- package/build/lib/web/production/utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js.map +1 -0
- package/build/types/components/index.d.ts +221 -189
- package/build/types/components/index.native.d.ts +145 -131
- package/build/types/tokens/index.d.ts +3 -1
- package/build/types/tokens/index.native.d.ts +3 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseInput.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type { BladeElementRef, ContainerElementType, TestID } from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useMergeRefs } from '~utils/useMergeRefs';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n trailingInteractionElement?: ReactNode;\n /**\n * Callback to be invoked when the TrailingInteractionElement is clicked\n */\n onTrailingInteractionElementClick?: () => void;\n /**\n * Element to be rendered before prefix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a country selector or button\n */\n leadingInteractionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n /**\n * Whether to render the input as a table cell\n * @default true\n **/\n isTableInputCell?: boolean;\n /**\n * Hides the form hints and shows them as tooltip of trailing\n */\n showHintsAsTooltip?: boolean;\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n}>(({ theme, currentInteraction, isTableInputCell }) => ({\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n width: '100%',\n '&:focus-within': !isTableInputCell\n ? {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .easing,\n ),\n ),\n }\n : {},\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n onTrailingInteractionElementClick,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n isTableInputCell = false,\n showHintsAsTooltip = false,\n ...styledProps\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputRef = React.useRef<BladeElementRef>(null);\n const mergedInputRef = useMergeRefs(ref, inputRef);\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText =\n Boolean(helpText) ||\n (validationState === 'success' && Boolean(successText)) ||\n (validationState === 'error' && Boolean(errorText));\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(styledProps)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && label && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper\n currentInteraction={currentInteraction}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={size}\n numberOfLines={numberOfLines}\n onClick={() => {\n if (!isReactNative) {\n inputRef.current?.focus();\n }\n }}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputVisuals\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={isDisabled}\n leadingInteractionElement={leadingInteractionElement}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={size}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={mergedInputRef as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n trailingInteractionElement={trailingInteractionElement}\n leadingInteractionElement={leadingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={size}\n valueComponentType={valueComponentType}\n isTableInputCell={isTableInputCell}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n trailingInteractionElement={trailingInteractionElement}\n onTrailingInteractionElementClick={onTrailingInteractionElementClick}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={size}\n errorText={errorText}\n successText={successText}\n showHintsAsTooltip={showHintsAsTooltip}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n\n {hideFormHint || showHintsAsTooltip ? null : (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","__DEV__","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","_ref11","theme","currentInteraction","isTableInputCell","borderRadius","makeBorderSize","border","radius","none","medium","width","Object","assign","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","onTrailingInteractionElementClick","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","_ref12$isTableInputCe","_ref12$showHintsAsToo","showHintsAsTooltip","styledProps","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputRef","mergedInputRef","useMergeRefs","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","_inputRef$current","focus","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseInput.js","sources":["../../../../../../src/components/Input/BaseInput/BaseInput.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React from 'react';\nimport type { ReactNode } from 'react';\nimport styled from 'styled-components';\nimport { StyledBaseInput } from './StyledBaseInput';\nimport { BaseInputVisuals } from './BaseInputVisuals';\nimport { BaseInputWrapper } from './BaseInputWrapper';\nimport { BaseInputTagSlot } from './BaseInputTagSlot';\nimport type { InputWrapperRef } from './types';\nimport { baseInputBorderBackgroundMotion, formHintLeftLabelMarginLeft } from './baseInputTokens';\nimport type {\n FormInputLabelProps,\n FormInputValidationProps,\n FormInputHandleOnEvent,\n FormInputOnEvent,\n FormHintProps,\n} from '~components/Form';\nimport { FormHint, FormLabel } from '~components/Form';\nimport type { IconComponent } from '~components/Icons';\nimport BaseBox from '~components/Box/BaseBox';\nimport { getStyledProps } from '~components/Box/styledProps';\nimport type { StyledPropsBlade } from '~components/Box/styledProps';\nimport {\n castWebType,\n getPlatformType,\n isReactNative,\n makeBorderSize,\n makeMotionTime,\n useBreakpoint,\n} from '~utils';\nimport type { Platform } from '~utils';\nimport { metaAttribute, MetaConstants } from '~utils/metaAttribute';\nimport { useFormId } from '~components/Form/useFormId';\nimport { useTheme } from '~components/BladeProvider';\nimport useInteraction from '~utils/useInteraction';\nimport type { ActionStates } from '~utils/useInteraction';\nimport type {\n FormInputHandleOnClickEvent,\n FormInputHandleOnKeyDownEvent,\n} from '~components/Form/FormTypes';\nimport type {\n BladeElementRef,\n ContainerElementType,\n DataAnalyticsAttribute,\n TestID,\n} from '~utils/types';\nimport { makeSize } from '~utils/makeSize';\nimport type { AriaAttributes } from '~utils/makeAccessible';\nimport { makeAccessible } from '~utils/makeAccessible';\nimport { throwBladeError } from '~utils/logger';\nimport { announce } from '~components/LiveAnnouncer/LiveAnnouncer';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport type { LinkProps } from '~components/Link';\nimport { getFocusRingStyles } from '~utils/getFocusRingStyles';\nimport getIn from '~utils/lodashButBetter/get';\nimport { useMergeRefs } from '~utils/useMergeRefs';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\ntype CommonAutoCompleteSuggestionTypes =\n | 'none'\n | 'name'\n | 'email'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'telephone'\n | 'postalCode'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardCSC'\n | 'creditCardExpiry'\n | 'creditCardExpiryMonth'\n | 'creditCardExpiryYear';\n\ntype WebAutoCompleteSuggestionType = CommonAutoCompleteSuggestionTypes | 'on';\n\ntype BaseInputCommonProps = FormInputLabelProps &\n DataAnalyticsAttribute &\n FormInputValidationProps & {\n /**\n * Determines if it needs to be rendered as input, textarea or button\n */\n as?: 'input' | 'textarea' | 'button';\n /**\n * ID that will be used for accessibility\n */\n id: string;\n /**\n * Placeholder text to be displayed inside the input field\n */\n placeholder?: string;\n /**\n * Type of Input Field to be rendered.\n *\n * @default text\n */\n type?: 'text' | 'telephone' | 'email' | 'url' | 'number' | 'search' | 'password';\n /**\n * Used to set the default value of input field when it's uncontrolled\n */\n defaultValue?: string;\n /**\n * The name of the input field.\n *\n * Useful in form submissions\n */\n name?: string;\n /**\n * The callback function to be invoked when the input field gets focus\n */\n onFocus?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field changes\n */\n onChange?: FormInputOnEvent;\n /**\n * The callback function to be invoked when input is clicked\n */\n onClick?: FormInputOnEvent;\n /**\n * The callback function to be invoked when the value of the input field has any input\n */\n onInput?: FormInputOnEvent;\n /**\n * The callback function to be invoked whenever there is a keyDown event\n */\n onKeyDown?: FormInputHandleOnKeyDownEvent;\n /**\n * The callback function to be invoked when the the input field loses focus\n *\n * For React Native this will call `onEndEditing` event since we want to get the last value of the input field\n */\n onBlur?: FormInputOnEvent;\n /**\n * Ignores the blur event animation (Used in Select to ignore blur animation when item in option is clicked)\n */\n shouldIgnoreBlurAnimation?: boolean;\n /**\n * sets boolean that ignores the blur animations on baseinput\n */\n setShouldIgnoreBlurAnimation?: (shouldIgnoreBlurAnimation: boolean) => void;\n /**\n * Used to turn the input field to controlled so user can control the value\n */\n value?: string;\n /**\n * Used to disable the input field\n */\n isDisabled?: boolean;\n /**\n * If true, the input is marked as required, and `required` attribute will be added\n */\n isRequired?: boolean;\n /**\n * Icon to be shown at the start of the input field\n */\n leadingIcon?: IconComponent;\n /**\n * Prefix symbol to be displayed at the beginning of the input field. If leadingIcon is provided it'll be placed after it\n */\n prefix?: string;\n /**\n * Element to be rendered before suffix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a loader or they could render a clear button\n */\n trailingInteractionElement?: ReactNode;\n /**\n * Callback to be invoked when the TrailingInteractionElement is clicked\n */\n onTrailingInteractionElementClick?: () => void;\n /**\n * Element to be rendered before prefix. This is decided by the component which is extending BaseInput\n *\n * eg: consumers can render a country selector or button\n */\n leadingInteractionElement?: ReactNode;\n /**\n * Suffix symbol to be displayed at the end of the input field. If trailingIcon is provided it'll be placed before it\n */\n suffix?: string;\n /**\n * Icon to be displayed at the end of the input field\n */\n trailingIcon?: IconComponent;\n /**\n * Displays the character counter under the input field\n */\n maxCharacters?: number;\n /**\n * alignment of the text inside input field\n */\n textAlign?: 'left' | 'center' | 'right';\n /**\n * If true, focuses the input field on load\n *\n * **Note:**\n * Automatically focusing a form control can confuse visually-impaired people using screen-reading technology and people with cognitive impairments.\n * When autofocus is assigned, screen-readers \"teleport\" their user to the form control without warning them beforehand.\n */\n autoFocus?: boolean;\n /**\n * Hints the platform to display an appropriate virtual keyboard\n *\n * **Native:** Passes as is the `keyboardType` attribute\n *\n * **Web:** Passes the value to the `inputMode` attribute\n */\n keyboardType?: 'text' | 'search' | 'telephone' | 'email' | 'url' | 'decimal';\n /**\n * determines what return key to show on the keyboard of mobile devices/virtual keyboard\n * **Note**: Few values are platform dependent and might not render on all the platforms\n *\n * `default` is only available on native. it'll be mapped to `enter` for web\n * `previous` is only available on native android\n */\n keyboardReturnKeyType?: 'default' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send';\n /**\n * Element to be rendered on the trailing slot of input field label\n */\n trailingHeaderSlot?: (value?: string) => ReactNode;\n /**\n * Element to be rendered on the trailing slot of input field footer\n */\n trailingFooterSlot?: (value?: string) => ReactNode;\n /**\n * Sets the textarea's number of lines\n */\n numberOfLines?: 2 | 3 | 4 | 5;\n /**\n * Sets the accessibility label for the input\n */\n accessibilityLabel?: string;\n /**\n * Sets the id of the label\n *\n * (Useful when assigning one label to multiple elements using aria-labelledby)\n */\n labelId?: string;\n /**\n * Can be used in select to set the id of the active descendant from the listbox\n */\n activeDescendant?: string;\n /**\n * Hides the label text\n */\n hideLabelText?: boolean;\n /**\n * Hides the form hint text\n */\n hideFormHint?: boolean;\n /**\n * componentName prop sets the data-blade-component attribute name\n * for internal metric collection purposes\n */\n componentName?: string;\n /**\n * whether the input has a popup\n */\n hasPopup?: AriaAttributes['hasPopup'];\n /**\n * id of the popup\n */\n popupId?: string;\n /**\n * true if popup is in expanded state\n */\n isPopupExpanded?: boolean;\n setInputWrapperRef?: (node: ContainerElementType) => void;\n /**\n * sets the autocapitalize behavior for the input\n */\n autoCapitalize?: 'none' | 'sentences' | 'words' | 'characters';\n\n /**\n * constraints the height of input to given number rows\n *\n * When set to expandable, input takes 1 row in the begining and expands to take 3 when active\n *\n * @default 'single'\n */\n maxTagRows?: 'single' | 'multiple' | 'expandable';\n\n /**\n * A slot for adding tags to input\n */\n tags?: React.ReactElement[] | null;\n\n /**\n * Disables stripping of tags and shows all tags\n */\n showAllTags?: boolean;\n\n /**\n * State variable of active tag index\n */\n activeTagIndex?: number;\n\n /**\n * Is this input SelectInput or AutoComplete\n */\n isDropdownTrigger?: boolean;\n\n /**\n * Is the label expected to be rendered inside input?\n * Used in AutoComplete and Select when label can't exist outside\n *\n */\n isLabelInsideInput?: boolean;\n\n /**\n * State setter for active tag index\n */\n setActiveTagIndex?: (activeTagIndex: number) => void;\n /**\n * Sets the size of the input field\n * @default medium\n */\n size?: 'medium' | 'large';\n /**\n * Link button to be rendered at the end of the input field.\n * **Note:** `size` of the Link will be set to the same size as the input field, `isDisabled` will follow Input's `isDisabled`, & `variant` will be set to `button`.\n * Example:\n * ```tsx\n * trailingButton={<Link onClick={handleClick}>Apply</Link>}\n * ```\n */\n trailingButton?: React.ReactElement<LinkProps>;\n /**\n * Whether to use Text or Heading component for Input text\n * @default text\n **/\n valueComponentType?: 'text' | 'heading';\n /**\n * Whether to render the input as a table cell\n * @default true\n **/\n isTableInputCell?: boolean;\n /**\n * Hides the form hints and shows them as tooltip of trailing\n */\n showHintsAsTooltip?: boolean;\n } & TestID &\n Platform.Select<{\n native: {\n /**\n * The callback function to be invoked when the value of the input field is submitted.\n */\n onSubmit?: FormInputOnEvent;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: CommonAutoCompleteSuggestionTypes;\n };\n web: {\n /**\n * This is a react-native only prop and has no effect on web.\n */\n onSubmit?: undefined;\n /**\n * determines what autoComplete suggestion type to show\n *\n * Internally it'll render platform specific attributes:\n *\n * - web: `autocomplete`\n * - iOS: `textContentType`\n * - android: `autoComplete`\n *\n */\n autoCompleteSuggestionType?: WebAutoCompleteSuggestionType;\n };\n }> &\n StyledPropsBlade;\n\n/*\n Mandatory accessibilityLabel prop when label is not provided\n*/\ntype BaseInputPropsWithA11yLabel = {\n /**\n * Label to be shown for the input field\n */\n label?: undefined;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel: string;\n};\n\n/*\n Optional accessibilityLabel prop when label is provided\n*/\ntype BaseInputPropsWithLabel = {\n /**\n * Label to be shown for the input field\n */\n label: string;\n /**\n * Accessibility label for the input\n */\n accessibilityLabel?: string;\n};\n\nexport type BaseInputProps = (BaseInputPropsWithA11yLabel | BaseInputPropsWithLabel) &\n BaseInputCommonProps;\n\nconst autoCompleteSuggestionTypeValues = [\n 'none',\n 'on',\n 'name',\n 'email',\n 'username',\n 'password',\n 'newPassword',\n 'oneTimeCode',\n 'telephone',\n 'postalCode',\n 'countryName',\n 'creditCardNumber',\n 'creditCardCSC',\n 'creditCardExpiry',\n 'creditCardExpiryMonth',\n 'creditCardExpiryYear',\n];\n\ntype OnInputKeydownTagHandlerType = (key: string | undefined) => void;\nconst useTags = (\n tags: BaseInputProps['tags'],\n activeTagIndex: number,\n setActiveTagIndex?: (activeTagIndex: number) => void,\n): {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n visibleTagsCountRef: React.MutableRefObject<number>;\n} => {\n const visibleTagsCountRef = React.useRef<number>(0);\n\n React.useEffect(() => {\n if (tags && activeTagIndex >= 0 && activeTagIndex < tags.length) {\n const tagTitle = tags[activeTagIndex]?.props?.children;\n if (tagTitle) {\n announce(`Close ${tagTitle} Tag`);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTagIndex, tags?.length]);\n\n const onTagLeft = (): void => {\n if (activeTagIndex < 0) {\n setActiveTagIndex?.(visibleTagsCountRef.current - 1);\n }\n\n if (activeTagIndex > 0) {\n setActiveTagIndex?.(activeTagIndex - 1);\n }\n };\n\n const onTagRight = (): void => {\n if (activeTagIndex < visibleTagsCountRef.current - 1) {\n setActiveTagIndex?.(activeTagIndex + 1);\n }\n };\n\n const onTagRemove = (): void => {\n if (activeTagIndex >= 0 && activeTagIndex < visibleTagsCountRef.current && tags) {\n tags[activeTagIndex].props.onDismiss({ tagIndex: activeTagIndex });\n }\n };\n\n const onInputKeydownTagHandler: OnInputKeydownTagHandlerType = (key) => {\n if (tags && tags.length > 0) {\n if (key === 'ArrowRight') {\n onTagRight();\n }\n\n if (key === 'ArrowLeft') {\n onTagLeft();\n }\n\n if (key === 'Backspace') {\n onTagRemove();\n }\n }\n };\n\n return {\n onInputKeydownTagHandler,\n visibleTagsCountRef,\n };\n};\n\nconst useInput = ({\n value,\n defaultValue,\n onClick,\n onFocus,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n}: Pick<\n BaseInputProps,\n | 'value'\n | 'defaultValue'\n | 'onFocus'\n | 'onChange'\n | 'onBlur'\n | 'onInput'\n | 'onKeyDown'\n | 'onClick'\n | 'onSubmit'\n> & {\n onInputKeydownTagHandler: OnInputKeydownTagHandlerType;\n}): {\n handleOnFocus: FormInputHandleOnEvent;\n handleOnClick: FormInputHandleOnClickEvent;\n handleOnChange: FormInputHandleOnEvent;\n handleOnBlur: FormInputHandleOnEvent;\n handleOnSubmit: FormInputHandleOnEvent;\n handleOnInput: FormInputHandleOnEvent;\n handleOnKeyDown: FormInputHandleOnKeyDownEvent;\n inputValue?: string;\n} => {\n if (__DEV__) {\n if (value && defaultValue) {\n throwBladeError({\n message: `Either 'value' or 'defaultValue' shall be passed. This decides if the input field is controlled or uncontrolled`,\n moduleName: 'Input',\n });\n }\n }\n\n const [inputValue, setInputValue] = React.useState(defaultValue ?? value);\n\n const handleOnFocus: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onFocus?.({\n name,\n value: _value,\n });\n },\n [onFocus],\n );\n\n const handleOnClick: FormInputHandleOnClickEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.currentTarget.value ?? '';\n }\n\n onClick?.({\n name,\n value: _value,\n });\n },\n [onClick],\n );\n\n const handleOnSubmit: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n if (isReactNative()) {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment, @typescript-eslint/prefer-ts-expect-error\n //@ts-ignore need to ignore this since it will throw a TS error for web but not for native\n onSubmit?.({\n name,\n value: _value,\n });\n }\n },\n [onSubmit],\n );\n\n const handleOnBlur: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onBlur?.({\n name,\n value: _value,\n });\n },\n [onBlur],\n );\n\n const handleOnChange: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n\n if (getPlatformType() === 'react-native' && typeof value === 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onChange?.({\n name,\n value: _value,\n });\n setInputValue(_value);\n },\n [onChange],\n );\n\n const handleOnInput: FormInputHandleOnEvent = React.useCallback(\n ({ name, value }) => {\n let _value = '';\n if (getPlatformType() === 'react-native' && typeof value == 'string') {\n _value = value;\n } else if (typeof value !== 'string') {\n // Could have just done \"getPlatformType() === 'react-native' ? value : value?.target.value\" but TS doesn't understands that\n _value = value?.target.value ?? '';\n }\n\n onInput?.({\n name,\n value: _value,\n });\n },\n [onInput],\n );\n\n const handleOnKeyDown: FormInputHandleOnKeyDownEvent = React.useCallback(\n ({ name, key, code, event }) => {\n onInputKeydownTagHandler(key);\n onKeyDown?.({\n name,\n key,\n code,\n event,\n });\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [onKeyDown],\n );\n\n return {\n handleOnFocus,\n handleOnClick,\n handleOnChange,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n };\n};\n\nexport const getHintType = ({\n validationState,\n hasHelpText,\n}: {\n validationState: BaseInputProps['validationState'];\n hasHelpText: boolean;\n}): FormHintProps['type'] => {\n if (validationState === 'error') {\n return 'error';\n }\n\n if (validationState === 'success') {\n return 'success';\n }\n\n if (hasHelpText) {\n return 'help';\n }\n\n return 'help';\n};\n\nconst getDescribedByElementId = ({\n validationState,\n hasErrorText,\n hasSuccessText,\n hasHelpText,\n errorTextId,\n successTextId,\n helpTextId,\n}: {\n validationState: BaseInputProps['validationState'];\n hasErrorText: boolean;\n hasSuccessText: boolean;\n hasHelpText: boolean;\n errorTextId: string;\n successTextId: string;\n helpTextId: string;\n}): string => {\n if (validationState === 'error' && hasErrorText) {\n return errorTextId;\n }\n\n if (validationState === 'success' && hasSuccessText) {\n return successTextId;\n }\n\n if (hasHelpText) {\n return helpTextId;\n }\n\n return '';\n};\n\nconst FocusRingWrapper = styled(BaseBox)<{\n currentInteraction: ActionStates;\n isTableInputCell: NonNullable<BaseInputProps['isTableInputCell']>;\n}>(({ theme, currentInteraction, isTableInputCell }) => ({\n borderRadius: makeBorderSize(\n isTableInputCell ? theme.border.radius.none : theme.border.radius.medium,\n ),\n width: '100%',\n '&:focus-within': !isTableInputCell\n ? {\n ...getFocusRingStyles({\n theme,\n }),\n transitionDuration: castWebType(\n makeMotionTime(\n getIn(\n theme.motion.duration,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .duration,\n ),\n ),\n ),\n transitionTimingFunction: castWebType(\n getIn(\n theme.motion.easing,\n baseInputBorderBackgroundMotion[currentInteraction === 'focus' ? 'enter' : 'exit']\n .easing,\n ),\n ),\n }\n : {},\n}));\n\nconst _BaseInput: React.ForwardRefRenderFunction<BladeElementRef, BaseInputProps> = (\n {\n as = 'input',\n label,\n labelPosition = 'top',\n placeholder,\n type = 'text',\n defaultValue,\n tags,\n showAllTags = false,\n activeTagIndex = -1,\n setActiveTagIndex,\n name,\n value,\n onFocus,\n onChange,\n onInput,\n onBlur,\n onSubmit,\n onClick,\n onKeyDown,\n isDisabled,\n necessityIndicator,\n validationState,\n errorText,\n helpText,\n successText,\n isRequired,\n leadingIcon,\n prefix,\n trailingInteractionElement,\n onTrailingInteractionElementClick,\n leadingInteractionElement,\n suffix,\n trailingIcon,\n maxCharacters,\n textAlign,\n autoFocus,\n keyboardReturnKeyType,\n keyboardType,\n autoCompleteSuggestionType,\n trailingHeaderSlot,\n trailingFooterSlot,\n numberOfLines,\n id,\n componentName,\n accessibilityLabel,\n labelId,\n activeDescendant,\n hideLabelText,\n hideFormHint,\n hasPopup,\n popupId,\n isPopupExpanded,\n maxTagRows,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n autoCapitalize,\n setInputWrapperRef,\n testID,\n isDropdownTrigger,\n isLabelInsideInput,\n size = 'medium',\n trailingButton,\n valueComponentType = 'text',\n isTableInputCell = false,\n showHintsAsTooltip = false,\n ...rest\n },\n ref,\n) => {\n const { theme } = useTheme();\n const inputRef = React.useRef<BladeElementRef>(null);\n const mergedInputRef = useMergeRefs(ref, inputRef);\n const inputWrapperRef: InputWrapperRef = React.useRef(null);\n const { onInputKeydownTagHandler, visibleTagsCountRef } = useTags(\n tags,\n activeTagIndex,\n setActiveTagIndex,\n );\n const [showAllTagsWithAnimation, setShowAllTagsWithAnimation] = React.useState(false);\n const isReactNative = getPlatformType() === 'react-native';\n\n React.useEffect(() => {\n if (showAllTags) {\n setShowAllTagsWithAnimation(true);\n } else if (maxTagRows !== 'expandable') {\n setShowAllTagsWithAnimation(false);\n }\n }, [showAllTags, maxTagRows]);\n\n const {\n handleOnFocus,\n handleOnChange,\n handleOnClick,\n handleOnBlur,\n handleOnSubmit,\n handleOnInput,\n handleOnKeyDown,\n inputValue,\n } = useInput({\n defaultValue,\n value,\n onFocus,\n onClick,\n onChange,\n onBlur,\n onSubmit,\n onInput,\n onKeyDown,\n onInputKeydownTagHandler,\n });\n const { inputId, helpTextId, errorTextId, successTextId } = useFormId(id);\n const { matchedDeviceType } = useBreakpoint({ breakpoints: theme.breakpoints });\n const isLabelLeftPositioned = labelPosition === 'left' && matchedDeviceType === 'desktop';\n const { currentInteraction, setCurrentInteraction } = useInteraction();\n const _isRequired = isRequired || necessityIndicator === 'required';\n\n const accessibilityProps = makeAccessible({\n required: Boolean(_isRequired),\n disabled: Boolean(isDisabled),\n invalid: Boolean(validationState === 'error'),\n describedBy: getDescribedByElementId({\n validationState,\n hasErrorText: Boolean(errorText),\n hasSuccessText: Boolean(successText),\n hasHelpText: Boolean(helpText),\n errorTextId,\n successTextId,\n helpTextId,\n }),\n label: accessibilityLabel,\n hasPopup,\n expanded: hasPopup ? isPopupExpanded : undefined,\n controls: hasPopup ? popupId : undefined,\n role: hasPopup ? 'combobox' : undefined,\n activeDescendant,\n });\n\n const willRenderHintText =\n Boolean(helpText) ||\n (validationState === 'success' && Boolean(successText)) ||\n (validationState === 'error' && Boolean(errorText));\n\n if (__DEV__) {\n if (\n autoCompleteSuggestionType &&\n !autoCompleteSuggestionTypeValues.includes(autoCompleteSuggestionType)\n ) {\n throwBladeError({\n message: `Expected autoCompleteSuggestionType to be one of ${autoCompleteSuggestionTypeValues.join(\n ', ',\n )} but received ${autoCompleteSuggestionType}`,\n moduleName: 'Input',\n });\n }\n }\n\n const isTextArea = as === 'textarea';\n return (\n <BaseBox {...metaAttribute({ name: componentName, testID })} {...getStyledProps(rest)}>\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'row' : 'column'}\n justifyContent={isLabelLeftPositioned ? 'center' : undefined}\n alignItems={isLabelLeftPositioned ? 'center' : undefined}\n position=\"relative\"\n width=\"100%\"\n >\n {!hideLabelText && !isLabelInsideInput && label && (\n <BaseBox\n display=\"flex\"\n flexDirection={isLabelLeftPositioned ? 'column' : 'row'}\n justifyContent=\"space-between\"\n alignSelf={isTextArea ? 'flex-start' : undefined}\n marginY={isTextArea && isLabelLeftPositioned ? 'spacing.3' : 'spacing.0'}\n >\n <FormLabel\n as=\"label\"\n necessityIndicator={necessityIndicator}\n position={labelPosition}\n id={labelId}\n htmlFor={inputId}\n size={size}\n >\n {label}\n </FormLabel>\n {trailingHeaderSlot?.(value ?? inputValue)}\n </BaseBox>\n )}\n <FocusRingWrapper\n currentInteraction={currentInteraction}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputWrapper\n isDropdownTrigger={isDropdownTrigger}\n isTextArea={isTextArea}\n isDisabled={isDisabled}\n validationState={validationState}\n currentInteraction={currentInteraction}\n isLabelLeftPositioned={isLabelLeftPositioned}\n showAllTags={showAllTags}\n setShowAllTagsWithAnimation={setShowAllTagsWithAnimation}\n ref={(refNode) => {\n if (refNode) {\n setInputWrapperRef?.(refNode);\n inputWrapperRef.current = refNode;\n }\n }}\n maxTagRows={maxTagRows}\n size={size}\n numberOfLines={numberOfLines}\n onClick={() => {\n if (!isReactNative) {\n inputRef.current?.focus();\n }\n }}\n isTableInputCell={isTableInputCell}\n >\n <BaseInputVisuals\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n isDisabled={isDisabled}\n leadingInteractionElement={leadingInteractionElement}\n />\n <BaseInputTagSlot\n renderAs={as}\n tags={tags}\n isDisabled={isDisabled}\n showAllTags={showAllTagsWithAnimation}\n setFocusOnInput={() => {\n if (ref && !isReactNative && 'current' in ref) {\n ref.current?.focus();\n }\n }}\n labelPrefix={isLabelInsideInput ? label : undefined}\n isDropdownTrigger={isDropdownTrigger}\n visibleTagsCountRef={visibleTagsCountRef}\n handleOnInputClick={(e) => {\n handleOnClick({ name, value: isReactNative ? value : e });\n }}\n setShouldIgnoreBlurAnimation={setShouldIgnoreBlurAnimation}\n maxTagRows={maxTagRows}\n inputWrapperRef={inputWrapperRef}\n size={size}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea}\n >\n <StyledBaseInput\n as={as}\n id={inputId}\n ref={mergedInputRef as any}\n name={name}\n type={type}\n defaultValue={defaultValue}\n value={value}\n placeholder={placeholder}\n isDisabled={isDisabled}\n validationState={validationState}\n isRequired={_isRequired}\n handleOnFocus={handleOnFocus}\n handleOnChange={handleOnChange}\n handleOnBlur={handleOnBlur}\n handleOnSubmit={handleOnSubmit}\n handleOnInput={handleOnInput}\n handleOnKeyDown={handleOnKeyDown}\n handleOnClick={handleOnClick}\n leadingIcon={leadingIcon}\n prefix={prefix}\n trailingInteractionElement={trailingInteractionElement}\n leadingInteractionElement={leadingInteractionElement}\n suffix={suffix}\n trailingIcon={trailingIcon}\n maxCharacters={maxCharacters}\n textAlign={textAlign}\n // eslint-disable-next-line jsx-a11y/no-autofocus\n autoFocus={autoFocus}\n keyboardReturnKeyType={keyboardReturnKeyType}\n keyboardType={keyboardType}\n autoCompleteSuggestionType={autoCompleteSuggestionType}\n accessibilityProps={accessibilityProps}\n currentInteraction={currentInteraction}\n setCurrentInteraction={setCurrentInteraction}\n numberOfLines={numberOfLines}\n isTextArea={isTextArea || maxTagRows === 'multiple' || maxTagRows === 'expandable'}\n hasPopup={hasPopup}\n hasTags={!!(tags && tags.length > 0)}\n shouldIgnoreBlurAnimation={shouldIgnoreBlurAnimation}\n autoCapitalize={autoCapitalize}\n isDropdownTrigger={isDropdownTrigger}\n $size={size}\n valueComponentType={valueComponentType}\n isTableInputCell={isTableInputCell}\n {...metaAttribute({ name: MetaConstants.StyledBaseInput })}\n {...makeAnalyticsAttribute(rest)}\n />\n </BaseInputTagSlot>\n <BaseInputVisuals\n trailingInteractionElement={trailingInteractionElement}\n onTrailingInteractionElementClick={onTrailingInteractionElementClick}\n suffix={suffix}\n trailingIcon={trailingIcon}\n isDisabled={isDisabled}\n validationState={validationState}\n trailingButton={trailingButton}\n size={size}\n errorText={errorText}\n successText={successText}\n showHintsAsTooltip={showHintsAsTooltip}\n />\n </BaseInputWrapper>\n </FocusRingWrapper>\n </BaseBox>\n\n {hideFormHint || showHintsAsTooltip ? null : (\n <BaseBox\n marginLeft={makeSize(\n isLabelLeftPositioned && !hideLabelText ? formHintLeftLabelMarginLeft[size] : 0,\n )}\n >\n <BaseBox\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent={willRenderHintText ? 'space-between' : 'flex-end'}\n >\n <FormHint\n type={getHintType({ validationState, hasHelpText: Boolean(helpText) })}\n helpText={helpText}\n errorText={errorText}\n successText={successText}\n helpTextId={helpTextId}\n errorTextId={errorTextId}\n successTextId={successTextId}\n size={size}\n />\n {trailingFooterSlot?.(value ?? inputValue)}\n </BaseBox>\n </BaseBox>\n )}\n </BaseBox>\n );\n};\n\nconst BaseInputWithRef = React.forwardRef(_BaseInput);\nconst BaseInput = assignWithoutSideEffects(BaseInputWithRef, { displayName: 'BaseInput' });\n\nexport { BaseInput };\n"],"names":["autoCompleteSuggestionTypeValues","useTags","tags","activeTagIndex","setActiveTagIndex","visibleTagsCountRef","React","useRef","useEffect","length","_tags$activeTagIndex","_tags$activeTagIndex$","tagTitle","props","children","announce","onTagLeft","current","onTagRight","onTagRemove","onDismiss","tagIndex","onInputKeydownTagHandler","key","useInput","_ref","value","defaultValue","onClick","onFocus","onChange","onBlur","onSubmit","onInput","onKeyDown","__DEV__","throwBladeError","message","moduleName","_React$useState","useState","_React$useState2","_slicedToArray","inputValue","setInputValue","handleOnFocus","useCallback","_ref2","name","_value","getPlatformType","_value$target$value","target","handleOnClick","_ref3","_value$currentTarget$","currentTarget","handleOnSubmit","_ref4","_value$target$value2","isReactNative","handleOnBlur","_ref5","_value$target$value3","handleOnChange","_ref6","_value$target$value4","handleOnInput","_ref7","_value$target$value5","handleOnKeyDown","_ref8","code","event","getHintType","_ref9","validationState","hasHelpText","getDescribedByElementId","_ref10","hasErrorText","hasSuccessText","errorTextId","successTextId","helpTextId","FocusRingWrapper","styled","BaseBox","_ref11","theme","currentInteraction","isTableInputCell","borderRadius","makeBorderSize","border","radius","none","medium","width","Object","assign","getFocusRingStyles","transitionDuration","castWebType","makeMotionTime","getIn","motion","duration","baseInputBorderBackgroundMotion","transitionTimingFunction","easing","_BaseInput","_ref12","ref","_ref12$as","as","label","_ref12$labelPosition","labelPosition","placeholder","_ref12$type","type","_ref12$showAllTags","showAllTags","_ref12$activeTagIndex","isDisabled","necessityIndicator","errorText","helpText","successText","isRequired","leadingIcon","prefix","trailingInteractionElement","onTrailingInteractionElementClick","leadingInteractionElement","suffix","trailingIcon","maxCharacters","textAlign","autoFocus","keyboardReturnKeyType","keyboardType","autoCompleteSuggestionType","trailingHeaderSlot","trailingFooterSlot","numberOfLines","id","componentName","accessibilityLabel","labelId","activeDescendant","hideLabelText","hideFormHint","hasPopup","popupId","isPopupExpanded","maxTagRows","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","autoCapitalize","setInputWrapperRef","testID","isDropdownTrigger","isLabelInsideInput","_ref12$size","size","trailingButton","_ref12$valueComponent","valueComponentType","_ref12$isTableInputCe","_ref12$showHintsAsToo","showHintsAsTooltip","rest","_objectWithoutProperties","_excluded","_useTheme","useTheme","inputRef","mergedInputRef","useMergeRefs","inputWrapperRef","_useTags","_React$useState3","_React$useState4","showAllTagsWithAnimation","setShowAllTagsWithAnimation","_useInput","_useFormId","useFormId","inputId","_useBreakpoint","useBreakpoint","breakpoints","matchedDeviceType","isLabelLeftPositioned","_useInteraction","useInteraction","setCurrentInteraction","_isRequired","accessibilityProps","makeAccessible","required","Boolean","disabled","invalid","describedBy","expanded","undefined","controls","role","willRenderHintText","includes","join","isTextArea","_jsxs","metaAttribute","getStyledProps","display","flexDirection","justifyContent","alignItems","position","alignSelf","marginY","_jsx","FormLabel","htmlFor","BaseInputWrapper","refNode","_inputRef$current","focus","BaseInputVisuals","BaseInputTagSlot","renderAs","setFocusOnInput","_ref$current","labelPrefix","handleOnInputClick","e","StyledBaseInput","hasTags","$size","MetaConstants","makeAnalyticsAttribute","marginLeft","makeSize","formHintLeftLabelMarginLeft","FormHint","BaseInputWithRef","forwardRef","BaseInput","assignWithoutSideEffects","displayName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6/BA6ZA,IAAMA,gCAAgC,CAAG,CACvC,MAAM,CACN,IAAI,CACJ,MAAM,CACN,OAAO,CACP,UAAU,CACV,UAAU,CACV,aAAa,CACb,aAAa,CACb,WAAW,CACX,YAAY,CACZ,aAAa,CACb,kBAAkB,CAClB,eAAe,CACf,kBAAkB,CAClB,uBAAuB,CACvB,sBAAsB,CACvB,CAGD,IAAMC,OAAO,CAAG,SAAVA,OAAOA,CACXC,IAA4B,CAC5BC,cAAsB,CACtBC,iBAAoD,CAIjD,CACH,IAAMC,mBAAmB,CAAGC,cAAK,CAACC,MAAM,CAAS,CAAC,CAAC,CAEnDD,cAAK,CAACE,SAAS,CAAC,UAAM,CACpB,GAAIN,IAAI,EAAIC,cAAc,EAAI,CAAC,EAAIA,cAAc,CAAGD,IAAI,CAACO,MAAM,CAAE,CAAAC,IAAAA,oBAAA,CAAAC,qBAAA,CAC/D,IAAMC,QAAQ,CAAAF,CAAAA,oBAAA,CAAGR,IAAI,CAACC,cAAc,CAAC,GAAAQ,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,CAAAA,qBAAA,CAApBD,oBAAA,CAAsBG,KAAK,GAAA,IAAA,CAAA,KAAA,CAAA,CAA3BF,qBAAA,CAA6BG,QAAQ,CACtD,GAAIF,QAAQ,CAAE,CACZG,QAAQ,CAAE,SAAQH,QAAS,CAAA,IAAA,CAAK,CAAC,CACnC,CACF,CAEF,CAAC,CAAE,CAACT,cAAc,CAAED,IAAI,cAAJA,IAAI,CAAEO,MAAM,CAAC,CAAC,CAElC,IAAMO,SAAS,CAAG,SAAZA,SAASA,EAAe,CAC5B,GAAIb,cAAc,CAAG,CAAC,CAAE,CACtBC,iBAAiB,EAAA,IAAA,CAAA,KAAA,CAAA,CAAjBA,iBAAiB,CAAGC,mBAAmB,CAACY,OAAO,CAAG,CAAC,CAAC,CACtD,CAEA,GAAId,cAAc,CAAG,CAAC,CAAE,CACtBC,iBAAiB,EAAA,IAAA,CAAA,KAAA,CAAA,CAAjBA,iBAAiB,CAAGD,cAAc,CAAG,CAAC,CAAC,CACzC,CACF,CAAC,CAED,IAAMe,UAAU,CAAG,SAAbA,UAAUA,EAAe,CAC7B,GAAIf,cAAc,CAAGE,mBAAmB,CAACY,OAAO,CAAG,CAAC,CAAE,CACpDb,iBAAiB,cAAjBA,iBAAiB,CAAGD,cAAc,CAAG,CAAC,CAAC,CACzC,CACF,CAAC,CAED,IAAMgB,WAAW,CAAG,SAAdA,WAAWA,EAAe,CAC9B,GAAIhB,cAAc,EAAI,CAAC,EAAIA,cAAc,CAAGE,mBAAmB,CAACY,OAAO,EAAIf,IAAI,CAAE,CAC/EA,IAAI,CAACC,cAAc,CAAC,CAACU,KAAK,CAACO,SAAS,CAAC,CAAEC,QAAQ,CAAElB,cAAe,CAAC,CAAC,CACpE,CACF,CAAC,CAED,IAAMmB,wBAAsD,CAAG,SAAzDA,wBAAsDA,CAAIC,GAAG,CAAK,CACtE,GAAIrB,IAAI,EAAIA,IAAI,CAACO,MAAM,CAAG,CAAC,CAAE,CAC3B,GAAIc,GAAG,GAAK,YAAY,CAAE,CACxBL,UAAU,EAAE,CACd,CAEA,GAAIK,GAAG,GAAK,WAAW,CAAE,CACvBP,SAAS,EAAE,CACb,CAEA,GAAIO,GAAG,GAAK,WAAW,CAAE,CACvBJ,WAAW,EAAE,CACf,CACF,CACF,CAAC,CAED,OAAO,CACLG,wBAAwB,CAAxBA,wBAAwB,CACxBjB,mBAAmB,CAAnBA,mBACF,CAAC,CACH,CAAC,CAED,IAAMmB,QAAQ,CAAG,SAAXA,QAAQA,CAAAC,IAAA,CAiCT,CAAA,IAhCHC,KAAK,CAAAD,IAAA,CAALC,KAAK,CACLC,YAAY,CAAAF,IAAA,CAAZE,YAAY,CACZC,OAAO,CAAAH,IAAA,CAAPG,OAAO,CACPC,OAAO,CAAAJ,IAAA,CAAPI,OAAO,CACPC,QAAQ,CAAAL,IAAA,CAARK,QAAQ,CACRC,MAAM,CAAAN,IAAA,CAANM,MAAM,CACNC,QAAQ,CAAAP,IAAA,CAARO,QAAQ,CACRC,OAAO,CAAAR,IAAA,CAAPQ,OAAO,CACPC,SAAS,CAAAT,IAAA,CAATS,SAAS,CACTZ,wBAAwB,CAAAG,IAAA,CAAxBH,wBAAwB,CAwBxB,GAAIa,OAAO,CAAE,CACX,GAAIT,KAAK,EAAIC,YAAY,CAAE,CACzBS,eAAe,CAAC,CACdC,OAAO,CAAG,CAAgH,+GAAA,CAAA,CAC1HC,UAAU,CAAE,OACd,CAAC,CAAC,CACJ,CACF,CAEA,IAAAC,eAAA,CAAoCjC,cAAK,CAACkC,QAAQ,CAACb,YAAY,OAAZA,YAAY,CAAID,KAAK,CAAC,CAAAe,gBAAA,CAAAC,cAAA,CAAAH,eAAA,CAAlEI,CAAAA,CAAAA,CAAAA,UAAU,CAAAF,gBAAA,CAAA,CAAA,CAAA,CAAEG,aAAa,CAAAH,gBAAA,CAAA,CAAA,CAAA,CAEhC,IAAMI,aAAqC,CAAGvC,cAAK,CAACwC,WAAW,CAC7D,SAAAC,KAAA,CAAqB,CAAlB,IAAAC,IAAI,CAAAD,KAAA,CAAJC,IAAI,CAAEtB,KAAK,CAAAqB,KAAA,CAALrB,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CAEf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,GAAK,QAAQ,CAAE,CACrEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,KAAM,GAAI,OAAOA,KAAK,GAAK,QAAQ,CAAE,CAAA,IAAAyB,mBAAA,CAEpCF,MAAM,CAAAE,CAAAA,mBAAA,CAAGzB,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE0B,MAAM,CAAC1B,KAAK,GAAAyB,IAAAA,CAAAA,mBAAA,CAAI,EAAE,CACpC,CAEAtB,OAAO,EAAPA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,OAAO,CAAG,CACRmB,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACJ,CAAC,CACD,CAACpB,OAAO,CACV,CAAC,CAED,IAAMwB,aAA0C,CAAG/C,cAAK,CAACwC,WAAW,CAClE,SAAAQ,KAAA,CAAqB,CAAA,IAAlBN,IAAI,CAAAM,KAAA,CAAJN,IAAI,CAAEtB,KAAK,CAAA4B,KAAA,CAAL5B,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CAEf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,GAAK,QAAQ,CAAE,CACrEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,KAAM,GAAI,OAAOA,KAAK,GAAK,QAAQ,CAAE,CAAA,IAAA6B,qBAAA,CAEpCN,MAAM,CAAAM,CAAAA,qBAAA,CAAG7B,KAAK,EAALA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,KAAK,CAAE8B,aAAa,CAAC9B,KAAK,GAAA6B,IAAAA,CAAAA,qBAAA,CAAI,EAAE,CAC3C,CAEA3B,OAAO,EAAPA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,OAAO,CAAG,CACRoB,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACJ,CAAC,CACD,CAACrB,OAAO,CACV,CAAC,CAED,IAAM6B,cAAsC,CAAGnD,cAAK,CAACwC,WAAW,CAC9D,SAAAY,KAAA,CAAqB,CAAlB,IAAAV,IAAI,CAAAU,KAAA,CAAJV,IAAI,CAAEtB,KAAK,CAAAgC,KAAA,CAALhC,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CAEf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,GAAK,QAAQ,CAAE,CACrEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,KAAM,GAAI,OAAOA,KAAK,GAAK,QAAQ,CAAE,CAAAiC,IAAAA,oBAAA,CAEpCV,MAAM,EAAAU,oBAAA,CAAGjC,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE0B,MAAM,CAAC1B,KAAK,GAAAiC,IAAAA,CAAAA,oBAAA,CAAI,EAAE,CACpC,CACA,GAAIC,aAAa,EAAE,CAAE,CAGnB5B,QAAQ,EAARA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,QAAQ,CAAG,CACTgB,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACJ,CACF,CAAC,CACD,CAACjB,QAAQ,CACX,CAAC,CAED,IAAM6B,YAAoC,CAAGvD,cAAK,CAACwC,WAAW,CAC5D,SAAAgB,KAAA,CAAqB,CAAA,IAAlBd,IAAI,CAAAc,KAAA,CAAJd,IAAI,CAAEtB,KAAK,CAAAoC,KAAA,CAALpC,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CACf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,EAAI,QAAQ,CAAE,CACpEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,KAAM,GAAI,OAAOA,KAAK,GAAK,QAAQ,CAAE,CAAAqC,IAAAA,oBAAA,CAEpCd,MAAM,EAAAc,oBAAA,CAAGrC,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE0B,MAAM,CAAC1B,KAAK,GAAAqC,IAAAA,CAAAA,oBAAA,CAAI,EAAE,CACpC,CAEAhC,MAAM,cAANA,MAAM,CAAG,CACPiB,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACJ,CAAC,CACD,CAAClB,MAAM,CACT,CAAC,CAED,IAAMiC,cAAsC,CAAG1D,cAAK,CAACwC,WAAW,CAC9D,SAAAmB,KAAA,CAAqB,CAAA,IAAlBjB,IAAI,CAAAiB,KAAA,CAAJjB,IAAI,CAAEtB,KAAK,CAAAuC,KAAA,CAALvC,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CAEf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,GAAK,QAAQ,CAAE,CACrEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,KAAM,GAAI,OAAOA,KAAK,GAAK,QAAQ,CAAE,CAAA,IAAAwC,oBAAA,CAEpCjB,MAAM,EAAAiB,oBAAA,CAAGxC,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE0B,MAAM,CAAC1B,KAAK,GAAAwC,IAAAA,CAAAA,oBAAA,CAAI,EAAE,CACpC,CAEApC,QAAQ,EAARA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,QAAQ,CAAG,CACTkB,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACFL,aAAa,CAACK,MAAM,CAAC,CACvB,CAAC,CACD,CAACnB,QAAQ,CACX,CAAC,CAED,IAAMqC,aAAqC,CAAG7D,cAAK,CAACwC,WAAW,CAC7D,SAAAsB,KAAA,CAAqB,KAAlBpB,IAAI,CAAAoB,KAAA,CAAJpB,IAAI,CAAEtB,KAAK,CAAA0C,KAAA,CAAL1C,KAAK,CACZ,IAAIuB,MAAM,CAAG,EAAE,CACf,GAAIC,eAAe,EAAE,GAAK,cAAc,EAAI,OAAOxB,KAAK,EAAI,QAAQ,CAAE,CACpEuB,MAAM,CAAGvB,KAAK,CAChB,CAAC,QAAU,OAAOA,KAAK,GAAK,QAAQ,CAAE,KAAA2C,oBAAA,CAEpCpB,MAAM,CAAAoB,CAAAA,oBAAA,CAAG3C,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE0B,MAAM,CAAC1B,KAAK,GAAA2C,IAAAA,CAAAA,oBAAA,CAAI,EAAE,CACpC,CAEApC,OAAO,EAAPA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,OAAO,CAAG,CACRe,IAAI,CAAJA,IAAI,CACJtB,KAAK,CAAEuB,MACT,CAAC,CAAC,CACJ,CAAC,CACD,CAAChB,OAAO,CACV,CAAC,CAED,IAAMqC,eAA8C,CAAGhE,cAAK,CAACwC,WAAW,CACtE,SAAAyB,KAAA,CAAgC,CAAA,IAA7BvB,IAAI,CAAAuB,KAAA,CAAJvB,IAAI,CAAEzB,GAAG,CAAAgD,KAAA,CAAHhD,GAAG,CAAEiD,IAAI,CAAAD,KAAA,CAAJC,IAAI,CAAEC,KAAK,CAAAF,KAAA,CAALE,KAAK,CACvBnD,wBAAwB,CAACC,GAAG,CAAC,CAC7BW,SAAS,EAATA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,SAAS,CAAG,CACVc,IAAI,CAAJA,IAAI,CACJzB,GAAG,CAAHA,GAAG,CACHiD,IAAI,CAAJA,IAAI,CACJC,KAAK,CAALA,KACF,CAAC,CAAC,CACJ,CAAC,CAED,CAACvC,SAAS,CACZ,CAAC,CAED,OAAO,CACLW,aAAa,CAAbA,aAAa,CACbQ,aAAa,CAAbA,aAAa,CACbW,cAAc,CAAdA,cAAc,CACdH,YAAY,CAAZA,YAAY,CACZJ,cAAc,CAAdA,cAAc,CACdU,aAAa,CAAbA,aAAa,CACbG,eAAe,CAAfA,eAAe,CACf3B,UAAU,CAAVA,UACF,CAAC,CACH,CAAC,CAEY,IAAA+B,WAAW,CAAG,SAAdA,WAAWA,CAAAC,KAAA,CAMK,KAL3BC,eAAe,CAAAD,KAAA,CAAfC,eAAe,CACfC,WAAW,CAAAF,KAAA,CAAXE,WAAW,CAKX,GAAID,eAAe,GAAK,OAAO,CAAE,CAC/B,OAAO,OAAO,CAChB,CAEA,GAAIA,eAAe,GAAK,SAAS,CAAE,CACjC,OAAO,SAAS,CAClB,CAEA,GAAIC,WAAW,CAAE,CACf,OAAO,MAAM,CACf,CAEA,OAAO,MAAM,CACf,EAEA,IAAMC,uBAAuB,CAAG,SAA1BA,uBAAuBA,CAAAC,MAAA,CAgBf,CAfZ,IAAAH,eAAe,CAAAG,MAAA,CAAfH,eAAe,CACfI,YAAY,CAAAD,MAAA,CAAZC,YAAY,CACZC,cAAc,CAAAF,MAAA,CAAdE,cAAc,CACdJ,WAAW,CAAAE,MAAA,CAAXF,WAAW,CACXK,WAAW,CAAAH,MAAA,CAAXG,WAAW,CACXC,aAAa,CAAAJ,MAAA,CAAbI,aAAa,CACbC,UAAU,CAAAL,MAAA,CAAVK,UAAU,CAUV,GAAIR,eAAe,GAAK,OAAO,EAAII,YAAY,CAAE,CAC/C,OAAOE,WAAW,CACpB,CAEA,GAAIN,eAAe,GAAK,SAAS,EAAIK,cAAc,CAAE,CACnD,OAAOE,aAAa,CACtB,CAEA,GAAIN,WAAW,CAAE,CACf,OAAOO,UAAU,CACnB,CAEA,OAAO,EAAE,CACX,CAAC,CAED,IAAMC,gBAAgB,CAAGC,MAAM,CAACC,OAAO,CAAC,CAGrC,SAAAC,MAAA,CAAG,CAAA,IAAAC,KAAK,CAAAD,MAAA,CAALC,KAAK,CAAEC,kBAAkB,CAAAF,MAAA,CAAlBE,kBAAkB,CAAEC,gBAAgB,CAAAH,MAAA,CAAhBG,gBAAgB,CAAA,OAAQ,CACvDC,YAAY,CAAEC,cAAc,CAC1BF,gBAAgB,CAAGF,KAAK,CAACK,MAAM,CAACC,MAAM,CAACC,IAAI,CAAGP,KAAK,CAACK,MAAM,CAACC,MAAM,CAACE,MACpE,CAAC,CACDC,KAAK,CAAE,MAAM,CACb,gBAAgB,CAAE,CAACP,gBAAgB,CAAAQ,MAAA,CAAAC,MAAA,IAE1BC,kBAAkB,CAEpB,CAAC,CAAA,CACFC,kBAAkB,CAAEC,WAAW,CAC7BC,cAAc,CACZC,KAAK,CACHhB,KAAK,CAACiB,MAAM,CAACC,QAAQ,CACrBC,+BAA+B,CAAClB,kBAAkB,GAAK,OAAO,CAAG,OAAO,CAAG,MAAM,CAAC,CAC/EiB,QACL,CACF,CACF,CAAC,CACDE,wBAAwB,CAAEN,WAAW,CACnCE,KAAK,CACHhB,KAAK,CAACiB,MAAM,CAACI,MAAM,CACnBF,+BAA+B,CAAClB,kBAAkB,GAAK,OAAO,CAAG,OAAO,CAAG,MAAM,CAAC,CAC/EoB,MACL,CACF,CAAC,GAEH,EACN,CAAC,CAAA,CAAC,CAAC,CAEH,IAAMC,UAA2E,CAAG,SAA9EA,UAA2EA,CAAAC,MAAA,CAqE/EC,GAAG,CACA,CAAAC,IAAAA,SAAA,CAAAF,MAAA,CApEDG,EAAE,CAAFA,EAAE,CAAAD,SAAA,GAAA,KAAA,CAAA,CAAG,OAAO,CAAAA,SAAA,CACZE,KAAK,CAAAJ,MAAA,CAALI,KAAK,CAAAC,oBAAA,CAAAL,MAAA,CACLM,aAAa,CAAbA,aAAa,CAAAD,oBAAA,GAAG,KAAA,CAAA,CAAA,KAAK,CAAAA,oBAAA,CACrBE,WAAW,CAAAP,MAAA,CAAXO,WAAW,CAAAC,WAAA,CAAAR,MAAA,CACXS,IAAI,CAAJA,IAAI,CAAAD,WAAA,GAAG,KAAA,CAAA,CAAA,MAAM,CAAAA,WAAA,CACb7F,YAAY,CAAAqF,MAAA,CAAZrF,YAAY,CACZzB,IAAI,CAAA8G,MAAA,CAAJ9G,IAAI,CAAAwH,kBAAA,CAAAV,MAAA,CACJW,WAAW,CAAXA,WAAW,CAAAD,kBAAA,UAAG,KAAK,CAAAA,kBAAA,CAAAE,qBAAA,CAAAZ,MAAA,CACnB7G,cAAc,CAAdA,cAAc,CAAAyH,qBAAA,GAAG,KAAA,CAAA,CAAA,CAAC,CAAC,CAAAA,qBAAA,CACnBxH,iBAAiB,CAAA4G,MAAA,CAAjB5G,iBAAiB,CACjB4C,IAAI,CAAAgE,MAAA,CAAJhE,IAAI,CACJtB,KAAK,CAAAsF,MAAA,CAALtF,KAAK,CACLG,OAAO,CAAAmF,MAAA,CAAPnF,OAAO,CACPC,QAAQ,CAAAkF,MAAA,CAARlF,QAAQ,CACRG,OAAO,CAAA+E,MAAA,CAAP/E,OAAO,CACPF,MAAM,CAAAiF,MAAA,CAANjF,MAAM,CACNC,QAAQ,CAAAgF,MAAA,CAARhF,QAAQ,CACRJ,OAAO,CAAAoF,MAAA,CAAPpF,OAAO,CACPM,SAAS,CAAA8E,MAAA,CAAT9E,SAAS,CACT2F,UAAU,CAAAb,MAAA,CAAVa,UAAU,CACVC,kBAAkB,CAAAd,MAAA,CAAlBc,kBAAkB,CAClBlD,eAAe,CAAAoC,MAAA,CAAfpC,eAAe,CACfmD,SAAS,CAAAf,MAAA,CAATe,SAAS,CACTC,QAAQ,CAAAhB,MAAA,CAARgB,QAAQ,CACRC,WAAW,CAAAjB,MAAA,CAAXiB,WAAW,CACXC,UAAU,CAAAlB,MAAA,CAAVkB,UAAU,CACVC,WAAW,CAAAnB,MAAA,CAAXmB,WAAW,CACXC,MAAM,CAAApB,MAAA,CAANoB,MAAM,CACNC,0BAA0B,CAAArB,MAAA,CAA1BqB,0BAA0B,CAC1BC,iCAAiC,CAAAtB,MAAA,CAAjCsB,iCAAiC,CACjCC,yBAAyB,CAAAvB,MAAA,CAAzBuB,yBAAyB,CACzBC,MAAM,CAAAxB,MAAA,CAANwB,MAAM,CACNC,YAAY,CAAAzB,MAAA,CAAZyB,YAAY,CACZC,aAAa,CAAA1B,MAAA,CAAb0B,aAAa,CACbC,SAAS,CAAA3B,MAAA,CAAT2B,SAAS,CACTC,SAAS,CAAA5B,MAAA,CAAT4B,SAAS,CACTC,qBAAqB,CAAA7B,MAAA,CAArB6B,qBAAqB,CACrBC,YAAY,CAAA9B,MAAA,CAAZ8B,YAAY,CACZC,0BAA0B,CAAA/B,MAAA,CAA1B+B,0BAA0B,CAC1BC,kBAAkB,CAAAhC,MAAA,CAAlBgC,kBAAkB,CAClBC,kBAAkB,CAAAjC,MAAA,CAAlBiC,kBAAkB,CAClBC,aAAa,CAAAlC,MAAA,CAAbkC,aAAa,CACbC,EAAE,CAAAnC,MAAA,CAAFmC,EAAE,CACFC,aAAa,CAAApC,MAAA,CAAboC,aAAa,CACbC,kBAAkB,CAAArC,MAAA,CAAlBqC,kBAAkB,CAClBC,OAAO,CAAAtC,MAAA,CAAPsC,OAAO,CACPC,gBAAgB,CAAAvC,MAAA,CAAhBuC,gBAAgB,CAChBC,aAAa,CAAAxC,MAAA,CAAbwC,aAAa,CACbC,YAAY,CAAAzC,MAAA,CAAZyC,YAAY,CACZC,QAAQ,CAAA1C,MAAA,CAAR0C,QAAQ,CACRC,OAAO,CAAA3C,MAAA,CAAP2C,OAAO,CACPC,eAAe,CAAA5C,MAAA,CAAf4C,eAAe,CACfC,UAAU,CAAA7C,MAAA,CAAV6C,UAAU,CACVC,yBAAyB,CAAA9C,MAAA,CAAzB8C,yBAAyB,CACzBC,4BAA4B,CAAA/C,MAAA,CAA5B+C,4BAA4B,CAC5BC,cAAc,CAAAhD,MAAA,CAAdgD,cAAc,CACdC,kBAAkB,CAAAjD,MAAA,CAAlBiD,kBAAkB,CAClBC,MAAM,CAAAlD,MAAA,CAANkD,MAAM,CACNC,iBAAiB,CAAAnD,MAAA,CAAjBmD,iBAAiB,CACjBC,kBAAkB,CAAApD,MAAA,CAAlBoD,kBAAkB,CAAAC,WAAA,CAAArD,MAAA,CAClBsD,IAAI,CAAJA,IAAI,CAAAD,WAAA,GAAG,KAAA,CAAA,CAAA,QAAQ,CAAAA,WAAA,CACfE,cAAc,CAAAvD,MAAA,CAAduD,cAAc,CAAAC,qBAAA,CAAAxD,MAAA,CACdyD,kBAAkB,CAAlBA,kBAAkB,CAAAD,qBAAA,UAAG,MAAM,CAAAA,qBAAA,CAAAE,qBAAA,CAAA1D,MAAA,CAC3BrB,gBAAgB,CAAhBA,gBAAgB,CAAA+E,qBAAA,GAAG,KAAA,CAAA,CAAA,KAAK,CAAAA,qBAAA,CAAAC,qBAAA,CAAA3D,MAAA,CACxB4D,kBAAkB,CAAlBA,kBAAkB,CAAAD,qBAAA,GAAG,KAAA,CAAA,CAAA,KAAK,CAAAA,qBAAA,CACvBE,IAAI,CAAAC,wBAAA,CAAA9D,MAAA,CAAA+D,SAAA,EAIT,IAAAC,SAAA,CAAkBC,QAAQ,EAAE,CAApBxF,KAAK,CAAAuF,SAAA,CAALvF,KAAK,CACb,IAAMyF,QAAQ,CAAG5K,cAAK,CAACC,MAAM,CAAkB,IAAI,CAAC,CACpD,IAAM4K,cAAc,CAAGC,YAAY,CAACnE,GAAG,CAAEiE,QAAQ,CAAC,CAClD,IAAMG,eAAgC,CAAG/K,cAAK,CAACC,MAAM,CAAC,IAAI,CAAC,CAC3D,IAAA+K,QAAA,CAA0DrL,OAAO,CAC/DC,IAAI,CACJC,cAAc,CACdC,iBACF,CAAC,CAJOkB,wBAAwB,CAAAgK,QAAA,CAAxBhK,wBAAwB,CAAEjB,mBAAmB,CAAAiL,QAAA,CAAnBjL,mBAAmB,CAKrD,IAAAkL,gBAAA,CAAgEjL,cAAK,CAACkC,QAAQ,CAAC,KAAK,CAAC,CAAAgJ,gBAAA,CAAA9I,cAAA,CAAA6I,gBAAA,CAA9EE,CAAAA,CAAAA,CAAAA,wBAAwB,CAAAD,gBAAA,CAAA,CAAA,CAAA,CAAEE,2BAA2B,CAAAF,gBAAA,CAAA,CAAA,CAAA,CAC5D,IAAM5H,aAAa,CAAGV,eAAe,EAAE,GAAK,cAAc,CAE1D5C,cAAK,CAACE,SAAS,CAAC,UAAM,CACpB,GAAImH,WAAW,CAAE,CACf+D,2BAA2B,CAAC,IAAI,CAAC,CACnC,CAAC,KAAU7B,GAAAA,UAAU,GAAK,YAAY,CAAE,CACtC6B,2BAA2B,CAAC,KAAK,CAAC,CACpC,CACF,CAAC,CAAE,CAAC/D,WAAW,CAAEkC,UAAU,CAAC,CAAC,CAE7B,IAAA8B,SAAA,CASInK,QAAQ,CAAC,CACXG,YAAY,CAAZA,YAAY,CACZD,KAAK,CAALA,KAAK,CACLG,OAAO,CAAPA,OAAO,CACPD,OAAO,CAAPA,OAAO,CACPE,QAAQ,CAARA,QAAQ,CACRC,MAAM,CAANA,MAAM,CACNC,QAAQ,CAARA,QAAQ,CACRC,OAAO,CAAPA,OAAO,CACPC,SAAS,CAATA,SAAS,CACTZ,wBAAwB,CAAxBA,wBACF,CAAC,CAAC,CAnBAuB,aAAa,CAAA8I,SAAA,CAAb9I,aAAa,CACbmB,cAAc,CAAA2H,SAAA,CAAd3H,cAAc,CACdX,aAAa,CAAAsI,SAAA,CAAbtI,aAAa,CACbQ,YAAY,CAAA8H,SAAA,CAAZ9H,YAAY,CACZJ,cAAc,CAAAkI,SAAA,CAAdlI,cAAc,CACdU,aAAa,CAAAwH,SAAA,CAAbxH,aAAa,CACbG,eAAe,CAAAqH,SAAA,CAAfrH,eAAe,CACf3B,UAAU,CAAAgJ,SAAA,CAAVhJ,UAAU,CAaZ,IAAAiJ,UAAA,CAA4DC,SAAS,CAAC1C,EAAE,CAAC,CAAjE2C,OAAO,CAAAF,UAAA,CAAPE,OAAO,CAAE1G,UAAU,CAAAwG,UAAA,CAAVxG,UAAU,CAAEF,WAAW,CAAA0G,UAAA,CAAX1G,WAAW,CAAEC,aAAa,CAAAyG,UAAA,CAAbzG,aAAa,CACvD,IAAA4G,cAAA,CAA8BC,aAAa,CAAC,CAAEC,WAAW,CAAExG,KAAK,CAACwG,WAAY,CAAC,CAAC,CAAvEC,iBAAiB,CAAAH,cAAA,CAAjBG,iBAAiB,CACzB,IAAMC,qBAAqB,CAAG7E,aAAa,GAAK,MAAM,EAAI4E,iBAAiB,GAAK,SAAS,CACzF,IAAAE,eAAA,CAAsDC,cAAc,EAAE,CAA9D3G,kBAAkB,CAAA0G,eAAA,CAAlB1G,kBAAkB,CAAE4G,qBAAqB,CAAAF,eAAA,CAArBE,qBAAqB,CACjD,IAAMC,WAAW,CAAGrE,UAAU,EAAIJ,kBAAkB,GAAK,UAAU,CAEnE,IAAM0E,kBAAkB,CAAGC,cAAc,CAAC,CACxCC,QAAQ,CAAEC,OAAO,CAACJ,WAAW,CAAC,CAC9BK,QAAQ,CAAED,OAAO,CAAC9E,UAAU,CAAC,CAC7BgF,OAAO,CAAEF,OAAO,CAAC/H,eAAe,GAAK,OAAO,CAAC,CAC7CkI,WAAW,CAAEhI,uBAAuB,CAAC,CACnCF,eAAe,CAAfA,eAAe,CACfI,YAAY,CAAE2H,OAAO,CAAC5E,SAAS,CAAC,CAChC9C,cAAc,CAAE0H,OAAO,CAAC1E,WAAW,CAAC,CACpCpD,WAAW,CAAE8H,OAAO,CAAC3E,QAAQ,CAAC,CAC9B9C,WAAW,CAAXA,WAAW,CACXC,aAAa,CAAbA,aAAa,CACbC,UAAU,CAAVA,UACF,CAAC,CAAC,CACFgC,KAAK,CAAEiC,kBAAkB,CACzBK,QAAQ,CAARA,QAAQ,CACRqD,QAAQ,CAAErD,QAAQ,CAAGE,eAAe,CAAGoD,SAAS,CAChDC,QAAQ,CAAEvD,QAAQ,CAAGC,OAAO,CAAGqD,SAAS,CACxCE,IAAI,CAAExD,QAAQ,CAAG,UAAU,CAAGsD,SAAS,CACvCzD,gBAAgB,CAAhBA,gBACF,CAAC,CAAC,CAEF,IAAM4D,kBAAkB,CACtBR,OAAO,CAAC3E,QAAQ,CAAC,EAChBpD,eAAe,GAAK,SAAS,EAAI+H,OAAO,CAAC1E,WAAW,CAAE,EACtDrD,eAAe,GAAK,OAAO,EAAI+H,OAAO,CAAC5E,SAAS,CAAE,CAErD,GAAI5F,OAAO,CAAE,CACX,GACE4G,0BAA0B,EAC1B,CAAC/I,gCAAgC,CAACoN,QAAQ,CAACrE,0BAA0B,CAAC,CACtE,CACA3G,eAAe,CAAC,CACdC,OAAO,CAAG,CAAmDrC,iDAAAA,EAAAA,gCAAgC,CAACqN,IAAI,CAChG,IACF,CAAE,CAAgBtE,cAAAA,EAAAA,0BAA2B,EAAC,CAC9CzG,UAAU,CAAE,OACd,CAAC,CAAC,CACJ,CACF,CAEA,IAAMgL,UAAU,CAAGnG,EAAE,GAAK,UAAU,CACpC,OACEoG,IAAA,CAAChI,OAAO,CAAAY,MAAA,CAAAC,MAAA,IAAKoH,aAAa,CAAC,CAAExK,IAAI,CAAEoG,aAAa,CAAEc,MAAM,CAANA,MAAO,CAAC,CAAC,CAAMuD,cAAc,CAAC5C,IAAI,CAAC,CAAA,CAAA/J,QAAA,CAAA,CACnFyM,IAAA,CAAChI,OAAO,CACNmI,CAAAA,OAAO,CAAC,MAAM,CACdC,aAAa,CAAExB,qBAAqB,CAAG,KAAK,CAAG,QAAS,CACxDyB,cAAc,CAAEzB,qBAAqB,CAAG,QAAQ,CAAGa,SAAU,CAC7Da,UAAU,CAAE1B,qBAAqB,CAAG,QAAQ,CAAGa,SAAU,CACzDc,QAAQ,CAAC,UAAU,CACnB5H,KAAK,CAAC,MAAM,CAAApF,QAAA,CAAA,CAEX,CAAC0I,aAAa,EAAI,CAACY,kBAAkB,EAAIhD,KAAK,EAC7CmG,IAAA,CAAChI,OAAO,CAAA,CACNmI,OAAO,CAAC,MAAM,CACdC,aAAa,CAAExB,qBAAqB,CAAG,QAAQ,CAAG,KAAM,CACxDyB,cAAc,CAAC,eAAe,CAC9BG,SAAS,CAAET,UAAU,CAAG,YAAY,CAAGN,SAAU,CACjDgB,OAAO,CAAEV,UAAU,EAAInB,qBAAqB,CAAG,WAAW,CAAG,WAAY,CAAArL,QAAA,EAEzEmN,GAAA,CAACC,SAAS,CAAA,CACR/G,EAAE,CAAC,OAAO,CACVW,kBAAkB,CAAEA,kBAAmB,CACvCgG,QAAQ,CAAExG,aAAc,CACxB6B,EAAE,CAAEG,OAAQ,CACZ6E,OAAO,CAAErC,OAAQ,CACjBxB,IAAI,CAAEA,IAAK,CAAAxJ,QAAA,CAEVsG,KAAK,CACG,CAAC,CACX4B,kBAAkB,EAAlBA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,kBAAkB,CAAGtH,KAAK,OAALA,KAAK,CAAIiB,UAAU,CAAC,CACnC,CAAA,CACV,CACDsL,GAAA,CAAC5I,gBAAgB,CACfK,CAAAA,kBAAkB,CAAEA,kBAAmB,CACvCC,gBAAgB,CAAEA,gBAAiB,CAAA7E,QAAA,CAEnCyM,IAAA,CAACa,gBAAgB,CACfjE,CAAAA,iBAAiB,CAAEA,iBAAkB,CACrCmD,UAAU,CAAEA,UAAW,CACvBzF,UAAU,CAAEA,UAAW,CACvBjD,eAAe,CAAEA,eAAgB,CACjCc,kBAAkB,CAAEA,kBAAmB,CACvCyG,qBAAqB,CAAEA,qBAAsB,CAC7CxE,WAAW,CAAEA,WAAY,CACzB+D,2BAA2B,CAAEA,2BAA4B,CACzDzE,GAAG,CAAE,SAAAA,IAACoH,OAAO,CAAK,CAChB,GAAIA,OAAO,CAAE,CACXpE,kBAAkB,EAAlBA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,kBAAkB,CAAGoE,OAAO,CAAC,CAC7BhD,eAAe,CAACpK,OAAO,CAAGoN,OAAO,CACnC,CACF,CAAE,CACFxE,UAAU,CAAEA,UAAW,CACvBS,IAAI,CAAEA,IAAK,CACXpB,aAAa,CAAEA,aAAc,CAC7BtH,OAAO,CAAE,SAAAA,SAAM,CACb,GAAI,CAACgC,aAAa,CAAE,KAAA0K,iBAAA,CAClB,CAAAA,iBAAA,CAAApD,QAAQ,CAACjK,OAAO,GAAA,IAAA,CAAA,KAAA,CAAA,CAAhBqN,iBAAA,CAAkBC,KAAK,EAAE,CAC3B,CACF,CAAE,CACF5I,gBAAgB,CAAEA,gBAAiB,CAAA7E,QAAA,CAAA,CAEnCmN,GAAA,CAACO,gBAAgB,CACflE,CAAAA,IAAI,CAAEA,IAAK,CACXnC,WAAW,CAAEA,WAAY,CACzBC,MAAM,CAAEA,MAAO,CACfP,UAAU,CAAEA,UAAW,CACvBU,yBAAyB,CAAEA,yBAA0B,CACtD,CAAC,CACF0F,GAAA,CAACQ,gBAAgB,EACfC,QAAQ,CAAEvH,EAAG,CACbjH,IAAI,CAAEA,IAAK,CACX2H,UAAU,CAAEA,UAAW,CACvBF,WAAW,CAAE8D,wBAAyB,CACtCkD,eAAe,CAAE,SAAAA,iBAAM,CACrB,GAAI1H,GAAG,EAAI,CAACrD,aAAa,EAAI,SAAS,GAAIqD,GAAG,CAAE,KAAA2H,YAAA,CAC7C,CAAAA,YAAA,CAAA3H,GAAG,CAAChG,OAAO,GAAX2N,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,YAAA,CAAaL,KAAK,EAAE,CACtB,CACF,CAAE,CACFM,WAAW,CAAEzE,kBAAkB,CAAGhD,KAAK,CAAG4F,SAAU,CACpD7C,iBAAiB,CAAEA,iBAAkB,CACrC9J,mBAAmB,CAAEA,mBAAoB,CACzCyO,kBAAkB,CAAE,SAAAA,kBAACC,CAAAA,CAAC,CAAK,CACzB1L,aAAa,CAAC,CAAEL,IAAI,CAAJA,IAAI,CAAEtB,KAAK,CAAEkC,aAAa,CAAGlC,KAAK,CAAGqN,CAAE,CAAC,CAAC,CAC3D,CAAE,CACFhF,4BAA4B,CAAEA,4BAA6B,CAC3DF,UAAU,CAAEA,UAAW,CACvBwB,eAAe,CAAEA,eAAgB,CACjCf,IAAI,CAAEA,IAAK,CACXpB,aAAa,CAAEA,aAAc,CAC7BoE,UAAU,CAAEA,UAAW,CAAAxM,QAAA,CAEvBmN,GAAA,CAACe,eAAe,CAAA7I,MAAA,CAAAC,MAAA,EACde,EAAE,CAAEA,EAAG,CACPgC,EAAE,CAAE2C,OAAQ,CACZ7E,GAAG,CAAEkE,cAAsB,CAC3BnI,IAAI,CAAEA,IAAK,CACXyE,IAAI,CAAEA,IAAK,CACX9F,YAAY,CAAEA,YAAa,CAC3BD,KAAK,CAAEA,KAAM,CACb6F,WAAW,CAAEA,WAAY,CACzBM,UAAU,CAAEA,UAAW,CACvBjD,eAAe,CAAEA,eAAgB,CACjCsD,UAAU,CAAEqE,WAAY,CACxB1J,aAAa,CAAEA,aAAc,CAC7BmB,cAAc,CAAEA,cAAe,CAC/BH,YAAY,CAAEA,YAAa,CAC3BJ,cAAc,CAAEA,cAAe,CAC/BU,aAAa,CAAEA,aAAc,CAC7BG,eAAe,CAAEA,eAAgB,CACjCjB,aAAa,CAAEA,aAAc,CAC7B8E,WAAW,CAAEA,WAAY,CACzBC,MAAM,CAAEA,MAAO,CACfC,0BAA0B,CAAEA,0BAA2B,CACvDE,yBAAyB,CAAEA,yBAA0B,CACrDC,MAAM,CAAEA,MAAO,CACfC,YAAY,CAAEA,YAAa,CAC3BC,aAAa,CAAEA,aAAc,CAC7BC,SAAS,CAAEA,SAAU,CAErBC,SAAS,CAAEA,SAAU,CACrBC,qBAAqB,CAAEA,qBAAsB,CAC7CC,YAAY,CAAEA,YAAa,CAC3BC,0BAA0B,CAAEA,0BAA2B,CACvDyD,kBAAkB,CAAEA,kBAAmB,CACvC9G,kBAAkB,CAAEA,kBAAmB,CACvC4G,qBAAqB,CAAEA,qBAAsB,CAC7CpD,aAAa,CAAEA,aAAc,CAC7BoE,UAAU,CAAEA,UAAU,EAAIzD,UAAU,GAAK,UAAU,EAAIA,UAAU,GAAK,YAAa,CACnFH,QAAQ,CAAEA,QAAS,CACnBuF,OAAO,CAAE,CAAC,EAAE/O,IAAI,EAAIA,IAAI,CAACO,MAAM,CAAG,CAAC,CAAE,CACrCqJ,yBAAyB,CAAEA,yBAA0B,CACrDE,cAAc,CAAEA,cAAe,CAC/BG,iBAAiB,CAAEA,iBAAkB,CACrC+E,KAAK,CAAE5E,IAAK,CACZG,kBAAkB,CAAEA,kBAAmB,CACvC9E,gBAAgB,CAAEA,gBAAiB,CAC/B6H,CAAAA,aAAa,CAAC,CAAExK,IAAI,CAAEmM,aAAa,CAACH,eAAgB,CAAC,CAAC,CACtDI,sBAAsB,CAACvE,IAAI,CAAC,CACjC,CAAC,CACc,CAAC,CACnBoD,GAAA,CAACO,gBAAgB,CACfnG,CAAAA,0BAA0B,CAAEA,0BAA2B,CACvDC,iCAAiC,CAAEA,iCAAkC,CACrEE,MAAM,CAAEA,MAAO,CACfC,YAAY,CAAEA,YAAa,CAC3BZ,UAAU,CAAEA,UAAW,CACvBjD,eAAe,CAAEA,eAAgB,CACjC2F,cAAc,CAAEA,cAAe,CAC/BD,IAAI,CAAEA,IAAK,CACXvC,SAAS,CAAEA,SAAU,CACrBE,WAAW,CAAEA,WAAY,CACzB2C,kBAAkB,CAAEA,kBAAmB,CACxC,CAAC,CACc,CAAA,CAAC,CACH,CAAC,CAAA,CACZ,CAAC,CAETnB,YAAY,EAAImB,kBAAkB,CAAG,IAAI,CACxCqD,GAAA,CAAC1I,OAAO,EACN8J,UAAU,CAAEC,QAAQ,CAClBnD,qBAAqB,EAAI,CAAC3C,aAAa,CAAG+F,2BAA2B,CAACjF,IAAI,CAAC,CAAG,CAChF,CAAE,CAAAxJ,QAAA,CAEFyM,IAAA,CAAChI,OAAO,CACNmI,CAAAA,OAAO,CAAC,MAAM,CACdC,aAAa,CAAC,KAAK,CACnBC,cAAc,CAAET,kBAAkB,CAAG,eAAe,CAAG,UAAW,CAAArM,QAAA,CAElEmN,CAAAA,GAAA,CAACuB,QAAQ,CACP/H,CAAAA,IAAI,CAAE/C,WAAW,CAAC,CAAEE,eAAe,CAAfA,eAAe,CAAEC,WAAW,CAAE8H,OAAO,CAAC3E,QAAQ,CAAE,CAAC,CAAE,CACvEA,QAAQ,CAAEA,QAAS,CACnBD,SAAS,CAAEA,SAAU,CACrBE,WAAW,CAAEA,WAAY,CACzB7C,UAAU,CAAEA,UAAW,CACvBF,WAAW,CAAEA,WAAY,CACzBC,aAAa,CAAEA,aAAc,CAC7BmF,IAAI,CAAEA,IAAK,CACZ,CAAC,CACDrB,kBAAkB,EAAlBA,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,kBAAkB,CAAGvH,KAAK,EAALA,IAAAA,CAAAA,KAAK,CAAIiB,UAAU,CAAC,CACnC,CAAA,CAAC,CACH,CACV,GACM,CAAC,CAEd,CAAC,CAED,IAAM8M,gBAAgB,CAAGnP,cAAK,CAACoP,UAAU,CAAC3I,UAAU,CAAC,CAC/C,IAAA4I,SAAS,CAAGC,wBAAwB,CAACH,gBAAgB,CAAE,CAAEI,WAAW,CAAE,WAAY,CAAC;;;;"}
|
|
@@ -16,10 +16,11 @@ import { useFirstRender } from '../../../utils/useFirstRender.js';
|
|
|
16
16
|
import { useTableContext } from '../../Table/TableContext.js';
|
|
17
17
|
import { rowDensityToIsTableInputCellMapping, tableEditableCellRowDensityToInputSizeMap, validationStateToInputTrailingIconMap } from '../../Table/tokens.js';
|
|
18
18
|
import { useTableEditableCell } from '../../Table/TableEditableCellContext.js';
|
|
19
|
+
import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
19
20
|
import { fireNativeEvent } from '../../../utils/fireNativeEvent/fireNativeEvent.native.js';
|
|
20
21
|
import { jsx } from 'react/jsx-runtime';
|
|
21
22
|
|
|
22
|
-
var useControlledDropdownInput=function useControlledDropdownInput(props){var isFirstRender=useFirstRender();var _useDropdown=useDropdown(),changeCallbackTriggerer=_useDropdown.changeCallbackTriggerer,isControlled=_useDropdown.isControlled,options=_useDropdown.options,selectedIndices=_useDropdown.selectedIndices,controlledValueIndices=_useDropdown.controlledValueIndices,setSelectedIndices=_useDropdown.setSelectedIndices,selectionType=_useDropdown.selectionType,setIsControlled=_useDropdown.setIsControlled;var getValuesArrayFromIndices=function getValuesArrayFromIndices(){var indices=[];if(isControlled){indices=controlledValueIndices;}else {indices=selectedIndices;}return indices.map(function(selectionIndex){return options[selectionIndex].value;});};var selectValues=function selectValues(valuesToSelect){if(options.length>0){if(isEmpty(valuesToSelect)){setSelectedIndices([]);}else if(typeof valuesToSelect==='string'){var selectedItemIndex=options.findIndex(function(option){return option.value===valuesToSelect;});if(selectedItemIndex>=0){setSelectedIndices([selectedItemIndex]);}}else {var uniqueValues=Array.from(new Set(valuesToSelect));var userValues=selectionType==='single'?[valuesToSelect==null?void 0:valuesToSelect[0]]:uniqueValues;var selectedItemIndices=userValues.map(function(optionValue){return options.findIndex(function(option){return option.value===optionValue;});}).filter(function(value){return value>=0;});setSelectedIndices(selectedItemIndices);}}};React__default.useEffect(function(){if(options.length>0&&props.defaultValue){selectValues(props.defaultValue);}},[options.length]);React__default.useEffect(function(){if(options.length>0&&props.value!==undefined){if(!isControlled){setIsControlled(true);}selectValues(props.value);if(selectionType==='single'&&!Array.isArray(props.value)&&!props.isSelectInput){props.syncInputValueWithSelection==null?void 0:props.syncInputValueWithSelection(props.value);}}},[props.value,options]);React__default.useEffect(function(){if(!isFirstRender){props.onChange==null?void 0:props.onChange({name:props.name,values:getValuesArrayFromIndices()});if(isBrowser()){fireNativeEvent(props.triggererRef);}}},[changeCallbackTriggerer]);};var _BaseDropdownInputTrigger=function _BaseDropdownInputTrigger(props,ref){var _props$placeholder,_props$validationStat,_props$maxRows,_props$label;var _useDropdown2=useDropdown(),isOpen=_useDropdown2.isOpen,activeTagIndex=_useDropdown2.activeTagIndex,setActiveTagIndex=_useDropdown2.setActiveTagIndex,displayValue=_useDropdown2.displayValue,selectionType=_useDropdown2.selectionType,dropdownTriggerer=_useDropdown2.dropdownTriggerer,dropdownBaseId=_useDropdown2.dropdownBaseId,selectedIndices=_useDropdown2.selectedIndices,triggererRef=_useDropdown2.triggererRef,triggererWrapperRef=_useDropdown2.triggererWrapperRef,isTagDismissedRef=_useDropdown2.isTagDismissedRef,onTriggerClick=_useDropdown2.onTriggerClick,value=_useDropdown2.value,shouldIgnoreBlurAnimation=_useDropdown2.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_useDropdown2.setShouldIgnoreBlurAnimation,activeIndex=_useDropdown2.activeIndex,hasFooterAction=_useDropdown2.hasFooterAction,hasAutoCompleteInBottomSheetHeader=_useDropdown2.hasAutoCompleteInBottomSheetHeader,options=_useDropdown2.options,removeOption=_useDropdown2.removeOption,setChangeCallbackTriggerer=_useDropdown2.setChangeCallbackTriggerer,changeCallbackTriggerer=_useDropdown2.changeCallbackTriggerer;var _useTableContext=useTableContext(),rowDensity=_useTableContext.rowDensity;var _useTableEditableCell=useTableEditableCell(),isInsideTableEditableCell=_useTableEditableCell.isInsideTableEditableCell;var dropdownTriggerPlaceholder=(_props$placeholder=props.placeholder)!=null?_props$placeholder:'Select Option';var isAutoCompleteInHeader=!props.isSelectInput&&hasAutoCompleteInBottomSheetHeader;var getShowAllTags=React__default.useCallback(function(){if(hasAutoCompleteInBottomSheetHeader){if(props.isSelectInput){return false;}return true;}return isOpen;},[hasAutoCompleteInBottomSheetHeader,props.isSelectInput,isOpen]);useControlledDropdownInput({onChange:props.onChange,name:props.name,value:props.value,defaultValue:props.defaultValue,syncInputValueWithSelection:props.syncInputValueWithSelection,isSelectInput:props.isSelectInput,triggererRef:triggererRef});var getValue=function getValue(){var prefix='';if(props.labelPosition==='inside-input'&&props.label){prefix=`${props.label}: `;}if(props.isSelectInput){if(selectionType==='single'){return `${prefix}${displayValue}`;}return undefined;}return props.inputValue;};var getTags=React__default.useMemo(function(){return function(_ref){var size=_ref.size;if(selectionType==='single'){return undefined;}return getTagsGroup({size:size,tags:selectedIndices.map(function(selectedIndex){var _options$selectedInde;return (_options$selectedInde=options[selectedIndex])==null?void 0:_options$selectedInde.title;}),activeTagIndex:activeTagIndex,isDisabled:props.isDisabled,onDismiss:function onDismiss(_ref2){var tagIndex=_ref2.tagIndex;if(isTagDismissedRef.current){isTagDismissedRef.current.value=true;}if(!isReactNative()){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();}removeOption(selectedIndices[tagIndex]);setChangeCallbackTriggerer(Number(changeCallbackTriggerer)+1);}});};},[selectedIndices,selectionType,activeTagIndex,changeCallbackTriggerer,options]);var tableInputProps={isTableInputCell:rowDensityToIsTableInputCellMapping[rowDensity],id:'table-editable-cell-input',size:tableEditableCellRowDensityToInputSizeMap[rowDensity],trailingIcon:validationStateToInputTrailingIconMap[(_props$validationStat=props.validationState)!=null?_props$validationStat:'none'],showHintsAsTooltip:true};var isValidationStateNone=props.validationState==='none'||props.validationState===undefined;return jsx(BaseInput,Object.assign({as:props.isSelectInput?'button':'input',ref:!isReactNative()?function(node){triggererRef.current=node;if(ref){if(typeof ref==='function'){ref(node);}else {ref.current=node;}}}:null,isDropdownTrigger:true,setInputWrapperRef:function setInputWrapperRef(wrapperNode){triggererWrapperRef.current=wrapperNode;},maxTagRows:(_props$maxRows=props.maxRows)!=null?_props$maxRows:'single',tags:getTags({size:props.size||'medium'}),showAllTags:getShowAllTags(),activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,textAlign:"left",label:props.label,placeholder:selectionType==='multiple'&&selectedIndices.length>0?undefined:dropdownTriggerPlaceholder,hideLabelText:((_props$label=props.label)==null?void 0:_props$label.length)===0,accessibilityLabel:props.accessibilityLabel,labelPosition:props.labelPosition==='inside-input'?undefined:props.labelPosition,isLabelInsideInput:props.labelPosition==='inside-input',necessityIndicator:props.necessityIndicator,autoCompleteSuggestionType:"none",validationState:props.validationState,helpText:props.helpText,errorText:props.errorText,successText:props.successText,name:props.name,isDisabled:props.isDisabled,isRequired:props.isRequired,prefix:props.prefix,suffix:props.suffix,autoFocus:props.autoFocus,value:getValue(),onClick:function onClick(e){if(props.isDisabled){return;}props.onTriggerClick==null?void 0:props.onTriggerClick(e);},onFocus:props.onFocus,onBlur:function onBlur(_ref3){var name=_ref3.name;props.onBlur==null?void 0:props.onBlur({name:name,value:value});},leadingIcon:props.icon,componentName:props.isSelectInput?MetaConstants.SelectInput:MetaConstants.AutoComplete,testID:props.testID,id:`${dropdownBaseId}-trigger`,labelId:`${dropdownBaseId}-label`,hasPopup:getActionListContainerRole(hasFooterAction,dropdownTriggerer),isPopupExpanded:isOpen,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined,popupId:`${dropdownBaseId}-actionlist`,onChange:props.isSelectInput?undefined:props.onInputValueChange,onKeyDown:props.onTriggerKeydown,size:props.size,onTrailingInteractionElementClick:function onTrailingInteractionElementClick(){if(!props.isDisabled){if(!isReactNative()){var _triggererRef$current2;(_triggererRef$current2=triggererRef.current)==null?void 0:_triggererRef$current2.focus();}onTriggerClick();}},trailingInteractionElement:isAutoCompleteInHeader||isInsideTableEditableCell&&!isValidationStateNone?null:jsx(InputChevronIcon,{isDisabled:props.isDisabled,isOpen:isOpen})},isInsideTableEditableCell?tableInputProps:undefined));};var BaseDropdownInputTrigger=React__default.forwardRef(_BaseDropdownInputTrigger);
|
|
23
|
+
var useControlledDropdownInput=function useControlledDropdownInput(props){var isFirstRender=useFirstRender();var _useDropdown=useDropdown(),changeCallbackTriggerer=_useDropdown.changeCallbackTriggerer,isControlled=_useDropdown.isControlled,options=_useDropdown.options,selectedIndices=_useDropdown.selectedIndices,controlledValueIndices=_useDropdown.controlledValueIndices,setSelectedIndices=_useDropdown.setSelectedIndices,selectionType=_useDropdown.selectionType,setIsControlled=_useDropdown.setIsControlled;var getValuesArrayFromIndices=function getValuesArrayFromIndices(){var indices=[];if(isControlled){indices=controlledValueIndices;}else {indices=selectedIndices;}return indices.map(function(selectionIndex){return options[selectionIndex].value;});};var selectValues=function selectValues(valuesToSelect){if(options.length>0){if(isEmpty(valuesToSelect)){setSelectedIndices([]);}else if(typeof valuesToSelect==='string'){var selectedItemIndex=options.findIndex(function(option){return option.value===valuesToSelect;});if(selectedItemIndex>=0){setSelectedIndices([selectedItemIndex]);}}else {var uniqueValues=Array.from(new Set(valuesToSelect));var userValues=selectionType==='single'?[valuesToSelect==null?void 0:valuesToSelect[0]]:uniqueValues;var selectedItemIndices=userValues.map(function(optionValue){return options.findIndex(function(option){return option.value===optionValue;});}).filter(function(value){return value>=0;});setSelectedIndices(selectedItemIndices);}}};React__default.useEffect(function(){if(options.length>0&&props.defaultValue){selectValues(props.defaultValue);}},[options.length]);React__default.useEffect(function(){if(options.length>0&&props.value!==undefined){if(!isControlled){setIsControlled(true);}selectValues(props.value);if(selectionType==='single'&&!Array.isArray(props.value)&&!props.isSelectInput){props.syncInputValueWithSelection==null?void 0:props.syncInputValueWithSelection(props.value);}}},[props.value,options]);React__default.useEffect(function(){if(!isFirstRender){props.onChange==null?void 0:props.onChange({name:props.name,values:getValuesArrayFromIndices()});if(isBrowser()){fireNativeEvent(props.triggererRef);}}},[changeCallbackTriggerer]);};var _BaseDropdownInputTrigger=function _BaseDropdownInputTrigger(props,ref){var _props$placeholder,_props$validationStat,_props$maxRows,_props$label;var _useDropdown2=useDropdown(),isOpen=_useDropdown2.isOpen,activeTagIndex=_useDropdown2.activeTagIndex,setActiveTagIndex=_useDropdown2.setActiveTagIndex,displayValue=_useDropdown2.displayValue,selectionType=_useDropdown2.selectionType,dropdownTriggerer=_useDropdown2.dropdownTriggerer,dropdownBaseId=_useDropdown2.dropdownBaseId,selectedIndices=_useDropdown2.selectedIndices,triggererRef=_useDropdown2.triggererRef,triggererWrapperRef=_useDropdown2.triggererWrapperRef,isTagDismissedRef=_useDropdown2.isTagDismissedRef,onTriggerClick=_useDropdown2.onTriggerClick,value=_useDropdown2.value,shouldIgnoreBlurAnimation=_useDropdown2.shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation=_useDropdown2.setShouldIgnoreBlurAnimation,activeIndex=_useDropdown2.activeIndex,hasFooterAction=_useDropdown2.hasFooterAction,hasAutoCompleteInBottomSheetHeader=_useDropdown2.hasAutoCompleteInBottomSheetHeader,options=_useDropdown2.options,removeOption=_useDropdown2.removeOption,setChangeCallbackTriggerer=_useDropdown2.setChangeCallbackTriggerer,changeCallbackTriggerer=_useDropdown2.changeCallbackTriggerer;var _useTableContext=useTableContext(),rowDensity=_useTableContext.rowDensity;var _useTableEditableCell=useTableEditableCell(),isInsideTableEditableCell=_useTableEditableCell.isInsideTableEditableCell;var dropdownTriggerPlaceholder=(_props$placeholder=props.placeholder)!=null?_props$placeholder:'Select Option';var isAutoCompleteInHeader=!props.isSelectInput&&hasAutoCompleteInBottomSheetHeader;var getShowAllTags=React__default.useCallback(function(){if(hasAutoCompleteInBottomSheetHeader){if(props.isSelectInput){return false;}return true;}return isOpen;},[hasAutoCompleteInBottomSheetHeader,props.isSelectInput,isOpen]);useControlledDropdownInput({onChange:props.onChange,name:props.name,value:props.value,defaultValue:props.defaultValue,syncInputValueWithSelection:props.syncInputValueWithSelection,isSelectInput:props.isSelectInput,triggererRef:triggererRef});var getValue=function getValue(){var prefix='';if(props.labelPosition==='inside-input'&&props.label){prefix=`${props.label}: `;}if(props.isSelectInput){if(selectionType==='single'){return `${prefix}${displayValue}`;}return undefined;}return props.inputValue;};var getTags=React__default.useMemo(function(){return function(_ref){var size=_ref.size;if(selectionType==='single'){return undefined;}return getTagsGroup({size:size,tags:selectedIndices.map(function(selectedIndex){var _options$selectedInde;return (_options$selectedInde=options[selectedIndex])==null?void 0:_options$selectedInde.title;}),activeTagIndex:activeTagIndex,isDisabled:props.isDisabled,onDismiss:function onDismiss(_ref2){var tagIndex=_ref2.tagIndex;if(isTagDismissedRef.current){isTagDismissedRef.current.value=true;}if(!isReactNative()){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();}removeOption(selectedIndices[tagIndex]);setChangeCallbackTriggerer(Number(changeCallbackTriggerer)+1);}});};},[selectedIndices,selectionType,activeTagIndex,changeCallbackTriggerer,options]);var tableInputProps={isTableInputCell:rowDensityToIsTableInputCellMapping[rowDensity],id:'table-editable-cell-input',size:tableEditableCellRowDensityToInputSizeMap[rowDensity],trailingIcon:validationStateToInputTrailingIconMap[(_props$validationStat=props.validationState)!=null?_props$validationStat:'none'],showHintsAsTooltip:true};var isValidationStateNone=props.validationState==='none'||props.validationState===undefined;return jsx(BaseInput,Object.assign({as:props.isSelectInput?'button':'input',ref:!isReactNative()?function(node){triggererRef.current=node;if(ref){if(typeof ref==='function'){ref(node);}else {ref.current=node;}}}:null,isDropdownTrigger:true,setInputWrapperRef:function setInputWrapperRef(wrapperNode){triggererWrapperRef.current=wrapperNode;},maxTagRows:(_props$maxRows=props.maxRows)!=null?_props$maxRows:'single',tags:getTags({size:props.size||'medium'}),showAllTags:getShowAllTags(),activeTagIndex:activeTagIndex,setActiveTagIndex:setActiveTagIndex,shouldIgnoreBlurAnimation:shouldIgnoreBlurAnimation,setShouldIgnoreBlurAnimation:setShouldIgnoreBlurAnimation,textAlign:"left",label:props.label,placeholder:selectionType==='multiple'&&selectedIndices.length>0?undefined:dropdownTriggerPlaceholder,hideLabelText:((_props$label=props.label)==null?void 0:_props$label.length)===0,accessibilityLabel:props.accessibilityLabel,labelPosition:props.labelPosition==='inside-input'?undefined:props.labelPosition,isLabelInsideInput:props.labelPosition==='inside-input',necessityIndicator:props.necessityIndicator,autoCompleteSuggestionType:"none",validationState:props.validationState,helpText:props.helpText,errorText:props.errorText,successText:props.successText,name:props.name,isDisabled:props.isDisabled,isRequired:props.isRequired,prefix:props.prefix,suffix:props.suffix,autoFocus:props.autoFocus,value:getValue(),onClick:function onClick(e){if(props.isDisabled){return;}props.onTriggerClick==null?void 0:props.onTriggerClick(e);},onFocus:props.onFocus,onBlur:function onBlur(_ref3){var name=_ref3.name;props.onBlur==null?void 0:props.onBlur({name:name,value:value});},leadingIcon:props.icon,componentName:props.isSelectInput?MetaConstants.SelectInput:MetaConstants.AutoComplete,testID:props.testID,id:`${dropdownBaseId}-trigger`,labelId:`${dropdownBaseId}-label`,hasPopup:getActionListContainerRole(hasFooterAction,dropdownTriggerer),isPopupExpanded:isOpen,activeDescendant:activeIndex>=0?`${dropdownBaseId}-${activeIndex}`:undefined,popupId:`${dropdownBaseId}-actionlist`,onChange:props.isSelectInput?undefined:props.onInputValueChange,onKeyDown:props.onTriggerKeydown,size:props.size},makeAnalyticsAttribute(props),{onTrailingInteractionElementClick:function onTrailingInteractionElementClick(){if(!props.isDisabled){if(!isReactNative()){var _triggererRef$current2;(_triggererRef$current2=triggererRef.current)==null?void 0:_triggererRef$current2.focus();}onTriggerClick();}},trailingInteractionElement:isAutoCompleteInHeader||isInsideTableEditableCell&&!isValidationStateNone?null:jsx(InputChevronIcon,{isDisabled:props.isDisabled,isOpen:isOpen})},isInsideTableEditableCell?tableInputProps:undefined));};var BaseDropdownInputTrigger=React__default.forwardRef(_BaseDropdownInputTrigger);
|
|
23
24
|
|
|
24
25
|
export { BaseDropdownInputTrigger };
|
|
25
26
|
//# sourceMappingURL=BaseDropdownInputTrigger.js.map
|
package/build/lib/native/components/Input/DropdownInputTriggers/BaseDropdownInputTrigger.js.map
CHANGED
|
@@ -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 { fireNativeEvent } from '~utils/fireNativeEvent';\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 triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\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 = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\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 }, [hasAutoCompleteInBottomSheetHeader, 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 ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\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 hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${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 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 />\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","syncInputValueWithSelection","onChange","name","values","isBrowser","fireNativeEvent","triggererRef","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","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","Object","assign","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","onFocus","onBlur","_ref3","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","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, 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';\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 triggererWrapperRef,\n isTagDismissedRef,\n onTriggerClick,\n value,\n shouldIgnoreBlurAnimation,\n setShouldIgnoreBlurAnimation,\n activeIndex,\n hasFooterAction,\n hasAutoCompleteInBottomSheetHeader,\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 = !props.isSelectInput && hasAutoCompleteInBottomSheetHeader;\n\n const getShowAllTags = React.useCallback((): boolean => {\n if (hasAutoCompleteInBottomSheetHeader) {\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 }, [hasAutoCompleteInBottomSheetHeader, 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 ? // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (node: any) => {\n triggererRef.current = node;\n if (ref) {\n if (typeof ref === 'function') {\n ref(node);\n } else {\n ref.current = node;\n }\n }\n }\n : null) as never\n }\n isDropdownTrigger={true}\n setInputWrapperRef={(wrapperNode) => {\n triggererWrapperRef.current = wrapperNode;\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 hasPopup={getActionListContainerRole(hasFooterAction, dropdownTriggerer)}\n isPopupExpanded={isOpen}\n activeDescendant={activeIndex >= 0 ? `${dropdownBaseId}-${activeIndex}` : undefined}\n popupId={`${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 />\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","syncInputValueWithSelection","onChange","name","values","isBrowser","fireNativeEvent","triggererRef","_BaseDropdownInputTrigger","ref","_props$placeholder","_props$validationStat","_props$maxRows","_props$label","_useDropdown2","isOpen","activeTagIndex","setActiveTagIndex","displayValue","dropdownTriggerer","dropdownBaseId","triggererWrapperRef","isTagDismissedRef","onTriggerClick","shouldIgnoreBlurAnimation","setShouldIgnoreBlurAnimation","activeIndex","hasFooterAction","hasAutoCompleteInBottomSheetHeader","removeOption","setChangeCallbackTriggerer","_useTableContext","useTableContext","rowDensity","_useTableEditableCell","useTableEditableCell","isInsideTableEditableCell","dropdownTriggerPlaceholder","placeholder","isAutoCompleteInHeader","getShowAllTags","useCallback","getValue","prefix","labelPosition","label","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","Object","assign","as","node","isDropdownTrigger","setInputWrapperRef","wrapperNode","maxTagRows","maxRows","showAllTags","textAlign","hideLabelText","accessibilityLabel","isLabelInsideInput","necessityIndicator","autoCompleteSuggestionType","helpText","errorText","successText","isRequired","suffix","autoFocus","onClick","e","onFocus","onBlur","_ref3","leadingIcon","icon","componentName","MetaConstants","SelectInput","AutoComplete","testID","labelId","hasPopup","getActionListContainerRole","isPopupExpanded","activeDescendant","popupId","onInputValueChange","onKeyDown","onTriggerKeydown","makeAnalyticsAttribute","onTrailingInteractionElementClick","_triggererRef$current2","trailingInteractionElement","InputChevronIcon","BaseDropdownInputTrigger","forwardRef"],"mappings":"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"}
|
|
@@ -9,9 +9,10 @@ import { isReactNative } from '../../../utils/platform/isReactNative.js';
|
|
|
9
9
|
import '../../BladeProvider/useTheme.js';
|
|
10
10
|
import { assignWithoutSideEffects } from '../../../utils/assignWithoutSideEffects/assignWithoutSideEffects.js';
|
|
11
11
|
import { dropdownComponentIds } from '../../Dropdown/dropdownComponentIds.js';
|
|
12
|
+
import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
12
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
14
|
|
|
14
|
-
var _SelectInput=function _SelectInput(props,ref){var _useDropdown=useDropdown(),value=_useDropdown.value,triggererRef=_useDropdown.triggererRef,onTriggerKeydown=_useDropdown.onTriggerKeydown,_onTriggerClick=_useDropdown.onTriggerClick;return jsxs(BaseBox,{position:"relative",children:[!isReactNative()?jsx(VisuallyHidden,{children:jsx("input",{onFocus:function onFocus(){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();},ref:ref,tabIndex:-1,required:props.isRequired,name:props.name,value:value,onChange:function onChange(){},"aria-hidden":true})}):null,jsx(BaseDropdownInputTrigger,Object.assign({},props,{isSelectInput:true,onTriggerKeydown:onTriggerKeydown,onTriggerClick:function onTriggerClick(e){_onTriggerClick();props==null?void 0:props.onClick==null?void 0:props.onClick(e);}}))]});};var SelectInput=assignWithoutSideEffects(React__default.forwardRef(_SelectInput),{componentId:dropdownComponentIds.triggers.SelectInput});
|
|
15
|
+
var _SelectInput=function _SelectInput(props,ref){var _useDropdown=useDropdown(),value=_useDropdown.value,triggererRef=_useDropdown.triggererRef,onTriggerKeydown=_useDropdown.onTriggerKeydown,_onTriggerClick=_useDropdown.onTriggerClick;return jsxs(BaseBox,{position:"relative",children:[!isReactNative()?jsx(VisuallyHidden,{children:jsx("input",Object.assign({onFocus:function onFocus(){var _triggererRef$current;(_triggererRef$current=triggererRef.current)==null?void 0:_triggererRef$current.focus();},ref:ref,tabIndex:-1,required:props.isRequired,name:props.name,value:value},makeAnalyticsAttribute(props),{onChange:function onChange(){},"aria-hidden":true}))}):null,jsx(BaseDropdownInputTrigger,Object.assign({},props,{isSelectInput:true,onTriggerKeydown:onTriggerKeydown,onTriggerClick:function onTriggerClick(e){_onTriggerClick();props==null?void 0:props.onClick==null?void 0:props.onClick(e);}}))]});};var SelectInput=assignWithoutSideEffects(React__default.forwardRef(_SelectInput),{componentId:dropdownComponentIds.triggers.SelectInput});
|
|
15
16
|
|
|
16
17
|
export { SelectInput };
|
|
17
18
|
//# sourceMappingURL=SelectInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectInput.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/SelectInput.tsx"],"sourcesContent":["import React from 'react';\nimport type { SelectInputProps } from './types';\nimport { BaseDropdownInputTrigger } from './BaseDropdownInputTrigger';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport BaseBox from '~components/Box/BaseBox';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { isReactNative } from '~utils';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\n\nconst _SelectInput = (\n props: SelectInputProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const { value, triggererRef, onTriggerKeydown, onTriggerClick } = useDropdown();\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <BaseBox position=\"relative\">\n {!isReactNative() ? (\n <VisuallyHidden>\n <input\n onFocus={() => {\n triggererRef.current?.focus();\n }}\n ref={ref as React.Ref<HTMLInputElement>}\n tabIndex={-1}\n required={props.isRequired}\n name={props.name}\n value={value}\n // Adding onChange to surpass no onChange on controlled component warning\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange={() => {}}\n // Accessibility is covered in the select input itself so we hide this field from a11y tree\n aria-hidden={true}\n />\n </VisuallyHidden>\n ) : null}\n <BaseDropdownInputTrigger\n {...props}\n isSelectInput={true}\n onTriggerKeydown={onTriggerKeydown}\n onTriggerClick={(e) => {\n onTriggerClick();\n props?.onClick?.(e);\n }}\n />\n </BaseBox>\n );\n};\n\n/**\n * ### SelectInput\n *\n * Our equivalent of `<select>` tag. Lets you select items from given options.\n *\n * To be used in combination of `Dropdown` and `ActionList` component\n *\n * ---\n *\n * #### Usage\n *\n * ```diff\n * <Dropdown>\n * + <SelectInput label=\"Select Fruits\" />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select SelectInput Documentation}.\n */\n\nconst SelectInput = assignWithoutSideEffects(React.forwardRef(_SelectInput), {\n componentId: dropdownComponentIds.triggers.SelectInput,\n});\n\nexport { SelectInput };\n"],"names":["_SelectInput","props","ref","_useDropdown","useDropdown","value","triggererRef","onTriggerKeydown","onTriggerClick","_jsxs","BaseBox","position","children","isReactNative","_jsx","VisuallyHidden","onFocus","_triggererRef$current","current","focus","tabIndex","required","isRequired","name","
|
|
1
|
+
{"version":3,"file":"SelectInput.js","sources":["../../../../../../src/components/Input/DropdownInputTriggers/SelectInput.tsx"],"sourcesContent":["import React from 'react';\nimport type { SelectInputProps } from './types';\nimport { BaseDropdownInputTrigger } from './BaseDropdownInputTrigger';\nimport { useDropdown } from '~components/Dropdown/useDropdown';\nimport BaseBox from '~components/Box/BaseBox';\nimport { VisuallyHidden } from '~components/VisuallyHidden';\nimport { isReactNative } from '~utils';\nimport type { BladeElementRef } from '~utils/types';\nimport { assignWithoutSideEffects } from '~utils/assignWithoutSideEffects';\nimport { dropdownComponentIds } from '~components/Dropdown/dropdownComponentIds';\nimport { makeAnalyticsAttribute } from '~utils/makeAnalyticsAttribute';\n\nconst _SelectInput = (\n props: SelectInputProps,\n ref: React.ForwardedRef<BladeElementRef>,\n): React.ReactElement => {\n const { value, triggererRef, onTriggerKeydown, onTriggerClick } = useDropdown();\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <BaseBox position=\"relative\">\n {!isReactNative() ? (\n <VisuallyHidden>\n <input\n onFocus={() => {\n triggererRef.current?.focus();\n }}\n ref={ref as React.Ref<HTMLInputElement>}\n tabIndex={-1}\n required={props.isRequired}\n name={props.name}\n value={value}\n {...makeAnalyticsAttribute(props)}\n // Adding onChange to surpass no onChange on controlled component warning\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n onChange={() => {}}\n // Accessibility is covered in the select input itself so we hide this field from a11y tree\n aria-hidden={true}\n />\n </VisuallyHidden>\n ) : null}\n <BaseDropdownInputTrigger\n {...props}\n isSelectInput={true}\n onTriggerKeydown={onTriggerKeydown}\n onTriggerClick={(e) => {\n onTriggerClick();\n props?.onClick?.(e);\n }}\n />\n </BaseBox>\n );\n};\n\n/**\n * ### SelectInput\n *\n * Our equivalent of `<select>` tag. Lets you select items from given options.\n *\n * To be used in combination of `Dropdown` and `ActionList` component\n *\n * ---\n *\n * #### Usage\n *\n * ```diff\n * <Dropdown>\n * + <SelectInput label=\"Select Fruits\" />\n * <DropdownOverlay>\n * <ActionList>\n * <ActionListItem title=\"Mango\" value=\"mango\" />\n * <ActionListItem title=\"Apple\" value=\"apple\" />\n * </ActionList>\n * </DropdownOverlay>\n * </Dropdown>\n * ```\n *\n * ---\n *\n * Checkout {@link https://blade.razorpay.com/?path=/docs/components-dropdown-with-select--with-single-select SelectInput Documentation}.\n */\n\nconst SelectInput = assignWithoutSideEffects(React.forwardRef(_SelectInput), {\n componentId: dropdownComponentIds.triggers.SelectInput,\n});\n\nexport { SelectInput };\n"],"names":["_SelectInput","props","ref","_useDropdown","useDropdown","value","triggererRef","onTriggerKeydown","onTriggerClick","_jsxs","BaseBox","position","children","isReactNative","_jsx","VisuallyHidden","Object","assign","onFocus","_triggererRef$current","current","focus","tabIndex","required","isRequired","name","makeAnalyticsAttribute","onChange","BaseDropdownInputTrigger","isSelectInput","e","onClick","SelectInput","assignWithoutSideEffects","React","forwardRef","componentId","dropdownComponentIds","triggers"],"mappings":";;;;;;;;;;;;;;AAYA,IAAMA,YAAY,CAAG,SAAfA,YAAYA,CAChBC,KAAuB,CACvBC,GAAwC,CACjB,CACvB,IAAAC,YAAA,CAAkEC,WAAW,EAAE,CAAvEC,KAAK,CAAAF,YAAA,CAALE,KAAK,CAAEC,YAAY,CAAAH,YAAA,CAAZG,YAAY,CAAEC,gBAAgB,CAAAJ,YAAA,CAAhBI,gBAAgB,CAAEC,eAAc,CAAAL,YAAA,CAAdK,cAAc,CAE7D,OAEEC,IAAA,CAACC,OAAO,CAAA,CAACC,QAAQ,CAAC,UAAU,CAAAC,QAAA,CAAA,CACzB,CAACC,aAAa,EAAE,CACfC,GAAA,CAACC,cAAc,CAAAH,CAAAA,QAAA,CACbE,GAAA,CAAAE,OAAAA,CAAAA,MAAA,CAAAC,MAAA,CACEC,CAAAA,OAAO,CAAE,SAAAA,OAAA,EAAM,CAAAC,IAAAA,qBAAA,CACb,CAAAA,qBAAA,CAAAb,YAAY,CAACc,OAAO,GAApBD,IAAAA,CAAAA,KAAAA,CAAAA,CAAAA,qBAAA,CAAsBE,KAAK,EAAE,CAC/B,CAAE,CACFnB,GAAG,CAAEA,GAAmC,CACxCoB,QAAQ,CAAE,CAAC,CAAE,CACbC,QAAQ,CAAEtB,KAAK,CAACuB,UAAW,CAC3BC,IAAI,CAAExB,KAAK,CAACwB,IAAK,CACjBpB,KAAK,CAAEA,KAAM,CAAA,CACTqB,sBAAsB,CAACzB,KAAK,CAAC,CAGjC0B,CAAAA,QAAQ,CAAE,SAAAA,QAAA,EAAM,EAAG,CAEnB,aAAA,CAAa,IAAK,CAAA,CACnB,CAAC,CACY,CAAC,CACf,IAAI,CACRb,GAAA,CAACc,wBAAwB,CAAAZ,MAAA,CAAAC,MAAA,CAAA,EAAA,CACnBhB,KAAK,CACT4B,CAAAA,aAAa,CAAE,IAAK,CACpBtB,gBAAgB,CAAEA,gBAAiB,CACnCC,cAAc,CAAE,SAAAA,cAACsB,CAAAA,CAAC,CAAK,CACrBtB,eAAc,EAAE,CAChBP,KAAK,EAAA,IAAA,CAAA,KAAA,CAAA,CAALA,KAAK,CAAE8B,OAAO,EAAA,IAAA,CAAA,KAAA,CAAA,CAAd9B,KAAK,CAAE8B,OAAO,CAAGD,CAAC,CAAC,CACrB,CAAE,CAAA,CACH,CAAC,CAAA,CACK,CAAC,CAEd,CAAC,CA8BK,IAAAE,WAAW,CAAGC,wBAAwB,CAACC,cAAK,CAACC,UAAU,CAACnC,YAAY,CAAC,CAAE,CAC3EoC,WAAW,CAAEC,oBAAoB,CAACC,QAAQ,CAACN,WAC7C,CAAC;;;;"}
|
|
@@ -16,9 +16,10 @@ import { makeSize } from '../../../utils/makeSize/makeSize.js';
|
|
|
16
16
|
import '../../BladeProvider/useTheme.js';
|
|
17
17
|
import { metaAttribute } from '../../../utils/metaAttribute/metaAttribute.native.js';
|
|
18
18
|
import { MetaConstants } from '../../../utils/metaAttribute/metaConstants.js';
|
|
19
|
+
import { makeAnalyticsAttribute } from '../../../utils/makeAnalyticsAttribute/makeAnalyticsAttribute.js';
|
|
19
20
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
20
21
|
|
|
21
|
-
var _excluded=["autoFocus","errorText","helpText","isDisabled","keyboardReturnKeyType","keyboardType","label","accessibilityLabel","labelPosition","name","onChange","onFocus","onBlur","onOTPFilled","otpLength","placeholder","successText","validationState","value","isMasked","autoCompleteSuggestionType","testID","size"];var isReactNative=getPlatformType()==='react-native';var otpToArray=function otpToArray(code){var _code$split;return (_code$split=code==null?void 0:code.split(''))!=null?_code$split:Array(6).fill('');};var _OTPInput=function _OTPInput(_ref,incomingRef){var autoFocus=_ref.autoFocus,errorText=_ref.errorText,helpText=_ref.helpText,isDisabled=_ref.isDisabled,keyboardReturnKeyType=_ref.keyboardReturnKeyType,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'decimal':_ref$keyboardType,label=_ref.label,accessibilityLabel=_ref.accessibilityLabel,labelPosition=_ref.labelPosition,name=_ref.name,onChange=_ref.onChange,_onFocus=_ref.onFocus,_onBlur=_ref.onBlur,onOTPFilled=_ref.onOTPFilled,_ref$otpLength=_ref.otpLength,otpLength=_ref$otpLength===void 0?6:_ref$otpLength,placeholder=_ref.placeholder,successText=_ref.successText,validationState=_ref.validationState,inputValue=_ref.value,isMasked=_ref.isMasked,_ref$autoCompleteSugg=_ref.autoCompleteSuggestionType,autoCompleteSuggestionType=_ref$autoCompleteSugg===void 0?'oneTimeCode':_ref$autoCompleteSugg,testID=_ref.testID,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,
|
|
22
|
+
var _excluded=["autoFocus","errorText","helpText","isDisabled","keyboardReturnKeyType","keyboardType","label","accessibilityLabel","labelPosition","name","onChange","onFocus","onBlur","onOTPFilled","otpLength","placeholder","successText","validationState","value","isMasked","autoCompleteSuggestionType","testID","size"];var isReactNative=getPlatformType()==='react-native';var otpToArray=function otpToArray(code){var _code$split;return (_code$split=code==null?void 0:code.split(''))!=null?_code$split:Array(6).fill('');};var _OTPInput=function _OTPInput(_ref,incomingRef){var autoFocus=_ref.autoFocus,errorText=_ref.errorText,helpText=_ref.helpText,isDisabled=_ref.isDisabled,keyboardReturnKeyType=_ref.keyboardReturnKeyType,_ref$keyboardType=_ref.keyboardType,keyboardType=_ref$keyboardType===void 0?'decimal':_ref$keyboardType,label=_ref.label,accessibilityLabel=_ref.accessibilityLabel,labelPosition=_ref.labelPosition,name=_ref.name,onChange=_ref.onChange,_onFocus=_ref.onFocus,_onBlur=_ref.onBlur,onOTPFilled=_ref.onOTPFilled,_ref$otpLength=_ref.otpLength,otpLength=_ref$otpLength===void 0?6:_ref$otpLength,placeholder=_ref.placeholder,successText=_ref.successText,validationState=_ref.validationState,inputValue=_ref.value,isMasked=_ref.isMasked,_ref$autoCompleteSugg=_ref.autoCompleteSuggestionType,autoCompleteSuggestionType=_ref$autoCompleteSugg===void 0?'oneTimeCode':_ref$autoCompleteSugg,testID=_ref.testID,_ref$size=_ref.size,size=_ref$size===void 0?'medium':_ref$size,rest=_objectWithoutProperties(_ref,_excluded);var inputRefs=[];var _useState=useState(otpToArray(inputValue)),_useState2=_slicedToArray(_useState,2),otpValue=_useState2[0],setOtpValue=_useState2[1];var _useState3=useState([]),_useState4=_slicedToArray(_useState3,2),inputType=_useState4[0],setInputType=_useState4[1];var isLabelLeftPositioned=labelPosition==='left';var _useFormId=useFormId('otp'),inputId=_useFormId.inputId,helpTextId=_useFormId.helpTextId,errorTextId=_useFormId.errorTextId,successTextId=_useFormId.successTextId;useImperativeHandle(incomingRef,function(){return inputRefs.map(function(ref){return ref.current;});},[inputRefs]);useEffect(function(){if(inputValue&&inputValue.length>=otpLength){onOTPFilled==null?void 0:onOTPFilled({value:inputValue.slice(0,otpLength),name:name});}else if(!inputValue&&otpValue.join('').length>=otpLength){onOTPFilled==null?void 0:onOTPFilled({value:otpValue.slice(0,otpLength).join(''),name:name});}},[otpValue,otpLength,name,inputValue,onOTPFilled]);useEffect(function(){otpValue.forEach(function(otp,index){if(!isEmpty(otp)&&!inputType[index]&&isMasked){var newInputType=Array.from(inputType);newInputType[index]='password';setInputType(newInputType);}if(isEmpty(otp)&&inputType[index]){var _newInputType=Array.from(inputType);_newInputType[index]=undefined;setInputType(_newInputType);}});},[otpValue,inputType,isMasked]);var setOtpValueByIndex=function setOtpValueByIndex(_ref2){var value=_ref2.value,index=_ref2.index;var newOtpValue=Array.from(otpValue);newOtpValue[index]=value;setOtpValue(newOtpValue);return newOtpValue.join('');};var focusOnOtpByIndex=function focusOnOtpByIndex(index){var _inputRefs$index,_inputRefs$index$curr;(_inputRefs$index=inputRefs[index])==null?void 0:(_inputRefs$index$curr=_inputRefs$index.current)==null?void 0:_inputRefs$index$curr.focus();if(!isReactNative){var _inputRefs$index2,_inputRefs$index2$cur;(_inputRefs$index2=inputRefs[index])==null?void 0:(_inputRefs$index2$cur=_inputRefs$index2.current)==null?void 0:_inputRefs$index2$cur.select();}};var handleOnChange=function handleOnChange(_ref3){var value=_ref3.value,currentOtpIndex=_ref3.currentOtpIndex;if(value&&value===' '){return;}if(inputValue&&inputValue.length>0){var newOtpValue=Array.from(inputValue);newOtpValue[currentOtpIndex]=value!=null?value:'';setOtpValue(newOtpValue);onChange==null?void 0:onChange({name:name,value:newOtpValue.join('')});}else if(value&&value.trim().length>1){setOtpValue(Array.from(value));onChange==null?void 0:onChange({name:name,value:value.trim().slice(0,otpLength)});}else if(otpValue[currentOtpIndex]!==(value==null?void 0:value.trim())){var _value$trim;var newValue=setOtpValueByIndex({value:(_value$trim=value==null?void 0:value.trim())!=null?_value$trim:'',index:currentOtpIndex});onChange==null?void 0:onChange({name:name,value:newValue});}};var handleOnInput=function handleOnInput(_ref4){var value=_ref4.value,currentOtpIndex=_ref4.currentOtpIndex;if(value&&value.trim().length===1){focusOnOtpByIndex(++currentOtpIndex);}};var handleOnKeyDown=function handleOnKeyDown(_ref5){var key=_ref5.key,code=_ref5.code,event=_ref5.event,currentOtpIndex=_ref5.currentOtpIndex;if(key==='Backspace'||code==='Backspace'||code==='Delete'||key==='Delete'){event.preventDefault==null?void 0:event.preventDefault();handleOnChange({value:'',currentOtpIndex:currentOtpIndex});focusOnOtpByIndex(--currentOtpIndex);}else if(key==='ArrowLeft'||code==='ArrowLeft'){event.preventDefault==null?void 0:event.preventDefault();focusOnOtpByIndex(--currentOtpIndex);}else if(key==='ArrowRight'||code==='ArrowRight'){event.preventDefault==null?void 0:event.preventDefault();focusOnOtpByIndex(++currentOtpIndex);}else if(key===' '||code==='Space'){event.preventDefault==null?void 0:event.preventDefault();}};var getHiddenInput=function getHiddenInput(){if(!isReactNative){var _ref6;return jsx("input",{hidden:true,id:inputId,name:name,value:(_ref6=inputValue!=null?inputValue:otpValue.join(''))!=null?_ref6:'',readOnly:true});}return null;};var getOTPInputFields=function getOTPInputFields(){var inputs=[];var _loop=function _loop(index){var _otpValue$index,_Array$from$index;var currentValue=inputValue?otpToArray(inputValue)[index]||'':otpValue[index]||'';var ref=React__default.createRef();var currentInputType;if(isMasked){currentInputType=inputValue?'password':inputType[index];}inputRefs.push(ref);inputs.push(jsx(BaseBox,{flex:1,marginLeft:index==0?'spacing.0':'spacing.3',children:jsx(BaseInput,Object.assign({autoFocus:autoFocus&&index===0,accessibilityLabel:`${index===0?label||accessibilityLabel:''} character ${index+1}`,label:label,hideLabelText:true,id:`${inputId}-${index}`,textAlign:"center",ref:ref,name:name,value:currentValue,maxCharacters:((_otpValue$index=otpValue[index])==null?void 0:_otpValue$index.length)>0?1:undefined,onChange:function onChange(formEvent){return handleOnChange(Object.assign({},formEvent,{currentOtpIndex:index}));},onFocus:function onFocus(formEvent){return _onFocus==null?void 0:_onFocus(Object.assign({},formEvent,{inputIndex:index}));},onBlur:function onBlur(formEvent){return _onBlur==null?void 0:_onBlur(Object.assign({},formEvent,{inputIndex:index}));},onInput:function onInput(formEvent){return handleOnInput(Object.assign({},formEvent,{currentOtpIndex:index}));},onKeyDown:function onKeyDown(keyboardEvent){return handleOnKeyDown(Object.assign({},keyboardEvent,{currentOtpIndex:index}));},isDisabled:isDisabled,placeholder:(_Array$from$index=Array.from(placeholder!=null?placeholder:'')[index])!=null?_Array$from$index:'',isRequired:true,autoCompleteSuggestionType:autoCompleteSuggestionType,keyboardType:keyboardType,keyboardReturnKeyType:keyboardReturnKeyType,validationState:validationState,successText:successText,errorText:errorText,helpText:helpText,hideFormHint:true,type:currentInputType,size:size,valueComponentType:"heading"},makeAnalyticsAttribute(rest)))},`${inputId}-${index}`));};for(var index=0;index<otpLength;index++){_loop(index);}return inputs;};return jsxs(BaseBox,Object.assign({},metaAttribute({name:MetaConstants.OTPInput,testID:testID}),getStyledProps(rest),{children:[jsxs(BaseBox,{display:"flex",flexDirection:isLabelLeftPositioned?'row':'column',alignItems:isLabelLeftPositioned?'center':undefined,position:"relative",children:[Boolean(label)&&jsx(FormLabel,{as:"label",position:labelPosition,htmlFor:inputId,size:size,children:label}),jsxs(BaseBox,{display:"flex",flexDirection:"row",children:[getHiddenInput(),getOTPInputFields()]})]}),jsx(BaseBox,{marginLeft:makeSize(isLabelLeftPositioned?136:0),children:jsx(FormHint,{type:getHintType({validationState:validationState,hasHelpText:Boolean(helpText)}),helpText:helpText,errorText:errorText,successText:successText,helpTextId:helpTextId,errorTextId:errorTextId,successTextId:successTextId,size:size})})]}));};var OTPInput=React__default.forwardRef(_OTPInput);
|
|
22
23
|
|
|
23
24
|
export { OTPInput };
|
|
24
25
|
//# sourceMappingURL=OTPInput.js.map
|