@osdk/widget.api 3.3.0-beta.9 → 3.4.0-beta.1

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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @osdk/widget.api
2
2
 
3
+ ## 3.3.0-beta.11
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [486ef7e]
8
+ - Updated dependencies [ea077c6]
9
+ - @osdk/api@2.6.0-beta.13
10
+
11
+ ## 3.3.0-beta.10
12
+
13
+ ### Patch Changes
14
+
15
+ - @osdk/api@2.6.0-beta.12
16
+
3
17
  ## 3.3.0-beta.9
4
18
 
5
19
  ### Patch Changes
@@ -53,6 +67,40 @@
53
67
 
54
68
  - 4d37e98: Improved support for object set parameters in widget.client-react
55
69
 
70
+ ## 3.2.5
71
+
72
+ ### Patch Changes
73
+
74
+ - a2df5ba: Introduce widget resize message for automatic heights
75
+
76
+ ## 3.2.4
77
+
78
+ ## 3.2.3
79
+
80
+ ### Patch Changes
81
+
82
+ - @osdk/api@2.5.2
83
+
84
+ ## 3.2.2
85
+
86
+ ### Patch Changes
87
+
88
+ - Updated dependencies [099b4d8]
89
+ - @osdk/api@2.5.1
90
+
91
+ ## 3.2.1
92
+
93
+ ### Patch Changes
94
+
95
+ - 77475e6: Improved support for object set parameters in widget.client-react
96
+
97
+ ## 3.2.0
98
+
99
+ ### Patch Changes
100
+
101
+ - 7901ae0: Simulated release
102
+ - a6f49e9: Allow specifying object sets in widget configs
103
+
56
104
  ## 3.2.0-beta.5
57
105
 
58
106
  ### Minor Changes
@@ -17,5 +17,5 @@
17
17
  export { defineConfig } from "./config.js";
18
18
  export { MANIFEST_FILE_LOCATION } from "./manifest.js";
19
19
  export { HostMessage, isHostParametersUpdatedMessage, visitHostMessage } from "./messages/hostMessages.js";
