@fluid-app/portal-sdk 0.1.247 → 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-SBBG4bwO.mjs → FluidProvider-Bwg1cGSY.mjs} +175 -4
  2. package/dist/FluidProvider-Bwg1cGSY.mjs.map +1 -0
  3. package/dist/{FluidProvider-7J0MNPAs.cjs → FluidProvider-DprqXNu4.cjs} +186 -3
  4. package/dist/FluidProvider-DprqXNu4.cjs.map +1 -0
  5. package/dist/{MessagingScreen-13jwskAp.cjs → MessagingScreen-BKb4mWGa.cjs} +2 -2
  6. package/dist/{MessagingScreen-CYUeWbtR.cjs → MessagingScreen-CDiLGmMi.cjs} +2 -2
  7. package/dist/{MessagingScreen-CYUeWbtR.cjs.map → MessagingScreen-CDiLGmMi.cjs.map} +1 -1
  8. package/dist/{MessagingScreen-DF0Xmv8w.mjs → MessagingScreen-DGhqsVXi.mjs} +2 -2
  9. package/dist/{MessagingScreen-DF0Xmv8w.mjs.map → MessagingScreen-DGhqsVXi.mjs.map} +1 -1
  10. package/dist/{ProfileScreen-OmqrjseW.cjs → ProfileScreen-BDLJgcXg.cjs} +2 -2
  11. package/dist/{ProfileScreen-OmqrjseW.cjs.map → ProfileScreen-BDLJgcXg.cjs.map} +1 -1
  12. package/dist/{ProfileScreen-CbnDuoYA.mjs → ProfileScreen-CmQDKNaP.mjs} +2 -2
  13. package/dist/{ProfileScreen-CbnDuoYA.mjs.map → ProfileScreen-CmQDKNaP.mjs.map} +1 -1
  14. package/dist/{ProfileScreen-B-gHp1AD.cjs → ProfileScreen-DHv2Cjpz.cjs} +2 -2
  15. package/dist/{ShopScreen-DxTDjfkY.cjs → ShopScreen---dB03HI.cjs} +223 -62
  16. package/dist/ShopScreen---dB03HI.cjs.map +1 -0
  17. package/dist/{ShopScreen-IhDmoEKQ.cjs → ShopScreen-B6ygTHDB.cjs} +2 -2
  18. package/dist/{ShopScreen-DBInpm5S.mjs → ShopScreen-kiVwC38W.mjs} +224 -63
  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 +13 -11
  109. package/dist/FluidProvider-7J0MNPAs.cjs.map +0 -1
  110. package/dist/FluidProvider-SBBG4bwO.mjs.map +0 -1
  111. package/dist/ShopScreen-DBInpm5S.mjs.map +0 -1
  112. package/dist/ShopScreen-DxTDjfkY.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
@@ -2177,7 +2341,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2177
2341
  value: countriesApi,
2178
2342
  children: /* @__PURE__ */ jsx(LanguagesApiProvider, {
2179
2343
  value: languagesApi,
2180
- children: /* @__PURE__ */ jsx(MySiteApiProvider, {
2344
+ children: /* @__PURE__ */ jsx(PortalLocaleProvider, { children: /* @__PURE__ */ jsx(MySiteApiProvider, {
2181
2345
  value: mysiteApi,
2182
2346
  children: /* @__PURE__ */ jsx(DataSourceApiProvider, {
2183
2347
  value: dataSourceApi,
@@ -2190,7 +2354,7 @@ function FluidProvider({ config, children, queryClient, initialTheme, themeConta
2190
2354
  children
2191
2355
  })
2192
2356
  })
2193
- })
2357
+ }) })
2194
2358
  })
2195
2359
  })
2196
2360
  })
@@ -2223,6 +2387,13 @@ function ProviderStack({ baseUrl, getApiHeaders, variables, registry, themeProvi
2223
2387
  })
2224
2388
  });
2225
2389
  }
2390
+ function PortalLocaleProvider({ children }) {
2391
+ return /* @__PURE__ */ jsx(LocaleProvider, {
2392
+ initialLocale: getOptimisticLocale(),
2393
+ onLocaleChange: persistLocale,
2394
+ children
2395
+ });
2396
+ }
2226
2397
  /**
2227
2398
  * Hook to access the Fluid context
2228
2399
  * Must be used within a FluidProvider
@@ -2233,6 +2404,6 @@ function useFluidContext() {
2233
2404
  return context;
2234
2405
  }
2235
2406
  //#endregion
2236
- 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 };
2237
2408
 
2238
- //# sourceMappingURL=FluidProvider-SBBG4bwO.mjs.map
2409
+ //# sourceMappingURL=FluidProvider-Bwg1cGSY.mjs.map