@tamagui/progress 2.7.7 → 3.0.0-beta.643.1

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.
@@ -1,149 +1,105 @@
1
- import { getVariableValue, isWeb, styled } from "@tamagui/core";
1
+ import { createStyledHOC, getVariableValue, isWeb, styled } from "@tamagui/core";
2
2
  import { createContextScope } from "@tamagui/create-context";
3
3
  import { getSize } from "@tamagui/get-token";
4
4
  import { withStaticProperties } from "@tamagui/helpers";
5
5
  import { YStack } from "@tamagui/stacks";
6
6
  import { useState } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
+
8
9
  const PROGRESS_NAME = "Progress";
9
10
  const [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);
10
11
  const [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
11
12
  const INDICATOR_NAME = "ProgressIndicator";
12
13
  const ProgressIndicatorFrame = styled(YStack, {
13
- name: INDICATOR_NAME,
14
- variants: {
15
- unstyled: {
16
- false: {
17
- height: "100%",
18
- width: "100%",
19
- backgroundColor: "$background"
20
- }
21
- }
22
- },
23
- defaultVariants: {
24
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
25
- }
14
+ displayName: INDICATOR_NAME,
15
+ height: "100%",
16
+ width: "100%"
26
17
  });
27
- const ProgressIndicator = ProgressIndicatorFrame.styleable(function ProgressIndicator2(props, forwardedRef) {
28
- const {
29
- __scopeProgress,
30
- transition,
31
- ...indicatorProps
32
- } = props;
33
- const context = useProgressContext(INDICATOR_NAME, __scopeProgress);
34
- const progressRatio = (context.value ?? 0) / context.max;
35
- let x;
36
- if (isWeb) {
37
- x = `${-100 + progressRatio * 50}%`;
38
- } else {
39
- const baseWidth = context.width || 0;
40
- x = Math.ceil(-baseWidth * (2 - progressRatio));
41
- }
42
- return /* @__PURE__ */jsx(ProgressIndicatorFrame, {
43
- "data-state": getProgressState(context.value, context.max),
44
- "data-value": context.value ?? void 0,
45
- "data-max": context.max,
46
- x,
47
- width: "200%",
48
- ...(!props.unstyled && {
49
- animateOnly: ["transform"],
50
- // on native, hide until we have width measurement
51
- ...(!isWeb && context.width === 0 && {
52
- opacity: 0
53
- })
54
- }),
55
- ...indicatorProps,
56
- ref: forwardedRef,
57
- transition: !isWeb && !context.width ? null : transition
58
- });
18
+ const ProgressIndicator = createStyledHOC(ProgressIndicatorFrame, function ProgressIndicator2(props, forwardedRef) {
19
+ const { __scopeProgress, transition, ...indicatorProps } = props;
20
+ const context = useProgressContext(INDICATOR_NAME, __scopeProgress);
21
+ const progressRatio = (context.value ?? 0) / context.max;
22
+ let x;
23
+ if (isWeb) {
24
+ x = `${-100 + progressRatio * 50}%`;
25
+ } else {
26
+ const baseWidth = context.width || 0;
27
+ x = Math.ceil(-baseWidth * (2 - progressRatio));
28
+ }
29
+ return /* @__PURE__ */ jsx(ProgressIndicatorFrame, {
30
+ "data-state": getProgressState(context.value, context.max),
31
+ "data-value": context.value ?? void 0,
32
+ "data-max": context.max,
33
+ x,
34
+ width: "200%",
35
+ animateOnly: ["transform"],
36
+ ...!isWeb && context.width === 0 && { opacity: 0 },
37
+ ...indicatorProps,
38
+ ref: forwardedRef,
39
+ transition: !isWeb && !context.width ? null : transition
40
+ });
59
41
  });
60
42
  function defaultGetValueLabel(value, max) {
61
- return `${Math.round(value / max * 100)}%`;
43
+ return `${Math.round(value / max * 100)}%`;
62
44
  }
63
45
  function getProgressState(value, maxValue) {
64
- return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
46
+ return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
65
47
  }
66
48
  function isNumber(value) {
67
- return typeof value === "number";
49
+ return typeof value === "number";
68
50
  }
69
51
  function isValidMaxNumber(max) {
70
- return isNumber(max) && !Number.isNaN(max) && max > 0;
52
+ return isNumber(max) && !Number.isNaN(max) && max > 0;
71
53
  }
72
54
  function isValidValueNumber(value, max) {
73
- return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
55
+ return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
74
56
  }
75
57
  const DEFAULT_MAX = 100;
76
58
  const ProgressFrame = styled(YStack, {
77
- name: "Progress",
78
- variants: {
79
- unstyled: {
80
- false: {
81
- borderRadius: 1e5,
82
- overflow: "hidden",
83
- backgroundColor: "$background"
84
- }
85
- },
86
- size: {
87
- "...size": val => {
88
- const size = Math.round(getVariableValue(getSize(val)) * 0.25);
89
- return {
90
- height: size,
91
- minWidth: getVariableValue(size) * 20,
92
- width: "100%"
93
- };
94
- }
95
- }
96
- },
97
- defaultVariants: {
98
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
99
- }
100
- });
101
- const Progress = withStaticProperties(ProgressFrame.styleable(function Progress2(props, forwardedRef) {
102
- const {
103
- // @ts-expect-error
104
- __scopeProgress,
105
- value: valueProp,
106
- max: maxProp,
107
- getValueLabel = defaultGetValueLabel,
108
- size = "$true",
109
- ...progressProps
110
- } = props;
111
- const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
112
- const value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
113
- const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
114
- const [width, setWidth] = useState(0);
115
- return /* @__PURE__ */jsx(ProgressProvider, {
116
- scope: __scopeProgress,
117
- value,
118
- max,
119
- width,
120
- children: /* @__PURE__ */jsx(ProgressFrame, {
121
- "aria-valuemax": max,
122
- "aria-valuemin": 0,
123
- "aria-valuenow": isNumber(value) ? value : void 0,
124
- "aria-valuetext": valueLabel,
125
- role: "progressbar",
126
- "data-state": getProgressState(value, max),
127
- "data-value": value ?? void 0,
128
- "data-max": max,
129
- ...(progressProps.unstyled !== true && {
130
- size
131
- }),
132
- ...progressProps,
133
- ...(!isWeb && {
134
- onLayout: e => {
135
- const newWidth = Math.round(e.nativeEvent.layout.width);
136
- if (newWidth !== width) {
137
- setWidth(newWidth);
138
- }
139
- progressProps.onLayout?.(e);
140
- }
141
- }),
142
- ref: forwardedRef
143
- })
144
- });
145
- }), {
146
- Indicator: ProgressIndicator
59
+ displayName: "Progress",
60
+ overflow: "hidden",
61
+ variants: { size: { Size: (val) => {
62
+ const size = Math.round(getVariableValue(getSize(val)) * .25);
63
+ return {
64
+ height: size,
65
+ minWidth: getVariableValue(size) * 20,
66
+ width: "100%"
67
+ };
68
+ } } }
147
69
  });
70
+ const Progress = withStaticProperties(createStyledHOC(ProgressFrame, function Progress2(props, forwardedRef) {
71
+ const { __scopeProgress, value: valueProp, max: maxProp, getValueLabel = defaultGetValueLabel, size = true, ...progressProps } = props;
72
+ const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
73
+ const value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
74
+ const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
75
+ const [width, setWidth] = useState(0);
76
+ return /* @__PURE__ */ jsx(ProgressProvider, {
77
+ scope: __scopeProgress,
78
+ value,
79
+ max,
80
+ width,
81
+ children: /* @__PURE__ */ jsx(ProgressFrame, {
82
+ "aria-valuemax": max,
83
+ "aria-valuemin": 0,
84
+ "aria-valuenow": isNumber(value) ? value : void 0,
85
+ "aria-valuetext": valueLabel,
86
+ role: "progressbar",
87
+ "data-state": getProgressState(value, max),
88
+ "data-value": value ?? void 0,
89
+ "data-max": max,
90
+ size,
91
+ ...progressProps,
92
+ ...!isWeb && { onLayout: (e) => {
93
+ const newWidth = Math.round(e.nativeEvent.layout.width);
94
+ if (newWidth !== width) {
95
+ setWidth(newWidth);
96
+ }
97
+ progressProps.onLayout?.(e);
98
+ } },
99
+ ref: forwardedRef
100
+ })
101
+ });
102
+ }), { Indicator: ProgressIndicator });
103
+
148
104
  export { Progress, ProgressFrame, ProgressIndicator, ProgressIndicatorFrame, createProgressScope };
149
105
  //# sourceMappingURL=Progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getVariableValue","isWeb","styled","createContextScope","getSize","withStaticProperties","YStack","useState","jsx","PROGRESS_NAME","createProgressContext","createProgressScope","ProgressProvider","useProgressContext","INDICATOR_NAME","ProgressIndicatorFrame","name","variants","unstyled","false","height","width","backgroundColor","defaultVariants","process","env","TAMAGUI_HEADLESS","ProgressIndicator","styleable","props","forwardedRef","__scopeProgress","transition","indicatorProps","context","progressRatio","value","max","x","baseWidth","Math","ceil","getProgressState","animateOnly","opacity","ref","defaultGetValueLabel","round","maxValue","isNumber","isValidMaxNumber","Number","isNaN","isValidValueNumber","DEFAULT_MAX","ProgressFrame","borderRadius","overflow","size","val","minWidth","Progress","Progress2","valueProp","maxProp","getValueLabel","progressProps","valueLabel","setWidth","scope","children","role","onLayout","e","newWidth","nativeEvent","layout","Indicator"],"sources":["../../src/Progress.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Progress.js","names":[],"sources":["esm/Progress.js"],"sourcesContent":["import { createStyledHOC, getVariableValue, isWeb, styled } from \"@tamagui/core\";\nimport { createContextScope } from \"@tamagui/create-context\";\nimport { getSize } from \"@tamagui/get-token\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useState } from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nconst PROGRESS_NAME = \"Progress\";\nconst [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nconst [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nconst INDICATOR_NAME = \"ProgressIndicator\";\nconst ProgressIndicatorFrame = styled(YStack, {\n displayName: INDICATOR_NAME,\n height: \"100%\",\n width: \"100%\"\n});\nconst ProgressIndicator = createStyledHOC(\n ProgressIndicatorFrame,\n function ProgressIndicator2(props, forwardedRef) {\n const { __scopeProgress, transition, ...indicatorProps } = props;\n const context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n const progressRatio = (context.value ?? 0) / context.max;\n let x;\n if (isWeb) {\n x = `${-100 + progressRatio * 50}%`;\n } else {\n const baseWidth = context.width || 0;\n x = Math.ceil(-baseWidth * (2 - progressRatio));\n }\n return /* @__PURE__ */ jsx(\n ProgressIndicatorFrame,\n {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": context.value ?? void 0,\n \"data-max\": context.max,\n x,\n width: \"200%\",\n animateOnly: [\"transform\"],\n ...!isWeb && context.width === 0 && { opacity: 0 },\n ...indicatorProps,\n ref: forwardedRef,\n transition: !isWeb && !context.width ? null : transition\n }\n );\n }\n);\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !Number.isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;\n}\nconst DEFAULT_MAX = 100;\nconst ProgressFrame = styled(YStack, {\n displayName: \"Progress\",\n overflow: \"hidden\",\n variants: {\n size: {\n Size: (val) => {\n const size = Math.round(getVariableValue(getSize(val)) * 0.25);\n return {\n height: size,\n minWidth: getVariableValue(size) * 20,\n width: \"100%\"\n };\n }\n }\n }\n});\nconst Progress = withStaticProperties(\n createStyledHOC(ProgressFrame, function Progress2(props, forwardedRef) {\n const {\n // @ts-expect-error\n __scopeProgress,\n value: valueProp,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n size = true,\n ...progressProps\n } = props;\n const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n const value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;\n const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n const [width, setWidth] = useState(0);\n return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, width, children: /* @__PURE__ */ jsx(\n ProgressFrame,\n {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value ?? void 0,\n \"data-max\": max,\n size,\n ...progressProps,\n ...!isWeb && {\n onLayout: (e) => {\n const newWidth = Math.round(e.nativeEvent.layout.width);\n if (newWidth !== width) {\n setWidth(newWidth);\n }\n progressProps.onLayout?.(e);\n }\n },\n ref: forwardedRef\n }\n ) });\n }),\n {\n Indicator: ProgressIndicator\n }\n);\nexport {\n Progress,\n ProgressFrame,\n ProgressIndicator,\n ProgressIndicatorFrame,\n createProgressScope\n};\n//# sourceMappingURL=Progress.js.map\n"],"mappings":"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"}
@@ -1,153 +1,108 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { getVariableValue, isWeb, styled } from "@tamagui/core";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createStyledHOC, getVariableValue, isWeb, styled } from "@tamagui/core";
3
3
  import { createContextScope } from "@tamagui/create-context";
4
4
  import { getSize } from "@tamagui/get-token";
5
5
  import { withStaticProperties } from "@tamagui/helpers";
6
6
  import { YStack } from "@tamagui/stacks";
7
7
  import { useState } from "react";
8
+
8
9
  var PROGRESS_NAME = "Progress";
9
10
  var [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);
10
11
  var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
11
12
  var INDICATOR_NAME = "ProgressIndicator";
12
13
  var ProgressIndicatorFrame = styled(YStack, {
13
- name: INDICATOR_NAME,
14
- variants: {
15
- unstyled: {
16
- false: {
17
- height: "100%",
18
- width: "100%",
19
- backgroundColor: "$background"
20
- }
21
- }
22
- },
23
- defaultVariants: {
24
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
25
- }
14
+ displayName: INDICATOR_NAME,
15
+ height: "100%",
16
+ width: "100%"
26
17
  });
27
- var ProgressIndicator = ProgressIndicatorFrame.styleable(function ProgressIndicator2(props, forwardedRef) {
28
- var {
29
- __scopeProgress,
30
- transition,
31
- ...indicatorProps
32
- } = props;
33
- var context = useProgressContext(INDICATOR_NAME, __scopeProgress);
34
- var _context_value;
35
- var progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max;
36
- var x;
37
- if (isWeb) {
38
- x = `${-100 + progressRatio * 50}%`;
39
- } else {
40
- var baseWidth = context.width || 0;
41
- x = Math.ceil(-baseWidth * (2 - progressRatio));
42
- }
43
- var _context_value1;
44
- return /* @__PURE__ */_jsx(ProgressIndicatorFrame, {
45
- "data-state": getProgressState(context.value, context.max),
46
- "data-value": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,
47
- "data-max": context.max,
48
- x,
49
- width: "200%",
50
- ...(!props.unstyled && {
51
- animateOnly: ["transform"],
52
- // on native, hide until we have width measurement
53
- ...(!isWeb && context.width === 0 && {
54
- opacity: 0
55
- })
56
- }),
57
- ...indicatorProps,
58
- ref: forwardedRef,
59
- transition: !isWeb && !context.width ? null : transition
60
- });
18
+ var ProgressIndicator = createStyledHOC(ProgressIndicatorFrame, function ProgressIndicator2(props, forwardedRef) {
19
+ var { __scopeProgress, transition, ...indicatorProps } = props;
20
+ var context = useProgressContext(INDICATOR_NAME, __scopeProgress);
21
+ var _context_value;
22
+ var progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max;
23
+ var x;
24
+ if (isWeb) {
25
+ x = `${-100 + progressRatio * 50}%`;
26
+ } else {
27
+ var baseWidth = context.width || 0;
28
+ x = Math.ceil(-baseWidth * (2 - progressRatio));
29
+ }
30
+ var _context_value1;
31
+ return /* @__PURE__ */ jsx(ProgressIndicatorFrame, {
32
+ "data-state": getProgressState(context.value, context.max),
33
+ "data-value": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,
34
+ "data-max": context.max,
35
+ x,
36
+ width: "200%",
37
+ animateOnly: ["transform"],
38
+ ...!isWeb && context.width === 0 && { opacity: 0 },
39
+ ...indicatorProps,
40
+ ref: forwardedRef,
41
+ transition: !isWeb && !context.width ? null : transition
42
+ });
61
43
  });
62
44
  function defaultGetValueLabel(value, max) {
63
- return `${Math.round(value / max * 100)}%`;
45
+ return `${Math.round(value / max * 100)}%`;
64
46
  }
65
47
  function getProgressState(value, maxValue) {
66
- return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
48
+ return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
67
49
  }
68
50
  function isNumber(value) {
69
- return typeof value === "number";
51
+ return typeof value === "number";
70
52
  }
71
53
  function isValidMaxNumber(max) {
72
- return isNumber(max) && !Number.isNaN(max) && max > 0;
54
+ return isNumber(max) && !Number.isNaN(max) && max > 0;
73
55
  }
74
56
  function isValidValueNumber(value, max) {
75
- return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
57
+ return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
76
58
  }
77
59
  var DEFAULT_MAX = 100;
78
60
  var ProgressFrame = styled(YStack, {
79
- name: "Progress",
80
- variants: {
81
- unstyled: {
82
- false: {
83
- borderRadius: 1e5,
84
- overflow: "hidden",
85
- backgroundColor: "$background"
86
- }
87
- },
88
- size: {
89
- "...size": function (val) {
90
- var size = Math.round(getVariableValue(getSize(val)) * 0.25);
91
- return {
92
- height: size,
93
- minWidth: getVariableValue(size) * 20,
94
- width: "100%"
95
- };
96
- }
97
- }
98
- },
99
- defaultVariants: {
100
- unstyled: process.env.TAMAGUI_HEADLESS === "1"
101
- }
102
- });
103
- var Progress = withStaticProperties(ProgressFrame.styleable(function Progress2(props, forwardedRef) {
104
- var {
105
- // @ts-expect-error
106
- __scopeProgress,
107
- value: valueProp,
108
- max: maxProp,
109
- getValueLabel = defaultGetValueLabel,
110
- size = "$true",
111
- ...progressProps
112
- } = props;
113
- var max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
114
- var value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
115
- var valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
116
- var [width, setWidth] = useState(0);
117
- return /* @__PURE__ */_jsx(ProgressProvider, {
118
- scope: __scopeProgress,
119
- value,
120
- max,
121
- width,
122
- children: /* @__PURE__ */_jsx(ProgressFrame, {
123
- "aria-valuemax": max,
124
- "aria-valuemin": 0,
125
- "aria-valuenow": isNumber(value) ? value : void 0,
126
- "aria-valuetext": valueLabel,
127
- // @ts-ignore
128
- role: "progressbar",
129
- "data-state": getProgressState(value, max),
130
- "data-value": value !== null && value !== void 0 ? value : void 0,
131
- "data-max": max,
132
- ...(progressProps.unstyled !== true && {
133
- size
134
- }),
135
- ...progressProps,
136
- ...(!isWeb && {
137
- onLayout: function (e) {
138
- var _progressProps_onLayout;
139
- var newWidth = Math.round(e.nativeEvent.layout.width);
140
- if (newWidth !== width) {
141
- setWidth(newWidth);
142
- }
143
- (_progressProps_onLayout = progressProps.onLayout) === null || _progressProps_onLayout === void 0 ? void 0 : _progressProps_onLayout.call(progressProps, e);
144
- }
145
- }),
146
- ref: forwardedRef
147
- })
148
- });
149
- }), {
150
- Indicator: ProgressIndicator
61
+ displayName: "Progress",
62
+ overflow: "hidden",
63
+ variants: { size: { Size: function(val) {
64
+ var size = Math.round(getVariableValue(getSize(val)) * .25);
65
+ return {
66
+ height: size,
67
+ minWidth: getVariableValue(size) * 20,
68
+ width: "100%"
69
+ };
70
+ } } }
151
71
  });
72
+ var Progress = withStaticProperties(createStyledHOC(ProgressFrame, function Progress2(props, forwardedRef) {
73
+ var { __scopeProgress, value: valueProp, max: maxProp, getValueLabel = defaultGetValueLabel, size = true, ...progressProps } = props;
74
+ var max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
75
+ var value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
76
+ var valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
77
+ var [width, setWidth] = useState(0);
78
+ return /* @__PURE__ */ jsx(ProgressProvider, {
79
+ scope: __scopeProgress,
80
+ value,
81
+ max,
82
+ width,
83
+ children: /* @__PURE__ */ jsx(ProgressFrame, {
84
+ "aria-valuemax": max,
85
+ "aria-valuemin": 0,
86
+ "aria-valuenow": isNumber(value) ? value : void 0,
87
+ "aria-valuetext": valueLabel,
88
+ role: "progressbar",
89
+ "data-state": getProgressState(value, max),
90
+ "data-value": value !== null && value !== void 0 ? value : void 0,
91
+ "data-max": max,
92
+ size,
93
+ ...progressProps,
94
+ ...!isWeb && { onLayout: function(e) {
95
+ var _progressProps_onLayout;
96
+ var newWidth = Math.round(e.nativeEvent.layout.width);
97
+ if (newWidth !== width) {
98
+ setWidth(newWidth);
99
+ }
100
+ (_progressProps_onLayout = progressProps.onLayout) === null || _progressProps_onLayout === void 0 ? void 0 : _progressProps_onLayout.call(progressProps, e);
101
+ } },
102
+ ref: forwardedRef
103
+ })
104
+ });
105
+ }), { Indicator: ProgressIndicator });
106
+
152
107
  export { Progress, ProgressFrame, ProgressIndicator, ProgressIndicatorFrame, createProgressScope };
153
108
  //# sourceMappingURL=Progress.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","getVariableValue","isWeb","styled","createContextScope","getSize","withStaticProperties","YStack","useState","PROGRESS_NAME","createProgressContext","createProgressScope","ProgressProvider","useProgressContext","INDICATOR_NAME","ProgressIndicatorFrame","name","variants","unstyled","false","height","width","backgroundColor","defaultVariants","process","env","TAMAGUI_HEADLESS","ProgressIndicator","styleable","ProgressIndicator2","props","forwardedRef","__scopeProgress","transition","indicatorProps","context","_context_value","progressRatio","value","max","x","baseWidth","Math","ceil","_context_value1","getProgressState","animateOnly","opacity","ref","defaultGetValueLabel","round","maxValue","isNumber","isValidMaxNumber","Number","isNaN","isValidValueNumber","DEFAULT_MAX","ProgressFrame","borderRadius","overflow","size","...size","val","minWidth","Progress","Progress2","valueProp","maxProp","getValueLabel","progressProps","valueLabel","setWidth","scope","children","role","onLayout","e","_progressProps_onLayout","newWidth","nativeEvent","layout","call"],"sources":["../../src/Progress.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Progress.native.js","names":[],"sources":["esm/Progress.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createStyledHOC, getVariableValue, isWeb, styled } from \"@tamagui/core\";\nimport { createContextScope } from \"@tamagui/create-context\";\nimport { getSize } from \"@tamagui/get-token\";\nimport { withStaticProperties } from \"@tamagui/helpers\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { useState } from \"react\";\nvar PROGRESS_NAME = \"Progress\";\nvar [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);\nvar [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);\nvar INDICATOR_NAME = \"ProgressIndicator\";\nvar ProgressIndicatorFrame = styled(YStack, {\n displayName: INDICATOR_NAME,\n height: \"100%\",\n width: \"100%\"\n});\nvar ProgressIndicator = createStyledHOC(ProgressIndicatorFrame, function ProgressIndicator2(props, forwardedRef) {\n var { __scopeProgress, transition, ...indicatorProps } = props;\n var context = useProgressContext(INDICATOR_NAME, __scopeProgress);\n var _context_value;\n var progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max;\n var x;\n if (isWeb) {\n x = `${-100 + progressRatio * 50}%`;\n } else {\n var baseWidth = context.width || 0;\n x = Math.ceil(-baseWidth * (2 - progressRatio));\n }\n var _context_value1;\n return /* @__PURE__ */ _jsx(ProgressIndicatorFrame, {\n \"data-state\": getProgressState(context.value, context.max),\n \"data-value\": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,\n \"data-max\": context.max,\n x,\n width: \"200%\",\n animateOnly: [\n \"transform\"\n ],\n ...!isWeb && context.width === 0 && {\n opacity: 0\n },\n ...indicatorProps,\n ref: forwardedRef,\n transition: !isWeb && !context.width ? null : transition\n });\n});\nfunction defaultGetValueLabel(value, max) {\n return `${Math.round(value / max * 100)}%`;\n}\nfunction getProgressState(value, maxValue) {\n return value == null ? \"indeterminate\" : value === maxValue ? \"complete\" : \"loading\";\n}\nfunction isNumber(value) {\n return typeof value === \"number\";\n}\nfunction isValidMaxNumber(max) {\n return isNumber(max) && !Number.isNaN(max) && max > 0;\n}\nfunction isValidValueNumber(value, max) {\n return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;\n}\nvar DEFAULT_MAX = 100;\nvar ProgressFrame = styled(YStack, {\n displayName: \"Progress\",\n overflow: \"hidden\",\n variants: {\n size: {\n Size: function(val) {\n var size = Math.round(getVariableValue(getSize(val)) * 0.25);\n return {\n height: size,\n minWidth: getVariableValue(size) * 20,\n width: \"100%\"\n };\n }\n }\n }\n});\nvar Progress = withStaticProperties(createStyledHOC(ProgressFrame, function Progress2(props, forwardedRef) {\n var {\n // @ts-expect-error\n __scopeProgress,\n value: valueProp,\n max: maxProp,\n getValueLabel = defaultGetValueLabel,\n size = true,\n ...progressProps\n } = props;\n var max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;\n var value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;\n var valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;\n var [width, setWidth] = useState(0);\n return /* @__PURE__ */ _jsx(ProgressProvider, {\n scope: __scopeProgress,\n value,\n max,\n width,\n children: /* @__PURE__ */ _jsx(ProgressFrame, {\n \"aria-valuemax\": max,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": isNumber(value) ? value : void 0,\n \"aria-valuetext\": valueLabel,\n // @ts-ignore\n role: \"progressbar\",\n \"data-state\": getProgressState(value, max),\n \"data-value\": value !== null && value !== void 0 ? value : void 0,\n \"data-max\": max,\n size,\n ...progressProps,\n ...!isWeb && {\n onLayout: function(e) {\n var _progressProps_onLayout;\n var newWidth = Math.round(e.nativeEvent.layout.width);\n if (newWidth !== width) {\n setWidth(newWidth);\n }\n (_progressProps_onLayout = progressProps.onLayout) === null || _progressProps_onLayout === void 0 ? void 0 : _progressProps_onLayout.call(progressProps, e);\n }\n },\n ref: forwardedRef\n })\n });\n}), {\n Indicator: ProgressIndicator\n});\nexport {\n Progress,\n ProgressFrame,\n ProgressIndicator,\n ProgressIndicatorFrame,\n createProgressScope\n};\n//# sourceMappingURL=Progress.js.map\n"],"mappings":";;;;;;;;;AAOA,IAAI,gBAAgB;AACpB,IAAI,CAAC,uBAAuB,uBAAuB,mBAAmB,aAAa;AACnF,IAAI,CAAC,kBAAkB,sBAAsB,sBAAsB,aAAa;AAChF,IAAI,iBAAiB;AACrB,IAAI,yBAAyB,OAAO,QAAQ;CAC1C,aAAa;CACb,QAAQ;CACR,OAAO;AACT,CAAC;AACD,IAAI,oBAAoB,gBAAgB,wBAAwB,SAAS,mBAAmB,OAAO,cAAc;CAC/G,IAAI,EAAE,iBAAiB,YAAY,GAAG,mBAAmB;CACzD,IAAI,UAAU,mBAAmB,gBAAgB,eAAe;CAChE,IAAI;CACJ,IAAI,kBAAkB,iBAAiB,QAAQ,WAAW,QAAQ,mBAAmB,KAAK,IAAI,iBAAiB,KAAK,QAAQ;CAC5H,IAAI;CACJ,IAAI,OAAO;EACT,IAAI,GAAG,CAAC,MAAM,gBAAgB,GAAG;CACnC,OAAO;EACL,IAAI,YAAY,QAAQ,SAAS;EACjC,IAAI,KAAK,KAAK,CAAC,aAAa,IAAI,cAAc;CAChD;CACA,IAAI;CACJ,OAAuB,oBAAK,wBAAwB;EAClD,cAAc,iBAAiB,QAAQ,OAAO,QAAQ,GAAG;EACzD,eAAe,kBAAkB,QAAQ,WAAW,QAAQ,oBAAoB,KAAK,IAAI,kBAAkB,KAAK;EAChH,YAAY,QAAQ;EACpB;EACA,OAAO;EACP,aAAa,CACX,WACF;EACA,GAAG,CAAC,SAAS,QAAQ,UAAU,KAAK,EAClC,SAAS,EACX;EACA,GAAG;EACH,KAAK;EACL,YAAY,CAAC,SAAS,CAAC,QAAQ,QAAQ,OAAO;CAChD,CAAC;AACH,CAAC;AACD,SAAS,qBAAqB,OAAO,KAAK;CACxC,OAAO,GAAG,KAAK,MAAM,QAAQ,MAAM,GAAG,EAAE;AAC1C;AACA,SAAS,iBAAiB,OAAO,UAAU;CACzC,OAAO,SAAS,OAAO,kBAAkB,UAAU,WAAW,aAAa;AAC7E;AACA,SAAS,SAAS,OAAO;CACvB,OAAO,OAAO,UAAU;AAC1B;AACA,SAAS,iBAAiB,KAAK;CAC7B,OAAO,SAAS,GAAG,KAAK,CAAC,OAAO,MAAM,GAAG,KAAK,MAAM;AACtD;AACA,SAAS,mBAAmB,OAAO,KAAK;CACtC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,MAAM,KAAK,KAAK,SAAS,OAAO,SAAS;AAC7E;AACA,IAAI,cAAc;AAClB,IAAI,gBAAgB,OAAO,QAAQ;CACjC,aAAa;CACb,UAAU;CACV,UAAU,EACR,MAAM,EACJ,MAAM,SAAS,KAAK;EAClB,IAAI,OAAO,KAAK,MAAM,iBAAiB,QAAQ,GAAG,CAAC,IAAI,GAAI;EAC3D,OAAO;GACL,QAAQ;GACR,UAAU,iBAAiB,IAAI,IAAI;GACnC,OAAO;EACT;CACF,EACF,EACF;AACF,CAAC;AACD,IAAI,WAAW,qBAAqB,gBAAgB,eAAe,SAAS,UAAU,OAAO,cAAc;CACzG,IAAI,EAEF,iBACA,OAAO,WACP,KAAK,SACL,gBAAgB,sBAChB,OAAO,MACP,GAAG,kBACD;CACJ,IAAI,MAAM,iBAAiB,OAAO,IAAI,UAAU;CAChD,IAAI,QAAQ,mBAAmB,WAAW,GAAG,IAAI,KAAK,MAAM,SAAS,IAAI;CACzE,IAAI,aAAa,SAAS,KAAK,IAAI,cAAc,OAAO,GAAG,IAAI,KAAK;CACpE,IAAI,CAAC,OAAO,YAAY,SAAS,CAAC;CAClC,OAAuB,oBAAK,kBAAkB;EAC5C,OAAO;EACP;EACA;EACA;EACA,UAA0B,oBAAK,eAAe;GAC5C,iBAAiB;GACjB,iBAAiB;GACjB,iBAAiB,SAAS,KAAK,IAAI,QAAQ,KAAK;GAChD,kBAAkB;GAElB,MAAM;GACN,cAAc,iBAAiB,OAAO,GAAG;GACzC,cAAc,UAAU,QAAQ,UAAU,KAAK,IAAI,QAAQ,KAAK;GAChE,YAAY;GACZ;GACA,GAAG;GACH,GAAG,CAAC,SAAS,EACX,UAAU,SAAS,GAAG;IACpB,IAAI;IACJ,IAAI,WAAW,KAAK,MAAM,EAAE,YAAY,OAAO,KAAK;IACpD,IAAI,aAAa,OAAO;KACtB,SAAS,QAAQ;IACnB;IACA,CAAC,0BAA0B,cAAc,cAAc,QAAQ,4BAA4B,KAAK,IAAI,KAAK,IAAI,wBAAwB,KAAK,eAAe,CAAC;GAC5J,EACF;GACA,KAAK;EACP,CAAC;CACH,CAAC;AACH,CAAC,GAAG,EACF,WAAW,kBACb,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./Progress.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./Progress.mjs"
@@ -1,2 +1 @@
1
- export * from "./Progress.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./Progress.mjs"
@@ -1,2 +1 @@
1
- export * from "./Progress.native.js";
2
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./Progress.native.js"