@tamagui/spinner 2.7.7 → 3.0.0-beta.1091.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,51 +1,86 @@
1
+ var __create = Object.create;
1
2
  var __defProp = Object.defineProperty;
2
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
4
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  var __export = (target, all) => {
6
- for (var name in all) __defProp(target, name, {
7
- get: all[name],
8
- enumerable: true
9
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
10
12
  };
11
13
  var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: () => from[key],
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
19
21
  };
20
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
21
- value: true
22
- }), mod);
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
23
+ value: mod,
24
+ enumerable: true
25
+ }) : target, mod));
26
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
27
  var Spinner_exports = {};
24
- __export(Spinner_exports, {
25
- Spinner: () => Spinner
26
- });
28
+ __export(Spinner_exports, { Spinner: () => Spinner });
27
29
  module.exports = __toCommonJS(Spinner_exports);
28
30
  var import_core = require("@tamagui/core");
29
31
  var import_stacks = require("@tamagui/stacks");
30
- var import_react_native = require("react-native-web");
32
+ var React = __toESM(require("react"), 1);
31
33
  var import_jsx_runtime = require("react/jsx-runtime");
32
- const Spinner = import_stacks.YStack.styleable((props, ref) => {
33
- const {
34
- size,
35
- color: colorProp,
36
- ...stackProps
37
- } = props;
38
- const theme = (0, import_core.useTheme)();
39
- let color = colorProp;
40
- if (color && color[0] === "$") {
41
- color = (0, import_core.variableToString)(theme[color]);
42
- }
43
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
44
- ref,
45
- ...stackProps,
46
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
47
- size,
48
- color
49
- })
50
- });
51
- });
34
+ const sizes = {
35
+ small: 20,
36
+ large: 36
37
+ };
38
+ const Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, (props, ref) => {
39
+ const { size = "small", color: colorProp, ...stackProps } = props;
40
+ const theme = (0, import_core.useTheme)();
41
+ let color = colorProp || "#1976D2";
42
+ if (theme[color]) {
43
+ color = (0, import_core.variableToString)(theme[color]);
44
+ }
45
+ const svg = React.useRef(null);
46
+ React.useEffect(() => {
47
+ const animation = svg.current?.animate([{ transform: "rotate(0deg)" }, { transform: "rotate(360deg)" }], {
48
+ duration: 750,
49
+ iterations: Number.POSITIVE_INFINITY,
50
+ easing: "linear"
51
+ });
52
+ return () => animation?.cancel();
53
+ }, []);
54
+ const px = sizes[size];
55
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
56
+ ref,
57
+ role: "progressbar",
58
+ alignItems: "center",
59
+ justifyContent: "center",
60
+ ...stackProps,
61
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("svg", {
62
+ ref: svg,
63
+ width: px,
64
+ height: px,
65
+ viewBox: "0 0 32 32",
66
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", {
67
+ cx: "16",
68
+ cy: "16",
69
+ r: "14",
70
+ fill: "none",
71
+ strokeWidth: "4",
72
+ stroke: color,
73
+ opacity: .2
74
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("circle", {
75
+ cx: "16",
76
+ cy: "16",
77
+ r: "14",
78
+ fill: "none",
79
+ strokeWidth: "4",
80
+ stroke: color,
81
+ strokeDasharray: 80,
82
+ strokeDashoffset: 60
83
+ })]
84
+ })
85
+ });
86
+ });
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var Spinner_native_exports = {};
24
+ __export(Spinner_native_exports, { Spinner: () => Spinner });
25
+ module.exports = __toCommonJS(Spinner_native_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_core = require("@tamagui/core");
28
+ var import_stacks = require("@tamagui/stacks");
29
+ var import_react_native = require("react-native");
30
+ var Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {
31
+ var { size, color: colorProp, ...stackProps } = props;
32
+ var theme = (0, import_core.useTheme)();
33
+ var color = colorProp;
34
+ if (color && theme[color]) {
35
+ color = (0, import_core.variableToString)(theme[color]);
36
+ }
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
38
+ ref,
39
+ ...stackProps,
40
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
41
+ size,
42
+ color
43
+ })
44
+ });
45
+ });
@@ -5,50 +5,43 @@ 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: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
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, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
21
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
25
- var Spinner_exports = {};
26
- __export(Spinner_exports, {
27
- Spinner: () => Spinner
28
- });
29
- module.exports = __toCommonJS(Spinner_exports);
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var Spinner_native_exports = {};
24
+ __export(Spinner_native_exports, { Spinner: () => Spinner });
25
+ module.exports = __toCommonJS(Spinner_native_exports);
30
26
  var import_jsx_runtime = require("react/jsx-runtime");
31
27
  var import_core = require("@tamagui/core");
32
28
  var import_stacks = require("@tamagui/stacks");
33
29
  var import_react_native = require("react-native");
34
- var Spinner = import_stacks.YStack.styleable(function (props, ref) {
35
- var {
36
- size,
37
- color: colorProp,
38
- ...stackProps
39
- } = props;
40
- var theme = (0, import_core.useTheme)();
41
- var color = colorProp;
42
- if (color && color[0] === "$") {
43
- color = (0, import_core.variableToString)(theme[color]);
44
- }
45
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
46
- ref,
47
- ...stackProps,
48
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
49
- size,
50
- color
51
- })
52
- });
30
+ var Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {
31
+ var { size, color: colorProp, ...stackProps } = props;
32
+ var theme = (0, import_core.useTheme)();
33
+ var color = colorProp;
34
+ if (color && theme[color]) {
35
+ color = (0, import_core.variableToString)(theme[color]);
36
+ }
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
38
+ ref,
39
+ ...stackProps,
40
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
41
+ size,
42
+ color
43
+ })
44
+ });
53
45
  });
46
+
54
47
  //# sourceMappingURL=Spinner.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","Spinner_exports","__export","Spinner","module","exports","import_jsx_runtime","require","import_core","import_stacks","import_react_native","YStack","styleable","props","ref","size","color","colorProp","stackProps","theme","useTheme","variableToString","jsx"],"sources":["../../src/Spinner.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,eAAA;AAAAC,QAAA,CAAAD,eAAA;EAAAE,OAAA,EAAAA,CAAA,KAAAA;AAAA;AACAC,MAAA,CAAAC,OAAA,GAAAT,YAA2C,CAAAK,eAAA;AAE3C,IAAAK,kBAAuB,GAAAC,OAAA;AAEvB,IAAAC,WAAA,GAAAD,OAAA,CAAkC;AAkB5B,IAAAE,aAAA,GAAAF,OAAA;AAXC,IAAAG,mBAEH,GAAAH,OAAA,eAAkB;AACpB,IAAAJ,OAAQ,GAAAM,aAAa,CAAAE,MAAW,CAAAC,SAAG,WAAeC,KAAA,EAAAC,GAAA;EAClD;IAAMC,IAAA;IAAAC,KAAA,EAAQC,SAAA;IAAA,GAAAC;EAAS,IAAAL,KAAA;EACvB,IAAIM,KAAA,GAAQ,IAAAX,WAAA,CAAAY,QAAA;EACZ,IAAIJ,KAAA,GAAAC,SAAgB;EAClB,IAAAD,KAAA,IAAAA,KAAQ;IACVA,KAAA,OAAAR,WAAA,CAAAa,gBAAA,EAAAF,KAAA,CAAAH,KAAA;EACA;EAKD,0BAAAV,kBAAA,CAAAgB,GAAA,EAAAb,aAAA,CAAAE,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"Spinner.native.js","names":[],"sources":["cjs/Spinner.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Spinner_native_exports = {};\n__export(Spinner_native_exports, {\n Spinner: () => Spinner\n});\nmodule.exports = __toCommonJS(Spinner_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_stacks = require(\"@tamagui/stacks\");\nvar import_react_native = require(\"react-native\");\nvar Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {\n var { size, color: colorProp, ...stackProps } = props;\n var theme = (0, import_core.useTheme)();\n var color = colorProp;\n if (color && theme[color]) {\n color = (0, import_core.variableToString)(theme[color]);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {\n ref,\n ...stackProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {\n size,\n color\n })\n });\n});\n//# sourceMappingURL=Spinner.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,yBAAyB,CAAC;AAC9B,SAAS,wBAAwB,EAC/B,eAAe,QACjB,CAAC;AACD,OAAO,UAAU,aAAa,sBAAsB;AACpD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,gBAAgB,QAAQ,iBAAiB;AAC7C,IAAI,sBAAsB,QAAQ,cAAc;AAChD,IAAI,WAAW,GAAG,YAAY,gBAAe,CAAE,cAAc,QAAQ,SAAS,OAAO,KAAK;CACxF,IAAI,EAAE,MAAM,OAAO,WAAW,GAAG,eAAe;CAChD,IAAI,SAAS,GAAG,YAAY,SAAQ,CAAE;CACtC,IAAI,QAAQ;CACZ,IAAI,SAAS,MAAM,QAAQ;EACzB,SAAS,GAAG,YAAY,iBAAgB,CAAE,MAAM,MAAM;CACxD;CACA,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,QAAQ;EACvE;EACA,GAAG;EACH,UAA0B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,oBAAoB,mBAAmB;GAC3F;GACA;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
