@tamagui/logo 1.13.2 → 1.13.4

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.
Files changed (41) hide show
  1. package/dist/cjs/TamaguiLogo.js +1 -208
  2. package/dist/cjs/TamaguiLogo.js.map +2 -2
  3. package/dist/cjs/index.js +1 -20
  4. package/dist/cjs/index.js.map +2 -2
  5. package/dist/cjs/tints.js +1 -73
  6. package/dist/cjs/tints.js.map +2 -2
  7. package/dist/cjs/useTint.js +1 -82
  8. package/dist/cjs/useTint.js.map +2 -2
  9. package/dist/esm/TamaguiLogo.js +1 -182
  10. package/dist/esm/TamaguiLogo.js.map +2 -2
  11. package/dist/esm/TamaguiLogo.mjs +1 -182
  12. package/dist/esm/TamaguiLogo.mjs.map +2 -2
  13. package/dist/esm/index.js +1 -3
  14. package/dist/esm/index.js.map +1 -1
  15. package/dist/esm/index.mjs +1 -3
  16. package/dist/esm/index.mjs.map +1 -1
  17. package/dist/esm/tints.js +1 -45
  18. package/dist/esm/tints.js.map +2 -2
  19. package/dist/esm/tints.mjs +1 -45
  20. package/dist/esm/tints.mjs.map +2 -2
  21. package/dist/esm/useTint.js +1 -54
  22. package/dist/esm/useTint.js.map +2 -2
  23. package/dist/esm/useTint.mjs +1 -54
  24. package/dist/esm/useTint.mjs.map +2 -2
  25. package/dist/jsx/TamaguiLogo.js +1 -138
  26. package/dist/jsx/TamaguiLogo.js.map +2 -2
  27. package/dist/jsx/TamaguiLogo.mjs +1 -138
  28. package/dist/jsx/TamaguiLogo.mjs.map +2 -2
  29. package/dist/jsx/index.js +1 -3
  30. package/dist/jsx/index.js.map +1 -1
  31. package/dist/jsx/index.mjs +1 -3
  32. package/dist/jsx/index.mjs.map +1 -1
  33. package/dist/jsx/tints.js +1 -45
  34. package/dist/jsx/tints.js.map +2 -2
  35. package/dist/jsx/tints.mjs +1 -45
  36. package/dist/jsx/tints.mjs.map +2 -2
  37. package/dist/jsx/useTint.js +1 -53
  38. package/dist/jsx/useTint.js.map +2 -2
  39. package/dist/jsx/useTint.mjs +1 -53
  40. package/dist/jsx/useTint.mjs.map +2 -2
  41. package/package.json +3 -3
package/dist/jsx/tints.js CHANGED
@@ -1,46 +1,2 @@
1
- import { useEffect, useState } from "react";
2
- const families = Object.freeze({
3
- tamagui: ["orange", "yellow", "green", "blue", "purple", "pink", "red"],
4
- xmas: ["red", "green", "red", "green", "red", "green", "red"]
5
- });
6
- let fam = "tamagui";
7
- function getTints() {
8
- return {
9
- name: fam || "tamagui",
10
- tints: families[fam] || families.tamagui,
11
- families
12
- };
13
- }
14
- function useTints() {
15
- const [val, setVal] = useState(getTints());
16
- useEffect(() => {
17
- return onTintFamilyChange(() => {
18
- setVal(getTints());
19
- });
20
- }, []);
21
- return val;
22
- }
23
- const setTintFamily = (next) => {
24
- if (!families[next])
25
- throw `impossible`;
26
- fam = next;
27
- listeners.forEach((l) => l(next));
28
- };
29
- const setNextTintFamily = () => {
30
- setTintFamily(fam === "tamagui" ? "xmas" : "tamagui");
31
- };
32
- const listeners = /* @__PURE__ */ new Set();
33
- const onTintFamilyChange = (cb) => {
34
- listeners.add(cb);
35
- return () => {
36
- listeners.delete(cb);
37
- };
38
- };
39
- export {
40
- getTints,
41
- onTintFamilyChange,
42
- setNextTintFamily,
43
- setTintFamily,
44
- useTints
45
- };
1
+ import{useEffect as m,useState as o}from"react";const t=Object.freeze({tamagui:["orange","yellow","green","blue","purple","pink","red"],xmas:["red","green","red","green","red","green","red"]});let a="tamagui";function r(){return{name:a||"tamagui",tints:t[a]||t.tamagui,families:t}}function p(){const[e,n]=o(r());return m(()=>l(()=>{n(r())}),[]),e}const s=e=>{if(!t[e])throw"impossible";a=e,i.forEach(n=>n(e))},y=()=>{s(a==="tamagui"?"xmas":"tamagui")},i=new Set,l=e=>(i.add(e),()=>{i.delete(e)});export{r as getTints,l as onTintFamilyChange,y as setNextTintFamily,s as setTintFamily,p as useTints};
46
2
  //# sourceMappingURL=tints.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/tints.tsx"],
