@deck.gl/react 9.0.0-beta.1 → 9.0.0-beta.11

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.
Files changed (65) hide show
  1. package/dist/deckgl.d.ts +24 -0
  2. package/dist/deckgl.d.ts.map +1 -0
  3. package/dist/deckgl.js +194 -0
  4. package/dist/index.cjs +382 -0
  5. package/dist/index.cjs.map +7 -0
  6. package/dist/index.d.ts +5 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +21 -0
  9. package/dist/utils/evaluate-children.js +34 -0
  10. package/dist/utils/extract-jsx-layers.js +84 -0
  11. package/dist/utils/extract-styles.js +32 -0
  12. package/dist/utils/inherits-from.js +10 -0
  13. package/{typed → dist}/utils/position-children-under-views.d.ts +3 -2
  14. package/dist/utils/position-children-under-views.d.ts.map +1 -0
  15. package/dist/utils/position-children-under-views.js +80 -0
  16. package/dist/{esm/utils → utils}/use-isomorphic-layout-effect.js +2 -1
  17. package/package.json +23 -14
  18. package/src/deckgl.ts +33 -31
  19. package/src/utils/position-children-under-views.ts +3 -2
  20. package/dist/es5/deckgl.js +0 -212
  21. package/dist/es5/deckgl.js.map +0 -1
  22. package/dist/es5/index.js +0 -22
  23. package/dist/es5/index.js.map +0 -1
  24. package/dist/es5/utils/evaluate-children.js +0 -59
  25. package/dist/es5/utils/evaluate-children.js.map +0 -1
  26. package/dist/es5/utils/extract-jsx-layers.js +0 -109
  27. package/dist/es5/utils/extract-jsx-layers.js.map +0 -1
  28. package/dist/es5/utils/extract-styles.js +0 -43
  29. package/dist/es5/utils/extract-styles.js.map +0 -1
  30. package/dist/es5/utils/inherits-from.js +0 -19
  31. package/dist/es5/utils/inherits-from.js.map +0 -1
  32. package/dist/es5/utils/position-children-under-views.js +0 -138
  33. package/dist/es5/utils/position-children-under-views.js.map +0 -1
  34. package/dist/es5/utils/use-isomorphic-layout-effect.js +0 -13
  35. package/dist/es5/utils/use-isomorphic-layout-effect.js.map +0 -1
  36. package/dist/esm/deckgl.js +0 -173
  37. package/dist/esm/deckgl.js.map +0 -1
  38. package/dist/esm/index.js +0 -3
  39. package/dist/esm/index.js.map +0 -1
  40. package/dist/esm/utils/evaluate-children.js +0 -42
  41. package/dist/esm/utils/evaluate-children.js.map +0 -1
  42. package/dist/esm/utils/extract-jsx-layers.js +0 -89
  43. package/dist/esm/utils/extract-jsx-layers.js.map +0 -1
  44. package/dist/esm/utils/extract-styles.js +0 -37
  45. package/dist/esm/utils/extract-styles.js.map +0 -1
  46. package/dist/esm/utils/inherits-from.js +0 -12
  47. package/dist/esm/utils/inherits-from.js.map +0 -1
  48. package/dist/esm/utils/position-children-under-views.js +0 -106
  49. package/dist/esm/utils/position-children-under-views.js.map +0 -1
  50. package/dist/esm/utils/use-isomorphic-layout-effect.js.map +0 -1
  51. package/typed/deckgl.d.ts +0 -28
  52. package/typed/deckgl.d.ts.map +0 -1
  53. package/typed/index.d.ts +0 -5
  54. package/typed/index.d.ts.map +0 -1
  55. package/typed/utils/position-children-under-views.d.ts.map +0 -1
  56. /package/{typed → dist}/utils/evaluate-children.d.ts +0 -0
  57. /package/{typed → dist}/utils/evaluate-children.d.ts.map +0 -0
  58. /package/{typed → dist}/utils/extract-jsx-layers.d.ts +0 -0
  59. /package/{typed → dist}/utils/extract-jsx-layers.d.ts.map +0 -0
  60. /package/{typed → dist}/utils/extract-styles.d.ts +0 -0
  61. /package/{typed → dist}/utils/extract-styles.d.ts.map +0 -0
  62. /package/{typed → dist}/utils/inherits-from.d.ts +0 -0
  63. /package/{typed → dist}/utils/inherits-from.d.ts.map +0 -0
  64. /package/{typed → dist}/utils/use-isomorphic-layout-effect.d.ts +0 -0
  65. /package/{typed → dist}/utils/use-isomorphic-layout-effect.d.ts.map +0 -0
