@circadian/sol 0.2.5 → 0.2.6

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.
@@ -19796,218 +19796,362 @@ function withAlpha(color$1, alpha$1) {
19796
19796
  }
19797
19797
  function TideCloudRenderer({ w, h, colors: colors$1, opacity }) {
19798
19798
  const id$2 = useId().replace(/:/g, "");
19799
- const waveBand = (yBase, amp, phaseOff, pts = 80) => {
19800
- const top = Array.from({ length: pts }, (_, i$1) => {
19801
- const x = i$1 / (pts - 1) * w;
19802
- const y = yBase - amp - amp * .5 * Math.sin(i$1 / (pts - 1) * Math.PI * 4 + phaseOff);
19803
- return `${i$1 === 0 ? "M" : "L"}${x.toFixed(1)},${y.toFixed(1)}`;
19804
- });
19805
- const bottom = Array.from({ length: pts }, (_, i$1) => {
19806
- const ri = pts - 1 - i$1;
19807
- const x = ri / (pts - 1) * w;
19808
- const y = yBase + amp * .4 * Math.sin(ri / (pts - 1) * Math.PI * 4 + phaseOff + .8);
19809
- return `L${x.toFixed(1)},${y.toFixed(1)}`;
19810
- });
19811
- return `${top.join(" ")} ${bottom.join(" ")} Z`;
19812
- };
19799
+ const base = colors$1?.cloudColor ?? "#A8C8D8";
19800
+ const shadow = colors$1?.cloudShadow ?? "rgba(60,100,140,0.65)";
19801
+ const hi = colors$1?.cloudHi ?? "rgba(210,248,255,0.65)";
19802
+ const cx = w / 2;
19803
+ const baseY = h * .62;
19813
19804
  return /* @__PURE__ */ jsxs("svg", {
19814
19805
  "aria-hidden": "true",
19815
19806
  width: w,
19816
19807
  height: h,
19817
19808
  viewBox: `0 0 ${w} ${h}`,
19818
- style: {
19819
- position: "absolute",
19820
- inset: 0
19821
- },
19809
+ fill: "none",
19810
+ overflow: "visible",
19811
+ style: { display: "block" },
19822
19812
  children: [
19823
- /* @__PURE__ */ jsx("style", { children: `
19824
- @keyframes tide-cloud-drift-${id$2} {
19825
- from { transform: translateX(0px); }
19826
- to { transform: translateX(-18px); }
19827
- }
19828
- ` }),
19829
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("filter", {
19830
- id: `tcf-${id$2}`,
19831
- x: "-20%",
19832
- y: "-40%",
19833
- width: "140%",
19834
- height: "180%",
19835
- children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "5" })
19836
- }) }),
19837
- /* @__PURE__ */ jsxs("g", {
19838
- style: { animation: `tide-cloud-drift-${id$2} 14s ease-in-out infinite alternate` },
19839
- filter: `url(#tcf-${id$2})`,
19840
- children: [
19841
- /* @__PURE__ */ jsx("path", {
19842
- d: waveBand(h * .25, h * .18, 0),
19843
- fill: colors$1?.cloudColor ?? "#A8C8D8",
19844
- opacity: opacity * .65
19845
- }),
19846
- /* @__PURE__ */ jsx("path", {
19847
- d: waveBand(h * .48, h * .14, Math.PI * .6),
19848
- fill: colors$1?.cloudColor ?? "#90B8CC",
19849
- opacity: opacity * .5
19850
- }),
19851
- /* @__PURE__ */ jsx("path", {
19852
- d: waveBand(h * .68, h * .1, Math.PI * 1.2),
19853
- fill: colors$1?.cloudColor ?? "#B8D0E0",
19854
- opacity: opacity * .4
19855
- })
19856
- ]
19813
+ /* @__PURE__ */ jsxs("defs", { children: [
19814
+ /* @__PURE__ */ jsx("filter", {
19815
+ id: `tc-ds-${id$2}`,
19816
+ x: "-30%",
19817
+ y: "-20%",
19818
+ width: "160%",
19819
+ height: "180%",
19820
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "9" })
19821
+ }),
19822
+ /* @__PURE__ */ jsx("filter", {
19823
+ id: `tc-mb-${id$2}`,
19824
+ x: "-20%",
19825
+ y: "-30%",
19826
+ width: "140%",
19827
+ height: "160%",
19828
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "5" })
19829
+ }),
19830
+ /* @__PURE__ */ jsx("filter", {
19831
+ id: `tc-pf-${id$2}`,
19832
+ x: "-15%",
19833
+ y: "-25%",
19834
+ width: "130%",
19835
+ height: "150%",
19836
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "3.2" })
19837
+ }),
19838
+ /* @__PURE__ */ jsx("filter", {
19839
+ id: `tc-hi-${id$2}`,
19840
+ x: "-10%",
19841
+ y: "-15%",
19842
+ width: "120%",
19843
+ height: "130%",
19844
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "1.4" })
19845
+ }),
19846
+ /* @__PURE__ */ jsx("filter", {
19847
+ id: `tc-us-${id$2}`,
19848
+ x: "-20%",
19849
+ y: "-20%",
19850
+ width: "140%",
19851
+ height: "140%",
19852
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "5.5" })
19853
+ })
19854
+ ] }),
19855
+ /* @__PURE__ */ jsx("ellipse", {
19856
+ cx: cx + w * .02,
19857
+ cy: baseY + h * .14,
19858
+ rx: w * .5,
19859
+ ry: h * .09,
19860
+ fill: shadow,
19861
+ filter: `url(#tc-ds-${id$2})`,
19862
+ opacity: opacity * .52
19863
+ }),
19864
+ /* @__PURE__ */ jsx("ellipse", {
19865
+ cx,
19866
+ cy: baseY,
19867
+ rx: w * .52,
19868
+ ry: h * .3,
19869
+ fill: base,
19870
+ filter: `url(#tc-mb-${id$2})`,
19871
+ opacity: opacity * .88
19872
+ }),
19873
+ /* @__PURE__ */ jsx("ellipse", {
19874
+ cx: cx - w * .22,
19875
+ cy: h * .36,
19876
+ rx: w * .22,
19877
+ ry: h * .24,
19878
+ fill: base,
19879
+ filter: `url(#tc-pf-${id$2})`,
19880
+ opacity: opacity * .82
19881
+ }),
19882
+ /* @__PURE__ */ jsx("ellipse", {
19883
+ cx: cx + w * .02,
19884
+ cy: h * .24,
19885
+ rx: w * .26,
19886
+ ry: h * .3,
19887
+ fill: base,
19888
+ filter: `url(#tc-pf-${id$2})`,
19889
+ opacity: opacity * .92
19890
+ }),
19891
+ /* @__PURE__ */ jsx("ellipse", {
19892
+ cx: cx + w * .26,
19893
+ cy: h * .38,
19894
+ rx: w * .2,
19895
+ ry: h * .22,
19896
+ fill: base,
19897
+ filter: `url(#tc-pf-${id$2})`,
19898
+ opacity: opacity * .78
19899
+ }),
19900
+ /* @__PURE__ */ jsx("ellipse", {
19901
+ cx,
19902
+ cy: h * .46,
19903
+ rx: w * .48,
19904
+ ry: h * .26,
19905
+ fill: base,
19906
+ filter: `url(#tc-mb-${id$2})`,
19907
+ opacity: opacity * .68
19908
+ }),
19909
+ /* @__PURE__ */ jsx("ellipse", {
19910
+ cx: cx - w * .04,
19911
+ cy: h * .18,
19912
+ rx: w * .16,
19913
+ ry: h * .1,
19914
+ fill: hi,
19915
+ filter: `url(#tc-hi-${id$2})`,
19916
+ opacity: opacity * .78
19917
+ }),
19918
+ /* @__PURE__ */ jsx("ellipse", {
19919
+ cx: cx - w * .2,
19920
+ cy: h * .28,
19921
+ rx: w * .09,
19922
+ ry: h * .06,
19923
+ fill: hi,
19924
+ filter: `url(#tc-hi-${id$2})`,
19925
+ opacity: opacity * .52
19926
+ }),
19927
+ /* @__PURE__ */ jsx("ellipse", {
19928
+ cx,
19929
+ cy: baseY + h * .06,
19930
+ rx: w * .46,
19931
+ ry: h * .09,
19932
+ fill: shadow,
19933
+ filter: `url(#tc-us-${id$2})`,
19934
+ opacity: opacity * .45
19857
19935
  })