4
4
  "sourcesContent": ["import { useEffect, useState } from 'react'\nimport { ThemeName } from 'tamagui'\n\nconst families = Object.freeze({\n tamagui: ['orange', 'yellow', 'green', 'blue', 'purple', 'pink', 'red'],\n xmas: ['red', 'green', 'red', 'green', 'red', 'green', 'red'],\n}) as {\n [key in 'tamagui' | 'xmas']: ThemeName[]\n}\n\ntype TintFamily = keyof typeof families\n\nlet fam: TintFamily = 'tamagui'\n\nexport function getTints() {\n return {\n name: fam || 'tamagui',\n tints: families[fam] || families.tamagui,\n families,\n }\n}\n\nexport function useTints() {\n const [val, setVal] = useState(getTints())\n\n useEffect(() => {\n return onTintFamilyChange(() => {\n setVal(getTints())\n })\n }, [])\n\n return val\n}\n\nexport const setTintFamily = (next: TintFamily) => {\n if (!families[next]) throw `impossible`\n fam = next\n listeners.forEach((l) => l(next))\n}\n\nexport const setNextTintFamily = () => {\n setTintFamily(fam === 'tamagui' ? 'xmas' : 'tamagui')\n}\n\ntype ChangeHandler = (next: TintFamily) => void\n\nconst listeners = new Set<ChangeHandler>()\n\nexport const onTintFamilyChange = (cb: ChangeHandler) => {\n listeners.add(cb)\n return () => {\n listeners.delete(cb)\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,WAAW,gBAAgB;AAGpC,MAAM,WAAW,OAAO,OAAO;AAAA,EAC7B,SAAS,CAAC,UAAU,UAAU,SAAS,QAAQ,UAAU,QAAQ,KAAK;AAAA,EACtE,MAAM,CAAC,OAAO,SAAS,OAAO,SAAS,OAAO,SAAS,KAAK;AAC9D,CAAC;AAMD,IAAI,MAAkB;AAEf,SAAS,WAAW;AACzB,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,OAAO,SAAS,GAAG,KAAK,SAAS;AAAA,IACjC;AAAA,EACF;AACF;AAEO,SAAS,WAAW;AACzB,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,SAAS,CAAC;AAEzC,YAAU,MAAM;AACd,WAAO,mBAAmB,MAAM;AAC9B,aAAO,SAAS,CAAC;AAAA,IACnB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAEO,MAAM,gBAAgB,CAAC,SAAqB;AACjD,MAAI,CAAC,SAAS,IAAI;AAAG,UAAM;AAC3B,QAAM;AACN,YAAU,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;AAClC;AAEO,MAAM,oBAAoB,MAAM;AACrC,gBAAc,QAAQ,YAAY,SAAS,SAAS;AACtD;AAIA,MAAM,YAAY,oBAAI,IAAmB;AAElC,MAAM,qBAAqB,CAAC,OAAsB;AACvD,YAAU,IAAI,EAAE;AAChB,SAAO,MAAM;AACX,cAAU,OAAO,EAAE;AAAA,EACrB;AACF;",
6
- "names": []
5
+ "mappings": "AAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAGpC,MAAMC,EAAW,OAAO,OAAO,CAC7B,QAAS,CAAC,SAAU,SAAU,QAAS,OAAQ,SAAU,OAAQ,KAAK,EACtE,KAAM,CAAC,MAAO,QAAS,MAAO,QAAS,MAAO,QAAS,KAAK,CAC9D,CAAC,EAMD,IAAIC,EAAkB,UAEf,SAASC,GAAW,CACzB,MAAO,CACL,KAAMD,GAAO,UACb,MAAOD,EAASC,CAAG,GAAKD,EAAS,QACjC,SAAAA,CACF,CACF,CAEO,SAASG,GAAW,CACzB,KAAM,CAACC,EAAKC,CAAM,EAAIN,EAASG,EAAS,CAAC,EAEzC,OAAAJ,EAAU,IACDQ,EAAmB,IAAM,CAC9BD,EAAOH,EAAS,CAAC,CACnB,CAAC,EACA,CAAC,CAAC,EAEEE,CACT,CAEO,MAAMG,EAAiBC,GAAqB,CACjD,GAAI,CAACR,EAASQ,CAAI,EAAG,KAAM,aAC3BP,EAAMO,EACNC,EAAU,QAASC,GAAMA,EAAEF,CAAI,CAAC,CAClC,EAEaG,EAAoB,IAAM,CACrCJ,EAAcN,IAAQ,UAAY,OAAS,SAAS,CACtD,EAIMQ,EAAY,IAAI,IAETH,EAAsBM,IACjCH,EAAU,IAAIG,CAAE,EACT,IAAM,CACXH,EAAU,OAAOG,CAAE,CACrB",
6
+ "names": ["useEffect", "useState", "families", "fam", "getTints", "useTints", "val", "setVal", "onTintFamilyChange", "setTintFamily", "next", "listeners", "l", "setNextTintFamily", "cb"]
7
7
  }
