@furystack/shades-common-components 15.0.0 → 15.0.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,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [15.0.1] - 2026-03-19
|
|
4
|
+
|
|
5
|
+
### ✨ Features
|
|
6
|
+
|
|
7
|
+
- Added `navSection` prop to `Accordion`, `DataGrid`, `List`, and `Tree` for spatial‑navigation scoping.
|
|
8
|
+
- Added `trapFocus` and `navSection` props to `Modal` and `Dialog`, plus focusable behaviour for `Chip` and `Image` when interactive.
|
|
9
|
+
- Introduced `focusOutline` theme variable and `injectFocusVisibleStyles()` helper; added focus coordination to DataGrid/List/Tree and semantics improvements across components.
|
|
10
|
+
|
|
11
|
+
### ⬆️ Dependencies
|
|
12
|
+
|
|
13
|
+
- Upgraded `vite` from ^7.3.1 to ^8.0.0 for improved build performance and new features
|
|
14
|
+
- Upgraded `vitest` from ^4.0.18 to ^4.1.0
|
|
15
|
+
- Upgraded `@vitest/coverage-istanbul` from ^4.0.18 to ^4.1.0
|
|
16
|
+
|
|
17
|
+
### 💥 Breaking Changes
|
|
18
|
+
|
|
19
|
+
- Removed arrow‑key and Tab handlers from `ListService`/`CollectionService`/`TreeService`; spatial navigation now handles boundaries.
|
|
20
|
+
- `AccordionItem` header changed to a native `<button disabled>`; custom CSS selectors must be updated.
|
|
21
|
+
- Themes must supply a `focusOutline` value; various behavioural changes to keyboard handling detailed in package changelog.
|
|
22
|
+
|
|
3
23
|
## [15.0.0] - 2026-03-10
|
|
4
24
|
|
|
5
25
|
### ✨ Features
|
|
@@ -51,13 +51,13 @@ let SuggestManager = class SuggestManager extends EventHub {
|
|
|
51
51
|
if (this.lastGetSuggestionOptions?.term === options.term) {
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
const
|
|
54
|
+
const lastSelectedEntry = JSON.stringify(this.currentSuggestions.getValue()[this.selectedIndex.getValue()]?.entry);
|
|
55
55
|
this.isLoading.setValue(true);
|
|
56
56
|
this.lastGetSuggestionOptions = options;
|
|
57
57
|
const newEntries = await this.getEntries(options.term);
|
|
58
58
|
this.isOpened.setValue(true);
|
|
59
59
|
this.currentSuggestions.setValue(newEntries.map((e) => ({ entry: e, suggestion: this.getSuggestionEntry(e) })));
|
|
60
|
-
this.selectedIndex.setValue(Math.max(0, this.currentSuggestions.getValue().findIndex((e) => JSON.stringify(e) ===
|
|
60
|
+
this.selectedIndex.setValue(Math.max(0, this.currentSuggestions.getValue().findIndex((e) => JSON.stringify(e.entry) === lastSelectedEntry)));
|
|
61
61
|
}
|
|
62
62
|
finally {
|
|
63
63
|
this.isLoading.setValue(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"suggest-manager.js","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAI/D,IAAM,cAAc,GAApB,MAAM,cAAkB,SAAQ,QAAmC;IAiErD;IACA;IAjEZ,QAAQ,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,SAAS,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;IACtC,IAAI,GAAG,IAAI,eAAe,CAAC,EAAE,CAAC,CAAA;IAC9B,aAAa,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAA;IACtC,kBAAkB,GAAG,IAAI,eAAe,CAAoD,EAAE,CAAC,CAAA;IAE/F,gBAAgB,GAAG,CAAC,CAAC,EAAiB,EAAE,EAAE;QAC/C,IAAI,EAAE,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEN,OAAO,CAAc;IACrB,oBAAoB,GAAG,CAAC,CAAC,EAAc,EAAE,EAAE;QAChD,IACE,IAAI,CAAC,OAAO;YACZ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACvB,EAAE,CAAC,MAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,EACzE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC/B,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAEN,CAAC,MAAM,CAAC,OAAO,CAAC;QACrB,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;QAChE,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QAC/B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QAC3B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACpC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;QACzC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;IACzB,CAAC;IAEM,gBAAgB,CAAC,QAAgB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;QACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAA;QACpE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC3D,CAAC;IAEO,wBAAwB,CAAuC;IAChE,aAAa,GAAG,QAAQ,CAAC,KAAK,EAAE,OAA6C,EAAE,EAAE;QACtF,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBACzD,OAAM;YACR,CAAC;YACD,MAAM,
|
|
1
|
+
{"version":3,"file":"suggest-manager.js","sourceRoot":"","sources":["../../../src/components/suggest/suggest-manager.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/shades-common-components",
|
|
3
|
-
"version": "15.0.
|
|
3
|
+
"version": "15.0.1",
|
|
4
4
|
"description": "Common UI components for FuryStack Shades",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -45,14 +45,14 @@
|
|
|
45
45
|
"homepage": "https://github.com/furystack/furystack",
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"typescript": "^5.9.3",
|
|
48
|
-
"vitest": "^4.0
|
|
48
|
+
"vitest": "^4.1.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@furystack/cache": "^6.1.
|
|
52
|
-
"@furystack/core": "^16.0.
|
|
53
|
-
"@furystack/inject": "^12.0.
|
|
54
|
-
"@furystack/shades": "^13.1.
|
|
55
|
-
"@furystack/utils": "^8.2.
|
|
51
|
+
"@furystack/cache": "^6.1.2",
|
|
52
|
+
"@furystack/core": "^16.0.1",
|
|
53
|
+
"@furystack/inject": "^12.0.33",
|
|
54
|
+
"@furystack/shades": "^13.1.1",
|
|
55
|
+
"@furystack/utils": "^8.2.2",
|
|
56
56
|
"path-to-regexp": "^8.3.0"
|
|
57
57
|
},
|
|
58
58
|
"engines": {
|
|
@@ -51,7 +51,7 @@ export class SuggestManager<T> extends EventHub<{ onSelectSuggestion: T }> imple
|
|
|
51
51
|
if (this.lastGetSuggestionOptions?.term === options.term) {
|
|
52
52
|
return
|
|
53
53
|
}
|
|
54
|
-
const
|
|
54
|
+
const lastSelectedEntry = JSON.stringify(this.currentSuggestions.getValue()[this.selectedIndex.getValue()]?.entry)
|
|
55
55
|
this.isLoading.setValue(true)
|
|
56
56
|
this.lastGetSuggestionOptions = options
|
|
57
57
|
const newEntries = await this.getEntries(options.term)
|
|
@@ -60,7 +60,7 @@ export class SuggestManager<T> extends EventHub<{ onSelectSuggestion: T }> imple
|
|
|
60
60
|
this.selectedIndex.setValue(
|
|
61
61
|
Math.max(
|
|
62
62
|
0,
|
|
63
|
-
this.currentSuggestions.getValue().findIndex((e) => JSON.stringify(e) ===
|
|
63
|
+
this.currentSuggestions.getValue().findIndex((e) => JSON.stringify(e.entry) === lastSelectedEntry),
|
|
64
64
|
),
|
|
65
65
|
)
|
|
66
66
|
} finally {
|