@fluid-app/portal-sdk 0.1.246 → 0.1.248

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 (112) hide show
  1. package/dist/{FluidProvider-CNk1Y2k1.mjs → FluidProvider-Bwg1cGSY.mjs} +177 -5
  2. package/dist/FluidProvider-Bwg1cGSY.mjs.map +1 -0
  3. package/dist/{FluidProvider-o1Gu53TN.cjs → FluidProvider-DprqXNu4.cjs} +188 -4
  4. package/dist/FluidProvider-DprqXNu4.cjs.map +1 -0
  5. package/dist/{MessagingScreen-BwI0RShj.cjs → MessagingScreen-BKb4mWGa.cjs} +2 -2
  6. package/dist/{MessagingScreen-WCeHWGlX.cjs → MessagingScreen-CDiLGmMi.cjs} +2 -2
  7. package/dist/{MessagingScreen-WCeHWGlX.cjs.map → MessagingScreen-CDiLGmMi.cjs.map} +1 -1
  8. package/dist/{MessagingScreen-DiSZ7fyd.mjs → MessagingScreen-DGhqsVXi.mjs} +2 -2
  9. package/dist/{MessagingScreen-DiSZ7fyd.mjs.map → MessagingScreen-DGhqsVXi.mjs.map} +1 -1
  10. package/dist/{ProfileScreen-BfvdQa0q.cjs → ProfileScreen-BDLJgcXg.cjs} +2 -2
  11. package/dist/{ProfileScreen-BfvdQa0q.cjs.map → ProfileScreen-BDLJgcXg.cjs.map} +1 -1
  12. package/dist/{ProfileScreen-CRLf8oDe.mjs → ProfileScreen-CmQDKNaP.mjs} +2 -2
  13. package/dist/{ProfileScreen-CRLf8oDe.mjs.map → ProfileScreen-CmQDKNaP.mjs.map} +1 -1
  14. package/dist/{ProfileScreen-Za3ZIWPO.cjs → ProfileScreen-DHv2Cjpz.cjs} +2 -2
  15. package/dist/{ShopScreen-S6rBaoWM.cjs → ShopScreen---dB03HI.cjs} +282 -63
  16. package/dist/ShopScreen---dB03HI.cjs.map +1 -0
  17. package/dist/{ShopScreen-BigHJ5wE.cjs → ShopScreen-B6ygTHDB.cjs} +2 -2
  18. package/dist/{ShopScreen-BG1pxd2D.mjs → ShopScreen-kiVwC38W.mjs} +283 -64
  19. package/dist/ShopScreen-kiVwC38W.mjs.map +1 -0
  20. package/dist/de-CqKH8kwp.cjs +12 -0
  21. package/dist/de-CqKH8kwp.cjs.map +1 -0
  22. package/dist/de-DWONEOZS.mjs +6 -0
  23. package/dist/de-DWONEOZS.mjs.map +1 -0
  24. package/dist/el-CIrAhB-W.cjs +12 -0
  25. package/dist/el-CIrAhB-W.cjs.map +1 -0
  26. package/dist/el-De7Ne7it.mjs +6 -0
  27. package/dist/el-De7Ne7it.mjs.map +1 -0
  28. package/dist/es-4Wsa13tV.cjs +12 -0
  29. package/dist/es-4Wsa13tV.cjs.map +1 -0
  30. package/dist/es-B5_ItPIn.mjs +6 -0
  31. package/dist/es-B5_ItPIn.mjs.map +1 -0
  32. package/dist/fr-BDKPrKKW.cjs +12 -0
  33. package/dist/fr-BDKPrKKW.cjs.map +1 -0
  34. package/dist/fr-jgEDP2og.mjs +6 -0
  35. package/dist/fr-jgEDP2og.mjs.map +1 -0
  36. package/dist/he-5dq6lV2h.cjs +12 -0
  37. package/dist/he-5dq6lV2h.cjs.map +1 -0
  38. package/dist/he-DLQdVr_g.mjs +6 -0
  39. package/dist/he-DLQdVr_g.mjs.map +1 -0
  40. package/dist/hu-CC4QdkPb.mjs +6 -0
  41. package/dist/hu-CC4QdkPb.mjs.map +1 -0
  42. package/dist/hu-Dpgriy5N.cjs +12 -0
  43. package/dist/hu-Dpgriy5N.cjs.map +1 -0
  44. package/dist/id-Ba-0RT7y.cjs +12 -0
  45. package/dist/id-Ba-0RT7y.cjs.map +1 -0
  46. package/dist/id-CwGC2v1d.mjs +6 -0
  47. package/dist/id-CwGC2v1d.mjs.map +1 -0
  48. package/dist/index.cjs +50 -14
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.cts +1 -8
  51. package/dist/index.d.cts.map +1 -1
  52. package/dist/index.d.mts +1 -8
  53. package/dist/index.d.mts.map +1 -1
  54. package/dist/index.mjs +51 -15
  55. package/dist/index.mjs.map +1 -1
  56. package/dist/it-CaxIV-R4.cjs +12 -0
  57. package/dist/it-CaxIV-R4.cjs.map +1 -0
  58. package/dist/it-jUZZ5sjO.mjs +6 -0
  59. package/dist/it-jUZZ5sjO.mjs.map +1 -0
  60. package/dist/ja-Lcg_Qqtj.cjs +12 -0
  61. package/dist/ja-Lcg_Qqtj.cjs.map +1 -0
  62. package/dist/ja-QVQymwAE.mjs +6 -0
  63. package/dist/ja-QVQymwAE.mjs.map +1 -0
  64. package/dist/ko-CFu0TjJO.cjs +12 -0
  65. package/dist/ko-CFu0TjJO.cjs.map +1 -0
  66. package/dist/ko-DfzzTwZI.mjs +6 -0
  67. package/dist/ko-DfzzTwZI.mjs.map +1 -0
  68. package/dist/nl-DR9IRXGT.cjs +12 -0
  69. package/dist/nl-DR9IRXGT.cjs.map +1 -0
  70. package/dist/nl-Dys3mUo2.mjs +6 -0
  71. package/dist/nl-Dys3mUo2.mjs.map +1 -0
  72. package/dist/pl-CBwEisEK.mjs +6 -0
  73. package/dist/pl-CBwEisEK.mjs.map +1 -0
  74. package/dist/pl-DSGSRDM2.cjs +12 -0
  75. package/dist/pl-DSGSRDM2.cjs.map +1 -0
  76. package/dist/pt-D5al7xw3.mjs +6 -0
  77. package/dist/pt-D5al7xw3.mjs.map +1 -0
  78. package/dist/pt-Pz_D1HUz.cjs +12 -0
  79. package/dist/pt-Pz_D1HUz.cjs.map +1 -0
  80. package/dist/ro-B43SoGdE.mjs +6 -0
  81. package/dist/ro-B43SoGdE.mjs.map +1 -0
  82. package/dist/ro-BoGeZTac.cjs +12 -0
  83. package/dist/ro-BoGeZTac.cjs.map +1 -0
  84. package/dist/ru-Cd7LUmcu.cjs +12 -0
  85. package/dist/ru-Cd7LUmcu.cjs.map +1 -0
  86. package/dist/ru-ChwnncDc.mjs +6 -0
  87. package/dist/ru-ChwnncDc.mjs.map +1 -0
  88. package/dist/th-C9S_8Tv6.mjs +6 -0
  89. package/dist/th-C9S_8Tv6.mjs.map +1 -0
  90. package/dist/th-DwLAQd0u.cjs +12 -0
  91. package/dist/th-DwLAQd0u.cjs.map +1 -0
  92. package/dist/tl-CiPbx_5F.mjs +6 -0
  93. package/dist/tl-CiPbx_5F.mjs.map +1 -0
  94. package/dist/tl-DwAVpDyB.cjs +12 -0
  95. package/dist/tl-DwAVpDyB.cjs.map +1 -0
  96. package/dist/tr-BFbCmHQZ.cjs +12 -0
  97. package/dist/tr-BFbCmHQZ.cjs.map +1 -0
  98. package/dist/tr-CUd4dp2u.mjs +6 -0
  99. package/dist/tr-CUd4dp2u.mjs.map +1 -0
  100. package/dist/zh_CN-Cn-k18Y5.cjs +12 -0
  101. package/dist/zh_CN-Cn-k18Y5.cjs.map +1 -0
  102. package/dist/zh_CN-D46-GUTP.mjs +6 -0
  103. package/dist/zh_CN-D46-GUTP.mjs.map +1 -0
  104. package/dist/zh_TW-CIUhIeJP.cjs +12 -0
  105. package/dist/zh_TW-CIUhIeJP.cjs.map +1 -0
  106. package/dist/zh_TW-XqA7UKxt.mjs +6 -0
  107. package/dist/zh_TW-XqA7UKxt.mjs.map +1 -0
  108. package/package.json +15 -13
  109. package/dist/FluidProvider-CNk1Y2k1.mjs.map +0 -1
  110. package/dist/FluidProvider-o1Gu53TN.cjs.map +0 -1
  111. package/dist/ShopScreen-BG1pxd2D.mjs.map +0 -1
  112. package/dist/ShopScreen-S6rBaoWM.cjs.map +0 -1
