@fluid-app/portal-sdk 0.1.440 → 0.1.441

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 (55) hide show
  1. package/dist/{FluidProvider-DBDlV2iq.cjs → FluidProvider-C_cuWVZC.cjs} +3 -146
  2. package/dist/FluidProvider-C_cuWVZC.cjs.map +1 -0
  3. package/dist/{FluidProvider-CkF8Whc3.mjs → FluidProvider-CsJUgoSM.mjs} +2 -145
  4. package/dist/FluidProvider-CsJUgoSM.mjs.map +1 -0
  5. package/dist/{MessagingScreen-ByQsherQ.mjs → MessagingScreen-CDnFbmbw.mjs} +2 -2
  6. package/dist/{MessagingScreen-ByQsherQ.mjs.map → MessagingScreen-CDnFbmbw.mjs.map} +1 -1
  7. package/dist/{MessagingScreen-CmKVY0He.mjs → MessagingScreen-DQupd_PN.mjs} +6 -3
  8. package/dist/{MessagingScreen-l_B0c2aV.cjs → MessagingScreen-Ny_orpNI.cjs} +2 -2
  9. package/dist/{MessagingScreen-l_B0c2aV.cjs.map → MessagingScreen-Ny_orpNI.cjs.map} +1 -1
  10. package/dist/{MessagingScreen-BwfTkYQC.cjs → MessagingScreen-Vt_hHDFR.cjs} +3 -3
  11. package/dist/{OrdersScreen-CUthnvdK.cjs → OrdersScreen-BP-RKjuy.cjs} +2 -2
  12. package/dist/{OrdersScreen-CUthnvdK.cjs.map → OrdersScreen-BP-RKjuy.cjs.map} +1 -1
  13. package/dist/{OrdersScreen-CDYR24I0.mjs → OrdersScreen-CcQE6M8k.mjs} +6 -3
  14. package/dist/{OrdersScreen-CHfKKpNj.mjs → OrdersScreen-ga8MvNCy.mjs} +2 -2
  15. package/dist/{OrdersScreen-CHfKKpNj.mjs.map → OrdersScreen-ga8MvNCy.mjs.map} +1 -1
  16. package/dist/{OrdersScreen-rZ5lOk4X.cjs → OrdersScreen-uJSCULoa.cjs} +3 -3
  17. package/dist/{ProfileScreen-DsiYj2jf.mjs → ProfileScreen-BH-AhZwH.mjs} +7 -4
  18. package/dist/{ProfileScreen-CahfNnG9.mjs → ProfileScreen-BK-x4vjE.mjs} +3 -3
  19. package/dist/{ProfileScreen-CahfNnG9.mjs.map → ProfileScreen-BK-x4vjE.mjs.map} +1 -1
  20. package/dist/{ProfileScreen-Cgva1mW4.cjs → ProfileScreen-Dnn9xC7Y.cjs} +3 -3
  21. package/dist/{ProfileScreen-Cgva1mW4.cjs.map → ProfileScreen-Dnn9xC7Y.cjs.map} +1 -1
  22. package/dist/{ProfileScreen-Dj6X-ujW.cjs → ProfileScreen-e5kl6PKN.cjs} +4 -4
  23. package/dist/{ShareablesScreen-VAb4ZRkI.mjs → ShareablesScreen-WgGyMd_5.mjs} +3 -0
  24. package/dist/{ShopScreen-BSrWQpcJ.cjs → ShopScreen-CXk4U0TH.cjs} +3 -3
  25. package/dist/{ShopScreen-BBulD_rH.cjs → ShopScreen-CgmIvtS3.cjs} +2 -2
  26. package/dist/{ShopScreen-BBulD_rH.cjs.map → ShopScreen-CgmIvtS3.cjs.map} +1 -1
  27. package/dist/{ShopScreen-Cjj7mn9_.mjs → ShopScreen-LVPXySQ2.mjs} +6 -3
  28. package/dist/{ShopScreen-DSjZYt-8.mjs → ShopScreen-Tmq0_NAx.mjs} +2 -2
  29. package/dist/{ShopScreen-DSjZYt-8.mjs.map → ShopScreen-Tmq0_NAx.mjs.map} +1 -1
  30. package/dist/{SubscriptionsScreen-b4VbNe9j.mjs → SubscriptionsScreen-BAAgX5uH.mjs} +3 -3
  31. package/dist/{SubscriptionsScreen-b4VbNe9j.mjs.map → SubscriptionsScreen-BAAgX5uH.mjs.map} +1 -1
  32. package/dist/{SubscriptionsScreen-q64Zsn2K.cjs → SubscriptionsScreen-BvKkEmIk.cjs} +3 -3
  33. package/dist/{SubscriptionsScreen-q64Zsn2K.cjs.map → SubscriptionsScreen-BvKkEmIk.cjs.map} +1 -1
  34. package/dist/{SubscriptionsScreen-_-g8yZJp.cjs → SubscriptionsScreen-DmMC_ARB.cjs} +4 -4
  35. package/dist/{SubscriptionsScreen-CUDYT7aW.mjs → SubscriptionsScreen-WxtRBnWb.mjs} +7 -4
  36. package/dist/build-remote-widget-plugin-manifests-CEaKMrqR.d.cts.map +1 -1
  37. package/dist/build-remote-widget-plugin-manifests-DUbQaMsx.d.mts.map +1 -1
  38. package/dist/{build-widget-registry-M8PLSoaQ.cjs → build-widget-registry-BQ1Re7ib.cjs} +204 -53
  39. package/dist/build-widget-registry-BQ1Re7ib.cjs.map +1 -0
  40. package/dist/{build-widget-registry-DCUqmbJi.mjs → build-widget-registry-DPQbuyej.mjs} +198 -53
  41. package/dist/build-widget-registry-DPQbuyej.mjs.map +1 -0
  42. package/dist/index.cjs +18 -18
  43. package/dist/index.mjs +20 -20
  44. package/dist/{use-portal-card-add-3ds-flow-CLQ8CieI.cjs → use-portal-card-add-3ds-flow-5bwm5fdZ.cjs} +2 -2
  45. package/dist/{use-portal-card-add-3ds-flow-CLQ8CieI.cjs.map → use-portal-card-add-3ds-flow-5bwm5fdZ.cjs.map} +1 -1
  46. package/dist/{use-portal-card-add-3ds-flow-CM2zXEw1.mjs → use-portal-card-add-3ds-flow-DasoWy59.mjs} +2 -2
  47. package/dist/{use-portal-card-add-3ds-flow-CM2zXEw1.mjs.map → use-portal-card-add-3ds-flow-DasoWy59.mjs.map} +1 -1
  48. package/dist/utils/build-remote-widget-plugin-manifests.cjs +1 -1
  49. package/dist/utils/build-remote-widget-plugin-manifests.mjs +3 -1
  50. package/dist/utils/build-remote-widget-plugin-manifests.mjs.map +1 -1
  51. package/package.json +14 -14
  52. package/dist/FluidProvider-CkF8Whc3.mjs.map +0 -1
  53. package/dist/FluidProvider-DBDlV2iq.cjs.map +0 -1
  54. package/dist/build-widget-registry-DCUqmbJi.mjs.map +0 -1
  55. package/dist/build-widget-registry-M8PLSoaQ.cjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require("./chunk-9hOWP6kD.cjs");