@@ -3,18 +3,16 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
5
  var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
- get: () => from[key],
9
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
- });
11
- }
12
- return to;
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
8
+ get: () => from[key],
9
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
10
+ });
11
+ }
12
+ return to;
13
13
  };
14
14
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
16
- value: true
17
- }), mod);
15
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
16
  var index_exports = {};
19
17
  module.exports = __toCommonJS(index_exports);
20
- __reExport(index_exports, require("./Spinner.cjs"), module.exports);
18
+ __reExport(index_exports, require("./Spinner.cjs"), module.exports);
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var index_exports = {};
19
+ module.exports = __toCommonJS(index_exports);
20
+ __reExport(index_exports, require("./Spinner.native.js"), module.exports);
@@ -5,19 +5,18 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
- get: () => from[key],
11
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
- });
13
- }
14
- return to;
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
15
  };
16
16
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
- value: true
19
- }), mod);
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
18
  var index_exports = {};
21
19
  module.exports = __toCommonJS(index_exports);
22
20
  __reExport(index_exports, require("./Spinner.native.js"), module.exports);
21
+
23
22
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","index_exports","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,aAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAP,YAAc,CAAAK,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["cjs/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"./Spinner\"), module.exports);\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,cAAc,QAAQ,KAAK,kBAAkB,YAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgB,YAAY,cAAc,KAAK,SAAS;AAC9I,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gBAAgB,CAAC;AACrB,OAAO,UAAU,aAAa,aAAa;AAC3C,WAAW,eAAe,QAAQ,qBAAW,GAAG,OAAO,OAAO"}
@@ -1,26 +1,61 @@
1
- import { useTheme, variableToString } from "@tamagui/core";
1
+ import { createStyledHOC, useTheme, variableToString } from "@tamagui/core";
2
2
  import { YStack } from "@tamagui/stacks";
