@jotx-labs/editor 2.4.143 → 2.4.145

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,29 +1,309 @@
1
- /* DocumentHeader Styles */
2
- .jotx-header-button {
3
- display: inline-flex;
1
+ /**
2
+ * Document Header Styles - Web Compatible
3
+ */
4
+
5
+ .jotx-header {
6
+ position: sticky;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ z-index: 100;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ height: 60px;
15
+ padding: 0 24px;
16
+ background-color: #ffffff;
17
+ border-bottom: 1px solid #dee2e6;
18
+ backdrop-filter: blur(8px);
19
+ }
20
+
21
+ /* Dark mode support */
22
+ @media (prefers-color-scheme: dark) {
23
+ .jotx-header {
24
+ background-color: #1e1e1e;
25
+ border-bottom-color: #3e3e3e;
26
+ }
27
+ }
28
+
29
+ .jotx-header-left {
30
+ display: flex;
31
+ align-items: center;
32
+ gap: 12px;
33
+ flex: 1;
34
+ min-width: 0;
35
+ }
36
+
37
+ .jotx-header-right {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 8px;
41
+ }
42
+
43
+ /* Logo */
44
+ .jotx-header-logo {
45
+ display: flex;
4
46
  align-items: center;
5
47
  justify-content: center;
6
- padding: 6px 10px;
48
+ width: 32px;
49
+ height: 32px;
50
+ flex-shrink: 0;
51
+ color: #14b8a6;
52
+ /* Teal brand color */
53
+ }
54
+
55
+ .jotx-header-logo-svg {
56
+ display: block;
57
+ }
58
+
59
+ /* Type Selector */
60
+ .jotx-header-type-container {
61
+ position: relative;
62
+ }
63
+
64
+ .jotx-header-type-button {
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 6px;
68
+ padding: 6px 12px;
69
+ border: 1px solid #e5e7eb;
70
+ background: #f9fafb;
71
+ border-radius: 6px;
72
+ cursor: pointer;
73
+ transition: all 0.2s;
74
+ color: #4b5563;
75
+ font-size: 13px;
76
+ font-weight: 500;
77
+ }
78
+
79
+ .jotx-header-type-button:hover {
80
+ background: #f3f4f6;
81
+ border-color: #d1d5db;
82
+ color: #1f2937;
83
+ }
84
+
85
+ @media (prefer's-color-scheme: dark) {
86
+ .jotx-header-type-button {
87
+ background: #2d2d2d;
88
+ border-color: #4a4a4a;
89
+ color: #d4d4d4;
90
+ }
91
+
92
+ .jotx-header-type-button:hover {
93
+ background: #373737;
94
+ border-color: #5a5a5a;
95
+ }
96
+ }
97
+
98
+ .jotx-header-type-label {
99
+ font-size: 13px;
100
+ font-weight: 500;
101
+ }
102
+
103
+ .jotx-header-type-chevron {
104
+ opacity: 0.5;
105
+ }
106
+
107
+ /* Dropdown Menu */
108
+ .jotx-header-type-menu {
109
+ position: absolute;
110
+ top: 100%;
111
+ left: 0;
112
+ margin-top: 4px;
113
+ background: #ffffff;
114
+ border: 1px solid #e5e7eb;
115
+ border-radius: 8px;
116
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
117
+ width: 200px;
118
+ z-index: 200;
119
+ overflow: hidden;
120
+ }
121
+
122
+ @media (prefers-color-scheme: dark) {
123
+ .jotx-header-type-menu {
124
+ background: #2d2d2d;
125
+ border-color: #4a4a4a;
126
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
127
+ }
128
+ }
129
+
130
+ .jotx-type-menu-header {
131
+ padding: 8px 12px;
132
+ font-size: 11px;
133
+ font-weight: 600;
134
+ color: #6b7280;
135
+ border-bottom: 1px solid #e5e7eb;
136
+ background: #f9fafb;
137
+ text-transform: uppercase;
138
+ letter-spacing: 0.5px;
139
+ }
140
+
141
+ @media (prefers-color-scheme: dark) {
142
+ .jotx-type-menu-header {
143
+ background: #1e1e1e;
144
+ border-bottom-color: #3e3e3e;
145
+ color: #9ca3af;
146
+ }
147
+ }
148
+
149
+ .jotx-type-menu-list {
150
+ padding: 4px;
151
+ }
152
+
153
+ .jotx-type-menu-item {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 8px;
157
+ padding: 8px 12px;
158
+ width: 100%;
159
+ border: none;
7
160
  background: transparent;
8
- border: 1px solid transparent;
161
+ color: #1f2937;
162
+ font-size: 13px;
163
+ text-align: left;
164
+ cursor: pointer;
165
+ border-radius: 6px;
166
+ transition: background 0.15s;
167
+ }
168
+
169
+ .jotx-type-menu-item:hover {
170
+ background: #f3f4f6;
171
+ }
172
+
173
+ .jotx-type-menu-item.active {
174
+ background: #14b8a6;
175
+ color: #ffffff;
176
+ }
177
+
178
+ @media (prefers-color-scheme: dark) {
179
+ .jotx-type-menu-item {
180
+ color: #e5e7eb;
181
+ }
182
+
183
+ .jotx-type-menu-item:hover {
184
+ background: #373737;
185
+ }
186
+ }
187
+
188
+ /* Title */
189
+ .jotx-header-title-container {
190
+ flex: 1;
191
+ min-width: 0;
192
+ }
193
+
194
+ .jotx-header-title {
195
+ margin: 0;
196
+ font-size: 18px;
197
+ font-weight: 600;
198
+ color: #1f2937;
199
+ cursor: text;
200
+ white-space: nowrap;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ transition: opacity 0.2s;
204
+ padding: 4px 8px;
9
205
  border-radius: 4px;
10
- color: var(--vscode-foreground);
206
+ }
207
+
208
+ .jotx-header-title:hover {
209
+ opacity: 0.7;
210
+ background: #f9fafb;
211
+ }
212
+
213
+ @media (prefers-color-scheme: dark) {
214
+ .jotx-header-title {
215
+ color: #f3f4f6;
216
+ }
217
+
218
+ .jotx-header-title:hover {
219
+ background: #2d2d2d;
220
+ }
221
+ }
222
+
223
+ .jotx-header-title-input {
224
+ width: 100%;
225
+ padding: 6px 12px;
226
+ font-size: 18px;
227
+ font-weight: 600;
228
+ color: #1f2937;
229
+ background-color: #f9fafb;
230
+ border: 2px solid #14b8a6;
231
+ border-radius: 6px;
232
+ outline: none;
233
+ font-family: inherit;
234
+ }
235
+
236
+ @media (prefers-color-scheme: dark) {
237
+ .jotx-header-title-input {
238
+ background: #2d2d2d;
239
+ color: #f3f4f6;
240
+ border-color: #14b8a6;
241
+ }
242
+ }
243
+
244
+ /* Buttons */
245
+ .jotx-header-button,
246
+ .jotx-header-graph-btn,
247
+ .jotx-header-help-btn {
248
+ display: flex;
249
+ align-items: center;
250
+ justify-content: center;
251
+ width: 36px;
252
+ height: 36px;
253
+ padding: 0;
254
+ color: #6b7280;
255
+ background-color: transparent;
256
+ border: none;
257
+ border-radius: 6px;
11
258
  cursor: pointer;
12
- font-size: 13px;
13
- transition: all 0.15s ease;
259
+ transition: all 0.2s;
14
260
  }
15
261
 
16
- .jotx-header-button:hover {
17
- background: var(--vscode-toolbar-hoverBackground);
18
- border-color: var(--vscode-button-border);
262
+ .jotx-header-button:hover:not(:disabled),
263
+ .jotx-header-graph-btn:hover,
264
+ .jotx-header-help-btn:hover {
265
+ color: #1f2937;
266
+ background-color: #f3f4f6;
19
267
  }
20
268
 
21
- .jotx-header-button:active {
22
- background: var(--vscode-button-background);
23
- color: var(--vscode-button-foreground);
269
+ .jotx-header-button:active:not(:disabled) {
270
+ transform: scale(0.95);
24
271
  }
25
272
 
26
273
  .jotx-header-button:disabled {
27
- opacity: 0.5;
274
+ opacity: 0.4;
28
275
  cursor: not-allowed;
276
+ }
277
+
278
+ @media (prefers-color-scheme: dark) {
279
+
280
+ .jotx-header-button,
281
+ .jotx-header-graph-btn,
282
+ .jotx-header-help-btn {
283
+ color: #9ca3af;
284
+ }
285
+
286
+ .jotx-header-button:hover:not(:disabled),
287
+ .jotx-header-graph-btn:hover,
288
+ .jotx-header-help-btn:hover {
289
+ color: #e5e7eb;
290
+ background-color: #373737;
291
+ }
292
+ }
293
+
294
+ .jotx-header-button svg {
295
+ width: 16px;
296
+ height: 16px;
297
+ }
298
+
299
+ /* Responsive */
300
+ @media (max-width: 768px) {
301
+ .jotx-header {
302
+ padding: 0 16px;
303
+ }
304
+
305
+ .jotx-header-type-button {
306
+ font-size: 12px;
307
+ padding: 4px 8px;
308
+ }
29
309
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jotx-labs/editor",
3
- "version": "2.4.143",
3
+ "version": "2.4.145",
4
4
  "files": [
5
5
  "dist",
6
6
  "src/styles"
@@ -1,29 +1,309 @@
1
- /* DocumentHeader Styles */
2
- .jotx-header-button {
3
- display: inline-flex;
1
+ /**
2
+ * Document Header Styles - Web Compatible
3
+ */
4
+
5
+ .jotx-header {
6
+ position: sticky;
7
+ top: 0;
8
+ left: 0;
9
+ right: 0;
10
+ z-index: 100;
11
+ display: flex;
12
+ align-items: center;
13
+ justify-content: space-between;
14
+ height: 60px;
15
+ padding: 0 24px;
16
+ background-color: #ffffff;
17
+ border-bottom: 1px solid #dee2e6;
18
+ backdrop-filter: blur(8px);
19
+ }
20
+
21
+ /* Dark mode support */
22
+ @media (prefers-color-scheme: dark) {
23
+ .jotx-header {
24
+ background-color: #1e1e1e;
25
+ border-bottom-color: #3e3e3e;
26
+ }
27
+ }
28
+
29
+ .jotx-header-left {
30
+ display: flex;
31
+ align-items: center;
32
+ gap: 12px;
33
+ flex: 1;
34
+ min-width: 0;
35
+ }
36
+
37
+ .jotx-header-right {
38
+ display: flex;
39
+ align-items: center;
40
+ gap: 8px;
41
+ }
42
+
43
+ /* Logo */
44
+ .jotx-header-logo {
45
+ display: flex;
4
46
  align-items: center;
5
47
  justify-content: center;
6
- padding: 6px 10px;
48
+ width: 32px;
49
+ height: 32px;
50
+ flex-shrink: 0;
51
+ color: #14b8a6;
52
+ /* Teal brand color */
53
+ }
54
+
55
+ .jotx-header-logo-svg {
56
+ display: block;
57
+ }
58
+
59
+ /* Type Selector */
60
+ .jotx-header-type-container {
61
+ position: relative;
62
+ }
63
+
64
+ .jotx-header-type-button {
65
+ display: flex;
66
+ align-items: center;
67
+ gap: 6px;
68
+ padding: 6px 12px;
69
+ border: 1px solid #e5e7eb;
70
+ background: #f9fafb;
71
+ border-radius: 6px;
72
+ cursor: pointer;
73
+ transition: all 0.2s;
74
+ color: #4b5563;
75
+ font-size: 13px;
76
+ font-weight: 500;
77
+ }
78
+
79
+ .jotx-header-type-button:hover {
80
+ background: #f3f4f6;
81
+ border-color: #d1d5db;
82
+ color: #1f2937;
83
+ }
84
+
85
+ @media (prefer's-color-scheme: dark) {
86
+ .jotx-header-type-button {
87
+ background: #2d2d2d;
88
+ border-color: #4a4a4a;
89
+ color: #d4d4d4;
90
+ }
91
+
92
+ .jotx-header-type-button:hover {
93
+ background: #373737;
94
+ border-color: #5a5a5a;
95
+ }
96
+ }
97
+
98
+ .jotx-header-type-label {
99
+ font-size: 13px;
100
+ font-weight: 500;
101
+ }
102
+
103
+ .jotx-header-type-chevron {
104
+ opacity: 0.5;
105
+ }
106
+
107
+ /* Dropdown Menu */
108
+ .jotx-header-type-menu {
109
+ position: absolute;
110
+ top: 100%;
111
+ left: 0;
112
+ margin-top: 4px;
113
+ background: #ffffff;
114
+ border: 1px solid #e5e7eb;
115
+ border-radius: 8px;
116
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
117
+ width: 200px;
118
+ z-index: 200;
119
+ overflow: hidden;
120
+ }
121
+
122
+ @media (prefers-color-scheme: dark) {
123
+ .jotx-header-type-menu {
124
+ background: #2d2d2d;
125
+ border-color: #4a4a4a;
126
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
127
+ }
128
+ }
129
+
130
+ .jotx-type-menu-header {
131
+ padding: 8px 12px;
132
+ font-size: 11px;
133
+ font-weight: 600;
134
+ color: #6b7280;
135
+ border-bottom: 1px solid #e5e7eb;
136
+ background: #f9fafb;
137
+ text-transform: uppercase;
138
+ letter-spacing: 0.5px;
139
+ }
140
+
141
+ @media (prefers-color-scheme: dark) {
142
+ .jotx-type-menu-header {
143
+ background: #1e1e1e;
144
+ border-bottom-color: #3e3e3e;
145
+ color: #9ca3af;
146
+ }
147
+ }
148
+
149
+ .jotx-type-menu-list {
150
+ padding: 4px;
151
+ }
152
+
153
+ .jotx-type-menu-item {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 8px;
157
+ padding: 8px 12px;
158
+ width: 100%;
159
+ border: none;
7
160
  background: transparent;
8
- border: 1px solid transparent;
161
+ color: #1f2937;
162
+ font-size: 13px;
163
+ text-align: left;
164
+ cursor: pointer;
165
+ border-radius: 6px;
166
+ transition: background 0.15s;
167
+ }
168
+
169
+ .jotx-type-menu-item:hover {
170
+ background: #f3f4f6;
171
+ }
172
+
173
+ .jotx-type-menu-item.active {
174
+ background: #14b8a6;
175
+ color: #ffffff;
176
+ }
177
+
178
+ @media (prefers-color-scheme: dark) {
179
+ .jotx-type-menu-item {
180
+ color: #e5e7eb;
181
+ }
182
+
183
+ .jotx-type-menu-item:hover {
184
+ background: #373737;
185
+ }
186
+ }
187
+
188
+ /* Title */
189
+ .jotx-header-title-container {
190
+ flex: 1;
191
+ min-width: 0;
192
+ }
193
+
194
+ .jotx-header-title {
195
+ margin: 0;
196
+ font-size: 18px;
197
+ font-weight: 600;
198
+ color: #1f2937;
199
+ cursor: text;
200
+ white-space: nowrap;
201
+ overflow: hidden;
202
+ text-overflow: ellipsis;
203
+ transition: opacity 0.2s;
204
+ padding: 4px 8px;
9
205
  border-radius: 4px;
10
- color: var(--vscode-foreground);
206
+ }
207
+
208
+ .jotx-header-title:hover {
209
+ opacity: 0.7;
210
+ background: #f9fafb;
211
+ }
212
+
213
+ @media (prefers-color-scheme: dark) {
214
+ .jotx-header-title {
215
+ color: #f3f4f6;
216
+ }
217
+
218
+ .jotx-header-title:hover {
219
+ background: #2d2d2d;
220
+ }
221
+ }
222
+
223
+ .jotx-header-title-input {
224
+ width: 100%;
225
+ padding: 6px 12px;
226
+ font-size: 18px;
227
+ font-weight: 600;
228
+ color: #1f2937;
229
+ background-color: #f9fafb;
230
+ border: 2px solid #14b8a6;
231
+ border-radius: 6px;
232
+ outline: none;
233
+ font-family: inherit;
234
+ }
235
+
236
+ @media (prefers-color-scheme: dark) {
237
+ .jotx-header-title-input {
238
+ background: #2d2d2d;
239
+ color: #f3f4f6;
240
+ border-color: #14b8a6;
241
+ }
242
+ }
243
+
244
+ /* Buttons */
245
+ .jotx-header-button,
246
+ .jotx-header-graph-btn,
247
+ .jotx-header-help-btn {
248
+ display: flex;
249
+ align-items: center;
250
+ justify-content: center;
251
+ width: 36px;
252
+ height: 36px;
253
+ padding: 0;
254
+ color: #6b7280;
255
+ background-color: transparent;
256
+ border: none;
257
+ border-radius: 6px;
11
258
  cursor: pointer;
12
- font-size: 13px;
13
- transition: all 0.15s ease;
259
+ transition: all 0.2s;
14
260
  }
15
261
 
16
- .jotx-header-button:hover {
17
- background: var(--vscode-toolbar-hoverBackground);
18
- border-color: var(--vscode-button-border);
262
+ .jotx-header-button:hover:not(:disabled),
263
+ .jotx-header-graph-btn:hover,
264
+ .jotx-header-help-btn:hover {
265
+ color: #1f2937;
266
+ background-color: #f3f4f6;
19
267
  }
20
268
 
21
- .jotx-header-button:active {
22
- background: var(--vscode-button-background);
23
- color: var(--vscode-button-foreground);
269
+ .jotx-header-button:active:not(:disabled) {
270
+ transform: scale(0.95);
24
271
  }
25
272
 
26
273
  .jotx-header-button:disabled {
27
- opacity: 0.5;
274
+ opacity: 0.4;
28
275
  cursor: not-allowed;
276
+ }
277
+
278
+ @media (prefers-color-scheme: dark) {
279
+
280
+ .jotx-header-button,
281
+ .jotx-header-graph-btn,
282
+ .jotx-header-help-btn {
283
+ color: #9ca3af;
284
+ }
285
+
286
+ .jotx-header-button:hover:not(:disabled),
287
+ .jotx-header-graph-btn:hover,
288
+ .jotx-header-help-btn:hover {
289
+ color: #e5e7eb;
290
+ background-color: #373737;
291
+ }
292
+ }
293
+
294
+ .jotx-header-button svg {
295
+ width: 16px;
296
+ height: 16px;
297
+ }
298
+
299
+ /* Responsive */
300
+ @media (max-width: 768px) {
301
+ .jotx-header {
302
+ padding: 0 16px;
303
+ }
304
+
305
+ .jotx-header-type-button {
306
+ font-size: 12px;
307
+ padding: 4px 8px;
308
+ }
29
309
  }