@react-md/core 1.0.0-next.2 → 1.0.0-next.3
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/.turbo/turbo-build.log +5 -5
- package/.turbo/turbo-lint.log +12 -0
- package/.turbo/turbo-test.log +179 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/CHANGELOG.md +103 -0
- package/coverage/clover.xml +437 -3
- package/coverage/coverage-final.json +4 -1
- package/coverage/lcov-report/Avatar.tsx.html +472 -0
- package/coverage/lcov-report/IconRotator.tsx.html +322 -0
- package/coverage/lcov-report/ListItem.tsx.html +892 -0
- package/coverage/lcov-report/Portal.tsx.html +223 -0
- package/coverage/lcov-report/PortalContainerProvider.tsx.html +367 -0
- package/coverage/lcov-report/SkeletonPlaceholder.tsx.html +613 -0
- package/coverage/lcov-report/Tab.tsx.html +261 -147
- package/coverage/lcov-report/TreeGroup.tsx.html +313 -0
- package/coverage/lcov-report/app-bar/AppBar.tsx.html +178 -28
- package/coverage/lcov-report/app-bar/index.html +7 -7
- package/coverage/lcov-report/button/TooltippedButton.tsx.html +445 -0
- package/coverage/lcov-report/button/index.html +10 -10
- package/coverage/lcov-report/card/Card.tsx.html +349 -0
- package/coverage/lcov-report/card/CardContent.tsx.html +223 -0
- package/coverage/lcov-report/card/ClickableCard.tsx.html +400 -0
- package/coverage/lcov-report/card/index.html +21 -21
- package/coverage/lcov-report/card/styles.ts.html +428 -392
- package/coverage/lcov-report/cssUtils.ts.html +86 -59
- package/coverage/lcov-report/draggable/index.html +21 -36
- package/coverage/lcov-report/draggable/useDraggable.ts.html +377 -368
- package/coverage/lcov-report/draggable/utils.ts.html +96 -195
- package/coverage/lcov-report/expansion-panel/ExpansionList.tsx.html +211 -0
- package/coverage/lcov-report/expansion-panel/ExpansionPanel.tsx.html +12 -15
- package/coverage/lcov-report/expansion-panel/index.html +34 -19
- package/coverage/lcov-report/expansion-panel/useExpansionPanels.ts.html +928 -0
- package/coverage/lcov-report/form/MenuItemInputToggle.tsx.html +2 -2
- package/coverage/lcov-report/form/Select.tsx.html +1663 -0
- package/coverage/lcov-report/form/Slider.tsx.html +163 -40
- package/coverage/lcov-report/form/index.html +21 -21
- package/coverage/lcov-report/icon/FontIcon.tsx.html +28 -28
- package/coverage/lcov-report/icon/index.html +1 -1
- package/coverage/lcov-report/index.html +41 -11
- package/coverage/lcov-report/interaction/UserInteractionModeProvider.tsx.html +679 -0
- package/coverage/lcov-report/interaction/config.ts.html +181 -0
- package/coverage/lcov-report/interaction/index.html +33 -18
- package/coverage/lcov-report/list/List.tsx.html +490 -0
- package/coverage/lcov-report/list/ListItem.tsx.html +886 -0
- package/coverage/lcov-report/list/ListItemAddon.tsx.html +286 -0
- package/coverage/lcov-report/list/ListItemChildren.tsx.html +445 -0
- package/coverage/lcov-report/list/ListItemLink.tsx.html +5 -5
- package/coverage/lcov-report/list/index.html +81 -6
- package/coverage/lcov-report/list/listItemStyles.ts.html +703 -0
- package/coverage/lcov-report/media-queries/appSize.ts.html +1 -1
- package/coverage/lcov-report/media-queries/index.html +1 -1
- package/coverage/lcov-report/menu/Menu.tsx.html +37 -19
- package/coverage/lcov-report/menu/index.html +14 -44
- package/coverage/lcov-report/sheet/index.html +8 -8
- package/coverage/lcov-report/sheet/styles.ts.html +376 -0
- package/coverage/lcov-report/skeletonPlaceholderUtils.ts.html +400 -0
- package/coverage/lcov-report/src/CoreProviders.tsx.html +20 -20
- package/coverage/lcov-report/src/NoSsr.tsx.html +1 -1
- package/coverage/lcov-report/src/SsrProvider.tsx.html +10 -10
- package/coverage/lcov-report/src/app-bar/AppBar.tsx.html +143 -23
- package/coverage/lcov-report/src/app-bar/AppBarTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/app-bar/index.html +5 -5
- package/coverage/lcov-report/src/avatar/Avatar.tsx.html +2 -2
- package/coverage/lcov-report/src/avatar/index.html +1 -1
- package/coverage/lcov-report/src/avatar/styles.ts.html +1 -1
- package/coverage/lcov-report/src/badge/Badge.tsx.html +1 -1
- package/coverage/lcov-report/src/badge/index.html +1 -1
- package/coverage/lcov-report/src/box/Box.tsx.html +1 -1
- package/coverage/lcov-report/src/box/index.html +23 -8
- package/coverage/lcov-report/src/box/styles.ts.html +46 -46
- package/coverage/lcov-report/src/button/AsyncButton.tsx.html +1 -1
- package/coverage/lcov-report/src/button/Button.tsx.html +84 -84
- package/coverage/lcov-report/src/button/ButtonUnstyled.tsx.html +1 -1
- package/coverage/lcov-report/src/button/FloatingActionButton.tsx.html +11 -11
- package/coverage/lcov-report/src/button/TooltippedButton.tsx.html +445 -0
- package/coverage/lcov-report/src/button/buttonStyles.ts.html +52 -52
- package/coverage/lcov-report/src/button/buttonUnstyledStyles.ts.html +1 -1
- package/coverage/lcov-report/src/button/index.html +83 -8
- package/coverage/lcov-report/src/card/Card.tsx.html +37 -31
- package/coverage/lcov-report/src/card/CardContent.tsx.html +4 -4
- package/coverage/lcov-report/src/card/CardFooter.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardSubtitle.tsx.html +1 -1
- package/coverage/lcov-report/src/card/CardTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/card/ClickableCard.tsx.html +400 -0
- package/coverage/lcov-report/src/card/index.html +24 -9
- package/coverage/lcov-report/src/card/styles.ts.html +58 -31
- package/coverage/lcov-report/src/chip/Chip.tsx.html +1 -1
- package/coverage/lcov-report/src/chip/index.html +7 -7
- package/coverage/lcov-report/src/chip/styles.ts.html +9 -12
- package/coverage/lcov-report/src/cssUtils.ts.html +53 -53
- package/coverage/lcov-report/src/delegateEvent.ts.html +109 -109
- package/coverage/lcov-report/src/dialog/Dialog.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogContent.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogFooter.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/DialogTitle.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/FixedDialog.tsx.html +1 -1
- package/coverage/lcov-report/src/dialog/NestedDialogProvider.ts.html +1 -1
- package/coverage/lcov-report/src/dialog/index.html +129 -9
- package/coverage/lcov-report/src/dialog/styles.ts.html +1 -1
- package/coverage/lcov-report/src/divider/Divider.tsx.html +4 -7
- package/coverage/lcov-report/src/divider/index.html +5 -5
- package/coverage/lcov-report/src/divider/styles.ts.html +1 -1
- package/coverage/lcov-report/src/draggable/index.html +27 -27
- package/coverage/lcov-report/src/draggable/useDraggable.ts.html +47 -44
- package/coverage/lcov-report/src/draggable/utils.ts.html +29 -131
- package/coverage/lcov-report/src/expansion-panel/ExpansionList.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/ExpansionPanel.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/ExpansionPanelHeader.tsx.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/index.html +8 -8
- package/coverage/lcov-report/src/expansion-panel/useExpansionList.ts.html +1 -1
- package/coverage/lcov-report/src/expansion-panel/useExpansionPanels.ts.html +36 -24
- package/coverage/lcov-report/src/focus/index.html +1 -1
- package/coverage/lcov-report/src/focus/useFocusContainer.ts.html +1 -1
- package/coverage/lcov-report/src/focus/utils.ts.html +1 -1
- package/coverage/lcov-report/src/form/Checkbox.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Fieldset.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FileInput.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Form.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FormMessage.tsx.html +1 -1
- package/coverage/lcov-report/src/form/FormMessageContainer.tsx.html +5 -5
- package/coverage/lcov-report/src/form/FormMessageCounter.tsx.html +1 -1
- package/coverage/lcov-report/src/form/InputToggle.tsx.html +110 -110
- package/coverage/lcov-report/src/form/InputToggleIcon.tsx.html +63 -63
- package/coverage/lcov-report/src/form/Label.tsx.html +98 -98
- package/coverage/lcov-report/src/form/Legend.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemCheckbox.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemFileInput.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemInputToggle.tsx.html +2 -2
- package/coverage/lcov-report/src/form/MenuItemRadio.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemSwitch.tsx.html +1 -1
- package/coverage/lcov-report/src/form/MenuItemTextField.tsx.html +1 -1
- package/coverage/lcov-report/src/form/NativeSelect.tsx.html +1 -1
- package/coverage/lcov-report/src/form/OptGroup.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Option.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Password.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Radio.tsx.html +3 -3
- package/coverage/lcov-report/src/form/Select.tsx.html +29 -5
- package/coverage/lcov-report/src/form/SelectValue.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Slider.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderMark.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderMarkLabel.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderThumb.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderTrack.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderValueMarks.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SliderValueTooltip.tsx.html +1 -1
- package/coverage/lcov-report/src/form/Switch.tsx.html +1 -1
- package/coverage/lcov-report/src/form/SwitchTrack.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextArea.tsx.html +2 -2
- package/coverage/lcov-report/src/form/TextField.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldAddon.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/form/TextFieldContainerStyles.ts.html +8 -8
- package/coverage/lcov-report/src/form/fileUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/formConfig.ts.html +1 -1
- package/coverage/lcov-report/src/form/formMessageStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/index.html +940 -10
- package/coverage/lcov-report/src/form/inputToggleStyles.ts.html +30 -30
- package/coverage/lcov-report/src/form/nativeSelectStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/optionStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/passwordStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/selectStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/selectUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/sliderUtils.ts.html +1 -1
- package/coverage/lcov-report/src/form/switchStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/textAreaStyles.ts.html +3 -3
- package/coverage/lcov-report/src/form/textFieldStyles.ts.html +1 -1
- package/coverage/lcov-report/src/form/useCheckboxGroup.ts.html +1 -1
- package/coverage/lcov-report/src/form/useFileUpload.ts.html +1 -1
- package/coverage/lcov-report/src/form/useListboxProvider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useNumberField.ts.html +1 -1
- package/coverage/lcov-report/src/form/useRadioGroup.ts.html +47 -47
- package/coverage/lcov-report/src/form/useRangeSlider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useResizingTextArea.ts.html +1 -1
- package/coverage/lcov-report/src/form/useSlider.ts.html +1 -1
- package/coverage/lcov-report/src/form/useTextField.ts.html +1 -1
- package/coverage/lcov-report/src/form/utils.ts.html +1 -1
- package/coverage/lcov-report/src/form/validation.ts.html +1 -1
- package/coverage/lcov-report/src/hoverMode/index.html +1 -1
- package/coverage/lcov-report/src/hoverMode/useHoverMode.ts.html +98 -98
- package/coverage/lcov-report/src/hoverMode/useHoverModeProvider.ts.html +19 -19
- package/coverage/lcov-report/src/icon/FontIcon.tsx.html +28 -28
- package/coverage/lcov-report/src/icon/IconRotator.tsx.html +5 -8
- package/coverage/lcov-report/src/icon/MaterialIcon.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/MaterialSymbol.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/SVGIcon.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/TextIconSpacing.tsx.html +1 -1
- package/coverage/lcov-report/src/icon/iconConfig.tsx.html +8 -8
- package/coverage/lcov-report/src/icon/index.html +7 -7
- package/coverage/lcov-report/src/icon/material.ts.html +1 -1
- package/coverage/lcov-report/src/icon/materialConfig.ts.html +1 -1
- package/coverage/lcov-report/src/icon/styles.ts.html +38 -38
- package/coverage/lcov-report/src/index.html +354 -9
- package/coverage/lcov-report/src/interaction/Ripple.tsx.html +1 -1
- package/coverage/lcov-report/src/interaction/RippleContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/interaction/UserInteractionModeProvider.tsx.html +87 -87
- package/coverage/lcov-report/src/interaction/config.ts.html +7 -7
- package/coverage/lcov-report/src/interaction/index.html +1 -1
- package/coverage/lcov-report/src/interaction/useElementInteraction.tsx.html +123 -123
- package/coverage/lcov-report/src/interaction/useHigherContrastChildren.tsx.html +17 -17
- package/coverage/lcov-report/src/interaction/utils.ts.html +1 -1
- package/coverage/lcov-report/src/layout/LayoutAppBar.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/LayoutNav.tsx.html +60 -60
- package/coverage/lcov-report/src/layout/LayoutWindowSplitter.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/Main.tsx.html +1 -1
- package/coverage/lcov-report/src/layout/index.html +15 -15
- package/coverage/lcov-report/src/layout/layoutNavStyles.ts.html +5 -5
- package/coverage/lcov-report/src/layout/layoutWindowSplitterStyles.ts.html +1 -1
- package/coverage/lcov-report/src/layout/mainStyles.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useExpandableLayout.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useHorizontalLayoutTransition.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useLayoutAppBarHeight.ts.html +20 -32
- package/coverage/lcov-report/src/layout/useLayoutTree.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useLayoutWindowSplitter.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useMainTabIndex.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useResizableLayout.ts.html +1 -1
- package/coverage/lcov-report/src/layout/useTemporaryLayout.ts.html +1 -1
- package/coverage/lcov-report/src/link/Link.tsx.html +1 -1
- package/coverage/lcov-report/src/link/SkipToMainContent.tsx.html +1 -1
- package/coverage/lcov-report/src/link/index.html +1 -1
- package/coverage/lcov-report/src/link/styles.ts.html +1 -1
- package/coverage/lcov-report/src/list/List.tsx.html +30 -30
- package/coverage/lcov-report/src/list/ListItem.tsx.html +37 -16
- package/coverage/lcov-report/src/list/ListItemAddon.tsx.html +13 -7
- package/coverage/lcov-report/src/list/ListItemChildren.tsx.html +12 -6
- package/coverage/lcov-report/src/list/ListItemLink.tsx.html +4 -4
- package/coverage/lcov-report/src/list/ListItemText.tsx.html +1 -1
- package/coverage/lcov-report/src/list/ListSubheader.tsx.html +1 -1
- package/coverage/lcov-report/src/list/getListItemHeight.ts.html +1 -1
- package/coverage/lcov-report/src/list/index.html +11 -11
- package/coverage/lcov-report/src/list/listItemStyles.ts.html +39 -9
- package/coverage/lcov-report/src/media-queries/AppSizeProvider.tsx.html +54 -54
- package/coverage/lcov-report/src/media-queries/appSize.ts.html +1 -1
- package/coverage/lcov-report/src/media-queries/index.html +1 -1
- package/coverage/lcov-report/src/media-queries/useMediaQuery.ts.html +25 -25
- package/coverage/lcov-report/src/menu/DropdownMenu.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/Menu.tsx.html +2 -2
- package/coverage/lcov-report/src/menu/MenuBar.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuButton.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuConfigurationProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItem.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemButton.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemGroup.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuItemSeparator.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuSheet.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuVisibilityProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuWidget.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/MenuWidgetKeyboardProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/menu/index.html +1 -1
- package/coverage/lcov-report/src/menu/useContextMenu.ts.html +1 -1
- package/coverage/lcov-report/src/menu/useMenuBarProvider.ts.html +1 -1
- package/coverage/lcov-report/src/menu/utils.ts.html +1 -1
- package/coverage/lcov-report/src/movement/constants.ts.html +1 -1
- package/coverage/lcov-report/src/movement/findMatchIndex.ts.html +1 -1
- package/coverage/lcov-report/src/movement/index.html +1 -1
- package/coverage/lcov-report/src/movement/useKeyboardMovementProvider.ts.html +3 -3
- package/coverage/lcov-report/src/movement/utils.ts.html +1 -1
- package/coverage/lcov-report/src/overlay/Overlay.tsx.html +1 -1
- package/coverage/lcov-report/src/overlay/index.html +1 -1
- package/coverage/lcov-report/src/overlay/overlayStyles.ts.html +1 -1
- package/coverage/lcov-report/src/portal/Portal.tsx.html +7 -7
- package/coverage/lcov-report/src/portal/PortalContainerProvider.tsx.html +59 -35
- package/coverage/lcov-report/src/portal/index.html +7 -7
- package/coverage/lcov-report/src/positioning/constants.ts.html +1 -1
- package/coverage/lcov-report/src/positioning/createHorizontalPosition.ts.html +47 -47
- package/coverage/lcov-report/src/positioning/createVerticalPosition.ts.html +55 -55
- package/coverage/lcov-report/src/positioning/getFixedPosition.ts.html +89 -89
- package/coverage/lcov-report/src/positioning/index.html +1 -1
- package/coverage/lcov-report/src/positioning/useFixedPositioning.ts.html +193 -193
- package/coverage/lcov-report/src/positioning/utils.ts.html +59 -59
- package/coverage/lcov-report/src/progress/CircularProgress.tsx.html +3 -3
- package/coverage/lcov-report/src/progress/LinearProgress.tsx.html +3 -3
- package/coverage/lcov-report/src/progress/getProgressA11y.ts.html +1 -1
- package/coverage/lcov-report/src/progress/index.html +20 -5
- package/coverage/lcov-report/src/responsive-item/ResponsiveItemContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/responsive-item/ResponsiveItemOverlay.tsx.html +1 -1
- package/coverage/lcov-report/src/responsive-item/index.html +1 -1
- package/coverage/lcov-report/src/responsive-item/styles.ts.html +1 -1
- package/coverage/lcov-report/src/scroll/ScrollLock.tsx.html +1 -1
- package/coverage/lcov-report/src/scroll/getScrollbarWidth.ts.html +1 -1
- package/coverage/lcov-report/src/scroll/index.html +1 -1
- package/coverage/lcov-report/src/scroll/useScrollLock.ts.html +1 -1
- package/coverage/lcov-report/src/segmented-button/SegmentedButton.tsx.html +1 -1
- package/coverage/lcov-report/src/segmented-button/SegmentedButtonContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/segmented-button/index.html +1 -1
- package/coverage/lcov-report/src/segmented-button/segmentedButtonContainerStyles.ts.html +1 -1
- package/coverage/lcov-report/src/segmented-button/segmentedButtonStyles.ts.html +1 -1
- package/coverage/lcov-report/src/sheet/Sheet.tsx.html +1 -1
- package/coverage/lcov-report/src/sheet/index.html +5 -5
- package/coverage/lcov-report/src/sheet/styles.ts.html +45 -48
- package/coverage/lcov-report/src/snackbar/DefaultToastRenderer.tsx.html +80 -80
- package/coverage/lcov-report/src/snackbar/Snackbar.tsx.html +21 -45
- package/coverage/lcov-report/src/snackbar/Toast.tsx.html +108 -93
- package/coverage/lcov-report/src/snackbar/ToastActionButton.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastCloseButton.tsx.html +1 -1
- package/coverage/lcov-report/src/snackbar/ToastContent.tsx.html +48 -48
- package/coverage/lcov-report/src/snackbar/ToastManager.tsx.html +278 -275
- package/coverage/lcov-report/src/snackbar/ToastManagerProvider.tsx.html +6 -6
- package/coverage/lcov-report/src/snackbar/index.html +19 -19
- package/coverage/lcov-report/src/snackbar/snackbarStyles.ts.html +15 -15
- package/coverage/lcov-report/src/snackbar/toastContentStyles.ts.html +14 -14
- package/coverage/lcov-report/src/snackbar/toastStyles.ts.html +27 -27
- package/coverage/lcov-report/src/snackbar/useCurrentToastActions.ts.html +1 -1
- package/coverage/lcov-report/src/suspense/CircularProgressSuspense.tsx.html +1 -1
- package/coverage/lcov-report/src/suspense/NullSuspense.tsx.html +1 -1
- package/coverage/lcov-report/src/suspense/index.html +20 -5
- package/coverage/lcov-report/src/table/Table.tsx.html +45 -114
- package/coverage/lcov-report/src/table/TableBody.tsx.html +43 -43
- package/coverage/lcov-report/src/table/TableCell.tsx.html +109 -298
- package/coverage/lcov-report/src/table/TableCellContent.tsx.html +81 -27
- package/coverage/lcov-report/src/table/TableCheckbox.tsx.html +16 -10
- package/coverage/lcov-report/src/table/TableConfigurationProvider.tsx.html +20 -20
- package/coverage/lcov-report/src/table/TableContainer.tsx.html +7 -28
- package/coverage/lcov-report/src/table/TableContainerProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/table/TableFooter.tsx.html +64 -43
- package/coverage/lcov-report/src/table/TableHeader.tsx.html +41 -92
- package/coverage/lcov-report/src/table/TableRadio.tsx.html +676 -0
- package/coverage/lcov-report/src/table/TableRow.tsx.html +38 -119
- package/coverage/lcov-report/src/table/index.html +151 -46
- package/coverage/lcov-report/src/table/tableCellStyles.ts.html +334 -0
- package/coverage/lcov-report/src/table/tableContainerStyles.ts.html +142 -0
- package/coverage/lcov-report/src/table/tableFooterStyles.ts.html +166 -0
- package/coverage/lcov-report/src/table/tableHeaderStyles.ts.html +172 -0
- package/coverage/lcov-report/src/table/tableRowStyles.ts.html +169 -0
- package/coverage/lcov-report/src/table/tableStyles.ts.html +157 -0
- package/coverage/lcov-report/src/tabs/Tab.tsx.html +263 -143
- package/coverage/lcov-report/src/tabs/TabList.tsx.html +1 -1
- package/coverage/lcov-report/src/tabs/TabListScrollButton.tsx.html +1 -1
- package/coverage/lcov-report/src/tabs/index.html +25 -25
- package/coverage/lcov-report/src/tabs/tabIndicatorStyles.ts.html +37 -7
- package/coverage/lcov-report/src/tabs/tabListScrollButtonStyles.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/tabListStyles.ts.html +2 -2
- package/coverage/lcov-report/src/tabs/tabStyles.ts.html +64 -28
- package/coverage/lcov-report/src/tabs/useTabList.ts.html +44 -38
- package/coverage/lcov-report/src/tabs/useTabs.ts.html +1 -1
- package/coverage/lcov-report/src/tabs/utils.ts.html +3 -3
- package/coverage/lcov-report/src/test-utils/IntersectionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/ResizeObserver.ts.html +205 -205
- package/coverage/lcov-report/src/test-utils/data-testid.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/drag.ts.html +1 -1
- package/coverage/lcov-report/src/test-utils/index.html +4 -4
- package/coverage/lcov-report/src/test-utils/jest-setup.ts.html +9 -9
- package/coverage/lcov-report/src/test-utils/matchMedia.ts.html +4 -4
- package/coverage/lcov-report/src/test-utils/polyfills/IntersectionObserver.ts.html +4 -4
- package/coverage/lcov-report/src/test-utils/polyfills/ResizeObserver.ts.html +3 -3
- package/coverage/lcov-report/src/test-utils/polyfills/index.html +1 -1
- package/coverage/lcov-report/src/test-utils/polyfills/matchMedia.ts.html +6 -6
- package/coverage/lcov-report/src/test-utils/polyfills/offsetParent.ts.html +14 -14
- package/coverage/lcov-report/src/test-utils/polyfills/scrollIntoView.ts.html +5 -5
- package/coverage/lcov-report/src/test-utils/render.tsx.html +21 -21
- package/coverage/lcov-report/src/test-utils/timers.ts.html +1 -1
- package/coverage/lcov-report/src/theme/LocalStorageColorSchemeProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/theme/ThemeProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/theme/colors.ts.html +1 -1
- package/coverage/lcov-report/src/theme/cssVars.ts.html +1 -1
- package/coverage/lcov-report/src/theme/index.html +1 -1
- package/coverage/lcov-report/src/theme/useCSSVariables.ts.html +25 -25
- package/coverage/lcov-report/src/theme/useColorScheme.ts.html +1 -1
- package/coverage/lcov-report/src/theme/useColorSchemeMetaTag.ts.html +1 -1
- package/coverage/lcov-report/src/theme/useColorSchemeProvider.ts.html +1 -1
- package/coverage/lcov-report/src/theme/usePrefersColorScheme.ts.html +1 -1
- package/coverage/lcov-report/src/theme/utils.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/Tooltip.tsx.html +62 -62
- package/coverage/lcov-report/src/tooltip/TooltipHoverModeProvider.tsx.html +3 -3
- package/coverage/lcov-report/src/tooltip/constants.ts.html +1 -1
- package/coverage/lcov-report/src/tooltip/index.html +9 -9
- package/coverage/lcov-report/src/tooltip/tooltipStyles.ts.html +12 -12
- package/coverage/lcov-report/src/tooltip/useTooltip.ts.html +243 -222
- package/coverage/lcov-report/src/tooltip/useTooltipPosition.ts.html +27 -27
- package/coverage/lcov-report/src/tooltip/utils.ts.html +22 -22
- package/coverage/lcov-report/src/transition/CSSTransition.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/Collapse.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/CrossFade.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/ScaleTransition.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/SkeletonPlaceholder.tsx.html +374 -338
- package/coverage/lcov-report/src/transition/Slide.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/SlideContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/transition/collapseStyles.ts.html +13 -13
- package/coverage/lcov-report/src/transition/config.ts.html +5 -5
- package/coverage/lcov-report/src/transition/index.html +47 -32
- package/coverage/lcov-report/src/transition/maxWidthTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/skeletonPlaceholderUtils.ts.html +400 -0
- package/coverage/lcov-report/src/transition/useCSSTransition.ts.html +68 -68
- package/coverage/lcov-report/src/transition/useCarousel.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useCollapseTransition.ts.html +87 -87
- package/coverage/lcov-report/src/transition/useCrossFadeTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useMaxWidthTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useScaleTransition.ts.html +18 -18
- package/coverage/lcov-report/src/transition/useSkeletonPlaceholder.ts.html +607 -562
- package/coverage/lcov-report/src/transition/useSlideTransition.ts.html +1 -1
- package/coverage/lcov-report/src/transition/useTransition.ts.html +237 -237
- package/coverage/lcov-report/src/transition/utils.ts.html +43 -43
- package/coverage/lcov-report/src/tree/DefaultTreeItemRenderer.tsx.html +18 -6
- package/coverage/lcov-report/src/tree/Tree.tsx.html +20 -8
- package/coverage/lcov-report/src/tree/TreeGroup.tsx.html +45 -45
- package/coverage/lcov-report/src/tree/TreeItem.tsx.html +7 -10
- package/coverage/lcov-report/src/tree/TreeItemExpander.tsx.html +1 -1
- package/coverage/lcov-report/src/tree/TreeProvider.tsx.html +8 -8
- package/coverage/lcov-report/src/tree/index.html +11 -11
- package/coverage/lcov-report/src/tree/styles.ts.html +8 -35
- package/coverage/lcov-report/src/tree/useTree.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeExpansion.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeItems.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeMovement.ts.html +1 -1
- package/coverage/lcov-report/src/tree/useTreeSelection.ts.html +1 -1
- package/coverage/lcov-report/src/tree/utils.ts.html +1 -1
- package/coverage/lcov-report/src/typography/SrOnly.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/TextContainer.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/Typography.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/WritingDirectionProvider.tsx.html +1 -1
- package/coverage/lcov-report/src/typography/index.html +1 -1
- package/coverage/lcov-report/src/useAsyncAction.ts.html +1 -1
- package/coverage/lcov-report/src/useDebouncedFunction.ts.html +1 -1
- package/coverage/lcov-report/src/useDropzone.ts.html +1 -1
- package/coverage/lcov-report/src/useElementSize.ts.html +334 -0
- package/coverage/lcov-report/src/useEnsuredId.ts.html +8 -8
- package/coverage/lcov-report/src/useEnsuredRef.ts.html +14 -14
- package/coverage/lcov-report/src/useEnsuredState.ts.html +1 -1
- package/coverage/lcov-report/src/useHtmlClassName.ts.html +1 -1
- package/coverage/lcov-report/src/useIntersectionObserver.ts.html +1 -1
- package/coverage/lcov-report/src/useIsomorphicLayoutEffect.ts.html +1 -1
- package/coverage/lcov-report/src/useLocalStorage.ts.html +1 -1
- package/coverage/lcov-report/src/useOrientation.ts.html +32 -32
- package/coverage/lcov-report/src/usePageInactive.ts.html +30 -30
- package/coverage/lcov-report/src/useResizeListener.ts.html +38 -32
- package/coverage/lcov-report/src/useResizeObserver.ts.html +68 -179
- package/coverage/lcov-report/src/useThrottledFunction.ts.html +1 -1
- package/coverage/lcov-report/src/useToggle.ts.html +1 -1
- package/coverage/lcov-report/src/useUnmounted.ts.html +1 -1
- package/coverage/lcov-report/src/useWindowSize.ts.html +124 -94
- package/coverage/lcov-report/src/utils/RenderRecursively.tsx.html +1 -1
- package/coverage/lcov-report/src/utils/alphaNumericSort.ts.html +1 -1
- package/coverage/lcov-report/src/utils/applyRef.ts.html +11 -11
- package/coverage/lcov-report/src/utils/bem.ts.html +45 -45
- package/coverage/lcov-report/src/utils/filters.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getClientPosition.ts.html +1 -1
- package/coverage/lcov-report/src/utils/getMiddleOfRange.ts.html +163 -0
- package/coverage/lcov-report/src/utils/getPercentage.ts.html +9 -9
- package/coverage/lcov-report/src/utils/getRangeDefaultValue.ts.html +66 -87
- package/coverage/lcov-report/src/utils/getRangeSteps.ts.html +7 -7
- package/coverage/lcov-report/src/utils/identity.ts.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +46 -31
- package/coverage/lcov-report/src/utils/isElementVisible.ts.html +1 -1
- package/coverage/lcov-report/src/utils/isValidNumber.ts.html +118 -0
- package/coverage/lcov-report/src/utils/loop.ts.html +1 -1
- package/coverage/lcov-report/src/utils/nearest.ts.html +21 -21
- package/coverage/lcov-report/src/utils/parseCssLengthUnit.ts.html +18 -18
- package/coverage/lcov-report/src/utils/randomInt.ts.html +52 -52
- package/coverage/lcov-report/src/utils/wait.ts.html +1 -1
- package/coverage/lcov-report/src/utils/withinRange.ts.html +1 -1
- package/coverage/lcov-report/src/window-splitter/WindowSplitter.tsx.html +1 -1
- package/coverage/lcov-report/src/window-splitter/index.html +14 -14
- package/coverage/lcov-report/src/window-splitter/useWindowSplitter.ts.html +19 -67
- package/coverage/lcov-report/src/window-splitter/useWindowSplitterMaxValue.ts.html +256 -0
- package/coverage/lcov-report/suspense/CircularProgressSuspense.tsx.html +283 -0
- package/coverage/lcov-report/suspense/NullSuspense.tsx.html +202 -0
- package/coverage/lcov-report/suspense/index.html +131 -0
- package/coverage/lcov-report/tabIndicatorStyles.ts.html +43 -13
- package/coverage/lcov-report/tabListStyles.ts.html +35 -26
- package/coverage/lcov-report/tabStyles.ts.html +68 -26
- package/coverage/lcov-report/tabs/Tab.tsx.html +233 -143
- package/coverage/lcov-report/tabs/TabList.tsx.html +85 -85
- package/coverage/lcov-report/tabs/index.html +56 -11
- package/coverage/lcov-report/tabs/tabIndicatorStyles.ts.html +187 -0
- package/coverage/lcov-report/tabs/tabListStyles.ts.html +241 -0
- package/coverage/lcov-report/tabs/tabStyles.ts.html +253 -0
- package/coverage/lcov-report/tabs/useTabList.ts.html +736 -0
- package/coverage/lcov-report/tabs/useTabs.ts.html +1 -1
- package/coverage/lcov-report/tabs/utils.ts.html +1 -1
- package/coverage/lcov-report/test-utils/index.html +21 -21
- package/coverage/lcov-report/test-utils/use.ts.html +187 -0
- package/coverage/lcov-report/tooltip/Tooltip.tsx.html +62 -62
- package/coverage/lcov-report/tooltip/index.html +10 -70
- package/coverage/lcov-report/tooltip/useTooltip.ts.html +243 -222
- package/coverage/lcov-report/transition/SkeletonPlaceholder.tsx.html +595 -0
- package/coverage/lcov-report/transition/config.ts.html +5 -5
- package/coverage/lcov-report/transition/index.html +1 -1
- package/coverage/lcov-report/transition/skeletonPlaceholderUtils.ts.html +400 -0
- package/coverage/lcov-report/transition/useSkeletonPlaceholder.ts.html +952 -0
- package/coverage/lcov-report/tree/TreeItem.tsx.html +7 -10
- package/coverage/lcov-report/tree/index.html +12 -27
- package/coverage/lcov-report/tree/styles.ts.html +538 -0
- package/coverage/lcov-report/typography/Typography.tsx.html +110 -110
- package/coverage/lcov-report/typography/WritingDirectionProvider.tsx.html +75 -75
- package/coverage/lcov-report/typography/index.html +15 -15
- package/coverage/lcov-report/useSkeletonPlaceholder.ts.html +952 -0
- package/coverage/lcov-report/useTabList.ts.html +142 -136
- package/coverage/lcov-report/useWindowSplitter.ts.html +640 -0
- package/coverage/lcov-report/useWindowSplitterMaxValue.ts.html +256 -0
- package/coverage/lcov-report/utils/index.html +16 -31
- package/coverage/lcov-report/utils/isElementVisible.ts.html +14 -14
- package/coverage/lcov-report/utils/randomInt.ts.html +148 -0
- package/coverage/lcov-report/utils/wait.ts.html +1 -1
- package/coverage/lcov-report/window-splitter/index.html +21 -36
- package/coverage/lcov-report/window-splitter/useWindowSplitter.ts.html +406 -328
- package/coverage/lcov.info +474 -0
- package/dist/_box-shadows.scss +12 -2
- package/dist/_core.scss +0 -2
- package/dist/_utils.scss +22 -0
- package/dist/app-bar/AppBar.d.ts +4 -9
- package/dist/app-bar/AppBar.js +29 -7
- package/dist/app-bar/AppBar.js.map +1 -1
- package/dist/app-bar/_app-bar.scss +7 -9
- package/dist/avatar/Avatar.d.ts +1 -1
- package/dist/avatar/Avatar.js.map +1 -1
- package/dist/badge/_badge.scss +12 -7
- package/dist/button/TooltippedButton.d.ts +62 -0
- package/dist/button/TooltippedButton.js +62 -0
- package/dist/button/TooltippedButton.js.map +1 -0
- package/dist/card/Card.js +3 -2
- package/dist/card/Card.js.map +1 -1
- package/dist/card/CardContent.js +1 -1
- package/dist/card/CardContent.js.map +1 -1
- package/dist/card/ClickableCard.d.ts +42 -0
- package/dist/card/ClickableCard.js +73 -0
- package/dist/card/ClickableCard.js.map +1 -0
- package/dist/card/_card.scss +15 -9
- package/dist/card/styles.d.ts +8 -0
- package/dist/card/styles.js +6 -3
- package/dist/card/styles.js.map +1 -1
- package/dist/dialog/_dialog.scss +28 -15
- package/dist/divider/_divider.scss +9 -10
- package/dist/draggable/useDraggable.d.ts +12 -23
- package/dist/draggable/useDraggable.js +15 -6
- package/dist/draggable/useDraggable.js.map +1 -1
- package/dist/draggable/utils.d.ts +4 -17
- package/dist/draggable/utils.js +9 -25
- package/dist/draggable/utils.js.map +1 -1
- package/dist/expansion-panel/_expansion-panel.scss +25 -16
- package/dist/expansion-panel/useExpansionPanels.d.ts +5 -3
- package/dist/expansion-panel/useExpansionPanels.js +16 -9
- package/dist/expansion-panel/useExpansionPanels.js.map +1 -1
- package/dist/form/MenuItemInputToggle.d.ts +1 -1
- package/dist/form/MenuItemInputToggle.js.map +1 -1
- package/dist/form/Select.js +6 -1
- package/dist/form/Select.js.map +1 -1
- package/dist/form/_form.scss +40 -22
- package/dist/icon/IconRotator.js +2 -3
- package/dist/icon/IconRotator.js.map +1 -1
- package/dist/icon/_icon.scss +7 -2
- package/dist/index.d.ts +5 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/interaction/_interaction.scss +12 -9
- package/dist/layout/useLayoutAppBarHeight.js +5 -9
- package/dist/layout/useLayoutAppBarHeight.js.map +1 -1
- package/dist/link/_link.scss +26 -12
- package/dist/list/ListItem.d.ts +8 -3
- package/dist/list/ListItem.js +4 -3
- package/dist/list/ListItem.js.map +1 -1
- package/dist/list/ListItemAddon.js +2 -1
- package/dist/list/ListItemAddon.js.map +1 -1
- package/dist/list/ListItemChildren.js +3 -2
- package/dist/list/ListItemChildren.js.map +1 -1
- package/dist/list/ListItemLink.js +3 -3
- package/dist/list/ListItemLink.js.map +1 -1
- package/dist/list/_list.scss +29 -18
- package/dist/list/listItemStyles.d.ts +9 -1
- package/dist/list/listItemStyles.js +5 -5
- package/dist/list/listItemStyles.js.map +1 -1
- package/dist/list/types.d.ts +14 -4
- package/dist/list/types.js.map +1 -1
- package/dist/menu/Menu.d.ts +1 -1
- package/dist/menu/Menu.js.map +1 -1
- package/dist/menu/_menu.scss +3 -14
- package/dist/portal/PortalContainerProvider.d.ts +2 -2
- package/dist/portal/PortalContainerProvider.js +6 -1
- package/dist/portal/PortalContainerProvider.js.map +1 -1
- package/dist/sheet/styles.d.ts +14 -15
- package/dist/sheet/styles.js.map +1 -1
- package/dist/table/TableCheckbox.d.ts +3 -2
- package/dist/table/TableCheckbox.js +4 -2
- package/dist/table/TableCheckbox.js.map +1 -1
- package/dist/table/TableRadio.d.ts +3 -2
- package/dist/table/TableRadio.js +4 -2
- package/dist/table/TableRadio.js.map +1 -1
- package/dist/table/tableCellStyles.d.ts +1 -1
- package/dist/table/tableCellStyles.js.map +1 -1
- package/dist/tabs/Tab.d.ts +24 -3
- package/dist/tabs/Tab.js +15 -8
- package/dist/tabs/Tab.js.map +1 -1
- package/dist/tabs/_tabs.scss +28 -16
- package/dist/tabs/tabIndicatorStyles.d.ts +2 -1
- package/dist/tabs/tabIndicatorStyles.js +6 -3
- package/dist/tabs/tabIndicatorStyles.js.map +1 -1
- package/dist/tabs/tabListStyles.js +2 -1
- package/dist/tabs/tabListStyles.js.map +1 -1
- package/dist/tabs/tabStyles.d.ts +2 -0
- package/dist/tabs/tabStyles.js +6 -3
- package/dist/tabs/tabStyles.js.map +1 -1
- package/dist/tabs/useTabList.d.ts +3 -3
- package/dist/tabs/useTabList.js +9 -6
- package/dist/tabs/useTabList.js.map +1 -1
- package/dist/tooltip/useTooltip.d.ts +14 -14
- package/dist/tooltip/useTooltip.js.map +1 -1
- package/dist/transition/SkeletonPlaceholder.d.ts +2 -2
- package/dist/transition/SkeletonPlaceholder.js +8 -3
- package/dist/transition/SkeletonPlaceholder.js.map +1 -1
- package/dist/transition/_transition.scss +12 -7
- package/dist/transition/skeletonPlaceholderUtils.d.ts +77 -0
- package/dist/transition/skeletonPlaceholderUtils.js +38 -0
- package/dist/transition/skeletonPlaceholderUtils.js.map +1 -0
- package/dist/transition/useSkeletonPlaceholder.d.ts +12 -7
- package/dist/transition/useSkeletonPlaceholder.js +38 -37
- package/dist/transition/useSkeletonPlaceholder.js.map +1 -1
- package/dist/tree/DefaultTreeItemRenderer.d.ts +2 -2
- package/dist/tree/DefaultTreeItemRenderer.js.map +1 -1
- package/dist/tree/Tree.d.ts +8 -4
- package/dist/tree/Tree.js.map +1 -1
- package/dist/tree/TreeItem.js +3 -4
- package/dist/tree/TreeItem.js.map +1 -1
- package/dist/tree/_tree.scss +29 -22
- package/dist/tree/styles.d.ts +0 -6
- package/dist/tree/styles.js +1 -2
- package/dist/tree/styles.js.map +1 -1
- package/dist/types.d.ts +7 -0
- package/dist/types.js +1 -2
- package/dist/types.js.map +1 -1
- package/dist/typography/_typography.scss +12 -2
- package/dist/useElementSize.d.ts +40 -0
- package/dist/useElementSize.js +53 -0
- package/dist/useElementSize.js.map +1 -0
- package/dist/useResizeListener.d.ts +1 -1
- package/dist/useResizeListener.js +1 -0
- package/dist/useResizeListener.js.map +1 -1
- package/dist/useResizeObserver.d.ts +4 -43
- package/dist/useResizeObserver.js +3 -42
- package/dist/useResizeObserver.js.map +1 -1
- package/dist/useWindowSize.d.ts +14 -11
- package/dist/useWindowSize.js +12 -7
- package/dist/useWindowSize.js.map +1 -1
- package/dist/utils/getMiddleOfRange.d.ts +13 -0
- package/dist/utils/getMiddleOfRange.js +20 -0
- package/dist/utils/getMiddleOfRange.js.map +1 -0
- package/dist/utils/getRangeDefaultValue.d.ts +3 -5
- package/dist/utils/getRangeDefaultValue.js +3 -13
- package/dist/utils/getRangeDefaultValue.js.map +1 -1
- package/dist/utils/getRangeSteps.d.ts +1 -1
- package/dist/utils/getRangeSteps.js +2 -2
- package/dist/utils/getRangeSteps.js.map +1 -1
- package/dist/utils/nearest.js +1 -1
- package/dist/utils/nearest.js.map +1 -1
- package/dist/window-splitter/_window-splitter.scss +11 -16
- package/dist/window-splitter/useWindowSplitter.d.ts +3 -5
- package/dist/window-splitter/useWindowSplitter.js +3 -11
- package/dist/window-splitter/useWindowSplitter.js.map +1 -1
- package/package.json +18 -18
- package/src/__tests__/useElementSize.tsx +181 -0
- package/src/__tests__/useWindowSize.node.tsx +56 -0
- package/src/__tests__/useWindowSize.tsx +156 -0
- package/src/_box-shadows.scss +12 -2
- package/src/_core.scss +0 -2
- package/src/_utils.scss +22 -0
- package/src/app-bar/AppBar.tsx +59 -19
- package/src/app-bar/__tests__/__snapshots__/AppBar.tsx.snap +21 -21
- package/src/app-bar/_app-bar.scss +7 -9
- package/src/avatar/Avatar.tsx +1 -1
- package/src/badge/_badge.scss +12 -7
- package/src/button/TooltippedButton.tsx +120 -0
- package/src/button/__tests__/TooltippedButton.tsx +60 -0
- package/src/button/__tests__/__snapshots__/TooltippedButton.tsx.snap +26 -0
- package/src/card/Card.tsx +5 -3
- package/src/card/CardContent.tsx +3 -3
- package/src/card/ClickableCard.tsx +105 -0
- package/src/card/__tests__/ClickableCard.tsx +66 -0
- package/src/card/__tests__/__snapshots__/CardHeader.tsx.snap +1 -1
- package/src/card/__tests__/__snapshots__/CardSubtitle.tsx.snap +2 -2
- package/src/card/__tests__/__snapshots__/ClickableCard.tsx.snap +20 -0
- package/src/card/__tests__/__snapshots__/styles.ts.snap +1 -1
- package/src/card/_card.scss +15 -9
- package/src/card/styles.ts +19 -10
- package/src/dialog/_dialog.scss +28 -15
- package/src/divider/_divider.scss +9 -10
- package/src/draggable/useDraggable.ts +26 -25
- package/src/draggable/utils.ts +16 -50
- package/src/expansion-panel/__tests__/ExpansionPanel.tsx +2 -2
- package/src/expansion-panel/_expansion-panel.scss +25 -16
- package/src/expansion-panel/useExpansionPanels.ts +20 -16
- package/src/form/MenuItemInputToggle.tsx +1 -1
- package/src/form/Select.tsx +9 -1
- package/src/form/_form.scss +40 -22
- package/src/icon/IconRotator.tsx +1 -2
- package/src/icon/_icon.scss +7 -2
- package/src/index.ts +5 -0
- package/src/interaction/_interaction.scss +12 -9
- package/src/layout/__tests__/__snapshots__/LayoutAppBar.tsx.snap +4 -4
- package/src/layout/__tests__/__snapshots__/useExpandableLayout.tsx.snap +1 -1
- package/src/layout/__tests__/__snapshots__/useLayoutTree.tsx.snap +18 -18
- package/src/layout/__tests__/__snapshots__/useResizableLayout.tsx.snap +1 -1
- package/src/layout/__tests__/__snapshots__/useTemporaryLayout.tsx.snap +1 -1
- package/src/layout/useLayoutAppBarHeight.ts +5 -9
- package/src/link/_link.scss +26 -12
- package/src/list/ListItem.tsx +19 -12
- package/src/list/ListItemAddon.tsx +5 -3
- package/src/list/ListItemChildren.tsx +4 -2
- package/src/list/ListItemLink.tsx +3 -3
- package/src/list/__tests__/ListItem.tsx +1 -1
- package/src/list/__tests__/__snapshots__/ListItem.tsx.snap +1 -1
- package/src/list/_list.scss +29 -18
- package/src/list/listItemStyles.ts +15 -5
- package/src/list/types.ts +15 -4
- package/src/menu/Menu.tsx +1 -1
- package/src/menu/_menu.scss +3 -14
- package/src/portal/PortalContainerProvider.tsx +10 -2
- package/src/portal/__tests__/PortalContainerProvider.tsx +23 -0
- package/src/sheet/styles.ts +14 -15
- package/src/suspense/__tests__/CircularProgressSuspense.tsx +90 -0
- package/src/suspense/__tests__/NullSuspense.tsx +46 -0
- package/src/suspense/__tests__/__snapshots__/CircularProgressSuspense.tsx.snap +24 -0
- package/src/table/TableCheckbox.tsx +4 -2
- package/src/table/TableRadio.tsx +4 -2
- package/src/table/tableCellStyles.ts +1 -1
- package/src/tabs/Tab.tsx +110 -70
- package/src/tabs/__tests__/Tab.tsx +25 -2
- package/src/tabs/__tests__/TabList.tsx +4 -4
- package/src/tabs/__tests__/__snapshots__/TabList.tsx.snap +2 -2
- package/src/tabs/_tabs.scss +28 -16
- package/src/tabs/tabIndicatorStyles.ts +13 -3
- package/src/tabs/tabListStyles.ts +1 -1
- package/src/tabs/tabStyles.ts +16 -4
- package/src/tabs/useTabList.ts +10 -8
- package/src/tooltip/useTooltip.ts +23 -16
- package/src/transition/SkeletonPlaceholder.tsx +18 -6
- package/src/transition/__tests__/SkeletonPlaceholder.tsx +72 -0
- package/src/transition/__tests__/__snapshots__/SkeletonPlaceholder.tsx.snap +24 -0
- package/src/transition/_transition.scss +12 -7
- package/src/transition/skeletonPlaceholderUtils.ts +105 -0
- package/src/transition/useSkeletonPlaceholder.ts +62 -47
- package/src/tree/DefaultTreeItemRenderer.tsx +6 -2
- package/src/tree/Tree.tsx +8 -4
- package/src/tree/TreeItem.tsx +3 -4
- package/src/tree/__tests__/Tree.tsx +1 -1
- package/src/tree/__tests__/__snapshots__/Tree.tsx.snap +124 -124
- package/src/tree/_tree.scss +29 -22
- package/src/tree/styles.ts +0 -9
- package/src/types.ts +8 -0
- package/src/typography/_typography.scss +12 -2
- package/src/useElementSize.ts +83 -0
- package/src/useResizeListener.ts +3 -1
- package/src/useResizeObserver.ts +7 -44
- package/src/useWindowSize.ts +29 -19
- package/src/utils/__tests__/getMiddleOfRange.ts +12 -0
- package/src/utils/__tests__/getRangeDefaultValue.ts +47 -0
- package/src/utils/getMiddleOfRange.ts +26 -0
- package/src/utils/getRangeDefaultValue.ts +8 -15
- package/src/utils/getRangeSteps.ts +2 -2
- package/src/utils/nearest.ts +1 -1
- package/src/window-splitter/_window-splitter.scss +11 -16
- package/src/window-splitter/useWindowSplitter.ts +12 -28
package/src/tree/_tree.scss
CHANGED
|
@@ -12,8 +12,8 @@ $disable-expander-left-as-media: false !default;
|
|
|
12
12
|
$disable-expander-left-as-media-offset: false !default;
|
|
13
13
|
$disable-selected-background-color: false !default;
|
|
14
14
|
|
|
15
|
-
$padding-
|
|
16
|
-
$padding-
|
|
15
|
+
$item-padding-base: list.$item-horizontal-padding !default;
|
|
16
|
+
$item-padding-incrementor: list.$item-horizontal-padding * 1.5 !default;
|
|
17
17
|
$expander-right-from: icon.$rotate-from !default;
|
|
18
18
|
$expander-right-to: 90deg !default;
|
|
19
19
|
$expander-left-from: 0deg !default;
|
|
@@ -44,12 +44,18 @@ $variables: (depth, item-padding, item-padding-base, item-padding-incrementor);
|
|
|
44
44
|
#{$property}: get-var($name, $fallback);
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
// must be defined after the `get-var` function
|
|
48
|
+
$item-padding: calc(
|
|
49
|
+
get-var(depth) * get-var(item-padding-incrementor) +
|
|
50
|
+
get-var(item-padding-base)
|
|
51
|
+
) !default;
|
|
52
|
+
|
|
47
53
|
@mixin variables {
|
|
48
54
|
@if not $disable-everything {
|
|
49
|
-
@include set-var(depth,
|
|
55
|
+
@include set-var(depth, 0);
|
|
50
56
|
@include set-var(item-padding, 0);
|
|
51
|
-
@include set-var(item-padding-base, $padding-base);
|
|
52
|
-
@include set-var(item-padding-incrementor, $padding-incrementor);
|
|
57
|
+
@include set-var(item-padding-base, $item-padding-base);
|
|
58
|
+
@include set-var(item-padding-incrementor, $item-padding-incrementor);
|
|
53
59
|
}
|
|
54
60
|
}
|
|
55
61
|
|
|
@@ -69,13 +75,7 @@ $variables: (depth, item-padding, item-padding-base, item-padding-incrementor);
|
|
|
69
75
|
.rmd-tree-item {
|
|
70
76
|
@include icon.set-var(rotate-from, $expander-right-from);
|
|
71
77
|
@include icon.set-var(rotate-to, $expander-right-to);
|
|
72
|
-
@include set-var(
|
|
73
|
-
item-padding,
|
|
74
|
-
calc(
|
|
75
|
-
get-var(depth) * get-var(item-padding-incrementor) +
|
|
76
|
-
get-var(item-padding-base)
|
|
77
|
-
)
|
|
78
|
-
);
|
|
78
|
+
@include set-var(item-padding, $item-padding);
|
|
79
79
|
|
|
80
80
|
list-style: none;
|
|
81
81
|
|
|
@@ -87,6 +87,12 @@ $variables: (depth, item-padding, item-padding-base, item-padding-incrementor);
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
&__content {
|
|
90
|
+
@include utils.auto-rtl(
|
|
91
|
+
padding-left,
|
|
92
|
+
get-var(item-padding),
|
|
93
|
+
list.get-var(item-horizontal-padding)
|
|
94
|
+
);
|
|
95
|
+
|
|
90
96
|
&--disabled {
|
|
91
97
|
cursor: auto;
|
|
92
98
|
|
|
@@ -100,17 +106,18 @@ $variables: (depth, item-padding, item-padding-base, item-padding-incrementor);
|
|
|
100
106
|
text-decoration: none;
|
|
101
107
|
}
|
|
102
108
|
|
|
103
|
-
&--padded {
|
|
104
|
-
@include utils.auto-rtl(
|
|
105
|
-
padding-left,
|
|
106
|
-
get-var(item-padding),
|
|
107
|
-
list.get-var(item-horizontal-padding)
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
109
|
&--focused::before {
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
// Note: Clicking an item and then using the keyboard to move focus
|
|
111
|
+
// will **not** show the focus outline so might not be ideal. the tree
|
|
112
|
+
// must be re-focused after a `Tab` keypress for it to appear again
|
|
113
|
+
@if utils.$disable-focus-visible {
|
|
114
|
+
.rmd-tree:focus-within & {
|
|
115
|
+
@include utils.keyboard-only {
|
|
116
|
+
@include interaction.focus-styles;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
} @else {
|
|
120
|
+
.rmd-tree:focus-visible & {
|
|
114
121
|
@include interaction.focus-styles;
|
|
115
122
|
}
|
|
116
123
|
}
|
package/src/tree/styles.ts
CHANGED
|
@@ -66,13 +66,6 @@ export interface TreeItemContentClassNameOptions
|
|
|
66
66
|
*/
|
|
67
67
|
link?: boolean;
|
|
68
68
|
|
|
69
|
-
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
* @defaultValue `false`
|
|
73
|
-
*/
|
|
74
|
-
padded?: boolean;
|
|
75
|
-
|
|
76
69
|
/**
|
|
77
70
|
* Set this to `true` when the tree item is the current keyboard focus with
|
|
78
71
|
* `aria-activedescendant`. This will apply the focus styles only while the
|
|
@@ -101,7 +94,6 @@ export function treeItemContent(
|
|
|
101
94
|
const {
|
|
102
95
|
className,
|
|
103
96
|
link = false,
|
|
104
|
-
padded = false,
|
|
105
97
|
focused,
|
|
106
98
|
selected,
|
|
107
99
|
disabled = false,
|
|
@@ -111,7 +103,6 @@ export function treeItemContent(
|
|
|
111
103
|
return cnb(
|
|
112
104
|
treeItemStyles("content", {
|
|
113
105
|
link,
|
|
114
|
-
padded,
|
|
115
106
|
focused,
|
|
116
107
|
selected,
|
|
117
108
|
disabled,
|
package/src/types.ts
CHANGED
|
@@ -174,3 +174,11 @@ export type CssPosition = "fixed" | "sticky" | "static";
|
|
|
174
174
|
*/
|
|
175
175
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
176
176
|
export type AnyFunction = (...args: any[]) => any | void;
|
|
177
|
+
|
|
178
|
+
/**
|
|
179
|
+
* @remarks \@since 6.0.0
|
|
180
|
+
*/
|
|
181
|
+
export interface ElementSize {
|
|
182
|
+
height: number;
|
|
183
|
+
width: number;
|
|
184
|
+
}
|
|
@@ -66,11 +66,19 @@ $font-styles: normal italic oblique !default;
|
|
|
66
66
|
|
|
67
67
|
/// The base styles for typography.
|
|
68
68
|
/// @type Map
|
|
69
|
-
$base-font-styles: (
|
|
69
|
+
$base-recommended-font-styles: (
|
|
70
70
|
font-family: $font-family,
|
|
71
|
+
overflow: inherit,
|
|
72
|
+
overflow-wrap: break-word,
|
|
73
|
+
text-overflow: inherit,
|
|
71
74
|
-moz-osx-font-smoothing: grayscale,
|
|
72
75
|
-webkit-font-smoothing: antialiased,
|
|
73
76
|
);
|
|
77
|
+
$base-custom-font-styles: () !default;
|
|
78
|
+
$base-font-styles: map.merge(
|
|
79
|
+
$base-recommended-font-styles,
|
|
80
|
+
$base-custom-font-styles
|
|
81
|
+
);
|
|
74
82
|
|
|
75
83
|
$headline-1-recommended-styles: (
|
|
76
84
|
font-size: 6rem,
|
|
@@ -220,7 +228,9 @@ $button-styles: map.merge(
|
|
|
220
228
|
) !default;
|
|
221
229
|
|
|
222
230
|
$text-container-padding: 1rem !default;
|
|
223
|
-
|
|
231
|
+
// since everything has `box-sizing: border-box`, make sure the width is 65
|
|
232
|
+
// characters + left and right padding so the text is _really_ 65ch
|
|
233
|
+
$text-line-length: calc(65ch + $text-container-padding * 2) !default;
|
|
224
234
|
|
|
225
235
|
$typography-variables: (line-length, text-container-padding);
|
|
226
236
|
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback, useState, type RefCallback } from "react";
|
|
3
|
+
import { type ElementSize, type UseStateInitializer } from "./types.js";
|
|
4
|
+
import {
|
|
5
|
+
useResizeObserver,
|
|
6
|
+
type ResizeObserverHookOptions,
|
|
7
|
+
} from "./useResizeObserver.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @remarks \@since 6.0.0
|
|
11
|
+
*/
|
|
12
|
+
export interface ElementSizeOptions<E extends HTMLElement>
|
|
13
|
+
extends Omit<ResizeObserverHookOptions<E>, "onUpdate"> {
|
|
14
|
+
/** @defaultValue `{ height: 0, width: 0 }` */
|
|
15
|
+
defaultValue?: UseStateInitializer<ElementSize>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* @remarks \@since 6.0.0
|
|
20
|
+
*/
|
|
21
|
+
export interface ElementSizeImplementation<E extends HTMLElement>
|
|
22
|
+
extends ElementSize {
|
|
23
|
+
elementRef: RefCallback<E>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A small wrapper around the {@link useResizeObserver} hook to calculate the
|
|
28
|
+
* element's size.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* Simple Example
|
|
32
|
+
* ```tsx
|
|
33
|
+
* import { useElementSize } from "@react-md/core";
|
|
34
|
+
* import { type ReactElement } from "react";
|
|
35
|
+
*
|
|
36
|
+
* function Example(): ReactElement {
|
|
37
|
+
* const { height, width, elementRef } = useElementSize();
|
|
38
|
+
*
|
|
39
|
+
* return (
|
|
40
|
+
* <div ref={elementRef}>
|
|
41
|
+
* {`height: ${height}, width: ${width}`}
|
|
42
|
+
* </div>
|
|
43
|
+
* );
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
46
|
+
*
|
|
47
|
+
* @remarks \@since 6.0.0
|
|
48
|
+
*/
|
|
49
|
+
export function useElementSize<E extends HTMLElement>(
|
|
50
|
+
options: ElementSizeOptions<E> = {}
|
|
51
|
+
): ElementSizeImplementation<E> {
|
|
52
|
+
const { defaultValue } = options;
|
|
53
|
+
|
|
54
|
+
const [size, setSize] = useState<ElementSize>(() => {
|
|
55
|
+
if (typeof defaultValue === "function") {
|
|
56
|
+
return defaultValue();
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return (
|
|
60
|
+
defaultValue ?? {
|
|
61
|
+
height: 0,
|
|
62
|
+
width: 0,
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
const elementRef = useResizeObserver({
|
|
68
|
+
...options,
|
|
69
|
+
onUpdate: useCallback((entry) => {
|
|
70
|
+
const size = entry.borderBoxSize[0];
|
|
71
|
+
|
|
72
|
+
setSize({
|
|
73
|
+
height: size.blockSize,
|
|
74
|
+
width: size.inlineSize,
|
|
75
|
+
});
|
|
76
|
+
}, []),
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
return {
|
|
80
|
+
...size,
|
|
81
|
+
elementRef,
|
|
82
|
+
};
|
|
83
|
+
}
|
package/src/useResizeListener.ts
CHANGED
|
@@ -25,7 +25,7 @@ export interface ResizeListenerOptions extends AddEventListenerOptions {
|
|
|
25
25
|
|
|
26
26
|
/**
|
|
27
27
|
* This function will be called whenever the resize event is fired on the
|
|
28
|
-
* `window`.
|
|
28
|
+
* `window`. This should be wrapped in `useCallback`.
|
|
29
29
|
*/
|
|
30
30
|
onUpdate(event: Event): void;
|
|
31
31
|
}
|
|
@@ -93,6 +93,8 @@ export function useResizeListener(options: ResizeListenerOptions): void {
|
|
|
93
93
|
passive,
|
|
94
94
|
});
|
|
95
95
|
eventHandler.add(onUpdate);
|
|
96
|
+
|
|
97
|
+
window.dispatchEvent(new Event("resize"));
|
|
96
98
|
return () => {
|
|
97
99
|
eventHandler.remove(onUpdate);
|
|
98
100
|
};
|
package/src/useResizeObserver.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import type
|
|
3
|
-
import { useEffect } from "react";
|
|
2
|
+
import { useEffect, type Ref, type RefCallback } from "react";
|
|
4
3
|
import { useEnsuredRef } from "./useEnsuredRef.js";
|
|
5
4
|
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
+
import { type useElementSize } from "./useElementSize.js";
|
|
7
|
+
|
|
6
8
|
/**
|
|
7
9
|
* @remarks \@since 6.0.0
|
|
8
10
|
*/
|
|
@@ -189,48 +191,9 @@ export interface ResizeObserverHookOptions<E extends HTMLElement> {
|
|
|
189
191
|
}
|
|
190
192
|
|
|
191
193
|
/**
|
|
192
|
-
*
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* import { useResizeObserver } from "@react-md/core";
|
|
196
|
-
* import type { ReactElement } from "react";
|
|
197
|
-
* import { useState } from "react";
|
|
198
|
-
*
|
|
199
|
-
* interface Size {
|
|
200
|
-
* height: number;
|
|
201
|
-
* width: number;
|
|
202
|
-
* }
|
|
203
|
-
*
|
|
204
|
-
* function Example(): ReactElement {
|
|
205
|
-
* const [{ height, width }, setSize] = useState<Size>({
|
|
206
|
-
* height: 0,
|
|
207
|
-
* width: 0,
|
|
208
|
-
* });
|
|
209
|
-
* const targetRef = useResizeObserver({
|
|
210
|
-
* onResize: useCallback((entry) => {
|
|
211
|
-
* const { height, width } = entry.borderBox;
|
|
212
|
-
* setSize({ height, width });
|
|
213
|
-
* }, []),
|
|
214
|
-
* });
|
|
215
|
-
*
|
|
216
|
-
* return (
|
|
217
|
-
* <div ref={targetRef}>
|
|
218
|
-
* <table>
|
|
219
|
-
* <tbody>
|
|
220
|
-
* <tr>
|
|
221
|
-
* <th scope="col">Height:</th>
|
|
222
|
-
* <td>{height}</td>
|
|
223
|
-
* </tr>
|
|
224
|
-
* <tr>
|
|
225
|
-
* <th scope="col">Width:</th>
|
|
226
|
-
* <td>{width}</td>
|
|
227
|
-
* </tr>
|
|
228
|
-
* </tbody>
|
|
229
|
-
* </table>
|
|
230
|
-
* </div>
|
|
231
|
-
* );
|
|
232
|
-
* }
|
|
233
|
-
* ```
|
|
194
|
+
* The resize observer is used to track the size changes of a specific element.
|
|
195
|
+
* For most cases you can use the {@link useElementSize} instead, but this hook
|
|
196
|
+
* can be used for more complex behavior with the {@link ResizeObserverEntry}.
|
|
234
197
|
*
|
|
235
198
|
* @remarks
|
|
236
199
|
* \@since 2.3.0
|
package/src/useWindowSize.ts
CHANGED
|
@@ -1,23 +1,30 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { useState } from "react";
|
|
3
|
-
import {
|
|
2
|
+
import { useCallback, useState } from "react";
|
|
3
|
+
import { useSsr } from "./SsrProvider.js";
|
|
4
|
+
import { type ElementSize } from "./types.js";
|
|
5
|
+
import {
|
|
6
|
+
useResizeListener,
|
|
7
|
+
type ResizeListenerOptions,
|
|
8
|
+
} from "./useResizeListener.js";
|
|
4
9
|
|
|
5
10
|
/**
|
|
6
11
|
* @remarks \@since 6.0.0
|
|
7
12
|
*/
|
|
8
|
-
export interface
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
13
|
+
export interface WindowSizeOptions
|
|
14
|
+
extends Omit<ResizeListenerOptions, "disabled" | "onUpdate"> {
|
|
15
|
+
/**
|
|
16
|
+
* The default value to use in SSR environments for the window's height.
|
|
17
|
+
*
|
|
18
|
+
* @defaultValue `0`
|
|
19
|
+
*/
|
|
20
|
+
ssrHeight?: number;
|
|
12
21
|
|
|
13
|
-
/**
|
|
14
|
-
* @remarks \@since 6.0.0
|
|
15
|
-
*/
|
|
16
|
-
export interface WindowSizeOptions extends AddEventListenerOptions {
|
|
17
22
|
/**
|
|
18
|
-
*
|
|
23
|
+
* The default value to use in SSR environments for the window's width.
|
|
24
|
+
*
|
|
25
|
+
* @defaultValue `0`
|
|
19
26
|
*/
|
|
20
|
-
|
|
27
|
+
ssrWidth?: number;
|
|
21
28
|
|
|
22
29
|
/**
|
|
23
30
|
* Set this to `true` to ignore resize events that only updated the height.
|
|
@@ -62,22 +69,25 @@ export interface WindowSizeOptions extends AddEventListenerOptions {
|
|
|
62
69
|
*
|
|
63
70
|
* @remarks \@since 6.0.0
|
|
64
71
|
*/
|
|
65
|
-
export function useWindowSize(options: WindowSizeOptions = {}):
|
|
72
|
+
export function useWindowSize(options: WindowSizeOptions = {}): ElementSize {
|
|
66
73
|
const {
|
|
67
74
|
once,
|
|
68
75
|
signal,
|
|
69
76
|
capture,
|
|
70
77
|
passive,
|
|
71
78
|
throttle,
|
|
79
|
+
ssrHeight = 0,
|
|
80
|
+
ssrWidth = 0,
|
|
72
81
|
disableWidth,
|
|
73
82
|
disableHeight,
|
|
74
83
|
} = options;
|
|
75
84
|
|
|
85
|
+
const ssr = useSsr();
|
|
76
86
|
const [size, setSize] = useState(() => {
|
|
77
|
-
if (typeof window === "undefined") {
|
|
87
|
+
if (typeof window === "undefined" || ssr) {
|
|
78
88
|
return {
|
|
79
|
-
height:
|
|
80
|
-
width:
|
|
89
|
+
height: ssrHeight,
|
|
90
|
+
width: ssrWidth,
|
|
81
91
|
};
|
|
82
92
|
}
|
|
83
93
|
|
|
@@ -94,9 +104,9 @@ export function useWindowSize(options: WindowSizeOptions = {}): WindowSize {
|
|
|
94
104
|
passive,
|
|
95
105
|
throttle,
|
|
96
106
|
disabled: disableHeight && disableWidth,
|
|
97
|
-
onUpdate() {
|
|
107
|
+
onUpdate: useCallback(() => {
|
|
98
108
|
setSize((prevSize) => {
|
|
99
|
-
const nextSize:
|
|
109
|
+
const nextSize: ElementSize = {
|
|
100
110
|
height: window.innerHeight,
|
|
101
111
|
width: window.innerWidth,
|
|
102
112
|
};
|
|
@@ -108,7 +118,7 @@ export function useWindowSize(options: WindowSizeOptions = {}): WindowSize {
|
|
|
108
118
|
|
|
109
119
|
return isHeightChange || isWidthChange ? nextSize : prevSize;
|
|
110
120
|
});
|
|
111
|
-
},
|
|
121
|
+
}, [disableHeight, disableWidth]),
|
|
112
122
|
});
|
|
113
123
|
|
|
114
124
|
return size;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { describe, expect, it } from "@jest/globals";
|
|
2
|
+
import { getMiddleOfRange } from "../getMiddleOfRange.js";
|
|
3
|
+
|
|
4
|
+
describe("getMiddleOfRange", () => {
|
|
5
|
+
it("should return the middle of the range", async () => {
|
|
6
|
+
expect(getMiddleOfRange({ min: 0, max: 100, step: 1 })).toBe(50);
|
|
7
|
+
expect(getMiddleOfRange({ min: 0, max: 100, step: 2 })).toBe(50);
|
|
8
|
+
expect(getMiddleOfRange({ min: 0, max: 100, step: 5 })).toBe(50);
|
|
9
|
+
|
|
10
|
+
expect(getMiddleOfRange({ min: 30, max: 80, step: 1 })).toBe(55);
|
|
11
|
+
});
|
|
12
|
+
});
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { describe, expect, it } from "@jest/globals";
|
|
2
|
+
import { getRangeDefaultValue } from "../getRangeDefaultValue.js";
|
|
3
|
+
|
|
4
|
+
describe("getRangeDefaultValue", () => {
|
|
5
|
+
it("should return the default value if it is defined", async () => {
|
|
6
|
+
expect(
|
|
7
|
+
getRangeDefaultValue({ min: 0, max: 100, step: 1, defaultValue: 10 })
|
|
8
|
+
).toBe(10);
|
|
9
|
+
expect(
|
|
10
|
+
getRangeDefaultValue({ min: 0, max: 100, step: 1, defaultValue: 50 })
|
|
11
|
+
).toBe(50);
|
|
12
|
+
|
|
13
|
+
const defaultValueSetter = (): number => 30;
|
|
14
|
+
expect(
|
|
15
|
+
getRangeDefaultValue({
|
|
16
|
+
min: 10,
|
|
17
|
+
max: 30,
|
|
18
|
+
step: 1,
|
|
19
|
+
defaultValue: defaultValueSetter,
|
|
20
|
+
})
|
|
21
|
+
).toBe(defaultValueSetter);
|
|
22
|
+
});
|
|
23
|
+
|
|
24
|
+
it("should return a function that returns the middle of the range when the defaultValue is undefined", () => {
|
|
25
|
+
const initializer1 = getRangeDefaultValue({
|
|
26
|
+
min: 0,
|
|
27
|
+
max: 100,
|
|
28
|
+
step: 1,
|
|
29
|
+
});
|
|
30
|
+
const initializer2 = getRangeDefaultValue({
|
|
31
|
+
min: 0,
|
|
32
|
+
max: 100,
|
|
33
|
+
step: 1,
|
|
34
|
+
defaultValue: undefined,
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
if (typeof initializer1 !== "function") {
|
|
38
|
+
throw new Error("initializer1 is not a function");
|
|
39
|
+
}
|
|
40
|
+
if (typeof initializer2 !== "function") {
|
|
41
|
+
throw new Error("initializer2 is not a function");
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
expect(initializer1()).toBe(50);
|
|
45
|
+
expect(initializer2()).toBe(50);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { getRangeSteps } from "./getRangeSteps.js";
|
|
2
|
+
import { nearest } from "./nearest.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @remarks \@since 6.0.0
|
|
6
|
+
*/
|
|
7
|
+
export interface GetMiddleOfRangeOptions {
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
step: number;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @internal
|
|
15
|
+
* @remarks \@since 6.0.0
|
|
16
|
+
*/
|
|
17
|
+
export function getMiddleOfRange(options: GetMiddleOfRangeOptions): number {
|
|
18
|
+
const { min, max, step } = options;
|
|
19
|
+
|
|
20
|
+
return nearest({
|
|
21
|
+
min,
|
|
22
|
+
max,
|
|
23
|
+
steps: getRangeSteps({ min, max, step }),
|
|
24
|
+
value: (max - min) / 2 + min,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { type UseStateInitializer } from "../types.js";
|
|
2
|
+
import {
|
|
3
|
+
getMiddleOfRange,
|
|
4
|
+
type GetMiddleOfRangeOptions,
|
|
5
|
+
} from "./getMiddleOfRange.js";
|
|
4
6
|
|
|
5
7
|
/**
|
|
6
8
|
* @internal
|
|
7
9
|
* @remarks \@since 6.0.0
|
|
8
10
|
*/
|
|
9
|
-
export interface RangeDefaultValueOptions {
|
|
10
|
-
min: number;
|
|
11
|
-
max: number;
|
|
12
|
-
step: number;
|
|
11
|
+
export interface RangeDefaultValueOptions extends GetMiddleOfRangeOptions {
|
|
13
12
|
defaultValue?: UseStateInitializer<number>;
|
|
14
13
|
}
|
|
15
14
|
|
|
@@ -20,16 +19,10 @@ export interface RangeDefaultValueOptions {
|
|
|
20
19
|
export function getRangeDefaultValue(
|
|
21
20
|
options: RangeDefaultValueOptions
|
|
22
21
|
): UseStateInitializer<number> {
|
|
23
|
-
const {
|
|
22
|
+
const { defaultValue } = options;
|
|
24
23
|
if (typeof defaultValue !== "undefined") {
|
|
25
24
|
return defaultValue;
|
|
26
25
|
}
|
|
27
26
|
|
|
28
|
-
return () =>
|
|
29
|
-
nearest({
|
|
30
|
-
min,
|
|
31
|
-
max,
|
|
32
|
-
steps: getRangeSteps({ min, max, step }),
|
|
33
|
-
value: (max - min) / 2,
|
|
34
|
-
});
|
|
27
|
+
return () => getMiddleOfRange(options);
|
|
35
28
|
}
|
|
@@ -17,8 +17,8 @@ export interface RangeStepsOptions {
|
|
|
17
17
|
* \@since 6.0.0 Converted to using an object instead of multiple arguments and
|
|
18
18
|
* renamed from `getSteps` to `getRangeSteps`.
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
20
|
+
export function getRangeSteps(options: RangeStepsOptions): number {
|
|
21
21
|
const { min, max, step } = options;
|
|
22
22
|
|
|
23
23
|
return Math.abs(max - min) / step;
|
|
24
|
-
}
|
|
24
|
+
}
|
package/src/utils/nearest.ts
CHANGED
|
@@ -36,7 +36,7 @@ export function nearest(options: NearestOptions): number {
|
|
|
36
36
|
const step = range / steps;
|
|
37
37
|
const decimals = Number.isInteger(step)
|
|
38
38
|
? range % steps
|
|
39
|
-
: step
|
|
39
|
+
: `${step}`.split(".")[1].length;
|
|
40
40
|
|
|
41
41
|
return Math.min(
|
|
42
42
|
max,
|
|
@@ -41,6 +41,17 @@ $variables: (top, right, bottom, left, opacity, position);
|
|
|
41
41
|
@if not $disable-everything {
|
|
42
42
|
.rmd-window-splitter {
|
|
43
43
|
@include use-var(opacity);
|
|
44
|
+
@include utils.mouse-hover {
|
|
45
|
+
@include set-var(opacity, 1);
|
|
46
|
+
}
|
|
47
|
+
@include utils.keyboard-only {
|
|
48
|
+
// Do not use `:focus-visible` here since since it'll still be active
|
|
49
|
+
// after dragging with a mouse until the user clicks something else. The
|
|
50
|
+
// `--dragging` state handles that part
|
|
51
|
+
&:focus {
|
|
52
|
+
@include set-var(opacity, 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
44
55
|
|
|
45
56
|
background-color: transparent;
|
|
46
57
|
border: 0;
|
|
@@ -57,22 +68,6 @@ $variables: (top, right, bottom, left, opacity, position);
|
|
|
57
68
|
position: absolute;
|
|
58
69
|
}
|
|
59
70
|
|
|
60
|
-
&:hover {
|
|
61
|
-
@include set-var(opacity, 1);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
@include utils.keyboard-only {
|
|
65
|
-
&:focus {
|
|
66
|
-
@include set-var(opacity, 1);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
@include utils.touch-only {
|
|
71
|
-
&:hover {
|
|
72
|
-
@include set-var(opacity, 0);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
71
|
@if not $disable-horizontal {
|
|
77
72
|
&--h {
|
|
78
73
|
@include utils.auto-rtl(left, get-var(position));
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import type
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
2
|
+
import { type Ref, type RefCallback } from "react";
|
|
3
|
+
import {
|
|
4
|
+
useDraggable,
|
|
5
|
+
type BaseDraggableOptions,
|
|
6
|
+
type DraggableImplementation,
|
|
7
|
+
type DraggableKeyboardEventHandlers,
|
|
8
|
+
type DraggableMouseEventHandlers,
|
|
9
|
+
type DraggableStateOptions,
|
|
10
|
+
type DraggableTouchEventHandlers,
|
|
10
11
|
} from "../draggable/useDraggable.js";
|
|
11
|
-
import { useDraggable } from "../draggable/useDraggable.js";
|
|
12
12
|
import { useEnsuredId } from "../useEnsuredId.js";
|
|
13
|
-
import { getPercentage } from "../utils/getPercentage.js";
|
|
14
13
|
|
|
15
14
|
declare module "react" {
|
|
16
15
|
interface CSSProperties {
|
|
@@ -76,9 +75,7 @@ export interface WindowSplitterImplementation<
|
|
|
76
75
|
}
|
|
77
76
|
|
|
78
77
|
/**
|
|
79
|
-
*
|
|
80
|
-
* `useLocalStorageWindowSplitter` hooks instead since this is a low-level hook
|
|
81
|
-
* to implement those two versions.
|
|
78
|
+
* Used to control the state for the `WindowSplitter` component.
|
|
82
79
|
*
|
|
83
80
|
* @example
|
|
84
81
|
* Custom Implementation
|
|
@@ -113,31 +110,18 @@ export interface WindowSplitterImplementation<
|
|
|
113
110
|
export function useWindowSplitter<E extends HTMLElement = HTMLButtonElement>(
|
|
114
111
|
options: WindowSplitterOptions<E>
|
|
115
112
|
): WindowSplitterImplementation<E> {
|
|
116
|
-
const {
|
|
117
|
-
id: propId,
|
|
118
|
-
min,
|
|
119
|
-
max,
|
|
120
|
-
reversed = false,
|
|
121
|
-
vertical,
|
|
122
|
-
withinOffsetParent,
|
|
123
|
-
} = options;
|
|
113
|
+
const { id: propId, reversed = false, vertical } = options;
|
|
124
114
|
|
|
125
115
|
const id = useEnsuredId(propId, "splitter");
|
|
126
116
|
const draggableImplementation = useDraggable(options);
|
|
127
117
|
const {
|
|
128
|
-
value,
|
|
129
118
|
dragging,
|
|
119
|
+
percentage,
|
|
130
120
|
draggableRef,
|
|
131
|
-
dragPercentage,
|
|
132
121
|
mouseEventHandlers,
|
|
133
122
|
keyboardEventHandlers,
|
|
134
123
|
} = draggableImplementation;
|
|
135
124
|
|
|
136
|
-
const percentage =
|
|
137
|
-
dragging && withinOffsetParent
|
|
138
|
-
? dragPercentage
|
|
139
|
-
: getPercentage({ min, max, value });
|
|
140
|
-
|
|
141
125
|
return {
|
|
142
126
|
...draggableImplementation,
|
|
143
127
|
splitterProps: {
|