3
- import { ActivityIndicator } from "react-native-web";
4
- import { jsx } from "react/jsx-runtime";
5
- const Spinner = YStack.styleable((props, ref) => {
6
- const {
7
- size,
8
- color: colorProp,
9
- ...stackProps
10
- } = props;
11
- const theme = useTheme();
12
- let color = colorProp;
13
- if (color && color[0] === "$") {
14
- color = variableToString(theme[color]);
15
- }
16
- return /* @__PURE__ */jsx(YStack, {
17
- ref,
18
- ...stackProps,
19
- children: /* @__PURE__ */jsx(ActivityIndicator, {
20
- size,
21
- color
22
- })
23
- });
3
+ import * as React from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ const sizes = {
7
+ small: 20,
8
+ large: 36
9
+ };
10
+ const Spinner = createStyledHOC(YStack, (props, ref) => {
11
+ const { size = "small", color: colorProp, ...stackProps } = props;
12
+ const theme = useTheme();
13
+ let color = colorProp || "#1976D2";
14
+ if (theme[color]) {
15
+ color = variableToString(theme[color]);
16
+ }
17
+ const svg = React.useRef(null);
18
+ React.useEffect(() => {
19
+ const animation = svg.current?.animate([{ transform: "rotate(0deg)" }, { transform: "rotate(360deg)" }], {
20
+ duration: 750,
21
+ iterations: Number.POSITIVE_INFINITY,
22
+ easing: "linear"
23
+ });
24
+ return () => animation?.cancel();
25
+ }, []);
26
+ const px = sizes[size];
27
+ return /* @__PURE__ */ jsx(YStack, {
28
+ ref,
29
+ role: "progressbar",
30
+ alignItems: "center",
31
+ justifyContent: "center",
32
+ ...stackProps,
33
+ children: /* @__PURE__ */ jsxs("svg", {
34
+ ref: svg,
35
+ width: px,
36
+ height: px,
37
+ viewBox: "0 0 32 32",
38
+ children: [/* @__PURE__ */ jsx("circle", {
39
+ cx: "16",
40
+ cy: "16",
41
+ r: "14",
42
+ fill: "none",
43
+ strokeWidth: "4",
44
+ stroke: color,
45
+ opacity: .2
46
+ }), /* @__PURE__ */ jsx("circle", {
47
+ cx: "16",
48
+ cy: "16",
49
+ r: "14",
50
+ fill: "none",
51
+ strokeWidth: "4",
52
+ stroke: color,
53
+ strokeDasharray: 80,
54
+ strokeDashoffset: 60
55
+ })]
56
+ })
57
+ });
24
58
  });
59
+
25
60
  export { Spinner };
26
61
  //# sourceMappingURL=Spinner.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useTheme","variableToString","YStack","ActivityIndicator","jsx","Spinner","styleable","props","ref","size","color","colorProp","stackProps","theme","children"],"sources":["../../src/Spinner.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,QAAA,EAAUC,gBAAA,QAAwB;AAE3C,SAASC,MAAA,QAAc;AAEvB,SAASC,iBAAA,QAAyB;AAkB5B,SAAAC,GAAA;AAXC,MAAMC,OAAA,GAETH,MAAA,CAAOI,SAAA,CAAU,CAACC,KAAA,EAAqBC,GAAA,KAAQ;EACjD,MAAM;IAAEC,IAAA;IAAMC,KAAA,EAAOC,SAAA;IAAW,GAAGC;EAAW,IAAIL,KAAA;EAClD,MAAMM,KAAA,GAAQb,QAAA,CAAS;EACvB,IAAIU,KAAA,GAAQC,SAAA;EACZ,IAAID,KAAA,IAASA,KAAA,CAAM,CAAC,MAAM,KAAK;IAC7BA,KAAA,GAAQT,gBAAA,CAAiBY,KAAA,CAAMH,KAAK,CAAC;EACvC;EACA,OACE,eAAAN,GAAA,CAACF,MAAA;IAAOM,GAAA;IAAW,GAAGI,UAAA;IACpBE,QAAA,iBAAAV,GAAA,CAACD,iBAAA;MAAkBM,IAAA;MAAYC;IAAA,CAAc;EAAA,CAC/C;AAEJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Spinner.js","names":[],"sources":["esm/Spinner.js"],"sourcesContent":["import { createStyledHOC, useTheme, variableToString } from \"@tamagui/core\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst sizes = {\n small: 20,\n large: 36\n};\nconst Spinner = createStyledHOC(YStack, (props, ref) => {\n const { size = \"small\", color: colorProp, ...stackProps } = props;\n const theme = useTheme();\n let color = colorProp || \"#1976D2\";\n if (theme[color]) {\n color = variableToString(theme[color]);\n }\n const svg = React.useRef(null);\n React.useEffect(() => {\n const animation = svg.current?.animate(\n [{ transform: \"rotate(0deg)\" }, { transform: \"rotate(360deg)\" }],\n { duration: 750, iterations: Number.POSITIVE_INFINITY, easing: \"linear\" }\n );\n return () => animation?.cancel();\n }, []);\n const px = sizes[size];\n return /* @__PURE__ */ jsx(\n YStack,\n {\n ref,\n role: \"progressbar\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...stackProps,\n children: /* @__PURE__ */ jsxs(\"svg\", { ref: svg, width: px, height: px, viewBox: \"0 0 32 32\", children: [\n /* @__PURE__ */ jsx(\n \"circle\",\n {\n cx: \"16\",\n cy: \"16\",\n r: \"14\",\n fill: \"none\",\n strokeWidth: \"4\",\n stroke: color,\n opacity: 0.2\n }\n ),\n /* @__PURE__ */ jsx(\n \"circle\",\n {\n cx: \"16\",\n cy: \"16\",\n r: \"14\",\n fill: \"none\",\n strokeWidth: \"4\",\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }\n )\n ] })\n }\n );\n});\nexport {\n Spinner\n};\n//# sourceMappingURL=Spinner.js.map\n"],"mappings":";;;;;;AAIA,MAAM,QAAQ;CACZ,OAAO;CACP,OAAO;AACT;AACA,MAAM,UAAU,gBAAgB,SAAS,OAAO,QAAQ;CACtD,MAAM,EAAE,OAAO,SAAS,OAAO,WAAW,GAAG,eAAe;CAC5D,MAAM,QAAQ,SAAS;CACvB,IAAI,QAAQ,aAAa;CACzB,IAAI,MAAM,QAAQ;EAChB,QAAQ,iBAAiB,MAAM,MAAM;CACvC;CACA,MAAM,MAAM,MAAM,OAAO,IAAI;CAC7B,MAAM,gBAAgB;EACpB,MAAM,YAAY,IAAI,SAAS,QAC7B,CAAC,EAAE,WAAW,eAAe,GAAG,EAAE,WAAW,iBAAiB,CAAC,GAC/D;GAAE,UAAU;GAAK,YAAY,OAAO;GAAmB,QAAQ;EAAS,CAC1E;EACA,aAAa,WAAW,OAAO;CACjC,GAAG,CAAC,CAAC;CACL,MAAM,KAAK,MAAM;CACjB,OAAuB,oBACrB,QACA;EACE;EACA,MAAM;EACN,YAAY;EACZ,gBAAgB;EAChB,GAAG;EACH,UAA0B,qBAAK,OAAO;GAAE,KAAK;GAAK,OAAO;GAAI,QAAQ;GAAI,SAAS;GAAa,UAAU,CACvF,oBACd,UACA;IACE,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,MAAM;IACN,aAAa;IACb,QAAQ;IACR,SAAS;GACX,CACF,GACgB,oBACd,UACA;IACE,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,MAAM;IACN,aAAa;IACb,QAAQ;IACR,iBAAiB;IACjB,kBAAkB;GACpB,CACF,CACF;EAAE,CAAC;CACL,CACF;AACF,CAAC"}
@@ -1,26 +1,24 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useTheme, variableToString } from "@tamagui/core";
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { createStyledHOC, useTheme, variableToString } from "@tamagui/core";
3
3
  import { YStack } from "@tamagui/stacks";
4
4
  import { ActivityIndicator } from "react-native";
5
- var Spinner = YStack.styleable(function (props, ref) {
6
- var {
7
- size,
8
- color: colorProp,
9
- ...stackProps
10
- } = props;
11
- var theme = useTheme();
12
- var color = colorProp;
13
- if (color && color[0] === "$") {
14
- color = variableToString(theme[color]);
15
- }
16
- return /* @__PURE__ */_jsx(YStack, {
17
- ref,
18
- ...stackProps,
19
- children: /* @__PURE__ */_jsx(ActivityIndicator, {
20
- size,
21
- color
22
- })
23
- });
5
+
6
+ var Spinner = createStyledHOC(YStack, function(props, ref) {
7
+ var { size, color: colorProp, ...stackProps } = props;
8
+ var theme = useTheme();
9
+ var color = colorProp;
10
+ if (color && theme[color]) {
11
+ color = variableToString(theme[color]);
12
+ }
13
+ return /* @__PURE__ */ jsx(YStack, {
14
+ ref,
15
+ ...stackProps,
16
+ children: /* @__PURE__ */ jsx(ActivityIndicator, {
17
+ size,
18
+ color
19
+ })
20
+ });
24
21
  });
22
+
25
23
  export { Spinner };
26
24
  //# sourceMappingURL=Spinner.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["jsx","_jsx","useTheme","variableToString","YStack","ActivityIndicator","Spinner","styleable","props","ref","size","color","colorProp","stackProps","theme"],"sources":["../../src/Spinner.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,GAAA,IAAAC,IAAU,2BAAwB;AAE3C,SAASC,QAAA,EAAAC,gBAAc;AAEvB,SAASC,MAAA,yBAAyB;AAkB5B,SAAAC,iBAAA;AAXC,IAAAC,OAAM,GAAAF,MAET,CAAAG,SAAO,WAAWC,KAAqB,EAAAC,GAAQ;EACjD;IAAMC,IAAE;IAAAC,KAAM,EAAAC,SAAO;IAAA,GAAWC;EAAG,IAAWL,KAAI;EAClD,IAAAM,KAAM,GAAAZ,QAAQ;EACd,IAAIS,KAAA,GAAQC,SAAA;EACZ,IAAID,KAAA,IAASA,KAAA,CAAM,CAAC,MAAM,KAAK;IAC7BA,KAAA,GAAQR,gBAAA,CAAiBW,KAAA,CAAMH,KAAK,CAAC;EACvC;EACA,OACE,eAAAV,IAAC,CAAAG,MAAA;IAIJK,GAAA","ignoreList":[]}
1
+ {"version":3,"file":"Spinner.native.js","names":[],"sources":["esm/Spinner.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { createStyledHOC, useTheme, variableToString } from \"@tamagui/core\";\nimport { YStack } from \"@tamagui/stacks\";\nimport { ActivityIndicator } from \"react-native\";\nvar Spinner = createStyledHOC(YStack, function(props, ref) {\n var { size, color: colorProp, ...stackProps } = props;\n var theme = useTheme();\n var color = colorProp;\n if (color && theme[color]) {\n color = variableToString(theme[color]);\n }\n return /* @__PURE__ */ _jsx(YStack, {\n ref,\n ...stackProps,\n children: /* @__PURE__ */ _jsx(ActivityIndicator, {\n size,\n color\n })\n });\n});\nexport {\n Spinner\n};\n//# sourceMappingURL=Spinner.native.js.map\n"],"mappings":";;;;;;AAIA,IAAI,UAAU,gBAAgB,QAAQ,SAAS,OAAO,KAAK;CACzD,IAAI,EAAE,MAAM,OAAO,WAAW,GAAG,eAAe;CAChD,IAAI,QAAQ,SAAS;CACrB,IAAI,QAAQ;CACZ,IAAI,SAAS,MAAM,QAAQ;EACzB,QAAQ,iBAAiB,MAAM,MAAM;CACvC;CACA,OAAuB,oBAAK,QAAQ;EAClC;EACA,GAAG;EACH,UAA0B,oBAAK,mBAAmB;GAChD;GACA;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./Spinner.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./Spinner.mjs"
@@ -1,2 +1 @@
1
- export * from "./Spinner.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./Spinner.mjs"
@@ -1,2 +1 @@
1
- export * from "./Spinner.native.js";
2
- //# sourceMappingURL=index.native.js.map
1
+ export * from "./Spinner.native.js"
@@ -1,26 +1,61 @@
1
- import { useTheme, variableToString } from "@tamagui/core";
1
+ import { createStyledHOC, useTheme, variableToString } from "@tamagui/core";
2
2
  import { YStack } from "@tamagui/stacks";
3
- import { ActivityIndicator } from "react-native-web";
4
- import { jsx } from "react/jsx-runtime";
5
- const Spinner = YStack.styleable((props, ref) => {
6
- const {
7
- size,
8
- color: colorProp,
9
- ...stackProps
10
- } = props;
11
- const theme = useTheme();
12
- let color = colorProp;
13
- if (color && color[0] === "$") {
14
- color = variableToString(theme[color]);
15
- }
16
- return /* @__PURE__ */jsx(YStack, {
17
- ref,
18
- ...stackProps,
19
- children: /* @__PURE__ */jsx(ActivityIndicator, {
20
- size,
21
- color
22
- })
23
- });
3
+ import * as React from "react";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+
6
+ const sizes = {
7
+ small: 20,
8
+ large: 36
9
+ };
10
+ const Spinner = createStyledHOC(YStack, (props, ref) => {
11
+ const { size = "small", color: colorProp, ...stackProps } = props;
12
+ const theme = useTheme();
13
+ let color = colorProp || "#1976D2";
14
+ if (theme[color]) {
15
+ color = variableToString(theme[color]);
16
+ }
17
+ const svg = React.useRef(null);
18
+ React.useEffect(() => {
19
+ const animation = svg.current?.animate([{ transform: "rotate(0deg)" }, { transform: "rotate(360deg)" }], {
20
+ duration: 750,
21
+ iterations: Number.POSITIVE_INFINITY,
22
+ easing: "linear"
23
+ });
24
+ return () => animation?.cancel();
25
+ }, []);
26
+ const px = sizes[size];
27
+ return /* @__PURE__ */ jsx(YStack, {
28
+ ref,
29
+ role: "progressbar",
30
+ alignItems: "center",
31
+ justifyContent: "center",
32
+ ...stackProps,
33
+ children: /* @__PURE__ */ jsxs("svg", {
34
+ ref: svg,
35
+ width: px,
36
+ height: px,
37
+ viewBox: "0 0 32 32",
38
+ children: [/* @__PURE__ */ jsx("circle", {
39
+ cx: "16",
40
+ cy: "16",
41
+ r: "14",
42
+ fill: "none",
43
+ strokeWidth: "4",
44
+ stroke: color,
45
+ opacity: .2
46
+ }), /* @__PURE__ */ jsx("circle", {
47
+ cx: "16",
48
+ cy: "16",
49
+ r: "14",
50
+ fill: "none",
51
+ strokeWidth: "4",
52
+ stroke: color,
53
+ strokeDasharray: 80,
54
+ strokeDashoffset: 60
55
+ })]
56
+ })
57
+ });
24
58
  });
59
+
25
60
  export { Spinner };
26
61
  //# sourceMappingURL=Spinner.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["useTheme","variableToString","YStack","ActivityIndicator","jsx","Spinner","styleable","props","ref","size","color","colorProp","stackProps","theme","children"],"sources":["../../src/Spinner.tsx"],"sourcesContent":[null],"mappings":"AACA,SAASA,QAAA,EAAUC,gBAAA,QAAwB;AAE3C,SAASC,MAAA,QAAc;AAEvB,SAASC,iBAAA,QAAyB;AAkB5B,SAAAC,GAAA;AAXC,MAAMC,OAAA,GAETH,MAAA,CAAOI,SAAA,CAAU,CAACC,KAAA,EAAqBC,GAAA,KAAQ;EACjD,MAAM;IAAEC,IAAA;IAAMC,KAAA,EAAOC,SAAA;IAAW,GAAGC;EAAW,IAAIL,KAAA;EAClD,MAAMM,KAAA,GAAQb,QAAA,CAAS;EACvB,IAAIU,KAAA,GAAQC,SAAA;EACZ,IAAID,KAAA,IAASA,KAAA,CAAM,CAAC,MAAM,KAAK;IAC7BA,KAAA,GAAQT,gBAAA,CAAiBY,KAAA,CAAMH,KAAK,CAAC;EACvC;EACA,OACE,eAAAN,GAAA,CAACF,MAAA;IAAOM,GAAA;IAAW,GAAGI,UAAA;IACpBE,QAAA,iBAAAV,GAAA,CAACD,iBAAA;MAAkBM,IAAA;MAAYC;IAAA,CAAc;EAAA,CAC/C;AAEJ,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Spinner.js","names":[],"sources":["jsx/Spinner.js"],"sourcesContent":["import { createStyledHOC, useTheme, variableToString } from \"@tamagui/core\";\nimport { YStack } from \"@tamagui/stacks\";\nimport * as React from \"react\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nconst sizes = {\n small: 20,\n large: 36\n};\nconst Spinner = createStyledHOC(YStack, (props, ref) => {\n const { size = \"small\", color: colorProp, ...stackProps } = props;\n const theme = useTheme();\n let color = colorProp || \"#1976D2\";\n if (theme[color]) {\n color = variableToString(theme[color]);\n }\n const svg = React.useRef(null);\n React.useEffect(() => {\n const animation = svg.current?.animate(\n [{ transform: \"rotate(0deg)\" }, { transform: \"rotate(360deg)\" }],\n { duration: 750, iterations: Number.POSITIVE_INFINITY, easing: \"linear\" }\n );\n return () => animation?.cancel();\n }, []);\n const px = sizes[size];\n return /* @__PURE__ */ jsx(\n YStack,\n {\n ref,\n role: \"progressbar\",\n alignItems: \"center\",\n justifyContent: \"center\",\n ...stackProps,\n children: /* @__PURE__ */ jsxs(\"svg\", { ref: svg, width: px, height: px, viewBox: \"0 0 32 32\", children: [\n /* @__PURE__ */ jsx(\n \"circle\",\n {\n cx: \"16\",\n cy: \"16\",\n r: \"14\",\n fill: \"none\",\n strokeWidth: \"4\",\n stroke: color,\n opacity: 0.2\n }\n ),\n /* @__PURE__ */ jsx(\n \"circle\",\n {\n cx: \"16\",\n cy: \"16\",\n r: \"14\",\n fill: \"none\",\n strokeWidth: \"4\",\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }\n )\n ] })\n }\n );\n});\nexport {\n Spinner\n};\n//# sourceMappingURL=Spinner.js.map\n"],"mappings":";;;;;;AAIA,MAAM,QAAQ;CACZ,OAAO;CACP,OAAO;AACT;AACA,MAAM,UAAU,gBAAgB,SAAS,OAAO,QAAQ;CACtD,MAAM,EAAE,OAAO,SAAS,OAAO,WAAW,GAAG,eAAe;CAC5D,MAAM,QAAQ,SAAS;CACvB,IAAI,QAAQ,aAAa;CACzB,IAAI,MAAM,QAAQ;EAChB,QAAQ,iBAAiB,MAAM,MAAM;CACvC;CACA,MAAM,MAAM,MAAM,OAAO,IAAI;CAC7B,MAAM,gBAAgB;EACpB,MAAM,YAAY,IAAI,SAAS,QAC7B,CAAC,EAAE,WAAW,eAAe,GAAG,EAAE,WAAW,iBAAiB,CAAC,GAC/D;GAAE,UAAU;GAAK,YAAY,OAAO;GAAmB,QAAQ;EAAS,CAC1E;EACA,aAAa,WAAW,OAAO;CACjC,GAAG,CAAC,CAAC;CACL,MAAM,KAAK,MAAM;CACjB,OAAuB,oBACrB,QACA;EACE;EACA,MAAM;EACN,YAAY;EACZ,gBAAgB;EAChB,GAAG;EACH,UAA0B,qBAAK,OAAO;GAAE,KAAK;GAAK,OAAO;GAAI,QAAQ;GAAI,SAAS;GAAa,UAAU,CACvF,oBACd,UACA;IACE,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,MAAM;IACN,aAAa;IACb,QAAQ;IACR,SAAS;GACX,CACF,GACgB,oBACd,UACA;IACE,IAAI;IACJ,IAAI;IACJ,GAAG;IACH,MAAM;IACN,aAAa;IACb,QAAQ;IACR,iBAAiB;IACjB,kBAAkB;GACpB,CACF,CACF;EAAE,CAAC;CACL,CACF;AACF,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var Spinner_native_exports = {};
24
+ __export(Spinner_native_exports, { Spinner: () => Spinner });
25
+ module.exports = __toCommonJS(Spinner_native_exports);
26
+ var import_jsx_runtime = require("react/jsx-runtime");
27
+ var import_core = require("@tamagui/core");
28
+ var import_stacks = require("@tamagui/stacks");
29
+ var import_react_native = require("react-native");
30
+ var Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {
31
+ var { size, color: colorProp, ...stackProps } = props;
32
+ var theme = (0, import_core.useTheme)();
33
+ var color = colorProp;
34
+ if (color && theme[color]) {
35
+ color = (0, import_core.variableToString)(theme[color]);
36
+ }
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
38
+ ref,
39
+ ...stackProps,
40
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
41
+ size,
42
+ color
43
+ })
44
+ });
45
+ });
@@ -5,50 +5,43 @@ 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: true
11
- });
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
12
  };
