@jupytergis/base 0.1.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.
Files changed (108) hide show
  1. package/lib/commands.d.ts +11 -0
  2. package/lib/commands.js +809 -0
  3. package/lib/console/consoleview.d.ts +24 -0
  4. package/lib/console/consoleview.js +55 -0
  5. package/lib/console/index.d.ts +1 -0
  6. package/lib/console/index.js +1 -0
  7. package/lib/constants.d.ts +57 -0
  8. package/lib/constants.js +89 -0
  9. package/lib/dialogs/components/symbology/BandRendering.d.ts +4 -0
  10. package/lib/dialogs/components/symbology/BandRendering.js +29 -0
  11. package/lib/dialogs/components/symbology/BandRow.d.ts +10 -0
  12. package/lib/dialogs/components/symbology/BandRow.js +43 -0
  13. package/lib/dialogs/components/symbology/SingleBandPseudoColor.d.ts +20 -0
  14. package/lib/dialogs/components/symbology/SingleBandPseudoColor.js +281 -0
  15. package/lib/dialogs/components/symbology/StopRow.d.ts +11 -0
  16. package/lib/dialogs/components/symbology/StopRow.js +58 -0
  17. package/lib/dialogs/formdialog.d.ts +31 -0
  18. package/lib/dialogs/formdialog.js +68 -0
  19. package/lib/dialogs/layerBrowserDialog.d.ts +25 -0
  20. package/lib/dialogs/layerBrowserDialog.js +141 -0
  21. package/lib/dialogs/symbologyDialog.d.ts +23 -0
  22. package/lib/dialogs/symbologyDialog.js +68 -0
  23. package/lib/dialogs/terrainDialog.d.ts +21 -0
  24. package/lib/dialogs/terrainDialog.js +60 -0
  25. package/lib/formbuilder/creationform.d.ts +56 -0
  26. package/lib/formbuilder/creationform.js +117 -0
  27. package/lib/formbuilder/editform.d.ts +24 -0
  28. package/lib/formbuilder/editform.js +60 -0
  29. package/lib/formbuilder/formselectors.d.ts +5 -0
  30. package/lib/formbuilder/formselectors.js +38 -0
  31. package/lib/formbuilder/index.d.ts +6 -0
  32. package/lib/formbuilder/index.js +6 -0
  33. package/lib/formbuilder/objectform/baseform.d.ts +79 -0
  34. package/lib/formbuilder/objectform/baseform.js +167 -0
  35. package/lib/formbuilder/objectform/geojsonsource.d.ts +19 -0
  36. package/lib/formbuilder/objectform/geojsonsource.js +80 -0
  37. package/lib/formbuilder/objectform/hillshadeLayerForm.d.ts +8 -0
  38. package/lib/formbuilder/objectform/hillshadeLayerForm.js +12 -0
  39. package/lib/formbuilder/objectform/layerform.d.ts +19 -0
  40. package/lib/formbuilder/objectform/layerform.js +17 -0
  41. package/lib/formbuilder/objectform/tilesourceform.d.ts +7 -0
  42. package/lib/formbuilder/objectform/tilesourceform.js +60 -0
  43. package/lib/formbuilder/objectform/vectorlayerform.d.ts +15 -0
  44. package/lib/formbuilder/objectform/vectorlayerform.js +88 -0
  45. package/lib/formbuilder/objectform/webGlLayerForm.d.ts +8 -0
  46. package/lib/formbuilder/objectform/webGlLayerForm.js +10 -0
  47. package/lib/icons.d.ts +6 -0
  48. package/lib/icons.js +31 -0
  49. package/lib/index.d.ts +10 -0
  50. package/lib/index.js +10 -0
  51. package/lib/mainview/index.d.ts +3 -0
  52. package/lib/mainview/index.js +3 -0
  53. package/lib/mainview/mainView.d.ts +113 -0
  54. package/lib/mainview/mainView.js +743 -0
  55. package/lib/mainview/mainviewmodel.d.ts +24 -0
  56. package/lib/mainview/mainviewmodel.js +34 -0
  57. package/lib/mainview/mainviewwidget.d.ts +14 -0
  58. package/lib/mainview/mainviewwidget.js +18 -0
  59. package/lib/mainview/spinner.d.ts +6 -0
  60. package/lib/mainview/spinner.js +5 -0
  61. package/lib/panelview/components/filter-panel/Filter.d.ts +19 -0
  62. package/lib/panelview/components/filter-panel/Filter.js +223 -0
  63. package/lib/panelview/components/filter-panel/FilterRow.d.ts +9 -0
  64. package/lib/panelview/components/filter-panel/FilterRow.js +61 -0
  65. package/lib/panelview/components/layers.d.ts +13 -0
  66. package/lib/panelview/components/layers.js +275 -0
  67. package/lib/panelview/components/sources.d.ts +10 -0
  68. package/lib/panelview/components/sources.js +147 -0
  69. package/lib/panelview/header.d.ts +11 -0
  70. package/lib/panelview/header.js +20 -0
  71. package/lib/panelview/index.d.ts +5 -0
  72. package/lib/panelview/index.js +5 -0
  73. package/lib/panelview/leftpanel.d.ts +51 -0
  74. package/lib/panelview/leftpanel.js +125 -0
  75. package/lib/panelview/model.d.ts +19 -0
  76. package/lib/panelview/model.js +30 -0
  77. package/lib/panelview/objectproperties.d.ts +17 -0
  78. package/lib/panelview/objectproperties.js +92 -0
  79. package/lib/panelview/rightpanel.d.ts +19 -0
  80. package/lib/panelview/rightpanel.js +45 -0
  81. package/lib/toolbar/index.d.ts +2 -0
  82. package/lib/toolbar/index.js +2 -0
  83. package/lib/toolbar/usertoolbaritem.d.ts +19 -0
  84. package/lib/toolbar/usertoolbaritem.js +57 -0
  85. package/lib/toolbar/widget.d.ts +22 -0
  86. package/lib/toolbar/widget.js +104 -0
  87. package/lib/tools.d.ts +25 -0
  88. package/lib/tools.js +215 -0
  89. package/lib/types.d.ts +11 -0
  90. package/lib/types.js +1 -0
  91. package/lib/widget.d.ts +49 -0
  92. package/lib/widget.js +144 -0
  93. package/package.json +95 -0
  94. package/style/base.css +55 -0
  95. package/style/colorExpression.css +36 -0
  96. package/style/dialog.css +8 -0
  97. package/style/filterPanel.css +70 -0
  98. package/style/icons/geojson.svg +12 -0
  99. package/style/icons/mound.svg +9 -0
  100. package/style/icons/nonvisibility.svg +8 -0
  101. package/style/icons/raster.svg +5 -0
  102. package/style/icons/visibility.svg +7 -0
  103. package/style/index.css +6 -0
  104. package/style/index.js +6 -0
  105. package/style/layerBrowser.css +256 -0
  106. package/style/leftPanel.css +150 -0
  107. package/style/symbologyDialog.css +86 -0
  108. package/style/terrainDialog.css +14 -0