@@ -1,46 +1,2 @@
1
- import { useEffect, useState } from "react";
2
- const families = Object.freeze({
3
- tamagui: ["orange", "yellow", "green", "blue", "purple", "pink", "red"],
4
- xmas: ["red", "green", "red", "green", "red", "green", "red"]
5
- });
6
- let fam = "tamagui";
7
- function getTints() {
8
- return {
9
- name: fam || "tamagui",
10
- tints: families[fam] || families.tamagui,
11
- families
12
- };
13
- }
14
- function useTints() {
15
- const [val, setVal] = useState(getTints());
16
- useEffect(() => {
17
- return onTintFamilyChange(() => {
18
- setVal(getTints());
19
- });
20
- }, []);
21
- return val;
22
- }
23
- const setTintFamily = (next) => {
24
- if (!families[next])
25
- throw `impossible`;
26
- fam = next;
27
- listeners.forEach((l) => l(next));
28
- };
29
- const setNextTintFamily = () => {
30
- setTintFamily(fam === "tamagui" ? "xmas" : "tamagui");
31
- };
32
- const listeners = /* @__PURE__ */ new Set();
33
- const onTintFamilyChange = (cb) => {
34
- listeners.add(cb);
35
- return () => {
36
- listeners.delete(cb);
37
- };
38
- };
39
- export {
40
- getTints,
41
- onTintFamilyChange,
42
- setNextTintFamily,
43
- setTintFamily,
44
- useTints
45
- };
1
+ import{useEffect as m,useState as o}from"react";const t=Object.freeze({tamagui:["orange","yellow","green","blue","purple","pink","red"],xmas:["red","green","red","green","red","green","red"]});let a="tamagui";function r(){return{name:a||"tamagui",tints:t[a]||t.tamagui,families:t}}function p(){const[e,n]=o(r());return m(()=>l(()=>{n(r())}),[]),e}const s=e=>{if(!t[e])throw"impossible";a=e,i.forEach(n=>n(e))},y=()=>{s(a==="tamagui"?"xmas":"tamagui")},i=new Set,l=e=>(i.add(e),()=>{i.delete(e)});export{r as getTints,l as onTintFamilyChange,y as setNextTintFamily,s as setTintFamily,p as useTints};
46
2
  //# sourceMappingURL=tints.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/tints.tsx"],
4
4
  "sourcesContent": ["import { useEffect, useState } from 'react'\nimport { ThemeName } from 'tamagui'\n\nconst families = Object.freeze({\n tamagui: ['orange', 'yellow', 'green', 'blue', 'purple', 'pink', 'red'],\n xmas: ['red', 'green', 'red', 'green', 'red', 'green', 'red'],\n}) as {\n [key in 'tamagui' | 'xmas']: ThemeName[]\n}\n\ntype TintFamily = keyof typeof families\n\nlet fam: TintFamily = 'tamagui'\n\nexport function getTints() {\n return {\n name: fam || 'tamagui',\n tints: families[fam] || families.tamagui,\n families,\n }\n}\n\nexport function useTints() {\n const [val, setVal] = useState(getTints())\n\n useEffect(() => {\n return onTintFamilyChange(() => {\n setVal(getTints())\n })\n }, [])\n\n return val\n}\n\nexport const setTintFamily = (next: TintFamily) => {\n if (!families[next]) throw `impossible`\n fam = next\n listeners.forEach((l) => l(next))\n}\n\nexport const setNextTintFamily = () => {\n setTintFamily(fam === 'tamagui' ? 'xmas' : 'tamagui')\n}\n\ntype ChangeHandler = (next: TintFamily) => void\n\nconst listeners = new Set<ChangeHandler>()\n\nexport const onTintFamilyChange = (cb: ChangeHandler) => {\n listeners.add(cb)\n return () => {\n listeners.delete(cb)\n }\n}\n"],