2
- const require_build_widget_registry = require("./build-widget-registry-M8PLSoaQ.cjs");
2
+ const require_build_widget_registry = require("./build-widget-registry-BQ1Re7ib.cjs");
3
3
  const require_ScreenRenderer = require("./ScreenRenderer-EGk5-w0h.cjs");
4
4
  const require_use_account = require("./use-account-CPOGOGl6.cjs");
5
5
  const require_use_optional_store = require("./use-optional-store-CIM4spDu.cjs");
@@ -18100,149 +18100,6 @@ function resolveLocale(supportedCodes) {
18100
18100
  if (match) return match;
18101
18101
  return supportedCodes[0] ?? "en";
18102
18102
  }
18103
- const REMOTE_DOM_WIDGET_RUNTIME = "remote-dom";
18104
- const PACKAGE_FIELDS = new Set([
18105
- "manifestVersion",
18106
- "runtime",
18107
- "packageId",
18108
- "source",
18109
- "version",
18110
- "workerEntryUrl",
18111
- "cssUrls",
18112
- "assetUrls",
18113
- "widgets"
18114
- ]);
18115
- const WIDGET_FIELDS = new Set([
18116
- "type",
18117
- "displayName",
18118
- "description",
18119
- "icon",
18120
- "category",
18121
- "propertySchema",
18122
- "defaultProps",
18123
- "container",
18124
- "resizable",
18125
- "minSdkVersion",
18126
- "capabilities"
18127
- ]);
18128
- const CAPABILITY_FIELDS = new Set(["name", "version"]);
18129
- const UNSAFE_JSON_KEYS = new Set([
18130
- "__proto__",
18131
- "constructor",
18132
- "prototype"
18133
- ]);
18134
- function isRemoteDomWidgetPackageDescriptor(value) {
18135
- return getRemoteDomWidgetPackageInvalidReason(value) === void 0;
18136
- }
18137
- function getRemoteDomWidgetPackageInvalidReason(value) {
18138
- if (!isRecord(value)) return "descriptor must be an object";
18139
- const unexpectedFieldReason = getUnexpectedFieldReason(value, PACKAGE_FIELDS, "descriptor");
18140
- if (unexpectedFieldReason) return unexpectedFieldReason;
18141
- if (value.manifestVersion !== 1) return `manifestVersion must be 1`;
18142
- if (value.runtime !== "remote-dom") return `runtime must be ${REMOTE_DOM_WIDGET_RUNTIME}`;
18143
- const packageIdReason = getNonEmptyStringReason(value.packageId, "packageId");
18144
- if (packageIdReason) return packageIdReason;
18145
- if (value.source !== "company" && value.source !== "droplet") return "source must be company or droplet";
18146
- const versionReason = getNonEmptyStringReason(value.version, "version");
18147
- if (versionReason) return versionReason;
18148
- const workerEntryUrlReason = getHttpUrlReason(value.workerEntryUrl, "workerEntryUrl");
18149
- if (workerEntryUrlReason) return workerEntryUrlReason;
18150
- const cssUrlsReason = getUrlArrayReason(value.cssUrls, "cssUrls");
18151
- if (cssUrlsReason) return cssUrlsReason;
18152
- const assetUrlsReason = getUrlArrayReason(value.assetUrls, "assetUrls");
18153
- if (assetUrlsReason) return assetUrlsReason;
18154
- if (!Array.isArray(value.widgets) || value.widgets.length === 0) return "widgets must be a non-empty array";
18155
- const widgetTypes = /* @__PURE__ */ new Set();
18156
- for (let index = 0; index < value.widgets.length; index += 1) {
18157
- const widget = value.widgets[index];
18158
- const widgetReason = getWidgetReason(widget, `widgets[${index}]`);
18159
- if (widgetReason) return widgetReason;
18160
- const widgetType = widget.type;
18161
- if (widgetTypes.has(widgetType)) return `widgets contains duplicate type ${widgetType}`;
18162
- widgetTypes.add(widgetType);
18163
- }
18164
- }
18165
- function getWidgetReason(value, path) {
18166
- if (!isRecord(value)) return `${path} must be an object`;
18167
- const unexpectedFieldReason = getUnexpectedFieldReason(value, WIDGET_FIELDS, path);
18168
- if (unexpectedFieldReason) return unexpectedFieldReason;
18169
- for (const field of [
18170
- "type",
18171
- "displayName",
18172
- "description",
18173
- "icon",
18174
- "category",
18175
- "minSdkVersion"
18176
- ]) {
18177
- const reason = getNonEmptyStringReason(value[field], `${path}.${field}`);
18178
- if (reason) return reason;
18179
- }
18180
- if (!isRecord(value.propertySchema) || !isJsonValue(value.propertySchema)) return `${path}.propertySchema must be a JSON object`;
18181
- if (!isRecord(value.defaultProps) || !isJsonValue(value.defaultProps)) return `${path}.defaultProps must be a JSON object`;
18182
- if (value.container !== "inline" && value.container !== "block" && value.container !== "card" && value.container !== "fullscreen") return `${path}.container is unsupported`;
18183
- if (typeof value.resizable !== "boolean" && value.resizable !== "horizontal" && value.resizable !== "vertical" && value.resizable !== "both") return `${path}.resizable is unsupported`;
18184
- if (!Array.isArray(value.capabilities)) return `${path}.capabilities must be an array`;
18185
- const capabilityNames = /* @__PURE__ */ new Set();
18186
- for (let index = 0; index < value.capabilities.length; index += 1) {
18187
- const capability = value.capabilities[index];
18188
- const capabilityPath = `${path}.capabilities[${index}]`;
18189
- if (!isRecord(capability)) return `${capabilityPath} must be an object`;
18190
- const unexpectedFieldReason = getUnexpectedFieldReason(capability, CAPABILITY_FIELDS, capabilityPath);
18191
- if (unexpectedFieldReason) return unexpectedFieldReason;
18192
- const capabilityName = capability.name;
18193
- const nameReason = getNonEmptyStringReason(capabilityName, `${capabilityPath}.name`);
18194
- if (nameReason) return nameReason;
18195
- if (typeof capabilityName !== "string") return `${capabilityPath}.name must be a non-empty string`;
18196
- const versionReason = getNonEmptyStringReason(capability.version, `${capabilityPath}.version`);
18197
- if (versionReason) return versionReason;
18198
- if (capabilityNames.has(capabilityName)) return `${path}.capabilities contains duplicate name ${capabilityName}`;
18199
- capabilityNames.add(capabilityName);
18200
- }
18201
- }
18202
- function getUrlArrayReason(value, path) {
18203
- if (!Array.isArray(value)) return `${path} must be an array`;
18204
- for (let index = 0; index < value.length; index += 1) {
18205
- const reason = getHttpUrlReason(value[index], `${path}[${index}]`);
18206
- if (reason) return reason;
18207
- }
18208
- }
18209
- function getHttpUrlReason(value, path) {
18210
- const stringReason = getNonEmptyStringReason(value, path);
18211
- if (stringReason) return stringReason;
18212
- if (typeof value !== "string") return `${path} must be a non-empty string`;
18213
- try {
18214
- const url = new URL(value);
18215
- if (url.protocol !== "http:" && url.protocol !== "https:") return `${path} must use http or https`;
18216
- if (url.username || url.password) return `${path} must not contain credentials`;
18217
- } catch {
18218
- return `${path} must be an absolute URL`;
18219
- }
18220
- }
18221
- function getNonEmptyStringReason(value, path) {
18222
- if (typeof value !== "string" || value.trim().length === 0) return `${path} must be a non-empty string`;
18223
- if (value !== value.trim()) return `${path} must not have surrounding whitespace`;
18224
- if (/\p{Cc}/u.test(value)) return `${path} must not contain control characters`;
18225
- }
18226
- function isJsonValue(value) {
18227
- return isJsonValueAtDepth(value, /* @__PURE__ */ new WeakSet(), 0);
18228
- }
18229
- function isJsonValueAtDepth(value, ancestors, depth) {
18230
- if (value === null || typeof value === "string" || typeof value === "boolean") return true;
18231
- if (typeof value === "number") return Number.isFinite(value);
18232
- if (typeof value !== "object" || depth > 50 || ancestors.has(value)) return false;
18233
- ancestors.add(value);
18234
- const prototype = Object.getPrototypeOf(value);
18235
- const isJson = Array.isArray(value) ? value.every((item) => isJsonValueAtDepth(item, ancestors, depth + 1)) : (prototype === Object.prototype || prototype === null) && isRecord(value) && Object.entries(value).every(([key, item]) => !UNSAFE_JSON_KEYS.has(key) && isJsonValueAtDepth(item, ancestors, depth + 1));
18236
- ancestors.delete(value);
18237
- return isJson;
18238
- }
18239
- function isRecord(value) {
18240
- return typeof value === "object" && value !== null && !Array.isArray(value);
18241
- }
18242
- function getUnexpectedFieldReason(value, allowedFields, path) {
18243
- const unexpectedField = Object.keys(value).find((field) => !allowedFields.has(field));
18244
- return unexpectedField ? `${path} contains unsupported field ${unexpectedField}` : void 0;
18245
- }
18246
18103
  //#endregion