13
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, {
16
- get: () => from[key],
17
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
- });
19
- }
20
- return to;
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, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
21
  };
22
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
- value: true
24
- }), mod);
25
- var Spinner_exports = {};
26
- __export(Spinner_exports, {
27
- Spinner: () => Spinner
28
- });
29
- module.exports = __toCommonJS(Spinner_exports);
22
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
+ var Spinner_native_exports = {};
24
+ __export(Spinner_native_exports, { Spinner: () => Spinner });
25
+ module.exports = __toCommonJS(Spinner_native_exports);
30
26
  var import_jsx_runtime = require("react/jsx-runtime");
31
27
  var import_core = require("@tamagui/core");
32
28
  var import_stacks = require("@tamagui/stacks");
33
29
  var import_react_native = require("react-native");
34
- var Spinner = import_stacks.YStack.styleable(function (props, ref) {
35
- var {
36
- size,
37
- color: colorProp,
38
- ...stackProps
39
- } = props;
40
- var theme = (0, import_core.useTheme)();
41
- var color = colorProp;
42
- if (color && color[0] === "$") {
43
- color = (0, import_core.variableToString)(theme[color]);
44
- }
45
- return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_stacks.YStack, {
46
- ref,
47
- ...stackProps,
48
- children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
49
- size,
50
- color
51
- })
52
- });
30
+ var Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {
31
+ var { size, color: colorProp, ...stackProps } = props;
32
+ var theme = (0, import_core.useTheme)();
33
+ var color = colorProp;
34
+ if (color && theme[color]) {
35
+ color = (0, import_core.variableToString)(theme[color]);
36
+ }
37
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {
38
+ ref,
39
+ ...stackProps,
40
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {
41
+ size,
42
+ color
43
+ })
44
+ });
53
45
  });
