@korsolutions/ui 0.0.44 → 0.0.45
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/module/components/index.js +1 -0
- package/dist/module/components/index.js.map +1 -1
- package/dist/module/components/progress/index.js +4 -0
- package/dist/module/components/progress/index.js.map +1 -0
- package/dist/module/components/progress/progress.js +27 -0
- package/dist/module/components/progress/progress.js.map +1 -0
- package/dist/module/components/progress/variants/default.js +27 -0
- package/dist/module/components/progress/variants/default.js.map +1 -0
- package/dist/module/components/progress/variants/index.js +7 -0
- package/dist/module/components/progress/variants/index.js.map +1 -0
- package/dist/module/primitives/index.js +1 -0
- package/dist/module/primitives/index.js.map +1 -1
- package/dist/module/primitives/progress/context.js +12 -0
- package/dist/module/primitives/progress/context.js.map +1 -0
- package/dist/module/primitives/progress/index.js +9 -0
- package/dist/module/primitives/progress/index.js.map +1 -0
- package/dist/module/primitives/progress/progress-indicator.js +21 -0
- package/dist/module/primitives/progress/progress-indicator.js.map +1 -0
- package/dist/module/primitives/progress/progress-root.js +28 -0
- package/dist/module/primitives/progress/progress-root.js.map +1 -0
- package/dist/module/primitives/progress/types.js +4 -0
- package/dist/module/primitives/progress/types.js.map +1 -0
- package/dist/typescript/src/components/index.d.ts +1 -0
- package/dist/typescript/src/components/index.d.ts.map +1 -1
- package/dist/typescript/src/components/progress/index.d.ts +2 -0
- package/dist/typescript/src/components/progress/index.d.ts.map +1 -0
- package/dist/typescript/src/components/progress/progress.d.ts +11 -0
- package/dist/typescript/src/components/progress/progress.d.ts.map +1 -0
- package/dist/typescript/src/components/progress/variants/default.d.ts +3 -0
- package/dist/typescript/src/components/progress/variants/default.d.ts.map +1 -0
- package/dist/typescript/src/components/progress/variants/index.d.ts +4 -0
- package/dist/typescript/src/components/progress/variants/index.d.ts.map +1 -0
- package/dist/typescript/src/primitives/index.d.ts +1 -0
- package/dist/typescript/src/primitives/index.d.ts.map +1 -1
- package/dist/typescript/src/primitives/progress/context.d.ts +10 -0
- package/dist/typescript/src/primitives/progress/context.d.ts.map +1 -0
- package/dist/typescript/src/primitives/progress/index.d.ts +10 -0
- package/dist/typescript/src/primitives/progress/index.d.ts.map +1 -0
- package/dist/typescript/src/primitives/progress/progress-indicator.d.ts +10 -0
- package/dist/typescript/src/primitives/progress/progress-indicator.d.ts.map +1 -0
- package/dist/typescript/src/primitives/progress/progress-root.d.ts +13 -0
- package/dist/typescript/src/primitives/progress/progress-root.d.ts.map +1 -0
- package/dist/typescript/src/primitives/progress/types.d.ts +8 -0
- package/dist/typescript/src/primitives/progress/types.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/index.ts +1 -0
- package/src/components/progress/index.ts +1 -0
- package/src/components/progress/progress.tsx +23 -0
- package/src/components/progress/variants/default.tsx +25 -0
- package/src/components/progress/variants/index.ts +5 -0
- package/src/primitives/index.ts +1 -0
- package/src/primitives/progress/context.ts +19 -0
- package/src/primitives/progress/index.ts +11 -0
- package/src/primitives/progress/progress-indicator.tsx +21 -0
- package/src/primitives/progress/progress-root.tsx +36 -0
- package/src/primitives/progress/types.ts +9 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Progress"],"sourceRoot":"../../../../src","sources":["components/progress/index.ts"],"mappings":";;AAAA,SAASA,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { ProgressPrimitive } from "../../primitives/index.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { ProgressVariants } from "./variants/index.js";
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
export function Progress(props) {
|
|
8
|
+
const {
|
|
9
|
+
value = 0,
|
|
10
|
+
max = 100,
|
|
11
|
+
variant = "default",
|
|
12
|
+
indicatorColor
|
|
13
|
+
} = props;
|
|
14
|
+
const useVariantStyles = ProgressVariants[variant];
|
|
15
|
+
const variantStyles = useVariantStyles();
|
|
16
|
+
return /*#__PURE__*/_jsx(ProgressPrimitive.Root, {
|
|
17
|
+
value: value,
|
|
18
|
+
max: max,
|
|
19
|
+
styles: variantStyles,
|
|
20
|
+
children: /*#__PURE__*/_jsx(ProgressPrimitive.Indicator, {
|
|
21
|
+
style: indicatorColor ? {
|
|
22
|
+
backgroundColor: indicatorColor
|
|
23
|
+
} : undefined
|
|
24
|
+
})
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ProgressPrimitive","React","ProgressVariants","jsx","_jsx","Progress","props","value","max","variant","indicatorColor","useVariantStyles","variantStyles","Root","styles","children","Indicator","style","backgroundColor","undefined"],"sourceRoot":"../../../../src","sources":["components/progress/progress.tsx"],"mappings":";;AAAA,SAASA,iBAAiB;AAC1B,OAAOC,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB;AAAqB,SAAAC,GAAA,IAAAC,IAAA;AAS9C,OAAO,SAASC,QAAQA,CAACC,KAAoB,EAAE;EAC7C,MAAM;IAAEC,KAAK,GAAG,CAAC;IAAEC,GAAG,GAAG,GAAG;IAAEC,OAAO,GAAG,SAAS;IAAEC;EAAe,CAAC,GAAGJ,KAAK;EAE3E,MAAMK,gBAAgB,GAAGT,gBAAgB,CAACO,OAAO,CAAC;EAClD,MAAMG,aAAa,GAAGD,gBAAgB,CAAC,CAAC;EAExC,oBACEP,IAAA,CAACJ,iBAAiB,CAACa,IAAI;IAACN,KAAK,EAAEA,KAAM;IAACC,GAAG,EAAEA,GAAI;IAACM,MAAM,EAAEF,aAAc;IAAAG,QAAA,eACpEX,IAAA,CAACJ,iBAAiB,CAACgB,SAAS;MAACC,KAAK,EAAEP,cAAc,GAAG;QAAEQ,eAAe,EAAER;MAAe,CAAC,GAAGS;IAAU,CAAE;EAAC,CAClF,CAAC;AAE7B","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { useThemedStyles } from "../../../utils/use-themed-styles.js";
|
|
4
|
+
export const useProgressVariantDefault = () => {
|
|
5
|
+
return useThemedStyles(({
|
|
6
|
+
colors,
|
|
7
|
+
radius
|
|
8
|
+
}) => ({
|
|
9
|
+
root: {
|
|
10
|
+
default: {
|
|
11
|
+
width: "100%",
|
|
12
|
+
height: 8,
|
|
13
|
+
backgroundColor: colors.muted,
|
|
14
|
+
borderRadius: radius,
|
|
15
|
+
overflow: "hidden"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
indicator: {
|
|
19
|
+
default: {
|
|
20
|
+
height: "100%",
|
|
21
|
+
backgroundColor: colors.primary,
|
|
22
|
+
borderRadius: radius
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useThemedStyles","useProgressVariantDefault","colors","radius","root","default","width","height","backgroundColor","muted","borderRadius","overflow","indicator","primary"],"sourceRoot":"../../../../../src","sources":["components/progress/variants/default.tsx"],"mappings":";;AACA,SAASA,eAAe;AAExB,OAAO,MAAMC,yBAAyB,GAAGA,CAAA,KAAsB;EAC7D,OAAOD,eAAe,CACpB,CAAC;IAAEE,MAAM;IAAEC;EAAO,CAAC,MAAsB;IACvCC,IAAI,EAAE;MACJC,OAAO,EAAE;QACPC,KAAK,EAAE,MAAM;QACbC,MAAM,EAAE,CAAC;QACTC,eAAe,EAAEN,MAAM,CAACO,KAAK;QAC7BC,YAAY,EAAEP,MAAM;QACpBQ,QAAQ,EAAE;MACZ;IACF,CAAC;IACDC,SAAS,EAAE;MACTP,OAAO,EAAE;QACPE,MAAM,EAAE,MAAM;QACdC,eAAe,EAAEN,MAAM,CAACW,OAAO;QAC/BH,YAAY,EAAEP;MAChB;IACF;EACF,CAAC,CACH,CAAC;AACH,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useProgressVariantDefault","ProgressVariants","default"],"sourceRoot":"../../../../../src","sources":["components/progress/variants/index.ts"],"mappings":";;AAAA,SAASA,yBAAyB;AAElC,OAAO,MAAMC,gBAAgB,GAAG;EAC9BC,OAAO,EAAEF;AACX,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["primitives/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["primitives/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","ignoreList":[]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createContext, useContext } from "react";
|
|
4
|
+
export const ProgressContext = /*#__PURE__*/createContext(undefined);
|
|
5
|
+
export const useProgress = () => {
|
|
6
|
+
const context = useContext(ProgressContext);
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error("useProgress must be used within a ProgressRoot");
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createContext","useContext","ProgressContext","undefined","useProgress","context","Error"],"sourceRoot":"../../../../src","sources":["primitives/progress/context.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,UAAU,QAAQ,OAAO;AAUjD,OAAO,MAAMC,eAAe,gBAAGF,aAAa,CAA8BG,SAAS,CAAC;AAEpF,OAAO,MAAMC,WAAW,GAAGA,CAAA,KAAM;EAC/B,MAAMC,OAAO,GAAGJ,UAAU,CAACC,eAAe,CAAC;EAC3C,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ProgressRoot","ProgressIndicator","ProgressPrimitive","Root","Indicator"],"sourceRoot":"../../../../src","sources":["primitives/progress/index.ts"],"mappings":";;AAAA,SAASA,YAAY;AACrB,SAASC,iBAAiB;AAE1B,OAAO,MAAMC,iBAAiB,GAAG;EAC/BC,IAAI,EAAEH,YAAY;EAClBI,SAAS,EAAEH;AACb,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { calculateComposedStyles } from "../../utils/calculate-styles.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
import { useProgress } from "./context.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export function ProgressIndicator(props) {
|
|
9
|
+
const progress = useProgress();
|
|
10
|
+
const percentage = Math.min(Math.max(progress.value / progress.max * 100, 0), 100);
|
|
11
|
+
const composedStyle = calculateComposedStyles(progress.styles, progress.state, "indicator", props.style);
|
|
12
|
+
const Component = props.render ?? View;
|
|
13
|
+
return /*#__PURE__*/_jsx(Component, {
|
|
14
|
+
...props,
|
|
15
|
+
percentage: percentage,
|
|
16
|
+
style: [composedStyle, {
|
|
17
|
+
width: `${percentage}%`
|
|
18
|
+
}]
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=progress-indicator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["calculateComposedStyles","React","View","useProgress","jsx","_jsx","ProgressIndicator","props","progress","percentage","Math","min","max","value","composedStyle","styles","state","style","Component","render","width"],"sourceRoot":"../../../../src","sources":["primitives/progress/progress-indicator.tsx"],"mappings":";;AAAA,SAASA,uBAAuB;AAChC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,WAAW;AAAoB,SAAAC,GAAA,IAAAC,IAAA;AAQxC,OAAO,SAASC,iBAAiBA,CAACC,KAA6B,EAAE;EAC/D,MAAMC,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9B,MAAMM,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAEJ,QAAQ,CAACK,KAAK,GAAGL,QAAQ,CAACI,GAAG,GAAI,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;EAEpF,MAAME,aAAa,GAAGd,uBAAuB,CAACQ,QAAQ,CAACO,MAAM,EAAEP,QAAQ,CAACQ,KAAK,EAAE,WAAW,EAAET,KAAK,CAACU,KAAK,CAAC;EAExG,MAAMC,SAAS,GAAGX,KAAK,CAACY,MAAM,IAAIjB,IAAI;EACtC,oBAAOG,IAAA,CAACa,SAAS;IAAA,GAAKX,KAAK;IAAEE,UAAU,EAAEA,UAAW;IAACQ,KAAK,EAAE,CAACH,aAAa,EAAE;MAAEM,KAAK,EAAE,GAAGX,UAAU;IAAI,CAAC;EAAE,CAAE,CAAC;AAC9G","ignoreList":[]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { calculateComposedStyles } from "../../utils/calculate-styles.js";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { View } from "react-native";
|
|
6
|
+
import { ProgressContext } from "./context.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
export function ProgressRoot(props) {
|
|
9
|
+
const {
|
|
10
|
+
value = 0,
|
|
11
|
+
max = 100
|
|
12
|
+
} = props;
|
|
13
|
+
const composedStyle = calculateComposedStyles(props.styles, "default", "root", props.style);
|
|
14
|
+
const Component = props.render ?? View;
|
|
15
|
+
return /*#__PURE__*/_jsx(ProgressContext.Provider, {
|
|
16
|
+
value: {
|
|
17
|
+
state: "default",
|
|
18
|
+
styles: props.styles,
|
|
19
|
+
value,
|
|
20
|
+
max
|
|
21
|
+
},
|
|
22
|
+
children: /*#__PURE__*/_jsx(Component, {
|
|
23
|
+
...props,
|
|
24
|
+
style: composedStyle
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=progress-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["calculateComposedStyles","React","View","ProgressContext","jsx","_jsx","ProgressRoot","props","value","max","composedStyle","styles","style","Component","render","Provider","state","children"],"sourceRoot":"../../../../src","sources":["primitives/progress/progress-root.tsx"],"mappings":";;AAAA,SAASA,uBAAuB;AAChC,OAAOC,KAAK,MAAM,OAAO;AACzB,SAAyBC,IAAI,QAAwB,cAAc;AACnE,SAASC,eAAe;AAAoB,SAAAC,GAAA,IAAAC,IAAA;AAe5C,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAE;EACrD,MAAM;IAAEC,KAAK,GAAG,CAAC;IAAEC,GAAG,GAAG;EAAI,CAAC,GAAGF,KAAK;EACtC,MAAMG,aAAa,GAAGV,uBAAuB,CAACO,KAAK,CAACI,MAAM,EAAE,SAAS,EAAE,MAAM,EAAEJ,KAAK,CAACK,KAAK,CAAC;EAE3F,MAAMC,SAAS,GAAGN,KAAK,CAACO,MAAM,IAAIZ,IAAI;EACtC,oBACEG,IAAA,CAACF,eAAe,CAACY,QAAQ;IACvBP,KAAK,EAAE;MACLQ,KAAK,EAAE,SAAS;MAChBL,MAAM,EAAEJ,KAAK,CAACI,MAAM;MACpBH,KAAK;MACLC;IACF,CAAE;IAAAQ,QAAA,eAEFZ,IAAA,CAACQ,SAAS;MAAA,GAAKN,KAAK;MAAEK,KAAK,EAAEF;IAAc,CAAE;EAAC,CACtB,CAAC;AAE/B","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../../src","sources":["primitives/progress/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { ProgressVariants } from "./variants";
|
|
3
|
+
interface ProgressProps {
|
|
4
|
+
value?: number;
|
|
5
|
+
max?: number;
|
|
6
|
+
variant?: keyof typeof ProgressVariants;
|
|
7
|
+
indicatorColor?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Progress(props: ProgressProps): React.JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/progress.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,OAAO,gBAAgB,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,qBAW5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../../../../src/components/progress/variants/default.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,eAAO,MAAM,yBAAyB,QAAO,cAqB5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/progress/variants/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/primitives/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ProgressState, ProgressStyles } from "./types";
|
|
2
|
+
export interface ProgressContext {
|
|
3
|
+
state: ProgressState;
|
|
4
|
+
styles?: ProgressStyles;
|
|
5
|
+
value: number;
|
|
6
|
+
max: number;
|
|
7
|
+
}
|
|
8
|
+
export declare const ProgressContext: import("react").Context<ProgressContext | undefined>;
|
|
9
|
+
export declare const useProgress: () => ProgressContext;
|
|
10
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/progress/context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,eAAO,MAAM,eAAe,sDAAwD,CAAC;AAErF,eAAO,MAAM,WAAW,uBAMvB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ProgressRoot } from "./progress-root";
|
|
2
|
+
import { ProgressIndicator } from "./progress-indicator";
|
|
3
|
+
export declare const ProgressPrimitive: {
|
|
4
|
+
Root: typeof ProgressRoot;
|
|
5
|
+
Indicator: typeof ProgressIndicator;
|
|
6
|
+
};
|
|
7
|
+
export type { ProgressRootProps } from "./progress-root";
|
|
8
|
+
export type { ProgressIndicatorProps } from "./progress-indicator";
|
|
9
|
+
export type { ProgressStyles } from "./types";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/progress/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
3
|
+
export interface ProgressIndicatorProps {
|
|
4
|
+
render?: (props: ProgressIndicatorProps & {
|
|
5
|
+
percentage: number;
|
|
6
|
+
}) => React.ReactNode;
|
|
7
|
+
style?: StyleProp<ViewStyle>;
|
|
8
|
+
}
|
|
9
|
+
export declare function ProgressIndicator(props: ProgressIndicatorProps): React.JSX.Element;
|
|
10
|
+
//# sourceMappingURL=progress-indicator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-indicator.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/progress/progress-indicator.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,sBAAsB,GAAG;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,KAAK,KAAK,CAAC,SAAS,CAAC;IAErF,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,qBAS9D"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { type StyleProp, type ViewStyle } from "react-native";
|
|
3
|
+
import type { ProgressStyles } from "./types";
|
|
4
|
+
export interface ProgressRootProps {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
render?: (props: ProgressRootProps) => React.ReactNode;
|
|
7
|
+
style?: StyleProp<ViewStyle>;
|
|
8
|
+
styles?: ProgressStyles;
|
|
9
|
+
value?: number;
|
|
10
|
+
max?: number;
|
|
11
|
+
}
|
|
12
|
+
export declare function ProgressRoot(props: ProgressRootProps): React.JSX.Element;
|
|
13
|
+
//# sourceMappingURL=progress-root.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress-root.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/progress/progress-root.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,SAAS,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,KAAK,CAAC,SAAS,CAAC;IAEvD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,qBAiBpD"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProgressIndicatorProps } from "./progress-indicator";
|
|
2
|
+
import type { ProgressRootProps } from "./progress-root";
|
|
3
|
+
export type ProgressState = "default";
|
|
4
|
+
export interface ProgressStyles {
|
|
5
|
+
root?: Partial<Record<ProgressState, ProgressRootProps["style"]>>;
|
|
6
|
+
indicator?: Partial<Record<ProgressState, ProgressIndicatorProps["style"]>>;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/primitives/progress/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEzD,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC;AAEtC,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7E"}
|
package/package.json
CHANGED
package/src/components/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Progress } from "./progress";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ProgressPrimitive } from "@/primitives";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { ProgressVariants } from "./variants";
|
|
4
|
+
|
|
5
|
+
interface ProgressProps {
|
|
6
|
+
value?: number;
|
|
7
|
+
max?: number;
|
|
8
|
+
variant?: keyof typeof ProgressVariants;
|
|
9
|
+
indicatorColor?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function Progress(props: ProgressProps) {
|
|
13
|
+
const { value = 0, max = 100, variant = "default", indicatorColor } = props;
|
|
14
|
+
|
|
15
|
+
const useVariantStyles = ProgressVariants[variant];
|
|
16
|
+
const variantStyles = useVariantStyles();
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<ProgressPrimitive.Root value={value} max={max} styles={variantStyles}>
|
|
20
|
+
<ProgressPrimitive.Indicator style={indicatorColor ? { backgroundColor: indicatorColor } : undefined} />
|
|
21
|
+
</ProgressPrimitive.Root>
|
|
22
|
+
);
|
|
23
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type ProgressStyles } from "@/primitives";
|
|
2
|
+
import { useThemedStyles } from "@/utils/use-themed-styles";
|
|
3
|
+
|
|
4
|
+
export const useProgressVariantDefault = (): ProgressStyles => {
|
|
5
|
+
return useThemedStyles(
|
|
6
|
+
({ colors, radius }): ProgressStyles => ({
|
|
7
|
+
root: {
|
|
8
|
+
default: {
|
|
9
|
+
width: "100%",
|
|
10
|
+
height: 8,
|
|
11
|
+
backgroundColor: colors.muted,
|
|
12
|
+
borderRadius: radius,
|
|
13
|
+
overflow: "hidden",
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
indicator: {
|
|
17
|
+
default: {
|
|
18
|
+
height: "100%",
|
|
19
|
+
backgroundColor: colors.primary,
|
|
20
|
+
borderRadius: radius,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
);
|
|
25
|
+
};
|
package/src/primitives/index.ts
CHANGED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
import type { ProgressState, ProgressStyles } from "./types";
|
|
3
|
+
|
|
4
|
+
export interface ProgressContext {
|
|
5
|
+
state: ProgressState;
|
|
6
|
+
styles?: ProgressStyles;
|
|
7
|
+
value: number;
|
|
8
|
+
max: number;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const ProgressContext = createContext<ProgressContext | undefined>(undefined);
|
|
12
|
+
|
|
13
|
+
export const useProgress = () => {
|
|
14
|
+
const context = useContext(ProgressContext);
|
|
15
|
+
if (!context) {
|
|
16
|
+
throw new Error("useProgress must be used within a ProgressRoot");
|
|
17
|
+
}
|
|
18
|
+
return context;
|
|
19
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProgressRoot } from "./progress-root";
|
|
2
|
+
import { ProgressIndicator } from "./progress-indicator";
|
|
3
|
+
|
|
4
|
+
export const ProgressPrimitive = {
|
|
5
|
+
Root: ProgressRoot,
|
|
6
|
+
Indicator: ProgressIndicator,
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type { ProgressRootProps } from "./progress-root";
|
|
10
|
+
export type { ProgressIndicatorProps } from "./progress-indicator";
|
|
11
|
+
export type { ProgressStyles } from "./types";
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { calculateComposedStyles } from "@/utils/calculate-styles";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { type StyleProp, View, type ViewStyle } from "react-native";
|
|
4
|
+
import { useProgress } from "./context";
|
|
5
|
+
|
|
6
|
+
export interface ProgressIndicatorProps {
|
|
7
|
+
render?: (props: ProgressIndicatorProps & { percentage: number }) => React.ReactNode;
|
|
8
|
+
|
|
9
|
+
style?: StyleProp<ViewStyle>;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function ProgressIndicator(props: ProgressIndicatorProps) {
|
|
13
|
+
const progress = useProgress();
|
|
14
|
+
|
|
15
|
+
const percentage = Math.min(Math.max((progress.value / progress.max) * 100, 0), 100);
|
|
16
|
+
|
|
17
|
+
const composedStyle = calculateComposedStyles(progress.styles, progress.state, "indicator", props.style);
|
|
18
|
+
|
|
19
|
+
const Component = props.render ?? View;
|
|
20
|
+
return <Component {...props} percentage={percentage} style={[composedStyle, { width: `${percentage}%` }]} />;
|
|
21
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { calculateComposedStyles } from "@/utils/calculate-styles";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { type StyleProp, View, type ViewStyle } from "react-native";
|
|
4
|
+
import { ProgressContext } from "./context";
|
|
5
|
+
import type { ProgressStyles } from "./types";
|
|
6
|
+
|
|
7
|
+
export interface ProgressRootProps {
|
|
8
|
+
children?: React.ReactNode;
|
|
9
|
+
|
|
10
|
+
render?: (props: ProgressRootProps) => React.ReactNode;
|
|
11
|
+
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
styles?: ProgressStyles;
|
|
14
|
+
|
|
15
|
+
value?: number;
|
|
16
|
+
max?: number;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function ProgressRoot(props: ProgressRootProps) {
|
|
20
|
+
const { value = 0, max = 100 } = props;
|
|
21
|
+
const composedStyle = calculateComposedStyles(props.styles, "default", "root", props.style);
|
|
22
|
+
|
|
23
|
+
const Component = props.render ?? View;
|
|
24
|
+
return (
|
|
25
|
+
<ProgressContext.Provider
|
|
26
|
+
value={{
|
|
27
|
+
state: "default",
|
|
28
|
+
styles: props.styles,
|
|
29
|
+
value,
|
|
30
|
+
max,
|
|
31
|
+
}}
|
|
32
|
+
>
|
|
33
|
+
<Component {...props} style={composedStyle} />
|
|
34
|
+
</ProgressContext.Provider>
|
|
35
|
+
);
|
|
36
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ProgressIndicatorProps } from "./progress-indicator";
|
|
2
|
+
import type { ProgressRootProps } from "./progress-root";
|
|
3
|
+
|
|
4
|
+
export type ProgressState = "default";
|
|
5
|
+
|
|
6
|
+
export interface ProgressStyles {
|
|
7
|
+
root?: Partial<Record<ProgressState, ProgressRootProps["style"]>>;
|
|
8
|
+
indicator?: Partial<Record<ProgressState, ProgressIndicatorProps["style"]>>;
|
|
9
|
+
}
|