@fluid-app/portal-sdk 0.1.469 → 0.1.471

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 (137) hide show
  1. package/authoring/portal-api/api.md +227 -0
  2. package/authoring/widget-api/api.md +6 -0
  3. package/authoring/widget-api/core/src/registries/property-schema-types.md +3769 -0
  4. package/authoring/widget-api/sdk/src/widgets/worker.md +3683 -0
  5. package/dist/{CarouselWidget-CnjImV4p.cjs → CarouselWidget-B9_YaBRd.cjs} +7 -3
  6. package/dist/{CarouselWidget-CnjImV4p.cjs.map → CarouselWidget-B9_YaBRd.cjs.map} +1 -1
  7. package/dist/{CarouselWidget-xVj0Nl_1.cjs → CarouselWidget-BEPWgTCi.cjs} +1 -1
  8. package/dist/{CarouselWidget-DcoqH7YF.mjs → CarouselWidget-u58GTUD2.mjs} +7 -3
  9. package/dist/{CarouselWidget-DcoqH7YF.mjs.map → CarouselWidget-u58GTUD2.mjs.map} +1 -1
  10. package/dist/{ChartWidget-DhH_Q0e9.cjs → ChartWidget-C6hsftO9.cjs} +1 -1
  11. package/dist/{ChartWidget-CFyWkbfl.mjs → ChartWidget-J_JLCsug.mjs} +9 -2
  12. package/dist/{ChartWidget-CFyWkbfl.mjs.map → ChartWidget-J_JLCsug.mjs.map} +1 -1
  13. package/dist/{ChartWidget-DF-KE_5t.cjs → ChartWidget-q9yjk-79.cjs} +9 -2
  14. package/dist/{ChartWidget-DF-KE_5t.cjs.map → ChartWidget-q9yjk-79.cjs.map} +1 -1
  15. package/dist/{FluidProvider-CHo5kVRs.cjs → FluidProvider-DD1pE8b6.cjs} +2 -2
  16. package/dist/{FluidProvider-CHo5kVRs.cjs.map → FluidProvider-DD1pE8b6.cjs.map} +1 -1
  17. package/dist/{FluidProvider-BUV8QY8z.mjs → FluidProvider-DoJ-j6H-.mjs} +2 -2
  18. package/dist/{FluidProvider-BUV8QY8z.mjs.map → FluidProvider-DoJ-j6H-.mjs.map} +1 -1
  19. package/dist/{ImageWidget-BK_f_L0T.mjs → ImageWidget-B2SfenSC.mjs} +2 -2
  20. package/dist/{ImageWidget-BK_f_L0T.mjs.map → ImageWidget-B2SfenSC.mjs.map} +1 -1
  21. package/dist/{ImageWidget-8WfRzR60.cjs → ImageWidget-BFyfpxLg.cjs} +1 -1
  22. package/dist/{ImageWidget-C9PCTFpZ.cjs → ImageWidget-C7U9t7a3.cjs} +2 -2
  23. package/dist/{ImageWidget-C9PCTFpZ.cjs.map → ImageWidget-C7U9t7a3.cjs.map} +1 -1
  24. package/dist/{LinkWidget-DRMzQhQz.cjs → LinkWidget-Cjzrpnzd.cjs} +4 -1
  25. package/dist/LinkWidget-Cjzrpnzd.cjs.map +1 -0
  26. package/dist/{LinkWidget-BqLCMzfY.cjs → LinkWidget-D3acO4R8.cjs} +1 -1
  27. package/dist/{LinkWidget-C3HRFueg.mjs → LinkWidget-Dlw2rzK6.mjs} +4 -1
  28. package/dist/LinkWidget-Dlw2rzK6.mjs.map +1 -0
  29. package/dist/{ListWidget-BiBx02S8.cjs → ListWidget-DWAtSTK6.cjs} +1 -1
  30. package/dist/{ListWidget-D7Ws1bMu.mjs → ListWidget-W5Tm4mWy.mjs} +7 -3
  31. package/dist/{ListWidget-D7Ws1bMu.mjs.map → ListWidget-W5Tm4mWy.mjs.map} +1 -1
  32. package/dist/{ListWidget-Ge83X2-d.cjs → ListWidget-YrcH5_Ez.cjs} +7 -3
  33. package/dist/{ListWidget-Ge83X2-d.cjs.map → ListWidget-YrcH5_Ez.cjs.map} +1 -1
  34. package/dist/{MessagingScreen-KYbF9U2N.cjs → MessagingScreen-B8Bcy-2V.cjs} +2 -2
  35. package/dist/{MessagingScreen-KYbF9U2N.cjs.map → MessagingScreen-B8Bcy-2V.cjs.map} +1 -1
  36. package/dist/{MessagingScreen-r40mXBJR.mjs → MessagingScreen-BBoYyLPj.mjs} +11 -11
  37. package/dist/{MessagingScreen-CC2FSdcv.cjs → MessagingScreen-BJ7NTczB.cjs} +11 -11
  38. package/dist/{MessagingScreen-B9LmuGG4.mjs → MessagingScreen-vaNfWYeM.mjs} +2 -2
  39. package/dist/{MessagingScreen-B9LmuGG4.mjs.map → MessagingScreen-vaNfWYeM.mjs.map} +1 -1
  40. package/dist/{NestedWidget-nWK5H1NG.cjs → NestedWidget-B5iyFylx.cjs} +6 -2
  41. package/dist/{NestedWidget-nWK5H1NG.cjs.map → NestedWidget-B5iyFylx.cjs.map} +1 -1
  42. package/dist/{NestedWidget-J8fPrBNA.mjs → NestedWidget-Bdll8TLQ.mjs} +6 -2
  43. package/dist/{NestedWidget-J8fPrBNA.mjs.map → NestedWidget-Bdll8TLQ.mjs.map} +1 -1
  44. package/dist/{NestedWidget-Bhltm3Db.cjs → NestedWidget-CBYJ_Qw7.cjs} +1 -1
  45. package/dist/{OrdersScreen-jhkTEp5y.cjs → OrdersScreen-BdtVN1wl.cjs} +11 -11
  46. package/dist/{OrdersScreen-BMslkiOK.mjs → OrdersScreen-ClB_Yor-.mjs} +2 -2
  47. package/dist/{OrdersScreen-BMslkiOK.mjs.map → OrdersScreen-ClB_Yor-.mjs.map} +1 -1
  48. package/dist/{OrdersScreen-CHt2QwB7.mjs → OrdersScreen-D2cymJtp.mjs} +11 -11
  49. package/dist/{OrdersScreen-DkRte66f.cjs → OrdersScreen-DnJa329w.cjs} +2 -2
  50. package/dist/{OrdersScreen-DkRte66f.cjs.map → OrdersScreen-DnJa329w.cjs.map} +1 -1
  51. package/dist/{ProfileScreen-BP5KEyW0.mjs → ProfileScreen-CIjBpDIq.mjs} +12 -12
  52. package/dist/{ProfileScreen-Ba8B0_Bm.cjs → ProfileScreen-CpI9XiZQ.cjs} +9 -4
  53. package/dist/ProfileScreen-CpI9XiZQ.cjs.map +1 -0
  54. package/dist/{ProfileScreen-BAbxbpdQ.cjs → ProfileScreen-DUEVFZqo.cjs} +12 -12
  55. package/dist/{ProfileScreen-Cw1hajhU.mjs → ProfileScreen-TbmOka5D.mjs} +9 -4
  56. package/dist/ProfileScreen-TbmOka5D.mjs.map +1 -0
  57. package/dist/{ShopWidget-jQ-osGyn.mjs → ShopWidget-BH0Pcepg.mjs} +6 -2
  58. package/dist/{ShopWidget-jQ-osGyn.mjs.map → ShopWidget-BH0Pcepg.mjs.map} +1 -1
  59. package/dist/{ShopWidget-Dc3fH_tP.cjs → ShopWidget-RfF5ZRv2.cjs} +6 -2
  60. package/dist/{ShopWidget-Dc3fH_tP.cjs.map → ShopWidget-RfF5ZRv2.cjs.map} +1 -1
  61. package/dist/{ShopWidget-gc_BbyrJ.cjs → ShopWidget-ecp3h54J.cjs} +1 -1
  62. package/dist/{SubscriptionsScreen-BscwpAw8.cjs → SubscriptionsScreen-BiNmEFLP.cjs} +4 -4
  63. package/dist/{SubscriptionsScreen-BscwpAw8.cjs.map → SubscriptionsScreen-BiNmEFLP.cjs.map} +1 -1
  64. package/dist/{SubscriptionsScreen-D2uyJGIE.mjs → SubscriptionsScreen-NCU2I079.mjs} +4 -4
  65. package/dist/{SubscriptionsScreen-D2uyJGIE.mjs.map → SubscriptionsScreen-NCU2I079.mjs.map} +1 -1
  66. package/dist/{SubscriptionsScreen-Nfbt2u5r.cjs → SubscriptionsScreen-cuw6yk56.cjs} +12 -12
  67. package/dist/{SubscriptionsScreen-DU5AKlfR.mjs → SubscriptionsScreen-fv_xxA9j.mjs} +12 -12
  68. package/dist/{TableWidget-B4rGem0e.cjs → TableWidget-B8axD206.cjs} +1 -1
  69. package/dist/{TableWidget-LolaiYXA.mjs → TableWidget-C861T_Ac.mjs} +8 -1
  70. package/dist/{TableWidget-LolaiYXA.mjs.map → TableWidget-C861T_Ac.mjs.map} +1 -1
  71. package/dist/{TableWidget-Dfzx5jaI.cjs → TableWidget-CAgARK2Y.cjs} +8 -1
  72. package/dist/{TableWidget-Dfzx5jaI.cjs.map → TableWidget-CAgARK2Y.cjs.map} +1 -1
  73. package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts +87 -0
  74. package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts.map +1 -0
  75. package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts +87 -0
  76. package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts.map +1 -0
  77. package/dist/{build-widget-registry-BwiPIMcu.d.mts → build-widget-registry-ByUJk3-B.d.mts} +2 -2
  78. package/dist/{build-widget-registry-BwiPIMcu.d.mts.map → build-widget-registry-ByUJk3-B.d.mts.map} +1 -1
  79. package/dist/{build-widget-registry-BmU54VJb.cjs → build-widget-registry-CCmtBo8w.cjs} +17 -17
  80. package/dist/build-widget-registry-CCmtBo8w.cjs.map +1 -0
  81. package/dist/{build-widget-registry-DSE7CmVe.d.cts → build-widget-registry-Dsp9P8gq.d.cts} +2 -2
  82. package/dist/{build-widget-registry-DSE7CmVe.d.cts.map → build-widget-registry-Dsp9P8gq.d.cts.map} +1 -1
  83. package/dist/{build-widget-registry-Bimd6Pxq.mjs → build-widget-registry-DvCtfn9d.mjs} +17 -17
  84. package/dist/build-widget-registry-DvCtfn9d.mjs.map +1 -0
  85. package/dist/index.cjs +29 -24
  86. package/dist/index.cjs.map +1 -1
  87. package/dist/index.d.cts +40 -13
  88. package/dist/index.d.cts.map +1 -1
  89. package/dist/index.d.mts +40 -13
  90. package/dist/index.d.mts.map +1 -1
  91. package/dist/index.mjs +29 -24
  92. package/dist/index.mjs.map +1 -1
  93. package/dist/{link-type-schema-fields-DJBFdG7t.mjs → link-type-schema-fields-CncR6GKa.mjs} +3 -1
  94. package/dist/link-type-schema-fields-CncR6GKa.mjs.map +1 -0
  95. package/dist/{link-type-schema-fields-CQXXgSqn.cjs → link-type-schema-fields-DvSzjbwD.cjs} +3 -1
  96. package/dist/link-type-schema-fields-DvSzjbwD.cjs.map +1 -0
  97. package/dist/{build-remote-widget-plugin-manifests-CFmLot7p.d.cts → portal-function-DYWFgeRx.d.cts} +826 -796
  98. package/dist/portal-function-DYWFgeRx.d.cts.map +1 -0
  99. package/dist/{build-remote-widget-plugin-manifests-BsgLYqar.d.mts → portal-function-DgqXwF13.d.mts} +932 -902
  100. package/dist/portal-function-DgqXwF13.d.mts.map +1 -0
  101. package/dist/registries-DgzzKX8_.cjs.map +1 -1
  102. package/dist/registries-Dvq4M6wO.mjs.map +1 -1
  103. package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs → use-portal-card-add-3ds-flow-CRiGY6e0.cjs} +3 -3
  104. package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs.map → use-portal-card-add-3ds-flow-CRiGY6e0.cjs.map} +1 -1
  105. package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs} +3 -3
  106. package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs.map → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs.map} +1 -1
  107. package/dist/utils/build-remote-widget-plugin-manifests.cjs +9 -9
  108. package/dist/utils/build-remote-widget-plugin-manifests.d.cts +1 -1
  109. package/dist/utils/build-remote-widget-plugin-manifests.d.mts +1 -1
  110. package/dist/utils/build-remote-widget-plugin-manifests.mjs +9 -9
  111. package/dist/utils/build-widget-registry.cjs +9 -9
  112. package/dist/utils/build-widget-registry.d.cts +1 -1
  113. package/dist/utils/build-widget-registry.d.mts +1 -1
  114. package/dist/utils/build-widget-registry.mjs +9 -9
  115. package/dist/widgets/worker.cjs +20 -1
  116. package/dist/widgets/worker.cjs.map +1 -1
  117. package/dist/widgets/worker.d.cts +67 -4
  118. package/dist/widgets/worker.d.cts.map +1 -1
  119. package/dist/widgets/worker.d.mts +67 -4
  120. package/dist/widgets/worker.d.mts.map +1 -1
  121. package/dist/widgets/worker.mjs +20 -1
  122. package/dist/widgets/worker.mjs.map +1 -1
  123. package/package.json +18 -17
  124. package/dist/LinkWidget-C3HRFueg.mjs.map +0 -1
  125. package/dist/LinkWidget-DRMzQhQz.cjs.map +0 -1
  126. package/dist/ProfileScreen-Ba8B0_Bm.cjs.map +0 -1
  127. package/dist/ProfileScreen-Cw1hajhU.mjs.map +0 -1
  128. package/dist/build-remote-widget-plugin-manifests-BsgLYqar.d.mts.map +0 -1
  129. package/dist/build-remote-widget-plugin-manifests-CFmLot7p.d.cts.map +0 -1
  130. package/dist/build-widget-registry-Bimd6Pxq.mjs.map +0 -1
  131. package/dist/build-widget-registry-BmU54VJb.cjs.map +0 -1
  132. package/dist/link-type-schema-fields-CQXXgSqn.cjs.map +0 -1
  133. package/dist/link-type-schema-fields-DJBFdG7t.mjs.map +0 -1
  134. package/dist/portal-function-85qUlAVz.d.mts +0 -76
  135. package/dist/portal-function-85qUlAVz.d.mts.map +0 -1
  136. package/dist/portal-function-CW3U6P5p.d.cts +0 -76
  137. package/dist/portal-function-CW3U6P5p.d.cts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-type-schema-fields-CQXXgSqn.cjs","names":[],"sources":["../../widgets/src/lib/link-type-schema-fields.ts"],"sourcesContent":["import type { PropertyField } from \"@fluid-app/portal-core/registries\";\n\ninterface LinkTypeFieldsOptions {\n /** Prefix for field keys (e.g. \"button\" → \"buttonLinkType\", \"buttonHref\"). Omit for bare keys. */\n keyPrefix?: string;\n /** Group name for the fields. */\n group?: string;\n /** Gate all link fields behind a boolean key (e.g. \"buttonEnabled\"). */\n requiresKeyToBeTrue?: string;\n}\n\nfunction prefixed(prefix: string | undefined, key: string): string {\n if (!prefix) return key;\n return `${prefix}${key.charAt(0).toUpperCase()}${key.slice(1)}`;\n}\n\n/**\n * Returns the standard set of link-type property schema fields:\n * linkType picker + conditional URL / Screen / Share fields.\n *\n * Matches the pattern established by LinkWidget.\n */\nexport function getLinkTypeFields(\n options: LinkTypeFieldsOptions = {},\n): PropertyField[] {\n const { keyPrefix, group, requiresKeyToBeTrue } = options;\n\n const linkTypeKey = prefixed(keyPrefix, \"linkType\");\n\n const base: Pick<PropertyField, \"group\" | \"requiresKeyToBeTrue\"> = {};\n if (group) base.group = group;\n if (requiresKeyToBeTrue) base.requiresKeyToBeTrue = requiresKeyToBeTrue;\n\n // requiresKeyValue carries only the linkType condition; the boolean\n // gate rides on requiresKeyToBeTrue separately via ...base.\n function requiresLinkType(value: string): { key: string; value: string } {\n return { key: linkTypeKey, value };\n }\n\n function requiresShareSource(\n value: string,\n ): Array<{ key: string; value: string }> {\n return [\n { key: linkTypeKey, value: \"share\" },\n { key: prefixed(keyPrefix, \"shareSource\"), value },\n ];\n }\n\n return [\n {\n key: linkTypeKey,\n label: \"Link Type\",\n type: \"buttonGroup\",\n options: [\n { label: \"URL\", value: \"url\" },\n { label: \"Screen\", value: \"screen\" },\n { label: \"Share\", value: \"share\" },\n ],\n defaultValue: \"url\",\n ...base,\n },\n {\n key: prefixed(keyPrefix, \"href\"),\n label: \"URL\",\n type: \"text\",\n description: \"The destination URL\",\n defaultValue: \"\",\n ...base,\n requiresKeyValue: requiresLinkType(\"url\"),\n },\n {\n key: prefixed(keyPrefix, \"openInNewTab\"),\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Whether to open the link in a new tab\",\n defaultValue: true,\n ...base,\n requiresKeyValue: requiresLinkType(\"url\"),\n },\n {\n key: prefixed(keyPrefix, \"screenSlug\"),\n label: \"Screen\",\n type: \"screenPicker\",\n description: \"Select a screen to navigate to\",\n includeSystemItems: true,\n ...base,\n requiresKeyValue: requiresLinkType(\"screen\"),\n },\n {\n key: prefixed(keyPrefix, \"shareSource\"),\n label: \"Share Source\",\n type: \"buttonGroup\",\n options: [\n { label: \"Resource\", value: \"resource\" },\n { label: \"URL\", value: \"url\" },\n ],\n defaultValue: \"resource\",\n ...base,\n requiresKeyValue: requiresLinkType(\"share\"),\n },\n {\n key: prefixed(keyPrefix, \"shareResource\"),\n label: \"Shareable Content\",\n type: \"resource\",\n description: \"Select content to share\",\n allowedTypes: [\"Product\", \"Medium\", \"Library\", \"Page\", \"EnrollmentPack\"],\n ...base,\n requiresKeyValue: requiresShareSource(\"resource\"),\n },\n {\n key: prefixed(keyPrefix, \"shareUrl\"),\n label: \"Share URL\",\n type: \"text\",\n description: \"The URL to share\",\n defaultValue: \"\",\n ...base,\n requiresKeyValue: requiresShareSource(\"url\"),\n },\n ] satisfies PropertyField[];\n}\n"],"mappings":";AAWA,SAAS,SAAS,QAA4B,KAAqB;AACjE,KAAI,CAAC,OAAQ,QAAO;AACpB,QAAO,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE;;;;;;;;AAS/D,SAAgB,kBACd,UAAiC,EAAE,EAClB;CACjB,MAAM,EAAE,WAAW,OAAO,wBAAwB;CAElD,MAAM,cAAc,SAAS,WAAW,WAAW;CAEnD,MAAM,OAA6D,EAAE;AACrE,KAAI,MAAO,MAAK,QAAQ;AACxB,KAAI,oBAAqB,MAAK,sBAAsB;CAIpD,SAAS,iBAAiB,OAA+C;AACvE,SAAO;GAAE,KAAK;GAAa;GAAO;;CAGpC,SAAS,oBACP,OACuC;AACvC,SAAO,CACL;GAAE,KAAK;GAAa,OAAO;GAAS,EACpC;GAAE,KAAK,SAAS,WAAW,cAAc;GAAE;GAAO,CACnD;;AAGH,QAAO;EACL;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,SAAS;IACP;KAAE,OAAO;KAAO,OAAO;KAAO;IAC9B;KAAE,OAAO;KAAU,OAAO;KAAU;IACpC;KAAE,OAAO;KAAS,OAAO;KAAS;IACnC;GACD,cAAc;GACd,GAAG;GACJ;EACD;GACE,KAAK,SAAS,WAAW,OAAO;GAChC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,MAAM;GAC1C;EACD;GACE,KAAK,SAAS,WAAW,eAAe;GACxC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,MAAM;GAC1C;EACD;GACE,KAAK,SAAS,WAAW,aAAa;GACtC,OAAO;GACP,MAAM;GACN,aAAa;GACb,oBAAoB;GACpB,GAAG;GACH,kBAAkB,iBAAiB,SAAS;GAC7C;EACD;GACE,KAAK,SAAS,WAAW,cAAc;GACvC,OAAO;GACP,MAAM;GACN,SAAS,CACP;IAAE,OAAO;IAAY,OAAO;IAAY,EACxC;IAAE,OAAO;IAAO,OAAO;IAAO,CAC/B;GACD,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,QAAQ;GAC5C;EACD;GACE,KAAK,SAAS,WAAW,gBAAgB;GACzC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;IAAC;IAAW;IAAU;IAAW;IAAQ;IAAiB;GACxE,GAAG;GACH,kBAAkB,oBAAoB,WAAW;GAClD;EACD;GACE,KAAK,SAAS,WAAW,WAAW;GACpC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,oBAAoB,MAAM;GAC7C;EACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"link-type-schema-fields-DJBFdG7t.mjs","names":[],"sources":["../../widgets/src/lib/link-type-schema-fields.ts"],"sourcesContent":["import type { PropertyField } from \"@fluid-app/portal-core/registries\";\n\ninterface LinkTypeFieldsOptions {\n /** Prefix for field keys (e.g. \"button\" → \"buttonLinkType\", \"buttonHref\"). Omit for bare keys. */\n keyPrefix?: string;\n /** Group name for the fields. */\n group?: string;\n /** Gate all link fields behind a boolean key (e.g. \"buttonEnabled\"). */\n requiresKeyToBeTrue?: string;\n}\n\nfunction prefixed(prefix: string | undefined, key: string): string {\n if (!prefix) return key;\n return `${prefix}${key.charAt(0).toUpperCase()}${key.slice(1)}`;\n}\n\n/**\n * Returns the standard set of link-type property schema fields:\n * linkType picker + conditional URL / Screen / Share fields.\n *\n * Matches the pattern established by LinkWidget.\n */\nexport function getLinkTypeFields(\n options: LinkTypeFieldsOptions = {},\n): PropertyField[] {\n const { keyPrefix, group, requiresKeyToBeTrue } = options;\n\n const linkTypeKey = prefixed(keyPrefix, \"linkType\");\n\n const base: Pick<PropertyField, \"group\" | \"requiresKeyToBeTrue\"> = {};\n if (group) base.group = group;\n if (requiresKeyToBeTrue) base.requiresKeyToBeTrue = requiresKeyToBeTrue;\n\n // requiresKeyValue carries only the linkType condition; the boolean\n // gate rides on requiresKeyToBeTrue separately via ...base.\n function requiresLinkType(value: string): { key: string; value: string } {\n return { key: linkTypeKey, value };\n }\n\n function requiresShareSource(\n value: string,\n ): Array<{ key: string; value: string }> {\n return [\n { key: linkTypeKey, value: \"share\" },\n { key: prefixed(keyPrefix, \"shareSource\"), value },\n ];\n }\n\n return [\n {\n key: linkTypeKey,\n label: \"Link Type\",\n type: \"buttonGroup\",\n options: [\n { label: \"URL\", value: \"url\" },\n { label: \"Screen\", value: \"screen\" },\n { label: \"Share\", value: \"share\" },\n ],\n defaultValue: \"url\",\n ...base,\n },\n {\n key: prefixed(keyPrefix, \"href\"),\n label: \"URL\",\n type: \"text\",\n description: \"The destination URL\",\n defaultValue: \"\",\n ...base,\n requiresKeyValue: requiresLinkType(\"url\"),\n },\n {\n key: prefixed(keyPrefix, \"openInNewTab\"),\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Whether to open the link in a new tab\",\n defaultValue: true,\n ...base,\n requiresKeyValue: requiresLinkType(\"url\"),\n },\n {\n key: prefixed(keyPrefix, \"screenSlug\"),\n label: \"Screen\",\n type: \"screenPicker\",\n description: \"Select a screen to navigate to\",\n includeSystemItems: true,\n ...base,\n requiresKeyValue: requiresLinkType(\"screen\"),\n },\n {\n key: prefixed(keyPrefix, \"shareSource\"),\n label: \"Share Source\",\n type: \"buttonGroup\",\n options: [\n { label: \"Resource\", value: \"resource\" },\n { label: \"URL\", value: \"url\" },\n ],\n defaultValue: \"resource\",\n ...base,\n requiresKeyValue: requiresLinkType(\"share\"),\n },\n {\n key: prefixed(keyPrefix, \"shareResource\"),\n label: \"Shareable Content\",\n type: \"resource\",\n description: \"Select content to share\",\n allowedTypes: [\"Product\", \"Medium\", \"Library\", \"Page\", \"EnrollmentPack\"],\n ...base,\n requiresKeyValue: requiresShareSource(\"resource\"),\n },\n {\n key: prefixed(keyPrefix, \"shareUrl\"),\n label: \"Share URL\",\n type: \"text\",\n description: \"The URL to share\",\n defaultValue: \"\",\n ...base,\n requiresKeyValue: requiresShareSource(\"url\"),\n },\n ] satisfies PropertyField[];\n}\n"],"mappings":";AAWA,SAAS,SAAS,QAA4B,KAAqB;AACjE,KAAI,CAAC,OAAQ,QAAO;AACpB,QAAO,GAAG,SAAS,IAAI,OAAO,EAAE,CAAC,aAAa,GAAG,IAAI,MAAM,EAAE;;;;;;;;AAS/D,SAAgB,kBACd,UAAiC,EAAE,EAClB;CACjB,MAAM,EAAE,WAAW,OAAO,wBAAwB;CAElD,MAAM,cAAc,SAAS,WAAW,WAAW;CAEnD,MAAM,OAA6D,EAAE;AACrE,KAAI,MAAO,MAAK,QAAQ;AACxB,KAAI,oBAAqB,MAAK,sBAAsB;CAIpD,SAAS,iBAAiB,OAA+C;AACvE,SAAO;GAAE,KAAK;GAAa;GAAO;;CAGpC,SAAS,oBACP,OACuC;AACvC,SAAO,CACL;GAAE,KAAK;GAAa,OAAO;GAAS,EACpC;GAAE,KAAK,SAAS,WAAW,cAAc;GAAE;GAAO,CACnD;;AAGH,QAAO;EACL;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,SAAS;IACP;KAAE,OAAO;KAAO,OAAO;KAAO;IAC9B;KAAE,OAAO;KAAU,OAAO;KAAU;IACpC;KAAE,OAAO;KAAS,OAAO;KAAS;IACnC;GACD,cAAc;GACd,GAAG;GACJ;EACD;GACE,KAAK,SAAS,WAAW,OAAO;GAChC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,MAAM;GAC1C;EACD;GACE,KAAK,SAAS,WAAW,eAAe;GACxC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,MAAM;GAC1C;EACD;GACE,KAAK,SAAS,WAAW,aAAa;GACtC,OAAO;GACP,MAAM;GACN,aAAa;GACb,oBAAoB;GACpB,GAAG;GACH,kBAAkB,iBAAiB,SAAS;GAC7C;EACD;GACE,KAAK,SAAS,WAAW,cAAc;GACvC,OAAO;GACP,MAAM;GACN,SAAS,CACP;IAAE,OAAO;IAAY,OAAO;IAAY,EACxC;IAAE,OAAO;IAAO,OAAO;IAAO,CAC/B;GACD,cAAc;GACd,GAAG;GACH,kBAAkB,iBAAiB,QAAQ;GAC5C;EACD;GACE,KAAK,SAAS,WAAW,gBAAgB;GACzC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;IAAC;IAAW;IAAU;IAAW;IAAQ;IAAiB;GACxE,GAAG;GACH,kBAAkB,oBAAoB,WAAW;GAClD;EACD;GACE,KAAK,SAAS,WAAW,WAAW;GACpC,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,GAAG;GACH,kBAAkB,oBAAoB,MAAM;GAC7C;EACF"}
