@happyvertical/smrt-svelte 0.55.21 → 0.55.22

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 (31) hide show
  1. package/dist/browser-ai/svelte/components/STTTest.svelte +2 -2
  2. package/dist/components/audit/RecordHistory.svelte +1 -1
  3. package/dist/components/board/Board.svelte +3 -3
  4. package/dist/components/command-palette/CommandPaletteDialog.svelte +1 -1
  5. package/dist/components/command-palette/CommandPaletteTrigger.svelte +1 -1
  6. package/dist/components/forms/AddressInput.svelte +2 -2
  7. package/dist/components/forms/DateRangeInput.svelte +1 -1
  8. package/dist/components/forms/DateTimeInput.svelte +1 -1
  9. package/dist/components/forms/FileUpload.svelte +2 -2
  10. package/dist/components/forms/MeasurementInput.svelte +2 -2
  11. package/dist/components/forms/MoneyInput.svelte +1 -1
  12. package/dist/components/forms/NumberInput.svelte +1 -1
  13. package/dist/components/forms/PhoneInput.svelte +1 -1
  14. package/dist/components/forms/SearchInput.svelte +1 -1
  15. package/dist/components/forms/SelectInput.svelte +1 -1
  16. package/dist/components/forms/TextInput.svelte +1 -1
  17. package/dist/components/forms/TextareaInput.svelte +1 -1
  18. package/dist/components/import-export/ImportExport.svelte +1 -1
  19. package/dist/components/notifications/NotificationBell.svelte +2 -2
  20. package/dist/components/overview/OverviewGrid.svelte +2 -2
  21. package/dist/components/overview/widgets/RecordListWidget.svelte +1 -1
  22. package/dist/components/overview/widgets/ShortcutsWidget.svelte +2 -2
  23. package/dist/components/settings/SettingsCatalog.svelte +3 -3
  24. package/dist/components/sortable/Sortable.svelte +2 -2
  25. package/dist/components/workspace/WorkspaceShell.svelte +9 -9
  26. package/dist/components/workspace/admin-shell/ActivityItem.svelte +1 -1
  27. package/dist/components/workspace/admin-shell/AdminShell.svelte +4 -4
  28. package/dist/components/workspace/admin-shell/ShellSettingsPanel.svelte +1 -1
  29. package/dist/components/workspace/admin-shell/SystemScopePanel.svelte +1 -1
  30. package/dist/components/workspace/tools-dock/ToolsDock.svelte +5 -5
  31. package/package.json +14 -14