5
- "mappings": "AAAA,SAAS,WAAW,gBAAgB;AAGpC,MAAM,WAAW,OAAO,OAAO;AAAA,EAC7B,SAAS,CAAC,UAAU,UAAU,SAAS,QAAQ,UAAU,QAAQ,KAAK;AAAA,EACtE,MAAM,CAAC,OAAO,SAAS,OAAO,SAAS,OAAO,SAAS,KAAK;AAC9D,CAAC;AAMD,IAAI,MAAkB;AAEf,SAAS,WAAW;AACzB,SAAO;AAAA,IACL,MAAM,OAAO;AAAA,IACb,OAAO,SAAS,GAAG,KAAK,SAAS;AAAA,IACjC;AAAA,EACF;AACF;AAEO,SAAS,WAAW;AACzB,QAAM,CAAC,KAAK,MAAM,IAAI,SAAS,SAAS,CAAC;AAEzC,YAAU,MAAM;AACd,WAAO,mBAAmB,MAAM;AAC9B,aAAO,SAAS,CAAC;AAAA,IACnB,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,SAAO;AACT;AAEO,MAAM,gBAAgB,CAAC,SAAqB;AACjD,MAAI,CAAC,SAAS,IAAI;AAAG,UAAM;AAC3B,QAAM;AACN,YAAU,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC;AAClC;AAEO,MAAM,oBAAoB,MAAM;AACrC,gBAAc,QAAQ,YAAY,SAAS,SAAS;AACtD;AAIA,MAAM,YAAY,oBAAI,IAAmB;AAElC,MAAM,qBAAqB,CAAC,OAAsB;AACvD,YAAU,IAAI,EAAE;AAChB,SAAO,MAAM;AACX,cAAU,OAAO,EAAE;AAAA,EACrB;AACF;",
6
- "names": []
5
+ "mappings": "AAAA,OAAS,aAAAA,EAAW,YAAAC,MAAgB,QAGpC,MAAMC,EAAW,OAAO,OAAO,CAC7B,QAAS,CAAC,SAAU,SAAU,QAAS,OAAQ,SAAU,OAAQ,KAAK,EACtE,KAAM,CAAC,MAAO,QAAS,MAAO,QAAS,MAAO,QAAS,KAAK,CAC9D,CAAC,EAMD,IAAIC,EAAkB,UAEf,SAASC,GAAW,CACzB,MAAO,CACL,KAAMD,GAAO,UACb,MAAOD,EAASC,CAAG,GAAKD,EAAS,QACjC,SAAAA,CACF,CACF,CAEO,SAASG,GAAW,CACzB,KAAM,CAACC,EAAKC,CAAM,EAAIN,EAASG,EAAS,CAAC,EAEzC,OAAAJ,EAAU,IACDQ,EAAmB,IAAM,CAC9BD,EAAOH,EAAS,CAAC,CACnB,CAAC,EACA,CAAC,CAAC,EAEEE,CACT,CAEO,MAAMG,EAAiBC,GAAqB,CACjD,GAAI,CAACR,EAASQ,CAAI,EAAG,KAAM,aAC3BP,EAAMO,EACNC,EAAU,QAASC,GAAMA,EAAEF,CAAI,CAAC,CAClC,EAEaG,EAAoB,IAAM,CACrCJ,EAAcN,IAAQ,UAAY,OAAS,SAAS,CACtD,EAIMQ,EAAY,IAAI,IAETH,EAAsBM,IACjCH,EAAU,IAAIG,CAAE,EACT,IAAM,CACXH,EAAU,OAAOG,CAAE,CACrB",
6
+ "names": ["useEffect", "useState", "families", "fam", "getTints", "useTints", "val", "setVal", "onTintFamilyChange", "setTintFamily", "next", "listeners", "l", "setNextTintFamily", "cb"]
7
7
  }
