@visa/nova-react
Version:
Visa Product Design System Nova React library
18 lines (17 loc) • 1.61 kB
JavaScript
/**
* Copyright (c) 2025 Visa, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**/
;Object.defineProperty(exports,"__esModule",{value:!0});var r=require("react/jsx-runtime"),e=require("clsx"),s=require("../types/index.js");const a="v-progress",l={large:72,small:48},c=({className:s,children:c,indeterminate:i=!1,paused:t=!1,progressSize:o="large",style:u,value:n,...d},p)=>{const m="string"==typeof o?l[o]:o,y=2*Math.PI*(m/2-2);return r.jsxs("div",{className:e(a,`${a}-circular`,"small"===o&&`${a}-circular-small`,i&&`${a}-indeterminate`,s),ref:p,role:i?void 0:"progressbar",style:{animationPlayState:t?"paused":"running","--v-progress-circular-size":`${m}px`,...u},...d,children:[r.jsxs("svg",{className:`${a}-circular-track`,children:[r.jsx("circle",{className:`${a}-circular-background`,style:i?{strokeDasharray:""+(y-y/5)}:void 0}),r.jsx("circle",{className:`${a}-circular-bar`,style:{strokeDasharray:i?""+(y-y/5):`${y*(n||0)/100}, ${y}`,strokeDashoffset:i?null:"0"}})]}),c]})};var i=s.forwardRefTyped(c);c.displayName="ProgressCircular",exports.default=i;