@jotx-labs/editor 2.4.143 → 2.4.144

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,4 +1,183 @@
1
- /* DocumentHeader Styles */
1
+ /* =====================================================
2
+ Document Header Component - Full Styling
3
+ ===================================================== */
4
+
5
+ .jotx-document-header {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: 16px;
9
+ padding: 16px 24px;
10
+ background: var(--vscode-editor-background);
11
+ border-bottom: 1px solid var(--vscode-panel-border);
12
+ position: sticky;
13
+ top: 0;
14
+ z-index: 100;
15
+ min-height: 60px;
16
+ }
17
+
18
+ /* Logo */
19
+ .jotx-logo {
20
+ flex-shrink: 0;
21
+ width: 32px;
22
+ height: 32px;
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ }
27
+
28
+ .jotx-logo svg {
29
+ width: 100%;
30
+ height: 100%;
31
+ }
32
+
33
+ /* Document Type Dropdown */
34
+ .jotx-document-type {
35
+ position: relative;
36
+ flex-shrink: 0;
37
+ }
38
+
39
+ .jotx-type-button {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: 6px;
43
+ padding: 6px 10px;
44
+ background: var(--vscode-button-secondaryBackground);
45
+ border: 1px solid var(--vscode-button-border);
46
+ border-radius: 4px;
47
+ color: var(--vscode-button-secondaryForeground);
48
+ cursor: pointer;
49
+ font-size: 13px;
50
+ font-weight: 500;
51
+ transition: all 0.15s ease;
52
+ }
53
+
54
+ .jotx-type-button:hover {
55
+ background: var(--vscode-button-secondaryHoverBackground);
56
+ }
57
+
58
+ .jotx-type-button svg {
59
+ flex-shrink: 0;
60
+ }
61
+
62
+ .jotx-type-menu {
63
+ position: absolute;
64
+ top: calc(100% + 4px);
65
+ left: 0;
66
+ background: var(--vscode-dropdown-background);
67
+ border: 1px solid var(--vscode-dropdown-border);
68
+ border-radius: 4px;
69
+ padding: 4px;
70
+ min-width: 200px;
71
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
72
+ z-index: 1000;
73
+ }
74
+
75
+ .jotx-type-item {
76
+ display: flex;
77
+ align-items: center;
78
+ gap: 10px;
79
+ padding: 8px 12px;
80
+ width: 100%;
81
+ background: transparent;
82
+ border: none;
83
+ border-radius: 3px;
84
+ color: var(--vscode-foreground);
85
+ cursor: pointer;
86
+ font-size: 13px;
87
+ transition: background-color 0.15s ease;
88
+ text-align: left;
89
+ }
90
+
91
+ .jotx-type-item:hover {
92
+ background: var(--vscode-list-hoverBackground);
93
+ }
94
+
95
+ .jotx-type-item.active {
96
+ background: var(--vscode-list-activeSelectionBackground);
97
+ color: var(--vscode-list-activeSelectionForeground);
98
+ }
99
+
100
+ .jotx-type-item svg {
101
+ flex-shrink: 0;
102
+ }
103
+
104
+ .jotx-type-item-details {
105
+ flex: 1;
106
+ }
107
+
108
+ .jotx-type-item-name {
109
+ font-weight: 500;
110
+ margin-bottom: 2px;
111
+ }
112
+
113
+ .jotx-type-item-description {
114
+ font-size: 11px;
115
+ color: var(--vscode-descriptionForeground);
116
+ }
117
+
118
+ /* Title Input */
119
+ .jotx-title-container {
120
+ flex: 1;
121
+ min-width: 0;
122
+ }
123
+
124
+ .jotx-title-input {
125
+ width: 100%;
126
+ padding: 8px 12px;
127
+ background: transparent;
128
+ border: 1px solid transparent;
129
+ border-radius: 4px;
130
+ color: var(--vscode-editor-foreground);
131
+ font-size: 18px;
132
+ font-weight: 600;
133
+ font-family: var(--vscode-font-family);
134
+ outline: none;
135
+ transition: all 0.15s ease;
136
+ }
137
+
138
+ .jotx-title-input:hover {
139
+ background: var(--vscode-input-background);
140
+ border-color: var(--vscode-input-border);
141
+ }
142
+
143
+ .jotx-title-input:focus {
144
+ background: var(--vscode-input-background);
145
+ border-color: var(--vscode-focusBorder);
146
+ }
147
+
148
+ .jotx-title-input::placeholder {
149
+ color: var(--vscode-input-placeholderForeground);
150
+ }
151
+
152
+ /* Metadata Section */
153
+ .jotx-metadata {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 12px;
157
+ margin-top: 4px;
158
+ font-size: 12px;
159
+ color: var(--vscode-descriptionForeground);
160
+ }
161
+
162
+ .jotx-metadata-item {
163
+ display: flex;
164
+ align-items: center;
165
+ gap: 4px;
166
+ }
167
+
168
+ .jotx-metadata-item svg {
169
+ width: 14px;
170
+ height: 14px;
171
+ }
172
+
173
+ /* Action Buttons */
174
+ .jotx-header-actions {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 4px;
178
+ flex-shrink: 0;
179
+ }
180
+
2
181
  .jotx-header-button {
3
182
  display: inline-flex;
4
183
  align-items: center;
@@ -26,4 +205,48 @@
26
205
  .jotx-header-button:disabled {
27
206
  opacity: 0.5;
28
207
  cursor: not-allowed;
208
+ }
209
+
210
+ .jotx-header-button svg {
211
+ width: 16px;
212
+ height: 16px;
213
+ }
214
+
215
+ /* Icon Button (for settings, etc.) */
216
+ .jotx-icon-input {
217
+ width: 32px;
218
+ height: 32px;
219
+ padding: 0;
220
+ background: transparent;
221
+ border: 1px solid var(--vscode-input-border);
222
+ border-radius: 4px;
223
+ color: var(--vscode-foreground);
224
+ cursor: pointer;
225
+ font-size: 16px;
226
+ display: flex;
227
+ align-items: center;
228
+ justify-content: center;
229
+ transition: all 0.15s ease;
230
+ }
231
+
232
+ .jotx-icon-input:hover {
233
+ background: var(--vscode-input-background);
234
+ border-color: var(--vscode-focusBorder);
235
+ }
236
+
237
+ /* Responsive adjustments */
238
+ @media (max-width: 768px) {
239
+ .jotx-document-header {
240
+ flex-wrap: wrap;
241
+ padding: 12px 16px;
242
+ }
243
+
244
+ .jotx-metadata {
245
+ flex-wrap: wrap;
246
+ }
247
+
248
+ .jotx-header-actions {
249
+ width: 100%;
250
+ justify-content: flex-end;
251
+ }
29
252
  }
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.144",
4
4
  "files": [
5
5
  "dist",
6
6
  "src/styles"
@@ -1,4 +1,183 @@
1
- /* DocumentHeader Styles */
1
+ /* =====================================================
2
+ Document Header Component - Full Styling
3
+ ===================================================== */
4
+
5
+ .jotx-document-header {
6
+ display: flex;
7
+ align-items: center;
8
+ gap: 16px;
9
+ padding: 16px 24px;
10
+ background: var(--vscode-editor-background);
11
+ border-bottom: 1px solid var(--vscode-panel-border);
12
+ position: sticky;
13
+ top: 0;
14
+ z-index: 100;
15
+ min-height: 60px;
16
+ }
17
+
18
+ /* Logo */
19
+ .jotx-logo {
20
+ flex-shrink: 0;
21
+ width: 32px;
22
+ height: 32px;
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: center;
26
+ }
27
+
28
+ .jotx-logo svg {
29
+ width: 100%;
30
+ height: 100%;
31
+ }
32
+
33
+ /* Document Type Dropdown */
34
+ .jotx-document-type {
35
+ position: relative;
36
+ flex-shrink: 0;
37
+ }
38
+
39
+ .jotx-type-button {
40
+ display: flex;
41
+ align-items: center;
42
+ gap: 6px;
43
+ padding: 6px 10px;
44
+ background: var(--vscode-button-secondaryBackground);
45
+ border: 1px solid var(--vscode-button-border);
46
+ border-radius: 4px;
47
+ color: var(--vscode-button-secondaryForeground);
48
+ cursor: pointer;
49
+ font-size: 13px;
50
+ font-weight: 500;
51
+ transition: all 0.15s ease;
52
+ }
53
+
54
+ .jotx-type-button:hover {
55
+ background: var(--vscode-button-secondaryHoverBackground);
56
+ }
57
+
58
+ .jotx-type-button svg {
59
+ flex-shrink: 0;
60
+ }
61
+
62
+ .jotx-type-menu {
63
+ position: absolute;
64
+ top: calc(100% + 4px);
65
+ left: 0;
66
+ background: var(--vscode-dropdown-background);
67
+ border: 1px solid var(--vscode-dropdown-border);
68
+ border-radius: 4px;
69
+ padding: 4px;
70
+ min-width: 200px;
71
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
72
+ z-index: 1000;
73
+ }
74
+
75
+ .jotx-type-item {
76
+ display: flex;
77
+ align-items: center;
78
+ gap: 10px;
79
+ padding: 8px 12px;
80
+ width: 100%;
81
+ background: transparent;
82
+ border: none;
83
+ border-radius: 3px;
84
+ color: var(--vscode-foreground);
85
+ cursor: pointer;
86
+ font-size: 13px;
87
+ transition: background-color 0.15s ease;
88
+ text-align: left;
89
+ }
90
+
91
+ .jotx-type-item:hover {
92
+ background: var(--vscode-list-hoverBackground);
93
+ }
94
+
95
+ .jotx-type-item.active {
96
+ background: var(--vscode-list-activeSelectionBackground);
97
+ color: var(--vscode-list-activeSelectionForeground);
98
+ }
99
+
100
+ .jotx-type-item svg {
101
+ flex-shrink: 0;
102
+ }
103
+
104
+ .jotx-type-item-details {
105
+ flex: 1;
106
+ }
107
+
108
+ .jotx-type-item-name {
109
+ font-weight: 500;
110
+ margin-bottom: 2px;
111
+ }
112
+
113
+ .jotx-type-item-description {
114
+ font-size: 11px;
115
+ color: var(--vscode-descriptionForeground);
116
+ }
117
+
118
+ /* Title Input */
119
+ .jotx-title-container {
120
+ flex: 1;
121
+ min-width: 0;
122
+ }
123
+
124
+ .jotx-title-input {
125
+ width: 100%;
126
+ padding: 8px 12px;
127
+ background: transparent;
128
+ border: 1px solid transparent;
129
+ border-radius: 4px;
130
+ color: var(--vscode-editor-foreground);
131
+ font-size: 18px;
132
+ font-weight: 600;
133
+ font-family: var(--vscode-font-family);
134
+ outline: none;
135
+ transition: all 0.15s ease;
136
+ }
137
+
138
+ .jotx-title-input:hover {
139
+ background: var(--vscode-input-background);
140
+ border-color: var(--vscode-input-border);
141
+ }
142
+
143
+ .jotx-title-input:focus {
144
+ background: var(--vscode-input-background);
145
+ border-color: var(--vscode-focusBorder);
146
+ }
147
+
148
+ .jotx-title-input::placeholder {
149
+ color: var(--vscode-input-placeholderForeground);
150
+ }
151
+
152
+ /* Metadata Section */
153
+ .jotx-metadata {
154
+ display: flex;
155
+ align-items: center;
156
+ gap: 12px;
157
+ margin-top: 4px;
158
+ font-size: 12px;
159
+ color: var(--vscode-descriptionForeground);
160
+ }
161
+
162
+ .jotx-metadata-item {
163
+ display: flex;
164
+ align-items: center;
165
+ gap: 4px;
166
+ }
167
+
168
+ .jotx-metadata-item svg {
169
+ width: 14px;
170
+ height: 14px;
171
+ }
172
+
173
+ /* Action Buttons */
174
+ .jotx-header-actions {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: 4px;
178
+ flex-shrink: 0;
179
+ }
180
+
2
181
  .jotx-header-button {
3
182
  display: inline-flex;
4
183
  align-items: center;
@@ -26,4 +205,48 @@
26
205
  .jotx-header-button:disabled {
27
206
  opacity: 0.5;
28
207
  cursor: not-allowed;
208
+ }
209
+
210
+ .jotx-header-button svg {
211
+ width: 16px;
212
+ height: 16px;
213
+ }
214
+
215
+ /* Icon Button (for settings, etc.) */
216
+ .jotx-icon-input {
217
+ width: 32px;
218
+ height: 32px;
219
+ padding: 0;
220
+ background: transparent;
221
+ border: 1px solid var(--vscode-input-border);
222
+ border-radius: 4px;
223
+ color: var(--vscode-foreground);
224
+ cursor: pointer;
225
+ font-size: 16px;
226
+ display: flex;
227
+ align-items: center;
228
+ justify-content: center;
229
+ transition: all 0.15s ease;
230
+ }
231
+
232
+ .jotx-icon-input:hover {
233
+ background: var(--vscode-input-background);
234
+ border-color: var(--vscode-focusBorder);
235
+ }
236
+
237
+ /* Responsive adjustments */
238
+ @media (max-width: 768px) {
239
+ .jotx-document-header {
240
+ flex-wrap: wrap;
241
+ padding: 12px 16px;
242
+ }
243
+
244
+ .jotx-metadata {
245
+ flex-wrap: wrap;
246
+ }
247
+
248
+ .jotx-header-actions {
249
+ width: 100%;
250
+ justify-content: flex-end;
251
+ }
29
252
  }