18247
18104
  //#region src/adapters/remote-widget-catalog-api-adapter.ts
18248
18105
  /** Creates the canonical Remote DOM catalog adapter backed by portal-tenant. */
@@ -18250,7 +18107,7 @@ function createRemoteWidgetCatalogApiAdapter(client) {
18250
18107
  return { async listRemoteWidgetPackages() {
18251
18108
  const response = await require_translation_adapter.app_widget_packages_list(client);
18252
18109
  const packages = [];
18253
- for (const candidate of response.packages) if (isRemoteDomWidgetPackageDescriptor(candidate)) packages.push(candidate);
18110
+ for (const candidate of response.packages) if (require_build_widget_registry.isRemoteDomWidgetPackageDescriptor(candidate)) packages.push(candidate);
18254
18111
  else console.warn("[portal-sdk] Ignoring an invalid Remote DOM widget package returned by the catalog.");
18255
18112
  return packages;
18256
18113
  } };
@@ -18727,4 +18584,4 @@ Object.defineProperty(exports, "useThemeContext", {
18727
18584
  }
18728
18585
  });
18729
18586
 
18730
- //# sourceMappingURL=FluidProvider-DBDlV2iq.cjs.map
18587
+ //# sourceMappingURL=FluidProvider-C_cuWVZC.cjs.map