46
+
54
47
  //# sourceMappingURL=Spinner.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call"],"sources":["../../src/Spinner.tsx"],"sourcesContent":[null],"mappings":"AACA,YAAS;;AAET,IAAAA,SAAS,GAAAC,MAAA,CAAcC,cAAA;AAEvB,IAAAC,gBAAS,GAAAF,MAAA,CAAAG,wBAAyB;AAkB5B,IAAAC,iBAAA,GAAAJ,MAAA,CAAAK,mBAAA;AAXC,IAAAC,YAEH,GAAAN,MAAO,CAAAO,SAAW,CAAAC,cAA6B;AACjD,IAAAC,QAAQ,GAAAA,CAAMC,MAAA,EAAOC,GAAA;EACrB,SAAMC,IAAA,IAAQD,GAAA,EACdZ,SAAI,CAAQW,MAAA,EAAAE,IAAA;IAAAC,GAAA,EAAAF,GAAA,CAAAC,IAAA;IAAAE,UAAA;EAAA;AACZ;AACE,IAAAC,WAAQ,GAAAA,CAAAC,EAAA,EAAAC,IAAA,EAAiBC,MAAM,EAAAC,IAAM;EACvC,IAAAF,IAAA,WAAAA,IAAA,wBAAAA,IAAA;IACA,KACE,IAAAG,GAAA,IAAAhB,iBAAC,CAAAa,IAAO,GAIX,KAAAX,YAAA,CAAAe,IAAA,CAAAL,EAAA,EAAAI,GAAA,KAAAA,GAAA,KAAAF,MAAA,E","ignoreList":[]}
1
+ {"version":3,"file":"Spinner.native.js","names":[],"sources":["jsx/Spinner.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar Spinner_native_exports = {};\n__export(Spinner_native_exports, {\n Spinner: () => Spinner\n});\nmodule.exports = __toCommonJS(Spinner_native_exports);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar import_core = require(\"@tamagui/core\");\nvar import_stacks = require(\"@tamagui/stacks\");\nvar import_react_native = require(\"react-native\");\nvar Spinner = (0, import_core.createStyledHOC)(import_stacks.YStack, function(props, ref) {\n var { size, color: colorProp, ...stackProps } = props;\n var theme = (0, import_core.useTheme)();\n var color = colorProp;\n if (color && theme[color]) {\n color = (0, import_core.variableToString)(theme[color]);\n }\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_stacks.YStack, {\n ref,\n ...stackProps,\n children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_native.ActivityIndicator, {\n size,\n color\n })\n });\n});\n//# sourceMappingURL=Spinner.native.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,yBAAyB,CAAC;AAC9B,SAAS,wBAAwB,EAC/B,eAAe,QACjB,CAAC;AACD,OAAO,UAAU,aAAa,sBAAsB;AACpD,IAAI,qBAAqB,QAAQ,mBAAmB;AACpD,IAAI,cAAc,QAAQ,eAAe;AACzC,IAAI,gBAAgB,QAAQ,iBAAiB;AAC7C,IAAI,sBAAsB,QAAQ,cAAc;AAChD,IAAI,WAAW,GAAG,YAAY,gBAAe,CAAE,cAAc,QAAQ,SAAS,OAAO,KAAK;CACxF,IAAI,EAAE,MAAM,OAAO,WAAW,GAAG,eAAe;CAChD,IAAI,SAAS,GAAG,YAAY,SAAQ,CAAE;CACtC,IAAI,QAAQ;CACZ,IAAI,SAAS,MAAM,QAAQ;EACzB,SAAS,GAAG,YAAY,iBAAgB,CAAE,MAAM,MAAM;CACxD;CACA,OAAuB,iBAAC,GAAG,mBAAmB,IAAG,CAAE,cAAc,QAAQ;EACvE;EACA,GAAG;EACH,UAA0B,iBAAC,GAAG,mBAAmB,IAAG,CAAE,oBAAoB,mBAAmB;GAC3F;GACA;EACF,CAAC;CACH,CAAC;AACH,CAAC"}
package/dist/jsx/index.js CHANGED
@@ -1,2 +1 @@
1
- export * from "./Spinner.mjs";
2
- //# sourceMappingURL=index.js.map
1
+ export * from "./Spinner.mjs"
@@ -1,2 +1 @@
1
- export * from "./Spinner.mjs";
2
- //# sourceMappingURL=index.mjs.map
1
+ export * from "./Spinner.mjs"
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
+ };
16
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var index_exports = {};
19
+ module.exports = __toCommonJS(index_exports);
20
+ __reExport(index_exports, require("./Spinner.native.js"), module.exports);
@@ -5,19 +5,18 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
7
  var __copyProps = (to, from, except, desc) => {
8
- if (from && typeof from === "object" || typeof from === "function") {
9
- for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
- get: () => from[key],
11
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
- });
13
- }
14
- return to;
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
10
+ get: () => from[key],
11
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
12
+ });
13
+ }
14
+ return to;
15
15
  };
