@deck.gl/react 8.8.17 → 8.8.18

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.
@@ -62,6 +62,7 @@ function positionChildrenUnderViews(_ref) {
62
62
  var viewState = viewManager.getViewState(viewId);
63
63
 
64
64
  if (viewport) {
65
+ viewState.padding = viewport.padding;
65
66
  var x = viewport.x,
66
67
  y = viewport.y,
67
68
  width = viewport.width,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/position-children-under-views.ts"],"names":["positionChildrenUnderViews","children","deck","ContextProvider","viewManager","views","length","defaultViewId","id","child","viewId","viewChildren","type","View","props","viewport","getViewport","viewState","getViewState","x","y","width","height","push","Object","keys","map","style","position","left","top","key","viewElement","createElement","contextValue","container","canvas","offsetParent","eventManager","onViewStateChange","params","_onViewStateChange","value"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {createElement} from 'react';\nimport {View} from '@deck.gl/core';\nimport {inheritsFrom} from './inherits-from';\nimport evaluateChildren, {isComponent} from './evaluate-children';\n\nimport type {Deck, DeckProps, Viewport} from '@deck.gl/core';\nimport type {EventManager} from 'mjolnir.js';\n\nexport type DeckGLContextValue = {\n viewport: Viewport;\n container: HTMLElement;\n eventManager: EventManager;\n onViewStateChange: DeckProps['onViewStateChange'];\n};\n\n// Iterate over views and reposition children associated with views\n// TODO - Can we supply a similar function for the non-React case?\nexport default function positionChildrenUnderViews({\n children,\n deck,\n ContextProvider\n}: {\n children: React.ReactNode[];\n deck?: Deck;\n ContextProvider?: React.Context<DeckGLContextValue>['Provider'];\n}): React.ReactNode[] {\n // @ts-expect-error accessing protected property\n const {viewManager} = deck || {};\n\n if (!viewManager || !viewManager.views.length) {\n return [];\n }\n\n const views: Record<\n string,\n {\n viewport: Viewport;\n children: React.ReactNode[];\n }\n > = {};\n const defaultViewId = (viewManager.views[0] as View).id;\n\n // Sort children by view id\n for (const child of children) {\n // Unless child is a View, position / render as part of the default view\n let viewId = defaultViewId;\n let viewChildren = child;\n\n if (isComponent(child) && inheritsFrom(child.type, View)) {\n viewId = child.props.id || defaultViewId;\n viewChildren = child.props.children;\n }\n\n const viewport = viewManager.getViewport(viewId) as Viewport;\n const viewState = viewManager.getViewState(viewId);\n\n // Drop (auto-hide) elements with viewId that are not matched by any current view\n if (viewport) {\n const {x, y, width, height} = viewport;\n // Resolve potentially relative dimensions using the deck.gl container size\n viewChildren = evaluateChildren(viewChildren, {\n x,\n y,\n width,\n height,\n viewport,\n viewState\n });\n\n if (!views[viewId]) {\n views[viewId] = {\n viewport,\n children: []\n };\n }\n views[viewId].children.push(viewChildren);\n }\n }\n\n // Render views\n return Object.keys(views).map(viewId => {\n const {viewport, children: viewChildren} = views[viewId];\n const {x, y, width, height} = viewport;\n const style = {\n position: 'absolute',\n left: x,\n top: y,\n width,\n height\n };\n\n const key = `view-${viewId}`;\n // If children is passed as an array, React will throw the \"each element in a list needs\n // a key\" warning. Sending each child as separate arguments removes this requirement.\n const viewElement = createElement('div', {key, id: key, style}, ...viewChildren);\n\n if (ContextProvider) {\n const contextValue: DeckGLContextValue = {\n viewport,\n // @ts-expect-error accessing protected property\n container: deck.canvas.offsetParent,\n // @ts-expect-error accessing protected property\n eventManager: deck.eventManager,\n onViewStateChange: params => {\n params.viewId = viewId;\n // @ts-expect-error accessing protected method\n deck._onViewStateChange(params);\n }\n };\n return createElement(ContextProvider, {key, value: contextValue}, viewElement);\n }\n\n return viewElement;\n });\n}\n"],"file":"position-children-under-views.js"}