20
- export { isWidgetEmitEventMessage, isWidgetReadyMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
20
+ export { isWidgetEmitEventMessage, isWidgetReadyMessage, isWidgetResizeMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["defineConfig","MANIFEST_FILE_LOCATION","HostMessage","isHostParametersUpdatedMessage","visitHostMessage","isWidgetEmitEventMessage","isWidgetReadyMessage","visitWidgetMessage"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n AsyncParameterValueMap,\n EventId,\n EventParameterValueMap,\n ManifestParameterDefinition,\n ParameterConfig,\n ParameterDefinition,\n ParameterValueMap,\n WidgetConfig,\n} from \"./config.js\";\nexport { defineConfig } from \"./config.js\";\nexport type {\n OntologySdkInputSpecV1 as OntologySdkInputSpec,\n WidgetManifestConfigV1 as WidgetManifestConfig,\n WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec,\n WidgetSetInputSpecV1 as WidgetSetInputSpec,\n WidgetSetManifestV1 as WidgetSetManifest,\n} from \"./manifest.js\";\nexport { MANIFEST_FILE_LOCATION } from \"./manifest.js\";\nexport {\n HostMessage,\n isHostParametersUpdatedMessage,\n visitHostMessage,\n} from \"./messages/hostMessages.js\";\nexport {\n isWidgetEmitEventMessage,\n isWidgetReadyMessage,\n visitWidgetMessage,\n} from \"./messages/widgetMessages.js\";\nexport type { WidgetMessage } from \"./messages/widgetMessages.js\";\nexport type { ObjectType, ParameterValue } from \"./parameters.js\";\nexport type {\n AsyncFailedValue,\n AsyncLoadedValue,\n AsyncLoadingValue,\n AsyncNotStartedLoadingValue,\n AsyncReloadingValue,\n AsyncValue,\n} from \"./utils/asyncValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,YAAY,QAAQ,aAAa;AAQ1C,SAASC,sBAAsB,QAAQ,eAAe;AACtD,SACEC,WAAW,EACXC,8BAA8B,EAC9BC,gBAAgB,QACX,4BAA4B;AACnC,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,kBAAkB,QACb,8BAA8B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["defineConfig","MANIFEST_FILE_LOCATION","HostMessage","isHostParametersUpdatedMessage","visitHostMessage","isWidgetEmitEventMessage","isWidgetReadyMessage","isWidgetResizeMessage","visitWidgetMessage"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n AsyncParameterValueMap,\n EventId,\n EventParameterValueMap,\n ManifestParameterDefinition,\n ParameterConfig,\n ParameterDefinition,\n ParameterValueMap,\n WidgetConfig,\n} from \"./config.js\";\nexport { defineConfig } from \"./config.js\";\nexport type {\n OntologySdkInputSpecV1 as OntologySdkInputSpec,\n WidgetManifestConfigV1 as WidgetManifestConfig,\n WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec,\n WidgetSetInputSpecV1 as WidgetSetInputSpec,\n WidgetSetManifestV1 as WidgetSetManifest,\n} from \"./manifest.js\";\nexport { MANIFEST_FILE_LOCATION } from \"./manifest.js\";\nexport {\n HostMessage,\n isHostParametersUpdatedMessage,\n visitHostMessage,\n} from \"./messages/hostMessages.js\";\nexport {\n isWidgetEmitEventMessage,\n isWidgetReadyMessage,\n isWidgetResizeMessage,\n visitWidgetMessage,\n} from \"./messages/widgetMessages.js\";\nexport type { WidgetMessage } from \"./messages/widgetMessages.js\";\nexport type { ObjectType, ParameterValue } from \"./parameters.js\";\nexport type {\n AsyncFailedValue,\n AsyncLoadedValue,\n AsyncLoadingValue,\n AsyncNotStartedLoadingValue,\n AsyncReloadingValue,\n AsyncValue,\n} from \"./utils/asyncValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,YAAY,QAAQ,aAAa;AAQ1C,SAASC,sBAAsB,QAAQ,eAAe;AACtD,SACEC,WAAW,EACXC,8BAA8B,EAC9BC,gBAAgB,QACX,4BAA4B;AACnC,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,EACrBC,kBAAkB,QACb,8BAA8B","ignoreList":[]}
@@ -18,6 +18,9 @@ export let WidgetMessage;
18
18
  export function isWidgetReadyMessage(event) {
19
19
  return event.type === "widget.ready";
20
20
  }
21
+ export function isWidgetResizeMessage(event) {
22
+ return event.type === "widget.resize";
23
+ }
21
24
  export function isWidgetEmitEventMessage(event) {
22
25
  return event.type === "widget.emit-event";
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"widgetMessages.js","names":["WidgetMessage","isWidgetReadyMessage","event","type","isWidgetEmitEventMessage","visitWidgetMessage","message","visitor","payload","handler","_unknown"],"sources":["widgetMessages.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n EventId,\n EventParameterValueMap,\n WidgetConfig,\n} from \"../config.js\";\nimport type { HostMessage } from \"./hostMessages.js\";\n\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\n\ninterface WidgetBaseMessage<T extends string, P = unknown> {\n type: T;\n payload: P;\n}\n\ntype EmitEventIdMap<C extends WidgetConfig<C[\"parameters\"]>> = {\n [K in EventId<C>]: {\n eventId: K;\n parameterUpdates: EventParameterValueMap<C, K>;\n };\n};\n\nexport namespace WidgetMessage {\n export namespace Payload {\n export interface Ready {\n apiVersion: HostMessage.Version;\n }\n\n export type EmitEvent<C extends WidgetConfig<C[\"parameters\"]>> =\n EmitEventIdMap<C>[EventId<C>];\n }\n\n export type Payload<C extends WidgetConfig<C[\"parameters\"]>> =\n | Payload.Ready\n | Payload.EmitEvent<C>;\n\n /**\n * Emit when the widget is ready to start receiving messages from the host Foundry UI\n */\n export interface Ready\n extends WidgetBaseMessage<\"widget.ready\", Payload.Ready>\n {}\n\n /**\n * Event payload that the widget sends to the host Foundry UI\n */\n export interface EmitEvent<C extends WidgetConfig<C[\"parameters\"]>>\n extends WidgetBaseMessage<\"widget.emit-event\", Payload.EmitEvent<C>>\n {}\n}\n\nexport type WidgetMessage<C extends WidgetConfig<C[\"parameters\"]>> =\n | WidgetMessage.Ready\n | WidgetMessage.EmitEvent<C>;\n\nexport function isWidgetReadyMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Ready {\n return event.type === \"widget.ready\";\n}\n\nexport function isWidgetEmitEventMessage<\n C extends WidgetConfig<C[\"parameters\"]>,\n>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C> {\n return event.type === \"widget.emit-event\";\n}\n\ntype WidgetMessageVisitor<C extends WidgetConfig<C[\"parameters\"]>> =\n & {\n [T in WidgetMessage<C>[\"type\"]]: (\n payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never,\n ) => void;\n }\n & {\n _unknown: (type: string) => void;\n };\n\nexport function visitWidgetMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n message: WidgetMessage<C>,\n visitor: WidgetMessageVisitor<C>,\n): void {\n const { type, payload } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n (handler as any)(payload);\n } else {\n visitor._unknown(type);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAAA,WAciBA,aAAa;AAiC9B,OAAO,SAASC,oBAAoBA,CAClCC,KAAuB,EACO;EAC9B,OAAOA,KAAK,CAACC,IAAI,KAAK,cAAc;AACtC;AAEA,OAAO,SAASC,wBAAwBA,CAEtCF,KAAuB,EAAuC;EAC9D,OAAOA,KAAK,CAACC,IAAI,KAAK,mBAAmB;AAC3C;AAeA,OAAO,SAASE,kBAAkBA,CAChCC,OAAyB,EACzBC,OAAgC,EAC1B;EACN,MAAM;IAAEJ,IAAI;IAAEK;EAAQ,CAAC,GAAGF,OAAO;EACjC,MAAMG,OAAO,GAAGF,OAAO,CAACJ,IAAI,CAAC;EAC7B,IAAIM,OAAO,EAAE;IACX;IACCA,OAAO,CAASD,OAAO,CAAC;EAC3B,CAAC,MAAM;IACLD,OAAO,CAACG,QAAQ,CAACP,IAAI,CAAC;EACxB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"widgetMessages.js","names":["WidgetMessage","isWidgetReadyMessage","event","type","isWidgetResizeMessage","isWidgetEmitEventMessage","visitWidgetMessage","message","visitor","payload","handler","_unknown"],"sources":["widgetMessages.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n EventId,\n EventParameterValueMap,\n WidgetConfig,\n} from \"../config.js\";\nimport type { HostMessage } from \"./hostMessages.js\";\n\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\n\ninterface WidgetBaseMessage<T extends string, P = unknown> {\n type: T;\n payload: P;\n}\n\ntype EmitEventIdMap<C extends WidgetConfig<C[\"parameters\"]>> = {\n [K in EventId<C>]: {\n eventId: K;\n parameterUpdates: EventParameterValueMap<C, K>;\n };\n};\n\nexport namespace WidgetMessage {\n export namespace Payload {\n export interface Ready {\n apiVersion: HostMessage.Version;\n }\n\n export interface Resize {\n /** The width of the widget document body element according to border box sizing */\n width: number;\n /** The height of the widget document body element according to border box sizing */\n height: number;\n }\n\n export type EmitEvent<C extends WidgetConfig<C[\"parameters\"]>> =\n EmitEventIdMap<C>[EventId<C>];\n }\n\n export type Payload<C extends WidgetConfig<C[\"parameters\"]>> =\n | Payload.Ready\n | Payload.EmitEvent<C>;\n\n /**\n * Emit when the widget is ready to start receiving messages from the host Foundry UI\n */\n export interface Ready\n extends WidgetBaseMessage<\"widget.ready\", Payload.Ready>\n {}\n\n /**\n * Emit when the widget document body element resizes\n */\n export interface Resize\n extends WidgetBaseMessage<\"widget.resize\", Payload.Resize>\n {}\n\n /**\n * Event payload that the widget sends to the host Foundry UI\n */\n export interface EmitEvent<C extends WidgetConfig<C[\"parameters\"]>>\n extends WidgetBaseMessage<\"widget.emit-event\", Payload.EmitEvent<C>>\n {}\n}\n\nexport type WidgetMessage<C extends WidgetConfig<C[\"parameters\"]>> =\n | WidgetMessage.Ready\n | WidgetMessage.Resize\n | WidgetMessage.EmitEvent<C>;\n\nexport function isWidgetReadyMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Ready {\n return event.type === \"widget.ready\";\n}\n\nexport function isWidgetResizeMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Resize {\n return event.type === \"widget.resize\";\n}\n\nexport function isWidgetEmitEventMessage<\n C extends WidgetConfig<C[\"parameters\"]>,\n>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C> {\n return event.type === \"widget.emit-event\";\n}\n\ntype WidgetMessageVisitor<C extends WidgetConfig<C[\"parameters\"]>> =\n & {\n [T in WidgetMessage<C>[\"type\"]]: (\n payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never,\n ) => void;\n }\n & {\n _unknown: (type: string) => void;\n };\n\nexport function visitWidgetMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n message: WidgetMessage<C>,\n visitor: WidgetMessageVisitor<C>,\n): void {\n const { type, payload } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n (handler as any)(payload);\n } else {\n visitor._unknown(type);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAAA,WAciBA,aAAa;AAgD9B,OAAO,SAASC,oBAAoBA,CAClCC,KAAuB,EACO;EAC9B,OAAOA,KAAK,CAACC,IAAI,KAAK,cAAc;AACtC;AAEA,OAAO,SAASC,qBAAqBA,CACnCF,KAAuB,EACQ;EAC/B,OAAOA,KAAK,CAACC,IAAI,KAAK,eAAe;AACvC;AAEA,OAAO,SAASE,wBAAwBA,CAEtCH,KAAuB,EAAuC;EAC9D,OAAOA,KAAK,CAACC,IAAI,KAAK,mBAAmB;AAC3C;AAeA,OAAO,SAASG,kBAAkBA,CAChCC,OAAyB,EACzBC,OAAgC,EAC1B;EACN,MAAM;IAAEL,IAAI;IAAEM;EAAQ,CAAC,GAAGF,OAAO;EACjC,MAAMG,OAAO,GAAGF,OAAO,CAACL,IAAI,CAAC;EAC7B,IAAIO,OAAO,EAAE;IACX;IACCA,OAAO,CAASD,OAAO,CAAC;EAC3B,CAAC,MAAM;IACLD,OAAO,CAACG,QAAQ,CAACR,IAAI,CAAC;EACxB;AACF","ignoreList":[]}
@@ -33,6 +33,9 @@ function visitHostMessage(message, visitor) {
33
33
  function isWidgetReadyMessage(event) {
34
34
  return event.type === "widget.ready";
35
35
  }
36
+ function isWidgetResizeMessage(event) {
37
+ return event.type === "widget.resize";
38
+ }
36
39
  function isWidgetEmitEventMessage(event) {
37
40
  return event.type === "widget.emit-event";
38
41
  }
@@ -54,6 +57,7 @@ exports.defineConfig = defineConfig;
54
57
  exports.isHostParametersUpdatedMessage = isHostParametersUpdatedMessage;
55
58
  exports.isWidgetEmitEventMessage = isWidgetEmitEventMessage;
56
59
  exports.isWidgetReadyMessage = isWidgetReadyMessage;
60
+ exports.isWidgetResizeMessage = isWidgetResizeMessage;
57
61
  exports.visitHostMessage = visitHostMessage;
58
62
  exports.visitWidgetMessage = visitWidgetMessage;
59
63
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/config.ts","../../src/manifest.ts","../../src/messages/hostMessages.ts","../../src/messages/widgetMessages.ts"],"names":["HostMessage"],"mappings":";;;AAqCO,SAAS,aAAa,CAAG,EAAA;AAC9B,EAAO,OAAA,CAAA;AACT;;;ACvBO,IAAM,sBAAyB,GAAA;;;ACA3BA;AAAA,CACV,SAAU,YAAc,EAAA;AACvB,EAAgB,aAAa,OAAU,GAAA;AACzC,CAAG,EAAAA,mBAAA,KAAgBA,mBAAc,GAAA,EAAG,CAAA,CAAA;AAC7B,SAAS,+BAA+B,KAAO,EAAA;AACpD,EAAA,OAAO,MAAM,IAAS,KAAA,wBAAA;AACxB;AAIO,SAAS,gBAAA,CAAiB,SAAS,OAAS,EAAA;AACjD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA;AAAA,GACE,GAAA,OAAA;AACJ,EAAM,MAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAC5B,EAAA,IAAI,OAAS,EAAA;AAEX,IAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,GACV,MAAA;AACL,IAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAAA;AAEzB;;;ACrBO,SAAS,qBAAqB,KAAO,EAAA;AAC1C,EAAA,OAAO,MAAM,IAAS,KAAA,cAAA;AACxB;AACO,SAAS,yBAAyB,KAAO,EAAA;AAC9C,EAAA,OAAO,MAAM,IAAS,KAAA,mBAAA;AACxB;AACO,SAAS,kBAAA,CAAmB,SAAS,OAAS,EAAA;AACnD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA;AAAA,GACE,GAAA,OAAA;AACJ,EAAM,MAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAC5B,EAAA,IAAI,OAAS,EAAA;AAEX,IAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,GACV,MAAA;AACL,IAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAAA;AAEzB","file":"index.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Extracts the parameter ID strings as types from the given ParameterConfig.\n */\n\n/**\n * Extracts a map of parameter IDs to their async-wrapped value types from the given ParameterConfig.\n */\n\n/**\n * Extracts a map of parameter IDs to the raw parameter values from the given ParameterConfig.\n */\n\n/**\n * Extracts a list of strongly-typed parameter IDs from the given WidgetConfig for a given event ID.\n * If a parameter ID is referenced by an event but does not exist, its type will be never\n */\n\n/**\n * Extracts a map of event IDs to their raw parameter value types from the given WidgetConfig.\n */\n\nexport function defineConfig(c) {\n return c;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const MANIFEST_FILE_LOCATION = \".palantir/widgets.config.json\";","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// Interfaces and type guards for messages passed from the host Foundry UI to the widget\nexport let HostMessage;\n(function (_HostMessage) {\n const Version = _HostMessage.Version = \"1.0.0\";\n})(HostMessage || (HostMessage = {}));\nexport function isHostParametersUpdatedMessage(event) {\n return event.type === \"host.update-parameters\";\n}\n/**\n * Strongly typed visitor to handle every type of host message\n */\nexport function visitHostMessage(message, visitor) {\n const {\n type,\n payload\n } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n handler(payload);\n } else {\n visitor._unknown(type);\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\nexport let WidgetMessage;\nexport function isWidgetReadyMessage(event) {\n return event.type === \"widget.ready\";\n}\nexport function isWidgetEmitEventMessage(event) {\n return event.type === \"widget.emit-event\";\n}\nexport function visitWidgetMessage(message, visitor) {\n const {\n type,\n payload\n } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n handler(payload);\n } else {\n visitor._unknown(type);\n }\n}"]}
1
+ {"version":3,"sources":["../../src/config.ts","../../src/manifest.ts","../../src/messages/hostMessages.ts","../../src/messages/widgetMessages.ts"],"names":["HostMessage"],"mappings":";;;AAqCO,SAAS,aAAa,CAAG,EAAA;AAC9B,EAAO,OAAA,CAAA;AACT;;;ACvBO,IAAM,sBAAyB,GAAA;;;ACA3BA;AAAA,CACV,SAAU,YAAc,EAAA;AACvB,EAAgB,aAAa,OAAU,GAAA;AACzC,CAAG,EAAAA,mBAAA,KAAgBA,mBAAc,GAAA,EAAG,CAAA,CAAA;AAC7B,SAAS,+BAA+B,KAAO,EAAA;AACpD,EAAA,OAAO,MAAM,IAAS,KAAA,wBAAA;AACxB;AAIO,SAAS,gBAAA,CAAiB,SAAS,OAAS,EAAA;AACjD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA;AAAA,GACE,GAAA,OAAA;AACJ,EAAM,MAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAC5B,EAAA,IAAI,OAAS,EAAA;AAEX,IAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,GACV,MAAA;AACL,IAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAAA;AAEzB;;;ACrBO,SAAS,qBAAqB,KAAO,EAAA;AAC1C,EAAA,OAAO,MAAM,IAAS,KAAA,cAAA;AACxB;AACO,SAAS,sBAAsB,KAAO,EAAA;AAC3C,EAAA,OAAO,MAAM,IAAS,KAAA,eAAA;AACxB;AACO,SAAS,yBAAyB,KAAO,EAAA;AAC9C,EAAA,OAAO,MAAM,IAAS,KAAA,mBAAA;AACxB;AACO,SAAS,kBAAA,CAAmB,SAAS,OAAS,EAAA;AACnD,EAAM,MAAA;AAAA,IACJ,IAAA;AAAA,IACA;AAAA,GACE,GAAA,OAAA;AACJ,EAAM,MAAA,OAAA,GAAU,QAAQ,IAAI,CAAA;AAC5B,EAAA,IAAI,OAAS,EAAA;AAEX,IAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,GACV,MAAA;AACL,IAAA,OAAA,CAAQ,SAAS,IAAI,CAAA;AAAA;AAEzB","file":"index.cjs","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Extracts the parameter ID strings as types from the given ParameterConfig.\n */\n\n/**\n * Extracts a map of parameter IDs to their async-wrapped value types from the given ParameterConfig.\n */\n\n/**\n * Extracts a map of parameter IDs to the raw parameter values from the given ParameterConfig.\n */\n\n/**\n * Extracts a list of strongly-typed parameter IDs from the given WidgetConfig for a given event ID.\n * If a parameter ID is referenced by an event but does not exist, its type will be never\n */\n\n/**\n * Extracts a map of event IDs to their raw parameter value types from the given WidgetConfig.\n */\n\nexport function defineConfig(c) {\n return c;\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport const MANIFEST_FILE_LOCATION = \".palantir/widgets.config.json\";","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// Interfaces and type guards for messages passed from the host Foundry UI to the widget\nexport let HostMessage;\n(function (_HostMessage) {\n const Version = _HostMessage.Version = \"1.0.0\";\n})(HostMessage || (HostMessage = {}));\nexport function isHostParametersUpdatedMessage(event) {\n return event.type === \"host.update-parameters\";\n}\n/**\n * Strongly typed visitor to handle every type of host message\n */\nexport function visitHostMessage(message, visitor) {\n const {\n type,\n payload\n } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n handler(payload);\n } else {\n visitor._unknown(type);\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\nexport let WidgetMessage;\nexport function isWidgetReadyMessage(event) {\n return event.type === \"widget.ready\";\n}\nexport function isWidgetResizeMessage(event) {\n return event.type === \"widget.resize\";\n}\nexport function isWidgetEmitEventMessage(event) {\n return event.type === \"widget.emit-event\";\n}\nexport function visitWidgetMessage(message, visitor) {\n const {\n type,\n payload\n } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n handler(payload);\n } else {\n visitor._unknown(type);\n }\n}"]}
@@ -309,6 +309,12 @@ declare namespace WidgetMessage {
309
309
  interface Ready {
310
310
  apiVersion: HostMessage.Version;
311
311
  }
312
+ interface Resize {
313
+ /** The width of the widget document body element according to border box sizing */
314
+ width: number;
315
+ /** The height of the widget document body element according to border box sizing */
316
+ height: number;
317
+ }
312
318
  type EmitEvent<C extends WidgetConfig<C["parameters"]>> = EmitEventIdMap<C>[EventId<C>];
313
319
  }
