@ultimat3/ui 19.1.0 → 19.1.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ultimat3/ui",
3
- "version": "19.1.0",
3
+ "version": "19.1.2",
4
4
  "description": "SolidJS design system: semantic design tokens, dark/RTL-ready SCSS modules, a11y primitives",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -44,10 +44,10 @@
44
44
  "icons": "bun run src/icons/build-icons.ts"
45
45
  },
46
46
  "dependencies": {
47
- "@ultimat3/core": "19.1.0",
48
- "@ultimat3/i18n": "19.1.0",
49
- "@ultimat3/money": "19.1.0",
50
- "@ultimat3/time": "19.1.0"
47
+ "@ultimat3/core": "19.1.2",
48
+ "@ultimat3/i18n": "19.1.2",
49
+ "@ultimat3/money": "19.1.2",
50
+ "@ultimat3/time": "19.1.2"
51
51
  },
52
52
  "peerDependencies": {
53
53
  "solid-js": "^1.9.0"
@@ -22,8 +22,27 @@
22
22
  }
23
23
 
24
24
  /// Removed from the visual flow, still announced by screen readers.
25
+ ///
26
+ /// `inset-inline-start` is the one line the canonical recipe (a11y-project's, Bootstrap's
27
+ /// `.visually-hidden`) omits, and omitting it is what made this widen a document. `position:
28
+ /// absolute` with no inset leaves the box at its STATIC position — where the content flow put it —
29
+ /// and only takes it out of flow. After a long run of inline text the static position is already
30
+ /// past the viewport edge; the box then escapes the truncating ancestor's `overflow: hidden`,
31
+ /// because that ancestor is not positioned and so is not its containing block, and its right edge
32
+ /// extends the scrollable area. Measured in ai-maxxing: `Link`'s `.hint` ("opens in a new tab")
33
+ /// after truncated titles put seven boxes at right edges of 753–1119px, making the document 1119px
34
+ /// wide in a 390px viewport and 1480px wide in a 1440px one — a whole page scrolling sideways for
35
+ /// text no sighted user sees.
36
+ ///
37
+ /// LOGICAL, never `left: -9999px`: this file's own header refuses a physical direction, and the
38
+ /// classic idiom also puts the box a screen away from the content it annotates, which is where an
39
+ /// RTL document and a focus scroll both go wrong. Only the INLINE start is set. The block position
40
+ /// stays static on purpose — a `.hint` that is focusable (`Checkbox`, `Radio`, `Switch` and
41
+ /// `Dropzone` each hide a real input through this) must scroll into view beside its own control,
42
+ /// not at the top of the page, and a static block position cannot widen anything.
25
43
  @mixin visually-hidden {
26
44
  position: absolute;
45
+ inset-inline-start: 0;
27
46
  width: 1px;
28
47
  height: 1px;
29
48
  margin: -1px;