@osdk/widget.api 3.3.0-rc.14 → 3.4.0-beta.2

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,30 +1,14 @@
1
1
  # @osdk/widget.api
2
2
 
3
- ## 3.3.0-rc.14
3
+ ## 3.4.0-beta.2
4
4
 
5
- ### Patch Changes
6
-
7
- - @osdk/api@2.6.0-rc.16
8
-
9
- ## 3.3.0-rc.13
10
-
11
- ### Patch Changes
12
-
13
- - Updated dependencies [5a9cd8f]
14
- - @osdk/api@2.6.0-rc.15
5
+ ### Minor Changes
15
6
 
16
- ## 3.3.0-rc.12
7
+ - 31909c1: Include isWidgetResizeMessage type guard
17
8
 
18
9
  ### Patch Changes
19
10
 
20
- - baf1e30: Introduce widget resize message for automatic heights
21
- - af4f3bf: Remove the following features for RC:
22
- - Property formatting
23
- - Branching
24
- - Constant RDPs
25
-
26
- - Updated dependencies [af4f3bf]
27
- - @osdk/api@2.6.0-rc.14
11
+ - @osdk/api@2.7.0-beta.2
28
12
 
29
13
  ## 3.3.0-beta.11
30
14
 
@@ -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 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 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,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}"]}
@@ -336,6 +336,7 @@ declare namespace WidgetMessage {
336
336
  }
337
337
  type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.Resize | WidgetMessage.EmitEvent<C>;
338
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;
339
340
  declare function isWidgetEmitEventMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C>;
340
341
  type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = {
341
342
  [T in WidgetMessage<C>["type"]]: (payload: Extract<WidgetMessage<C>, {
@@ -348,4 +349,4 @@ type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = {
348
349
  };
349
350
  declare function visitWidgetMessage<C extends WidgetConfig<C["parameters"]>>(message: WidgetMessage<C>, visitor: WidgetMessageVisitor<C>): void;
350
351
 
351
- 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 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 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,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"}
@@ -31,6 +31,7 @@ export declare namespace WidgetMessage {
31
31
  }
32
32
  export type WidgetMessage<C extends WidgetConfig<C["parameters"]>> = WidgetMessage.Ready | WidgetMessage.Resize | WidgetMessage.EmitEvent<C>;
33
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;
34
35
  export declare function isWidgetEmitEventMessage<C extends WidgetConfig<C["parameters"]>>(event: WidgetMessage<C>): event is WidgetMessage.EmitEvent<C>;
35
36
  type WidgetMessageVisitor<C extends WidgetConfig<C["parameters"]>> = { [T in WidgetMessage<C>["type"]] : (payload: Extract<WidgetMessage<C>, {
36
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;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,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-rc.14",
3
+ "version": "3.4.0-beta.2",
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-rc.16"
32
+ "@osdk/api": "2.7.0-beta.2"
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.tsconfig": "~0.5.0-beta.1",
39
- "@osdk/monorepo.api-extractor": "~0.5.0-beta.1"
38
+ "@osdk/monorepo.api-extractor": "~0.6.0-beta.1",
39
+ "@osdk/monorepo.tsconfig": "~0.6.0-beta.1"
40
40
  },
41
41
  "publishConfig": {
42
42
  "access": "public"