@stonecrop/desktop 0.6.2 → 0.7.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.
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.52.10"
8
+ "packageVersion": "7.55.2"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stonecrop/desktop",
3
- "version": "0.6.2",
3
+ "version": "0.7.0",
4
4
  "description": "Desktop-specific components for Stonecrop UI",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -36,27 +36,27 @@
36
36
  "src/*"
37
37
  ],
38
38
  "dependencies": {
39
- "vue": "^3.5.22",
40
- "@stonecrop/atable": "0.6.2",
41
- "@stonecrop/aform": "0.6.2",
42
- "@stonecrop/themes": "0.6.2",
43
- "@stonecrop/stonecrop": "0.6.2"
39
+ "vue": "^3.5.26",
40
+ "@stonecrop/atable": "0.7.0",
41
+ "@stonecrop/stonecrop": "0.7.0",
42
+ "@stonecrop/themes": "0.7.0",
43
+ "@stonecrop/aform": "0.7.0"
44
44
  },
45
45
  "devDependencies": {
46
- "@eslint/js": "^9.38.0",
47
- "@microsoft/api-documenter": "^7.27.3",
46
+ "@eslint/js": "^9.39.2",
47
+ "@microsoft/api-documenter": "^7.28.2",
48
48
  "@miragejs/graphql": "^0.1.13",
49
- "@rushstack/heft": "^1.1.3",
50
- "@vitejs/plugin-vue": "^6.0.1",
51
- "eslint": "^9.38.0",
49
+ "@rushstack/heft": "^1.1.7",
50
+ "@vitejs/plugin-vue": "^6.0.3",
51
+ "eslint": "^9.39.2",
52
52
  "eslint-config-prettier": "^10.1.8",
53
- "eslint-plugin-vue": "^10.5.1",
54
- "globals": "^16.4.0",
53
+ "eslint-plugin-vue": "^10.6.2",
54
+ "globals": "^17.0.0",
55
55
  "miragejs": "^0.1.48",
56
56
  "typescript": "^5.9.3",
57
- "typescript-eslint": "^8.46.2",
58
- "vite": "^7.1.1",
59
- "vue-router": "^4.6.3",
57
+ "typescript-eslint": "^8.53.0",
58
+ "vite": "^7.3.1",
59
+ "vue-router": "^4.6.4",
60
60
  "stonecrop-rig": "0.2.22"
61
61
  },
