@circadian/sol 0.2.10 → 0.2.12

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,4 +1,4 @@
1
- import { c as getSessionTimeMinutes, l as setSessionLive, n as useSolarTheme, o as clearSessionTimeMinutes, s as getSessionIsLive, u as setSessionTimeMinutes } from "../solar-theme-provider-BcP2n4b7.js";
1
+ import { c as getSessionTimeMinutes, l as setSessionLive, n as useSolarTheme, o as clearSessionTimeMinutes, s as getSessionIsLive, u as setSessionTimeMinutes } from "../solar-theme-provider-cxO4tmFT.js";
2
2
  import { useCallback, useEffect, useMemo, useState } from "react";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  import { createPortal } from "react-dom";
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ReactNode } from "react";
2
- import * as react_jsx_runtime4 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/hooks/useSolarPosition.d.ts
5
5
 
@@ -161,7 +161,7 @@ declare function SolarWidget({
161
161
  weatherCategoryOverride,
162
162
  simulatedDate: simulatedDateProp,
163
163
  forceExpanded
164
- }: SolarWidgetProps): react_jsx_runtime4.JSX.Element;
164
+ }: SolarWidgetProps): react_jsx_runtime0.JSX.Element;
165
165
  //#endregion
166
166
  //#region src/widgets/compact-widget.shell.d.ts
167
167
  type WeatherCategory$1 = 'clear' | 'partly-cloudy' | 'overcast' | 'fog' | 'drizzle' | 'rain' | 'heavy-rain' | 'snow' | 'heavy-snow' | 'thunder';
@@ -228,7 +228,7 @@ declare function CompactWidget({
228
228
  customPalettes,
229
229
  simulatedDate: simulatedDateProp,
230
230
  className
231
- }: CompactWidgetProps): react_jsx_runtime4.JSX.Element;
231
+ }: CompactWidgetProps): react_jsx_runtime0.JSX.Element;
232
232
  //#endregion
233
233
  //#region src/skins/types/widget-skin.types.d.ts
234
234
  interface ShaderImage {
@@ -420,6 +420,18 @@ interface SolarTheme {
420
420
  latitude: number | null;
421
421
  longitude: number | null;
422
422
  coordsReady: boolean;
423
+ /**
424
+ * Nearest city or locality name for the user's current position.
425
+ *
426
+ * Resolution happens in two phases:
427
+ * 1. Instant (no permission): parsed from the IANA timezone string.
428
+ * "Europe/Copenhagen" → "Copenhagen" (available immediately)
429
+ * 2. Precise (after geolocation): reverse-geocoded from exact lat/lng.
430
+ * 55.86°N, 9.84°E → "Horsens" (replaces the centroid value)
431
+ *
432
+ * null only during the brief SSR window before the provider mounts.
433
+ */
434
+ city: string | null;
423
435
  setOverridePhase: (phase: SolarPhase | null) => void;
424
436
  blend: SolarBlend;
425
437
  design: DesignMode;
@@ -467,7 +479,7 @@ declare function SolarThemeProvider({
467
479
  isolated,
468
480
  seasonOverride: seasonOverrideProp,
469
481
  disableSeasonalBlend
470
- }: Props): react_jsx_runtime4.JSX.Element;
482
+ }: Props): react_jsx_runtime0.JSX.Element;
471
483
  //#endregion
472
484
  //#region src/shared/solar-shader-bg.d.ts
473
485
  type ShaderVariant = 'showcase' | 'dashboard' | 'editorial';
@@ -486,8 +498,8 @@ declare function SolarShaderBg({
486
498
  variant: variantProp,
487
499
  className,
488
500
  style
489
- }?: SolarShaderBgProps): react_jsx_runtime4.JSX.Element;
490
- declare function SolarShaderBgFull(props?: SolarShaderBgProps): react_jsx_runtime4.JSX.Element;
501
+ }?: SolarShaderBgProps): react_jsx_runtime0.JSX.Element;
502
+ declare function SolarShaderBgFull(props?: SolarShaderBgProps): react_jsx_runtime0.JSX.Element;
491
503
  //#endregion
