@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,256 @@
1
+ .jGIS-layerbrowser-FormDialog .jp-Dialog-header {
2
+ padding: 0;
3
+ }
4
+
5
+ .jGIS-layerbrowser-FormDialog .jp-Dialog-content {
6
+ width: calc(100% - 4rem);
7
+ max-width: 100%;
8
+ height: calc(100% - 2rem);
9
+ max-height: 100%;
10
+ }
11
+
12
+ .jGIS-layerbrowser-FormDialog form {
13
+ padding: 10px;
14
+ }
15
+
16
+ .jGIS-customlayer-form {
17
+ height: 100%;
18
+ overflow: auto;
19
+ }
20
+
21
+ .jGIS-layer-browser-container * {
22
+ box-sizing: border-box;
23
+ }
24
+
25
+ .jGIS-layer-browser-container {
26
+ display: flex;
27
+ flex-direction: column;
28
+ }
29
+
30
+ .jGIS-layer-browser-header-container {
31
+ position: sticky;
32
+ top: 0;
33
+ z-index: 40;
34
+ background-color: var(--jp-layout-color1);
35
+ }
36
+
37
+ .jGIS-layer-browser-header {
38
+ display: flex;
39
+ justify-content: space-between;
40
+ align-items: center;
41
+ gap: 20px;
42
+ padding: 1rem 2rem;
43
+ }
44
+
45
+ .jGIS-layer-browser-header-text {
46
+ padding-right: 1rem;
47
+ font-weight: bold;
48
+ }
49
+
50
+ .jGIS-layer-browser-header-search-container {
51
+ display: flex;
52
+ align-items: center;
53
+ flex-grow: 1;
54
+ position: relative;
55
+ }
56
+
57
+ .jGIS-layer-browser-header-search-icon {
58
+ position: absolute;
59
+ top: 50%;
60
+ left: 0.75rem;
61
+ transform: translateY(-50%);
62
+ }
63
+
64
+ .jGIS-layer-browser-header-search {
65
+ box-shadow: none;
66
+ flex: 1 1 0%;
67
+ height: 40px;
68
+ padding: 1rem 2rem;
69
+ padding-left: 2.5rem;
70
+ background-color: transparent;
71
+ border: 1px solid var(--jp-border-color1);
72
+ border-radius: 8px;
73
+ color: var(--jp-ui-font-color1);
74
+ }
75
+
76
+ .jGIS-layer-browser-grid {
77
+ display: grid;
78
+ gap: 1.25rem;
79
+ grid-template-rows: 1fr;
80
+ grid-template-columns: repeat(3, minmax(0px, 1fr));
81
+ padding: 1rem 2rem;
82
+ }
83
+
84
+ @media (min-width: 1400px) {
85
+ .jGIS-layer-browser-grid {
86
+ grid-template-columns: repeat(5, minmax(0px, 1fr));
87
+ }
88
+ }
89
+
90
+ .jGIS-layer-browser-categories {
91
+ display: flex;
92
+ gap: 2rem;
93
+ padding: 0 2rem;
94
+ border-bottom: 2px solid var(--jp-border-color1);
95
+ }
96
+
97
+ .jGIS-layer-browser-category {
98
+ position: relative;
99
+ opacity: 0.7;
100
+ padding: 4px 0 14px;
101
+ cursor: pointer;
102
+ text-decoration: none;
103
+ }
104
+
105
+ .jGIS-layer-browser-category::after {
106
+ content: '';
107
+ position: absolute;
108
+ bottom: -2px;
109
+ left: 0;
110
+ width: 0px;
111
+ height: 3px;
112
+ transition:
113
+ background-color 300ms ease-in,
114
+ width 300ms ease-in,
115
+ opacity 300ms ease-in;
116
+ background-color: transparent;
117
+ }
118
+
119
+ .jGIS-layer-browser-category.jGIS-layer-browser-category-selected::after {
120
+ width: 100%;
121
+ background-color: var(--jp-inverse-layout-color2);
122
+ }
123
+
124
+ .jGIS-layer-browser-category.jGIS-layer-browser-category-selected {
125
+ opacity: 1;
126
+ font-weight: bold;
127
+ }
128
+
129
+ .jGIS-layer-browser-tile {
130
+ display: flex;
131
+ flex-direction: column;
132
+ gap: 0.75rem;
133
+ position: relative;
134
+ margin-top: 4px;
135
+ padding: 8px;
136
+ transition: transform 150ms ease-out;
137
+ cursor: pointer;
138
+ border: 1px solid var(--jp-border-color1);
139
+ background-color: var(--jp-layout-color1);
140
+ border-radius: 8px;
141
+ }
142
+
143
+ .jGIS-layer-browser-custom-tile {
144
+ border: 1px solid var(--jp-border-color2);
145
+ background-color: var(--jp-layout-color2);
146
+ }
147
+
148
+ .jGIS-layer-browser-tile:hover {
149
+ box-shadow: var(--jp-layout-color2);
150
+ transform: translateY(-4px);
151
+ background-color: var(--jp-brand-color2);
152
+ }
153
+
154
+ .jGIS-layer-browser-tile-img-container {
155
+ /* isolation: isolate; */
156
+ /* border: medium; */
157
+ /* background: transparent; */
158
+ /* padding: 0px; */
159
+ /* width: 100%; */
160
+ aspect-ratio: 16 / 10;
161
+ display: flex;
162
+ justify-content: center;
163
+ align-items: center;
164
+ position: relative;
165
+ overflow: hidden;
166
+ border-radius: 8px;
167
+ }
168
+
169
+ .jGIS-layer-browser-img {
170
+ /* position: absolute; */
171
+ /* height: 100%; */
172
+ /* object-fit: cover; */
173
+ /* box-sizing: border-box; */
174
+ width: 100%;
175
+ }
176
+
177
+ .jGIS-layer-browser-icon {
178
+ padding-inline: 8px;
179
+ display: inline-flex;
180
+ justify-content: center;
181
+ align-items: center;
182
+ position: absolute;
183
+ overflow: hidden;
184
+ box-sizing: border-box;
185
+ width: 32px;
186
+ height: 32px;
187
+ transition:
188
+ width 125ms ease-in-out,
189
+ background-color 125ms ease-in-out,
190
+ opacity 150ms ease-out;
191
+ background-color: var(--jp-accent-color1);
192
+ border-radius: 20px;
193
+ }
194
+
195
+ .jGIS-layer-browser-tile:not(.jGIS-layer-browser-tile:hover)
196
+ .jGIS-layer-browser-icon {
197
+ opacity: 0;
198
+ }
199
+
200
+ .jGIS-layer-browser-added {
201
+ display: inline-flex;
202
+ gap: 0.35rem;
203
+ opacity: 1 !important;
204
+ width: 7rem;
205
+ color: var(--jp-ui-inverse-font-color1);
206
+ }
207
+
208
+ .jGIS-layer-browser-text-container {
209
+ padding-inline: 4px;
210
+ display: flex;
211
+ flex-direction: column;
212
+ justify-content: space-between;
213
+ gap: 8px;
214
+ flex: 1 1 0%;
215
+ box-sizing: border-box;
216
+ }
217
+
218
+ .jGIS-layer-browser-text-info {
219
+ display: flex;
220
+ flex-direction: column;
221
+ gap: 8px;
222
+ box-sizing: border-box;
223
+ }
224
+
225
+ .jGIS-layer-browser-text-header {
226
+ overflow: hidden;
227
+ font-weight: bold;
228
+ text-transform: capitalize;
229
+ text-overflow: ellipsis;
230
+ white-space: nowrap;
231
+ }
232
+
233
+ .jGIS-layer-browser-text-p {
234
+ overflow: hidden;
235
+ text-overflow: ellipsis;
236
+ }
237
+
238
+ .jGIS-layer-browser-text-source {
239
+ overflow: hidden;
240
+ font-size: 0.75rem;
241
+ font-weight: lighter;
242
+ text-overflow: ellipsis;
243
+ white-space: nowrap;
244
+ }
245
+
246
+ .jGIS-layer-browser-text-description {
247
+ -webkit-line-clamp: 2;
248
+ -moz-box-orient: vertical;
249
+ display: -webkit-box;
250
+ overflow: hidden;
251
+ text-overflow: ellipsis;
252
+ }
253
+
254
+ .jGIS-layer-browser-text-general {
255
+ margin: 0;
256
+ }
@@ -0,0 +1,150 @@
1
+ /* -----------------------------------------------------------------------------
2
+ | Copyright (c) Jupyter Development Team.
3
+ | Distributed under the terms of the Modified BSD License.
4
+ |---------------------------------------------------------------------------- */
5
+
6
+ .jp-gis-sourcePanel,
7
+ .jp-gis-layerPanel {
8
+ min-height: 3em;
9
+ }
10
+
11
+ .jp-gis-layerItem,
12
+ .jp-gis-source {
13
+ padding: 2px 0 2px 12px;
14
+ }
15
+
16
+ .jp-gis-layerGroup {
17
+ display: flex;
18
+ flex-direction: column;
19
+ }
20
+
21
+ .jp-gis-layerGroupHeader {
22
+ display: flex;
23
+ margin-left: -2px;
24
+ padding-bottom: 4px;
25
+ }
26
+
27
+ .jp-gis-layerGroupHeader:hover {
28
+ cursor: pointer;
29
+ }
30
+
31
+ .jp-gis-layerGroupCollapser {
32
+ transform: rotate(-90deg);
33
+ margin: auto 0;
34
+ height: 16px;
35
+ }
36
+
37
+ .jp-gis-layerGroupCollapser.jp-mod-expanded {
38
+ transform: rotate(0deg);
39
+ }
40
+
41
+ .jp-gis-layer,
42
+ .jp-gis-source {
43
+ display: flex;
44
+ flex-direction: row;
45
+ align-items: center;
46
+ color: var(--jp-ui-font-color1);
47
+ }
48
+
49
+ .jp-gis-layer.jp-mod-selected,
50
+ .jp-gis-source.jp-mod-selected,
51
+ .jp-gis-layerGroupHeader.jp-mod-selected {
52
+ color: var(--jp-ui-inverse-font-color1);
53
+ background: var(--jp-brand-color1);
54
+ }
55
+
56
+ .jp-gis-layer:hover:not(.jp-mod-selected),
57
+ .jp-gis-source:hover:not(.jp-mod-selected) {
58
+ cursor: pointer;
59
+ background: var(--jp-layout-color2);
60
+ }
61
+
62
+ .jp-gis-layer.jp-mod-selected .jp-icon-selectable,
63
+ .jp-gis-source.jp-mod-selected .jp-icon-selectable,
64
+ .jp-gis-layerGroupHeader.jp-mod-selected .jp-icon-selectable {
65
+ fill: var(--jp-ui-inverse-font-color1);
66
+ }
67
+
68
+ .jp-gis-layer button,
69
+ .jp-gis-source button {
70
+ margin-left: auto;
71
+ min-height: unset;
72
+ min-width: unset;
73
+ padding: unset;
74
+ margin-right: 4px;
75
+ }
76
+
77
+ .jp-gis-layer.jp-mod-selected button:hover .jp-icon-selectable,
78
+ .jp-gis-source.jp-mod-selected button:hover .jp-icon-selectable {
79
+ fill: var(--jp-ui-font-color1);
80
+ }
81
+
82
+ .jp-gis-layerIcon,
83
+ .jp-gis-sourceIcon {
84
+ display: flex;
85
+ align-items: center;
86
+ }
87
+
88
+ .jp-gis-layerIcon > svg,
89
+ .jp-gis-sourceIcon > svg {
90
+ height: 16px;
91
+ width: 16px;
92
+ }
93
+
94
+ .jp-gis-layerTitle,
95
+ .jp-gis-sourceTitle {
96
+ display: flex;
97
+ flex-grow: 1;
98
+ align-items: center;
99
+ }
100
+
101
+ .jp-gis-layerText:focus,
102
+ .jp-gis-sourceText:focus {
103
+ outline: none;
104
+ }
105
+
106
+ .jp-gis-layerTitle .jp-gis-layerIcon,
107
+ .jp-gis-sourceTitle .jp-gis-sourceIcon {
108
+ padding-right: 4px;
109
+ }
110
+
111
+ .jp-gis-left-panel-input {
112
+ background-color: transparent;
113
+ border: 1px solid var(--jp-border-color1);
114
+ border-radius: 8px;
115
+ color: var(--jp-ui-font-color1);
116
+ flex-grow: 1;
117
+ margin-right: 4px;
118
+ outline: none;
119
+ padding: 2px 7px;
120
+ }
121
+
122
+ .jp-gis-left-panel-input:focus {
123
+ border: 1px solid var(--jp-brand-color1);
124
+ }
125
+
126
+ .jp-gis-layerText,
127
+ .jp-gis-sourceText {
128
+ padding: 3px 0;
129
+ cursor: pointer;
130
+ }
131
+
132
+ li .lm-Menu-itemLabel {
133
+ text-transform: capitalize;
134
+ }
135
+
136
+ .jp-gis-sourceInfo {
137
+ font-size: var(--jp-ui-font-size0);
138
+ font-style: italic;
139
+ padding-left: 5px;
140
+ color: var(--jp-ui-font-color2);
141
+ }
142
+
143
+ #jp-drag-indicator {
144
+ top: calc(-1 * var(--jp-border-width) + 1px);
145
+ left: calc(-1 * var(--jp-border-width));
146
+ content: '';
147
+ height: var(--jp-private-horizontal-tab-active-top-border);
148
+ width: calc(100% + 2 * var(--jp-border-width));
149
+ background: var(--jp-brand-color1);
150
+ }
@@ -0,0 +1,86 @@
1
+ .jp-gis-symbology-dialog .jp-Dialog-header {
2
+ font-weight: bold;
3
+ }
4
+
5
+ .jp-gis-symbology-dialog .jp-Dialog-content {
6
+ width: calc(80% - 4rem);
7
+ max-width: 80%;
8
+ height: fit-content;
9
+ max-height: 80%;
10
+ }
11
+
12
+ .jp-gis-symbology-row {
13
+ display: flex;
14
+ justify-content: space-between;
15
+ align-items: baseline;
16
+ gap: 2rem;
17
+ }
18
+
19
+ .jp-gis-symbology-row label {
20
+ font-size: var(--jp-ui-font-size2);
21
+ flex: 0 1 20%;
22
+ }
23
+
24
+ .jp-gis-symbology-row > .jp-select-wrapper {
25
+ flex: 1 0 50%;
26
+ max-width: 50%;
27
+ }
28
+
29
+ .jp-gis-band-container {
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 0.5rem;
33
+ }
34
+
35
+ .jp-gis-layer-symbology-container {
36
+ display: flex;
37
+ flex-direction: column;
38
+ }
39
+
40
+ .jp-gis-band-container .jp-gis-symbology-row:last-child {
41
+ margin-bottom: 12px;
42
+ }
43
+
44
+ .jp-gis-stop-container {
45
+ display: flex;
46
+ flex-direction: column;
47
+ gap: 0.1rem;
48
+ }
49
+
50
+ .jp-gis-stop-labels {
51
+ display: flex;
52
+ font-weight: bold;
53
+ font-size: var(--jp-ui-font-size1);
54
+ gap: 0.25rem;
55
+ padding-bottom: 0.25rem;
56
+ }
57
+
58
+ .jp-gis-stop-labels > span {
59
+ flex: 0 0 18%;
60
+ }
61
+
62
+ .jp-gis-color-row {
63
+ display: flex;
64
+ width: 100%;
65
+ gap: 0.25rem;
66
+ height: 32px;
67
+ }
68
+
69
+ .jp-gis-color-row > input[type='number'] {
70
+ flex: 0 1 18%;
71
+ min-width: 0px;
72
+ }
73
+
74
+ .jp-gis-color-row > input[type='color'] {
75
+ flex-grow: 1;
76
+ }
77
+
78
+ .jp-gis-color-row > button {
79
+ color: var(--jp-ui-font-color0);
80
+ background: none;
81
+ padding-right: 0px;
82
+ }
83
+
84
+ .jp-gis-symbology-button-container {
85
+ padding-top: 0.5rem;
86
+ }
@@ -0,0 +1,14 @@
1
+ .jp-gis-terrain-main {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.5rem;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .jp-gis-terrain-label {
9
+ margin: 0;
10
+ padding: 0;
11
+ font-weight: bold;
12
+ display: block;
13
+ position: relative;
14
+ }