@wix/design-system 1.123.1 → 1.124.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/dist/cjs/Accordion/Accordion.st.css.js +2 -2
- package/dist/cjs/Accordion/components/AccordionItem/AccordionItem.st.css.js +2 -2
- package/dist/cjs/Accordion/components/AccordionItemCaret/AccordionItemCaret.st.css.js +2 -2
- package/dist/cjs/AddItem/AddItem.st.css.js +2 -2
- package/dist/cjs/AddItem/AddItem.uni.driver.js.map +1 -1
- package/dist/cjs/AddressInputItem/AddressInputItem.st.css.js +2 -2
- package/dist/cjs/AnalyticsLayout/AnalyticsLayout.st.css.js +2 -2
- package/dist/cjs/AnalyticsLayout/Cell/Cell.st.css.js +2 -2
- package/dist/cjs/AnalyticsSummaryCard/AnalyticsSummaryCard.st.css.js +2 -2
- package/dist/cjs/AnnouncementModalLayout/AnnouncementModalLayout.st.css.js +2 -2
- package/dist/cjs/AreaChart/AreaChart.st.css.js +2 -2
- package/dist/cjs/AudioPlayer/AudioPlayer.st.css.js +3 -3
- package/dist/cjs/AutoComplete/AutoComplete.js +2 -3
- package/dist/cjs/AutoComplete/AutoComplete.js.map +1 -1
- package/dist/cjs/AutoCompleteWithLabel/AutoCompleteWithLabel.js +10 -11
- package/dist/cjs/AutoCompleteWithLabel/AutoCompleteWithLabel.js.map +1 -1
- package/dist/cjs/AutoCompleteWithLabel/AutoCompleteWithLabel.st.css.js +2 -2
- package/dist/cjs/Avatar/Avatar.st.css.js +2 -2
- package/dist/cjs/Avatar/AvatarCore/AvatarCore.st.css.js +2 -2
- package/dist/cjs/AvatarGroup/AvatarGroup.st.css.js +2 -2
- package/dist/cjs/Badge/Badge.st.css.js +2 -2
- package/dist/cjs/BadgeSelect/BadgeSelect.st.css.js +2 -2
- package/dist/cjs/BadgeSelectItem/BadgeSelectItem.st.css.js +2 -2
- package/dist/cjs/BarChart/BarChart.st.css.js +3 -3
- package/dist/cjs/BaseModalLayout/BaseModalLayout.st.css.js +2 -2
- package/dist/cjs/BaseModalLayout/LayoutBlocks/Content/Content.st.css.js +2 -2
- package/dist/cjs/BaseModalLayout/LayoutBlocks/Footer/Footer.st.css.js +2 -2
- package/dist/cjs/BaseModalLayout/LayoutBlocks/Footnote/Footnote.st.css.js +2 -2
- package/dist/cjs/BaseModalLayout/LayoutBlocks/Header/Header.st.css.js +2 -2
- package/dist/cjs/BaseModalLayout/LayoutBlocks/Illustration/Illustration.st.css.js +2 -2
- package/dist/cjs/BounceAnimation/BounceAnimation.st.css.js +3 -3
- package/dist/cjs/Box/Box.st.css.js +3 -3
- package/dist/cjs/Breadcrumbs/Breadcrumbs.st.css.js +2 -2
- package/dist/cjs/BrowserPreviewWidget/BrowserPreviewWidget.st.css.js +2 -2
- package/dist/cjs/Button/Button.st.css.js +2 -2
- package/dist/cjs/Button/ButtonCore/ButtonCore.st.css.js +2 -2
- package/dist/cjs/Calendar/BaseCalendar/BaseCalendar.st.css.js +2 -2
- package/dist/cjs/Calendar/Calendar.st.css.js +2 -2
- package/dist/cjs/Calendar/DatePickerDropdown/DatePickerDropdown.st.css.js +2 -2
- package/dist/cjs/Calendar/DatePickerHead/DatePickerHead.st.css.js +2 -2
- package/dist/cjs/Calendar/DatePickerHead/MonthDropdown/MonthDropdown.st.css.js +2 -2
- package/dist/cjs/Calendar/DatePickerHead/YearDropdown/YearDropdown.st.css.js +2 -2
- package/dist/cjs/CalendarPanel/CalendarPanel.st.css.js +2 -2
- package/dist/cjs/Card/Card.st.css.js +2 -2
- package/dist/cjs/Card/components/Content/Content.st.css.js +2 -2
- package/dist/cjs/Card/components/Header/Header.st.css.js +2 -2
- package/dist/cjs/Card/components/Subheader/Subheader.st.css.js +2 -2
- package/dist/cjs/CardFolderTabs/CardFolderTabs.st.css.js +3 -3
- package/dist/cjs/CardGalleryItem/CardGalleryItem.st.css.js +2 -2
- package/dist/cjs/Carousel/Carousel.st.css.js +3 -3
- package/dist/cjs/Carousel/Pagination/Pagination.st.css.js +2 -2
- package/dist/cjs/CarouselWIP/CarouselWIP.st.css.js +3 -3
- package/dist/cjs/CheckToggle/CheckToggle.st.css.js +2 -2
- package/dist/cjs/Checkbox/Checkbox.st.css.js +2 -2
- package/dist/cjs/CircularProgressBar/CircularProgressBar.st.css.js +2 -2
- package/dist/cjs/CircularProgressBar/CircularProgressBarCore/CircularProgressBarCore.st.css.js +2 -2
- package/dist/cjs/CloseButton/CloseButton.st.css.js +2 -2
- package/dist/cjs/ColorInput/components/ColorViewer.st.css.js +2 -2
- package/dist/cjs/ColorInput/components/Hash.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPicker.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPickerActions.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPickerConverter.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPickerHistory.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPickerHsb.st.css.js +2 -2
- package/dist/cjs/ColorPicker/ColorPickerHue.st.css.js +2 -2
- package/dist/cjs/ComposerButton/ComposerButton.st.css.js +2 -2
- package/dist/cjs/ComposerHeader/ComposerHeader.st.css.js +2 -2
- package/dist/cjs/ComposerSidebar/ComposerSidebar.st.css.js +2 -2
- package/dist/cjs/CornerRadiusInput/CornerRadiusInput.st.css.js +2 -2
- package/dist/cjs/CounterBadge/CounterBadge.st.css.js +2 -2
- package/dist/cjs/CustomModalLayout/CustomModalLayout.st.css.js +2 -2
- package/dist/cjs/DatePicker/DatePicker.st.css.js +2 -2
- package/dist/cjs/Divider/Divider.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/Introduction/IntroductionExample.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableGridBase/SingleAreaGrid/SingleAreaGrid.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/ListWithDelay/ListWithDelay.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/MultiAreaList/MultiAreaList.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/MultiAreaListPreventOfDropping/MultiAreaListPreventDropping.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/MultiAreaListWithInsertionRules/MultiAreaListWithInsertionRules.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/MultiAreaListWithSortableColumns/MultiAreaListWithSortableColumns.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/MultiAreaListWithSortableColumnsWithAnimations/MultiAreaListWithSortableColumnsWithAnimations.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/NestableListBaseExample/NestableListBase.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/SingleAreaList/SingleAreaList.st.css.js +2 -2
- package/dist/cjs/DragAndDrop/docs/SortableListBase/SingleAreaListWithAnimation/SingleAreaListWithAnimation.st.css.js +2 -2
- package/dist/cjs/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/DraggableContainer/DraggableContainer.st.css.js +2 -2
- package/dist/cjs/Dropdown/Dropdown.js +1 -2
- package/dist/cjs/Dropdown/Dropdown.js.map +1 -1
- package/dist/cjs/Dropdown/Dropdown.st.css.js +2 -2
- package/dist/cjs/DropdownBase/DropdownBase.st.css.js +2 -2
- package/dist/cjs/DropdownLayout/DropdownLayout.js +171 -221
- package/dist/cjs/DropdownLayout/DropdownLayout.js.map +1 -1
- package/dist/cjs/DropdownLayout/DropdownLayout.st.css.js +2 -2
- package/dist/cjs/DropdownLayout/DropdownLayout.types.js +4 -0
- package/dist/cjs/DropdownLayout/DropdownLayout.types.js.map +1 -0
- package/dist/cjs/DropdownLayout/DropdownLayout.uni.driver.js +35 -27
- package/dist/cjs/DropdownLayout/DropdownLayout.uni.driver.js.map +1 -1
- package/dist/cjs/DropdownLayout/index.js +9 -1
- package/dist/cjs/DropdownLayout/index.js.map +1 -1
- package/dist/cjs/DropdownLayout/withOverlayScrollbar.js +1 -1
- package/dist/cjs/DropdownLayout/withOverlayScrollbar.js.map +1 -1
- package/dist/cjs/Dropzone/Dropzone.st.css.js +2 -2
- package/dist/cjs/EditableSelector/EditableSelector.st.css.js +2 -2
- package/dist/cjs/EditableTitle/EditableTitle.st.css.js +2 -2
- package/dist/cjs/EmptyState/EmptyState.st.css.js +2 -2
- package/dist/cjs/FacesRatingBar/FacesRatingBar.st.css.js +2 -2
- package/dist/cjs/FeatureList/FeatureList.st.css.js +2 -2
- package/dist/cjs/FieldSet/FieldSet.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/Asterisk/Asterisk.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/InfoContentIcon/InfoContentIcon.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/InlineLabelWrapper/InlineLabelWrapper.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/Label/Label.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/StatusMessage/StatusMessage.st.css.js +2 -2
- package/dist/cjs/FieldSet/components/Suffix/Suffix.st.css.js +2 -2
- package/dist/cjs/FilePicker/FilePicker.st.css.js +2 -2
- package/dist/cjs/FillButton/FillButton.st.css.js +2 -2
- package/dist/cjs/FillPreview/FillPreview.st.css.js +2 -2
- package/dist/cjs/FloatingHelper/FloatingHelper.st.css.js +2 -2
- package/dist/cjs/FloatingHelper/FloatingHelperContent/FloatingHelperContent.st.css.js +2 -2
- package/dist/cjs/FloatingNotification/FloatingNotification.st.css.js +2 -2
- package/dist/cjs/FormField/FormField.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/border.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/breakpoints.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/colors.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/default-scroll-bar.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/easing.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/gradients.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/opacity.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/shadows.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/spacing.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/typography.st.css.js +2 -2
- package/dist/cjs/Foundation/stylable/z-index.st.css.js +2 -2
- package/dist/cjs/FunnelChart/FunnelBadge/FunnelBadge.st.css.js +2 -2
- package/dist/cjs/FunnelChart/FunnelBar/FunnelBar.st.css.js +2 -2
- package/dist/cjs/FunnelChart/FunnelChart.st.css.js +2 -2
- package/dist/cjs/FunnelChart/FunnelLabel/FunnelLabel.st.css.js +2 -2
- package/dist/cjs/FunnelChart/FunnelStep/FunnelStep.st.css.js +2 -2
- package/dist/cjs/GoogleAddressInput/GoogleAddressInput.st.css.js +2 -2
- package/dist/cjs/GooglePreview/GooglePreview.st.css.js +2 -2
- package/dist/cjs/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/Highlighter/Highlighter.st.css.js +2 -2
- package/dist/cjs/HorizontalTimeline/HorizontalTimeline.st.css.js +2 -2
- package/dist/cjs/HorizontalTimeline/HorizontalTimelineIcons.st.css.js +3 -3
- package/dist/cjs/IconButton/IconButton.st.css.js +2 -2
- package/dist/cjs/Image/Image.st.css.js +2 -2
- package/dist/cjs/ImageViewer/ImageViewer.st.css.js +2 -2
- package/dist/cjs/InfoIcon/InfoIcon.st.css.js +2 -2
- package/dist/cjs/Input/Affix/Affix.st.css.js +2 -2
- package/dist/cjs/Input/Group/Group.st.css.js +2 -2
- package/dist/cjs/Input/IconAffix/IconAffix.st.css.js +2 -2
- package/dist/cjs/Input/Input.st.css.js +3 -3
- package/dist/cjs/Input/Ticker/Ticker.st.css.js +2 -2
- package/dist/cjs/InputArea/InputArea.js +19 -11
- package/dist/cjs/InputArea/InputArea.js.map +1 -1
- package/dist/cjs/InputArea/InputArea.st.css.js +3 -3
- package/dist/cjs/InputArea/index.d.js +1 -0
- package/dist/cjs/InputArea/index.d.js.map +1 -1
- package/dist/cjs/InputWithLabel/InputWithLabel.st.css.js +2 -2
- package/dist/cjs/InputWithOptions/InputWithOptions.st.css.js +2 -2
- package/dist/cjs/LabelledElement/LabelledElement.st.css.js +2 -2
- package/dist/cjs/Layout/Cell/Cell.st.css.js +2 -2
- package/dist/cjs/Layout/Layout.st.css.js +2 -2
- package/dist/cjs/LinearProgressBar/LinearProgressBar.st.css.js +2 -2
- package/dist/cjs/LinearProgressBar/LinearProgressBarCore/LinearProgressBarCore.st.css.js +2 -2
- package/dist/cjs/ListItemAction/ListItemAction.st.css.js +2 -2
- package/dist/cjs/ListItemAction/ListItemAction.types.js.map +1 -1
- package/dist/cjs/ListItemEditable/ListItemEditable.st.css.js +2 -2
- package/dist/cjs/ListItemSection/ListItemSection.st.css.js +2 -2
- package/dist/cjs/ListItemSection/ListItemSection.uni.driver.js +4 -1
- package/dist/cjs/ListItemSection/ListItemSection.uni.driver.js.map +1 -1
- package/dist/cjs/ListItemSelect/ListItemSelect.st.css.js +2 -2
- package/dist/cjs/LiveRegion/LiveRegion.st.css.js +2 -2
- package/dist/cjs/Loader/Loader.st.css.js +3 -3
- package/dist/cjs/MarketingLayout/MarketingLayout.st.css.js +3 -3
- package/dist/cjs/MarketingPageLayout/MarketingPageLayout.st.css.js +2 -2
- package/dist/cjs/MarketingPageLayoutContent/MarketingPageLayoutContent.st.css.js +2 -2
- package/dist/cjs/MediaOverlay/MediaOverlay.st.css.js +2 -2
- package/dist/cjs/MessageBoxFunctionalLayout/MessageBoxFunctionalLayout.st.css.js +2 -2
- package/dist/cjs/MessageBoxMarketerialLayout/MessageBoxMarketerialLayout.st.css.js +2 -2
- package/dist/cjs/MessageModalLayout/MessageModalLayout.st.css.js +2 -2
- package/dist/cjs/MobilePreviewWidget/MobilePreviewWidget.st.css.js +2 -2
- package/dist/cjs/Modal/Modal.st.css.js +2 -2
- package/dist/cjs/ModalMobileLayout/ModalMobileLayout.st.css.js +2 -2
- package/dist/cjs/ModalMobileLayout/components/Footer/Footer.st.css.js +2 -2
- package/dist/cjs/ModalMobileLayout/components/Title/Title.st.css.js +2 -2
- package/dist/cjs/ModalPreviewLayout/ModalPreviewLayout.st.css.js +2 -2
- package/dist/cjs/ModalSelectorLayout/ModalSelectorLayout.st.css.js +2 -2
- package/dist/cjs/MultiSelect/InputWithTags.st.css.js +2 -2
- package/dist/cjs/MultiSelect/MultiSelect.st.css.js +2 -2
- package/dist/cjs/MultiSelectCheckbox/MultiSelectCheckbox.js +2 -3
- package/dist/cjs/MultiSelectCheckbox/MultiSelectCheckbox.js.map +1 -1
- package/dist/cjs/MultiSelectCheckbox/MultiSelectCheckbox.st.css.js +2 -2
- package/dist/cjs/NestableList/NestableList.st.css.js +2 -2
- package/dist/cjs/NestableList/NestableListTheme.st.css.js +2 -2
- package/dist/cjs/Notification/Notification.st.css.js +2 -2
- package/dist/cjs/Page/Page.st.css.js +4 -4
- package/dist/cjs/Page/components/Footer/Footer.st.css.js +2 -2
- package/dist/cjs/Page/components/Footer/components/Center/Center.st.css.js +2 -2
- package/dist/cjs/Page/components/Footer/components/End/End.st.css.js +2 -2
- package/dist/cjs/Page/components/Footer/components/Start/Start.st.css.js +2 -2
- package/dist/cjs/Page/components/Header/Header.st.css.js +2 -2
- package/dist/cjs/Page/components/Section/Section.st.css.js +2 -2
- package/dist/cjs/Page/test/examples/BMPageContainer.st.css.js +2 -2
- package/dist/cjs/Page/test/examples/PageStory.st.css.js +2 -2
- package/dist/cjs/Page/test/examples/testExamples.st.css.js +2 -2
- package/dist/cjs/Pagination/Pagination.st.css.js +2 -2
- package/dist/cjs/Pagination/PaginationCore/PaginationCore.st.css.js +2 -2
- package/dist/cjs/Pagination/PaginationCore/PaginationCoreTest.st.css.js +2 -2
- package/dist/cjs/Palette/Palette.st.css.js +2 -2
- package/dist/cjs/Popover/Popover.st.css.js +2 -2
- package/dist/cjs/PopoverMenu/PopoverMenu.st.css.js +2 -2
- package/dist/cjs/PreviewWidget/PreviewWidget.st.css.js +2 -2
- package/dist/cjs/Proportion/Proportion.st.css.js +2 -2
- package/dist/cjs/PulseAnimation/PulseAnimation.st.css.js +3 -3
- package/dist/cjs/RadarChart/RadarChart.st.css.js +2 -2
- package/dist/cjs/Radio/Radio.st.css.js +2 -2
- package/dist/cjs/RadioGroup/RadioGroup.st.css.js +2 -2
- package/dist/cjs/Range/Range.st.css.js +2 -2
- package/dist/cjs/RichTextInputArea/Form/RichTextInputAreaForm.st.css.js +2 -2
- package/dist/cjs/RichTextInputArea/RichTextInputArea.st.css.js +3 -3
- package/dist/cjs/RichTextInputArea/Toolbar/RichTextToolbarButton.st.css.js +2 -2
- package/dist/cjs/Search/Search.js +7 -8
- package/dist/cjs/Search/Search.js.map +1 -1
- package/dist/cjs/Search/Search.st.css.js +2 -2
- package/dist/cjs/SectionHeader/SectionHeader.st.css.js +3 -3
- package/dist/cjs/SectionHelper/SectionHelper.st.css.js +2 -2
- package/dist/cjs/SegmentedToggle/SegmentedToggle.st.css.js +2 -2
- package/dist/cjs/SegmentedToggle/ToggleButton/ToggleButton.st.css.js +2 -2
- package/dist/cjs/SegmentedToggle/ToggleIcon/ToggleIcon.st.css.js +2 -2
- package/dist/cjs/SelectableAccordion/Item/Item.st.css.js +2 -2
- package/dist/cjs/SelectableAccordion/SelectableAccordion.st.css.js +2 -2
- package/dist/cjs/Selector/ProgressBar/ProgressBar.st.css.js +2 -2
- package/dist/cjs/Selector/Selector.st.css.js +2 -2
- package/dist/cjs/SelectorButton/SelectorButton.st.css.js +2 -2
- package/dist/cjs/SelectorList/Content/Content.st.css.js +2 -2
- package/dist/cjs/SelectorList/SelectorList.st.css.js +2 -2
- package/dist/cjs/SidePanel/Content/Content.st.css.js +2 -2
- package/dist/cjs/SidePanel/Divider/Divider.st.css.js +2 -2
- package/dist/cjs/SidePanel/Field/Field.st.css.js +3 -3
- package/dist/cjs/SidePanel/Footer/Footer.st.css.js +2 -2
- package/dist/cjs/SidePanel/Header/Header.st.css.js +2 -2
- package/dist/cjs/SidePanel/Section/Section.st.css.js +2 -2
- package/dist/cjs/SidePanel/SidePanel.st.css.js +2 -2
- package/dist/cjs/Sidebar/Sidebar.st.css.js +3 -3
- package/dist/cjs/Sidebar/colors.st.css.js +2 -2
- package/dist/cjs/SidebarBackButton/SidebarBackButton.st.css.js +3 -3
- package/dist/cjs/SidebarDivider/SidebarDivider.st.css.js +2 -2
- package/dist/cjs/SidebarDividerNext/SidebarDividerNext.st.css.js +2 -2
- package/dist/cjs/SidebarHeader/SidebarHeader.st.css.js +2 -2
- package/dist/cjs/SidebarHeaderNext/SidebarHeaderNext.st.css.js +2 -2
- package/dist/cjs/SidebarItemNext/SidebarItemNext.st.css.js +2 -2
- package/dist/cjs/SidebarNext/SidebarNext.st.css.js +2 -2
- package/dist/cjs/SidebarNext/components/SidebarSkeleton.st.css.js +3 -3
- package/dist/cjs/SidebarNext/components/ToggleButton.st.css.js +2 -2
- package/dist/cjs/SidebarSectionItem/SidebarSectionItem.st.css.js +2 -2
- package/dist/cjs/SidebarSectionTitle/SidebarSectionTitle.st.css.js +2 -2
- package/dist/cjs/SidebarSubMenuNext/SidebarSubMenuNext.st.css.js +3 -3
- package/dist/cjs/SidebarTitleItemNext/SidebarTitleItemNext.st.css.js +2 -2
- package/dist/cjs/Skeleton/Skeleton.st.css.js +3 -3
- package/dist/cjs/SkeletonCircle/SkeletonCircle.st.css.js +2 -2
- package/dist/cjs/SkeletonGroup/SkeletonGroup.st.css.js +4 -4
- package/dist/cjs/SkeletonLine/SkeletonLine.st.css.js +2 -2
- package/dist/cjs/SkeletonRectangle/SkeletonRectangle.st.css.js +2 -2
- package/dist/cjs/Slider/Slider.st.css.js +2 -2
- package/dist/cjs/SocialButton/SocialButton.st.css.js +2 -2
- package/dist/cjs/SocialPostPreview/SocialPostPreview.st.css.js +2 -2
- package/dist/cjs/SocialPostPreview/components/FacebookPost.st.css.js +2 -2
- package/dist/cjs/SocialPostPreview/components/InstagramPost.st.css.js +2 -2
- package/dist/cjs/SocialPreview/SocialPreview.st.css.js +2 -2
- package/dist/cjs/SortableGridBase/SortableGridBase.st.css.js +2 -2
- package/dist/cjs/SparklineChart/ChartTooltip.st.css.js +2 -2
- package/dist/cjs/SparklineChart/SparklineChart.st.css.js +2 -2
- package/dist/cjs/StackedBarChart/StackedBarChart.st.css.js +2 -2
- package/dist/cjs/StarsRatingBar/StarsRatingBar.st.css.js +2 -2
- package/dist/cjs/StarsRatingBar/components/InteractiveModeStar.st.css.js +2 -2
- package/dist/cjs/StatisticsWidget/StatisticsItem/StatisticsItem.st.css.js +2 -2
- package/dist/cjs/StatisticsWidget/StatisticsWidget.st.css.js +2 -2
- package/dist/cjs/StatusIndicator/StatusIndicator.st.css.js +2 -2
- package/dist/cjs/Stepper/Stepper.st.css.js +2 -2
- package/dist/cjs/Stepper/components/Step.st.css.js +2 -2
- package/dist/cjs/Stepper/components/StepMarker.st.css.js +2 -2
- package/dist/cjs/Table/DataTable/DataTable.st.css.js +2 -2
- package/dist/cjs/Table/DataTable/components/DataTableRow.st.css.js +2 -2
- package/dist/cjs/Table/DataTable/components/DataTableRowVirtual.st.css.js +2 -2
- package/dist/cjs/Table/DataTable/docs/Example.st.css.js +2 -2
- package/dist/cjs/Table/FloatingScrollBar/FloatingScrollBar.st.css.js +2 -2
- package/dist/cjs/Table/Table.st.css.js +2 -2
- package/dist/cjs/TableActionCell/TableActionCell.st.css.js +2 -2
- package/dist/cjs/TableListHeader/TableListHeader.st.css.js +2 -2
- package/dist/cjs/TableListItem/TableListItem.st.css.js +3 -3
- package/dist/cjs/TableToolbar/TableToolbar.st.css.js +2 -2
- package/dist/cjs/Tabs/Tabs.st.css.js +2 -2
- package/dist/cjs/Tabs/test/examples/TabsExample.st.css.js +2 -2
- package/dist/cjs/Tag/Tag.st.css.js +2 -2
- package/dist/cjs/TagList/TagList.st.css.js +2 -2
- package/dist/cjs/TestimonialList/TestimonialList.st.css.js +2 -2
- package/dist/cjs/Text/Caption.st.css.js +2 -2
- package/dist/cjs/Text/Text.st.css.js +2 -2
- package/dist/cjs/TextButton/TextButton.st.css.js +2 -2
- package/dist/cjs/Themes/brand/Brand.st.css.js +2 -2
- package/dist/cjs/Themes/brand/Foundations/colors.st.css.js +2 -2
- package/dist/cjs/Themes/brand/components/Button/Button.st.css.js +2 -2
- package/dist/cjs/Themes/brand/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/Themes/brand/components/InputWithLabel/InputWithLabel.st.css.js +2 -2
- package/dist/cjs/Themes/brand/components/InputWithLabel/LabelledElement.st.css.js +2 -2
- package/dist/cjs/Themes/brand/components/Text/Text.st.css.js +2 -2
- package/dist/cjs/Thumbnail/Thumbnail.st.css.js +2 -2
- package/dist/cjs/TimeInput/TimeInput.st.css.js +2 -2
- package/dist/cjs/TimeTable/TimeTable.st.css.js +2 -2
- package/dist/cjs/TimeTable/components/Item.st.css.js +2 -2
- package/dist/cjs/Timeline/Timeline.st.css.js +2 -2
- package/dist/cjs/Timeline/TimelineItem.st.css.js +3 -3
- package/dist/cjs/Toast/Toast.st.css.js +2 -2
- package/dist/cjs/Toast/components/ToastItem/ToastItem.st.css.js +2 -2
- package/dist/cjs/ToggleButton/ToggleButton.st.css.js +2 -2
- package/dist/cjs/ToggleSwitch/ToggleSwitch.st.css.js +2 -2
- package/dist/cjs/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCore.st.css.js +2 -2
- package/dist/cjs/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreColor.st.css.js +2 -2
- package/dist/cjs/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreLayout.st.css.js +2 -2
- package/dist/cjs/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreStyle.st.css.js +2 -2
- package/dist/cjs/Tooltip/Tooltip.st.css.js +2 -2
- package/dist/cjs/TrendIndicator/TrendIndicator.st.css.js +2 -2
- package/dist/cjs/VariableInput/VariableInput.st.css.js +3 -3
- package/dist/cjs/VerticalTabs/VerticalTabs.st.css.js +2 -2
- package/dist/cjs/VerticalTabsItem/VerticalTabsItem.st.css.js +2 -2
- package/dist/cjs/WixDesignSystemProvider/WixDesignSystemProvider.st.css.js +2 -2
- package/dist/cjs/WixDesignSystemProvider/madefor.st.css.js +2 -2
- package/dist/cjs/WixDesignSystemProvider/newColorsBranding.st.css.js +2 -2
- package/dist/cjs/common/AdaptiveHeading/AdaptiveHeading.st.css.js +2 -2
- package/dist/cjs/common/Ellipsis/Ellipsis.st.css.js +3 -3
- package/dist/cjs/common/Ellipsis/components/TextComponent/TextComponent.st.css.js +3 -3
- package/dist/cjs/common/FluidColumns/FluidColumns.st.css.js +3 -3
- package/dist/cjs/common/Focusable/Focusable.st.css.js +2 -2
- package/dist/cjs/dnd-styles/dnd-styles.st.css.js +2 -2
- package/dist/cjs/providers/useOverlayScrollbar/useOverlayScrollbar.initialization.st.css.js +3 -3
- package/dist/cjs/providers/useOverlayScrollbar/useOverlayScrollbar.js +2 -2
- package/dist/cjs/providers/useOverlayScrollbar/useOverlayScrollbar.js.map +1 -1
- package/dist/cjs/providers/useOverlayScrollbar/useOverlayScrollbar.st.css.js +2 -2
- package/dist/cjs/utils/StringUtils.js.map +1 -1
- package/dist/cjs/utils/test-utils/unidriver/index.js +4 -2
- package/dist/cjs/utils/test-utils/unidriver/index.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/Accordion/Accordion.st.css.js +2 -2
- package/dist/esm/Accordion/components/AccordionItem/AccordionItem.st.css.js +2 -2
- package/dist/esm/Accordion/components/AccordionItemCaret/AccordionItemCaret.st.css.js +2 -2
- package/dist/esm/AddItem/AddItem.st.css.js +2 -2
- package/dist/esm/AddItem/AddItem.uni.driver.js.map +1 -1
- package/dist/esm/AddressInputItem/AddressInputItem.st.css.js +2 -2
- package/dist/esm/AnalyticsLayout/AnalyticsLayout.st.css.js +2 -2
- package/dist/esm/AnalyticsLayout/Cell/Cell.st.css.js +2 -2
- package/dist/esm/AnalyticsSummaryCard/AnalyticsSummaryCard.st.css.js +2 -2
- package/dist/esm/AnnouncementModalLayout/AnnouncementModalLayout.st.css.js +2 -2
- package/dist/esm/AreaChart/AreaChart.st.css.js +2 -2
- package/dist/esm/AudioPlayer/AudioPlayer.st.css.js +3 -3
- package/dist/esm/AutoComplete/AutoComplete.js +1 -2
- package/dist/esm/AutoComplete/AutoComplete.js.map +1 -1
- package/dist/esm/AutoCompleteWithLabel/AutoCompleteWithLabel.js +1 -2
- package/dist/esm/AutoCompleteWithLabel/AutoCompleteWithLabel.js.map +1 -1
- package/dist/esm/AutoCompleteWithLabel/AutoCompleteWithLabel.st.css.js +2 -2
- package/dist/esm/Avatar/Avatar.st.css.js +2 -2
- package/dist/esm/Avatar/AvatarCore/AvatarCore.st.css.js +2 -2
- package/dist/esm/AvatarGroup/AvatarGroup.st.css.js +2 -2
- package/dist/esm/Badge/Badge.st.css.js +2 -2
- package/dist/esm/BadgeSelect/BadgeSelect.st.css.js +2 -2
- package/dist/esm/BadgeSelectItem/BadgeSelectItem.st.css.js +2 -2
- package/dist/esm/BarChart/BarChart.st.css.js +3 -3
- package/dist/esm/BaseModalLayout/BaseModalLayout.st.css.js +2 -2
- package/dist/esm/BaseModalLayout/LayoutBlocks/Content/Content.st.css.js +2 -2
- package/dist/esm/BaseModalLayout/LayoutBlocks/Footer/Footer.st.css.js +2 -2
- package/dist/esm/BaseModalLayout/LayoutBlocks/Footnote/Footnote.st.css.js +2 -2
- package/dist/esm/BaseModalLayout/LayoutBlocks/Header/Header.st.css.js +2 -2
- package/dist/esm/BaseModalLayout/LayoutBlocks/Illustration/Illustration.st.css.js +2 -2
- package/dist/esm/BounceAnimation/BounceAnimation.st.css.js +3 -3
- package/dist/esm/Box/Box.st.css.js +3 -3
- package/dist/esm/Breadcrumbs/Breadcrumbs.st.css.js +2 -2
- package/dist/esm/BrowserPreviewWidget/BrowserPreviewWidget.st.css.js +2 -2
- package/dist/esm/Button/Button.st.css.js +2 -2
- package/dist/esm/Button/ButtonCore/ButtonCore.st.css.js +2 -2
- package/dist/esm/Calendar/BaseCalendar/BaseCalendar.st.css.js +2 -2
- package/dist/esm/Calendar/Calendar.st.css.js +2 -2
- package/dist/esm/Calendar/DatePickerDropdown/DatePickerDropdown.st.css.js +2 -2
- package/dist/esm/Calendar/DatePickerHead/DatePickerHead.st.css.js +2 -2
- package/dist/esm/Calendar/DatePickerHead/MonthDropdown/MonthDropdown.st.css.js +2 -2
- package/dist/esm/Calendar/DatePickerHead/YearDropdown/YearDropdown.st.css.js +2 -2
- package/dist/esm/CalendarPanel/CalendarPanel.st.css.js +2 -2
- package/dist/esm/Card/Card.st.css.js +2 -2
- package/dist/esm/Card/components/Content/Content.st.css.js +2 -2
- package/dist/esm/Card/components/Header/Header.st.css.js +2 -2
- package/dist/esm/Card/components/Subheader/Subheader.st.css.js +2 -2
- package/dist/esm/CardFolderTabs/CardFolderTabs.st.css.js +3 -3
- package/dist/esm/CardGalleryItem/CardGalleryItem.st.css.js +2 -2
- package/dist/esm/Carousel/Carousel.st.css.js +3 -3
- package/dist/esm/Carousel/Pagination/Pagination.st.css.js +2 -2
- package/dist/esm/CarouselWIP/CarouselWIP.st.css.js +3 -3
- package/dist/esm/CheckToggle/CheckToggle.st.css.js +2 -2
- package/dist/esm/Checkbox/Checkbox.st.css.js +2 -2
- package/dist/esm/CircularProgressBar/CircularProgressBar.st.css.js +2 -2
- package/dist/esm/CircularProgressBar/CircularProgressBarCore/CircularProgressBarCore.st.css.js +2 -2
- package/dist/esm/CloseButton/CloseButton.st.css.js +2 -2
- package/dist/esm/ColorInput/components/ColorViewer.st.css.js +2 -2
- package/dist/esm/ColorInput/components/Hash.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPicker.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPickerActions.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPickerConverter.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPickerHistory.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPickerHsb.st.css.js +2 -2
- package/dist/esm/ColorPicker/ColorPickerHue.st.css.js +2 -2
- package/dist/esm/ComposerButton/ComposerButton.st.css.js +2 -2
- package/dist/esm/ComposerHeader/ComposerHeader.st.css.js +2 -2
- package/dist/esm/ComposerSidebar/ComposerSidebar.st.css.js +2 -2
- package/dist/esm/CornerRadiusInput/CornerRadiusInput.st.css.js +2 -2
- package/dist/esm/CounterBadge/CounterBadge.st.css.js +2 -2
- package/dist/esm/CustomModalLayout/CustomModalLayout.st.css.js +2 -2
- package/dist/esm/DatePicker/DatePicker.st.css.js +2 -2
- package/dist/esm/Divider/Divider.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/Introduction/IntroductionExample.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableGridBase/SingleAreaGrid/SingleAreaGrid.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/ListWithDelay/ListWithDelay.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/MultiAreaList/MultiAreaList.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/MultiAreaListPreventOfDropping/MultiAreaListPreventDropping.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/MultiAreaListWithInsertionRules/MultiAreaListWithInsertionRules.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/MultiAreaListWithSortableColumns/MultiAreaListWithSortableColumns.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/MultiAreaListWithSortableColumnsWithAnimations/MultiAreaListWithSortableColumnsWithAnimations.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/NestableListBaseExample/NestableListBase.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/SingleAreaList/SingleAreaList.st.css.js +2 -2
- package/dist/esm/DragAndDrop/docs/SortableListBase/SingleAreaListWithAnimation/SingleAreaListWithAnimation.st.css.js +2 -2
- package/dist/esm/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/DraggableContainer/DraggableContainer.st.css.js +2 -2
- package/dist/esm/Dropdown/Dropdown.js +1 -2
- package/dist/esm/Dropdown/Dropdown.js.map +1 -1
- package/dist/esm/Dropdown/Dropdown.st.css.js +2 -2
- package/dist/esm/DropdownBase/DropdownBase.st.css.js +2 -2
- package/dist/esm/DropdownLayout/DropdownLayout.js +169 -188
- package/dist/esm/DropdownLayout/DropdownLayout.js.map +1 -1
- package/dist/esm/DropdownLayout/DropdownLayout.st.css.js +2 -2
- package/dist/esm/DropdownLayout/DropdownLayout.types.js +2 -0
- package/dist/esm/DropdownLayout/DropdownLayout.types.js.map +1 -0
- package/dist/esm/DropdownLayout/DropdownLayout.uni.driver.js +26 -21
- package/dist/esm/DropdownLayout/DropdownLayout.uni.driver.js.map +1 -1
- package/dist/esm/DropdownLayout/index.js +2 -1
- package/dist/esm/DropdownLayout/index.js.map +1 -1
- package/dist/esm/DropdownLayout/withOverlayScrollbar.js.map +1 -1
- package/dist/esm/Dropzone/Dropzone.st.css.js +2 -2
- package/dist/esm/EditableSelector/EditableSelector.st.css.js +2 -2
- package/dist/esm/EditableTitle/EditableTitle.st.css.js +2 -2
- package/dist/esm/EmptyState/EmptyState.st.css.js +2 -2
- package/dist/esm/FacesRatingBar/FacesRatingBar.st.css.js +2 -2
- package/dist/esm/FeatureList/FeatureList.st.css.js +2 -2
- package/dist/esm/FieldSet/FieldSet.st.css.js +2 -2
- package/dist/esm/FieldSet/components/Asterisk/Asterisk.st.css.js +2 -2
- package/dist/esm/FieldSet/components/InfoContentIcon/InfoContentIcon.st.css.js +2 -2
- package/dist/esm/FieldSet/components/InlineLabelWrapper/InlineLabelWrapper.st.css.js +2 -2
- package/dist/esm/FieldSet/components/Label/Label.st.css.js +2 -2
- package/dist/esm/FieldSet/components/StatusMessage/StatusMessage.st.css.js +2 -2
- package/dist/esm/FieldSet/components/Suffix/Suffix.st.css.js +2 -2
- package/dist/esm/FilePicker/FilePicker.st.css.js +2 -2
- package/dist/esm/FillButton/FillButton.st.css.js +2 -2
- package/dist/esm/FillPreview/FillPreview.st.css.js +2 -2
- package/dist/esm/FloatingHelper/FloatingHelper.st.css.js +2 -2
- package/dist/esm/FloatingHelper/FloatingHelperContent/FloatingHelperContent.st.css.js +2 -2
- package/dist/esm/FloatingNotification/FloatingNotification.st.css.js +2 -2
- package/dist/esm/FormField/FormField.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/border.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/breakpoints.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/colors.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/default-scroll-bar.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/easing.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/gradients.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/opacity.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/shadows.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/spacing.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/typography.st.css.js +2 -2
- package/dist/esm/Foundation/stylable/z-index.st.css.js +2 -2
- package/dist/esm/FunnelChart/FunnelBadge/FunnelBadge.st.css.js +2 -2
- package/dist/esm/FunnelChart/FunnelBar/FunnelBar.st.css.js +2 -2
- package/dist/esm/FunnelChart/FunnelChart.st.css.js +2 -2
- package/dist/esm/FunnelChart/FunnelLabel/FunnelLabel.st.css.js +2 -2
- package/dist/esm/FunnelChart/FunnelStep/FunnelStep.st.css.js +2 -2
- package/dist/esm/GoogleAddressInput/GoogleAddressInput.st.css.js +2 -2
- package/dist/esm/GooglePreview/GooglePreview.st.css.js +2 -2
- package/dist/esm/Heading/Heading.st.css.js +2 -2
- package/dist/esm/Highlighter/Highlighter.st.css.js +2 -2
- package/dist/esm/HorizontalTimeline/HorizontalTimeline.st.css.js +2 -2
- package/dist/esm/HorizontalTimeline/HorizontalTimelineIcons.st.css.js +3 -3
- package/dist/esm/IconButton/IconButton.st.css.js +2 -2
- package/dist/esm/Image/Image.st.css.js +2 -2
- package/dist/esm/ImageViewer/ImageViewer.st.css.js +2 -2
- package/dist/esm/InfoIcon/InfoIcon.st.css.js +2 -2
- package/dist/esm/Input/Affix/Affix.st.css.js +2 -2
- package/dist/esm/Input/Group/Group.st.css.js +2 -2
- package/dist/esm/Input/IconAffix/IconAffix.st.css.js +2 -2
- package/dist/esm/Input/Input.st.css.js +3 -3
- package/dist/esm/Input/Ticker/Ticker.st.css.js +2 -2
- package/dist/esm/InputArea/InputArea.js +10 -4
- package/dist/esm/InputArea/InputArea.js.map +1 -1
- package/dist/esm/InputArea/InputArea.st.css.js +3 -3
- package/dist/esm/InputWithLabel/InputWithLabel.st.css.js +2 -2
- package/dist/esm/InputWithOptions/InputWithOptions.st.css.js +2 -2
- package/dist/esm/LabelledElement/LabelledElement.st.css.js +2 -2
- package/dist/esm/Layout/Cell/Cell.st.css.js +2 -2
- package/dist/esm/Layout/Layout.st.css.js +2 -2
- package/dist/esm/LinearProgressBar/LinearProgressBar.st.css.js +2 -2
- package/dist/esm/LinearProgressBar/LinearProgressBarCore/LinearProgressBarCore.st.css.js +2 -2
- package/dist/esm/ListItemAction/ListItemAction.st.css.js +2 -2
- package/dist/esm/ListItemEditable/ListItemEditable.st.css.js +2 -2
- package/dist/esm/ListItemSection/ListItemSection.st.css.js +2 -2
- package/dist/esm/ListItemSection/ListItemSection.uni.driver.js +4 -1
- package/dist/esm/ListItemSection/ListItemSection.uni.driver.js.map +1 -1
- package/dist/esm/ListItemSelect/ListItemSelect.st.css.js +2 -2
- package/dist/esm/LiveRegion/LiveRegion.st.css.js +2 -2
- package/dist/esm/Loader/Loader.st.css.js +3 -3
- package/dist/esm/MarketingLayout/MarketingLayout.st.css.js +3 -3
- package/dist/esm/MarketingPageLayout/MarketingPageLayout.st.css.js +2 -2
- package/dist/esm/MarketingPageLayoutContent/MarketingPageLayoutContent.st.css.js +2 -2
- package/dist/esm/MediaOverlay/MediaOverlay.st.css.js +2 -2
- package/dist/esm/MessageBoxFunctionalLayout/MessageBoxFunctionalLayout.st.css.js +2 -2
- package/dist/esm/MessageBoxMarketerialLayout/MessageBoxMarketerialLayout.st.css.js +2 -2
- package/dist/esm/MessageModalLayout/MessageModalLayout.st.css.js +2 -2
- package/dist/esm/MobilePreviewWidget/MobilePreviewWidget.st.css.js +2 -2
- package/dist/esm/Modal/Modal.st.css.js +2 -2
- package/dist/esm/ModalMobileLayout/ModalMobileLayout.st.css.js +2 -2
- package/dist/esm/ModalMobileLayout/components/Footer/Footer.st.css.js +2 -2
- package/dist/esm/ModalMobileLayout/components/Title/Title.st.css.js +2 -2
- package/dist/esm/ModalPreviewLayout/ModalPreviewLayout.st.css.js +2 -2
- package/dist/esm/ModalSelectorLayout/ModalSelectorLayout.st.css.js +2 -2
- package/dist/esm/MultiSelect/InputWithTags.st.css.js +2 -2
- package/dist/esm/MultiSelect/MultiSelect.st.css.js +2 -2
- package/dist/esm/MultiSelectCheckbox/MultiSelectCheckbox.js +1 -2
- package/dist/esm/MultiSelectCheckbox/MultiSelectCheckbox.js.map +1 -1
- package/dist/esm/MultiSelectCheckbox/MultiSelectCheckbox.st.css.js +2 -2
- package/dist/esm/NestableList/NestableList.st.css.js +2 -2
- package/dist/esm/NestableList/NestableListTheme.st.css.js +2 -2
- package/dist/esm/Notification/Notification.st.css.js +2 -2
- package/dist/esm/Page/Page.st.css.js +4 -4
- package/dist/esm/Page/components/Footer/Footer.st.css.js +2 -2
- package/dist/esm/Page/components/Footer/components/Center/Center.st.css.js +2 -2
- package/dist/esm/Page/components/Footer/components/End/End.st.css.js +2 -2
- package/dist/esm/Page/components/Footer/components/Start/Start.st.css.js +2 -2
- package/dist/esm/Page/components/Header/Header.st.css.js +2 -2
- package/dist/esm/Page/components/Section/Section.st.css.js +2 -2
- package/dist/esm/Page/test/examples/BMPageContainer.st.css.js +2 -2
- package/dist/esm/Page/test/examples/PageStory.st.css.js +2 -2
- package/dist/esm/Page/test/examples/testExamples.st.css.js +2 -2
- package/dist/esm/Pagination/Pagination.st.css.js +2 -2
- package/dist/esm/Pagination/PaginationCore/PaginationCore.st.css.js +2 -2
- package/dist/esm/Pagination/PaginationCore/PaginationCoreTest.st.css.js +2 -2
- package/dist/esm/Palette/Palette.st.css.js +2 -2
- package/dist/esm/Popover/Popover.st.css.js +2 -2
- package/dist/esm/PopoverMenu/PopoverMenu.st.css.js +2 -2
- package/dist/esm/PreviewWidget/PreviewWidget.st.css.js +2 -2
- package/dist/esm/Proportion/Proportion.st.css.js +2 -2
- package/dist/esm/PulseAnimation/PulseAnimation.st.css.js +3 -3
- package/dist/esm/RadarChart/RadarChart.st.css.js +2 -2
- package/dist/esm/Radio/Radio.st.css.js +2 -2
- package/dist/esm/RadioGroup/RadioGroup.st.css.js +2 -2
- package/dist/esm/Range/Range.st.css.js +2 -2
- package/dist/esm/RichTextInputArea/Form/RichTextInputAreaForm.st.css.js +2 -2
- package/dist/esm/RichTextInputArea/RichTextInputArea.st.css.js +3 -3
- package/dist/esm/RichTextInputArea/Toolbar/RichTextToolbarButton.st.css.js +2 -2
- package/dist/esm/Search/Search.js +1 -2
- package/dist/esm/Search/Search.js.map +1 -1
- package/dist/esm/Search/Search.st.css.js +2 -2
- package/dist/esm/SectionHeader/SectionHeader.st.css.js +3 -3
- package/dist/esm/SectionHelper/SectionHelper.st.css.js +2 -2
- package/dist/esm/SegmentedToggle/SegmentedToggle.st.css.js +2 -2
- package/dist/esm/SegmentedToggle/ToggleButton/ToggleButton.st.css.js +2 -2
- package/dist/esm/SegmentedToggle/ToggleIcon/ToggleIcon.st.css.js +2 -2
- package/dist/esm/SelectableAccordion/Item/Item.st.css.js +2 -2
- package/dist/esm/SelectableAccordion/SelectableAccordion.st.css.js +2 -2
- package/dist/esm/Selector/ProgressBar/ProgressBar.st.css.js +2 -2
- package/dist/esm/Selector/Selector.st.css.js +2 -2
- package/dist/esm/SelectorButton/SelectorButton.st.css.js +2 -2
- package/dist/esm/SelectorList/Content/Content.st.css.js +2 -2
- package/dist/esm/SelectorList/SelectorList.st.css.js +2 -2
- package/dist/esm/SidePanel/Content/Content.st.css.js +2 -2
- package/dist/esm/SidePanel/Divider/Divider.st.css.js +2 -2
- package/dist/esm/SidePanel/Field/Field.st.css.js +3 -3
- package/dist/esm/SidePanel/Footer/Footer.st.css.js +2 -2
- package/dist/esm/SidePanel/Header/Header.st.css.js +2 -2
- package/dist/esm/SidePanel/Section/Section.st.css.js +2 -2
- package/dist/esm/SidePanel/SidePanel.st.css.js +2 -2
- package/dist/esm/Sidebar/Sidebar.st.css.js +3 -3
- package/dist/esm/Sidebar/colors.st.css.js +2 -2
- package/dist/esm/SidebarBackButton/SidebarBackButton.st.css.js +3 -3
- package/dist/esm/SidebarDivider/SidebarDivider.st.css.js +2 -2
- package/dist/esm/SidebarDividerNext/SidebarDividerNext.st.css.js +2 -2
- package/dist/esm/SidebarHeader/SidebarHeader.st.css.js +2 -2
- package/dist/esm/SidebarHeaderNext/SidebarHeaderNext.st.css.js +2 -2
- package/dist/esm/SidebarItemNext/SidebarItemNext.st.css.js +2 -2
- package/dist/esm/SidebarNext/SidebarNext.st.css.js +2 -2
- package/dist/esm/SidebarNext/components/SidebarSkeleton.st.css.js +3 -3
- package/dist/esm/SidebarNext/components/ToggleButton.st.css.js +2 -2
- package/dist/esm/SidebarSectionItem/SidebarSectionItem.st.css.js +2 -2
- package/dist/esm/SidebarSectionTitle/SidebarSectionTitle.st.css.js +2 -2
- package/dist/esm/SidebarSubMenuNext/SidebarSubMenuNext.st.css.js +3 -3
- package/dist/esm/SidebarTitleItemNext/SidebarTitleItemNext.st.css.js +2 -2
- package/dist/esm/Skeleton/Skeleton.st.css.js +3 -3
- package/dist/esm/SkeletonCircle/SkeletonCircle.st.css.js +2 -2
- package/dist/esm/SkeletonGroup/SkeletonGroup.st.css.js +4 -4
- package/dist/esm/SkeletonLine/SkeletonLine.st.css.js +2 -2
- package/dist/esm/SkeletonRectangle/SkeletonRectangle.st.css.js +2 -2
- package/dist/esm/Slider/Slider.st.css.js +2 -2
- package/dist/esm/SocialButton/SocialButton.st.css.js +2 -2
- package/dist/esm/SocialPostPreview/SocialPostPreview.st.css.js +2 -2
- package/dist/esm/SocialPostPreview/components/FacebookPost.st.css.js +2 -2
- package/dist/esm/SocialPostPreview/components/InstagramPost.st.css.js +2 -2
- package/dist/esm/SocialPreview/SocialPreview.st.css.js +2 -2
- package/dist/esm/SortableGridBase/SortableGridBase.st.css.js +2 -2
- package/dist/esm/SparklineChart/ChartTooltip.st.css.js +2 -2
- package/dist/esm/SparklineChart/SparklineChart.st.css.js +2 -2
- package/dist/esm/StackedBarChart/StackedBarChart.st.css.js +2 -2
- package/dist/esm/StarsRatingBar/StarsRatingBar.st.css.js +2 -2
- package/dist/esm/StarsRatingBar/components/InteractiveModeStar.st.css.js +2 -2
- package/dist/esm/StatisticsWidget/StatisticsItem/StatisticsItem.st.css.js +2 -2
- package/dist/esm/StatisticsWidget/StatisticsWidget.st.css.js +2 -2
- package/dist/esm/StatusIndicator/StatusIndicator.st.css.js +2 -2
- package/dist/esm/Stepper/Stepper.st.css.js +2 -2
- package/dist/esm/Stepper/components/Step.st.css.js +2 -2
- package/dist/esm/Stepper/components/StepMarker.st.css.js +2 -2
- package/dist/esm/Table/DataTable/DataTable.st.css.js +2 -2
- package/dist/esm/Table/DataTable/components/DataTableRow.st.css.js +2 -2
- package/dist/esm/Table/DataTable/components/DataTableRowVirtual.st.css.js +2 -2
- package/dist/esm/Table/DataTable/docs/Example.st.css.js +2 -2
- package/dist/esm/Table/FloatingScrollBar/FloatingScrollBar.st.css.js +2 -2
- package/dist/esm/Table/Table.st.css.js +2 -2
- package/dist/esm/TableActionCell/TableActionCell.st.css.js +2 -2
- package/dist/esm/TableListHeader/TableListHeader.st.css.js +2 -2
- package/dist/esm/TableListItem/TableListItem.st.css.js +3 -3
- package/dist/esm/TableToolbar/TableToolbar.st.css.js +2 -2
- package/dist/esm/Tabs/Tabs.st.css.js +2 -2
- package/dist/esm/Tabs/test/examples/TabsExample.st.css.js +2 -2
- package/dist/esm/Tag/Tag.st.css.js +2 -2
- package/dist/esm/TagList/TagList.st.css.js +2 -2
- package/dist/esm/TestimonialList/TestimonialList.st.css.js +2 -2
- package/dist/esm/Text/Caption.st.css.js +2 -2
- package/dist/esm/Text/Text.st.css.js +2 -2
- package/dist/esm/TextButton/TextButton.st.css.js +2 -2
- package/dist/esm/Themes/brand/Brand.st.css.js +2 -2
- package/dist/esm/Themes/brand/Foundations/colors.st.css.js +2 -2
- package/dist/esm/Themes/brand/components/Button/Button.st.css.js +2 -2
- package/dist/esm/Themes/brand/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/Themes/brand/components/InputWithLabel/InputWithLabel.st.css.js +2 -2
- package/dist/esm/Themes/brand/components/InputWithLabel/LabelledElement.st.css.js +2 -2
- package/dist/esm/Themes/brand/components/Text/Text.st.css.js +2 -2
- package/dist/esm/Thumbnail/Thumbnail.st.css.js +2 -2
- package/dist/esm/TimeInput/TimeInput.st.css.js +2 -2
- package/dist/esm/TimeTable/TimeTable.st.css.js +2 -2
- package/dist/esm/TimeTable/components/Item.st.css.js +2 -2
- package/dist/esm/Timeline/Timeline.st.css.js +2 -2
- package/dist/esm/Timeline/TimelineItem.st.css.js +3 -3
- package/dist/esm/Toast/Toast.st.css.js +2 -2
- package/dist/esm/Toast/components/ToastItem/ToastItem.st.css.js +2 -2
- package/dist/esm/ToggleButton/ToggleButton.st.css.js +2 -2
- package/dist/esm/ToggleSwitch/ToggleSwitch.st.css.js +2 -2
- package/dist/esm/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCore.st.css.js +2 -2
- package/dist/esm/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreColor.st.css.js +2 -2
- package/dist/esm/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreLayout.st.css.js +2 -2
- package/dist/esm/ToggleSwitch/ToggleSwitchCore/ToggleSwitchCoreStyle.st.css.js +2 -2
- package/dist/esm/Tooltip/Tooltip.st.css.js +2 -2
- package/dist/esm/TrendIndicator/TrendIndicator.st.css.js +2 -2
- package/dist/esm/VariableInput/VariableInput.st.css.js +3 -3
- package/dist/esm/VerticalTabs/VerticalTabs.st.css.js +2 -2
- package/dist/esm/VerticalTabsItem/VerticalTabsItem.st.css.js +2 -2
- package/dist/esm/WixDesignSystemProvider/WixDesignSystemProvider.st.css.js +2 -2
- package/dist/esm/WixDesignSystemProvider/madefor.st.css.js +2 -2
- package/dist/esm/WixDesignSystemProvider/newColorsBranding.st.css.js +2 -2
- package/dist/esm/common/AdaptiveHeading/AdaptiveHeading.st.css.js +2 -2
- package/dist/esm/common/Ellipsis/Ellipsis.st.css.js +3 -3
- package/dist/esm/common/Ellipsis/components/TextComponent/TextComponent.st.css.js +3 -3
- package/dist/esm/common/FluidColumns/FluidColumns.st.css.js +3 -3
- package/dist/esm/common/Focusable/Focusable.st.css.js +2 -2
- package/dist/esm/dnd-styles/dnd-styles.st.css.js +2 -2
- package/dist/esm/providers/useOverlayScrollbar/useOverlayScrollbar.initialization.st.css.js +3 -3
- package/dist/esm/providers/useOverlayScrollbar/useOverlayScrollbar.js.map +1 -1
- package/dist/esm/providers/useOverlayScrollbar/useOverlayScrollbar.st.css.js +2 -2
- package/dist/esm/utils/StringUtils.js +1 -1
- package/dist/esm/utils/StringUtils.js.map +1 -1
- package/dist/esm/utils/test-utils/unidriver/index.js +5 -4
- package/dist/esm/utils/test-utils/unidriver/index.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/statics/design-system.cjs.min.js +41 -41
- package/dist/statics/design-system.esm.min.js +36 -36
- package/dist/statics/design-system.umd.js +858 -879
- package/dist/statics/design-system.umd.min.js +31 -31
- package/dist/statics/styles-default.global.css +1 -1
- package/dist/statics/styles-studio.global.css +1 -1
- package/dist/statics/styles.global.css +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/Accordion/Accordion.private.uni.driver.d.ts +9 -9
- package/dist/types/Accordion/Accordion.uni.driver.d.ts +9 -9
- package/dist/types/AddItem/AddItem.uni.driver.d.ts.map +1 -1
- package/dist/types/AutoComplete/AutoComplete.d.ts.map +1 -1
- package/dist/types/AutoCompleteWithLabel/AutoCompleteWithLabel.d.ts.map +1 -1
- package/dist/types/BadgeSelect/BadgeSelect.d.ts +1 -2
- package/dist/types/BadgeSelect/BadgeSelect.d.ts.map +1 -1
- package/dist/types/CDN_URLS.d.ts +2 -2
- package/dist/types/Calendar/Calendar.uni.driver.d.ts.map +1 -1
- package/dist/types/CalendarPanel/CalendarPanel.uni.driver.d.ts.map +1 -1
- package/dist/types/Dropdown/Dropdown.d.ts +1 -1
- package/dist/types/Dropdown/Dropdown.d.ts.map +1 -1
- package/dist/types/DropdownBase/DropdownBase.private.uni.driver.d.ts +59 -1
- package/dist/types/DropdownBase/DropdownBase.private.uni.driver.d.ts.map +1 -1
- package/dist/types/DropdownLayout/DropdownLayout.d.ts +168 -3
- package/dist/types/DropdownLayout/DropdownLayout.d.ts.map +1 -1
- package/dist/types/DropdownLayout/DropdownLayout.types.d.ts +120 -0
- package/dist/types/DropdownLayout/DropdownLayout.types.d.ts.map +1 -0
- package/dist/types/DropdownLayout/DropdownLayout.uni.driver.d.ts +104 -74
- package/dist/types/DropdownLayout/DropdownLayout.uni.driver.d.ts.map +1 -1
- package/dist/types/DropdownLayout/index.d.ts +3 -87
- package/dist/types/DropdownLayout/index.d.ts.map +1 -1
- package/dist/types/DropdownLayout/withOverlayScrollbar.d.ts +2 -1
- package/dist/types/DropdownLayout/withOverlayScrollbar.d.ts.map +1 -1
- package/dist/types/GoogleAddressInput/GoogleAddressInput.d.ts +1 -1
- package/dist/types/GoogleAddressInput/GoogleAddressInput.d.ts.map +1 -1
- package/dist/types/GooglePreview/GooglePreview.uni.driver.d.ts +11 -11
- package/dist/types/IconButton/IconButton.private.uni.driver.d.ts +1 -1
- package/dist/types/IconButton/IconButton.uni.driver.d.ts +1 -1
- package/dist/types/Input/Input.private.uni.driver.d.ts +1 -1
- package/dist/types/Input/Input.uni.driver.d.ts +1 -1
- package/dist/types/InputArea/InputArea.d.ts +5 -0
- package/dist/types/InputArea/InputArea.d.ts.map +1 -1
- package/dist/types/InputArea/index.d.ts +2 -0
- package/dist/types/InputWithOptions/InputWithOptions.d.ts +72 -4
- package/dist/types/InputWithOptions/InputWithOptions.d.ts.map +1 -1
- package/dist/types/ListItemAction/ListItemAction.types.d.ts +2 -1
- package/dist/types/ListItemAction/ListItemAction.types.d.ts.map +1 -1
- package/dist/types/ListItemEditable/ListItemEditable.uni.driver.d.ts +1 -1
- package/dist/types/ListItemSection/ListItemSection.uni.driver.d.ts.map +1 -1
- package/dist/types/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/types/MultiSelectCheckbox/MultiSelectCheckbox.d.ts +3 -3
- package/dist/types/MultiSelectCheckbox/MultiSelectCheckbox.d.ts.map +1 -1
- package/dist/types/NumberInput/NumberInput.private.uni.driver.d.ts +1 -1
- package/dist/types/NumberInput/NumberInput.uni.driver.d.ts +1 -1
- package/dist/types/Page/components/Header/Header.uni.driver.d.ts +1 -1
- package/dist/types/Search/Search.d.ts.map +1 -1
- package/dist/types/SelectableAccordion/utils.d.ts +1 -1
- package/dist/types/SelectableAccordion/utils.d.ts.map +1 -1
- package/dist/types/providers/useOverlayScrollbar/useOverlayScrollbar.d.ts +1 -3
- package/dist/types/providers/useOverlayScrollbar/useOverlayScrollbar.d.ts.map +1 -1
- package/dist/types/utils/StringUtils.d.ts +5 -5
- package/dist/types/utils/StringUtils.d.ts.map +1 -1
- package/dist/types/utils/test-utils/unidriver/DraftJS.d.ts +1 -1
- package/dist/types/utils/test-utils/unidriver/DraftJS.d.ts.map +1 -1
- package/dist/types/utils/test-utils/unidriver/index.d.ts +47 -9
- package/dist/types/utils/test-utils/unidriver/index.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +5 -5
- package/styles-default.global.css +1 -1
- package/styles-studio.global.css +1 -1
- package/styles.global.css +1 -1
- package/dist/cjs/DropdownLayout/DropdownLayout.uni.driver.d.js +0 -4
- package/dist/cjs/DropdownLayout/DropdownLayout.uni.driver.d.js.map +0 -1
- package/dist/cjs/DropdownLayout/index.d.js +0 -11
- package/dist/cjs/DropdownLayout/index.d.js.map +0 -1
- package/dist/cjs/providers/useOverlayScrollbar/tests/__snapshots__/useOverlayScrollbar.spec.tsx.snap +0 -31
- package/dist/esm/providers/useOverlayScrollbar/tests/__snapshots__/useOverlayScrollbar.spec.tsx.snap +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_propTypes","_interopRequireDefault","require","_react","_interopRequireWildcard","_Loader","_InfiniteScroll","_scrollIntoView","_DataAttr","_DropdownLayoutSt","_filterObject","_reactDom","_ListItemSection","_ListItemSelect","_ListItemAction","_StringUtils","_withOverlayScrollbar","_DropdownLayout2","_forkRef","_excluded","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","modulus","m","getUnit","value","isString","concat","DropdownLayout","React","PureComponent","constructor","props","setScrollElement","node","setState","scrollElement","focusableItemsIdsList","savedOnClicks","children","_onMouseEventsHandler","_checkIfEventOnElements","ReactDOM","findDOMNode","_onClickOutside","event","visible","onClickOutside","_onSelect","index","options","onSelect","listType","ListType","select","stopPropagation","_onClose","chosenOption","sameOptionWasPicked","id","state","selectedId","_isControlled","_onActionClick","onClick","find","_ref","_saveOnClicks","map","_ref2","_onMouseEnter","_isSelectableOption","_markOption","_onMouseLeave","NOT_HOVERED_INDEX","_focusOnOption","focusOnOption","markedIndex","findIndex","option","_markOptionAtIndex","_scrollIntoViewByIndex","infiniteScroll","menuElement","optionsRef","current","hoveredElement","childNodes","scrollIntoView","_onSelectListKeyDown","isComposing","key","KEY","arrowDown","_markNextStep","preventDefault","arrowUp","space","enter","hovered","tab","closeOnSelect","escape","_focus","focusedItemId","element","native","focus","focusableHOC","wrappedComponentRef","callback","innerComponentRef","_handleActionListNavigation","currentMenuItemIndex","indexOf","firstMenuItem","lastMenuItem","arrowLeft","arrowRight","home","end","_onActionListKeyDown","action","onClose","_wrapWithInfiniteScroll","scrollableElement","loadedWithUndefinedOptions","createElement","useWindow","dataHook","DATA_HOOKS","INFINITE_SCROLL_CONTAINER","loadMore","hasMore","data","loader","className","classes","__self","__source","fileName","lineNumber","columnNumber","DROPDOWN_LAYOUT_LOADER","size","_getDataAttributes","dropDirectionUp","filterObject","CONTENT_CONTAINER","DATA_SHOWN","DATA_SELECTED_OPTION_ID","DATA_DIRECTION","DROPDOWN_LAYOUT_DIRECTIONS","UP","DOWN","_getItemDataAttr","_ref3","selected","disabled","itemHeight","selectedHighlight","DATA_OPTION","DISABLED","SELECTED","HOVERED","SIZE","containerRef","createRef","componentDidMount","forceUpdate","focusOnSelectedOption","scrollToOption","autoFocus","_focusOnSelectedOption","_scrollToOption","_markOptionByProperty","MOUSE_EVENTS_SUPPORTED","eventName","document","addEventListener","_boundEvents","_focusFirstOption","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","UNSAFE_componentWillReceiveProps","nextProps","_findIndex","item","elem","target","parentNode","_renderTopArrow","withArrow","TOP_ARROW","arrow","_convertOptionToListItemSectionBuilder","_ref4","idx","title","isTitle","DIVIDER_OPTION_VALUE","listItemSectionBuilder","OPTION_DATA_HOOKS","DIVIDER","type","TITLE","_convertOptionToListItemActionBuilder","_ref5","optionTitle","rest","_objectWithoutProperties2","listItemActionBuilder","undefined","ref","tabIndex","role","selectedOption","scrollTop","Math","max","offsetTop","offsetHeight","_setSelectedOptionNode","optionNode","onOptionMarked","_getMarkedIndex","useHoverIndex","useSelectedIdIndex","step","some","optionIndex","_renderNode","_convertCustomOptionToBuilder","_ref7","overrideOptionStyle","overrideStyle","OPTION","_convertOptionToListItemSelectBuilder","_ref8","listItemSelectBuilder","st","selectableOption","_isBuilderOption","_ref9","_isCustomOption","_ref10","_isActionOption","_ref11","_isItemSection","_ref12","_convertOptionToBuilder","_renderOption","_ref13","builderOption","content","_renderOptionContent","hasLink","linkTo","isActionItem","linkItem","LINK_ITEM","href","_ref14","optionState","_extends2","onMouseEnter","onMouseLeave","onKeyDown","markedOption","selectableOptions","idToMark","arr","predicate","Array","isArray","_renderOptions","render","onMouseDown","fixedHeader","fixedFooter","inContainer","overflow","maxHeightPixels","minWidthPixels","renderedOptions","OverlayScrollbarHostElement","OverlayScrollbarContentElement","overlayScrollbarProps","optionsContainerProps","style","maxHeight","parseInt","DROPDOWN_LAYOUT_OPTIONS","optionsContainer","scrollbar","Scrollbar","OVERLAY","optionsContent","forkRef","root","direction","containerStyles","contentContainer","minWidth","optionPropTypes","PropTypes","shape","oneOfType","string","number","isRequired","func","bool","label","optionValidator","propName","componentName","optionError","checkPropTypes","propTypes","arrayOf","oneOf","defaultProps","displayName","NONE_SELECTED_ID","_default","exports","withOverlayScrollbar"],"sources":["../../../src/DropdownLayout/DropdownLayout.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { forwardRef } from 'react';\nimport Loader from '../Loader/Loader';\nimport InfiniteScroll from '../utils/InfiniteScroll';\nimport scrollIntoView from '../utils/scrollIntoView';\nimport {\n DATA_HOOKS,\n DATA_OPTION,\n DATA_SHOWN,\n DATA_DIRECTION,\n DROPDOWN_LAYOUT_DIRECTIONS,\n OPTION_DATA_HOOKS,\n DROPDOWN_LAYOUT_LOADER,\n DATA_SELECTED_OPTION_ID,\n} from './DataAttr';\nimport { st, classes } from './DropdownLayout.st.css';\nimport { filterObject } from '../utils/filterObject';\nimport ReactDOM from 'react-dom';\nimport { listItemSectionBuilder } from '../ListItemSection';\nimport { listItemSelectBuilder } from '../ListItemSelect';\nimport { listItemActionBuilder } from '../ListItemAction';\nimport { isString } from '../utils/StringUtils';\nimport { withOverlayScrollbar } from './withOverlayScrollbar';\nimport {\n DIVIDER_OPTION_VALUE,\n KEY,\n ListType,\n MOUSE_EVENTS_SUPPORTED,\n NOT_HOVERED_INDEX,\n Scrollbar,\n} from './DropdownLayout.constants';\nimport { forkRef } from '../utils/forkRef';\n\nconst modulus = (n, m) => ((n % m) + m) % m;\n\nconst getUnit = value => (isString(value) ? value : `${value}px`);\n\nclass DropdownLayout extends React.PureComponent {\n constructor(props) {\n super(props);\n\n this.containerRef = React.createRef();\n this.optionsRef = React.createRef();\n\n this.state = {\n hovered: NOT_HOVERED_INDEX,\n selectedId: props.selectedId,\n scrollElement: null,\n focusedItemId: null,\n };\n }\n\n setScrollElement = node => {\n this.setState({ scrollElement: node });\n };\n\n focusableItemsIdsList = [];\n savedOnClicks = [];\n children = {};\n\n componentDidMount() {\n if (this.loadedWithUndefinedOptions && this.optionsRef.current) {\n this.forceUpdate();\n }\n\n const { focusOnSelectedOption, scrollToOption, autoFocus } = this.props;\n\n if (focusOnSelectedOption) {\n this._focusOnSelectedOption();\n } else if (this.props.hasOwnProperty('focusOnOption')) {\n this._focusOnOption();\n }\n if (scrollToOption) {\n this._scrollToOption();\n }\n\n this._markOptionByProperty(this.props);\n\n // Deprecated\n MOUSE_EVENTS_SUPPORTED.forEach(eventName => {\n document.addEventListener(eventName, this._onMouseEventsHandler, true);\n });\n\n this._boundEvents = MOUSE_EVENTS_SUPPORTED;\n\n if (autoFocus) {\n this._focusFirstOption();\n }\n }\n\n componentWillUnmount() {\n if (this._boundEvents && typeof document !== 'undefined') {\n this._boundEvents.forEach(eventName => {\n document.removeEventListener(\n eventName,\n this._onMouseEventsHandler,\n true,\n );\n });\n }\n }\n\n componentDidUpdate(prevProps) {\n const { focusOnOption } = this.props;\n if (prevProps.focusOnOption !== focusOnOption) {\n this._focusOnOption();\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (this.props.visible !== nextProps.visible) {\n this._markOption(NOT_HOVERED_INDEX);\n }\n\n if (this.props.selectedId !== nextProps.selectedId) {\n this.setState({ selectedId: nextProps.selectedId });\n }\n\n // make sure the same item is hovered if options changed\n if (\n this.state.hovered !== NOT_HOVERED_INDEX &&\n (!nextProps.options[this.state.hovered] ||\n this.props.options[this.state.hovered].id !==\n nextProps.options[this.state.hovered].id)\n ) {\n this._markOption(\n this._findIndex(\n nextProps.options,\n item => item.id === this.props.options[this.state.hovered].id,\n ),\n );\n }\n\n this._markOptionByProperty(nextProps);\n }\n\n _focusFirstOption() {\n this._focus(this.focusableItemsIdsList[0]);\n }\n\n // Deprecated\n _checkIfEventOnElements(e, elem) {\n let current = e.target;\n while (current.parentNode) {\n if (elem.indexOf(current) > -1) {\n return true;\n }\n current = current.parentNode;\n }\n\n return current !== document;\n }\n\n // Deprecated\n _onMouseEventsHandler = e => {\n if (!this._checkIfEventOnElements(e, [ReactDOM.findDOMNode(this)])) {\n this._onClickOutside(e);\n }\n };\n\n // Deprecated\n _renderTopArrow() {\n const { withArrow, visible } = this.props;\n\n return withArrow && visible ? (\n <div data-hook={DATA_HOOKS.TOP_ARROW} className={classes.arrow} />\n ) : null;\n }\n\n _convertOptionToListItemSectionBuilder({ option, idx }) {\n const { value, id, title: isTitle } = option;\n\n if (value === DIVIDER_OPTION_VALUE) {\n return listItemSectionBuilder({\n dataHook: OPTION_DATA_HOOKS.DIVIDER,\n id: id || idx,\n type: 'divider',\n });\n }\n\n if (isTitle) {\n return listItemSectionBuilder({\n dataHook: OPTION_DATA_HOOKS.TITLE,\n id,\n type: 'subheader',\n title: value,\n });\n }\n }\n\n _convertOptionToListItemActionBuilder({ option, idx }) {\n const { id, value, disabled, optionTitle, title, ...rest } = option;\n return listItemActionBuilder({\n id: id !== undefined ? id : idx,\n ref: ref => (this.children[id] = ref),\n tabIndex: id === this.state.focusedItemId && !disabled ? '0' : '-1',\n disabled,\n title: optionTitle,\n role: 'menuitem',\n ...rest,\n });\n }\n\n _isControlled() {\n return (\n typeof this.props.selectedId !== 'undefined' &&\n typeof this.props.onSelect !== 'undefined'\n );\n }\n\n _focusOnSelectedOption() {\n if (this.selectedOption) {\n this.optionsRef.current.scrollTop = Math.max(\n this.selectedOption.offsetTop - this.selectedOption.offsetHeight,\n 0,\n );\n }\n }\n\n _setSelectedOptionNode(optionNode, option) {\n if (option.id === this.state.selectedId) {\n this.selectedOption = optionNode;\n }\n }\n\n _onClickOutside = event => {\n const { visible, onClickOutside } = this.props;\n if (visible && onClickOutside) {\n onClickOutside(event);\n }\n };\n\n _markOption(index, options) {\n const { onOptionMarked } = this.props;\n options = options || this.props.options;\n\n this.setState({ hovered: index });\n onOptionMarked && onOptionMarked(options[index] || null);\n }\n\n _onSelect = (index, e) => {\n const { options, onSelect, listType } = this.props;\n\n if (listType !== ListType.select) {\n e.stopPropagation();\n this._onClose();\n return;\n }\n\n const chosenOption = options[index];\n\n if (chosenOption) {\n const sameOptionWasPicked = chosenOption.id === this.state.selectedId;\n if (onSelect) {\n e.stopPropagation();\n onSelect(chosenOption, sameOptionWasPicked);\n }\n }\n if (!this._isControlled()) {\n this.setState({ selectedId: chosenOption && chosenOption.id });\n }\n return !!onSelect && chosenOption;\n };\n\n _onActionClick = e => {\n const onClick = this.savedOnClicks.find(({ id }) => id === e.id).onClick;\n onClick && onClick(e);\n };\n\n _saveOnClicks = () => {\n this.savedOnClicks = this.props.options.map(({ id, onClick }) => ({\n id,\n onClick,\n }));\n };\n\n _onMouseEnter = index => {\n if (this._isSelectableOption(this.props.options[index])) {\n this._markOption(index);\n }\n };\n\n _onMouseLeave = () => this._markOption(NOT_HOVERED_INDEX);\n\n _getMarkedIndex() {\n const { options } = this.props;\n const useHoverIndex = this.state.hovered > NOT_HOVERED_INDEX;\n const useSelectedIdIndex = typeof this.state.selectedId !== 'undefined';\n\n let markedIndex;\n if (useHoverIndex) {\n markedIndex = this.state.hovered;\n } else if (useSelectedIdIndex) {\n markedIndex = options.findIndex(\n option => option.id === this.state.selectedId,\n );\n } else {\n markedIndex = NOT_HOVERED_INDEX;\n }\n\n return markedIndex;\n }\n\n _markNextStep(step) {\n const { options } = this.props;\n\n if (!options.some(this._isSelectableOption)) {\n return;\n }\n\n let markedIndex = this._getMarkedIndex();\n\n do {\n markedIndex = modulus(Math.max(markedIndex + step, -1), options.length);\n } while (!this._isSelectableOption(options[markedIndex]));\n\n this._markOptionAtIndex(markedIndex);\n }\n\n _focusOnOption = () => {\n const { focusOnOption, options } = this.props;\n\n const markedIndex = options.findIndex(\n option => option.id === focusOnOption,\n );\n\n if (markedIndex !== -1) {\n this._markOptionAtIndex(markedIndex);\n } else {\n // Remove focus\n this._markOption(markedIndex);\n }\n };\n\n _scrollToOption() {\n const { scrollToOption, options } = this.props;\n\n const optionIndex = options.findIndex(\n option => option.id === scrollToOption,\n );\n\n const optionNode = this.optionsRef.current.childNodes[optionIndex];\n\n if (!optionNode) {\n return;\n }\n\n this.optionsRef.current.scrollTop = Math.max(\n optionNode.offsetTop - optionNode.offsetHeight,\n 0,\n );\n }\n\n _markOptionAtIndex = markedIndex => {\n this._markOption(markedIndex);\n this._scrollIntoViewByIndex(markedIndex);\n };\n\n _scrollIntoViewByIndex = index => {\n const { infiniteScroll } = this.props;\n\n const menuElement = this.optionsRef.current;\n const hoveredElement = infiniteScroll\n ? this.optionsRef.current.childNodes[0].childNodes[index]\n : this.optionsRef.current.childNodes[index];\n\n scrollIntoView(menuElement, hoveredElement);\n };\n\n /**\n * Handle keydown events for the DropdownLayout, mostly for accessibility\n *\n * @param {SyntheticEvent} event - The keydown event triggered by React\n * @returns {boolean} - Whether the event was handled by the component\n */\n _onSelectListKeyDown = event => {\n if (\n !this.props.visible ||\n this.props.isComposing ||\n this.props.listType !== ListType.select\n ) {\n return false;\n }\n\n switch (event.key) {\n case KEY.arrowDown: {\n this._markNextStep(1);\n event.preventDefault();\n break;\n }\n\n case KEY.arrowUp: {\n this._markNextStep(-1);\n event.preventDefault();\n break;\n }\n\n case KEY.space:\n case KEY.enter: {\n if (!this._onSelect(this.state.hovered, event)) {\n return false;\n }\n break;\n }\n\n case KEY.tab: {\n if (this.props.closeOnSelect) {\n return this._onSelect(this.state.hovered, event);\n } else {\n if (this._onSelect(this.state.hovered, event)) {\n event.preventDefault();\n return true;\n } else {\n return false;\n }\n }\n }\n\n case KEY.escape: {\n this._onClose();\n break;\n }\n\n default: {\n return false;\n }\n }\n event.stopPropagation();\n return true;\n };\n\n _focus = (focusedItemId, e) => {\n e && e.preventDefault();\n const element = this.children[focusedItemId];\n\n if (!element) {\n return;\n }\n\n const native = element.focus;\n const focusableHOC = element.wrappedComponentRef;\n\n const callback = native\n ? element.focus\n : focusableHOC\n ? focusableHOC.innerComponentRef.focus\n : () => ({});\n\n this.setState({ focusedItemId }, () => callback());\n };\n\n _handleActionListNavigation = (event, id) => {\n const length = this.focusableItemsIdsList.length;\n let focusedItemId = this.state.focusedItemId;\n const { key } = event;\n const currentMenuItemIndex = this.focusableItemsIdsList.indexOf(id);\n const firstMenuItem = this.focusableItemsIdsList[0];\n const lastMenuItem = this.focusableItemsIdsList[length - 1];\n\n if (key === KEY.arrowLeft || key === KEY.arrowUp) {\n focusedItemId =\n id === 0\n ? lastMenuItem\n : this.focusableItemsIdsList[currentMenuItemIndex - 1];\n }\n\n if (key === KEY.arrowRight || key === KEY.arrowDown) {\n focusedItemId =\n currentMenuItemIndex === length - 1\n ? firstMenuItem\n : this.focusableItemsIdsList[currentMenuItemIndex + 1];\n }\n\n if (key === KEY.home) {\n focusedItemId = firstMenuItem;\n }\n\n if (key === KEY.end) {\n focusedItemId = lastMenuItem;\n }\n\n if (focusedItemId !== this.state.focusedItemId) {\n this._focus(focusedItemId, event);\n this._scrollIntoViewByIndex(focusedItemId);\n }\n };\n\n _onActionListKeyDown = (event, id) => {\n if (this.props.listType !== ListType.action) {\n return;\n }\n\n const { key } = event;\n\n if (key === KEY.space || key === KEY.enter) {\n event.preventDefault();\n this._onActionClick({ id: this.state.focusedItemId });\n this._onClose();\n } else if (key === KEY.escape || key === KEY.tab) {\n this._onClose();\n } else {\n this._handleActionListNavigation(event, id);\n }\n\n event.stopPropagation();\n };\n\n _onClose = () => {\n this._markOption(NOT_HOVERED_INDEX);\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n _renderNode(node) {\n return node ? <div>{node}</div> : null;\n }\n\n _wrapWithInfiniteScroll = scrollableElement => {\n if (!this.optionsRef.current) {\n this.loadedWithUndefinedOptions = true;\n }\n\n return (\n <InfiniteScroll\n useWindow\n dataHook={DATA_HOOKS.INFINITE_SCROLL_CONTAINER}\n scrollElement={this.state.scrollElement}\n loadMore={this.props.loadMore}\n hasMore={this.props.hasMore}\n data={this.props.options}\n loader={\n <div className={classes.loader}>\n <Loader dataHook={DROPDOWN_LAYOUT_LOADER} size=\"small\" />\n </div>\n }\n >\n {scrollableElement}\n </InfiniteScroll>\n );\n };\n\n /** for testing purposes only */\n _getDataAttributes = () => {\n const { visible, dropDirectionUp } = this.props;\n const { selectedId } = this.state;\n\n return filterObject(\n {\n 'data-hook': DATA_HOOKS.CONTENT_CONTAINER,\n [DATA_SHOWN]: visible,\n [DATA_SELECTED_OPTION_ID]:\n selectedId === 0 ? `${selectedId}` : selectedId,\n [DATA_DIRECTION]: dropDirectionUp\n ? DROPDOWN_LAYOUT_DIRECTIONS.UP\n : DROPDOWN_LAYOUT_DIRECTIONS.DOWN,\n },\n (key, value) => !!value,\n );\n };\n\n _convertCustomOptionToBuilder({ option }) {\n const { value, id, disabled, overrideOptionStyle, overrideStyle } = option;\n\n if (overrideStyle) {\n return {\n id,\n disabled,\n overrideStyle,\n value: () => <div data-hook={DATA_HOOKS.OPTION}>{value}</div>,\n };\n }\n\n if (overrideOptionStyle) {\n return {\n id,\n disabled,\n overrideOptionStyle,\n value: () => <div data-hook={DATA_HOOKS.OPTION}>{value}</div>,\n };\n }\n }\n\n _convertOptionToListItemSelectBuilder({ option }) {\n const { value, id, disabled } = option;\n const { selectedId } = this.state;\n const { itemHeight, selectedHighlight } = this.props;\n\n return listItemSelectBuilder({\n id,\n title: <div data-hook={DATA_HOOKS.OPTION}>{value}</div>,\n disabled,\n selected: id === selectedId && selectedHighlight,\n className: st(classes.selectableOption, { itemHeight }),\n });\n }\n\n _isBuilderOption({ option }) {\n const { value } = option;\n return typeof value === 'function';\n }\n\n _isCustomOption({ option }) {\n const { overrideOptionStyle, overrideStyle } = option;\n return overrideOptionStyle || overrideStyle;\n }\n\n _isActionOption({ option }) {\n return option.value === ListType.action;\n }\n\n _isItemSection({ option }) {\n const { value, title: isTitle } = option;\n\n return value === DIVIDER_OPTION_VALUE || isTitle;\n }\n\n _convertOptionToBuilder(option, idx) {\n if (this._isBuilderOption({ option })) {\n return option;\n } else if (this._isActionOption({ option })) {\n return this._convertOptionToListItemActionBuilder({ option, idx });\n } else if (this._isItemSection({ option })) {\n return this._convertOptionToListItemSectionBuilder({ option, idx });\n } else if (this._isCustomOption({ option })) {\n return this._convertCustomOptionToBuilder({ option });\n } else {\n return this._convertOptionToListItemSelectBuilder({ option });\n }\n }\n\n _renderOption({ option, idx }) {\n const builderOption = this._convertOptionToBuilder(option, idx);\n const content = this._renderOptionContent({\n option: builderOption,\n idx,\n hasLink: !!option.linkTo,\n });\n\n const isActionItem = this.props.listType === ListType.action;\n\n return option.linkTo ? (\n <a\n className={classes.linkItem}\n key={idx}\n data-hook={DATA_HOOKS.LINK_ITEM}\n href={option.linkTo}\n role={isActionItem ? undefined : 'option'}\n aria-selected={\n isActionItem || option.disabled\n ? undefined\n : option.id === this.state.selectedId\n }\n aria-hidden={option.disabled}\n >\n {content}\n </a>\n ) : (\n content\n );\n }\n\n // For testing purposes only\n _getItemDataAttr = ({ hovered, selected, disabled }) => {\n const { itemHeight, selectedHighlight } = this.props;\n\n return filterObject(\n {\n [DATA_OPTION.DISABLED]: disabled,\n [DATA_OPTION.SELECTED]: selected && selectedHighlight,\n [DATA_OPTION.HOVERED]: hovered,\n /* deprecated */\n [DATA_OPTION.SIZE]: itemHeight,\n },\n (key, value) => !!value,\n );\n };\n\n _renderOptionContent({ option, idx, hasLink }) {\n const { itemHeight, selectedHighlight, listType } = this.props;\n const { selectedId, hovered } = this.state;\n\n const { id, disabled, overrideStyle, overrideOptionStyle } = option;\n\n const optionState = {\n selected: id === selectedId,\n hovered: idx === hovered,\n disabled,\n };\n\n if (!disabled) {\n this.focusableItemsIdsList = [...this.focusableItemsIdsList, id];\n }\n\n const isActionItem = listType === ListType.action;\n\n return (\n <div\n aria-selected={\n hasLink || isActionItem || disabled ? undefined : optionState.selected\n }\n aria-hidden={disabled}\n {...this._getItemDataAttr({ ...optionState })}\n role={hasLink || isActionItem ? undefined : 'option'}\n className={\n overrideOptionStyle\n ? null\n : st(classes.option, {\n ...optionState,\n selected: optionState.selected && selectedHighlight,\n itemHeight,\n overrideStyle,\n })\n }\n ref={node => this._setSelectedOptionNode(node, option)}\n onClick={!disabled ? e => this._onSelect(idx, e) : null}\n key={idx}\n onMouseEnter={() => this._onMouseEnter(idx)}\n onMouseLeave={this._onMouseLeave}\n data-hook={`dropdown-item-${id}`}\n onKeyDown={e => this._onActionListKeyDown(e, id)}\n >\n {option.value(optionState)}\n </div>\n );\n }\n\n _markOptionByProperty(props) {\n if (this.state.hovered === NOT_HOVERED_INDEX && props.markedOption) {\n const selectableOptions = props.options.filter(this._isSelectableOption);\n if (selectableOptions.length) {\n const idToMark =\n props.markedOption === true\n ? selectableOptions[0].id\n : props.markedOption;\n this._markOption(\n this._findIndex(props.options, item => item.id === idToMark),\n props.options,\n );\n }\n }\n }\n\n _findIndex(arr, predicate) {\n return (Array.isArray(arr) ? arr : []).findIndex(predicate);\n }\n\n _isSelectableOption(option) {\n return (\n option &&\n option.value !== DIVIDER_OPTION_VALUE &&\n !option.disabled &&\n !option.title\n );\n }\n\n _renderOptions() {\n this.focusableItemsIdsList = [];\n this._saveOnClicks();\n\n return this.props.options.map((option, idx) =>\n this._renderOption({ option, idx }),\n );\n }\n\n render() {\n const {\n className,\n visible,\n dropDirectionUp,\n tabIndex,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n fixedHeader,\n withArrow,\n fixedFooter,\n inContainer,\n overflow,\n maxHeightPixels,\n minWidthPixels,\n infiniteScroll,\n dataHook,\n listType,\n } = this.props;\n\n const renderedOptions = this._renderOptions();\n\n const { OverlayScrollbarHostElement, OverlayScrollbarContentElement } =\n this.props.overlayScrollbarProps;\n\n const optionsContainerProps = {\n style: {\n maxHeight: getUnit(parseInt(maxHeightPixels, 10) - 35),\n overflow,\n },\n 'data-hook': DATA_HOOKS.DROPDOWN_LAYOUT_OPTIONS,\n role: listType === ListType.select ? 'listbox' : 'menu',\n };\n\n const options = infiniteScroll\n ? this._wrapWithInfiniteScroll(renderedOptions)\n : renderedOptions;\n\n const optionsContainer =\n this.props.scrollbar === Scrollbar.OVERLAY ? (\n <OverlayScrollbarHostElement\n className={classes.options}\n {...optionsContainerProps}\n >\n <OverlayScrollbarContentElement\n className={classes.optionsContent}\n ref={forkRef(this.optionsRef, this.setScrollElement)}\n >\n {options}\n </OverlayScrollbarContentElement>\n </OverlayScrollbarHostElement>\n ) : (\n <div\n className={st(classes.options, classes.optionsContent)}\n ref={forkRef(this.optionsRef, this.setScrollElement)}\n {...optionsContainerProps}\n >\n {options}\n </div>\n );\n\n return (\n <div\n data-list-type={listType}\n data-hook={dataHook}\n className={st(\n classes.root,\n {\n visible,\n withArrow,\n direction: dropDirectionUp\n ? DROPDOWN_LAYOUT_DIRECTIONS.UP\n : DROPDOWN_LAYOUT_DIRECTIONS.DOWN,\n containerStyles: !inContainer,\n },\n className,\n )}\n tabIndex={tabIndex}\n onKeyDown={this._onSelectListKeyDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseDown={onMouseDown}\n ref={this.containerRef}\n >\n <div\n {...this._getDataAttributes()}\n className={classes.contentContainer}\n style={{\n overflow,\n maxHeight: getUnit(maxHeightPixels),\n minWidth: getUnit(minWidthPixels),\n }}\n >\n {this._renderNode(fixedHeader)}\n {optionsContainer}\n {this._renderNode(fixedFooter)}\n </div>\n {this._renderTopArrow()}\n </div>\n );\n }\n}\n\nconst optionPropTypes = PropTypes.shape({\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n value: PropTypes.oneOfType([PropTypes.node, PropTypes.string, PropTypes.func])\n .isRequired,\n disabled: PropTypes.bool,\n /** @deprecated*/\n overrideStyle: PropTypes.bool,\n /** @deprecated*/\n title: PropTypes.bool,\n overrideOptionStyle: PropTypes.bool,\n /* the string displayed within the input when the option is selected */\n label: PropTypes.string,\n});\n\nexport function optionValidator(props, propName, componentName) {\n const option = props[propName];\n\n // Notice: We don't use Proptypes.oneOf() to check for either option OR divider, because then the failure message would be less informative.\n if (typeof option === 'object' && option.value === DIVIDER_OPTION_VALUE) {\n return;\n }\n\n const optionError = PropTypes.checkPropTypes(\n { option: optionPropTypes },\n { option },\n 'option',\n componentName,\n );\n\n if (optionError) {\n return optionError;\n }\n}\n\nDropdownLayout.propTypes = {\n /** A single CSS class name to be appended to the root element. */\n className: PropTypes.string,\n /** @deprecated */\n dropDirectionUp: PropTypes.bool,\n /** Scroll view to the selected option on opening the dropdown */\n focusOnSelectedOption: PropTypes.bool,\n /** Callback function called whenever the user press the `Escape` keyboard.*/\n onClose: PropTypes.func,\n /** Callback function called whenever the user selects a different option in the list */\n onSelect: PropTypes.func,\n /** Callback function called whenever an option becomes focused (hovered/active). Receives the relevant option object from the original props.options array. */\n onOptionMarked: PropTypes.func,\n /** Set overflow of container */\n overflow: PropTypes.string,\n /** Should show or hide the component */\n visible: PropTypes.bool,\n /** Array of objects:\n * - id `<string / number>` *required*: the id of the option, should be unique.\n * - value `<function / string / node>` *required*: can be a string, react element or a builder function.\n * - disabled `<bool>` *default value- false*: whether this option is disabled or not\n * - linkTo `<string>`: when provided the option will be an anchor to the given value\n * - title `<bool>` *default value- false* **deprecated**: please use `listItemSectionBuilder` for rendering a title.\n * - overrideStyle `<bool>` *default value- false* **deprecated**: please use `overrideOptionStyle` for override option styles.\n * - overrideOptionStyle `<bool>` *default value- false* - when set to `true`, the option will be responsible to its own styles. No styles will be applied from the DropdownLayout itself.\n * - label `<string>`: the string displayed within an input when the option is selected. This is used when using `<DropdownLayout/>` with an `<Input/>`.\n */\n options: PropTypes.arrayOf(optionValidator),\n /** The id of the selected option in the list */\n selectedId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Specifies the tab order of the component. */\n tabIndex: PropTypes.number,\n /** @deprecated Do not use this prop. */\n onClickOutside: PropTypes.func,\n /** A fixed header to the list */\n fixedHeader: PropTypes.node,\n /** A fixed footer to the list */\n fixedFooter: PropTypes.node,\n /** Set the max height of the dropdownLayout in pixels */\n maxHeightPixels: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Set the min width of the dropdownLayout in pixels */\n minWidthPixels: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** @deprecated Do not use this prop. */\n withArrow: PropTypes.bool,\n /** Closes DropdownLayout on option selection */\n closeOnSelect: PropTypes.bool,\n /** Callback function called whenever the user entered with the mouse to the dropdown layout.*/\n onMouseEnter: PropTypes.func,\n /** Callback function called whenever the user exited with the mouse from the dropdown layout.*/\n onMouseLeave: PropTypes.func,\n /** @deprecated Do not use this prop. */\n itemHeight: PropTypes.oneOf(['small', 'big']),\n /** Whether the selected option will be highlighted when dropdown reopened. */\n selectedHighlight: PropTypes.bool,\n /** Whether the `<DropdownLayout/>` is in a container component. If `true`, some styles such as shadows, positioning and padding will be added the the component contentContainer. */\n inContainer: PropTypes.bool,\n /** Set this prop for lazy loading of the dropdown layout items.*/\n infiniteScroll: PropTypes.bool,\n /** A callback called when more items are requested to be rendered. */\n loadMore: PropTypes.func,\n /** Whether there are more items to be loaded. */\n hasMore: PropTypes.bool,\n /** Sets the default hover behavior when:\n * 1. `false` means no default\n * 2. `true` means to hover the first selectable option\n * 3. Any number/string represents the id of option to hover\n */\n markedOption: PropTypes.oneOfType([\n PropTypes.bool,\n PropTypes.string,\n PropTypes.number,\n ]),\n /** Marks (not selects) and scrolls view to the option on opening the dropdown by option id */\n focusOnOption: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n\n /** Scrolls to the specified option when dropdown is opened without marking it */\n scrollToOption: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /** Defines type of behavior applied in list */\n listType: PropTypes.oneOf([ListType.action, ListType.select]),\n\n /** Specifies whether first list item should be focused */\n autoFocus: PropTypes.bool,\n\n /** Controls which type of scrollbar to render */\n scrollbar: PropTypes.oneOf(['overlay', 'fixed']),\n};\n\nDropdownLayout.defaultProps = {\n options: [],\n tabIndex: 0,\n maxHeightPixels: 260,\n closeOnSelect: true,\n itemHeight: 'small',\n selectedHighlight: true,\n inContainer: false,\n infiniteScroll: false,\n loadMore: null,\n hasMore: false,\n markedOption: false,\n overflow: 'auto',\n listType: ListType.select,\n scrollbar: 'fixed',\n};\n\nDropdownLayout.displayName = 'DropdownLayout';\n\nDropdownLayout.NONE_SELECTED_ID = NOT_HOVERED_INDEX;\n\nexport default withOverlayScrollbar(DropdownLayout);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_propTypes","_interopRequireDefault","require","_react","_interopRequireWildcard","_Loader","_InfiniteScroll","_scrollIntoView","_DataAttr","_DropdownLayoutSt","_filterObject","_reactDom","_ListItemSection","_ListItemSelect","_ListItemAction","_StringUtils","_withOverlayScrollbar","_DropdownLayout2","_forkRef","_excluded","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","modulus","m","getUnit","value","isString","concat","DropdownLayout","PureComponent","constructor","props","setScrollElement","node","setState","scrollElement","containerRef","React","createRef","optionsRef","loadedWithUndefinedOptions","_boundEvents","focusableItemsIdsList","savedOnClicks","children","selectedOption","_onMouseEventsHandler","_checkIfEventOnElements","ReactDOM","findDOMNode","_onClickOutside","event","visible","onClickOutside","_onSelect","index","onSelect","listType","options","ListType","select","stopPropagation","_onClose","chosenOption","sameOptionWasPicked","id","state","selectedId","_isControlled","_onActionClick","_this$savedOnClicks$f","onClick","find","_ref","_saveOnClicks","map","_ref2","_onMouseEnter","_isSelectableOption","_markOption","_onMouseLeave","NOT_HOVERED_INDEX","_focusOnOption","focusOnOption","markedIndex","findIndex","option","_markOptionAtIndex","_scrollIntoViewByIndex","_this$optionsRef$curr","_this$optionsRef$curr2","infiniteScroll","menuElement","current","hoveredElement","childNodes","scrollIntoView","_onSelectListKeyDown","isComposing","key","KEY","arrowDown","_markNextStep","preventDefault","arrowUp","space","enter","hovered","tab","closeOnSelect","escape","_focus","focusedItemId","element","native","focus","focusableHOC","wrappedComponentRef","callback","innerComponentRef","_handleActionListNavigation","currentMenuItemIndex","indexOf","firstMenuItem","lastMenuItem","arrowLeft","arrowRight","home","end","_onActionListKeyDown","action","onClose","_wrapWithInfiniteScroll","scrollableElement","createElement","useWindow","dataHook","DATA_HOOKS","INFINITE_SCROLL_CONTAINER","loadMore","hasMore","data","loader","className","classes","__self","__source","fileName","lineNumber","columnNumber","DROPDOWN_LAYOUT_LOADER","size","_getDataAttributes","dropDirectionUp","filterObject","CONTENT_CONTAINER","DATA_SHOWN","DATA_SELECTED_OPTION_ID","DATA_DIRECTION","DROPDOWN_LAYOUT_DIRECTIONS","UP","DOWN","_","_getItemDataAttr","_ref3","selected","disabled","itemHeight","selectedHighlight","DATA_OPTION","DISABLED","SELECTED","HOVERED","SIZE","_isDivider","hasTitle","title","componentDidMount","forceUpdate","focusOnSelectedOption","scrollToOption","autoFocus","_focusOnSelectedOption","_scrollToOption","_markOptionByProperty","MOUSE_EVENTS_SUPPORTED","eventName","document","addEventListener","_focusFirstOption","componentWillUnmount","removeEventListener","componentDidUpdate","prevProps","UNSAFE_componentWillReceiveProps","nextProps","nextOptions","_nextProps$options","_findIndex","item","elem","target","parentNode","_renderTopArrow","withArrow","TOP_ARROW","arrow","_convertOptionToListItemSectionBuilder","_ref4","idx","listItemSectionBuilder","OPTION_DATA_HOOKS","DIVIDER","type","TITLE","undefined","_convertOptionToListItemActionBuilder","_ref5","optionTitle","rest","_objectWithoutProperties2","listItemActionBuilder","ref","tabIndex","role","scrollTop","Math","max","offsetTop","offsetHeight","_setSelectedOptionNode","optionNode","onOptionMarked","markedOption","_getMarkedIndex","useHoverIndex","useSelectedIdIndex","step","some","_this$optionsRef$curr3","optionIndex","_renderNode","_convertCustomOptionToBuilder","_ref7","overrideOptionStyle","overrideStyle","OPTION","_convertOptionToListItemSelectBuilder","_ref8","listItemSelectBuilder","st","selectableOption","_isBuilderOption","_isCustomOption","_isActionOption","_isItemSection","isTitle","opt","DIVIDER_OPTION_VALUE","_convertOptionToBuilder","_renderOption","_ref9","isValueOption","builderOption","hasLink","linkTo","content","_renderOptionContent","isActionItem","linkItem","LINK_ITEM","href","_ref10","optionState","_extends2","onMouseEnter","onMouseLeave","onKeyDown","selectableOptions","idToMark","arr","predicate","Array","isArray","_renderOptions","render","onMouseDown","fixedHeader","fixedFooter","inContainer","overflow","maxHeightPixels","minWidthPixels","overlayScrollbarProps","renderedOptions","OverlayScrollbarHostElement","OverlayScrollbarContentElement","optionsContainerProps","style","maxHeight","parseInt","String","DROPDOWN_LAYOUT_OPTIONS","optionsContainer","scrollbar","Scrollbar","OVERLAY","optionsContent","forkRef","root","direction","containerStyles","contentContainer","minWidth","exports","propTypes","PropTypes","any","defaultProps","displayName","NONE_SELECTED_ID","_default","withOverlayScrollbar"],"sources":["../../../src/DropdownLayout/DropdownLayout.tsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React, { PureComponent, RefObject } from 'react';\nimport Loader from '../Loader/Loader';\nimport InfiniteScroll from '../utils/InfiniteScroll';\nimport scrollIntoView from '../utils/scrollIntoView';\nimport {\n DATA_HOOKS,\n DATA_OPTION,\n DATA_SHOWN,\n DATA_DIRECTION,\n DROPDOWN_LAYOUT_DIRECTIONS,\n OPTION_DATA_HOOKS,\n DROPDOWN_LAYOUT_LOADER,\n DATA_SELECTED_OPTION_ID,\n} from './DataAttr';\nimport { st, classes } from './DropdownLayout.st.css';\nimport { filterObject } from '../utils/filterObject';\nimport ReactDOM from 'react-dom';\nimport { listItemSectionBuilder } from '../ListItemSection';\nimport { listItemSelectBuilder } from '../ListItemSelect';\nimport { listItemActionBuilder } from '../ListItemAction';\nimport { isString } from '../utils/StringUtils';\nimport {\n withOverlayScrollbar,\n WithOverlayScrollbarProps,\n} from './withOverlayScrollbar';\nimport {\n DIVIDER_OPTION_VALUE,\n KEY,\n ListType,\n MOUSE_EVENTS_SUPPORTED,\n NOT_HOVERED_INDEX,\n Scrollbar,\n} from './DropdownLayout.constants';\nimport { forkRef } from '../utils/forkRef';\nimport {\n DropdownLayoutBuilderOption,\n DropdownLayoutDividerOption,\n DropdownLayoutOption,\n DropdownLayoutProps,\n DropdownLayoutValueOption,\n} from './DropdownLayout.types';\nimport { ListItemActionRefProps } from '../ListItemAction/ListItemAction.types';\n\nconst modulus = (n: number, m: number): number => ((n % m) + m) % m;\n\nconst getUnit = (value: string | number): string =>\n isString(value) ? value : `${value}px`;\n\ntype FocusedItemId = string | number | null;\ntype SelectedOption = HTMLDivElement | null;\ntype OnClickEvent = { id: FocusedItemId };\n\ntype State = {\n hovered: number;\n selectedId: DropdownLayoutProps['selectedId'];\n scrollElement: HTMLElement | null;\n focusedItemId: FocusedItemId;\n};\n\ntype DropdownLayoutChildren = {\n [key: string | number]: {\n focus?: () => void;\n wrappedComponentRef?: {\n innerComponentRef: {\n focus: () => void;\n };\n };\n } | null;\n};\n\ntype ConvertedCustomOption = Pick<\n DropdownLayoutValueOption,\n 'id' | 'disabled' | 'overrideStyle' | 'overrideOptionStyle'\n> &\n Pick<DropdownLayoutBuilderOption, 'value'>;\n\ntype ConvertedOption =\n | ConvertedCustomOption\n | DropdownLayoutBuilderOption\n | undefined;\n\nexport class DropdownLayout extends PureComponent<\n DropdownLayoutProps & WithOverlayScrollbarProps,\n State\n> {\n static propTypes = {\n className: PropTypes.any,\n dropDirectionUp: PropTypes.any,\n focusOnSelectedOption: PropTypes.any,\n onClose: PropTypes.any,\n onSelect: PropTypes.any,\n onOptionMarked: PropTypes.any,\n overflow: PropTypes.any,\n visible: PropTypes.any,\n options: PropTypes.any,\n selectedId: PropTypes.any,\n tabIndex: PropTypes.any,\n onClickOutside: PropTypes.any,\n fixedHeader: PropTypes.any,\n fixedFooter: PropTypes.any,\n maxHeightPixels: PropTypes.any,\n minWidthPixels: PropTypes.any,\n withArrow: PropTypes.any,\n closeOnSelect: PropTypes.any,\n onMouseEnter: PropTypes.any,\n onMouseLeave: PropTypes.any,\n itemHeight: PropTypes.any,\n selectedHighlight: PropTypes.any,\n inContainer: PropTypes.any,\n infiniteScroll: PropTypes.any,\n loadMore: PropTypes.any,\n hasMore: PropTypes.any,\n markedOption: PropTypes.any,\n focusOnOption: PropTypes.any,\n scrollToOption: PropTypes.any,\n listType: PropTypes.any,\n autoFocus: PropTypes.any,\n scrollbar: PropTypes.any,\n };\n\n static defaultProps: DropdownLayoutProps = {\n options: [],\n tabIndex: 0,\n maxHeightPixels: 260,\n closeOnSelect: true,\n itemHeight: 'small',\n selectedHighlight: true,\n inContainer: false,\n infiniteScroll: false,\n loadMore: undefined,\n hasMore: false,\n markedOption: false,\n overflow: 'auto',\n listType: ListType.select,\n scrollbar: 'fixed',\n };\n\n static displayName = 'DropdownLayout';\n\n static NONE_SELECTED_ID: -1 = NOT_HOVERED_INDEX;\n\n constructor(props: DropdownLayoutProps) {\n super(props);\n\n this.containerRef = React.createRef();\n this.optionsRef = React.createRef();\n\n this.state = {\n hovered: NOT_HOVERED_INDEX,\n selectedId: props.selectedId,\n scrollElement: null,\n focusedItemId: null,\n };\n }\n\n setScrollElement = (node: HTMLElement | null) => {\n this.setState({ scrollElement: node });\n };\n\n containerRef = React.createRef<HTMLDivElement>();\n optionsRef: RefObject<HTMLDivElement> = React.createRef<HTMLDivElement>();\n loadedWithUndefinedOptions = false;\n _boundEvents: string[] = [];\n focusableItemsIdsList: (string | number)[] = [];\n savedOnClicks: {\n id?: string | number;\n onClick: (e: OnClickEvent) => void;\n }[] = [];\n children: DropdownLayoutChildren = {};\n selectedOption: SelectedOption = null;\n\n componentDidMount() {\n if (this.loadedWithUndefinedOptions && this.optionsRef.current) {\n this.forceUpdate();\n }\n\n const { focusOnSelectedOption, scrollToOption, autoFocus } = this.props;\n\n if (focusOnSelectedOption) {\n this._focusOnSelectedOption();\n } else if (this.props.hasOwnProperty('focusOnOption')) {\n this._focusOnOption();\n }\n if (scrollToOption) {\n this._scrollToOption();\n }\n\n this._markOptionByProperty(this.props);\n\n // Deprecated\n MOUSE_EVENTS_SUPPORTED.forEach(eventName => {\n document.addEventListener(eventName, this._onMouseEventsHandler, true);\n });\n\n this._boundEvents = MOUSE_EVENTS_SUPPORTED;\n\n if (autoFocus) {\n this._focusFirstOption();\n }\n }\n\n componentWillUnmount() {\n if (this._boundEvents && typeof document !== 'undefined') {\n this._boundEvents.forEach(eventName => {\n document.removeEventListener(\n eventName,\n this._onMouseEventsHandler,\n true,\n );\n });\n }\n }\n\n componentDidUpdate(prevProps: DropdownLayoutProps) {\n const { focusOnOption } = this.props;\n if (prevProps.focusOnOption !== focusOnOption) {\n this._focusOnOption();\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps: DropdownLayoutProps) {\n const options = this.props.options || [];\n const nextOptions = nextProps.options || [];\n\n if (this.props.visible !== nextProps.visible) {\n this._markOption(NOT_HOVERED_INDEX);\n }\n\n if (this.props.selectedId !== nextProps.selectedId) {\n this.setState({ selectedId: nextProps.selectedId });\n }\n\n // make sure the same item is hovered if options changed\n if (\n this.state.hovered !== NOT_HOVERED_INDEX &&\n (!nextOptions[this.state.hovered] ||\n options[this.state.hovered].id !== nextOptions[this.state.hovered].id)\n ) {\n this._markOption(\n this._findIndex(\n nextProps.options ?? [],\n item => item.id === options[this.state.hovered].id,\n ),\n );\n }\n\n this._markOptionByProperty(nextProps);\n }\n\n _focusFirstOption() {\n this._focus(this.focusableItemsIdsList[0]);\n }\n\n // Deprecated\n _checkIfEventOnElements(e: any, elem: any) {\n let current = e.target;\n while (current.parentNode) {\n if (elem.indexOf(current) > -1) {\n return true;\n }\n current = current.parentNode;\n }\n\n return current !== document;\n }\n\n // Deprecated\n _onMouseEventsHandler = (e: any) => {\n if (!this._checkIfEventOnElements(e, [ReactDOM.findDOMNode(this)])) {\n this._onClickOutside(e);\n }\n };\n\n // Deprecated\n _renderTopArrow() {\n const { withArrow, visible } = this.props;\n\n return withArrow && visible ? (\n <div data-hook={DATA_HOOKS.TOP_ARROW} className={classes.arrow} />\n ) : null;\n }\n\n _convertOptionToListItemSectionBuilder({\n option,\n idx,\n }: {\n option: DropdownLayoutDividerOption | DropdownLayoutValueOption;\n idx: number;\n }): ReturnType<typeof listItemSectionBuilder> | undefined {\n if (this._isDivider(option)) {\n return listItemSectionBuilder({\n dataHook: OPTION_DATA_HOOKS.DIVIDER,\n id: option.id || idx,\n type: 'divider',\n });\n } else if (option.title) {\n return listItemSectionBuilder({\n dataHook: OPTION_DATA_HOOKS.TITLE,\n id: option.id,\n type: 'subheader',\n title: option.value as React.ReactNode,\n });\n } else {\n // This should never happen but let's make TS happy\n return undefined;\n }\n }\n\n _convertOptionToListItemActionBuilder({\n option,\n idx,\n }: {\n option: DropdownLayoutValueOption;\n idx: number;\n }): ReturnType<typeof listItemActionBuilder> {\n const { id, value, disabled, optionTitle, title, ...rest } = option;\n return listItemActionBuilder({\n id: id !== undefined ? id : idx,\n ref: (ref: ListItemActionRefProps | null) => (this.children[id] = ref),\n tabIndex: id === this.state.focusedItemId && !disabled ? '0' : '-1',\n disabled,\n title: optionTitle!,\n role: 'menuitem',\n ...rest,\n });\n }\n\n _isControlled() {\n return (\n typeof this.props.selectedId !== 'undefined' &&\n typeof this.props.onSelect !== 'undefined'\n );\n }\n\n _focusOnSelectedOption() {\n if (this.selectedOption && this.optionsRef.current) {\n this.optionsRef.current.scrollTop = Math.max(\n this.selectedOption.offsetTop - this.selectedOption.offsetHeight,\n 0,\n );\n }\n }\n\n _setSelectedOptionNode(\n optionNode: HTMLDivElement | null,\n option: DropdownLayoutBuilderOption | ConvertedCustomOption,\n ) {\n if (option.id === this.state.selectedId) {\n this.selectedOption = optionNode;\n }\n }\n\n _onClickOutside = (event: TouchEvent | MouseEvent) => {\n const { visible, onClickOutside } = this.props;\n if (visible && onClickOutside) {\n onClickOutside(event);\n }\n };\n\n _markOption(index: number, options?: DropdownLayoutOption[]) {\n const { onOptionMarked } = this.props;\n options = options || this.props.options || [];\n\n this.setState({ hovered: index });\n\n if (onOptionMarked) {\n const markedOption = options[index] || null;\n // the type declaration was incorrect, casting to avoid breaking changes after TS conversion\n onOptionMarked(markedOption as DropdownLayoutValueOption | null);\n }\n }\n\n _onSelect = (\n index: number,\n e:\n | React.KeyboardEvent<HTMLDivElement>\n | React.MouseEvent<HTMLDivElement, MouseEvent>,\n ) => {\n const { onSelect, listType } = this.props;\n const options = this.props.options || [];\n\n if (listType !== ListType.select) {\n e.stopPropagation();\n this._onClose();\n return;\n }\n\n const chosenOption = options[index];\n\n if (chosenOption) {\n const sameOptionWasPicked = chosenOption.id === this.state.selectedId;\n if (onSelect) {\n e.stopPropagation();\n onSelect(chosenOption, sameOptionWasPicked);\n }\n }\n if (!this._isControlled()) {\n this.setState({ selectedId: chosenOption && chosenOption.id });\n }\n return !!onSelect && chosenOption;\n };\n\n _onActionClick = (e: OnClickEvent) => {\n const onClick = this.savedOnClicks.find(({ id }) => id === e.id)?.onClick;\n onClick && onClick(e);\n };\n\n _saveOnClicks = () => {\n const options: DropdownLayoutOption[] = this.props.options || [];\n\n this.savedOnClicks = options.map(\n ({\n id,\n // only builder options have onClick\n // @ts-expect-error\n onClick,\n }) => ({\n id,\n onClick,\n }),\n );\n };\n\n _onMouseEnter = (index: number) => {\n const options = this.props.options || [];\n if (this._isSelectableOption(options[index])) {\n this._markOption(index);\n }\n };\n\n _onMouseLeave = () => this._markOption(NOT_HOVERED_INDEX);\n\n _getMarkedIndex() {\n const options = this.props.options || [];\n const useHoverIndex = this.state.hovered > NOT_HOVERED_INDEX;\n const useSelectedIdIndex = typeof this.state.selectedId !== 'undefined';\n\n let markedIndex;\n if (useHoverIndex) {\n markedIndex = this.state.hovered;\n } else if (useSelectedIdIndex) {\n markedIndex = options.findIndex(\n option => option.id === this.state.selectedId,\n );\n } else {\n markedIndex = NOT_HOVERED_INDEX;\n }\n\n return markedIndex;\n }\n\n _markNextStep(step: number) {\n const options = this.props.options || [];\n\n if (!options.some(this._isSelectableOption)) {\n return;\n }\n\n let markedIndex = this._getMarkedIndex();\n\n do {\n markedIndex = modulus(Math.max(markedIndex + step, -1), options.length);\n } while (!this._isSelectableOption(options[markedIndex]));\n\n this._markOptionAtIndex(markedIndex);\n }\n\n _focusOnOption = () => {\n const { focusOnOption } = this.props;\n const options = this.props.options || [];\n\n const markedIndex = options.findIndex(\n option => option.id === focusOnOption,\n );\n\n if (markedIndex !== -1) {\n this._markOptionAtIndex(markedIndex);\n } else {\n // Remove focus\n this._markOption(markedIndex);\n }\n };\n\n _scrollToOption() {\n const { scrollToOption } = this.props;\n const options = this.props.options || [];\n\n const optionIndex = options.findIndex(\n option => option.id === scrollToOption,\n );\n\n const optionNode = this.optionsRef.current?.childNodes[optionIndex] as\n | HTMLElement\n | undefined;\n\n if (!optionNode || !this.optionsRef.current) {\n return;\n }\n\n this.optionsRef.current.scrollTop = Math.max(\n optionNode.offsetTop - optionNode.offsetHeight,\n 0,\n );\n }\n\n _markOptionAtIndex = (markedIndex: number) => {\n this._markOption(markedIndex);\n this._scrollIntoViewByIndex(markedIndex);\n };\n\n _scrollIntoViewByIndex = (index: number) => {\n const { infiniteScroll } = this.props;\n\n const menuElement = this.optionsRef.current;\n const hoveredElement = infiniteScroll\n ? this.optionsRef.current?.childNodes[0].childNodes[index]\n : this.optionsRef.current?.childNodes[index];\n\n scrollIntoView(menuElement, hoveredElement);\n };\n\n /**\n * Handle keydown events for the DropdownLayout, mostly for accessibility\n *\n * @param {SyntheticEvent} event - The keydown event triggered by React\n * @returns {boolean} - Whether the event was handled by the component\n */\n _onSelectListKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n !this.props.visible ||\n // such prop does not exist but let's avoid potential breaking change\n // @ts-expect-error\n this.props.isComposing ||\n this.props.listType !== ListType.select\n ) {\n return false;\n }\n\n switch (event.key) {\n case KEY.arrowDown: {\n this._markNextStep(1);\n event.preventDefault();\n break;\n }\n\n case KEY.arrowUp: {\n this._markNextStep(-1);\n event.preventDefault();\n break;\n }\n\n case KEY.space:\n case KEY.enter: {\n if (!this._onSelect(this.state.hovered, event)) {\n return false;\n }\n break;\n }\n\n case KEY.tab: {\n if (this.props.closeOnSelect) {\n return this._onSelect(this.state.hovered, event);\n } else {\n if (this._onSelect(this.state.hovered, event)) {\n event.preventDefault();\n return true;\n } else {\n return false;\n }\n }\n }\n\n case KEY.escape: {\n this._onClose();\n break;\n }\n\n default: {\n return false;\n }\n }\n event.stopPropagation();\n return true;\n };\n\n _focus = (focusedItemId: FocusedItemId, e?: React.SyntheticEvent) => {\n e && e.preventDefault();\n const element = this.children[focusedItemId!];\n\n if (!element) {\n return;\n }\n\n const native = element.focus;\n const focusableHOC = element.wrappedComponentRef;\n\n const callback = native\n ? element.focus\n : focusableHOC\n ? focusableHOC.innerComponentRef.focus\n : () => ({});\n\n this.setState({ focusedItemId }, () => callback?.());\n };\n\n _handleActionListNavigation = (\n event: React.KeyboardEvent,\n id: string | number,\n ) => {\n const length = this.focusableItemsIdsList.length;\n let focusedItemId = this.state.focusedItemId;\n const { key } = event;\n const currentMenuItemIndex = this.focusableItemsIdsList.indexOf(id);\n const firstMenuItem = this.focusableItemsIdsList[0];\n const lastMenuItem = this.focusableItemsIdsList[length - 1];\n\n if (key === KEY.arrowLeft || key === KEY.arrowUp) {\n focusedItemId =\n id === 0\n ? lastMenuItem\n : this.focusableItemsIdsList[currentMenuItemIndex - 1];\n }\n\n if (key === KEY.arrowRight || key === KEY.arrowDown) {\n focusedItemId =\n currentMenuItemIndex === length - 1\n ? firstMenuItem\n : this.focusableItemsIdsList[currentMenuItemIndex + 1];\n }\n\n if (key === KEY.home) {\n focusedItemId = firstMenuItem;\n }\n\n if (key === KEY.end) {\n focusedItemId = lastMenuItem;\n }\n\n if (focusedItemId !== this.state.focusedItemId) {\n this._focus(focusedItemId, event);\n this._scrollIntoViewByIndex(focusedItemId as number);\n }\n };\n\n _onActionListKeyDown = (\n event: React.KeyboardEvent<HTMLDivElement>,\n id: string | number,\n ) => {\n if (this.props.listType !== ListType.action) {\n return;\n }\n\n const { key } = event;\n\n if (key === KEY.space || key === KEY.enter) {\n event.preventDefault();\n this._onActionClick({ id: this.state.focusedItemId });\n this._onClose();\n } else if (key === KEY.escape || key === KEY.tab) {\n this._onClose();\n } else {\n this._handleActionListNavigation(event, id);\n }\n\n event.stopPropagation();\n };\n\n _onClose = () => {\n this._markOption(NOT_HOVERED_INDEX);\n\n if (this.props.onClose) {\n this.props.onClose();\n }\n };\n\n _renderNode(node: React.ReactNode) {\n return node ? <div>{node}</div> : null;\n }\n\n _wrapWithInfiniteScroll = (scrollableElement: React.ReactNode) => {\n if (!this.optionsRef.current) {\n this.loadedWithUndefinedOptions = true;\n }\n\n return (\n <InfiniteScroll\n useWindow\n dataHook={DATA_HOOKS.INFINITE_SCROLL_CONTAINER}\n scrollElement={this.state.scrollElement}\n loadMore={this.props.loadMore}\n hasMore={this.props.hasMore}\n data={this.props.options}\n loader={\n <div className={classes.loader}>\n <Loader dataHook={DROPDOWN_LAYOUT_LOADER} size=\"small\" />\n </div>\n }\n >\n {scrollableElement}\n </InfiniteScroll>\n );\n };\n\n /** for testing purposes only */\n _getDataAttributes = () => {\n const { visible, dropDirectionUp } = this.props;\n const { selectedId } = this.state;\n\n return filterObject(\n {\n 'data-hook': DATA_HOOKS.CONTENT_CONTAINER,\n [DATA_SHOWN]: visible,\n [DATA_SELECTED_OPTION_ID]:\n selectedId === 0 ? `${selectedId}` : selectedId,\n [DATA_DIRECTION]: dropDirectionUp\n ? DROPDOWN_LAYOUT_DIRECTIONS.UP\n : DROPDOWN_LAYOUT_DIRECTIONS.DOWN,\n },\n (_, value) => !!value,\n );\n };\n\n _convertCustomOptionToBuilder({\n option,\n }: {\n option: DropdownLayoutValueOption;\n }): ConvertedCustomOption | undefined {\n const { value, id, disabled, overrideOptionStyle, overrideStyle } = option;\n\n if (overrideStyle) {\n return {\n id,\n disabled,\n overrideStyle,\n value: () => (\n <div data-hook={DATA_HOOKS.OPTION}>{value as React.ReactNode}</div>\n ),\n };\n }\n\n if (overrideOptionStyle) {\n return {\n id,\n disabled,\n overrideOptionStyle,\n value: () => (\n <div data-hook={DATA_HOOKS.OPTION}>{value as React.ReactNode}</div>\n ),\n };\n } else {\n // This should never happen but let's make TS happy\n return undefined;\n }\n }\n\n _convertOptionToListItemSelectBuilder({\n option,\n }: {\n option: DropdownLayoutValueOption;\n }): ReturnType<typeof listItemSelectBuilder> {\n const { value, id, disabled } = option;\n const { selectedId } = this.state;\n const { itemHeight, selectedHighlight } = this.props;\n\n return listItemSelectBuilder({\n id,\n title: (\n <div data-hook={DATA_HOOKS.OPTION}>{value as React.ReactNode}</div>\n ),\n disabled,\n selected: id === selectedId && selectedHighlight,\n className: st(classes.selectableOption, { itemHeight }),\n });\n }\n\n _isBuilderOption(\n option: DropdownLayoutOption,\n ): option is DropdownLayoutBuilderOption {\n const { value } = option;\n return typeof value === 'function';\n }\n\n _isCustomOption(option: DropdownLayoutValueOption) {\n const { overrideOptionStyle, overrideStyle } = option;\n return overrideOptionStyle || overrideStyle;\n }\n\n _isActionOption(\n option: DropdownLayoutOption,\n ): option is DropdownLayoutValueOption {\n return 'value' in option && option.value === ListType.action;\n }\n\n _isItemSection(\n option: DropdownLayoutOption,\n ): option is DropdownLayoutDividerOption | DropdownLayoutValueOption {\n // only DropdownLayoutValueOption type has title prop, which is deprecated\n // therefore expecting error instead of dealing with it\n // @ts-expect-error\n const { title: isTitle } = option;\n\n return this._isDivider(option) || isTitle;\n }\n\n _isDivider(opt: DropdownLayoutOption): opt is DropdownLayoutDividerOption {\n return opt.value === DIVIDER_OPTION_VALUE;\n }\n\n _convertOptionToBuilder(\n option: DropdownLayoutOption,\n idx: number,\n ): ConvertedOption {\n if (this._isBuilderOption(option)) {\n return option;\n } else if (this._isActionOption(option)) {\n return this._convertOptionToListItemActionBuilder({ option, idx });\n } else if (this._isItemSection(option)) {\n return this._convertOptionToListItemSectionBuilder({ option, idx });\n } else if (this._isCustomOption(option)) {\n return this._convertCustomOptionToBuilder({ option });\n } else {\n return this._convertOptionToListItemSelectBuilder({ option });\n }\n }\n\n _renderOption({\n option,\n idx,\n }: {\n option: DropdownLayoutOption;\n idx: number;\n }): React.JSX.Element | undefined {\n const isValueOption = (\n opt: DropdownLayoutOption,\n ): opt is DropdownLayoutValueOption =>\n 'id' in opt && 'value' in opt && typeof opt.value !== 'function';\n const builderOption = this._convertOptionToBuilder(option, idx);\n const hasLink = isValueOption(option) && !!option.linkTo;\n const content = this._renderOptionContent({\n option: builderOption,\n idx,\n hasLink,\n });\n\n const isActionItem = this.props.listType === ListType.action;\n\n return hasLink ? (\n <a\n className={classes.linkItem}\n key={idx}\n data-hook={DATA_HOOKS.LINK_ITEM}\n href={option.linkTo}\n role={isActionItem ? undefined : 'option'}\n aria-selected={\n isActionItem || option.disabled\n ? undefined\n : option.id === this.state.selectedId\n }\n aria-hidden={option.disabled}\n >\n {content}\n </a>\n ) : (\n content\n );\n }\n\n // For testing purposes only\n _getItemDataAttr = ({\n hovered,\n selected,\n disabled,\n }: {\n hovered: boolean;\n selected: boolean;\n disabled?: boolean;\n }) => {\n const { itemHeight, selectedHighlight } = this.props;\n\n return filterObject(\n {\n [DATA_OPTION.DISABLED]: disabled,\n [DATA_OPTION.SELECTED]: selected && selectedHighlight,\n [DATA_OPTION.HOVERED]: hovered,\n /* deprecated */\n [DATA_OPTION.SIZE]: itemHeight,\n },\n (_, value) => !!value,\n );\n };\n\n _renderOptionContent({\n option,\n idx,\n hasLink,\n }: {\n option: ConvertedOption;\n idx: number;\n hasLink: boolean;\n }): React.JSX.Element | undefined {\n if (!option) {\n return undefined;\n }\n const { itemHeight, selectedHighlight, listType } = this.props;\n const { selectedId, hovered } = this.state;\n\n const {\n id,\n disabled,\n // only ConvertedCustomOption type has overrideStyle prop, which is deprecated\n // therefore expecting error instead of dealing with it\n // @ts-expect-error\n overrideStyle,\n overrideOptionStyle,\n } = option;\n\n const optionState = {\n selected: id === selectedId,\n hovered: idx === hovered,\n disabled,\n };\n\n if (!disabled) {\n this.focusableItemsIdsList = [...this.focusableItemsIdsList, id];\n }\n\n const isActionItem = listType === ListType.action;\n\n return (\n <div\n aria-selected={\n hasLink || isActionItem || disabled ? undefined : optionState.selected\n }\n aria-hidden={disabled}\n {...this._getItemDataAttr({ ...optionState })}\n role={hasLink || isActionItem ? undefined : 'option'}\n className={\n overrideOptionStyle\n ? null\n : st(classes.option, {\n ...optionState,\n selected: optionState.selected && selectedHighlight,\n itemHeight,\n overrideStyle,\n })\n }\n ref={node => this._setSelectedOptionNode(node, option)}\n onClick={!disabled ? e => this._onSelect(idx, e) : undefined}\n key={idx}\n onMouseEnter={() => this._onMouseEnter(idx)}\n onMouseLeave={this._onMouseLeave}\n data-hook={`dropdown-item-${id}`}\n onKeyDown={e => this._onActionListKeyDown(e, id)}\n >\n {option?.value(optionState)}\n </div>\n );\n }\n\n _markOptionByProperty(props: DropdownLayoutProps) {\n const options = props.options || [];\n\n if (this.state.hovered === NOT_HOVERED_INDEX && props.markedOption) {\n const selectableOptions = options.filter(this._isSelectableOption);\n if (selectableOptions.length) {\n const idToMark =\n props.markedOption === true\n ? selectableOptions[0].id\n : props.markedOption;\n this._markOption(\n this._findIndex(\n options,\n (item: DropdownLayoutOption) => item.id === idToMark,\n ),\n props.options,\n );\n }\n }\n }\n\n _findIndex(\n arr: DropdownLayoutOption[],\n predicate: (item: DropdownLayoutOption) => boolean,\n ): number {\n return (Array.isArray(arr) ? arr : []).findIndex(predicate);\n }\n\n _isSelectableOption = (option: DropdownLayoutOption): boolean => {\n if (!option) {\n return false;\n }\n\n if (this._isDivider(option)) {\n return false;\n }\n\n // only DropdownLayoutValueOption type has title prop, which is deprecated\n // therefore expecting error instead of dealing with it\n // @ts-expect-error\n const hasTitle = option.title;\n\n return !this._isDivider(option) && !option.disabled && !hasTitle;\n };\n\n _renderOptions(): (React.JSX.Element | undefined)[] {\n this.focusableItemsIdsList = [];\n this._saveOnClicks();\n const options = this.props.options || [];\n\n return options.map((option, idx) => this._renderOption({ option, idx }));\n }\n\n render() {\n const {\n className,\n visible,\n dropDirectionUp,\n tabIndex,\n onMouseEnter,\n onMouseLeave,\n onMouseDown,\n fixedHeader,\n withArrow,\n fixedFooter,\n inContainer,\n overflow,\n maxHeightPixels = 260,\n minWidthPixels,\n infiniteScroll,\n dataHook,\n listType,\n overlayScrollbarProps,\n } = this.props;\n\n const renderedOptions = this._renderOptions();\n\n const OverlayScrollbarHostElement =\n overlayScrollbarProps?.OverlayScrollbarHostElement;\n const OverlayScrollbarContentElement =\n overlayScrollbarProps?.OverlayScrollbarContentElement;\n\n const optionsContainerProps = {\n style: {\n maxHeight: getUnit(parseInt(String(maxHeightPixels), 10) - 35),\n overflow,\n },\n 'data-hook': DATA_HOOKS.DROPDOWN_LAYOUT_OPTIONS,\n role: listType === ListType.select ? 'listbox' : 'menu',\n };\n\n const options = infiniteScroll\n ? this._wrapWithInfiniteScroll(renderedOptions)\n : renderedOptions;\n\n const optionsContainer =\n this.props.scrollbar === Scrollbar.OVERLAY &&\n OverlayScrollbarHostElement &&\n OverlayScrollbarContentElement ? (\n <OverlayScrollbarHostElement\n className={classes.options}\n {...optionsContainerProps}\n >\n <OverlayScrollbarContentElement\n className={classes.optionsContent}\n ref={forkRef<HTMLDivElement>(\n this.optionsRef,\n this.setScrollElement,\n )}\n >\n {options}\n </OverlayScrollbarContentElement>\n </OverlayScrollbarHostElement>\n ) : (\n <div\n className={st(classes.options, classes.optionsContent)}\n ref={forkRef<HTMLDivElement>(this.optionsRef, this.setScrollElement)}\n {...optionsContainerProps}\n >\n {options}\n </div>\n );\n\n return (\n <div\n data-list-type={listType}\n data-hook={dataHook}\n className={st(\n classes.root,\n {\n visible,\n withArrow,\n direction: dropDirectionUp\n ? DROPDOWN_LAYOUT_DIRECTIONS.UP\n : DROPDOWN_LAYOUT_DIRECTIONS.DOWN,\n containerStyles: !inContainer,\n },\n className,\n )}\n tabIndex={tabIndex}\n onKeyDown={this._onSelectListKeyDown}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onMouseDown={onMouseDown}\n ref={this.containerRef}\n >\n <div\n {...this._getDataAttributes()}\n className={classes.contentContainer}\n style={{\n overflow,\n maxHeight: maxHeightPixels ? getUnit(maxHeightPixels) : undefined,\n minWidth: minWidthPixels ? getUnit(minWidthPixels) : undefined,\n }}\n >\n {this._renderNode(fixedHeader)}\n {optionsContainer}\n {this._renderNode(fixedFooter)}\n </div>\n {this._renderTopArrow()}\n </div>\n );\n }\n}\n\nexport default withOverlayScrollbar(DropdownLayout);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ const { classesRuntime, statesRuntime } = require("./../stylable-cjs-runtime.js"
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var _namespace_ = "
|
|
12
|
+
var _namespace_ = "wds_1_124_0_DropdownLayout";
|
|
13
13
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
14
14
|
|
|
15
15
|
module.exports.cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -17,7 +17,7 @@ module.exports.style = _style_;
|
|
|
17
17
|
module.exports.st = _style_;
|
|
18
18
|
|
|
19
19
|
module.exports.namespace = _namespace_;
|
|
20
|
-
module.exports.classes = {"root":"
|
|
20
|
+
module.exports.classes = {"root":"wds_1_124_0_DropdownLayout__root","heading-h6":"wds_1_124_0_StylableTypography__heading-h6","text-medium-normal":"wds_1_124_0_StylableTypography__text-medium-normal","defaultScrollBar":"wds_1_124_0_defaultscrollbar__defaultScrollBar","contentContainer":"wds_1_124_0_DropdownLayout__contentContainer","options":"wds_1_124_0_DropdownLayout__options","optionsContent":"wds_1_124_0_DropdownLayout__optionsContent","option":"wds_1_124_0_DropdownLayout__option","selectableOption":"wds_1_124_0_DropdownLayout__selectableOption","arrow":"wds_1_124_0_DropdownLayout__arrow","loader":"wds_1_124_0_DropdownLayout__loader","linkItem":"wds_1_124_0_DropdownLayout__linkItem"};
|
|
21
21
|
module.exports.keyframes = {};
|
|
22
22
|
module.exports.layers = {};
|
|
23
23
|
module.exports.containers = {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/DropdownLayout/DropdownLayout.types.ts"],"sourcesContent":["import * as React from 'react';\nimport { listItemActionBuilder } from '../ListItemAction';\nimport { listItemEditableBuilder } from '../ListItemEditable';\nimport { listItemSectionBuilder } from '../ListItemSection';\nimport { listItemSelectBuilder } from '../ListItemSelect';\nimport { DIVIDER_OPTION_VALUE } from './DropdownLayout.constants';\n\nexport interface DropdownLayoutProps {\n /** Applies a data-hook HTML attribute that can be used in the tests. */\n dataHook?: string;\n /** A single CSS class name to be appended to the root element. */\n className?: string;\n /** @deprecated */\n dropDirectionUp?: boolean;\n /** Scroll view to the selected option on opening the dropdown */\n focusOnSelectedOption?: boolean;\n /** Callback function called whenever the user press the `Escape` keyboard.*/\n onClose?: () => void;\n /** Callback function called whenever the user selects a different option in the list */\n onSelect?: (\n option: DropdownLayoutOption,\n sameOptionWasPicked: boolean,\n ) => void;\n /** Callback function called whenever an option becomes focused (hovered/active). Receives the relevant option object from the original props.options array. */\n onOptionMarked?: (option: DropdownLayoutValueOption | null) => void;\n /** Should show or hide the component */\n visible?: boolean;\n /** Array of objects:\n * - id `<string / number>` *required*: the id of the option, should be unique.\n * - value `<function / string / node>` *required*: can be a string, react element or a builder function.\n * - disabled `<bool>` *default value- false*: whether this option is disabled or not\n * - linkTo `<string>`: when provided the option will be an anchor to the given value\n * - title `<bool>` *default value- false* **deprecated**: please use `listItemSectionBuilder` for rendering a title.\n * - overrideStyle `<bool>` *default value- false* **deprecated**: please use `overrideOptionStyle` for override option styles.\n * - overrideOptionStyle `<bool>` *default value- false* - when set to `true`, the option will be responsible to its own styles. No styles will be applied from the DropdownLayout itself.\n * - label `<string>`: the string displayed within an input when the option is selected. This is used when using `<DropdownLayout/>` with an `<Input/>`.\n */\n options?: DropdownLayoutOption[];\n /** The id of the selected option in the list */\n selectedId?: string | number;\n /** Specifies the tab order of the component. */\n tabIndex?: number;\n /** @deprecated Do not use this prop. */\n onClickOutside?: (e: TouchEvent | MouseEvent) => void;\n /** A fixed header to the list */\n fixedHeader?: React.ReactNode;\n /** A fixed footer to the list */\n fixedFooter?: React.ReactNode;\n /** Set the max height of the dropdownLayout in pixels */\n maxHeightPixels?: string | number;\n /** Set the min width of the dropdownLayout in pixels */\n minWidthPixels?: string | number;\n /** @deprecated Do not use this prop. */\n withArrow?: boolean;\n /** Closes DropdownLayout on option selection */\n closeOnSelect?: boolean;\n /** Callback function called whenever the user entered with the mouse to the dropdown layout.*/\n onMouseEnter?: React.MouseEventHandler<HTMLElement>;\n /** Callback function called whenever the user exited with the mouse from the dropdown layout.*/\n onMouseLeave?: React.MouseEventHandler<HTMLElement>;\n /** Callback function called whenever the user clicks the dropdown layout.*/\n onMouseDown?: React.MouseEventHandler<HTMLElement>;\n /** @deprecated Do not use this prop. */\n itemHeight?: DropdownLayoutItemHeight;\n /** Whether the selected option will be highlighted when dropdown reopened. */\n selectedHighlight?: boolean;\n /** Whether the `<DropdownLayout/>` is in a container component. If `true`, some styles such as shadows, positioning and padding will be added the the component contentContainer. */\n inContainer?: boolean;\n /** Set this prop for lazy loading of the dropdown layout items.*/\n infiniteScroll?: boolean;\n /** A callback called when more items are requested to be rendered. */\n loadMore?: (page: number) => void;\n /** Whether there are more items to be loaded. */\n hasMore?: boolean;\n /** Sets the default hover behavior when:\n * 1. `false` means no default\n * 2. `true` means to hover the first selectable option\n * 3. Any number/string represents the id of option to hover\n */\n markedOption?: boolean | string | number;\n /** Set overflow of container */\n overflow?: Overflow;\n /** Marks (not selects) and scrolls view to the option on opening the dropdown by option id */\n focusOnOption?: string | number;\n /** Scrolls to the specified option when dropdown is opened without marking it */\n scrollToOption?: string | number;\n /** Defines type of behavior applied in list */\n listType?: ListType;\n /** Specifies whether first list item should be focused */\n autoFocus?: boolean;\n /** Controls which type of scrollbar to render */\n scrollbar?: 'overlay' | 'fixed';\n}\n\nexport type Overflow = 'visible' | 'hidden' | 'scroll' | 'auto';\nexport type ListType = 'action' | 'select';\n\nexport type DropdownLayoutBuilderOption =\n | ReturnType<typeof listItemActionBuilder>\n | ReturnType<typeof listItemSectionBuilder>\n | ReturnType<typeof listItemSelectBuilder>\n | ReturnType<typeof listItemEditableBuilder>;\n\nexport type DropdownLayoutOption =\n | DropdownLayoutValueOption\n | DropdownLayoutDividerOption\n | DropdownLayoutBuilderOption;\n\nexport type DropdownLayoutValueOption = {\n id: string | number;\n value: React.ReactNode | RenderOptionFn;\n disabled?: boolean;\n /** @deprecated Please use `listItemSectionBuilder` for rendering a title */\n title?: React.ReactNode;\n /** @deprecated Please use `listItemActionBuilder` */\n optionTitle?: string;\n /** @deprecated Please use `listItemActionBuilder` */\n onClick?: () => void;\n linkTo?: string;\n /** @deprecated Please use `overrideOptionStyle` to override option styles */\n overrideStyle?: boolean;\n overrideOptionStyle?: boolean;\n label?: string;\n};\n\nexport type RenderOptionFn = (options: {\n selected: boolean;\n hovered: boolean;\n disabled: boolean;\n}) => React.ReactNode;\n\nexport type DropdownLayoutDividerOption = {\n value: typeof DIVIDER_OPTION_VALUE;\n id?: string | number;\n};\n\nexport type DropdownLayoutItemHeight = 'small' | 'big';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -49,7 +49,8 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
49
49
|
}();
|
|
50
50
|
var options = /*#__PURE__*/function () {
|
|
51
51
|
var _ref4 = (0, _asyncToGenerator2.default)(function* () {
|
|
52
|
-
|
|
52
|
+
var result = base.$$("[data-hook=".concat(yield getOptionsContainerDataHook(), "] > *")).map(i => i);
|
|
53
|
+
return result;
|
|
53
54
|
});
|
|
54
55
|
return function options() {
|
|
55
56
|
return _ref4.apply(this, arguments);
|
|
@@ -63,19 +64,25 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
63
64
|
return _ref5.apply(this, arguments);
|
|
64
65
|
};
|
|
65
66
|
}();
|
|
66
|
-
var doIfOptionExists = (
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
var doIfOptionExists = /*#__PURE__*/function () {
|
|
68
|
+
var _ref6 = (0, _asyncToGenerator2.default)(function* (position, onSuccess) {
|
|
69
|
+
if ((yield optionsLength()) <= position) {
|
|
70
|
+
throw new Error("index out of bounds, try to get option ".concat(position, " while only ").concat(optionsLength(), " options exists"));
|
|
71
|
+
}
|
|
72
|
+
return onSuccess();
|
|
73
|
+
});
|
|
74
|
+
return function doIfOptionExists(_x4, _x5) {
|
|
75
|
+
return _ref6.apply(this, arguments);
|
|
76
|
+
};
|
|
77
|
+
}();
|
|
72
78
|
var getOptionDriver = position => doIfOptionExists(position, /*#__PURE__*/(0, _asyncToGenerator2.default)(function* () {
|
|
73
79
|
var optionElementContent = yield optionElementContentAt(position);
|
|
74
|
-
|
|
80
|
+
var option = (yield optionElementContent.exists()) ? optionElementContent : yield optionElementAt(position);
|
|
81
|
+
return createOptionDriver(option);
|
|
75
82
|
}));
|
|
76
83
|
return _objectSpread(_objectSpread({}, (0, _unidriver.baseUniDriverFactory)(base)), {}, {
|
|
77
84
|
/** @deprecated should be private */
|
|
78
|
-
classes:
|
|
85
|
+
classes: _name => optionsElement()._prop('className'),
|
|
79
86
|
/** Clicks on an option at a specific index
|
|
80
87
|
* @param {number} option index
|
|
81
88
|
* @return {Promise<void>}
|
|
@@ -84,7 +91,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
84
91
|
var _clickAtOption = (0, _asyncToGenerator2.default)(function* (index) {
|
|
85
92
|
return (yield getOptionDriver(index)).click();
|
|
86
93
|
});
|
|
87
|
-
function clickAtOption(
|
|
94
|
+
function clickAtOption(_x6) {
|
|
88
95
|
return _clickAtOption.apply(this, arguments);
|
|
89
96
|
}
|
|
90
97
|
return clickAtOption;
|
|
@@ -97,7 +104,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
97
104
|
var _clickAtOptionByDataHook = (0, _asyncToGenerator2.default)(function* (dataHook) {
|
|
98
105
|
return (yield optionElementByDataHook(dataHook)).click();
|
|
99
106
|
});
|
|
100
|
-
function clickAtOptionByDataHook(
|
|
107
|
+
function clickAtOptionByDataHook(_x7) {
|
|
101
108
|
return _clickAtOptionByDataHook.apply(this, arguments);
|
|
102
109
|
}
|
|
103
110
|
return clickAtOptionByDataHook;
|
|
@@ -115,7 +122,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
115
122
|
}
|
|
116
123
|
}
|
|
117
124
|
});
|
|
118
|
-
function clickAtOptionWithValue(
|
|
125
|
+
function clickAtOptionWithValue(_x8) {
|
|
119
126
|
return _clickAtOptionWithValue.apply(this, arguments);
|
|
120
127
|
}
|
|
121
128
|
return clickAtOptionWithValue;
|
|
@@ -157,7 +164,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
157
164
|
return optionDriver.isLink();
|
|
158
165
|
}));
|
|
159
166
|
});
|
|
160
|
-
function isLinkOption(
|
|
167
|
+
function isLinkOption(_x9) {
|
|
161
168
|
return _isLinkOption.apply(this, arguments);
|
|
162
169
|
}
|
|
163
170
|
return isLinkOption;
|
|
@@ -175,7 +182,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
175
182
|
}
|
|
176
183
|
return false;
|
|
177
184
|
});
|
|
178
|
-
function isOptionExists(
|
|
185
|
+
function isOptionExists(_x10) {
|
|
179
186
|
return _isOptionExists.apply(this, arguments);
|
|
180
187
|
}
|
|
181
188
|
return isOptionExists;
|
|
@@ -187,7 +194,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
187
194
|
return optionDriver.isHovered();
|
|
188
195
|
}));
|
|
189
196
|
});
|
|
190
|
-
function isOptionHovered(
|
|
197
|
+
function isOptionHovered(_x11) {
|
|
191
198
|
return _isOptionHovered.apply(this, arguments);
|
|
192
199
|
}
|
|
193
200
|
return isOptionHovered;
|
|
@@ -199,7 +206,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
199
206
|
return optionDriver.isSelected();
|
|
200
207
|
}));
|
|
201
208
|
});
|
|
202
|
-
function isOptionSelected(
|
|
209
|
+
function isOptionSelected(_x12) {
|
|
203
210
|
return _isOptionSelected.apply(this, arguments);
|
|
204
211
|
}
|
|
205
212
|
return isOptionSelected;
|
|
@@ -216,7 +223,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
216
223
|
var _isListItemFocused = (0, _asyncToGenerator2.default)(function* (position) {
|
|
217
224
|
return (0, _unidriver.isElementFocused)(yield optionElementContentAt(position));
|
|
218
225
|
});
|
|
219
|
-
function isListItemFocused(
|
|
226
|
+
function isListItemFocused(_x13) {
|
|
220
227
|
return _isListItemFocused.apply(this, arguments);
|
|
221
228
|
}
|
|
222
229
|
return isListItemFocused;
|
|
@@ -245,8 +252,8 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
245
252
|
var {
|
|
246
253
|
element
|
|
247
254
|
} = yield (0, _unidriver.baseUniDriverFactory)(base).element();
|
|
248
|
-
page.evaluate(
|
|
249
|
-
|
|
255
|
+
page.evaluate(el => {
|
|
256
|
+
el.dispatchEvent(new MouseEvent('mouseout', {
|
|
250
257
|
bubbles: true,
|
|
251
258
|
view: window,
|
|
252
259
|
cancelable: true
|
|
@@ -270,7 +277,8 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
270
277
|
})),
|
|
271
278
|
/** @deprecated Use optionDriver*/
|
|
272
279
|
optionAt: () => {
|
|
273
|
-
|
|
280
|
+
// @ts-expect-error
|
|
281
|
+
return optionElementAt.getNative();
|
|
274
282
|
},
|
|
275
283
|
// This should be a private method since the hook include internal parts ('dropdown-divider-{id}, dropdown-item-{id})') */
|
|
276
284
|
/** @deprecated */
|
|
@@ -282,14 +290,14 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
282
290
|
}
|
|
283
291
|
return createOptionDriver(option);
|
|
284
292
|
});
|
|
285
|
-
function optionByHook(
|
|
293
|
+
function optionByHook(_x14) {
|
|
286
294
|
return _optionByHook.apply(this, arguments);
|
|
287
295
|
}
|
|
288
296
|
return optionByHook;
|
|
289
297
|
}(),
|
|
290
298
|
/**
|
|
291
299
|
* Get Option by id
|
|
292
|
-
* @returns {Promise<
|
|
300
|
+
* @returns {Promise<DropdownLayoutOptionUniDriver>}
|
|
293
301
|
*/
|
|
294
302
|
optionById(optionId) {
|
|
295
303
|
return this.optionByHook("dropdown-item-".concat(optionId));
|
|
@@ -331,14 +339,14 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
331
339
|
var _markedOption = (0, _asyncToGenerator2.default)(function* () {
|
|
332
340
|
var allOptions = yield options();
|
|
333
341
|
var optionsWithHovered = yield Promise.all(allOptions.map( /*#__PURE__*/function () {
|
|
334
|
-
var
|
|
342
|
+
var _ref17 = (0, _asyncToGenerator2.default)(function* (option) {
|
|
335
343
|
return {
|
|
336
344
|
option,
|
|
337
345
|
hovered: !!(yield option.attr(_DataAttr.DATA_OPTION.HOVERED))
|
|
338
346
|
};
|
|
339
347
|
});
|
|
340
|
-
return function (
|
|
341
|
-
return
|
|
348
|
+
return function (_x15) {
|
|
349
|
+
return _ref17.apply(this, arguments);
|
|
342
350
|
};
|
|
343
351
|
}()));
|
|
344
352
|
var hoveredOptions = optionsWithHovered.filter(option => option.hovered).map(option => option.option);
|
|
@@ -372,7 +380,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
372
380
|
var optionDriver = yield getOptionDriver(position);
|
|
373
381
|
return (yield optionDriver.element()).pressKey(key);
|
|
374
382
|
});
|
|
375
|
-
function keyDownListItem(
|
|
383
|
+
function keyDownListItem(_x16, _x17) {
|
|
376
384
|
return _keyDownListItem.apply(this, arguments);
|
|
377
385
|
}
|
|
378
386
|
return keyDownListItem;
|
|
@@ -383,7 +391,7 @@ var dropdownLayoutDriverFactory = (base, body) => {
|
|
|
383
391
|
var optionDriver = yield getOptionDriver(position);
|
|
384
392
|
return (yield optionDriver.element()).attr(attribute);
|
|
385
393
|
});
|
|
386
|
-
function getListItemAttribute(
|
|
394
|
+
function getListItemAttribute(_x18, _x19) {
|
|
387
395
|
return _getListItemAttribute.apply(this, arguments);
|
|
388
396
|
}
|
|
389
397
|
return getListItemAttribute;
|