@synerise/ds-subject 1.0.38 → 1.1.0
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 +19 -0
- package/dist/Subject.d.ts +1 -1
- package/dist/Subject.js +13 -7
- package/dist/Subject.style.d.ts +28 -2
- package/dist/SubjectList/SubjectList.js +1 -7
- package/dist/SubjectTrigger/SubjectTrigger.d.ts +4 -2
- package/dist/SubjectTrigger/SubjectTrigger.js +6 -5
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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.1.0](https://github.com/Synerise/synerise-design/compare/@synerise/ds-subject@1.0.39...@synerise/ds-subject@1.1.0) (2025-11-06)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **dropdown:** dropdownMenu component ([f0ec827](https://github.com/Synerise/synerise-design/commit/f0ec82792cdcb021fa9a454912f6e7a892e53895))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [1.0.39](https://github.com/Synerise/synerise-design/compare/@synerise/ds-subject@1.0.38...@synerise/ds-subject@1.0.39) (2025-10-31)
|
|
18
|
+
|
|
19
|
+
**Note:** Version bump only for package @synerise/ds-subject
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [1.0.38](https://github.com/Synerise/synerise-design/compare/@synerise/ds-subject@1.0.37...@synerise/ds-subject@1.0.38) (2025-10-22)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @synerise/ds-subject
|
package/dist/Subject.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type SubjectProps } from './Subject.types';
|
|
3
|
-
declare const Subject: React.
|
|
3
|
+
declare const Subject: ({ selectedItem, iconPlaceholder, items, placeholder, onSelectItem, onShowPreview, type, getPopupContainerOverride, onActivate, onDeactivate, texts, opened, }: SubjectProps) => React.JSX.Element;
|
|
4
4
|
export default Subject;
|
package/dist/Subject.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useEffect } from 'react';
|
|
2
2
|
import Dropdown from '@synerise/ds-dropdown';
|
|
3
3
|
import Icon, { ShowM } from '@synerise/ds-icon';
|
|
4
4
|
import * as S from './Subject.style';
|
|
@@ -26,15 +26,18 @@ var Subject = function Subject(_ref) {
|
|
|
26
26
|
}, [type]);
|
|
27
27
|
var onDropdownVisibilityChange = React.useCallback(function (value) {
|
|
28
28
|
value && onActivate && onActivate('');
|
|
29
|
-
|
|
30
|
-
}, [onActivate
|
|
31
|
-
|
|
29
|
+
setDropdownVisible(value);
|
|
30
|
+
}, [onActivate]);
|
|
31
|
+
useEffect(function () {
|
|
32
32
|
setDropdownVisible(Boolean(opened));
|
|
33
33
|
}, [opened]);
|
|
34
34
|
return /*#__PURE__*/React.createElement(S.Subject, null, /*#__PURE__*/React.createElement(Dropdown, {
|
|
35
|
-
|
|
35
|
+
open: dropdownVisible,
|
|
36
36
|
getPopupContainer: getPopupContainerOverride,
|
|
37
|
-
|
|
37
|
+
onOpenChange: onDropdownVisibilityChange,
|
|
38
|
+
onDismiss: onDeactivate,
|
|
39
|
+
size: "medium",
|
|
40
|
+
asChild: true,
|
|
38
41
|
overlay: /*#__PURE__*/React.createElement(SubjectList, {
|
|
39
42
|
texts: texts,
|
|
40
43
|
items: items,
|
|
@@ -42,7 +45,10 @@ var Subject = function Subject(_ref) {
|
|
|
42
45
|
hideDropdown: function hideDropdown() {
|
|
43
46
|
return setDropdownVisible(false);
|
|
44
47
|
}
|
|
45
|
-
})
|
|
48
|
+
}),
|
|
49
|
+
popoverProps: {
|
|
50
|
+
testId: 'subject'
|
|
51
|
+
}
|
|
46
52
|
}, /*#__PURE__*/React.createElement(SubjectTrigger, {
|
|
47
53
|
onClick: function onClick() {
|
|
48
54
|
return setDropdownVisible(true);
|
package/dist/Subject.style.d.ts
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const ShowPreviewButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<Partial<{
|
|
2
|
+
href: string;
|
|
3
|
+
target?: string;
|
|
4
|
+
onClick?: React.MouseEventHandler<HTMLElement>;
|
|
5
|
+
} & import("antd/lib/button/button").BaseButtonProps & Omit<import("react").AnchorHTMLAttributes<any>, "type" | "onClick"> & {
|
|
6
|
+
htmlType?: import("antd/lib/button/button").ButtonHTMLType;
|
|
7
|
+
onClick?: React.MouseEventHandler<HTMLElement>;
|
|
8
|
+
} & Omit<import("react").ButtonHTMLAttributes<any>, "type" | "onClick">>, "type" | "ghost"> & {
|
|
9
|
+
type?: import("@synerise/ds-utils").LiteralStringUnion<import("@synerise/ds-button/dist/Button.types").ButtonType>;
|
|
10
|
+
mode?: import("@synerise/ds-utils").LiteralStringUnion<"single-icon" | "split" | "two-icons" | "label-icon" | "icon-label">;
|
|
11
|
+
color?: import("@synerise/ds-utils").LiteralStringUnion<"blue" | "grey" | "red" | "green" | "yellow" | "pink" | "mars" | "orange" | "fern" | "cyan" | "purple" | "violet">;
|
|
12
|
+
groupVariant?: import("@synerise/ds-utils").LiteralStringUnion<"left-rounded" | "squared" | "right-rounded">;
|
|
13
|
+
justifyContent?: string;
|
|
14
|
+
loading?: boolean | {
|
|
15
|
+
delay?: number;
|
|
16
|
+
};
|
|
17
|
+
onClick?: (event: import("react").MouseEvent<HTMLElement>) => void;
|
|
18
|
+
iconColor?: import("@synerise/ds-utils").LiteralStringUnion<"blue" | "grey" | "red" | "green" | "yellow" | "pink" | "mars" | "orange" | "fern" | "cyan" | "purple" | "violet">;
|
|
19
|
+
error?: boolean;
|
|
20
|
+
readOnly?: boolean;
|
|
21
|
+
tagProps?: import("@synerise/ds-tag").TagProps;
|
|
22
|
+
tooltipProps?: import("@synerise/ds-tooltip").TooltipProps;
|
|
23
|
+
} & import("react").RefAttributes<HTMLButtonElement>> & {
|
|
24
|
+
Creator: import("react").ForwardRefExoticComponent<Omit<import("@synerise/ds-button").CreatorProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
25
|
+
Expander: ({ size, expanded, disabled, onClick, className, }: import("@synerise/ds-button").ExpanderProps) => import("react").JSX.Element;
|
|
26
|
+
Star: (props: import("@synerise/ds-button").StarButtonProps) => React.ReactElement;
|
|
27
|
+
Checkbox: (props: import("@synerise/ds-button").CheckboxButtonProps) => React.ReactElement;
|
|
28
|
+
}, any, {}, never>;
|
|
3
29
|
export declare const Subject: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
@@ -4,7 +4,7 @@ import Dropdown from '@synerise/ds-dropdown';
|
|
|
4
4
|
import Icon, { SearchM } from '@synerise/ds-icon';
|
|
5
5
|
import Result from '@synerise/ds-result';
|
|
6
6
|
import Scrollbar from '@synerise/ds-scrollbar';
|
|
7
|
-
import { focusWithArrowKeys
|
|
7
|
+
import { focusWithArrowKeys } from '@synerise/ds-utils';
|
|
8
8
|
import * as S from './SubjectList.styles';
|
|
9
9
|
import SubjectListItem from './SubjectListItem';
|
|
10
10
|
var SubjectList = function SubjectList(_ref) {
|
|
@@ -22,9 +22,6 @@ var SubjectList = function SubjectList(_ref) {
|
|
|
22
22
|
var classNames = React.useMemo(function () {
|
|
23
23
|
return "ds-subject-item ds-subject-item-" + uuid();
|
|
24
24
|
}, []);
|
|
25
|
-
useOnClickOutside(overlayRef, function () {
|
|
26
|
-
hideDropdown();
|
|
27
|
-
});
|
|
28
25
|
var renderItems = React.useMemo(function () {
|
|
29
26
|
return items.filter(function (item) {
|
|
30
27
|
return item.name.toLowerCase().includes(searchQuery.toLowerCase());
|
|
@@ -43,9 +40,6 @@ var SubjectList = function SubjectList(_ref) {
|
|
|
43
40
|
});
|
|
44
41
|
}, [items, searchQuery, hideDropdown, onSelectItem, setSearchQuery, classNames]);
|
|
45
42
|
return /*#__PURE__*/React.createElement(Dropdown.Wrapper, {
|
|
46
|
-
style: {
|
|
47
|
-
width: '300px'
|
|
48
|
-
},
|
|
49
43
|
ref: overlayRef,
|
|
50
44
|
"data-testid": "subject-overlay",
|
|
51
45
|
onKeyDown: function onKeyDown(e) {
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import
|
|
3
|
-
|
|
2
|
+
declare const SubjectTrigger: React.ForwardRefExoticComponent<Pick<import("../Subject.types").SubjectProps, "placeholder" | "iconPlaceholder" | "selectedItem"> & {
|
|
3
|
+
color: string;
|
|
4
|
+
onClick: () => void;
|
|
5
|
+
} & React.RefAttributes<HTMLButtonElement>>;
|
|
4
6
|
export default SubjectTrigger;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { forwardRef, useMemo } from 'react';
|
|
2
2
|
import Button from '@synerise/ds-button';
|
|
3
3
|
import Icon, { AngleDownS } from '@synerise/ds-icon';
|
|
4
|
-
var SubjectTrigger = function
|
|
4
|
+
var SubjectTrigger = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
5
5
|
var iconPlaceholder = _ref.iconPlaceholder,
|
|
6
6
|
placeholder = _ref.placeholder,
|
|
7
7
|
selectedItem = _ref.selectedItem,
|
|
8
8
|
color = _ref.color,
|
|
9
9
|
onClick = _ref.onClick;
|
|
10
|
-
var icon =
|
|
10
|
+
var icon = useMemo(function () {
|
|
11
11
|
return selectedItem !== undefined ? selectedItem.icon : iconPlaceholder;
|
|
12
12
|
}, [selectedItem, iconPlaceholder]);
|
|
13
|
-
var label =
|
|
13
|
+
var label = useMemo(function () {
|
|
14
14
|
return selectedItem !== undefined ? selectedItem.name : placeholder;
|
|
15
15
|
}, [selectedItem, placeholder]);
|
|
16
16
|
return /*#__PURE__*/React.createElement(Button, {
|
|
17
|
+
ref: ref,
|
|
17
18
|
"data-testid": "subject-trigger",
|
|
18
19
|
type: "custom-color",
|
|
19
20
|
mode: "two-icons",
|
|
@@ -24,5 +25,5 @@ var SubjectTrigger = function SubjectTrigger(_ref) {
|
|
|
24
25
|
}), label, /*#__PURE__*/React.createElement(Icon, {
|
|
25
26
|
component: /*#__PURE__*/React.createElement(AngleDownS, null)
|
|
26
27
|
}));
|
|
27
|
-
};
|
|
28
|
+
});
|
|
28
29
|
export default SubjectTrigger;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-subject",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "Subject UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
],
|
|
36
36
|
"types": "dist/index.d.ts",
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@synerise/ds-button": "^1.
|
|
39
|
-
"@synerise/ds-dropdown": "^1.0
|
|
40
|
-
"@synerise/ds-icon": "^1.
|
|
41
|
-
"@synerise/ds-list-item": "^1.
|
|
42
|
-
"@synerise/ds-result": "^1.0.
|
|
43
|
-
"@synerise/ds-scrollbar": "^1.
|
|
38
|
+
"@synerise/ds-button": "^1.5.0",
|
|
39
|
+
"@synerise/ds-dropdown": "^1.1.0",
|
|
40
|
+
"@synerise/ds-icon": "^1.8.0",
|
|
41
|
+
"@synerise/ds-list-item": "^1.2.0",
|
|
42
|
+
"@synerise/ds-result": "^1.0.30",
|
|
43
|
+
"@synerise/ds-scrollbar": "^1.2.0",
|
|
44
44
|
"@synerise/ds-utils": "^1.5.0",
|
|
45
45
|
"uuid": "^8.3.2"
|
|
46
46
|
},
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"react": ">=16.9.0 <= 18.3.1",
|
|
50
50
|
"styled-components": "^5.3.3"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "cbbb7d9f155735bcc4035d8fd8a7813878d6e051"
|
|
53
53
|
}
|