@feltmaps/js-sdk 1.4.0-next.0 → 1.4.0-next.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/dist/client.cjs +1 -1
- package/dist/client.d.cts +16 -9
- package/dist/client.d.ts +16 -9
- package/dist/client.js +1 -1
- package/package.json +1 -1
package/dist/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var c=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var
|
|
1
|
+
"use strict";var c=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var I=Object.prototype.hasOwnProperty;var M=(e,r)=>{for(var o in r)c(e,o,{get:r[o],enumerable:!0})},G=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of f(r))!I.call(e,n)&&n!==o&&c(e,n,{get:()=>r[n],enumerable:!(s=V(r,n))||s.enumerable});return e};var b=e=>G(c({},"__esModule",{value:!0}),e);var x={};M(x,{Felt:()=>F});module.exports=b(x);function i(e,r){return({handler:o,options:s})=>{let n=new MessageChannel,a=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:s?{eventName:r,id:a,options:s}:{eventName:r,id:a}},"*",[n.port2]),n.port1.onmessage=l=>{o(l.data)},()=>{n.port1.onmessage=null,n.port1.close(),n.port2.close(),e.postMessage({type:"felt.removeListener",id:a},"*")}}}function t(e,r){return o=>{let s=new MessageChannel;return e.postMessage({type:r,params:o},"*",[s.port2]),new Promise((n,a)=>{s.port1.onmessage=l=>{l.data&&"__error__"in l.data?a(new Error(l.data.__error__)):n(l.data),s.port1.close(),s.port2.close()}})}}var u=e=>({getElement:t(e,"getElement"),getElementGeometry:t(e,"getElementGeometry"),getElements:t(e,"getElements"),setElementGroupVisibility:t(e,"setElementGroupVisibility"),getElementGroup:t(e,"getElementGroup"),getElementGroups:t(e,"getElementGroups"),onElementChange:i(e,"onElementChange"),onElementGroupChange:i(e,"onElementGroupChange")});var C=e=>({onPointerClick:i(e,"onPointerClick"),onPointerMove:i(e,"onPointerMove")});var h=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),onLayerChange:i(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),onLayerGroupChange:i(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:i(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),getRenderedFeatures:t(e,"getRenderedFeatures")});var L=e=>({onSelectionChange:i(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var v=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var E=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:i(e,"onViewportMove"),onViewportMoveEnd:i(e,"onViewportMoveEnd"),onMapIdle:i(e,"onMapIdle")});function P(e){return{iframe:null,...E(e),...v(e),...h(e),...u(e),...L(e),...C(e)}}var F={embed(e,r,o){let s={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},n=o?.origin??s.origin,a=new URL(`${n}/embed/map/${r}`),l={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},y={...s.uiControls,...o?.uiControls};for(let[m,d]of T(y))d!=null&&a.searchParams.set(l[m],d?"1":"0");if(o?.token&&a.searchParams.set("token",o.token),o?.initialViewport){let m=o.initialViewport;a.searchParams.set("loc",`${m.center.latitude},${m.center.longitude},${m.zoom}z`)}let g=e.tagName==="IFRAME",p=g?e:e.ownerDocument.createElement("iframe");return p.src=a.toString(),g||(p.style.width="100%",p.style.height="100%",p.style.border="none",p.style.margin="0",e.appendChild(p)),p.referrerPolicy="strict-origin-when-cross-origin",new Promise((m,d)=>{p.addEventListener("load",()=>{p.contentWindow==null?d(new Error("Failed to load Felt map")):m(p.contentWindow)},{once:!0})}).then(F.connect).then(m=>(Object.defineProperties(m,{iframe:{value:p,writable:!1,configurable:!1}}),m))},connect(e){let r=P(e);return new Promise((o,s)=>{let n=setTimeout(()=>{s(new Error("Failed to load Felt map")),clearInterval(l)},5e3),a=new MessageChannel,l=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[a.port2])},100);a.port1.onmessage=y=>{y.data===!0&&(clearInterval(l),clearTimeout(n),a.port1.close(),a.port2.close(),o(r))}})}},T=Object.entries;0&&(module.exports={Felt});
|
package/dist/client.d.cts
CHANGED
|
@@ -906,7 +906,7 @@ interface FeltController extends ViewportController, UiController, LayersControl
|
|
|
906
906
|
* @public
|
|
907
907
|
*/
|
|
908
908
|
interface FeltEmbedOptions extends zInfer<typeof FeltEmbedOptionsSchema> {
|
|
909
|
-
uiControls
|
|
909
|
+
uiControls?: UiControlsOptions;
|
|
910
910
|
initialViewport?: ViewportCenterZoom;
|
|
911
911
|
}
|
|
912
912
|
/**
|
|
@@ -917,7 +917,12 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
917
917
|
* @hidden
|
|
918
918
|
*/
|
|
919
919
|
origin: z.ZodOptional<z.ZodString>;
|
|
920
|
-
|
|
920
|
+
/**
|
|
921
|
+
* An authentication token to use for showing embeds that are configured to be
|
|
922
|
+
* private.
|
|
923
|
+
*/
|
|
924
|
+
token: z.ZodOptional<z.ZodString>;
|
|
925
|
+
uiControls: z.ZodOptional<z.ZodObject<{
|
|
921
926
|
showLegend: z.ZodOptional<z.ZodBoolean>;
|
|
922
927
|
cooperativeGestures: z.ZodOptional<z.ZodBoolean>;
|
|
923
928
|
fullScreenButton: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -938,7 +943,7 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
938
943
|
geolocation?: boolean | undefined;
|
|
939
944
|
zoomControls?: boolean | undefined;
|
|
940
945
|
scaleBar?: boolean | undefined;
|
|
941
|
-
}
|
|
946
|
+
}>>;
|
|
942
947
|
initialViewport: z.ZodOptional<z.ZodObject<{
|
|
943
948
|
center: z.ZodObject<{
|
|
944
949
|
latitude: z.ZodNumber;
|
|
@@ -965,15 +970,16 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
965
970
|
zoom: number;
|
|
966
971
|
}>>;
|
|
967
972
|
}, "strip", z.ZodTypeAny, {
|
|
968
|
-
|
|
973
|
+
origin?: string | undefined;
|
|
974
|
+
token?: string | undefined;
|
|
975
|
+
uiControls?: {
|
|
969
976
|
showLegend?: boolean | undefined;
|
|
970
977
|
cooperativeGestures?: boolean | undefined;
|
|
971
978
|
fullScreenButton?: boolean | undefined;
|
|
972
979
|
geolocation?: boolean | undefined;
|
|
973
980
|
zoomControls?: boolean | undefined;
|
|
974
981
|
scaleBar?: boolean | undefined;
|
|
975
|
-
};
|
|
976
|
-
origin?: string | undefined;
|
|
982
|
+
} | undefined;
|
|
977
983
|
initialViewport?: {
|
|
978
984
|
center: {
|
|
979
985
|
latitude: number;
|
|
@@ -982,15 +988,16 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
982
988
|
zoom: number;
|
|
983
989
|
} | undefined;
|
|
984
990
|
}, {
|
|
985
|
-
|
|
991
|
+
origin?: string | undefined;
|
|
992
|
+
token?: string | undefined;
|
|
993
|
+
uiControls?: {
|
|
986
994
|
showLegend?: boolean | undefined;
|
|
987
995
|
cooperativeGestures?: boolean | undefined;
|
|
988
996
|
fullScreenButton?: boolean | undefined;
|
|
989
997
|
geolocation?: boolean | undefined;
|
|
990
998
|
zoomControls?: boolean | undefined;
|
|
991
999
|
scaleBar?: boolean | undefined;
|
|
992
|
-
};
|
|
993
|
-
origin?: string | undefined;
|
|
1000
|
+
} | undefined;
|
|
994
1001
|
initialViewport?: {
|
|
995
1002
|
center: {
|
|
996
1003
|
latitude: number;
|
package/dist/client.d.ts
CHANGED
|
@@ -906,7 +906,7 @@ interface FeltController extends ViewportController, UiController, LayersControl
|
|
|
906
906
|
* @public
|
|
907
907
|
*/
|
|
908
908
|
interface FeltEmbedOptions extends zInfer<typeof FeltEmbedOptionsSchema> {
|
|
909
|
-
uiControls
|
|
909
|
+
uiControls?: UiControlsOptions;
|
|
910
910
|
initialViewport?: ViewportCenterZoom;
|
|
911
911
|
}
|
|
912
912
|
/**
|
|
@@ -917,7 +917,12 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
917
917
|
* @hidden
|
|
918
918
|
*/
|
|
919
919
|
origin: z.ZodOptional<z.ZodString>;
|
|
920
|
-
|
|
920
|
+
/**
|
|
921
|
+
* An authentication token to use for showing embeds that are configured to be
|
|
922
|
+
* private.
|
|
923
|
+
*/
|
|
924
|
+
token: z.ZodOptional<z.ZodString>;
|
|
925
|
+
uiControls: z.ZodOptional<z.ZodObject<{
|
|
921
926
|
showLegend: z.ZodOptional<z.ZodBoolean>;
|
|
922
927
|
cooperativeGestures: z.ZodOptional<z.ZodBoolean>;
|
|
923
928
|
fullScreenButton: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -938,7 +943,7 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
938
943
|
geolocation?: boolean | undefined;
|
|
939
944
|
zoomControls?: boolean | undefined;
|
|
940
945
|
scaleBar?: boolean | undefined;
|
|
941
|
-
}
|
|
946
|
+
}>>;
|
|
942
947
|
initialViewport: z.ZodOptional<z.ZodObject<{
|
|
943
948
|
center: z.ZodObject<{
|
|
944
949
|
latitude: z.ZodNumber;
|
|
@@ -965,15 +970,16 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
965
970
|
zoom: number;
|
|
966
971
|
}>>;
|
|
967
972
|
}, "strip", z.ZodTypeAny, {
|
|
968
|
-
|
|
973
|
+
origin?: string | undefined;
|
|
974
|
+
token?: string | undefined;
|
|
975
|
+
uiControls?: {
|
|
969
976
|
showLegend?: boolean | undefined;
|
|
970
977
|
cooperativeGestures?: boolean | undefined;
|
|
971
978
|
fullScreenButton?: boolean | undefined;
|
|
972
979
|
geolocation?: boolean | undefined;
|
|
973
980
|
zoomControls?: boolean | undefined;
|
|
974
981
|
scaleBar?: boolean | undefined;
|
|
975
|
-
};
|
|
976
|
-
origin?: string | undefined;
|
|
982
|
+
} | undefined;
|
|
977
983
|
initialViewport?: {
|
|
978
984
|
center: {
|
|
979
985
|
latitude: number;
|
|
@@ -982,15 +988,16 @@ declare const FeltEmbedOptionsSchema: z.ZodObject<{
|
|
|
982
988
|
zoom: number;
|
|
983
989
|
} | undefined;
|
|
984
990
|
}, {
|
|
985
|
-
|
|
991
|
+
origin?: string | undefined;
|
|
992
|
+
token?: string | undefined;
|
|
993
|
+
uiControls?: {
|
|
986
994
|
showLegend?: boolean | undefined;
|
|
987
995
|
cooperativeGestures?: boolean | undefined;
|
|
988
996
|
fullScreenButton?: boolean | undefined;
|
|
989
997
|
geolocation?: boolean | undefined;
|
|
990
998
|
zoomControls?: boolean | undefined;
|
|
991
999
|
scaleBar?: boolean | undefined;
|
|
992
|
-
};
|
|
993
|
-
origin?: string | undefined;
|
|
1000
|
+
} | undefined;
|
|
994
1001
|
initialViewport?: {
|
|
995
1002
|
center: {
|
|
996
1003
|
latitude: number;
|
package/dist/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function r(e,m){return({handler:
|
|
1
|
+
function r(e,m){return({handler:n,options:i})=>{let s=new MessageChannel,o=crypto.randomUUID();return e.postMessage({type:"felt.addListener",event:i?{eventName:m,id:o,options:i}:{eventName:m,id:o}},"*",[s.port2]),s.port1.onmessage=a=>{n(a.data)},()=>{s.port1.onmessage=null,s.port1.close(),s.port2.close(),e.postMessage({type:"felt.removeListener",id:o},"*")}}}function t(e,m){return n=>{let i=new MessageChannel;return e.postMessage({type:m,params:n},"*",[i.port2]),new Promise((s,o)=>{i.port1.onmessage=a=>{a.data&&"__error__"in a.data?o(new Error(a.data.__error__)):s(a.data),i.port1.close(),i.port2.close()}})}}var g=e=>({getElement:t(e,"getElement"),getElementGeometry:t(e,"getElementGeometry"),getElements:t(e,"getElements"),setElementGroupVisibility:t(e,"setElementGroupVisibility"),getElementGroup:t(e,"getElementGroup"),getElementGroups:t(e,"getElementGroups"),onElementChange:r(e,"onElementChange"),onElementGroupChange:r(e,"onElementGroupChange")});var u=e=>({onPointerClick:r(e,"onPointerClick"),onPointerMove:r(e,"onPointerMove")});var C=e=>({getLayer:t(e,"getLayer"),getLayers:t(e,"getLayers"),setLayerVisibility:t(e,"setLayerVisibility"),setLayerStyle:t(e,"setLayerStyle"),onLayerChange:r(e,"onLayerChange"),getLayerGroup:t(e,"getLayerGroup"),getLayerGroups:t(e,"getLayerGroups"),setLayerGroupVisibility:t(e,"setLayerGroupVisibility"),onLayerGroupChange:r(e,"onLayerGroupChange"),getLegendItem:t(e,"getLegendItem"),getLegendItems:t(e,"getLegendItems"),setLegendItemVisibility:t(e,"setLegendItemVisibility"),onLegendItemChange:r(e,"onLegendItemChange"),getLayerFilters:t(e,"getLayerFilters"),setLayerFilters:t(e,"setLayerFilters"),getRenderedFeatures:t(e,"getRenderedFeatures")});var h=e=>({onSelectionChange:r(e,"onSelectionChange"),getSelection:t(e,"getSelection"),selectFeature:t(e,"selectFeature"),clearSelection:t(e,"clearSelection")});var L=e=>({updateUiControls:t(e,"updateUiControls"),setOnMapInteractionsUi:t(e,"setOnMapInteractionsUi")});var v=e=>({getViewport:t(e,"getViewport"),setViewport:t(e,"setViewport"),fitViewportToBounds:t(e,"fitViewportToBounds"),onViewportMove:r(e,"onViewportMove"),onViewportMoveEnd:r(e,"onViewportMoveEnd"),onMapIdle:r(e,"onMapIdle")});function E(e){return{iframe:null,...v(e),...L(e),...C(e),...g(e),...h(e),...u(e)}}var P={embed(e,m,n){let i={uiControls:{showLegend:!0,cooperativeGestures:!0,fullScreenButton:!0,geolocation:!1,zoomControls:!0,scaleBar:!0},initialViewport:void 0,origin:"https://felt.com"},s=n?.origin??i.origin,o=new URL(`${s}/embed/map/${m}`),a={showLegend:"legend",cooperativeGestures:"cooperativeGestures",fullScreenButton:"link",geolocation:"geolocation",zoomControls:"zoomControls",scaleBar:"scaleBar"},y={...i.uiControls,...n?.uiControls};for(let[p,d]of F(y))d!=null&&o.searchParams.set(a[p],d?"1":"0");if(n?.token&&o.searchParams.set("token",n.token),n?.initialViewport){let p=n.initialViewport;o.searchParams.set("loc",`${p.center.latitude},${p.center.longitude},${p.zoom}z`)}let c=e.tagName==="IFRAME",l=c?e:e.ownerDocument.createElement("iframe");return l.src=o.toString(),c||(l.style.width="100%",l.style.height="100%",l.style.border="none",l.style.margin="0",e.appendChild(l)),l.referrerPolicy="strict-origin-when-cross-origin",new Promise((p,d)=>{l.addEventListener("load",()=>{l.contentWindow==null?d(new Error("Failed to load Felt map")):p(l.contentWindow)},{once:!0})}).then(P.connect).then(p=>(Object.defineProperties(p,{iframe:{value:l,writable:!1,configurable:!1}}),p))},connect(e){let m=E(e);return new Promise((n,i)=>{let s=setTimeout(()=>{i(new Error("Failed to load Felt map")),clearInterval(a)},5e3),o=new MessageChannel,a=setInterval(()=>{e.postMessage({type:"felt.ready"},"*",[o.port2])},100);o.port1.onmessage=y=>{y.data===!0&&(clearInterval(a),clearTimeout(s),o.port1.close(),o.port2.close(),n(m))}})}},F=Object.entries;export{P as Felt};
|