@cdx-ui/primitives 0.0.1-alpha.33 → 0.0.1-alpha.35
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/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/progress/context.js +11 -0
- package/lib/commonjs/progress/context.js.map +1 -0
- package/lib/commonjs/progress/createProgressIndicator.js +42 -0
- package/lib/commonjs/progress/createProgressIndicator.js.map +1 -0
- package/lib/commonjs/progress/createProgressRoot.js +96 -0
- package/lib/commonjs/progress/createProgressRoot.js.map +1 -0
- package/lib/commonjs/progress/index.js +25 -0
- package/lib/commonjs/progress/index.js.map +1 -0
- package/lib/commonjs/progress/types.js +6 -0
- package/lib/commonjs/progress/types.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/progress/context.js +5 -0
- package/lib/module/progress/context.js.map +1 -0
- package/lib/module/progress/createProgressIndicator.js +37 -0
- package/lib/module/progress/createProgressIndicator.js.map +1 -0
- package/lib/module/progress/createProgressRoot.js +91 -0
- package/lib/module/progress/createProgressRoot.js.map +1 -0
- package/lib/module/progress/index.js +15 -0
- package/lib/module/progress/index.js.map +1 -0
- package/lib/module/progress/types.js +4 -0
- package/lib/module/progress/types.js.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/progress/context.d.ts +13 -0
- package/lib/typescript/progress/context.d.ts.map +1 -0
- package/lib/typescript/progress/createProgressIndicator.d.ts +3 -0
- package/lib/typescript/progress/createProgressIndicator.d.ts.map +1 -0
- package/lib/typescript/progress/createProgressRoot.d.ts +4 -0
- package/lib/typescript/progress/createProgressRoot.d.ts.map +1 -0
- package/lib/typescript/progress/index.d.ts +10 -0
- package/lib/typescript/progress/index.d.ts.map +1 -0
- package/lib/typescript/progress/types.d.ts +25 -0
- package/lib/typescript/progress/types.d.ts.map +1 -0
- package/package.json +8 -3
- package/src/index.ts +1 -0
- package/src/progress/context.tsx +13 -0
- package/src/progress/createProgressIndicator.tsx +35 -0
- package/src/progress/createProgressRoot.tsx +109 -0
- package/src/progress/index.ts +28 -0
- package/src/progress/types.ts +37 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -128,5 +128,17 @@ Object.keys(_switch).forEach(function (key) {
|
|
|
128
128
|
}
|
|
129
129
|
});
|
|
130
130
|
});
|
|
131
|
+
var _progress = require("./progress");
|
|
132
|
+
Object.keys(_progress).forEach(function (key) {
|
|
133
|
+
if (key === "default" || key === "__esModule") return;
|
|
134
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
135
|
+
if (key in exports && exports[key] === _progress[key]) return;
|
|
136
|
+
Object.defineProperty(exports, key, {
|
|
137
|
+
enumerable: true,
|
|
138
|
+
get: function () {
|
|
139
|
+
return _progress[key];
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
});
|
|
131
143
|
var _dataAttributes = require("./utils/dataAttributes");
|
|
132
144
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_avatar","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_button","_checkbox","_dialog","_formControl","_input","_link","_overlay","_select","_switch","_dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_avatar","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_button","_checkbox","_dialog","_formControl","_input","_link","_overlay","_select","_switch","_progress","_dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useProgressContext = exports.ProgressProvider = void 0;
|
|
7
|
+
var _utils = require("@cdx-ui/utils");
|
|
8
|
+
const [ProgressProvider, useProgressContext] = (0, _utils.createContext)('ProgressContext');
|
|
9
|
+
exports.useProgressContext = useProgressContext;
|
|
10
|
+
exports.ProgressProvider = ProgressProvider;
|
|
11
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_utils","require","ProgressProvider","useProgressContext","createContext","exports"],"sourceRoot":"../../../src","sources":["progress/context.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAWO,MAAM,CAACC,gBAAgB,EAAEC,kBAAkB,CAAC,GACjD,IAAAC,oBAAa,EAAuB,iBAAiB,CAAC;AAACC,OAAA,CAAAF,kBAAA,GAAAA,kBAAA;AAAAE,OAAA,CAAAH,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createProgressIndicator = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _dataAttributes = require("../utils/dataAttributes");
|
|
9
|
+
var _context = require("./context");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
const createProgressIndicator = BaseIndicator => /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
12
|
+
const {
|
|
13
|
+
style,
|
|
14
|
+
...rest
|
|
15
|
+
} = props;
|
|
16
|
+
const {
|
|
17
|
+
percent,
|
|
18
|
+
state,
|
|
19
|
+
max,
|
|
20
|
+
value
|
|
21
|
+
} = (0, _context.useProgressContext)();
|
|
22
|
+
const filledStyle = (0, _react.useMemo)(() => {
|
|
23
|
+
const pct = `${String(percent)}%`;
|
|
24
|
+
return {
|
|
25
|
+
width: pct,
|
|
26
|
+
height: '100%'
|
|
27
|
+
};
|
|
28
|
+
}, [percent]);
|
|
29
|
+
const dataAttrs = (0, _dataAttributes.dataAttributes)({
|
|
30
|
+
state,
|
|
31
|
+
value: value === null ? undefined : String(value),
|
|
32
|
+
max: String(max)
|
|
33
|
+
});
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseIndicator, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
...rest,
|
|
37
|
+
...dataAttrs,
|
|
38
|
+
style: [filledStyle, style]
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
exports.createProgressIndicator = createProgressIndicator;
|
|
42
|
+
//# sourceMappingURL=createProgressIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_dataAttributes","_context","_jsxRuntime","createProgressIndicator","BaseIndicator","forwardRef","props","ref","style","rest","percent","state","max","value","useProgressContext","filledStyle","useMemo","pct","String","width","height","dataAttrs","dataAttributes","undefined","jsx","exports"],"sourceRoot":"../../../src","sources":["progress/createProgressIndicator.tsx"],"mappings":";;;;;;AACA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAA+C,IAAAG,WAAA,GAAAH,OAAA;AAIxC,MAAMI,uBAAuB,GAAoBC,aAAqC,iBAC3F,IAAAC,iBAAU,EAAwB,CAACC,KAAK,EAAEC,GAAG,KAAK;EAChD,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAgD;EAC3E,MAAM;IAAEI,OAAO;IAAEC,KAAK;IAAEC,GAAG;IAAEC;EAAM,CAAC,GAAG,IAAAC,2BAAkB,EAAC,CAAC;EAE3D,MAAMC,WAAW,GAAG,IAAAC,cAAO,EAAC,MAAiB;IAC3C,MAAMC,GAAG,GAAG,GAAGC,MAAM,CAACR,OAAO,CAAC,GAAoB;IAClD,OAAO;MAAES,KAAK,EAAEF,GAAG;MAAEG,MAAM,EAAE;IAAO,CAAC;EACvC,CAAC,EAAE,CAACV,OAAO,CAAC,CAAC;EAEb,MAAMW,SAAS,GAAG,IAAAC,8BAAc,EAAC;IAC/BX,KAAK;IACLE,KAAK,EAAEA,KAAK,KAAK,IAAI,GAAGU,SAAS,GAAGL,MAAM,CAACL,KAAK,CAAC;IACjDD,GAAG,EAAEM,MAAM,CAACN,GAAG;EACjB,CAAC,CAAC;EAEF,oBACE,IAAAV,WAAA,CAAAsB,GAAA,EAACpB,aAAa;IACZG,GAAG,EAAEA,GAAoB;IAEvB,GAAGE,IAAI;IACP,GAAGY,SAAS;IACZb,KAAK,EAAE,CAACO,WAAW,EAAEP,KAAK;EAAC,CAE9B,CAAC;AAEN,CAAC,CAAC;AAACiB,OAAA,CAAAtB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createProgressRoot = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _dataAttributes = require("../utils/dataAttributes");
|
|
9
|
+
var _context = require("./context");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
function clamp(n, min, max) {
|
|
12
|
+
return Math.min(max, Math.max(min, n));
|
|
13
|
+
}
|
|
14
|
+
function resolveState(value, max, clamped) {
|
|
15
|
+
if (value === null) {
|
|
16
|
+
return 'indeterminate';
|
|
17
|
+
}
|
|
18
|
+
if (max <= 0) {
|
|
19
|
+
return 'complete';
|
|
20
|
+
}
|
|
21
|
+
if (clamped !== null && clamped >= max) {
|
|
22
|
+
return 'complete';
|
|
23
|
+
}
|
|
24
|
+
return 'loading';
|
|
25
|
+
}
|
|
26
|
+
function defaultGetValueLabel(value, max) {
|
|
27
|
+
if (max <= 0) {
|
|
28
|
+
return '0%';
|
|
29
|
+
}
|
|
30
|
+
return `${String(Math.round(value / max * 100))}%`;
|
|
31
|
+
}
|
|
32
|
+
const createProgressRoot = BaseRoot => /*#__PURE__*/(0, _react.forwardRef)((props, ref) => {
|
|
33
|
+
const {
|
|
34
|
+
value: valueProp = 0,
|
|
35
|
+
max: maxProp = 100,
|
|
36
|
+
getValueLabel = defaultGetValueLabel,
|
|
37
|
+
children,
|
|
38
|
+
accessibilityRole = 'progressbar',
|
|
39
|
+
accessibilityValue: accessibilityValueProp,
|
|
40
|
+
role = 'progressbar',
|
|
41
|
+
...restProps
|
|
42
|
+
} = props;
|
|
43
|
+
const max = maxProp > 0 ? maxProp : 0;
|
|
44
|
+
const isIndeterminate = valueProp === null;
|
|
45
|
+
const clampedValue = valueProp === null ? null : clamp(Number.isFinite(valueProp) ? valueProp : 0, 0, max);
|
|
46
|
+
const percent = (0, _react.useMemo)(() => {
|
|
47
|
+
if (clampedValue === null || max <= 0) {
|
|
48
|
+
return 0;
|
|
49
|
+
}
|
|
50
|
+
return clampedValue / max * 100;
|
|
51
|
+
}, [clampedValue, max]);
|
|
52
|
+
const state = (0, _react.useMemo)(() => resolveState(valueProp, max, clampedValue), [valueProp, max, clampedValue]);
|
|
53
|
+
const contextValue = (0, _react.useMemo)(() => ({
|
|
54
|
+
value: clampedValue,
|
|
55
|
+
max,
|
|
56
|
+
percent,
|
|
57
|
+
state
|
|
58
|
+
}), [clampedValue, max, percent, state]);
|
|
59
|
+
const dataAttrs = (0, _dataAttributes.dataAttributes)({
|
|
60
|
+
state,
|
|
61
|
+
value: clampedValue === null ? undefined : String(clampedValue),
|
|
62
|
+
max: String(max)
|
|
63
|
+
});
|
|
64
|
+
const accessibilityValue = (0, _react.useMemo)(() => {
|
|
65
|
+
if (accessibilityValueProp !== undefined) {
|
|
66
|
+
return accessibilityValueProp;
|
|
67
|
+
}
|
|
68
|
+
if (isIndeterminate || clampedValue === null) {
|
|
69
|
+
return {
|
|
70
|
+
min: 0,
|
|
71
|
+
max,
|
|
72
|
+
text: 'Indeterminate'
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
min: 0,
|
|
77
|
+
max,
|
|
78
|
+
now: clampedValue,
|
|
79
|
+
text: getValueLabel(clampedValue, max)
|
|
80
|
+
};
|
|
81
|
+
}, [accessibilityValueProp, isIndeterminate, clampedValue, max, getValueLabel]);
|
|
82
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_context.ProgressProvider, {
|
|
83
|
+
value: contextValue,
|
|
84
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BaseRoot, {
|
|
85
|
+
ref: ref,
|
|
86
|
+
...restProps,
|
|
87
|
+
role: role,
|
|
88
|
+
accessibilityRole: accessibilityRole,
|
|
89
|
+
accessibilityValue: accessibilityValue,
|
|
90
|
+
...dataAttrs,
|
|
91
|
+
children: children
|
|
92
|
+
})
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
exports.createProgressRoot = createProgressRoot;
|
|
96
|
+
//# sourceMappingURL=createProgressRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_dataAttributes","_context","_jsxRuntime","clamp","n","min","max","Math","resolveState","value","clamped","defaultGetValueLabel","String","round","createProgressRoot","BaseRoot","forwardRef","props","ref","valueProp","maxProp","getValueLabel","children","accessibilityRole","accessibilityValue","accessibilityValueProp","role","restProps","isIndeterminate","clampedValue","Number","isFinite","percent","useMemo","state","contextValue","dataAttrs","dataAttributes","undefined","text","now","jsx","ProgressProvider","exports"],"sourceRoot":"../../../src","sources":["progress/createProgressRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createProgress = createProgress;
|
|
7
|
+
Object.defineProperty(exports, "useProgressContext", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function () {
|
|
10
|
+
return _context.useProgressContext;
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
var _createProgressIndicator = require("./createProgressIndicator");
|
|
14
|
+
var _createProgressRoot = require("./createProgressRoot");
|
|
15
|
+
var _context = require("./context");
|
|
16
|
+
function createProgress(components) {
|
|
17
|
+
const Progress = (0, _createProgressRoot.createProgressRoot)(components.Root);
|
|
18
|
+
const Indicator = (0, _createProgressIndicator.createProgressIndicator)(components.Indicator);
|
|
19
|
+
Progress.displayName = 'ProgressPrimitive';
|
|
20
|
+
Indicator.displayName = 'ProgressPrimitive.Indicator';
|
|
21
|
+
return Object.assign(Progress, {
|
|
22
|
+
Indicator
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_createProgressIndicator","require","_createProgressRoot","_context","createProgress","components","Progress","createProgressRoot","Root","Indicator","createProgressIndicator","displayName","Object","assign"],"sourceRoot":"../../../src","sources":["progress/index.ts"],"mappings":";;;;;;;;;;;;AACA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAKA,IAAAE,QAAA,GAAAF,OAAA;AAEO,SAASG,cAAcA,CAK5BC,UAGD,EAAE;EACD,MAAMC,QAAQ,GAAG,IAAAC,sCAAkB,EAAqBF,UAAU,CAACG,IAAI,CAAC;EACxE,MAAMC,SAAS,GAAG,IAAAC,gDAAuB,EAA+BL,UAAU,CAACI,SAAS,CAAC;EAE7FH,QAAQ,CAACK,WAAW,GAAG,mBAAmB;EAC1CF,SAAS,CAACE,WAAW,GAAG,6BAA6B;EAErD,OAAOC,MAAM,CAACC,MAAM,CAACP,QAAQ,EAAE;IAC7BG;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["progress/types.ts"],"mappings":"","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["OverlayInsetsProvider","dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU;
|
|
1
|
+
{"version":3,"names":["OverlayInsetsProvider","dataAttributes"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,UAAU;AACxB,cAAc,gBAAgB;AAC9B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,SAA0BA,qBAAqB,QAAQ,WAAW;AAClE,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,YAAY;AAE1B,SAASC,cAAc,QAAQ,wBAAwB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","ProgressProvider","useProgressContext"],"sourceRoot":"../../../src","sources":["progress/context.tsx"],"mappings":";;AAAA,SAASA,aAAa,QAAQ,eAAe;AAW7C,OAAO,MAAM,CAACC,gBAAgB,EAAEC,kBAAkB,CAAC,GACjDF,aAAa,CAAuB,iBAAiB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useMemo } from 'react';
|
|
4
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
5
|
+
import { useProgressContext } from './context';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export const createProgressIndicator = BaseIndicator => /*#__PURE__*/forwardRef((props, ref) => {
|
|
8
|
+
const {
|
|
9
|
+
style,
|
|
10
|
+
...rest
|
|
11
|
+
} = props;
|
|
12
|
+
const {
|
|
13
|
+
percent,
|
|
14
|
+
state,
|
|
15
|
+
max,
|
|
16
|
+
value
|
|
17
|
+
} = useProgressContext();
|
|
18
|
+
const filledStyle = useMemo(() => {
|
|
19
|
+
const pct = `${String(percent)}%`;
|
|
20
|
+
return {
|
|
21
|
+
width: pct,
|
|
22
|
+
height: '100%'
|
|
23
|
+
};
|
|
24
|
+
}, [percent]);
|
|
25
|
+
const dataAttrs = dataAttributes({
|
|
26
|
+
state,
|
|
27
|
+
value: value === null ? undefined : String(value),
|
|
28
|
+
max: String(max)
|
|
29
|
+
});
|
|
30
|
+
return /*#__PURE__*/_jsx(BaseIndicator, {
|
|
31
|
+
ref: ref,
|
|
32
|
+
...rest,
|
|
33
|
+
...dataAttrs,
|
|
34
|
+
style: [filledStyle, style]
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=createProgressIndicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useMemo","dataAttributes","useProgressContext","jsx","_jsx","createProgressIndicator","BaseIndicator","props","ref","style","rest","percent","state","max","value","filledStyle","pct","String","width","height","dataAttrs","undefined"],"sourceRoot":"../../../src","sources":["progress/createProgressIndicator.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,OAAO,QAA8B,OAAO;AAEjE,SAASC,cAAc,QAAQ,yBAAyB;AACxD,SAASC,kBAAkB,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAI/C,OAAO,MAAMC,uBAAuB,GAAoBC,aAAqC,iBAC3FP,UAAU,CAAwB,CAACQ,KAAK,EAAEC,GAAG,KAAK;EAChD,MAAM;IAAEC,KAAK;IAAE,GAAGC;EAAK,CAAC,GAAGH,KAAgD;EAC3E,MAAM;IAAEI,OAAO;IAAEC,KAAK;IAAEC,GAAG;IAAEC;EAAM,CAAC,GAAGZ,kBAAkB,CAAC,CAAC;EAE3D,MAAMa,WAAW,GAAGf,OAAO,CAAC,MAAiB;IAC3C,MAAMgB,GAAG,GAAG,GAAGC,MAAM,CAACN,OAAO,CAAC,GAAoB;IAClD,OAAO;MAAEO,KAAK,EAAEF,GAAG;MAAEG,MAAM,EAAE;IAAO,CAAC;EACvC,CAAC,EAAE,CAACR,OAAO,CAAC,CAAC;EAEb,MAAMS,SAAS,GAAGnB,cAAc,CAAC;IAC/BW,KAAK;IACLE,KAAK,EAAEA,KAAK,KAAK,IAAI,GAAGO,SAAS,GAAGJ,MAAM,CAACH,KAAK,CAAC;IACjDD,GAAG,EAAEI,MAAM,CAACJ,GAAG;EACjB,CAAC,CAAC;EAEF,oBACET,IAAA,CAACE,aAAa;IACZE,GAAG,EAAEA,GAAoB;IAEvB,GAAGE,IAAI;IACP,GAAGU,SAAS;IACZX,KAAK,EAAE,CAACM,WAAW,EAAEN,KAAK;EAAC,CAE9B,CAAC;AAEN,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef, useMemo } from 'react';
|
|
4
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
5
|
+
import { ProgressProvider } from './context';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
function clamp(n, min, max) {
|
|
8
|
+
return Math.min(max, Math.max(min, n));
|
|
9
|
+
}
|
|
10
|
+
function resolveState(value, max, clamped) {
|
|
11
|
+
if (value === null) {
|
|
12
|
+
return 'indeterminate';
|
|
13
|
+
}
|
|
14
|
+
if (max <= 0) {
|
|
15
|
+
return 'complete';
|
|
16
|
+
}
|
|
17
|
+
if (clamped !== null && clamped >= max) {
|
|
18
|
+
return 'complete';
|
|
19
|
+
}
|
|
20
|
+
return 'loading';
|
|
21
|
+
}
|
|
22
|
+
function defaultGetValueLabel(value, max) {
|
|
23
|
+
if (max <= 0) {
|
|
24
|
+
return '0%';
|
|
25
|
+
}
|
|
26
|
+
return `${String(Math.round(value / max * 100))}%`;
|
|
27
|
+
}
|
|
28
|
+
export const createProgressRoot = BaseRoot => /*#__PURE__*/forwardRef((props, ref) => {
|
|
29
|
+
const {
|
|
30
|
+
value: valueProp = 0,
|
|
31
|
+
max: maxProp = 100,
|
|
32
|
+
getValueLabel = defaultGetValueLabel,
|
|
33
|
+
children,
|
|
34
|
+
accessibilityRole = 'progressbar',
|
|
35
|
+
accessibilityValue: accessibilityValueProp,
|
|
36
|
+
role = 'progressbar',
|
|
37
|
+
...restProps
|
|
38
|
+
} = props;
|
|
39
|
+
const max = maxProp > 0 ? maxProp : 0;
|
|
40
|
+
const isIndeterminate = valueProp === null;
|
|
41
|
+
const clampedValue = valueProp === null ? null : clamp(Number.isFinite(valueProp) ? valueProp : 0, 0, max);
|
|
42
|
+
const percent = useMemo(() => {
|
|
43
|
+
if (clampedValue === null || max <= 0) {
|
|
44
|
+
return 0;
|
|
45
|
+
}
|
|
46
|
+
return clampedValue / max * 100;
|
|
47
|
+
}, [clampedValue, max]);
|
|
48
|
+
const state = useMemo(() => resolveState(valueProp, max, clampedValue), [valueProp, max, clampedValue]);
|
|
49
|
+
const contextValue = useMemo(() => ({
|
|
50
|
+
value: clampedValue,
|
|
51
|
+
max,
|
|
52
|
+
percent,
|
|
53
|
+
state
|
|
54
|
+
}), [clampedValue, max, percent, state]);
|
|
55
|
+
const dataAttrs = dataAttributes({
|
|
56
|
+
state,
|
|
57
|
+
value: clampedValue === null ? undefined : String(clampedValue),
|
|
58
|
+
max: String(max)
|
|
59
|
+
});
|
|
60
|
+
const accessibilityValue = useMemo(() => {
|
|
61
|
+
if (accessibilityValueProp !== undefined) {
|
|
62
|
+
return accessibilityValueProp;
|
|
63
|
+
}
|
|
64
|
+
if (isIndeterminate || clampedValue === null) {
|
|
65
|
+
return {
|
|
66
|
+
min: 0,
|
|
67
|
+
max,
|
|
68
|
+
text: 'Indeterminate'
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return {
|
|
72
|
+
min: 0,
|
|
73
|
+
max,
|
|
74
|
+
now: clampedValue,
|
|
75
|
+
text: getValueLabel(clampedValue, max)
|
|
76
|
+
};
|
|
77
|
+
}, [accessibilityValueProp, isIndeterminate, clampedValue, max, getValueLabel]);
|
|
78
|
+
return /*#__PURE__*/_jsx(ProgressProvider, {
|
|
79
|
+
value: contextValue,
|
|
80
|
+
children: /*#__PURE__*/_jsx(BaseRoot, {
|
|
81
|
+
ref: ref,
|
|
82
|
+
...restProps,
|
|
83
|
+
role: role,
|
|
84
|
+
accessibilityRole: accessibilityRole,
|
|
85
|
+
accessibilityValue: accessibilityValue,
|
|
86
|
+
...dataAttrs,
|
|
87
|
+
children: children
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
//# sourceMappingURL=createProgressRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","useMemo","dataAttributes","ProgressProvider","jsx","_jsx","clamp","n","min","max","Math","resolveState","value","clamped","defaultGetValueLabel","String","round","createProgressRoot","BaseRoot","props","ref","valueProp","maxProp","getValueLabel","children","accessibilityRole","accessibilityValue","accessibilityValueProp","role","restProps","isIndeterminate","clampedValue","Number","isFinite","percent","state","contextValue","dataAttrs","undefined","text","now"],"sourceRoot":"../../../src","sources":["progress/createProgressRoot.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createProgressIndicator } from './createProgressIndicator';
|
|
4
|
+
import { createProgressRoot } from './createProgressRoot';
|
|
5
|
+
export { useProgressContext } from './context';
|
|
6
|
+
export function createProgress(components) {
|
|
7
|
+
const Progress = createProgressRoot(components.Root);
|
|
8
|
+
const Indicator = createProgressIndicator(components.Indicator);
|
|
9
|
+
Progress.displayName = 'ProgressPrimitive';
|
|
10
|
+
Indicator.displayName = 'ProgressPrimitive.Indicator';
|
|
11
|
+
return Object.assign(Progress, {
|
|
12
|
+
Indicator
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createProgressIndicator","createProgressRoot","useProgressContext","createProgress","components","Progress","Root","Indicator","displayName","Object","assign"],"sourceRoot":"../../../src","sources":["progress/index.ts"],"mappings":";;AACA,SAASA,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,kBAAkB,QAAQ,sBAAsB;AAKzD,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,OAAO,SAASC,cAAcA,CAK5BC,UAGD,EAAE;EACD,MAAMC,QAAQ,GAAGJ,kBAAkB,CAAqBG,UAAU,CAACE,IAAI,CAAC;EACxE,MAAMC,SAAS,GAAGP,uBAAuB,CAA+BI,UAAU,CAACG,SAAS,CAAC;EAE7FF,QAAQ,CAACG,WAAW,GAAG,mBAAmB;EAC1CD,SAAS,CAACC,WAAW,GAAG,6BAA6B;EAErD,OAAOC,MAAM,CAACC,MAAM,CAACL,QAAQ,EAAE;IAC7BE;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["progress/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ export * from './link';
|
|
|
8
8
|
export { type EdgeInsets, OverlayInsetsProvider } from './overlay';
|
|
9
9
|
export * from './select';
|
|
10
10
|
export * from './switch';
|
|
11
|
+
export * from './progress';
|
|
11
12
|
export type { InteractionState } from './types';
|
|
12
13
|
export { dataAttributes } from './utils/dataAttributes';
|
|
13
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,UAAU,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,OAAO,EAAE,KAAK,UAAU,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACnE,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ProgressDataState } from './types';
|
|
2
|
+
export interface ProgressContextValue {
|
|
3
|
+
/** Clamped value in [0, max], or null when indeterminate */
|
|
4
|
+
readonly value: number | null;
|
|
5
|
+
readonly max: number;
|
|
6
|
+
readonly percent: number;
|
|
7
|
+
readonly state: ProgressDataState;
|
|
8
|
+
}
|
|
9
|
+
export declare const ProgressProvider: import("react").FunctionComponent<{
|
|
10
|
+
children: import("react").ReactNode;
|
|
11
|
+
value: ProgressContextValue;
|
|
12
|
+
}>, useProgressContext: () => ProgressContextValue;
|
|
13
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/progress/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,MAAM,WAAW,oBAAoB;IACnC,4DAA4D;IAC5D,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAED,eAAO,MAAO,gBAAgB;;;IAAE,kBAAkB,4BACM,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
export declare const createProgressIndicator: <T, R = unknown>(BaseIndicator: React.ComponentType<T>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<React.PropsWithoutRef<T>> & React.RefAttributes<R>>;
|
|
3
|
+
//# sourceMappingURL=createProgressIndicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProgressIndicator.d.ts","sourceRoot":"","sources":["../../../src/progress/createProgressIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,eAAO,MAAM,uBAAuB,GAAI,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,eAAe,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,8GA0BzF,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { InterfaceProgressProps } from './types';
|
|
3
|
+
export declare const createProgressRoot: <T, R = unknown>(BaseRoot: React.ComponentType<T>) => React.ForwardRefExoticComponent<React.PropsWithoutRef<React.PropsWithoutRef<T> & InterfaceProgressProps> & React.RefAttributes<R>>;
|
|
4
|
+
//# sourceMappingURL=createProgressRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createProgressRoot.d.ts","sourceRoot":"","sources":["../../../src/progress/createProgressRoot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAE,sBAAsB,EAAqB,MAAM,SAAS,CAAC;AA8BzE,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,UAAU,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,uIA0E/E,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import type { IProgressComponentType } from './types';
|
|
3
|
+
export type { IProgressProps, IProgressComponentType, ProgressDataState } from './types';
|
|
4
|
+
export type { ProgressContextValue } from './context';
|
|
5
|
+
export { useProgressContext } from './context';
|
|
6
|
+
export declare function createProgress<RootProps, IndicatorProps, RootRef = unknown, IndicatorRef = unknown>(components: {
|
|
7
|
+
Root: React.ComponentType<RootProps>;
|
|
8
|
+
Indicator: React.ComponentType<IndicatorProps>;
|
|
9
|
+
}): IProgressComponentType<RootProps, IndicatorProps, RootRef, IndicatorRef>;
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEtD,YAAY,EAAE,cAAc,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACzF,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C,wBAAgB,cAAc,CAC5B,SAAS,EACT,cAAc,EACd,OAAO,GAAG,OAAO,EACjB,YAAY,GAAG,OAAO,EACtB,UAAU,EAAE;IACZ,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IACrC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;CAChD,GASO,sBAAsB,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,CAAC,CAC/E"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ForwardRefExoticComponent, PropsWithoutRef, ReactNode, RefAttributes } from 'react';
|
|
2
|
+
import type { ViewProps } from 'react-native';
|
|
3
|
+
export type ProgressDataState = 'complete' | 'indeterminate' | 'loading';
|
|
4
|
+
export interface InterfaceProgressProps extends Omit<ViewProps, 'children'> {
|
|
5
|
+
/**
|
|
6
|
+
* Current value in the range [0, max], or `null` for indeterminate progress.
|
|
7
|
+
* Omit or use a number for determinate progress; default is `0`.
|
|
8
|
+
*/
|
|
9
|
+
readonly value?: number | null;
|
|
10
|
+
/**
|
|
11
|
+
* Maximum value (minimum is always 0).
|
|
12
|
+
* @default 100
|
|
13
|
+
*/
|
|
14
|
+
readonly max?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Optional label for `accessibilityValue.text` when determinate.
|
|
17
|
+
*/
|
|
18
|
+
readonly getValueLabel?: (value: number, max: number) => string;
|
|
19
|
+
readonly children?: ReactNode;
|
|
20
|
+
}
|
|
21
|
+
export type IProgressComponentType<RootProps, IndicatorProps, RootRef = unknown, IndicatorRef = unknown> = ForwardRefExoticComponent<PropsWithoutRef<RootProps & InterfaceProgressProps> & RefAttributes<RootRef>> & {
|
|
22
|
+
Indicator: ForwardRefExoticComponent<PropsWithoutRef<IndicatorProps> & RefAttributes<IndicatorRef>>;
|
|
23
|
+
};
|
|
24
|
+
export type IProgressProps = InterfaceProgressProps;
|
|
25
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/progress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAClG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,eAAe,GAAG,SAAS,CAAC;AAEzE,MAAM,WAAW,sBAAuB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC;IACzE;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC;CAC/B;AAED,MAAM,MAAM,sBAAsB,CAChC,SAAS,EACT,cAAc,EACd,OAAO,GAAG,OAAO,EACjB,YAAY,GAAG,OAAO,IACpB,yBAAyB,CAC3B,eAAe,CAAC,SAAS,GAAG,sBAAsB,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAC7E,GAAG;IACF,SAAS,EAAE,yBAAyB,CAClC,eAAe,CAAC,cAAc,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAC9D,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cdx-ui/primitives",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.35",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"module": "lib/module/index.js",
|
|
6
6
|
"react-native": "src/index.ts",
|
|
@@ -25,7 +25,12 @@
|
|
|
25
25
|
"targets": [
|
|
26
26
|
"commonjs",
|
|
27
27
|
"module",
|
|
28
|
-
|
|
28
|
+
[
|
|
29
|
+
"typescript",
|
|
30
|
+
{
|
|
31
|
+
"project": "tsconfig.build.json"
|
|
32
|
+
}
|
|
33
|
+
]
|
|
29
34
|
]
|
|
30
35
|
},
|
|
31
36
|
"peerDependencies": {
|
|
@@ -52,7 +57,7 @@
|
|
|
52
57
|
"@react-native-aria/interactions": "^0.2.16",
|
|
53
58
|
"@react-stately/checkbox": "3.7.4",
|
|
54
59
|
"@react-stately/toggle": "3.9.4",
|
|
55
|
-
"@cdx-ui/utils": "0.0.1-alpha.
|
|
60
|
+
"@cdx-ui/utils": "0.0.1-alpha.35"
|
|
56
61
|
},
|
|
57
62
|
"devDependencies": {
|
|
58
63
|
"@types/react": "*",
|
package/src/index.ts
CHANGED
|
@@ -8,5 +8,6 @@ export * from './link';
|
|
|
8
8
|
export { type EdgeInsets, OverlayInsetsProvider } from './overlay';
|
|
9
9
|
export * from './select';
|
|
10
10
|
export * from './switch';
|
|
11
|
+
export * from './progress';
|
|
11
12
|
export type { InteractionState } from './types';
|
|
12
13
|
export { dataAttributes } from './utils/dataAttributes';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createContext } from '@cdx-ui/utils';
|
|
2
|
+
import type { ProgressDataState } from './types';
|
|
3
|
+
|
|
4
|
+
export interface ProgressContextValue {
|
|
5
|
+
/** Clamped value in [0, max], or null when indeterminate */
|
|
6
|
+
readonly value: number | null;
|
|
7
|
+
readonly max: number;
|
|
8
|
+
readonly percent: number;
|
|
9
|
+
readonly state: ProgressDataState;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const [ProgressProvider, useProgressContext] =
|
|
13
|
+
createContext<ProgressContextValue>('ProgressContext');
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { forwardRef, useMemo, type PropsWithoutRef } from 'react';
|
|
3
|
+
import type { ViewStyle } from 'react-native';
|
|
4
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
5
|
+
import { useProgressContext } from './context';
|
|
6
|
+
|
|
7
|
+
type PercentString = `${number}%`;
|
|
8
|
+
|
|
9
|
+
export const createProgressIndicator = <T, R = unknown>(BaseIndicator: React.ComponentType<T>) =>
|
|
10
|
+
forwardRef<R, PropsWithoutRef<T>>((props, ref) => {
|
|
11
|
+
const { style, ...rest } = props as PropsWithoutRef<T> & { style?: object };
|
|
12
|
+
const { percent, state, max, value } = useProgressContext();
|
|
13
|
+
|
|
14
|
+
const filledStyle = useMemo((): ViewStyle => {
|
|
15
|
+
const pct = `${String(percent)}%` as PercentString;
|
|
16
|
+
return { width: pct, height: '100%' };
|
|
17
|
+
}, [percent]);
|
|
18
|
+
|
|
19
|
+
const dataAttrs = dataAttributes({
|
|
20
|
+
state,
|
|
21
|
+
value: value === null ? undefined : String(value),
|
|
22
|
+
max: String(max),
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<BaseIndicator
|
|
27
|
+
ref={ref as React.Ref<R>}
|
|
28
|
+
{...({
|
|
29
|
+
...rest,
|
|
30
|
+
...dataAttrs,
|
|
31
|
+
style: [filledStyle, style],
|
|
32
|
+
} as T)}
|
|
33
|
+
/>
|
|
34
|
+
);
|
|
35
|
+
});
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { forwardRef, useMemo, type PropsWithoutRef } from 'react';
|
|
3
|
+
import { dataAttributes } from '../utils/dataAttributes';
|
|
4
|
+
import { ProgressProvider } from './context';
|
|
5
|
+
import type { InterfaceProgressProps, ProgressDataState } from './types';
|
|
6
|
+
|
|
7
|
+
function clamp(n: number, min: number, max: number): number {
|
|
8
|
+
return Math.min(max, Math.max(min, n));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function resolveState(
|
|
12
|
+
value: number | null,
|
|
13
|
+
max: number,
|
|
14
|
+
clamped: number | null,
|
|
15
|
+
): ProgressDataState {
|
|
16
|
+
if (value === null) {
|
|
17
|
+
return 'indeterminate';
|
|
18
|
+
}
|
|
19
|
+
if (max <= 0) {
|
|
20
|
+
return 'complete';
|
|
21
|
+
}
|
|
22
|
+
if (clamped !== null && clamped >= max) {
|
|
23
|
+
return 'complete';
|
|
24
|
+
}
|
|
25
|
+
return 'loading';
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
function defaultGetValueLabel(value: number, max: number): string {
|
|
29
|
+
if (max <= 0) {
|
|
30
|
+
return '0%';
|
|
31
|
+
}
|
|
32
|
+
return `${String(Math.round((value / max) * 100))}%`;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export const createProgressRoot = <T, R = unknown>(BaseRoot: React.ComponentType<T>) =>
|
|
36
|
+
forwardRef<R, PropsWithoutRef<T> & InterfaceProgressProps>((props, ref) => {
|
|
37
|
+
const {
|
|
38
|
+
value: valueProp = 0,
|
|
39
|
+
max: maxProp = 100,
|
|
40
|
+
getValueLabel = defaultGetValueLabel,
|
|
41
|
+
children,
|
|
42
|
+
accessibilityRole = 'progressbar',
|
|
43
|
+
accessibilityValue: accessibilityValueProp,
|
|
44
|
+
role = 'progressbar',
|
|
45
|
+
...restProps
|
|
46
|
+
} = props;
|
|
47
|
+
const max = maxProp > 0 ? maxProp : 0;
|
|
48
|
+
const isIndeterminate = valueProp === null;
|
|
49
|
+
const clampedValue =
|
|
50
|
+
valueProp === null ? null : clamp(Number.isFinite(valueProp) ? valueProp : 0, 0, max);
|
|
51
|
+
|
|
52
|
+
const percent = useMemo(() => {
|
|
53
|
+
if (clampedValue === null || max <= 0) {
|
|
54
|
+
return 0;
|
|
55
|
+
}
|
|
56
|
+
return (clampedValue / max) * 100;
|
|
57
|
+
}, [clampedValue, max]);
|
|
58
|
+
|
|
59
|
+
const state = useMemo(
|
|
60
|
+
() => resolveState(valueProp, max, clampedValue),
|
|
61
|
+
[valueProp, max, clampedValue],
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
const contextValue = useMemo(
|
|
65
|
+
() => ({
|
|
66
|
+
value: clampedValue,
|
|
67
|
+
max,
|
|
68
|
+
percent,
|
|
69
|
+
state,
|
|
70
|
+
}),
|
|
71
|
+
[clampedValue, max, percent, state],
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
const dataAttrs = dataAttributes({
|
|
75
|
+
state,
|
|
76
|
+
value: clampedValue === null ? undefined : String(clampedValue),
|
|
77
|
+
max: String(max),
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
const accessibilityValue = useMemo(() => {
|
|
81
|
+
if (accessibilityValueProp !== undefined) {
|
|
82
|
+
return accessibilityValueProp;
|
|
83
|
+
}
|
|
84
|
+
if (isIndeterminate || clampedValue === null) {
|
|
85
|
+
return { min: 0, max, text: 'Indeterminate' };
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
min: 0,
|
|
89
|
+
max,
|
|
90
|
+
now: clampedValue,
|
|
91
|
+
text: getValueLabel(clampedValue, max),
|
|
92
|
+
};
|
|
93
|
+
}, [accessibilityValueProp, isIndeterminate, clampedValue, max, getValueLabel]);
|
|
94
|
+
|
|
95
|
+
return (
|
|
96
|
+
<ProgressProvider value={contextValue}>
|
|
97
|
+
<BaseRoot
|
|
98
|
+
ref={ref as React.Ref<R>}
|
|
99
|
+
{...(restProps as T)}
|
|
100
|
+
role={role}
|
|
101
|
+
accessibilityRole={accessibilityRole}
|
|
102
|
+
accessibilityValue={accessibilityValue}
|
|
103
|
+
{...dataAttrs}
|
|
104
|
+
>
|
|
105
|
+
{children}
|
|
106
|
+
</BaseRoot>
|
|
107
|
+
</ProgressProvider>
|
|
108
|
+
);
|
|
109
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type React from 'react';
|
|
2
|
+
import { createProgressIndicator } from './createProgressIndicator';
|
|
3
|
+
import { createProgressRoot } from './createProgressRoot';
|
|
4
|
+
import type { IProgressComponentType } from './types';
|
|
5
|
+
|
|
6
|
+
export type { IProgressProps, IProgressComponentType, ProgressDataState } from './types';
|
|
7
|
+
export type { ProgressContextValue } from './context';
|
|
8
|
+
export { useProgressContext } from './context';
|
|
9
|
+
|
|
10
|
+
export function createProgress<
|
|
11
|
+
RootProps,
|
|
12
|
+
IndicatorProps,
|
|
13
|
+
RootRef = unknown,
|
|
14
|
+
IndicatorRef = unknown,
|
|
15
|
+
>(components: {
|
|
16
|
+
Root: React.ComponentType<RootProps>;
|
|
17
|
+
Indicator: React.ComponentType<IndicatorProps>;
|
|
18
|
+
}) {
|
|
19
|
+
const Progress = createProgressRoot<RootProps, RootRef>(components.Root);
|
|
20
|
+
const Indicator = createProgressIndicator<IndicatorProps, IndicatorRef>(components.Indicator);
|
|
21
|
+
|
|
22
|
+
Progress.displayName = 'ProgressPrimitive';
|
|
23
|
+
Indicator.displayName = 'ProgressPrimitive.Indicator';
|
|
24
|
+
|
|
25
|
+
return Object.assign(Progress, {
|
|
26
|
+
Indicator,
|
|
27
|
+
}) as IProgressComponentType<RootProps, IndicatorProps, RootRef, IndicatorRef>;
|
|
28
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ForwardRefExoticComponent, PropsWithoutRef, ReactNode, RefAttributes } from 'react';
|
|
2
|
+
import type { ViewProps } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export type ProgressDataState = 'complete' | 'indeterminate' | 'loading';
|
|
5
|
+
|
|
6
|
+
export interface InterfaceProgressProps extends Omit<ViewProps, 'children'> {
|
|
7
|
+
/**
|
|
8
|
+
* Current value in the range [0, max], or `null` for indeterminate progress.
|
|
9
|
+
* Omit or use a number for determinate progress; default is `0`.
|
|
10
|
+
*/
|
|
11
|
+
readonly value?: number | null;
|
|
12
|
+
/**
|
|
13
|
+
* Maximum value (minimum is always 0).
|
|
14
|
+
* @default 100
|
|
15
|
+
*/
|
|
16
|
+
readonly max?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Optional label for `accessibilityValue.text` when determinate.
|
|
19
|
+
*/
|
|
20
|
+
readonly getValueLabel?: (value: number, max: number) => string;
|
|
21
|
+
readonly children?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export type IProgressComponentType<
|
|
25
|
+
RootProps,
|
|
26
|
+
IndicatorProps,
|
|
27
|
+
RootRef = unknown,
|
|
28
|
+
IndicatorRef = unknown,
|
|
29
|
+
> = ForwardRefExoticComponent<
|
|
30
|
+
PropsWithoutRef<RootProps & InterfaceProgressProps> & RefAttributes<RootRef>
|
|
31
|
+
> & {
|
|
32
|
+
Indicator: ForwardRefExoticComponent<
|
|
33
|
+
PropsWithoutRef<IndicatorProps> & RefAttributes<IndicatorRef>
|
|
34
|
+
>;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export type IProgressProps = InterfaceProgressProps;
|