@fluid-app/portal-sdk 0.1.469 → 0.1.470
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.
- package/authoring/portal-api/api.md +227 -0
- package/authoring/widget-api/api.md +6 -0
- package/authoring/widget-api/core/src/registries/property-schema-types.md +3769 -0
- package/authoring/widget-api/sdk/src/widgets/worker.md +3683 -0
- package/dist/{CarouselWidget-CnjImV4p.cjs → CarouselWidget-B9_YaBRd.cjs} +7 -3
- package/dist/{CarouselWidget-CnjImV4p.cjs.map → CarouselWidget-B9_YaBRd.cjs.map} +1 -1
- package/dist/{CarouselWidget-xVj0Nl_1.cjs → CarouselWidget-BEPWgTCi.cjs} +1 -1
- package/dist/{CarouselWidget-DcoqH7YF.mjs → CarouselWidget-u58GTUD2.mjs} +7 -3
- package/dist/{CarouselWidget-DcoqH7YF.mjs.map → CarouselWidget-u58GTUD2.mjs.map} +1 -1
- package/dist/{ChartWidget-DhH_Q0e9.cjs → ChartWidget-C6hsftO9.cjs} +1 -1
- package/dist/{ChartWidget-CFyWkbfl.mjs → ChartWidget-J_JLCsug.mjs} +9 -2
- package/dist/{ChartWidget-CFyWkbfl.mjs.map → ChartWidget-J_JLCsug.mjs.map} +1 -1
- package/dist/{ChartWidget-DF-KE_5t.cjs → ChartWidget-q9yjk-79.cjs} +9 -2
- package/dist/{ChartWidget-DF-KE_5t.cjs.map → ChartWidget-q9yjk-79.cjs.map} +1 -1
- package/dist/{FluidProvider-CHo5kVRs.cjs → FluidProvider-DD1pE8b6.cjs} +2 -2
- package/dist/{FluidProvider-CHo5kVRs.cjs.map → FluidProvider-DD1pE8b6.cjs.map} +1 -1
- package/dist/{FluidProvider-BUV8QY8z.mjs → FluidProvider-DoJ-j6H-.mjs} +2 -2
- package/dist/{FluidProvider-BUV8QY8z.mjs.map → FluidProvider-DoJ-j6H-.mjs.map} +1 -1
- package/dist/{ImageWidget-BK_f_L0T.mjs → ImageWidget-B2SfenSC.mjs} +2 -2
- package/dist/{ImageWidget-BK_f_L0T.mjs.map → ImageWidget-B2SfenSC.mjs.map} +1 -1
- package/dist/{ImageWidget-8WfRzR60.cjs → ImageWidget-BFyfpxLg.cjs} +1 -1
- package/dist/{ImageWidget-C9PCTFpZ.cjs → ImageWidget-C7U9t7a3.cjs} +2 -2
- package/dist/{ImageWidget-C9PCTFpZ.cjs.map → ImageWidget-C7U9t7a3.cjs.map} +1 -1
- package/dist/{LinkWidget-DRMzQhQz.cjs → LinkWidget-Cjzrpnzd.cjs} +4 -1
- package/dist/LinkWidget-Cjzrpnzd.cjs.map +1 -0
- package/dist/{LinkWidget-BqLCMzfY.cjs → LinkWidget-D3acO4R8.cjs} +1 -1
- package/dist/{LinkWidget-C3HRFueg.mjs → LinkWidget-Dlw2rzK6.mjs} +4 -1
- package/dist/LinkWidget-Dlw2rzK6.mjs.map +1 -0
- package/dist/{ListWidget-BiBx02S8.cjs → ListWidget-DWAtSTK6.cjs} +1 -1
- package/dist/{ListWidget-D7Ws1bMu.mjs → ListWidget-W5Tm4mWy.mjs} +7 -3
- package/dist/{ListWidget-D7Ws1bMu.mjs.map → ListWidget-W5Tm4mWy.mjs.map} +1 -1
- package/dist/{ListWidget-Ge83X2-d.cjs → ListWidget-YrcH5_Ez.cjs} +7 -3
- package/dist/{ListWidget-Ge83X2-d.cjs.map → ListWidget-YrcH5_Ez.cjs.map} +1 -1
- package/dist/{MessagingScreen-KYbF9U2N.cjs → MessagingScreen-B8Bcy-2V.cjs} +2 -2
- package/dist/{MessagingScreen-KYbF9U2N.cjs.map → MessagingScreen-B8Bcy-2V.cjs.map} +1 -1
- package/dist/{MessagingScreen-r40mXBJR.mjs → MessagingScreen-BBoYyLPj.mjs} +11 -11
- package/dist/{MessagingScreen-CC2FSdcv.cjs → MessagingScreen-BJ7NTczB.cjs} +11 -11
- package/dist/{MessagingScreen-B9LmuGG4.mjs → MessagingScreen-vaNfWYeM.mjs} +2 -2
- package/dist/{MessagingScreen-B9LmuGG4.mjs.map → MessagingScreen-vaNfWYeM.mjs.map} +1 -1
- package/dist/{NestedWidget-nWK5H1NG.cjs → NestedWidget-B5iyFylx.cjs} +6 -2
- package/dist/{NestedWidget-nWK5H1NG.cjs.map → NestedWidget-B5iyFylx.cjs.map} +1 -1
- package/dist/{NestedWidget-J8fPrBNA.mjs → NestedWidget-Bdll8TLQ.mjs} +6 -2
- package/dist/{NestedWidget-J8fPrBNA.mjs.map → NestedWidget-Bdll8TLQ.mjs.map} +1 -1
- package/dist/{NestedWidget-Bhltm3Db.cjs → NestedWidget-CBYJ_Qw7.cjs} +1 -1
- package/dist/{OrdersScreen-jhkTEp5y.cjs → OrdersScreen-BdtVN1wl.cjs} +11 -11
- package/dist/{OrdersScreen-BMslkiOK.mjs → OrdersScreen-ClB_Yor-.mjs} +2 -2
- package/dist/{OrdersScreen-BMslkiOK.mjs.map → OrdersScreen-ClB_Yor-.mjs.map} +1 -1
- package/dist/{OrdersScreen-CHt2QwB7.mjs → OrdersScreen-D2cymJtp.mjs} +11 -11
- package/dist/{OrdersScreen-DkRte66f.cjs → OrdersScreen-DnJa329w.cjs} +2 -2
- package/dist/{OrdersScreen-DkRte66f.cjs.map → OrdersScreen-DnJa329w.cjs.map} +1 -1
- package/dist/{ProfileScreen-Cw1hajhU.mjs → ProfileScreen-3ki8yPFt.mjs} +3 -3
- package/dist/{ProfileScreen-Cw1hajhU.mjs.map → ProfileScreen-3ki8yPFt.mjs.map} +1 -1
- package/dist/{ProfileScreen-BP5KEyW0.mjs → ProfileScreen-DY5leCsw.mjs} +12 -12
- package/dist/{ProfileScreen-Ba8B0_Bm.cjs → ProfileScreen-G3cmyl0b.cjs} +3 -3
- package/dist/{ProfileScreen-Ba8B0_Bm.cjs.map → ProfileScreen-G3cmyl0b.cjs.map} +1 -1
- package/dist/{ProfileScreen-BAbxbpdQ.cjs → ProfileScreen-ouDvR1F7.cjs} +12 -12
- package/dist/{ShopWidget-jQ-osGyn.mjs → ShopWidget-BH0Pcepg.mjs} +6 -2
- package/dist/{ShopWidget-jQ-osGyn.mjs.map → ShopWidget-BH0Pcepg.mjs.map} +1 -1
- package/dist/{ShopWidget-Dc3fH_tP.cjs → ShopWidget-RfF5ZRv2.cjs} +6 -2
- package/dist/{ShopWidget-Dc3fH_tP.cjs.map → ShopWidget-RfF5ZRv2.cjs.map} +1 -1
- package/dist/{ShopWidget-gc_BbyrJ.cjs → ShopWidget-ecp3h54J.cjs} +1 -1
- package/dist/{SubscriptionsScreen-BscwpAw8.cjs → SubscriptionsScreen-BiNmEFLP.cjs} +4 -4
- package/dist/{SubscriptionsScreen-BscwpAw8.cjs.map → SubscriptionsScreen-BiNmEFLP.cjs.map} +1 -1
- package/dist/{SubscriptionsScreen-D2uyJGIE.mjs → SubscriptionsScreen-NCU2I079.mjs} +4 -4
- package/dist/{SubscriptionsScreen-D2uyJGIE.mjs.map → SubscriptionsScreen-NCU2I079.mjs.map} +1 -1
- package/dist/{SubscriptionsScreen-Nfbt2u5r.cjs → SubscriptionsScreen-cuw6yk56.cjs} +12 -12
- package/dist/{SubscriptionsScreen-DU5AKlfR.mjs → SubscriptionsScreen-fv_xxA9j.mjs} +12 -12
- package/dist/{TableWidget-B4rGem0e.cjs → TableWidget-B8axD206.cjs} +1 -1
- package/dist/{TableWidget-LolaiYXA.mjs → TableWidget-C861T_Ac.mjs} +8 -1
- package/dist/{TableWidget-LolaiYXA.mjs.map → TableWidget-C861T_Ac.mjs.map} +1 -1
- package/dist/{TableWidget-Dfzx5jaI.cjs → TableWidget-CAgARK2Y.cjs} +8 -1
- package/dist/{TableWidget-Dfzx5jaI.cjs.map → TableWidget-CAgARK2Y.cjs.map} +1 -1
- package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts +87 -0
- package/dist/build-remote-widget-plugin-manifests-BDGS5t6k.d.mts.map +1 -0
- package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts +87 -0
- package/dist/build-remote-widget-plugin-manifests-BS2FjZRV.d.cts.map +1 -0
- package/dist/{build-widget-registry-BwiPIMcu.d.mts → build-widget-registry-ByUJk3-B.d.mts} +2 -2
- package/dist/{build-widget-registry-BwiPIMcu.d.mts.map → build-widget-registry-ByUJk3-B.d.mts.map} +1 -1
- package/dist/{build-widget-registry-BmU54VJb.cjs → build-widget-registry-CCmtBo8w.cjs} +17 -17
- package/dist/build-widget-registry-CCmtBo8w.cjs.map +1 -0
- package/dist/{build-widget-registry-DSE7CmVe.d.cts → build-widget-registry-Dsp9P8gq.d.cts} +2 -2
- package/dist/{build-widget-registry-DSE7CmVe.d.cts.map → build-widget-registry-Dsp9P8gq.d.cts.map} +1 -1
- package/dist/{build-widget-registry-Bimd6Pxq.mjs → build-widget-registry-DvCtfn9d.mjs} +17 -17
- package/dist/build-widget-registry-DvCtfn9d.mjs.map +1 -0
- package/dist/index.cjs +29 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +40 -13
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +40 -13
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +29 -24
- package/dist/index.mjs.map +1 -1
- package/dist/{link-type-schema-fields-DJBFdG7t.mjs → link-type-schema-fields-CncR6GKa.mjs} +3 -1
- package/dist/link-type-schema-fields-CncR6GKa.mjs.map +1 -0
- package/dist/{link-type-schema-fields-CQXXgSqn.cjs → link-type-schema-fields-DvSzjbwD.cjs} +3 -1
- package/dist/link-type-schema-fields-DvSzjbwD.cjs.map +1 -0
- package/dist/{build-remote-widget-plugin-manifests-CFmLot7p.d.cts → portal-function-DYWFgeRx.d.cts} +826 -796
- package/dist/portal-function-DYWFgeRx.d.cts.map +1 -0
- package/dist/{build-remote-widget-plugin-manifests-BsgLYqar.d.mts → portal-function-DgqXwF13.d.mts} +932 -902
- package/dist/portal-function-DgqXwF13.d.mts.map +1 -0
- package/dist/registries-DgzzKX8_.cjs.map +1 -1
- package/dist/registries-Dvq4M6wO.mjs.map +1 -1
- package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs → use-portal-card-add-3ds-flow-CRiGY6e0.cjs} +3 -3
- package/dist/{use-portal-card-add-3ds-flow-BE4p2zYl.cjs.map → use-portal-card-add-3ds-flow-CRiGY6e0.cjs.map} +1 -1
- package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs} +3 -3
- package/dist/{use-portal-card-add-3ds-flow-DzhPOYGn.mjs.map → use-portal-card-add-3ds-flow-DjeKiZvQ.mjs.map} +1 -1
- package/dist/utils/build-remote-widget-plugin-manifests.cjs +9 -9
- package/dist/utils/build-remote-widget-plugin-manifests.d.cts +1 -1
- package/dist/utils/build-remote-widget-plugin-manifests.d.mts +1 -1
- package/dist/utils/build-remote-widget-plugin-manifests.mjs +9 -9
- package/dist/utils/build-widget-registry.cjs +9 -9
- package/dist/utils/build-widget-registry.d.cts +1 -1
- package/dist/utils/build-widget-registry.d.mts +1 -1
- package/dist/utils/build-widget-registry.mjs +9 -9
- package/dist/widgets/worker.cjs +20 -1
- package/dist/widgets/worker.cjs.map +1 -1
- package/dist/widgets/worker.d.cts +67 -4
- package/dist/widgets/worker.d.cts.map +1 -1
- package/dist/widgets/worker.d.mts +67 -4
- package/dist/widgets/worker.d.mts.map +1 -1
- package/dist/widgets/worker.mjs +20 -1
- package/dist/widgets/worker.mjs.map +1 -1
- package/package.json +18 -17
- package/dist/LinkWidget-C3HRFueg.mjs.map +0 -1
- package/dist/LinkWidget-DRMzQhQz.cjs.map +0 -1
- package/dist/build-remote-widget-plugin-manifests-BsgLYqar.d.mts.map +0 -1
- package/dist/build-remote-widget-plugin-manifests-CFmLot7p.d.cts.map +0 -1
- package/dist/build-widget-registry-Bimd6Pxq.mjs.map +0 -1
- package/dist/build-widget-registry-BmU54VJb.cjs.map +0 -1
- package/dist/link-type-schema-fields-CQXXgSqn.cjs.map +0 -1
- package/dist/link-type-schema-fields-DJBFdG7t.mjs.map +0 -1
- package/dist/portal-function-85qUlAVz.d.mts +0 -76
- package/dist/portal-function-85qUlAVz.d.mts.map +0 -1
- package/dist/portal-function-CW3U6P5p.d.cts +0 -76
- package/dist/portal-function-CW3U6P5p.d.cts.map +0 -1
|
@@ -35,6 +35,7 @@ function getLinkTypeFields(options = {}) {
|
|
|
35
35
|
key: linkTypeKey,
|
|
36
36
|
label: "Link Type",
|
|
37
37
|
type: "buttonGroup",
|
|
38
|
+
description: "Choose whether this link opens a URL, screen, or share action",
|
|
38
39
|
options: [
|
|
39
40
|
{
|
|
40
41
|
label: "URL",
|
|
@@ -83,6 +84,7 @@ function getLinkTypeFields(options = {}) {
|
|
|
83
84
|
key: prefixed(keyPrefix, "shareSource"),
|
|
84
85
|
label: "Share Source",
|
|
85
86
|
type: "buttonGroup",
|
|
87
|
+
description: "Choose whether the share action uses a resource or URL",
|
|
86
88
|
options: [{
|
|
87
89
|
label: "Resource",
|
|
88
90
|
value: "resource"
|
|
@@ -123,4 +125,4 @@ function getLinkTypeFields(options = {}) {
|
|
|
123
125
|
//#endregion
|
|
124
126
|
export { getLinkTypeFields as t };
|
|
125
127
|
|
|
126
|
-
//# sourceMappingURL=link-type-schema-fields-
|
|
128
|
+
//# sourceMappingURL=link-type-schema-fields-CncR6GKa.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-type-schema-fields-CncR6GKa.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 description:\n \"Choose whether this link opens a URL, screen, or share action\",\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 description: \"Choose whether the share action uses a resource or URL\",\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,aACE;GACF,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,aAAa;GACb,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"}
|
|
@@ -35,6 +35,7 @@ function getLinkTypeFields(options = {}) {
|
|
|
35
35
|
key: linkTypeKey,
|
|
36
36
|
label: "Link Type",
|
|
37
37
|
type: "buttonGroup",
|
|
38
|
+
description: "Choose whether this link opens a URL, screen, or share action",
|
|
38
39
|
options: [
|
|
39
40
|
{
|
|
40
41
|
label: "URL",
|
|
@@ -83,6 +84,7 @@ function getLinkTypeFields(options = {}) {
|
|
|
83
84
|
key: prefixed(keyPrefix, "shareSource"),
|
|
84
85
|
label: "Share Source",
|
|
85
86
|
type: "buttonGroup",
|
|
87
|
+
description: "Choose whether the share action uses a resource or URL",
|
|
86
88
|
options: [{
|
|
87
89
|
label: "Resource",
|
|
88
90
|
value: "resource"
|
|
@@ -128,4 +130,4 @@ Object.defineProperty(exports, "getLinkTypeFields", {
|
|
|
128
130
|
}
|
|
129
131
|
});
|
|
130
132
|
|
|
131
|
-
//# sourceMappingURL=link-type-schema-fields-
|
|
133
|
+
//# sourceMappingURL=link-type-schema-fields-DvSzjbwD.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-type-schema-fields-DvSzjbwD.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 description:\n \"Choose whether this link opens a URL, screen, or share action\",\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 description: \"Choose whether the share action uses a resource or URL\",\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,aACE;GACF,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,aAAa;GACb,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"}
|