@tamagui/progress 2.0.0-1769233344020 → 2.0.0-1769256574467
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/Progress.cjs +24 -26
- package/dist/cjs/Progress.js +21 -19
- package/dist/cjs/Progress.js.map +1 -1
- package/dist/cjs/Progress.native.js +26 -29
- package/dist/cjs/Progress.native.js.map +1 -1
- package/dist/esm/Progress.js +20 -10
- package/dist/esm/Progress.js.map +1 -1
- package/dist/esm/Progress.mjs +21 -12
- package/dist/esm/Progress.mjs.map +1 -1
- package/dist/esm/Progress.native.js +23 -15
- package/dist/esm/Progress.native.js.map +1 -1
- package/dist/jsx/Progress.js +20 -10
- package/dist/jsx/Progress.js.map +1 -1
- package/dist/jsx/Progress.mjs +21 -12
- package/dist/jsx/Progress.mjs.map +1 -1
- package/dist/jsx/Progress.native.js +26 -29
- package/dist/jsx/Progress.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Progress.tsx +40 -19
- package/types/Progress.d.ts +2 -3
- package/types/Progress.d.ts.map +1 -1
package/dist/cjs/Progress.cjs
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
6
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all) __defProp(target, name, {
|
|
9
7
|
get: all[name],
|
|
@@ -17,18 +15,9 @@ var __export = (target, all) => {
|
|
|
17
15
|
});
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
26
|
-
value: mod,
|
|
27
|
-
enumerable: !0
|
|
28
|
-
}) : target, mod)),
|
|
29
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
30
|
-
value: !0
|
|
31
|
-
}), mod);
|
|
18
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), mod);
|
|
32
21
|
var Progress_exports = {};
|
|
33
22
|
__export(Progress_exports, {
|
|
34
23
|
Progress: () => Progress,
|
|
@@ -43,7 +32,7 @@ var import_core = require("@tamagui/core"),
|
|
|
43
32
|
import_get_token = require("@tamagui/get-token"),
|
|
44
33
|
import_helpers = require("@tamagui/helpers"),
|
|
45
34
|
import_stacks = require("@tamagui/stacks"),
|
|
46
|
-
|
|
35
|
+
import_react = require("react"),
|
|
47
36
|
import_jsx_runtime = require("react/jsx-runtime");
|
|
48
37
|
const PROGRESS_NAME = "Progress",
|
|
49
38
|
[createProgressContext, createProgressScope] = (0, import_create_context.createContextScope)(PROGRESS_NAME),
|
|
@@ -71,21 +60,28 @@ const PROGRESS_NAME = "Progress",
|
|
|
71
60
|
...indicatorProps
|
|
72
61
|
} = props,
|
|
73
62
|
context = useProgressContext(INDICATOR_NAME, __scopeProgress),
|
|
74
|
-
|
|
75
|
-
|
|
63
|
+
progressRatio = (context.value ?? 0) / context.max;
|
|
64
|
+
let x;
|
|
65
|
+
if (import_core.isWeb) x = `${-100 + progressRatio * 50}%`;else {
|
|
66
|
+
const baseWidth = context.width || 0;
|
|
67
|
+
x = Math.ceil(-baseWidth * (2 - progressRatio));
|
|
68
|
+
}
|
|
76
69
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressIndicatorFrame, {
|
|
77
70
|
"data-state": getProgressState(context.value, context.max),
|
|
78
71
|
"data-value": context.value ?? void 0,
|
|
79
72
|
"data-max": context.max,
|
|
80
73
|
x,
|
|
81
|
-
width:
|
|
74
|
+
width: "200%",
|
|
82
75
|
...(!props.unstyled && {
|
|
83
76
|
animateOnly: ["transform"],
|
|
84
|
-
|
|
77
|
+
// on native, hide until we have width measurement
|
|
78
|
+
...(!import_core.isWeb && context.width === 0 && {
|
|
79
|
+
opacity: 0
|
|
80
|
+
})
|
|
85
81
|
}),
|
|
86
82
|
...indicatorProps,
|
|
87
83
|
ref: forwardedRef,
|
|
88
|
-
transition: context.width ?
|
|
84
|
+
transition: !import_core.isWeb && !context.width ? null : transition
|
|
89
85
|
});
|
|
90
86
|
});
|
|
91
87
|
function defaultGetValueLabel(value, max) {
|
|
@@ -142,7 +138,7 @@ const DEFAULT_MAX = 100,
|
|
|
142
138
|
max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX,
|
|
143
139
|
value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null,
|
|
144
140
|
valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0,
|
|
145
|
-
[width, setWidth] =
|
|
141
|
+
[width, setWidth] = (0, import_react.useState)(0);
|
|
146
142
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressProvider, {
|
|
147
143
|
scope: __scopeProgress,
|
|
148
144
|
value,
|
|
@@ -161,10 +157,12 @@ const DEFAULT_MAX = 100,
|
|
|
161
157
|
size
|
|
162
158
|
}),
|
|
163
159
|
...progressProps,
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
160
|
+
...(!import_core.isWeb && {
|
|
161
|
+
onLayout: e => {
|
|
162
|
+
const newWidth = Math.round(e.nativeEvent.layout.width);
|
|
163
|
+
newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e);
|
|
164
|
+
}
|
|
165
|
+
}),
|
|
168
166
|
ref: forwardedRef
|
|
169
167
|
})
|
|
170
168
|
});
|
package/dist/cjs/Progress.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
5
|
var __export = (target, all) => {
|
|
7
6
|
for (var name in all)
|
|
8
7
|
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
@@ -12,14 +11,7 @@ var __export = (target, all) => {
|
|
|
12
11
|
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
12
|
return to;
|
|
14
13
|
};
|
|
15
|
-
var
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
14
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
15
|
var Progress_exports = {};
|
|
24
16
|
__export(Progress_exports, {
|
|
25
17
|
Progress: () => Progress,
|
|
@@ -29,7 +21,7 @@ __export(Progress_exports, {
|
|
|
29
21
|
createProgressScope: () => createProgressScope
|
|
30
22
|
});
|
|
31
23
|
module.exports = __toCommonJS(Progress_exports);
|
|
32
|
-
var import_core = require("@tamagui/core"), import_create_context = require("@tamagui/create-context"), import_get_token = require("@tamagui/get-token"), import_helpers = require("@tamagui/helpers"), import_stacks = require("@tamagui/stacks"),
|
|
24
|
+
var import_core = require("@tamagui/core"), import_create_context = require("@tamagui/create-context"), import_get_token = require("@tamagui/get-token"), import_helpers = require("@tamagui/helpers"), import_stacks = require("@tamagui/stacks"), import_react = require("react"), import_jsx_runtime = require("react/jsx-runtime");
|
|
33
25
|
const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] = (0, import_create_context.createContextScope)(PROGRESS_NAME), [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME), INDICATOR_NAME = "ProgressIndicator", ProgressIndicatorFrame = (0, import_core.styled)(import_stacks.YStack, {
|
|
34
26
|
name: INDICATOR_NAME,
|
|
35
27
|
variants: {
|
|
@@ -45,7 +37,14 @@ const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] =
|
|
|
45
37
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
46
38
|
}
|
|
47
39
|
}), ProgressIndicator = ProgressIndicatorFrame.styleable(function(props, forwardedRef) {
|
|
48
|
-
const { __scopeProgress, transition, ...indicatorProps } = props, context = useProgressContext(INDICATOR_NAME, __scopeProgress),
|
|
40
|
+
const { __scopeProgress, transition, ...indicatorProps } = props, context = useProgressContext(INDICATOR_NAME, __scopeProgress), progressRatio = (context.value ?? 0) / context.max;
|
|
41
|
+
let x;
|
|
42
|
+
if (import_core.isWeb)
|
|
43
|
+
x = `${-100 + progressRatio * 50}%`;
|
|
44
|
+
else {
|
|
45
|
+
const baseWidth = context.width || 0;
|
|
46
|
+
x = Math.ceil(-baseWidth * (2 - progressRatio));
|
|
47
|
+
}
|
|
49
48
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
50
49
|
ProgressIndicatorFrame,
|
|
51
50
|
{
|
|
@@ -53,14 +52,15 @@ const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] =
|
|
|
53
52
|
"data-value": context.value ?? void 0,
|
|
54
53
|
"data-max": context.max,
|
|
55
54
|
x,
|
|
56
|
-
width:
|
|
55
|
+
width: "200%",
|
|
57
56
|
...!props.unstyled && {
|
|
58
57
|
animateOnly: ["transform"],
|
|
59
|
-
|
|
58
|
+
// on native, hide until we have width measurement
|
|
59
|
+
...!import_core.isWeb && context.width === 0 && { opacity: 0 }
|
|
60
60
|
},
|
|
61
61
|
...indicatorProps,
|
|
62
62
|
ref: forwardedRef,
|
|
63
|
-
transition: context.width ?
|
|
63
|
+
transition: !import_core.isWeb && !context.width ? null : transition
|
|
64
64
|
}
|
|
65
65
|
);
|
|
66
66
|
});
|
|
@@ -113,7 +113,7 @@ const DEFAULT_MAX = 100, ProgressFrame = (0, import_core.styled)(import_stacks.Y
|
|
|
113
113
|
getValueLabel = defaultGetValueLabel,
|
|
114
114
|
size = "$true",
|
|
115
115
|
...progressProps
|
|
116
|
-
} = props, max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null, valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0, [width, setWidth] =
|
|
116
|
+
} = props, max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null, valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0, [width, setWidth] = (0, import_react.useState)(0);
|
|
117
117
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProgressProvider, { scope: __scopeProgress, value, max, width, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
118
118
|
ProgressFrame,
|
|
119
119
|
{
|
|
@@ -129,9 +129,11 @@ const DEFAULT_MAX = 100, ProgressFrame = (0, import_core.styled)(import_stacks.Y
|
|
|
129
129
|
size
|
|
130
130
|
},
|
|
131
131
|
...progressProps,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
132
|
+
...!import_core.isWeb && {
|
|
133
|
+
onLayout: (e) => {
|
|
134
|
+
const newWidth = Math.round(e.nativeEvent.layout.width);
|
|
135
|
+
newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e);
|
|
136
|
+
}
|
|
135
137
|
},
|
|
136
138
|
ref: forwardedRef
|
|
137
139
|
}
|
package/dist/cjs/Progress.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Progress.tsx"],
|
|
4
|
-
"mappings": "
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __create = Object.create;
|
|
4
3
|
var __defProp = Object.defineProperty;
|
|
5
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
-
var
|
|
8
|
-
__hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
7
|
var __export = (target, all) => {
|
|
10
8
|
for (var name in all) __defProp(target, name, {
|
|
11
9
|
get: all[name],
|
|
@@ -19,18 +17,9 @@ var __export = (target, all) => {
|
|
|
19
17
|
});
|
|
20
18
|
return to;
|
|
21
19
|
};
|
|
22
|
-
var
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
26
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
27
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
28
|
-
value: mod,
|
|
29
|
-
enumerable: !0
|
|
30
|
-
}) : target, mod)),
|
|
31
|
-
__toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
32
|
-
value: !0
|
|
33
|
-
}), mod);
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: !0
|
|
22
|
+
}), mod);
|
|
34
23
|
var Progress_exports = {};
|
|
35
24
|
__export(Progress_exports, {
|
|
36
25
|
Progress: () => Progress,
|
|
@@ -46,7 +35,7 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
46
35
|
import_get_token = require("@tamagui/get-token"),
|
|
47
36
|
import_helpers = require("@tamagui/helpers"),
|
|
48
37
|
import_stacks = require("@tamagui/stacks"),
|
|
49
|
-
|
|
38
|
+
import_react = require("react"),
|
|
50
39
|
PROGRESS_NAME = "Progress",
|
|
51
40
|
[createProgressContext, createProgressScope] = (0, import_create_context.createContextScope)(PROGRESS_NAME),
|
|
52
41
|
[ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME),
|
|
@@ -74,23 +63,29 @@ var import_jsx_runtime = require("react/jsx-runtime"),
|
|
|
74
63
|
} = props,
|
|
75
64
|
context = useProgressContext(INDICATOR_NAME, __scopeProgress),
|
|
76
65
|
_context_value,
|
|
77
|
-
|
|
78
|
-
x
|
|
79
|
-
|
|
66
|
+
progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max,
|
|
67
|
+
x;
|
|
68
|
+
if (import_core.isWeb) x = `${-100 + progressRatio * 50}%`;else {
|
|
69
|
+
var baseWidth = context.width || 0;
|
|
70
|
+
x = Math.ceil(-baseWidth * (2 - progressRatio));
|
|
71
|
+
}
|
|
72
|
+
var _context_value1;
|
|
80
73
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressIndicatorFrame, {
|
|
81
74
|
"data-state": getProgressState(context.value, context.max),
|
|
82
75
|
"data-value": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,
|
|
83
76
|
"data-max": context.max,
|
|
84
77
|
x,
|
|
85
|
-
width:
|
|
78
|
+
width: "200%",
|
|
86
79
|
...(!props.unstyled && {
|
|
87
80
|
animateOnly: ["transform"],
|
|
88
|
-
|
|
81
|
+
// on native, hide until we have width measurement
|
|
82
|
+
...(!import_core.isWeb && context.width === 0 && {
|
|
83
|
+
opacity: 0
|
|
84
|
+
})
|
|
89
85
|
}),
|
|
90
86
|
...indicatorProps,
|
|
91
87
|
ref: forwardedRef,
|
|
92
|
-
|
|
93
|
-
transition: context.width ? transition : null
|
|
88
|
+
transition: !import_core.isWeb && !context.width ? null : transition
|
|
94
89
|
});
|
|
95
90
|
});
|
|
96
91
|
function defaultGetValueLabel(value, max) {
|
|
@@ -147,7 +142,7 @@ var DEFAULT_MAX = 100,
|
|
|
147
142
|
max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX,
|
|
148
143
|
value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null,
|
|
149
144
|
valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0,
|
|
150
|
-
[width, setWidth] =
|
|
145
|
+
[width, setWidth] = (0, import_react.useState)(0);
|
|
151
146
|
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressProvider, {
|
|
152
147
|
scope: __scopeProgress,
|
|
153
148
|
value,
|
|
@@ -167,11 +162,13 @@ var DEFAULT_MAX = 100,
|
|
|
167
162
|
size
|
|
168
163
|
}),
|
|
169
164
|
...progressProps,
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
165
|
+
...(!import_core.isWeb && {
|
|
166
|
+
onLayout: function (e) {
|
|
167
|
+
var _progressProps_onLayout,
|
|
168
|
+
newWidth = Math.round(e.nativeEvent.layout.width);
|
|
169
|
+
newWidth !== width && setWidth(newWidth), (_progressProps_onLayout = progressProps.onLayout) === null || _progressProps_onLayout === void 0 || _progressProps_onLayout.call(progressProps, e);
|
|
170
|
+
}
|
|
171
|
+
}),
|
|
175
172
|
ref: forwardedRef
|
|
176
173
|
})
|
|
177
174
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Progress_exports","__export","Progress","ProgressFrame","ProgressIndicator","ProgressIndicatorFrame","createProgressScope","module","exports","import_jsx_runtime","require","import_core","import_create_context","import_get_token","import_helpers","import_stacks","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Progress_exports","__export","Progress","ProgressFrame","ProgressIndicator","ProgressIndicatorFrame","createProgressScope","module","exports","import_jsx_runtime","require","import_core","import_create_context","import_get_token","import_helpers","import_stacks","import_react","PROGRESS_NAME","createProgressContext","createContextScope","ProgressProvider","useProgressContext","INDICATOR_NAME","styled","YStack","name","variants","unstyled","false","height","width","backgroundColor","defaultVariants","process","env","TAMAGUI_HEADLESS","styleable","props","forwardedRef","__scopeProgress","transition","indicatorProps","context","_context_value","progressRatio","max","x","isWeb","baseWidth","Math","ceil","_context_value1","jsx","getProgressState","animateOnly","opacity","ref","defaultGetValueLabel","round","maxValue","isNumber","isValidMaxNumber","Number","isNaN","isValidValueNumber","DEFAULT_MAX","borderRadius","overflow","size","...size","val","getVariableValue","getSize","minWidth","withStaticProperties","valueProp","maxProp","getValueLabel","progressProps","valueLabel","setWidth","useState","scope","children","role","onLayout","e","_progressProps_onLayout","newWidth","nativeEvent","layout","call"],"sources":["../../src/Progress.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Progress.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getVariableValue, styled } from "@tamagui/core";
|
|
1
|
+
import { 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
|
-
import
|
|
6
|
+
import { useState } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME), [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME), INDICATOR_NAME = "ProgressIndicator", ProgressIndicatorFrame = styled(YStack, {
|
|
9
9
|
name: INDICATOR_NAME,
|
|
@@ -20,7 +20,14 @@ const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] =
|
|
|
20
20
|
unstyled: process.env.TAMAGUI_HEADLESS === "1"
|
|
21
21
|
}
|
|
22
22
|
}), ProgressIndicator = ProgressIndicatorFrame.styleable(function(props, forwardedRef) {
|
|
23
|
-
const { __scopeProgress, transition, ...indicatorProps } = props, context = useProgressContext(INDICATOR_NAME, __scopeProgress),
|
|
23
|
+
const { __scopeProgress, transition, ...indicatorProps } = props, context = useProgressContext(INDICATOR_NAME, __scopeProgress), progressRatio = (context.value ?? 0) / context.max;
|
|
24
|
+
let x;
|
|
25
|
+
if (isWeb)
|
|
26
|
+
x = `${-100 + progressRatio * 50}%`;
|
|
27
|
+
else {
|
|
28
|
+
const baseWidth = context.width || 0;
|
|
29
|
+
x = Math.ceil(-baseWidth * (2 - progressRatio));
|
|
30
|
+
}
|
|
24
31
|
return /* @__PURE__ */ jsx(
|
|
25
32
|
ProgressIndicatorFrame,
|
|
26
33
|
{
|
|
@@ -28,14 +35,15 @@ const PROGRESS_NAME = "Progress", [createProgressContext, createProgressScope] =
|
|
|
28
35
|
"data-value": context.value ?? void 0,
|
|
29
36
|
"data-max": context.max,
|
|
30
37
|
x,
|
|
31
|
-
width:
|
|
38
|
+
width: "200%",
|
|
32
39
|
...!props.unstyled && {
|
|
33
40
|
animateOnly: ["transform"],
|
|
34
|
-
|
|
41
|
+
// on native, hide until we have width measurement
|
|
42
|
+
...!isWeb && context.width === 0 && { opacity: 0 }
|
|
35
43
|
},
|
|
36
44
|
...indicatorProps,
|
|
37
45
|
ref: forwardedRef,
|
|
38
|
-
transition: context.width ?
|
|
46
|
+
transition: !isWeb && !context.width ? null : transition
|
|
39
47
|
}
|
|
40
48
|
);
|
|
41
49
|
});
|
|
@@ -88,7 +96,7 @@ const DEFAULT_MAX = 100, ProgressFrame = styled(YStack, {
|
|
|
88
96
|
getValueLabel = defaultGetValueLabel,
|
|
89
97
|
size = "$true",
|
|
90
98
|
...progressProps
|
|
91
|
-
} = props, max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null, valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0, [width, setWidth] =
|
|
99
|
+
} = props, max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX, value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null, valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0, [width, setWidth] = useState(0);
|
|
92
100
|
return /* @__PURE__ */ jsx(ProgressProvider, { scope: __scopeProgress, value, max, width, children: /* @__PURE__ */ jsx(
|
|
93
101
|
ProgressFrame,
|
|
94
102
|
{
|
|
@@ -104,9 +112,11 @@ const DEFAULT_MAX = 100, ProgressFrame = styled(YStack, {
|
|
|
104
112
|
size
|
|
105
113
|
},
|
|
106
114
|
...progressProps,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
115
|
+
...!isWeb && {
|
|
116
|
+
onLayout: (e) => {
|
|
117
|
+
const newWidth = Math.round(e.nativeEvent.layout.width);
|
|
118
|
+
newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e);
|
|
119
|
+
}
|
|
110
120
|
},
|
|
111
121
|
ref: forwardedRef
|
|
112
122
|
}
|
package/dist/esm/Progress.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Progress.tsx"],
|
|
4
|
-
"mappings": "AAIA,SAAS,kBAAkB,cAAc;
|
|
4
|
+
"mappings": "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",
|
|
5
5
|
"names": []
|
|
6
6
|
}
|
package/dist/esm/Progress.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { getVariableValue, styled } from "@tamagui/core";
|
|
1
|
+
import { 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
|
-
import
|
|
6
|
+
import { useState } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
const PROGRESS_NAME = "Progress",
|
|
9
9
|
[createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME),
|
|
@@ -31,21 +31,28 @@ const PROGRESS_NAME = "Progress",
|
|
|
31
31
|
...indicatorProps
|
|
32
32
|
} = props,
|
|
33
33
|
context = useProgressContext(INDICATOR_NAME, __scopeProgress),
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
progressRatio = (context.value ?? 0) / context.max;
|
|
35
|
+
let x;
|
|
36
|
+
if (isWeb) x = `${-100 + progressRatio * 50}%`;else {
|
|
37
|
+
const baseWidth = context.width || 0;
|
|
38
|
+
x = Math.ceil(-baseWidth * (2 - progressRatio));
|
|
39
|
+
}
|
|
36
40
|
return /* @__PURE__ */jsx(ProgressIndicatorFrame, {
|
|
37
41
|
"data-state": getProgressState(context.value, context.max),
|
|
38
42
|
"data-value": context.value ?? void 0,
|
|
39
43
|
"data-max": context.max,
|
|
40
44
|
x,
|
|
41
|
-
width:
|
|
45
|
+
width: "200%",
|
|
42
46
|
...(!props.unstyled && {
|
|
43
47
|
animateOnly: ["transform"],
|
|
44
|
-
|
|
48
|
+
// on native, hide until we have width measurement
|
|
49
|
+
...(!isWeb && context.width === 0 && {
|
|
50
|
+
opacity: 0
|
|
51
|
+
})
|
|
45
52
|
}),
|
|
46
53
|
...indicatorProps,
|
|
47
54
|
ref: forwardedRef,
|
|
48
|
-
transition: context.width ?
|
|
55
|
+
transition: !isWeb && !context.width ? null : transition
|
|
49
56
|
});
|
|
50
57
|
});
|
|
51
58
|
function defaultGetValueLabel(value, max) {
|
|
@@ -102,7 +109,7 @@ const DEFAULT_MAX = 100,
|
|
|
102
109
|
max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX,
|
|
103
110
|
value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null,
|
|
104
111
|
valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0,
|
|
105
|
-
[width, setWidth] =
|
|
112
|
+
[width, setWidth] = useState(0);
|
|
106
113
|
return /* @__PURE__ */jsx(ProgressProvider, {
|
|
107
114
|
scope: __scopeProgress,
|
|
108
115
|
value,
|
|
@@ -121,10 +128,12 @@ const DEFAULT_MAX = 100,
|
|
|
121
128
|
size
|
|
122
129
|
}),
|
|
123
130
|
...progressProps,
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
131
|
+
...(!isWeb && {
|
|
132
|
+
onLayout: e => {
|
|
133
|
+
const newWidth = Math.round(e.nativeEvent.layout.width);
|
|
134
|
+
newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e);
|
|
135
|
+
}
|
|
136
|
+
}),
|
|
128
137
|
ref: forwardedRef
|
|
129
138
|
})
|
|
130
139
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getVariableValue","styled","createContextScope","getSize","withStaticProperties","YStack","
|
|
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","valueProp","maxProp","getValueLabel","progressProps","valueLabel","setWidth","scope","children","role","onLayout","e","newWidth","nativeEvent","layout","Indicator"],"sources":["../../src/Progress.tsx"],"sourcesContent":[null],"mappings":"AAIA,SAASA,gBAAA,EAAkBC,KAAA,EAAOC,MAAA,QAAc;AAEhD,SAASC,kBAAA,QAA0B;AACnC,SAASC,OAAA,QAAe;AACxB,SAASC,oBAAA,QAA4B;AACrC,SAASC,MAAA,QAAc;AACvB,SAASC,QAAA,QAAgB;AAoErB,SAAAC,GAAA;AAlEJ,MAAMC,aAAA,GAAgB;EAEhB,CAACC,qBAAA,EAAuBC,mBAAmB,IAAIR,kBAAA,CAAmBM,aAAa;EAQ/E,CAACG,gBAAA,EAAkBC,kBAAkB,IACzCH,qBAAA,CAA4CD,aAAa;EAMrDK,cAAA,GAAiB;EAEVC,sBAAA,GAAyBb,MAAA,CAAOI,MAAA,EAAQ;IACnDU,IAAA,EAAMF,cAAA;IAENG,QAAA,EAAU;MACRC,QAAA,EAAU;QACRC,KAAA,EAAO;UACLC,MAAA,EAAQ;UACRC,KAAA,EAAO;UACPC,eAAA,EAAiB;QACnB;MACF;IACF;IAEAC,eAAA,EAAiB;MACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAIKC,iBAAA,GAAoBZ,sBAAA,CAAuBa,SAAA,CAAU,UACzDC,KAAA,EACAC,YAAA,EACA;IACA,MAAM;QAAEC,eAAA;QAAiBC,UAAA;QAAY,GAAGC;MAAe,IAAIJ,KAAA;MACrDK,OAAA,GAAUrB,kBAAA,CAAmBC,cAAA,EAAgBiB,eAAe;MAE5DI,aAAA,IAAiBD,OAAA,CAAQE,KAAA,IAAS,KAAKF,OAAA,CAAQG,GAAA;IAQrD,IAAIC,CAAA;IACJ,IAAIrC,KAAA,EAGFqC,CAAA,GAAI,GAAG,OAAOH,aAAA,GAAgB,EAAE,SAC3B;MAEL,MAAMI,SAAA,GAAYL,OAAA,CAAQb,KAAA,IAAS;MACnCiB,CAAA,GAAIE,IAAA,CAAKC,IAAA,CAAK,CAACF,SAAA,IAAa,IAAIJ,aAAA,CAAc;IAChD;IAEA,OACE,eAAA3B,GAAA,CAACO,sBAAA;MACC,cAAY2B,gBAAA,CAAiBR,OAAA,CAAQE,KAAA,EAAOF,OAAA,CAAQG,GAAG;MACvD,cAAYH,OAAA,CAAQE,KAAA,IAAS;MAC7B,YAAUF,OAAA,CAAQG,GAAA;MAClBC,CAAA;MACAjB,KAAA,EAAM;MACL,IAAI,CAACQ,KAAA,CAAMX,QAAA,IAAY;QACtByB,WAAA,EAAa,CAAC,WAAW;QAAA;QAEzB,IAAI,CAAC1C,KAAA,IAASiC,OAAA,CAAQb,KAAA,KAAU,KAAK;UAAEuB,OAAA,EAAS;QAAE;MACpD;MACC,GAAGX,cAAA;MACJY,GAAA,EAAKf,YAAA;MACLE,UAAA,EAAY,CAAC/B,KAAA,IAAS,CAACiC,OAAA,CAAQb,KAAA,GAAQ,OAAOW;IAAA,CAChD;EAEJ,CAAC;AAID,SAASc,qBAAqBV,KAAA,EAAeC,GAAA,EAAa;EACxD,OAAO,GAAGG,IAAA,CAAKO,KAAA,CAAOX,KAAA,GAAQC,GAAA,GAAO,GAAG,CAAC;AAC3C;AAEA,SAASK,iBACPN,KAAA,EACAY,QAAA,EACe;EACf,OAAOZ,KAAA,IAAS,OAAO,kBAAkBA,KAAA,KAAUY,QAAA,GAAW,aAAa;AAC7E;AAEA,SAASC,SAASb,KAAA,EAA6B;EAC7C,OAAO,OAAOA,KAAA,IAAU;AAC1B;AAEA,SAASc,iBAAiBb,GAAA,EAAyB;EACjD,OAAOY,QAAA,CAASZ,GAAG,KAAK,CAACc,MAAA,CAAOC,KAAA,CAAMf,GAAG,KAAKA,GAAA,GAAM;AACtD;AAEA,SAASgB,mBAAmBjB,KAAA,EAAYC,GAAA,EAA8B;EACpE,OAAOY,QAAA,CAASb,KAAK,KAAK,CAACe,MAAA,CAAOC,KAAA,CAAMhB,KAAK,KAAKA,KAAA,IAASC,GAAA,IAAOD,KAAA,IAAS;AAC7E;AAMA,MAAMkB,WAAA,GAAc;EAMPC,aAAA,GAAgBrD,MAAA,CAAOI,MAAA,EAAQ;IAC1CU,IAAA,EAAM;IAENC,QAAA,EAAU;MACRC,QAAA,EAAU;QACRC,KAAA,EAAO;UACLqC,YAAA,EAAc;UACdC,QAAA,EAAU;UACVnC,eAAA,EAAiB;QACnB;MACF;MAEAoC,IAAA,EAAM;QACJ,WAAYC,GAAA,IAAQ;UAClB,MAAMD,IAAA,GAAOlB,IAAA,CAAKO,KAAA,CAAM/C,gBAAA,CAAiBI,OAAA,CAAQuD,GAAG,CAAC,IAAI,IAAI;UAC7D,OAAO;YACLvC,MAAA,EAAQsC,IAAA;YACRE,QAAA,EAAU5D,gBAAA,CAAiB0D,IAAI,IAAI;YACnCrC,KAAA,EAAO;UACT;QACF;MACF;IACF;IAEAE,eAAA,EAAiB;MACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,gBAAA,KAAqB;IAC7C;EACF,CAAC;EAUKmC,QAAA,GAAWxD,oBAAA,CACfkD,aAAA,CAAc3B,SAAA,CAA8B,UAAkBC,KAAA,EAAOC,YAAA,EAAc;IACjF,MAAM;QAAA;QAEJC,eAAA;QACAK,KAAA,EAAO0B,SAAA;QACPzB,GAAA,EAAK0B,OAAA;QACLC,aAAA,GAAgBlB,oBAAA;QAChBY,IAAA,GAAO;QACP,GAAGO;MACL,IAAIpC,KAAA;MAEEQ,GAAA,GAAMa,gBAAA,CAAiBa,OAAO,IAAIA,OAAA,GAAUT,WAAA;MAC5ClB,KAAA,GAAQiB,kBAAA,CAAmBS,SAAA,EAAWzB,GAAG,IAAIG,IAAA,CAAKO,KAAA,CAAMe,SAAS,IAAI;MACrEI,UAAA,GAAajB,QAAA,CAASb,KAAK,IAAI4B,aAAA,CAAc5B,KAAA,EAAOC,GAAG,IAAI;MAG3D,CAAChB,KAAA,EAAO8C,QAAQ,IAAI5D,QAAA,CAAS,CAAC;IAEpC,OACE,eAAAC,GAAA,CAACI,gBAAA;MAAiBwD,KAAA,EAAOrC,eAAA;MAAiBK,KAAA;MAAcC,GAAA;MAAUhB,KAAA;MAChEgD,QAAA,iBAAA7D,GAAA,CAAC+C,aAAA;QACC,iBAAelB,GAAA;QACf,iBAAe;QACf,iBAAeY,QAAA,CAASb,KAAK,IAAIA,KAAA,GAAQ;QACzC,kBAAgB8B,UAAA;QAEhBI,IAAA,EAAK;QACL,cAAY5B,gBAAA,CAAiBN,KAAA,EAAOC,GAAG;QACvC,cAAYD,KAAA,IAAS;QACrB,YAAUC,GAAA;QACT,IAAI4B,aAAA,CAAc/C,QAAA,KAAa,MAAQ;UACtCwC;QACF;QACC,GAAGO,aAAA;QACH,IAAI,CAAChE,KAAA,IAAS;UACbsE,QAAA,EAAWC,CAAA,IAAM;YACf,MAAMC,QAAA,GAAWjC,IAAA,CAAKO,KAAA,CAAMyB,CAAA,CAAEE,WAAA,CAAYC,MAAA,CAAOtD,KAAK;YAClDoD,QAAA,KAAapD,KAAA,IACf8C,QAAA,CAASM,QAAQ,GAEnBR,aAAA,CAAcM,QAAA,GAAWC,CAAC;UAC5B;QACF;QACA3B,GAAA,EAAKf;MAAA,CACP;IAAA,CACF;EAEJ,CAAC,GACD;IACE8C,SAAA,EAAWjD;EACb,CACF","ignoreList":[]}
|