492
504
  export { type CompactSize, CompactWidget, type DesignMode, type ExpandDirection, IDENTITY_MODIFIER, type Season, type SeasonalBlend, type SeasonalModifier, type SkinDefinition, type SolarBlend, type SolarPhase, SolarShaderBg, SolarShaderBgFull, type SolarTheme, SolarThemeProvider, SolarWidget, UNIVERSAL_SEASON_MODIFIERS, type WeatherCategory, type WidgetPalette, type WidgetSize, applySeasonalModifier, getSeasonalBlend, lerpModifier, resolveSeasonalModifier, useSeason, useSolarTheme };
493
505
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/hooks/useSolarPosition.tsx","../src/lib/useSeason.ts","../src/lib/seasonal-blend.ts","../src/widgets/solar-widget.shell.tsx","../src/widgets/compact-widget.shell.tsx","../src/skins/types/widget-skin.types.ts","../src/provider/solar-theme-provider.tsx","../src/shared/solar-shader-bg.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/hooks/useSolarPosition.tsx","../src/lib/useSeason.ts","../src/lib/seasonal-blend.ts","../src/widgets/solar-widget.shell.tsx","../src/widgets/compact-widget.shell.tsx","../src/skins/types/widget-skin.types.ts","../src/provider/solar-theme-provider.tsx","../src/shared/solar-shader-bg.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;AAgBA;AAWA;AAWA;AAmBA;;UAzCiB,UAAA;;ECIL,OAAA,EAAM,MAAA;EAED,SAAA,EAAA,MAAa;EAsFd,MAAA,EAAA,MAAA;EACR;EAEK,SAAA,EAAA,MAAA;EACV;EAAa,SAAA,EAAA,MAAA;AAuBhB;AAEa,KD9GD,UAAA,GC8GC,OAAA,GAAA,MAAA,GAAA,SAAA,GAAA,SAAA,GAAA,YAAA,GAAA,WAAA,GAAA,QAAA,GAAA,MAAA,GAAA,UAAA;AACK,UDpGD,aAAA,CCoGC;EACf;EAAa,QAAA,EAAA,MAAA;;;;ECjHC,WAAA,EAAA,MAAgB;EAmBpB;EAWA,aAAA,EAAA,MAAA;EAAmC;EAAQ,SAAA,EAAA,OAAA;EAAf;EAAM,KAAA,EFNtC,UEMsC;EA4I/B;EACX,KAAA,EFjJI,UEiJJ;EACA;EAEF,YAAA,EAAA,MAAA;;AAqBa,UFpKC,UAAA,CEoKoB;EAC1B,KAAA,EFpKF,UEoKE;EACJ,SAAA,EFpKM,UEoKN;EAEJ;EAAa,CAAA,EAAA,MAAA;AAyBhB;;;KDtOY,MAAA;UAEK,aAAA;;UAEP;EDRO;EAWL,UAAA,ECDE,MDCQ;EAWL;AAmBjB;;;;ECrCY,CAAA,EAAA,MAAM;AAElB;AAsFA;;;;;AA2BA;;AAGkB,iBA9BF,gBAAA,CA8BE,IAAA,CAAA,EA7BV,IA6BU,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,QAAA,CAAA,EA3BL,MA2BK,CAAA,EA1Bf,aA0Be;;;;;;AChHlB;AAmBA;AAWA;AAAgD,iBD+EhC,SAAA,CC/EgC,SAAA,EAAA,MAAA,GAAA,IAAA,EAAA,QAAA,CAAA,EDiFnC,MCjFmC,EAAA,aAAA,CAAA,EDkF9B,IClF8B,CAAA,EDmF7C,aCnF6C;;;;;AFxChD;AAWA;AAWA;AAmBiB,UE/BA,gBAAA,CFgCR;;;;ECtCG,cAAM,EAAA,MAAA;EAED;EAsFD,YAAA,EAAA,MAAgB;EACxB;;;;AA0BR;EAEa,SAAA,CAAA,EAAA,MAAA;EACK;EACf,YAAA,EAAA,MAAA;;cC9FU,mBAAmB;cAWnB,4BAA4B,OAAO,QAAQ;;AA9BxD;AAmBA;AAWA;AAAgD,iBA4IhC,YAAA,CA5IgC,CAAA,EA6I3C,gBA7I2C,EAAA,CAAA,EA8I3C,gBA9I2C,EAAA,CAAA,EAAA,MAAA,CAAA,EAgJ7C,gBAhJ6C;;;;AA4IhD;;;;;AAyBgB,iBAAA,qBAAA,CAAqB,OAAA,EAC1B,aAD0B,EAAA,GAAA,EAE9B,gBAF8B,EAAA,QAAA,CAAA,EAAA,MAAA,CAAA,EAIlC,aAJkC;;;;;AA6BrC;;;AAE4B,iBAFZ,uBAAA,CAEY,KAAA,EADnB,aACmB,EAAA,SAAA,CAAA,EAAf,MAAe,CAAR,MAAQ,EAAA,gBAAA,CAAA,CAAA,EACzB,gBADyB;;;KCpOhB,eAAA;KAWA,UAAA;AHnBK,KGqBL,eAAA,GHrBe,OAAA,GAAA,eAAA,GAAA,UAAA,GAAA,KAAA,GAAA,SAAA,GAAA,MAAA,GAAA,YAAA,GAAA,MAAA,GAAA,YAAA,GAAA,SAAA;AAWf,KGsBA,cAAA,GAAiB,OHtBP,CGsBe,MHtBf,CGsBsB,UHtBtB,EAAA;EAWL,EAAA,EAAA,CAAA,MAAA,EAAA,MAAa,EAAA,MAAA,CAYrB;AAOT,CAAA,CAAA,CAAA;UGyEiB,gBAAA;oBACG;EF/GR,IAAA,CAAA,EEgHH,UFhHS;EAED,QAAA,CAAA,EAAA,OAAa;EAsFd,WAAA,CAAA,EAAA,OAAgB;EACxB,WAAA,CAAA,EAAA,OAAA;EAEK,cAAA,CAAA,EEyBM,cFzBN;EACV,aAAA,CAAA,EEyBe,UFzBf;EAAa,uBAAA,CAAA,EE0BY,eF1BZ,GAAA,IAAA;EAuBA;;EAGE,aAAA,CAAA,EEGA,IFHA;EACf;;;;iBE2Ba,WAAA;;;;;;;;;iBASC;;GAEd,mBAAgB,kBAAA,CAAA,GAAA,CAAA;;;KC5JP,iBAAA;AJLK,KIiBL,WAAA,GJjBe,IAAA,GAAA,IAAA,GAAA,IAAA;AAWf,UIsFK,gBAAA,CJtFK;EAWL,KAAA,EI4ER,UJ5EqB;EAmBb,KAAA,EI0DR,UJ1DkB;;;;ECrCf,WAAM,CAAA,EAAA,MAAA;EAED,OAAA,CAAA,EGkGL,iBHlGkB,GAEpB,IAAA;EAoFM,mBAAgB,EGaT,iBHbS,GAAA,IAAA;EACxB,gBAAA,EAAA,MAAA,GAAA,IAAA;EAEK,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACV,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAAa,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAuBA,aAAS,CAAA,EGTP,IHSO;EAEZ,QAAA,EAAA,OAAA;EACK,WAAA,EAAA,OAAA;EACf,eAAA,EAAA,OAAA;EAAa,IAAA,EGTR,WHSQ;WGRL;;UAKM,kBAAA;EF9GA,MAAA,CAAA,EE+GN,UF/GsB;EAmBpB,aAAA,CAAA,EE6FK,UFxFjB,GAAA,IAL+B;EAWnB,IAAA,CAAA,EAAA,MAAA;EAAmC,QAAA,CAAA,EAAA,MAAA;EAAQ,IAAA,CAAA,EAAA,MAAA;EAAf,WAAA,CAAA,EAAA,MAAA;EAAM,OAAA,CAAA,EEuFnC,iBFvFmC,GAAA,IAAA;EA4I/B,uBAAY,CAAA,EEpDA,iBFoDA,GAAA,IAAA;EACvB,QAAA,CAAA,EAAA,OAAA;EACA,WAAA,CAAA,EAAA,OAAA;EAEF,eAAA,CAAA,EAAA,OAAA;EAAgB,IAAA,CAAA,EEpDV,WFoDU;EAqBH,QAAA,CAAA,EAAA,MAAA,GAAA,IAAqB;EAC1B,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACJ,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAEJ;EAAa,cAAA,CAAA,EExEG,cFwEH;EAyBA;;EAEI,aAAA,CAAA,EEhGF,IFgGE;EAAQ,SAAA,CAAA,EAAA,MAAA;;AACzB,iBErEa,aAAA,CFqEb;EAAA,MAAA,EEpEO,cFoEP;EAAA,aAAA;EAAA,IAAA;EAAA,QAAA;EAAA,IAAA;EAAA,WAAA;EAAA,OAAA;EAAA,uBAAA;EAAA,QAAA;EAAA,WAAA;EAAA,eAAA;EAAA,IAAA;EAAA,QAAA;EAAA,SAAA;EAAA,QAAA;EAAA,cAAA;EAAA,aAAA,EEpDc,iBFoDd;EAAA;AAAA,CAAA,EElDA,kBFkDA,CAAA,EElDkB,kBAAA,CAAA,GAAA,CAAA,OFkDlB;;;ADzOS,UIDK,WAAA,CJCC;EAED;EAsFD,GAAA,EAAA,MAAA;EACR;;;;EA0BQ,OAAA,CAAA,EAAA,MAAS;EAEZ;;EAEV,cAAA,CAAA,EAAA,MAAA;;UIzGc,aAAA;;;EHRA,OAAA,EAAA,MAAA;EAmBJ,QAAA,EAAA,MAAA;EAWA,WAAA,EAAA,MAAA;EAAmC;;;;AA4IhD;;EAEK,KAAA,CAAA,EGxJK,WHwJL;;;AAuBL;;;;;AA6BA;;;;;;;;;;AClOA;AAWA;AAEA;AAYA;;AAAqC,UEsBpB,YAAA,CFtBoB;EAAR;EAAO,UAAA,EAAA,MAAA;EAiFnB;EACG,KAAA,EAAA,MAAA;EACX;EAIU,KAAA,EAAA,MAAA;EACD;EACU,YAAA,EAAA,MAAA;;AAGN,UEzDL,SAAA,CFyDK;EAyBN,WAAA,EAAA,MAAW;EACzB,aAAA,EAAA,MAAA;EACA,MAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA;EACA,MAAA,EAAA,MAAA;EACA,MAAA,EAAA,MAAA;;AAEA,UE9Ee,aAAA,CF8Ef;EACA;EACe,EAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,MAAA,CAAA;EACf;EACC,SAAA,EAAA,MAAA;EAAgB;EAAA,WAAA,EAAA,MAAA;;;;EC5JP,SAAA,EAAA,MAAA;EAYA;EAgFK,IAAA,EAAA,OAAA,GAAA,KAAgB,GAAA,MAAA;;AAExB,UCHQ,cAAA,CDGR;EAKG;EACW,EAAA,ECPjB,UDOiB;EAKL;EAIV,KAAA,EAAA,MAAA;EACG;EAAa,WAAA,EAAA,MAAA;EAKP;;;;EAQW,SAAA,ECpBf,MDoBe,CCpBR,UDoBQ,ECpBI,SDoBJ,CAAA;EAInB;;;;EAoCO,cAAA,ECtDE,MDsDW,CCtDJ,UDsDI,ECtDQ,aDsDR,CAAA;EACnB;;;;EAIR,cAAA,ECrDgB,MDqDhB,CCrDuB,UDqDvB,ECrDmC,aDqDnC,CAAA;EACA;;;;;;;;;;;;;;EAamB,YAAA,CAAA,ECnDJ,MDmDI,CCnDG,UDmDH,ECnDe,YDmDf,CAAA;EAAA;;;;ACxLrB;AAeA;AAqCA;AAaA;AAWA;AAiBA;;;;;;EAkBqC,YAAA,CAAA,EAuCpB,WAvCoB;EAAnB;;;;;EAsBkB,iBAAA,CAAA,EAwBd,OAxBc,CAwBN,MAxBM,CAwBC,MAxBD,EAwBS,gBAxBT,CAAA,CAAA;EAAnB;;;;EAwBa,SAAA,EAMjB,KAAA,CAAM,aANW,CAMG,eANH,CAAA;EAAR;;;;EAYD,gBAAM,CAAA,EAAN,KAAA,CAAM,aAAA,CAAc,gBAAd,CAAA;;AAKV,UAAA,eAAA,CAAe;EAEvB,KAAA,EAAA,UAAA;EACA,KAAA,EAAA,UAAA;EAKU,QAAA,EAAA,OAAA;EACX,QAAA,EAAA,GAAA,GAAA,IAAA;EAMI,eAAA,EAPO,eAOP;EACY,IAAA,EAPhB,UAOgB;EAUN,IAAA,EAAA,MAAA;EASP,QAAA,EAAA,MAAA;EAAa,IAAA,CAAA,EAAA,MAAA;EAKZ,OAAA,CAAA,EAzBA,eAyBU,GAAA,IAAA;wBAxBE;;;EC/JP,WAAA,CAAA,EAAU,MAAA;EAClB,UAAA,CAAA,EAAA,MAAA;EAKQ,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EAiBW,SAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACnB,QAAA,CAAA,EAAA,MAAA,GAAA,IAAA;EACC,aAAA,CAAA,EDgJQ,IChJR;EACY,QAAA,EAAA,OAAA;EACR,WAAA,EAAA,OAAA;EAGG,WAAA,EAAA,OAAA;EACU,aAAA,CAAA,EAAA,OAAA;EAET,OAAA,EDiJP,aCjJO;;AAGR,KDmJE,UAAA,GCnJF,SAAA,GAAA,OAAA,GAAA,QAAA,GAAA,UAAA,GAAA,SAAA,GAAA,QAAA,GAAA,MAAA,GAAA,SAAA,GAAA,MAAA,GAAA,WAAA;;;AN3DE,UMuBK,UAAA,CNvBK;EAWL,KAAA,EMaR,UNbqB;EAmBb,SAAA,EAAA,OAAU;;;;ECrCf,aAAM,EKoCD,aLpCC,GAAA,IAAA;EAED,QAAA,EAAA,MAAa,GAAA,IAAA;EAsFd,QAAA,EAAA,MAAA,GAAgB,IAAA;EACxB,SAAA,EAAA,MAAA,GAAA,IAAA;EAEK,WAAA,EAAA,OAAA;EACV;;AAuBH;;;;;;;;AC7GA;EAmBa,IAAA,EAAA,MAAA,GAAA,IAAA;EAWA,gBAAA,EAAA,CAAA,KAAA,EIiBe,UJY3B,GAAA,IAAA,EAAA,GAAA,IAAA;EA7B+C,KAAA,EIkBvC,UJlBuC;EAAQ,MAAA,EImB9C,UJnB8C;EAAf,SAAA,EAAA,CAAA,MAAA,EIoBnB,UJpBmB,EAAA,GAAA,IAAA;EAAM,UAAA,EIqBjC,cJrBiC;EA4I/B;;EAEX,aAAA,EItHY,IJsHZ,GAAA,SAAA;EAEF,gBAAA,EAAA,CAAA,IAAA,EIvHwB,IJuHxB,GAAA,SAAA,EAAA,GAAA,IAAA;EAAgB;EAqBH,cAAA,EI1IE,cJ0ImB,GAAA,SAAA;EAC1B,iBAAA,EAAA,CAAA,QAAA,EI1IqB,cJ0IrB,GAAA,SAAA,EAAA,GAAA,IAAA;EACJ;EAEJ,MAAA,EI3IO,MJ2IP;EAAa;EAyBA,aAAA,EIlKC,aJkKsB;EAC9B;EACW,iBAAA,EAAA,CAAA,MAAA,EIlKU,MJkKV,GAAA,IAAA,EAAA,GAAA,IAAA;;AAAP,iBIqEG,aAAA,CAAA,CJrEH,EIqEoB,UJrEpB;UI2EH,KAAA,CJ1EP;EAAgB,QAAA,EI2EP,SJ3EO;kBI4ED;;;AHjTlB;AAWA;AAEA;AAYA;EAA4C,QAAA,CAAA,EAAA,OAAA;EAAP;;;AAiFrC;EACoB,cAAA,CAAA,EGkND,MHlNC;EACX;;;;EASS,oBAAA,CAAA,EAAA,OAAA;;AAyBF,iBGuLA,kBAAA,CHvLW;EAAA,QAAA;EAAA,aAAA;EAAA,QAAA;EAAA,cAAA,EG2LT,kBH3LS;EAAA;AAAA,CAAA,EG6LxB,KH7LwB,CAAA,EG6LnB,kBAAA,CAAA,GAAA,CAAA,OH7LmB;;;KIrIf,aAAA;UAyZK,kBAAA;iBACA;kBACC;ENxaN,eAAM,CAAA,EAAA,MAAA;EAED,OAAA,CAAA,EMwaL,aNxakB;EAsFd,SAAA,CAAA,EAAA,MAAA;EACR,KAAA,CAAA,EMmVE,KAAA,CAAM,aNnVR;;AAGL,iBMqVa,aAAA,CNrVb;EAAA,YAAA;EAAA,aAAA;EAAA,eAAA;EAAA,OAAA,EMyVQ,WNzVR;EAAA,SAAA;EAAA;AAAA,CAAA,CAAA,EM4VA,kBN5VA,CAAA,EM4VuB,kBAAA,CAAA,GAAA,CAAA,ON5VvB;AAAa,iBM4dA,iBAAA,CN5dA,KAAA,CAAA,EM4dyB,kBN5dzB,CAAA,EM4dgD,kBAAA,CAAA,GAAA,CAAA,ON5dhD"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { _ as resolveSeasonalModifier, a as useSeason, d as lerpColor, f as lerpHex, g as lerpModifier, h as applySeasonalModifier, i as getSeasonalBlend, m as UNIVERSAL_SEASON_MODIFIERS, n as useSolarTheme, p as IDENTITY_MODIFIER, r as SKINS, t as SolarThemeProvider } from "./solar-theme-provider-BcP2n4b7.js";
1
+ import { _ as resolveSeasonalModifier, a as useSeason, d as lerpColor, f as lerpHex, g as lerpModifier, h as applySeasonalModifier, i as getSeasonalBlend, m as UNIVERSAL_SEASON_MODIFIERS, n as useSolarTheme, p as IDENTITY_MODIFIER, r as SKINS, t as SolarThemeProvider } from "./solar-theme-provider-cxO4tmFT.js";
2
2
  import { createContext, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
3
3
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
4
4
 
@@ -6818,6 +6818,41 @@ function injectWidgetCSS() {
6818
6818
  injected = true;
6819
6819
  }
6820
6820
 
6821
+ //#endregion
6822
+ //#region src/lib/reverse-geocode.ts
6823
+ const BDC_ENDPOINT = "https://api.bigdatacloud.net/data/reverse-geocode-client";
6824
+ /**
6825
+ * Fetches the nearest locality/city name for the given coordinates.
6826
+ * Returns null on any error so callers can fall back gracefully.
6827
+ *
6828
+ * @param lat Latitude (precise — from browser geolocation, not centroid)
6829
+ * @param lng Longitude
6830
+ * @param signal Optional AbortSignal to cancel in-flight requests on cleanup
6831
+ */
6832
+ async function fetchReverseGeocode(lat, lng, signal) {
6833
+ try {
6834
+ const url = `${BDC_ENDPOINT}?latitude=${lat}&longitude=${lng}&localityLanguage=en`;
6835
+ const res = await fetch(url, signal ? { signal } : void 0);
6836
+ if (!res.ok) return null;
6837
+ const data$1 = await res.json();
6838
+ return data$1.locality?.trim() || data$1.city?.trim() || data$1.principalSubdivision?.trim() || null;
6839
+ } catch {
6840
+ return null;
6841
+ }
6842
+ }
6843
+ /**
6844
+ * Parse an instant (no-fetch) city name from an IANA timezone string.
6845
+ * Used as the initial value before geolocation resolves.
6846
+ *
6847
+ * "Europe/Copenhagen" → "Copenhagen"
6848
+ * "America/New_York" → "New York"
6849
+ * "Asia/Ho_Chi_Minh" → "Ho Chi Minh"
6850
+ */
6851
+ function cityFromTimezone(tz) {
6852
+ if (!tz) return null;
6853
+ return (tz.split("/").pop() ?? "").replace(/_/g, " ").trim() || null;
6854
+ }
6855
+
6821
6856
  //#endregion
6822
6857
  //#region src/lib/seasonal-blend.ts
6823
6858
  const IDENTITY_MODIFIER = {
@@ -54842,6 +54877,7 @@ const SolarThemeCtx = createContext({
54842
54877
  latitude: null,
54843
54878
  longitude: null,
54844
54879
  coordsReady: false,
54880
+ city: null,
54845
54881
  setOverridePhase: noop,
54846
54882
  blend: {
54847
54883
  phase: SSR_PHASE,
@@ -54874,6 +54910,7 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
54874
54910
  const [longitude, setLongitude] = useState(null);
54875
54911
  const [timezone, setTimezone] = useState(null);
54876
54912
  const [coordsReady, setCoordsReady] = useState(false);
54913
+ const [city, setCity] = useState(null);
54877
54914
  const [simulatedDate, setSimulatedDate] = useState(void 0);
54878
54915
  const [customPalettes, setCustomPalettes] = useState(void 0);
54879
54916
  const [design, setDesignState] = useState(initialDesign);
@@ -54895,6 +54932,7 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
54895
54932
  useLayoutEffect(() => {
54896
54933
  const browserTZ = getBrowserTimezone();
54897
54934
  setTimezone(browserTZ);
54935
+ setCity(cityFromTimezone(browserTZ));
54898
54936
  const coords = fallbackCoordsFromTZ(browserTZ);
54899
54937
  if (coords) {
54900
54938
  setLatitude(coords[0]);
@@ -54923,14 +54961,21 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
54923
54961
  if (!isolated) setSessionPhaseOverride(phase);
54924
54962
  }, [isolated]);
54925
54963
  useEffect(() => {
54926
- if (geo.position?.coords) {
54927
- const { latitude: lat, longitude: lon } = geo.position.coords;
54928
- setLatitude(lat);
54929
- setLongitude(lon);
54930
- const tz = coordsToTimezone(lat, lon);
54931
- if (tz) setTimezone(tz);
54932
- setCoordsReady(true);
54933
- }
54964
+ if (!geo.position?.coords) return;
54965
+ const { latitude: lat, longitude: lon } = geo.position.coords;
54966
+ setLatitude(lat);
54967
+ setLongitude(lon);
54968
+ setCoordsReady(true);
54969
+ const tz = coordsToTimezone(lat, lon);
54970
+ if (tz) {
54971
+ setTimezone(tz);
54972
+ setCity(cityFromTimezone(tz));
54973
+ }
54974
+ const controller = new AbortController();
54975
+ fetchReverseGeocode(lat, lon, controller.signal).then((name) => {
54976
+ if (name) setCity(name);
54977
+ });
54978
+ return () => controller.abort();
54934
54979
  }, [geo.position]);
54935
54980
  useEffect(() => {
54936
54981
  if (coordsReady) return;
@@ -55003,6 +55048,7 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
55003
55048
  latitude,
55004
55049
  longitude,
55005
55050
  coordsReady,
55051
+ city,
55006
55052
  setOverridePhase,
55007
55053
  blend: activeBlend,
55008
55054
  design,
@@ -55035,4 +55081,4 @@ function SolarThemeProvider({ children, initialDesign = "foundry", isolated = fa
55035
55081
 
55036
55082
  //#endregion
55037
55083
  export { resolveSeasonalModifier as _, useSeason as a, getSessionTimeMinutes as c, lerpColor as d, lerpHex as f, lerpModifier as g, applySeasonalModifier as h, getSeasonalBlend as i, setSessionLive as l, UNIVERSAL_SEASON_MODIFIERS as m, useSolarTheme as n, clearSessionTimeMinutes as o, IDENTITY_MODIFIER as p, SKINS as r, getSessionIsLive as s, SolarThemeProvider as t, setSessionTimeMinutes as u };
55038
- //# sourceMappingURL=solar-theme-provider-BcP2n4b7.js.map
55084
+ //# sourceMappingURL=solar-theme-provider-cxO4tmFT.js.map