@jotx-labs/editor 2.4.141 → 2.4.143

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.
@@ -1,294 +1,29 @@
1
- /**
2
- * Document Header Styles
3
- */
4
-
5
- .jotx-header {
6
- position: sticky;
7
- /* Sit below the tabs bar (web) so header never covers tabs */
8
- top: var(--jotx-tabs-height, 40px);
9
- left: 0;
10
- right: 0;
11
- z-index: 150;
12
- flex-shrink: 0;
13
- /* Never shrink */
14
- display: flex;
15
- align-items: center;
16
- justify-content: space-between;
17
- height: var(--jotx-header-height, 60px);
18
- padding: 0 24px;
19
- background-color: var(--vscode-editor-background);
20
- border-bottom: 1px solid var(--vscode-panel-border);
21
- backdrop-filter: blur(8px);
22
- /* Critical: ensure it stays on top */
23
- will-change: transform;
24
- }
25
-
26
- .jotx-header-left {
27
- display: flex;
28
- align-items: center;
29
- gap: 12px;
30
- flex: 1;
31
- min-width: 0;
32
- }
33
-
34
- .jotx-header-right {
35
- display: flex;
36
- align-items: center;
37
- gap: 8px;
38
- }
39
-
40
- /* Graph Button */
41
- .jotx-header-graph-btn {
42
- display: flex;
43
- align-items: center;
44
- justify-content: center;
45
- padding: 8px;
46
- background: transparent;
47
- border: none;
48
- border-radius: 6px;
49
- color: #888;
50
- cursor: pointer;
51
- transition: all 0.2s ease;
52
- }
53
-
54
- .jotx-header-graph-btn:hover {
55
- background: rgba(20, 184, 166, 0.1);
56
- color: #14b8a6;
57
- }
58
-
59
- /* Help Button */
60
- .jotx-header-help-btn {
61
- display: flex;
1
+ /* DocumentHeader Styles */
2
+ .jotx-header-button {
3
+ display: inline-flex;
62
4
  align-items: center;
63
5
  justify-content: center;
64
- padding: 8px;
6
+ padding: 6px 10px;
65
7
  background: transparent;
66
- border: none;
67
- border-radius: 6px;
68
- color: #888;
69
- cursor: pointer;
70
- transition: all 0.2s ease;
71
- }
72
-
73
- .jotx-header-help-btn:hover {
74
- background: rgba(20, 184, 166, 0.1);
75
- color: #14b8a6;
76
- }
77
-
78
- /* Logo */
79
- .jotx-header-logo {
80
- display: flex;
81
- align-items: center;
82
- justify-content: center;
83
- width: var(--jotx-header-logoSize, 32px);
84
- height: var(--jotx-header-logoSize, 32px);
85
- flex-shrink: 0;
86
- color: #20B2AA;
87
- transition: color 0.2s ease;
88
- }
89
-
90
- .jotx-header-logo:hover {
91
- color: #40E0D0;
92
- }
93
-
94
- .jotx-header-logo-svg {
95
- display: block;
96
- }
97
-
98
- .jotx-header-logo-img {
99
- width: 100%;
100
- height: 100%;
101
- object-fit: contain;
102
- border-radius: 4px;
103
- }
104
-
105
- .jotx-header-icon {
106
- font-size: 24px;
107
- line-height: 1;
108
- }
109
-
110
- .jotx-header-icon-svg {
111
- display: flex;
112
- align-items: center;
113
- justify-content: center;
114
- color: var(--jotx-primary);
115
- }
116
-
117
- /* Type Selector (was Badge) */
118
- .jotx-header-type-container {
119
- position: relative;
120
- }
121
-
122
- .jotx-header-type-button {
123
- display: flex;
124
- align-items: center;
125
- gap: 6px;
126
- padding: 4px 8px;
127
- border: none;
128
- background: var(--jotx-backgroundSecondary);
8
+ border: 1px solid transparent;
129
9
  border-radius: 4px;
10
+ color: var(--vscode-foreground);
130
11
  cursor: pointer;
131
- transition: all 0.2s;
132
- color: var(--jotx-textSecondary);
133
- }
134
-
135
- .jotx-header-type-button:hover {
136
- background: var(--jotx-border);
137
- color: var(--jotx-text);
138
- }
139
-
140
- .jotx-header-type-label {
141
12
  font-size: 13px;
142
- font-weight: 500;
143
- }
144
-
145
- .jotx-header-type-icon {
146
- display: flex;
147
- align-items: center;
148
- justify-content: center;
149
- }
150
-
151
- .jotx-header-type-chevron {
152
- opacity: 0.5;
153
- }
154
-
155
- /* Dropdown Menu */
156
- .jotx-header-type-menu {
157
- position: absolute;
158
- top: 100%;
159
- left: 0;
160
- margin-top: 4px;
161
- background: var(--jotx-background);
162
- border: 1px solid var(--jotx-border);
163
- border-radius: 6px;
164
- box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
165
- width: 180px;
166
- z-index: 200;
167
- overflow: hidden;
168
- display: flex;
169
- flex-direction: column;
170
- }
171
-
172
- .jotx-type-menu-header {
173
- padding: 8px 12px;
174
- font-size: 11px;
175
- font-weight: 600;
176
- color: var(--jotx-textSecondary);
177
- border-bottom: 1px solid var(--jotx-border);
178
- background: var(--jotx-backgroundSecondary);
179
- text-transform: uppercase;
180
- letter-spacing: 0.5px;
181
- }
182
-
183
- .jotx-type-menu-list {
184
- padding: 4px;
185
- max-height: 300px;
186
- overflow-y: auto;
187
- }
188
-
189
- .jotx-type-menu-item {
190
- display: flex;
191
- align-items: center;
192
- gap: 8px;
193
- padding: 6px 8px;
194
- width: 100%;
195
- border: none;
196
- background: transparent;
197
- color: var(--jotx-text);
198
- font-size: 13px;
199
- text-align: left;
200
- cursor: pointer;
201
- border-radius: 4px;
202
- transition: background 0.15s;
203
- }
204
-
205
- .jotx-type-menu-item:hover {
206
- background: var(--jotx-backgroundSecondary);
13
+ transition: all 0.15s ease;
207
14
  }
208
15
 
209
- .jotx-type-menu-item.active {
210
- background: rgba(32, 178, 170, 0.2);
211
- color: #20B2AA;
212
- font-weight: 600;
16
+ .jotx-header-button:hover {
17
+ background: var(--vscode-toolbar-hoverBackground);
18
+ border-color: var(--vscode-button-border);
213
19
  }
214
20
 
215
- /* Title */
216
- .jotx-header-title-container {
217
- flex: 1;
218
- min-width: 0;
219
- }
220
-
221
- .jotx-header-title {
222
- margin: 0;
223
- font-size: var(--jotx-header-titleSize, 18px);
224
- font-weight: var(--jotx-header-titleWeight, 600);
225
- color: var(--jotx-text);
226
- cursor: text;
227
- white-space: nowrap;
228
- overflow: hidden;
229
- text-overflow: ellipsis;
230
- transition: opacity 0.2s;
231
- }
232
-
233
- .jotx-header-title:hover {
234
- opacity: 0.7;
235
- }
236
-
237
- .jotx-header-title-input {
238
- width: 100%;
239
- padding: 4px 8px;
240
- font-size: var(--jotx-header-titleSize, 18px);
241
- font-weight: var(--jotx-header-titleWeight, 600);
242
- color: var(--jotx-text);
243
- background-color: var(--jotx-backgroundSecondary);
244
- border: 1px solid var(--jotx-primary);
245
- border-radius: 4px;
246
- outline: none;
247
- font-family: inherit;
248
- }
249
-
250
- /* Buttons */
251
- .jotx-header-button {
252
- display: flex;
253
- align-items: center;
254
- justify-content: center;
255
- width: var(--jotx-header-buttonSize, 36px);
256
- height: var(--jotx-header-buttonSize, 36px);
257
- padding: 0;
258
- color: var(--jotx-textSecondary);
259
- background-color: transparent;
260
- border: none;
261
- border-radius: 6px;
262
- cursor: pointer;
263
- transition: all 0.2s;
264
- }
265
-
266
- .jotx-header-button:hover:not(:disabled) {
267
- color: #20B2AA;
268
- background-color: rgba(32, 178, 170, 0.1);
269
- }
270
-
271
- .jotx-header-button:active:not(:disabled) {
272
- transform: scale(0.95);
21
+ .jotx-header-button:active {
22
+ background: var(--vscode-button-background);
23
+ color: var(--vscode-button-foreground);
273
24
  }
274
25
 
275
26
  .jotx-header-button:disabled {
276
- opacity: 0.4;
27
+ opacity: 0.5;
277
28
  cursor: not-allowed;
278
- }
279
-
280
- .jotx-header-button svg {
281
- width: 16px;
282
- height: 16px;
283
- }
284
-
285
- /* Responsive */
286
- @media (max-width: 768px) {
287
- .jotx-header {
288
- padding: 0 16px;
289
- }
290
-
291
- .jotx-header-badge {
292
- display: none;
293
- }
294
29
  }
@@ -0,0 +1,66 @@
1
+ /* Export Menu Styles */
2
+ .jotx-export-menu {
3
+ position: relative;
4
+ display: inline-block;
5
+ }
6
+
7
+ .jotx-export-dropdown {
8
+ position: absolute;
9
+ top: calc(100% + 4px);
10
+ right: 0;
11
+ background: var(--vscode-dropdown-background);
12
+ border: 1px solid var(--vscode-dropdown-border);
13
+ border-radius: 4px;
14
+ padding: 4px;
15
+ min-width: 180px;
16
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
17
+ z-index: 1000;
18
+ }
19
+
20
+ .jotx-export-header {
21
+ padding: 8px 12px;
22
+ font-size: 11px;
23
+ font-weight: 600;
24
+ text-transform: uppercase;
25
+ letter-spacing: 0.5px;
26
+ color: var(--vscode-descriptionForeground);
27
+ border-bottom: 1px solid var(--vscode-widget-border);
28
+ margin-bottom: 4px;
29
+ }
30
+
31
+ .jotx-export-item {
32
+ display: flex;
33
+ align-items: center;
34
+ gap: 10px;
35
+ padding: 8px 12px;
36
+ width: 100%;
37
+ background: transparent;
38
+ border: none;
39
+ border-radius: 3px;
40
+ color: var(--vscode-foreground);
41
+ cursor: pointer;
42
+ font-size: 13px;
43
+ transition: background-color 0.15s ease;
44
+ }
45
+
46
+ .jotx-export-item:hover {
47
+ background: var(--vscode-list-hoverBackground);
48
+ }
49
+
50
+ .jotx-export-item svg {
51
+ flex-shrink: 0;
52
+ color: var(--vscode-icon-foreground);
53
+ }
54
+
55
+ .jotx-export-item span:first-of-type {
56
+ flex: 1;
57
+ }
58
+
59
+ .jotx-export-badge {
60
+ font-size: 10px;
61
+ padding: 2px 6px;
62
+ background: var(--vscode-badge-background);
63
+ color: var(--vscode-badge-foreground);
64
+ border-radius: 10px;
65
+ font-weight: 500;
66
+ }
@@ -0,0 +1,89 @@
1
+ /* View Options Styles */
2
+ .jotx-view-options {
3
+ position: relative;
4
+ display: inline-block;
5
+ }
6
+
7
+ .jotx-view-dropdown {
8
+ position: absolute;
9
+ top: calc(100% + 4px);
10
+ right: 0;
11
+ background: var(--vscode-dropdown-background);
12
+ border: 1px solid var(--vscode-dropdown-border);
13
+ border-radius: 4px;
14
+ padding: 12px;
15
+ min-width: 220px;
16
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
17
+ z-index: 1000;
18
+ }
19
+
20
+ .jotx-view-header {
21
+ font-size: 11px;
22
+ font-weight: 600;
23
+ text-transform: uppercase;
24
+ letter-spacing: 0.5px;
25
+ color: var(--vscode-descriptionForeground);
26
+ margin-bottom: 12px;
27
+ padding-bottom: 8px;
28
+ border-bottom: 1px solid var(--vscode-widget-border);
29
+ }
30
+
31
+ .jotx-view-section {
32
+ margin-bottom: 16px;
33
+ }
34
+
35
+ .jotx-view-label {
36
+ display: block;
37
+ font-size: 12px;
38
+ color: var(--vscode-foreground);
39
+ margin-bottom: 8px;
40
+ }
41
+
42
+ .jotx-view-slider {
43
+ width: 100%;
44
+ height: 4px;
45
+ border-radius: 2px;
46
+ background: var(--vscode-input-background);
47
+ outline: none;
48
+ cursor: pointer;
49
+ }
50
+
51
+ .jotx-view-slider::-webkit-slider-thumb {
52
+ appearance: none;
53
+ width: 14px;
54
+ height: 14px;
55
+ border-radius: 50%;
56
+ background: var(--vscode-button-background);
57
+ cursor: pointer;
58
+ }
59
+
60
+ .jotx-view-slider::-moz-range-thumb {
61
+ width: 14px;
62
+ height: 14px;
63
+ border-radius: 50%;
64
+ background: var(--vscode-button-background);
65
+ border: none;
66
+ cursor: pointer;
67
+ }
68
+
69
+ .jotx-view-divider {
70
+ height: 1px;
71
+ background: var(--vscode-widget-border);
72
+ margin: 12px 0;
73
+ }
74
+
75
+ .jotx-view-reset {
76
+ width: 100%;
77
+ padding: 8px;
78
+ background: transparent;
79
+ border: 1px solid var(--vscode-button-border);
80
+ border-radius: 3px;
81
+ color: var(--vscode-foreground);
82
+ font-size: 12px;
83
+ cursor: pointer;
84
+ transition: background-color 0.15s ease;
85
+ }
86
+
87
+ .jotx-view-reset:hover {
88
+ background: var(--vscode-button-hoverBackground);
89
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotx-labs/editor",
3
- "version": "2.4.141",
3
+ "version": "2.4.143",
4
4
  "files": [
5
5
  "dist",
6
6
  "src/styles"