@hanzogui/logo 3.0.6 → 4.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/GuiLogo.cjs +36 -32
- package/dist/cjs/GuiLogo.native.js +44 -42
- package/dist/cjs/GuiLogo.native.js.map +1 -1
- package/dist/cjs/GuiLogoSvg.cjs +12 -10
- package/dist/cjs/GuiLogoSvg.native.js +59 -57
- package/dist/cjs/GuiLogoSvg.native.js.map +1 -1
- package/dist/cjs/LogoIcon.cjs +33 -29
- package/dist/cjs/LogoIcon.native.js +36 -34
- package/dist/cjs/LogoIcon.native.js.map +1 -1
- package/dist/cjs/LogoWords.cjs +63 -52
- package/dist/cjs/LogoWords.native.js +67 -60
- package/dist/cjs/LogoWords.native.js.map +1 -1
- package/dist/cjs/SeasonProvider.cjs +21 -16
- package/dist/cjs/SeasonProvider.native.js +21 -16
- package/dist/cjs/SeasonProvider.native.js.map +1 -1
- package/dist/cjs/ThemeTint.cjs +40 -37
- package/dist/cjs/ThemeTint.native.js +43 -41
- package/dist/cjs/ThemeTint.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +14 -12
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/tints.cjs +61 -47
- package/dist/cjs/tints.native.js +59 -49
- package/dist/cjs/tints.native.js.map +1 -1
- package/dist/cjs/useTint.cjs +90 -77
- package/dist/cjs/useTint.native.js +99 -90
- package/dist/cjs/useTint.native.js.map +1 -1
- package/dist/esm/GuiLogo.mjs +20 -18
- package/dist/esm/GuiLogo.mjs.map +1 -1
- package/dist/esm/GuiLogo.native.js +2 -2
- package/dist/esm/GuiLogo.native.js.map +1 -1
- package/dist/esm/LogoIcon.mjs +18 -16
- package/dist/esm/LogoIcon.mjs.map +1 -1
- package/dist/esm/LogoIcon.native.js.map +1 -1
- package/dist/esm/LogoWords.mjs +35 -26
- package/dist/esm/LogoWords.mjs.map +1 -1
- package/dist/esm/LogoWords.native.js +38 -33
- package/dist/esm/LogoWords.native.js.map +1 -1
- package/dist/esm/SeasonProvider.mjs +6 -3
- package/dist/esm/SeasonProvider.mjs.map +1 -1
- package/dist/esm/SeasonProvider.native.js +6 -3
- package/dist/esm/SeasonProvider.native.js.map +1 -1
- package/dist/esm/ThemeTint.mjs +25 -24
- package/dist/esm/ThemeTint.mjs.map +1 -1
- package/dist/esm/ThemeTint.native.js +27 -27
- package/dist/esm/ThemeTint.native.js.map +1 -1
- package/dist/esm/tints.mjs +37 -25
- package/dist/esm/tints.mjs.map +1 -1
- package/dist/esm/tints.native.js +34 -26
- package/dist/esm/tints.native.js.map +1 -1
- package/dist/esm/useTint.mjs +62 -51
- package/dist/esm/useTint.mjs.map +1 -1
- package/dist/esm/useTint.native.js +72 -65
- package/dist/esm/useTint.native.js.map +1 -1
- package/package.json +5 -5
- package/src/SeasonProvider.tsx +2 -2
- package/types/SeasonProvider.d.ts.map +1 -1
package/dist/esm/tints.native.js
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
var listeners = /* @__PURE__ */new Set()
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
2
|
+
var listeners = /* @__PURE__ */new Set();
|
|
3
|
+
var familiesValues = {
|
|
4
|
+
gui: ["yellow", "yellow", "yellow", "gray", "red", "green", "blue"],
|
|
5
|
+
xmas: ["red", "green", "red", "green", "red", "green", "red"],
|
|
6
|
+
easter: ["yellow", "yellow", "yellow", "yellow", "yellow", "yellow", "yellow"],
|
|
7
|
+
halloween: ["yellow", "gray", "yellow", "gray", "yellow", "gray", "yellow"],
|
|
8
|
+
valentine: ["red", "red", "red", "red", "red", "red", "red"],
|
|
9
|
+
lunar: ["yellow", "red", "red", "red", "red", "red", "yellow"],
|
|
10
|
+
stpatricks: ["green", "teal", "green", "teal", "green", "teal", "green"]
|
|
11
|
+
};
|
|
12
|
+
var DEFAULT_FAMILY = "@hanzo/gui";
|
|
13
|
+
var familiesNames = Object.keys(familiesValues);
|
|
14
|
+
var families = familiesValues;
|
|
15
|
+
var fam = DEFAULT_FAMILY;
|
|
16
16
|
function getTints() {
|
|
17
17
|
return {
|
|
18
18
|
name: fam || DEFAULT_FAMILY,
|
|
@@ -22,21 +22,28 @@ function getTints() {
|
|
|
22
22
|
}
|
|
23
23
|
function useTints() {
|
|
24
24
|
var [val, setVal] = React.useState(getTints());
|
|
25
|
-
|
|
25
|
+
React.useEffect(function () {
|
|
26
26
|
return onTintFamilyChange(function () {
|
|
27
27
|
React.startTransition(function () {
|
|
28
28
|
setVal(getTints());
|
|
29
29
|
});
|
|
30
30
|
});
|
|
31
|
-
}, [])
|
|
31
|
+
}, []);
|
|
32
|
+
return val;
|
|
32
33
|
}
|
|
33
34
|
function setTintFamily(next) {
|
|
34
|
-
if (!families[next]) throw
|
|
35
|
-
|
|
35
|
+
if (!families[next]) throw `impossible`;
|
|
36
|
+
fam = next;
|
|
37
|
+
if (typeof document !== "undefined") {
|
|
36
38
|
var root = document.documentElement.classList;
|
|
37
39
|
familiesNames.forEach(function (s) {
|
|
38
|
-
s !== "@hanzo/gui"
|
|
39
|
-
|
|
40
|
+
if (s !== "@hanzo/gui") {
|
|
41
|
+
root.remove(`${s}-season`);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
if (next !== "@hanzo/gui") {
|
|
45
|
+
root.add(`${next}-season`);
|
|
46
|
+
}
|
|
40
47
|
}
|
|
41
48
|
React.startTransition(function () {
|
|
42
49
|
listeners.forEach(function (l) {
|
|
@@ -45,12 +52,13 @@ function setTintFamily(next) {
|
|
|
45
52
|
});
|
|
46
53
|
}
|
|
47
54
|
var setNextTintFamily = function () {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
55
|
+
setTintFamily(familiesNames[(familiesNames.indexOf(fam) + 1) % familiesNames.length]);
|
|
56
|
+
};
|
|
57
|
+
var onTintFamilyChange = function (cb) {
|
|
58
|
+
listeners.add(cb);
|
|
59
|
+
return function () {
|
|
60
|
+
listeners.delete(cb);
|
|
54
61
|
};
|
|
62
|
+
};
|
|
55
63
|
export { getTints, onTintFamilyChange, setNextTintFamily, setTintFamily, useTints };
|
|
56
64
|
//# sourceMappingURL=tints.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","listeners","Set","familiesValues","gui","xmas","easter","halloween","valentine","lunar","stpatricks"],"sources":["../../src/tints.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAKlB,IAAAC,SAAM,kBAAY,IAAAC,GAAI;
|
|
1
|
+
{"version":3,"names":["React","listeners","Set","familiesValues","gui","xmas","easter","halloween","valentine","lunar","stpatricks","DEFAULT_FAMILY","familiesNames","Object","keys","families","fam","getTints","name","tints"],"sources":["../../src/tints.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAKlB,IAAAC,SAAM,kBAAY,IAAAC,GAAI;AAItB,IAAAC,cAAM;EACJC,GAAA,EAAK,CACL,QAAO,EACP,QAAQ,EACN,UACA,QACA,OACA,SACA;EACAC,IACA,GACF,OACA,SACE,OACA,SACA,OACA,SACA;EACAC,MACA,GACF,UACA,UACA,QAAQ,EACR,UACF,UAIA,QAAM,EAEN,QAAM,CAGN;EAIAC,SAAsB,GAEf,QAAS,EAKd,MAAO,EACL,QAAM,EACN,QACA,UACF,QACF,SAEO;EAKLC,SAAO,GAEP,KAAM,EACJ,OACE,OACE,OAAiB,KAClB,EACH,KAAC,EACH,KAAK,CAEL;EACFC,KAAA,GAEO,QAAS,EACd,KAAK,EACL,KAAM,EAGN,KAAI,EACF,OAEA,OACE,QAAI,CACF;EAAyBC,UAC3B,GACF,OAAC,EAED,MAAI,EACF,OAAK,EACP,QACF,SAEA,MAAM,EACJ;AAEJ;AAEO,IAAAC,cAAM,eAAgC;AAC3C,IAAAC,aAAc,GAAAC,MAAA,CAAAC,IAAe,CAAAX,cAAc;AAC7C,IAAAY,QAAA,GAAAZ,cAAA;AAEO,IAAAa,GAAM,GAAAL,cAAA;AACX,SAAAM,QAAcA,CAAA,EAAE;EAChB,OAAO;IACLC,IAAA,EAAAF,GAAA,IAAUL,cAAS;IACrBQ,KAAA,EAAAJ,QAAA,CAAAC,GAAA,KAAAD,QAAA,CAAAX,GAAA;IACFW","ignoreList":[]}
|
package/dist/esm/useTint.mjs
CHANGED
|
@@ -1,63 +1,74 @@
|
|
|
1
1
|
import React, { createContext, useContext, useEffect, useState } from "react";
|
|
2
2
|
import { useDidFinishSSR } from "@hanzo/gui";
|
|
3
3
|
import { getTints, setNextTintFamily, useTints } from "./tints.mjs";
|
|
4
|
-
let current = 3
|
|
5
|
-
|
|
6
|
-
const listeners = /* @__PURE__ */new Set()
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
let current = 3;
|
|
5
|
+
let disableTintTheme = false;
|
|
6
|
+
const listeners = /* @__PURE__ */new Set();
|
|
7
|
+
const disableListeners = /* @__PURE__ */new Set();
|
|
8
|
+
const onTintChange = listener => {
|
|
9
|
+
listeners.add(listener);
|
|
10
|
+
return () => {
|
|
9
11
|
listeners.delete(listener);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const numTints = getTints().tints.length;
|
|
15
|
+
const setTintIndex = next => {
|
|
16
|
+
const val = Math.max(0, next % numTints);
|
|
17
|
+
if (val === current) return;
|
|
18
|
+
current = val;
|
|
19
|
+
listeners.forEach(x => x(val));
|
|
20
|
+
};
|
|
21
|
+
const setDisableTintTheme = disable => {
|
|
22
|
+
if (disable === disableTintTheme) return;
|
|
23
|
+
disableTintTheme = disable;
|
|
24
|
+
disableListeners.forEach(x => x(disable));
|
|
25
|
+
};
|
|
26
|
+
const getDisableTintTheme = () => disableTintTheme;
|
|
20
27
|
function getDocsSection(pathname) {
|
|
21
28
|
return pathname === "/docs/intro/compiler-install" || pathname === "/docs/intro/benchmarks" || pathname === "/docs/intro/why-a-compiler" ? "compiler" : pathname.startsWith("/ui/") ? "ui" : pathname.startsWith("/docs/") ? "core" : null;
|
|
22
29
|
}
|
|
23
|
-
const InitialPathContext = createContext(3)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
const InitialPathContext = createContext(3);
|
|
31
|
+
const useTint = (altOffset = -1) => {
|
|
32
|
+
const initial = useContext(InitialPathContext);
|
|
33
|
+
const didHydrate = useDidFinishSSR();
|
|
34
|
+
const [index, setIndex] = useState(didHydrate ? current : initial);
|
|
35
|
+
const [disabled, setDisabled] = useState(disableTintTheme);
|
|
36
|
+
const tintsContext = useTints();
|
|
37
|
+
const {
|
|
38
|
+
tints
|
|
39
|
+
} = tintsContext;
|
|
40
|
+
const tintAltIndex = Math.abs((index + altOffset) % tints.length);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
return onTintChange(cur => {
|
|
35
43
|
setIndex(cur);
|
|
36
|
-
})
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
tintAlt = disabled || tintAltIndex === 3 ? null : tints[tintAltIndex];
|
|
44
|
-
return {
|
|
45
|
-
...tintsContext,
|
|
46
|
-
tints: tintsContext.tints,
|
|
47
|
-
tintIndex: index,
|
|
48
|
-
tintAltIndex,
|
|
49
|
-
tint,
|
|
50
|
-
tintAlt,
|
|
51
|
-
setTintIndex,
|
|
52
|
-
setNextTintFamily,
|
|
53
|
-
setDisableTintTheme,
|
|
54
|
-
disableTintTheme: disabled,
|
|
55
|
-
setNextTint: () => {
|
|
56
|
-
React.startTransition(() => {
|
|
57
|
-
setTintIndex(index + 1);
|
|
58
|
-
});
|
|
59
|
-
}
|
|
44
|
+
});
|
|
45
|
+
}, []);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
const cb = val => setDisabled(val);
|
|
48
|
+
disableListeners.add(cb);
|
|
49
|
+
return () => {
|
|
50
|
+
disableListeners.delete(cb);
|
|
60
51
|
};
|
|
52
|
+
}, []);
|
|
53
|
+
const tint = disabled || index === 3 ? null : tints[index];
|
|
54
|
+
const tintAlt = disabled || tintAltIndex === 3 ? null : tints[tintAltIndex];
|
|
55
|
+
return {
|
|
56
|
+
...tintsContext,
|
|
57
|
+
tints: tintsContext.tints,
|
|
58
|
+
tintIndex: index,
|
|
59
|
+
tintAltIndex,
|
|
60
|
+
tint,
|
|
61
|
+
tintAlt,
|
|
62
|
+
setTintIndex,
|
|
63
|
+
setNextTintFamily,
|
|
64
|
+
setDisableTintTheme,
|
|
65
|
+
disableTintTheme: disabled,
|
|
66
|
+
setNextTint: () => {
|
|
67
|
+
React.startTransition(() => {
|
|
68
|
+
setTintIndex(index + 1);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
61
71
|
};
|
|
72
|
+
};
|
|
62
73
|
export { InitialPathContext, getDisableTintTheme, getDocsSection, onTintChange, setDisableTintTheme, setTintIndex, useTint };
|
|
63
74
|
//# sourceMappingURL=useTint.mjs.map
|
package/dist/esm/useTint.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useEffect","useState","useDidFinishSSR","getTints","setNextTintFamily","useTints","current","disableTintTheme","listeners","Set","disableListeners","onTintChange","listener","add","delete","numTints","tints","length","setTintIndex","next","val","Math","max","forEach","x","setDisableTintTheme","disable","getDisableTintTheme","getDocsSection","pathname","startsWith","InitialPathContext","useTint","altOffset","initial","didHydrate","index","setIndex","disabled","setDisabled","tintsContext","tintAltIndex","abs","cur","cb","tint","tintAlt","tintIndex","setNextTint","startTransition"],"sources":["../../src/useTint.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,aAAA,EAAeC,UAAA,EAAYC,SAAA,EAAWC,QAAA,QAAgB;AACtE,SAASC,eAAA,QAAuC;AAChD,SAASC,QAAA,EAAUC,iBAAA,EAAmBC,QAAA,QAAgB;AAEtD,IAAIC,OAAA,GAAU;
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useEffect","useState","useDidFinishSSR","getTints","setNextTintFamily","useTints","current","disableTintTheme","listeners","Set","disableListeners","onTintChange","listener","add","delete","numTints","tints","length","setTintIndex","next","val","Math","max","forEach","x","setDisableTintTheme","disable","getDisableTintTheme","getDocsSection","pathname","startsWith","InitialPathContext","useTint","altOffset","initial","didHydrate","index","setIndex","disabled","setDisabled","tintsContext","tintAltIndex","abs","cur","cb","tint","tintAlt","tintIndex","setNextTint","startTransition"],"sources":["../../src/useTint.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,76 +1,83 @@
|
|
|
1
1
|
import React, { createContext, useContext, useEffect, useState } from "react";
|
|
2
2
|
import { useDidFinishSSR } from "@hanzo/gui";
|
|
3
3
|
import { getTints, setNextTintFamily, useTints } from "./tints.native.js";
|
|
4
|
-
var current = 3
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
},
|
|
13
|
-
numTints = getTints().tints.length,
|
|
14
|
-
setTintIndex = function (next) {
|
|
15
|
-
var val = Math.max(0, next % numTints);
|
|
16
|
-
val !== current && (current = val, listeners.forEach(function (x) {
|
|
17
|
-
return x(val);
|
|
18
|
-
}));
|
|
19
|
-
},
|
|
20
|
-
setDisableTintTheme = function (disable) {
|
|
21
|
-
disable !== disableTintTheme && (disableTintTheme = disable, disableListeners.forEach(function (x) {
|
|
22
|
-
return x(disable);
|
|
23
|
-
}));
|
|
24
|
-
},
|
|
25
|
-
getDisableTintTheme = function () {
|
|
26
|
-
return disableTintTheme;
|
|
4
|
+
var current = 3;
|
|
5
|
+
var disableTintTheme = false;
|
|
6
|
+
var listeners = /* @__PURE__ */new Set();
|
|
7
|
+
var disableListeners = /* @__PURE__ */new Set();
|
|
8
|
+
var onTintChange = function (listener) {
|
|
9
|
+
listeners.add(listener);
|
|
10
|
+
return function () {
|
|
11
|
+
listeners.delete(listener);
|
|
27
12
|
};
|
|
13
|
+
};
|
|
14
|
+
var numTints = getTints().tints.length;
|
|
15
|
+
var setTintIndex = function (next) {
|
|
16
|
+
var val = Math.max(0, next % numTints);
|
|
17
|
+
if (val === current) return;
|
|
18
|
+
current = val;
|
|
19
|
+
listeners.forEach(function (x) {
|
|
20
|
+
return x(val);
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
var setDisableTintTheme = function (disable) {
|
|
24
|
+
if (disable === disableTintTheme) return;
|
|
25
|
+
disableTintTheme = disable;
|
|
26
|
+
disableListeners.forEach(function (x) {
|
|
27
|
+
return x(disable);
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var getDisableTintTheme = function () {
|
|
31
|
+
return disableTintTheme;
|
|
32
|
+
};
|
|
28
33
|
function getDocsSection(pathname) {
|
|
29
34
|
return pathname === "/docs/intro/compiler-install" || pathname === "/docs/intro/benchmarks" || pathname === "/docs/intro/why-a-compiler" ? "compiler" : pathname.startsWith("/ui/") ? "ui" : pathname.startsWith("/docs/") ? "core" : null;
|
|
30
35
|
}
|
|
31
|
-
var InitialPathContext = /* @__PURE__ */createContext(3)
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return disableListeners.add(cb), function () {
|
|
52
|
-
disableListeners.delete(cb);
|
|
53
|
-
};
|
|
54
|
-
}, []);
|
|
55
|
-
var tint = disabled || index === 3 ? null : tints[index],
|
|
56
|
-
tintAlt = disabled || tintAltIndex === 3 ? null : tints[tintAltIndex];
|
|
57
|
-
return {
|
|
58
|
-
...tintsContext,
|
|
59
|
-
tints: tintsContext.tints,
|
|
60
|
-
tintIndex: index,
|
|
61
|
-
tintAltIndex,
|
|
62
|
-
tint,
|
|
63
|
-
tintAlt,
|
|
64
|
-
setTintIndex,
|
|
65
|
-
setNextTintFamily,
|
|
66
|
-
setDisableTintTheme,
|
|
67
|
-
disableTintTheme: disabled,
|
|
68
|
-
setNextTint: function () {
|
|
69
|
-
React.startTransition(function () {
|
|
70
|
-
setTintIndex(index + 1);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
36
|
+
var InitialPathContext = /* @__PURE__ */createContext(3);
|
|
37
|
+
var useTint = function () {
|
|
38
|
+
var altOffset = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1;
|
|
39
|
+
var initial = useContext(InitialPathContext);
|
|
40
|
+
var didHydrate = useDidFinishSSR();
|
|
41
|
+
var [index, setIndex] = useState(didHydrate ? current : initial);
|
|
42
|
+
var [disabled, setDisabled] = useState(disableTintTheme);
|
|
43
|
+
var tintsContext = useTints();
|
|
44
|
+
var {
|
|
45
|
+
tints
|
|
46
|
+
} = tintsContext;
|
|
47
|
+
var tintAltIndex = Math.abs((index + altOffset) % tints.length);
|
|
48
|
+
useEffect(function () {
|
|
49
|
+
return onTintChange(function (cur) {
|
|
50
|
+
setIndex(cur);
|
|
51
|
+
});
|
|
52
|
+
}, []);
|
|
53
|
+
useEffect(function () {
|
|
54
|
+
var cb = function (val) {
|
|
55
|
+
return setDisabled(val);
|
|
73
56
|
};
|
|
57
|
+
disableListeners.add(cb);
|
|
58
|
+
return function () {
|
|
59
|
+
disableListeners.delete(cb);
|
|
60
|
+
};
|
|
61
|
+
}, []);
|
|
62
|
+
var tint = disabled || index === 3 ? null : tints[index];
|
|
63
|
+
var tintAlt = disabled || tintAltIndex === 3 ? null : tints[tintAltIndex];
|
|
64
|
+
return {
|
|
65
|
+
...tintsContext,
|
|
66
|
+
tints: tintsContext.tints,
|
|
67
|
+
tintIndex: index,
|
|
68
|
+
tintAltIndex,
|
|
69
|
+
tint,
|
|
70
|
+
tintAlt,
|
|
71
|
+
setTintIndex,
|
|
72
|
+
setNextTintFamily,
|
|
73
|
+
setDisableTintTheme,
|
|
74
|
+
disableTintTheme: disabled,
|
|
75
|
+
setNextTint: function () {
|
|
76
|
+
React.startTransition(function () {
|
|
77
|
+
setTintIndex(index + 1);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
74
80
|
};
|
|
81
|
+
};
|
|
75
82
|
export { InitialPathContext, getDisableTintTheme, getDocsSection, onTintChange, setDisableTintTheme, setTintIndex, useTint };
|
|
76
83
|
//# sourceMappingURL=useTint.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","createContext","useContext","useEffect","useState","useDidFinishSSR","getTints","setNextTintFamily","useTints","current","disableTintTheme","listeners","Set","disableListeners","onTintChange","listener","add","delete","numTints","tints","length","setTintIndex","next","val","Math","max","forEach","x","setDisableTintTheme","disable","getDisableTintTheme","getDocsSection","pathname","startsWith","InitialPathContext","useTint","altOffset","arguments","initial","didHydrate","index","setIndex","disabled","setDisabled","tintsContext","tintAltIndex","abs","cur","cb","tint","tintAlt","tintIndex"],"sources":["../../src/useTint.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,IAASC,aAAA,EAAeC,UAAA,EAAYC,SAAA,EAAWC,QAAA,QAAgB;AACtE,SAASC,eAAA,QAAuC;AAChD,SAASC,QAAA,EAAUC,iBAAA,EAAmBC,QAAA,QAAgB;AAEtD,IAAIC,OAAA,GAAU;
|
|
1
|
+
{"version":3,"names":["React","createContext","useContext","useEffect","useState","useDidFinishSSR","getTints","setNextTintFamily","useTints","current","disableTintTheme","listeners","Set","disableListeners","onTintChange","listener","add","delete","numTints","tints","length","setTintIndex","next","val","Math","max","forEach","x","setDisableTintTheme","disable","getDisableTintTheme","getDocsSection","pathname","startsWith","InitialPathContext","useTint","altOffset","arguments","initial","didHydrate","index","setIndex","disabled","setDisabled","tintsContext","tintAltIndex","abs","cur","cb","tint","tintAlt","tintIndex"],"sources":["../../src/useTint.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hanzogui/logo",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"source": "src/index.tsx",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -44,12 +44,12 @@
|
|
|
44
44
|
"clean:build": "hanzo-gui-build clean:build"
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@hanzogui/use-element-layout": "
|
|
48
|
-
"@hanzogui/web": "
|
|
49
|
-
"@hanzo/gui": "3.0
|
|
47
|
+
"@hanzogui/use-element-layout": "4.4.0",
|
|
48
|
+
"@hanzogui/web": "4.4.0",
|
|
49
|
+
"@hanzo/gui": "4.3.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|
|
52
|
-
"@hanzogui/build": "
|
|
52
|
+
"@hanzogui/build": "4.4.0",
|
|
53
53
|
"react": ">=19"
|
|
54
54
|
},
|
|
55
55
|
"peerDependencies": {
|
package/src/SeasonProvider.tsx
CHANGED
|
@@ -21,14 +21,14 @@ function getInlineScript() {
|
|
|
21
21
|
if (season !== '@hanzo/gui') {
|
|
22
22
|
document.documentElement.classList.add(season + '-season');
|
|
23
23
|
}
|
|
24
|
-
window.
|
|
24
|
+
window.__GUI_SEASON__ = season;
|
|
25
25
|
})();`
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
// syncs the tint family with the value computed by the inline script
|
|
29
29
|
function useSeasonSync() {
|
|
30
30
|
useEffect(() => {
|
|
31
|
-
const computed = (window as any).
|
|
31
|
+
const computed = (window as any).__GUI_SEASON__ as TintFamily | undefined
|
|
32
32
|
if (computed) {
|
|
33
33
|
setTintFamily(computed)
|
|
34
34
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
],
|
|
7
7
|
"version": 3,
|
|
8
8
|
"sourcesContent": [
|
|
9
|
-
"import type React from 'react'\nimport { useEffect } from 'react'\nimport { setTintFamily, type TintFamily } from './tints'\n\n// inline script that runs before hydration to set season class on html\n// auto-detects season from current date\nfunction getInlineScript() {\n return `(function(){\n var d = new Date();\n var m = d.getMonth();\n var day = d.getDate();\n var season = '@hanzo/gui';\n\n if (m === 11 && day >= 14) season = 'xmas';\n else if (m === 9 && day >= 20) season = 'halloween';\n else if (m === 2 && day >= 10 && day <= 17) season = 'stpatricks';\n else if (m === 2 && day >= 30 || m === 3 && day <= 20) season = 'easter';\n else if (m === 1 && day >= 7 && day <= 14) season = 'valentine';\n else if (m === 0 && day >= 20 || m === 1 && day <= 12) season = 'lunar';\n\n if (season !== '@hanzo/gui') {\n document.documentElement.classList.add(season + '-season');\n }\n window.
|
|
9
|
+
"import type React from 'react'\nimport { useEffect } from 'react'\nimport { setTintFamily, type TintFamily } from './tints'\n\n// inline script that runs before hydration to set season class on html\n// auto-detects season from current date\nfunction getInlineScript() {\n return `(function(){\n var d = new Date();\n var m = d.getMonth();\n var day = d.getDate();\n var season = '@hanzo/gui';\n\n if (m === 11 && day >= 14) season = 'xmas';\n else if (m === 9 && day >= 20) season = 'halloween';\n else if (m === 2 && day >= 10 && day <= 17) season = 'stpatricks';\n else if (m === 2 && day >= 30 || m === 3 && day <= 20) season = 'easter';\n else if (m === 1 && day >= 7 && day <= 14) season = 'valentine';\n else if (m === 0 && day >= 20 || m === 1 && day <= 12) season = 'lunar';\n\n if (season !== '@hanzo/gui') {\n document.documentElement.classList.add(season + '-season');\n }\n window.__GUI_SEASON__ = season;\n})();`\n}\n\n// syncs the tint family with the value computed by the inline script\nfunction useSeasonSync() {\n useEffect(() => {\n const computed = (window as any).__GUI_SEASON__ as TintFamily | undefined\n if (computed) {\n setTintFamily(computed)\n }\n }, [])\n}\n\nexport function SeasonProvider({\n children,\n}: {\n children: React.ReactNode\n}): React.ReactNode {\n useSeasonSync()\n\n return (\n <>\n {/* disabled because were launchig v2 and its lunar new year */}\n {/* <script\n suppressHydrationWarning\n dangerouslySetInnerHTML={{\n __html: getInlineScript(),\n }}\n /> */}\n {children}\n </>\n )\n}\n"
|
|
10
10
|
]
|
|
11
11
|
}
|