@sia-ui/react-web 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,24 @@
1
1
  # @sia-ui/react-web
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - `Select` : la liste des options défile de nouveau.
8
+
9
+ Le panneau était une grille ; la liste y gardait la hauteur de tout son
10
+ contenu, débordait au lieu de défiler, et l'overlay la coupait. Au-delà d'une
11
+ dizaine d'options, les dernières étaient inatteignables — y compris dans
12
+ `PhoneInput`, la taille de page de `Pagination` et les filtres
13
+ d'`ActivityLog`. L'option active suit aussi le clavier, et le défilement de la
14
+ liste ne se propage plus à la page.
15
+
16
+ - Updated dependencies
17
+ - @sia-ui/headless@0.7.1
18
+ - @sia-ui/react@0.7.1
19
+ - @sia-ui/tokens@0.7.1
20
+ - @sia-ui/utils@0.7.1
21
+
3
22
  ## 0.7.0
4
23
 
5
24
  ### Minor Changes
package/README.md CHANGED
@@ -70,6 +70,25 @@ Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible
70
70
  <!-- sia:changelog:start -->
71
71
  # @sia-ui/react-web
72
72
 
73
+ ## 0.7.1
74
+
75
+ ### Patch Changes
76
+
77
+ - `Select` : la liste des options défile de nouveau.
78
+
79
+ Le panneau était une grille ; la liste y gardait la hauteur de tout son
80
+ contenu, débordait au lieu de défiler, et l'overlay la coupait. Au-delà d'une
81
+ dizaine d'options, les dernières étaient inatteignables — y compris dans
82
+ `PhoneInput`, la taille de page de `Pagination` et les filtres
83
+ d'`ActivityLog`. L'option active suit aussi le clavier, et le défilement de la
84
+ liste ne se propage plus à la page.
85
+
86
+ - Updated dependencies
87
+ - @sia-ui/headless@0.7.1
88
+ - @sia-ui/react@0.7.1
89
+ - @sia-ui/tokens@0.7.1
90
+ - @sia-ui/utils@0.7.1
91
+
73
92
  ## 0.7.0
74
93
 
75
94
  ### Minor Changes
package/dist/index.cjs CHANGED
@@ -1864,6 +1864,10 @@ var Select = React.forwardRef(function Select2({
1864
1864
  setActiveIndex(selected >= 0 ? selected : visibleOptions.findIndex((option) => !option.disabled));
1865
1865
  if (searchable || fetcher) window.setTimeout(() => searchRef.current?.focus(), 0);
1866
1866
  }, [currentValue, fetcher, open, searchable, visibleOptions]);
1867
+ React.useEffect(() => {
1868
+ if (!open || activeIndex < 0) return;
1869
+ document.getElementById(`${listboxId}-${activeIndex}`)?.scrollIntoView?.({ block: "nearest" });
1870
+ }, [activeIndex, listboxId, open]);
1867
1871
  const setTriggerRef = (node) => {
1868
1872
  triggerRef.current = node;
1869
1873
  if (typeof forwardedRef === "function") forwardedRef(node);
package/dist/index.css CHANGED
@@ -2380,11 +2380,13 @@
2380
2380
  box-shadow: 0 14px 36px rgb(15 23 42 / .16);
2381
2381
  }
2382
2382
  .sia-select__panel {
2383
- display: grid;
2383
+ display: flex;
2384
+ flex-direction: column;
2384
2385
  min-width: 12rem;
2385
2386
  max-height: min(22rem, calc(100vh - 1rem));
2386
2387
  }
2387
2388
  .sia-select__search-wrap {
2389
+ flex: none;
2388
2390
  display: flex;
2389
2391
  align-items: center;
2390
2392
  gap: .5rem;
@@ -2403,7 +2405,10 @@
2403
2405
  font: inherit;
2404
2406
  }
2405
2407
  .sia-select__options {
2408
+ flex: 1 1 auto;
2409
+ min-height: 0;
2406
2410
  overflow-y: auto;
2411
+ overscroll-behavior: contain;
2407
2412
  padding: .35rem;
2408
2413
  }
2409
2414
  .sia-select__option {
package/dist/index.js CHANGED
@@ -1844,6 +1844,10 @@ var Select = forwardRef(function Select2({
1844
1844
  setActiveIndex(selected >= 0 ? selected : visibleOptions.findIndex((option) => !option.disabled));
1845
1845
  if (searchable || fetcher) window.setTimeout(() => searchRef.current?.focus(), 0);
1846
1846
  }, [currentValue, fetcher, open, searchable, visibleOptions]);
1847
+ useEffect(() => {
1848
+ if (!open || activeIndex < 0) return;
1849
+ document.getElementById(`${listboxId}-${activeIndex}`)?.scrollIntoView?.({ block: "nearest" });
1850
+ }, [activeIndex, listboxId, open]);
1847
1851
  const setTriggerRef = (node) => {
1848
1852
  triggerRef.current = node;
1849
1853
  if (typeof forwardedRef === "function") forwardedRef(node);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sia-ui/react-web",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "DOM implementation of the SIA UI component contracts.",
5
5
  "keywords": [
6
6
  "sia-ui",
@@ -45,10 +45,10 @@
45
45
  "access": "public"
46
46
  },
47
47
  "dependencies": {
48
- "@sia-ui/headless": "0.7.0",
49
- "@sia-ui/react": "0.7.0",
50
- "@sia-ui/tokens": "0.7.0",
51
- "@sia-ui/utils": "0.7.0"
48
+ "@sia-ui/tokens": "0.7.1",
49
+ "@sia-ui/utils": "0.7.1",
50
+ "@sia-ui/react": "0.7.1",
51
+ "@sia-ui/headless": "0.7.1"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "react": ">=18.2.0",
@@ -67,7 +67,7 @@
67
67
  "tsup": "^8.5.1",
68
68
  "typescript": "^5.9.3",
69
69
  "vitest": "^4.0.16",
70
- "@sia-ui/api": "0.7.0"
70
+ "@sia-ui/api": "0.7.1"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "node scripts/build-theme.mjs --check && tsup",