@synerise/ds-context-selector 1.3.48 → 1.3.49

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
@@ -3,6 +3,12 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.3.49](https://github.com/Synerise/synerise-design/compare/@synerise/ds-context-selector@1.3.48...@synerise/ds-context-selector@1.3.49) (2026-08-18)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **context-selector:** show keyboard selection highlight in safari ([ea54f49](https://github.com/Synerise/synerise-design/commit/ea54f495cd3c92575fb0c4c2c8f43ce3c5683787))
11
+
6
12
  ## [1.3.48](https://github.com/Synerise/synerise-design/compare/@synerise/ds-context-selector@1.3.47...@synerise/ds-context-selector@1.3.48) (2026-08-14)
7
13
 
8
14
  **Note:** Version bump only for package @synerise/ds-context-selector
@@ -11,7 +11,7 @@ const ContentPlaceholder = /* @__PURE__ */ styled.div.withConfig({
11
11
  const ItemsList = /* @__PURE__ */ styled.div.withConfig({
12
12
  displayName: "ContextSelectorstyles__ItemsList",
13
13
  componentId: "sc-1tuu6xk-2"
14
- })(["width:100%;background:", ";.ds-context-selector-list{height:auto !important;max-height:300px;}", ""], (props) => props.theme.palette.white, (props) => props.contentHeight !== void 0 && `height: ${props.contentHeight}px;`);
14
+ })(["width:100%;background:", ";.ds-context-selector-list{height:auto !important;max-height:300px;}&[data-keyboard-nav='true'] .ds-context-item:focus > div{box-shadow:inset 0 0 0 2px ", ";}", ""], (props) => props.theme.palette.white, (props) => props.theme.palette["blue-600"], (props) => props.contentHeight !== void 0 && `height: ${props.contentHeight}px;`);
15
15
  const SearchResult = /* @__PURE__ */ styled.span.withConfig({
16
16
  displayName: "ContextSelectorstyles__SearchResult",
17
17
  componentId: "sc-1tuu6xk-3"
@@ -76,6 +76,7 @@ const ContextSelectorDropdown = ({
76
76
  const [activeGroup, setActiveGroup] = useState(void 0);
77
77
  const [searchInputCanBeFocused, setSearchInputFocus] = useState(true);
78
78
  const [topSectionHeight, setTopSectionHeight] = useState(0);
79
+ const [isKeyboardNav, setIsKeyboardNav] = useState(false);
79
80
  const classNames = useMemo(() => {
80
81
  return `ds-context-item ds-context-item-${v4()}`;
81
82
  }, []);
@@ -321,7 +322,8 @@ const ContextSelectorDropdown = ({
321
322
  document.addEventListener("keydown", recoverLostFocus);
322
323
  return () => document.removeEventListener("keydown", recoverLostFocus);
323
324
  }, [visible, classNames, searchInputHandle]);
324
- return /* @__PURE__ */ jsxs(Dropdown.Wrapper, { style: dropdownWrapperStyles, ref: overlayRef, "data-testid": "context-selector-dropdown", onKeyDown: (event) => {
325
+ return /* @__PURE__ */ jsxs(Dropdown.Wrapper, { style: dropdownWrapperStyles, ref: overlayRef, "data-testid": "context-selector-dropdown", onMouseDownCapture: () => setIsKeyboardNav(false), onKeyDown: (event) => {
326
+ setIsKeyboardNav(true);
325
327
  const searchInput = searchInputHandle?.current ?? null;
326
328
  if (document?.activeElement === searchInput) {
327
329
  setSearchInputFocus(false);
@@ -385,7 +387,7 @@ const ContextSelectorDropdown = ({
385
387
  resetList();
386
388
  }, visible }) }),
387
389
  activeGroup && /* @__PURE__ */ jsx(Dropdown.BackAction, { label: activeGroup.name, onClick: () => setActiveGroup(void 0) }),
388
- loading ? /* @__PURE__ */ jsx(Skeleton, { contentHeight: dropdownContentHeight, size: "M", numberOfSkeletons: 3 }) : /* @__PURE__ */ jsx(ItemsList, { contentHeight: dropdownContentHeight, children: activeItems?.length ? /* @__PURE__ */ jsxs(Scrollbar, { absolute: true, style: {
390
+ loading ? /* @__PURE__ */ jsx(Skeleton, { contentHeight: dropdownContentHeight, size: "M", numberOfSkeletons: 3 }) : /* @__PURE__ */ jsx(ItemsList, { contentHeight: dropdownContentHeight, "data-keyboard-nav": isKeyboardNav, children: activeItems?.length ? /* @__PURE__ */ jsxs(Scrollbar, { absolute: true, style: {
389
391
  padding: 8
390
392
  }, loading, hasMore: hasMoreItems, onYReachEnd: onFetchData, onScroll: handleScroll, ref: scrollBarRef, children: [
391
393
  activeTopSection && /* @__PURE__ */ jsx("div", { ref: topSectionRef, children: activeTopSection }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-context-selector",
3
- "version": "1.3.48",
3
+ "version": "1.3.49",
4
4
  "description": "ContextSelector UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -36,25 +36,25 @@
36
36
  "check:circular-dependencies": "madge --circular --extensions ts,tsx,js,jsx --ts-config tsconfig.json src/ --exclude '/dist/'",
37
37
  "upgrade:ds": "ncu -f \"@synerise/ds-*\" -u"
38
38
  },
39
- "gitHead": "fbaec1b62812804ecab17db27553c2071c7bad49",
39
+ "gitHead": "e1fece64a41fd18a78583ecb6c21ee00fe8c0759",
40
40
  "sideEffects": [
41
41
  "dist/style/*",
42
42
  "*.less"
43
43
  ],
44
44
  "types": "dist/index.d.ts",
45
45
  "dependencies": {
46
- "@synerise/ds-button": "^1.5.36",
47
- "@synerise/ds-divider": "^1.3.17",
48
- "@synerise/ds-dropdown": "^1.3.23",
49
- "@synerise/ds-factors": "^1.12.15",
46
+ "@synerise/ds-button": "^1.5.37",
47
+ "@synerise/ds-divider": "^1.3.18",
48
+ "@synerise/ds-dropdown": "^1.4.0",
49
+ "@synerise/ds-factors": "^1.12.16",
50
50
  "@synerise/ds-icon": "^1.18.5",
51
- "@synerise/ds-information-card": "^1.7.12",
52
- "@synerise/ds-list-item": "^1.6.4",
53
- "@synerise/ds-popover": "^1.6.3",
54
- "@synerise/ds-result": "^1.0.67",
51
+ "@synerise/ds-information-card": "^1.7.13",
52
+ "@synerise/ds-list-item": "^1.6.5",
53
+ "@synerise/ds-popover": "^1.7.0",
54
+ "@synerise/ds-result": "^1.0.68",
55
55
  "@synerise/ds-scrollbar": "^1.5.2",
56
- "@synerise/ds-skeleton": "^1.0.61",
57
- "@synerise/ds-tabs": "^1.2.9",
56
+ "@synerise/ds-skeleton": "^1.0.62",
57
+ "@synerise/ds-tabs": "^1.2.10",
58
58
  "@synerise/ds-utils": "^1.10.2",
59
59
  "react-intl": "^6.8.7",
60
60
  "react-window": "1.8.11",