@sia-ui/cli 0.7.0 → 0.7.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @sia-ui/cli
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Aligne les packages publics de SIA UI sur la version 0.7.1 afin que les huit packages restent sur une version commune.
8
+
3
9
  ## 0.7.0
4
10
 
5
11
  ### Minor Changes
package/README.md CHANGED
@@ -68,6 +68,12 @@ Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible
68
68
  <!-- sia:changelog:start -->
69
69
  # @sia-ui/cli
70
70
 
71
+ ## 0.7.1
72
+
73
+ ### Patch Changes
74
+
75
+ - Aligne les packages publics de SIA UI sur la version 0.7.1 afin que les huit packages restent sur une version commune.
76
+
71
77
  ## 0.7.0
72
78
 
73
79
  ### Minor Changes
@@ -191,6 +191,16 @@ export const Select = forwardRef<HTMLButtonElement, SelectProps>(function Select
191
191
  if (searchable || fetcher) window.setTimeout(() => searchRef.current?.focus(), 0);
192
192
  }, [currentValue, fetcher, open, searchable, visibleOptions]);
193
193
 
194
+ // L'option active reste visible : au clavier, descendre au-delà du bas de
195
+ // la liste la laissait hors champ, et l'on choisissait à l'aveugle.
196
+ // `nearest` ne fait défiler que si elle sort de la zone visible.
197
+ useEffect(() => {
198
+ if (!open || activeIndex < 0) return;
199
+ document
200
+ .getElementById(`${listboxId}-${activeIndex}`)
201
+ ?.scrollIntoView?.({ block: "nearest" });
202
+ }, [activeIndex, listboxId, open]);
203
+
194
204
  const setTriggerRef = (node: HTMLButtonElement | null) => {
195
205
  triggerRef.current = node;
196
206
  if (typeof forwardedRef === "function") forwardedRef(node);
@@ -12,10 +12,13 @@
12
12
  .sia-select__clear:hover { color:var(--sia-foreground); background:var(--sia-surface); }
13
13
  .sia-select__chevron { transform:translateY(-.5rem); font-size:1.1rem; }
14
14
  .sia-select__overlay { overflow:hidden; border:1px solid var(--sia-border); border-radius:var(--sia-radius); color:var(--sia-foreground); background:var(--sia-background); box-shadow:0 14px 36px rgb(15 23 42 / .16); }
15
- .sia-select__panel { display:grid; min-width:12rem; max-height:min(22rem,calc(100vh - 1rem)); }
16
- .sia-select__search-wrap { display:flex; align-items:center; gap:.5rem; padding:.55rem .65rem; color:var(--sia-muted); border-bottom:1px solid var(--sia-border); }
15
+ /* Colonne flex, pas grille : un enfant de grille garde une hauteur minimale
16
+ égale à son contenu, la liste débordait alors du panneau au lieu de
17
+ défiler — et l'overlay, en overflow:hidden, la coupait. */
18
+ .sia-select__panel { display:flex; flex-direction:column; min-width:12rem; max-height:min(22rem,calc(100vh - 1rem)); }
19
+ .sia-select__search-wrap { flex:none; display:flex; align-items:center; gap:.5rem; padding:.55rem .65rem; color:var(--sia-muted); border-bottom:1px solid var(--sia-border); }
17
20
  .sia-select__search { min-width:0; width:100%; padding:.2rem 0; border:0; outline:0; color:var(--sia-foreground); background:transparent; font:inherit; }
18
- .sia-select__options { overflow-y:auto; padding:.35rem; }
21
+ .sia-select__options { flex:1 1 auto; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:.35rem; }
19
22
  .sia-select__option { display:flex; align-items:center; justify-content:space-between; gap:.75rem; width:100%; padding:.55rem .65rem; border:0; border-radius:calc(var(--sia-radius) * .7); color:inherit; background:transparent; font:inherit; text-align:left; cursor:pointer; }
20
23
  .sia-select__option:hover:not(:disabled),.sia-select__option--active:not(:disabled) { background:var(--sia-surface); }
21
24
  .sia-select__option[aria-selected="true"] { color:var(--sia-primary); background:color-mix(in srgb,var(--sia-primary) 10%,transparent); }
@@ -1437,7 +1437,7 @@
1437
1437
  "name": "select",
1438
1438
  "description": "Accessible searchable select with positioned overlay and async option loading.",
1439
1439
  "type": "component",
1440
- "version": "0.3.0",
1440
+ "version": "0.3.1",
1441
1441
  "status": "stable",
1442
1442
  "source": "package",
1443
1443
  "files": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sia-ui/cli",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "Install SIA UI components progressively into an application.",
5
5
  "keywords": [
6
6
  "sia-ui",
@@ -39,10 +39,10 @@
39
39
  "react-dom": "^19.2.3",
40
40
  "typescript": "^5.9.3",
41
41
  "vitest": "^4.0.16",
42
- "@sia-ui/tokens": "0.7.0",
43
- "@sia-ui/react": "0.7.0",
44
- "@sia-ui/utils": "0.7.0",
45
- "@sia-ui/headless": "0.7.0"
42
+ "@sia-ui/headless": "0.7.1",
43
+ "@sia-ui/react": "0.7.1",
44
+ "@sia-ui/tokens": "0.7.1",
45
+ "@sia-ui/utils": "0.7.1"
46
46
  },
47
47
  "scripts": {
48
48
  "build": "node scripts/build.mjs",