1
+ {"version":3,"sources":["../../../src/utils/position-children-under-views.ts"],"names":["positionChildrenUnderViews","children","deck","ContextProvider","viewManager","views","length","defaultViewId","id","child","viewId","viewChildren","type","View","props","viewport","getViewport","viewState","getViewState","padding","x","y","width","height","push","Object","keys","map","style","position","left","top","key","viewElement","createElement","contextValue","container","canvas","offsetParent","eventManager","onViewStateChange","params","_onViewStateChange","value"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {createElement} from 'react';\nimport {View} from '@deck.gl/core';\nimport {inheritsFrom} from './inherits-from';\nimport evaluateChildren, {isComponent} from './evaluate-children';\n\nimport type {Deck, DeckProps, Viewport} from '@deck.gl/core';\nimport type {EventManager} from 'mjolnir.js';\n\nexport type DeckGLContextValue = {\n viewport: Viewport;\n container: HTMLElement;\n eventManager: EventManager;\n onViewStateChange: DeckProps['onViewStateChange'];\n};\n\n// Iterate over views and reposition children associated with views\n// TODO - Can we supply a similar function for the non-React case?\nexport default function positionChildrenUnderViews({\n children,\n deck,\n ContextProvider\n}: {\n children: React.ReactNode[];\n deck?: Deck;\n ContextProvider?: React.Context<DeckGLContextValue>['Provider'];\n}): React.ReactNode[] {\n // @ts-expect-error accessing protected property\n const {viewManager} = deck || {};\n\n if (!viewManager || !viewManager.views.length) {\n return [];\n }\n\n const views: Record<\n string,\n {\n viewport: Viewport;\n children: React.ReactNode[];\n }\n > = {};\n const defaultViewId = (viewManager.views[0] as View).id;\n\n // Sort children by view id\n for (const child of children) {\n // Unless child is a View, position / render as part of the default view\n let viewId = defaultViewId;\n let viewChildren = child;\n\n if (isComponent(child) && inheritsFrom(child.type, View)) {\n viewId = child.props.id || defaultViewId;\n viewChildren = child.props.children;\n }\n\n const viewport = viewManager.getViewport(viewId) as Viewport;\n const viewState = viewManager.getViewState(viewId);\n\n // Drop (auto-hide) elements with viewId that are not matched by any current view\n if (viewport) {\n viewState.padding = viewport.padding;\n const {x, y, width, height} = viewport;\n // Resolve potentially relative dimensions using the deck.gl container size\n viewChildren = evaluateChildren(viewChildren, {\n x,\n y,\n width,\n height,\n viewport,\n viewState\n });\n\n if (!views[viewId]) {\n views[viewId] = {\n viewport,\n children: []\n };\n }\n views[viewId].children.push(viewChildren);\n }\n }\n\n // Render views\n return Object.keys(views).map(viewId => {\n const {viewport, children: viewChildren} = views[viewId];\n const {x, y, width, height} = viewport;\n const style = {\n position: 'absolute',\n left: x,\n top: y,\n width,\n height\n };\n\n const key = `view-${viewId}`;\n // If children is passed as an array, React will throw the \"each element in a list needs\n // a key\" warning. Sending each child as separate arguments removes this requirement.\n const viewElement = createElement('div', {key, id: key, style}, ...viewChildren);\n\n if (ContextProvider) {\n const contextValue: DeckGLContextValue = {\n viewport,\n // @ts-expect-error accessing protected property\n container: deck.canvas.offsetParent,\n // @ts-expect-error accessing protected property\n eventManager: deck.eventManager,\n onViewStateChange: params => {\n params.viewId = viewId;\n // @ts-expect-error accessing protected method\n deck._onViewStateChange(params);\n }\n };\n return createElement(ContextProvider, {key, value: contextValue}, viewElement);\n }\n\n return viewElement;\n });\n}\n"],"file":"position-children-under-views.js"}
@@ -31,6 +31,7 @@ export default function positionChildrenUnderViews({
31
31
  const viewState = viewManager.getViewState(viewId);
32
32
 
33
33
  if (viewport) {
34
+ viewState.padding = viewport.padding;
34
35
  const {
35
36
  x,
36
37
  y,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/utils/position-children-under-views.ts"],"names":["createElement","View","inheritsFrom","evaluateChildren","isComponent","positionChildrenUnderViews","children","deck","ContextProvider","viewManager","views","length","defaultViewId","id","child","viewId","viewChildren","type","props","viewport","getViewport","viewState","getViewState","x","y","width","height","push","Object","keys","map","style","position","left","top","key","viewElement","contextValue","container","canvas","offsetParent","eventManager","onViewStateChange","params","_onViewStateChange","value"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {createElement} from 'react';\nimport {View} from '@deck.gl/core';\nimport {inheritsFrom} from './inherits-from';\nimport evaluateChildren, {isComponent} from './evaluate-children';\n\nimport type {Deck, DeckProps, Viewport} from '@deck.gl/core';\nimport type {EventManager} from 'mjolnir.js';\n\nexport type DeckGLContextValue = {\n viewport: Viewport;\n container: HTMLElement;\n eventManager: EventManager;\n onViewStateChange: DeckProps['onViewStateChange'];\n};\n\n// Iterate over views and reposition children associated with views\n// TODO - Can we supply a similar function for the non-React case?\nexport default function positionChildrenUnderViews({\n children,\n deck,\n ContextProvider\n}: {\n children: React.ReactNode[];\n deck?: Deck;\n ContextProvider?: React.Context<DeckGLContextValue>['Provider'];\n}): React.ReactNode[] {\n // @ts-expect-error accessing protected property\n const {viewManager} = deck || {};\n\n if (!viewManager || !viewManager.views.length) {\n return [];\n }\n\n const views: Record<\n string,\n {\n viewport: Viewport;\n children: React.ReactNode[];\n }\n > = {};\n const defaultViewId = (viewManager.views[0] as View).id;\n\n // Sort children by view id\n for (const child of children) {\n // Unless child is a View, position / render as part of the default view\n let viewId = defaultViewId;\n let viewChildren = child;\n\n if (isComponent(child) && inheritsFrom(child.type, View)) {\n viewId = child.props.id || defaultViewId;\n viewChildren = child.props.children;\n }\n\n const viewport = viewManager.getViewport(viewId) as Viewport;\n const viewState = viewManager.getViewState(viewId);\n\n // Drop (auto-hide) elements with viewId that are not matched by any current view\n if (viewport) {\n const {x, y, width, height} = viewport;\n // Resolve potentially relative dimensions using the deck.gl container size\n viewChildren = evaluateChildren(viewChildren, {\n x,\n y,\n width,\n height,\n viewport,\n viewState\n });\n\n if (!views[viewId]) {\n views[viewId] = {\n viewport,\n children: []\n };\n }\n views[viewId].children.push(viewChildren);\n }\n }\n\n // Render views\n return Object.keys(views).map(viewId => {\n const {viewport, children: viewChildren} = views[viewId];\n const {x, y, width, height} = viewport;\n const style = {\n position: 'absolute',\n left: x,\n top: y,\n width,\n height\n };\n\n const key = `view-${viewId}`;\n // If children is passed as an array, React will throw the \"each element in a list needs\n // a key\" warning. Sending each child as separate arguments removes this requirement.\n const viewElement = createElement('div', {key, id: key, style}, ...viewChildren);\n\n if (ContextProvider) {\n const contextValue: DeckGLContextValue = {\n viewport,\n // @ts-expect-error accessing protected property\n container: deck.canvas.offsetParent,\n // @ts-expect-error accessing protected property\n eventManager: deck.eventManager,\n onViewStateChange: params => {\n params.viewId = viewId;\n // @ts-expect-error accessing protected method\n deck._onViewStateChange(params);\n }\n };\n return createElement(ContextProvider, {key, value: contextValue}, viewElement);\n }\n\n return viewElement;\n });\n}\n"],"file":"position-children-under-views.js"}
1
+ {"version":3,"sources":["../../../src/utils/position-children-under-views.ts"],"names":["createElement","View","inheritsFrom","evaluateChildren","isComponent","positionChildrenUnderViews","children","deck","ContextProvider","viewManager","views","length","defaultViewId","id","child","viewId","viewChildren","type","props","viewport","getViewport","viewState","getViewState","padding","x","y","width","height","push","Object","keys","map","style","position","left","top","key","viewElement","contextValue","container","canvas","offsetParent","eventManager","onViewStateChange","params","_onViewStateChange","value"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {createElement} from 'react';\nimport {View} from '@deck.gl/core';\nimport {inheritsFrom} from './inherits-from';\nimport evaluateChildren, {isComponent} from './evaluate-children';\n\nimport type {Deck, DeckProps, Viewport} from '@deck.gl/core';\nimport type {EventManager} from 'mjolnir.js';\n\nexport type DeckGLContextValue = {\n viewport: Viewport;\n container: HTMLElement;\n eventManager: EventManager;\n onViewStateChange: DeckProps['onViewStateChange'];\n};\n\n// Iterate over views and reposition children associated with views\n// TODO - Can we supply a similar function for the non-React case?\nexport default function positionChildrenUnderViews({\n children,\n deck,\n ContextProvider\n}: {\n children: React.ReactNode[];\n deck?: Deck;\n ContextProvider?: React.Context<DeckGLContextValue>['Provider'];\n}): React.ReactNode[] {\n // @ts-expect-error accessing protected property\n const {viewManager} = deck || {};\n\n if (!viewManager || !viewManager.views.length) {\n return [];\n }\n\n const views: Record<\n string,\n {\n viewport: Viewport;\n children: React.ReactNode[];\n }\n > = {};\n const defaultViewId = (viewManager.views[0] as View).id;\n\n // Sort children by view id\n for (const child of children) {\n // Unless child is a View, position / render as part of the default view\n let viewId = defaultViewId;\n let viewChildren = child;\n\n if (isComponent(child) && inheritsFrom(child.type, View)) {\n viewId = child.props.id || defaultViewId;\n viewChildren = child.props.children;\n }\n\n const viewport = viewManager.getViewport(viewId) as Viewport;\n const viewState = viewManager.getViewState(viewId);\n\n // Drop (auto-hide) elements with viewId that are not matched by any current view\n if (viewport) {\n viewState.padding = viewport.padding;\n const {x, y, width, height} = viewport;\n // Resolve potentially relative dimensions using the deck.gl container size\n viewChildren = evaluateChildren(viewChildren, {\n x,\n y,\n width,\n height,\n viewport,\n viewState\n });\n\n if (!views[viewId]) {\n views[viewId] = {\n viewport,\n children: []\n };\n }\n views[viewId].children.push(viewChildren);\n }\n }\n\n // Render views\n return Object.keys(views).map(viewId => {\n const {viewport, children: viewChildren} = views[viewId];\n const {x, y, width, height} = viewport;\n const style = {\n position: 'absolute',\n left: x,\n top: y,\n width,\n height\n };\n\n const key = `view-${viewId}`;\n // If children is passed as an array, React will throw the \"each element in a list needs\n // a key\" warning. Sending each child as separate arguments removes this requirement.\n const viewElement = createElement('div', {key, id: key, style}, ...viewChildren);\n\n if (ContextProvider) {\n const contextValue: DeckGLContextValue = {\n viewport,\n // @ts-expect-error accessing protected property\n container: deck.canvas.offsetParent,\n // @ts-expect-error accessing protected property\n eventManager: deck.eventManager,\n onViewStateChange: params => {\n params.viewId = viewId;\n // @ts-expect-error accessing protected method\n deck._onViewStateChange(params);\n }\n };\n return createElement(ContextProvider, {key, value: contextValue}, viewElement);\n }\n\n return viewElement;\n });\n}\n"],"file":"position-children-under-views.js"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@deck.gl/react",
3
3
  "description": "React Components for deck.gl",
4
4
  "license": "MIT",
5
- "version": "8.8.17",
5
+ "version": "8.8.18",
6
6
  "publishConfig": {
7
7
  "access": "public"
8
8
  },
@@ -31,5 +31,5 @@
31
31
  "react": ">=16.3",
32
32
  "react-dom": ">=16.3"
33
33
  },
34
- "gitHead": "8848e8df4b71b1444f6cd7c71a0d495670b7275d"
34
+ "gitHead": "ed37086eecc53b1db4c7b35d66c243bb0df1cf47"
35
35
  }
@@ -57,6 +57,7 @@ export default function positionChildrenUnderViews({
57
57
 
58
58
  // Drop (auto-hide) elements with viewId that are not matched by any current view
59
59
  if (viewport) {
60
+ viewState.padding = viewport.padding;
60
61
  const {x, y, width, height} = viewport;
61
62
  // Resolve potentially relative dimensions using the deck.gl container size
62
63
  viewChildren = evaluateChildren(viewChildren, {
package/typed/deckgl.d.ts CHANGED
@@ -16,7 +16,7 @@ export declare type DeckGLRef = {
16
16
  pickObjects: Deck['pickObjects'];
17
17
  pickMultipleObjects: Deck['pickMultipleObjects'];
18
18
  };
19
- declare const DeckGL: React.ForwardRefExoticComponent<Omit<DeckProps, "canvas" | "width" | "height" | "gl" | "parent" | "_customRender"> & {
19
+ declare const DeckGL: React.ForwardRefExoticComponent<Omit<DeckProps, "width" | "height" | "canvas" | "gl" | "parent" | "_customRender"> & {
20
20
  Deck?: typeof Deck | undefined;
21
21
  width?: string | number | undefined;
22
22
  height?: string | number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"position-children-under-views.d.ts","sourceRoot":"","sources":["../../src/utils/position-children-under-views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;CACnD,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,QAAQ,EACR,IAAI,EACJ,eAAe,EAChB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,eAAe,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC;CACjE,GAAG,KAAK,CAAC,SAAS,EAAE,CAyFpB"}
1
+ {"version":3,"file":"position-children-under-views.d.ts","sourceRoot":"","sources":["../../src/utils/position-children-under-views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAC,MAAM,eAAe,CAAC;AAC7D,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,YAAY,CAAC;AAE7C,oBAAY,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;CACnD,CAAC;AAIF,MAAM,CAAC,OAAO,UAAU,0BAA0B,CAAC,EACjD,QAAQ,EACR,IAAI,EACJ,eAAe,EAChB,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,eAAe,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC;CACjE,GAAG,KAAK,CAAC,SAAS,EAAE,CA0FpB"}