@jupytergis/base 0.10.1 → 0.11.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 (49) hide show
  1. package/lib/commands/BaseCommandIDs.d.ts +1 -0
  2. package/lib/commands/BaseCommandIDs.js +2 -0
  3. package/lib/commands/index.js +14 -0
  4. package/lib/constants.js +1 -0
  5. package/lib/dialogs/symbology/vector_layer/types/Categorized.js +1 -5
  6. package/lib/formbuilder/formselectors.js +5 -1
  7. package/lib/formbuilder/objectform/StoryEditorForm.d.ts +8 -0
  8. package/lib/formbuilder/objectform/StoryEditorForm.js +10 -0
  9. package/lib/formbuilder/objectform/components/StorySegmentReset.d.ts +8 -0
  10. package/lib/formbuilder/objectform/components/StorySegmentReset.js +24 -0
  11. package/lib/formbuilder/objectform/layer/index.d.ts +1 -0
  12. package/lib/formbuilder/objectform/layer/index.js +1 -0
  13. package/lib/formbuilder/objectform/layer/storySegmentLayerForm.d.ts +5 -0
  14. package/lib/formbuilder/objectform/layer/storySegmentLayerForm.js +32 -0
  15. package/lib/mainview/mainView.js +61 -7
  16. package/lib/panelview/components/layers.d.ts +2 -1
  17. package/lib/panelview/components/layers.js +31 -23
  18. package/lib/panelview/components/story-maps/PreviewModeSwitch.d.ts +7 -0
  19. package/lib/panelview/components/story-maps/PreviewModeSwitch.js +12 -0
  20. package/lib/panelview/components/story-maps/StoryEditorPanel.d.ts +7 -0
  21. package/lib/panelview/components/story-maps/StoryEditorPanel.js +29 -0
  22. package/lib/panelview/components/story-maps/StoryNavBar.d.ts +9 -0
  23. package/lib/panelview/components/story-maps/StoryNavBar.js +11 -0
  24. package/lib/panelview/components/story-maps/StoryViewerPanel.d.ts +7 -0
  25. package/lib/panelview/components/story-maps/StoryViewerPanel.js +166 -0
  26. package/lib/panelview/leftpanel.js +87 -5
  27. package/lib/panelview/rightpanel.js +32 -2
  28. package/lib/shared/components/Calendar.d.ts +1 -1
  29. package/lib/shared/components/Command.d.ts +18 -0
  30. package/lib/shared/components/Command.js +60 -0
  31. package/lib/shared/components/Dialog.d.ts +15 -0
  32. package/lib/shared/components/Dialog.js +62 -0
  33. package/lib/shared/components/RadioGroup.d.ts +5 -0
  34. package/lib/shared/components/RadioGroup.js +26 -0
  35. package/lib/shared/components/Switch.d.ts +4 -0
  36. package/lib/shared/components/Switch.js +20 -0
  37. package/lib/toolbar/widget.d.ts +10 -0
  38. package/lib/toolbar/widget.js +49 -0
  39. package/lib/tools.js +1 -1
  40. package/package.json +8 -3
  41. package/style/base.css +4 -0
  42. package/style/leftPanel.css +18 -0
  43. package/style/shared/button.css +1 -1
  44. package/style/shared/dialog.css +177 -0
  45. package/style/shared/radioGroup.css +55 -0
  46. package/style/shared/switch.css +63 -0
  47. package/style/shared/tabs.css +3 -2
  48. package/style/storyPanel.css +68 -0
  49. package/style/tabPanel.css +1 -2