16
16
  var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
17
- var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
18
- value: true
19
- }), mod);
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
18
  var index_exports = {};
21
19
  module.exports = __toCommonJS(index_exports);
22
20
  __reExport(index_exports, require("./Spinner.native.js"), module.exports);
21
+
23
22
  //# sourceMappingURL=index.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.native.js","names":[],"sources":["jsx/index.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, \"default\"), secondTarget && __copyProps(secondTarget, mod, \"default\"));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar index_exports = {};\nmodule.exports = __toCommonJS(index_exports);\n__reExport(index_exports, require(\"./Spinner\"), module.exports);\n//# sourceMappingURL=index.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,cAAc,QAAQ,KAAK,kBAAkB,YAAY,QAAQ,KAAK,SAAS,GAAG,gBAAgB,YAAY,cAAc,KAAK,SAAS;AAC9I,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gBAAgB,CAAC;AACrB,OAAO,UAAU,aAAa,aAAa;AAC3C,WAAW,eAAe,QAAQ,qBAAW,GAAG,OAAO,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@tamagui/spinner",
3
- "version": "2.7.7",
3
+ "version": "3.0.0-beta.1091.1",
4
+ "license": "MIT",
4
5
  "source": "src/index.ts",
5
6
  "files": [
6
7
  "src",
@@ -34,16 +35,17 @@
34
35
  "clean:build": "tamagui-build clean:build"
35
36
  },
36
37
  "dependencies": {
37
- "@tamagui/core": "2.7.7",
38
- "@tamagui/stacks": "2.7.7"
38
+ "@tamagui/core": "3.0.0-beta.1091.1",
39
+ "@tamagui/stacks": "3.0.0-beta.1091.1"
39
40
  },
40
41
  "devDependencies": {
41
- "@tamagui/build": "2.7.7",
42
- "react": ">=19",
43
- "react-native": "0.83.2"
42
+ "@tamagui/build": "3.0.0-beta.1091.1",
43
+ "react": "19.2.3",
44
+ "react-native": "0.86.2"
44
45
  },
45
46
  "peerDependencies": {
46
- "react": ">=19"
47
+ "react": ">=19",
48
+ "react-native-web": "*"
47
49
  },
48
50
  "module:jsx": "dist/jsx",
