@dorsk/tsumikit 0.64.0 → 0.64.1
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.
- package/README.md +5 -1
- package/dist/components/atoms/Button.svelte +8 -2
- package/dist/components/layouts/ResizablePanel.svelte +2 -1
- package/dist/components/molecules/FileButton.svelte +3 -1
- package/dist/components/molecules/Popover.svelte +6 -2
- package/dist/styles/reset.css +11 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -837,7 +837,11 @@ glyphs (`size` stays the SVG px, emoji ×1.35).
|
|
|
837
837
|
On `(pointer: coarse)` every icon-only/square control (and `Popover`'s default
|
|
838
838
|
trigger) carries an invisible `::after` slab that extends its hit area to
|
|
839
839
|
`--touch-target` (44px, WCAG 2.5.8) without moving layout; fine pointers are
|
|
840
|
-
untouched.
|
|
840
|
+
untouched. The slab grows on both block sides but only towards the inline
|
|
841
|
+
*start*: inline-end overflow would count towards the scrollable overflow of
|
|
842
|
+
every scroll ancestor, so a button near the right edge of an `overflow-y: auto`
|
|
843
|
+
container would make it scroll sideways by a pixel or two.
|
|
844
|
+
`hitArea="compact"` opts a dense-table row out. `Button
|
|
841
845
|
collapseLabel="mobile" | "container"` hides `<span data-label>` children below
|
|
842
846
|
40rem viewport / 30rem container, drops to icon padding, and names the button
|
|
843
847
|
from the hidden text unless `aria-label` is set:
|
|
@@ -508,7 +508,11 @@
|
|
|
508
508
|
|
|
509
509
|
/* Coarse pointers: icon-only and square buttons carry an invisible slab that
|
|
510
510
|
extends the hit area to --touch-target without changing layout. Buttons
|
|
511
|
-
already at or above the target keep their own box (inset never positive).
|
|
511
|
+
already at or above the target keep their own box (inset never positive).
|
|
512
|
+
The slab grows towards the inline start only: inline-end overflow counts
|
|
513
|
+
towards the scrollable overflow of every scroll ancestor, so a button near
|
|
514
|
+
the right edge of an `overflow-y: auto` container would make it scroll
|
|
515
|
+
sideways. Start-side overflow is unscrollable, so the full target survives. */
|
|
512
516
|
@media (pointer: coarse) {
|
|
513
517
|
.btn-icon:not(.hit-compact),
|
|
514
518
|
.btn-icon-inline:not(.hit-compact),
|
|
@@ -524,7 +528,9 @@
|
|
|
524
528
|
.btn-chip:not(.hit-compact)::after {
|
|
525
529
|
content: '';
|
|
526
530
|
position: absolute;
|
|
527
|
-
inset: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
531
|
+
inset-block: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
532
|
+
inset-inline-start: min(0px, calc(100% - var(--touch-target)));
|
|
533
|
+
inset-inline-end: 0;
|
|
528
534
|
}
|
|
529
535
|
}
|
|
530
536
|
|
|
@@ -422,7 +422,8 @@
|
|
|
422
422
|
.panel-content {
|
|
423
423
|
flex: 1;
|
|
424
424
|
min-height: 0;
|
|
425
|
-
overflow: auto;
|
|
425
|
+
overflow-y: auto;
|
|
426
|
+
overflow-x: hidden;
|
|
426
427
|
}
|
|
427
428
|
/* Subtle chevron handle anchored to the panel's inner edge — never a filled
|
|
428
429
|
button, never overlapping the neighbouring main content. It stays visible
|
|
@@ -157,7 +157,9 @@
|
|
|
157
157
|
.file-btn.icon-only:not(.hit-compact)::after {
|
|
158
158
|
content: '';
|
|
159
159
|
position: absolute;
|
|
160
|
-
inset: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
160
|
+
inset-block: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
161
|
+
inset-inline-start: min(0px, calc(100% - var(--touch-target)));
|
|
162
|
+
inset-inline-end: 0;
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
165
|
/* Emoji glyph is bumped above the text size — at 1em a paperclip is hard to
|
|
@@ -450,7 +450,9 @@
|
|
|
450
450
|
flex: none;
|
|
451
451
|
}
|
|
452
452
|
/* Coarse pointers: icon-only triggers extend their hit area to --touch-target
|
|
453
|
-
via an invisible slab; layout does not move.
|
|
453
|
+
via an invisible slab; layout does not move. The slab grows towards the
|
|
454
|
+
inline start only, so it never adds scrollable overflow to a scroll ancestor
|
|
455
|
+
(see Button.svelte). */
|
|
454
456
|
@media (pointer: coarse) {
|
|
455
457
|
.pop-trigger:not(.canonical, .hit-compact) {
|
|
456
458
|
position: relative;
|
|
@@ -458,7 +460,9 @@
|
|
|
458
460
|
.pop-trigger:not(.canonical, .hit-compact)::after {
|
|
459
461
|
content: '';
|
|
460
462
|
position: absolute;
|
|
461
|
-
inset: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
463
|
+
inset-block: min(0px, calc((100% - var(--touch-target)) / 2));
|
|
464
|
+
inset-inline-start: min(0px, calc(100% - var(--touch-target)));
|
|
465
|
+
inset-inline-end: 0;
|
|
462
466
|
}
|
|
463
467
|
}
|
|
464
468
|
.pop-trigger.trigger-tone-accent {
|
package/dist/styles/reset.css
CHANGED
|
@@ -88,12 +88,16 @@ pre {
|
|
|
88
88
|
border-radius: var(--r-sm);
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
91
|
+
/* Slim scrollbars for mice only. On touch, a custom scrollbar replaces the
|
|
92
|
+
native overlay bars with classic space-taking ones. */
|
|
93
|
+
@media (hover: hover) and (pointer: fine) {
|
|
94
|
+
::-webkit-scrollbar {
|
|
95
|
+
width: 8px;
|
|
96
|
+
height: 8px;
|
|
97
|
+
}
|
|
98
|
+
::-webkit-scrollbar-thumb {
|
|
99
|
+
background: var(--border-strong);
|
|
100
|
+
border-radius: var(--r-pill);
|
|
101
|
+
}
|
|
98
102
|
}
|
|
99
103
|
|
package/package.json
CHANGED