@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
@@ -1658,6 +1658,28 @@ function useThemeContext() {
1658
1658
  return context;
1659
1659
  }
1660
1660
  //#endregion
1661
+ //#region ../../platform/i18n/src/locale-context.tsx
1662
+ const LocaleCtx = (0, react.createContext)(null);
1663
+ function LocaleProvider({ initialLocale, onLocaleChange, children }) {
1664
+ const [locale, setLocaleState] = (0, react.useState)(initialLocale);
1665
+ const value = (0, react.useMemo)(() => ({
1666
+ locale,
1667
+ setLocale(next) {
1668
+ setLocaleState(next);
1669
+ onLocaleChange?.(next);
1670
+ }
1671
+ }), [locale, onLocaleChange]);
1672
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocaleCtx.Provider, {
1673
+ value,
1674
+ children
1675
+ });
1676
+ }
1677
+ function useActiveLocale() {
1678
+ const value = (0, react.useContext)(LocaleCtx);
1679
+ if (!value) throw new Error("useActiveLocale must be used within a LocaleProvider");
1680
+ return value;
1681
+ }
1682
+ //#endregion
1661
1683
  //#region src/adapters/widgets-api-adapter.ts
1662
1684
  function mapBffCalendarEvent(event) {
1663
1685
  return {
@@ -2105,6 +2127,148 @@ const DEFAULT_SDK_WIDGET_REGISTRY = createWidgetRegistry({
2105
2127
  VideoWidget: require_VideoWidget.VideoWidget
2106
2128
  });
2107
2129
  //#endregion
2130
+ //#region src/hooks/use-portal-active-locale.ts
2131
+ const STORAGE_KEY = "portal-language";
2132
+ const SUPPORTED_LANGUAGES = [
2133
+ {
2134
+ id: 1,
2135
+ iso: "en",
2136
+ name: "English"
2137
+ },
2138
+ {
2139
+ id: 2,
2140
+ iso: "es",
2141
+ name: "Español (Spanish)"
2142
+ },
2143
+ {
2144
+ id: 3,
2145
+ iso: "pt",
2146
+ name: "Português (Portuguese)"
2147
+ },
2148
+ {
2149
+ id: 4,
2150
+ iso: "fr",
2151
+ name: "Français (French)"
2152
+ },
2153
+ {
2154
+ id: 5,
2155
+ iso: "de",
2156
+ name: "Deutsch (German)"
2157
+ },
2158
+ {
2159
+ id: 6,
2160
+ iso: "it",
2161
+ name: "Italiano (Italian)"
2162
+ },
2163
+ {
2164
+ id: 7,
2165
+ iso: "nl",
2166
+ name: "Nederlands (Dutch)"
2167
+ },
2168
+ {
2169
+ id: 8,
2170
+ iso: "pl",
2171
+ name: "Polski (Polish)"
2172
+ },
2173
+ {
2174
+ id: 9,
2175
+ iso: "hu",
2176
+ name: "Magyar (Hungarian)"
2177
+ },
2178
+ {
2179
+ id: 10,
2180
+ iso: "id",
2181
+ name: "Bahasa Indonesia (Indonesian)"
2182
+ },
2183
+ {
2184
+ id: 11,
2185
+ iso: "ja",
2186
+ name: "日本語 (Japanese)"
2187
+ },
2188
+ {
2189
+ id: 12,
2190
+ iso: "ko",
2191
+ name: "한국어 (Korean)"
2192
+ },
2193
+ {
2194
+ id: 13,
2195
+ iso: "ru",
2196
+ name: "Русский (Russian)"
2197
+ },
2198
+ {
2199
+ id: 14,
2200
+ iso: "el",
2201
+ name: "Ελληνικά (Greek)"
2202
+ },
2203
+ {
2204
+ id: 15,
2205
+ iso: "ro",
2206
+ name: "Română (Romanian)"
2207
+ },
2208
+ {
2209
+ id: 16,
2210
+ iso: "tr",
2211
+ name: "Türkçe (Turkish)"
2212
+ },
2213
+ {
2214
+ id: 17,
2215
+ iso: "he",
2216
+ name: "עברית (Hebrew)"
2217
+ },
2218
+ {
2219
+ id: 18,
2220
+ iso: "tl",
2221
+ name: "Tagalog"
2222
+ },
2223
+ {
2224
+ id: 19,
2225
+ iso: "th",
2226
+ name: "ไทย (Thai)"
2227
+ },
2228
+ {
2229
+ id: 20,
2230
+ iso: "zh_CN",
2231
+ name: "简体中文 (Chinese - Simplified)"
2232
+ },
2233
+ {
2234
+ id: 21,
2235
+ iso: "zh_TW",
2236
+ name: "繁體中文 (Chinese - Traditional)"
2237
+ }
2238
+ ];
2239
+ const SUPPORTED_CODES = SUPPORTED_LANGUAGES.map((l) => l.iso);
2240
+ function getPersistedLocale() {
2241
+ try {
2242
+ return localStorage.getItem(STORAGE_KEY);
2243
+ } catch {
2244
+ return null;
2245
+ }
2246
+ }
2247
+ function persistLocale(locale) {
2248
+ try {
2249
+ localStorage.setItem(STORAGE_KEY, locale);
2250
+ } catch {}
2251
+ }
2252
+ function getBrowserLocale() {
2253
+ if (typeof navigator === "undefined") return "en";
2254
+ return navigator.language.replace(/-/g, "_");
2255
+ }
2256
+ function getOptimisticLocale() {
2257
+ const persisted = getPersistedLocale();
2258
+ if (persisted && SUPPORTED_CODES.includes(persisted)) return persisted;
2259
+ return resolveLocale(SUPPORTED_CODES);
2260
+ }
2261
+ function resolveLocale(supportedCodes) {
2262
+ const persisted = getPersistedLocale();
2263
+ if (persisted && supportedCodes.includes(persisted)) return persisted;
2264
+ const browser = getBrowserLocale();
2265
+ if (supportedCodes.includes(browser)) return browser;
2266
+ const browserLang = browser.split("_")[0];
2267
+ const match = supportedCodes.find((c) => c === browserLang || c.startsWith(`${browserLang}_`));
2268
+ if (match) return match;
2269
+ return supportedCodes[0] ?? "en";
2270
+ }
2271
+ //#endregion
2108
2272
  //#region src/providers/FluidProvider.tsx
2109
2273
  /**
2110
2274
  * Main Fluid SDK Provider
@@ -2134,7 +2298,8 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2134
2298
  return new _tanstack_react_query.QueryClient({ defaultOptions: { queries: {
2135
2299
  staleTime: 1e3 * 60,
2136
2300
  retry: 1,
2137
- persister: (typeof window !== "undefined" && !{}.env?.DEV ? createPersister() : void 0)?.persisterFn
2301
+ persister: (typeof window !== "undefined" && !{}.env?.DEV ? createPersister() : void 0)?.persisterFn,
2302
+ refetchOnWindowFocus: false
2138
2303
  } } });
2139
2304
  }, []);
2140
2305
  const configRef = (0, react.useRef)(config);
@@ -2192,7 +2357,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2192
2357
  value: countriesApi,
2193
2358
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LanguagesApiProvider, {
2194
2359
  value: languagesApi,
2195
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_mysite_api_context.MySiteApiProvider, {
2360
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(PortalLocaleProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_mysite_api_context.MySiteApiProvider, {
2196
2361
  value: mysiteApi,
2197
2362
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ScreenRenderer.DataSourceApiProvider, {
2198
2363
  value: dataSourceApi,
@@ -2205,7 +2370,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2205
2370
  children
2206
2371
  })
2207
2372
  })
2208
- })
2373
+ }) })
2209
2374
  })
2210
2375
  })
2211
2376
  })
@@ -2238,6 +2403,13 @@ function ProviderStack({ baseUrl, getApiHeaders, variables, registry, themeProvi
2238
2403
  })
2239
2404
  });
2240
2405
  }
2406
+ function PortalLocaleProvider({ children }) {
2407
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LocaleProvider, {
2408
+ initialLocale: getOptimisticLocale(),
2409
+ onLocaleChange: persistLocale,
2410
+ children
2411
+ });
2412
+ }
2241
2413
  /**
2242
2414
  * Hook to access the Fluid context
2243
2415
  * Must be used within a FluidProvider
@@ -2272,6 +2444,12 @@ Object.defineProperty(exports, "FluidThemeProvider", {
2272
2444
  return FluidThemeProvider;
2273
2445
  }
2274
2446
  });
2447
+ Object.defineProperty(exports, "SUPPORTED_LANGUAGES", {
2448
+ enumerable: true,
2449
+ get: function() {
2450
+ return SUPPORTED_LANGUAGES;
2451
+ }
2452
+ });
2275
2453
  Object.defineProperty(exports, "createPersister", {
2276
2454
  enumerable: true,
2277
2455
  get: function() {
@@ -2302,6 +2480,12 @@ Object.defineProperty(exports, "deleteDatabase", {
2302
2480
  return deleteDatabase;
2303
2481
  }
2304
2482
  });
2483
+ Object.defineProperty(exports, "useActiveLocale", {
2484
+ enumerable: true,
2485
+ get: function() {
2486
+ return useActiveLocale;
2487
+ }
2488
+ });
2305
2489
  Object.defineProperty(exports, "useAppDefinitionApi", {
2306
2490
  enumerable: true,
2307
2491
  get: function() {
@@ -2333,4 +2517,4 @@ Object.defineProperty(exports, "widgetPropertySchemas", {
2333
2517
  }
2334
2518
  });
2335
2519
 
2336
- //# sourceMappingURL=FluidProvider-o1Gu53TN.cjs.map
2520
+ //# sourceMappingURL=FluidProvider-DprqXNu4.cjs.map