@@ -1,76 +0,0 @@
1
- import { RemoteDomSerializableValue } from "@fluid-app/widget-runtime/worker";
2
-
3
- //#region ../core/src/remote-dom-widget-package.d.ts
4
- declare const REMOTE_DOM_WIDGET_MANIFEST_VERSION: 1;
5
- declare const REMOTE_DOM_WIDGET_RUNTIME: "remote-dom";
6
- type JsonPrimitive = string | number | boolean | null;
7
- type JsonValue = JsonPrimitive | readonly JsonValue[] | JsonObject;
8
- interface JsonObject {
9
- readonly [key: string]: JsonValue;
10
- }
11
- interface RemoteDomWidgetCapabilityDeclaration {
12
- readonly name: string;
13
- readonly version: string;
14
- }
15
- interface RemoteDomWidgetDefinition {
16
- readonly type: string;
17
- readonly displayName: string;
18
- readonly description: string;
19
- readonly icon: string;
20
- readonly category: string;
21
- readonly propertySchema: JsonObject;
22
- readonly defaultProps: JsonObject;
23
- readonly container: "inline" | "block" | "card" | "fullscreen";
24
- readonly resizable: boolean | "horizontal" | "vertical" | "both";
25
- readonly minSdkVersion: string;
26
- readonly capabilities: readonly RemoteDomWidgetCapabilityDeclaration[];
27
- }
28
- /**
29
- * Canonical package contract shared by the CLI, catalog APIs, and portal hosts.
30
- * Catalog producers resolve every artifact to its public URL before returning
31
- * this descriptor; consumers do not translate legacy manifest shapes.
32
- */
33
- interface RemoteDomWidgetPackageDescriptor {
34
- readonly manifestVersion: typeof REMOTE_DOM_WIDGET_MANIFEST_VERSION;
35
- readonly runtime: typeof REMOTE_DOM_WIDGET_RUNTIME;
36
- readonly packageId: string;
37
- readonly source: "company" | "droplet";
38
- readonly version: string;
39
- readonly workerEntryUrl: string;
40
- readonly cssUrls: readonly string[];
41
- readonly assetUrls: readonly string[];
42
- readonly widgets: readonly RemoteDomWidgetDefinition[];
43
- }
44
- //#endregion
45
- //#region src/widgets/remote/contract/portal-function.d.ts
46
- type PortalFunctionJsonValue = RemoteDomSerializableValue;
47
- type PortalFunctionJsonPrimitive = null | boolean | number | string;
48
- type IsAny<Value> = 0 extends 1 & Value ? true : false;
49
- type IsPortalFunctionJsonBranch<Value, Seen> = Value extends PortalFunctionJsonPrimitive ? true : Value extends readonly (infer Item)[] ? IsPortalFunctionJsonValue<Item, Seen> : Value extends ((...args: never[]) => unknown) ? false : Value extends object ? Extract<keyof Value, symbol> extends never ? false extends { [Key in keyof Value]-?: IsPortalFunctionJsonValue<Required<Value>[Key], Seen | Value> }[keyof Value] ? false : true : false : false;
50
- type IsPortalFunctionJsonValue<Value, Seen = never> = IsAny<Value> extends true ? false : [Value] extends [never] ? false : [Value] extends [Seen] ? true : false extends (Value extends unknown ? IsPortalFunctionJsonBranch<Value, Seen> : never) ? false : true;
51
- type IsExactlyVoid<Value> = [Value] extends [void] ? [void] extends [Value] ? true : false : false;
52
- type PortalFunctionContractErrors<Output, Input> = IsPortalFunctionJsonValue<Output> extends true ? IsExactlyVoid<Input> extends true ? [] : IsPortalFunctionJsonValue<Input> extends true ? [] : [error: "Portal function input must contain only JSON values"] : [error: "Portal function output must contain only JSON values"];
53
- type PortalFunctionErrorCode = "NOT_MOUNTED" | "NOT_DECLARED" | "INVALID_ARGUMENT" | "UNAVAILABLE" | "UNSUPPORTED" | "HOST_FAILURE" | "INVALID_RESPONSE";
54
- /** A stable, serializable failure reported by a Portal function call. */
55
- declare class PortalFunctionError extends Error {
56
- readonly code: PortalFunctionErrorCode;
57
- constructor(code: PortalFunctionErrorCode, message: string);
58
- }
59
- interface PortalFunctionDefinition {
60
- readonly capability: string;
61
- readonly version: string;
62
- readonly method: string;
63
- }
64
- type PortalFunction<Output, Input = void> = [Input] extends [void] ? () => Promise<Output> : (input: Input) => Promise<Output>;
65
- type AnyPortalFunction = (...args: never[]) => Promise<unknown>;
66
- type PortalFunctionHandler<Output, Input = void> = [Input] extends [void] ? () => Output | Promise<Output> : (input: Input) => Output | Promise<Output>;
67
- interface PortalFunctionImplementation {
68
- readonly definition: PortalFunctionDefinition;
69
- readonly portalFunction: AnyPortalFunction;
70
- readonly handler: (...args: never[]) => unknown | Promise<unknown>;
71
- }
72
- declare function definePortalFunction<Output, Input = void>(definition: PortalFunctionDefinition, ..._contractErrors: PortalFunctionContractErrors<Output, Input>): PortalFunction<Output, Input>;
73
- declare function implementPortalFunction<Output, Input = void>(portalFunction: PortalFunction<Output, Input>, handler: PortalFunctionHandler<NoInfer<Output>, NoInfer<Input>>): PortalFunctionImplementation;
74
- //#endregion
75
- export { PortalFunctionErrorCode as a, PortalFunctionJsonValue as c, JsonObject as d, JsonValue as f, PortalFunctionError as i, definePortalFunction as l, RemoteDomWidgetPackageDescriptor as m, PortalFunction as n, PortalFunctionHandler as o, RemoteDomWidgetDefinition as p, PortalFunctionDefinition as r, PortalFunctionImplementation as s, AnyPortalFunction as t, implementPortalFunction as u };
76
- //# sourceMappingURL=portal-function-85qUlAVz.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal-function-85qUlAVz.d.mts","names":[],"sources":["../../core/src/remote-dom-widget-package.ts","../src/widgets/remote/contract/portal-function.ts"],"mappings":";;;cAAa,kCAAA;AAAA,cACA,yBAAA;AAAA,KAED,aAAA;AAAA,KAEA,SAAA,GAAY,aAAA,YAAyB,SAAA,KAAc,UAAA;AAAA,UAE9C,UAAA;EAAA,UACS,GAAA,WAAA,SAAA;AAAA;AAAA,UAGT,oCAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAA;AAAA;AAAA,UAGM,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,WAAA;EAAA,SACA,WAAA;EAAA,SACA,IAAA;EAAA,SACA,QAAA;EAAA,SACA,cAAA,EAAgB,UAAA;EAAA,SAChB,YAAA,EAAc,UAAA;EAAA,SACd,SAAA;EAAA,SACA,SAAA;EAAA,SACA,aAAA;EAAA,SACA,YAAA,WAAuB,oCAAA;AAAA;;;;;;UAQjB,gCAAA;EAAA,SACN,eAAA,SAAwB,kCAAA;EAAA,SACxB,OAAA,SAAgB,yBAAA;EAAA,SAChB,SAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,cAAA;EAAA,SACA,OAAA;EAAA,SACA,SAAA;EAAA,SACA,OAAA,WAAkB,yBAAA;AAAA;;;KC9BjB,uBAAA,GAA0B,0BAAA;AAAA,KAEjC,2BAAA;AAAA,KAEA,KAAA,wBAA6B,KAAA;AAAA,KAE7B,0BAAA,gBACH,KAAA,SAAc,2BAAA,UAEV,KAAA,mCACE,yBAAA,CAA0B,IAAA,EAAM,IAAA,IAChC,KAAA,cAAkB,IAAA,iCAEhB,KAAA,kBACE,OAAA,OAAc,KAAA,wDAEI,KAAA,KAAU,yBAAA,CACtB,QAAA,CAAS,KAAA,EAAO,GAAA,GAChB,IAAA,GAAO,KAAA,UAEH,KAAA;AAAA,KAMjB,yBAAA,wBACH,KAAA,CAAM,KAAA,0BAED,KAAA,6BAEE,KAAA,WAAgB,IAAA,0BAGX,KAAA,mBACI,0BAAA,CAA2B,KAAA,EAAO,IAAA;AAAA,KAM/C,aAAA,WAAwB,KAAA,mCACT,KAAA;AAAA,KAKf,4BAAA,kBACH,yBAAA,CAA0B,MAAA,iBACtB,aAAA,CAAc,KAAA,sBAEZ,yBAAA,CAA0B,KAAA,uBAEvB,KAAA,4DACJ,KAAA;AAAA,KAEK,uBAAA;;cAqBC,mBAAA,SAA4B,KAAA;EAAA,SAC9B,IAAA,EAAM,uBAAA;EAEf,WAAA,CAAY,IAAA,EAAM,uBAAA,EAAyB,OAAA;AAAA;AAAA,UAO5B,wBAAA;EAAA,SACN,UAAA;EAAA,SACA,OAAA;EAAA,SACA,MAAA;AAAA;AAAA,KAGC,cAAA,0BAAwC,KAAA,yBAC1C,OAAA,CAAQ,MAAA,KACb,KAAA,EAAO,KAAA,KAAU,OAAA,CAAQ,MAAA;AAAA,KAElB,iBAAA,OAAwB,IAAA,cAAkB,OAAA;AAAA,KAE1C,qBAAA,0BAA+C,KAAA,yBACjD,MAAA,GAAS,OAAA,CAAQ,MAAA,KACtB,KAAA,EAAO,KAAA,KAAU,MAAA,GAAS,OAAA,CAAQ,MAAA;AAAA,UAEtB,4BAAA;EAAA,SACN,UAAA,EAAY,wBAAA;EAAA,SACZ,cAAA,EAAgB,iBAAA;EAAA,SAChB,OAAA,MAAa,IAAA,wBAA4B,OAAA;AAAA;AAAA,iBAGpC,oBAAA,sBAAA,CACd,UAAA,EAAY,wBAAA,KACT,eAAA,EAAiB,4BAAA,CAA6B,MAAA,EAAQ,KAAA,IACxD,cAAA,CAAe,MAAA,EAAQ,KAAA;AAAA,iBA2BV,uBAAA,sBAAA,CACd,cAAA,EAAgB,cAAA,CAAe,MAAA,EAAQ,KAAA,GACvC,OAAA,EAAS,qBAAA,CAAsB,OAAA,CAAQ,MAAA,GAAS,OAAA,CAAQ,KAAA,KACvD,4BAAA"}
@@ -1,76 +0,0 @@
1
- import { RemoteDomSerializableValue } from "@fluid-app/widget-runtime/worker";
2
-
3
- //#region ../core/src/remote-dom-widget-package.d.ts
4
- declare const REMOTE_DOM_WIDGET_MANIFEST_VERSION: 1;
5
- declare const REMOTE_DOM_WIDGET_RUNTIME: "remote-dom";
6
- type JsonPrimitive = string | number | boolean | null;
7
- type JsonValue = JsonPrimitive | readonly JsonValue[] | JsonObject;
8
- interface JsonObject {
9
- readonly [key: string]: JsonValue;
10
- }
11
- interface RemoteDomWidgetCapabilityDeclaration {
12
- readonly name: string;
13
- readonly version: string;
14
- }
15
- interface RemoteDomWidgetDefinition {
16
- readonly type: string;
17
- readonly displayName: string;
18
- readonly description: string;
19
- readonly icon: string;
20
- readonly category: string;
21
- readonly propertySchema: JsonObject;
22
- readonly defaultProps: JsonObject;
23
- readonly container: "inline" | "block" | "card" | "fullscreen";
24
- readonly resizable: boolean | "horizontal" | "vertical" | "both";
25
- readonly minSdkVersion: string;
26
- readonly capabilities: readonly RemoteDomWidgetCapabilityDeclaration[];
27
- }
28
- /**
29
- * Canonical package contract shared by the CLI, catalog APIs, and portal hosts.
30
- * Catalog producers resolve every artifact to its public URL before returning
31
- * this descriptor; consumers do not translate legacy manifest shapes.
32
- */
33
- interface RemoteDomWidgetPackageDescriptor {
34
- readonly manifestVersion: typeof REMOTE_DOM_WIDGET_MANIFEST_VERSION;
35
- readonly runtime: typeof REMOTE_DOM_WIDGET_RUNTIME;
36
- readonly packageId: string;
37
- readonly source: "company" | "droplet";
38
- readonly version: string;
39
- readonly workerEntryUrl: string;
40
- readonly cssUrls: readonly string[];
41
- readonly assetUrls: readonly string[];
42
- readonly widgets: readonly RemoteDomWidgetDefinition[];
43
- }
44
- //#endregion
45
- //#region src/widgets/remote/contract/portal-function.d.ts
46
- type PortalFunctionJsonValue = RemoteDomSerializableValue;
47
- type PortalFunctionJsonPrimitive = null | boolean | number | string;
48
- type IsAny<Value> = 0 extends 1 & Value ? true : false;
49
- type IsPortalFunctionJsonBranch<Value, Seen> = Value extends PortalFunctionJsonPrimitive ? true : Value extends readonly (infer Item)[] ? IsPortalFunctionJsonValue<Item, Seen> : Value extends ((...args: never[]) => unknown) ? false : Value extends object ? Extract<keyof Value, symbol> extends never ? false extends { [Key in keyof Value]-?: IsPortalFunctionJsonValue<Required<Value>[Key], Seen | Value> }[keyof Value] ? false : true : false : false;
50
- type IsPortalFunctionJsonValue<Value, Seen = never> = IsAny<Value> extends true ? false : [Value] extends [never] ? false : [Value] extends [Seen] ? true : false extends (Value extends unknown ? IsPortalFunctionJsonBranch<Value, Seen> : never) ? false : true;
51
- type IsExactlyVoid<Value> = [Value] extends [void] ? [void] extends [Value] ? true : false : false;
52
- type PortalFunctionContractErrors<Output, Input> = IsPortalFunctionJsonValue<Output> extends true ? IsExactlyVoid<Input> extends true ? [] : IsPortalFunctionJsonValue<Input> extends true ? [] : [error: "Portal function input must contain only JSON values"] : [error: "Portal function output must contain only JSON values"];
53
- type PortalFunctionErrorCode = "NOT_MOUNTED" | "NOT_DECLARED" | "INVALID_ARGUMENT" | "UNAVAILABLE" | "UNSUPPORTED" | "HOST_FAILURE" | "INVALID_RESPONSE";
54
- /** A stable, serializable failure reported by a Portal function call. */
55
- declare class PortalFunctionError extends Error {
56
- readonly code: PortalFunctionErrorCode;
57
- constructor(code: PortalFunctionErrorCode, message: string);
58
- }
59
- interface PortalFunctionDefinition {
60
- readonly capability: string;
61
- readonly version: string;
62
- readonly method: string;
63
- }
64
- type PortalFunction<Output, Input = void> = [Input] extends [void] ? () => Promise<Output> : (input: Input) => Promise<Output>;
65
- type AnyPortalFunction = (...args: never[]) => Promise<unknown>;
66
- type PortalFunctionHandler<Output, Input = void> = [Input] extends [void] ? () => Output | Promise<Output> : (input: Input) => Output | Promise<Output>;
67
- interface PortalFunctionImplementation {
68
- readonly definition: PortalFunctionDefinition;
69
- readonly portalFunction: AnyPortalFunction;
70
- readonly handler: (...args: never[]) => unknown | Promise<unknown>;
71
- }
72
- declare function definePortalFunction<Output, Input = void>(definition: PortalFunctionDefinition, ..._contractErrors: PortalFunctionContractErrors<Output, Input>): PortalFunction<Output, Input>;
73
- declare function implementPortalFunction<Output, Input = void>(portalFunction: PortalFunction<Output, Input>, handler: PortalFunctionHandler<NoInfer<Output>, NoInfer<Input>>): PortalFunctionImplementation;
74
- //#endregion
75
- export { PortalFunctionErrorCode as a, PortalFunctionJsonValue as c, JsonObject as d, JsonValue as f, PortalFunctionError as i, definePortalFunction as l, RemoteDomWidgetPackageDescriptor as m, PortalFunction as n, PortalFunctionHandler as o, RemoteDomWidgetDefinition as p, PortalFunctionDefinition as r, PortalFunctionImplementation as s, AnyPortalFunction as t, implementPortalFunction as u };
76
- //# sourceMappingURL=portal-function-CW3U6P5p.d.cts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal-function-CW3U6P5p.d.cts","names":[],"sources":["../../core/src/remote-dom-widget-package.ts","../src/widgets/remote/contract/portal-function.ts"],"mappings":";;;cAAa,kCAAA;AAAA,cACA,yBAAA;AAAA,KAED,aAAA;AAAA,KAEA,SAAA,GAAY,aAAA,YAAyB,SAAA,KAAc,UAAA;AAAA,UAE9C,UAAA;EAAA,UACS,GAAA,WAAA,SAAA;AAAA;AAAA,UAGT,oCAAA;EAAA,SACN,IAAA;EAAA,SACA,OAAA;AAAA;AAAA,UAGM,yBAAA;EAAA,SACN,IAAA;EAAA,SACA,WAAA;EAAA,SACA,WAAA;EAAA,SACA,IAAA;EAAA,SACA,QAAA;EAAA,SACA,cAAA,EAAgB,UAAA;EAAA,SAChB,YAAA,EAAc,UAAA;EAAA,SACd,SAAA;EAAA,SACA,SAAA;EAAA,SACA,aAAA;EAAA,SACA,YAAA,WAAuB,oCAAA;AAAA;;;;;;UAQjB,gCAAA;EAAA,SACN,eAAA,SAAwB,kCAAA;EAAA,SACxB,OAAA,SAAgB,yBAAA;EAAA,SAChB,SAAA;EAAA,SACA,MAAA;EAAA,SACA,OAAA;EAAA,SACA,cAAA;EAAA,SACA,OAAA;EAAA,SACA,SAAA;EAAA,SACA,OAAA,WAAkB,yBAAA;AAAA;;;KC9BjB,uBAAA,GAA0B,0BAAA;AAAA,KAEjC,2BAAA;AAAA,KAEA,KAAA,wBAA6B,KAAA;AAAA,KAE7B,0BAAA,gBACH,KAAA,SAAc,2BAAA,UAEV,KAAA,mCACE,yBAAA,CAA0B,IAAA,EAAM,IAAA,IAChC,KAAA,cAAkB,IAAA,iCAEhB,KAAA,kBACE,OAAA,OAAc,KAAA,wDAEI,KAAA,KAAU,yBAAA,CACtB,QAAA,CAAS,KAAA,EAAO,GAAA,GAChB,IAAA,GAAO,KAAA,UAEH,KAAA;AAAA,KAMjB,yBAAA,wBACH,KAAA,CAAM,KAAA,0BAED,KAAA,6BAEE,KAAA,WAAgB,IAAA,0BAGX,KAAA,mBACI,0BAAA,CAA2B,KAAA,EAAO,IAAA;AAAA,KAM/C,aAAA,WAAwB,KAAA,mCACT,KAAA;AAAA,KAKf,4BAAA,kBACH,yBAAA,CAA0B,MAAA,iBACtB,aAAA,CAAc,KAAA,sBAEZ,yBAAA,CAA0B,KAAA,uBAEvB,KAAA,4DACJ,KAAA;AAAA,KAEK,uBAAA;;cAqBC,mBAAA,SAA4B,KAAA;EAAA,SAC9B,IAAA,EAAM,uBAAA;EAEf,WAAA,CAAY,IAAA,EAAM,uBAAA,EAAyB,OAAA;AAAA;AAAA,UAO5B,wBAAA;EAAA,SACN,UAAA;EAAA,SACA,OAAA;EAAA,SACA,MAAA;AAAA;AAAA,KAGC,cAAA,0BAAwC,KAAA,yBAC1C,OAAA,CAAQ,MAAA,KACb,KAAA,EAAO,KAAA,KAAU,OAAA,CAAQ,MAAA;AAAA,KAElB,iBAAA,OAAwB,IAAA,cAAkB,OAAA;AAAA,KAE1C,qBAAA,0BAA+C,KAAA,yBACjD,MAAA,GAAS,OAAA,CAAQ,MAAA,KACtB,KAAA,EAAO,KAAA,KAAU,MAAA,GAAS,OAAA,CAAQ,MAAA;AAAA,UAEtB,4BAAA;EAAA,SACN,UAAA,EAAY,wBAAA;EAAA,SACZ,cAAA,EAAgB,iBAAA;EAAA,SAChB,OAAA,MAAa,IAAA,wBAA4B,OAAA;AAAA;AAAA,iBAGpC,oBAAA,sBAAA,CACd,UAAA,EAAY,wBAAA,KACT,eAAA,EAAiB,4BAAA,CAA6B,MAAA,EAAQ,KAAA,IACxD,cAAA,CAAe,MAAA,EAAQ,KAAA;AAAA,iBA2BV,uBAAA,sBAAA,CACd,cAAA,EAAgB,cAAA,CAAe,MAAA,EAAQ,KAAA,GACvC,OAAA,EAAS,qBAAA,CAAsB,OAAA,CAAQ,MAAA,GAAS,OAAA,CAAQ,KAAA,KACvD,4BAAA"}