@@ -207,7 +207,7 @@ function clearLogs() {
207
207
  @layer smrt.theme {
208
208
  .stt-test {
209
209
  padding: var(--smrt-spacing-md);
210
- border: 1px solid var(--smrt-color-outline-variant);
210
+ border: var(--smrt-hairline);
211
211
  border-radius: var(--smrt-radius-medium);
212
212
  background: var(--smrt-color-surface-container-low);
213
213
  max-width: 500px;
@@ -306,7 +306,7 @@ function clearLogs() {
306
306
  margin-top: var(--smrt-spacing-sm);
307
307
  padding: var(--smrt-spacing-md);
308
308
  background: var(--smrt-color-surface, white);
309
- border: 1px solid var(--smrt-color-outline-variant);
309
+ border: var(--smrt-hairline);
310
310
  border-radius: var(--smrt-radius-small);
311
311
  min-height: 60px;
312
312
  font: var(--smrt-typography-body-large-font, 1rem / 1.5 sans-serif);
@@ -192,7 +192,7 @@ function date(value: string): string {
192
192
  .smrt-record-history > ol > li {
193
193
  min-inline-size: 0;
194
194
  padding-block: var(--smrt-spacing-3);
195
- border-block-end: 1px solid var(--smrt-color-outline-variant);
195
+ border-block-end: var(--smrt-hairline);
196
196
  overflow-wrap: anywhere;
197
197
  }
198
198
 
@@ -295,14 +295,14 @@ function toggleColumn(columnId: string): void {
295
295
  @layer smrt.theme {
296
296
  .smrt-board { min-width: 0; }
297
297
  .smrt-board__lanes { display: flex; gap: var(--smrt-spacing-4); overflow-x: auto; overscroll-behavior-x: contain; padding-block-end: var(--smrt-spacing-2); }
298
- .smrt-board__lane { display: grid; grid-template-rows: auto minmax(0, 1fr); flex: 0 0 min(18rem, 82vw); min-block-size: 12rem; max-block-size: min(42rem, 70vh); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-md); background: var(--smrt-color-surface-container); overflow: hidden; }
298
+ .smrt-board__lane { display: grid; grid-template-rows: auto minmax(0, 1fr); flex: 0 0 min(18rem, 82vw); min-block-size: 12rem; max-block-size: min(42rem, 70vh); border: var(--smrt-hairline); border-radius: var(--smrt-radius-md); background: var(--smrt-color-surface-container); overflow: hidden; }
299
299
  .smrt-board__lane--disabled { opacity: 0.6; }
300
- .smrt-board__header { display: flex; align-items: center; justify-content: space-between; gap: var(--smrt-spacing-2); min-block-size: 2.75rem; padding: 0 var(--smrt-spacing-3); border-block-end: 1px solid var(--smrt-color-outline-variant); }
300
+ .smrt-board__header { display: flex; align-items: center; justify-content: space-between; gap: var(--smrt-spacing-2); min-block-size: 2.75rem; padding: 0 var(--smrt-spacing-3); border-block-end: var(--smrt-hairline); }
301
301
  .smrt-board__title, .smrt-board__collapse { display: flex; align-items: center; justify-content: space-between; gap: var(--smrt-spacing-2); inline-size: 100%; color: inherit; font: var(--smrt-typography-label-large-font); }
302
302
  .smrt-board__collapse { padding: 0; border: 0; background: transparent; cursor: pointer; text-align: start; }
303
303
  .smrt-board__collapse:focus-visible, .smrt-board__card:focus-visible { outline: 2px solid var(--smrt-color-primary); outline-offset: 2px; }
304
304
  .smrt-board__cards { display: grid; align-content: start; gap: var(--smrt-spacing-2); min-block-size: 0; overflow-y: auto; overscroll-behavior-y: contain; padding: var(--smrt-spacing-3); }
305
- .smrt-board__card { display: block; inline-size: 100%; padding: var(--smrt-spacing-3); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-sm); background: var(--smrt-color-surface); color: inherit; cursor: grab; text-align: start; }
305
+ .smrt-board__card { display: block; inline-size: 100%; padding: var(--smrt-spacing-3); border: var(--smrt-hairline); border-radius: var(--smrt-radius-sm); background: var(--smrt-color-surface); color: inherit; cursor: grab; text-align: start; }
306
306
  .smrt-board__card--touch-drag { touch-action: none; }
307
307
  .smrt-board__card:active { cursor: grabbing; }
308
308
  .smrt-board__card--dragging { opacity: 0.55; }
@@ -366,7 +366,7 @@ const inputLabel = $derived(label ?? t(M['ui.command_palette.input_label']));
366
366
  font: inherit;
367
367
  font-size: var(--smrt-typography-label-small-size, 0.75rem);
368
368
  padding: 0.0625rem 0.375rem;
369
- border: 1px solid var(--smrt-color-outline-variant, var(--smrt-color-outline));
369
+ border: var(--smrt-hairline);
370
370
  border-radius: var(--smrt-radius-small, 0.375rem);
371
371
  color: var(--smrt-color-on-surface-variant);
372
372
  background: var(--smrt-color-surface-container);
@@ -79,7 +79,7 @@ const hint = $derived(hotkeys[0] ? formatPaletteHotkey(hotkeys[0], apple) : '');
79
79
  font: inherit;
80
80
  font-size: var(--smrt-typography-label-small-size, 0.75rem);
81
81
  padding: 0.0625rem 0.375rem;
82
- border: 1px solid var(--smrt-color-outline-variant, var(--smrt-color-outline));
82
+ border: var(--smrt-hairline);
83
83
  border-radius: var(--smrt-radius-small, 0.375rem);
84
84
  color: var(--smrt-color-on-surface-variant);
85
85
  }
@@ -531,7 +531,7 @@ function handleCountryChange(e: Event) {
531
531
  gap: var(--smrt-spacing-3);
532
532
  padding: var(--smrt-spacing-4);
533
533
  background: var(--smrt-color-surface-container-low);
534
- border: 1px solid var(--smrt-color-outline-variant);
534
+ border: var(--smrt-hairline);
535
535
  border-radius: var(--smrt-radius-medium);
536
536
  }
537
537
 
@@ -574,7 +574,7 @@ function handleCountryChange(e: Event) {
574
574
  .smrt-input {
575
575
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
576
576
  font-size: var(--smrt-typography-body-large-size, 1rem);
577
- border: 1px solid var(--smrt-color-outline-variant);
577
+ border: var(--smrt-hairline);
578
578
  border-radius: var(--smrt-radius-small);
579
579
  background: var(--smrt-color-surface);
580
580
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -649,7 +649,7 @@ const primaryControlId = $derived(isSmrt ? `${name}_voice` : `${name}_start`);
649
649
  .smrt-input {
650
650
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
651
651
  font-size: var(--smrt-typography-body-large-size, 1rem);
652
- border: 1px solid var(--smrt-color-outline-variant);
652
+ border: var(--smrt-hairline);
653
653
  border-radius: var(--smrt-radius-small);
654
654
  background: var(--smrt-color-surface);
655
655
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -473,7 +473,7 @@ function handleNativeChange(e: Event) {
473
473
  width: 100%;
474
474
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
475
475
  font-size: var(--smrt-typography-body-large-size, 1rem);
476
- border: 1px solid var(--smrt-color-outline-variant);
476
+ border: var(--smrt-hairline);
477
477
  border-radius: var(--smrt-radius-small);
478
478
  background: var(--smrt-color-surface);
479
479
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -412,7 +412,7 @@ function formatFileSize(bytes: number): string {
412
412
  list-style: none;
413
413
  margin: 0;
414
414
  padding: 0;
415
- border: 1px solid var(--smrt-color-outline-variant);
415
+ border: var(--smrt-hairline);
416
416
  border-radius: var(--smrt-radius-md, 0.5rem);
417
417
  overflow: hidden;
418
418
  }
@@ -422,7 +422,7 @@ function formatFileSize(bytes: number): string {
422
422
  align-items: center;
423
423
  gap: var(--smrt-spacing-3, 0.75rem);
424
424
  padding: var(--smrt-spacing-2, 0.5rem) var(--smrt-spacing-3, 0.75rem);
425
- border-bottom: 1px solid var(--smrt-color-outline-variant);
425
+ border-bottom: var(--smrt-hairline);
426
426
  }
427
427
 
428
428
  .file-list__item:last-child {
@@ -521,7 +521,7 @@ function handleUnitChange(e: Event) {
521
521
  flex: 1;
522
522
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
523
523
  font-size: var(--smrt-typography-body-large-size, 1rem);
524
- border: 1px solid var(--smrt-color-outline-variant);
524
+ border: var(--smrt-hairline);
525
525
  border-radius: var(--smrt-radius-small);
526
526
  background: var(--smrt-color-surface);
527
527
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -567,7 +567,7 @@ function handleUnitChange(e: Event) {
567
567
  .unit-select {
568
568
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
569
569
  font-size: var(--smrt-typography-body-medium-size, 0.875rem);
570
- border: 1px solid var(--smrt-color-outline-variant);
570
+ border: var(--smrt-hairline);
571
571
  border-radius: var(--smrt-radius-small);
572
572
  background: var(--smrt-color-surface);
573
573
  cursor: pointer;
@@ -380,7 +380,7 @@ function handleBlur() {
380
380
  flex: 1;
381
381
  padding: var(--smrt-spacing-2) var(--smrt-spacing-12) var(--smrt-spacing-2) var(--smrt-spacing-3);
382
382
  font-size: var(--smrt-typography-body-large-size, 1rem);
383
- border: 1px solid var(--smrt-color-outline-variant);
383
+ border: var(--smrt-hairline);
384
384
  border-radius: var(--smrt-radius-small);
385
385
  background: var(--smrt-color-surface);
386
386
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -294,7 +294,7 @@ function handleInput(e: Event) {
294
294
  width: 100%;
295
295
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
296
296
  font-size: var(--smrt-typography-body-large-size, 1rem);
297
- border: 1px solid var(--smrt-color-outline-variant);
297
+ border: var(--smrt-hairline);
298
298
  border-radius: var(--smrt-radius-small);
299
299
  background: var(--smrt-color-surface);
300
300
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -409,7 +409,7 @@ function handleInput(e: Event) {
409
409
  flex: 1;
410
410
  padding: var(--smrt-spacing-2) var(--smrt-spacing-3);
411
411
  font-size: var(--smrt-typography-body-large-size, 1rem);
412
- border: 1px solid var(--smrt-color-outline-variant);
412
+ border: var(--smrt-hairline);
413
413
  border-radius: var(--smrt-radius-small);
414
414
  background: var(--smrt-color-surface);
415
415
  transition: all var(--smrt-duration-short2, 150ms) var(--smrt-easing-standard, ease);
@@ -221,7 +221,7 @@ const sizeClasses = {
221
221
  align-items: center;
222
222
  width: 100%;
223
223
  background: var(--smrt-color-surface-container-low);
224
- border: 1px solid var(--smrt-color-outline-variant);
224
+ border: var(--smrt-hairline);
225
225
  border-radius: var(--smrt-radius-md, 0.5rem);
226
226
  transition: all var(--smrt-duration-fast, 150ms) var(--smrt-easing-standard, ease);
227
227
  }
@@ -198,7 +198,7 @@ function handleChange(e: Event) {
198
198
  display: flex;
199
199
  align-items: center;
200
200
  background-color: var(--smrt-color-surface);
201
- border: 1px solid var(--smrt-color-outline-variant);
201
+ border: var(--smrt-hairline);
202
202
  border-radius: var(--smrt-radius-small);
203
203
  min-height: 40px;
204
204
  padding: 0 var(--smrt-spacing-3);
@@ -355,7 +355,7 @@ function handleInput(e: Event) {
355
355
  display: flex;
356
356
  align-items: center;
357
357
  background-color: var(--smrt-color-surface);
358
- border: 1px solid var(--smrt-color-outline-variant);
358
+ border: var(--smrt-hairline);
359
359
  border-radius: var(--smrt-radius-small);
360
360
  min-height: 40px;
361
361
  padding: 0 var(--smrt-spacing-3);
@@ -315,7 +315,7 @@ function handleInput(e: Event) {
315
315
  display: flex;
316
316
  align-items: flex-start;
317
317
  background-color: var(--smrt-color-surface);
318
- border: 1px solid var(--smrt-color-outline-variant);
318
+ border: var(--smrt-hairline);
319
319
  border-radius: var(--smrt-radius-small);
320
320
  min-height: 40px;
321
321
  padding: 0 var(--smrt-spacing-3);
@@ -661,7 +661,7 @@ async function startExport() {
661
661
  padding: var(--smrt-spacing-2);
662
662
  text-align: start;
663
663
  vertical-align: top;
664
- border-block-end: 1px solid var(--smrt-color-outline-variant, currentColor);
664
+ border-block-end: var(--smrt-hairline);
665
665
  }
666
666
  .smrt-import-export__actions {
667
667
  display: flex;
@@ -129,10 +129,10 @@ $effect(() => {
129
129
  @layer smrt.reset, smrt.structure, smrt.theme;
130
130
  @layer smrt.theme {
131
131
  .smrt-notification-bell { position: relative; }
132
- .smrt-notification-bell__panel { position: absolute; z-index: 1; inset-block-start: 100%; inset-inline-end: 0; inline-size: min(24rem, 90vw); padding: var(--smrt-spacing-3); background: var(--smrt-color-surface); border: 1px solid var(--smrt-color-outline); border-radius: var(--smrt-radius-medium); }
132
+ .smrt-notification-bell__panel { position: absolute; z-index: 1; inset-block-start: 100%; inset-inline-end: 0; inline-size: min(24rem, 90vw); padding: var(--smrt-spacing-3); background: var(--smrt-color-surface); border: var(--smrt-hairline-strong); border-radius: var(--smrt-radius-medium); }
133
133
  header { display: flex; justify-content: space-between; gap: var(--smrt-spacing-2); }
134
134
  ol { display: grid; gap: var(--smrt-spacing-2); padding: 0; list-style: none; }
135
- li { padding-block: var(--smrt-spacing-2); border-block-end: 1px solid var(--smrt-color-outline-variant); }
135
+ li { padding-block: var(--smrt-spacing-2); border-block-end: var(--smrt-hairline); }
136
136
  li[data-read='false'] { border-inline-start: 3px solid var(--smrt-color-primary); padding-inline-start: var(--smrt-spacing-2); }
137
137
  p { overflow-wrap: anywhere; }
138
138
  }
@@ -553,7 +553,7 @@ const headingTag = $derived(`h${headingLevel}`);
553
553
  .smrt-overview__item[data-drop]::before { content: ''; position: absolute; inset-block: var(--smrt-overview-grid-pad); inline-size: 0.1875rem; border-radius: var(--smrt-radius-full); background: var(--smrt-color-primary); }
554
554
  .smrt-overview__item[data-drop='before']::before { inset-inline-start: 0; }
555
555
  .smrt-overview__item[data-drop='after']::before { inset-inline-end: 0; }
556
- .smrt-overview__tile { position: relative; block-size: 100%; box-sizing: border-box; padding: var(--smrt-spacing-3); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-large, var(--smrt-radius-medium)); background: var(--smrt-color-surface); color: var(--smrt-color-on-surface); }
556
+ .smrt-overview__tile { position: relative; block-size: 100%; box-sizing: border-box; padding: var(--smrt-spacing-3); border: var(--smrt-hairline); border-radius: var(--smrt-radius-large, var(--smrt-radius-medium)); background: var(--smrt-color-surface); color: var(--smrt-color-on-surface); }
557
557
  [data-presentation='plain']:not([data-editing]) .smrt-overview__tile { padding: 0; border: 0; border-radius: 0; background: transparent; }
558
558
  [data-editing] .smrt-overview__tile { border-style: dashed; }
559
559
  .smrt-overview__widget { display: grid; gap: var(--smrt-spacing-2); align-content: start; min-inline-size: 0; }
@@ -566,7 +566,7 @@ const headingTag = $derived(`h${headingLevel}`);
566
566
  .smrt-overview__handle:hover { background: var(--smrt-color-surface-container-high); }
567
567
  .smrt-overview__handle:focus-visible { outline: 2px solid var(--smrt-color-primary); outline-offset: 2px; }
568
568
  .smrt-overview__handle[aria-pressed='true'] { background: var(--smrt-color-primary-container); color: var(--smrt-color-on-primary-container); }
569
- .smrt-overview__resize { position: absolute; inset-block-start: 50%; inset-inline-end: -0.4375rem; inline-size: 0.875rem; block-size: 2.75rem; transform: translateY(-50%); border: 1px solid var(--smrt-color-outline); border-radius: var(--smrt-radius-full); background: var(--smrt-color-surface-container-high); cursor: ew-resize; touch-action: none; }
569
+ .smrt-overview__resize { position: absolute; inset-block-start: 50%; inset-inline-end: -0.4375rem; inline-size: 0.875rem; block-size: 2.75rem; transform: translateY(-50%); border: var(--smrt-hairline-strong); border-radius: var(--smrt-radius-full); background: var(--smrt-color-surface-container-high); cursor: ew-resize; touch-action: none; }
570
570
  .smrt-overview__resize:hover { background: var(--smrt-color-primary-container); }
571
571
  .smrt-overview__resize:focus-visible { outline: 2px solid var(--smrt-color-primary); outline-offset: 2px; }
572
572
  .smrt-overview__choices { display: grid; gap: var(--smrt-spacing-1); margin: 0; padding: 0; list-style: none; }
@@ -80,7 +80,7 @@ const viewAll = $derived(
80
80
  @layer smrt.reset, smrt.structure, smrt.theme;
81
81
  @layer smrt.theme {
82
82
  .smrt-records { display: grid; margin: 0; padding: 0; list-style: none; }
83
- .smrt-records__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--smrt-spacing-3); padding: var(--smrt-spacing-2) 0; border-block-end: 1px solid var(--smrt-color-outline-variant); }
83
+ .smrt-records__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--smrt-spacing-3); padding: var(--smrt-spacing-2) 0; border-block-end: var(--smrt-hairline); }
84
84
  .smrt-records__row:last-child { border-block-end: 0; }
85
85
  .smrt-records__main { display: grid; min-inline-size: 0; }
86
86
  .smrt-records__title { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--smrt-color-on-surface); font-weight: var(--smrt-typography-weight-medium, 500); text-decoration: none; }
@@ -96,8 +96,8 @@ const cards = $derived.by((): Card[] => {
96
96
  @layer smrt.reset, smrt.structure, smrt.theme;
97
97
  @layer smrt.theme {
98
98
  .smrt-shortcuts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(12rem, 100%), 1fr)); gap: var(--smrt-spacing-3); margin: 0; padding: 0; list-style: none; }
99
- .smrt-shortcuts__card { position: relative; display: flex; min-inline-size: 0; border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-large, var(--smrt-radius-medium)); background: var(--smrt-color-surface); transition: background-color 120ms, border-color 120ms; }
100
- .smrt-shortcuts__card:hover { background: var(--smrt-color-surface-container-high); border-color: var(--smrt-color-outline); }
99
+ .smrt-shortcuts__card { position: relative; display: flex; min-inline-size: 0; border: var(--smrt-hairline); border-radius: var(--smrt-radius-large, var(--smrt-radius-medium)); background: var(--smrt-color-surface); transition: background-color 120ms, border-color 120ms; }
100
+ .smrt-shortcuts__card:hover { background: var(--smrt-color-surface-container-high); border-color: var(--smrt-hairline-strong-color); }
101
101
  .smrt-shortcuts__link { flex: 1 1 auto; display: flex; flex-direction: column; gap: var(--smrt-spacing-2); padding: var(--smrt-spacing-3); color: var(--smrt-color-on-surface); text-decoration: none; }
102
102
  .smrt-shortcuts__link:focus-visible { outline: 2px solid var(--smrt-color-primary); outline-offset: 2px; border-radius: inherit; }
103
103
  .smrt-shortcuts__heading { display: flex; align-items: center; gap: var(--smrt-spacing-2); min-inline-size: 0; }
@@ -187,7 +187,7 @@ function catalogHref(targetPage: number, selectedId?: string): string {
187
187
  display: grid;
188
188
  max-block-size: min(42rem, calc(100vh - 19rem));
189
189
  overflow-y: auto;
190
- border-block: 1px solid var(--smrt-color-outline-variant);
190
+ border-block: var(--smrt-hairline);
191
191
  }
192
192
 
193
193
  .smrt-settings-catalog__results a {
@@ -196,7 +196,7 @@ function catalogHref(targetPage: number, selectedId?: string): string {
196
196
  gap: var(--smrt-spacing-1);
197
197
  min-width: 0;
198
198
  padding: var(--smrt-spacing-3);
199
- border-bottom: 1px solid var(--smrt-color-outline-variant);
199
+ border-bottom: var(--smrt-hairline);
200
200
  color: inherit;
201
201
  text-decoration: none;
202
202
  }
@@ -260,7 +260,7 @@ function catalogHref(targetPage: number, selectedId?: string): string {
260
260
  }
261
261
 
262
262
  .smrt-settings-catalog__detail {
263
- border: 1px solid var(--smrt-color-outline);
263
+ border: var(--smrt-hairline-strong);
264
264
  border-radius: var(--smrt-radius-medium);
265
265
  background: var(--smrt-color-surface);
266
266
  padding: var(--smrt-spacing-4);
@@ -317,13 +317,13 @@ function containerRank(id: string): number {
317
317
  @layer smrt.theme {
318
318
  .smrt-sortable { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--smrt-spacing-3); min-width: 0; position: relative; }
319
319
  .smrt-sortable__containers { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--smrt-spacing-3); min-width: 0; }
320
- .smrt-sortable__container { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--smrt-spacing-2); padding: var(--smrt-spacing-3); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-md); background: var(--smrt-color-surface-container); min-width: 0; }
320
+ .smrt-sortable__container { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--smrt-spacing-2); padding: var(--smrt-spacing-3); border: var(--smrt-hairline); border-radius: var(--smrt-radius-md); background: var(--smrt-color-surface-container); min-width: 0; }
321
321
  .smrt-sortable__container--disabled { opacity: 0.6; }
322
322
  .smrt-sortable__container--dragging { opacity: 0.55; }
323
323
  .smrt-sortable__header { display: flex; align-items: center; gap: var(--smrt-spacing-2); min-block-size: 2.25rem; }
324
324
  .smrt-sortable__content { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: var(--smrt-spacing-2); }
325
325
  .smrt-sortable__items { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--smrt-spacing-1); min-block-size: 2.25rem; min-width: 0; }
326
- .smrt-sortable__item { display: flex; align-items: center; gap: var(--smrt-spacing-2); padding: var(--smrt-spacing-1) var(--smrt-spacing-2); border: 1px solid var(--smrt-color-outline-variant); border-radius: var(--smrt-radius-sm); background: var(--smrt-color-surface); min-width: 0; position: relative; }
326
+ .smrt-sortable__item { display: flex; align-items: center; gap: var(--smrt-spacing-2); padding: var(--smrt-spacing-1) var(--smrt-spacing-2); border: var(--smrt-hairline); border-radius: var(--smrt-radius-sm); background: var(--smrt-color-surface); min-width: 0; position: relative; }
327
327
  .smrt-sortable__item--dragging { opacity: 0.55; }
328
328
  .smrt-sortable__handle { display: inline-grid; place-items: center; flex: 0 0 auto; inline-size: 2rem; block-size: 2rem; padding: 0; border: 0; border-radius: var(--smrt-radius-sm); background: transparent; color: var(--smrt-color-on-surface-variant); cursor: grab; touch-action: none; }
329
329
  .smrt-sortable__handle:active { cursor: grabbing; }
@@ -482,7 +482,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
482
482
  height: 100dvh;
483
483
  box-sizing: border-box;
484
484
  background: var(--smrt-color-surface);
485
- border-right: 1px solid var(--smrt-color-outline-variant);
485
+ border-right: var(--smrt-hairline);
486
486
  min-width: 0;
487
487
  overflow: hidden;
488
488
  overscroll-behavior: contain;
@@ -531,7 +531,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
531
531
  :global(.class)` (#1589). Button owns focus-visible, so those rules are
532
532
  dropped. The responsive `display` toggles below are preserved. */
533
533
  .smrt-workspace-shell :global(.shell-toggle) {
534
- border: 1px solid var(--smrt-color-outline-variant);
534
+ border: var(--smrt-hairline);
535
535
  background: var(--smrt-color-surface-container);
536
536
  color: var(--smrt-color-on-surface);
537
537
  border-radius: var(--smrt-radius-medium, 0.65rem);
@@ -573,7 +573,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
573
573
  gap: 0.75rem;
574
574
  padding-top: 0.75rem;
575
575
  background: var(--smrt-color-surface);
576
- border-top: 1px solid var(--smrt-color-outline-variant);
576
+ border-top: var(--smrt-hairline);
577
577
  z-index: 1;
578
578
  }
579
579
 
@@ -597,7 +597,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
597
597
  padding: 0.75rem var(--smrt-ws-page-pad);
598
598
  min-height: var(--smrt-ws-topbar-height);
599
599
  background: var(--smrt-color-surface);
600
- border-bottom: 1px solid var(--smrt-color-outline-variant);
600
+ border-bottom: var(--smrt-hairline);
601
601
  box-shadow: var(--smrt-elevation-1, 0 1px 2px rgb(0 0 0 / 0.05));
602
602
  }
603
603
 
@@ -655,7 +655,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
655
655
  gap: 0.4rem;
656
656
  padding: 0.25rem 0.65rem;
657
657
  border-radius: var(--smrt-radius-full);
658
- border: 1px solid var(--smrt-color-outline-variant);
658
+ border: var(--smrt-hairline);
659
659
  background: var(--smrt-color-surface-container);
660
660
  color: var(--smrt-color-on-surface);
661
661
  font-size: var(--smrt-typography-label-medium-size, 0.78rem);
@@ -687,7 +687,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
687
687
 
688
688
  .smrt-workspace-shell :global(.mobile-menu) {
689
689
  display: none;
690
- border: 1px solid var(--smrt-color-outline-variant);
690
+ border: var(--smrt-hairline);
691
691
  background: var(--smrt-color-surface);
692
692
  color: var(--smrt-color-on-surface);
693
693
  border-radius: var(--smrt-radius-medium, 0.65rem);
@@ -721,7 +721,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
721
721
  display: flex;
722
722
  flex-direction: column;
723
723
  background: var(--smrt-color-surface);
724
- border-left: 1px solid var(--smrt-color-outline-variant);
724
+ border-left: var(--smrt-hairline);
725
725
  box-shadow: var(--smrt-elevation-2, 0 4px 6px -1px rgb(0 0 0 / 0.1));
726
726
  z-index: 22;
727
727
  }
@@ -731,7 +731,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
731
731
  align-items: center;
732
732
  justify-content: space-between;
733
733
  padding: 0.85rem 1rem;
734
- border-bottom: 1px solid var(--smrt-color-outline-variant);
734
+ border-bottom: var(--smrt-hairline);
735
735
  }
736
736
 
737
737
  .inspector-title {
@@ -781,7 +781,7 @@ const sidebarInert = $derived(isMobileViewport && !mobileNavOpen);
781
781
  gap: 0.4rem;
782
782
  padding: 0.75rem 0.25rem;
783
783
  background: var(--smrt-color-surface);
784
- border-left: 1px solid var(--smrt-color-outline-variant);
784
+ border-left: var(--smrt-hairline);
785
785
  z-index: 18;
786
786
  }
787
787
 
@@ -49,7 +49,7 @@ const { t } = useI18n();
49
49
  justify-content: space-between;
50
50
  gap: var(--smrt-spacing-3);
51
51
  padding: var(--smrt-spacing-3) 0;
52
- border-block-end: 1px solid var(--smrt-color-outline-variant);
52
+ border-block-end: var(--smrt-hairline);
53
53
  }
54
54
 
55
55
  .smrt-activity-item__main {
@@ -2330,7 +2330,7 @@ function buildLayoutStyle(shell: ModuleShellState): string {
2330
2330
  font-size: var(--smrt-typography-body-small-size);
2331
2331
  }
2332
2332
 
2333
- :global(.smrt-admin-shell__edge-toggle--left.button.ghost) {
2333
+ :global(.smrt-admin-shell__edge-toggle--left[data-smrt-component="Button"]) {
2334
2334
  flex: 0 0 auto;
2335
2335
  inline-size: max(2.75rem, var(--smrt-control-target-min, 0px));
2336
2336
  block-size: max(2.75rem, var(--smrt-control-target-min, 0px));
@@ -2338,16 +2338,16 @@ function buildLayoutStyle(shell: ModuleShellState): string {
2338
2338
  color: var(--smrt-color-on-surface-variant);
2339
2339
  }
2340
2340
 
2341
- :global(.smrt-admin-shell__edge-toggle--left.button.ghost) {
2341
+ :global(.smrt-admin-shell__edge-toggle--left[data-smrt-component="Button"]) {
2342
2342
  border-radius: var(--smrt-control-radius);
2343
2343
  }
2344
2344
 
2345
- :global(.smrt-admin-shell__edge-toggle--left.button.ghost:hover) {
2345
+ :global(.smrt-admin-shell__edge-toggle--left[data-smrt-component="Button"]:hover) {
2346
2346
  background: color-mix(in srgb, currentColor calc(var(--smrt-state-hover) * 100%), transparent);
2347
2347
  color: var(--smrt-color-on-surface);
2348
2348
  }
2349
2349
 
2350
- :global(.smrt-admin-shell__edge-toggle--left.button.ghost:active) {
2350
+ :global(.smrt-admin-shell__edge-toggle--left[data-smrt-component="Button"]:active) {
2351
2351
  background: color-mix(in srgb, currentColor calc(var(--smrt-state-pressed) * 100%), transparent);
2352
2352
  }
2353
2353
 
@@ -362,7 +362,7 @@ function conflictFor(edge: PanelEdge): string | null {
362
362
 
363
363
  .smrt-shell-settings-panel__row {
364
364
  padding-block: var(--smrt-spacing-3);
365
- border-block-start: 1px solid var(--smrt-color-outline-variant);
365
+ border-block-start: var(--smrt-hairline);
366
366
  }
367
367
 
368
368
  .smrt-shell-settings-panel__row > div:first-child {
@@ -101,7 +101,7 @@ const { t } = useI18n();
101
101
  grid-template-columns: minmax(0, 1fr) auto;
102
102
  gap: var(--smrt-spacing-1) var(--smrt-spacing-3);
103
103
  padding: var(--smrt-spacing-3) 0;
104
- border-block-start: 1px solid var(--smrt-color-outline-variant);
104
+ border-block-start: var(--smrt-hairline);
105
105
  color: var(--smrt-color-on-surface);
106
106
  text-decoration: none;
107
107
  }
@@ -308,7 +308,7 @@
308
308
  gap: 0.35rem;
309
309
  padding: 0.6rem 0.45rem;
310
310
  background: var(--smrt-color-surface-container-low);
311
- border-left: 1px solid var(--smrt-color-outline-variant);
311
+ border-left: var(--smrt-hairline);
312
312
  }
313
313
 
314
314
  .tools-dock__rail-button {
@@ -376,8 +376,8 @@
376
376
  background: var(--smrt-color-surface);
377
377
  color: var(--smrt-color-on-surface);
378
378
  overflow: hidden;
379
- border-left: 1px solid var(--smrt-color-outline-variant);
380
- border-right: 1px solid var(--smrt-color-outline-variant);
379
+ border-left: var(--smrt-hairline);
380
+ border-right: var(--smrt-hairline);
381
381
  box-shadow: -24px 0 40px
382
382
  color-mix(in srgb, var(--smrt-color-shadow) 18%, transparent);
383
383
  transform: translateX(calc(100% + var(--smrt-tools-dock-rail-width)));
@@ -423,7 +423,7 @@
423
423
  height: 2rem;
424
424
  display: inline-grid;
425
425
  place-items: center;
426
- border: 1px solid var(--smrt-color-outline-variant);
426
+ border: var(--smrt-hairline);
427
427
  border-radius: 0.5rem;
428
428
  background: var(--smrt-color-surface-container-high);
429
429
  color: inherit;
@@ -471,7 +471,7 @@
471
471
  display: inline-flex;
472
472
  align-items: center;
473
473
  gap: 0.4rem;
474
- border: 1px solid var(--smrt-color-outline-variant);
474
+ border: var(--smrt-hairline);
475
475
  background: var(--smrt-color-surface-container-low);
476
476
  color: var(--smrt-color-on-surface-variant);
477
477
  border-radius: 0.6rem;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-svelte",
3
- "version": "0.55.21",
3
+ "version": "0.55.22",
4
4
  "smrtJsdoc": "strict",
5
5
  "description": "Svelte 5 components for SMRT user management - auth, users, tenants, roles, permissions, groups",
6
6
  "type": "module",
@@ -205,11 +205,11 @@
205
205
  },
206
206
  "dependencies": {
207
207
  "@happyvertical/logger": "^0.103.5",
208
- "@happyvertical/smrt-languages": "0.55.21",
209
- "@happyvertical/smrt-mcp-apps": "0.55.21",
210
- "@happyvertical/smrt-types": "0.55.21",
211
- "@happyvertical/smrt-ui": "0.55.21",
212
- "@happyvertical/smrt-web": "0.55.21",
208
+ "@happyvertical/smrt-languages": "0.55.22",
209
+ "@happyvertical/smrt-mcp-apps": "0.55.22",
210
+ "@happyvertical/smrt-types": "0.55.22",
211
+ "@happyvertical/smrt-ui": "0.55.22",
212
+ "@happyvertical/smrt-web": "0.55.22",
213
213
  "@tanstack/db": "^0.6.14",
214
214
  "@tanstack/svelte-db": "^0.1.91",
215
215
  "esm-env": "^1.2.2"
@@ -244,14 +244,14 @@
244
244
  }
245
245
  },
246
246
  "devDependencies": {
247
- "@happyvertical/smrt-agents": "0.55.21",
248
- "@happyvertical/smrt-chat": "0.55.21",
249
- "@happyvertical/smrt-content": "0.55.21",
250
- "@happyvertical/smrt-core": "0.55.21",
251
- "@happyvertical/smrt-reports": "0.55.21",
252
- "@happyvertical/smrt-scanner": "0.55.21",
253
- "@happyvertical/smrt-tenancy": "0.55.21",
254
- "@happyvertical/smrt-users": "0.55.21",
247
+ "@happyvertical/smrt-agents": "0.55.22",
248
+ "@happyvertical/smrt-chat": "0.55.22",
249
+ "@happyvertical/smrt-content": "0.55.22",
250
+ "@happyvertical/smrt-core": "0.55.22",
251
+ "@happyvertical/smrt-reports": "0.55.22",
252
+ "@happyvertical/smrt-scanner": "0.55.22",
253
+ "@happyvertical/smrt-tenancy": "0.55.22",
254
+ "@happyvertical/smrt-users": "0.55.22",
255
255
  "@happyvertical/speech": "^0.103.5",
256
256
  "@sveltejs/package": "^2.5.8",
257
257
  "@sveltejs/vite-plugin-svelte": "^7.3.0",