@@ -1,106 +0,0 @@
1
- import { createElement } from 'react';
2
- import { View } from '@deck.gl/core';
3
- import { inheritsFrom } from './inherits-from';
4
- import evaluateChildren, { isComponent } from './evaluate-children';
5
- export default function positionChildrenUnderViews({
6
- children,
7
- deck,
8
- ContextProvider
9
- }) {
10
- const {
11
- viewManager
12
- } = deck || {};
13
-
14
- if (!viewManager || !viewManager.views.length) {
15
- return [];
16
- }
17
-
18
- const views = {};
19
- const defaultViewId = viewManager.views[0].id;
20
-
21
- for (const child of children) {
22
- let viewId = defaultViewId;
23
- let viewChildren = child;
24
-
25
- if (isComponent(child) && inheritsFrom(child.type, View)) {
26
- viewId = child.props.id || defaultViewId;
27
- viewChildren = child.props.children;
28
- }
29
-
30
- const viewport = viewManager.getViewport(viewId);
31
- const viewState = viewManager.getViewState(viewId);
32
-
33
- if (viewport) {
34
- viewState.padding = viewport.padding;
35
- const {
36
- x,
37
- y,
38
- width,
39
- height
40
- } = viewport;
41
- viewChildren = evaluateChildren(viewChildren, {
42
- x,
43
- y,
44
- width,
45
- height,
46
- viewport,
47
- viewState
48
- });
49
-
50
- if (!views[viewId]) {
51
- views[viewId] = {
52
- viewport,
53
- children: []
54
- };
55
- }
56
-
57
- views[viewId].children.push(viewChildren);
58
- }
59
- }
60
-
61
- return Object.keys(views).map(viewId => {
62
- const {
63
- viewport,
64
- children: viewChildren
65
- } = views[viewId];
66
- const {
67
- x,
68
- y,
69
- width,
70
- height
71
- } = viewport;
72
- const style = {
73
- position: 'absolute',
74
- left: x,
75
- top: y,
76
- width,
77
- height
78
- };
79
- const key = `view-${viewId}`;
80
- const viewElement = createElement('div', {
81
- key,
82
- id: key,
83
- style
84
- }, ...viewChildren);
85
-
86
- if (ContextProvider) {
87
- const contextValue = {
88
- viewport,
89
- container: deck.canvas.offsetParent,
90
- eventManager: deck.eventManager,
91
- onViewStateChange: params => {
92
- params.viewId = viewId;
93
-
94
- deck._onViewStateChange(params);
95
- }
96
- };
97
- return createElement(ContextProvider, {
98
- key,
99
- value: contextValue
100
- }, viewElement);
101
- }
102
-
103
- return viewElement;
104
- });
105
- }
106
- //# sourceMappingURL=position-children-under-views.js.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/use-isomorphic-layout-effect.ts"],"names":["useEffect","useLayoutEffect","useIsomorphicLayoutEffect","window"],"mappings":"AAEA,SAAQA,SAAR,EAAmBC,eAAnB,QAAyC,OAAzC;AAEA,MAAMC,yBAAyB,GAAG,OAAOC,MAAP,KAAkB,WAAlB,GAAgCF,eAAhC,GAAkDD,SAApF;AAEA,eAAeE,yBAAf","sourcesContent":["// From https://github.com/streamich/react-use/blob/master/src/useIsomorphicLayoutEffect.ts\n// useLayoutEffect but does not trigger warning in server-side rendering\nimport {useEffect, useLayoutEffect} from 'react';\n\nconst useIsomorphicLayoutEffect = typeof window !== 'undefined' ? useLayoutEffect : useEffect;\n\nexport default useIsomorphicLayoutEffect;\n"],"file":"use-isomorphic-layout-effect.js"}
package/typed/deckgl.d.ts DELETED
@@ -1,28 +0,0 @@
1
- import * as React from 'react';
2
- import { Deck } from '@deck.gl/core';
3
- import { DeckGLRenderCallback } from './utils/extract-jsx-layers';
4
- import type { DeckGLContextValue } from './utils/position-children-under-views';
5
- import type { DeckProps } from '@deck.gl/core';
6
- /** DeckGL React component props */
7
- export type DeckGLProps = Omit<DeckProps, 'width' | 'height' | 'gl' | 'parent' | 'canvas' | '_customRender'> & {
8
- Deck?: typeof Deck;
9
- width?: string | number;
10
- height?: string | number;
11
- children?: React.ReactNode | DeckGLRenderCallback;
12
- ContextProvider?: React.Context<DeckGLContextValue>['Provider'];
13
- };
14
- export type DeckGLRef = {
15
- deck?: Deck;
16
- pickObject: Deck['pickObject'];
17
- pickObjects: Deck['pickObjects'];
18
- pickMultipleObjects: Deck['pickMultipleObjects'];
19
- };
20
- declare const DeckGL: React.ForwardRefExoticComponent<Omit<DeckProps, "canvas" | "width" | "height" | "gl" | "parent" | "_customRender"> & {
21
- Deck?: typeof Deck | undefined;
22
- width?: string | number | undefined;
23
- height?: string | number | undefined;
24
- children?: React.ReactNode | DeckGLRenderCallback;
25
- ContextProvider?: React.Provider<DeckGLContextValue> | undefined;
26
- } & React.RefAttributes<DeckGLRef>>;
27
- export default DeckGL;
28
- //# sourceMappingURL=deckgl.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deckgl.d.ts","sourceRoot":"","sources":["../src/deckgl.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AAGnC,OAAyB,EAAC,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAIlF,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,OAAO,KAAK,EAAC,SAAS,EAAW,MAAM,eAAe,CAAC;AAevD,mCAAmC;AACnC,MAAM,MAAM,WAAW,GAAG,IAAI,CAC5B,SAAS,EACT,OAAO,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,CAClE,GAAG;IACF,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAClD,eAAe,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IAC/B,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;CAClD,CAAC;AAqDF,QAAA,MAAM,MAAM;;;;eA9DC,MAAM,SAAS,GAAG,oBAAoB;;mCAwNjD,CAAC;AAIH,eAAe,MAAM,CAAC"}
package/typed/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- export { default as DeckGL } from './deckgl';
2
- export { default } from './deckgl';
3
- export type { DeckGLContextValue } from './utils/position-children-under-views';
4
- export type { DeckGLRef, DeckGLProps } from './deckgl';
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,UAAU,CAAC;AAGjC,YAAY,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AAC9E,YAAY,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,UAAU,CAAC"}
@@ -1 +0,0 @@
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,MAAM,MAAM,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"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes