@eeacms/volto-eea-map 4.1.0 → 5.0.0

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 (73) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/package.json +5 -2
  3. package/src/Arcgis/Editor/Editor.jsx +130 -0
  4. package/src/Arcgis/Editor/EditorContext.jsx +2 -0
  5. package/src/Arcgis/Editor/Fold/Fold.jsx +56 -0
  6. package/src/Arcgis/Editor/Panels/Panel.jsx +8 -0
  7. package/src/Arcgis/Editor/Panels/SettingsGeneralPanel.jsx +217 -0
  8. package/src/Arcgis/Editor/Panels/SettingsLayersPanel.jsx +216 -0
  9. package/src/Arcgis/Editor/Panels/StructureBaseLayerPanel.jsx +60 -0
  10. package/src/Arcgis/Editor/Panels/StructureLayersPanel.jsx +394 -0
  11. package/src/Arcgis/Editor/Panels/StructureWidgetsPanel.jsx +181 -0
  12. package/src/Arcgis/Editor/Panels/index.js +6 -0
  13. package/src/Arcgis/Editor/SidebarGroup.jsx +62 -0
  14. package/src/Arcgis/Layer/Layer.jsx +247 -0
  15. package/src/Arcgis/Map/Map.jsx +287 -0
  16. package/src/Arcgis/Map/MapBuilder.jsx +111 -0
  17. package/src/Arcgis/Map/MapContext.jsx +3 -0
  18. package/src/Arcgis/Widget/Widget.jsx +170 -0
  19. package/src/Arcgis/helpers.js +140 -0
  20. package/src/Blocks/EmbedEEAMap/Edit.jsx +40 -0
  21. package/src/Blocks/EmbedEEAMap/View.jsx +122 -0
  22. package/src/Blocks/EmbedEEAMap/helpers.js +12 -0
  23. package/src/Blocks/EmbedEEAMap/schema.js +126 -0
  24. package/src/{components → Toolbar}/Share.jsx +1 -1
  25. package/src/{components/ExtraViews.jsx → Toolbar/Toolbar.jsx} +14 -16
  26. package/src/{components/visualization → Views}/VisualizationView.jsx +8 -9
  27. package/src/Widgets/ArcgisColorPickerWidget.jsx +95 -0
  28. package/src/Widgets/ArcgisRendererWidget/ArcgisRendererWidget.jsx +106 -0
  29. package/src/Widgets/ArcgisRendererWidget/RendererEditor/ClassBreaks.jsx +8 -0
  30. package/src/Widgets/ArcgisRendererWidget/RendererEditor/Dictionary.jsx +8 -0
  31. package/src/Widgets/ArcgisRendererWidget/RendererEditor/DotDensity.jsx +8 -0
  32. package/src/Widgets/ArcgisRendererWidget/RendererEditor/Heatmap.jsx +8 -0
  33. package/src/Widgets/ArcgisRendererWidget/RendererEditor/PieChart.jsx +8 -0
  34. package/src/Widgets/ArcgisRendererWidget/RendererEditor/Simple.jsx +109 -0
  35. package/src/Widgets/ArcgisRendererWidget/RendererEditor/UniqueValue.jsx +8 -0
  36. package/src/Widgets/ArcgisRendererWidget/RendererEditor/_Editor.jsx +29 -0
  37. package/src/Widgets/ArcgisRendererWidget/RendererEditor/_EditorModal.jsx +88 -0
  38. package/src/Widgets/ArcgisRendererWidget/RendererEditor/_defaults.js +30 -0
  39. package/src/Widgets/ArcgisSliderWidget.jsx +79 -0
  40. package/src/Widgets/ArcgisViewpointWidget.jsx +112 -0
  41. package/src/{components/visualization → Widgets}/VisualizationViewWidget.jsx +9 -10
  42. package/src/Widgets/VisualizationWidget.jsx +200 -0
  43. package/src/arcgis.js +48 -0
  44. package/src/constants.js +225 -7
  45. package/src/hocs/withArcgis.jsx +27 -0
  46. package/src/hooks/useChangedProps.jsx +24 -0
  47. package/src/hooks/useClass.jsx +17 -0
  48. package/src/hooks/useCopyToClipboard.jsx +25 -0
  49. package/src/index.js +16 -16
  50. package/src/jsoneditor.js +72 -0
  51. package/src/styles/editor.less +446 -0
  52. package/src/styles/map.less +3 -0
  53. package/src/components/Blocks/EmbedEEAMap/Edit.jsx +0 -161
  54. package/src/components/Blocks/EmbedEEAMap/Schema.js +0 -161
  55. package/src/components/Blocks/EmbedEEAMap/View.jsx +0 -79
  56. package/src/components/Blocks/EmbedEEAMap/helpers.js +0 -45
  57. package/src/components/LegendView.jsx +0 -150
  58. package/src/components/Webmap.jsx +0 -371
  59. package/src/components/index.js +0 -6
  60. package/src/components/visualization/VisualizationEditorWidget.jsx +0 -122
  61. package/src/components/visualization/panelsSchema.js +0 -229
  62. package/src/components/widgets/DataQueryWidget.jsx +0 -51
  63. package/src/components/widgets/LayerSelectWidget.jsx +0 -463
  64. package/src/components/widgets/LayersPanelWidget.jsx +0 -59
  65. package/src/components/widgets/SimpleColorPickerWidget.jsx +0 -121
  66. package/src/hocs/index.js +0 -3
  67. package/src/hocs/withDeviceSize.jsx +0 -45
  68. package/src/less/global.less +0 -253
  69. package/src/less/variables.less +0 -5
  70. package/src/utils.js +0 -151
  71. /package/src/{components → Toolbar}/FigureNote.jsx +0 -0
  72. /package/src/{components → Toolbar}/MoreInfoLink.jsx +0 -0
  73. /package/src/{components → Toolbar}/Sources.jsx +0 -0