49
51
  "repository": {
@@ -0,0 +1,27 @@
1
+ import type { ColorTokens, ThemeTokens } from '@tamagui/core'
2
+ import { createStyledHOC, useTheme, variableToString } from '@tamagui/core'
3
+ import type { YStackProps } from '@tamagui/stacks'
4
+ import { YStack } from '@tamagui/stacks'
5
+ import { ActivityIndicator } from 'react-native'
6
+
7
+ type SpinnerExtraProps = {
8
+ size?: 'small' | 'large'
9
+ color?: (ColorTokens | ThemeTokens | (string & {})) | null
10
+ }
11
+
12
+ export type SpinnerProps = Omit<YStackProps, 'children' | keyof SpinnerExtraProps> &
13
+ SpinnerExtraProps
14
+
15
+ export const Spinner = createStyledHOC(YStack, (props: SpinnerProps, ref) => {
16
+ const { size, color: colorProp, ...stackProps } = props
17
+ const theme = useTheme()
18
+ let color = colorProp as string
19
+ if (color && theme[color]) {
20
+ color = variableToString(theme[color])
21
+ }
22
+ return (
23
+ <YStack ref={ref} {...stackProps}>
24
+ <ActivityIndicator size={size} color={color} />
25
+ </YStack>
26
+ )
27
+ })
package/src/Spinner.tsx CHANGED
@@ -1,27 +1,83 @@
1
1
  import type { ColorTokens, ThemeTokens } from '@tamagui/core'
2
- import { useTheme, variableToString } from '@tamagui/core'
2
+ import { createStyledHOC, useTheme, variableToString } from '@tamagui/core'
3
3
  import type { YStackProps } from '@tamagui/stacks'
4
4
  import { YStack } from '@tamagui/stacks'
5
- import type * as React from 'react'
6
- import { ActivityIndicator } from 'react-native'
5
+ import * as React from 'react'
7
6
 
8
- export type SpinnerProps = Omit<YStackProps, 'children'> & {
7
+ type SpinnerExtraProps = {
9
8
  size?: 'small' | 'large'
10
9
  color?: (ColorTokens | ThemeTokens | (string & {})) | null
11
10
  }
12
11
 
13
- export const Spinner: React.ForwardRefExoticComponent<
14
- SpinnerProps & React.RefAttributes<any>
15
- > = YStack.styleable((props: SpinnerProps, ref) => {
16
- const { size, color: colorProp, ...stackProps } = props
12
+ export type SpinnerProps = Omit<YStackProps, 'children' | keyof SpinnerExtraProps> &
13
+ SpinnerExtraProps
14
+
15
+ const sizes = {
16
+ small: 20,
17
+ large: 36,
18
+ }
19
+
20
+ /**
21
+ * The same two circles react-native-web draws, at the same sizes and the same
22
+ * 0.75s linear turn, so the web spinner looks like it always has without going
23
+ * through react-native.
24
+ *
25
+ * The turn is driven by the web animations api rather than a keyframe rule: a
26
+ * keyframe would have to reach a stylesheet this package does not own, and the
27
+ * compiled-CSS build strips the one place components can insert rules at
28
+ * runtime.
29
+ */
30
+ export const Spinner = createStyledHOC(YStack, (props: SpinnerProps, ref) => {
31
+ const { size = 'small', color: colorProp, ...stackProps } = props
17
32
  const theme = useTheme()
18
- let color = colorProp as string
19
- if (color && color[0] === '$') {
33
+ // svg's default stroke is `none`, so an unset color has to land on something.
34
+ // react-native-web's ActivityIndicator picks this same blue
35
+ let color = (colorProp as string) || '#1976D2'
36
+ if (theme[color]) {
20
37
  color = variableToString(theme[color])
21
38
  }
39
+
40
+ const svg = React.useRef<SVGSVGElement>(null)
41
+
42
+ React.useEffect(() => {
43
+ const animation = svg.current?.animate(
44
+ [{ transform: 'rotate(0deg)' }, { transform: 'rotate(360deg)' }],
45
+ { duration: 750, iterations: Number.POSITIVE_INFINITY, easing: 'linear' }
46
+ )
47
+ return () => animation?.cancel()
48
+ }, [])
49
+
50
+ const px = sizes[size]
51
+
22
52
  return (
23
- <YStack ref={ref} {...stackProps}>
24
- <ActivityIndicator size={size} color={color} />
53
+ <YStack
54
+ ref={ref}
55
+ role="progressbar"
56
+ alignItems="center"
57
+ justifyContent="center"
58
+ {...stackProps}
59
+ >
60
+ <svg ref={svg} width={px} height={px} viewBox="0 0 32 32">
61
+ <circle
62
+ cx="16"
63
+ cy="16"
64
+ r="14"
65
+ fill="none"
66
+ strokeWidth="4"
67
+ stroke={color}
68
+ opacity={0.2}
69
+ />
70
+ <circle
71
+ cx="16"
72
+ cy="16"
73
+ r="14"
74
+ fill="none"
75
+ strokeWidth="4"
76
+ stroke={color}
77
+ strokeDasharray={80}
78
+ strokeDashoffset={60}
79
+ />
80
+ </svg>
25
81
  </YStack>
26
82
  )
27
83
  })
@@ -1,9 +1,24 @@
1
1
  import type { ColorTokens, ThemeTokens } from '@tamagui/core';
2
2
  import type { YStackProps } from '@tamagui/stacks';
3
- import type * as React from 'react';
4
- export type SpinnerProps = Omit<YStackProps, 'children'> & {
3
+ type SpinnerExtraProps = {
5
4
  size?: 'small' | 'large';
6
5
  color?: (ColorTokens | ThemeTokens | (string & {})) | null;
7
6
  };
8
- export declare const Spinner: React.ForwardRefExoticComponent<SpinnerProps & React.RefAttributes<any>>;
7
+ export type SpinnerProps = Omit<YStackProps, 'children' | keyof SpinnerExtraProps> & SpinnerExtraProps;
8
+ /**
9
+ * The same two circles react-native-web draws, at the same sizes and the same
10
+ * 0.75s linear turn, so the web spinner looks like it always has without going
11
+ * through react-native.
12
+ *
13
+ * The turn is driven by the web animations api rather than a keyframe rule: a
14
+ * keyframe would have to reach a stylesheet this package does not own, and the
15
+ * compiled-CSS build strips the one place components can insert rules at
16
+ * runtime.
17
+ */
18
+ export declare const Spinner: import("@tamagui/core").TamaguiComponent<Omit<import("@tamagui/core").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
19
+ elevation?: number | false | import("@tamagui/core").Size | undefined;
20
+ }>, "accessibilityActions" | "accessibilityElementsHidden" | "accessibilityHint" | "accessibilityIgnoresInvertColors" | "accessibilityLabel" | "accessibilityLabelledBy" | "accessibilityLanguage" | "accessibilityLargeContentTitle" | "accessibilityLiveRegion" | "accessibilityRespondsToUserInteraction" | "accessibilityRole" | "accessibilityShowsLargeContentViewer" | "accessibilityState" | "accessibilityValue" | "accessibilityViewIsModal" | "accessible" | "alignContent" | "alignItems" | "alignSelf" | "animatePresence" | "animatedBy" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-hidden" | "aria-label" | "aria-labelledby" | "aria-live" | "aria-modal" | "aria-selected" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "asChild" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderBottomWidth" | "borderColor" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderEndWidth" | "borderImage" | "borderInline" | "borderInlineColor" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeftColor" | "borderLeftWidth" | "borderRadius" | "borderRightColor" | "borderRightWidth" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStartWidth" | "borderStyle" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "borderTopWidth" | "borderWidth" | "bottom" | "boxShadow" | "boxSizing" | "caretColor" | "className" | "clipPath" | "collapsable" | "collapsableChildren" | "columnGap" | "contain" | "container" | "containerName" | "containerType" | "cursor" | "dangerouslySetInnerHTML" | "debug" | "direction" | "disableClassName" | "disableNativeStyle" | "disableOptimization" | "disabled" | "display" | "download" | "elevation" | "elevationAndroid" | "end" | "experimental_backgroundImage" | "experimental_backgroundPosition" | "experimental_backgroundRepeat" | "experimental_backgroundSize" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "forceStyle" | "gap" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "group" | "hasTVPreferredFocus" | "height" | "hitSlop" | "htmlFor" | "id" | "importantForAccessibility" | "inlineSize" | "inset" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "isTVSelectable" | "isolation" | "justifyContent" | "left" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginEnd" | "marginHorizontal" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginStart" | "marginTop" | "marginVertical" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "matrix" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "name" | "nativeID" | "needsOffscreenAlphaCompositing" | "objectFit" | "onAccessibilityAction" | "onAccessibilityEscape" | "onAccessibilityTap" | "onBeforeInput" | "onBlur" | "onChange" | "onClick" | "onContextMenu" | "onCopy" | "onCut" | "onDoubleClick" | "onDrag" | "onDragEnd" | "onDragEnter" | "onDragLeave" | "onDragOver" | "onDragStart" | "onDrop" | "onFocus" | "onInput" | "onKeyDown" | "onKeyUp" | "onLayout" | "onLongPress" | "onMagicTap" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onMoveShouldSetResponder" | "onMoveShouldSetResponderCapture" | "onPaste" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPress" | "onPressIn" | "onPressOut" | "onResponderEnd" | "onResponderGrant" | "onResponderMove" | "onResponderReject" | "onResponderRelease" | "onResponderStart" | "onResponderTerminate" | "onResponderTerminationRequest" | "onScroll" | "onScrollShouldSetResponder" | "onScrollShouldSetResponderCapture" | "onSelectionChangeShouldSetResponder" | "onSelectionChangeShouldSetResponderCapture" | "onStartShouldSetResponder" | "onStartShouldSetResponderCapture" | "onTouchCancel" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchStart" | "onTransition" | "onWheel" | "opacity" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowBlock" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingEnd" | "paddingHorizontal" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingStart" | "paddingTop" | "paddingVertical" | "passThrough" | "perspective" | "pointerEvents" | "position" | "rel" | "removeClippedSubviews" | "render" | "renderToHardwareTextureAndroid" | "resize" | "right" | "role" | "rotate" | "rotateX" | "rotateY" | "rotateZ" | "rotation" | "rowGap" | "scale" | "scaleX" | "scaleY" | "screenReaderFocusable" | "shadowColor" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "shouldRasterizeIOS" | "skewX" | "skewY" | "start" | "style" | "tabIndex" | "target" | "testID" | "textEmphasis" | "textWrap" | "theme" | "themeShallow" | "top" | "transform" | "transformMatrix" | "transformOrigin" | "transformStyle" | "transition" | "translateX" | "translateY" | "tvParallaxMagnification" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "untilMeasured" | "userSelect" | "verticalAlign" | "visibility" | "width" | "wordWrap" | "x" | "y" | "zIndex" | keyof SpinnerExtraProps> & Omit<YStackProps, "children" | keyof SpinnerExtraProps> & SpinnerExtraProps, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps & Omit<YStackProps, "children" | keyof SpinnerExtraProps> & SpinnerExtraProps, import("@tamagui/core").StackStyleBase, {
21
+ elevation?: number | false | import("@tamagui/core").Size | undefined;
22
+ }, import("@tamagui/core").StaticConfigPublic>;
23
+ export {};
9
24
  //# sourceMappingURL=Spinner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../src/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAElD,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAA;AAGnC,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,CAAC,GAAG;IACzD,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,yBAAyB,CACnD,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAavC,CAAA"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../src/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIlD,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAChF,iBAAiB,CAAA;AAOnB;;;;;;;;;GASG;AACH,eAAO,MAAM,OAAO;;;;8CAqDlB,CAAA"}
@@ -0,0 +1,14 @@
1
+ import type { ColorTokens, ThemeTokens } from '@tamagui/core';
2
+ import type { YStackProps } from '@tamagui/stacks';
3
+ type SpinnerExtraProps = {
4
+ size?: 'small' | 'large';
5
+ color?: (ColorTokens | ThemeTokens | (string & {})) | null;
6
+ };
7
+ export type SpinnerProps = Omit<YStackProps, 'children' | keyof SpinnerExtraProps> & SpinnerExtraProps;
8
+ export declare const Spinner: import("@tamagui/core").TamaguiComponent<Omit<import("@tamagui/core").GetFinalProps<import("@tamagui/core").RNTamaguiViewNonStyleProps, import("@tamagui/core").StackStyleBase, {
9
+ elevation?: number | false | import("@tamagui/core").Size | undefined;
10
+ }>, "accessibilityActions" | "accessibilityElementsHidden" | "accessibilityHint" | "accessibilityIgnoresInvertColors" | "accessibilityLabel" | "accessibilityLabelledBy" | "accessibilityLanguage" | "accessibilityLargeContentTitle" | "accessibilityLiveRegion" | "accessibilityRespondsToUserInteraction" | "accessibilityRole" | "accessibilityShowsLargeContentViewer" | "accessibilityState" | "accessibilityValue" | "accessibilityViewIsModal" | "accessible" | "alignContent" | "alignItems" | "alignSelf" | "animatePresence" | "animatedBy" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-hidden" | "aria-label" | "aria-labelledby" | "aria-live" | "aria-modal" | "aria-selected" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "asChild" | "aspectRatio" | "backdropFilter" | "backfaceVisibility" | "background" | "backgroundAttachment" | "backgroundBlendMode" | "backgroundClip" | "backgroundColor" | "backgroundImage" | "backgroundOrigin" | "backgroundPosition" | "backgroundRepeat" | "backgroundSize" | "blockSize" | "border" | "borderBlock" | "borderBlockColor" | "borderBlockEndColor" | "borderBlockEndStyle" | "borderBlockEndWidth" | "borderBlockStartColor" | "borderBlockStartStyle" | "borderBlockStartWidth" | "borderBlockStyle" | "borderBlockWidth" | "borderBottomColor" | "borderBottomEndRadius" | "borderBottomLeftRadius" | "borderBottomRightRadius" | "borderBottomStartRadius" | "borderBottomWidth" | "borderColor" | "borderCurve" | "borderEndColor" | "borderEndEndRadius" | "borderEndStartRadius" | "borderEndWidth" | "borderImage" | "borderInline" | "borderInlineColor" | "borderInlineEndColor" | "borderInlineEndStyle" | "borderInlineEndWidth" | "borderInlineStartColor" | "borderInlineStartStyle" | "borderInlineStartWidth" | "borderInlineStyle" | "borderInlineWidth" | "borderLeftColor" | "borderLeftWidth" | "borderRadius" | "borderRightColor" | "borderRightWidth" | "borderStartColor" | "borderStartEndRadius" | "borderStartStartRadius" | "borderStartWidth" | "borderStyle" | "borderTopColor" | "borderTopEndRadius" | "borderTopLeftRadius" | "borderTopRightRadius" | "borderTopStartRadius" | "borderTopWidth" | "borderWidth" | "bottom" | "boxShadow" | "boxSizing" | "caretColor" | "className" | "clipPath" | "collapsable" | "collapsableChildren" | "columnGap" | "contain" | "container" | "containerName" | "containerType" | "cursor" | "dangerouslySetInnerHTML" | "debug" | "direction" | "disableClassName" | "disableNativeStyle" | "disableOptimization" | "disabled" | "display" | "download" | "elevation" | "elevationAndroid" | "end" | "experimental_backgroundImage" | "experimental_backgroundPosition" | "experimental_backgroundRepeat" | "experimental_backgroundSize" | "filter" | "flex" | "flexBasis" | "flexDirection" | "flexGrow" | "flexShrink" | "flexWrap" | "float" | "forceStyle" | "gap" | "gridColumn" | "gridColumnEnd" | "gridColumnGap" | "gridColumnStart" | "gridRow" | "gridRowEnd" | "gridRowGap" | "gridRowStart" | "gridTemplateAreas" | "gridTemplateColumns" | "group" | "hasTVPreferredFocus" | "height" | "hitSlop" | "htmlFor" | "id" | "importantForAccessibility" | "inlineSize" | "inset" | "insetBlock" | "insetBlockEnd" | "insetBlockStart" | "insetInline" | "insetInlineEnd" | "insetInlineStart" | "isTVSelectable" | "isolation" | "justifyContent" | "left" | "margin" | "marginBlock" | "marginBlockEnd" | "marginBlockStart" | "marginBottom" | "marginEnd" | "marginHorizontal" | "marginInline" | "marginInlineEnd" | "marginInlineStart" | "marginLeft" | "marginRight" | "marginStart" | "marginTop" | "marginVertical" | "mask" | "maskBorder" | "maskBorderMode" | "maskBorderOutset" | "maskBorderRepeat" | "maskBorderSlice" | "maskBorderSource" | "maskBorderWidth" | "maskClip" | "maskComposite" | "maskImage" | "maskMode" | "maskOrigin" | "maskPosition" | "maskRepeat" | "maskSize" | "maskType" | "matrix" | "maxBlockSize" | "maxHeight" | "maxInlineSize" | "maxWidth" | "minBlockSize" | "minHeight" | "minInlineSize" | "minWidth" | "mixBlendMode" | "name" | "nativeID" | "needsOffscreenAlphaCompositing" | "objectFit" | "onAccessibilityAction" | "onAccessibilityEscape" | "onAccessibilityTap" | "onBeforeInput" | "onBlur" | "onChange" | "onClick" | "onContextMenu" | "onCopy" | "onCut" | "onDoubleClick" | "onDrag" | "onDragEnd" | "onDragEnter" | "onDragLeave" | "onDragOver" | "onDragStart" | "onDrop" | "onFocus" | "onInput" | "onKeyDown" | "onKeyUp" | "onLayout" | "onLongPress" | "onMagicTap" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onMoveShouldSetResponder" | "onMoveShouldSetResponderCapture" | "onPaste" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPress" | "onPressIn" | "onPressOut" | "onResponderEnd" | "onResponderGrant" | "onResponderMove" | "onResponderReject" | "onResponderRelease" | "onResponderStart" | "onResponderTerminate" | "onResponderTerminationRequest" | "onScroll" | "onScrollShouldSetResponder" | "onScrollShouldSetResponderCapture" | "onSelectionChangeShouldSetResponder" | "onSelectionChangeShouldSetResponderCapture" | "onStartShouldSetResponder" | "onStartShouldSetResponderCapture" | "onTouchCancel" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchStart" | "onTransition" | "onWheel" | "opacity" | "outline" | "outlineColor" | "outlineOffset" | "outlineStyle" | "outlineWidth" | "overflow" | "overflowBlock" | "overflowInline" | "overflowWrap" | "overflowX" | "overflowY" | "padding" | "paddingBlock" | "paddingBlockEnd" | "paddingBlockStart" | "paddingBottom" | "paddingEnd" | "paddingHorizontal" | "paddingInline" | "paddingInlineEnd" | "paddingInlineStart" | "paddingLeft" | "paddingRight" | "paddingStart" | "paddingTop" | "paddingVertical" | "passThrough" | "perspective" | "pointerEvents" | "position" | "rel" | "removeClippedSubviews" | "render" | "renderToHardwareTextureAndroid" | "resize" | "right" | "role" | "rotate" | "rotateX" | "rotateY" | "rotateZ" | "rotation" | "rowGap" | "scale" | "scaleX" | "scaleY" | "screenReaderFocusable" | "shadowColor" | "shadowOffset" | "shadowOpacity" | "shadowRadius" | "shouldRasterizeIOS" | "skewX" | "skewY" | "start" | "style" | "tabIndex" | "target" | "testID" | "textEmphasis" | "textWrap" | "theme" | "themeShallow" | "top" | "transform" | "transformMatrix" | "transformOrigin" | "transformStyle" | "transition" | "translateX" | "translateY" | "tvParallaxMagnification" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "untilMeasured" | "userSelect" | "verticalAlign" | "visibility" | "width" | "wordWrap" | "x" | "y" | "zIndex" | keyof SpinnerExtraProps> & Omit<YStackProps, "children" | keyof SpinnerExtraProps> & SpinnerExtraProps, import("@tamagui/core").TamaguiElement, import("@tamagui/core").RNTamaguiViewNonStyleProps & Omit<YStackProps, "children" | keyof SpinnerExtraProps> & SpinnerExtraProps, import("@tamagui/core").StackStyleBase, {
11
+ elevation?: number | false | import("@tamagui/core").Size | undefined;
12
+ }, import("@tamagui/core").StaticConfigPublic>;
13
+ export {};
14
+ //# sourceMappingURL=Spinner.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.native.d.ts","sourceRoot":"","sources":["../src/Spinner.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAIlD,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;IACxB,KAAK,CAAC,EAAE,CAAC,WAAW,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAChF,iBAAiB,CAAA;AAEnB,eAAO,MAAM,OAAO;;;;8CAYlB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc","ignoreList":[]}