@@ -1642,6 +1642,28 @@ function useThemeContext() {
1642
1642
  return context;
1643
1643
  }
1644
1644
  //#endregion
1645
+ //#region ../../platform/i18n/src/locale-context.tsx
1646
+ const LocaleCtx = createContext(null);
1647
+ function LocaleProvider({ initialLocale, onLocaleChange, children }) {
1648
+ const [locale, setLocaleState] = useState(initialLocale);
1649
+ const value = useMemo(() => ({
1650
+ locale,
1651
+ setLocale(next) {
1652
+ setLocaleState(next);
1653
+ onLocaleChange?.(next);
1654
+ }
1655
+ }), [locale, onLocaleChange]);
1656
+ return /* @__PURE__ */ jsx(LocaleCtx.Provider, {
1657
+ value,
1658
+ children
1659
+ });
1660
+ }
1661
+ function useActiveLocale() {
1662
+ const value = useContext(LocaleCtx);
1663
+ if (!value) throw new Error("useActiveLocale must be used within a LocaleProvider");
1664
+ return value;
1665
+ }
1666
+ //#endregion
1645
1667
  //#region src/adapters/widgets-api-adapter.ts
1646
1668
  function mapBffCalendarEvent(event) {
1647
1669
  return {
@@ -2089,6 +2111,148 @@ const DEFAULT_SDK_WIDGET_REGISTRY = createWidgetRegistry({
2089
2111
  VideoWidget
2090
2112
  });
2091
2113
  //#endregion
2114
+ //#region src/hooks/use-portal-active-locale.ts
2115
+ const STORAGE_KEY = "portal-language";
2116
+ const SUPPORTED_LANGUAGES = [
2117
+ {
2118
+ id: 1,
2119
+ iso: "en",
2120
+ name: "English"
2121
+ },
2122
+ {
2123
+ id: 2,
2124
+ iso: "es",
2125
+ name: "Español (Spanish)"
2126
+ },
2127
+ {
2128
+ id: 3,
2129
+ iso: "pt",
2130
+ name: "Português (Portuguese)"
2131
+ },
2132
+ {
2133
+ id: 4,
2134
+ iso: "fr",
2135
+ name: "Français (French)"
2136
+ },
2137
+ {
2138
+ id: 5,
2139
+ iso: "de",
2140
+ name: "Deutsch (German)"
2141
+ },
2142
+ {
2143
+ id: 6,
2144
+ iso: "it",
2145
+ name: "Italiano (Italian)"
2146
+ },
2147
+ {
2148
+ id: 7,
2149
+ iso: "nl",
2150
+ name: "Nederlands (Dutch)"
2151
+ },
2152
+ {
2153
+ id: 8,
2154
+ iso: "pl",
2155
+ name: "Polski (Polish)"
2156
+ },
2157
+ {
2158
+ id: 9,
2159
+ iso: "hu",
2160
+ name: "Magyar (Hungarian)"
2161
+ },
2162
+ {
2163
+ id: 10,
2164
+ iso: "id",
2165
+ name: "Bahasa Indonesia (Indonesian)"
2166
+ },
2167
+ {
2168
+ id: 11,
2169
+ iso: "ja",
2170
+ name: "日本語 (Japanese)"
2171
+ },
2172
+ {
2173
+ id: 12,
2174
+ iso: "ko",
2175
+ name: "한국어 (Korean)"
2176
+ },
2177
+ {
2178
+ id: 13,
2179
+ iso: "ru",
2180
+ name: "Русский (Russian)"
2181
+ },
2182
+ {
2183
+ id: 14,
2184
+ iso: "el",
2185
+ name: "Ελληνικά (Greek)"
2186
+ },
2187
+ {
2188
+ id: 15,
2189
+ iso: "ro",
2190
+ name: "Română (Romanian)"
2191
+ },
2192
+ {
2193
+ id: 16,
2194
+ iso: "tr",
2195
+ name: "Türkçe (Turkish)"
2196
+ },
2197
+ {
2198
+ id: 17,
2199
+ iso: "he",
2200
+ name: "עברית (Hebrew)"
2201
+ },
2202
+ {
2203
+ id: 18,
2204
+ iso: "tl",
2205
+ name: "Tagalog"
2206
+ },
2207
+ {
2208
+ id: 19,
2209
+ iso: "th",
2210
+ name: "ไทย (Thai)"
2211
+ },
2212
+ {
2213
+ id: 20,
2214
+ iso: "zh_CN",
2215
+ name: "简体中文 (Chinese - Simplified)"
2216
+ },
2217
+ {
2218
+ id: 21,
2219
+ iso: "zh_TW",
2220
+ name: "繁體中文 (Chinese - Traditional)"
2221
+ }
2222
+ ];
2223
+ const SUPPORTED_CODES = SUPPORTED_LANGUAGES.map((l) => l.iso);
2224
+ function getPersistedLocale() {
2225
+ try {
2226
+ return localStorage.getItem(STORAGE_KEY);
2227
+ } catch {
2228
+ return null;
2229
+ }
2230
+ }
2231
+ function persistLocale(locale) {
2232
+ try {
2233
+ localStorage.setItem(STORAGE_KEY, locale);
2234
+ } catch {}
2235
+ }
2236
+ function getBrowserLocale() {
2237
+ if (typeof navigator === "undefined") return "en";
2238
+ return navigator.language.replace(/-/g, "_");
2239
+ }
2240
+ function getOptimisticLocale() {
2241
+ const persisted = getPersistedLocale();
2242
+ if (persisted && SUPPORTED_CODES.includes(persisted)) return persisted;
2243
+ return resolveLocale(SUPPORTED_CODES);
2244
+ }
2245
+ function resolveLocale(supportedCodes) {
2246
+ const persisted = getPersistedLocale();
2247
+ if (persisted && supportedCodes.includes(persisted)) return persisted;
2248
+ const browser = getBrowserLocale();
2249
+ if (supportedCodes.includes(browser)) return browser;
2250
+ const browserLang = browser.split("_")[0];
2251
+ const match = supportedCodes.find((c) => c === browserLang || c.startsWith(`${browserLang}_`));
2252
+ if (match) return match;
2253
+ return supportedCodes[0] ?? "en";
2254
+ }
2255
+ //#endregion
2092
2256
  //#region src/providers/FluidProvider.tsx
2093
2257
  /**
2094
2258
  * Main Fluid SDK Provider
@@ -2118,7 +2282,8 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2118
2282
  return new QueryClient({ defaultOptions: { queries: {
2119
2283
  staleTime: 1e3 * 60,
2120
2284
  retry: 1,
2121
- persister: (typeof window !== "undefined" && !import.meta.env?.DEV ? createPersister() : void 0)?.persisterFn
2285
+ persister: (typeof window !== "undefined" && !import.meta.env?.DEV ? createPersister() : void 0)?.persisterFn,
2286
+ refetchOnWindowFocus: false
2122
2287
  } } });
2123
2288
  }, []);
2124
2289
  const configRef = useRef(config);
@@ -2176,7 +2341,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2176
2341
  value: countriesApi,
2177
2342
  children: /* @__PURE__ */ jsx(LanguagesApiProvider, {
2178
2343
  value: languagesApi,
2179
- children: /* @__PURE__ */ jsx(MySiteApiProvider, {
2344
+ children: /* @__PURE__ */ jsx(PortalLocaleProvider, { children: /* @__PURE__ */ jsx(MySiteApiProvider, {
2180
2345
  value: mysiteApi,
2181
2346
  children: /* @__PURE__ */ jsx(DataSourceApiProvider, {
2182
2347
  value: dataSourceApi,
@@ -2189,7 +2354,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2189
2354
  children
2190
2355
  })
2191
2356
  })
2192
- })
2357
+ }) })
2193
2358
  })