62
62
  "publishConfig": {
@@ -440,7 +440,7 @@ const getDoctypesSchema = (): SchemaTypes[] => {
440
440
  {
441
441
  label: 'Doctype',
442
442
  name: 'doctype',
443
- type: 'Data',
443
+ fieldtype: 'Data',
444
444
  align: 'left',
445
445
  edit: false,
446
446
  width: '20ch',
@@ -448,7 +448,7 @@ const getDoctypesSchema = (): SchemaTypes[] => {
448
448
  {
449
449
  label: 'Name',
450
450
  name: 'display_name',
451
- type: 'Data',
451
+ fieldtype: 'Data',
452
452
  align: 'left',
453
453
  edit: false,
454
454
  width: '30ch',
@@ -456,7 +456,7 @@ const getDoctypesSchema = (): SchemaTypes[] => {
456
456
  {
457
457
  label: 'Records',
458
458
  name: 'record_count',
459
- type: 'Data',
459
+ fieldtype: 'Int',
460
460
  align: 'center',
461
461
  edit: false,
462
462
  width: '15ch',
@@ -464,7 +464,7 @@ const getDoctypesSchema = (): SchemaTypes[] => {
464
464
  {
465
465
  label: 'Actions',
466
466
  name: 'actions',
467
- type: 'Data',
467
+ fieldtype: 'Data',
468
468
  align: 'center',
469
469
  edit: false,
470
470
  width: '20ch',
@@ -571,7 +571,7 @@ const getRecordsSchema = (): SchemaTypes[] => {
571
571
  ...columns.map(col => ({
572
572
  label: col.label,
573
573
  name: col.fieldname,
574
- type: col.fieldtype,
574
+ fieldtype: col.fieldtype,
575
575
  align: 'left',
576
576
  edit: false,
577
577
  width: '20ch',
@@ -579,7 +579,7 @@ const getRecordsSchema = (): SchemaTypes[] => {
579
579
  {
580
580
  label: 'Actions',
581
581
  name: 'actions',
582
- type: 'Data',
582
+ fieldtype: 'Data',
583
583
  align: 'center',
584
584
  edit: false,
585
585
  width: '20ch',
@@ -10,22 +10,30 @@
10
10
  @click="navigateHome"
11
11
  @keydown.enter="navigateHome">
12
12
  <router-link to="/" tabindex="0">
13
- <span class="icon-placeholder" aria-label="Home">🏠</span>
13
+ <svg class="icon" aria-label="Home" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
14
+ <path d="M3 12l9-9 9 9" />
15
+ <path d="M9 21V12h6v9" />
16
+ </svg>
14
17
  </router-link>
15
18
  </li>
16
19
  <li
17
20
  :class="['searchtab', { 'search-active': searchVisible }]"
18
21
  :style="{ display: breadcrumbsVisibile ? 'block' : 'none' }">
19
22
  <a tabindex="0">
20
- <span
23
+ <svg
21
24
  v-show="!searchVisible"
22
- class="search-icon"
25
+ class="icon search-icon"
23
26
  role="button"
24
27
  aria-label="Search"
28
+ viewBox="0 0 24 24"
29
+ fill="none"
30
+ stroke="currentColor"
31
+ stroke-width="2"
25
32
  @click="toggleSearch"
26
- @keydown.enter="toggleSearch"
27
- >🔍</span
28
- >
33
+ @keydown.enter="toggleSearch">
34
+ <circle cx="11" cy="11" r="7" />
35
+ <path d="M21 21l-4.35-4.35" />
36
+ </svg>
29
37
  <input
30
38
  v-show="searchVisible"
31
39
  ref="searchinput"
@@ -97,13 +105,13 @@ footer {
97
105
  width: 100%;
98
106
  background-color: transparent;
99
107
  height: auto;
100
- min-height: 2rem;
108
+ min-height: 2.4rem;
101
109
  z-index: 100;
102
110
  text-align: left;
103
111
  font-size: 100%;
104
112
  display: flex;
105
113
  justify-content: right;
106
- padding: 0 1rem 0 0;
114
+ padding: 0 0.75rem 0 0;
107
115
  box-sizing: border-box;
108
116
  }
109
117
  ul {
@@ -121,29 +129,26 @@ ul {
121
129
  margin-left: -1px;
122
130
  }
123
131
 
124
- /* Base tab styling - 15% larger for easier interaction */
132
+ /* Base tab styling */
125
133
  .tabs a {
126
134
  float: left;
127
- padding: 0.575rem 1.725rem;
128
- height: 2.6rem;
135
+ padding: 0.5rem 1rem;
136
+ height: 2.4rem;
129
137
  box-sizing: border-box;
130
138
  display: flex;
131
139
  align-items: center;
132
140
  justify-content: center;
133
141
  text-decoration: none;
134
- color: var(--sc-gray-80, #333);
142
+ color: var(--sc-gray-60, #666);
135
143
  background: var(--sc-btn-color, #ffffff);
136
144
  border: 1px solid var(--sc-btn-border, #ccc);
137
- font-size: 1.15rem;
138
- transition: all 0.2s ease;
145
+ font-size: 0.85rem;
146
+ font-family: var(--sc-font-family, system-ui, sans-serif);
147
+ transition: all 0.15s ease;
139
148
 
140
- /* Only round the top corners */
141
- -webkit-border-top-left-radius: 15px;
142
- -webkit-border-top-right-radius: 15px;
143
- -moz-border-radius-topleft: 15px;
144
- -moz-border-radius-topright: 15px;
145
- border-top-left-radius: 15px;
146
- border-top-right-radius: 15px;
149
+ /* Minimal ornamentation - subtle top radius only */
150
+ border-top-left-radius: 2px;
151
+ border-top-right-radius: 2px;
147
152
  }
148
153
 
149
154
  .tabs a:hover {
@@ -157,84 +162,21 @@ ul {
157
162
  color: var(--sc-primary-text-color, #fff) !important;
158
163
  }
159
164
 
160
- .tabs li:before,
161
- .tabs li:after,
162
- .tabs li a:before,
163
- .tabs li a:after {
164
- position: absolute;
165
- bottom: 0;
166
- }
167
-
168
- .tabs li:last-child:after,
169
- .tabs li:last-child a:after,
170
- .tabs li:first-child:before,
171
- .tabs li:first-child a:before,
172
- .tabs .router-link-active:after,
173
- .tabs .router-link-active:before,
174
- .tabs .router-link-active a:after,
175
- .tabs .router-link-active a:before {
176
- content: '';
177
- }
178
-
179
- .tabs .router-link-active:before,
180
- .tabs .router-link-active:after {
181
- background: transparent;
182
- z-index: 1;
183
- }
184
-
185
- /* Squares */
186
- .tabs li:before,
187
- .tabs li:after {
188
- background: transparent;
189
- width: 10px;
190
- height: 10px;
191
- }
192
- .tabs li:before {
193
- left: -10px;
194
- }
195
- .tabs li:after {
196
- right: -10px;
197
- }
198
-
199
- /* Circles */
200
- .tabs li a:after,
201
- .tabs li a:before {
202
- width: 20px;
203
- height: 20px;
204
- -webkit-border-radius: 10px;
205
- -moz-border-radius: 10px;
206
- border-radius: 10px;
207
- background: transparent;
208
- z-index: 2;
209
- }
210
- .tabs .router-link-active a:after,
211
- .tabs .router-link-active a:before {
212
- background: transparent;
213
- }
214
- .tabs li:first-child.router-link-active a:before,
215
- .tabs li:last-child.router-link-active a:after {
216
- background: transparent;
217
- }
218
- .tabs li a:before {
219
- left: -20px;
220
- }
221
- .tabs li a:after {
222
- right: -20px;
223
- }
165
+ /* Pseudo-elements removed - minimal ornamentation style */
224
166
 
225
- /* Hide breadcrumbs tab - 15% larger */
167
+ /* Hide breadcrumbs tab */
226
168
  .hidebreadcrumbs a {
227
- min-width: 2.875rem;
228
- width: 2.875rem;
229
- height: 2.6rem;
230
- padding: 0.575rem;
169
+ min-width: 2.4rem;
170
+ width: 2.4rem;
171
+ height: 2.4rem;
172
+ padding: 0.5rem;
231
173
  background: var(--sc-btn-color, #ffffff);
232
174
  border: 1px solid var(--sc-btn-border, #ccc);
233
- color: var(--sc-gray-80, #333);
175
+ color: var(--sc-gray-60, #666);
234
176
  }
235
177
 
236
178
  .hidebreadcrumbs a div {
237
- font-size: 1.45rem;
179
+ font-size: 1.2rem;
238
180
  }
239
181
 
240
182
  .rotated {
@@ -270,50 +212,45 @@ a:focus {
270
212
  z-index: 3;
271
213
  }
272
214
 
273
- /* Home tab - 15% larger */
215
+ /* Home tab */
274
216
  .hometab a {
275
- min-width: 2.875rem;
276
- width: 2.875rem;
277
- height: 2.6rem;
278
- padding: 0.575rem;
217
+ min-width: 2.4rem;
218
+ width: 2.4rem;
219
+ height: 2.4rem;
220
+ padding: 0.5rem;
279
221
  background: var(--sc-btn-color, #ffffff);
280
222
  border: 1px solid var(--sc-btn-border, #ccc);
281
- color: var(--sc-gray-80, #333);
223
+ color: var(--sc-gray-60, #666);
282
224
  }
283
225
 
284
- .hometab .icon-placeholder {
285
- font-size: 1.15rem;
286
- line-height: 1;
226
+ /* SVG icon styling */
227
+ .icon {
228
+ width: 1rem;
229
+ height: 1rem;
230
+ stroke: currentColor;
231
+ flex-shrink: 0;
287
232
  }
288
233
 
289
- /* Search tab with animation - similar to ActionSet expand/collapse */
234
+ /* Search tab with animation */
290
235
  .searchtab {
291
236
  overflow: hidden;
292
237
  }
293
238
 
294
239
  .searchtab a {
295
- min-width: 2.875rem;
296
- height: 2.6rem;
297
- padding: 0.575rem;
240
+ min-width: 2.4rem;
241
+ height: 2.4rem;
242
+ padding: 0.5rem;
298
243
  background: var(--sc-btn-color, #ffffff);
299
244
  border: 1px solid var(--sc-btn-border, #ccc);
300
- color: var(--sc-gray-80, #333);
245
+ color: var(--sc-gray-60, #666);
301
246
  overflow: hidden;
302
247
  /* Animation for smooth expand/collapse */
303
- max-width: 2.875rem;
248
+ max-width: 2.4rem;
304
249
  transition: max-width 0.35s ease-in-out, padding 0.35s ease-in-out, background 0.2s ease;
305
250
  }
306
251
 
307
252
  .searchtab .search-icon {
308
- font-size: 1.15rem;
309
- width: 1.15rem;
310
- height: 1.15rem;
311
- line-height: 1;
312
253
  cursor: pointer;
313
- flex-shrink: 0;
314
- display: flex;
315
- align-items: center;
316
- justify-content: center;
317
254
  }
318
255
 
319
256
  .searchtab input {
@@ -344,10 +281,10 @@ a:focus {
344
281
 
345
282
  /* Search active state - expanded with animation */
346
283
  .searchtab.search-active a {
347
- max-width: 220px;
284
+ max-width: 200px;
348
285
  min-width: auto;
349
286
  width: auto;
350
- padding: 0.575rem 0.75rem;
287
+ padding: 0.5rem 0.75rem;
351
288
  }
352
289
 
353
290
  .searchtab.search-active input {