@@ -1,54 +1,2 @@
1
- import { startTransition, useMemo, useSyncExternalStore } from "react";
2
- import { Theme } from "tamagui";
3
- import { getTints, setNextTintFamily, useTints } from "./tints";
4
- const initialTint = 3;
5
- let current = initialTint;
6
- const listeners = /* @__PURE__ */ new Set();
7
- const onTintChange = (listener) => {
8
- listeners.add(listener);
9
- return () => {
10
- listeners.delete(listener);
11
- };
12
- };
13
- const numTints = getTints().tints.length;
14
- const setTintIndex = (next) => {
15
- const val = next % numTints;
16
- if (val === current)
17
- return;
18
- current = val;
19
- startTransition(() => {
20
- listeners.forEach((x) => x(val));
21
- });
22
- };
23
- const useTint = () => {
24
- const index = useSyncExternalStore(
25
- onTintChange,
26
- () => current,
27
- () => initialTint
28
- );
29
- const tintsContext = useTints();
30
- const { tints } = tintsContext;
31
- return {
32
- ...tintsContext,
33
- tints: tintsContext.tints,
34
- tintIndex: index,
35
- tint: tints[index],
36
- setTintIndex,
37
- setNextTintFamily,
38
- setNextTint: () => {
39
- setTintIndex(index + 1);
40
- }
41
- };
42
- };
43
- const ThemeTint = (props) => {
44
- const curTint = useTint().tint;
45
- return <Theme name={props.disable ? null : curTint}>{useMemo(() => props.children, [props.children])}</Theme>;
46
- };
47
- export {
48
- ThemeTint,
49
- initialTint,
50
- onTintChange,
51
- setTintIndex,
52
- useTint
53
- };
1
+ import{startTransition as c,useMemo as m,useSyncExternalStore as a}from"react";import{Theme as T}from"tamagui";import{getTints as u,setNextTintFamily as l,useTints as d}from"./tints";const o=3;let i=o;const s=new Set,h=t=>(s.add(t),()=>{s.delete(t)}),x=u().tints.length,r=t=>{const n=t%x;n!==i&&(i=n,c(()=>{s.forEach(e=>e(n))}))},b=()=>{const t=a(h,()=>i,()=>o),n=d(),{tints:e}=n;return{...n,tints:n.tints,tintIndex:t,tint:e[t],setTintIndex:r,setNextTintFamily:l,setNextTint:()=>{r(t+1)}}},y=t=>{const n=b().tint;return<T name={t.disable?null:n}>{m(()=>t.children,[t.children])}</T>};export{y as ThemeTint,o as initialTint,h as onTintChange,r as setTintIndex,b as useTint};
54
2
  //# sourceMappingURL=useTint.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/useTint.tsx"],
4
4
  "sourcesContent": ["import { startTransition, useMemo, useSyncExternalStore } from 'react'\nimport { Theme, ThemeName } from 'tamagui'\n\nimport { getTints, setNextTintFamily, useTints } from './tints'\n\n// TODO useSyncExternalStore\n\n// no localstorage because its not important to remember and causes a flicker\n// const tintVal = typeof localStorage !== 'undefined' ? localStorage.getItem('tint') : 0\n// const tint = tintVal ? +tintVal 0\nexport const initialTint = 3\n\nlet current = initialTint\n\nconst listeners = new Set<Function>()\n\nexport const onTintChange = (listener: (cur: number) => void) => {\n listeners.add(listener)\n return () => {\n listeners.delete(listener)\n }\n}\n\nconst numTints = getTints().tints.length\n\nexport const setTintIndex = (next: number) => {\n const val = next % numTints\n if (val === current) return\n current = val\n startTransition(() => {\n listeners.forEach((x) => x(val))\n })\n}\n\nexport const useTint = () => {\n const index = useSyncExternalStore(\n onTintChange,\n () => current,\n () => initialTint\n )\n const tintsContext = useTints()\n const { tints } = tintsContext\n\n return {\n ...tintsContext,\n tints: tintsContext.tints as ThemeName[],\n tintIndex: index,\n tint: tints[index] as ThemeName,\n setTintIndex,\n setNextTintFamily,\n setNextTint: () => {\n setTintIndex(index + 1)\n },\n } as const\n}\n\nexport const ThemeTint = (props: { children: any; disable?: boolean }) => {\n const curTint = useTint().tint\n return (\n <Theme name={props.disable ? null : curTint}>\n {/* */}\n {useMemo(() => props.children, [props.children])}\n </Theme>\n )\n}\n"],
