From 55cc09ed775de69c1ee787cc8a9cc7dac5b30512 Mon Sep 17 00:00:00 2001 From: Rohan <45748283+r100-stack@users.noreply.github.com> Date: Tue, 28 Jan 2025 16:45:35 -0500 Subject: [PATCH 1/2] Remove `react-transition-group` dependency (#2391) --- .changeset/rude-books-drum.md | 5 + .changeset/tidy-geckos-check.md | 7 + .../Toasts.test.ts-Anchor To Button.png | Bin 22723 -> 22791 bytes .../baseline/Toasts.test.ts-Informational.png | Bin 23403 -> 23445 bytes .../baseline/Toasts.test.ts-Negative.png | Bin 22755 -> 22593 bytes .../Toasts.test.ts-Position Changed.png | Bin 18705 -> 18741 bytes .../baseline/Toasts.test.ts-Positive.png | Bin 22723 -> 22791 bytes .../baseline/Toasts.test.ts-Warning.png | Bin 22589 -> 22686 bytes apps/react-workshop/src/Toasts.test.ts | 3 + packages/itwinui-css/src/mixins.scss | 31 --- .../src/side-navigation/side-navigation.scss | 7 - packages/itwinui-css/src/table/base.scss | 1 - packages/itwinui-react/package.json | 4 +- .../src/core/Dialog/Dialog.test.tsx | 7 - .../itwinui-react/src/core/Dialog/Dialog.tsx | 61 +++-- .../src/core/Dialog/DialogBackdrop.tsx | 7 +- .../src/core/Dialog/DialogMain.tsx | 76 +++--- .../src/core/Dialog/DialogMainContext.tsx | 16 ++ .../src/core/Dialog/DialogTitleBar.tsx | 13 +- .../core/SideNavigation/SideNavigation.tsx | 22 +- .../itwinui-react/src/core/Toast/Toast.tsx | 224 ++++++++++++------ .../utils/components/WithCSSTransition.tsx | 65 ----- .../src/utils/components/index.ts | 1 - pnpm-lock.yaml | 45 ---- 24 files changed, 283 insertions(+), 312 deletions(-) create mode 100644 .changeset/rude-books-drum.md create mode 100644 .changeset/tidy-geckos-check.md create mode 100644 packages/itwinui-react/src/core/Dialog/DialogMainContext.tsx delete mode 100644 packages/itwinui-react/src/utils/components/WithCSSTransition.tsx diff --git a/.changeset/rude-books-drum.md b/.changeset/rude-books-drum.md new file mode 100644 index 00000000000..fcfd47bf4c8 --- /dev/null +++ b/.changeset/rude-books-drum.md @@ -0,0 +1,5 @@ +--- +'@itwin/itwinui-css': minor +--- + +Animation related classes are now deprecated: `.iui-enter`, `.iui-enter-active`, `.iui-exit`, `.iui-exit-active`. diff --git a/.changeset/tidy-geckos-check.md b/.changeset/tidy-geckos-check.md new file mode 100644 index 00000000000..94b7ffa1aae --- /dev/null +++ b/.changeset/tidy-geckos-check.md @@ -0,0 +1,7 @@ +--- +'@itwin/itwinui-react': minor +--- + +Removed dependency on `react-transition-group`. Notable changes in components: +* `useToaster`: Animations have been reworked to directly use the web animations API. +* `Dialog` and `Modal`: Exit animations have been temporarily removed. diff --git a/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Anchor To Button.png b/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Anchor To Button.png index c161869e9952a50ed808c1998f3d596f75a66940..dab2e502d5fc274f9cfab9fa03e9b5bc67cbe8fb 100755 GIT binary patch literal 22791 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 dh}UOUMa6?(w9@CTW6&q=V5Q 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 literal 23403 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 PdkDugj=oepf9L-K6Ht=Q diff --git a/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Negative.png b/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Negative.png index ba4acdb53c438220503de7e3ab5a93a7cac4af53..1022773590836856a5b6ac11e0a4208a6e736640 100755 GIT binary patch literal 22593 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 z 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 literal 22755 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 diff --git a/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Position Changed.png b/apps/react-workshop/cypress-visual-screenshots/baseline/Toasts.test.ts-Position Changed.png index c78324e3b0dd1b717377961ce8f9a07c68b3f7bd..22492d02136cbe2d211c458420609b2d5a0cccda 100755 GIT binary patch literal 18741 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 C!YAAS literal 18705 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 dh}UOUMa6?(w9@CTW6&q=V5Q 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 W|IyUsdr { cy.get('#ladle-root').within(() => { cy.get('button').first().click(); }); + + // Wait for entry animation to complete + cy.wait(240); cy.compareSnapshot(testName); }); }); diff --git a/packages/itwinui-css/src/mixins.scss b/packages/itwinui-css/src/mixins.scss index 33f5013925b..9db20b4dfbd 100644 --- a/packages/itwinui-css/src/mixins.scss +++ b/packages/itwinui-css/src/mixins.scss @@ -41,37 +41,6 @@ } } -/// Classes for react-transition-group -/// Used for expand/collapse transitions. Needs height/width to be set in JS. -@mixin iui-transition-group { - $transition-rule: - opacity var(--iui-duration-1) ease-out, - width var(--iui-duration-1) ease-out, - height var(--iui-duration-1) ease-out; - - &.iui-enter { - opacity: 0; - } - - &.iui-enter-active { - opacity: 1; - @media (prefers-reduced-motion: no-preference) { - transition: $transition-rule; - } - } - - &.iui-exit { - opacity: 1; - } - - &.iui-exit-active { - opacity: 0; - @media (prefers-reduced-motion: no-preference) { - transition: $transition-rule; - } - } -} - @mixin safari-only { @supports (-apple-pay-button-style: inherit) { @content; diff --git a/packages/itwinui-css/src/side-navigation/side-navigation.scss b/packages/itwinui-css/src/side-navigation/side-navigation.scss index 0a05487aa9b..eb02ebb47ba 100644 --- a/packages/itwinui-css/src/side-navigation/side-navigation.scss +++ b/packages/itwinui-css/src/side-navigation/side-navigation.scss @@ -162,13 +162,6 @@ $iui-side-navigation-icon-margins: calc(1.5 * var(--iui-size-m)); background-color: var(--iui-color-background); border-inline-end: 1px solid var(--iui-color-border); - @include mixins.iui-transition-group; - - &.iui-enter-active, - &.iui-exit-active { - display: flex; - } - &-content { padding-block: 0 var(--iui-size-s); padding-inline: var(--iui-size-s); diff --git a/packages/itwinui-css/src/table/base.scss b/packages/itwinui-css/src/table/base.scss index 12b8cdb7455..d32129684bf 100644 --- a/packages/itwinui-css/src/table/base.scss +++ b/packages/itwinui-css/src/table/base.scss @@ -211,7 +211,6 @@ border-inline-end: 1px solid transparent; border-block-end: 1px solid var(--iui-color-border); flex-shrink: 0; - @include mixins.iui-transition-group; } // #region Selection diff --git a/packages/itwinui-react/package.json b/packages/itwinui-react/package.json index 072c7b41803..75ffe376048 100644 --- a/packages/itwinui-react/package.json +++ b/packages/itwinui-react/package.json @@ -109,8 +109,7 @@ "@tanstack/react-virtual": "^3.8.2", "classnames": "^2.3.2", "jotai": "^2.8.0", - "react-table": "^7.8.0", - "react-transition-group": "^4.4.5" + "react-table": "^7.8.0" }, "devDependencies": { "@swc/cli": "^0.5.1", @@ -121,7 +120,6 @@ "@types/node": "*", "@types/react": "*", "@types/react-dom": "*", - "@types/react-transition-group": "^4.4.10", "@vitest/coverage-v8": "^1.2.1", "eslint": "^8", "eslint-config-prettier": "^8.8.0", diff --git a/packages/itwinui-react/src/core/Dialog/Dialog.test.tsx b/packages/itwinui-react/src/core/Dialog/Dialog.test.tsx index 30c5c2fcc6d..270a12c78bb 100644 --- a/packages/itwinui-react/src/core/Dialog/Dialog.test.tsx +++ b/packages/itwinui-react/src/core/Dialog/Dialog.test.tsx @@ -177,13 +177,6 @@ it('should not stay in the DOM when isOpen=false', () => { rerender(); - // Should be there in the DOM until the exit animation is finished - dialogWrapper = container.querySelector('.iui-dialog-wrapper') as HTMLElement; - expect(dialogWrapper).toBeTruthy(); - - // Since timeout for the exit animation is 600ms - act(() => vi.advanceTimersByTime(600)); - dialogWrapper = container.querySelector('.iui-dialog-wrapper') as HTMLElement; expect(dialogWrapper).toBeFalsy(); }); diff --git a/packages/itwinui-react/src/core/Dialog/Dialog.tsx b/packages/itwinui-react/src/core/Dialog/Dialog.tsx index 6ee248dd281..26a5c7ab339 100644 --- a/packages/itwinui-react/src/core/Dialog/Dialog.tsx +++ b/packages/itwinui-react/src/core/Dialog/Dialog.tsx @@ -13,14 +13,13 @@ import { DialogButtonBar } from './DialogButtonBar.js'; import { DialogMain } from './DialogMain.js'; import { useMergedRefs, Box, Portal } from '../../utils/index.js'; import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; -import { Transition } from 'react-transition-group'; type DialogProps = { /** * Dialog content. */ children: React.ReactNode; -} & Omit; +} & DialogContextProps; const DialogComponent = React.forwardRef((props, ref) => { const { @@ -42,37 +41,35 @@ const DialogComponent = React.forwardRef((props, ref) => { } = props; const dialogRootRef = React.useRef(null); + const mergedRefs = useMergedRefs(ref, dialogRootRef); - return ( - - - - - - - - ); + return isOpen ? ( + + + + + + ) : null; }) as PolymorphicForwardRefComponent<'div', DialogProps>; if (process.env.NODE_ENV === 'development') { DialogComponent.displayName = 'Dialog'; diff --git a/packages/itwinui-react/src/core/Dialog/DialogBackdrop.tsx b/packages/itwinui-react/src/core/Dialog/DialogBackdrop.tsx index 9c59baeec09..c7bb6a1e65d 100644 --- a/packages/itwinui-react/src/core/Dialog/DialogBackdrop.tsx +++ b/packages/itwinui-react/src/core/Dialog/DialogBackdrop.tsx @@ -7,8 +7,8 @@ import { Backdrop } from '../Backdrop/Backdrop.js'; import type { BackdropProps } from '../Backdrop/Backdrop.js'; import { useMergedRefs } from '../../utils/index.js'; import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; -import { useDialogContext } from './DialogContext.js'; -import type { DialogContextProps } from './DialogContext.js'; +import { useDialogContext, type DialogContextProps } from './DialogContext.js'; +import { useDialogMainContext } from './DialogMainContext.js'; import cx from 'classnames'; type DialogBackdropProps = BackdropProps & @@ -25,6 +25,8 @@ type DialogBackdropProps = BackdropProps & */ export const DialogBackdrop = React.forwardRef((props, ref) => { const dialogContext = useDialogContext(); + const dialogMainContext = useDialogMainContext(); + const { isVisible = dialogContext.isOpen, isDismissible = dialogContext.isDismissible, @@ -47,6 +49,7 @@ export const DialogBackdrop = React.forwardRef((props, ref) => { return; } if (isDismissible && closeOnExternalClick && onClose) { + dialogMainContext?.beforeClose(); onClose(event); } onMouseDown?.(event); diff --git a/packages/itwinui-react/src/core/Dialog/DialogMain.tsx b/packages/itwinui-react/src/core/Dialog/DialogMain.tsx index e8e034dee54..a39f9b22eea 100644 --- a/packages/itwinui-react/src/core/Dialog/DialogMain.tsx +++ b/packages/itwinui-react/src/core/Dialog/DialogMain.tsx @@ -16,9 +16,9 @@ import { import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; import { useDialogContext } from './DialogContext.js'; import type { DialogContextProps } from './DialogContext.js'; -import { Transition } from 'react-transition-group'; import { DialogDragContext } from './DialogDragContext.js'; import { useDragAndDrop } from '../../utils/hooks/useDragAndDrop.js'; +import { DialogMainContext } from './DialogMainContext.js'; export type DialogMainProps = { /** @@ -73,14 +73,16 @@ export const DialogMain = React.forwardRef((props, ref) => { ...rest } = props; - const [style, setStyle] = React.useState(); + const { dialogRootRef } = dialogContext; const dialogRef = React.useRef(null); - const hasBeenResized = React.useRef(false); const previousFocusedElement = React.useRef(); + const [style, setStyle] = React.useState(); + const hasBeenResized = React.useRef(false); + const originalBodyOverflow = React.useRef(''); - React.useEffect(() => { + useLayoutEffect(() => { if (isOpen) { originalBodyOverflow.current = document.body.style.overflow; } @@ -107,7 +109,7 @@ export const DialogMain = React.forwardRef((props, ref) => { return () => { ownerDocument.body.style.overflow = originalBodyOverflow.current; }; - }, [isOpen, preventDocumentScroll]); + }, [dialogRef, isOpen, preventDocumentScroll]); const handleKeyDown = (event: React.KeyboardEvent) => { if (event.altKey) { @@ -116,6 +118,7 @@ export const DialogMain = React.forwardRef((props, ref) => { // Prevents React from resetting its properties event.persist(); if (isDismissible && closeOnEsc && event.key === 'Escape' && onClose) { + beforeClose(); onClose(event); } onKeyDown?.(event); @@ -123,7 +126,7 @@ export const DialogMain = React.forwardRef((props, ref) => { const { onPointerDown, transform } = useDragAndDrop( dialogRef, - dialogContext.dialogRootRef, + dialogRootRef, isDraggable, ); const handlePointerDown = React.useCallback( @@ -149,7 +152,7 @@ export const DialogMain = React.forwardRef((props, ref) => { insetBlockStart: dialogRef.current?.offsetTop, transform: `translate(${translateX}px,${translateY}px)`, })); - }, [isDraggable, isOpen]); + }, [dialogRef, isDraggable, isOpen]); const setResizeStyle = React.useCallback((newStyle: React.CSSProperties) => { setStyle((oldStyle) => ({ @@ -158,6 +161,35 @@ export const DialogMain = React.forwardRef((props, ref) => { })); }, []); + /** Focuses dialog when opened. */ + const onEnter = React.useCallback(() => { + previousFocusedElement.current = dialogRef.current?.ownerDocument + .activeElement as HTMLElement; + if (setFocus) { + dialogRef.current?.focus({ preventScroll: true }); + } + }, [dialogRef, previousFocusedElement, setFocus]); + + /** Brings back focus to the previously focused element when closed. */ + const beforeClose = React.useCallback(() => { + if ( + dialogRef.current?.contains( + dialogRef.current?.ownerDocument.activeElement, + ) + ) { + previousFocusedElement.current?.focus(); + } + }, [dialogRef, previousFocusedElement]); + + const mountRef = React.useCallback( + (element: HTMLElement | null) => { + if (element) { + onEnter(); + } + }, + [onEnter], + ); + const content = ( { className, )} role='dialog' - ref={useMergedRefs(dialogRef, ref)} + ref={useMergedRefs(dialogRef, mountRef, ref)} onKeyDown={handleKeyDown} tabIndex={-1} data-iui-placement={placement} @@ -187,7 +219,7 @@ export const DialogMain = React.forwardRef((props, ref) => { {isResizable && ( { if (!hasBeenResized.current) { hasBeenResized.current = true; @@ -204,34 +236,14 @@ export const DialogMain = React.forwardRef((props, ref) => { ); return ( - { - previousFocusedElement.current = dialogRef.current?.ownerDocument - .activeElement as HTMLElement; - setFocus && dialogRef.current?.focus({ preventScroll: true }); - }} - // Brings back focus to the previously focused element when closed - onExit={() => { - if ( - dialogRef.current?.contains( - dialogRef.current?.ownerDocument.activeElement, - ) - ) { - previousFocusedElement.current?.focus(); - } - }} - unmountOnExit={true} - nodeRef={dialogRef} + ({ beforeClose }), [beforeClose])} > {trapFocus && {content}} {!trapFocus && content} - + ); }) as PolymorphicForwardRefComponent<'div', DialogMainProps>; if (process.env.NODE_ENV === 'development') { diff --git a/packages/itwinui-react/src/core/Dialog/DialogMainContext.tsx b/packages/itwinui-react/src/core/Dialog/DialogMainContext.tsx new file mode 100644 index 00000000000..22645087741 --- /dev/null +++ b/packages/itwinui-react/src/core/Dialog/DialogMainContext.tsx @@ -0,0 +1,16 @@ +/*--------------------------------------------------------------------------------------------- + * Copyright (c) Bentley Systems, Incorporated. All rights reserved. + * See LICENSE.md in the project root for license terms and full copyright notice. + *--------------------------------------------------------------------------------------------*/ +import * as React from 'react'; + +type DialogMainContextProps = { + beforeClose: () => void; +}; + +export const DialogMainContext = + React.createContext(null); + +export const useDialogMainContext = () => { + return React.useContext(DialogMainContext); +}; diff --git a/packages/itwinui-react/src/core/Dialog/DialogTitleBar.tsx b/packages/itwinui-react/src/core/Dialog/DialogTitleBar.tsx index cedf2b49d4d..4699e12f469 100644 --- a/packages/itwinui-react/src/core/Dialog/DialogTitleBar.tsx +++ b/packages/itwinui-react/src/core/Dialog/DialogTitleBar.tsx @@ -8,6 +8,7 @@ import { SvgClose, mergeEventHandlers, Box } from '../../utils/index.js'; import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; import { IconButton } from '../Buttons/IconButton.js'; import { useDialogContext } from './DialogContext.js'; +import { useDialogMainContext } from './DialogMainContext.js'; import type { DialogContextProps } from './DialogContext.js'; import { DialogTitleBarTitle } from './DialogTitleBarTitle.js'; import { useDialogDragContext } from './DialogDragContext.js'; @@ -43,6 +44,8 @@ type DialogTitleBarProps = { export const DialogTitleBar = Object.assign( React.forwardRef((props, ref) => { const dialogContext = useDialogContext(); + const dialogMainContext = useDialogMainContext(); + const { children, titleText, @@ -56,6 +59,14 @@ export const DialogTitleBar = Object.assign( const { onPointerDown } = useDialogDragContext(); + const onClick = React.useCallback( + (e: React.MouseEvent) => { + dialogMainContext?.beforeClose(); + onClose?.(e); + }, + [dialogMainContext, onClose], + ); + return ( diff --git a/packages/itwinui-react/src/core/SideNavigation/SideNavigation.tsx b/packages/itwinui-react/src/core/SideNavigation/SideNavigation.tsx index 8b98509b048..2a53531662b 100644 --- a/packages/itwinui-react/src/core/SideNavigation/SideNavigation.tsx +++ b/packages/itwinui-react/src/core/SideNavigation/SideNavigation.tsx @@ -4,12 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import * as React from 'react'; import cx from 'classnames'; -import { - WithCSSTransition, - SvgChevronRight, - Box, - useControlledState, -} from '../../utils/index.js'; +import { SvgChevronRight, Box, useControlledState } from '../../utils/index.js'; import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; import { IconButton } from '../Buttons/IconButton.js'; @@ -45,12 +40,12 @@ type SideNavigationProps = { */ onExpanderClick?: () => void; /** - * Submenu to show supplemental info assicated to the main item. + * Submenu to show supplemental info associated to the main item. * * Should be used with the `isSubmenuOpen` props from both `SideNavigation` and `SidenavButton`. * @example * * Documents @@ -178,16 +173,7 @@ export const SideNavigation = React.forwardRef((props, forwardedRef) => { {expanderPlacement === 'bottom' && ExpandButton} - {submenu && ( - - {submenu} - - )} + {submenu && isSubmenuOpen ? submenu : null} ); diff --git a/packages/itwinui-react/src/core/Toast/Toast.tsx b/packages/itwinui-react/src/core/Toast/Toast.tsx index 57e4a32793e..cd986d726d9 100644 --- a/packages/itwinui-react/src/core/Toast/Toast.tsx +++ b/packages/itwinui-react/src/core/Toast/Toast.tsx @@ -3,7 +3,6 @@ * See LICENSE.md in the project root for license terms and full copyright notice. *--------------------------------------------------------------------------------------------*/ import * as React from 'react'; -import { Transition } from 'react-transition-group'; import cx from 'classnames'; import { getWindow, @@ -13,6 +12,7 @@ import { useSafeContext, ButtonBase, useMediaQuery, + useLatestRef, } from '../../utils/index.js'; import type { PolymorphicForwardRefComponent } from '../../utils/index.js'; import { IconButton } from '../Buttons/IconButton.js'; @@ -115,8 +115,6 @@ export const Toast = (props: ToastProps) => { const thisElement = React.useRef(null); const [margin, setMargin] = React.useState(0); - const motionOk = useMediaQuery('(prefers-reduced-motion: no-preference)'); - const marginStyle = () => { if (placementPosition === 'top') { return { marginBlockEnd: margin }; @@ -172,73 +170,36 @@ export const Toast = (props: ToastProps) => { } }; - const calculateOutAnimation = (node: HTMLElement) => { - // calculation translate x and y pixels. - let translateX = 0; - let translateY = 0; - if (animateOutTo && node) { - const { x: startX, y: startY } = node.getBoundingClientRect(); // current element - const { x: endX, y: endY } = animateOutTo.getBoundingClientRect(); // anchor point - translateX = endX - startX; - translateY = endY - startY; - } - return { translateX, translateY }; - }; + const shouldBeMounted = useAnimateToastBasedOnVisibility(isVisible, { + thisElement, + animateOutTo, + onRemove, + }); - return ( - { - if (motionOk) { - node.style.transform = 'translateY(15%)'; - node.style.transitionTimingFunction = 'ease'; - } - }} - onEntered={(node: HTMLElement) => { - if (motionOk) { - node.style.transform = 'translateY(0)'; - } - }} - onExiting={(node) => { - if (motionOk) { - const { translateX, translateY } = calculateOutAnimation(node); - node.style.transform = animateOutTo - ? `scale(0.9) translate(${translateX}px,${translateY}px)` - : `scale(0.9)`; - node.style.opacity = '0'; - node.style.transitionDuration = animateOutTo ? '400ms' : '120ms'; - node.style.transitionTimingFunction = 'cubic-bezier(0.4, 0, 1, 1)'; - } + return shouldBeMounted ? ( + - -

- -
- - - ); +
+ +
+ + ) : null; }; export type ToastPresentationProps = Omit< @@ -308,3 +269,132 @@ export const ToastPresentation = React.forwardRef((props, forwardedRef) => { ); }) as PolymorphicForwardRefComponent<'div', ToastPresentationProps>; + +/** + * Animates in and out the toast based on `isVisible`. + * Returns `shouldBeMounted`. It takes into account the animations (e.g. exit animations are finished before unmounting) + */ +const useAnimateToastBasedOnVisibility = ( + isVisible: ToastProps['isVisible'], + args: { + thisElement: React.RefObject; + animateOutTo: ToastProps['animateOutTo']; + onRemove: ToastProps['onRemove']; + }, +) => { + const { thisElement, animateOutTo, onRemove } = args; + const [shouldBeMounted, setShouldBeMounted] = React.useState(isVisible); + + const motionOk = useMediaQuery('(prefers-reduced-motion: no-preference)'); + const onRemoveRef = useLatestRef(onRemove); + + const [prevIsVisible, setPrevIsVisible] = React.useState< + typeof isVisible | undefined + >(undefined); + + React.useEffect(() => { + // if isVisible prop is changed, animate in or out. + if (prevIsVisible !== isVisible) { + setPrevIsVisible(isVisible); + + if (isVisible) { + safeAnimateIn(); + } else { + safeAnimateOut(); + } + } + + function calculateOutAnimation(node: HTMLElement) { + // calculation translate x and y pixels. + let translateX = 0; + let translateY = 0; + if (animateOutTo && node) { + const { x: startX, y: startY } = node.getBoundingClientRect(); // current element + const { x: endX, y: endY } = animateOutTo.getBoundingClientRect(); // anchor point + translateX = endX - startX; + translateY = endY - startY; + } + return { translateX, translateY }; + } + + function safeAnimateIn() { + setShouldBeMounted(true); + + // Mount *before* handling dialog entry. + queueMicrotask(() => { + animateIn(); + }); + } + + function safeAnimateOut() { + if (!motionOk) { + setShouldBeMounted(false); + onRemoveRef.current?.(); + } else { + const animation = animateOut(); + + // Unmount *after* handling dialog exit. + animation?.addEventListener('finish', () => { + setShouldBeMounted(false); + onRemoveRef.current?.(); + }); + } + } + + function animateIn() { + if (!motionOk) { + return; + } + + thisElement.current?.animate?.( + [{ transform: 'translateY(15%)' }, { transform: 'translateY(0)' }], + { + duration: 240, + fill: 'forwards', + }, + ); + } + + function animateOut() { + if (thisElement.current == null || !motionOk) { + return; + } + + const { translateX, translateY } = calculateOutAnimation( + thisElement.current, + ); + + const animationDuration = animateOutTo ? 400 : 120; + + const animation = thisElement.current?.animate?.( + [ + { + transform: animateOutTo + ? `scale(0.9) translate(${translateX}px,${translateY}px)` + : `scale(0.9)`, + opacity: 0, + transitionDuration: `${animationDuration}ms`, + transitionTimingFunction: 'cubic-bezier(0.4, 0, 1, 1)', + }, + ], + { + duration: animationDuration, + iterations: 1, + fill: 'forwards', + }, + ); + + return animation; + } + }, [ + isVisible, + prevIsVisible, + animateOutTo, + motionOk, + thisElement, + setShouldBeMounted, + onRemoveRef, + ]); + + return shouldBeMounted; +}; diff --git a/packages/itwinui-react/src/utils/components/WithCSSTransition.tsx b/packages/itwinui-react/src/utils/components/WithCSSTransition.tsx deleted file mode 100644 index d10442f7838..00000000000 --- a/packages/itwinui-react/src/utils/components/WithCSSTransition.tsx +++ /dev/null @@ -1,65 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Bentley Systems, Incorporated. All rights reserved. - * See LICENSE.md in the project root for license terms and full copyright notice. - *--------------------------------------------------------------------------------------------*/ -import * as React from 'react'; -import { CSSTransition } from 'react-transition-group'; -import { styles } from '../../styles.js'; - -export const WithCSSTransition = ( - props: Partial> & { - children: JSX.Element; - dimension?: 'height' | 'width'; - }, -) => { - const { in: visible, dimension = 'height', children, ...rest } = props; - - const expandedSize = React.useRef(0); - - const dimensionCamelCase = dimension === 'height' ? 'Height' : 'Width'; - - return ( - { - node.style[`min${dimensionCamelCase}`] = 'initial'; - node.style[dimension] = '0px'; - }} - onEntering={(node: HTMLElement) => { - node.style[dimension] = `${expandedSize.current}px`; - }} - onEntered={(node: HTMLElement) => { - node.style[`min${dimensionCamelCase}`] = ''; - node.style[dimension] = ''; - }} - onExit={(node: HTMLElement) => { - node.style[dimension] = `${expandedSize.current}px`; - }} - onExiting={(node: HTMLElement) => { - node.style[`min${dimensionCamelCase}`] = 'initial'; - node.style[dimension] = '0px'; - }} - classNames={{ - enter: styles['iui-enter'], - enterActive: styles['iui-enter-active'], - exit: styles['iui-exit'], - exitActive: styles['iui-exit-active'], - }} - {...rest} - > - {React.isValidElement(children) ? ( - React.cloneElement(children as JSX.Element, { - ref: (el: HTMLElement) => { - if (el) { - expandedSize.current = el.getBoundingClientRect()[dimension]; - } - }, - }) - ) : ( - <> - )} - - ); -}; diff --git a/packages/itwinui-react/src/utils/components/index.ts b/packages/itwinui-react/src/utils/components/index.ts index d537eaaf939..498923bebdf 100644 --- a/packages/itwinui-react/src/utils/components/index.ts +++ b/packages/itwinui-react/src/utils/components/index.ts @@ -7,7 +7,6 @@ export * from './FocusTrap.js'; export * from './InputContainer.js'; export * from './InputFlexContainer.js'; export * from './InputWithIcon.js'; -export * from './WithCSSTransition.js'; export * from './MiddleTextTruncation.js'; export * from './AutoclearingHiddenLiveRegion.js'; export * from './Box.js'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 70563274c5c..30c0480f023 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -353,9 +353,6 @@ importers: react-table: specifier: ^7.8.0 version: 7.8.0(react@18.2.0) - react-transition-group: - specifier: ^4.4.5 - version: 4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0) devDependencies: '@swc/cli': specifier: ^0.5.1 @@ -381,9 +378,6 @@ importers: '@types/react-dom': specifier: 18.2.18 version: 18.2.18 - '@types/react-transition-group': - specifier: ^4.4.10 - version: 4.4.10 '@vitest/coverage-v8': specifier: ^1.2.1 version: 1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0)) @@ -4092,12 +4086,6 @@ packages: integrity: sha512-TJxDm6OfAX2KJWJdMEVTwWke5Sc/E/RlnPGvGfS0W7+6ocy2xhDVQVh/KvC2Uf7kACs+gDytdusDSdWfWkaNzw==, } - '@types/react-transition-group@4.4.10': - resolution: - { - integrity: sha512-hT/+s0VQs2ojCX823m60m5f0sL5idt9SO6Tj6Dg+rdphGPIeJbJ6CxvBYkgkGKrYeDjvIpKTR38UzmtHJOGW3Q==, - } - '@types/react@18.2.14': resolution: { @@ -6190,12 +6178,6 @@ packages: integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==, } - dom-helpers@5.2.1: - resolution: - { - integrity: sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==, - } - dotenv@16.4.5: resolution: { @@ -11550,15 +11532,6 @@ packages: peerDependencies: react: ^16.8.3 || ^17.0.0-0 || ^18.0.0 - react-transition-group@4.4.5: - resolution: - { - integrity: sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==, - } - peerDependencies: - react: '>=16.6.0' - react-dom: '>=16.6.0' - react@18.2.0: resolution: { @@ -16619,10 +16592,6 @@ snapshots: dependencies: '@types/react': 18.2.14 - '@types/react-transition-group@4.4.10': - dependencies: - '@types/react': 18.2.14 - '@types/react@18.2.14': dependencies: '@types/prop-types': 15.7.11 @@ -18097,11 +18066,6 @@ snapshots: dom-accessibility-api@0.6.3: {} - dom-helpers@5.2.1: - dependencies: - '@babel/runtime': 7.23.9 - csstype: 3.1.3 - dotenv@16.4.5: {} dset@3.1.4: {} @@ -22012,15 +21976,6 @@ snapshots: dependencies: react: 18.2.0 - react-transition-group@4.4.5(react-dom@18.2.0(react@18.2.0))(react@18.2.0): - dependencies: - '@babel/runtime': 7.23.9 - dom-helpers: 5.2.1 - loose-envify: 1.4.0 - prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react@18.2.0: dependencies: loose-envify: 1.4.0 From e614a0ea9c011afcb5cb770d1773ce0eeac197c0 Mon Sep 17 00:00:00 2001 From: Rohan <45748283+r100-stack@users.noreply.github.com> Date: Thu, 30 Jan 2025 11:11:55 -0500 Subject: [PATCH 2/2] Bump vite to `5.4.14` (#2312) --- apps/css-workshop/package.json | 5 +- packages/itwinui-react/package.json | 2 +- .../src/styles.js/vite.config.mjs | 12 + pnpm-lock.yaml | 433 +++--------------- 4 files changed, 71 insertions(+), 381 deletions(-) diff --git a/apps/css-workshop/package.json b/apps/css-workshop/package.json index 45f5577d27d..b06a43f87e5 100644 --- a/apps/css-workshop/package.json +++ b/apps/css-workshop/package.json @@ -17,11 +17,12 @@ "dev": "astro dev", "start": "astro dev", "build": "astro build", - "preview": "astro preview --host", + "preview": "npx -y serve dist --listen 3050 -L", "clean": "rimraf dist && rimraf node_modules && rimraf .turbo", "approve": "backstop --config=./backstop/backstop.cjs approve", "test:only": "backstop --config=./backstop/backstop.cjs test --docker", - "test": "npm-run-all -p -r \"preview\" \"test:only {1}\" --" + "test:only:wait-for-preview": "npx -y wait-on http://localhost:3050 && pnpm run test:only", + "test": "npm-run-all -p -r \"preview\" \"test:only:wait-for-preview {1}\" --" }, "prettier": "configs/prettier-astro-config.js" } diff --git a/packages/itwinui-react/package.json b/packages/itwinui-react/package.json index 75ffe376048..a62759237c9 100644 --- a/packages/itwinui-react/package.json +++ b/packages/itwinui-react/package.json @@ -128,7 +128,7 @@ "react": "^18.0.0", "react-dom": "^18.0.0", "typescript": "5", - "vite": "~5.1.8", + "vite": "~5.4.14", "vitest": "^1.2.1" }, "peerDependencies": { diff --git a/packages/itwinui-react/src/styles.js/vite.config.mjs b/packages/itwinui-react/src/styles.js/vite.config.mjs index ed8ea8445a8..4b3b391a7f0 100644 --- a/packages/itwinui-react/src/styles.js/vite.config.mjs +++ b/packages/itwinui-react/src/styles.js/vite.config.mjs @@ -35,6 +35,18 @@ export default defineConfig({ }, }, plugins: [ + // https://github.com/vitejs/vite/pull/16051#issuecomment-2076616816 + { + name: 'css-module-side-effectful', + enforce: 'post', + transform(_, id) { + if (id.endsWith('.module.css')) { + return { + moduleSideEffects: 'no-treeshake', + }; + } + }, + }, { name: 'copy-files-after-build', closeBundle: async () => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 30c0480f023..3f5dddce232 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -158,7 +158,7 @@ importers: version: 5.5.2 vite: specifier: '*' - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) apps/website: dependencies: @@ -167,7 +167,7 @@ importers: version: 2.2.0(astro@4.16.18(@types/node@22.5.5)(lightningcss@1.25.1)(rollup@4.28.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)) '@astrojs/react': specifier: '3' - version: 3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + version: 3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@astrojs/sitemap': specifier: '3' version: 3.1.1 @@ -362,7 +362,7 @@ importers: version: 1.5.28(@swc/helpers@0.5.11) '@testing-library/jest-dom': specifier: ^6.3.0 - version: 6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0)) + version: 6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@testing-library/react': specifier: ^13.2.0 version: 13.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) @@ -380,7 +380,7 @@ importers: version: 18.2.18 '@vitest/coverage-v8': specifier: ^1.2.1 - version: 1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0)) + version: 1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) eslint: specifier: ^8 version: 8.56.0 @@ -403,11 +403,11 @@ importers: specifier: ~5.5.2 version: 5.5.2 vite: - specifier: ~5.1.8 - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + specifier: ~5.4.14 + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) vitest: specifier: ^1.2.1 - version: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0) + version: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) packages/itwinui-variables: devDependencies: @@ -419,7 +419,7 @@ importers: dependencies: '@astrojs/react': specifier: '3' - version: 3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + version: 3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@itwin/itwinui-react': specifier: '*' version: link:../../packages/itwinui-react @@ -486,7 +486,7 @@ importers: devDependencies: '@remix-run/dev': specifier: ^2.8.0 - version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)) + version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@types/react': specifier: 18.2.14 version: 18.2.14 @@ -498,10 +498,10 @@ importers: version: 5.5.2 vite: specifier: ^5 - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) vite-tsconfig-paths: specifier: ^4.2.1 - version: 4.3.2(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)) + version: 4.3.2(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) playgrounds/vite: dependencies: @@ -526,13 +526,13 @@ importers: version: 18.2.18 '@vitejs/plugin-react': specifier: ^4.2.1 - version: 4.3.1(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)) + version: 4.3.1(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) typescript: specifier: ~5.5.2 version: 5.5.2 vite: specifier: ^5 - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) testing/a11y: dependencies: @@ -581,7 +581,7 @@ importers: version: 1.42.1 '@remix-run/dev': specifier: ^2.8.0 - version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)) + version: 2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) '@types/node': specifier: '*' version: 22.5.5 @@ -599,10 +599,10 @@ importers: version: 5.5.2 vite: specifier: ^5 - version: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + version: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) vite-tsconfig-paths: specifier: ^4.2.1 - version: 4.3.2(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)) + version: 4.3.2(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) packages: '@aashutoshrathi/word-wrap@1.2.6': @@ -3307,14 +3307,6 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.22.4': - resolution: - { - integrity: sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==, - } - cpu: [arm] - os: [android] - '@rollup/rollup-android-arm-eabi@4.28.1': resolution: { @@ -3323,14 +3315,6 @@ packages: cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.22.4': - resolution: - { - integrity: sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==, - } - cpu: [arm64] - os: [android] - '@rollup/rollup-android-arm64@4.28.1': resolution: { @@ -3339,14 +3323,6 @@ packages: cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.22.4': - resolution: - { - integrity: sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==, - } - cpu: [arm64] - os: [darwin] - '@rollup/rollup-darwin-arm64@4.28.1': resolution: { @@ -3355,14 +3331,6 @@ packages: cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.22.4': - resolution: - { - integrity: sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==, - } - cpu: [x64] - os: [darwin] - '@rollup/rollup-darwin-x64@4.28.1': resolution: { @@ -3387,14 +3355,6 @@ packages: cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': - resolution: - { - integrity: sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==, - } - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': resolution: { @@ -3403,14 +3363,6 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.22.4': - resolution: - { - integrity: sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==, - } - cpu: [arm] - os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.28.1': resolution: { @@ -3419,14 +3371,6 @@ packages: cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.22.4': - resolution: - { - integrity: sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==, - } - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.28.1': resolution: { @@ -3435,14 +3379,6 @@ packages: cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.22.4': - resolution: - { - integrity: sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==, - } - cpu: [arm64] - os: [linux] - '@rollup/rollup-linux-arm64-musl@4.28.1': resolution: { @@ -3459,14 +3395,6 @@ packages: cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - resolution: - { - integrity: sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==, - } - cpu: [ppc64] - os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': resolution: { @@ -3475,14 +3403,6 @@ packages: cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - resolution: - { - integrity: sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==, - } - cpu: [riscv64] - os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.28.1': resolution: { @@ -3491,14 +3411,6 @@ packages: cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.22.4': - resolution: - { - integrity: sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==, - } - cpu: [s390x] - os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.28.1': resolution: { @@ -3507,14 +3419,6 @@ packages: cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.22.4': - resolution: - { - integrity: sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==, - } - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-gnu@4.28.1': resolution: { @@ -3523,14 +3427,6 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.22.4': - resolution: - { - integrity: sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==, - } - cpu: [x64] - os: [linux] - '@rollup/rollup-linux-x64-musl@4.28.1': resolution: { @@ -3539,14 +3435,6 @@ packages: cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.22.4': - resolution: - { - integrity: sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==, - } - cpu: [arm64] - os: [win32] - '@rollup/rollup-win32-arm64-msvc@4.28.1': resolution: { @@ -3555,14 +3443,6 @@ packages: cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.22.4': - resolution: - { - integrity: sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==, - } - cpu: [ia32] - os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.28.1': resolution: { @@ -3571,14 +3451,6 @@ packages: cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.22.4': - resolution: - { - integrity: sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==, - } - cpu: [x64] - os: [win32] - '@rollup/rollup-win32-x64-msvc@4.28.1': resolution: { @@ -11376,7 +11248,7 @@ packages: { integrity: sha512-39olGaX2djYUdhaQQHDZ0T0GwEp+5f9UB9HmEP0qHfdQHIq0xGQZuAZ5TLnJIc/88SrPLpEflPC+xUqOTv3c5g==, } - deprecated: < 22.8.2 is no longer supported + deprecated: < 21.9.0 is no longer supported qs@6.10.5: resolution: @@ -11959,14 +11831,6 @@ packages: engines: { node: '>=14' } hasBin: true - rollup@4.22.4: - resolution: - { - integrity: sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==, - } - engines: { node: '>=18.0.0', npm: '>=8.0.0' } - hasBin: true - rollup@4.28.1: resolution: { @@ -13735,75 +13599,10 @@ packages: vite: optional: true - vite@5.1.8: - resolution: - { - integrity: sha512-mB8ToUuSmzODSpENgvpFk2fTiU/YQ1tmcVJJ4WZbq4fPdGJkFNVcmVL5k7iDug6xzWjjuGDKAuSievIsD6H7Xw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vite@5.4.11: + vite@5.4.14: resolution: { - integrity: sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - sass-embedded: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - sass-embedded: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vite@5.4.7: - resolution: - { - integrity: sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==, + integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==, } engines: { node: ^18.0.0 || >=20.0.0 } hasBin: true @@ -14480,11 +14279,11 @@ snapshots: dependencies: prismjs: 1.29.0 - '@astrojs/react@3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': + '@astrojs/react@3.1.0(@types/react-dom@18.2.18)(@types/react@18.2.14)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@types/react': 18.2.14 '@types/react-dom': 18.2.18 - '@vitejs/plugin-react': 4.3.1(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + '@vitejs/plugin-react': 4.3.1(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) ultrahtml: 1.5.3 @@ -15639,8 +15438,8 @@ snapshots: '@ladle/react-context': 1.0.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) '@mdx-js/mdx': 3.0.1 '@mdx-js/react': 3.0.1(@types/react@18.2.14)(react@18.2.0) - '@vitejs/plugin-react': 4.3.1(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) - '@vitejs/plugin-react-swc': 3.7.0(@swc/helpers@0.5.15)(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + '@vitejs/plugin-react': 4.3.1(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + '@vitejs/plugin-react-swc': 3.7.0(@swc/helpers@0.5.15)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) axe-core: 4.10.0 boxen: 7.1.1 chokidar: 3.6.0 @@ -15668,8 +15467,8 @@ snapshots: remark-gfm: 4.0.0 source-map: 0.7.4 vfile: 6.0.3 - vite: 5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - vite-tsconfig-paths: 4.3.2(typescript@5.5.2)(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite-tsconfig-paths: 4.3.2(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) transitivePeerDependencies: - '@swc/helpers' - '@types/node' @@ -16017,7 +15816,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@remix-run/dev@2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0))': + '@remix-run/dev@2.8.1(@remix-run/serve@2.8.1(typescript@5.5.2))(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.6 @@ -16033,7 +15832,7 @@ snapshots: '@remix-run/router': 1.15.3-pre.0 '@remix-run/server-runtime': 2.8.1(typescript@5.5.2) '@types/mdx': 2.0.11 - '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + '@vanilla-extract/integration': 6.5.0(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) arg: 5.0.2 cacache: 17.1.4 chalk: 4.1.2 @@ -16075,7 +15874,7 @@ snapshots: optionalDependencies: '@remix-run/serve': 2.8.1(typescript@5.5.2) typescript: 5.5.2 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - bluebird @@ -16083,6 +15882,7 @@ snapshots: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -16186,27 +15986,15 @@ snapshots: optionalDependencies: rollup: 4.28.1 - '@rollup/rollup-android-arm-eabi@4.22.4': - optional: true - '@rollup/rollup-android-arm-eabi@4.28.1': optional: true - '@rollup/rollup-android-arm64@4.22.4': - optional: true - '@rollup/rollup-android-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-arm64@4.22.4': - optional: true - '@rollup/rollup-darwin-arm64@4.28.1': optional: true - '@rollup/rollup-darwin-x64@4.22.4': - optional: true - '@rollup/rollup-darwin-x64@4.28.1': optional: true @@ -16216,78 +16004,42 @@ snapshots: '@rollup/rollup-freebsd-x64@4.28.1': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.22.4': - optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.22.4': - optional: true - '@rollup/rollup-linux-arm-musleabihf@4.28.1': optional: true - '@rollup/rollup-linux-arm64-gnu@4.22.4': - optional: true - '@rollup/rollup-linux-arm64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-arm64-musl@4.22.4': - optional: true - '@rollup/rollup-linux-arm64-musl@4.28.1': optional: true '@rollup/rollup-linux-loongarch64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.22.4': - optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.28.1': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.22.4': - optional: true - '@rollup/rollup-linux-riscv64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-s390x-gnu@4.22.4': - optional: true - '@rollup/rollup-linux-s390x-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-gnu@4.22.4': - optional: true - '@rollup/rollup-linux-x64-gnu@4.28.1': optional: true - '@rollup/rollup-linux-x64-musl@4.22.4': - optional: true - '@rollup/rollup-linux-x64-musl@4.28.1': optional: true - '@rollup/rollup-win32-arm64-msvc@4.22.4': - optional: true - '@rollup/rollup-win32-arm64-msvc@4.28.1': optional: true - '@rollup/rollup-win32-ia32-msvc@4.22.4': - optional: true - '@rollup/rollup-win32-ia32-msvc@4.28.1': optional: true - '@rollup/rollup-win32-x64-msvc@4.22.4': - optional: true - '@rollup/rollup-win32-x64-msvc@4.28.1': optional: true @@ -16448,7 +16200,7 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/jest-dom@6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0))': + '@testing-library/jest-dom@6.3.0(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@adobe/css-tools': 4.3.3 '@babel/runtime': 7.23.9 @@ -16459,7 +16211,7 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 optionalDependencies: - vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0) + vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) '@testing-library/react@13.2.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': dependencies: @@ -16731,7 +16483,7 @@ snapshots: modern-ahocorasick: 1.0.1 outdent: 0.8.0 - '@vanilla-extract/integration@6.5.0(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)': + '@vanilla-extract/integration@6.5.0(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)': dependencies: '@babel/core': 7.25.2 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.25.2) @@ -16744,13 +16496,14 @@ snapshots: lodash: 4.17.21 mlly: 1.5.0 outdent: 0.8.0 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) - vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -16758,47 +16511,25 @@ snapshots: '@vanilla-extract/private@1.0.3': {} - '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.15)(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': + '@vitejs/plugin-react-swc@3.7.0(@swc/helpers@0.5.15)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@swc/core': 1.5.28(@swc/helpers@0.5.15) - vite: 5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@swc/helpers' - '@vitejs/plugin-react@4.3.1(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0))': + '@vitejs/plugin-react@4.3.1(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@babel/core': 7.25.2 '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.25.2) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@4.3.1(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.25.2) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - transitivePeerDependencies: - - supports-color - - '@vitejs/plugin-react@4.3.1(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-react-jsx-source': 7.24.1(@babel/core@7.25.2) - '@types/babel__core': 7.20.5 - react-refresh: 0.14.2 - vite: 5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - transitivePeerDependencies: - - supports-color - - '@vitest/coverage-v8@1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0))': + '@vitest/coverage-v8@1.2.1(vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -16813,7 +16544,7 @@ snapshots: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0) + vitest: 1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - supports-color @@ -17187,8 +16918,8 @@ snapshots: tsconfck: 3.1.4(typescript@5.5.2) unist-util-visit: 5.0.0 vfile: 6.0.3 - vite: 5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - vitefu: 1.0.4(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vitefu: 1.0.4(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)) which-pm: 3.0.0 xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 @@ -22335,28 +22066,6 @@ snapshots: dependencies: glob: 10.3.10 - rollup@4.22.4: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.22.4 - '@rollup/rollup-android-arm64': 4.22.4 - '@rollup/rollup-darwin-arm64': 4.22.4 - '@rollup/rollup-darwin-x64': 4.22.4 - '@rollup/rollup-linux-arm-gnueabihf': 4.22.4 - '@rollup/rollup-linux-arm-musleabihf': 4.22.4 - '@rollup/rollup-linux-arm64-gnu': 4.22.4 - '@rollup/rollup-linux-arm64-musl': 4.22.4 - '@rollup/rollup-linux-powerpc64le-gnu': 4.22.4 - '@rollup/rollup-linux-riscv64-gnu': 4.22.4 - '@rollup/rollup-linux-s390x-gnu': 4.22.4 - '@rollup/rollup-linux-x64-gnu': 4.22.4 - '@rollup/rollup-linux-x64-musl': 4.22.4 - '@rollup/rollup-win32-arm64-msvc': 4.22.4 - '@rollup/rollup-win32-ia32-msvc': 4.22.4 - '@rollup/rollup-win32-x64-msvc': 4.22.4 - fsevents: 2.3.3 - rollup@4.28.1: dependencies: '@types/estree': 1.0.6 @@ -23478,57 +23187,36 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite-node@1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0): + vite-node@1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@8.1.1) pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite-tsconfig-paths@4.3.2(typescript@5.5.2)(vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0)): - dependencies: - debug: 4.3.7(supports-color@8.1.1) - globrex: 0.1.2 - tsconfck: 3.1.3(typescript@5.5.2) - optionalDependencies: - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) - transitivePeerDependencies: - - supports-color - - typescript - - vite-tsconfig-paths@4.3.2(typescript@5.5.2)(vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)): + vite-tsconfig-paths@4.3.2(typescript@5.5.2)(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)): dependencies: debug: 4.3.7(supports-color@8.1.1) globrex: 0.1.2 tsconfck: 3.1.3(typescript@5.5.2) optionalDependencies: - vite: 5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) transitivePeerDependencies: - supports-color - typescript - vite@5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0): - dependencies: - esbuild: 0.19.12 - postcss: 8.4.37 - rollup: 4.22.4 - optionalDependencies: - '@types/node': 22.5.5 - fsevents: 2.3.3 - lightningcss: 1.25.1 - sass: 1.72.0 - - vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0): + vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: esbuild: 0.21.5 postcss: 8.4.37 @@ -23540,23 +23228,11 @@ snapshots: sass: 1.72.0 sass-embedded: 1.64.1 - vite@5.4.7(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0): - dependencies: - esbuild: 0.21.5 - postcss: 8.4.37 - rollup: 4.22.4 + vitefu@1.0.4(vite@5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)): optionalDependencies: - '@types/node': 22.5.5 - fsevents: 2.3.3 - lightningcss: 1.25.1 - sass: 1.72.0 - sass-embedded: 1.64.1 + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - vitefu@1.0.4(vite@5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0)): - optionalDependencies: - vite: 5.4.11(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) - - vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass@1.72.0): + vitest@1.2.1(@types/node@22.5.5)(jsdom@24.0.0)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0): dependencies: '@vitest/expect': 1.2.1 '@vitest/runner': 1.2.1 @@ -23576,8 +23252,8 @@ snapshots: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.1 - vite: 5.1.8(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) - vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass@1.72.0) + vite: 5.4.14(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) + vite-node: 1.2.1(@types/node@22.5.5)(lightningcss@1.25.1)(sass-embedded@1.64.1)(sass@1.72.0) why-is-node-running: 2.2.2 optionalDependencies: '@types/node': 22.5.5 @@ -23586,6 +23262,7 @@ snapshots: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color