@@ -0,0 +1,25 @@
1
+ import { useState, useEffect, useCallback } from 'react';
2
+
3
+ const useCopyToClipboard = (text) => {
4
+ const [copyStatus, setCopyStatus] = useState('inactive');
5
+ const copy = useCallback(() => {
6
+ navigator.clipboard.writeText(text).then(
7
+ () => setCopyStatus('copied'),
8
+ () => setCopyStatus('failed'),
9
+ );
10
+ }, [text]);
11
+
12
+ useEffect(() => {
13
+ if (copyStatus === 'inactive') {
14
+ return;
15
+ }
16
+
17
+ const timeout = setTimeout(() => setCopyStatus('inactive'), 3000);
18
+
19
+ return () => clearTimeout(timeout);
20
+ }, [copyStatus]);
21
+
22
+ return [copyStatus, copy];
23
+ };
24
+
25
+ export default useCopyToClipboard;
package/src/index.js CHANGED
@@ -1,20 +1,20 @@
1
1
  import { uniqBy } from 'lodash';
2
2
 
3
- import EmbedMapView from './components/Blocks/EmbedEEAMap/View';
4
- import EmbedMapEdit from './components/Blocks/EmbedEEAMap/Edit';
3
+ import EmbedMapView from './Blocks/EmbedEEAMap/View';
4
+ import EmbedMapEdit from './Blocks/EmbedEEAMap/Edit';
5
5
 
6
6
  import world from '@plone/volto/icons/world.svg';
7
7
 
8
- import DataQueryWidget from './components/widgets/DataQueryWidget';
9
- import LayerSelectWidget from './components/widgets/LayerSelectWidget';
8
+ import VisualizationWidget from './Widgets/VisualizationWidget';
10
9
 