5
- "mappings": "AAAA,SAAS,iBAAiB,SAAS,4BAA4B;AAC/D,SAAS,aAAwB;AAEjC,SAAS,UAAU,mBAAmB,gBAAgB;AAO/C,MAAM,cAAc;AAE3B,IAAI,UAAU;AAEd,MAAM,YAAY,oBAAI,IAAc;AAE7B,MAAM,eAAe,CAAC,aAAoC;AAC/D,YAAU,IAAI,QAAQ;AACtB,SAAO,MAAM;AACX,cAAU,OAAO,QAAQ;AAAA,EAC3B;AACF;AAEA,MAAM,WAAW,SAAS,EAAE,MAAM;AAE3B,MAAM,eAAe,CAAC,SAAiB;AAC5C,QAAM,MAAM,OAAO;AACnB,MAAI,QAAQ;AAAS;AACrB,YAAU;AACV,kBAAgB,MAAM;AACpB,cAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;AAAA,EACjC,CAAC;AACH;AAEO,MAAM,UAAU,MAAM;AAC3B,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACA,QAAM,eAAe,SAAS;AAC9B,QAAM,EAAE,MAAM,IAAI;AAElB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,aAAa;AAAA,IACpB,WAAW;AAAA,IACX,MAAM,MAAM,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,IACA,aAAa,MAAM;AACjB,mBAAa,QAAQ,CAAC;AAAA,IACxB;AAAA,EACF;AACF;AAEO,MAAM,YAAY,CAAC,UAAgD;AACxE,QAAM,UAAU,QAAQ,EAAE;AAC1B,SACE,CAAC,MAAM,MAAM,MAAM,UAAU,OAAO,UAEjC,QAAQ,MAAM,MAAM,UAAU,CAAC,MAAM,QAAQ,CAAC,EACjD,EAHC;AAKL;",
6
- "names": []
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,WAAAC,EAAS,wBAAAC,MAA4B,QAC/D,OAAS,SAAAC,MAAwB,UAEjC,OAAS,YAAAC,EAAU,qBAAAC,EAAmB,YAAAC,MAAgB,UAO/C,MAAMC,EAAc,EAE3B,IAAIC,EAAUD,EAEd,MAAME,EAAY,IAAI,IAETC,EAAgBC,IAC3BF,EAAU,IAAIE,CAAQ,EACf,IAAM,CACXF,EAAU,OAAOE,CAAQ,CAC3B,GAGIC,EAAWR,EAAS,EAAE,MAAM,OAErBS,EAAgBC,GAAiB,CAC5C,MAAMC,EAAMD,EAAOF,EACfG,IAAQP,IACZA,EAAUO,EACVf,EAAgB,IAAM,CACpBS,EAAU,QAASO,GAAMA,EAAED,CAAG,CAAC,CACjC,CAAC,EACH,EAEaE,EAAU,IAAM,CAC3B,MAAMC,EAAQhB,EACZQ,EACA,IAAMF,EACN,IAAMD,CACR,EACMY,EAAeb,EAAS,EACxB,CAAE,MAAAc,CAAM,EAAID,EAElB,MAAO,CACL,GAAGA,EACH,MAAOA,EAAa,MACpB,UAAWD,EACX,KAAME,EAAMF,CAAK,EACjB,aAAAL,EACA,kBAAAR,EACA,YAAa,IAAM,CACjBQ,EAAaK,EAAQ,CAAC,CACxB,CACF,CACF,EAEaG,EAAaC,GAAgD,CACxE,MAAMC,EAAUN,EAAQ,EAAE,KAC1B,MACE,CAACd,EAAM,MAAMmB,EAAM,QAAU,KAAOC,IAEjCtB,EAAQ,IAAMqB,EAAM,SAAU,CAACA,EAAM,QAAQ,CAAC,EACjD,EAHCnB,EAKL",
6
+ "names": ["startTransition", "useMemo", "useSyncExternalStore", "Theme", "getTints", "setNextTintFamily", "useTints", "initialTint", "current", "listeners", "onTintChange", "listener", "numTints", "setTintIndex", "next", "val", "x", "useTint", "index", "tintsContext", "tints", "ThemeTint", "props", "curTint"]
7
7
  }