314
320
  type Payload<C extends WidgetConfig<C["parameters"]>> = Payload.Ready | Payload.EmitEvent<C>;
@@ -317,14 +323,20 @@ declare namespace WidgetMessage {
317
323
  */
318
324
  interface Ready extends WidgetBaseMessage<"widget.ready", Payload.Ready> {
319
325
  }
326
+ /**
327
+ * Emit when the widget document body element resizes
328
+ */
329
+ interface Resize extends WidgetBaseMessage<"widget.resize", Payload.Resize> {
330
+ }
320
331
  /**
321
332
  * Event payload that the widget sends to the host Foundry UI
322
333
  */
323
334
  interface EmitEvent<C extends WidgetConfig<C["parameters"]>> extends WidgetBaseMessage<"widget.emit-event", Payload.EmitEvent<C>> {
324
335
  }
325
336
  }
326
- type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.EmitEvent<C>;
337
+ type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.Resize | WidgetMessage.EmitEvent<C>;
327
338
  declare function isWidgetReadyMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.Ready;
339
+ declare function isWidgetResizeMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.Resize;
328
340
  declare function isWidgetEmitEventMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C>;
329
341
  type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = {
330
342
  [T in WidgetMessage<C>["type"]]: (payload: Extract<WidgetMessage<C>, {
@@ -337,4 +349,4 @@ type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = {
337
349
  };
338
350
  declare function visitWidgetMessage<C extends WidgetConfig<C["parameters"]>>(message: WidgetMessage<C>, visitor: WidgetMessageVisitor<C>): void;
339
351
 
340
- export { type AsyncFailedValue, type AsyncLoadedValue, type AsyncLoadingValue, type AsyncNotStartedLoadingValue, type AsyncParameterValueMap, type AsyncReloadingValue, type AsyncValue, type EventId, type EventParameterValueMap, HostMessage, MANIFEST_FILE_LOCATION, type ManifestParameterDefinition, type ObjectType, type OntologySdkInputSpecV1 as OntologySdkInputSpec, type ParameterConfig, type ParameterDefinition, ParameterValue, type ParameterValueMap, type WidgetConfig, type WidgetManifestConfigV1 as WidgetManifestConfig, WidgetMessage, type WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec, type WidgetSetInputSpecV1 as WidgetSetInputSpec, type WidgetSetManifestV1 as WidgetSetManifest, defineConfig, isHostParametersUpdatedMessage, isWidgetEmitEventMessage, isWidgetReadyMessage, visitHostMessage, visitWidgetMessage };
352
+ export { type AsyncFailedValue, type AsyncLoadedValue, type AsyncLoadingValue, type AsyncNotStartedLoadingValue, type AsyncParameterValueMap, type AsyncReloadingValue, type AsyncValue, type EventId, type EventParameterValueMap, HostMessage, MANIFEST_FILE_LOCATION, type ManifestParameterDefinition, type ObjectType, type OntologySdkInputSpecV1 as OntologySdkInputSpec, type ParameterConfig, type ParameterDefinition, ParameterValue, type ParameterValueMap, type WidgetConfig, type WidgetManifestConfigV1 as WidgetManifestConfig, WidgetMessage, type WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec, type WidgetSetInputSpecV1 as WidgetSetInputSpec, type WidgetSetManifestV1 as WidgetSetManifest, defineConfig, isHostParametersUpdatedMessage, isWidgetEmitEventMessage, isWidgetReadyMessage, isWidgetResizeMessage, visitHostMessage, visitWidgetMessage };
@@ -17,5 +17,5 @@
17
17
  export { defineConfig } from "./config.js";
18
18
  export { MANIFEST_FILE_LOCATION } from "./manifest.js";
19
19
  export { HostMessage, isHostParametersUpdatedMessage, visitHostMessage } from "./messages/hostMessages.js";
20
- export { isWidgetEmitEventMessage, isWidgetReadyMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
20
+ export { isWidgetEmitEventMessage, isWidgetReadyMessage, isWidgetResizeMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
21
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["defineConfig","MANIFEST_FILE_LOCATION","HostMessage","isHostParametersUpdatedMessage","visitHostMessage","isWidgetEmitEventMessage","isWidgetReadyMessage","visitWidgetMessage"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n AsyncParameterValueMap,\n EventId,\n EventParameterValueMap,\n ManifestParameterDefinition,\n ParameterConfig,\n ParameterDefinition,\n ParameterValueMap,\n WidgetConfig,\n} from \"./config.js\";\nexport { defineConfig } from \"./config.js\";\nexport type {\n OntologySdkInputSpecV1 as OntologySdkInputSpec,\n WidgetManifestConfigV1 as WidgetManifestConfig,\n WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec,\n WidgetSetInputSpecV1 as WidgetSetInputSpec,\n WidgetSetManifestV1 as WidgetSetManifest,\n} from \"./manifest.js\";\nexport { MANIFEST_FILE_LOCATION } from \"./manifest.js\";\nexport {\n HostMessage,\n isHostParametersUpdatedMessage,\n visitHostMessage,\n} from \"./messages/hostMessages.js\";\nexport {\n isWidgetEmitEventMessage,\n isWidgetReadyMessage,\n visitWidgetMessage,\n} from \"./messages/widgetMessages.js\";\nexport type { WidgetMessage } from \"./messages/widgetMessages.js\";\nexport type { ObjectType, ParameterValue } from \"./parameters.js\";\nexport type {\n AsyncFailedValue,\n AsyncLoadedValue,\n AsyncLoadingValue,\n AsyncNotStartedLoadingValue,\n AsyncReloadingValue,\n AsyncValue,\n} from \"./utils/asyncValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,YAAY,QAAQ,aAAa;AAQ1C,SAASC,sBAAsB,QAAQ,eAAe;AACtD,SACEC,WAAW,EACXC,8BAA8B,EAC9BC,gBAAgB,QACX,4BAA4B;AACnC,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,kBAAkB,QACb,8BAA8B","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["defineConfig","MANIFEST_FILE_LOCATION","HostMessage","isHostParametersUpdatedMessage","visitHostMessage","isWidgetEmitEventMessage","isWidgetReadyMessage","isWidgetResizeMessage","visitWidgetMessage"],"sources":["index.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport type {\n AsyncParameterValueMap,\n EventId,\n EventParameterValueMap,\n ManifestParameterDefinition,\n ParameterConfig,\n ParameterDefinition,\n ParameterValueMap,\n WidgetConfig,\n} from \"./config.js\";\nexport { defineConfig } from \"./config.js\";\nexport type {\n OntologySdkInputSpecV1 as OntologySdkInputSpec,\n WidgetManifestConfigV1 as WidgetManifestConfig,\n WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec,\n WidgetSetInputSpecV1 as WidgetSetInputSpec,\n WidgetSetManifestV1 as WidgetSetManifest,\n} from \"./manifest.js\";\nexport { MANIFEST_FILE_LOCATION } from \"./manifest.js\";\nexport {\n HostMessage,\n isHostParametersUpdatedMessage,\n visitHostMessage,\n} from \"./messages/hostMessages.js\";\nexport {\n isWidgetEmitEventMessage,\n isWidgetReadyMessage,\n isWidgetResizeMessage,\n visitWidgetMessage,\n} from \"./messages/widgetMessages.js\";\nexport type { WidgetMessage } from \"./messages/widgetMessages.js\";\nexport type { ObjectType, ParameterValue } from \"./parameters.js\";\nexport type {\n AsyncFailedValue,\n AsyncLoadedValue,\n AsyncLoadingValue,\n AsyncNotStartedLoadingValue,\n AsyncReloadingValue,\n AsyncValue,\n} from \"./utils/asyncValue.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,YAAY,QAAQ,aAAa;AAQ1C,SAASC,sBAAsB,QAAQ,eAAe;AACtD,SACEC,WAAW,EACXC,8BAA8B,EAC9BC,gBAAgB,QACX,4BAA4B;AACnC,SACEC,wBAAwB,EACxBC,oBAAoB,EACpBC,qBAAqB,EACrBC,kBAAkB,QACb,8BAA8B","ignoreList":[]}
@@ -18,6 +18,9 @@ export let WidgetMessage;
18
18
  export function isWidgetReadyMessage(event) {
19
19
  return event.type === "widget.ready";
20
20
  }
21
+ export function isWidgetResizeMessage(event) {
22
+ return event.type === "widget.resize";
23
+ }
21
24
  export function isWidgetEmitEventMessage(event) {
22
25
  return event.type === "widget.emit-event";
23
26
  }
@@ -1 +1 @@
1
- {"version":3,"file":"widgetMessages.js","names":["WidgetMessage","isWidgetReadyMessage","event","type","isWidgetEmitEventMessage","visitWidgetMessage","message","visitor","payload","handler","_unknown"],"sources":["widgetMessages.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n EventId,\n EventParameterValueMap,\n WidgetConfig,\n} from \"../config.js\";\nimport type { HostMessage } from \"./hostMessages.js\";\n\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\n\ninterface WidgetBaseMessage<T extends string, P = unknown> {\n type: T;\n payload: P;\n}\n\ntype EmitEventIdMap<C extends WidgetConfig<C[\"parameters\"]>> = {\n [K in EventId<C>]: {\n eventId: K;\n parameterUpdates: EventParameterValueMap<C, K>;\n };\n};\n\nexport namespace WidgetMessage {\n export namespace Payload {\n export interface Ready {\n apiVersion: HostMessage.Version;\n }\n\n export type EmitEvent<C extends WidgetConfig<C[\"parameters\"]>> =\n EmitEventIdMap<C>[EventId<C>];\n }\n\n export type Payload<C extends WidgetConfig<C[\"parameters\"]>> =\n | Payload.Ready\n | Payload.EmitEvent<C>;\n\n /**\n * Emit when the widget is ready to start receiving messages from the host Foundry UI\n */\n export interface Ready\n extends WidgetBaseMessage<\"widget.ready\", Payload.Ready>\n {}\n\n /**\n * Event payload that the widget sends to the host Foundry UI\n */\n export interface EmitEvent<C extends WidgetConfig<C[\"parameters\"]>>\n extends WidgetBaseMessage<\"widget.emit-event\", Payload.EmitEvent<C>>\n {}\n}\n\nexport type WidgetMessage<C extends WidgetConfig<C[\"parameters\"]>> =\n | WidgetMessage.Ready\n | WidgetMessage.EmitEvent<C>;\n\nexport function isWidgetReadyMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Ready {\n return event.type === \"widget.ready\";\n}\n\nexport function isWidgetEmitEventMessage<\n C extends WidgetConfig<C[\"parameters\"]>,\n>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C> {\n return event.type === \"widget.emit-event\";\n}\n\ntype WidgetMessageVisitor<C extends WidgetConfig<C[\"parameters\"]>> =\n & {\n [T in WidgetMessage<C>[\"type\"]]: (\n payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never,\n ) => void;\n }\n & {\n _unknown: (type: string) => void;\n };\n\nexport function visitWidgetMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n message: WidgetMessage<C>,\n visitor: WidgetMessageVisitor<C>,\n): void {\n const { type, payload } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n (handler as any)(payload);\n } else {\n visitor._unknown(type);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAAA,WAciBA,aAAa;AAiC9B,OAAO,SAASC,oBAAoBA,CAClCC,KAAuB,EACO;EAC9B,OAAOA,KAAK,CAACC,IAAI,KAAK,cAAc;AACtC;AAEA,OAAO,SAASC,wBAAwBA,CAEtCF,KAAuB,EAAuC;EAC9D,OAAOA,KAAK,CAACC,IAAI,KAAK,mBAAmB;AAC3C;AAeA,OAAO,SAASE,kBAAkBA,CAChCC,OAAyB,EACzBC,OAAgC,EAC1B;EACN,MAAM;IAAEJ,IAAI;IAAEK;EAAQ,CAAC,GAAGF,OAAO;EACjC,MAAMG,OAAO,GAAGF,OAAO,CAACJ,IAAI,CAAC;EAC7B,IAAIM,OAAO,EAAE;IACX;IACCA,OAAO,CAASD,OAAO,CAAC;EAC3B,CAAC,MAAM;IACLD,OAAO,CAACG,QAAQ,CAACP,IAAI,CAAC;EACxB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"widgetMessages.js","names":["WidgetMessage","isWidgetReadyMessage","event","type","isWidgetResizeMessage","isWidgetEmitEventMessage","visitWidgetMessage","message","visitor","payload","handler","_unknown"],"sources":["widgetMessages.ts"],"sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n EventId,\n EventParameterValueMap,\n WidgetConfig,\n} from \"../config.js\";\nimport type { HostMessage } from \"./hostMessages.js\";\n\n// Interfaces and type guards for messages passed from the widget to the host Foundry UI\n\ninterface WidgetBaseMessage<T extends string, P = unknown> {\n type: T;\n payload: P;\n}\n\ntype EmitEventIdMap<C extends WidgetConfig<C[\"parameters\"]>> = {\n [K in EventId<C>]: {\n eventId: K;\n parameterUpdates: EventParameterValueMap<C, K>;\n };\n};\n\nexport namespace WidgetMessage {\n export namespace Payload {\n export interface Ready {\n apiVersion: HostMessage.Version;\n }\n\n export interface Resize {\n /** The width of the widget document body element according to border box sizing */\n width: number;\n /** The height of the widget document body element according to border box sizing */\n height: number;\n }\n\n export type EmitEvent<C extends WidgetConfig<C[\"parameters\"]>> =\n EmitEventIdMap<C>[EventId<C>];\n }\n\n export type Payload<C extends WidgetConfig<C[\"parameters\"]>> =\n | Payload.Ready\n | Payload.EmitEvent<C>;\n\n /**\n * Emit when the widget is ready to start receiving messages from the host Foundry UI\n */\n export interface Ready\n extends WidgetBaseMessage<\"widget.ready\", Payload.Ready>\n {}\n\n /**\n * Emit when the widget document body element resizes\n */\n export interface Resize\n extends WidgetBaseMessage<\"widget.resize\", Payload.Resize>\n {}\n\n /**\n * Event payload that the widget sends to the host Foundry UI\n */\n export interface EmitEvent<C extends WidgetConfig<C[\"parameters\"]>>\n extends WidgetBaseMessage<\"widget.emit-event\", Payload.EmitEvent<C>>\n {}\n}\n\nexport type WidgetMessage<C extends WidgetConfig<C[\"parameters\"]>> =\n | WidgetMessage.Ready\n | WidgetMessage.Resize\n | WidgetMessage.EmitEvent<C>;\n\nexport function isWidgetReadyMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Ready {\n return event.type === \"widget.ready\";\n}\n\nexport function isWidgetResizeMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n event: WidgetMessage<C>,\n): event is WidgetMessage.Resize {\n return event.type === \"widget.resize\";\n}\n\nexport function isWidgetEmitEventMessage<\n C extends WidgetConfig<C[\"parameters\"]>,\n>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C> {\n return event.type === \"widget.emit-event\";\n}\n\ntype WidgetMessageVisitor<C extends WidgetConfig<C[\"parameters\"]>> =\n & {\n [T in WidgetMessage<C>[\"type\"]]: (\n payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never,\n ) => void;\n }\n & {\n _unknown: (type: string) => void;\n };\n\nexport function visitWidgetMessage<C extends WidgetConfig<C[\"parameters\"]>>(\n message: WidgetMessage<C>,\n visitor: WidgetMessageVisitor<C>,\n): void {\n const { type, payload } = message;\n const handler = visitor[type];\n if (handler) {\n // Typescript creates an & of the parameters instead of a union\n (handler as any)(payload);\n } else {\n visitor._unknown(type);\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAAA,WAciBA,aAAa;AAgD9B,OAAO,SAASC,oBAAoBA,CAClCC,KAAuB,EACO;EAC9B,OAAOA,KAAK,CAACC,IAAI,KAAK,cAAc;AACtC;AAEA,OAAO,SAASC,qBAAqBA,CACnCF,KAAuB,EACQ;EAC/B,OAAOA,KAAK,CAACC,IAAI,KAAK,eAAe;AACvC;AAEA,OAAO,SAASE,wBAAwBA,CAEtCH,KAAuB,EAAuC;EAC9D,OAAOA,KAAK,CAACC,IAAI,KAAK,mBAAmB;AAC3C;AAeA,OAAO,SAASG,kBAAkBA,CAChCC,OAAyB,EACzBC,OAAgC,EAC1B;EACN,MAAM;IAAEL,IAAI;IAAEM;EAAQ,CAAC,GAAGF,OAAO;EACjC,MAAMG,OAAO,GAAGF,OAAO,CAACL,IAAI,CAAC;EAC7B,IAAIO,OAAO,EAAE;IACX;IACCA,OAAO,CAASD,OAAO,CAAC;EAC3B,CAAC,MAAM;IACLD,OAAO,CAACG,QAAQ,CAACR,IAAI,CAAC;EACxB;AACF","ignoreList":[]}
@@ -3,7 +3,7 @@ export { defineConfig } from "./config.js";
3
3
  export type { OntologySdkInputSpecV1 as OntologySdkInputSpec, WidgetManifestConfigV1 as WidgetManifestConfig, WidgetSetDiscoveredInputSpecV1 as WidgetSetDiscoveredInputSpec, WidgetSetInputSpecV1 as WidgetSetInputSpec, WidgetSetManifestV1 as WidgetSetManifest } from "./manifest.js";
4
4
  export { MANIFEST_FILE_LOCATION } from "./manifest.js";
5
5
  export { HostMessage, isHostParametersUpdatedMessage, visitHostMessage } from "./messages/hostMessages.js";
6
- export { isWidgetEmitEventMessage, isWidgetReadyMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
6
+ export { isWidgetEmitEventMessage, isWidgetReadyMessage, isWidgetResizeMessage, visitWidgetMessage } from "./messages/widgetMessages.js";
7
7
  export type { WidgetMessage } from "./messages/widgetMessages.js";
8
8
  export type { ObjectType, ParameterValue } from "./parameters.js";
9
9
  export type { AsyncFailedValue, AsyncLoadedValue, AsyncLoadingValue, AsyncNotStartedLoadingValue, AsyncReloadingValue, AsyncValue } from "./utils/asyncValue.js";
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,wBACA,SACA,wBACA,6BACA,iBACA,qBACA,mBACA,oBACK;AACP,SAAS,oBAAoB;AAC7B,cACE,0BAA0B,sBAC1B,0BAA0B,sBAC1B,kCAAkC,8BAClC,wBAAwB,oBACxB,uBAAuB,yBAClB;AACP,SAAS,8BAA8B;AACvC,SACE,aACA,gCACA,wBACK;AACP,SACE,0BACA,sBACA,0BACK;AACP,cAAc,qBAAqB;AACnC,cAAc,YAAY,sBAAsB;AAChD,cACE,kBACA,kBACA,mBACA,6BACA,qBACA,kBACK","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
1
+ {"mappings":"AAgBA,cACE,wBACA,SACA,wBACA,6BACA,iBACA,qBACA,mBACA,oBACK;AACP,SAAS,oBAAoB;AAC7B,cACE,0BAA0B,sBAC1B,0BAA0B,sBAC1B,kCAAkC,8BAClC,wBAAwB,oBACxB,uBAAuB,yBAClB;AACP,SAAS,8BAA8B;AACvC,SACE,aACA,gCACA,wBACK;AACP,SACE,0BACA,sBACA,uBACA,0BACK;AACP,cAAc,qBAAqB;AACnC,cAAc,YAAY,sBAAsB;AAChD,cACE,kBACA,kBACA,mBACA,6BACA,qBACA,kBACK","names":[],"sources":["../../src/index.ts"],"version":3,"file":"index.d.ts"}
@@ -16,14 +16,22 @@ export declare namespace WidgetMessage {
16
16
  interface Ready {
17
17
  apiVersion: HostMessage.Version;
18
18
  }
19
+ interface Resize {
20
+ /** The width of the widget document body element according to border box sizing */
21
+ width: number;
22
+ /** The height of the widget document body element according to border box sizing */
23
+ height: number;
24
+ }
19
25
  type EmitEvent<C extends WidgetConfig<C["parameters"]>> = EmitEventIdMap<C>[EventId<C>];
20
26
  }
21
27
  type Payload<C extends WidgetConfig<C["parameters"]>> = Payload.Ready | Payload.EmitEvent<C>;
22
28
  interface Ready extends WidgetBaseMessage<"widget.ready", Payload.Ready> {}
29
+ interface Resize extends WidgetBaseMessage<"widget.resize", Payload.Resize> {}
23
30
  interface EmitEvent<C extends WidgetConfig<C["parameters"]>> extends WidgetBaseMessage<"widget.emit-event", Payload.EmitEvent<C>> {}
24
31
  }
25
- export type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.EmitEvent<C>;
32
+ export type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.Resize | WidgetMessage.EmitEvent<C>;
26
33
  export declare function isWidgetReadyMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.Ready;
34
+ export declare function isWidgetResizeMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.Resize;
27
35
  export declare function isWidgetEmitEventMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C>;
28
36
  type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = { [T in WidgetMessage<C>["type"]] : (payload: Extract<WidgetMessage<C>, {
29
37
  type: T
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cACE,SACA,wBACA,oBACK,cAAe;AACtB,cAAc,mBAAmB,mBAAoB;UAI3C;CAAkB;CAAkB;EAAa;CACzD,MAAM;CACN,SAAS;AACV;KAEI,eAAe,UAAU,aAAa,EAAE,qBAC1C,KAAK,QAAQ,MAAK;CACjB,SAAS;CACT,kBAAkB,uBAAuB,GAAG;AAC7C;AAGH,yBAAiB;WACE;YACE,MAAM;GACrB,YAAY,YAAY;EACzB;OAEW,UAAU,UAAU,aAAa,EAAE,kBAC7C,eAAe,GAAG,QAAQ;;MAGlB,QAAQ,UAAU,aAAa,EAAE,kBACzC,QAAQ,QACR,QAAQ,UAAU;WAKL,cACP,kBAAkB,gBAAgB,QAAQ,OACpD,CAAE;WAKe,UAAU,UAAU,aAAa,EAAE,wBAC1C,kBAAkB,qBAAqB,QAAQ,UAAU,IACnE,CAAE;;AAGJ,YAAY,cAAc,UAAU,aAAa,EAAE,kBAC/C,cAAc,QACd,cAAc,UAAU;AAE5B,OAAO,iBAAS,qBAAqB,UAAU,aAAa,EAAE,gBAC5DA,OAAO,cAAc,KACpB,SAAS,cAAc;AAI1B,OAAO,iBAAS,yBACd,UAAU,aAAa,EAAE,gBACzBA,OAAO,cAAc,KAAK,SAAS,cAAc,UAAU;KAIxD,qBAAqB,UAAU,aAAa,EAAE,qBAE9C,KAAK,cAAc,GAAG,YACrBC,SAAS,QAAQ,cAAc,IAAI;CAAE,MAAM;AAAG,WAAU;CACtD,eAAe;AAChB,IAAG,uBAIN;CACA,WAAWC;AACZ;AAEH,OAAO,iBAAS,mBAAmB,UAAU,aAAa,EAAE,gBAC1DC,SAAS,cAAc,IACvBC,SAAS,qBAAqB","names":["event: WidgetMessage<C>","payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never","type: string","message: WidgetMessage<C>","visitor: WidgetMessageVisitor<C>"],"sources":["../../../src/messages/widgetMessages.ts"],"version":3,"file":"widgetMessages.d.ts"}
1
+ {"mappings":"AAgBA,cACE,SACA,wBACA,oBACK,cAAe;AACtB,cAAc,mBAAmB,mBAAoB;UAI3C;CAAkB;CAAkB;EAAa;CACzD,MAAM;CACN,SAAS;AACV;KAEI,eAAe,UAAU,aAAa,EAAE,qBAC1C,KAAK,QAAQ,MAAK;CACjB,SAAS;CACT,kBAAkB,uBAAuB,GAAG;AAC7C;AAGH,yBAAiB;WACE;YACE,MAAM;GACrB,YAAY,YAAY;EACzB;YAEgB,OAAO;;GAEtB;;GAEA;EACD;OAEW,UAAU,UAAU,aAAa,EAAE,kBAC7C,eAAe,GAAG,QAAQ;;MAGlB,QAAQ,UAAU,aAAa,EAAE,kBACzC,QAAQ,QACR,QAAQ,UAAU;WAKL,cACP,kBAAkB,gBAAgB,QAAQ,OACpD,CAAE;WAKe,eACP,kBAAkB,iBAAiB,QAAQ,QACrD,CAAE;WAKe,UAAU,UAAU,aAAa,EAAE,wBAC1C,kBAAkB,qBAAqB,QAAQ,UAAU,IACnE,CAAE;;AAGJ,YAAY,cAAc,UAAU,aAAa,EAAE,kBAC/C,cAAc,QACd,cAAc,SACd,cAAc,UAAU;AAE5B,OAAO,iBAAS,qBAAqB,UAAU,aAAa,EAAE,gBAC5DA,OAAO,cAAc,KACpB,SAAS,cAAc;AAI1B,OAAO,iBAAS,sBAAsB,UAAU,aAAa,EAAE,gBAC7DA,OAAO,cAAc,KACpB,SAAS,cAAc;AAI1B,OAAO,iBAAS,yBACd,UAAU,aAAa,EAAE,gBACzBA,OAAO,cAAc,KAAK,SAAS,cAAc,UAAU;KAIxD,qBAAqB,UAAU,aAAa,EAAE,qBAE9C,KAAK,cAAc,GAAG,YACrBC,SAAS,QAAQ,cAAc,IAAI;CAAE,MAAM;AAAG,WAAU;CACtD,eAAe;AAChB,IAAG,uBAIN;CACA,WAAWC;AACZ;AAEH,OAAO,iBAAS,mBAAmB,UAAU,aAAa,EAAE,gBAC1DC,SAAS,cAAc,IACvBC,SAAS,qBAAqB","names":["event: WidgetMessage<C>","payload: Extract<WidgetMessage<C>, { type: T }> extends {\n payload: infer P;\n } ? P\n : never","type: string","message: WidgetMessage<C>","visitor: WidgetMessageVisitor<C>"],"sources":["../../../src/messages/widgetMessages.ts"],"version":3,"file":"widgetMessages.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/widget.api",
3
- "version": "3.3.0-beta.9",
3
+ "version": "3.4.0-beta.1",
4
4
  "description": "API contract between Foundry UIs that can embed custom widgets and the custom widgets themselves",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -29,14 +29,14 @@
29
29
  }
30
30
  },
31
31
  "dependencies": {
32
- "@osdk/api": "2.6.0-beta.11"
32
+ "@osdk/api": "2.7.0-beta.1"
33
33
  },
34
34
  "devDependencies": {
35
35
  "ts-expect": "^1.3.0",
36
36
  "typescript": "~5.5.4",
37
37
  "vitest": "^3.2.4",
38
- "@osdk/monorepo.api-extractor": "~0.5.0-beta.1",
39
- "@osdk/monorepo.tsconfig": "~0.5.0-beta.1"
38
+ "@osdk/monorepo.tsconfig": "~0.6.0-beta.1",
39
+ "@osdk/monorepo.api-extractor": "~0.6.0-beta.1"
40
40
  },
41
41
  "publishConfig": {
42
42
  "access": "public"