@@ -39,6 +39,15 @@ function createUserIconRenderer(model) {
39
39
  export class ToolbarWidget extends ReactiveToolbar {
40
40
  constructor(options) {
41
41
  super();
42
+ this._newSubMenu = null;
43
+ /**
44
+ * Handles settings changes
45
+ */
46
+ this._onSettingsChanged = (sender, key) => {
47
+ if (key === 'storyMapsDisabled') {
48
+ this._updateStorySegmentMenuItem();
49
+ }
50
+ };
42
51
  this._model = options.model;
43
52
  this.addClass('jGIS-toolbar-widget');
44
53
  if (options.commands) {
@@ -51,6 +60,7 @@ export class ToolbarWidget extends ReactiveToolbar {
51
60
  openLayersBrowserButton.node.dataset.testid = 'open-layers-browser';
52
61
  const NewSubMenu = new MenuSvg({ commands: options.commands });
53
62
  NewSubMenu.title.label = 'Add Layer';
63
+ this._newSubMenu = NewSubMenu;
54
64
  NewSubMenu.addItem({
55
65
  type: 'submenu',
56
66
  submenu: rasterSubMenu(options.commands),
@@ -59,6 +69,9 @@ export class ToolbarWidget extends ReactiveToolbar {
59
69
  type: 'submenu',
60
70
  submenu: vectorSubMenu(options.commands),
61
71
  });
72
+ this._updateStorySegmentMenuItem();
73
+ // Listen for settings changes
74
+ this._model.settingsChanged.connect(this._onSettingsChanged, this);
62
75
  const NewEntryButton = new ToolbarButton({
63
76
  icon: addIcon,
64
77
  noFocusOnClick: false,
@@ -117,4 +130,40 @@ export class ToolbarWidget extends ReactiveToolbar {
117
130
  this.addItem('users', ReactWidget.create(React.createElement(UsersItem, { model: this._model, iconRenderer: iconRenderer })));
118
131
  }
119
132
  }
133
+ /**
134
+ * Updates the story segment menu item based on settings
135
+ */
136
+ _updateStorySegmentMenuItem() {
137
+ if (!this._newSubMenu) {
138
+ return;
139
+ }
140
+ const shouldShow = !this._model.jgisSettings.storyMapsDisabled;
141
+ // Find if the item already exists by checking menu items
142
+ let itemIndex = null;
143
+ for (let i = 0; i < this._newSubMenu.items.length; i++) {
144
+ const item = this._newSubMenu.items[i];
145
+ if (item.type === 'command' &&
146
+ item.command === CommandIDs.addStorySegment) {
147
+ itemIndex = i;
148
+ break;
149
+ }
150
+ }
151
+ const isCurrentlyAdded = itemIndex !== null;
152
+ if (shouldShow && !isCurrentlyAdded) {
153
+ this._newSubMenu.addItem({
154
+ command: CommandIDs.addStorySegment,
155
+ });
156
+ }
157
+ else if (!shouldShow && isCurrentlyAdded) {
158
+ if (itemIndex !== null) {
159
+ this._newSubMenu.removeItemAt(itemIndex);
160
+ }
161
+ }
162
+ }
163
+ dispose() {
164
+ if (this._model) {
165
+ this._model.settingsChanged.disconnect(this._onSettingsChanged, this);
166
+ }
167
+ super.dispose();
168
+ }
120
169
  }
package/lib/tools.js CHANGED
@@ -131,7 +131,7 @@ export function createDefaultLayerRegistry(layerBrowserRegistry) {
131
131
  }
132
132
  // TODO: These need better names
133
133
  /**
134
- * Parse tile information from providers to be useable in the layer registry
134
+ * Parse tile information from providers to be usable in the layer registry
135
135
  *
136
136
  * @param entry - The name of the entry, which may also serve as the default provider name if none is specified.
137
137
  * @param xyzprovider - An object containing the XYZ provider's details, including name, URL, zoom levels, attribution, and possibly other properties relevant to the provider.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jupytergis/base",
3
- "version": "0.10.1",
3
+ "version": "0.11.1",
4
4
  "description": "A JupyterLab extension for 3D modelling.",
5
5
  "keywords": [
6
6
  "jupyter",
@@ -41,10 +41,10 @@
41
41
  "@fortawesome/fontawesome-svg-core": "^6.5.2",
42
42
  "@fortawesome/free-solid-svg-icons": "^6.5.2",
43
43
  "@fortawesome/react-fontawesome": ">=0.2.6 <3.0.0",
44
- "@jupyter/collaboration": "^3.1.0",
44
+ "@jupyter/collaboration": "^4",
45
45
  "@jupyter/react-components": "^0.16.6",
46
46
  "@jupyter/ydoc": "^2.0.0 || ^3.0.0",
47
- "@jupytergis/schema": "^0.10.1",
47
+ "@jupytergis/schema": "^0.11.1",
48
48
  "@jupyterlab/application": "^4.3.0",
49
49
  "@jupyterlab/apputils": "^4.3.0",
50
50
  "@jupyterlab/completer": "^4.3.0",
@@ -65,9 +65,12 @@
65
65
  "@mapbox/vector-tile": "^2.0.3",
66
66
  "@naisutech/react-tree": "^3.0.1",
67
67
  "@radix-ui/react-checkbox": "^1.3.2",
68
+ "@radix-ui/react-dialog": "^1.1.15",
68
69
  "@radix-ui/react-dropdown-menu": "^2.1.15",
69
70
  "@radix-ui/react-popover": "^1.1.14",
71
+ "@radix-ui/react-radio-group": "^1.3.8",
70
72
  "@radix-ui/react-slot": "^1.2.3",
73
+ "@radix-ui/react-switch": "^1.2.6",
71
74
  "@radix-ui/react-tabs": "^1.1.12",
72
75
  "@radix-ui/react-toggle-group": "^1.1.10",
73
76
  "@rjsf/core": "^4.2.0",
@@ -75,6 +78,7 @@
75
78
  "ajv": "^8.14.0",
76
79
  "class-variance-authority": "^0.7.1",
77
80
  "clsx": "^2.1.1",
81
+ "cmdk": "^1.1.1",
78
82
  "colormap": "^2.3.2",
79
83
  "d3-color": "^3.1.0",
80
84
  "date-fns": "^4.1.0",
@@ -93,6 +97,7 @@
93
97
  "proj4-list": "1.0.4",
94
98
  "react": "^18.0.1",
95
99
  "react-day-picker": "^9.7.0",
100
+ "react-markdown": "^10.1.0",
96
101
  "shpjs": "^6.1.0",
97
102
  "styled-components": "^5.3.6",
98
103
  "three": "^0.135.0",
package/style/base.css CHANGED
@@ -11,6 +11,7 @@
11
11
  @import url('./statusBar.css');
12
12
  @import url('./temporalSlider.css');
13
13
  @import url('./tabPanel.css');
14
+ @import url('./storyPanel.css');
14
15
  @import url('ol/ol.css');
15
16
  @import url('./shared/button.css');
16
17
  @import url('./shared/toggle.css');
@@ -20,6 +21,9 @@
20
21
  @import url('./shared/dropdownMenu.css');
21
22
  @import url('./shared/badge.css');
22
23
  @import url('./shared/checkbox.css');
24
+ @import url('./shared/radioGroup.css');
25
+ @import url('./shared/dialog.css');
26
+ @import url('./shared/switch.css');
23
27
 
24
28
  .errors {
25
29
  color: var(--jp-warn-color0);
@@ -138,6 +138,24 @@
138
138
  .jp-gis-sourceText {
139
139
  padding: 3px 0;
140
140
  cursor: pointer;
141
+ flex-grow: 1;
142
+ }
143
+
144
+ .jp-gis-layerSlideNumber {
145
+ box-sizing: border-box;
146
+ display: inline-flex;
147
+ align-items: center;
148
+ justify-content: center;
149
+ min-width: 18px;
150
+ height: 18px;
151
+ padding: 0 6px;
152
+ margin-right: 4px;
153
+ background-color: var(--jp-brand-color1);
154
+ color: var(--jp-ui-inverse-font-color1);
155
+ border-radius: 9999px;
156
+ font-size: var(--jp-ui-font-size0);
157
+ font-weight: 600;
158
+ line-height: 1;
141
159
  }
142
160
 
143
161
  li .lm-Menu-itemLabel {
@@ -10,7 +10,7 @@
10
10
  background-color: var(--jp-layout-color0);
11
11
  color: var(--jp-ui-font-color0);
12
12
  border: 0.0375rem solid
13
- color-mix(in srgb, var(--jp-accent-color0), transparent 20%);
13
+ color-mix(in srgb, var(--jp-border-color1), transparent 20%);
14
14
  transition: background-color 0.2s ease;
15
15
  height: 2.5rem;
16
16
  padding-left: 1rem;
@@ -0,0 +1,177 @@
1
+ @keyframes dialog-fade-in {
2
+ from {
3
+ opacity: 0;
4
+ }
5
+ to {
6
+ opacity: 1;
7
+ }
8
+ }
9
+
10
+ @keyframes dialog-fade-out {
11
+ from {
12
+ opacity: 1;
13
+ }
14
+ to {
15
+ opacity: 0;
16
+ }
17
+ }
18
+
19
+ @keyframes dialog-zoom-in {
20
+ from {
21
+ opacity: 0;
22
+ transform: scale(0.95);
23
+ }
24
+ to {
25
+ opacity: 1;
26
+ transform: scale(1);
27
+ }
28
+ }
29
+
30
+ @keyframes dialog-zoom-out {
31
+ from {
32
+ opacity: 1;
33
+ transform: scale(1);
34
+ }
35
+ to {
36
+ opacity: 0;
37
+ transform: scale(0.95);
38
+ }
39
+ }
40
+
41
+ .jgis-dialog-overlay {
42
+ position: fixed;
43
+ inset: 0;
44
+ z-index: 50;
45
+ background-color: color-mix(in srgb, black, transparent 50%);
46
+ }
47
+
48
+ .jgis-dialog-overlay[data-state='open'] {
49
+ animation: dialog-fade-in 0.2s ease-in-out;
50
+ }
51
+
52
+ .jgis-dialog-overlay[data-state='closed'] {
53
+ animation: dialog-fade-out 0.2s ease-in-out;
54
+ }
55
+
56
+ .jgis-dialog-content {
57
+ position: fixed;
58
+ top: 50%;
59
+ left: 50%;
60
+ z-index: 50;
61
+ display: grid;
62
+ width: 100%;
63
+ max-width: calc(100% - 2rem);
64
+ transform: translate(-50%, -50%);
65
+ gap: 1rem;
66
+ border-radius: 0.5rem;
67
+ border: 1px solid var(--jp-border-color0);
68
+ background-color: var(--jp-layout-color0);
69
+ padding: 1.5rem;
70
+ box-shadow:
71
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
72
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
73
+ transition-duration: 200ms;
74
+ }
75
+
76
+ @media (min-width: 640px) {
77
+ .jgis-dialog-content {
78
+ max-width: 32rem;
79
+ }
80
+ }
81
+
82
+ .jgis-dialog-content[data-state='open'] {
83
+ animation:
84
+ dialog-fade-in 0.2s ease-in-out,
85
+ dialog-zoom-in 0.2s ease-in-out;
86
+ }
87
+
88
+ .jgis-dialog-content[data-state='closed'] {
89
+ animation:
90
+ dialog-fade-out 0.2s ease-in-out,
91
+ dialog-zoom-out 0.2s ease-in-out;
92
+ }
93
+
94
+ .jgis-dialog-close {
95
+ position: absolute;
96
+ top: 1rem;
97
+ right: 1rem;
98
+ border-radius: 0.125rem;
99
+ opacity: 0.7;
100
+ transition: opacity 0.15s ease-in-out;
101
+ outline: none;
102
+ }
103
+
104
+ .jgis-dialog-close:hover {
105
+ opacity: 1;
106
+ }
107
+
108
+ .jgis-dialog-close:focus {
109
+ opacity: 1;
110
+ box-shadow: 0 0 0 2px var(--jp-ui-font-color0);
111
+ outline: none;
112
+ }
113
+
114
+ .jgis-dialog-close:disabled {
115
+ pointer-events: none;
116
+ }
117
+
118
+ .jgis-dialog-close[data-state='open'] {
119
+ background-color: var(--jp-layout-color2);
120
+ color: var(--jp-ui-font-color2);
121
+ }
122
+
123
+ .jgis-dialog-close svg {
124
+ pointer-events: none;
125
+ flex-shrink: 0;
126
+ width: 1rem;
127
+ height: 1rem;
128
+ }
129
+
130
+ .jgis-dialog-header {
131
+ display: flex;
132
+ flex-direction: column;
133
+ gap: 0.5rem;
134
+ text-align: center;
135
+ }
136
+
137
+ @media (min-width: 640px) {
138
+ .jgis-dialog-header {
139
+ text-align: left;
140
+ }
141
+ }
142
+
143
+ .jgis-dialog-footer {
144
+ display: flex;
145
+ flex-direction: column-reverse;
146
+ gap: 0.5rem;
147
+ }
148
+
149
+ @media (min-width: 640px) {
150
+ .jgis-dialog-footer {
151
+ flex-direction: row;
152
+ justify-content: flex-end;
153
+ }
154
+ }
155
+
156
+ .jgis-dialog-title {
157
+ font-size: 1.125rem;
158
+ line-height: 1;
159
+ font-weight: 600;
160
+ }
161
+
162
+ .jgis-dialog-description {
163
+ font-size: 0.875rem;
164
+ color: var(--jp-ui-font-color2);
165
+ }
166
+
167
+ .jgis-sr-only {
168
+ position: absolute;
169
+ width: 1px;
170
+ height: 1px;
171
+ padding: 0;
172
+ margin: -1px;
173
+ overflow: hidden;
174
+ clip: rect(0, 0, 0, 0);
175
+ white-space: nowrap;
176
+ border-width: 0;
177
+ }
@@ -0,0 +1,55 @@
1
+ .jgis-radio-group {
2
+ display: grid;
3
+ gap: 0.75rem;
4
+ }
5
+
6
+ .jgis-radio-group-item {
7
+ aspect-ratio: 1 / 1;
8
+ width: 1rem;
9
+ height: 1rem;
10
+ flex-shrink: 0;
11
+ border-radius: 9999px !important;
12
+ border: 1px solid var(--jp-border-color0);
13
+ background-color: var(--jp-layout-color2);
14
+ color: var(--jp-ui-font-color0);
15
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
16
+ transition:
17
+ color 0.15s ease-in-out,
18
+ box-shadow 0.15s ease-in-out;
19
+ outline: none;
20
+ cursor: pointer;
21
+ }
22
+
23
+ .jgis-radio-group-item:focus-visible {
24
+ border-color: var(--jp-ui-font-color0);
25
+ box-shadow: 0 0 0 3px
26
+ color-mix(in srgb, var(--jp-ui-font-color0), transparent 50%);
27
+ }
28
+
29
+ .jgis-radio-group-item[aria-invalid='true'] {
30
+ border-color: var(--jp-error-color0, #dc2626);
31
+ box-shadow: 0 0 0 3px
32
+ color-mix(in srgb, var(--jp-error-color0, #dc2626), transparent 80%);
33
+ }
34
+
35
+ .jgis-radio-group-item:disabled {
36
+ cursor: not-allowed;
37
+ opacity: 0.5;
38
+ }
39
+
40
+ .jgis-radio-group-indicator {
41
+ position: relative;
42
+ display: flex;
43
+ align-items: center;
44
+ justify-content: center;
45
+ }
46
+
47
+ .jgis-radio-group-indicator-icon {
48
+ position: absolute;
49
+ top: 50%;
50
+ left: 50%;
51
+ width: 0.5rem;
52
+ height: 0.5rem;
53
+ transform: translate(-50%, -50%);
54
+ fill: currentColor;
55
+ }
@@ -0,0 +1,63 @@
1
+ .jgis-switch {
2
+ display: inline-flex;
3
+ height: 1.15rem;
4
+ width: 2rem;
5
+ flex-shrink: 0;
6
+ align-items: center;
7
+ border-radius: 9999px !important;
8
+ border: 1px solid transparent;
9
+ /* border: 1px solid var(--jp-brand-color3); */
10
+ box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
11
+ transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
12
+ outline: none;
13
+ cursor: pointer;
14
+ }
15
+
16
+ .jgis-switch:focus-visible {
17
+ border-color: var(--jp-border-color0);
18
+ box-shadow: 0 0 0 3px
19
+ color-mix(in srgb, var(--jp-ui-font-color0), transparent 50%);
20
+ }
21
+
22
+ .jgis-switch:disabled {
23
+ cursor: not-allowed;
24
+ opacity: 0.5;
25
+ }
26
+
27
+ .jgis-switch[data-state='checked'] {
28
+ background-color: var(--jp-accent-color0);
29
+ }
30
+
31
+ .jgis-switch[data-state='unchecked'] {
32
+ background-color: var(--jp-layout-color2);
33
+ }
34
+
35
+ .jgis-switch-thumb {
36
+ background-color: var(--jp-layout-color1);
37
+ pointer-events: none;
38
+ display: block;
39
+ width: 1rem;
40
+ height: 1rem;
41
+ border-radius: 9999px;
42
+ box-shadow: none;
43
+ transition: transform 150ms cubic-bezier(0.4, 0, 0.2, 1);
44
+ transform: translateX(0);
45
+ }
46
+
47
+ .jgis-switch-thumb[data-state='checked'] {
48
+ transform: translateX(calc(100% - 6px));
49
+ }
50
+
51
+ .jgis-switch-thumb[data-state='unchecked'] {
52
+ transform: translateX(-2px);
53
+ }
54
+
55
+ @media (prefers-color-scheme: dark) {
56
+ .jgis-switch-thumb[data-state='unchecked'] {
57
+ background-color: var(--jp-ui-font-color0);
58
+ }
59
+
60
+ .jgis-switch-thumb[data-state='checked'] {
61
+ background-color: var(--jp-layout-color1);
62
+ }
63
+ }
@@ -1,7 +1,6 @@
1
1
  .jgis-panel-tabs {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: 1rem;
5
4
  justify-content: center;
6
5
  align-items: center;
7
6
  background-color: var(--jp-layout-color0);
@@ -20,7 +19,8 @@
20
19
  gap: 1rem;
21
20
  width: 100%;
22
21
  font-size: 9px;
23
- border-radius: 5px;
22
+ border-top-left-radius: 5px;
23
+ border-top-right-radius: 5px;
24
24
  overflow-x: scroll;
25
25
  }
26
26
 
@@ -62,6 +62,7 @@
62
62
  width: 100%;
63
63
  overflow-y: scroll;
64
64
  max-height: 480px;
65
+ padding-top: 1rem;
65
66
  }
66
67
 
67
68
  .jgis-tabs-content:focus-visible {
@@ -0,0 +1,68 @@
1
+ .jgis-story-viewer-panel {
2
+ overflow: hidden;
3
+ }
4
+
5
+ .jgis-story-viewer-panel * {
6
+ box-sizing: border-box;
7
+ }
8
+
9
+ .jgis-story-viewer-image-container {
10
+ position: relative;
11
+ width: 100%;
12
+ height: 30%;
13
+ }
14
+
15
+ .jgis-story-viewer-image {
16
+ width: 100%;
17
+ height: 100%;
18
+ max-height: 240px;
19
+ object-fit: cover;
20
+ display: block;
21
+ }
22
+
23
+ .jgis-story-viewer-image-title {
24
+ position: absolute;
25
+ top: 0;
26
+ left: 0;
27
+ width: 100%;
28
+ margin-top: 0;
29
+ margin-bottom: 0;
30
+ margin-left: auto;
31
+ margin-right: auto;
32
+ padding-top: 1rem;
33
+ padding-bottom: 1rem;
34
+ color: white;
35
+ text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.8);
36
+ background-color: rgba(0, 0, 0, 0.3);
37
+ text-align: center;
38
+ }
39
+
40
+ .jgis-story-viewer-nav-container {
41
+ position: absolute;
42
+ bottom: 0;
43
+ left: 0;
44
+ width: 100%;
45
+ padding-bottom: 0.25rem;
46
+ }
47
+
48
+ .jgis-story-viewer-title {
49
+ text-align: center;
50
+ }
51
+
52
+ .jgis-story-viewer-subtitle {
53
+ text-align: center;
54
+ }
55
+
56
+ .jgis-story-viewer-content {
57
+ padding-left: 16px;
58
+ }
59
+
60
+ .jgis-story-viewer-content p,
61
+ .jgis-story-viewer-content span,
62
+ .jgis-story-viewer-content li {
63
+ font-size: var(--jp-ui-font-size2);
64
+ }
65
+
66
+ .jgis-story-viewer-content > ul {
67
+ padding-left: 1rem;
68
+ }
@@ -1,6 +1,5 @@
1
1
  .jgis-panel-tab-content {
2
- border-radius: 5px;
3
- font-size: 10px;
2
+ font-size: var(--jp-ui-font-size0);
4
3
  padding-bottom: 50px;
5
4
  }
6
5