11
- import VisualizationEditorWidget from './components/visualization/VisualizationEditorWidget';
12
- import VisualizationViewWidget from './components/visualization/VisualizationViewWidget';
13
- import VisualizationView from './components/visualization/VisualizationView';
10
+ import ArcgisRendererWidget from './Widgets/ArcgisRendererWidget/ArcgisRendererWidget';
11
+ import ArcgisColorPickerWidget from './Widgets/ArcgisColorPickerWidget';
12
+ import ArcgisSliderWidget from './Widgets/ArcgisSliderWidget';
13
+ import ArcgisViewpointWidget from './Widgets/ArcgisViewpointWidget';
14
14
 
15
- import SimpleColorPickerWidget from './components/widgets/SimpleColorPickerWidget';
15
+ import VisualizationViewWidget from './Widgets/VisualizationViewWidget';
16
16
 
17
- import './less/global.less';
17
+ import VisualizationView from './Views/VisualizationView';
18
18
 
19
19
  const applyConfig = (config) => {
20
20
  config.settings.allowed_cors_destinations = [
@@ -64,15 +64,15 @@ const applyConfig = (config) => {
64
64
  'id',
65
65
  );
66
66
 
67
- config.widgets.widget.map_layers_widget = LayerSelectWidget;
68
- config.widgets.widget.data_query_widget = DataQueryWidget;
69
- config.widgets.widget.simple_color_picker_widget = SimpleColorPickerWidget;
67
+ config.views.contentTypesViews.map_visualization = VisualizationView;
68
+
69
+ config.widgets.widget.arcgis_renderer = ArcgisRendererWidget;
70
+ config.widgets.widget.arcgis_color_picker = ArcgisColorPickerWidget;
71
+ config.widgets.widget.arcgis_slider = ArcgisSliderWidget;
72
+ config.widgets.widget.arcgis_viewpoint = ArcgisViewpointWidget;
70
73
 
71
- //map editor for the visualization(content-type)
72
- config.widgets.id.map_visualization_data = VisualizationEditorWidget;
74
+ config.widgets.id.map_visualization_data = VisualizationWidget;
73
75
  config.widgets.views.id.map_visualization_data = VisualizationViewWidget;
74
- //map viewer for the visualization(content-type)
75
- config.views.contentTypesViews.map_visualization = VisualizationView;
76
76
 
77
77
  return config;
78
78
  };
@@ -0,0 +1,72 @@
1
+ import { isString } from 'lodash';
2
+ import { toast } from 'react-toastify';
3
+ import { Toast } from '@plone/volto/components';
4
+
5
+ import loadable from '@loadable/component';
6
+
7
+ const LoadableJsonEditor = loadable.lib(() => import('jsoneditor'));
8
+
9
+ const jsoneditor = __CLIENT__ && LoadableJsonEditor;
10
+
11
+ export async function initEditor({ el, editor, dflt, options, onInit }) {
12
+ if (!jsoneditor) return;
13
+ const module = await jsoneditor.load();
14
+ const { default: JSONEditor } = module;
15
+ // create the editor
16
+ const container = isString(el) ? document.getElementById(el) : el;
17
+
18
+ if (!container) {
19
+ return;
20
+ }
21
+
22
+ container.innerHTML = '';
23
+
24
+ const _options = {
25
+ mode: 'code',
26
+ enableTransform: false,
27
+ schema: {
28
+ type: 'array',
29
+ items: {
30
+ type: 'object',
31
+ },
32
+ },
33
+ ...options,
34
+ };
35
+
36
+ editor.current = new JSONEditor(container, _options);
37
+ // set initial json
38
+ editor.current.set(dflt);
39
+
40
+ if (onInit) onInit();
41
+ }
42
+
43
+ export function destroyEditor(editor) {
44
+ if (editor) {
45
+ editor.destroy();
46
+ editor = null;
47
+ }
48
+ }
49
+
50
+ export async function validateEditor(editor) {
51
+ const err = await editor.current.validate();
52
+
53
+ if (err.length) {
54
+ toast.warn(
55
+ <Toast
56
+ error
57
+ title={'JSON validation'}
58
+ content={'Please make sure all the fields are in the correct format'}
59
+ />,
60
+ );
61
+ return false;
62
+ }
63
+
64
+ return true;
65
+ }
66
+
67
+ export function onPasteEditor(editor) {
68
+ try {
69
+ editor.current.repair();
70
+ editor.current.format();
71
+ } catch {}
72
+ }
@@ -0,0 +1,446 @@
1
+ .arcgis-map {
2
+ &__editor {
3
+ --color-background-light: #f3f6fa;
4
+ --color-background-top: #fff;
5
+ --color-border-default: #c8d4e3;
6
+ --color-border-light: #dfe8f3;
7
+ --color-text-active: #2a3f5f;
8
+ --color-accent: #119dff;
9
+ --color-accent-shade: #0d76bf;
10
+ --color-accent-shade-mid: #0d76bf;
11
+ --color-button-primary-base-fill: var(--color-accent);
12
+ --color-button-primary-base-border: var(--color-accent-shade);
13
+ --color-button-primary-hover-fill: var(--color-accent-shade-mid);
14
+ --color-button-primary-hover-border: var(--color-accent-shade);
15
+ --color-button-primary-base-text: #fff;
16
+ --color-button-primary-hover-text: #fff;
17
+ --text-shadow-dark-color: rgba(42, 63, 95, 0.7);
18
+ --border-default: 1px solid var(--color-border-default);
19
+ --border-light: 1px solid var(--color-border-light);
20
+ --border-radius: 5px;
21
+ --spacing-half-unit: 12px;
22
+ --spacing-quarter-unit: 6px;
23
+ --sidebar-background: #fff;
24
+ --sidebar-group-background-base: var(--sidebar-background);
25
+ --sidebar-item-background-base: var(--color-background-light);
26
+ --sidebar-width: 100px;
27
+ --panel-width: 500px;
28
+ --panel-background: #ebf0f8;
29
+ --editor-width: calc(var(--sidebar-width) + var(--panel-width) + 1px);
30
+ --font-weight-normal: 400;
31
+ --font-weight-semibold: 600;
32
+ --font-size-small: 12px;
33
+ --font-size-base: 13px;
34
+ --font-size-medium: 14px;
35
+ --color-text-base: #506784;
36
+ --text-shadow-dark-ui: 0 1px 2px var(--text-shadow-dark-color);
37
+ --text-shadow-dark-ui-inactive: 0 1px 1px rgba(42, 63, 95, 0.4);
38
+ --box-shadow-base-color: rgba(80, 103, 132, 0.2);
39
+ --box-shadow-base: 0px 2px 9px var(--box-shadow-base-color);
40
+ --fold-header-background-base: #506784;
41
+ --fold-header-border-color-base: #506784;
42
+ --fold-header-text-color-closed: #fff;
43
+ --fold-header-text-color-base: #fff;
44
+ --fold-header-border-color-closed: #2a3f5f;
45
+ --fold-header-background-closed: #2a3f5f;
46
+
47
+ display: flex;
48
+ width: 100%;
49
+ height: 100%;
50
+ max-height: 100%;
51
+ flex-grow: 1;
52
+
53
+ button {
54
+ display: inline-flex;
55
+ height: 36px;
56
+ align-items: center;
57
+ padding: var(--spacing-quarter-unit) var(--spacing-half-unit);
58
+ border-width: 1px;
59
+ border-style: solid;
60
+ border-color: transparent;
61
+ border-radius: var(--border-radius);
62
+ column-gap: 0.25rem;
63
+ cursor: pointer;
64
+ font-size: var(--font-size-medium);
65
+ font-weight: var(--font-weight-semibold);
66
+ letter-spacing: 0.5px;
67
+ line-height: 1;
68
+ outline: none;
69
+ text-align: center;
70
+ transition: all 0.15s ease-in-out;
71
+ -webkit-user-select: none;
72
+ -moz-user-select: none;
73
+ -ms-user-select: none;
74
+ user-select: none;
75
+
76
+ &:first-letter {
77
+ text-transform: capitalize;
78
+ }
79
+
80
+ &.btn-primary {
81
+ border-color: var(--color-button-primary-base-border);
82
+ background-color: var(--color-button-primary-base-fill);
83
+ color: var(--color-button-primary-base-text);
84
+ text-shadow: var(--text-shadow-dark-ui);
85
+
86
+ &:hover {
87
+ border: 1px solid var(--color-button-primary-hover-border);
88
+ background-color: var(--color-button-primary-hover-fill);
89
+ color: var(--color-button-primary-hover-text);
90
+ }
91
+ }
92
+ }
93
+
94
+ .ruleGroup .rule .rule-value:has(.rule-value-list-item) {
95
+ input {
96
+ width: 50%;
97
+ }
98
+ }
99
+
100
+ .ruleGroup .ruleGroup-body {
101
+ gap: 1rem;
102
+ }
103
+
104
+ .ruleGroup .custom-rule {
105
+ display: flex;
106
+ flex-flow: column;
107
+ gap: 0.5rem;
108
+
109
+ .react-select {
110
+ .react-select__control {
111
+ width: 100%;
112
+ min-height: auto;
113
+ }
114
+
115
+ .react-select__value-container {
116
+ padding: 0.3em !important;
117
+ }
118
+
119
+ .react-select__indicator {
120
+ padding: 0.3em !important;
121
+ }
122
+ }
123
+ }
124
+ }
125
+
126
+ &__view {
127
+ .esri-view {
128
+ --ag-map-height: 100% !important;
129
+ }
130
+ }
131
+
132
+ &__controls {
133
+ position: relative;
134
+ display: flex;
135
+ overflow: hidden;
136
+ width: var(--editor-width);
137
+ flex-shrink: 0;
138
+ margin-right: 1rem;
139
+ }
140
+
141
+ &__view {
142
+ position: sticky;
143
+ top: 10px;
144
+ width: 100%;
145
+ height: 100%;
146
+ }
147
+
148
+ &__sidebar {
149
+ width: var(--sidebar-width);
150
+ min-width: var(--sidebar-width);
151
+ max-width: var(--sidebar-width);
152
+ height: 100%;
153
+ flex-grow: 1;
154
+ border-right: var(--border-default);
155
+ background: var(--sidebar-background);
156
+ float: left;
157
+ -webkit-overflow-scrolling: touch;
158
+ overflow-x: hidden;
159
+ overflow-y: auto;
160
+ text-align: center;
161
+ -webkit-user-select: none;
162
+ -moz-user-select: none;
163
+ -ms-user-select: none;
164
+ user-select: none;
165
+
166
+ .sidebar-group {
167
+ &--title {
168
+ position: relative;
169
+ display: flex;
170
+ width: 100%;
171
+ align-items: center;
172
+ padding: var(--spacing-half-unit) 0;
173
+ border-bottom: var(--border-light);
174
+ background-color: var(--sidebar-group-background-base);
175
+
176
+ color: var(--color-text-base);
177
+ cursor: pointer;
178
+ font-size: var(--font-size-medium);
179
+ font-weight: var(--font-weight-normal);
180
+ text-align: left;
181
+ text-transform: capitalize;
182
+
183
+ &__icon {
184
+ height: 20px;
185
+
186
+ svg {
187
+ rotate: 90deg;
188
+ }
189
+ }
190
+ }
191
+
192
+ &--item {
193
+ position: relative;
194
+ overflow: hidden;
195
+ padding: 10px;
196
+ padding-right: var(--spacing-quarter-unit);
197
+ padding-left: 18px;
198
+ border-bottom: var(--border-light);
199
+ background-color: var(--sidebar-item-background-base);
200
+ color: var(--color-text-base);
201
+ cursor: pointer;
202
+ font-size: var(--font-size-medium);
203
+ font-weight: var(--font-weight-normal);
204
+ line-height: var(--font-size-medium);
205
+ text-align: left;
206
+ text-transform: capitalize;
207
+
208
+ &::before {
209
+ position: absolute;
210
+ top: 0;
211
+ left: 0;
212
+ width: 5px;
213
+ height: 100%;
214
+ background-color: var(--color-accent);
215
+ content: '';
216
+ transform: scaleX(0);
217
+ transform-origin: left center;
218
+ transition: all 0.15s ease-in-out;
219
+ will-change: transform;
220
+ }
221
+
222
+ &__is-active {
223
+ color: var(--color-text-active);
224
+ cursor: default;
225
+ font-weight: var(--font-weight-semibold);
226
+
227
+ &::before {
228
+ transform: none;
229
+ }
230
+ }
231
+ }
232
+
233
+ &--expanded {
234
+ .sidebar-group--title {
235
+ position: relative;
236
+ z-index: 4;
237
+ box-shadow: var(--box-shadow-base);
238
+
239
+ &__icon svg {
240
+ rotate: 180deg;
241
+ }
242
+ }
243
+ }
244
+
245
+ &--is-active {
246
+ .sidebar-group--title {
247
+ color: var(--color-text-active);
248
+ font-weight: var(--font-weight-semibold);
249
+
250
+ &__icon svg {
251
+ fill: var(--color-accent) !important;
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+
258
+ &__panel {
259
+ position: relative;
260
+ display: flex;
261
+ width: var(--panel-width);
262
+ box-sizing: border-box;
263
+ flex-direction: column;
264
+ flex-grow: 1;
265
+ padding: var(--spacing-half-unit);
266
+ border-right: var(--border-default);
267
+ background-color: var(--panel-background);
268
+ -webkit-overflow-scrolling: touch;
269
+ overflow-x: hidden;
270
+ overflow-y: auto;
271
+
272
+ .panel {
273
+ &--header {
274
+ display: flex;
275
+ flex-shrink: 0;
276
+ margin-bottom: var(--spacing-half-unit);
277
+ }
278
+ }
279
+
280
+ .fold {
281
+ position: relative;
282
+ width: 100%;
283
+ margin-bottom: var(--spacing-half-unit);
284
+ -webkit-user-select: none;
285
+ -moz-user-select: none;
286
+ -ms-user-select: none;
287
+ user-select: none;
288
+
289
+ &.foldable {
290
+ .fold--top {
291
+ cursor: pointer;
292
+ }
293
+ }
294
+
295
+ &--top {
296
+ display: flex;
297
+ height: auto;
298
+ justify-content: space-between;
299
+ padding: var(--spacing-quarter-unit) var(--spacing-half-unit);
300
+ border: 1px solid var(--fold-header-border-color-closed);
301
+ border-radius: var(--border-radius);
302
+ background-color: var(--fold-header-background-closed);
303
+ clear: both;
304
+ color: var(--fold-header-text-color-closed);
305
+ font-size: var(--font-size-base);
306
+ text-shadow: var(--text-shadow-dark-ui);
307
+ transition:
308
+ background-color 0.1s ease-in-out,
309
+ color 0.1s ease-in-out,
310
+ border 0.1s ease-in-out;
311
+
312
+ &__content {
313
+ display: flex;
314
+ flex-grow: 1;
315
+ }
316
+
317
+ &__fold {
318
+ rotate: 90deg;
319
+ }
320
+
321
+ &__title {
322
+ overflow: hidden;
323
+ max-width: 230px;
324
+ margin-left: calc(var(--spacing-half-unit) / 3);
325
+ font-size: var(--font-size-medium);
326
+ font-weight: var(--font-weight-semibold);
327
+ letter-spacing: 0.2px;
328
+ line-height: var(--font-size-medium);
329
+ text-overflow: ellipsis;
330
+ transform: translateY(1px);
331
+ white-space: nowrap;
332
+ }
333
+ }
334
+
335
+ &--content {
336
+ padding: 0.5rem;
337
+ border: var(--border-default);
338
+ border-width: 0 1px 1px 1px;
339
+ background: var(--color-background-top);
340
+ border-bottom-left-radius: 5px;
341
+ border-bottom-right-radius: 5px;
342
+ }
343
+
344
+ &__open {
345
+ .fold--top {
346
+ border: 1px solid var(--fold-header-border-color-base);
347
+ border-radius: var(--border-radius) var(--border-radius) 0 0;
348
+ background-color: var(--fold-header-background-base);
349
+ color: var(--fold-header-text-color-base);
350
+ text-shadow: var(--text-shadow-dark-ui-inactive);
351
+ }
352
+
353
+ .fold--top__fold {
354
+ rotate: 180deg;
355
+ }
356
+ }
357
+ }
358
+ }
359
+ }
360
+
361
+ .arcgis-map__editor {
362
+ .queryBuilder {
363
+ font-size: var(--font-size-small);
364
+
365
+ button {
366
+ height: auto !important;
367
+ font-size: var(--font-size-small);
368
+ }
369
+
370
+ select.rule-fields {
371
+ max-width: 100px;
372
+ }
373
+
374
+ input.rule-value {
375
+ width: 100%;
376
+ }
377
+ }
378
+
379
+ .ui.segment.form.attached .field:last-child {
380
+ margin-bottom: 0;
381
+ }
382
+
383
+ .ui.form .field .wrapper > label,
384
+ .inline.field {
385
+ font-size: var(--font-size-small);
386
+ }
387
+
388
+ .ui.form.accordion .title {
389
+ display: flex;
390
+ height: auto;
391
+ flex-flow: row-reverse;
392
+ align-items: center;
393
+ justify-content: flex-end;
394
+ padding: var(--spacing-quarter-unit) var(--spacing-half-unit);
395
+ border: 1px solid var(--fold-header-border-color-base);
396
+ border-radius: var(--border-radius) var(--border-radius) 0 0;
397
+ background-color: var(--fold-header-background-base) !important;
398
+ clear: both;
399
+ color: var(--fold-header-text-color-base) !important;
400
+ column-gap: calc(var(--spacing-half-unit) / 3);
401
+ font-size: var(--font-size-medium);
402
+ text-shadow: var(--text-shadow-dark-ui-inactive);
403
+ transition:
404
+ background-color 0.1s ease-in-out,
405
+ color 0.1s ease-in-out,
406
+ border 0.1s ease-in-out;
407
+
408
+ svg {
409
+ height: 16px !important;
410
+ rotate: 180deg !important;
411
+ }
412
+
413
+ &:not(.active) {
414
+ border: 1px solid var(--fold-header-border-color-closed) !important;
415
+ border-radius: var(--border-radius) !important;
416
+ background-color: var(--fold-header-background-closed) !important;
417
+ color: var(--fold-header-text-color-closed) !important;
418
+ text-shadow: var(--text-shadow-dark-ui) !important;
419
+
420
+ svg {
421
+ rotate: -90deg !important;
422
+ }
423
+ }
424
+ }
425
+
426
+ #blockform-fieldset-default {
427
+ .ui.segment.form:empty {
428
+ display: none;
429
+ }
430
+ }
431
+ }
432
+
433
+ .arcgis-renderer-editor {
434
+ padding: 1rem 0.625rem;
435
+ font-size: var(--font-size-small);
436
+
437
+ .ui.form.segment {
438
+ padding: 0;
439
+ }
440
+ }
441
+
442
+ .arcgis-viewpoint-editor {
443
+ .ui.form.segment {
444
+ padding: 0;
445
+ }
446
+ }
@@ -0,0 +1,3 @@
1
+ .esri-view {
2
+ height: var(--ag-map-height, 600px);
3
+ }