@fluid-app/portal-sdk 0.1.474 → 0.1.476

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 (80) hide show
  1. package/authoring/widget-api/sdk/src/widgets/worker.md +3313 -194
  2. package/dist/{FluidProvider-Enp1OrWr.cjs → FluidProvider-23ch3eP8.cjs} +2 -2
  3. package/dist/{FluidProvider-Enp1OrWr.cjs.map → FluidProvider-23ch3eP8.cjs.map} +1 -1
  4. package/dist/{FluidProvider-BNHU_neW.mjs → FluidProvider-DMeeVh2c.mjs} +2 -2
  5. package/dist/{FluidProvider-BNHU_neW.mjs.map → FluidProvider-DMeeVh2c.mjs.map} +1 -1
  6. package/dist/{MessagingScreen-AVfoyaxf.cjs → MessagingScreen-Ci-LJaR2.cjs} +3 -3
  7. package/dist/{MessagingScreen-BQmYbMd-.mjs → MessagingScreen-D3AD01zt.mjs} +3 -3
  8. package/dist/{MessagingScreen-4WZGUGsB.mjs → MessagingScreen-Dp4SiUQS.mjs} +2 -2
  9. package/dist/{MessagingScreen-4WZGUGsB.mjs.map → MessagingScreen-Dp4SiUQS.mjs.map} +1 -1
  10. package/dist/{MessagingScreen-DOjbhTOB.cjs → MessagingScreen-NuVpv-nc.cjs} +2 -2
  11. package/dist/{MessagingScreen-DOjbhTOB.cjs.map → MessagingScreen-NuVpv-nc.cjs.map} +1 -1
  12. package/dist/{OrdersScreen-5VmHwt9p.cjs → OrdersScreen-BHwi-PHP.cjs} +2 -2
  13. package/dist/{OrdersScreen-5VmHwt9p.cjs.map → OrdersScreen-BHwi-PHP.cjs.map} +1 -1
  14. package/dist/{OrdersScreen-CgJs_YwT.mjs → OrdersScreen-C2B9Eqgv.mjs} +3 -3
  15. package/dist/{OrdersScreen-DKH7gRMR.mjs → OrdersScreen-DrevIASH.mjs} +2 -2
  16. package/dist/{OrdersScreen-DKH7gRMR.mjs.map → OrdersScreen-DrevIASH.mjs.map} +1 -1
  17. package/dist/{OrdersScreen-Bu1Xu3rN.cjs → OrdersScreen-ppjcbl-E.cjs} +3 -3
  18. package/dist/{ProfileScreen-DLuirgGc.cjs → ProfileScreen-Ah2vLws3.cjs} +3 -3
  19. package/dist/{ProfileScreen-DLuirgGc.cjs.map → ProfileScreen-Ah2vLws3.cjs.map} +1 -1
  20. package/dist/{ProfileScreen-DBwYxpTt.cjs → ProfileScreen-CjYx113f.cjs} +4 -4
  21. package/dist/{ProfileScreen-cWvrOUKa.mjs → ProfileScreen-D3lE-N-0.mjs} +4 -4
  22. package/dist/{ProfileScreen-BpgrJkH0.mjs → ProfileScreen-DKddD3kl.mjs} +3 -3
  23. package/dist/{ProfileScreen-BpgrJkH0.mjs.map → ProfileScreen-DKddD3kl.mjs.map} +1 -1
  24. package/dist/{SubscriptionsScreen-_CMNc90t.mjs → SubscriptionsScreen-Bh0zZWrr.mjs} +4 -4
  25. package/dist/{SubscriptionsScreen-_CMNc90t.mjs.map → SubscriptionsScreen-Bh0zZWrr.mjs.map} +1 -1
  26. package/dist/{SubscriptionsScreen-DExbk_Rt.cjs → SubscriptionsScreen-BmRkFwfy.cjs} +4 -4
  27. package/dist/{SubscriptionsScreen-D4lpU-bC.cjs → SubscriptionsScreen-D5tKJWci.cjs} +4 -4
  28. package/dist/{SubscriptionsScreen-D4lpU-bC.cjs.map → SubscriptionsScreen-D5tKJWci.cjs.map} +1 -1
  29. package/dist/{SubscriptionsScreen-0S2YmOKZ.mjs → SubscriptionsScreen-DkXohPSw.mjs} +4 -4
  30. package/dist/{build-remote-widget-plugin-manifests-BS2FjZRV.d.cts → build-remote-widget-plugin-manifests-DUfcmkSD.d.cts} +3 -3
  31. package/dist/{build-remote-widget-plugin-manifests-BS2FjZRV.d.cts.map → build-remote-widget-plugin-manifests-DUfcmkSD.d.cts.map} +1 -1
  32. package/dist/{build-remote-widget-plugin-manifests-DxlaOngq.d.mts → build-remote-widget-plugin-manifests-ejOCHU1U.d.mts} +3 -3
  33. package/dist/{build-remote-widget-plugin-manifests-DxlaOngq.d.mts.map → build-remote-widget-plugin-manifests-ejOCHU1U.d.mts.map} +1 -1
  34. package/dist/{build-widget-registry-BvaGCB_P.mjs → build-widget-registry---S4DdG-.mjs} +2 -2
  35. package/dist/{build-widget-registry-BvaGCB_P.mjs.map → build-widget-registry---S4DdG-.mjs.map} +1 -1
  36. package/dist/{build-widget-registry-BuzSME2l.d.mts → build-widget-registry-B4uXvJe_.d.mts} +2 -2
  37. package/dist/{build-widget-registry-BuzSME2l.d.mts.map → build-widget-registry-B4uXvJe_.d.mts.map} +1 -1
  38. package/dist/{build-widget-registry-Dsp9P8gq.d.cts → build-widget-registry-C_uBIhbU.d.cts} +2 -2
  39. package/dist/{build-widget-registry-Dsp9P8gq.d.cts.map → build-widget-registry-C_uBIhbU.d.cts.map} +1 -1
  40. package/dist/{build-widget-registry-B2K6eJ2o.cjs → build-widget-registry-D28CSx4b.cjs} +2 -2
  41. package/dist/{build-widget-registry-B2K6eJ2o.cjs.map → build-widget-registry-D28CSx4b.cjs.map} +1 -1
  42. package/dist/fluid-spacer-widget-Cgsgu8lP.mjs +1265 -0
  43. package/dist/fluid-spacer-widget-Cgsgu8lP.mjs.map +1 -0
  44. package/dist/fluid-spacer-widget-ajsnkeUW.cjs +1805 -0
  45. package/dist/fluid-spacer-widget-ajsnkeUW.cjs.map +1 -0
  46. package/dist/index.cjs +16 -16
  47. package/dist/index.d.cts +3 -3
  48. package/dist/index.d.mts +3 -3
  49. package/dist/index.mjs +16 -16
  50. package/dist/{portal-function-DYWFgeRx.d.cts → portal-function-DUOB0Ykd.d.cts} +52 -1
  51. package/dist/{portal-function-DYWFgeRx.d.cts.map → portal-function-DUOB0Ykd.d.cts.map} +1 -1
  52. package/dist/{portal-function-MTknwZfL.d.mts → portal-function-hOpcnB0R.d.mts} +52 -1
  53. package/dist/{portal-function-MTknwZfL.d.mts.map → portal-function-hOpcnB0R.d.mts.map} +1 -1
  54. package/dist/{use-portal-card-add-3ds-flow-BlrgGoIL.cjs → use-portal-card-add-3ds-flow-DDvnJaAd.cjs} +24 -9
  55. package/dist/use-portal-card-add-3ds-flow-DDvnJaAd.cjs.map +1 -0
  56. package/dist/{use-portal-card-add-3ds-flow-BBIXp3G5.mjs → use-portal-card-add-3ds-flow-paHQE9yW.mjs} +24 -9
  57. package/dist/use-portal-card-add-3ds-flow-paHQE9yW.mjs.map +1 -0
  58. package/dist/utils/build-remote-widget-plugin-manifests.cjs +1 -1
  59. package/dist/utils/build-remote-widget-plugin-manifests.d.cts +1 -1
  60. package/dist/utils/build-remote-widget-plugin-manifests.d.mts +1 -1
  61. package/dist/utils/build-remote-widget-plugin-manifests.mjs +1 -1
  62. package/dist/utils/build-widget-registry.cjs +1 -1
  63. package/dist/utils/build-widget-registry.d.cts +1 -1
  64. package/dist/utils/build-widget-registry.d.mts +1 -1
  65. package/dist/utils/build-widget-registry.mjs +1 -1
  66. package/dist/widgets/worker.cjs +72 -1
  67. package/dist/widgets/worker.cjs.map +1 -1
  68. package/dist/widgets/worker.d.cts +1193 -329
  69. package/dist/widgets/worker.d.cts.map +1 -1
  70. package/dist/widgets/worker.d.mts +1193 -329
  71. package/dist/widgets/worker.d.mts.map +1 -1
  72. package/dist/widgets/worker.mjs +72 -1
  73. package/dist/widgets/worker.mjs.map +1 -1
  74. package/package.json +11 -11
  75. package/dist/fluid-spacer-widget-C33ayl7j.mjs +0 -547
  76. package/dist/fluid-spacer-widget-C33ayl7j.mjs.map +0 -1
  77. package/dist/fluid-spacer-widget-DoUSdfS_.cjs +0 -1087
  78. package/dist/fluid-spacer-widget-DoUSdfS_.cjs.map +0 -1
  79. package/dist/use-portal-card-add-3ds-flow-BBIXp3G5.mjs.map +0 -1
  80. package/dist/use-portal-card-add-3ds-flow-BlrgGoIL.cjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"fluid-spacer-widget-DoUSdfS_.cjs","names":["RemoteDomCapabilityFunctionError"],"sources":["../src/widgets/remote/contract/portal-function.ts","../src/widgets/remote/contract/capabilities/built-in.ts","../src/widgets/remote/contract/capabilities/read.ts","../src/widgets/remote/contract/capabilities/content-mutation.ts","../src/widgets/remote/contract/capabilities/self.ts","../src/widgets/remote/contract/elements/search-sort.ts","../src/widgets/remote/contract/elements/fluid-spacer-widget.ts"],"sourcesContent":["/** Canonical Portal function contract shared by worker and host code. */\nimport {\n defineRemoteDomCapabilityFunction,\n getRemoteDomCapabilityFunctionMetadata,\n RemoteDomCapabilityFunctionError,\n type RemoteDomCapabilityFunctionMetadata,\n type RemoteDomSerializableValue,\n} from \"@fluid-app/widget-runtime/worker\";\n\nconst PORTAL_FUNCTION_METADATA = Symbol.for(\n \"@fluid-app/portal-sdk/portal-function-metadata\",\n);\nconst PORTAL_FUNCTION_ERROR_PREFIX = \"PORTAL_FUNCTION_ERROR:\";\n\nexport type PortalFunctionJsonValue = RemoteDomSerializableValue;\n\ntype PortalFunctionJsonPrimitive = null | boolean | number | string;\n\ntype IsAny<Value> = 0 extends 1 & Value ? true : false;\n\ntype IsPortalFunctionJsonBranch<Value, Seen> =\n Value extends PortalFunctionJsonPrimitive\n ? true\n : Value extends readonly (infer Item)[]\n ? IsPortalFunctionJsonValue<Item, Seen>\n : Value extends (...args: never[]) => unknown\n ? false\n : Value extends object\n ? Extract<keyof Value, symbol> extends never\n ? false extends {\n [Key in keyof Value]-?: IsPortalFunctionJsonValue<\n Required<Value>[Key],\n Seen | Value\n >;\n }[keyof Value]\n ? false\n : true\n : false\n : false;\n\ntype IsPortalFunctionJsonValue<Value, Seen = never> =\n IsAny<Value> extends true\n ? false\n : [Value] extends [never]\n ? false\n : [Value] extends [Seen]\n ? true\n : false extends (\n Value extends unknown\n ? IsPortalFunctionJsonBranch<Value, Seen>\n : never\n )\n ? false\n : true;\n\ntype IsExactlyVoid<Value> = [Value] extends [void]\n ? [void] extends [Value]\n ? true\n : false\n : false;\n\ntype PortalFunctionContractErrors<Output, Input> =\n IsPortalFunctionJsonValue<Output> extends true\n ? IsExactlyVoid<Input> extends true\n ? []\n : IsPortalFunctionJsonValue<Input> extends true\n ? []\n : [error: \"Portal function input must contain only JSON values\"]\n : [error: \"Portal function output must contain only JSON values\"];\n\nexport type PortalFunctionErrorCode =\n | \"NOT_MOUNTED\"\n | \"NOT_DECLARED\"\n | \"INVALID_ARGUMENT\"\n | \"UNAVAILABLE\"\n | \"UNSUPPORTED\"\n | \"HOST_FAILURE\"\n | \"INVALID_RESPONSE\";\n\nconst PORTAL_FUNCTION_ERROR_CODES: ReadonlySet<PortalFunctionErrorCode> =\n new Set([\n \"NOT_MOUNTED\",\n \"NOT_DECLARED\",\n \"INVALID_ARGUMENT\",\n \"UNAVAILABLE\",\n \"UNSUPPORTED\",\n \"HOST_FAILURE\",\n \"INVALID_RESPONSE\",\n ]);\n\n/** A stable, serializable failure reported by a Portal function call. */\nexport class PortalFunctionError extends Error {\n readonly code: PortalFunctionErrorCode;\n\n constructor(code: PortalFunctionErrorCode, message: string) {\n super(message);\n this.name = \"PortalFunctionError\";\n this.code = code;\n }\n}\n\nexport interface PortalFunctionDefinition {\n readonly capability: string;\n readonly version: string;\n readonly method: string;\n}\n\nexport type PortalFunction<Output, Input = void> = [Input] extends [void]\n ? () => Promise<Output>\n : (input: Input) => Promise<Output>;\n\nexport type AnyPortalFunction = (...args: never[]) => Promise<unknown>;\n\nexport type PortalFunctionHandler<Output, Input = void> = [Input] extends [void]\n ? () => Output | Promise<Output>\n : (input: Input) => Output | Promise<Output>;\n\nexport interface PortalFunctionImplementation {\n readonly definition: PortalFunctionDefinition;\n readonly portalFunction: AnyPortalFunction;\n readonly handler: (...args: never[]) => unknown | Promise<unknown>;\n}\n\nexport function definePortalFunction<Output, Input = void>(\n definition: PortalFunctionDefinition,\n ..._contractErrors: PortalFunctionContractErrors<Output, Input>\n): PortalFunction<Output, Input> {\n const remoteFunction = defineRemoteDomCapabilityFunction<\n RemoteDomSerializableValue,\n RemoteDomSerializableValue | void\n >(definition);\n const portalFunction = (async (...args: readonly unknown[]) => {\n try {\n if (args.length > 1) {\n throw new PortalFunctionError(\n \"INVALID_ARGUMENT\",\n `Portal function \"${definition.capability}.${definition.method}\" accepts at most one argument.`,\n );\n }\n const invoke = remoteFunction as (\n input?: RemoteDomSerializableValue,\n ) => Promise<RemoteDomSerializableValue>;\n return args.length === 0\n ? ((await invoke()) as Output)\n : ((await invoke(args[0] as RemoteDomSerializableValue)) as Output);\n } catch (error) {\n throw toPortalFunctionError(error);\n }\n }) as PortalFunction<Output, Input>;\n\n return attachPortalFunctionMetadata(portalFunction, definition);\n}\n\nexport function implementPortalFunction<Output, Input = void>(\n portalFunction: PortalFunction<Output, Input>,\n handler: PortalFunctionHandler<NoInfer<Output>, NoInfer<Input>>,\n): PortalFunctionImplementation {\n const definition = getPortalFunctionMetadata(portalFunction);\n if (!definition) {\n throw new PortalFunctionError(\n \"INVALID_ARGUMENT\",\n \"implementPortalFunction requires a function created by definePortalFunction.\",\n );\n }\n\n return {\n definition,\n portalFunction: portalFunction as AnyPortalFunction,\n handler: handler as (...args: never[]) => unknown | Promise<unknown>,\n };\n}\n\n/** @internal Used to normalize worker declarations and host implementations. */\nexport function getPortalFunctionMetadata(\n value: unknown,\n): PortalFunctionDefinition | undefined {\n if (typeof value !== \"function\") return undefined;\n\n const portalMetadata = Reflect.get(value, PORTAL_FUNCTION_METADATA);\n if (isPortalFunctionDefinition(portalMetadata)) return portalMetadata;\n\n const runtimeMetadata = getRemoteDomCapabilityFunctionMetadata(value);\n return runtimeMetadata\n ? toPortalFunctionDefinition(runtimeMetadata)\n : undefined;\n}\n\nexport function attachPortalFunctionMetadata<Output, Input>(\n portalFunction: PortalFunction<Output, Input>,\n definition: PortalFunctionDefinition,\n): PortalFunction<Output, Input> {\n const stableDefinition = Object.freeze({ ...definition });\n Object.defineProperty(portalFunction, PORTAL_FUNCTION_METADATA, {\n configurable: false,\n enumerable: false,\n writable: false,\n value: stableDefinition,\n });\n return portalFunction;\n}\n\nfunction toPortalFunctionDefinition(\n metadata: RemoteDomCapabilityFunctionMetadata,\n): PortalFunctionDefinition {\n return {\n capability: metadata.capability,\n version: metadata.version,\n method: metadata.method,\n };\n}\n\nfunction isPortalFunctionDefinition(\n value: unknown,\n): value is PortalFunctionDefinition {\n if (typeof value !== \"object\" || value === null) return false;\n return (\n \"capability\" in value &&\n typeof value.capability === \"string\" &&\n \"version\" in value &&\n typeof value.version === \"string\" &&\n \"method\" in value &&\n typeof value.method === \"string\"\n );\n}\n\nfunction toPortalFunctionError(error: unknown): PortalFunctionError {\n if (error instanceof PortalFunctionError) return error;\n if (error instanceof RemoteDomCapabilityFunctionError) {\n return new PortalFunctionError(error.code, error.message);\n }\n\n const hostFailure = parseHostFunctionError(error);\n if (hostFailure) return hostFailure;\n\n return new PortalFunctionError(\n \"HOST_FAILURE\",\n \"The portal host could not complete this function call.\",\n );\n}\n\nfunction parseHostFunctionError(error: unknown): PortalFunctionError | null {\n if (!(error instanceof Error)) return null;\n const prefixIndex = error.message.indexOf(PORTAL_FUNCTION_ERROR_PREFIX);\n if (prefixIndex < 0) return null;\n\n const encoded = error.message.slice(\n prefixIndex + PORTAL_FUNCTION_ERROR_PREFIX.length,\n );\n const separatorIndex = encoded.indexOf(\":\");\n if (separatorIndex < 0) return null;\n\n const code = encoded.slice(0, separatorIndex);\n if (!isPortalFunctionErrorCode(code)) return null;\n const message = encoded.slice(separatorIndex + 1).trim();\n return new PortalFunctionError(\n code,\n message || \"The portal host could not complete this function call.\",\n );\n}\n\nfunction isPortalFunctionErrorCode(\n value: string,\n): value is PortalFunctionErrorCode {\n return PORTAL_FUNCTION_ERROR_CODES.has(value as PortalFunctionErrorCode);\n}\n","import {\n attachPortalFunctionMetadata,\n definePortalFunction,\n type PortalFunction,\n} from \"../portal-function\";\n\nexport type PortalEntityId = string | number;\n\nexport type UserAccount = {\n readonly id: number;\n readonly publicId: string;\n readonly memberType: \"customer\" | \"rep\";\n readonly firstName: string;\n readonly lastName: string;\n readonly displayName: string;\n readonly email: string;\n readonly bio: string | null;\n readonly avatarUrl: string | null;\n readonly slug: string;\n readonly socialLinks: Readonly<Record<string, string>> | null;\n readonly defaultCountryIso: string | null;\n readonly marketCountryIso: string | null;\n};\n\nexport type PortalStore = {\n readonly id: number;\n readonly name: string;\n readonly subdomain: string;\n readonly logoUrl: string | null;\n readonly iconUrl: string | null;\n readonly appStoreUrl: string | null;\n readonly playStoreUrl: string | null;\n readonly bundleSubscriptionsEnabled: boolean;\n readonly rewardPointsLabelSingular: string;\n readonly rewardPointsLabelPlural: string;\n};\n\nexport type PortalNamedEntitySummary = {\n readonly id: PortalEntityId | null;\n readonly definitionId: PortalEntityId | null;\n readonly name: string | null;\n readonly slug: string | null;\n};\n\nexport type PortalScreenSummary = PortalNamedEntitySummary & {\n readonly componentCount: number;\n};\n\nexport type PortalNavigationSummary = {\n readonly id: PortalEntityId | null;\n readonly definitionId: PortalEntityId | null;\n readonly name: string | null;\n readonly navigationItemCount: number;\n readonly screenCount: number;\n};\n\nexport type PortalSummaryCollection<Item> = {\n readonly count: number;\n readonly items: readonly Item[];\n};\n\nexport type PortalProfileSummary = {\n readonly name: string | null;\n readonly definitionId: PortalEntityId | null;\n readonly activeThemeId: string | null;\n readonly themes: PortalSummaryCollection<PortalNamedEntitySummary>;\n readonly navigation: PortalNavigationSummary | null;\n readonly mobileNavigation: PortalNavigationSummary | null;\n};\n\nexport type PortalAppSummary = {\n readonly definitionId: PortalEntityId | null;\n readonly publishedVersion: number | null;\n readonly profile: PortalProfileSummary | null;\n readonly screens: PortalSummaryCollection<PortalScreenSummary>;\n};\n\nexport type PortalNavigationItem = {\n readonly id: number | null;\n readonly slug: string | null;\n readonly label: string;\n readonly icon: string | null;\n readonly section: string | null;\n readonly screenId: number | null;\n readonly position: number | null;\n readonly parentId: number | null;\n readonly source: \"user\" | \"system\" | \"code\" | null;\n readonly children: readonly PortalNavigationItem[];\n};\n\nexport type PortalNavigationState = {\n readonly currentSlug: string;\n readonly previousSlug: string | null;\n readonly basePath: string;\n readonly navItems: readonly PortalNavigationItem[];\n};\n\nexport type PortalNavigationTarget =\n | string\n | { readonly slug: string }\n | { readonly href: string };\n\nexport type FullscreenState = {\n readonly fullscreen: boolean;\n readonly available: boolean;\n};\n\nexport const ACCOUNT_DEFINITION = {\n capability: \"account\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const STORE_DEFINITION = {\n capability: \"store\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const APP_DEFINITION = {\n capability: \"fluidApp\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const PROFILE_DEFINITION = {\n capability: \"fluidProfile\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const NAVIGATION_STATE_DEFINITION = {\n capability: \"appNavigation\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const BUILD_HREF_DEFINITION = {\n capability: \"appNavigation\",\n version: \"1\",\n method: \"buildHref\",\n} as const;\nexport const NAVIGATE_DEFINITION = {\n capability: \"appNavigation\",\n version: \"1\",\n method: \"navigate\",\n} as const;\nexport const FULLSCREEN_STATE_DEFINITION = {\n capability: \"fullscreen\",\n version: \"1\",\n method: \"get\",\n} as const;\nexport const REQUEST_FULLSCREEN_DEFINITION = {\n capability: \"fullscreen\",\n version: \"1\",\n method: \"request\",\n} as const;\nexport const EXIT_FULLSCREEN_DEFINITION = {\n capability: \"fullscreen\",\n version: \"1\",\n method: \"exit\",\n} as const;\nexport const ALLOW_ANCHOR_URL_DEFINITION = {\n capability: \"externalNavigation\",\n version: \"1\",\n method: \"allowAnchorUrl\",\n} as const;\n\nexport const getUserAccount: PortalFunction<UserAccount> =\n definePortalFunction<UserAccount>(ACCOUNT_DEFINITION);\nexport const getStore: PortalFunction<PortalStore> =\n definePortalFunction<PortalStore>(STORE_DEFINITION);\nexport const getPortalApp: PortalFunction<PortalAppSummary> =\n definePortalFunction<PortalAppSummary>(APP_DEFINITION);\nexport const getPortalProfile: PortalFunction<PortalProfileSummary> =\n definePortalFunction<PortalProfileSummary>(PROFILE_DEFINITION);\nexport const getNavigationState: PortalFunction<PortalNavigationState> =\n definePortalFunction<PortalNavigationState>(NAVIGATION_STATE_DEFINITION);\nexport const buildPortalHref: PortalFunction<string, PortalNavigationTarget> =\n definePortalFunction<string, PortalNavigationTarget>(BUILD_HREF_DEFINITION);\n\nconst navigate = definePortalFunction<null, PortalNavigationTarget>(\n NAVIGATE_DEFINITION,\n);\nexport const navigateTo: PortalFunction<void, PortalNavigationTarget> =\n attachPortalFunctionMetadata<void, PortalNavigationTarget>(async (target) => {\n await navigate(target);\n }, NAVIGATE_DEFINITION);\n\nexport const getFullscreenState: PortalFunction<FullscreenState> =\n definePortalFunction<FullscreenState>(FULLSCREEN_STATE_DEFINITION);\n\nconst request = definePortalFunction<null>(REQUEST_FULLSCREEN_DEFINITION);\nexport const requestFullscreen: PortalFunction<void> =\n attachPortalFunctionMetadata<void, void>(async () => {\n await request();\n }, REQUEST_FULLSCREEN_DEFINITION);\n\nconst exit = definePortalFunction<null>(EXIT_FULLSCREEN_DEFINITION);\nexport const exitFullscreen: PortalFunction<void> =\n attachPortalFunctionMetadata<void, void>(async () => {\n await exit();\n }, EXIT_FULLSCREEN_DEFINITION);\n\n/** Registers one exact absolute HTTP(S) URL for use by an anchor in this mount. */\nexport const allowAnchorUrl: PortalFunction<string, string> =\n definePortalFunction<string, string>(ALLOW_ANCHOR_URL_DEFINITION);\n","import {\n definePortalFunction,\n type PortalFunction,\n type PortalFunctionDefinition,\n} from \"../portal-function\";\n\nexport type PortalPageInput = {\n readonly cursor?: string;\n readonly limit?: number;\n};\n\nexport type PortalPage<Item> = {\n readonly items: readonly Item[];\n readonly nextCursor: string | null;\n};\n\nexport type PortalCountry = {\n readonly code: string;\n readonly name: string;\n readonly currencyCode: string;\n readonly states: readonly {\n readonly code: string;\n readonly name: string;\n }[];\n};\n\nexport type ListCountriesInput = PortalPageInput & {\n readonly languageIso?: string;\n};\n\nexport type PortalLanguage = {\n readonly code: string;\n readonly name: string;\n};\n\nexport type GetAddressFieldsInput = {\n readonly countryCode: string;\n readonly languageIso?: string;\n};\n\nexport type PortalAddressFields = {\n readonly countryCode: string;\n readonly countryName: string;\n readonly fields: readonly {\n readonly field: string;\n readonly label: string;\n readonly required: boolean;\n }[];\n};\n\nexport type PortalImage = {\n readonly url: string | null;\n readonly alt: string | null;\n};\n\nexport type PortalProductVariant = {\n readonly id: number | null;\n readonly available: boolean | null;\n readonly currency: string | null;\n readonly images: readonly PortalImage[];\n readonly isMaster: boolean | null;\n readonly position: number | null;\n readonly price: string | null;\n readonly sku: string | null;\n readonly title: string | null;\n readonly wholesalePrice: string | null;\n readonly cv: string | null;\n readonly qv: string | null;\n};\n\nexport type PortalProduct = {\n readonly id: number | null;\n readonly name: string | null;\n readonly slug: string | null;\n readonly description: string | null;\n readonly price: string | null;\n readonly wholesalePrice: string | null;\n readonly currency: string | null;\n readonly status: string | null;\n readonly images: readonly PortalImage[];\n readonly variants: readonly PortalProductVariant[];\n readonly mediaCount: number | null;\n readonly createdAt: string | null;\n readonly isBundle: boolean;\n readonly priceRange: { readonly min: string; readonly max: string } | null;\n readonly subscriptionPriceRange: {\n readonly min: string;\n readonly max: string;\n } | null;\n readonly shopLink: string | null;\n readonly hasCustomizations: boolean | null;\n readonly cv: string | null;\n readonly qv: string | null;\n};\n\nexport type ListProductsInput = PortalPageInput & {\n readonly sort?:\n | \"title_asc\"\n | \"title_desc\"\n | \"price_asc\"\n | \"price_desc\"\n | \"created_at_asc\"\n | \"created_at_desc\";\n};\n\nexport type GetProductInput = {\n readonly id: string | number;\n};\n\nexport type SearchProductsInput = PortalPageInput & {\n readonly query: string;\n};\n\nexport type PortalProductMedia = {\n readonly id: number | null;\n readonly title: string | null;\n readonly mediaType: string | null;\n readonly url: string | null;\n};\n\nexport type ListProductMediaInput = {\n readonly productId: string | number;\n};\n\nexport type PortalMetricsPeriod = \"7d\" | \"30d\" | \"90d\" | \"1y\" | \"all\";\n\nexport type ListProductMetricsInput = {\n readonly kind: \"visits\" | \"shareVisits\";\n readonly period?: PortalMetricsPeriod;\n readonly limit?: number;\n};\n\nexport type PortalMetric = {\n readonly id: number | null;\n readonly total: number;\n};\n\nexport type PortalCalendarEvent = {\n readonly id: number;\n readonly title: string;\n readonly description: string | null;\n readonly color: string | null;\n readonly url: string | null;\n readonly start: string;\n readonly end: string;\n readonly timeZone: string | null;\n readonly status: string | null;\n readonly imageUrl: string | null;\n readonly venue: string | null;\n readonly countries: readonly string[];\n readonly isAllDay: boolean;\n};\n\nexport type PortalMediaCta = {\n readonly enabled: boolean;\n readonly type: \"link\" | \"cart\" | \"email\" | \"phone\" | null;\n readonly buttonText: string | null;\n readonly buttonColor: string | null;\n readonly buttonDescription: string | null;\n readonly actionUrl: string | null;\n};\n\nexport type PortalMedia = {\n readonly id: number;\n readonly title: string;\n readonly description: string | null;\n readonly contentFormat: string | null;\n readonly status: string | null;\n readonly url: string | null;\n readonly thumbnailUrl: string | null;\n readonly cta: PortalMediaCta | null;\n readonly seo: {\n readonly title: string | null;\n readonly description: string | null;\n readonly imageUrl: string | null;\n readonly blockCrawler: boolean;\n } | null;\n readonly createdAt: string;\n readonly updatedAt: string;\n};\n\nexport type ListContentMediaInput = PortalPageInput & {\n readonly title?: string;\n readonly ownership?: \"all\" | \"mine\" | \"company\";\n readonly contentFormat?: \"video\" | \"image\" | \"pdf\" | \"ppt\";\n readonly sort?: \"title_asc\" | \"title_desc\";\n readonly languageIso?: string;\n};\n\nexport type GetContentMediaInput = {\n readonly id: number;\n readonly languageIso?: string;\n};\n\nexport type PortalPlaylist = {\n readonly id: number;\n readonly title: string;\n readonly description: string | null;\n readonly itemsCount: number;\n readonly isFavorited: boolean;\n readonly imageUrl: string | null;\n readonly createdAt: string;\n readonly updatedAt: string;\n};\n\nexport type ListPlaylistsInput = PortalPageInput & {\n readonly title?: string;\n readonly ownership?: \"all\" | \"mine\" | \"company\";\n readonly sort?:\n | \"title_asc\"\n | \"title_desc\"\n | \"created_at_asc\"\n | \"created_at_desc\";\n};\n\nexport type GetPlaylistInput = {\n readonly id: number;\n};\n\nexport type PortalPlaylistProduct = {\n readonly id: number;\n readonly name: string;\n readonly slug: string | null;\n readonly description: string | null;\n readonly price: string | null;\n readonly wholesalePrice: string | null;\n readonly currency: string | null;\n readonly status: string | null;\n readonly images: readonly PortalImage[];\n readonly mediaCount: number | null;\n readonly createdAt: string | null;\n};\n\nexport type PortalPlaylistItemContent =\n | {\n readonly type: \"media\";\n readonly id: number;\n readonly title: string;\n readonly description: string | null;\n readonly url: string | null;\n readonly thumbnailUrl: string | null;\n }\n | {\n readonly type: \"page\";\n readonly id: number;\n readonly title: string | null;\n readonly slug: string | null;\n readonly status: \"published\" | \"unpublished\";\n readonly description: string | null;\n readonly imageUrl: string | null;\n }\n | {\n readonly type: \"product\";\n readonly product: PortalPlaylistProduct;\n }\n | {\n readonly type: \"enrollmentPack\";\n readonly id: number;\n readonly title: string;\n readonly slug: string | null;\n readonly description: string | null;\n readonly url: string | null;\n readonly images: readonly PortalImage[];\n };\n\nexport type PortalPlaylistItem = {\n readonly id: number;\n readonly contentType: \"media\" | \"page\" | \"product\" | \"enrollmentPack\";\n readonly contentId: number;\n readonly position: number | null;\n readonly createdAt: string;\n readonly content: PortalPlaylistItemContent;\n};\n\nexport type ListPlaylistItemsInput = PortalPageInput & {\n readonly playlistId: number;\n readonly languageIso?: string;\n};\n\nexport type PortalPageContent = {\n readonly id: number;\n readonly title: string | null;\n readonly slug: string | null;\n readonly source: \"code\" | \"builder\" | null;\n readonly status: \"published\" | \"unpublished\";\n readonly description: string | null;\n readonly imageUrl: string | null;\n readonly countries: readonly PortalCountry[];\n};\n\nexport type ListPagesInput = PortalPageInput & {\n readonly title?: string;\n readonly sort?: \"title_asc\" | \"title_desc\";\n readonly languageIso?: string;\n};\n\nexport type GetPageInput = {\n readonly id: number;\n readonly languageIso?: string;\n};\n\nexport type PortalPageDetail = {\n readonly page: PortalPageContent;\n readonly shareLink: string | null;\n};\n\nexport type PortalEnrollmentPack = {\n readonly id: number;\n readonly title: string;\n readonly slug: string | null;\n readonly description: string | null;\n readonly url: string | null;\n readonly canonicalUrl: string | null;\n readonly images: readonly PortalImage[];\n};\n\nexport type GetEnrollmentPackInput = {\n readonly id: number;\n};\n\ntype ListContentMetricsBaseInput = {\n readonly kind: \"visits\" | \"shareVisits\";\n readonly period?: PortalMetricsPeriod;\n readonly limit?: number;\n};\n\nexport type ListContentMetricsInput =\n | (ListContentMetricsBaseInput & {\n readonly resource: \"media\" | \"pages\";\n readonly languageIso?: string;\n })\n | (ListContentMetricsBaseInput & {\n readonly resource: \"playlists\";\n });\n\nexport type PortalShare = {\n readonly id: number;\n readonly url: string;\n readonly shareableType: \"media\" | \"product\" | \"library\" | \"page\";\n readonly shareableId: number;\n readonly createdAt: string;\n};\n\nexport type PortalDamAsset = {\n readonly id: number;\n readonly code: string;\n readonly name: string;\n readonly description: string | null;\n readonly category: string | null;\n readonly defaultVariantUrl: string | null;\n readonly canonicalPath: string | null;\n readonly createdAt: string;\n readonly updatedAt: string | null;\n};\n\nexport type ListDamAssetPathsInput = PortalPageInput & {\n readonly assetCode: string;\n};\n\nexport type PortalDamAssetPath = {\n readonly id: number;\n readonly assetCode: string;\n readonly path: string;\n readonly createdAt: string;\n};\n\nexport const PORTAL_READ_FUNCTION_DEFINITIONS = {\n listCountries: {\n capability: \"localization\",\n version: \"1\",\n method: \"listCountries\",\n },\n listLanguages: {\n capability: \"localization\",\n version: \"1\",\n method: \"listLanguages\",\n },\n getAddressFields: {\n capability: \"localization\",\n version: \"1\",\n method: \"getAddressFields\",\n },\n listProducts: {\n capability: \"products\",\n version: \"1\",\n method: \"listProducts\",\n },\n getProduct: {\n capability: \"products\",\n version: \"1\",\n method: \"getProduct\",\n },\n searchProducts: {\n capability: \"products\",\n version: \"1\",\n method: \"searchProducts\",\n },\n listProductMedia: {\n capability: \"products\",\n version: \"1\",\n method: \"listProductMedia\",\n },\n listProductMetrics: {\n capability: \"products\",\n version: \"1\",\n method: \"listProductMetrics\",\n },\n listCalendarEvents: {\n capability: \"calendar\",\n version: \"1\",\n method: \"listCalendarEvents\",\n },\n listContentMedia: {\n capability: \"content\",\n version: \"1\",\n method: \"listMedia\",\n },\n getContentMedia: {\n capability: \"content\",\n version: \"1\",\n method: \"getMedia\",\n },\n listPlaylists: {\n capability: \"content\",\n version: \"1\",\n method: \"listPlaylists\",\n },\n getPlaylist: {\n capability: \"content\",\n version: \"1\",\n method: \"getPlaylist\",\n },\n listPlaylistItems: {\n capability: \"content\",\n version: \"1\",\n method: \"listPlaylistItems\",\n },\n listPages: {\n capability: \"content\",\n version: \"1\",\n method: \"listPages\",\n },\n getPage: {\n capability: \"content\",\n version: \"1\",\n method: \"getPage\",\n },\n listEnrollmentPacks: {\n capability: \"content\",\n version: \"1\",\n method: \"listEnrollmentPacks\",\n },\n getEnrollmentPack: {\n capability: \"content\",\n version: \"1\",\n method: \"getEnrollmentPack\",\n },\n listContentMetrics: {\n capability: \"content\",\n version: \"1\",\n method: \"listMetrics\",\n },\n listShares: {\n capability: \"content\",\n version: \"1\",\n method: \"listShares\",\n },\n listDamAssets: {\n capability: \"content\",\n version: \"1\",\n method: \"listDamAssets\",\n },\n listDamAssetPaths: {\n capability: \"content\",\n version: \"1\",\n method: \"listDamAssetPaths\",\n },\n} as const satisfies Readonly<Record<string, PortalFunctionDefinition>>;\n\nexport const listCountries: PortalFunction<\n PortalPage<PortalCountry>,\n ListCountriesInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listCountries);\n\nexport const listLanguages: PortalFunction<\n PortalPage<PortalLanguage>,\n PortalPageInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listLanguages);\n\nexport const getAddressFields: PortalFunction<\n PortalAddressFields,\n GetAddressFieldsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getAddressFields);\n\nexport const listProducts: PortalFunction<\n PortalPage<PortalProduct>,\n ListProductsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listProducts);\n\nexport const getProduct: PortalFunction<PortalProduct, GetProductInput> =\n definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getProduct);\n\nexport const searchProducts: PortalFunction<\n PortalPage<PortalProduct>,\n SearchProductsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.searchProducts);\n\nexport const listProductMedia: PortalFunction<\n readonly PortalProductMedia[],\n ListProductMediaInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listProductMedia);\n\nexport const listProductMetrics: PortalFunction<\n readonly PortalMetric[],\n ListProductMetricsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listProductMetrics);\n\nexport const listCalendarEvents: PortalFunction<\n readonly PortalCalendarEvent[]\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listCalendarEvents);\n\nexport const listContentMedia: PortalFunction<\n PortalPage<PortalMedia>,\n ListContentMediaInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listContentMedia);\n\nexport const getContentMedia: PortalFunction<\n PortalMedia,\n GetContentMediaInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getContentMedia);\n\nexport const listPlaylists: PortalFunction<\n PortalPage<PortalPlaylist>,\n ListPlaylistsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listPlaylists);\n\nexport const getPlaylist: PortalFunction<PortalPlaylist, GetPlaylistInput> =\n definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getPlaylist);\n\nexport const listPlaylistItems: PortalFunction<\n PortalPage<PortalPlaylistItem>,\n ListPlaylistItemsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listPlaylistItems);\n\nexport const listPages: PortalFunction<\n PortalPage<PortalPageContent>,\n ListPagesInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listPages);\n\nexport const getPage: PortalFunction<PortalPageDetail, GetPageInput> =\n definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getPage);\n\nexport const listEnrollmentPacks: PortalFunction<\n PortalPage<PortalEnrollmentPack>,\n PortalPageInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listEnrollmentPacks);\n\nexport const getEnrollmentPack: PortalFunction<\n PortalEnrollmentPack,\n GetEnrollmentPackInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.getEnrollmentPack);\n\nexport const listContentMetrics: PortalFunction<\n readonly PortalMetric[],\n ListContentMetricsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listContentMetrics);\n\nexport const listShares: PortalFunction<\n PortalPage<PortalShare>,\n PortalPageInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listShares);\n\nexport const listDamAssets: PortalFunction<\n PortalPage<PortalDamAsset>,\n PortalPageInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listDamAssets);\n\nexport const listDamAssetPaths: PortalFunction<\n PortalPage<PortalDamAssetPath>,\n ListDamAssetPathsInput\n> = definePortalFunction(PORTAL_READ_FUNCTION_DEFINITIONS.listDamAssetPaths);\n","import type { ContentFavoriteType } from \"@fluid-app/shareables-core/favorites-api\";\nimport {\n definePortalFunction,\n type PortalFunction,\n type PortalFunctionDefinition,\n} from \"../portal-function\";\nimport type {\n PortalDamAsset,\n PortalDamAssetPath,\n PortalMedia,\n PortalPage,\n PortalPageInput,\n PortalPlaylist,\n PortalPlaylistItem,\n PortalShare,\n} from \"./read\";\n\nexport type CreateContentMediaInput = {\n readonly title: string;\n readonly description?: string | null;\n readonly mediaType: string;\n readonly url?: string | null;\n readonly contentFormat?: \"image\" | \"video\" | \"pdf\" | \"ppt\";\n};\n\nexport type UpdateContentMediaInput = {\n readonly id: number;\n readonly title?: string;\n readonly description?: string | null;\n readonly status?: \"active\" | \"draft\";\n readonly url?: string | null;\n readonly contentFormat?: \"image\" | \"video\" | \"pdf\" | \"ppt\";\n readonly thumbnailUrl?: string | null;\n readonly languageIso?: string;\n readonly cta?: {\n readonly enabled?: boolean;\n readonly type?: \"link\" | \"cart\";\n readonly buttonText?: string | null;\n readonly buttonColor?: string | null;\n readonly buttonDescription?: string | null;\n readonly actionUrl?: string | null;\n };\n readonly seo?: {\n readonly title?: string | null;\n readonly description?: string | null;\n readonly imageUrl?: string | null;\n readonly blockCrawler?: boolean;\n };\n};\n\nexport type DeleteContentMediaInput = {\n readonly id: number;\n};\n\nexport type PortalMediaProduct = {\n readonly id: number;\n readonly name: string | null;\n readonly slug: string | null;\n readonly imageUrl: string | null;\n readonly price: string | null;\n readonly currency: string | null;\n readonly addedAt: string | null;\n};\n\nexport type ListContentMediaProductsInput = PortalPageInput & {\n readonly mediaId: number;\n readonly languageIso?: string;\n};\n\nexport type AddContentMediaProductInput = {\n readonly mediaId: number;\n readonly productId: number;\n};\n\nexport type RemoveContentMediaProductInput = AddContentMediaProductInput;\n\nexport type CreateContentPlaylistInput = {\n readonly title: string;\n readonly description?: string | null;\n};\n\nexport type UpdateContentPlaylistInput = {\n readonly id: number;\n readonly title?: string;\n readonly description?: string | null;\n};\n\nexport type DeleteContentPlaylistInput = {\n readonly id: number;\n};\n\nexport type AddContentPlaylistItemInput = {\n readonly playlistId: number;\n readonly contentType: \"media\" | \"page\" | \"product\" | \"enrollmentPack\";\n readonly contentId: number;\n readonly position?: number | null;\n};\n\nexport type RemoveContentPlaylistItemInput = {\n readonly playlistId: number;\n readonly itemId: number;\n};\n\nexport type ReorderContentPlaylistItemsInput = {\n readonly playlistId: number;\n readonly items: readonly {\n readonly id: number;\n readonly order: number;\n }[];\n};\n\nexport type CreateContentShareInput = {\n readonly shareableType: \"media\" | \"product\" | \"library\" | \"page\";\n readonly shareableId: number;\n};\n\nexport type ToggleContentFavoriteInput = {\n readonly favoriteableType: ContentFavoriteType;\n readonly favoriteableId: number;\n};\n\nexport type PortalContentFavoriteState = {\n readonly favoriteableType: ContentFavoriteType;\n readonly favoriteableId: number;\n readonly isFavorited: boolean;\n};\n\nexport type CreateDamAssetInput = {\n readonly name: string;\n readonly description?: string | null;\n};\n\nexport type CreateDamAssetPathInput = {\n readonly assetCode: string;\n readonly path: string;\n};\n\nexport type MutateDamAssetInput = {\n readonly assetCode: string;\n};\n\nexport const PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS = {\n createContentMedia: {\n capability: \"content.write\",\n version: \"1\",\n method: \"createMedia\",\n },\n updateContentMedia: {\n capability: \"content.write\",\n version: \"1\",\n method: \"updateMedia\",\n },\n deleteContentMedia: {\n capability: \"content.write\",\n version: \"1\",\n method: \"deleteMedia\",\n },\n listContentMediaProducts: {\n capability: \"content\",\n version: \"1\",\n method: \"listMediaProducts\",\n },\n addContentMediaProduct: {\n capability: \"content.write\",\n version: \"1\",\n method: \"addMediaProduct\",\n },\n removeContentMediaProduct: {\n capability: \"content.write\",\n version: \"1\",\n method: \"removeMediaProduct\",\n },\n createContentPlaylist: {\n capability: \"content.write\",\n version: \"1\",\n method: \"createPlaylist\",\n },\n updateContentPlaylist: {\n capability: \"content.write\",\n version: \"1\",\n method: \"updatePlaylist\",\n },\n deleteContentPlaylist: {\n capability: \"content.write\",\n version: \"1\",\n method: \"deletePlaylist\",\n },\n addContentPlaylistItem: {\n capability: \"content.write\",\n version: \"1\",\n method: \"addPlaylistItem\",\n },\n removeContentPlaylistItem: {\n capability: \"content.write\",\n version: \"1\",\n method: \"removePlaylistItem\",\n },\n reorderContentPlaylistItems: {\n capability: \"content.write\",\n version: \"1\",\n method: \"reorderPlaylistItems\",\n },\n createContentShare: {\n capability: \"content.write\",\n version: \"1\",\n method: \"createShare\",\n },\n toggleContentFavorite: {\n capability: \"content.write\",\n version: \"1\",\n method: \"toggleFavorite\",\n },\n createDamAsset: {\n capability: \"content.write\",\n version: \"1\",\n method: \"createDamAsset\",\n },\n createDamAssetPath: {\n capability: \"content.write\",\n version: \"1\",\n method: \"createDamAssetPath\",\n },\n discardDamAsset: {\n capability: \"content.write\",\n version: \"1\",\n method: \"discardDamAsset\",\n },\n deleteDamAsset: {\n capability: \"content.write\",\n version: \"1\",\n method: \"deleteDamAsset\",\n },\n} as const satisfies Readonly<Record<string, PortalFunctionDefinition>>;\n\nexport const createContentMedia: PortalFunction<\n PortalMedia,\n CreateContentMediaInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.createContentMedia,\n);\n\nexport const updateContentMedia: PortalFunction<\n PortalMedia,\n UpdateContentMediaInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.updateContentMedia,\n);\n\nexport const deleteContentMedia: PortalFunction<null, DeleteContentMediaInput> =\n definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.deleteContentMedia,\n );\n\nexport const listContentMediaProducts: PortalFunction<\n PortalPage<PortalMediaProduct>,\n ListContentMediaProductsInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.listContentMediaProducts,\n);\n\nexport const addContentMediaProduct: PortalFunction<\n PortalMediaProduct,\n AddContentMediaProductInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.addContentMediaProduct,\n);\n\nexport const removeContentMediaProduct: PortalFunction<\n null,\n RemoveContentMediaProductInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.removeContentMediaProduct,\n);\n\nexport const createContentPlaylist: PortalFunction<\n PortalPlaylist,\n CreateContentPlaylistInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.createContentPlaylist,\n);\n\nexport const updateContentPlaylist: PortalFunction<\n PortalPlaylist,\n UpdateContentPlaylistInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.updateContentPlaylist,\n);\n\nexport const deleteContentPlaylist: PortalFunction<\n null,\n DeleteContentPlaylistInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.deleteContentPlaylist,\n);\n\nexport const addContentPlaylistItem: PortalFunction<\n PortalPlaylistItem,\n AddContentPlaylistItemInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.addContentPlaylistItem,\n);\n\nexport const removeContentPlaylistItem: PortalFunction<\n null,\n RemoveContentPlaylistItemInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.removeContentPlaylistItem,\n);\n\nexport const reorderContentPlaylistItems: PortalFunction<\n null,\n ReorderContentPlaylistItemsInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.reorderContentPlaylistItems,\n);\n\nexport const createContentShare: PortalFunction<\n PortalShare,\n CreateContentShareInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.createContentShare,\n);\n\nexport const toggleContentFavorite: PortalFunction<\n PortalContentFavoriteState,\n ToggleContentFavoriteInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.toggleContentFavorite,\n);\n\nexport const createDamAsset: PortalFunction<\n PortalDamAsset,\n CreateDamAssetInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.createDamAsset,\n);\n\nexport const createDamAssetPath: PortalFunction<\n PortalDamAssetPath,\n CreateDamAssetPathInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.createDamAssetPath,\n);\n\nexport const discardDamAsset: PortalFunction<\n PortalDamAsset,\n MutateDamAssetInput\n> = definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.discardDamAsset,\n);\n\nexport const deleteDamAsset: PortalFunction<null, MutateDamAssetInput> =\n definePortalFunction(\n PORTAL_CONTENT_MUTATION_FUNCTION_DEFINITIONS.deleteDamAsset,\n );\n","import {\n definePortalFunction,\n type PortalFunction,\n type PortalFunctionDefinition,\n} from \"../portal-function\";\nimport type { UserAccount } from \"./built-in\";\n\nexport type PortalMemberAccess = {\n readonly memberType: \"customer\" | \"rep\";\n readonly slug: string;\n readonly name: string | null;\n readonly canAccessRepSurfaces: boolean;\n readonly permissions: Readonly<Record<string, boolean>>;\n};\n\nexport type UpdateUserAccountInput = {\n readonly firstName?: string;\n readonly lastName?: string;\n readonly bio?: string;\n readonly avatarUrl?: string;\n readonly socialLinks?: Readonly<Record<string, string>>;\n readonly languageIso?: string;\n};\n\nexport type PortalTodoSummary = {\n readonly id: number;\n readonly dueAt: string | null;\n readonly completedAt: string | null;\n readonly createdAt: string;\n};\n\nexport type PortalTodo = PortalTodoSummary & {\n readonly body: string;\n};\n\nexport type ListTodosInput = {\n readonly state?: \"incomplete\" | \"completed\" | \"all\";\n};\n\nexport type CreateTodoInput = {\n readonly body: string;\n readonly dueAt?: string | null;\n};\n\nexport type PortalPointsLedgerEntry = {\n readonly id: number;\n readonly amount: number;\n readonly createdAt: string;\n readonly transactionType: string | null;\n readonly hasSource: boolean;\n};\n\nexport type PortalPointsLedger = {\n readonly balance: number;\n readonly entries: readonly PortalPointsLedgerEntry[];\n};\n\nexport type PortalMySiteProfile = {\n readonly id: number;\n readonly url: string | null;\n readonly views: number;\n readonly leads: number;\n readonly themeId: number | null;\n readonly bio: string | null;\n readonly avatarUrl: string | null;\n readonly displayName: string | null;\n readonly slug: string | null;\n};\n\nexport type UpdateMySiteProfileInput = {\n readonly bio?: string;\n readonly avatarUrl?: string;\n readonly displayName?: string;\n};\n\nexport type UpdateMySiteSettingsInput = {\n readonly themeId?: number;\n readonly slug?: string;\n};\n\nexport type PortalMySiteLink = {\n readonly id: number;\n readonly url: string;\n readonly title: string;\n readonly position: number;\n};\n\nexport type CreateMySiteLinkInput = {\n readonly url: string;\n readonly title: string;\n};\n\nexport type UpdateMySiteLinkInput = {\n readonly id: number;\n readonly url?: string;\n readonly title?: string;\n};\n\nexport type DeleteMySiteLinkInput = {\n readonly id: number;\n};\n\nexport type ReorderMySiteLinksInput = {\n readonly orderedIds: readonly number[];\n};\n\nexport type PortalMySiteFavorite = {\n readonly id: number;\n readonly favoriteableId: number;\n readonly favoriteableType: string;\n readonly name: string | null;\n readonly imageUrl: string | null;\n readonly position: number;\n readonly createdAt: string | null;\n};\n\nexport type AddMySiteFavoriteInput = {\n readonly productId: number;\n};\n\nexport type DeleteMySiteFavoriteInput = {\n readonly id: number;\n};\n\nexport type ReorderMySiteFavoritesInput = {\n readonly orderedIds: readonly number[];\n};\n\nexport type PortalMySiteTheme = {\n readonly id: number;\n readonly name: string;\n readonly previewUrl: string | null;\n};\n\nexport const PORTAL_SELF_FUNCTION_DEFINITIONS = {\n getMemberAccess: {\n capability: \"account\",\n version: \"1\",\n method: \"getMemberAccess\",\n },\n updateUserAccount: {\n capability: \"account.write\",\n version: \"1\",\n method: \"update\",\n },\n listTodos: { capability: \"todos\", version: \"1\", method: \"list\" },\n createTodo: { capability: \"todos.write\", version: \"1\", method: \"create\" },\n getPointsLedger: { capability: \"points\", version: \"1\", method: \"get\" },\n getMySiteProfile: {\n capability: \"mySite\",\n version: \"1\",\n method: \"getProfile\",\n },\n updateMySiteProfile: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"updateProfile\",\n },\n updateMySiteSettings: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"updateSettings\",\n },\n listMySiteLinks: {\n capability: \"mySite\",\n version: \"1\",\n method: \"listLinks\",\n },\n createMySiteLink: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"createLink\",\n },\n updateMySiteLink: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"updateLink\",\n },\n deleteMySiteLink: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"deleteLink\",\n },\n reorderMySiteLinks: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"reorderLinks\",\n },\n listMySiteFavorites: {\n capability: \"mySite\",\n version: \"1\",\n method: \"listFavorites\",\n },\n addMySiteFavorite: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"addFavorite\",\n },\n deleteMySiteFavorite: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"deleteFavorite\",\n },\n reorderMySiteFavorites: {\n capability: \"mySite.write\",\n version: \"1\",\n method: \"reorderFavorites\",\n },\n listMySiteThemes: {\n capability: \"mySite\",\n version: \"1\",\n method: \"listThemes\",\n },\n} as const satisfies Readonly<Record<string, PortalFunctionDefinition>>;\n\nexport const getMemberAccess: PortalFunction<PortalMemberAccess> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.getMemberAccess);\n\nexport const updateUserAccount: PortalFunction<\n UserAccount,\n UpdateUserAccountInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.updateUserAccount);\n\nexport const listTodos: PortalFunction<\n readonly PortalTodoSummary[],\n ListTodosInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.listTodos);\n\nexport const createTodo: PortalFunction<PortalTodo, CreateTodoInput> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.createTodo);\n\nexport const getPointsLedger: PortalFunction<PortalPointsLedger> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.getPointsLedger);\n\nexport const getMySiteProfile: PortalFunction<PortalMySiteProfile> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.getMySiteProfile);\n\nexport const updateMySiteProfile: PortalFunction<\n PortalMySiteProfile,\n UpdateMySiteProfileInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.updateMySiteProfile);\n\nexport const updateMySiteSettings: PortalFunction<\n null,\n UpdateMySiteSettingsInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.updateMySiteSettings);\n\nexport const listMySiteLinks: PortalFunction<readonly PortalMySiteLink[]> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.listMySiteLinks);\n\nexport const createMySiteLink: PortalFunction<\n PortalMySiteLink,\n CreateMySiteLinkInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.createMySiteLink);\n\nexport const updateMySiteLink: PortalFunction<\n PortalMySiteLink,\n UpdateMySiteLinkInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.updateMySiteLink);\n\nexport const deleteMySiteLink: PortalFunction<null, DeleteMySiteLinkInput> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.deleteMySiteLink);\n\nexport const reorderMySiteLinks: PortalFunction<\n readonly PortalMySiteLink[],\n ReorderMySiteLinksInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.reorderMySiteLinks);\n\nexport const listMySiteFavorites: PortalFunction<\n readonly PortalMySiteFavorite[]\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.listMySiteFavorites);\n\nexport const addMySiteFavorite: PortalFunction<\n PortalMySiteFavorite,\n AddMySiteFavoriteInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.addMySiteFavorite);\n\nexport const deleteMySiteFavorite: PortalFunction<\n null,\n DeleteMySiteFavoriteInput\n> = definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.deleteMySiteFavorite);\n\nexport const reorderMySiteFavorites: PortalFunction<\n readonly PortalMySiteFavorite[],\n ReorderMySiteFavoritesInput\n> = definePortalFunction(\n PORTAL_SELF_FUNCTION_DEFINITIONS.reorderMySiteFavorites,\n);\n\nexport const listMySiteThemes: PortalFunction<readonly PortalMySiteTheme[]> =\n definePortalFunction(PORTAL_SELF_FUNCTION_DEFINITIONS.listMySiteThemes);\n","export const FLUID_SEARCH_SORT_TAG_NAME = \"fluid-ui-search-sort\";\n\nexport const FLUID_SEARCH_SORT_EVENT_NAMES = {\n searchChange: \"search-change\",\n sortChange: \"sort-change\",\n} as const;\n\nexport type FluidSearchSortEventName =\n (typeof FLUID_SEARCH_SORT_EVENT_NAMES)[keyof typeof FLUID_SEARCH_SORT_EVENT_NAMES];\n\nexport interface FluidSearchSortEventDetails {\n readonly \"search-change\": string;\n readonly \"sort-change\": string;\n}\n\nexport interface FluidSearchSortOption {\n readonly label: string;\n readonly value: string;\n}\n\nexport interface FluidSearchSortElementProperties {\n readonly searchValue: string;\n readonly placeholder?: string;\n readonly sortOptions?: readonly FluidSearchSortOption[];\n readonly sortValue?: string;\n}\n","export const FLUID_SPACER_WIDGET_TAG_NAME = \"fluid-spacer-widget\";\n\nexport interface FluidSpacerWidgetElementProperties {\n readonly customHeight?: string;\n readonly previewMode?: boolean;\n}\n"],"mappings":";;;;AASA,MAAM,2BAA2B,OAAO,IACtC,iDACD;AACD,MAAM,+BAA+B;AAmErC,MAAM,8BACJ,IAAI,IAAI;CACN;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;;AAGJ,IAAa,sBAAb,cAAyC,MAAM;CAC7C;CAEA,YAAY,MAA+B,SAAiB;AAC1D,QAAM,QAAQ;AACd,OAAK,OAAO;AACZ,OAAK,OAAO;;;AA0BhB,SAAgB,qBACd,YACA,GAAG,iBAC4B;CAC/B,MAAM,kBAAA,GAAA,iCAAA,mCAGJ,WAAW;CACb,MAAM,kBAAkB,OAAO,GAAG,SAA6B;AAC7D,MAAI;AACF,OAAI,KAAK,SAAS,EAChB,OAAM,IAAI,oBACR,oBACA,oBAAoB,WAAW,WAAW,GAAG,WAAW,OAAO,iCAChE;GAEH,MAAM,SAAS;AAGf,UAAO,KAAK,WAAW,IACjB,MAAM,QAAQ,GACd,MAAM,OAAO,KAAK,GAAiC;WAClD,OAAO;AACd,SAAM,sBAAsB,MAAM;;;AAItC,QAAO,6BAA6B,gBAAgB,WAAW;;AAGjE,SAAgB,wBACd,gBACA,SAC8B;CAC9B,MAAM,aAAa,0BAA0B,eAAe;AAC5D,KAAI,CAAC,WACH,OAAM,IAAI,oBACR,oBACA,+EACD;AAGH,QAAO;EACL;EACgB;EACP;EACV;;;AAIH,SAAgB,0BACd,OACsC;AACtC,KAAI,OAAO,UAAU,WAAY,QAAO,KAAA;CAExC,MAAM,iBAAiB,QAAQ,IAAI,OAAO,yBAAyB;AACnE,KAAI,2BAA2B,eAAe,CAAE,QAAO;CAEvD,MAAM,mBAAA,GAAA,iCAAA,wCAAyD,MAAM;AACrE,QAAO,kBACH,2BAA2B,gBAAgB,GAC3C,KAAA;;AAGN,SAAgB,6BACd,gBACA,YAC+B;CAC/B,MAAM,mBAAmB,OAAO,OAAO,EAAE,GAAG,YAAY,CAAC;AACzD,QAAO,eAAe,gBAAgB,0BAA0B;EAC9D,cAAc;EACd,YAAY;EACZ,UAAU;EACV,OAAO;EACR,CAAC;AACF,QAAO;;AAGT,SAAS,2BACP,UAC0B;AAC1B,QAAO;EACL,YAAY,SAAS;EACrB,SAAS,SAAS;EAClB,QAAQ,SAAS;EAClB;;AAGH,SAAS,2BACP,OACmC;AACnC,KAAI,OAAO,UAAU,YAAY,UAAU,KAAM,QAAO;AACxD,QACE,gBAAgB,SAChB,OAAO,MAAM,eAAe,YAC5B,aAAa,SACb,OAAO,MAAM,YAAY,YACzB,YAAY,SACZ,OAAO,MAAM,WAAW;;AAI5B,SAAS,sBAAsB,OAAqC;AAClE,KAAI,iBAAiB,oBAAqB,QAAO;AACjD,KAAI,iBAAiBA,iCAAAA,iCACnB,QAAO,IAAI,oBAAoB,MAAM,MAAM,MAAM,QAAQ;CAG3D,MAAM,cAAc,uBAAuB,MAAM;AACjD,KAAI,YAAa,QAAO;AAExB,QAAO,IAAI,oBACT,gBACA,yDACD;;AAGH,SAAS,uBAAuB,OAA4C;AAC1E,KAAI,EAAE,iBAAiB,OAAQ,QAAO;CACtC,MAAM,cAAc,MAAM,QAAQ,QAAQ,6BAA6B;AACvE,KAAI,cAAc,EAAG,QAAO;CAE5B,MAAM,UAAU,MAAM,QAAQ,MAC5B,cAAc,GACf;CACD,MAAM,iBAAiB,QAAQ,QAAQ,IAAI;AAC3C,KAAI,iBAAiB,EAAG,QAAO;CAE/B,MAAM,OAAO,QAAQ,MAAM,GAAG,eAAe;AAC7C,KAAI,CAAC,0BAA0B,KAAK,CAAE,QAAO;AAE7C,QAAO,IAAI,oBACT,MAFc,QAAQ,MAAM,iBAAiB,EAAE,CAAC,MAAM,IAG3C,yDACZ;;AAGH,SAAS,0BACP,OACkC;AAClC,QAAO,4BAA4B,IAAI,MAAiC;;;;AC5J1E,MAAa,qBAAqB;CAChC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,mBAAmB;CAC9B,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,iBAAiB;CAC5B,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,qBAAqB;CAChC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,8BAA8B;CACzC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,wBAAwB;CACnC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,sBAAsB;CACjC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,8BAA8B;CACzC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,gCAAgC;CAC3C,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,6BAA6B;CACxC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AACD,MAAa,8BAA8B;CACzC,YAAY;CACZ,SAAS;CACT,QAAQ;CACT;AAED,MAAa,iBACX,qBAAkC,mBAAmB;AACvD,MAAa,WACX,qBAAkC,iBAAiB;AACrD,MAAa,eACX,qBAAuC,eAAe;AACxD,MAAa,mBACX,qBAA2C,mBAAmB;AAChE,MAAa,qBACX,qBAA4C,4BAA4B;AAC1E,MAAa,kBACX,qBAAqD,sBAAsB;AAE7E,MAAM,WAAW,qBACf,oBACD;AACD,MAAa,aACX,6BAA2D,OAAO,WAAW;AAC3E,OAAM,SAAS,OAAO;GACrB,oBAAoB;AAEzB,MAAa,qBACX,qBAAsC,4BAA4B;AAEpE,MAAM,UAAU,qBAA2B,8BAA8B;AACzE,MAAa,oBACX,6BAAyC,YAAY;AACnD,OAAM,SAAS;GACd,8BAA8B;AAEnC,MAAM,OAAO,qBAA2B,2BAA2B;AACnE,MAAa,iBACX,6BAAyC,YAAY;AACnD,OAAM,MAAM;GACX,2BAA2B;;AAGhC,MAAa,iBACX,qBAAqC,4BAA4B;;;ACqKnE,MAAa,mCAAmC;CAC9C,eAAe;EACb,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,eAAe;EACb,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,cAAc;EACZ,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,YAAY;EACV,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,gBAAgB;EACd,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,iBAAiB;EACf,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,eAAe;EACb,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,aAAa;EACX,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;EACjB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,WAAW;EACT,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,SAAS;EACP,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,qBAAqB;EACnB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;EACjB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,YAAY;EACV,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,eAAe;EACb,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;EACjB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACF;AAED,MAAa,gBAGT,qBAAqB,iCAAiC,cAAc;AAExE,MAAa,gBAGT,qBAAqB,iCAAiC,cAAc;AAExE,MAAa,mBAGT,qBAAqB,iCAAiC,iBAAiB;AAE3E,MAAa,eAGT,qBAAqB,iCAAiC,aAAa;AAEvE,MAAa,aACX,qBAAqB,iCAAiC,WAAW;AAEnE,MAAa,iBAGT,qBAAqB,iCAAiC,eAAe;AAEzE,MAAa,mBAGT,qBAAqB,iCAAiC,iBAAiB;AAE3E,MAAa,qBAGT,qBAAqB,iCAAiC,mBAAmB;AAE7E,MAAa,qBAET,qBAAqB,iCAAiC,mBAAmB;AAE7E,MAAa,mBAGT,qBAAqB,iCAAiC,iBAAiB;AAE3E,MAAa,kBAGT,qBAAqB,iCAAiC,gBAAgB;AAE1E,MAAa,gBAGT,qBAAqB,iCAAiC,cAAc;AAExE,MAAa,cACX,qBAAqB,iCAAiC,YAAY;AAEpE,MAAa,oBAGT,qBAAqB,iCAAiC,kBAAkB;AAE5E,MAAa,YAGT,qBAAqB,iCAAiC,UAAU;AAEpE,MAAa,UACX,qBAAqB,iCAAiC,QAAQ;AAEhE,MAAa,sBAGT,qBAAqB,iCAAiC,oBAAoB;AAE9E,MAAa,oBAGT,qBAAqB,iCAAiC,kBAAkB;AAE5E,MAAa,qBAGT,qBAAqB,iCAAiC,mBAAmB;AAE7E,MAAa,aAGT,qBAAqB,iCAAiC,WAAW;AAErE,MAAa,gBAGT,qBAAqB,iCAAiC,cAAc;AAExE,MAAa,oBAGT,qBAAqB,iCAAiC,kBAAkB;;;ACvb5E,MAAa,+CAA+C;CAC1D,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,0BAA0B;EACxB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,wBAAwB;EACtB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,2BAA2B;EACzB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,uBAAuB;EACrB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,uBAAuB;EACrB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,uBAAuB;EACrB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,wBAAwB;EACtB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,2BAA2B;EACzB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,6BAA6B;EAC3B,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,uBAAuB;EACrB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,gBAAgB;EACd,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,iBAAiB;EACf,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,gBAAgB;EACd,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACF;AAED,MAAa,qBAGT,qBACF,6CAA6C,mBAC9C;AAED,MAAa,qBAGT,qBACF,6CAA6C,mBAC9C;AAED,MAAa,qBACX,qBACE,6CAA6C,mBAC9C;AAEH,MAAa,2BAGT,qBACF,6CAA6C,yBAC9C;AAED,MAAa,yBAGT,qBACF,6CAA6C,uBAC9C;AAED,MAAa,4BAGT,qBACF,6CAA6C,0BAC9C;AAED,MAAa,wBAGT,qBACF,6CAA6C,sBAC9C;AAED,MAAa,wBAGT,qBACF,6CAA6C,sBAC9C;AAED,MAAa,wBAGT,qBACF,6CAA6C,sBAC9C;AAED,MAAa,yBAGT,qBACF,6CAA6C,uBAC9C;AAED,MAAa,4BAGT,qBACF,6CAA6C,0BAC9C;AAED,MAAa,8BAGT,qBACF,6CAA6C,4BAC9C;AAED,MAAa,qBAGT,qBACF,6CAA6C,mBAC9C;AAED,MAAa,wBAGT,qBACF,6CAA6C,sBAC9C;AAED,MAAa,iBAGT,qBACF,6CAA6C,eAC9C;AAED,MAAa,qBAGT,qBACF,6CAA6C,mBAC9C;AAED,MAAa,kBAGT,qBACF,6CAA6C,gBAC9C;AAED,MAAa,iBACX,qBACE,6CAA6C,eAC9C;;;AC5NH,MAAa,mCAAmC;CAC9C,iBAAiB;EACf,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;EACjB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,WAAW;EAAE,YAAY;EAAS,SAAS;EAAK,QAAQ;EAAQ;CAChE,YAAY;EAAE,YAAY;EAAe,SAAS;EAAK,QAAQ;EAAU;CACzE,iBAAiB;EAAE,YAAY;EAAU,SAAS;EAAK,QAAQ;EAAO;CACtE,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,qBAAqB;EACnB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,sBAAsB;EACpB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,iBAAiB;EACf,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,oBAAoB;EAClB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,qBAAqB;EACnB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,mBAAmB;EACjB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,sBAAsB;EACpB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,wBAAwB;EACtB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACD,kBAAkB;EAChB,YAAY;EACZ,SAAS;EACT,QAAQ;EACT;CACF;AAED,MAAa,kBACX,qBAAqB,iCAAiC,gBAAgB;AAExE,MAAa,oBAGT,qBAAqB,iCAAiC,kBAAkB;AAE5E,MAAa,YAGT,qBAAqB,iCAAiC,UAAU;AAEpE,MAAa,aACX,qBAAqB,iCAAiC,WAAW;AAEnE,MAAa,kBACX,qBAAqB,iCAAiC,gBAAgB;AAExE,MAAa,mBACX,qBAAqB,iCAAiC,iBAAiB;AAEzE,MAAa,sBAGT,qBAAqB,iCAAiC,oBAAoB;AAE9E,MAAa,uBAGT,qBAAqB,iCAAiC,qBAAqB;AAE/E,MAAa,kBACX,qBAAqB,iCAAiC,gBAAgB;AAExE,MAAa,mBAGT,qBAAqB,iCAAiC,iBAAiB;AAE3E,MAAa,mBAGT,qBAAqB,iCAAiC,iBAAiB;AAE3E,MAAa,mBACX,qBAAqB,iCAAiC,iBAAiB;AAEzE,MAAa,qBAGT,qBAAqB,iCAAiC,mBAAmB;AAE7E,MAAa,sBAET,qBAAqB,iCAAiC,oBAAoB;AAE9E,MAAa,oBAGT,qBAAqB,iCAAiC,kBAAkB;AAE5E,MAAa,uBAGT,qBAAqB,iCAAiC,qBAAqB;AAE/E,MAAa,yBAGT,qBACF,iCAAiC,uBAClC;AAED,MAAa,mBACX,qBAAqB,iCAAiC,iBAAiB;;;AClSzE,MAAa,6BAA6B;AAE1C,MAAa,gCAAgC;CAC3C,cAAc;CACd,YAAY;CACb;;;ACLD,MAAa,+BAA+B"}