@@ -0,0 +1,49 @@
1
+ import { JSONValue } from '@lumino/coreutils';
2
+ import { ISignal } from '@lumino/signaling';
3
+ import { SplitPanel } from '@lumino/widgets';
4
+ import { ConsolePanel, IConsoleTracker } from '@jupyterlab/console';
5
+ import { DocumentWidget } from '@jupyterlab/docregistry';
6
+ import { IObservableMap, ObservableMap } from '@jupyterlab/observables';
7
+ import { IJupyterGISModel, IJupyterGISWidget } from '@jupytergis/schema';
8
+ import { JupyterGISMainViewPanel } from './mainview';
9
+ import { MainViewModel } from './mainview/mainviewmodel';
10
+ import { ConsoleView } from './console';
11
+ export declare class JupyterGISWidget extends DocumentWidget<JupyterGISPanel, IJupyterGISModel> implements IJupyterGISWidget {
12
+ constructor(options: DocumentWidget.IOptions<JupyterGISPanel, IJupyterGISModel>);
13
+ /**
14
+ * Dispose of the resources held by the widget.
15
+ */
16
+ dispose(): void;
17
+ onResize: (msg: any) => void;
18
+ }
19
+ export declare class JupyterGISPanel extends SplitPanel {
20
+ constructor(options: JupyterGISPanel.IOptions);
21
+ _initModel(options: {
22
+ model: IJupyterGISModel;
23
+ }): void;
24
+ _initView(): void;
25
+ get jupyterGISMainViewPanel(): JupyterGISMainViewPanel;
26
+ get viewChanged(): ISignal<ObservableMap<JSONValue>, IObservableMap.IChangedArgs<JSONValue>>;
27
+ /**
28
+ * Dispose of the resources held by the widget.
29
+ */
30
+ dispose(): void;
31
+ get currentViewModel(): MainViewModel;
32
+ get consolePanel(): ConsolePanel | undefined;
33
+ executeConsole(): void;
34
+ removeConsole(): void;
35
+ toggleConsole(jgisPath: string): Promise<void>;
36
+ private _mainViewModel;
37
+ private _view;
38
+ private _jupyterGISMainViewPanel;
39
+ private _consoleView?;
40
+ private _consoleOpened;
41
+ private _consoleOption;
42
+ private _consoleTracker;
43
+ }
44
+ export declare namespace JupyterGISPanel {
45
+ interface IOptions extends Partial<ConsoleView.IOptions> {
46
+ model: IJupyterGISModel;
47
+ consoleTracker?: IConsoleTracker;
48
+ }
49
+ }
package/lib/widget.js ADDED
@@ -0,0 +1,144 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { Signal } from '@lumino/signaling';
13
+ import { SplitPanel } from '@lumino/widgets';
14
+ import { DocumentWidget } from '@jupyterlab/docregistry';
15
+ import { ObservableMap } from '@jupyterlab/observables';
16
+ import { JupyterGISMainViewPanel } from './mainview';
17
+ import { MainViewModel } from './mainview/mainviewmodel';
18
+ import { ConsoleView } from './console';
19
+ export class JupyterGISWidget extends DocumentWidget {
20
+ constructor(options) {
21
+ super(options);
22
+ this.onResize = (msg) => {
23
+ window.dispatchEvent(new Event('resize'));
24
+ };
25
+ }
26
+ /**
27
+ * Dispose of the resources held by the widget.
28
+ */
29
+ dispose() {
30
+ this.content.dispose();
31
+ super.dispose();
32
+ }
33
+ }
34
+ export class JupyterGISPanel extends SplitPanel {
35
+ constructor(options) {
36
+ super({ orientation: 'vertical', spacing: 0 });
37
+ this._consoleOpened = false;
38
+ const { model, consoleTracker } = options, consoleOption = __rest(options, ["model", "consoleTracker"]);
39
+ this._initModel({ model });
40
+ this._initView();
41
+ this._consoleOption = consoleOption;
42
+ this._consoleTracker = consoleTracker;
43
+ }
44
+ _initModel(options) {
45
+ this._view = new ObservableMap();
46
+ this._mainViewModel = new MainViewModel({
47
+ jGISModel: options.model,
48
+ viewSetting: this._view
49
+ });
50
+ }
51
+ _initView() {
52
+ this._jupyterGISMainViewPanel = new JupyterGISMainViewPanel({
53
+ mainViewModel: this._mainViewModel
54
+ });
55
+ this.addWidget(this._jupyterGISMainViewPanel);
56
+ SplitPanel.setStretch(this._jupyterGISMainViewPanel, 1);
57
+ }
58
+ get jupyterGISMainViewPanel() {
59
+ return this._jupyterGISMainViewPanel;
60
+ }
61
+ get viewChanged() {
62
+ return this._view.changed;
63
+ }
64
+ /**
65
+ * Dispose of the resources held by the widget.
66
+ */
67
+ dispose() {
68
+ if (this.isDisposed) {
69
+ return;
70
+ }
71
+ if (this._consoleView) {
72
+ this._consoleView.dispose();
73
+ }
74
+ Signal.clearData(this);
75
+ this._mainViewModel.dispose();
76
+ super.dispose();
77
+ }
78
+ get currentViewModel() {
79
+ return this._mainViewModel;
80
+ }
81
+ get consolePanel() {
82
+ var _a;
83
+ return (_a = this._consoleView) === null || _a === void 0 ? void 0 : _a.consolePanel;
84
+ }
85
+ executeConsole() {
86
+ if (this._consoleView) {
87
+ this._consoleView.execute();
88
+ }
89
+ }
90
+ removeConsole() {
91
+ if (this._consoleView) {
92
+ this._consoleView.dispose();
93
+ this._consoleView = undefined;
94
+ this._consoleOpened = false;
95
+ setTimeout(() => {
96
+ window.dispatchEvent(new Event('resize'));
97
+ }, 250);
98
+ }
99
+ }
100
+ async toggleConsole(jgisPath) {
101
+ if (!this._consoleView) {
102
+ const { contentFactory, manager, mimeTypeService, rendermime, commandRegistry } = this._consoleOption;
103
+ if (contentFactory &&
104
+ manager &&
105
+ mimeTypeService &&
106
+ rendermime &&
107
+ commandRegistry &&
108
+ this._consoleTracker) {
109
+ this._consoleView = new ConsoleView({
110
+ contentFactory,
111
+ manager,
112
+ mimeTypeService,
113
+ rendermime,
114
+ commandRegistry
115
+ });
116
+ const { consolePanel } = this._consoleView;
117
+ this._consoleTracker.widgetAdded.emit(consolePanel);
118
+ await consolePanel.sessionContext.ready;
119
+ await consolePanel.console.inject(`from jupytergis_lab import GISDocument\ndoc = GISDocument("${jgisPath}")`);
120
+ this.addWidget(this._consoleView);
121
+ this.setRelativeSizes([2, 1]);
122
+ this._consoleOpened = true;
123
+ consolePanel.console.sessionContext.kernelChanged.connect((_, arg) => {
124
+ if (!arg.newValue) {
125
+ this.removeConsole();
126
+ }
127
+ });
128
+ }
129
+ }
130
+ else {
131
+ if (this._consoleOpened) {
132
+ this._consoleOpened = false;
133
+ this.setRelativeSizes([1, 0]);
134
+ }
135
+ else {
136
+ this._consoleOpened = true;
137
+ this.setRelativeSizes([2, 1]);
138
+ }
139
+ }
140
+ setTimeout(() => {
141
+ window.dispatchEvent(new Event('resize'));
142
+ }, 250);
143
+ }
144
+ }
package/package.json ADDED
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "@jupytergis/base",
3
+ "version": "0.1.1",
4
+ "description": "A JupyterLab extension for 3D modelling.",
5
+ "keywords": [
6
+ "jupyter",
7
+ "jupyterlab",
8
+ "jupyterlab-extension"
9
+ ],
10
+ "homepage": "https://github.com/geojupyter/jupytergis",
11
+ "bugs": {
12
+ "url": "https://github.com/geojupyter/jupytergis/issues"
13
+ },
14
+ "license": "BSD-3-Clause",
15
+ "author": {
16
+ "name": "JupyterGIS contributors"
17
+ },
18
+ "files": [
19
+ "lib/**/*.{d.ts,eot,gif,html,jpg,js,js.map,json,png,svg,woff2,ttf}",
20
+ "style/**/*.{css,js,eot,gif,html,jpg,json,png,svg,woff2,ttf}"
21
+ ],
22
+ "main": "lib/index.js",
23
+ "types": "lib/index.d.ts",
24
+ "style": "style/index.css",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/geojupyter/jupytergis.git"
28
+ },
29
+ "scripts": {
30
+ "build": "jlpm run build:gallery && tsc -b",
31
+ "build:gallery": "python rasterlayer_gallery_generator.py",
32
+ "build:prod": "jlpm run clean && jlpm run build",
33
+ "build:dev": "tsc -b",
34
+ "clean": "rimraf tsconfig.tsbuildinfo",
35
+ "clean:lib": "rimraf lib tsconfig.tsbuildinfo",
36
+ "clean:all": "jlpm run clean:lib",
37
+ "watch": "tsc -w"
38
+ },
39
+ "dependencies": {
40
+ "@deathbeds/jupyterlab-rjsf": "^1.1.0",
41
+ "@jupyter/docprovider": "^2.0.0",
42
+ "@jupyter/ydoc": "^1.0.0",
43
+ "@jupytergis/schema": "^0.1.1",
44
+ "@jupyterlab/application": "^4.0.0",
45
+ "@jupyterlab/apputils": "^4.0.0",
46
+ "@jupyterlab/completer": "^4.2.4",
47
+ "@jupyterlab/console": "^4.2.4",
48
+ "@jupyterlab/coreutils": "^6.0.0",
49
+ "@jupyterlab/docregistry": "^4.0.0",
50
+ "@jupyterlab/filebrowser": "^4.0.0",
51
+ "@jupyterlab/launcher": "^4.0.0",
52
+ "@jupyterlab/observables": "^5.0.0",
53
+ "@jupyterlab/services": "^7.0.0",
54
+ "@jupyterlab/translation": "^4.0.0",
55
+ "@jupyterlab/ui-components": "^4.0.0",
56
+ "@lumino/commands": "^2.0.0",
57
+ "@lumino/coreutils": "^2.0.0",
58
+ "@lumino/messaging": "^2.0.0",
59
+ "@lumino/signaling": "^2.0.0",
60
+ "@lumino/widgets": "^2.0.0",
61
+ "@mapbox/vector-tile": "^2.0.3",
62
+ "@naisutech/react-tree": "^3.0.1",
63
+ "@rjsf/core": "^4.2.0",
64
+ "@types/d3-color": "^3.1.0",
65
+ "@types/three": "^0.134.0",
66
+ "ajv": "^8.14.0",
67
+ "d3-color": "^3.1.0",
68
+ "gdal3.js": "^2.8.1",
69
+ "geojson-schema": "^1.0.5",
70
+ "ol-pmtiles": "^0.5.0",
71
+ "pbf": "^4.0.1",
72
+ "react": "^18.0.1",
73
+ "shpjs": "^6.1.0",
74
+ "styled-components": "^5.3.6",
75
+ "three": "^0.135.0",
76
+ "three-mesh-bvh": "^0.5.17",
77
+ "uuid": "^8.3.2"
78
+ },
79
+ "devDependencies": {
80
+ "@apidevtools/json-schema-ref-parser": "^9.0.9",
81
+ "@types/node": "^18.15.11",
82
+ "@types/three": "^0.135.0",
83
+ "@types/uuid": "^10.0.0",
84
+ "rimraf": "^3.0.2",
85
+ "typescript": "^5"
86
+ },
87
+ "sideEffects": [
88
+ "style/*.css",
89
+ "style/index.js"
90
+ ],
91
+ "styleModule": "style/index.js",
92
+ "publishConfig": {
93
+ "access": "public"
94
+ }
95
+ }
package/style/base.css ADDED
@@ -0,0 +1,55 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |---------------------------------------------------------------------------- */
5
+
6
+ @import url('./dialog.css');
7
+ @import url('./layerBrowser.css');
8
+ @import url('./leftPanel.css');
9
+ @import url('./terrainDialog.css');
10
+ @import url('./filterPanel.css');
11
+ @import url('./symbologyDialog.css');
12
+ @import url('ol/ol.css');
13
+
14
+ .jGIS-Toolbar-GroupName {
15
+ font-size: var(--jp-ui-font-size0);
16
+ padding-left: 3px;
17
+ }
18
+
19
+ /* Overwrite forms CSS */
20
+ .jGIS-property-panel .array-item-list {
21
+ display: flex;
22
+ gap: 1rem;
23
+ }
24
+
25
+ .jGIS-property-panel .jp-SchemaForm .array-item:not(:last-child) {
26
+ border-bottom: none;
27
+ margin-bottom: unset;
28
+ padding-bottom: unset;
29
+ }
30
+
31
+ .jGIS-property-panel .jp-SchemaForm .array-item {
32
+ flex: 1 0 0%;
33
+ align-items: center;
34
+ }
35
+
36
+ .jGIS-property-panel .jp-SchemaForm .field-description {
37
+ display: none;
38
+ }
39
+
40
+ .jGIS-property-panel .jp-SchemaForm fieldset fieldset {
41
+ padding-left: unset;
42
+ border-left: none;
43
+ }
44
+
45
+ .jGIS-property-panel .jp-SchemaForm .array-item-list:has(.field-array) {
46
+ flex-direction: column;
47
+ }
48
+
49
+ .jp-gis-text-label {
50
+ margin: 0;
51
+ padding: 0;
52
+ font-weight: bold;
53
+ display: block;
54
+ position: relative;
55
+ }
@@ -0,0 +1,36 @@
1
+ .jp-gis-color-container {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.5rem;
5
+ }
6
+
7
+ .jp-gis-color-container select {
8
+ text-transform: capitalize;
9
+ }
10
+
11
+ .jp-gis-color-container option {
12
+ text-transform: capitalize;
13
+ }
14
+
15
+ .jp-gis-color-row {
16
+ display: flex;
17
+ justify-content: space-around;
18
+ align-items: center;
19
+ width: 100%;
20
+ gap: 0.25rem;
21
+ }
22
+
23
+ .jp-gis-color-row > input[type='number'] {
24
+ flex: 0 1 18%;
25
+ min-width: 0px;
26
+ }
27
+
28
+ .jp-gis-color-row > input[type='color'] {
29
+ flex-grow: 1;
30
+ }
31
+
32
+ .jp-gis-color-row > button {
33
+ color: var(--jp-ui-font-color0);
34
+ background: none;
35
+ padding-right: 0px;
36
+ }
@@ -0,0 +1,8 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |---------------------------------------------------------------------------- */
5
+
6
+ .jp-SchemaForm .jp-select-wrapper select {
7
+ background-image: unset;
8
+ }
@@ -0,0 +1,70 @@
1
+ .jp-gis-filter-main {
2
+ display: flex;
3
+ flex-direction: column;
4
+ padding: 10px;
5
+ gap: 1rem;
6
+ }
7
+
8
+ .jp-gis-filter-list {
9
+ display: flex;
10
+ flex-direction: column;
11
+ }
12
+
13
+ .jp-gis-filter-button-container {
14
+ display: flex;
15
+ justify-content: space-between;
16
+ }
17
+
18
+ .jp-gis-filter-main > .jp-Dialog-button {
19
+ width: fit-content;
20
+ align-self: flex-end;
21
+ }
22
+
23
+ .jp-gis-logical-select {
24
+ width: fit-content !important;
25
+ padding: 0 8px !important;
26
+ text-align: center;
27
+ }
28
+
29
+ .jp-gis-filter-select-container {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 0.5rem;
33
+ }
34
+
35
+ .jp-gis-filter-row {
36
+ display: flex;
37
+ justify-content: space-around;
38
+ width: 100%;
39
+ gap: 0.25rem;
40
+ }
41
+
42
+ .jp-gis-filter-row > select {
43
+ text-transform: capitalize;
44
+ padding: 0;
45
+ text-align: center;
46
+ }
47
+
48
+ .jp-gis-filter-row > option {
49
+ text-transform: capitalize;
50
+ font-size: var(--jp-ui-font-size1);
51
+ }
52
+
53
+ .jp-gis-filter-row > button {
54
+ color: var(--jp-ui-font-color0);
55
+ background: none;
56
+ }
57
+
58
+ .jp-gis-filter-row > button:hover {
59
+ color: var(--jp-warn-color-hover);
60
+ }
61
+
62
+ .jp-gis-filter-icon:hover {
63
+ scale: 1.3;
64
+ cursor: pointer;
65
+ }
66
+
67
+ .jp-gis-filter-icon > svg {
68
+ height: 16px;
69
+ width: 16px;
70
+ }
@@ -0,0 +1,12 @@
1
+ <!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
2
+ <svg
3
+ width="16px"
4
+ height="16px"
5
+ viewBox="0 0 100 100"
6
+ xmlns="http://www.w3.org/2000/svg"
7
+ class="iconify iconify--gis">
8
+ <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">
9
+ <path d="M13.996 0a2.5 2.5 0 0 0-2.5 2.5V70H0v22h11.496v5.5a2.5 2.5 0 0 0 2.5 2.5h72a2.5 2.5 0 0 0 2.5-2.5V21.625c.027-1.113.004-1.777-.732-2.59L69.46.732A2.5 2.5 0 0 0 67.662 0H13.996zm2.5 5h48.902l1.252 14.568a2.5 2.5 0 0 0 2.278 2.278l14.568 1.252V95h-67v-3H80V70H16.496V5zm54.275 4.115l8.61 8.61l-7.928-.682l-.682-7.928zM10.48 73c1.37 0 2.439.379 3.207 1.137c.772.751 1.269 1.793 1.49 3.125l-2.213.543c-.156-.712-.45-1.271-.881-1.68c-.426-.415-.961-.623-1.603-.623c-.974 0-1.748.406-2.325 1.217c-.572.81-.86 2.012-.86 3.607c0 1.72.292 3.014.874 3.877c.582.857 1.346 1.285 2.289 1.285c.467 0 .932-.118 1.398-.355a4.72 4.72 0 0 0 1.213-.881v-1.838h-2.55v-2.443h4.8v5.775c-.466.593-1.143 1.118-2.03 1.572c-.884.449-1.78.672-2.688.672c-1.154 0-2.16-.316-3.018-.949c-.858-.64-1.504-1.549-1.936-2.728C5.215 83.126 5 81.835 5 80.445c0-1.51.241-2.85.723-4.023c.481-1.173 1.187-2.073 2.115-2.7c.707-.48 1.587-.722 2.64-.722zm37.33 0c1.384 0 2.425.4 3.123 1.197c.702.798 1.07 1.862 1.105 3.194l-2.226.129c-.096-.745-.302-1.281-.618-1.604c-.31-.33-.78-.494-1.408-.494c-.647 0-1.153.176-1.52.525c-.235.224-.353.523-.353.899c0 .342.11.637.33.88c.281.31.963.633 2.047.97c1.084.336 1.886.686 2.402 1.048c.522.356.928.847 1.22 1.473c.295.62.443 1.388.443 2.304c0 .831-.175 1.607-.526 2.333c-.351.725-.848 1.267-1.49 1.623c-.642.349-1.444.523-2.402.523c-1.395 0-2.466-.422-3.213-1.266c-.748-.85-1.195-2.085-1.34-3.707l2.168-.277c.13.956.392 1.657.789 2.105c.401.449.942.672 1.619.672c.717 0 1.256-.196 1.617-.591c.366-.403.551-.87.551-1.405c0-.343-.079-.634-.234-.87c-.15-.245-.416-.456-.797-.634c-.261-.118-.855-.33-1.783-.632c-1.195-.39-2.033-.867-2.514-1.434c-.678-.798-1.018-1.77-1.018-2.916a4.6 4.6 0 0 1 .475-2.066a3.361 3.361 0 0 1 1.377-1.475c.602-.336 1.328-.504 2.176-.504zm11.318 0c1.626 0 2.925.663 3.898 1.988c.979 1.325 1.47 3.168 1.47 5.528c0 2.34-.486 4.17-1.454 5.496c-.968 1.318-2.262 1.978-3.883 1.978c-1.64 0-2.946-.657-3.914-1.969c-.968-1.318-1.453-3.13-1.453-5.437c0-1.477.168-2.717.504-3.719c.25-.738.592-1.4 1.023-1.986c.437-.587.915-1.021 1.432-1.305c.687-.382 1.479-.574 2.377-.574zm-19.777.248h2.218v9.176c0 1.2-.08 2.121-.24 2.767c-.216.844-.607 1.523-1.174 2.038c-.567.507-1.314.761-2.242.761c-1.089 0-1.927-.4-2.514-1.197c-.587-.804-.883-1.98-.888-3.53l2.1-.316c.024.83.118 1.417.279 1.76c.24.52.606.781 1.097.781c.497 0 .85-.183 1.055-.552c.206-.376.309-1.151.309-2.325v-9.363zm26.898 0h2.166l4.516 9.68v-9.68H75v14.494h-2.234l-4.45-9.451v9.451h-2.068V73.248zm-7.098 2.254c-.918 0-1.658.415-2.22 1.246c-.562.824-.842 2.069-.842 3.736c0 1.642.288 2.888.865 3.739c.577.843 1.31 1.265 2.197 1.265c.888 0 1.615-.418 2.182-1.256c.572-.843.86-2.106.86-3.787c0-1.66-.28-2.9-.837-3.716c-.551-.818-1.286-1.227-2.205-1.227zm-38.752 1.502c1.19 0 2.128.518 2.815 1.553c.687 1.028 1.016 2.607.986 4.736h-5.3c.015.824.186 1.466.512 1.928c.326.455.732.683 1.219.683c.331 0 .61-.12.836-.357c.226-.237.396-.62.512-1.147l2.107.465c-.271 1.015-.7 1.79-1.287 2.324c-.582.528-1.312.791-2.19.791c-1.39 0-2.418-.595-3.086-1.789c-.526-.955-.79-2.162-.79-3.619c0-1.74.346-3.102 1.038-4.084c.693-.989 1.569-1.484 2.627-1.484zm9.159 0c1.209 0 2.202.518 2.974 1.553c.773 1.028 1.158 2.33 1.158 3.906c0 1.589-.39 2.907-1.173 3.955c-.778 1.041-1.76 1.562-2.944 1.562c-.732 0-1.432-.217-2.1-.652c-.662-.435-1.165-1.07-1.511-1.908c-.346-.844-.52-1.87-.52-3.076c0-.923.174-1.816.52-2.68c.346-.863.835-1.522 1.467-1.977a3.58 3.58 0 0 1 2.129-.683zm-9.032 2.127c-.461 0-.841.22-1.142.662c-.301.442-.45 1.04-.445 1.799H22.1c-.015-.804-.174-1.413-.475-1.828c-.301-.422-.668-.633-1.1-.633zm9.04.139c-.552 0-1.017.276-1.393.83c-.376.553-.565 1.35-.565 2.392c0 1.042.189 1.839.565 2.393c.376.553.84.832 1.392.832c.552 0 1.014-.279 1.385-.832c.377-.554.565-1.358.565-2.412c0-1.029-.188-1.82-.565-2.373c-.371-.554-.833-.83-1.385-.83z"></path>
10
+ <path d="M51.252 18v10.11h8.852a25.56 25.56 0 0 0-1.707-3.881c-1.985-3.606-4.507-5.78-7.145-6.229zm-2.504.1c-2.469.613-4.813 2.735-6.682 6.13a25.56 25.56 0 0 0-1.706 3.881h8.388zm-5.769.678a22.547 22.547 0 0 0-12.005 9.333h6.739c.594-1.851 1.318-3.562 2.16-5.089c.897-1.63 1.942-3.067 3.106-4.244zm14.729.231c1.074 1.134 2.044 2.488 2.883 4.013c.841 1.527 1.564 3.238 2.157 5.089h6.278a22.56 22.56 0 0 0-11.318-9.102zM29.595 30.615a22.435 22.435 0 0 0-2.095 8.329h8.408c.097-2.941.48-5.744 1.103-8.329zm10.004 0c-.662 2.542-1.078 5.357-1.184 8.329h10.333v-8.329zm11.653 0v8.329h10.797c-.106-2.972-.523-5.787-1.184-8.329zm12.197 0a41.505 41.505 0 0 1 1.1 8.329H72.5a22.435 22.435 0 0 0-2.095-8.329zM27.5 41.447a22.435 22.435 0 0 0 2.095 8.329h7.298c-.588-2.593-.934-5.396-.999-8.329zm10.898 0c.07 2.962.452 5.774 1.075 8.329h9.275v-8.329zm12.854 0v8.329h9.738c.624-2.555 1.005-5.367 1.075-8.329zm13.31 0c-.065 2.932-.409 5.736-.995 8.329h6.838a22.435 22.435 0 0 0 2.095-8.329zM30.973 52.28a22.565 22.565 0 0 0 11.33 9.105a20.107 20.107 0 0 1-2.432-3.514c-.917-1.666-1.697-3.546-2.319-5.591zm9.212 0c.532 1.61 1.165 3.084 1.88 4.383c1.753 3.182 3.923 5.246 6.222 5.997c.154.01.306.03.46.03V52.275zm11.066 0v10.415c.357-.02.713-.04 1.065-.08c2.247-.789 4.364-2.834 6.08-5.951c.716-1.299 1.349-2.773 1.88-4.383zm11.656 0c-.62 2.045-1.4 3.926-2.317 5.591a20.4 20.4 0 0 1-2.197 3.243a22.568 22.568 0 0 0 10.632-8.834z"></path>
11
+ </g>
12
+ </svg>
@@ -0,0 +1,9 @@
1
+ <svg
2
+ width="16px"
3
+ height="16px"
4
+ xmlns="http://www.w3.org/2000/svg"
5
+ viewBox="0 0 576 512">
6
+ <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">
7
+ <path d="M144.1 179.2C173.8 127.7 228.6 96 288 96s114.2 31.7 143.9 83.2L540.4 368c12.3 21.3-3.1 48-27.7 48H63.3c-24.6 0-40-26.6-27.7-48L144.1 179.2z"/>
8
+ </g>
9
+ </svg>
@@ -0,0 +1,8 @@
1
+ <svg height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg">
2
+ <g class="jp-icon3 jp-icon-selectable" fill="#616161">
3
+ <path d="M 12,7.5117187 C 9.5269955,7.5117186 7.5117187,9.5269959 7.5117187,12 c 4e-7,2.473004 2.0152771,4.488281 4.4882813,4.488281 2.473004,0 4.488281,-2.015277 4.488281,-4.488281 0,-2.4730039 -2.015277,-4.488281 -4.488281,-4.4882813 z m 0,1.0000001 c 1.932565,10e-8 3.488281,1.5557172 3.488281,3.4882812 0,1.932564 -1.555716,3.488281 -3.488281,3.488281 C 10.067435,15.488281 8.511719,13.932564 8.5117188,12 8.5117187,10.067436 10.067435,8.5117187 12,8.5117188 Z"/>
4
+ <path d="M 12 10.5 A 1.5 1.5 0 0 0 10.5 12 A 1.5 1.5 0 0 0 12 13.5 A 1.5 1.5 0 0 0 13.5 12 A 1.5 1.5 0 0 0 13.130859 11.013672 A 0.60000002 0.60000002 0 0 1 13.205078 11.304688 A 0.60000002 0.60000002 0 0 1 12.605469 11.90625 A 0.60000002 0.60000002 0 0 1 12.005859 11.304688 A 0.60000002 0.60000002 0 0 1 12.605469 10.705078 A 0.60000002 0.60000002 0 0 1 12.830078 10.75 A 1.5 1.5 0 0 0 12 10.5 z "/>
5
+ <path d="M 11.941406,6.4980469 C 7.3733981,6.5024661 3.2961559,8.5768767 1.9492187,11.804688 l -0.080078,0.193359 0.080078,0.193359 c 1.3480417,3.227968 5.4258411,5.302394 9.9941403,5.306641 4.573757,-0.0034 8.655672,-2.083243 10,-5.316406 l 0.08008,-0.191407 -0.08008,-0.193359 C 20.590947,8.5700472 16.509943,6.4982838 11.941406,6.4980469 Z m 0,1 c 4.152317,2.153e-4 7.72176,1.9081199 8.947266,4.4941411 -1.219637,2.589986 -4.788912,4.502755 -8.945313,4.505859 -4.1514043,-0.0039 -7.7169499,-1.913838 -8.9394527,-4.5 1.2215174,-2.5858023 4.786394,-4.4959842 8.9374997,-4.5000001 z"/>
6
+ <path d="M 5.0664062,4.359375 4.359375,5.0664062 18.933594,19.638672 19.640625,18.931641 Z"/>
7
+ </g>
8
+ </svg>
@@ -0,0 +1,5 @@
1
+ <svg height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg">
2
+ <g class="jp-icon2 jp-icon-selectable" fill="#e2e2e2">
3
+ <path d="M 22,8 H 2 v 1 h 20 z m 0,10.5 H 2 v 1 H 22 Z M 22,15 H 2 v 1 h 20 z m 0,-3.5 H 2 v 1 h 20 z m 0,-7 H 2 v 1 H 22 Z M 5.5,2 h -1 v 20 h 1 z M 9,2 H 8 v 20 h 1 z m 3.5,0 h -1 v 20 h 1 z M 16,2 h -1 v 20 h 1 z m 3.5,0 h -1 v 20 h 1 z"/>
4
+ </g>
5
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg height="16" viewBox="0 0 24 24" width="16" xmlns="http://www.w3.org/2000/svg">
2
+ <g class="jp-icon3 jp-icon-selectable" fill="#616161">
3
+ <path d="M 12,7.5117187 C 9.5269955,7.5117186 7.5117187,9.5269959 7.5117187,12 c 4e-7,2.473004 2.0152771,4.488281 4.4882813,4.488281 2.473004,0 4.488281,-2.015277 4.488281,-4.488281 0,-2.4730039 -2.015277,-4.488281 -4.488281,-4.4882813 z m 0,1.0000001 c 1.932565,10e-8 3.488281,1.5557172 3.488281,3.4882812 0,1.932564 -1.555716,3.488281 -3.488281,3.488281 C 10.067435,15.488281 8.511719,13.932564 8.5117188,12 8.5117187,10.067436 10.067435,8.5117187 12,8.5117188 Z"/>
4
+ <path d="M 12 10.5 A 1.5 1.5 0 0 0 10.5 12 A 1.5 1.5 0 0 0 12 13.5 A 1.5 1.5 0 0 0 13.5 12 A 1.5 1.5 0 0 0 13.130859 11.013672 A 0.60000002 0.60000002 0 0 1 13.205078 11.304688 A 0.60000002 0.60000002 0 0 1 12.605469 11.90625 A 0.60000002 0.60000002 0 0 1 12.005859 11.304688 A 0.60000002 0.60000002 0 0 1 12.605469 10.705078 A 0.60000002 0.60000002 0 0 1 12.830078 10.75 A 1.5 1.5 0 0 0 12 10.5 z "/>
5
+ <path d="M 11.941406,6.4980469 C 7.3733981,6.5024661 3.2961559,8.5768767 1.9492187,11.804688 l -0.080078,0.193359 0.080078,0.193359 c 1.3480417,3.227968 5.4258411,5.302394 9.9941403,5.306641 4.573757,-0.0034 8.655672,-2.083243 10,-5.316406 l 0.08008,-0.191407 -0.08008,-0.193359 C 20.590947,8.5700472 16.509943,6.4982838 11.941406,6.4980469 Z m 0,1 c 4.152317,2.153e-4 7.72176,1.9081199 8.947266,4.4941411 -1.219637,2.589986 -4.788912,4.502755 -8.945313,4.505859 -4.1514043,-0.0039 -7.7169499,-1.913838 -8.9394527,-4.5 1.2215174,-2.5858023 4.786394,-4.4959842 8.9374997,-4.5000001 z"/>
6
+ </g>
7
+ </svg>
@@ -0,0 +1,6 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |---------------------------------------------------------------------------- */
5
+
6
+ @import url('./base.css');
package/style/index.js ADDED
@@ -0,0 +1,6 @@
1
+ /*-----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |----------------------------------------------------------------------------*/
5
+
6
+ import './base.css';