ivt
Version:
Ivt Components Library
3 lines (2 loc) • 1.55 kB
JavaScript
import{c as a}from"./utils-C-nkZ_Ir.mjs";import*as r from"react";import e from"react";import{c as t}from"./index-Dr5ObK3L.mjs";import{P as o}from"./index-DiPp8h7C.mjs";import{jsx as l}from"react/jsx-runtime";var n="Progress",[s,i]=t(n),[u,m]=s(n),d=r.forwardRef((a,r)=>{const{__scopeProgress:e,value:t=null,max:n,getValueLabel:s=v,...i}=a;(n||0===n)&&g(n);const m=g(n)?n:100;null!==t&&N(t,m);const d=N(t,m)?t:null,c=x(d)?s(d,m):void 0;return l(u,{scope:e,value:d,max:m,children:l(o.div,{"aria-valuemax":m,"aria-valuemin":0,"aria-valuenow":x(d)?d:void 0,"aria-valuetext":c,role:"progressbar","data-state":p(d,m),"data-value":d??void 0,"data-max":m,...i,ref:r})})});d.displayName=n;var c="ProgressIndicator",f=r.forwardRef((a,r)=>{const{__scopeProgress:e,...t}=a,n=m(c,e);return l(o.div,{"data-state":p(n.value,n.max),"data-value":n.value??void 0,"data-max":n.max,...t,ref:r})});function v(a,r){return`${Math.round(a/r*100)}%`}function p(a,r){return null==a?"indeterminate":a===r?"complete":"loading"}function x(a){return"number"==typeof a}function g(a){return x(a)&&!isNaN(a)&&a>0}function N(a,r){return x(a)&&!isNaN(a)&&a<=r&&a>=0}f.displayName=c;var w=d,y=f;function P({className:r,value:t,...o}){return e.createElement(w,{"data-slot":"progress",className:a("bg-primary/20 relative h-2 w-full overflow-hidden rounded-full",r),...o},e.createElement(y,{"data-slot":"progress-indicator",className:"bg-primary h-full w-full flex-1 transition-all",style:{transform:`translateX(-${100-(t||0)}%)`}}))}export{P};
//# sourceMappingURL=progress-BnhpFugV.mjs.map