19858
19936
  ]
19859
19937
  });
19860
19938
  }
19861
- function TideRainRenderer({ w, h, colors: colors$1, opacity }) {
19862
- const id$2 = useId().replace(/:/g, "");
19863
- const drops = Array.from({ length: 28 }, (_, i$1) => ({
19864
- x: i$1 / 27 * w * 1.2 - w * .1,
19865
- delay: i$1 * .18 % 1.4,
19866
- len: 6 + i$1 % 4 * 3
19867
- }));
19868
- return /* @__PURE__ */ jsxs("svg", {
19869
- "aria-hidden": "true",
19870
- width: w,
19871
- height: h,
19872
- viewBox: `0 0 ${w} ${h}`,
19939
+ function TideRainRenderer({ w, h, rainColorFn, angle, category }) {
19940
+ const count = category === "heavy-rain" ? 80 : category === "rain" ? 48 : 22;
19941
+ const baseLen = category === "heavy-rain" ? 30 : category === "rain" ? 20 : 10;
19942
+ const seaAngle = category === "heavy-rain" ? angle + 6 : angle + 3;
19943
+ const r = seededRand(73);
19944
+ return /* @__PURE__ */ jsx("div", {
19873
19945
  style: {
19874
19946
  position: "absolute",
19875
- inset: 0
19947
+ inset: 0,
19948
+ overflow: "hidden"
19876
19949
  },
19877
- children: [/* @__PURE__ */ jsx("style", { children: `
19878
- @keyframes tide-rain-${id$2} {
19879
- from { transform: translateY(-${h}px) translateX(-4px); }
19880
- to { transform: translateY(${h}px) translateX(4px); }
19881
- }
19882
- ` }), /* @__PURE__ */ jsx("g", {
19883
- opacity,
19884
- children: drops.map((d, i$1) => /* @__PURE__ */ jsx("line", {
19885
- x1: d.x,
19886
- y1: 0,
19887
- x2: d.x + 4,
19888
- y2: d.len,
19889
- stroke: colors$1?.rainColor ?? "#A0C8E0",
19890
- strokeWidth: .8,
19891
- style: { animation: `tide-rain-${id$2} 1.1s linear ${d.delay}s infinite` }
19892
- }, d.x))
19893
- })]
19950
+ children: Array.from({ length: count }, (_, i$1) => {
19951
+ const layer = r() > .45;
19952
+ const isSpray = r() > .85;
19953
+ return {
19954
+ i: i$1,
19955
+ x: r() * 112 - 6,
19956
+ delay: -(r() * 1.8),
19957
+ dur: isSpray ? .5 + r() * .3 : .28 + r() * .28,
19958
+ alpha: layer ? .6 + r() * .32 : .2 + r() * .2,
19959
+ len: isSpray ? baseLen * .3 : layer ? baseLen : baseLen * .55,
19960
+ wid: isSpray ? 2.5 : layer ? 1.6 : .9,
19961
+ spray: isSpray
19962
+ };
19963
+ }).map((d) => /* @__PURE__ */ jsx("div", { style: {
19964
+ position: "absolute",
19965
+ left: `${d.x}%`,
19966
+ top: 0,
19967
+ width: `${d.wid}px`,
19968
+ height: `${d.len}px`,
19969
+ background: d.spray ? rainColorFn(d.alpha * .7) : `linear-gradient(to bottom, transparent 0%, ${rainColorFn(d.alpha)} 55%, ${rainColorFn(d.alpha * .4)} 100%)`,
19970
+ borderRadius: d.spray ? "50%" : "0 0 3px 3px",
19971
+ transform: `rotate(${seaAngle}deg)`,
19972
+ transformOrigin: "top center",
19973
+ animation: `wRtide ${d.dur}s ${d.delay}s linear infinite`
19974
+ } }, d.i))
19894
19975
  });
19895
19976
  }
19896
19977
  function SundialCloudRenderer({ w, h, colors: colors$1, opacity }) {
19897
19978
  const id$2 = useId().replace(/:/g, "");
19898
- const slabs = [
19899
- {
19900
- x: w * .05,
19901
- y: h * .08,
19902
- rw: w * .55,
19903
- rh: h * .32,
19904
- rx: 3
19905
- },
19906
- {
19907
- x: w * .38,
19908
- y: h * .22,
19909
- rw: w * .5,
19910
- rh: h * .28,
19911
- rx: 2
19912
- },
19913
- {
19914
- x: w * .1,
19915
- y: h * .44,
19916
- rw: w * .42,
19917
- rh: h * .22,
19918
- rx: 2
19919
- },
19920
- {
19921
- x: w * .55,
19922
- y: h * .5,
19923
- rw: w * .38,
19924
- rh: h * .2,
19925
- rx: 2
19926
- }
19927
- ];
19979
+ const base = colors$1?.cloudColor ?? "#C8B898";
19980
+ const shadow = colors$1?.cloudShadow ?? "rgba(120,85,45,0.65)";
19981
+ const hi = colors$1?.cloudHi ?? "rgba(255,248,220,0.75)";
19982
+ const cx = w / 2;
19983
+ const baseY = h * .6;
19928
19984
  return /* @__PURE__ */ jsxs("svg", {
19929
19985
  "aria-hidden": "true",
19930
19986
  width: w,
19931
19987
  height: h,
19932
19988
  viewBox: `0 0 ${w} ${h}`,
19933
- style: {
19934
- position: "absolute",
19935
- inset: 0
19936
- },
19989
+ fill: "none",
19990
+ overflow: "visible",
19991
+ style: { display: "block" },
19937
19992
  children: [
19938
- /* @__PURE__ */ jsx("style", { children: `
19939
- @keyframes sundial-slab-${id$2} {
19940
- from { transform: translateX(0px); }
19941
- to { transform: translateX(-12px); }
19942
- }
19943
- ` }),
19944
- /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsx("filter", {
19945
- id: `scf-${id$2}`,
19946
- x: "-5%",
19947
- y: "-10%",
19948
- width: "110%",
19949
- height: "120%",
19950
- children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "2.5" })
19951
- }) }),
19952
- /* @__PURE__ */ jsxs("g", {
19953
- filter: `url(#scf-${id$2})`,
19954
- style: { animation: `sundial-slab-${id$2} 22s ease-in-out infinite alternate` },
19955
- children: [slabs.map((s, i$1) => /* @__PURE__ */ jsx("rect", {
19956
- x: s.x,
19957
- y: s.y,
19958
- width: s.rw,
19959
- height: s.rh,
19960
- rx: s.rx,
19961
- fill: colors$1?.cloudColor ?? "#C8B898",
19962
- stroke: colors$1?.cloudColor ?? "#B8A888",
19963
- strokeWidth: .5,
19964
- opacity: opacity * (.7 - i$1 * .1)
19965
- }, s.x)), slabs.map((s) => /* @__PURE__ */ jsx("line", {
19966
- x1: s.x + 6,
19967
- y1: s.y + s.rh * .35,
19968
- x2: s.x + s.rw - 6,
19969
- y2: s.y + s.rh * .35,
19970
- stroke: colors$1?.cloudColor ?? "#A09080",
19971
- strokeWidth: .4,
19972
- opacity: opacity * .3
19973
- }, `l-${s.x}`))]
19993
+ /* @__PURE__ */ jsxs("defs", { children: [
19994
+ /* @__PURE__ */ jsx("filter", {
19995
+ id: `sd-ds-${id$2}`,
19996
+ x: "-30%",
19997
+ y: "-20%",
19998
+ width: "160%",
19999
+ height: "180%",
20000
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "8" })
20001
+ }),
20002
+ /* @__PURE__ */ jsx("filter", {
20003
+ id: `sd-mb-${id$2}`,
20004
+ x: "-20%",
20005
+ y: "-30%",
20006
+ width: "140%",
20007
+ height: "160%",
20008
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "4" })
20009
+ }),
20010
+ /* @__PURE__ */ jsx("filter", {
20011
+ id: `sd-pf-${id$2}`,
20012
+ x: "-15%",
20013
+ y: "-25%",
20014
+ width: "130%",
20015
+ height: "150%",
20016
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "2.6" })
20017
+ }),
20018
+ /* @__PURE__ */ jsx("filter", {
20019
+ id: `sd-hi-${id$2}`,
20020
+ x: "-10%",
20021
+ y: "-15%",
20022
+ width: "120%",
20023
+ height: "130%",
20024
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "1.2" })
20025
+ }),
20026
+ /* @__PURE__ */ jsx("filter", {
20027
+ id: `sd-us-${id$2}`,
20028
+ x: "-20%",
20029
+ y: "-20%",
20030
+ width: "140%",
20031
+ height: "140%",
20032
+ children: /* @__PURE__ */ jsx("feGaussianBlur", { stdDeviation: "4.5" })
20033
+ })
20034
+ ] }),
20035
+ /* @__PURE__ */ jsx("ellipse", {
20036
+ cx: cx + w * .02,
20037
+ cy: baseY + h * .14,
20038
+ rx: w * .46,
20039
+ ry: h * .09,
20040
+ fill: shadow,
20041
+ filter: `url(#sd-ds-${id$2})`,
20042
+ opacity: opacity * .48
20043
+ }),
20044
+ /* @__PURE__ */ jsx("ellipse", {
20045
+ cx,
20046
+ cy: baseY,
20047
+ rx: w * .48,
20048
+ ry: h * .3,
20049
+ fill: base,
20050
+ filter: `url(#sd-mb-${id$2})`,
20051
+ opacity: opacity * .85
20052
+ }),
20053
+ /* @__PURE__ */ jsx("ellipse", {
20054
+ cx: cx - w * .24,
20055
+ cy: h * .32,
20056
+ rx: w * .18,
20057
+ ry: h * .28,
20058
+ fill: base,
20059
+ filter: `url(#sd-pf-${id$2})`,
20060
+ opacity: opacity * .8
20061
+ }),
20062
+ /* @__PURE__ */ jsx("ellipse", {
20063
+ cx: cx + w * .01,
20064
+ cy: h * .2,
20065
+ rx: w * .22,
20066
+ ry: h * .34,
20067
+ fill: base,
20068
+ filter: `url(#sd-pf-${id$2})`,
20069
+ opacity: opacity * .9
20070
+ }),
20071
+ /* @__PURE__ */ jsx("ellipse", {
20072
+ cx: cx + w * .26,
20073
+ cy: h * .34,
20074
+ rx: w * .17,
20075
+ ry: h * .26,
20076
+ fill: base,
20077
+ filter: `url(#sd-pf-${id$2})`,
20078
+ opacity: opacity * .76
20079
+ }),
20080
+ /* @__PURE__ */ jsx("ellipse", {
20081
+ cx,
20082
+ cy: h * .44,
20083
+ rx: w * .44,
20084
+ ry: h * .26,
20085
+ fill: base,
20086
+ filter: `url(#sd-mb-${id$2})`,
20087
+ opacity: opacity * .65
20088
+ }),
20089
+ /* @__PURE__ */ jsx("ellipse", {
20090
+ cx: cx - w * .06,
20091
+ cy: h * .14,
20092
+ rx: w * .14,
20093
+ ry: h * .09,
20094
+ fill: hi,
20095
+ filter: `url(#sd-hi-${id$2})`,
20096
+ opacity: opacity * .82
20097
+ }),
20098
+ /* @__PURE__ */ jsx("ellipse", {
20099
+ cx: cx - w * .22,
20100
+ cy: h * .24,
20101
+ rx: w * .08,
20102
+ ry: h * .06,
20103
+ fill: hi,
20104
+ filter: `url(#sd-hi-${id$2})`,
20105
+ opacity: opacity * .56
20106
+ }),
20107
+ /* @__PURE__ */ jsx("ellipse", {
20108
+ cx,
20109
+ cy: baseY + h * .06,
20110
+ rx: w * .44,
20111
+ ry: h * .09,
20112
+ fill: shadow,
20113
+ filter: `url(#sd-us-${id$2})`,
20114
+ opacity: opacity * .42
19974
20115
  })
