@hanzogui/progress 3.0.2 → 7.3.0

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.
@@ -5,56 +5,58 @@ import { withStaticProperties } from "@hanzogui/helpers";
5
5
  import { YStack } from "@hanzogui/stacks";
6
6
  import { useState } from "react";
7
7
  import { jsx } from "react/jsx-runtime";
8
- const PROGRESS_NAME = "Progress",
9
- [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME),
10
- [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME),
11
- INDICATOR_NAME = "ProgressIndicator",
12
- ProgressIndicatorFrame = styled(YStack, {
13
- name: INDICATOR_NAME,
14
- variants: {
15
- unstyled: {
16
- false: {
17
- height: "100%",
18
- width: "100%",
19
- backgroundColor: "$background"
20
- }
8
+ const PROGRESS_NAME = "Progress";
9
+ const [createProgressContext, createProgressScope] = createContextScope(PROGRESS_NAME);
10
+ const [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
11
+ const INDICATOR_NAME = "ProgressIndicator";
12
+ const ProgressIndicatorFrame = styled(YStack, {
13
+ name: INDICATOR_NAME,
14
+ variants: {
15
+ unstyled: {
16
+ false: {
17
+ height: "100%",
18
+ width: "100%",
19
+ backgroundColor: "$background"
21
20
  }
22
- },
23
- defaultVariants: {
24
- unstyled: process.env.HANZO_GUI_HEADLESS === "1"
25
- }
26
- }),
27
- ProgressIndicator = ProgressIndicatorFrame.styleable(function (props, forwardedRef) {
28
- const {
29
- __scopeProgress,
30
- transition,
31
- ...indicatorProps
32
- } = props,
33
- context = useProgressContext(INDICATOR_NAME, __scopeProgress),
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
21
  }
40
- return /* @__PURE__ */jsx(ProgressIndicatorFrame, {
41
- "data-state": getProgressState(context.value, context.max),
42
- "data-value": context.value ?? void 0,
43
- "data-max": context.max,
44
- x,
45
- width: "200%",
46
- ...(!props.unstyled && {
47
- animateOnly: ["transform"],
48
- // on native, hide until we have width measurement
49
- ...(!isWeb && context.width === 0 && {
50
- opacity: 0
51
- })
52
- }),
53
- ...indicatorProps,
54
- ref: forwardedRef,
55
- transition: !isWeb && !context.width ? null : transition
56
- });
22
+ },
23
+ defaultVariants: {
24
+ unstyled: process.env.GUI_HEADLESS === "1"
25
+ }
26
+ });
27
+ const ProgressIndicator = ProgressIndicatorFrame.styleable(function ProgressIndicator2(props, forwardedRef) {
28
+ const {
29
+ __scopeProgress,
30
+ transition,
31
+ ...indicatorProps
32
+ } = props;
33
+ const context = useProgressContext(INDICATOR_NAME, __scopeProgress);
34
+ const progressRatio = (context.value ?? 0) / context.max;
35
+ let x;
36
+ if (isWeb) {
37
+ x = `${-100 + progressRatio * 50}%`;
38
+ } else {
39
+ const baseWidth = context.width || 0;
40
+ x = Math.ceil(-baseWidth * (2 - progressRatio));
41
+ }
42
+ return /* @__PURE__ */jsx(ProgressIndicatorFrame, {
43
+ "data-state": getProgressState(context.value, context.max),
44
+ "data-value": context.value ?? void 0,
45
+ "data-max": context.max,
46
+ x,
47
+ width: "200%",
48
+ ...(!props.unstyled && {
49
+ animateOnly: ["transform"],
50
+ // on native, hide until we have width measurement
51
+ ...(!isWeb && context.width === 0 && {
52
+ opacity: 0
53
+ })
54
+ }),
55
+ ...indicatorProps,
56
+ ref: forwardedRef,
57
+ transition: !isWeb && !context.width ? null : transition
57
58
  });
59
+ });
58
60
  function defaultGetValueLabel(value, max) {
59
61
  return `${Math.round(value / max * 100)}%`;
60
62
  }
@@ -62,7 +64,7 @@ function getProgressState(value, maxValue) {
62
64
  return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
63
65
  }
64
66
  function isNumber(value) {
65
- return typeof value == "number";
67
+ return typeof value === "number";
66
68
  }
67
69
  function isValidMaxNumber(max) {
68
70
  return isNumber(max) && !Number.isNaN(max) && max > 0;
@@ -70,75 +72,78 @@ function isValidMaxNumber(max) {
70
72
  function isValidValueNumber(value, max) {
71
73
  return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
72
74
  }
73
- const DEFAULT_MAX = 100,
74
- ProgressFrame = styled(YStack, {
75
- name: "Progress",
76
- variants: {
77
- unstyled: {
78
- false: {
79
- borderRadius: 1e5,
80
- overflow: "hidden",
81
- backgroundColor: "$background"
82
- }
83
- },
84
- size: {
85
- "...size": val => {
86
- const size = Math.round(getVariableValue(getSize(val)) * 0.25);
87
- return {
88
- height: size,
89
- minWidth: getVariableValue(size) * 20,
90
- width: "100%"
91
- };
92
- }
75
+ const DEFAULT_MAX = 100;
76
+ const ProgressFrame = styled(YStack, {
77
+ name: "Progress",
78
+ variants: {
79
+ unstyled: {
80
+ false: {
81
+ borderRadius: 1e5,
82
+ overflow: "hidden",
83
+ backgroundColor: "$background"
93
84
  }
94
85
  },
95
- defaultVariants: {
96
- unstyled: process.env.HANZO_GUI_HEADLESS === "1"
86
+ size: {
87
+ "...size": val => {
88
+ const size = Math.round(getVariableValue(getSize(val)) * 0.25);
89
+ return {
90
+ height: size,
91
+ minWidth: getVariableValue(size) * 20,
92
+ width: "100%"
93
+ };
94
+ }
97
95
  }
98
- }),
99
- Progress = withStaticProperties(ProgressFrame.styleable(function (props, forwardedRef) {
100
- const {
101
- // @ts-expect-error
102
- __scopeProgress,
103
- value: valueProp,
104
- max: maxProp,
105
- getValueLabel = defaultGetValueLabel,
106
- size = "$true",
107
- ...progressProps
108
- } = props,
109
- max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX,
110
- value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null,
111
- valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0,
112
- [width, setWidth] = useState(0);
113
- return /* @__PURE__ */jsx(ProgressProvider, {
114
- scope: __scopeProgress,
115
- value,
116
- max,
117
- width,
118
- children: /* @__PURE__ */jsx(ProgressFrame, {
119
- "aria-valuemax": max,
120
- "aria-valuemin": 0,
121
- "aria-valuenow": isNumber(value) ? value : void 0,
122
- "aria-valuetext": valueLabel,
123
- role: "progressbar",
124
- "data-state": getProgressState(value, max),
125
- "data-value": value ?? void 0,
126
- "data-max": max,
127
- ...(progressProps.unstyled !== !0 && {
128
- size
129
- }),
130
- ...progressProps,
131
- ...(!isWeb && {
132
- onLayout: e => {
133
- const newWidth = Math.round(e.nativeEvent.layout.width);
134
- newWidth !== width && setWidth(newWidth), progressProps.onLayout?.(e);
96
+ },
97
+ defaultVariants: {
98
+ unstyled: process.env.GUI_HEADLESS === "1"
99
+ }
100
+ });
101
+ const Progress = withStaticProperties(ProgressFrame.styleable(function Progress2(props, forwardedRef) {
102
+ const {
103
+ // @ts-expect-error
104
+ __scopeProgress,
105
+ value: valueProp,
106
+ max: maxProp,
107
+ getValueLabel = defaultGetValueLabel,
108
+ size = "$true",
109
+ ...progressProps
110
+ } = props;
111
+ const max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
112
+ const value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
113
+ const valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
114
+ const [width, setWidth] = useState(0);
115
+ return /* @__PURE__ */jsx(ProgressProvider, {
116
+ scope: __scopeProgress,
117
+ value,
118
+ max,
119
+ width,
120
+ children: /* @__PURE__ */jsx(ProgressFrame, {
121
+ "aria-valuemax": max,
122
+ "aria-valuemin": 0,
123
+ "aria-valuenow": isNumber(value) ? value : void 0,
124
+ "aria-valuetext": valueLabel,
125
+ role: "progressbar",
126
+ "data-state": getProgressState(value, max),
127
+ "data-value": value ?? void 0,
128
+ "data-max": max,
129
+ ...(progressProps.unstyled !== true && {
130
+ size
131
+ }),
132
+ ...progressProps,
133
+ ...(!isWeb && {
134
+ onLayout: e => {
135
+ const newWidth = Math.round(e.nativeEvent.layout.width);
136
+ if (newWidth !== width) {
137
+ setWidth(newWidth);
135
138
  }
136
- }),
137
- ref: forwardedRef
138
- })
139
- });
140
- }), {
141
- Indicator: ProgressIndicator
139
+ progressProps.onLayout?.(e);
140
+ }
141
+ }),
142
+ ref: forwardedRef
143
+ })
142
144
  });
145
+ }), {
146
+ Indicator: ProgressIndicator
147
+ });
143
148
  export { Progress, ProgressFrame, ProgressIndicator, ProgressIndicatorFrame, createProgressScope };
144
149
  //# sourceMappingURL=Progress.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["getVariableValue","isWeb","styled","createContextScope","getSize","withStaticProperties","YStack","useState","jsx","PROGRESS_NAME","createProgressContext","createProgressScope","ProgressProvider","useProgressContext","INDICATOR_NAME","ProgressIndicatorFrame","name","variants","unstyled","false","height","width","backgroundColor","defaultVariants","process","env","HANZO_GUI_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":"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","ignoreList":[]}
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","GUI_HEADLESS","ProgressIndicator","styleable","props","forwardedRef","__scopeProgress","transition","indicatorProps","context","progressRatio","value","max","x","baseWidth","Math","ceil","getProgressState","animateOnly","opacity","ref","defaultGetValueLabel","round","maxValue","isNumber","isValidMaxNumber","Number","isNaN","isValidValueNumber","DEFAULT_MAX","ProgressFrame","borderRadius","overflow","size","val","minWidth","Progress","Progress2","valueProp","maxProp","getValueLabel","progressProps","valueLabel","setWidth","scope","children","role","onLayout","e","newWidth","nativeEvent","layout","Indicator"],"sources":["../../src/Progress.tsx"],"sourcesContent":[null],"mappings":"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;AAEtB,MAAM,CAACC,qBAAA,EAAuBC,mBAAmB,IAAIR,kBAAA,CAAmBM,aAAa;AAQrF,MAAM,CAACG,gBAAA,EAAkBC,kBAAkB,IACzCH,qBAAA,CAA4CD,aAAa;AAM3D,MAAMK,cAAA,GAAiB;AAEhB,MAAMC,sBAAA,GAAyBb,MAAA,CAAOI,MAAA,EAAQ;EACnDU,IAAA,EAAMF,cAAA;EAENG,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLC,MAAA,EAAQ;QACRC,KAAA,EAAO;QACPC,eAAA,EAAiB;MACnB;IACF;EACF;EAEAC,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,YAAA,KAAiB;EACzC;AACF,CAAC;AAID,MAAMC,iBAAA,GAAoBZ,sBAAA,CAAuBa,SAAA,CAAU,SAASD,mBAClEE,KAAA,EACAC,YAAA,EACA;EACA,MAAM;IAAEC,eAAA;IAAiBC,UAAA;IAAY,GAAGC;EAAe,IAAIJ,KAAA;EAC3D,MAAMK,OAAA,GAAUrB,kBAAA,CAAmBC,cAAA,EAAgBiB,eAAe;EAElE,MAAMI,aAAA,IAAiBD,OAAA,CAAQE,KAAA,IAAS,KAAKF,OAAA,CAAQG,GAAA;EAQrD,IAAIC,CAAA;EACJ,IAAIrC,KAAA,EAAO;IAGTqC,CAAA,GAAI,GAAG,OAAOH,aAAA,GAAgB,EAAE;EAClC,OAAO;IAEL,MAAMI,SAAA,GAAYL,OAAA,CAAQb,KAAA,IAAS;IACnCiB,CAAA,GAAIE,IAAA,CAAKC,IAAA,CAAK,CAACF,SAAA,IAAa,IAAIJ,aAAA,CAAc;EAChD;EAEA,OACE,eAAA3B,GAAA,CAACO,sBAAA;IACC,cAAY2B,gBAAA,CAAiBR,OAAA,CAAQE,KAAA,EAAOF,OAAA,CAAQG,GAAG;IACvD,cAAYH,OAAA,CAAQE,KAAA,IAAS;IAC7B,YAAUF,OAAA,CAAQG,GAAA;IAClBC,CAAA;IACAjB,KAAA,EAAM;IACL,IAAI,CAACQ,KAAA,CAAMX,QAAA,IAAY;MACtByB,WAAA,EAAa,CAAC,WAAW;MAAA;MAEzB,IAAI,CAAC1C,KAAA,IAASiC,OAAA,CAAQb,KAAA,KAAU,KAAK;QAAEuB,OAAA,EAAS;MAAE;IACpD;IACC,GAAGX,cAAA;IACJY,GAAA,EAAKf,YAAA;IACLE,UAAA,EAAY,CAAC/B,KAAA,IAAS,CAACiC,OAAA,CAAQb,KAAA,GAAQ,OAAOW;EAAA,CAChD;AAEJ,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,KAAU;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;AAMb,MAAMC,aAAA,GAAgBrD,MAAA,CAAOI,MAAA,EAAQ;EAC1CU,IAAA,EAAM;EAENC,QAAA,EAAU;IACRC,QAAA,EAAU;MACRC,KAAA,EAAO;QACLqC,YAAA,EAAc;QACdC,QAAA,EAAU;QACVnC,eAAA,EAAiB;MACnB;IACF;IAEAoC,IAAA,EAAM;MACJ,WAAYC,GAAA,IAAQ;QAClB,MAAMD,IAAA,GAAOlB,IAAA,CAAKO,KAAA,CAAM/C,gBAAA,CAAiBI,OAAA,CAAQuD,GAAG,CAAC,IAAI,IAAI;QAC7D,OAAO;UACLvC,MAAA,EAAQsC,IAAA;UACRE,QAAA,EAAU5D,gBAAA,CAAiB0D,IAAI,IAAI;UACnCrC,KAAA,EAAO;QACT;MACF;IACF;EACF;EAEAE,eAAA,EAAiB;IACfL,QAAA,EAAUM,OAAA,CAAQC,GAAA,CAAIC,YAAA,KAAiB;EACzC;AACF,CAAC;AAUD,MAAMmC,QAAA,GAAWxD,oBAAA,CACfkD,aAAA,CAAc3B,SAAA,CAA8B,SAASkC,SAAAD,CAAShC,KAAA,EAAOC,YAAA,EAAc;EACjF,MAAM;IAAA;IAEJC,eAAA;IACAK,KAAA,EAAO2B,SAAA;IACP1B,GAAA,EAAK2B,OAAA;IACLC,aAAA,GAAgBnB,oBAAA;IAChBY,IAAA,GAAO;IACP,GAAGQ;EACL,IAAIrC,KAAA;EAEJ,MAAMQ,GAAA,GAAMa,gBAAA,CAAiBc,OAAO,IAAIA,OAAA,GAAUV,WAAA;EAClD,MAAMlB,KAAA,GAAQiB,kBAAA,CAAmBU,SAAA,EAAW1B,GAAG,IAAIG,IAAA,CAAKO,KAAA,CAAMgB,SAAS,IAAI;EAC3E,MAAMI,UAAA,GAAalB,QAAA,CAASb,KAAK,IAAI6B,aAAA,CAAc7B,KAAA,EAAOC,GAAG,IAAI;EAGjE,MAAM,CAAChB,KAAA,EAAO+C,QAAQ,IAAI7D,QAAA,CAAS,CAAC;EAEpC,OACE,eAAAC,GAAA,CAACI,gBAAA;IAAiByD,KAAA,EAAOtC,eAAA;IAAiBK,KAAA;IAAcC,GAAA;IAAUhB,KAAA;IAChEiD,QAAA,iBAAA9D,GAAA,CAAC+C,aAAA;MACC,iBAAelB,GAAA;MACf,iBAAe;MACf,iBAAeY,QAAA,CAASb,KAAK,IAAIA,KAAA,GAAQ;MACzC,kBAAgB+B,UAAA;MAEhBI,IAAA,EAAK;MACL,cAAY7B,gBAAA,CAAiBN,KAAA,EAAOC,GAAG;MACvC,cAAYD,KAAA,IAAS;MACrB,YAAUC,GAAA;MACT,IAAI6B,aAAA,CAAchD,QAAA,KAAa,QAAQ;QACtCwC;MACF;MACC,GAAGQ,aAAA;MACH,IAAI,CAACjE,KAAA,IAAS;QACbuE,QAAA,EAAWC,CAAA,IAAM;UACf,MAAMC,QAAA,GAAWlC,IAAA,CAAKO,KAAA,CAAM0B,CAAA,CAAEE,WAAA,CAAYC,MAAA,CAAOvD,KAAK;UACtD,IAAIqD,QAAA,KAAarD,KAAA,EAAO;YACtB+C,QAAA,CAASM,QAAQ;UACnB;UACAR,aAAA,CAAcM,QAAA,GAAWC,CAAC;QAC5B;MACF;MACA5B,GAAA,EAAKf;IAAA,CACP;EAAA,CACF;AAEJ,CAAC,GACD;EACE+C,SAAA,EAAWlD;AACb,CACF","ignoreList":[]}
@@ -5,20 +5,22 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __export = (target, all) => {
8
- for (var name in all) __defProp(target, name, {
9
- get: all[name],
10
- enumerable: !0
11
- });
12
- },
13
- __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from == "object" || typeof from == "function") for (let key of __getOwnPropNames(from)) !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
15
16
  get: () => from[key],
16
17
  enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
17
18
  });
18
- return to;
19
- };
19
+ }
20
+ return to;
21
+ };
20
22
  var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: !0
23
+ value: true
22
24
  }), mod);
23
25
  var Progress_exports = {};
24
26
  __export(Progress_exports, {
@@ -29,65 +31,67 @@ __export(Progress_exports, {
29
31
  createProgressScope: () => createProgressScope
30
32
  });
31
33
  module.exports = __toCommonJS(Progress_exports);
32
- var import_jsx_runtime = require("react/jsx-runtime"),
33
- import_gui_core = require("@hanzogui/core"),
34
- import_gui_create_context = require("@hanzogui/create-context"),
35
- import_gui_get_token = require("@hanzogui/get-token"),
36
- import_gui_helpers = require("@hanzogui/helpers"),
37
- import_gui_stacks = require("@hanzogui/stacks"),
38
- import_react = require("react"),
39
- PROGRESS_NAME = "Progress",
40
- [createProgressContext, createProgressScope] = (0, import_gui_create_context.createContextScope)(PROGRESS_NAME),
41
- [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME),
42
- INDICATOR_NAME = "ProgressIndicator",
43
- ProgressIndicatorFrame = (0, import_gui_core.styled)(import_gui_stacks.YStack, {
44
- name: INDICATOR_NAME,
45
- variants: {
46
- unstyled: {
47
- false: {
48
- height: "100%",
49
- width: "100%",
50
- backgroundColor: "$background"
51
- }
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var import_core = require("@hanzogui/core");
36
+ var import_create_context = require("@hanzogui/create-context");
37
+ var import_get_token = require("@hanzogui/get-token");
38
+ var import_helpers = require("@hanzogui/helpers");
39
+ var import_stacks = require("@hanzogui/stacks");
40
+ var import_react = require("react");
41
+ var PROGRESS_NAME = "Progress";
42
+ var [createProgressContext, createProgressScope] = (0, import_create_context.createContextScope)(PROGRESS_NAME);
43
+ var [ProgressProvider, useProgressContext] = createProgressContext(PROGRESS_NAME);
44
+ var INDICATOR_NAME = "ProgressIndicator";
45
+ var ProgressIndicatorFrame = (0, import_core.styled)(import_stacks.YStack, {
46
+ name: INDICATOR_NAME,
47
+ variants: {
48
+ unstyled: {
49
+ false: {
50
+ height: "100%",
51
+ width: "100%",
52
+ backgroundColor: "$background"
52
53
  }
53
- },
54
- defaultVariants: {
55
- unstyled: process.env.HANZO_GUI_HEADLESS === "1"
56
- }
57
- }),
58
- ProgressIndicator = ProgressIndicatorFrame.styleable(function (props, forwardedRef) {
59
- var {
60
- __scopeProgress,
61
- transition,
62
- ...indicatorProps
63
- } = props,
64
- context = useProgressContext(INDICATOR_NAME, __scopeProgress),
65
- _context_value,
66
- progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max,
67
- x;
68
- if (import_gui_core.isWeb) x = `${-100 + progressRatio * 50}%`;else {
69
- var baseWidth = context.width || 0;
70
- x = Math.ceil(-baseWidth * (2 - progressRatio));
71
54
  }
72
- var _context_value1;
73
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressIndicatorFrame, {
74
- "data-state": getProgressState(context.value, context.max),
75
- "data-value": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,
76
- "data-max": context.max,
77
- x,
78
- width: "200%",
79
- ...(!props.unstyled && {
80
- animateOnly: ["transform"],
81
- // on native, hide until we have width measurement
82
- ...(!import_gui_core.isWeb && context.width === 0 && {
83
- opacity: 0
84
- })
85
- }),
86
- ...indicatorProps,
87
- ref: forwardedRef,
88
- transition: !import_gui_core.isWeb && !context.width ? null : transition
89
- });
55
+ },
56
+ defaultVariants: {
57
+ unstyled: process.env.GUI_HEADLESS === "1"
58
+ }
59
+ });
60
+ var ProgressIndicator = ProgressIndicatorFrame.styleable(function ProgressIndicator2(props, forwardedRef) {
61
+ var {
62
+ __scopeProgress,
63
+ transition,
64
+ ...indicatorProps
65
+ } = props;
66
+ var context = useProgressContext(INDICATOR_NAME, __scopeProgress);
67
+ var _context_value;
68
+ var progressRatio = ((_context_value = context.value) !== null && _context_value !== void 0 ? _context_value : 0) / context.max;
69
+ var x;
70
+ if (import_core.isWeb) {
71
+ x = `${-100 + progressRatio * 50}%`;
72
+ } else {
73
+ var baseWidth = context.width || 0;
74
+ x = Math.ceil(-baseWidth * (2 - progressRatio));
75
+ }
76
+ var _context_value1;
77
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressIndicatorFrame, {
78
+ "data-state": getProgressState(context.value, context.max),
79
+ "data-value": (_context_value1 = context.value) !== null && _context_value1 !== void 0 ? _context_value1 : void 0,
80
+ "data-max": context.max,
81
+ x,
82
+ width: "200%",
83
+ ...(!props.unstyled && {
84
+ animateOnly: ["transform"],
85
+ // on native, hide until we have width measurement
86
+ ...(!import_core.isWeb && context.width === 0 && {
87
+ opacity: 0
88
+ })
89
+ }),
90
+ ...indicatorProps,
91
+ ref: forwardedRef,
92
+ transition: !import_core.isWeb && !context.width ? null : transition
90
93
  });
94
+ });
91
95
  function defaultGetValueLabel(value, max) {
92
96
  return `${Math.round(value / max * 100)}%`;
93
97
  }
@@ -95,7 +99,7 @@ function getProgressState(value, maxValue) {
95
99
  return value == null ? "indeterminate" : value === maxValue ? "complete" : "loading";
96
100
  }
97
101
  function isNumber(value) {
98
- return typeof value == "number";
102
+ return typeof value === "number";
99
103
  }
100
104
  function isValidMaxNumber(max) {
101
105
  return isNumber(max) && !Number.isNaN(max) && max > 0;
@@ -103,76 +107,79 @@ function isValidMaxNumber(max) {
103
107
  function isValidValueNumber(value, max) {
104
108
  return isNumber(value) && !Number.isNaN(value) && value <= max && value >= 0;
105
109
  }
106
- var DEFAULT_MAX = 100,
107
- ProgressFrame = (0, import_gui_core.styled)(import_gui_stacks.YStack, {
108
- name: "Progress",
109
- variants: {
110
- unstyled: {
111
- false: {
112
- borderRadius: 1e5,
113
- overflow: "hidden",
114
- backgroundColor: "$background"
115
- }
116
- },
117
- size: {
118
- "...size": function (val) {
119
- var size = Math.round((0, import_gui_core.getVariableValue)((0, import_gui_get_token.getSize)(val)) * 0.25);
120
- return {
121
- height: size,
122
- minWidth: (0, import_gui_core.getVariableValue)(size) * 20,
123
- width: "100%"
124
- };
125
- }
110
+ var DEFAULT_MAX = 100;
111
+ var ProgressFrame = (0, import_core.styled)(import_stacks.YStack, {
112
+ name: "Progress",
113
+ variants: {
114
+ unstyled: {
115
+ false: {
116
+ borderRadius: 1e5,
117
+ overflow: "hidden",
118
+ backgroundColor: "$background"
126
119
  }
127
120
  },
128
- defaultVariants: {
129
- unstyled: process.env.HANZO_GUI_HEADLESS === "1"
121
+ size: {
122
+ "...size": function (val) {
123
+ var size = Math.round((0, import_core.getVariableValue)((0, import_get_token.getSize)(val)) * 0.25);
124
+ return {
125
+ height: size,
126
+ minWidth: (0, import_core.getVariableValue)(size) * 20,
127
+ width: "100%"
128
+ };
129
+ }
130
130
  }
131
- }),
132
- Progress = (0, import_gui_helpers.withStaticProperties)(ProgressFrame.styleable(function (props, forwardedRef) {
133
- var {
134
- // @ts-expect-error
135
- __scopeProgress,
136
- value: valueProp,
137
- max: maxProp,
138
- getValueLabel = defaultGetValueLabel,
139
- size = "$true",
140
- ...progressProps
141
- } = props,
142
- max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX,
143
- value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null,
144
- valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0,
145
- [width, setWidth] = (0, import_react.useState)(0);
146
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressProvider, {
147
- scope: __scopeProgress,
148
- value,
149
- max,
150
- width,
151
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressFrame, {
152
- "aria-valuemax": max,
153
- "aria-valuemin": 0,
154
- "aria-valuenow": isNumber(value) ? value : void 0,
155
- "aria-valuetext": valueLabel,
156
- // @ts-ignore
157
- role: "progressbar",
158
- "data-state": getProgressState(value, max),
159
- "data-value": value ?? void 0,
160
- "data-max": max,
161
- ...(progressProps.unstyled !== !0 && {
162
- size
163
- }),
164
- ...progressProps,
165
- ...(!import_gui_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);
131
+ },
132
+ defaultVariants: {
133
+ unstyled: process.env.GUI_HEADLESS === "1"
134
+ }
135
+ });
136
+ var Progress = (0, import_helpers.withStaticProperties)(ProgressFrame.styleable(function Progress2(props, forwardedRef) {
137
+ var {
138
+ // @ts-expect-error
139
+ __scopeProgress,
140
+ value: valueProp,
141
+ max: maxProp,
142
+ getValueLabel = defaultGetValueLabel,
143
+ size = "$true",
144
+ ...progressProps
145
+ } = props;
146
+ var max = isValidMaxNumber(maxProp) ? maxProp : DEFAULT_MAX;
147
+ var value = isValidValueNumber(valueProp, max) ? Math.round(valueProp) : null;
148
+ var valueLabel = isNumber(value) ? getValueLabel(value, max) : void 0;
149
+ var [width, setWidth] = (0, import_react.useState)(0);
150
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressProvider, {
151
+ scope: __scopeProgress,
152
+ value,
153
+ max,
154
+ width,
155
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ProgressFrame, {
156
+ "aria-valuemax": max,
157
+ "aria-valuemin": 0,
158
+ "aria-valuenow": isNumber(value) ? value : void 0,
159
+ "aria-valuetext": valueLabel,
160
+ // @ts-ignore
161
+ role: "progressbar",
162
+ "data-state": getProgressState(value, max),
163
+ "data-value": value !== null && value !== void 0 ? value : void 0,
164
+ "data-max": max,
165
+ ...(progressProps.unstyled !== true && {
166
+ size
167
+ }),
168
+ ...progressProps,
169
+ ...(!import_core.isWeb && {
170
+ onLayout: function (e) {
171
+ var _progressProps_onLayout;
172
+ var newWidth = Math.round(e.nativeEvent.layout.width);
173
+ if (newWidth !== width) {
174
+ setWidth(newWidth);
170
175
  }
171
- }),
172
- ref: forwardedRef
173
- })
174
- });
175
- }), {
176
- Indicator: ProgressIndicator
176
+ (_progressProps_onLayout = progressProps.onLayout) === null || _progressProps_onLayout === void 0 ? void 0 : _progressProps_onLayout.call(progressProps, e);
177
+ }
178
+ }),
179
+ ref: forwardedRef
180
+ })
177
181
  });
182
+ }), {
183
+ Indicator: ProgressIndicator
184
+ });
178
185
  //# sourceMappingURL=Progress.native.js.map