fis-component 0.0.28 → 0.0.30
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/dist/cjs/index.js +192 -150
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/src/components/IconButton/IconButton.stories.d.ts +4 -0
- package/dist/cjs/types/src/components/IconButton/index.d.ts +4 -0
- package/dist/cjs/types/src/components/IconButton/styles.d.ts +1 -0
- package/dist/esm/index.js +192 -150
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/src/components/IconButton/IconButton.stories.d.ts +4 -0
- package/dist/esm/types/src/components/IconButton/index.d.ts +4 -0
- package/dist/esm/types/src/components/IconButton/styles.d.ts +1 -0
- package/dist/index.d.ts +4 -0
- package/package.json +3 -2
- package/dist/cjs/types/src/styles-entry.d.ts +0 -1
- package/dist/esm/types/src/styles-entry.d.ts +0 -1
- package/dist/styles-entry.css +0 -1
- package/dist/styles-entry.js +0 -2
- package/dist/styles-entry.js.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -62233,6 +62233,7 @@ const ButtonStyled = dt.button `
|
|
|
62233
62233
|
align-items: center;
|
|
62234
62234
|
border: none;
|
|
62235
62235
|
padding: 0;
|
|
62236
|
+
position: relative;
|
|
62236
62237
|
|
|
62237
62238
|
&:hover {
|
|
62238
62239
|
cursor: pointer;
|
|
@@ -62330,6 +62331,11 @@ const ButtonStyled = dt.button `
|
|
|
62330
62331
|
background-color: ${getTheme("com/button/disable/background-color")};
|
|
62331
62332
|
color: ${getTheme("com/button/disable/icon-color")} !important;
|
|
62332
62333
|
}
|
|
62334
|
+
|
|
62335
|
+
${props.$loading &&
|
|
62336
|
+
lt `
|
|
62337
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
62338
|
+
`}
|
|
62333
62339
|
`;
|
|
62334
62340
|
case "secondary":
|
|
62335
62341
|
return lt `
|
|
@@ -62365,6 +62371,12 @@ const ButtonStyled = dt.button `
|
|
|
62365
62371
|
border-color: ${getTheme("com/button/disable/stroke-color")};
|
|
62366
62372
|
color: ${getTheme("com/button/disable/icon-color")} !important;
|
|
62367
62373
|
}
|
|
62374
|
+
|
|
62375
|
+
${props.$loading &&
|
|
62376
|
+
lt `
|
|
62377
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
62378
|
+
border-color: ${getTheme("com/button/disable/stroke-color")} !important;
|
|
62379
|
+
`}
|
|
62368
62380
|
`;
|
|
62369
62381
|
case "secondary-invisible":
|
|
62370
62382
|
return lt `
|
|
@@ -62428,6 +62440,12 @@ const ButtonStyled = dt.button `
|
|
|
62428
62440
|
border-color: ${getTheme("com/button/disable/stroke-color")};
|
|
62429
62441
|
color: ${getTheme("com/button/disable/icon-color")} !important;
|
|
62430
62442
|
}
|
|
62443
|
+
|
|
62444
|
+
${props.$loading &&
|
|
62445
|
+
lt `
|
|
62446
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
62447
|
+
border-color: ${getTheme("com/button/disable/stroke-color")} !important;
|
|
62448
|
+
`}
|
|
62431
62449
|
`;
|
|
62432
62450
|
case "tertiary-invisible":
|
|
62433
62451
|
return lt `
|
|
@@ -62485,6 +62503,11 @@ const ButtonStyled = dt.button `
|
|
|
62485
62503
|
background-color: ${getTheme("com/button/disable/background-color")};
|
|
62486
62504
|
color: ${getTheme("com/button/disable/icon-color")} !important;
|
|
62487
62505
|
}
|
|
62506
|
+
|
|
62507
|
+
${props.$loading &&
|
|
62508
|
+
lt `
|
|
62509
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
62510
|
+
`}
|
|
62488
62511
|
`;
|
|
62489
62512
|
case "secondary-negative":
|
|
62490
62513
|
return lt `
|
|
@@ -62521,6 +62544,12 @@ const ButtonStyled = dt.button `
|
|
|
62521
62544
|
border-color: ${getTheme("com/button/disable/stroke-color")};
|
|
62522
62545
|
color: ${getTheme("com/button/disable/icon-color")} !important;
|
|
62523
62546
|
}
|
|
62547
|
+
|
|
62548
|
+
${props.$loading &&
|
|
62549
|
+
lt `
|
|
62550
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
62551
|
+
border-color: ${getTheme("com/button/disable/stroke-color")} !important;
|
|
62552
|
+
`}
|
|
62524
62553
|
`;
|
|
62525
62554
|
case "secondary-invisible-negative":
|
|
62526
62555
|
return lt `
|
|
@@ -62579,6 +62608,11 @@ const ButtonStyled = dt.button `
|
|
|
62579
62608
|
background-color: ${getTheme("com/button/disable-invert/solid-background-color")};
|
|
62580
62609
|
color: ${getTheme("com/button/disable-invert/icon-color")} !important;
|
|
62581
62610
|
}
|
|
62611
|
+
|
|
62612
|
+
${props.$loading &&
|
|
62613
|
+
lt `
|
|
62614
|
+
background-color: ${getTheme("com/button/disable-invert/solid-background-color")} !important;
|
|
62615
|
+
`}
|
|
62582
62616
|
`;
|
|
62583
62617
|
case "secondary-white":
|
|
62584
62618
|
return lt `
|
|
@@ -62616,6 +62650,12 @@ const ButtonStyled = dt.button `
|
|
|
62616
62650
|
border-color: ${getTheme("com/button/disable-invert/stroke-color")};
|
|
62617
62651
|
color: ${getTheme("com/button/disable-invert/icon-color")} !important;
|
|
62618
62652
|
}
|
|
62653
|
+
|
|
62654
|
+
${props.$loading &&
|
|
62655
|
+
lt `
|
|
62656
|
+
background-color: ${getTheme("com/button/disable-invert/background-color-transparent")} !important;
|
|
62657
|
+
border-color: ${getTheme("com/button/disable-invert/stroke-color")} !important;
|
|
62658
|
+
`}
|
|
62619
62659
|
`;
|
|
62620
62660
|
case "secondary-invisible-white":
|
|
62621
62661
|
return lt `
|
|
@@ -62657,9 +62697,150 @@ const ButtonStyled = dt.button `
|
|
|
62657
62697
|
}}
|
|
62658
62698
|
`;
|
|
62659
62699
|
|
|
62700
|
+
const circleKeyframe = mt `
|
|
62701
|
+
0% {
|
|
62702
|
+
transform: rotate(0deg);
|
|
62703
|
+
}
|
|
62704
|
+
100% {
|
|
62705
|
+
transform: rotate(360deg);
|
|
62706
|
+
}`;
|
|
62707
|
+
const getSizeProgressCircle = (size) => {
|
|
62708
|
+
switch (size) {
|
|
62709
|
+
case "xs":
|
|
62710
|
+
return lt `
|
|
62711
|
+
width: ${getTheme("com/progress-indicator/circular/size-xs/width")};
|
|
62712
|
+
height: ${getTheme("com/progress-indicator/circular/size-xs/width")};
|
|
62713
|
+
`;
|
|
62714
|
+
case "sm":
|
|
62715
|
+
return lt `
|
|
62716
|
+
width: ${getTheme("com/progress-indicator/circular/size-sm/width")};
|
|
62717
|
+
height: ${getTheme("com/progress-indicator/circular/size-sm/width")};
|
|
62718
|
+
`;
|
|
62719
|
+
case "md":
|
|
62720
|
+
return lt `
|
|
62721
|
+
width: ${getTheme("com/progress-indicator/circular/size-md/width")};
|
|
62722
|
+
height: ${getTheme("com/progress-indicator/circular/size-md/width")};
|
|
62723
|
+
`;
|
|
62724
|
+
default:
|
|
62725
|
+
return lt `
|
|
62726
|
+
width: ${getTheme("com/progress-indicator/circular/size-lg/width")};
|
|
62727
|
+
height: ${getTheme("com/progress-indicator/circular/size-lg/width")};
|
|
62728
|
+
`;
|
|
62729
|
+
}
|
|
62730
|
+
};
|
|
62731
|
+
const circularIndeterminateLeadColor = (invert) => invert
|
|
62732
|
+
? getTheme("com/progress-indicator/invert/indicator/lead-color")
|
|
62733
|
+
: getTheme("com/progress-indicator/default/indicator/lead-color");
|
|
62734
|
+
const circularIndeterminateTrailColor = (invert) => invert
|
|
62735
|
+
? getTheme("com/progress-indicator/invert/indicator/trail-color")
|
|
62736
|
+
: getTheme("com/progress-indicator/default/indicator/trail-color");
|
|
62737
|
+
const DivIndeterminateWrapperSC = dt.svg `
|
|
62738
|
+
${({ $size }) => getSizeProgressCircle($size)}
|
|
62739
|
+
|
|
62740
|
+
.indicator {
|
|
62741
|
+
${({ $invert }) => lt `
|
|
62742
|
+
background: conic-gradient(
|
|
62743
|
+
from 82.72deg at 50% 48.91%,
|
|
62744
|
+
${circularIndeterminateTrailColor($invert)} -3.6deg,
|
|
62745
|
+
${circularIndeterminateLeadColor($invert)} 252deg,
|
|
62746
|
+
${circularIndeterminateTrailColor($invert)} 356.4deg,
|
|
62747
|
+
${circularIndeterminateLeadColor($invert)} 612deg
|
|
62748
|
+
);
|
|
62749
|
+
`}
|
|
62750
|
+
}
|
|
62751
|
+
|
|
62752
|
+
animation: ${circleKeyframe} 0.5s linear infinite;
|
|
62753
|
+
`;
|
|
62754
|
+
const SvgDeterminateSC = dt.svg `
|
|
62755
|
+
transform: rotate(-90deg);
|
|
62756
|
+
`;
|
|
62757
|
+
const SvgDeterminateWrapperSC = dt.div `
|
|
62758
|
+
position: relative;
|
|
62759
|
+
width: ${({ $size }) => $size};
|
|
62760
|
+
height: ${({ $size }) => $size};
|
|
62761
|
+
display: flex;
|
|
62762
|
+
justify-content: center;
|
|
62763
|
+
align-items: center;
|
|
62764
|
+
`;
|
|
62765
|
+
const CircleDeterminateSC = dt.circle `
|
|
62766
|
+
fill: none;
|
|
62767
|
+
stroke-linecap: round;
|
|
62768
|
+
transition: stroke-dashoffset 0.35s ease;
|
|
62769
|
+
`;
|
|
62770
|
+
|
|
62771
|
+
const NUMBER_REGEX = /^\d+/;
|
|
62772
|
+
|
|
62773
|
+
const extractNumberFromThemeValue = (value, defaultValue = 0) => {
|
|
62774
|
+
if (typeof value !== "string") {
|
|
62775
|
+
return defaultValue;
|
|
62776
|
+
}
|
|
62777
|
+
const match = value.match(NUMBER_REGEX);
|
|
62778
|
+
const number = Number(match?.[0]);
|
|
62779
|
+
if (isNaN(number)) {
|
|
62780
|
+
return defaultValue;
|
|
62781
|
+
}
|
|
62782
|
+
return number;
|
|
62783
|
+
};
|
|
62784
|
+
const clamp = (value, min, max) => {
|
|
62785
|
+
return Math.min(Math.max(value, min), max);
|
|
62786
|
+
};
|
|
62787
|
+
|
|
62788
|
+
const ProgressCircularDeterminate = ({ percent: percentProp = 0, size: sizeProp = "md", invert = false, className, }) => {
|
|
62789
|
+
const theme = nt();
|
|
62790
|
+
const percent = React.useMemo(() => clamp(percentProp, 0, 100), [percentProp]);
|
|
62791
|
+
const { size, strokeWidth, radius, circumference } = React.useMemo(() => {
|
|
62792
|
+
const sizeValue = extractNumberFromThemeValue(theme?.[`com/progress-indicator/circular/size-${sizeProp}/indicator/indicator`], 0);
|
|
62793
|
+
const strokeWidthValue = extractNumberFromThemeValue(theme?.[`com/progress-indicator/circular/size-${sizeProp}/indicator/stroke-width`], 0);
|
|
62794
|
+
const validSize = Math.max(0, sizeValue);
|
|
62795
|
+
const validStrokeWidth = Math.max(0, strokeWidthValue);
|
|
62796
|
+
const calculatedRadius = (validSize - validStrokeWidth) / 2;
|
|
62797
|
+
const calculatedCircumference = 2 * Math.PI * Math.max(0, calculatedRadius);
|
|
62798
|
+
return {
|
|
62799
|
+
size: validSize,
|
|
62800
|
+
strokeWidth: validStrokeWidth,
|
|
62801
|
+
radius: Math.max(0, calculatedRadius),
|
|
62802
|
+
circumference: calculatedCircumference,
|
|
62803
|
+
};
|
|
62804
|
+
}, [sizeProp, theme]);
|
|
62805
|
+
const offset = React.useMemo(() => {
|
|
62806
|
+
if (circumference <= 0)
|
|
62807
|
+
return 0;
|
|
62808
|
+
return circumference - (percent / 100) * circumference;
|
|
62809
|
+
}, [percent, circumference]);
|
|
62810
|
+
const wrapperSize = theme[`com/progress-indicator/circular/size-${sizeProp}/width`];
|
|
62811
|
+
const backgroundColor = invert
|
|
62812
|
+
? theme["com/progress-indicator/invert/background-color"]
|
|
62813
|
+
: theme["com/progress-indicator/default/background-color"];
|
|
62814
|
+
const leadColor = invert
|
|
62815
|
+
? theme["com/progress-indicator/invert/indicator/lead-color"]
|
|
62816
|
+
: theme["com/progress-indicator/default/indicator/lead-color"];
|
|
62817
|
+
if (size <= 0 || radius <= 0) {
|
|
62818
|
+
return null;
|
|
62819
|
+
}
|
|
62820
|
+
return (jsxRuntime.jsx(SvgDeterminateWrapperSC, { "$size": wrapperSize, className: className, children: jsxRuntime.jsxs(SvgDeterminateSC, { width: size, height: size, viewBox: `0 0 ${size} ${size}`, "aria-valuenow": percent, role: "progressbar", children: [jsxRuntime.jsx(CircleDeterminateSC, { cx: size / 2, cy: size / 2, r: radius, stroke: backgroundColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx(CircleDeterminateSC, { cx: size / 2, cy: size / 2, r: radius, stroke: leadColor, strokeWidth: strokeWidth, strokeDasharray: circumference, strokeDashoffset: offset, fill: "none" })] }) }));
|
|
62821
|
+
};
|
|
62822
|
+
|
|
62823
|
+
function ProgressCircularIndeterminate({ size = "md", invert = false, className, }) {
|
|
62824
|
+
return (jsxRuntime.jsxs(DivIndeterminateWrapperSC, { viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, "$invert": invert, "$size": size, children: [jsxRuntime.jsx("g", { clipPath: "url(#paint0_angular_9600_49736_clip_path)", "data-figma-skip-parse": "true", children: jsxRuntime.jsx("g", { transform: "matrix(0.00190748 0.0149333 -0.0152598 0.00186667 22.3061 22)", children: jsxRuntime.jsx("foreignObject", { x: -1186.46, y: -1186.46, width: 2372.92, height: 2372.92, children: jsxRuntime.jsx("div", { className: "indicator", style: {
|
|
62825
|
+
height: "100%",
|
|
62826
|
+
width: "100%",
|
|
62827
|
+
opacity: 1,
|
|
62828
|
+
} }) }) }) }), jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M34.7639 19.8789C33.8246 20.1776 32.8157 19.6745 32.5105 18.7553C31.899 16.9137 30.7791 15.2734 29.2744 14.0157C27.7697 12.7581 25.939 11.9322 23.9846 11.6293C22.0302 11.3264 20.0282 11.5582 18.2001 12.2993C16.3719 13.0403 14.7888 14.2617 13.6257 15.8283C12.4626 17.3949 11.7649 19.2457 11.6096 21.1762C11.4544 23.1066 11.8476 25.0415 12.746 26.7669C13.6443 28.4923 15.0127 29.9409 16.6999 30.9527C18.3871 31.9645 20.3273 32.5 22.3061 32.5C23.2937 32.5 24.0944 33.2835 24.0944 34.25C24.0944 35.2165 23.2937 36 22.3061 36C19.6677 36 17.0808 35.286 14.8312 33.937C12.5816 32.5879 10.7571 30.6564 9.55928 28.3559C8.36149 26.0554 7.8371 23.4755 8.04411 20.9016C8.25111 18.3276 9.18144 15.8598 10.7322 13.771C12.283 11.6822 14.3939 10.0537 16.8314 9.06569C19.2689 8.07764 21.9382 7.76847 24.5441 8.17237C27.1499 8.57627 29.5909 9.6775 31.5972 11.3543C33.6034 13.0311 35.0967 15.2182 35.912 17.6738C36.2172 18.593 35.7032 19.5802 34.7639 19.8789Z", "data-figma-gradient-fill": "{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.18431372940540314,\"g\":0.23529411852359772,\"b\":0.75686275959014893,\"a\":1.0},\"position\":0.750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.10999999940395355},\"position\":0.89999997615814209}],\"stopsVar\":[{\"color\":{\"r\":0.18431372940540314,\"g\":0.23529411852359772,\"b\":0.75686275959014893,\"a\":1.0},\"position\":0.750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.10999999940395355},\"position\":0.89999997615814209}],\"transform\":{\"m00\":3.8149569034576416,\"m01\":-30.519655227661133,\"m02\":35.658443450927734,\"m10\":29.866659164428711,\"m11\":3.7333323955535889,\"m12\":5.2000064849853516},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}" }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "paint0_angular_9600_49736_clip_path", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M34.7639 19.8789C33.8246 20.1776 32.8157 19.6745 32.5105 18.7553C31.899 16.9137 30.7791 15.2734 29.2744 14.0157C27.7697 12.7581 25.939 11.9322 23.9846 11.6293C22.0302 11.3264 20.0282 11.5582 18.2001 12.2993C16.3719 13.0403 14.7888 14.2617 13.6257 15.8283C12.4626 17.3949 11.7649 19.2457 11.6096 21.1762C11.4544 23.1066 11.8476 25.0415 12.746 26.7669C13.6443 28.4923 15.0127 29.9409 16.6999 30.9527C18.3871 31.9645 20.3273 32.5 22.3061 32.5C23.2937 32.5 24.0944 33.2835 24.0944 34.25C24.0944 35.2165 23.2937 36 22.3061 36C19.6677 36 17.0808 35.286 14.8312 33.937C12.5816 32.5879 10.7571 30.6564 9.55928 28.3559C8.36149 26.0554 7.8371 23.4755 8.04411 20.9016C8.25111 18.3276 9.18144 15.8598 10.7322 13.771C12.283 11.6822 14.3939 10.0537 16.8314 9.06569C19.2689 8.07764 21.9382 7.76847 24.5441 8.17237C27.1499 8.57627 29.5909 9.6775 31.5972 11.3543C33.6034 13.0311 35.0967 15.2182 35.912 17.6738C36.2172 18.593 35.7032 19.5802 34.7639 19.8789Z" }) }) })] }));
|
|
62829
|
+
}
|
|
62830
|
+
|
|
62831
|
+
function FISProgressCircular({ variant, ...rest }) {
|
|
62832
|
+
if (variant === "determinate") {
|
|
62833
|
+
return jsxRuntime.jsx(ProgressCircularDeterminate, { ...rest });
|
|
62834
|
+
}
|
|
62835
|
+
return jsxRuntime.jsx(ProgressCircularIndeterminate, { ...rest });
|
|
62836
|
+
}
|
|
62837
|
+
FISProgressCircular.displayName = "FISProgressCircular";
|
|
62838
|
+
|
|
62660
62839
|
const FISIconButton = React.forwardRef((props, ref) => {
|
|
62661
|
-
const { type, children, active = false, size = "md", variant = "primary", icon: iconProp, ...rest } = props;
|
|
62662
|
-
return (jsxRuntime.jsx(ButtonStyled, { ...rest, ref: ref, "$variant": variant, "$size": size, "$active": active, children:
|
|
62840
|
+
const { type, children, active = false, size = "md", variant = "primary", icon: iconProp, loading = false, disabled = false, ...rest } = props;
|
|
62841
|
+
return (jsxRuntime.jsx(ButtonStyled, { ...rest, ref: ref, "$variant": variant, "$size": size, "$active": active, "$loading": loading, disabled: disabled || loading, children: loading ? (jsxRuntime.jsx(FISProgressCircular, { size: size, variant: "indeterminate", invert: variant === "primary-white" ||
|
|
62842
|
+
variant === "secondary-white" ||
|
|
62843
|
+
variant === "secondary-invisible-white" })) : (iconProp) }));
|
|
62663
62844
|
});
|
|
62664
62845
|
FISIconButton.displayName = "FISIconButton";
|
|
62665
62846
|
|
|
@@ -62970,145 +63151,6 @@ const ToastWrapper = dt.div `
|
|
|
62970
63151
|
gap: 10px;
|
|
62971
63152
|
`;
|
|
62972
63153
|
|
|
62973
|
-
const circleKeyframe = mt `
|
|
62974
|
-
0% {
|
|
62975
|
-
transform: rotate(0deg);
|
|
62976
|
-
}
|
|
62977
|
-
100% {
|
|
62978
|
-
transform: rotate(360deg);
|
|
62979
|
-
}`;
|
|
62980
|
-
const getSizeProgressCircle = (size) => {
|
|
62981
|
-
switch (size) {
|
|
62982
|
-
case "xs":
|
|
62983
|
-
return lt `
|
|
62984
|
-
width: ${getTheme("com/progress-indicator/circular/size-xs/width")};
|
|
62985
|
-
height: ${getTheme("com/progress-indicator/circular/size-xs/width")};
|
|
62986
|
-
`;
|
|
62987
|
-
case "sm":
|
|
62988
|
-
return lt `
|
|
62989
|
-
width: ${getTheme("com/progress-indicator/circular/size-sm/width")};
|
|
62990
|
-
height: ${getTheme("com/progress-indicator/circular/size-sm/width")};
|
|
62991
|
-
`;
|
|
62992
|
-
case "md":
|
|
62993
|
-
return lt `
|
|
62994
|
-
width: ${getTheme("com/progress-indicator/circular/size-md/width")};
|
|
62995
|
-
height: ${getTheme("com/progress-indicator/circular/size-md/width")};
|
|
62996
|
-
`;
|
|
62997
|
-
default:
|
|
62998
|
-
return lt `
|
|
62999
|
-
width: ${getTheme("com/progress-indicator/circular/size-lg/width")};
|
|
63000
|
-
height: ${getTheme("com/progress-indicator/circular/size-lg/width")};
|
|
63001
|
-
`;
|
|
63002
|
-
}
|
|
63003
|
-
};
|
|
63004
|
-
const circularIndeterminateLeadColor = (invert) => invert
|
|
63005
|
-
? getTheme("com/progress-indicator/invert/indicator/lead-color")
|
|
63006
|
-
: getTheme("com/progress-indicator/default/indicator/lead-color");
|
|
63007
|
-
const circularIndeterminateTrailColor = (invert) => invert
|
|
63008
|
-
? getTheme("com/progress-indicator/invert/indicator/trail-color")
|
|
63009
|
-
: getTheme("com/progress-indicator/default/indicator/trail-color");
|
|
63010
|
-
const DivIndeterminateWrapperSC = dt.svg `
|
|
63011
|
-
${({ $size }) => getSizeProgressCircle($size)}
|
|
63012
|
-
|
|
63013
|
-
.indicator {
|
|
63014
|
-
${({ $invert }) => lt `
|
|
63015
|
-
background: conic-gradient(
|
|
63016
|
-
from 82.72deg at 50% 48.91%,
|
|
63017
|
-
${circularIndeterminateTrailColor($invert)} -3.6deg,
|
|
63018
|
-
${circularIndeterminateLeadColor($invert)} 252deg,
|
|
63019
|
-
${circularIndeterminateTrailColor($invert)} 356.4deg,
|
|
63020
|
-
${circularIndeterminateLeadColor($invert)} 612deg
|
|
63021
|
-
);
|
|
63022
|
-
`}
|
|
63023
|
-
}
|
|
63024
|
-
|
|
63025
|
-
animation: ${circleKeyframe} 0.5s linear infinite;
|
|
63026
|
-
`;
|
|
63027
|
-
const SvgDeterminateSC = dt.svg `
|
|
63028
|
-
transform: rotate(-90deg);
|
|
63029
|
-
`;
|
|
63030
|
-
const SvgDeterminateWrapperSC = dt.div `
|
|
63031
|
-
position: relative;
|
|
63032
|
-
width: ${({ $size }) => $size};
|
|
63033
|
-
height: ${({ $size }) => $size};
|
|
63034
|
-
display: flex;
|
|
63035
|
-
justify-content: center;
|
|
63036
|
-
align-items: center;
|
|
63037
|
-
`;
|
|
63038
|
-
const CircleDeterminateSC = dt.circle `
|
|
63039
|
-
fill: none;
|
|
63040
|
-
stroke-linecap: round;
|
|
63041
|
-
transition: stroke-dashoffset 0.35s ease;
|
|
63042
|
-
`;
|
|
63043
|
-
|
|
63044
|
-
const NUMBER_REGEX = /^\d+/;
|
|
63045
|
-
|
|
63046
|
-
const extractNumberFromThemeValue = (value, defaultValue = 0) => {
|
|
63047
|
-
if (typeof value !== "string") {
|
|
63048
|
-
return defaultValue;
|
|
63049
|
-
}
|
|
63050
|
-
const match = value.match(NUMBER_REGEX);
|
|
63051
|
-
const number = Number(match?.[0]);
|
|
63052
|
-
if (isNaN(number)) {
|
|
63053
|
-
return defaultValue;
|
|
63054
|
-
}
|
|
63055
|
-
return number;
|
|
63056
|
-
};
|
|
63057
|
-
const clamp = (value, min, max) => {
|
|
63058
|
-
return Math.min(Math.max(value, min), max);
|
|
63059
|
-
};
|
|
63060
|
-
|
|
63061
|
-
const ProgressCircularDeterminate = ({ percent: percentProp = 0, size: sizeProp = "md", invert = false, className, }) => {
|
|
63062
|
-
const theme = nt();
|
|
63063
|
-
const percent = React.useMemo(() => clamp(percentProp, 0, 100), [percentProp]);
|
|
63064
|
-
const { size, strokeWidth, radius, circumference } = React.useMemo(() => {
|
|
63065
|
-
const sizeValue = extractNumberFromThemeValue(theme?.[`com/progress-indicator/circular/size-${sizeProp}/indicator/indicator`], 0);
|
|
63066
|
-
const strokeWidthValue = extractNumberFromThemeValue(theme?.[`com/progress-indicator/circular/size-${sizeProp}/indicator/stroke-width`], 0);
|
|
63067
|
-
const validSize = Math.max(0, sizeValue);
|
|
63068
|
-
const validStrokeWidth = Math.max(0, strokeWidthValue);
|
|
63069
|
-
const calculatedRadius = (validSize - validStrokeWidth) / 2;
|
|
63070
|
-
const calculatedCircumference = 2 * Math.PI * Math.max(0, calculatedRadius);
|
|
63071
|
-
return {
|
|
63072
|
-
size: validSize,
|
|
63073
|
-
strokeWidth: validStrokeWidth,
|
|
63074
|
-
radius: Math.max(0, calculatedRadius),
|
|
63075
|
-
circumference: calculatedCircumference,
|
|
63076
|
-
};
|
|
63077
|
-
}, [sizeProp, theme]);
|
|
63078
|
-
const offset = React.useMemo(() => {
|
|
63079
|
-
if (circumference <= 0)
|
|
63080
|
-
return 0;
|
|
63081
|
-
return circumference - (percent / 100) * circumference;
|
|
63082
|
-
}, [percent, circumference]);
|
|
63083
|
-
const wrapperSize = theme[`com/progress-indicator/circular/size-${sizeProp}/width`];
|
|
63084
|
-
const backgroundColor = invert
|
|
63085
|
-
? theme["com/progress-indicator/invert/background-color"]
|
|
63086
|
-
: theme["com/progress-indicator/default/background-color"];
|
|
63087
|
-
const leadColor = invert
|
|
63088
|
-
? theme["com/progress-indicator/invert/indicator/lead-color"]
|
|
63089
|
-
: theme["com/progress-indicator/default/indicator/lead-color"];
|
|
63090
|
-
if (size <= 0 || radius <= 0) {
|
|
63091
|
-
return null;
|
|
63092
|
-
}
|
|
63093
|
-
return (jsxRuntime.jsx(SvgDeterminateWrapperSC, { "$size": wrapperSize, className: className, children: jsxRuntime.jsxs(SvgDeterminateSC, { width: size, height: size, viewBox: `0 0 ${size} ${size}`, "aria-valuenow": percent, role: "progressbar", children: [jsxRuntime.jsx(CircleDeterminateSC, { cx: size / 2, cy: size / 2, r: radius, stroke: backgroundColor, strokeWidth: strokeWidth, fill: "none" }), jsxRuntime.jsx(CircleDeterminateSC, { cx: size / 2, cy: size / 2, r: radius, stroke: leadColor, strokeWidth: strokeWidth, strokeDasharray: circumference, strokeDashoffset: offset, fill: "none" })] }) }));
|
|
63094
|
-
};
|
|
63095
|
-
|
|
63096
|
-
function ProgressCircularIndeterminate({ size = "md", invert = false, className, }) {
|
|
63097
|
-
return (jsxRuntime.jsxs(DivIndeterminateWrapperSC, { viewBox: "0 0 44 44", fill: "none", xmlns: "http://www.w3.org/2000/svg", className: className, "$invert": invert, "$size": size, children: [jsxRuntime.jsx("g", { clipPath: "url(#paint0_angular_9600_49736_clip_path)", "data-figma-skip-parse": "true", children: jsxRuntime.jsx("g", { transform: "matrix(0.00190748 0.0149333 -0.0152598 0.00186667 22.3061 22)", children: jsxRuntime.jsx("foreignObject", { x: -1186.46, y: -1186.46, width: 2372.92, height: 2372.92, children: jsxRuntime.jsx("div", { className: "indicator", style: {
|
|
63098
|
-
height: "100%",
|
|
63099
|
-
width: "100%",
|
|
63100
|
-
opacity: 1,
|
|
63101
|
-
} }) }) }) }), jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M34.7639 19.8789C33.8246 20.1776 32.8157 19.6745 32.5105 18.7553C31.899 16.9137 30.7791 15.2734 29.2744 14.0157C27.7697 12.7581 25.939 11.9322 23.9846 11.6293C22.0302 11.3264 20.0282 11.5582 18.2001 12.2993C16.3719 13.0403 14.7888 14.2617 13.6257 15.8283C12.4626 17.3949 11.7649 19.2457 11.6096 21.1762C11.4544 23.1066 11.8476 25.0415 12.746 26.7669C13.6443 28.4923 15.0127 29.9409 16.6999 30.9527C18.3871 31.9645 20.3273 32.5 22.3061 32.5C23.2937 32.5 24.0944 33.2835 24.0944 34.25C24.0944 35.2165 23.2937 36 22.3061 36C19.6677 36 17.0808 35.286 14.8312 33.937C12.5816 32.5879 10.7571 30.6564 9.55928 28.3559C8.36149 26.0554 7.8371 23.4755 8.04411 20.9016C8.25111 18.3276 9.18144 15.8598 10.7322 13.771C12.283 11.6822 14.3939 10.0537 16.8314 9.06569C19.2689 8.07764 21.9382 7.76847 24.5441 8.17237C27.1499 8.57627 29.5909 9.6775 31.5972 11.3543C33.6034 13.0311 35.0967 15.2182 35.912 17.6738C36.2172 18.593 35.7032 19.5802 34.7639 19.8789Z", "data-figma-gradient-fill": "{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":0.18431372940540314,\"g\":0.23529411852359772,\"b\":0.75686275959014893,\"a\":1.0},\"position\":0.750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.10999999940395355},\"position\":0.89999997615814209}],\"stopsVar\":[{\"color\":{\"r\":0.18431372940540314,\"g\":0.23529411852359772,\"b\":0.75686275959014893,\"a\":1.0},\"position\":0.750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.10999999940395355},\"position\":0.89999997615814209}],\"transform\":{\"m00\":3.8149569034576416,\"m01\":-30.519655227661133,\"m02\":35.658443450927734,\"m10\":29.866659164428711,\"m11\":3.7333323955535889,\"m12\":5.2000064849853516},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}" }), jsxRuntime.jsx("defs", { children: jsxRuntime.jsx("clipPath", { id: "paint0_angular_9600_49736_clip_path", children: jsxRuntime.jsx("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M34.7639 19.8789C33.8246 20.1776 32.8157 19.6745 32.5105 18.7553C31.899 16.9137 30.7791 15.2734 29.2744 14.0157C27.7697 12.7581 25.939 11.9322 23.9846 11.6293C22.0302 11.3264 20.0282 11.5582 18.2001 12.2993C16.3719 13.0403 14.7888 14.2617 13.6257 15.8283C12.4626 17.3949 11.7649 19.2457 11.6096 21.1762C11.4544 23.1066 11.8476 25.0415 12.746 26.7669C13.6443 28.4923 15.0127 29.9409 16.6999 30.9527C18.3871 31.9645 20.3273 32.5 22.3061 32.5C23.2937 32.5 24.0944 33.2835 24.0944 34.25C24.0944 35.2165 23.2937 36 22.3061 36C19.6677 36 17.0808 35.286 14.8312 33.937C12.5816 32.5879 10.7571 30.6564 9.55928 28.3559C8.36149 26.0554 7.8371 23.4755 8.04411 20.9016C8.25111 18.3276 9.18144 15.8598 10.7322 13.771C12.283 11.6822 14.3939 10.0537 16.8314 9.06569C19.2689 8.07764 21.9382 7.76847 24.5441 8.17237C27.1499 8.57627 29.5909 9.6775 31.5972 11.3543C33.6034 13.0311 35.0967 15.2182 35.912 17.6738C36.2172 18.593 35.7032 19.5802 34.7639 19.8789Z" }) }) })] }));
|
|
63102
|
-
}
|
|
63103
|
-
|
|
63104
|
-
function FISProgressCircular({ variant, ...rest }) {
|
|
63105
|
-
if (variant === "determinate") {
|
|
63106
|
-
return jsxRuntime.jsx(ProgressCircularDeterminate, { ...rest });
|
|
63107
|
-
}
|
|
63108
|
-
return jsxRuntime.jsx(ProgressCircularIndeterminate, { ...rest });
|
|
63109
|
-
}
|
|
63110
|
-
FISProgressCircular.displayName = "FISProgressCircular";
|
|
63111
|
-
|
|
63112
63154
|
const getPadding = (size, borderPath) => {
|
|
63113
63155
|
const paddingValue = getTheme(`com/button/size-${size}/horizontal-padding`);
|
|
63114
63156
|
const borderValue = getTheme(borderPath);
|
|
@@ -63282,7 +63324,7 @@ const ButtonSC = dt.button `
|
|
|
63282
63324
|
|
|
63283
63325
|
${props.$loading &&
|
|
63284
63326
|
lt `
|
|
63285
|
-
background-color: ${getTheme("com/button/
|
|
63327
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
63286
63328
|
`}
|
|
63287
63329
|
`;
|
|
63288
63330
|
case "secondary":
|
|
@@ -63342,8 +63384,8 @@ const ButtonSC = dt.button `
|
|
|
63342
63384
|
|
|
63343
63385
|
${props.$loading &&
|
|
63344
63386
|
lt `
|
|
63345
|
-
background-color: ${getTheme("com/button/
|
|
63346
|
-
border-color: ${getTheme("com/button/
|
|
63387
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
63388
|
+
border-color: ${getTheme("com/button/disable/stroke-color")} !important;
|
|
63347
63389
|
`}
|
|
63348
63390
|
|
|
63349
63391
|
${() => ["xs", "sm", "md", "lg"].includes(props.$size)
|
|
@@ -63407,8 +63449,8 @@ const ButtonSC = dt.button `
|
|
|
63407
63449
|
|
|
63408
63450
|
${props.$loading &&
|
|
63409
63451
|
lt `
|
|
63410
|
-
background-color: ${getTheme("com/button/
|
|
63411
|
-
border-color: ${getTheme("com/button/
|
|
63452
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
63453
|
+
border-color: ${getTheme("com/button/disable/stroke-color")} !important;
|
|
63412
63454
|
`}
|
|
63413
63455
|
|
|
63414
63456
|
${() => ["xs", "sm", "md", "lg"].includes(props.$size)
|
|
@@ -63466,7 +63508,7 @@ const ButtonSC = dt.button `
|
|
|
63466
63508
|
|
|
63467
63509
|
${props.$loading &&
|
|
63468
63510
|
lt `
|
|
63469
|
-
background-color: ${getTheme("com/button/
|
|
63511
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
63470
63512
|
`}
|
|
63471
63513
|
`;
|
|
63472
63514
|
case "secondary-negative":
|
|
@@ -63527,8 +63569,8 @@ const ButtonSC = dt.button `
|
|
|
63527
63569
|
|
|
63528
63570
|
${props.$loading &&
|
|
63529
63571
|
lt `
|
|
63530
|
-
background-color: ${getTheme("com/button/
|
|
63531
|
-
border-color: ${getTheme("com/button/
|
|
63572
|
+
background-color: ${getTheme("com/button/disable/background-color")} !important;
|
|
63573
|
+
border-color: ${getTheme("com/button/disable/stroke-color")};
|
|
63532
63574
|
`}
|
|
63533
63575
|
|
|
63534
63576
|
${() => ["xs", "sm", "md", "lg"].includes(props.$size)
|
|
@@ -63585,7 +63627,7 @@ const ButtonSC = dt.button `
|
|
|
63585
63627
|
|
|
63586
63628
|
${props.$loading &&
|
|
63587
63629
|
lt `
|
|
63588
|
-
background-color: ${getTheme("com/button/
|
|
63630
|
+
background-color: ${getTheme("com/button/disable-invert/solid-background-color")} !important;
|
|
63589
63631
|
`}
|
|
63590
63632
|
`;
|
|
63591
63633
|
case "secondary-white":
|