19975
20116
  ]
19976
20117
  });
19977
20118
  }
19978
- function SundialRainRenderer({ w, h, colors: colors$1, opacity }) {
19979
- const id$2 = useId().replace(/:/g, "");
19980
- const streaks = Array.from({ length: 22 }, (_, i$1) => ({
19981
- x: i$1 / 21 * w * 1.1 - w * .05,
19982
- delay: i$1 * .22 % 1.6,
19983
- len: 8 + i$1 % 3 * 4
19984
- }));
19985
- return /* @__PURE__ */ jsxs("svg", {
19986
- "aria-hidden": "true",
19987
- width: w,
19988
- height: h,
19989
- viewBox: `0 0 ${w} ${h}`,
20119
+ function SundialRainRenderer({ w, h, rainColorFn, category }) {
20120
+ const count = category === "heavy-rain" ? 52 : category === "rain" ? 32 : 14;
20121
+ const baseLen = category === "heavy-rain" ? 28 : category === "rain" ? 18 : 9;
20122
+ const r = seededRand(89);
20123
+ return /* @__PURE__ */ jsx("div", {
19990
20124
  style: {
19991
20125
  position: "absolute",
19992
- inset: 0
20126
+ inset: 0,
20127
+ overflow: "hidden"
19993
20128
  },
19994
- children: [/* @__PURE__ */ jsx("style", { children: `
19995
- @keyframes sundial-rain-${id$2} {
19996
- from { transform: translateY(-${h}px); }
19997
- to { transform: translateY(${h * 1.5}px); }
19998
- }
19999
- ` }), /* @__PURE__ */ jsx("g", {
20000
- opacity,
20001
- children: streaks.map((d) => /* @__PURE__ */ jsx("line", {
20002
- x1: d.x,
20003
- y1: 0,
20004
- x2: d.x,
20005
- y2: d.len,
20006
- stroke: colors$1?.rainColor ?? "#8090A0",
20007
- strokeWidth: 1,
20008
- style: { animation: `sundial-rain-${id$2} 1.8s linear ${d.delay}s infinite` }
20009
- }, d.x))
20010
- })]
20129
+ children: Array.from({ length: count }, (_, i$1) => {
20130
+ const layer = r() > .5;
20131
+ const isRunoff = r() > .75;
20132
+ return {
20133
+ i: i$1,
20134
+ x: r() * 106 - 3,
20135
+ delay: -(r() * 2.8),
20136
+ dur: isRunoff ? 1.2 + r() * .8 : .65 + r() * .5,
20137
+ alpha: layer ? .52 + r() * .28 : .16 + r() * .18,
20138
+ len: isRunoff ? baseLen * 2.2 : layer ? baseLen : baseLen * .6,
20139
+ wid: isRunoff ? .8 : layer ? 1.2 : .65,
20140
+ runoff: isRunoff
20141
+ };
20142
+ }).map((d) => /* @__PURE__ */ jsx("div", { style: {
20143
+ position: "absolute",
20144
+ left: `${d.x}%`,
20145
+ top: 0,
20146
+ width: `${d.wid}px`,
20147
+ height: `${d.len}px`,
20148
+ background: d.runoff ? `linear-gradient(to bottom, transparent 0%, ${rainColorFn(d.alpha * .4)} 15%, ${rainColorFn(d.alpha)} 50%, ${rainColorFn(d.alpha * .6)} 85%, transparent 100%)` : `linear-gradient(to bottom, transparent 0%, ${rainColorFn(d.alpha)} 50%, transparent 100%)`,
20149
+ borderRadius: d.runoff ? "0" : "50%",
20150
+ filter: d.runoff ? "none" : "blur(0.3px)",
20151
+ transform: "rotate(1deg)",
20152
+ transformOrigin: "top center",
20153
+ animation: `wRsundial ${d.dur}s ${d.delay}s linear infinite`
20154
+ } }, d.i))
20011
20155
  });
20012
20156
  }
20013
20157
  function VoidCloudRenderer({ w, h, colors: colors$1, opacity }) {
@@ -20702,50 +20846,425 @@ function WeatherLayer({ category, skin = "foundry", opacity = 1, phaseColors })
20702
20846
  });
20703
20847
  }
20704
20848
  const signalGridLines = skin === "signal" && (category === "rain" || category === "heavy-rain" || category === "drizzle" || category === "snow" || category === "heavy-snow");
20705
- if (skin === "tide") return /* @__PURE__ */ jsxs("div", {
20706
- ref: containerRef,
20707
- "aria-hidden": true,
20708
- style: {
20709
- position: "absolute",
20710
- inset: 0,
20711
- pointerEvents: "none",
20712
- opacity,
20713
- zIndex: 4
20714
- },
20715
- children: [/* @__PURE__ */ jsx(TideCloudRenderer, {
20716
- w: dims.w,
20717
- h: dims.h,
20718
- colors: { cloudColor: cloudBase },
20719
- opacity: 1
20720
- }), (category === "rain" || category === "heavy-rain" || category === "drizzle") && /* @__PURE__ */ jsx(TideRainRenderer, {
20721
- w: dims.w,
20722
- h: dims.h,
20723
- colors: { rainColor: rainColorFn(.7) },
20724
- opacity: 1
20725
- })]
20726
- });
20727
- if (skin === "sundial") return /* @__PURE__ */ jsxs("div", {
20728
- ref: containerRef,
20729
- "aria-hidden": true,
20730
- style: {
20731
- position: "absolute",
20732
- inset: 0,
20733
- pointerEvents: "none",
20734
- opacity,
20735
- zIndex: 4
20736
- },
20737
- children: [/* @__PURE__ */ jsx(SundialCloudRenderer, {
20738
- w: dims.w,
20739
- h: dims.h,
20740
- colors: { cloudColor: cloudBase },
20741
- opacity: 1
20742
- }), (category === "rain" || category === "heavy-rain" || category === "drizzle") && /* @__PURE__ */ jsx(SundialRainRenderer, {
20743
- w: dims.w,
20744
- h: dims.h,
20745
- colors: { rainColor: rainColorFn(.6) },
20746
- opacity: 1
20747
- })]
20748
- });
20849
+ if (skin === "tide") {
20850
+ const cloudCount$1 = isHeavy ? 4 : isDark ? 3 : category === "partly-cloudy" ? 2 : 3;
20851
+ const cloudLayers = [
20852
+ {
20853
+ key: "bg1",
20854
+ top: "0%",
20855
+ speed: 80,
20856
+ delay: -20,
20857
+ opac: isHeavy ? .96 : isDark ? .88 : .72,
20858
+ wMul: .92,
20859
+ hMul: .7,
20860
+ kf: "wCbg"
20861
+ },
20862
+ {
20863
+ key: "fg1",
20864
+ top: "18%",
20865
+ speed: 55,
20866
+ delay: -8,
20867
+ opac: isHeavy ? .84 : isDark ? .75 : .58,
20868
+ wMul: .7,
20869
+ hMul: .55,
20870
+ kf: "wCfg"
20871
+ },
20872
+ ...cloudCount$1 >= 3 ? [{
20873
+ key: "bg2",
20874
+ top: "4%",
20875
+ speed: 68,
20876
+ delay: -38,
20877
+ opac: isHeavy ? .92 : isDark ? .8 : .52,
20878
+ wMul: 1.05,
20879
+ hMul: .72,
20880
+ kf: "wCbg"
20881
+ }] : [],
20882
+ ...cloudCount$1 >= 4 ? [{
20883
+ key: "fg2",
20884
+ top: "22%",
20885
+ speed: 44,
20886
+ delay: -14,
20887
+ opac: .88,
20888
+ wMul: .62,
20889
+ hMul: .5,
20890
+ kf: "wCfg"
20891
+ }] : []
20892
+ ];
20893
+ const hasRain = category === "rain" || category === "heavy-rain" || category === "drizzle";
20894
+ const hasSnow = category === "snow" || category === "heavy-snow";
20895
+ const snowCount$1 = category === "heavy-snow" ? 55 : 30;
20896
+ const sr2 = seededRand(55);
20897
+ const snowFlakes = Array.from({ length: snowCount$1 }, (_, i$1) => {
20898
+ const sz = 1.8 + sr2() * 3;
20899
+ return {
20900
+ i: i$1,
20901
+ x: sr2() * 100,
20902
+ sz,
20903
+ dur: 6 + sr2() * 8,
20904
+ delay: -(sr2() * 10),
20905
+ drift: (sr2() - .5) * 60,
20906
+ alpha: .45 + sr2() * .45,
20907
+ glow: sz > 3
20908
+ };
20909
+ });
20910
+ return /* @__PURE__ */ jsxs("div", {
20911
+ ref: containerRef,
20912
+ "aria-hidden": true,
20913
+ style: {
20914
+ position: "absolute",
20915
+ inset: 0,
20916
+ pointerEvents: "none",
20917
+ opacity,
20918
+ zIndex: 4
20919
+ },
20920
+ children: [
20921
+ /* @__PURE__ */ jsx("style", { children: `
20922
+ @keyframes wCbg { from { transform: translateX(-200px); } to { transform: translateX(460px); } }
20923
+ @keyframes wCfg { from { transform: translateX(-150px); } to { transform: translateX(420px); } }
20924
+ @keyframes wRtide {
20925
+ 0% { transform: translateY(-6%) rotate(13deg); opacity: 0; }
20926
+ 6% { opacity: 1; }
20927
+ 90% { opacity: 1; }
20928
+ 100% { transform: translateY(114%) rotate(13deg); opacity: 0; }
20929
+ }
20930
+ @keyframes wS {
20931
+ 0% { transform: translateY(-4%) translateX(0) scale(1); opacity: 0; }
20932
+ 5% { opacity: var(--a, 0.7); }
20933
+ 95% { opacity: var(--a, 0.7); }
20934
+ 100% { transform: translateY(112%) translateX(var(--d, 0px)) scale(0.8); opacity: 0; }
20935
+ }
20936
+ @keyframes wFog { 0%, 100% { opacity: 0.38; } 50% { opacity: 0.65; } }
20937
+ @keyframes wFog2 { 0%, 100% { opacity: 0.22; } 50% { opacity: 0.48; } }
20938
+ @keyframes tideFogRise {
20939
+ 0% { transform: translateY(0px) scaleX(1.0); opacity: 0.28; }
20940
+ 50% { transform: translateY(-8px) scaleX(1.04); opacity: 0.55; }
20941
+ 100% { transform: translateY(0px) scaleX(1.0); opacity: 0.28; }
20942
+ }
20943
+ ` }),
20944
+ category !== "fog" && cloudLayers.map((cl) => /* @__PURE__ */ jsx("div", {
20945
+ style: {
20946
+ position: "absolute",
20947
+ top: cl.top,
20948
+ left: 0,
20949
+ opacity: cl.opac,
20950
+ animation: `${cl.kf} ${cl.speed}s ${cl.delay}s linear infinite`,
20951
+ willChange: "transform"
20952
+ },
20953
+ children: /* @__PURE__ */ jsx(TideCloudRenderer, {
20954
+ w: Math.round(dims.w * cl.wMul),
20955
+ h: Math.round(dims.h * cl.hMul),
20956
+ colors: {
20957
+ cloudColor: cloudBase,
20958
+ cloudShadow,
20959
+ cloudHi
20960
+ },
20961
+ opacity: 1
20962
+ })
20963
+ }, cl.key)),
20964
+ hasRain && /* @__PURE__ */ jsx(TideRainRenderer, {
20965
+ w: dims.w,
20966
+ h: dims.h,
20967
+ rainColorFn,
20968
+ angle: rainAngle,
20969
+ category
20970
+ }),
20971
+ hasSnow && /* @__PURE__ */ jsx("div", {
20972
+ style: {
20973
+ position: "absolute",
20974
+ inset: 0,
20975
+ overflow: "hidden"
20976
+ },
20977
+ children: snowFlakes.map((f) => /* @__PURE__ */ jsx("div", { style: {
20978
+ position: "absolute",
20979
+ left: `${f.x}%`,
20980
+ top: 0,
20981
+ width: f.sz,
20982
+ height: f.sz,
20983
+ borderRadius: "50%",
20984
+ background: snowFill,
20985
+ boxShadow: f.glow ? `0 0 ${f.sz * 2}px rgba(210,240,255,0.8)` : "none",
20986
+ opacity: 0,
20987
+ ["--d"]: `${f.drift}px`,
20988
+ ["--a"]: `${f.alpha}`,
20989
+ animation: `wS ${f.dur}s ${f.delay}s ease-in-out infinite`
20990
+ } }, f.i))
20991
+ }),
20992
+ category === "fog" && /* @__PURE__ */ jsxs("div", {
20993
+ style: {
20994
+ position: "absolute",
20995
+ inset: 0,
20996
+ overflow: "hidden"
20997
+ },
20998
+ children: [[
20999
+ 0,
21000
+ 1,
21001
+ 2,
21002
+ 3,
21003
+ 4
21004
+ ].map((i$1) => /* @__PURE__ */ jsx("div", { style: {
21005
+ position: "absolute",
21006
+ left: 0,
21007
+ right: 0,
21008
+ bottom: `${i$1 * 16}%`,
21009
+ height: "30%",
21010
+ background: `linear-gradient(to top,
21011
+ ${fogColorFn(.32 - i$1 * .05)} 0%,
21012
+ ${fogColor2Fn(.25 - i$1 * .04)} 50%,
21013
+ transparent 100%)`,
21014
+ filter: "blur(7px)",
21015
+ animation: `${i$1 % 2 === 0 ? "tideFogRise" : "wFog2"} ${14 + i$1 * 4}s ${i$1 * 2.5}s ease-in-out infinite`
21016
+ } }, i$1)), [0, 1].map((i$1) => /* @__PURE__ */ jsx("div", { style: {
21017
+ position: "absolute",
21018
+ left: 0,
21019
+ right: 0,
21020
+ top: `${30 + i$1 * 20}%`,
21021
+ height: "22%",
21022
+ background: `linear-gradient(to right,
21023
+ transparent 0%,
21024
+ ${fogColorFn(.14 + i$1 * .04)} 30%,
21025
+ ${fogColor2Fn(.18 + i$1 * .03)} 55%,
21026
+ ${fogColorFn(.14 + i$1 * .04)} 78%,
21027
+ transparent 100%)`,
21028
+ filter: "blur(9px)",
21029
+ animation: `${i$1 % 2 === 0 ? "wFog" : "wFog2"} ${22 + i$1 * 7}s ${i$1 * 4}s ease-in-out infinite`
21030
+ } }, `w${i$1}`))]
21031
+ }),
21032
+ category === "thunder" && /* @__PURE__ */ jsx("div", {
21033
+ style: {
21034
+ position: "absolute",
21035
+ inset: 0
21036
+ },
21037
+ children: /* @__PURE__ */ jsx(VoidThunderRenderer, {
21038
+ w: dims.w,
21039
+ h: dims.h,
21040
+ colors: { thunderColor: boltFill },
21041
+ opacity: .72
21042
+ })
21043
+ })
21044
+ ]
21045
+ });
21046
+ }
21047
+ if (skin === "sundial") {
21048
+ const cloudCount$1 = isHeavy ? 4 : isDark ? 3 : category === "partly-cloudy" ? 2 : 3;
21049
+ const cloudLayers = [
21050
+ {
21051
+ key: "bg1",
21052
+ top: "2%",
21053
+ speed: 95,
21054
+ delay: -28,
21055
+ opac: isHeavy ? .94 : isDark ? .86 : .68,
21056
+ wMul: .94,
21057
+ hMul: .68,
21058
+ kf: "wCbg"
21059
+ },
21060
+ {
21061
+ key: "fg1",
21062
+ top: "22%",
21063
+ speed: 65,
21064
+ delay: -12,
21065
+ opac: isHeavy ? .82 : isDark ? .72 : .52,
21066
+ wMul: .68,
21067
+ hMul: .52,
21068
+ kf: "wCfg"
21069
+ },
21070
+ ...cloudCount$1 >= 3 ? [{
21071
+ key: "bg2",
21072
+ top: "6%",
21073
+ speed: 78,
21074
+ delay: -45,
21075
+ opac: isHeavy ? .9 : isDark ? .78 : .48,
21076
+ wMul: 1.06,
21077
+ hMul: .75,
21078
+ kf: "wCbg"
21079
+ }] : [],
21080
+ ...cloudCount$1 >= 4 ? [{
21081
+ key: "fg2",
21082
+ top: "26%",
21083
+ speed: 50,
21084
+ delay: -18,
21085
+ opac: .85,
21086
+ wMul: .6,
21087
+ hMul: .48,
21088
+ kf: "wCfg"
21089
+ }] : []
21090
+ ];
21091
+ const hasRain = category === "rain" || category === "heavy-rain" || category === "drizzle";
21092
+ const hasSnow = category === "snow" || category === "heavy-snow";
21093
+ const snowCount$1 = category === "heavy-snow" ? 44 : 24;
21094
+ const sr3 = seededRand(63);
21095
+ const snowFlakes = Array.from({ length: snowCount$1 }, (_, i$1) => {
21096
+ const sz = 1.2 + sr3() * 2.2;
21097
+ return {
21098
+ i: i$1,
21099
+ x: sr3() * 100,
21100
+ sz,
21101
+ dur: 10 + sr3() * 13,
21102
+ delay: -(sr3() * 15),
21103
+ drift: (sr3() - .5) * 28,
21104
+ alpha: .4 + sr3() * .42
21105
+ };
21106
+ });
21107
+ return /* @__PURE__ */ jsxs("div", {
21108
+ ref: containerRef,
21109
+ "aria-hidden": true,
21110
+ style: {
21111
+ position: "absolute",
21112
+ inset: 0,
21113
+ pointerEvents: "none",
21114
+ opacity,
21115
+ zIndex: 4
21116
+ },
21117
+ children: [
21118
+ /* @__PURE__ */ jsx("style", { children: `
21119
+ @keyframes wCbg { from { transform: translateX(-200px); } to { transform: translateX(460px); } }
21120
+ @keyframes wCfg { from { transform: translateX(-150px); } to { transform: translateX(420px); } }
21121
+ @keyframes wRsundial {
21122
+ 0% { transform: translateY(-6%) rotate(1deg); opacity: 0; }
21123
+ 6% { opacity: 1; }
21124
+ 90% { opacity: 1; }
21125
+ 100% { transform: translateY(114%) rotate(1deg); opacity: 0; }
21126
+ }
21127
+ @keyframes wS {
21128
+ 0% { transform: translateY(-4%) translateX(0) scale(1); opacity: 0; }
21129
+ 5% { opacity: var(--a, 0.7); }
21130
+ 95% { opacity: var(--a, 0.7); }
21131
+ 100% { transform: translateY(112%) translateX(var(--d, 0px)) scale(0.8); opacity: 0; }
21132
+ }
21133
+ @keyframes wFog { 0%, 100% { opacity: 0.35; } 50% { opacity: 0.58; } }
21134
+ @keyframes wFog2 { 0%, 100% { opacity: 0.20; } 50% { opacity: 0.42; } }
21135
+ @keyframes stoneMist {
21136
+ 0% { transform: translateX(0px) scaleY(1.0); opacity: 0.32; }
21137
+ 50% { transform: translateX(12px) scaleY(1.06); opacity: 0.55; }
21138
+ 100% { transform: translateX(0px) scaleY(1.0); opacity: 0.32; }
21139
+ }
21140
+ ` }),
21141
+ category !== "fog" && cloudLayers.map((cl) => /* @__PURE__ */ jsx("div", {
21142
+ style: {
21143
+ position: "absolute",
21144
+ top: cl.top,
21145
+ left: 0,
21146
+ opacity: cl.opac,
21147
+ animation: `${cl.kf} ${cl.speed}s ${cl.delay}s linear infinite`,
21148
+ willChange: "transform"
21149
+ },
21150
+ children: /* @__PURE__ */ jsx(SundialCloudRenderer, {
21151
+ w: Math.round(dims.w * cl.wMul),
21152
+ h: Math.round(dims.h * cl.hMul),
21153
+ colors: {
21154
+ cloudColor: cloudBase,
21155
+ cloudShadow,
21156
+ cloudHi
21157
+ },
21158
+ opacity: 1
21159
+ })
21160
+ }, cl.key)),
21161
+ hasRain && /* @__PURE__ */ jsx(SundialRainRenderer, {
21162
+ w: dims.w,
21163
+ h: dims.h,
21164
+ rainColorFn,
21165
+ category
21166
+ }),
21167
+ hasSnow && /* @__PURE__ */ jsx("div", {
21168
+ style: {
21169
+ position: "absolute",
21170
+ inset: 0,
21171
+ overflow: "hidden"
21172
+ },
21173
+ children: snowFlakes.map((f) => /* @__PURE__ */ jsx("div", { style: {
21174
+ position: "absolute",
21175
+ left: `${f.x}%`,
21176
+ top: 0,
21177
+ width: f.sz,
21178
+ height: f.sz,
21179
+ borderRadius: "35%",
21180
+ background: snowFill,
21181
+ filter: "blur(0.3px)",
21182
+ opacity: 0,
21183
+ ["--d"]: `${f.drift}px`,
21184
+ ["--a"]: `${f.alpha}`,
21185
+ animation: `wS ${f.dur}s ${f.delay}s ease-in-out infinite`
21186
+ } }, f.i))
21187
+ }),
21188
+ category === "fog" && /* @__PURE__ */ jsxs("div", {
21189
+ style: {
21190
+ position: "absolute",
21191
+ inset: 0,
21192
+ overflow: "hidden"
21193
+ },
21194
+ children: [[
21195
+ 0,
21196
+ 1,
21197
+ 2,
21198
+ 3
21199
+ ].map((i$1) => /* @__PURE__ */ jsx("div", { style: {
21200
+ position: "absolute",
21201
+ left: 0,
21202
+ right: 0,
21203
+ top: `${18 + i$1 * 14}%`,
21204
+ height: "26%",
21205
+ background: `linear-gradient(to right,
21206
+ transparent 0%,
21207
+ ${fogColorFn(.22 + i$1 * .04)} 22%,
21208
+ ${fogColor2Fn(.28 + i$1 * .03)} 48%,
21209
+ ${fogColorFn(.22 + i$1 * .04)} 74%,
21210
+ transparent 100%)`,
21211
+ filter: "blur(5px)",
21212
+ animation: `${i$1 % 2 === 0 ? "stoneMist" : "wFog2"} ${22 + i$1 * 7}s ${i$1 * 4}s ease-in-out infinite`
21213
+ } }, i$1)), /* @__PURE__ */ jsx("div", { style: {
21214
+ position: "absolute",
21215
+ left: 0,
21216
+ right: 0,
21217
+ bottom: 0,
21218
+ height: "30%",
21219
+ background: `linear-gradient(to top,
21220
+ ${fogColorFn(.2)} 0%,
21221
+ ${fogColor2Fn(.14)} 55%,
21222
+ transparent 100%)`,
21223
+ filter: "blur(6px)",
21224
+ animation: "wFog 18s ease-in-out infinite"
21225
+ } })]
21226
+ }),
21227
+ category === "thunder" && /* @__PURE__ */ jsxs("div", {
21228
+ style: {
21229
+ position: "absolute",
21230
+ inset: 0
21231
+ },
21232
+ children: [/* @__PURE__ */ jsx(VoidThunderRenderer, {
21233
+ w: dims.w,
21234
+ h: dims.h,
21235
+ colors: { thunderColor: boltFill },
21236
+ opacity: .62
21237
+ }), /* @__PURE__ */ jsxs("svg", {
21238
+ "aria-hidden": "true",
21239
+ style: {
21240
+ position: "absolute",
21241
+ inset: 0,
21242
+ pointerEvents: "none"
21243
+ },
21244
+ width: dims.w,
21245
+ height: dims.h,
21246
+ viewBox: `0 0 ${dims.w} ${dims.h}`,
21247
+ children: [/* @__PURE__ */ jsx("style", { children: `
21248
+ @keyframes sundial-bolt {
21249
+ 0%, 54%, 70%, 100% { opacity: 0; }
21250
+ 56%, 68% { opacity: 0.55; }
21251
+ }
21252
+ ` }), /* @__PURE__ */ jsx("polyline", {
21253
+ points: `${dims.w * .54},0 ${dims.w * .46},${dims.h * .38} ${dims.w * .54},${dims.h * .38} ${dims.w * .4},${dims.h}`,
21254
+ fill: "none",
21255
+ stroke: boltFill,
21256
+ strokeWidth: 1.8,
21257
+ strokeLinejoin: "miter",
21258
+ style: {
21259
+ animation: "sundial-bolt 4.5s ease-in-out infinite",
21260
+ filter: `drop-shadow(0 0 4px ${boltFill})`
21261
+ }
21262
+ })]
21263
+ })]
21264
+ })
21265
+ ]
21266
+ });
21267
+ }
20749
21268
  if (skin === "void" && category !== "thunder") return /* @__PURE__ */ jsx("div", {
20750
21269
  ref: containerRef,
20751
21270
  "aria-hidden": true,
@@ -54217,4 +54736,4 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
54217
54736
 
54218
54737
  //#endregion
54219
54738
  export { getSessionIsLive as a, setSessionTimeMinutes as c, clearSessionTimeMinutes as i, lerpHex as l, useSolarTheme as n, getSessionTimeMinutes as o, SKINS as r, setSessionLive as s, SolarThemeProvider as t };
54220
- //# sourceMappingURL=solar-theme-provider-B7OXjDSr.js.map
54739
+ //# sourceMappingURL=solar-theme-provider-BWHxbh0l.js.map