@ringcentral/juno 2.40.1 → 2.41.1
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/components/Accordion/Accordion.d.ts +1 -1
- package/components/Accordion/AccordionDetails/AccordionDetails.d.ts +1 -1
- package/components/Accordion/AccordionSummary/AccordionSummary.d.ts +1 -1
- package/components/Alert/Alert.d.ts +1 -1
- package/components/AppBar/AppBar.d.ts +2 -2
- package/components/Avatar/styles/StyledAvatarWrapper.d.ts +1 -1
- package/components/Backdrop/Backdrop.d.ts +1 -1
- package/components/Badge/Badge.d.ts +1 -1
- package/components/Box/Box.d.ts +1 -1
- package/components/Buttons/Button/Button.d.ts +2 -2
- package/components/Buttons/ButtonBase/ButtonBase.d.ts +1 -1
- package/components/Buttons/ButtonGroup/ButtonGroup.d.ts +1 -1
- package/components/Buttons/IconButton/IconButton.d.ts +2 -2
- package/components/Buttons/IconButtonGroup/IconButtonGroup.d.ts +1 -1
- package/components/Buttons/SplitButton/SplitButton.d.ts +1 -1
- package/components/Buttons/SplitButton/styles/StyledArrowIcon.d.ts +1 -1
- package/components/Buttons/ToggleButton/ToggleButton.d.ts +1 -1
- package/components/Buttons/ToggleButtonGroup/ToggleButtonGroup.d.ts +1 -1
- package/components/Card/Card/Card.d.ts +1 -1
- package/components/Card/CardActions/CardActions.d.ts +1 -1
- package/components/Card/CardContent/CardContent.d.ts +1 -1
- package/components/Card/CardHeader/CardHeader.d.ts +8 -8
- package/components/Card/CardHoverActions/CardHoverActions.d.ts +1 -1
- package/components/Card/CardMedia/CardMedia.d.ts +8 -8
- package/components/Card/CardSelectionArea/CardSelectionArea.d.ts +1 -1
- package/components/Dialer/DialDelete/DialDelete.d.ts +1 -0
- package/components/Dialer/DialDelete/DialDelete.js +1 -1
- package/components/Dialer/DialPad/DialPad.d.ts +4 -4
- package/components/Dialer/DialTextField/DialTextField.d.ts +1 -1
- package/components/Dialog/Dialog.d.ts +1 -1
- package/components/Dialog/DialogActions/DialogActions.d.ts +2 -2
- package/components/Dialog/DialogContent/DialogContent.d.ts +2 -2
- package/components/Dialog/DialogContentText/DialogContentText.d.ts +2 -2
- package/components/Dialog/DialogTitle/DialogTitle.d.ts +2 -2
- package/components/Divider/Divider.d.ts +1 -1
- package/components/Downshift/SuggestionList/SuggestionList.d.ts +3 -3
- package/components/Downshift/styles/DownshiftStyle.d.ts +2 -2
- package/components/Downshift/styles/StyledPopper.d.ts +1 -1
- package/components/Downshift/styles/StyledTextField.d.ts +1 -1
- package/components/Downshift/utils/useDownshift.d.ts +3 -3
- package/components/Downshift/utils/useDownshiftTag.d.ts +3 -3
- package/components/Drawer/Drawer.d.ts +1 -1
- package/components/Forms/Checkbox/Checkbox.d.ts +1 -1
- package/components/Forms/FormControl.d.ts +1 -1
- package/components/Forms/FormControlLabel/FormControlLabel.d.ts +1 -1
- package/components/Forms/FormGroup/FormGroup.d.ts +1 -1
- package/components/Forms/FormHelperText/FormHelperText.d.ts +1 -1
- package/components/Forms/FormHelperText/styles/StyledFormHelperText.d.ts +1 -1
- package/components/Forms/FormLabel.d.ts +1 -1
- package/components/Forms/InputLabel/InputLabel.d.ts +1 -1
- package/components/Forms/InputLabel/styles/StyledInputLabel.d.ts +1 -1
- package/components/Forms/Picker/DatePicker/DatePicker.d.ts +2 -2
- package/components/Forms/Picker/DatePicker/styles/StyledCalendar.d.ts +2 -2
- package/components/Forms/Picker/DatePicker/styles/StyledDatePickerHeader.d.ts +3 -3
- package/components/Forms/Picker/DatePicker/styles/StyledYear.d.ts +1 -1
- package/components/Forms/Picker/TimePicker/NumberPicker.d.ts +2 -2
- package/components/Forms/Picker/TimePicker/ToggleText.d.ts +2 -2
- package/components/Forms/Picker/TimePicker/styles/StyledSelectionItem.d.ts +1 -1
- package/components/Forms/Picker/TimePicker/styles/StyledTimeIconButton.d.ts +1 -1
- package/components/Forms/Picker/styles/PickerBaseIconButton.d.ts +1 -1
- package/components/Forms/Picker/styles/StyledPickerTextField.d.ts +1 -1
- package/components/Forms/Picker/styles/StyledPopover.d.ts +1 -1
- package/components/Forms/Picker/utils/PickerTextField/PickerTextField.d.ts +1 -1
- package/components/Forms/Radio/Radio.d.ts +1 -1
- package/components/Forms/RadioGroup/RadioGroup.d.ts +1 -1
- package/components/Forms/Select/PlainSelect/PlainSelect.d.ts +1 -1
- package/components/Forms/Select/Select.d.ts +1 -1
- package/components/Forms/Select/styles/SelectArrowDownIcon.d.ts +1 -1
- package/components/Forms/Select/utils/SelectInput/SelectInput.d.ts +1 -1
- package/components/Forms/Slider/Slider.d.ts +1 -1
- package/components/Forms/Switch/Switch.d.ts +1 -1
- package/components/Forms/TextField/TextField.d.ts +2 -2
- package/components/Forms/TextField/styles/ClearIconButton.d.ts +2 -2
- package/components/Forms/Textarea/Textarea.d.ts +1 -1
- package/components/Grid/Grid.d.ts +1 -1
- package/components/Icon/Icon.d.ts +2 -2
- package/components/Link/Link.d.ts +1 -1
- package/components/List/List/List.d.ts +1 -1
- package/components/List/ListItem/ListItem.d.ts +2 -2
- package/components/List/ListItemIcon/ListItemIcon.d.ts +1 -1
- package/components/List/ListItemSecondaryAction/ListItemSecondaryAction.d.ts +1 -1
- package/components/List/ListItemText/ListItemText.d.ts +1 -1
- package/components/List/ListSubheader/ListSubheader.d.ts +1 -1
- package/components/Menu/Menu/Menu.d.ts +1 -1
- package/components/Menu/MenuItem/MenuItem.d.ts +3 -3
- package/components/Menu/MenuItem/styles/MenuItemStyle.d.ts +2 -2
- package/components/Menu/MenuItemSubAction/MenuItemSubAction.d.ts +1 -1
- package/components/Menu/MenuItemSubAction/styles/StyledMenuItemSubAction.d.ts +1 -1
- package/components/Menu/MenuList/MenuList.d.ts +1 -1
- package/components/Menu/MenuOption/styles/StyledMenuOption.d.ts +1 -1
- package/components/Menu/SubMenu/SubMenu.d.ts +1 -1
- package/components/Menu/SubMenu/styles/SubMenuStyle.d.ts +1 -1
- package/components/Pagination/Pagination/Pagination.d.ts +1 -1
- package/components/Pagination/PaginationItem/PaginationItem.d.ts +8 -8
- package/components/Paper/Paper.d.ts +1 -1
- package/components/Popover/Popover.d.ts +1 -1
- package/components/Popper/Popper.d.ts +1 -1
- package/components/PopupBox/PopupBox.d.ts +1 -1
- package/components/Presence/Presence.d.ts +2 -2
- package/components/Progress/CircularProgress/CircularProgress.d.ts +1 -1
- package/components/Progress/LinearProgress/LinearProgress.d.ts +1 -1
- package/components/Progress/styles/StyledCircularProgress.d.ts +1 -1
- package/components/Rating/Rating.d.ts +1 -1
- package/components/Snackbar/Snackbar.d.ts +1 -1
- package/components/Snackbar/SnackbarAction/SnackbarAction.d.ts +1 -1
- package/components/Snackbar/SnackbarContent/SnackbarContent.d.ts +1 -1
- package/components/Stepper/Step/Step.d.ts +1 -1
- package/components/Stepper/StepButton/StepButton.d.ts +1 -1
- package/components/Stepper/StepConnector/StepConnector.d.ts +1 -1
- package/components/Stepper/StepContent/StepContent.d.ts +1 -1
- package/components/Stepper/StepIcon/StepIcon.d.ts +1 -1
- package/components/Stepper/StepIcon/styles/StyledCircleIcon.d.ts +1 -1
- package/components/Stepper/StepLabel/StepLabel.d.ts +1 -1
- package/components/Stepper/Stepper.d.ts +1 -1
- package/components/Table/Table.d.ts +1 -1
- package/components/Table/TableBody/TableBody.d.ts +1 -1
- package/components/Table/TableCell/TableCell.d.ts +2 -2
- package/components/Table/TableContainer/TableContainer.d.ts +1 -1
- package/components/Table/TableHead/TableHead.d.ts +1 -1
- package/components/Table/TableRow/TableRow.d.ts +1 -1
- package/components/TablePagination/TablePagination.d.ts +1 -1
- package/components/TablePagination/styles/TablePaginationStyle.d.ts +6 -6
- package/components/Tabs/Tab/Tab.d.ts +1 -1
- package/components/Tabs/TabList/TabList.d.ts +1 -1
- package/components/Tabs/TabPanel/TabPanel.d.ts +1 -1
- package/components/Tabs/Tabs/MoreMenuTab/MoreMenuTab.d.ts +1 -1
- package/components/Tabs/Tabs/MoreMenuTabs/MoreMenuTabs.d.ts +1 -1
- package/components/Tabs/Tabs/Tabs.d.ts +1 -1
- package/components/Tag/Tag.d.ts +2 -2
- package/components/Text/Text.d.ts +1 -1
- package/components/Thumbnail/Thumbnail.d.ts +1 -1
- package/components/Toolbar/Toolbar.d.ts +1 -1
- package/components/Tooltip/Tooltip.d.ts +1 -1
- package/components/Typography/Typography.d.ts +1 -1
- package/components/VirtualizedMenu/VirtualizedDivider/VirtualizedDivider.d.ts +1 -1
- package/components/VirtualizedMenu/VirtualizedMenu.d.ts +1 -1
- package/components/VirtualizedMenu/VirtualizedMenuList.d.ts +1 -1
- package/components/Virtuoso/index.d.ts +1 -1
- package/components/Virtuoso/index.js +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.d.ts +5 -0
- package/components/Virtuoso/react-virtuoso/TableVirtuoso.js +217 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.d.ts +7696 -0
- package/components/Virtuoso/react-virtuoso/Virtuoso.js +317 -0
- package/components/Virtuoso/react-virtuoso/{Grid.d.ts → VirtuosoGrid.d.ts} +182 -84
- package/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +199 -0
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.d.ts +119 -65
- package/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/components/Virtuoso/react-virtuoso/comparators.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.d.ts +194 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.d.ts +274 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +2 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.d.ts +125 -0
- package/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +2 -0
- package/components/Virtuoso/react-virtuoso/domIOSystem.d.ts +3 -2
- package/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/components/Virtuoso/react-virtuoso/followOutputSystem.d.ts +80 -43
- package/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/components/Virtuoso/react-virtuoso/gridSystem.d.ts +57 -31
- package/components/Virtuoso/react-virtuoso/gridSystem.js +173 -86
- package/components/Virtuoso/react-virtuoso/groupedListSystem.d.ts +76 -67
- package/components/Virtuoso/react-virtuoso/groupedListSystem.js +12 -12
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.d.ts +6 -3
- package/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +36 -17
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.d.ts +2 -2
- package/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +3 -2
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.d.ts +2 -0
- package/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +5 -0
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +36 -51
- package/components/Virtuoso/react-virtuoso/hooks/useSize.d.ts +2 -3
- package/components/Virtuoso/react-virtuoso/hooks/useSize.js +13 -13
- package/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +17 -15
- package/components/Virtuoso/react-virtuoso/index.d.ts +7 -1
- package/components/Virtuoso/react-virtuoso/index.js +8 -1
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.d.ts +304 -68
- package/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +9 -31
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.d.ts +127 -109
- package/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.d.ts +38 -22
- package/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/components/Virtuoso/react-virtuoso/interfaces.d.ts +150 -51
- package/components/Virtuoso/react-virtuoso/listStateSystem.d.ts +109 -59
- package/components/Virtuoso/react-virtuoso/listStateSystem.js +100 -52
- package/components/Virtuoso/react-virtuoso/listSystem.d.ts +1691 -693
- package/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/components/Virtuoso/react-virtuoso/loggerSystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/components/Virtuoso/react-virtuoso/propsReadySystem.d.ts +1 -1
- package/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/components/Virtuoso/react-virtuoso/react-urx/index.d.ts +110 -0
- package/components/Virtuoso/react-virtuoso/react-urx/index.js +200 -0
- package/components/Virtuoso/react-virtuoso/react-urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.d.ts +4 -0
- package/components/Virtuoso/react-virtuoso/recalcSystem.js +8 -0
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.d.ts +144 -78
- package/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +33 -21
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.d.ts +12 -7
- package/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.d.ts +19 -11
- package/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.d.ts +7 -6
- package/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +15 -27
- package/components/Virtuoso/react-virtuoso/sizeSystem.d.ts +20 -11
- package/components/Virtuoso/react-virtuoso/sizeSystem.js +182 -52
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.d.ts +8 -5
- package/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.d.ts +318 -0
- package/components/Virtuoso/react-virtuoso/stateLoadSystem.js +41 -0
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.d.ts +518 -467
- package/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.d.ts +115 -63
- package/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.d.ts +139 -73
- package/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +74 -31
- package/components/Virtuoso/react-virtuoso/urx/actions.d.ts +127 -0
- package/components/Virtuoso/react-virtuoso/urx/actions.js +98 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.d.ts +8 -0
- package/components/Virtuoso/react-virtuoso/urx/constants.js +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.d.ts +6 -0
- package/components/Virtuoso/react-virtuoso/urx/index.js +9 -0
- package/components/Virtuoso/react-virtuoso/urx/package.json +5 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.d.ts +220 -0
- package/components/Virtuoso/react-virtuoso/urx/pipe.js +279 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.d.ts +143 -0
- package/components/Virtuoso/react-virtuoso/urx/streams.js +227 -0
- package/components/Virtuoso/react-virtuoso/urx/system.d.ts +148 -0
- package/components/Virtuoso/react-virtuoso/urx/system.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.d.ts +71 -0
- package/components/Virtuoso/react-virtuoso/urx/transformers.js +106 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.d.ts +57 -0
- package/components/Virtuoso/react-virtuoso/urx/utils.js +102 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/context.d.ts +13 -0
- package/components/Virtuoso/react-virtuoso/utils/context.js +6 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.d.ts +1 -0
- package/components/Virtuoso/react-virtuoso/utils/skipFrames.js +11 -0
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.d.ts +6 -4
- package/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/components/Virtuoso/utils/isOutOfRange.d.ts +1 -1
- package/components/Virtuoso/utils/useHighlightScroll.d.ts +2 -2
- package/es6/components/Dialer/DialDelete/DialDelete.js +1 -1
- package/es6/components/Virtuoso/index.js +1 -1
- package/es6/components/Virtuoso/react-virtuoso/AATree.js +60 -48
- package/es6/components/Virtuoso/react-virtuoso/{Table.js → TableVirtuoso.js} +73 -52
- package/es6/components/Virtuoso/react-virtuoso/{List.js → Virtuoso.js} +85 -161
- package/es6/components/Virtuoso/react-virtuoso/VirtuosoGrid.js +198 -0
- package/es6/components/Virtuoso/react-virtuoso/alignToBottomSystem.js +3 -3
- package/es6/components/Virtuoso/react-virtuoso/comparators.js +1 -3
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/TableVirtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/Virtuoso.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/component-interfaces/VirtuosoGrid.js +0 -0
- package/es6/components/Virtuoso/react-virtuoso/domIOSystem.js +5 -3
- package/es6/components/Virtuoso/react-virtuoso/followOutputSystem.js +21 -19
- package/es6/components/Virtuoso/react-virtuoso/gridSystem.js +173 -87
- package/es6/components/Virtuoso/react-virtuoso/groupedListSystem.js +13 -13
- package/es6/components/Virtuoso/react-virtuoso/hooks/useChangedChildSizes.js +35 -16
- package/es6/components/Virtuoso/react-virtuoso/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/es6/components/Virtuoso/react-virtuoso/hooks/useRcPortalWindowContext.js +2 -0
- package/es6/components/Virtuoso/react-virtuoso/hooks/useScrollTop.js +35 -50
- package/es6/components/Virtuoso/react-virtuoso/hooks/useSize.js +11 -12
- package/es6/components/Virtuoso/react-virtuoso/hooks/useWindowViewportRect.js +15 -14
- package/es6/components/Virtuoso/react-virtuoso/index.js +4 -1
- package/es6/components/Virtuoso/react-virtuoso/initialItemCountSystem.js +11 -33
- package/es6/components/Virtuoso/react-virtuoso/initialScrollTopSystem.js +7 -7
- package/es6/components/Virtuoso/react-virtuoso/initialTopMostItemIndexSystem.js +13 -20
- package/es6/components/Virtuoso/react-virtuoso/listStateSystem.js +101 -54
- package/es6/components/Virtuoso/react-virtuoso/listSystem.js +15 -16
- package/es6/components/Virtuoso/react-virtuoso/loggerSystem.js +2 -4
- package/es6/components/Virtuoso/react-virtuoso/propsReadySystem.js +3 -4
- package/es6/components/Virtuoso/react-virtuoso/react-urx/index.js +197 -0
- package/es6/components/Virtuoso/react-virtuoso/recalcSystem.js +5 -0
- package/es6/components/Virtuoso/react-virtuoso/scrollIntoViewSystem.js +34 -22
- package/es6/components/Virtuoso/react-virtuoso/scrollSeekSystem.js +7 -10
- package/es6/components/Virtuoso/react-virtuoso/scrollToIndexSystem.js +11 -23
- package/es6/components/Virtuoso/react-virtuoso/sizeRangeSystem.js +16 -28
- package/es6/components/Virtuoso/react-virtuoso/sizeSystem.js +180 -53
- package/es6/components/Virtuoso/react-virtuoso/stateFlagsSystem.js +32 -23
- package/es6/components/Virtuoso/react-virtuoso/stateLoadSystem.js +39 -0
- package/es6/components/Virtuoso/react-virtuoso/topItemCountSystem.js +5 -5
- package/es6/components/Virtuoso/react-virtuoso/totalListHeightSystem.js +6 -13
- package/es6/components/Virtuoso/react-virtuoso/upwardScrollFixSystem.js +75 -32
- package/es6/components/Virtuoso/react-virtuoso/urx/actions.js +90 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/constants.js +4 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/index.js +6 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/pipe.js +266 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/streams.js +220 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/system.js +102 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/transformers.js +101 -0
- package/es6/components/Virtuoso/react-virtuoso/urx/utils.js +88 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/approximatelyEqual.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/context.js +3 -0
- package/es6/components/Virtuoso/react-virtuoso/utils/skipFrames.js +8 -0
- package/es6/components/Virtuoso/react-virtuoso/windowScrollerSystem.js +1 -1
- package/foundation/hooks/useKeyboardMoveFocus/useOnlyOneFocusable.d.ts +1 -1
- package/package.json +2 -2
- package/components/Virtuoso/Virtuoso.d.ts +0 -1
- package/components/Virtuoso/Virtuoso.js +0 -4
- package/components/Virtuoso/react-virtuoso/Grid.js +0 -168
- package/components/Virtuoso/react-virtuoso/List.d.ts +0 -6749
- package/components/Virtuoso/react-virtuoso/List.js +0 -393
- package/components/Virtuoso/react-virtuoso/Table.d.ts +0 -6515
- package/components/Virtuoso/react-virtuoso/Table.js +0 -196
- package/components/Virtuoso/react-virtuoso/components.d.ts +0 -505
- package/components/Virtuoso/react-virtuoso/components.js +0 -9
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.d.ts +0 -1
- package/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -11
- package/es6/components/Virtuoso/Virtuoso.js +0 -1
- package/es6/components/Virtuoso/react-virtuoso/Grid.js +0 -166
- package/es6/components/Virtuoso/react-virtuoso/components.js +0 -7
- package/es6/components/Virtuoso/react-virtuoso/utils/conditionalFlushSync.js +0 -8
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ## Thinking in Systems
|
|
3
|
+
* systems are a stateful **data-processing machines** which accept input through **input streams**,
|
|
4
|
+
* init and maintain state in **depots** and, in certain conditions, emit values to subscriptions through **output streams**.
|
|
5
|
+
* Systems can specify other systems as dependencies, and can act as singletons in the resulting dependency tree.
|
|
6
|
+
*
|
|
7
|
+
* ### Depots
|
|
8
|
+
*
|
|
9
|
+
* The first, and probably the most critical part to understand are **the depots**
|
|
10
|
+
* mostly because they are somewhat implicit.
|
|
11
|
+
* Unlike other state management paradigms, the depots are not kept in a single data structure.
|
|
12
|
+
* Insted, depots are defined and maintained as stateful streams, stateful transfomers
|
|
13
|
+
* like [[combineLatest]] or stateful operators like[ []withLatestFrom] or [[scan]].
|
|
14
|
+
*
|
|
15
|
+
* **Depots persist values over time**.
|
|
16
|
+
* If it was not for them, the system had to re-receive its entire input state simultaneously in order to calculate the values for its output stream.
|
|
17
|
+
*
|
|
18
|
+
* Of course, strictly speaking, it is possible to implement a pure, stateless system as a form of a complex map/reduce. urx would not mind that ;).
|
|
19
|
+
*
|
|
20
|
+
* ### Input Streams
|
|
21
|
+
*
|
|
22
|
+
* The system receives updates from the rest of the world through values published in its input streams.
|
|
23
|
+
* The streams used can be either stateless (acting as means to send **signals**) or stateful, where the initial stream state acts as the default value for that system parameter.
|
|
24
|
+
*
|
|
25
|
+
* The effects of the input streams are up to the system data-processing logic. It can change its depots' state, and/or emit values through its output streams.
|
|
26
|
+
*
|
|
27
|
+
* ### Data Processing
|
|
28
|
+
*
|
|
29
|
+
* The actual system behavior is exclusively implemented by **applying transformers and operators** to the input streams, producing the respective output streams.
|
|
30
|
+
* In the final state the system streams are organized in a directed graph, where incoming data is routed through certain edges and nodes.
|
|
31
|
+
* Simple systems like the one in [urx by example](https://urx.virtuoso.dev/docs/urx-by-example) can use a straightforward single-step transformation (in this case, `combineLatest` and `map`),
|
|
32
|
+
* while complex ones can introduce multiple intermediate streams to model their logic.
|
|
33
|
+
*
|
|
34
|
+
* ### Output Streams
|
|
35
|
+
*
|
|
36
|
+
* The system publishes updates to its clients (other systems or an UI bound to it) by publishing data in its output streams.
|
|
37
|
+
* State-reflecting output streams, like `sum` in the [urx by example](https://urx.virtuoso.dev/docs/urx-by-example) should use stateful streams as output streams.
|
|
38
|
+
* Signal-like output should use regular, stateless streams. In general, stateless input streams tend to have a symmetrical stateless streams, and the opposite.
|
|
39
|
+
*
|
|
40
|
+
* @packageDocumentation
|
|
41
|
+
*/
|
|
42
|
+
import { Emitter } from './actions';
|
|
43
|
+
/**
|
|
44
|
+
* Systems are a dictionaries of streams. a [[SystemConstructor]] should return a System.
|
|
45
|
+
*/
|
|
46
|
+
export interface System {
|
|
47
|
+
[key: string]: Emitter<any>;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* a SystemSpec is the result from a [[system]] call. To obtain the [[System]], pass the spec to [[init]].
|
|
51
|
+
*/
|
|
52
|
+
export interface SystemSpec<SS extends SystemSpecs, C extends SystemConstructor<SS>> {
|
|
53
|
+
id: string;
|
|
54
|
+
constructor: C;
|
|
55
|
+
dependencies: SS;
|
|
56
|
+
singleton: boolean;
|
|
57
|
+
}
|
|
58
|
+
/** @internal **/
|
|
59
|
+
export declare type AnySystemSpec = SystemSpec<any, any>;
|
|
60
|
+
/** @internal **/
|
|
61
|
+
export declare type SystemSpecs = AnySystemSpec[];
|
|
62
|
+
/** @internal **/
|
|
63
|
+
export declare type SR<E extends AnySystemSpec, R extends System = ReturnType<E['constructor']>> = R;
|
|
64
|
+
/** @internal **/
|
|
65
|
+
export declare type SpecResults<SS extends SystemSpecs, L = SS['length']> = L extends 0 ? [] : L extends 1 ? [SR<SS[0]>] : L extends 2 ? [SR<SS[0]>, SR<SS[1]>] : L extends 3 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>] : L extends 4 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>] : L extends 5 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>] : L extends 6 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>] : L extends 7 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>, SR<SS[6]>] : L extends 8 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>, SR<SS[6]>, SR<SS[7]>] : L extends 9 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>, SR<SS[6]>, SR<SS[7]>, SR<SS[8]>] : L extends 10 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>, SR<SS[6]>, SR<SS[7]>, SR<SS[8]>, SR<SS[9]>] : L extends 11 ? [SR<SS[0]>, SR<SS[1]>, SR<SS[2]>, SR<SS[3]>, SR<SS[4]>, SR<SS[5]>, SR<SS[6]>, SR<SS[7]>, SR<SS[8]>, SR<SS[9]>, SR<SS[10]>] : never;
|
|
66
|
+
/**
|
|
67
|
+
* The system constructor is a function which initializes and connects streams and returns them as a [[System]].
|
|
68
|
+
* If the [[system]] call specifies system dependencies, the constructor receives the dependencies as an array argument.
|
|
69
|
+
*/
|
|
70
|
+
export declare type SystemConstructor<D extends SystemSpecs> = (dependencies: SpecResults<D>) => System;
|
|
71
|
+
/**
|
|
72
|
+
* `system` defines a specification of a system - its constructor, dependencies and if it should act as a singleton in a system dependency tree.
|
|
73
|
+
* When called, system returns a [[SystemSpec]], which is then initialized along with its dependencies by passing it to [[init]].
|
|
74
|
+
*
|
|
75
|
+
* ```ts
|
|
76
|
+
* @import { subscribe, publish, system, init, tup, connect, map, pipe } from 'urx'
|
|
77
|
+
*
|
|
78
|
+
* // a simple system with two streams
|
|
79
|
+
* const sys1 = system(() => {
|
|
80
|
+
* const a = stream<number>()
|
|
81
|
+
* const b = stream<number>()
|
|
82
|
+
*
|
|
83
|
+
* connect(pipe(a, map(value => value * 2)), b)
|
|
84
|
+
* return { a, b }
|
|
85
|
+
* })
|
|
86
|
+
*
|
|
87
|
+
* // a second system which depends on the streams from the first one
|
|
88
|
+
* const sys2 = system(([ {a, b} ]) => {
|
|
89
|
+
* const c = stream<number>()
|
|
90
|
+
* connect(pipe(b, map(value => value * 2)), c)
|
|
91
|
+
* // re-export the `a` stream, keep `b` internal
|
|
92
|
+
* return { a, c }
|
|
93
|
+
* }, tup(sys1))
|
|
94
|
+
*
|
|
95
|
+
* // init will recursively initialize sys2 dependencies, in this case sys1
|
|
96
|
+
* const { a, c } = init(sys2)
|
|
97
|
+
* subscribe(c, c => console.log(`Value multiplied by 4`, c))
|
|
98
|
+
* publish(a, 2)
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* #### Singletons in Dependency Tree
|
|
102
|
+
*
|
|
103
|
+
* By default, systems will be initialized only once if encountered multiple times in the dependency tree.
|
|
104
|
+
* In the below dependency system tree, systems `b` and `c` will receive the same stream instances from system `a` when system `d` is initialized.
|
|
105
|
+
* ```txt
|
|
106
|
+
* a
|
|
107
|
+
* / \
|
|
108
|
+
* b c
|
|
109
|
+
* \ /
|
|
110
|
+
* d
|
|
111
|
+
* ```
|
|
112
|
+
* If `a` gets `{singleton: false}` as a last argument, `init` creates two separate instances - one for `b` and one for `c`.
|
|
113
|
+
*
|
|
114
|
+
* @param constructor the system constructor function. Initialize and connect the streams in its body.
|
|
115
|
+
*
|
|
116
|
+
* @param dependencies the system dependencies, which the constructor will receive as arguments.
|
|
117
|
+
* Use the [[tup]] utility **For TypeScript type inference to work correctly**.
|
|
118
|
+
* ```ts
|
|
119
|
+
* const sys3 = system(() => { ... }, tup(sys2, sys1))
|
|
120
|
+
* ```
|
|
121
|
+
* @param __namedParameters Options
|
|
122
|
+
* @param singleton determines if the system will act as a singleton in a system dependency tree. `true` by default.
|
|
123
|
+
*/
|
|
124
|
+
export declare function system<F extends SystemConstructor<D>, D extends SystemSpecs>(constructor: F, dependencies?: D, { singleton }?: {
|
|
125
|
+
singleton: boolean;
|
|
126
|
+
}): SystemSpec<D, F>;
|
|
127
|
+
/**
|
|
128
|
+
* Initializes a [[SystemSpec]] by recursively initializing its dependencies.
|
|
129
|
+
*
|
|
130
|
+
* ```ts
|
|
131
|
+
* // a simple system with two streams
|
|
132
|
+
* const sys1 = system(() => {
|
|
133
|
+
* const a = stream<number>()
|
|
134
|
+
* const b = stream<number>()
|
|
135
|
+
*
|
|
136
|
+
* connect(pipe(a, map(value => value * 2)), b)
|
|
137
|
+
* return { a, b }
|
|
138
|
+
* })
|
|
139
|
+
*
|
|
140
|
+
* const { a, b } = init(sys1)
|
|
141
|
+
* subscribe(b, b => console.log(b))
|
|
142
|
+
* publish(a, 2)
|
|
143
|
+
* ```
|
|
144
|
+
*
|
|
145
|
+
* @returns the [[System]] constructed by the spec constructor.
|
|
146
|
+
* @param systemSpec the system spec to initialize.
|
|
147
|
+
*/
|
|
148
|
+
export declare function init<SS extends AnySystemSpec>(systemSpec: SS): SR<SS>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* `system` defines a specification of a system - its constructor, dependencies and if it should act as a singleton in a system dependency tree.
|
|
5
|
+
* When called, system returns a [[SystemSpec]], which is then initialized along with its dependencies by passing it to [[init]].
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* @import { subscribe, publish, system, init, tup, connect, map, pipe } from 'urx'
|
|
9
|
+
*
|
|
10
|
+
* // a simple system with two streams
|
|
11
|
+
* const sys1 = system(() => {
|
|
12
|
+
* const a = stream<number>()
|
|
13
|
+
* const b = stream<number>()
|
|
14
|
+
*
|
|
15
|
+
* connect(pipe(a, map(value => value * 2)), b)
|
|
16
|
+
* return { a, b }
|
|
17
|
+
* })
|
|
18
|
+
*
|
|
19
|
+
* // a second system which depends on the streams from the first one
|
|
20
|
+
* const sys2 = system(([ {a, b} ]) => {
|
|
21
|
+
* const c = stream<number>()
|
|
22
|
+
* connect(pipe(b, map(value => value * 2)), c)
|
|
23
|
+
* // re-export the `a` stream, keep `b` internal
|
|
24
|
+
* return { a, c }
|
|
25
|
+
* }, tup(sys1))
|
|
26
|
+
*
|
|
27
|
+
* // init will recursively initialize sys2 dependencies, in this case sys1
|
|
28
|
+
* const { a, c } = init(sys2)
|
|
29
|
+
* subscribe(c, c => console.log(`Value multiplied by 4`, c))
|
|
30
|
+
* publish(a, 2)
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* #### Singletons in Dependency Tree
|
|
34
|
+
*
|
|
35
|
+
* By default, systems will be initialized only once if encountered multiple times in the dependency tree.
|
|
36
|
+
* In the below dependency system tree, systems `b` and `c` will receive the same stream instances from system `a` when system `d` is initialized.
|
|
37
|
+
* ```txt
|
|
38
|
+
* a
|
|
39
|
+
* / \
|
|
40
|
+
* b c
|
|
41
|
+
* \ /
|
|
42
|
+
* d
|
|
43
|
+
* ```
|
|
44
|
+
* If `a` gets `{singleton: false}` as a last argument, `init` creates two separate instances - one for `b` and one for `c`.
|
|
45
|
+
*
|
|
46
|
+
* @param constructor the system constructor function. Initialize and connect the streams in its body.
|
|
47
|
+
*
|
|
48
|
+
* @param dependencies the system dependencies, which the constructor will receive as arguments.
|
|
49
|
+
* Use the [[tup]] utility **For TypeScript type inference to work correctly**.
|
|
50
|
+
* ```ts
|
|
51
|
+
* const sys3 = system(() => { ... }, tup(sys2, sys1))
|
|
52
|
+
* ```
|
|
53
|
+
* @param __namedParameters Options
|
|
54
|
+
* @param singleton determines if the system will act as a singleton in a system dependency tree. `true` by default.
|
|
55
|
+
*/
|
|
56
|
+
function system(constructor, dependencies, _a) {
|
|
57
|
+
if (dependencies === void 0) { dependencies = []; }
|
|
58
|
+
var singleton = (_a === void 0 ? { singleton: true } : _a).singleton;
|
|
59
|
+
return {
|
|
60
|
+
id: id(),
|
|
61
|
+
constructor: constructor,
|
|
62
|
+
dependencies: dependencies,
|
|
63
|
+
singleton: singleton,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
exports.system = system;
|
|
67
|
+
/** @internal */
|
|
68
|
+
var id = function () { return Symbol(); };
|
|
69
|
+
/**
|
|
70
|
+
* Initializes a [[SystemSpec]] by recursively initializing its dependencies.
|
|
71
|
+
*
|
|
72
|
+
* ```ts
|
|
73
|
+
* // a simple system with two streams
|
|
74
|
+
* const sys1 = system(() => {
|
|
75
|
+
* const a = stream<number>()
|
|
76
|
+
* const b = stream<number>()
|
|
77
|
+
*
|
|
78
|
+
* connect(pipe(a, map(value => value * 2)), b)
|
|
79
|
+
* return { a, b }
|
|
80
|
+
* })
|
|
81
|
+
*
|
|
82
|
+
* const { a, b } = init(sys1)
|
|
83
|
+
* subscribe(b, b => console.log(b))
|
|
84
|
+
* publish(a, 2)
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @returns the [[System]] constructed by the spec constructor.
|
|
88
|
+
* @param systemSpec the system spec to initialize.
|
|
89
|
+
*/
|
|
90
|
+
function init(systemSpec) {
|
|
91
|
+
var singletons = new Map();
|
|
92
|
+
var _init = function (_a) {
|
|
93
|
+
var id = _a.id, constructor = _a.constructor, dependencies = _a.dependencies, singleton = _a.singleton;
|
|
94
|
+
if (singleton && singletons.has(id)) {
|
|
95
|
+
return singletons.get(id);
|
|
96
|
+
}
|
|
97
|
+
var system = constructor(dependencies.map(function (e) { return _init(e); }));
|
|
98
|
+
if (singleton) {
|
|
99
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
100
|
+
singletons.set(id, system);
|
|
101
|
+
}
|
|
102
|
+
return system;
|
|
103
|
+
};
|
|
104
|
+
return _init(systemSpec);
|
|
105
|
+
}
|
|
106
|
+
exports.init = init;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transformers change and combine streams, similar to operators.
|
|
3
|
+
* urx comes with two combinators - [[combineLatest]] and [[merge]], and one convenience filter - [[duc]].
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
import { Emitter } from './actions';
|
|
8
|
+
import { Comparator } from './pipe';
|
|
9
|
+
/**
|
|
10
|
+
* Merges one or more emitters from the same type into a new Emitter which emits values from any of the source emitters.
|
|
11
|
+
* ```ts
|
|
12
|
+
* const foo = stream<number>()
|
|
13
|
+
* const bar = stream<number>()
|
|
14
|
+
*
|
|
15
|
+
* subscribe(merge(foo, bar), (value) => console.log(value)) // 42, 43
|
|
16
|
+
*
|
|
17
|
+
* publish(foo, 42)
|
|
18
|
+
* publish(bar, 43)
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function merge<T>(...sources: Emitter<T>[]): Emitter<T>;
|
|
22
|
+
/**
|
|
23
|
+
* A convenience wrapper that emits only the distinct values from the passed Emitter. Wraps [[pipe]] and [[distinctUntilChanged]].
|
|
24
|
+
*
|
|
25
|
+
* ```ts
|
|
26
|
+
* const foo = stream<number>()
|
|
27
|
+
*
|
|
28
|
+
* // this line...
|
|
29
|
+
* const a = duc(foo)
|
|
30
|
+
*
|
|
31
|
+
* // is equivalent to this
|
|
32
|
+
* const b = pipe(distinctUntilChanged(foo))
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @param source The source emitter.
|
|
36
|
+
* @param comparator optional custom comparison function for the two values.
|
|
37
|
+
*
|
|
38
|
+
* @typeParam T the type of the value emitted by the source.
|
|
39
|
+
*
|
|
40
|
+
* @returns the resulting emitter.
|
|
41
|
+
*/
|
|
42
|
+
export declare function duc<T>(source: Emitter<T>, comparator?: Comparator<T>): Emitter<T>;
|
|
43
|
+
/**
|
|
44
|
+
* Creates an emitter with the latest values from all passed emitters as an array.
|
|
45
|
+
*
|
|
46
|
+
* `combineLatest` acts as a Depot. Using it on stateless streams persists the last emitted value of each [[Emitter]].
|
|
47
|
+
* Provided that all emitters have emitted at least once, subscribing to the resulting emitter will immediately receive their combined latest values.
|
|
48
|
+
*
|
|
49
|
+
* ```ts
|
|
50
|
+
* const foo = stream<number>()
|
|
51
|
+
* const bar = stream<number>()
|
|
52
|
+
*
|
|
53
|
+
* subscribe(combineLatest(foo, bar), ([foo, bar]) => console.log({ foo, bar }))
|
|
54
|
+
*
|
|
55
|
+
* publish(foo, 42)
|
|
56
|
+
* publish(bar, 43) // { foo: 42, bar: 43 }
|
|
57
|
+
* publish(foo, 44) // { foo: 44, bar: 43 }
|
|
58
|
+
* publish(bar, 45) // { foo: 44, bar: 45 }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
export declare function combineLatest<O1, O2>(...emitters: [Emitter<O1>, Emitter<O2>]): Emitter<[O1, O2]>;
|
|
62
|
+
export declare function combineLatest<O1, O2, O3>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>]): Emitter<[O1, O2, O3]>;
|
|
63
|
+
export declare function combineLatest<O1, O2, O3, O4>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>]): Emitter<[O1, O2, O3, O4]>;
|
|
64
|
+
export declare function combineLatest<O1, O2, O3>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>]): Emitter<[O1, O2, O3]>;
|
|
65
|
+
export declare function combineLatest<O1, O2, O3, O4, O5>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>]): Emitter<[O1, O2, O3, O4, O5]>;
|
|
66
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>]): Emitter<[O1, O2, O3, O4, O5, O6]>;
|
|
67
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6, O7>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>, Emitter<O7>]): Emitter<[O1, O2, O3, O4, O5, O6, O7]>;
|
|
68
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6, O7, O8>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>, Emitter<O7>, Emitter<O8>]): Emitter<[O1, O2, O3, O4, O5, O6, O7, O8]>;
|
|
69
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6, O7, O8, O9>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>, Emitter<O7>, Emitter<O8>, Emitter<O9>]): Emitter<[O1, O2, O3, O4, O5, O6, O7, O8, O9]>;
|
|
70
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6, O7, O8, O9, O10>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>, Emitter<O7>, Emitter<O8>, Emitter<O9>, Emitter<O10>]): Emitter<[O1, O2, O3, O4, O5, O6, O7, O8, O9, O10]>;
|
|
71
|
+
export declare function combineLatest<O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11>(...emitters: [Emitter<O1>, Emitter<O2>, Emitter<O3>, Emitter<O4>, Emitter<O5>, Emitter<O6>, Emitter<O7>, Emitter<O8>, Emitter<O9>, Emitter<O10>, Emitter<O11>]): Emitter<[O1, O2, O3, O4, O5, O6, O7, O8, O9, O10, O11]>;
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
5
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
6
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
7
|
+
/**
|
|
8
|
+
* Transformers change and combine streams, similar to operators.
|
|
9
|
+
* urx comes with two combinators - [[combineLatest]] and [[merge]], and one convenience filter - [[duc]].
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
var actions_1 = require("./actions");
|
|
14
|
+
var constants_1 = require("./constants");
|
|
15
|
+
var pipe_1 = require("./pipe");
|
|
16
|
+
var streams_1 = require("./streams");
|
|
17
|
+
var utils_1 = require("./utils");
|
|
18
|
+
/**
|
|
19
|
+
* Merges one or more emitters from the same type into a new Emitter which emits values from any of the source emitters.
|
|
20
|
+
* ```ts
|
|
21
|
+
* const foo = stream<number>()
|
|
22
|
+
* const bar = stream<number>()
|
|
23
|
+
*
|
|
24
|
+
* subscribe(merge(foo, bar), (value) => console.log(value)) // 42, 43
|
|
25
|
+
*
|
|
26
|
+
* publish(foo, 42)
|
|
27
|
+
* publish(bar, 43)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function merge() {
|
|
31
|
+
var sources = [];
|
|
32
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
33
|
+
sources[_i] = arguments[_i];
|
|
34
|
+
}
|
|
35
|
+
return function (action, subscription) {
|
|
36
|
+
switch (action) {
|
|
37
|
+
case constants_1.SUBSCRIBE:
|
|
38
|
+
return utils_1.joinProc.apply(void 0, tslib_1.__spread(sources.map(function (source) { return actions_1.subscribe(source, subscription); })));
|
|
39
|
+
case constants_1.RESET:
|
|
40
|
+
// do nothing, we are stateless
|
|
41
|
+
return;
|
|
42
|
+
default:
|
|
43
|
+
throw new Error("unrecognized action " + action);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
exports.merge = merge;
|
|
48
|
+
/**
|
|
49
|
+
* A convenience wrapper that emits only the distinct values from the passed Emitter. Wraps [[pipe]] and [[distinctUntilChanged]].
|
|
50
|
+
*
|
|
51
|
+
* ```ts
|
|
52
|
+
* const foo = stream<number>()
|
|
53
|
+
*
|
|
54
|
+
* // this line...
|
|
55
|
+
* const a = duc(foo)
|
|
56
|
+
*
|
|
57
|
+
* // is equivalent to this
|
|
58
|
+
* const b = pipe(distinctUntilChanged(foo))
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @param source The source emitter.
|
|
62
|
+
* @param comparator optional custom comparison function for the two values.
|
|
63
|
+
*
|
|
64
|
+
* @typeParam T the type of the value emitted by the source.
|
|
65
|
+
*
|
|
66
|
+
* @returns the resulting emitter.
|
|
67
|
+
*/
|
|
68
|
+
function duc(source, comparator) {
|
|
69
|
+
if (comparator === void 0) { comparator = pipe_1.defaultComparator; }
|
|
70
|
+
return pipe_1.pipe(source, pipe_1.distinctUntilChanged(comparator));
|
|
71
|
+
}
|
|
72
|
+
exports.duc = duc;
|
|
73
|
+
function combineLatest() {
|
|
74
|
+
var emitters = [];
|
|
75
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
76
|
+
emitters[_i] = arguments[_i];
|
|
77
|
+
}
|
|
78
|
+
var innerSubject = streams_1.stream();
|
|
79
|
+
var values = new Array(emitters.length);
|
|
80
|
+
var called = 0;
|
|
81
|
+
var allCalled = Math.pow(2, emitters.length) - 1;
|
|
82
|
+
emitters.forEach(function (source, index) {
|
|
83
|
+
var bit = Math.pow(2, index);
|
|
84
|
+
actions_1.subscribe(source, function (value) {
|
|
85
|
+
values[index] = value;
|
|
86
|
+
called = called | bit;
|
|
87
|
+
if (called === allCalled) {
|
|
88
|
+
actions_1.publish(innerSubject, values);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
return function (action, subscription) {
|
|
93
|
+
switch (action) {
|
|
94
|
+
case constants_1.SUBSCRIBE:
|
|
95
|
+
if (called === allCalled) {
|
|
96
|
+
subscription(values);
|
|
97
|
+
}
|
|
98
|
+
return actions_1.subscribe(innerSubject, subscription);
|
|
99
|
+
case constants_1.RESET:
|
|
100
|
+
return actions_1.reset(innerSubject);
|
|
101
|
+
default:
|
|
102
|
+
throw new Error("unrecognized action " + action);
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
exports.combineLatest = combineLatest;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utils includes
|
|
3
|
+
* - a handful of functional utilities inspired by or taken from the [Ramda library](https://ramdajs.com/);
|
|
4
|
+
* - TypeScript crutches - the [[tup]] function.
|
|
5
|
+
*
|
|
6
|
+
* Use these for your convenience - they are here so that urx is zero-dependency package.
|
|
7
|
+
*
|
|
8
|
+
* @packageDocumentation
|
|
9
|
+
*/
|
|
10
|
+
/** @internal */
|
|
11
|
+
export interface Proc {
|
|
12
|
+
(): any;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Performs left to right composition of two functions.
|
|
16
|
+
*/
|
|
17
|
+
export declare function compose<I, A, R>(a: (arg: A) => R, b: (arg: I) => A): (arg: I) => R;
|
|
18
|
+
/**
|
|
19
|
+
* Takes a value and applies a function to it.
|
|
20
|
+
*/
|
|
21
|
+
export declare function thrush<I, K>(arg: I, proc: (arg: I) => K): K;
|
|
22
|
+
/**
|
|
23
|
+
* Takes a 2 argument function and partially applies the first argument.
|
|
24
|
+
*/
|
|
25
|
+
export declare function curry2to1<T, K, R>(proc: (arg1: T, arg2: K) => R, arg1: T): (arg2: K) => R;
|
|
26
|
+
/**
|
|
27
|
+
* Takes a 1 argument function and returns a function which when called, executes it with the provided argument.
|
|
28
|
+
*/
|
|
29
|
+
export declare function curry1to0<T, R>(proc: (arg: T) => R, arg: T): () => R;
|
|
30
|
+
/**
|
|
31
|
+
* Returns a function which extracts the property from from the passed object.
|
|
32
|
+
*/
|
|
33
|
+
export declare function prop(property: string): (object: any) => any;
|
|
34
|
+
/**
|
|
35
|
+
* Calls callback with the first argument, and returns it.
|
|
36
|
+
*/
|
|
37
|
+
export declare function tap<T>(arg: T, proc: (arg: T) => any): T;
|
|
38
|
+
/**
|
|
39
|
+
* Utility function to help typescript figure out that what we pass is a tuple and not a generic array.
|
|
40
|
+
* Taken from (this StackOverflow tread)[https://stackoverflow.com/questions/49729550/implicitly-create-a-tuple-in-typescript/52445008#52445008]
|
|
41
|
+
*/
|
|
42
|
+
export declare function tup<T extends Array<any>>(...args: T): T;
|
|
43
|
+
/**
|
|
44
|
+
* Calls the passed function.
|
|
45
|
+
*/
|
|
46
|
+
export declare function call(proc: Proc): void;
|
|
47
|
+
/**
|
|
48
|
+
* returns a function which when called always returns the passed value
|
|
49
|
+
*/
|
|
50
|
+
export declare function always<T>(value: T): () => T;
|
|
51
|
+
/**
|
|
52
|
+
* returns a function which calls all passed functions in the passed order.
|
|
53
|
+
* joinProc does not pass arguments or collect return values.
|
|
54
|
+
*/
|
|
55
|
+
export declare function joinProc(...procs: Proc[]): () => void;
|
|
56
|
+
export declare function isDefined<T>(arg: T): boolean;
|
|
57
|
+
export declare function noop(): void;
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Utils includes
|
|
4
|
+
* - a handful of functional utilities inspired by or taken from the [Ramda library](https://ramdajs.com/);
|
|
5
|
+
* - TypeScript crutches - the [[tup]] function.
|
|
6
|
+
*
|
|
7
|
+
* Use these for your convenience - they are here so that urx is zero-dependency package.
|
|
8
|
+
*
|
|
9
|
+
* @packageDocumentation
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
/**
|
|
13
|
+
* Performs left to right composition of two functions.
|
|
14
|
+
*/
|
|
15
|
+
function compose(a, b) {
|
|
16
|
+
return function (arg) { return a(b(arg)); };
|
|
17
|
+
}
|
|
18
|
+
exports.compose = compose;
|
|
19
|
+
/**
|
|
20
|
+
* Takes a value and applies a function to it.
|
|
21
|
+
*/
|
|
22
|
+
function thrush(arg, proc) {
|
|
23
|
+
return proc(arg);
|
|
24
|
+
}
|
|
25
|
+
exports.thrush = thrush;
|
|
26
|
+
/**
|
|
27
|
+
* Takes a 2 argument function and partially applies the first argument.
|
|
28
|
+
*/
|
|
29
|
+
function curry2to1(proc, arg1) {
|
|
30
|
+
return function (arg2) { return proc(arg1, arg2); };
|
|
31
|
+
}
|
|
32
|
+
exports.curry2to1 = curry2to1;
|
|
33
|
+
/**
|
|
34
|
+
* Takes a 1 argument function and returns a function which when called, executes it with the provided argument.
|
|
35
|
+
*/
|
|
36
|
+
function curry1to0(proc, arg) {
|
|
37
|
+
return function () { return proc(arg); };
|
|
38
|
+
}
|
|
39
|
+
exports.curry1to0 = curry1to0;
|
|
40
|
+
/**
|
|
41
|
+
* Returns a function which extracts the property from from the passed object.
|
|
42
|
+
*/
|
|
43
|
+
function prop(property) {
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
|
|
45
|
+
return function (object) { return object[property]; };
|
|
46
|
+
}
|
|
47
|
+
exports.prop = prop;
|
|
48
|
+
/**
|
|
49
|
+
* Calls callback with the first argument, and returns it.
|
|
50
|
+
*/
|
|
51
|
+
function tap(arg, proc) {
|
|
52
|
+
proc(arg);
|
|
53
|
+
return arg;
|
|
54
|
+
}
|
|
55
|
+
exports.tap = tap;
|
|
56
|
+
/**
|
|
57
|
+
* Utility function to help typescript figure out that what we pass is a tuple and not a generic array.
|
|
58
|
+
* Taken from (this StackOverflow tread)[https://stackoverflow.com/questions/49729550/implicitly-create-a-tuple-in-typescript/52445008#52445008]
|
|
59
|
+
*/
|
|
60
|
+
function tup() {
|
|
61
|
+
var args = [];
|
|
62
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
63
|
+
args[_i] = arguments[_i];
|
|
64
|
+
}
|
|
65
|
+
return args;
|
|
66
|
+
}
|
|
67
|
+
exports.tup = tup;
|
|
68
|
+
/**
|
|
69
|
+
* Calls the passed function.
|
|
70
|
+
*/
|
|
71
|
+
function call(proc) {
|
|
72
|
+
proc();
|
|
73
|
+
}
|
|
74
|
+
exports.call = call;
|
|
75
|
+
/**
|
|
76
|
+
* returns a function which when called always returns the passed value
|
|
77
|
+
*/
|
|
78
|
+
function always(value) {
|
|
79
|
+
return function () { return value; };
|
|
80
|
+
}
|
|
81
|
+
exports.always = always;
|
|
82
|
+
/**
|
|
83
|
+
* returns a function which calls all passed functions in the passed order.
|
|
84
|
+
* joinProc does not pass arguments or collect return values.
|
|
85
|
+
*/
|
|
86
|
+
function joinProc() {
|
|
87
|
+
var procs = [];
|
|
88
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
89
|
+
procs[_i] = arguments[_i];
|
|
90
|
+
}
|
|
91
|
+
return function () {
|
|
92
|
+
procs.map(call);
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
exports.joinProc = joinProc;
|
|
96
|
+
function isDefined(arg) {
|
|
97
|
+
return arg !== undefined;
|
|
98
|
+
}
|
|
99
|
+
exports.isDefined = isDefined;
|
|
100
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
101
|
+
function noop() { }
|
|
102
|
+
exports.noop = noop;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function approximatelyEqual(num1: number, num2: number): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface VirtuosoMockContextValue {
|
|
3
|
+
viewportHeight: number;
|
|
4
|
+
itemHeight: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const VirtuosoMockContext: React.Context<VirtuosoMockContextValue | undefined>;
|
|
7
|
+
export interface VirtuosoGridMockContextValue {
|
|
8
|
+
viewportHeight: number;
|
|
9
|
+
viewportWidth: number;
|
|
10
|
+
itemHeight: number;
|
|
11
|
+
itemWidth: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const VirtuosoGridMockContext: React.Context<VirtuosoGridMockContextValue | undefined>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var tslib_1 = require("tslib");
|
|
4
|
+
var react_1 = tslib_1.__importDefault(require("react"));
|
|
5
|
+
exports.VirtuosoMockContext = react_1.default.createContext(undefined);
|
|
6
|
+
exports.VirtuosoGridMockContext = react_1.default.createContext(undefined);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function skipFrames(frameCount: number, callback: () => void): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function skipFrames(frameCount, callback) {
|
|
4
|
+
if (frameCount == 0) {
|
|
5
|
+
callback();
|
|
6
|
+
}
|
|
7
|
+
else {
|
|
8
|
+
requestAnimationFrame(function () { return skipFrames(frameCount - 1, callback); });
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
exports.skipFrames = skipFrames;
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import * as u from '
|
|
2
|
-
import {
|
|
1
|
+
import * as u from './urx';
|
|
2
|
+
import { WindowViewportInfo, ScrollContainerState } from './interfaces';
|
|
3
3
|
export declare const windowScrollerSystem: u.SystemSpec<[u.SystemSpec<never[], () => {
|
|
4
4
|
scrollContainerState: u.Stream<ScrollContainerState>;
|
|
5
5
|
scrollTop: u.Stream<number>;
|
|
6
6
|
viewportHeight: u.Stream<number>;
|
|
7
7
|
headerHeight: u.StatefulStream<number>;
|
|
8
|
+
fixedHeaderHeight: u.StatefulStream<number>;
|
|
9
|
+
fixedFooterHeight: u.StatefulStream<number>;
|
|
8
10
|
footerHeight: u.StatefulStream<number>;
|
|
9
11
|
scrollHeight: u.Stream<number>;
|
|
10
12
|
smoothScrollTargetReached: u.Stream<true>;
|
|
11
|
-
react18ConcurrentRendering: u.StatefulStream<boolean>;
|
|
12
13
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
13
14
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
14
15
|
statefulScrollTop: u.StatefulStream<number>;
|
|
@@ -19,10 +20,11 @@ export declare const windowScrollerSystem: u.SystemSpec<[u.SystemSpec<never[], (
|
|
|
19
20
|
scrollTop: u.Stream<number>;
|
|
20
21
|
viewportHeight: u.Stream<number>;
|
|
21
22
|
headerHeight: u.StatefulStream<number>;
|
|
23
|
+
fixedHeaderHeight: u.StatefulStream<number>;
|
|
24
|
+
fixedFooterHeight: u.StatefulStream<number>;
|
|
22
25
|
footerHeight: u.StatefulStream<number>;
|
|
23
26
|
scrollHeight: u.Stream<number>;
|
|
24
27
|
smoothScrollTargetReached: u.Stream<true>;
|
|
25
|
-
react18ConcurrentRendering: u.StatefulStream<boolean>;
|
|
26
28
|
scrollTo: u.Stream<ScrollToOptions>;
|
|
27
29
|
scrollBy: u.Stream<ScrollToOptions>;
|
|
28
30
|
statefulScrollTop: u.StatefulStream<number>;
|