Blame view

天文台pc/tianwentai-ui/node_modules/@radix-ui/react-progress/dist/index.mjs 3.55 KB
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
  "use client";
  
  // packages/react/progress/src/progress.tsx
  import * as React from "react";
  import { createContextScope } from "@radix-ui/react-context";
  import { Primitive } from "@radix-ui/react-primitive";
  import { jsx } from "react/jsx-runtime";
  var PROGRESS_NAME = "Progress";
  var DEFAULT_MAX = 100;
  var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);
  var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
  var Progress = React.forwardRef(
    (props, forwardedRef) => {
      const {
        __scopeProgress,
        value: valueProp = null,
        max: maxProp,
        getValueLabel = defaultGetValueLabel,
        ...progressProps
      } = props;
      if ((maxProp || maxProp === 0) && !isValidMaxNumber(maxProp)) {
        console.error(getInvalidMaxError(`${maxProp}`, "Progress"));
      }
      const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
      if (valueProp !== null && !isValidValueNumber(valueProp, max)) {
        console.error(getInvalidValueError(`${valueProp}`, "Progress"));
      }
      const value = isValidValueNumber(valueProp, max) ? valueProp : null;
      const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
      return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, children: /* @__PURE__ */ jsx(
        Primitive.div,
        {
          "aria-valuemax": max,
          "aria-valuemin": 0,
          "aria-valuenow": isNumber(value) ? value : void 0,
          "aria-valuetext": valueLabel,
          role: "progressbar",
          "data-state": getProgressState(value, max),
          "data-value": value ?? void 0,
          "data-max": max,
          ...progressProps,
          ref: forwardedRef
        }
      ) });
    }
  );
  Progress.displayName = PROGRESS_NAME;
  var INDICATOR_NAME = "ProgressIndicator";
  var ProgressIndicator = React.forwardRef(
    (props, forwardedRef) => {
      const { __scopeProgress, ...indicatorProps } = props;
      const context = useProgressContext(INDICATOR_NAME, __scopeProgress);
      return /* @__PURE__ */ jsx(
        Primitive.div,
        {
          "data-state": getProgressState(context.value, context.max),
          "data-value": context.value ?? void 0,
          "data-max": context.max,
          ...indicatorProps,
          ref: forwardedRef
        }
      );
    }
  );
  ProgressIndicator.displayName = INDICATOR_NAME;
  function defaultGetValueLabel(value, max) {
    return `${Math.round(value / max * 100)}%`;
  }
  function getProgressState(value, maxValue) {
    return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
  }
  function isNumber(value) {
    return typeof value === "number";
  }
  function isValidMaxNumber(max) {
    return isNumber(max) && !isNaN(max) && max > 0;
  }
  function isValidValueNumber(value, max) {
    return isNumber(value) && !isNaN(value) && value <= max && value >= 0;
  }
  function getInvalidMaxError(propValue, componentName) {
    return `Invalid prop \`max\` of value \`${propValue}\` supplied to \`${componentName}\`. Only numbers greater than 0 are valid max values. Defaulting to \`${DEFAULT_MAX}\`.`;
  }
  function getInvalidValueError(propValue, componentName) {
    return `Invalid prop \`value\` of value \`${propValue}\` supplied to \`${componentName}\`. The \`value\` prop must be:
    - a positive number
    - less than the value passed to \`max\` (or ${DEFAULT_MAX} if no \`max\` prop is set)
    - \`null\` or \`undefined\` if the progress is indeterminate.
  
  Defaulting to \`null\`.`;
  }
  var Root = Progress;
  var Indicator = ProgressIndicator;
  export {
    Indicator,
    Progress,
    ProgressIndicator,
    Root,
    createProgressScope
  };
  //# sourceMappingURL=index.mjs.map