Browse Source

chore:backup

DaiQiangReal 1 year ago
parent
commit
7db5594b7b

+ 1 - 1
content/input/colorpicker/index.md

@@ -68,7 +68,7 @@ function Demo(){
 ```
 
 ### 默认值
-在进行各种颜色表示格式之间相互时,部分格式之间存在理论误差,因此 onChange 返回给你的值是同时包含了 hsva hex rgba 三种格式的色值的对象。
+在进行各种颜色表示格式之间相互转换时,部分格式之间存在理论误差,因此 onChange 返回给你的值是同时包含了 hsva hex rgba 三种格式的色值的对象。
 
 你传入的 defaultValue(非受控) 和 value(受控) 也应当是同样包含三种格式的对象。
 

+ 20 - 16
packages/semi-foundation/colorPicker/foundation.ts

@@ -1,4 +1,4 @@
-import { HsvaColor, RgbaColor } from './types';
+import { HsvaColor, RgbaColor } from './interface';
 import BaseFoundation, { DefaultAdapter } from '../base/foundation';
 import {
     hexToHsva,
@@ -18,7 +18,7 @@ type Value = {
     hex: string
 }
 export interface ColorPickerProps {
-    eyeDropper?:boolean,
+    eyeDropper?: boolean;
     defaultValue?: Value;
     value?: Value;
     onChange: (value: Value) => void;
@@ -34,10 +34,7 @@ export interface ColorPickerState {
 
 
 export interface ColorPickerAdapter<P = Record<string, any>, S = Record<string, any>> extends DefaultAdapter<P, S> {
-    notifyChange: (value: Value) => void;
-
-    notifyAlphaChangeByHandle: (newAlpha: { a: number }) => void;
-    notifyColorChangeByHandle: (newHue: { h: number }) => void
+    notifyChange: (value: Value) => void
 }
 
 
@@ -105,22 +102,29 @@ class ColorPickerFoundation extends BaseFoundation<ColorPickerAdapter<ColorPicke
 
     }
 
+    getCurrentColor = ()=>{
+
+        const value = this.getProp("value");
+        const currentColor = this.getState("currentColor");
+        return value || currentColor;
+    }
+
     handleChange = (color: HsvaColor|RgbaColor|string, format: 'hex'|'rgba'|'hsva')=>{
         let currentColor;
 
-        if (format==='hsva') {
+        if (format === 'hsva') {
             currentColor = {
                 hsva: color as HsvaColor,
                 rgba: ColorPickerFoundation.hsvaToRgba(color as HsvaColor),
                 hex: ColorPickerFoundation.hsvaToHex(color as HsvaColor)
             };
-        } else if (format==='rgba') {
+        } else if (format === 'rgba') {
             currentColor = {
                 rgba: color as RgbaColor,
                 hsva: ColorPickerFoundation.rgbaToHsva(color as RgbaColor),
                 hex: ColorPickerFoundation.rgbaToHex(color as RgbaColor)
             };
-        } else if (format==='hex') {
+        } else if (format === 'hex') {
             currentColor = {
                 hex: color as string,
                 hsva: ColorPickerFoundation.hexToHsva(color as string),
@@ -136,17 +140,17 @@ class ColorPickerFoundation extends BaseFoundation<ColorPickerAdapter<ColorPicke
 
 
     handleAlphaChangeByHandle = (newAlpha: {a: number})=>{
-        this._adapter.notifyAlphaChangeByHandle(newAlpha);
+        this.handleChangeA(this.getCurrentColor(), newAlpha.a);
     }
 
     handleColorChangeByHandle = (newHue: {h: number})=>{
-        this._adapter.notifyColorChangeByHandle(newHue);
+        this.handleChangeH(this.getCurrentColor(), newHue.h);
     }
 
 
     getHandlePositionByHSVA = (hsva: HsvaColor, { width, height }: {width: number;height: number}, handleSize: number)=>{
 
-        const defaultColorPosition = { x: hsva.s/100 * width, y: (1 - hsva.v/100) * height };
+        const defaultColorPosition = { x: hsva.s / 100 * width, y: (1 - hsva.v / 100) * height };
         return { x: defaultColorPosition.x - handleSize / 2, y: defaultColorPosition.y - handleSize / 2 };
     }
 
@@ -160,8 +164,8 @@ class ColorPickerFoundation extends BaseFoundation<ColorPickerAdapter<ColorPicke
         }
 
         const handlePosition = {
-            x: mousePosition.x - handleSize/2,
-            y: mousePosition.y - handleSize/2
+            x: mousePosition.x - handleSize / 2,
+            y: mousePosition.y - handleSize / 2
         };
 
         return handlePosition;
@@ -176,11 +180,11 @@ class ColorPickerFoundation extends BaseFoundation<ColorPickerAdapter<ColorPicke
     }
 
     getColorHandlePositionByMousePosition = (mousePosition: number, width: number, handleSize: number)=>{
-        if (mousePosition<0 || mousePosition > width) {
+        if (mousePosition < 0 || mousePosition > width) {
             return null;
         }
 
-        return mousePosition - handleSize/2;
+        return mousePosition - handleSize / 2;
     }
 
 

+ 0 - 0
packages/semi-foundation/colorPicker/types.ts → packages/semi-foundation/colorPicker/interface.ts


+ 1 - 1
packages/semi-foundation/colorPicker/utils/convert.ts

@@ -1,5 +1,5 @@
 import { round } from "./round";
-import { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from "../types";
+import { RgbaColor, RgbColor, HslaColor, HslColor, HsvaColor, HsvColor } from "../interface";
 /**
  * Valid CSS <angle> units.
  * https://developer.mozilla.org/en-US/docs/Web/CSS/angle

+ 3 - 3
packages/semi-ui/colorPicker/AlphaSlider/index.tsx

@@ -1,7 +1,7 @@
 import React, { CSSProperties } from 'react';
 import { hsvaToHslaString, hsvaToRgbaString } from "@douyinfe/semi-foundation/colorPicker/utils/convert";
 import { round } from "@douyinfe/semi-foundation/colorPicker/utils/round";
-import { HsvaColor } from "@douyinfe/semi-foundation/colorPicker/types";
+import { HsvaColor } from "@douyinfe/semi-foundation/colorPicker/interface";
 import ColorPickerFoundation from '@douyinfe/semi-foundation/colorPicker/foundation';
 import { cssClasses } from '@douyinfe/semi-foundation/colorPicker/constants';
 
@@ -21,7 +21,7 @@ interface AlphaSliderState {
     isHandleGrabbing: boolean
 }
 
-class ColorSlider extends React.Component<AlphaSliderProps, AlphaSliderState> {
+class AlphaSlider extends React.Component<AlphaSliderProps, AlphaSliderState> {
     private ref: React.RefObject<HTMLDivElement>;
 
     constructor(props) {
@@ -98,4 +98,4 @@ class ColorSlider extends React.Component<AlphaSliderProps, AlphaSliderState> {
 
 }
 
-export default ColorSlider;
+export default AlphaSlider;

+ 1 - 1
packages/semi-ui/colorPicker/ColorChooseArea/index.tsx

@@ -1,5 +1,5 @@
 import React, { CSSProperties } from 'react';
-import { HsvaColor } from "@douyinfe/semi-foundation/colorPicker/types";
+import { HsvaColor } from "@douyinfe/semi-foundation/colorPicker/interface";
 import { hsvaToHslString, hsvaToRgba } from "@douyinfe/semi-foundation/colorPicker/utils/convert";
 import ColorPickerFoundation from '@douyinfe/semi-foundation/colorPicker/foundation';
 import { cssClasses } from '@douyinfe/semi-foundation/colorPicker/constants';

+ 1 - 1
packages/semi-ui/colorPicker/ColorSlider/index.tsx

@@ -30,7 +30,7 @@ class ColorSlider extends React.Component<ColorSliderProps, ColorSliderState> {
     }
 
     componentDidUpdate(prevProps: Readonly<ColorSliderProps>, prevState: Readonly<ColorSliderState>, snapshot?: any) {
-        if (prevProps.hue!==this.props.hue) {
+        if (prevProps.hue !== this.props.hue) {
             this.setState({ handlePosition: this.props.hue/360 * this.props.width - this.props.handleSize/2 });
         }
     }

+ 1 - 1
packages/semi-ui/colorPicker/DataPart/index.tsx

@@ -1,5 +1,5 @@
 import React, { ReactNode } from 'react';
-import { HsvaColor, RgbaColor } from '@douyinfe/semi-foundation/colorPicker/types';
+import { HsvaColor, RgbaColor } from '@douyinfe/semi-foundation/colorPicker/interface';
 import Input from "../../input";
 import InputGroup from "../../input/inputGroup";
 import InputNumber from "../../inputNumber";

+ 2 - 11
packages/semi-ui/colorPicker/index.tsx

@@ -62,12 +62,6 @@ class ColorPicker extends BaseComponent<PropsWithChildren<ColorPickerReactProps>
             ...super.adapter,
             notifyChange: (value)=>{
                 this.props.onChange?.(value);
-            },
-            notifyAlphaChangeByHandle: (newAlpha)=>{
-                this.foundation.handleChangeA(this.getCurrentColor(), newAlpha.a);
-            },
-            notifyColorChangeByHandle: ({ h })=>{
-                this.foundation.handleChangeH(this.getCurrentColor(), h);
             }
         };
     }
@@ -103,19 +97,16 @@ class ColorPicker extends BaseComponent<PropsWithChildren<ColorPickerReactProps>
                 hex
             };
         } else {
-            throw new Error("Semi ColorPicker: error on static colorStringToValue method, input value is invalid: "+raw);
+            throw new Error("Semi ColorPicker: error on static colorStringToValue method, input value is invalid: " + raw);
         }
     }
 
-    getCurrentColor = ()=>{
-        return this.props.value ? (this.props.value) : this.state.currentColor;
-    }
 
 
     renderPicker() {
         const { className: userClassName } = this.props;
         const className = cls(`${cssClasses.PREFIX}`, userClassName);
-        const currentColor = this.getCurrentColor();
+        const currentColor = this.foundation.getCurrentColor();
         return <div className={className}>
             {this.props.topSlot}
             <ColorChooseArea hsva={this.state.currentColor.hsva} foundation={this.foundation} onChange={({ s, v }) => {

+ 115 - 3
yarn.lock

@@ -1532,11 +1532,25 @@
     "@douyinfe/semi-animation-styled" "2.23.2"
     classnames "^2.2.6"
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-react/-/semi-animation-react-2.57.0.tgz#b64d3fa98e798166d72c829805967f5790b37d5c"
+  integrity sha512-PuFe31U+xMnBF/7dCidKwQqjCAl0OdA7lEjJFgs8ZvRmC6wIYg4xoxqeJ+gZ4zG+4yGggy+IcI9sDzyW9zPzrQ==
+  dependencies:
+    "@douyinfe/semi-animation" "2.57.0"
+    "@douyinfe/semi-animation-styled" "2.57.0"
+    classnames "^2.2.6"
+
 "@douyinfe/[email protected]":
   version "2.23.2"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.23.2.tgz#f18bc074515441c297cc636ed98521e249d093c9"
   integrity sha512-cKaA1yGHPF76Rx7EZDZicj+1oX1su2wnqb/UGFOTquAwqWmkTfgQ+EKxCd/N704WH+RtmGf4xbrJKpBvvcEdSQ==
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation-styled/-/semi-animation-styled-2.57.0.tgz#7bd93312c61a7361581144939850841c720b38e4"
+  integrity sha512-qusGdqu8yORj4kUdN0M9LuvWC9lD/Oz+JtUgb+y5vavm8YXYvRAsBneUrBfVh6zGFk6DpiEt72ABtSD41TstBw==
+
 "@douyinfe/[email protected]":
   version "2.12.0"
   resolved "https://registry.npmjs.org/@douyinfe/semi-animation/-/semi-animation-2.12.0.tgz#51fe52d3911c2591a80a6e9fe96e6809c1511f13"
@@ -1552,6 +1566,13 @@
   dependencies:
     bezier-easing "^2.1.0"
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-animation/-/semi-animation-2.57.0.tgz#2e7fdfeb2bcab0b203fc75e0d305aaf926b01322"
+  integrity sha512-L3GnQRf6tjU7y8ZFWkjDBEiGpwoQDSHp7j2uvOqJJxC8BejRCAxEIqwgfQGMYxXxRrZ2B6tl/yNAXb/XwlbhyA==
+  dependencies:
+    bezier-easing "^2.1.0"
+
 "@douyinfe/[email protected]":
   version "2.33.1"
   resolved "https://registry.npmjs.org/@douyinfe/semi-foundation/-/semi-foundation-2.33.1.tgz#1dfe6233e35a4ed768cb580b0c9a677d1c34ffba"
@@ -1566,6 +1587,21 @@
     memoize-one "^5.2.1"
     scroll-into-view-if-needed "^2.2.24"
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-foundation/-/semi-foundation-2.57.0.tgz#d36b10363d0ce7a5dd249137912835c119167457"
+  integrity sha512-5E+IsioLw50ArQsPf4E+Ba92Iu0XJUbDYxI67RmNt7AJhiILtLFPaoL8EZyf5zyFFJwlql1tTwNof5NKDlDcCQ==
+  dependencies:
+    "@douyinfe/semi-animation" "2.57.0"
+    async-validator "^3.5.0"
+    classnames "^2.2.6"
+    date-fns "^2.29.3"
+    date-fns-tz "^1.3.8"
+    fast-copy "^3.0.1 "
+    lodash "^4.17.21"
+    memoize-one "^5.2.1"
+    scroll-into-view-if-needed "^2.2.24"
+
 "@douyinfe/[email protected]", "@douyinfe/semi-icons@latest":
   version "2.33.1"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.33.1.tgz#8e2871d9bc0ab7e12df74e3c71802d53d69b7425"
@@ -1573,11 +1609,23 @@
   dependencies:
     classnames "^2.2.6"
 
+"@douyinfe/[email protected]", "@douyinfe/semi-icons@^2.0.0":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-icons/-/semi-icons-2.57.0.tgz#d18bcfd261e2183fb08ca60b052592465fffb4d0"
+  integrity sha512-ckUKxmAL8CpFkLaw7sqyVEo+eywREey7jL5Y0OC+A1+n3FHlSvnNcjZbsZGBGL976cE62+RLsMwrhf4grtF6Og==
+  dependencies:
+    classnames "^2.2.6"
+
 "@douyinfe/[email protected]":
   version "2.33.1"
   resolved "https://registry.npmjs.org/@douyinfe/semi-illustrations/-/semi-illustrations-2.33.1.tgz#530ab851f4dc32a52221c4067c778c800b9b55d7"
   integrity sha512-tTTUN8QwnQiF++sk4VBNzfkG87aYZ4iUeqk2ys8/ymVUmCZQ7y46ys020GO1MfPHRR47OMFPI82FVcH1WQtE3g==
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-illustrations/-/semi-illustrations-2.57.0.tgz#92233422d7ff1b7a1a03d3440fdd3abb28ef957d"
+  integrity sha512-2rK80NkIy/LInIHsbCTAuGTifhutz4HeiFfw4bJnXehzzOkRZeLo0o6ya7TweR9Az338N7Bkg58sPkeGCkV2RA==
+
 "@douyinfe/[email protected]":
   version "2.23.2"
   resolved "https://registry.npmjs.org/@douyinfe/semi-scss-compile/-/semi-scss-compile-2.23.2.tgz#30884bb194ee9ae1e81877985e5663c3297c1ced"
@@ -1651,6 +1699,40 @@
   dependencies:
     glob "^7.1.6"
 
+"@douyinfe/[email protected]":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-theme-default/-/semi-theme-default-2.57.0.tgz#f2ad2a796dbf89ca73145e8243675701fc06ae10"
+  integrity sha512-BPdIM85MU/vVJcCakdgJql3UlUt1v9D32hChvvs8R8MveHIt/6J2o99qn9rwbiErS1fsRw592Yylf/66XyU7nQ==
+  dependencies:
+    glob "^7.1.6"
+
+"@douyinfe/semi-ui@^2.0.0":
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.57.0.tgz#2973ca89b120eefb93fbc3646e906e6c8010770c"
+  integrity sha512-AGCJuetZyf8g8NaQRc1VXj3hIsYW/bxjcvkdcumTnrYfOlXqst3CdJ52JpQDWf3NOOmWZ5HYRUluX5dbUG8F6g==
+  dependencies:
+    "@dnd-kit/core" "^6.0.8"
+    "@dnd-kit/sortable" "^7.0.2"
+    "@dnd-kit/utilities" "^3.2.1"
+    "@douyinfe/semi-animation" "2.57.0"
+    "@douyinfe/semi-animation-react" "2.57.0"
+    "@douyinfe/semi-foundation" "2.57.0"
+    "@douyinfe/semi-icons" "2.57.0"
+    "@douyinfe/semi-illustrations" "2.57.0"
+    "@douyinfe/semi-theme-default" "2.57.0"
+    async-validator "^3.5.0"
+    classnames "^2.2.6"
+    copy-text-to-clipboard "^2.1.1"
+    date-fns "^2.29.3"
+    date-fns-tz "^1.3.8"
+    fast-copy "^3.0.1 "
+    lodash "^4.17.21"
+    prop-types "^15.7.2"
+    react-resizable "^3.0.5"
+    react-window "^1.8.2"
+    scroll-into-view-if-needed "^2.2.24"
+    utility-types "^3.10.0"
+
 "@douyinfe/semi-ui@latest":
   version "2.33.1"
   resolved "https://registry.yarnpkg.com/@douyinfe/semi-ui/-/semi-ui-2.33.1.tgz#3234ca96eb3560b8299bc9750fbe59446522d9bb"
@@ -11739,6 +11821,11 @@ eslint-plugin-react@^7.20.6, eslint-plugin-react@^7.24.0:
     semver "^6.3.0"
     string.prototype.matchall "^4.0.8"
 
+eslint-plugin-semi-design@^2.33.0:
+  version "2.57.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-semi-design/-/eslint-plugin-semi-design-2.57.0.tgz#d1b86bf7e041f6085b0785deda1a7dcf01dddfa4"
+  integrity sha512-LV71hb6sujI13xWZJsJRizUnotRSaM6/Bvtl/vwLEer/FlwxzXsTyytR/Vr7MyE5JXtHpqIuXtfKUGwMDAZSpg==
+
 eslint-rule-composer@^0.3.0:
   version "0.3.0"
   resolved "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz#79320c927b0c5c0d3d3d2b76c8b4a488f25bbaf9"
@@ -25003,7 +25090,7 @@ string-similarity@^1.2.2:
     lodash.map "^4.6.0"
     lodash.maxby "^4.6.0"
 
-"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
+"string-width-cjs@npm:string-width@^4.2.0":
   version "4.2.3"
   resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
   integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -25021,6 +25108,15 @@ string-width@^1.0.1, string-width@^1.0.2:
     is-fullwidth-code-point "^1.0.0"
     strip-ansi "^3.0.0"
 
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^6.0.1"
+
 string-width@^2.0.0, string-width@^2.1.0:
   version "2.1.1"
   resolved "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
@@ -25143,7 +25239,7 @@ stringify-object@^3.3.0:
     is-obj "^1.0.1"
     is-regexp "^1.0.0"
 
-"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
   version "6.0.1"
   resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
   integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -25171,6 +25267,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
   dependencies:
     ansi-regex "^4.1.0"
 
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
 strip-ansi@^7.0.1:
   version "7.0.1"
   resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2"
@@ -27725,7 +27828,7 @@ worker-farm@^1.7.0:
   dependencies:
     errno "~0.1.7"
 
-"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
   version "7.0.0"
   resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
   integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -27760,6 +27863,15 @@ wrap-ansi@^6.2.0:
     string-width "^4.1.0"
     strip-ansi "^6.0.0"
 
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
 wrap-ansi@^8.1.0:
   version "8.1.0"
   resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"