@@ -1,54 +1,2 @@
1
- import { startTransition, useMemo, useSyncExternalStore } from "react";
2
- import { Theme } from "tamagui";
3
- import { getTints, setNextTintFamily, useTints } from "./tints";
4
- const initialTint = 3;
5
- let current = initialTint;
6
- const listeners = /* @__PURE__ */ new Set();
7
- const onTintChange = (listener) => {
8
- listeners.add(listener);
9
- return () => {
10
- listeners.delete(listener);
11
- };
12
- };
13
- const numTints = getTints().tints.length;
14
- const setTintIndex = (next) => {
15
- const val = next % numTints;
16
- if (val === current)
17
- return;
18
- current = val;
19
- startTransition(() => {
20
- listeners.forEach((x) => x(val));
21
- });
22
- };
23
- const useTint = () => {
24
- const index = useSyncExternalStore(
25
- onTintChange,
26
- () => current,
27
- () => initialTint
28
- );
29
- const tintsContext = useTints();
30
- const { tints } = tintsContext;
31
- return {
32
- ...tintsContext,
33
- tints: tintsContext.tints,
34
- tintIndex: index,
35
- tint: tints[index],
36
- setTintIndex,
37
- setNextTintFamily,
38
- setNextTint: () => {
39
- setTintIndex(index + 1);
40
- }
41
- };
42
- };
43
- const ThemeTint = (props) => {
44
- const curTint = useTint().tint;
45
- return <Theme name={props.disable ? null : curTint}>{useMemo(() => props.children, [props.children])}</Theme>;
46
- };
47
- export {
48
- ThemeTint,
49
- initialTint,
50
- onTintChange,
51
- setTintIndex,
52
- useTint
53
- };
1
+ import{startTransition as c,useMemo as m,useSyncExternalStore as a}from"react";import{Theme as T}from"tamagui";import{getTints as u,setNextTintFamily as l,useTints as d}from"./tints";const o=3;let i=o;const s=new Set,h=t=>(s.add(t),()=>{s.delete(t)}),x=u().tints.length,r=t=>{const n=t%x;n!==i&&(i=n,c(()=>{s.forEach(e=>e(n))}))},b=()=>{const t=a(h,()=>i,()=>o),n=d(),{tints:e}=n;return{...n,tints:n.tints,tintIndex:t,tint:e[t],setTintIndex:r,setNextTintFamily:l,setNextTint:()=>{r(t+1)}}},y=t=>{const n=b().tint;return<T name={t.disable?null:n}>{m(()=>t.children,[t.children])}</T>};export{y as ThemeTint,o as initialTint,h as onTintChange,r as setTintIndex,b as useTint};
54
2
  //# sourceMappingURL=useTint.mjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../src/useTint.tsx"],
4
4
  "sourcesContent": ["import { startTransition, useMemo, useSyncExternalStore } from 'react'\nimport { Theme, ThemeName } from 'tamagui'\n\nimport { getTints, setNextTintFamily, useTints } from './tints'\n\n// TODO useSyncExternalStore\n\n// no localstorage because its not important to remember and causes a flicker\n// const tintVal = typeof localStorage !== 'undefined' ? localStorage.getItem('tint') : 0\n// const tint = tintVal ? +tintVal 0\nexport const initialTint = 3\n\nlet current = initialTint\n\nconst listeners = new Set<Function>()\n\nexport const onTintChange = (listener: (cur: number) => void) => {\n listeners.add(listener)\n return () => {\n listeners.delete(listener)\n }\n}\n\nconst numTints = getTints().tints.length\n\nexport const setTintIndex = (next: number) => {\n const val = next % numTints\n if (val === current) return\n current = val\n startTransition(() => {\n listeners.forEach((x) => x(val))\n })\n}\n\nexport const useTint = () => {\n const index = useSyncExternalStore(\n onTintChange,\n () => current,\n () => initialTint\n )\n const tintsContext = useTints()\n const { tints } = tintsContext\n\n return {\n ...tintsContext,\n tints: tintsContext.tints as ThemeName[],\n tintIndex: index,\n tint: tints[index] as ThemeName,\n setTintIndex,\n setNextTintFamily,\n setNextTint: () => {\n setTintIndex(index + 1)\n },\n } as const\n}\n\nexport const ThemeTint = (props: { children: any; disable?: boolean }) => {\n const curTint = useTint().tint\n return (\n <Theme name={props.disable ? null : curTint}>\n {/* */}\n {useMemo(() => props.children, [props.children])}\n </Theme>\n )\n}\n"],
