@coreui/react-pro 5.15.0 → 5.17.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/README.md +1 -1
- package/dist/cjs/components/accordion/CAccordion.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionBody.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionButton.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionHeader.js.map +1 -1
- package/dist/cjs/components/accordion/CAccordionItem.js.map +1 -1
- package/dist/cjs/components/alert/CAlert.js +5 -1
- package/dist/cjs/components/alert/CAlert.js.map +1 -1
- package/dist/cjs/components/alert/CAlertHeading.js.map +1 -1
- package/dist/cjs/components/alert/CAlertLink.js.map +1 -1
- package/dist/cjs/components/avatar/CAvatar.js.map +1 -1
- package/dist/cjs/components/backdrop/CBackdrop.js +5 -1
- package/dist/cjs/components/backdrop/CBackdrop.js.map +1 -1
- package/dist/cjs/components/badge/CBadge.js.map +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumb.js.map +1 -1
- package/dist/cjs/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
- package/dist/cjs/components/button/CButton.js +4 -2
- package/dist/cjs/components/button/CButton.js.map +1 -1
- package/dist/cjs/components/button-group/CButtonGroup.js.map +1 -1
- package/dist/cjs/components/button-group/CButtonToolbar.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendar.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendarNavigation.js.map +1 -1
- package/dist/cjs/components/calendar/CCalendarPanel.js.map +1 -1
- package/dist/cjs/components/calendar/utils.d.ts +1 -1
- package/dist/cjs/components/calendar/utils.js +3 -0
- package/dist/cjs/components/calendar/utils.js.map +1 -1
- package/dist/cjs/components/callout/CCallout.js.map +1 -1
- package/dist/cjs/components/card/CCard.js.map +1 -1
- package/dist/cjs/components/card/CCardBody.js.map +1 -1
- package/dist/cjs/components/card/CCardFooter.js.map +1 -1
- package/dist/cjs/components/card/CCardGroup.js.map +1 -1
- package/dist/cjs/components/card/CCardHeader.js.map +1 -1
- package/dist/cjs/components/card/CCardImageOverlay.js.map +1 -1
- package/dist/cjs/components/card/CCardLink.js.map +1 -1
- package/dist/cjs/components/card/CCardSubtitle.js.map +1 -1
- package/dist/cjs/components/card/CCardText.js.map +1 -1
- package/dist/cjs/components/card/CCardTitle.js.map +1 -1
- package/dist/cjs/components/carousel/CCarousel.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselCaption.js.map +1 -1
- package/dist/cjs/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/cjs/components/close-button/CCloseButton.js.map +1 -1
- package/dist/cjs/components/collapse/CCollapse.js +5 -1
- package/dist/cjs/components/collapse/CCollapse.js.map +1 -1
- package/dist/cjs/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/cjs/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/cjs/components/date-range-picker/utils.js +0 -3
- package/dist/cjs/components/date-range-picker/utils.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdown.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownDivider.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownItem.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/cjs/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/cjs/components/dropdown/utils.js.map +1 -1
- package/dist/cjs/components/element-cover/CElementCover.js.map +1 -1
- package/dist/cjs/components/footer/CFooter.js.map +1 -1
- package/dist/cjs/components/form/CForm.js.map +1 -1
- package/dist/cjs/components/form/CFormCheck.js.map +1 -1
- package/dist/cjs/components/form/CFormControlValidation.js.map +1 -1
- package/dist/cjs/components/form/CFormControlWrapper.js.map +1 -1
- package/dist/cjs/components/form/CFormFeedback.js.map +1 -1
- package/dist/cjs/components/form/CFormFloating.js.map +1 -1
- package/dist/cjs/components/form/CFormInput.js.map +1 -1
- package/dist/cjs/components/form/CFormLabel.js.map +1 -1
- package/dist/cjs/components/form/CFormRange.js.map +1 -1
- package/dist/cjs/components/form/CFormSelect.js.map +1 -1
- package/dist/cjs/components/form/CFormSwitch.js.map +1 -1
- package/dist/cjs/components/form/CFormText.js.map +1 -1
- package/dist/cjs/components/form/CFormTextarea.js.map +1 -1
- package/dist/cjs/components/form/CInputGroup.js.map +1 -1
- package/dist/cjs/components/form/CInputGroupText.js.map +1 -1
- package/dist/cjs/components/grid/CCol.js.map +1 -1
- package/dist/cjs/components/grid/CContainer.js.map +1 -1
- package/dist/cjs/components/grid/CRow.js.map +1 -1
- package/dist/cjs/components/header/CHeader.js.map +1 -1
- package/dist/cjs/components/header/CHeaderBrand.js.map +1 -1
- package/dist/cjs/components/header/CHeaderDivider.js.map +1 -1
- package/dist/cjs/components/header/CHeaderNav.js.map +1 -1
- package/dist/cjs/components/header/CHeaderText.js.map +1 -1
- package/dist/cjs/components/header/CHeaderToggler.js.map +1 -1
- package/dist/cjs/components/image/CImage.js.map +1 -1
- package/dist/cjs/components/link/CLink.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroup.js.map +1 -1
- package/dist/cjs/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/cjs/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/cjs/components/modal/CModal.js +5 -1
- package/dist/cjs/components/modal/CModal.js.map +1 -1
- package/dist/cjs/components/modal/CModalBody.js.map +1 -1
- package/dist/cjs/components/modal/CModalContent.js.map +1 -1
- package/dist/cjs/components/modal/CModalDialog.js.map +1 -1
- package/dist/cjs/components/modal/CModalFooter.js.map +1 -1
- package/dist/cjs/components/modal/CModalHeader.js.map +1 -1
- package/dist/cjs/components/modal/CModalTitle.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/cjs/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/cjs/components/multi-select/utils.js.map +1 -1
- package/dist/cjs/components/nav/CNav.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroup.js +5 -1
- package/dist/cjs/components/nav/CNavGroup.js.map +1 -1
- package/dist/cjs/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/cjs/components/nav/CNavItem.js.map +1 -1
- package/dist/cjs/components/nav/CNavLink.js.map +1 -1
- package/dist/cjs/components/nav/CNavTitle.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbar.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarText.js.map +1 -1
- package/dist/cjs/components/navbar/CNavbarToggler.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js +5 -1
- package/dist/cjs/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasBody.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasHeader.js.map +1 -1
- package/dist/cjs/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/cjs/components/pagination/CPagination.js.map +1 -1
- package/dist/cjs/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/cjs/components/password-input/CPasswordInput.js.map +1 -1
- package/dist/cjs/components/picker/CPicker.js.map +1 -1
- package/dist/cjs/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/cjs/components/popover/CPopover.js.map +1 -1
- package/dist/cjs/components/progress/CProgress.js.map +1 -1
- package/dist/cjs/components/progress/CProgressBar.js.map +1 -1
- package/dist/cjs/components/progress/CProgressStacked.js.map +1 -1
- package/dist/cjs/components/range-slider/CRangeSlider.js.map +1 -1
- package/dist/cjs/components/range-slider/utils.js.map +1 -1
- package/dist/cjs/components/rating/CRating.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebar.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarFooter.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarHeader.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/cjs/components/sidebar/CSidebarToggler.js.map +1 -1
- package/dist/cjs/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTable.js +4 -2
- package/dist/cjs/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/cjs/components/smart-table/CSmartTableInterface.d.ts +6 -0
- package/dist/cjs/components/smart-table/utils.js.map +1 -1
- package/dist/cjs/components/spinner/CSpinner.js.map +1 -1
- package/dist/cjs/components/stepper/CStepper.d.ts +33 -3
- package/dist/cjs/components/stepper/CStepper.js +64 -25
- package/dist/cjs/components/stepper/CStepper.js.map +1 -1
- package/dist/cjs/components/stepper/types.d.ts +1 -1
- package/dist/cjs/components/table/CTable.js.map +1 -1
- package/dist/cjs/components/table/CTableBody.js.map +1 -1
- package/dist/cjs/components/table/CTableCaption.js.map +1 -1
- package/dist/cjs/components/table/CTableDataCell.js.map +1 -1
- package/dist/cjs/components/table/CTableFoot.js.map +1 -1
- package/dist/cjs/components/table/CTableHead.js.map +1 -1
- package/dist/cjs/components/table/CTableHeaderCell.js.map +1 -1
- package/dist/cjs/components/table/CTableResponsiveWrapper.js.map +1 -1
- package/dist/cjs/components/table/CTableRow.js.map +1 -1
- package/dist/cjs/components/table/utils.js.map +1 -1
- package/dist/cjs/components/tabs/CTab.js.map +1 -1
- package/dist/cjs/components/tabs/CTabContent.js.map +1 -1
- package/dist/cjs/components/tabs/CTabList.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPane.js +5 -1
- package/dist/cjs/components/tabs/CTabPane.js.map +1 -1
- package/dist/cjs/components/tabs/CTabPanel.js +5 -1
- package/dist/cjs/components/tabs/CTabPanel.js.map +1 -1
- package/dist/cjs/components/tabs/CTabs.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/cjs/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/cjs/components/time-picker/utils.js.map +1 -1
- package/dist/cjs/components/toast/CToast.js +5 -1
- package/dist/cjs/components/toast/CToast.js.map +1 -1
- package/dist/cjs/components/toast/CToastBody.js.map +1 -1
- package/dist/cjs/components/toast/CToastClose.js.map +1 -1
- package/dist/cjs/components/toast/CToastHeader.js.map +1 -1
- package/dist/cjs/components/toast/CToaster.js.map +1 -1
- package/dist/cjs/components/tooltip/CTooltip.js.map +1 -1
- package/dist/cjs/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsA.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsB.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsC.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsD.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsE.js.map +1 -1
- package/dist/cjs/components/widgets/CWidgetStatsF.js.map +1 -1
- package/dist/cjs/hooks/useClipboard.js.map +1 -1
- package/dist/cjs/hooks/useColorModes.js.map +1 -1
- package/dist/cjs/hooks/useDebounce.js.map +1 -1
- package/dist/cjs/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/cjs/hooks/useDropdownWithPopper.js.map +1 -1
- package/dist/cjs/hooks/useForkedRef.js.map +1 -1
- package/dist/cjs/hooks/usePopper.js.map +1 -1
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +11 -0
- package/dist/cjs/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
- package/dist/cjs/node_modules/react-device-detect/dist/lib.js.map +1 -1
- package/dist/cjs/node_modules/react-transition-group/esm/ReplaceTransition.js +143 -0
- package/dist/cjs/node_modules/react-transition-group/esm/ReplaceTransition.js.map +1 -0
- package/dist/cjs/node_modules/react-transition-group/esm/SwitchTransition.js +263 -0
- package/dist/cjs/node_modules/react-transition-group/esm/SwitchTransition.js.map +1 -0
- package/dist/cjs/node_modules/react-transition-group/esm/TransitionGroup.js +195 -0
- package/dist/cjs/node_modules/react-transition-group/esm/TransitionGroup.js.map +1 -0
- package/dist/cjs/node_modules/react-transition-group/esm/utils/ChildMapping.js +149 -0
- package/dist/cjs/node_modules/react-transition-group/esm/utils/ChildMapping.js.map +1 -0
- package/dist/cjs/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/dist/cjs/props.js.map +1 -1
- package/dist/cjs/utils/executeAfterTransition.js.map +1 -1
- package/dist/cjs/utils/getNextActiveElement.js.map +1 -1
- package/dist/cjs/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/cjs/utils/isInViewport.js.map +1 -1
- package/dist/cjs/utils/isObjectInArray.js.map +1 -1
- package/dist/cjs/utils/isRTL.js.map +1 -1
- package/dist/esm/components/accordion/CAccordion.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionBody.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionButton.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionHeader.js.map +1 -1
- package/dist/esm/components/accordion/CAccordionItem.js.map +1 -1
- package/dist/esm/components/alert/CAlert.js +5 -1
- package/dist/esm/components/alert/CAlert.js.map +1 -1
- package/dist/esm/components/alert/CAlertHeading.js.map +1 -1
- package/dist/esm/components/alert/CAlertLink.js.map +1 -1
- package/dist/esm/components/avatar/CAvatar.js.map +1 -1
- package/dist/esm/components/backdrop/CBackdrop.js +5 -1
- package/dist/esm/components/backdrop/CBackdrop.js.map +1 -1
- package/dist/esm/components/badge/CBadge.js.map +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumb.js.map +1 -1
- package/dist/esm/components/breadcrumb/CBreadcrumbItem.js.map +1 -1
- package/dist/esm/components/button/CButton.js +4 -2
- package/dist/esm/components/button/CButton.js.map +1 -1
- package/dist/esm/components/button-group/CButtonGroup.js.map +1 -1
- package/dist/esm/components/button-group/CButtonToolbar.js.map +1 -1
- package/dist/esm/components/calendar/CCalendar.js.map +1 -1
- package/dist/esm/components/calendar/CCalendarNavigation.js.map +1 -1
- package/dist/esm/components/calendar/CCalendarPanel.js.map +1 -1
- package/dist/esm/components/calendar/utils.d.ts +1 -1
- package/dist/esm/components/calendar/utils.js +3 -0
- package/dist/esm/components/calendar/utils.js.map +1 -1
- package/dist/esm/components/callout/CCallout.js.map +1 -1
- package/dist/esm/components/card/CCard.js.map +1 -1
- package/dist/esm/components/card/CCardBody.js.map +1 -1
- package/dist/esm/components/card/CCardFooter.js.map +1 -1
- package/dist/esm/components/card/CCardGroup.js.map +1 -1
- package/dist/esm/components/card/CCardHeader.js.map +1 -1
- package/dist/esm/components/card/CCardImageOverlay.js.map +1 -1
- package/dist/esm/components/card/CCardLink.js.map +1 -1
- package/dist/esm/components/card/CCardSubtitle.js.map +1 -1
- package/dist/esm/components/card/CCardText.js.map +1 -1
- package/dist/esm/components/card/CCardTitle.js.map +1 -1
- package/dist/esm/components/carousel/CCarousel.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselCaption.js.map +1 -1
- package/dist/esm/components/carousel/CCarouselItem.js.map +1 -1
- package/dist/esm/components/close-button/CCloseButton.js.map +1 -1
- package/dist/esm/components/collapse/CCollapse.js +5 -1
- package/dist/esm/components/collapse/CCollapse.js.map +1 -1
- package/dist/esm/components/conditional-portal/CConditionalPortal.js.map +1 -1
- package/dist/esm/components/date-picker/CDatePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/CDateRangePicker.js.map +1 -1
- package/dist/esm/components/date-range-picker/utils.js +0 -3
- package/dist/esm/components/date-range-picker/utils.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdown.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownDivider.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownHeader.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItem.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownItemPlain.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownMenu.js.map +1 -1
- package/dist/esm/components/dropdown/CDropdownToggle.js.map +1 -1
- package/dist/esm/components/dropdown/utils.js.map +1 -1
- package/dist/esm/components/element-cover/CElementCover.js.map +1 -1
- package/dist/esm/components/footer/CFooter.js.map +1 -1
- package/dist/esm/components/form/CForm.js.map +1 -1
- package/dist/esm/components/form/CFormCheck.js.map +1 -1
- package/dist/esm/components/form/CFormControlValidation.js.map +1 -1
- package/dist/esm/components/form/CFormControlWrapper.js.map +1 -1
- package/dist/esm/components/form/CFormFeedback.js.map +1 -1
- package/dist/esm/components/form/CFormFloating.js.map +1 -1
- package/dist/esm/components/form/CFormInput.js.map +1 -1
- package/dist/esm/components/form/CFormLabel.js.map +1 -1
- package/dist/esm/components/form/CFormRange.js.map +1 -1
- package/dist/esm/components/form/CFormSelect.js.map +1 -1
- package/dist/esm/components/form/CFormSwitch.js.map +1 -1
- package/dist/esm/components/form/CFormText.js.map +1 -1
- package/dist/esm/components/form/CFormTextarea.js.map +1 -1
- package/dist/esm/components/form/CInputGroup.js.map +1 -1
- package/dist/esm/components/form/CInputGroupText.js.map +1 -1
- package/dist/esm/components/grid/CCol.js.map +1 -1
- package/dist/esm/components/grid/CContainer.js.map +1 -1
- package/dist/esm/components/grid/CRow.js.map +1 -1
- package/dist/esm/components/header/CHeader.js.map +1 -1
- package/dist/esm/components/header/CHeaderBrand.js.map +1 -1
- package/dist/esm/components/header/CHeaderDivider.js.map +1 -1
- package/dist/esm/components/header/CHeaderNav.js.map +1 -1
- package/dist/esm/components/header/CHeaderText.js.map +1 -1
- package/dist/esm/components/header/CHeaderToggler.js.map +1 -1
- package/dist/esm/components/image/CImage.js.map +1 -1
- package/dist/esm/components/link/CLink.js.map +1 -1
- package/dist/esm/components/list-group/CListGroup.js.map +1 -1
- package/dist/esm/components/list-group/CListGroupItem.js.map +1 -1
- package/dist/esm/components/loading-button/CLoadingButton.js.map +1 -1
- package/dist/esm/components/modal/CModal.js +5 -1
- package/dist/esm/components/modal/CModal.js.map +1 -1
- package/dist/esm/components/modal/CModalBody.js.map +1 -1
- package/dist/esm/components/modal/CModalContent.js.map +1 -1
- package/dist/esm/components/modal/CModalDialog.js.map +1 -1
- package/dist/esm/components/modal/CModalFooter.js.map +1 -1
- package/dist/esm/components/modal/CModalHeader.js.map +1 -1
- package/dist/esm/components/modal/CModalTitle.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectNativeSelect.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectOptions.js.map +1 -1
- package/dist/esm/components/multi-select/CMultiSelectSelection.js.map +1 -1
- package/dist/esm/components/multi-select/utils.js.map +1 -1
- package/dist/esm/components/nav/CNav.js.map +1 -1
- package/dist/esm/components/nav/CNavGroup.js +5 -1
- package/dist/esm/components/nav/CNavGroup.js.map +1 -1
- package/dist/esm/components/nav/CNavGroupItems.js.map +1 -1
- package/dist/esm/components/nav/CNavItem.js.map +1 -1
- package/dist/esm/components/nav/CNavLink.js.map +1 -1
- package/dist/esm/components/nav/CNavTitle.js.map +1 -1
- package/dist/esm/components/navbar/CNavbar.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarBrand.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarNav.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarText.js.map +1 -1
- package/dist/esm/components/navbar/CNavbarToggler.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvas.js +5 -1
- package/dist/esm/components/offcanvas/COffcanvas.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasBody.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasHeader.js.map +1 -1
- package/dist/esm/components/offcanvas/COffcanvasTitle.js.map +1 -1
- package/dist/esm/components/pagination/CPagination.js.map +1 -1
- package/dist/esm/components/pagination/CPaginationItem.js.map +1 -1
- package/dist/esm/components/password-input/CPasswordInput.js.map +1 -1
- package/dist/esm/components/picker/CPicker.js.map +1 -1
- package/dist/esm/components/placeholder/CPlaceholder.js.map +1 -1
- package/dist/esm/components/popover/CPopover.js.map +1 -1
- package/dist/esm/components/progress/CProgress.js.map +1 -1
- package/dist/esm/components/progress/CProgressBar.js.map +1 -1
- package/dist/esm/components/progress/CProgressStacked.js.map +1 -1
- package/dist/esm/components/range-slider/CRangeSlider.js.map +1 -1
- package/dist/esm/components/range-slider/utils.js.map +1 -1
- package/dist/esm/components/rating/CRating.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebar.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarBrand.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarFooter.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarHeader.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarNav.js.map +1 -1
- package/dist/esm/components/sidebar/CSidebarToggler.js.map +1 -1
- package/dist/esm/components/smart-pagination/CSmartPagination.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTable.js +4 -2
- package/dist/esm/components/smart-table/CSmartTable.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableBody.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableHead.js.map +1 -1
- package/dist/esm/components/smart-table/CSmartTableInterface.d.ts +6 -0
- package/dist/esm/components/smart-table/utils.js.map +1 -1
- package/dist/esm/components/spinner/CSpinner.js.map +1 -1
- package/dist/esm/components/stepper/CStepper.d.ts +33 -3
- package/dist/esm/components/stepper/CStepper.js +64 -25
- package/dist/esm/components/stepper/CStepper.js.map +1 -1
- package/dist/esm/components/stepper/types.d.ts +1 -1
- package/dist/esm/components/table/CTable.js.map +1 -1
- package/dist/esm/components/table/CTableBody.js.map +1 -1
- package/dist/esm/components/table/CTableCaption.js.map +1 -1
- package/dist/esm/components/table/CTableDataCell.js.map +1 -1
- package/dist/esm/components/table/CTableFoot.js.map +1 -1
- package/dist/esm/components/table/CTableHead.js.map +1 -1
- package/dist/esm/components/table/CTableHeaderCell.js.map +1 -1
- package/dist/esm/components/table/CTableResponsiveWrapper.js.map +1 -1
- package/dist/esm/components/table/CTableRow.js.map +1 -1
- package/dist/esm/components/table/utils.js.map +1 -1
- package/dist/esm/components/tabs/CTab.js.map +1 -1
- package/dist/esm/components/tabs/CTabContent.js.map +1 -1
- package/dist/esm/components/tabs/CTabList.js.map +1 -1
- package/dist/esm/components/tabs/CTabPane.js +5 -1
- package/dist/esm/components/tabs/CTabPane.js.map +1 -1
- package/dist/esm/components/tabs/CTabPanel.js +5 -1
- package/dist/esm/components/tabs/CTabPanel.js.map +1 -1
- package/dist/esm/components/tabs/CTabs.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePicker.js.map +1 -1
- package/dist/esm/components/time-picker/CTimePickerRollCol.js.map +1 -1
- package/dist/esm/components/time-picker/utils.js.map +1 -1
- package/dist/esm/components/toast/CToast.js +5 -1
- package/dist/esm/components/toast/CToast.js.map +1 -1
- package/dist/esm/components/toast/CToastBody.js.map +1 -1
- package/dist/esm/components/toast/CToastClose.js.map +1 -1
- package/dist/esm/components/toast/CToastHeader.js.map +1 -1
- package/dist/esm/components/toast/CToaster.js.map +1 -1
- package/dist/esm/components/tooltip/CTooltip.js.map +1 -1
- package/dist/esm/components/virtual-scroller/CVirtualScroller.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsA.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsB.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsC.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsD.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsE.js.map +1 -1
- package/dist/esm/components/widgets/CWidgetStatsF.js.map +1 -1
- package/dist/esm/hooks/useClipboard.js.map +1 -1
- package/dist/esm/hooks/useColorModes.js.map +1 -1
- package/dist/esm/hooks/useDebounce.js.map +1 -1
- package/dist/esm/hooks/useDebouncedCallback.js.map +1 -1
- package/dist/esm/hooks/useDropdownWithPopper.js.map +1 -1
- package/dist/esm/hooks/useForkedRef.js.map +1 -1
- package/dist/esm/hooks/usePopper.js.map +1 -1
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js +7 -0
- package/dist/esm/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js.map +1 -0
- package/dist/esm/node_modules/react-device-detect/dist/lib.js.map +1 -1
- package/dist/esm/node_modules/react-transition-group/esm/ReplaceTransition.js +139 -0
- package/dist/esm/node_modules/react-transition-group/esm/ReplaceTransition.js.map +1 -0
- package/dist/esm/node_modules/react-transition-group/esm/SwitchTransition.js +258 -0
- package/dist/esm/node_modules/react-transition-group/esm/SwitchTransition.js.map +1 -0
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.js +191 -0
- package/dist/esm/node_modules/react-transition-group/esm/TransitionGroup.js.map +1 -0
- package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.js +144 -0
- package/dist/esm/node_modules/react-transition-group/esm/utils/ChildMapping.js.map +1 -0
- package/dist/esm/node_modules/ua-parser-js/dist/ua-parser.min.js.map +1 -1
- package/dist/esm/props.js.map +1 -1
- package/dist/esm/utils/executeAfterTransition.js.map +1 -1
- package/dist/esm/utils/getNextActiveElement.js.map +1 -1
- package/dist/esm/utils/getTransitionDurationFromElement.js.map +1 -1
- package/dist/esm/utils/isInViewport.js.map +1 -1
- package/dist/esm/utils/isObjectInArray.js.map +1 -1
- package/dist/esm/utils/isRTL.js.map +1 -1
- package/package.json +9 -9
- package/src/components/button/CButton.tsx +3 -2
- package/src/components/calendar/CCalendar.tsx +1 -1
- package/src/components/calendar/utils.ts +5 -1
- package/src/components/date-range-picker/utils.ts +4 -8
- package/src/components/smart-table/CSmartTable.tsx +16 -13
- package/src/components/smart-table/CSmartTableInterface.tsx +6 -0
- package/src/components/stepper/CStepper.tsx +106 -29
- package/src/components/stepper/types.ts +1 -1
- package/dist/cjs/components/accordion/CAccordionCollapse.d.ts +0 -3
- package/dist/cjs/components/smart-table/CSmartTableFilter.d.ts +0 -8
- package/dist/cjs/components/smart-table/CSmartTableItemsPerPageSelector.d.ts +0 -8
- package/dist/esm/components/accordion/CAccordionCollapse.d.ts +0 -3
- package/dist/esm/components/smart-table/CSmartTableFilter.d.ts +0 -8
- package/dist/esm/components/smart-table/CSmartTableItemsPerPageSelector.d.ts +0 -8
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
import _inheritsLoose from '../../@babel/runtime/helpers/esm/inheritsLoose.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import PropTypes from 'prop-types';
|
|
4
|
+
import { ENTERED, ENTERING, EXITING } from './Transition.js';
|
|
5
|
+
import TransitionGroupContext from './TransitionGroupContext.js';
|
|
6
|
+
|
|
7
|
+
var _leaveRenders, _enterRenders;
|
|
8
|
+
|
|
9
|
+
function areChildrenDifferent(oldChildren, newChildren) {
|
|
10
|
+
if (oldChildren === newChildren) return false;
|
|
11
|
+
|
|
12
|
+
if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Enum of modes for SwitchTransition component
|
|
20
|
+
* @enum { string }
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
var modes = {
|
|
25
|
+
out: 'out-in',
|
|
26
|
+
in: 'in-out'
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
var callHook = function callHook(element, name, cb) {
|
|
30
|
+
return function () {
|
|
31
|
+
var _element$props;
|
|
32
|
+
|
|
33
|
+
element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);
|
|
34
|
+
cb();
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
var leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {
|
|
39
|
+
var current = _ref.current,
|
|
40
|
+
changeState = _ref.changeState;
|
|
41
|
+
return React.cloneElement(current, {
|
|
42
|
+
in: false,
|
|
43
|
+
onExited: callHook(current, 'onExited', function () {
|
|
44
|
+
changeState(ENTERING, null);
|
|
45
|
+
})
|
|
46
|
+
});
|
|
47
|
+
}, _leaveRenders[modes.in] = function (_ref2) {
|
|
48
|
+
var current = _ref2.current,
|
|
49
|
+
changeState = _ref2.changeState,
|
|
50
|
+
children = _ref2.children;
|
|
51
|
+
return [current, React.cloneElement(children, {
|
|
52
|
+
in: true,
|
|
53
|
+
onEntered: callHook(children, 'onEntered', function () {
|
|
54
|
+
changeState(ENTERING);
|
|
55
|
+
})
|
|
56
|
+
})];
|
|
57
|
+
}, _leaveRenders);
|
|
58
|
+
var enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {
|
|
59
|
+
var children = _ref3.children,
|
|
60
|
+
changeState = _ref3.changeState;
|
|
61
|
+
return React.cloneElement(children, {
|
|
62
|
+
in: true,
|
|
63
|
+
onEntered: callHook(children, 'onEntered', function () {
|
|
64
|
+
changeState(ENTERED, React.cloneElement(children, {
|
|
65
|
+
in: true
|
|
66
|
+
}));
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
}, _enterRenders[modes.in] = function (_ref4) {
|
|
70
|
+
var current = _ref4.current,
|
|
71
|
+
children = _ref4.children,
|
|
72
|
+
changeState = _ref4.changeState;
|
|
73
|
+
return [React.cloneElement(current, {
|
|
74
|
+
in: false,
|
|
75
|
+
onExited: callHook(current, 'onExited', function () {
|
|
76
|
+
changeState(ENTERED, React.cloneElement(children, {
|
|
77
|
+
in: true
|
|
78
|
+
}));
|
|
79
|
+
})
|
|
80
|
+
}), React.cloneElement(children, {
|
|
81
|
+
in: true
|
|
82
|
+
})];
|
|
83
|
+
}, _enterRenders);
|
|
84
|
+
/**
|
|
85
|
+
* A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).
|
|
86
|
+
* You can use it when you want to control the render between state transitions.
|
|
87
|
+
* Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.
|
|
88
|
+
*
|
|
89
|
+
* If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.
|
|
90
|
+
* If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.
|
|
91
|
+
*
|
|
92
|
+
* **Note**: If you want the animation to happen simultaneously
|
|
93
|
+
* (that is, to have the old child removed and a new child inserted **at the same time**),
|
|
94
|
+
* you should use
|
|
95
|
+
* [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)
|
|
96
|
+
* instead.
|
|
97
|
+
*
|
|
98
|
+
* ```jsx
|
|
99
|
+
* function App() {
|
|
100
|
+
* const [state, setState] = useState(false);
|
|
101
|
+
* return (
|
|
102
|
+
* <SwitchTransition>
|
|
103
|
+
* <CSSTransition
|
|
104
|
+
* key={state ? "Goodbye, world!" : "Hello, world!"}
|
|
105
|
+
* addEndListener={(node, done) => node.addEventListener("transitionend", done, false)}
|
|
106
|
+
* classNames='fade'
|
|
107
|
+
* >
|
|
108
|
+
* <button onClick={() => setState(state => !state)}>
|
|
109
|
+
* {state ? "Goodbye, world!" : "Hello, world!"}
|
|
110
|
+
* </button>
|
|
111
|
+
* </CSSTransition>
|
|
112
|
+
* </SwitchTransition>
|
|
113
|
+
* );
|
|
114
|
+
* }
|
|
115
|
+
* ```
|
|
116
|
+
*
|
|
117
|
+
* ```css
|
|
118
|
+
* .fade-enter{
|
|
119
|
+
* opacity: 0;
|
|
120
|
+
* }
|
|
121
|
+
* .fade-exit{
|
|
122
|
+
* opacity: 1;
|
|
123
|
+
* }
|
|
124
|
+
* .fade-enter-active{
|
|
125
|
+
* opacity: 1;
|
|
126
|
+
* }
|
|
127
|
+
* .fade-exit-active{
|
|
128
|
+
* opacity: 0;
|
|
129
|
+
* }
|
|
130
|
+
* .fade-enter-active,
|
|
131
|
+
* .fade-exit-active{
|
|
132
|
+
* transition: opacity 500ms;
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
*/
|
|
136
|
+
|
|
137
|
+
var SwitchTransition = /*#__PURE__*/function (_React$Component) {
|
|
138
|
+
_inheritsLoose(SwitchTransition, _React$Component);
|
|
139
|
+
|
|
140
|
+
function SwitchTransition() {
|
|
141
|
+
var _this;
|
|
142
|
+
|
|
143
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
144
|
+
args[_key] = arguments[_key];
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
_this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;
|
|
148
|
+
_this.state = {
|
|
149
|
+
status: ENTERED,
|
|
150
|
+
current: null
|
|
151
|
+
};
|
|
152
|
+
_this.appeared = false;
|
|
153
|
+
|
|
154
|
+
_this.changeState = function (status, current) {
|
|
155
|
+
if (current === void 0) {
|
|
156
|
+
current = _this.state.current;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
_this.setState({
|
|
160
|
+
status: status,
|
|
161
|
+
current: current
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
return _this;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
var _proto = SwitchTransition.prototype;
|
|
169
|
+
|
|
170
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
171
|
+
this.appeared = true;
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {
|
|
175
|
+
if (props.children == null) {
|
|
176
|
+
return {
|
|
177
|
+
current: null
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
if (state.status === ENTERING && props.mode === modes.in) {
|
|
182
|
+
return {
|
|
183
|
+
status: ENTERING
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
if (state.current && areChildrenDifferent(state.current, props.children)) {
|
|
188
|
+
return {
|
|
189
|
+
status: EXITING
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
return {
|
|
194
|
+
current: React.cloneElement(props.children, {
|
|
195
|
+
in: true
|
|
196
|
+
})
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
_proto.render = function render() {
|
|
201
|
+
var _this$props = this.props,
|
|
202
|
+
children = _this$props.children,
|
|
203
|
+
mode = _this$props.mode,
|
|
204
|
+
_this$state = this.state,
|
|
205
|
+
status = _this$state.status,
|
|
206
|
+
current = _this$state.current;
|
|
207
|
+
var data = {
|
|
208
|
+
children: children,
|
|
209
|
+
current: current,
|
|
210
|
+
changeState: this.changeState,
|
|
211
|
+
status: status
|
|
212
|
+
};
|
|
213
|
+
var component;
|
|
214
|
+
|
|
215
|
+
switch (status) {
|
|
216
|
+
case ENTERING:
|
|
217
|
+
component = enterRenders[mode](data);
|
|
218
|
+
break;
|
|
219
|
+
|
|
220
|
+
case EXITING:
|
|
221
|
+
component = leaveRenders[mode](data);
|
|
222
|
+
break;
|
|
223
|
+
|
|
224
|
+
case ENTERED:
|
|
225
|
+
component = current;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {
|
|
229
|
+
value: {
|
|
230
|
+
isMounting: !this.appeared
|
|
231
|
+
}
|
|
232
|
+
}, component);
|
|
233
|
+
};
|
|
234
|
+
|
|
235
|
+
return SwitchTransition;
|
|
236
|
+
}(React.Component);
|
|
237
|
+
|
|
238
|
+
SwitchTransition.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
239
|
+
/**
|
|
240
|
+
* Transition modes.
|
|
241
|
+
* `out-in`: Current element transitions out first, then when complete, the new element transitions in.
|
|
242
|
+
* `in-out`: New element transitions in first, then when complete, the current element transitions out.
|
|
243
|
+
*
|
|
244
|
+
* @type {'out-in'|'in-out'}
|
|
245
|
+
*/
|
|
246
|
+
mode: PropTypes.oneOf([modes.in, modes.out]),
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Any `Transition` or `CSSTransition` component.
|
|
250
|
+
*/
|
|
251
|
+
children: PropTypes.oneOfType([PropTypes.element.isRequired])
|
|
252
|
+
} : {};
|
|
253
|
+
SwitchTransition.defaultProps = {
|
|
254
|
+
mode: modes.out
|
|
255
|
+
};
|
|
256
|
+
|
|
257
|
+
export { SwitchTransition as default, modes };
|
|
258
|
+
//# sourceMappingURL=SwitchTransition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SwitchTransition.js","sources":["../../../../../../react-transition-group/esm/SwitchTransition.js"],"sourcesContent":["import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\n\nvar _leaveRenders, _enterRenders;\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { ENTERED, ENTERING, EXITING } from './Transition';\nimport TransitionGroupContext from './TransitionGroupContext';\n\nfunction areChildrenDifferent(oldChildren, newChildren) {\n if (oldChildren === newChildren) return false;\n\n if (React.isValidElement(oldChildren) && React.isValidElement(newChildren) && oldChildren.key != null && oldChildren.key === newChildren.key) {\n return false;\n }\n\n return true;\n}\n/**\n * Enum of modes for SwitchTransition component\n * @enum { string }\n */\n\n\nexport var modes = {\n out: 'out-in',\n in: 'in-out'\n};\n\nvar callHook = function callHook(element, name, cb) {\n return function () {\n var _element$props;\n\n element.props[name] && (_element$props = element.props)[name].apply(_element$props, arguments);\n cb();\n };\n};\n\nvar leaveRenders = (_leaveRenders = {}, _leaveRenders[modes.out] = function (_ref) {\n var current = _ref.current,\n changeState = _ref.changeState;\n return React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERING, null);\n })\n });\n}, _leaveRenders[modes.in] = function (_ref2) {\n var current = _ref2.current,\n changeState = _ref2.changeState,\n children = _ref2.children;\n return [current, React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERING);\n })\n })];\n}, _leaveRenders);\nvar enterRenders = (_enterRenders = {}, _enterRenders[modes.out] = function (_ref3) {\n var children = _ref3.children,\n changeState = _ref3.changeState;\n return React.cloneElement(children, {\n in: true,\n onEntered: callHook(children, 'onEntered', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n });\n}, _enterRenders[modes.in] = function (_ref4) {\n var current = _ref4.current,\n children = _ref4.children,\n changeState = _ref4.changeState;\n return [React.cloneElement(current, {\n in: false,\n onExited: callHook(current, 'onExited', function () {\n changeState(ENTERED, React.cloneElement(children, {\n in: true\n }));\n })\n }), React.cloneElement(children, {\n in: true\n })];\n}, _enterRenders);\n/**\n * A transition component inspired by the [vue transition modes](https://vuejs.org/v2/guide/transitions.html#Transition-Modes).\n * You can use it when you want to control the render between state transitions.\n * Based on the selected mode and the child's key which is the `Transition` or `CSSTransition` component, the `SwitchTransition` makes a consistent transition between them.\n *\n * If the `out-in` mode is selected, the `SwitchTransition` waits until the old child leaves and then inserts a new child.\n * If the `in-out` mode is selected, the `SwitchTransition` inserts a new child first, waits for the new child to enter and then removes the old child.\n *\n * **Note**: If you want the animation to happen simultaneously\n * (that is, to have the old child removed and a new child inserted **at the same time**),\n * you should use\n * [`TransitionGroup`](https://reactcommunity.org/react-transition-group/transition-group)\n * instead.\n *\n * ```jsx\n * function App() {\n * const [state, setState] = useState(false);\n * return (\n * <SwitchTransition>\n * <CSSTransition\n * key={state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * addEndListener={(node, done) => node.addEventListener(\"transitionend\", done, false)}\n * classNames='fade'\n * >\n * <button onClick={() => setState(state => !state)}>\n * {state ? \"Goodbye, world!\" : \"Hello, world!\"}\n * </button>\n * </CSSTransition>\n * </SwitchTransition>\n * );\n * }\n * ```\n *\n * ```css\n * .fade-enter{\n * opacity: 0;\n * }\n * .fade-exit{\n * opacity: 1;\n * }\n * .fade-enter-active{\n * opacity: 1;\n * }\n * .fade-exit-active{\n * opacity: 0;\n * }\n * .fade-enter-active,\n * .fade-exit-active{\n * transition: opacity 500ms;\n * }\n * ```\n */\n\nvar SwitchTransition = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(SwitchTransition, _React$Component);\n\n function SwitchTransition() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.state = {\n status: ENTERED,\n current: null\n };\n _this.appeared = false;\n\n _this.changeState = function (status, current) {\n if (current === void 0) {\n current = _this.state.current;\n }\n\n _this.setState({\n status: status,\n current: current\n });\n };\n\n return _this;\n }\n\n var _proto = SwitchTransition.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.appeared = true;\n };\n\n SwitchTransition.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (props.children == null) {\n return {\n current: null\n };\n }\n\n if (state.status === ENTERING && props.mode === modes.in) {\n return {\n status: ENTERING\n };\n }\n\n if (state.current && areChildrenDifferent(state.current, props.children)) {\n return {\n status: EXITING\n };\n }\n\n return {\n current: React.cloneElement(props.children, {\n in: true\n })\n };\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n children = _this$props.children,\n mode = _this$props.mode,\n _this$state = this.state,\n status = _this$state.status,\n current = _this$state.current;\n var data = {\n children: children,\n current: current,\n changeState: this.changeState,\n status: status\n };\n var component;\n\n switch (status) {\n case ENTERING:\n component = enterRenders[mode](data);\n break;\n\n case EXITING:\n component = leaveRenders[mode](data);\n break;\n\n case ENTERED:\n component = current;\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: {\n isMounting: !this.appeared\n }\n }, component);\n };\n\n return SwitchTransition;\n}(React.Component);\n\nSwitchTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * Transition modes.\n * `out-in`: Current element transitions out first, then when complete, the new element transitions in.\n * `in-out`: New element transitions in first, then when complete, the current element transitions out.\n *\n * @type {'out-in'|'in-out'}\n */\n mode: PropTypes.oneOf([modes.in, modes.out]),\n\n /**\n * Any `Transition` or `CSSTransition` component.\n */\n children: PropTypes.oneOfType([PropTypes.element.isRequired])\n} : {};\nSwitchTransition.defaultProps = {\n mode: modes.out\n};\nexport default SwitchTransition;"],"names":[],"mappings":";;;;;;AAEA,IAAI,aAAa,EAAE,aAAa;;AAOhC,SAAS,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE;AACxD,EAAE,IAAI,WAAW,KAAK,WAAW,EAAE,OAAO,KAAK;;AAE/C,EAAE,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC,GAAG,IAAI,IAAI,IAAI,WAAW,CAAC,GAAG,KAAK,WAAW,CAAC,GAAG,EAAE;AAChJ,IAAI,OAAO,KAAK;AAChB;;AAEA,EAAE,OAAO,IAAI;AACb;AACA;AACA;AACA;AACA;;;AAGU,IAAC,KAAK,GAAG;AACnB,EAAE,GAAG,EAAE,QAAQ;AACf,EAAE,EAAE,EAAE;AACN;;AAEA,IAAI,QAAQ,GAAG,SAAS,QAAQ,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE;AACpD,EAAE,OAAO,YAAY;AACrB,IAAI,IAAI,cAAc;;AAEtB,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,SAAS,CAAC;AAClG,IAAI,EAAE,EAAE;AACR,GAAG;AACH,CAAC;;AAED,IAAI,YAAY,IAAI,aAAa,GAAG,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,IAAI,EAAE;AACnF,EAAE,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO;AAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;AACpC,EAAE,OAAO,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AACrC,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY;AACxD,MAAM,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC;AACjC,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,KAAK,EAAE;AAC9C,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;AACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,EAAE,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AAChD,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY;AAC3D,MAAM,WAAW,CAAC,QAAQ,CAAC;AAC3B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,CAAC,EAAE,aAAa,CAAC;AACjB,IAAI,YAAY,IAAI,aAAa,GAAG,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,KAAK,EAAE;AACpF,EAAE,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;AACrC,EAAE,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AACtC,IAAI,EAAE,EAAE,IAAI;AACZ,IAAI,SAAS,EAAE,QAAQ,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY;AAC3D,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AACxD,QAAQ,EAAE,EAAE;AACZ,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,CAAC;AACJ,CAAC,EAAE,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,UAAU,KAAK,EAAE;AAC9C,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;AAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ;AAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW;AACrC,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;AACtC,IAAI,EAAE,EAAE,KAAK;AACb,IAAI,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,YAAY;AACxD,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AACxD,QAAQ,EAAE,EAAE;AACZ,OAAO,CAAC,CAAC;AACT,KAAK;AACL,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AACnC,IAAI,EAAE,EAAE;AACR,GAAG,CAAC,CAAC;AACL,CAAC,EAAE,aAAa,CAAC;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEG,IAAC,gBAAgB,gBAAgB,UAAU,gBAAgB,EAAE;AAChE,EAAE,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;;AAEpD,EAAE,SAAS,gBAAgB,GAAG;AAC9B,IAAI,IAAI,KAAK;;AAEb,IAAI,KAAK,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,EAAE,EAAE;AAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC;AAClC;;AAEA,IAAI,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI;AACtF,IAAI,KAAK,CAAC,KAAK,GAAG;AAClB,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,OAAO,EAAE;AACf,KAAK;AACL,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK;;AAE1B,IAAI,KAAK,CAAC,WAAW,GAAG,UAAU,MAAM,EAAE,OAAO,EAAE;AACnD,MAAM,IAAI,OAAO,KAAK,MAAM,EAAE;AAC9B,QAAQ,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO;AACrC;;AAEA,MAAM,KAAK,CAAC,QAAQ,CAAC;AACrB,QAAQ,MAAM,EAAE,MAAM;AACtB,QAAQ,OAAO,EAAE;AACjB,OAAO,CAAC;AACR,KAAK;;AAEL,IAAI,OAAO,KAAK;AAChB;;AAEA,EAAE,IAAI,MAAM,GAAG,gBAAgB,CAAC,SAAS;;AAEzC,EAAE,MAAM,CAAC,iBAAiB,GAAG,SAAS,iBAAiB,GAAG;AAC1D,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI;AACxB,GAAG;;AAEH,EAAE,gBAAgB,CAAC,wBAAwB,GAAG,SAAS,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE;AAC9F,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,EAAE;AAChC,MAAM,OAAO;AACb,QAAQ,OAAO,EAAE;AACjB,OAAO;AACP;;AAEA,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,EAAE;AAC9D,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE;AAChB,OAAO;AACP;;AAEA,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,oBAAoB,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC9E,MAAM,OAAO;AACb,QAAQ,MAAM,EAAE;AAChB,OAAO;AACP;;AAEA,IAAI,OAAO;AACX,MAAM,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE;AAClD,QAAQ,EAAE,EAAE;AACZ,OAAO;AACP,KAAK;AACL,GAAG;;AAEH,EAAE,MAAM,CAAC,MAAM,GAAG,SAAS,MAAM,GAAG;AACpC,IAAI,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK;AAChC,QAAQ,QAAQ,GAAG,WAAW,CAAC,QAAQ;AACvC,QAAQ,IAAI,GAAG,WAAW,CAAC,IAAI;AAC/B,QAAQ,WAAW,GAAG,IAAI,CAAC,KAAK;AAChC,QAAQ,MAAM,GAAG,WAAW,CAAC,MAAM;AACnC,QAAQ,OAAO,GAAG,WAAW,CAAC,OAAO;AACrC,IAAI,IAAI,IAAI,GAAG;AACf,MAAM,QAAQ,EAAE,QAAQ;AACxB,MAAM,OAAO,EAAE,OAAO;AACtB,MAAM,WAAW,EAAE,IAAI,CAAC,WAAW;AACnC,MAAM,MAAM,EAAE;AACd,KAAK;AACL,IAAI,IAAI,SAAS;;AAEjB,IAAI,QAAQ,MAAM;AAClB,MAAM,KAAK,QAAQ;AACnB,QAAQ,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC5C,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAC5C,QAAQ;;AAER,MAAM,KAAK,OAAO;AAClB,QAAQ,SAAS,GAAG,OAAO;AAC3B;;AAEA,IAAI,oBAAoB,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,QAAQ,EAAE;AAC7E,MAAM,KAAK,EAAE;AACb,QAAQ,UAAU,EAAE,CAAC,IAAI,CAAC;AAC1B;AACA,KAAK,EAAE,SAAS,CAAC;AACjB,GAAG;;AAEH,EAAE,OAAO,gBAAgB;AACzB,CAAC,CAAC,KAAK,CAAC,SAAS;;AAEjB,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,GAAG;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;;AAE9C;AACA;AACA;AACA,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC;AAC9D,CAAC,GAAG,EAAE;AACN,gBAAgB,CAAC,YAAY,GAAG;AAChC,EAAE,IAAI,EAAE,KAAK,CAAC;AACd,CAAC;;;;","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import _objectWithoutPropertiesLoose from '../../@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js';
|
|
2
|
+
import _extends from '../../@babel/runtime/helpers/esm/extends.js';
|
|
3
|
+
import _assertThisInitialized from '../../@babel/runtime/helpers/esm/assertThisInitialized.js';
|
|
4
|
+
import _inheritsLoose from '../../@babel/runtime/helpers/esm/inheritsLoose.js';
|
|
5
|
+
import PropTypes from 'prop-types';
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import TransitionGroupContext from './TransitionGroupContext.js';
|
|
8
|
+
import { getInitialChildMapping, getNextChildMapping, getChildMapping } from './utils/ChildMapping.js';
|
|
9
|
+
|
|
10
|
+
var values = Object.values || function (obj) {
|
|
11
|
+
return Object.keys(obj).map(function (k) {
|
|
12
|
+
return obj[k];
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
var defaultProps = {
|
|
17
|
+
component: 'div',
|
|
18
|
+
childFactory: function childFactory(child) {
|
|
19
|
+
return child;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* The `<TransitionGroup>` component manages a set of transition components
|
|
24
|
+
* (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition
|
|
25
|
+
* components, `<TransitionGroup>` is a state machine for managing the mounting
|
|
26
|
+
* and unmounting of components over time.
|
|
27
|
+
*
|
|
28
|
+
* Consider the example below. As items are removed or added to the TodoList the
|
|
29
|
+
* `in` prop is toggled automatically by the `<TransitionGroup>`.
|
|
30
|
+
*
|
|
31
|
+
* Note that `<TransitionGroup>` does not define any animation behavior!
|
|
32
|
+
* Exactly _how_ a list item animates is up to the individual transition
|
|
33
|
+
* component. This means you can mix and match animations across different list
|
|
34
|
+
* items.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
var TransitionGroup = /*#__PURE__*/function (_React$Component) {
|
|
38
|
+
_inheritsLoose(TransitionGroup, _React$Component);
|
|
39
|
+
|
|
40
|
+
function TransitionGroup(props, context) {
|
|
41
|
+
var _this;
|
|
42
|
+
|
|
43
|
+
_this = _React$Component.call(this, props, context) || this;
|
|
44
|
+
|
|
45
|
+
var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
_this.state = {
|
|
49
|
+
contextValue: {
|
|
50
|
+
isMounting: true
|
|
51
|
+
},
|
|
52
|
+
handleExited: handleExited,
|
|
53
|
+
firstRender: true
|
|
54
|
+
};
|
|
55
|
+
return _this;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
var _proto = TransitionGroup.prototype;
|
|
59
|
+
|
|
60
|
+
_proto.componentDidMount = function componentDidMount() {
|
|
61
|
+
this.mounted = true;
|
|
62
|
+
this.setState({
|
|
63
|
+
contextValue: {
|
|
64
|
+
isMounting: false
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
_proto.componentWillUnmount = function componentWillUnmount() {
|
|
70
|
+
this.mounted = false;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {
|
|
74
|
+
var prevChildMapping = _ref.children,
|
|
75
|
+
handleExited = _ref.handleExited,
|
|
76
|
+
firstRender = _ref.firstRender;
|
|
77
|
+
return {
|
|
78
|
+
children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),
|
|
79
|
+
firstRender: false
|
|
80
|
+
};
|
|
81
|
+
} // node is `undefined` when user provided `nodeRef` prop
|
|
82
|
+
;
|
|
83
|
+
|
|
84
|
+
_proto.handleExited = function handleExited(child, node) {
|
|
85
|
+
var currentChildMapping = getChildMapping(this.props.children);
|
|
86
|
+
if (child.key in currentChildMapping) return;
|
|
87
|
+
|
|
88
|
+
if (child.props.onExited) {
|
|
89
|
+
child.props.onExited(node);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (this.mounted) {
|
|
93
|
+
this.setState(function (state) {
|
|
94
|
+
var children = _extends({}, state.children);
|
|
95
|
+
|
|
96
|
+
delete children[child.key];
|
|
97
|
+
return {
|
|
98
|
+
children: children
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
_proto.render = function render() {
|
|
105
|
+
var _this$props = this.props,
|
|
106
|
+
Component = _this$props.component,
|
|
107
|
+
childFactory = _this$props.childFactory,
|
|
108
|
+
props = _objectWithoutPropertiesLoose(_this$props, ["component", "childFactory"]);
|
|
109
|
+
|
|
110
|
+
var contextValue = this.state.contextValue;
|
|
111
|
+
var children = values(this.state.children).map(childFactory);
|
|
112
|
+
delete props.appear;
|
|
113
|
+
delete props.enter;
|
|
114
|
+
delete props.exit;
|
|
115
|
+
|
|
116
|
+
if (Component === null) {
|
|
117
|
+
return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {
|
|
118
|
+
value: contextValue
|
|
119
|
+
}, children);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {
|
|
123
|
+
value: contextValue
|
|
124
|
+
}, /*#__PURE__*/React.createElement(Component, props, children));
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
return TransitionGroup;
|
|
128
|
+
}(React.Component);
|
|
129
|
+
|
|
130
|
+
TransitionGroup.propTypes = process.env.NODE_ENV !== "production" ? {
|
|
131
|
+
/**
|
|
132
|
+
* `<TransitionGroup>` renders a `<div>` by default. You can change this
|
|
133
|
+
* behavior by providing a `component` prop.
|
|
134
|
+
* If you use React v16+ and would like to avoid a wrapping `<div>` element
|
|
135
|
+
* you can pass in `component={null}`. This is useful if the wrapping div
|
|
136
|
+
* borks your css styles.
|
|
137
|
+
*/
|
|
138
|
+
component: PropTypes.any,
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* A set of `<Transition>` components, that are toggled `in` and out as they
|
|
142
|
+
* leave. the `<TransitionGroup>` will inject specific transition props, so
|
|
143
|
+
* remember to spread them through if you are wrapping the `<Transition>` as
|
|
144
|
+
* with our `<Fade>` example.
|
|
145
|
+
*
|
|
146
|
+
* While this component is meant for multiple `Transition` or `CSSTransition`
|
|
147
|
+
* children, sometimes you may want to have a single transition child with
|
|
148
|
+
* content that you want to be transitioned out and in when you change it
|
|
149
|
+
* (e.g. routes, images etc.) In that case you can change the `key` prop of
|
|
150
|
+
* the transition child as you change its content, this will cause
|
|
151
|
+
* `TransitionGroup` to transition the child out and back in.
|
|
152
|
+
*/
|
|
153
|
+
children: PropTypes.node,
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* A convenience prop that enables or disables appear animations
|
|
157
|
+
* for all children. Note that specifying this will override any defaults set
|
|
158
|
+
* on individual children Transitions.
|
|
159
|
+
*/
|
|
160
|
+
appear: PropTypes.bool,
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* A convenience prop that enables or disables enter animations
|
|
164
|
+
* for all children. Note that specifying this will override any defaults set
|
|
165
|
+
* on individual children Transitions.
|
|
166
|
+
*/
|
|
167
|
+
enter: PropTypes.bool,
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* A convenience prop that enables or disables exit animations
|
|
171
|
+
* for all children. Note that specifying this will override any defaults set
|
|
172
|
+
* on individual children Transitions.
|
|
173
|
+
*/
|
|
174
|
+
exit: PropTypes.bool,
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* You may need to apply reactive updates to a child as it is exiting.
|
|
178
|
+
* This is generally done by using `cloneElement` however in the case of an exiting
|
|
179
|
+
* child the element has already been removed and not accessible to the consumer.
|
|
180
|
+
*
|
|
181
|
+
* If you do need to update a child as it leaves you can provide a `childFactory`
|
|
182
|
+
* to wrap every child, even the ones that are leaving.
|
|
183
|
+
*
|
|
184
|
+
* @type Function(child: ReactElement) -> ReactElement
|
|
185
|
+
*/
|
|
186
|
+
childFactory: PropTypes.func
|
|
187
|
+
} : {};
|
|
188
|
+
TransitionGroup.defaultProps = defaultProps;
|
|
189
|
+
|
|
190
|
+
export { TransitionGroup as default };
|
|
191
|
+
//# sourceMappingURL=TransitionGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransitionGroup.js","sources":["../../../../../../react-transition-group/esm/TransitionGroup.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport TransitionGroupContext from './TransitionGroupContext';\nimport { getChildMapping, getInitialChildMapping, getNextChildMapping } from './utils/ChildMapping';\n\nvar values = Object.values || function (obj) {\n return Object.keys(obj).map(function (k) {\n return obj[k];\n });\n};\n\nvar defaultProps = {\n component: 'div',\n childFactory: function childFactory(child) {\n return child;\n }\n};\n/**\n * The `<TransitionGroup>` component manages a set of transition components\n * (`<Transition>` and `<CSSTransition>`) in a list. Like with the transition\n * components, `<TransitionGroup>` is a state machine for managing the mounting\n * and unmounting of components over time.\n *\n * Consider the example below. As items are removed or added to the TodoList the\n * `in` prop is toggled automatically by the `<TransitionGroup>`.\n *\n * Note that `<TransitionGroup>` does not define any animation behavior!\n * Exactly _how_ a list item animates is up to the individual transition\n * component. This means you can mix and match animations across different list\n * items.\n */\n\nvar TransitionGroup = /*#__PURE__*/function (_React$Component) {\n _inheritsLoose(TransitionGroup, _React$Component);\n\n function TransitionGroup(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n\n var handleExited = _this.handleExited.bind(_assertThisInitialized(_this)); // Initial children should all be entering, dependent on appear\n\n\n _this.state = {\n contextValue: {\n isMounting: true\n },\n handleExited: handleExited,\n firstRender: true\n };\n return _this;\n }\n\n var _proto = TransitionGroup.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n this.setState({\n contextValue: {\n isMounting: false\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n TransitionGroup.getDerivedStateFromProps = function getDerivedStateFromProps(nextProps, _ref) {\n var prevChildMapping = _ref.children,\n handleExited = _ref.handleExited,\n firstRender = _ref.firstRender;\n return {\n children: firstRender ? getInitialChildMapping(nextProps, handleExited) : getNextChildMapping(nextProps, prevChildMapping, handleExited),\n firstRender: false\n };\n } // node is `undefined` when user provided `nodeRef` prop\n ;\n\n _proto.handleExited = function handleExited(child, node) {\n var currentChildMapping = getChildMapping(this.props.children);\n if (child.key in currentChildMapping) return;\n\n if (child.props.onExited) {\n child.props.onExited(node);\n }\n\n if (this.mounted) {\n this.setState(function (state) {\n var children = _extends({}, state.children);\n\n delete children[child.key];\n return {\n children: children\n };\n });\n }\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.component,\n childFactory = _this$props.childFactory,\n props = _objectWithoutPropertiesLoose(_this$props, [\"component\", \"childFactory\"]);\n\n var contextValue = this.state.contextValue;\n var children = values(this.state.children).map(childFactory);\n delete props.appear;\n delete props.enter;\n delete props.exit;\n\n if (Component === null) {\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(TransitionGroupContext.Provider, {\n value: contextValue\n }, /*#__PURE__*/React.createElement(Component, props, children));\n };\n\n return TransitionGroup;\n}(React.Component);\n\nTransitionGroup.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * `<TransitionGroup>` renders a `<div>` by default. You can change this\n * behavior by providing a `component` prop.\n * If you use React v16+ and would like to avoid a wrapping `<div>` element\n * you can pass in `component={null}`. This is useful if the wrapping div\n * borks your css styles.\n */\n component: PropTypes.any,\n\n /**\n * A set of `<Transition>` components, that are toggled `in` and out as they\n * leave. the `<TransitionGroup>` will inject specific transition props, so\n * remember to spread them through if you are wrapping the `<Transition>` as\n * with our `<Fade>` example.\n *\n * While this component is meant for multiple `Transition` or `CSSTransition`\n * children, sometimes you may want to have a single transition child with\n * content that you want to be transitioned out and in when you change it\n * (e.g. routes, images etc.) In that case you can change the `key` prop of\n * the transition child as you change its content, this will cause\n * `TransitionGroup` to transition the child out and back in.\n */\n children: PropTypes.node,\n\n /**\n * A convenience prop that enables or disables appear animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n appear: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables enter animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * A convenience prop that enables or disables exit animations\n * for all children. Note that specifying this will override any defaults set\n * on individual children Transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * You may need to apply reactive updates to a child as it is exiting.\n * This is generally done by using `cloneElement` however in the case of an exiting\n * child the element has already been removed and not accessible to the consumer.\n *\n * If you do need to update a child as it leaves you can provide a `childFactory`\n * to wrap every child, even the ones that are leaving.\n *\n * @type Function(child: ReactElement) -> ReactElement\n */\n childFactory: PropTypes.func\n} : {};\nTransitionGroup.defaultProps = defaultProps;\nexport default TransitionGroup;"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { isValidElement, cloneElement, Children } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Given `this.props.children`, return an object mapping key to child.
|
|
5
|
+
*
|
|
6
|
+
* @param {*} children `this.props.children`
|
|
7
|
+
* @return {object} Mapping of key to child
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
function getChildMapping(children, mapFn) {
|
|
11
|
+
var mapper = function mapper(child) {
|
|
12
|
+
return mapFn && isValidElement(child) ? mapFn(child) : child;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
var result = Object.create(null);
|
|
16
|
+
if (children) Children.map(children, function (c) {
|
|
17
|
+
return c;
|
|
18
|
+
}).forEach(function (child) {
|
|
19
|
+
// run the map function here instead so that the key is the computed one
|
|
20
|
+
result[child.key] = mapper(child);
|
|
21
|
+
});
|
|
22
|
+
return result;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* When you're adding or removing children some may be added or removed in the
|
|
26
|
+
* same render pass. We want to show *both* since we want to simultaneously
|
|
27
|
+
* animate elements in and out. This function takes a previous set of keys
|
|
28
|
+
* and a new set of keys and merges them with its best guess of the correct
|
|
29
|
+
* ordering. In the future we may expose some of the utilities in
|
|
30
|
+
* ReactMultiChild to make this easy, but for now React itself does not
|
|
31
|
+
* directly have this concept of the union of prevChildren and nextChildren
|
|
32
|
+
* so we implement it here.
|
|
33
|
+
*
|
|
34
|
+
* @param {object} prev prev children as returned from
|
|
35
|
+
* `ReactTransitionChildMapping.getChildMapping()`.
|
|
36
|
+
* @param {object} next next children as returned from
|
|
37
|
+
* `ReactTransitionChildMapping.getChildMapping()`.
|
|
38
|
+
* @return {object} a key set that contains all keys in `prev` and all keys
|
|
39
|
+
* in `next` in a reasonable order.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
function mergeChildMappings(prev, next) {
|
|
43
|
+
prev = prev || {};
|
|
44
|
+
next = next || {};
|
|
45
|
+
|
|
46
|
+
function getValueForKey(key) {
|
|
47
|
+
return key in next ? next[key] : prev[key];
|
|
48
|
+
} // For each key of `next`, the list of keys to insert before that key in
|
|
49
|
+
// the combined list
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
var nextKeysPending = Object.create(null);
|
|
53
|
+
var pendingKeys = [];
|
|
54
|
+
|
|
55
|
+
for (var prevKey in prev) {
|
|
56
|
+
if (prevKey in next) {
|
|
57
|
+
if (pendingKeys.length) {
|
|
58
|
+
nextKeysPending[prevKey] = pendingKeys;
|
|
59
|
+
pendingKeys = [];
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
pendingKeys.push(prevKey);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
var i;
|
|
67
|
+
var childMapping = {};
|
|
68
|
+
|
|
69
|
+
for (var nextKey in next) {
|
|
70
|
+
if (nextKeysPending[nextKey]) {
|
|
71
|
+
for (i = 0; i < nextKeysPending[nextKey].length; i++) {
|
|
72
|
+
var pendingNextKey = nextKeysPending[nextKey][i];
|
|
73
|
+
childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
childMapping[nextKey] = getValueForKey(nextKey);
|
|
78
|
+
} // Finally, add the keys which didn't appear before any key in `next`
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
for (i = 0; i < pendingKeys.length; i++) {
|
|
82
|
+
childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
return childMapping;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
function getProp(child, prop, props) {
|
|
89
|
+
return props[prop] != null ? props[prop] : child.props[prop];
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
function getInitialChildMapping(props, onExited) {
|
|
93
|
+
return getChildMapping(props.children, function (child) {
|
|
94
|
+
return cloneElement(child, {
|
|
95
|
+
onExited: onExited.bind(null, child),
|
|
96
|
+
in: true,
|
|
97
|
+
appear: getProp(child, 'appear', props),
|
|
98
|
+
enter: getProp(child, 'enter', props),
|
|
99
|
+
exit: getProp(child, 'exit', props)
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
function getNextChildMapping(nextProps, prevChildMapping, onExited) {
|
|
104
|
+
var nextChildMapping = getChildMapping(nextProps.children);
|
|
105
|
+
var children = mergeChildMappings(prevChildMapping, nextChildMapping);
|
|
106
|
+
Object.keys(children).forEach(function (key) {
|
|
107
|
+
var child = children[key];
|
|
108
|
+
if (!isValidElement(child)) return;
|
|
109
|
+
var hasPrev = (key in prevChildMapping);
|
|
110
|
+
var hasNext = (key in nextChildMapping);
|
|
111
|
+
var prevChild = prevChildMapping[key];
|
|
112
|
+
var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)
|
|
113
|
+
|
|
114
|
+
if (hasNext && (!hasPrev || isLeaving)) {
|
|
115
|
+
// console.log('entering', key)
|
|
116
|
+
children[key] = cloneElement(child, {
|
|
117
|
+
onExited: onExited.bind(null, child),
|
|
118
|
+
in: true,
|
|
119
|
+
exit: getProp(child, 'exit', nextProps),
|
|
120
|
+
enter: getProp(child, 'enter', nextProps)
|
|
121
|
+
});
|
|
122
|
+
} else if (!hasNext && hasPrev && !isLeaving) {
|
|
123
|
+
// item is old (exiting)
|
|
124
|
+
// console.log('leaving', key)
|
|
125
|
+
children[key] = cloneElement(child, {
|
|
126
|
+
in: false
|
|
127
|
+
});
|
|
128
|
+
} else if (hasNext && hasPrev && isValidElement(prevChild)) {
|
|
129
|
+
// item hasn't changed transition states
|
|
130
|
+
// copy over the last transition props;
|
|
131
|
+
// console.log('unchanged', key)
|
|
132
|
+
children[key] = cloneElement(child, {
|
|
133
|
+
onExited: onExited.bind(null, child),
|
|
134
|
+
in: prevChild.props.in,
|
|
135
|
+
exit: getProp(child, 'exit', nextProps),
|
|
136
|
+
enter: getProp(child, 'enter', nextProps)
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
return children;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
export { getChildMapping, getInitialChildMapping, getNextChildMapping, mergeChildMappings };
|
|
144
|
+
//# sourceMappingURL=ChildMapping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChildMapping.js","sources":["../../../../../../../react-transition-group/esm/utils/ChildMapping.js"],"sourcesContent":["import { Children, cloneElement, isValidElement } from 'react';\n/**\n * Given `this.props.children`, return an object mapping key to child.\n *\n * @param {*} children `this.props.children`\n * @return {object} Mapping of key to child\n */\n\nexport function getChildMapping(children, mapFn) {\n var mapper = function mapper(child) {\n return mapFn && isValidElement(child) ? mapFn(child) : child;\n };\n\n var result = Object.create(null);\n if (children) Children.map(children, function (c) {\n return c;\n }).forEach(function (child) {\n // run the map function here instead so that the key is the computed one\n result[child.key] = mapper(child);\n });\n return result;\n}\n/**\n * When you're adding or removing children some may be added or removed in the\n * same render pass. We want to show *both* since we want to simultaneously\n * animate elements in and out. This function takes a previous set of keys\n * and a new set of keys and merges them with its best guess of the correct\n * ordering. In the future we may expose some of the utilities in\n * ReactMultiChild to make this easy, but for now React itself does not\n * directly have this concept of the union of prevChildren and nextChildren\n * so we implement it here.\n *\n * @param {object} prev prev children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @param {object} next next children as returned from\n * `ReactTransitionChildMapping.getChildMapping()`.\n * @return {object} a key set that contains all keys in `prev` and all keys\n * in `next` in a reasonable order.\n */\n\nexport function mergeChildMappings(prev, next) {\n prev = prev || {};\n next = next || {};\n\n function getValueForKey(key) {\n return key in next ? next[key] : prev[key];\n } // For each key of `next`, the list of keys to insert before that key in\n // the combined list\n\n\n var nextKeysPending = Object.create(null);\n var pendingKeys = [];\n\n for (var prevKey in prev) {\n if (prevKey in next) {\n if (pendingKeys.length) {\n nextKeysPending[prevKey] = pendingKeys;\n pendingKeys = [];\n }\n } else {\n pendingKeys.push(prevKey);\n }\n }\n\n var i;\n var childMapping = {};\n\n for (var nextKey in next) {\n if (nextKeysPending[nextKey]) {\n for (i = 0; i < nextKeysPending[nextKey].length; i++) {\n var pendingNextKey = nextKeysPending[nextKey][i];\n childMapping[nextKeysPending[nextKey][i]] = getValueForKey(pendingNextKey);\n }\n }\n\n childMapping[nextKey] = getValueForKey(nextKey);\n } // Finally, add the keys which didn't appear before any key in `next`\n\n\n for (i = 0; i < pendingKeys.length; i++) {\n childMapping[pendingKeys[i]] = getValueForKey(pendingKeys[i]);\n }\n\n return childMapping;\n}\n\nfunction getProp(child, prop, props) {\n return props[prop] != null ? props[prop] : child.props[prop];\n}\n\nexport function getInitialChildMapping(props, onExited) {\n return getChildMapping(props.children, function (child) {\n return cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n appear: getProp(child, 'appear', props),\n enter: getProp(child, 'enter', props),\n exit: getProp(child, 'exit', props)\n });\n });\n}\nexport function getNextChildMapping(nextProps, prevChildMapping, onExited) {\n var nextChildMapping = getChildMapping(nextProps.children);\n var children = mergeChildMappings(prevChildMapping, nextChildMapping);\n Object.keys(children).forEach(function (key) {\n var child = children[key];\n if (!isValidElement(child)) return;\n var hasPrev = (key in prevChildMapping);\n var hasNext = (key in nextChildMapping);\n var prevChild = prevChildMapping[key];\n var isLeaving = isValidElement(prevChild) && !prevChild.props.in; // item is new (entering)\n\n if (hasNext && (!hasPrev || isLeaving)) {\n // console.log('entering', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: true,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n } else if (!hasNext && hasPrev && !isLeaving) {\n // item is old (exiting)\n // console.log('leaving', key)\n children[key] = cloneElement(child, {\n in: false\n });\n } else if (hasNext && hasPrev && isValidElement(prevChild)) {\n // item hasn't changed transition states\n // copy over the last transition props;\n // console.log('unchanged', key)\n children[key] = cloneElement(child, {\n onExited: onExited.bind(null, child),\n in: prevChild.props.in,\n exit: getProp(child, 'exit', nextProps),\n enter: getProp(child, 'enter', nextProps)\n });\n }\n });\n return children;\n}"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAAS,eAAe,CAAC,QAAQ,EAAE,KAAK,EAAE;AACjD,EAAE,IAAI,MAAM,GAAG,SAAS,MAAM,CAAC,KAAK,EAAE;AACtC,IAAI,OAAO,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK;AAChE,GAAG;;AAEH,EAAE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAClC,EAAE,IAAI,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE;AACpD,IAAI,OAAO,CAAC;AACZ,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE;AAC9B;AACA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;AACrC,GAAG,CAAC;AACJ,EAAE,OAAO,MAAM;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,SAAS,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE;AAC/C,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE;AACnB,EAAE,IAAI,GAAG,IAAI,IAAI,EAAE;;AAEnB,EAAE,SAAS,cAAc,CAAC,GAAG,EAAE;AAC/B,IAAI,OAAO,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;AAC9C,GAAG;AACH;;;AAGA,EAAE,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3C,EAAE,IAAI,WAAW,GAAG,EAAE;;AAEtB,EAAE,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE;AAC5B,IAAI,IAAI,OAAO,IAAI,IAAI,EAAE;AACzB,MAAM,IAAI,WAAW,CAAC,MAAM,EAAE;AAC9B,QAAQ,eAAe,CAAC,OAAO,CAAC,GAAG,WAAW;AAC9C,QAAQ,WAAW,GAAG,EAAE;AACxB;AACA,KAAK,MAAM;AACX,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AAC/B;AACA;;AAEA,EAAE,IAAI,CAAC;AACP,EAAE,IAAI,YAAY,GAAG,EAAE;;AAEvB,EAAE,KAAK,IAAI,OAAO,IAAI,IAAI,EAAE;AAC5B,IAAI,IAAI,eAAe,CAAC,OAAO,CAAC,EAAE;AAClC,MAAM,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,QAAQ,IAAI,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACxD,QAAQ,YAAY,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,cAAc,CAAC;AAClF;AACA;;AAEA,IAAI,YAAY,CAAC,OAAO,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC;AACnD,GAAG;;;AAGH,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC3C,IAAI,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AACjE;;AAEA,EAAE,OAAO,YAAY;AACrB;;AAEA,SAAS,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE;AACrC,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;AAC9D;;AAEO,SAAS,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE;AACxD,EAAE,OAAO,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,UAAU,KAAK,EAAE;AAC1D,IAAI,OAAO,YAAY,CAAC,KAAK,EAAE;AAC/B,MAAM,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC1C,MAAM,EAAE,EAAE,IAAI;AACd,MAAM,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC;AAC7C,MAAM,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;AAC3C,MAAM,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK;AACxC,KAAK,CAAC;AACN,GAAG,CAAC;AACJ;AACO,SAAS,mBAAmB,CAAC,SAAS,EAAE,gBAAgB,EAAE,QAAQ,EAAE;AAC3E,EAAE,IAAI,gBAAgB,GAAG,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC;AAC5D,EAAE,IAAI,QAAQ,GAAG,kBAAkB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AACvE,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,EAAE;AAC/C,IAAI,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC;AAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE;AAChC,IAAI,IAAI,OAAO,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC3C,IAAI,IAAI,OAAO,IAAI,GAAG,IAAI,gBAAgB,CAAC;AAC3C,IAAI,IAAI,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC;AACzC,IAAI,IAAI,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;;AAErE,IAAI,IAAI,OAAO,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC,EAAE;AAC5C;AACA,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE;AAC1C,QAAQ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5C,QAAQ,EAAE,EAAE,IAAI;AAChB,QAAQ,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;AAC/C,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS;AAChD,OAAO,CAAC;AACR,KAAK,MAAM,IAAI,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,SAAS,EAAE;AAClD;AACA;AACA,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE;AAC1C,QAAQ,EAAE,EAAE;AACZ,OAAO,CAAC;AACR,KAAK,MAAM,IAAI,OAAO,IAAI,OAAO,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE;AAChE;AACA;AACA;AACA,MAAM,QAAQ,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,EAAE;AAC1C,QAAQ,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;AAC5C,QAAQ,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;AAC9B,QAAQ,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC;AAC/C,QAAQ,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS;AAChD,OAAO,CAAC;AACR;AACA,GAAG,CAAC;AACJ,EAAE,OAAO,QAAQ;AACjB;;;;","x_google_ignoreList":[0]}
|