2194
2359
  })
2195
2360
  })
@@ -2222,6 +2387,13 @@ function ProviderStack({ baseUrl, getApiHeaders, variables, registry, themeProvi
2222
2387
  })
2223
2388
  });
2224
2389
  }
2390
+ function PortalLocaleProvider({ children }) {
2391
+ return /* @__PURE__ */ jsx(LocaleProvider, {
2392
+ initialLocale: getOptimisticLocale(),
2393
+ onLocaleChange: persistLocale,
2394
+ children
2395
+ });
2396
+ }
2225
2397
  /**
2226
2398
  * Hook to access the Fluid context
2227
2399
  * Must be used within a FluidProvider
@@ -2232,6 +2404,6 @@ function useFluidContext() {
2232
2404
  return context;
2233
2405
  }
2234
2406
  //#endregion
2235
- export { createScreen as a, FluidThemeProvider as c, useLanguagesApi as d, useAppDefinitionApi as f, widgetPropertySchemas as i, useThemeContext as l, deleteDatabase as m, useFluidContext as n, createWidgetFromShareable as o, createPersister as p, DEFAULT_SDK_WIDGET_REGISTRY as r, createWidgetRegistry as s, FluidProvider as t, ApiError as u };
2407
+ export { widgetPropertySchemas as a, createWidgetRegistry as c, useThemeContext as d, ApiError as f, deleteDatabase as g, createPersister as h, DEFAULT_SDK_WIDGET_REGISTRY as i, useActiveLocale as l, useAppDefinitionApi as m, useFluidContext as n, createScreen as o, useLanguagesApi as p, SUPPORTED_LANGUAGES as r, createWidgetFromShareable as s, FluidProvider as t, FluidThemeProvider as u };
2236
2408
 
2237
- //# sourceMappingURL=FluidProvider-CNk1Y2k1.mjs.map
2409
+ //# sourceMappingURL=FluidProvider-Bwg1cGSY.mjs.map