5
- "mappings": "AAAA,SAAS,iBAAiB,SAAS,4BAA4B;AAC/D,SAAS,aAAwB;AAEjC,SAAS,UAAU,mBAAmB,gBAAgB;AAO/C,MAAM,cAAc;AAE3B,IAAI,UAAU;AAEd,MAAM,YAAY,oBAAI,IAAc;AAE7B,MAAM,eAAe,CAAC,aAAoC;AAC/D,YAAU,IAAI,QAAQ;AACtB,SAAO,MAAM;AACX,cAAU,OAAO,QAAQ;AAAA,EAC3B;AACF;AAEA,MAAM,WAAW,SAAS,EAAE,MAAM;AAE3B,MAAM,eAAe,CAAC,SAAiB;AAC5C,QAAM,MAAM,OAAO;AACnB,MAAI,QAAQ;AAAS;AACrB,YAAU;AACV,kBAAgB,MAAM;AACpB,cAAU,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC;AAAA,EACjC,CAAC;AACH;AAEO,MAAM,UAAU,MAAM;AAC3B,QAAM,QAAQ;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACA,QAAM,eAAe,SAAS;AAC9B,QAAM,EAAE,MAAM,IAAI;AAElB,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,aAAa;AAAA,IACpB,WAAW;AAAA,IACX,MAAM,MAAM,KAAK;AAAA,IACjB;AAAA,IACA;AAAA,IACA,aAAa,MAAM;AACjB,mBAAa,QAAQ,CAAC;AAAA,IACxB;AAAA,EACF;AACF;AAEO,MAAM,YAAY,CAAC,UAAgD;AACxE,QAAM,UAAU,QAAQ,EAAE;AAC1B,SACE,CAAC,MAAM,MAAM,MAAM,UAAU,OAAO,UAEjC,QAAQ,MAAM,MAAM,UAAU,CAAC,MAAM,QAAQ,CAAC,EACjD,EAHC;AAKL;",
6
- "names": []
5
+ "mappings": "AAAA,OAAS,mBAAAA,EAAiB,WAAAC,EAAS,wBAAAC,MAA4B,QAC/D,OAAS,SAAAC,MAAwB,UAEjC,OAAS,YAAAC,EAAU,qBAAAC,EAAmB,YAAAC,MAAgB,UAO/C,MAAMC,EAAc,EAE3B,IAAIC,EAAUD,EAEd,MAAME,EAAY,IAAI,IAETC,EAAgBC,IAC3BF,EAAU,IAAIE,CAAQ,EACf,IAAM,CACXF,EAAU,OAAOE,CAAQ,CAC3B,GAGIC,EAAWR,EAAS,EAAE,MAAM,OAErBS,EAAgBC,GAAiB,CAC5C,MAAMC,EAAMD,EAAOF,EACfG,IAAQP,IACZA,EAAUO,EACVf,EAAgB,IAAM,CACpBS,EAAU,QAASO,GAAMA,EAAED,CAAG,CAAC,CACjC,CAAC,EACH,EAEaE,EAAU,IAAM,CAC3B,MAAMC,EAAQhB,EACZQ,EACA,IAAMF,EACN,IAAMD,CACR,EACMY,EAAeb,EAAS,EACxB,CAAE,MAAAc,CAAM,EAAID,EAElB,MAAO,CACL,GAAGA,EACH,MAAOA,EAAa,MACpB,UAAWD,EACX,KAAME,EAAMF,CAAK,EACjB,aAAAL,EACA,kBAAAR,EACA,YAAa,IAAM,CACjBQ,EAAaK,EAAQ,CAAC,CACxB,CACF,CACF,EAEaG,EAAaC,GAAgD,CACxE,MAAMC,EAAUN,EAAQ,EAAE,KAC1B,MACE,CAACd,EAAM,MAAMmB,EAAM,QAAU,KAAOC,IAEjCtB,EAAQ,IAAMqB,EAAM,SAAU,CAACA,EAAM,QAAQ,CAAC,EACjD,EAHCnB,EAKL",
6
+ "names": ["startTransition", "useMemo", "useSyncExternalStore", "Theme", "getTints", "setNextTintFamily", "useTints", "initialTint", "current", "listeners", "onTintChange", "listener", "numTints", "setTintIndex", "next", "val", "x", "useTint", "index", "tintsContext", "tints", "ThemeTint", "props", "curTint"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tamagui/logo",
3
- "version": "1.13.2",
3
+ "version": "1.13.4",
4
4
  "sideEffects": false,
5
5
  "source": "src/index.ts",
6
6
  "types": "./types/index.d.ts",
@@ -20,10 +20,10 @@
20
20
  "react": "*"
21
21
  },
22
22
  "dependencies": {
23
- "tamagui": "1.13.2"
23
+ "tamagui": "1.13.4"
24
24
  },
25
25
  "devDependencies": {
26
- "@tamagui/build": "1.13.2",
26
+ "@tamagui/build": "1.13.4",
27
27
  "react": "^18.2.0"
28
28
  },
29
29
  "publishConfig": {