@1money/component-ui 0.0.42-alpha.12 → 0.0.42-alpha.13
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/es/components/Select/Select.js +4 -2
- package/es/components/Select/SelectOptionContent.d.ts +8 -0
- package/es/components/Select/SelectOptionContent.js +20 -11
- package/es/components/Select/interface.d.ts +12 -0
- package/es/index.css +1 -1
- package/es/stories/docs/storybook-docs.css +323 -1
- package/lib/components/Select/Select.js +4 -2
- package/lib/components/Select/SelectOptionContent.d.ts +8 -0
- package/lib/components/Select/SelectOptionContent.js +21 -12
- package/lib/components/Select/interface.d.ts +12 -0
- package/lib/index.css +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,17 @@
|
|
|
1
1
|
import type { ClassNamesFn } from "../../utils/classnames";
|
|
2
|
+
import type { FC, ReactNode } from 'react';
|
|
2
3
|
import type { SelectOption } from './interface';
|
|
4
|
+
interface SelectOptionCheckProps {
|
|
5
|
+
classes: ClassNamesFn;
|
|
6
|
+
selected: boolean;
|
|
7
|
+
}
|
|
8
|
+
export declare const SelectOptionCheck: FC<SelectOptionCheckProps>;
|
|
3
9
|
interface SelectOptionContentProps {
|
|
4
10
|
classes: ClassNamesFn;
|
|
5
11
|
option: SelectOption;
|
|
6
12
|
selected: boolean;
|
|
13
|
+
/** Custom content body; falls back to default label + description layout. */
|
|
14
|
+
content?: ReactNode;
|
|
7
15
|
}
|
|
8
16
|
export declare const SelectOptionContent: import("react").NamedExoticComponent<SelectOptionContentProps>;
|
|
9
17
|
export default SelectOptionContent;
|
|
@@ -3,18 +3,31 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports["default"] = exports.SelectOptionContent = void 0;
|
|
6
|
+
exports["default"] = exports.SelectOptionContent = exports.SelectOptionCheck = void 0;
|
|
7
7
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _Icons = require("../Icons");
|
|
10
10
|
var _Typography = require("../Typography");
|
|
11
11
|
var _constants = require("./constants");
|
|
12
|
-
var
|
|
12
|
+
var SelectOptionCheck = exports.SelectOptionCheck = function SelectOptionCheck(_ref) {
|
|
13
13
|
var classes = _ref.classes,
|
|
14
|
-
option = _ref.option,
|
|
15
14
|
selected = _ref.selected;
|
|
15
|
+
return (0, _jsxRuntime.jsx)("span", {
|
|
16
|
+
className: classes('option-check'),
|
|
17
|
+
children: selected && (0, _jsxRuntime.jsx)(_Icons.Icons, {
|
|
18
|
+
name: "check",
|
|
19
|
+
size: 16,
|
|
20
|
+
color: "currentColor"
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
var SelectOptionContentBase = function SelectOptionContentBase(_ref2) {
|
|
25
|
+
var classes = _ref2.classes,
|
|
26
|
+
option = _ref2.option,
|
|
27
|
+
selected = _ref2.selected,
|
|
28
|
+
content = _ref2.content;
|
|
16
29
|
return (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
17
|
-
children: [(0, _jsxRuntime.jsxs)("span", {
|
|
30
|
+
children: [content !== undefined ? content : (0, _jsxRuntime.jsxs)("span", {
|
|
18
31
|
className: classes('option-content'),
|
|
19
32
|
children: [(0, _jsxRuntime.jsx)(_Typography.TypographyBody, {
|
|
20
33
|
className: classes('option-label'),
|
|
@@ -27,16 +40,12 @@ var SelectOptionContentBase = function SelectOptionContentBase(_ref) {
|
|
|
27
40
|
color: _constants.SELECT_TYPOGRAPHY.option.description.color,
|
|
28
41
|
children: option.description
|
|
29
42
|
})]
|
|
30
|
-
}), (0, _jsxRuntime.jsx)(
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
name: "check",
|
|
34
|
-
size: 16,
|
|
35
|
-
color: "currentColor"
|
|
36
|
-
})
|
|
43
|
+
}), (0, _jsxRuntime.jsx)(SelectOptionCheck, {
|
|
44
|
+
classes: classes,
|
|
45
|
+
selected: selected
|
|
37
46
|
})]
|
|
38
47
|
});
|
|
39
48
|
};
|
|
40
49
|
var SelectOptionContent = exports.SelectOptionContent = /*#__PURE__*/(0, _react.memo)(SelectOptionContentBase);
|
|
41
50
|
var _default = exports["default"] = SelectOptionContent;
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdE9wdGlvbkNvbnRlbnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NlbGVjdC9TZWxlY3RPcHRpb25Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfSWNvbnMiLCJfVHlwb2dyYXBoeSIsIl9jb25zdGFudHMiLCJTZWxlY3RPcHRpb25DaGVjayIsImV4cG9ydHMiLCJfcmVmIiwiY2xhc3NlcyIsInNlbGVjdGVkIiwiX2pzeCIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiSWNvbnMiLCJuYW1lIiwic2l6ZSIsImNvbG9yIiwiU2VsZWN0T3B0aW9uQ29udGVudEJhc2UiLCJfcmVmMiIsIm9wdGlvbiIsImNvbnRlbnQiLCJfanN4cyIsIl9GcmFnbWVudCIsInVuZGVmaW5lZCIsIlR5cG9ncmFwaHlCb2R5IiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJsYWJlbCIsInN0cm9uZyIsImRlc2NyaXB0aW9uIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIm1lbW8iLCJfZGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBSCxPQUFBO0FBSUEsSUFBQUksVUFBQSxHQUFBSixPQUFBO0FBT08sSUFBTUssaUJBQWlCLEdBQUFDLE9BQUEsQ0FBQUQsaUJBQUEsR0FBK0IsU0FBaERBLGlCQUFpQkEsQ0FBQUUsSUFBQTtFQUFBLElBQWtDQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUFFQyxRQUFRLEdBQUFGLElBQUEsQ0FBUkUsUUFBUTtFQUFBLE9BQy9FLElBQUFDLGVBQUEsRUFBQSxNQUFBLEVBQUE7SUFBTUMsU0FBUyxFQUFFSCxPQUFPLENBQUMsY0FBYyxDQUFDO0lBQUFJLFFBQUEsRUFDckNILFFBQVEsSUFBSSxJQUFBQyxlQUFBLEVBQUNHLFlBQUssRUFBQTtNQUFDQyxJQUFJLEVBQUMsT0FBTztNQUFDQyxJQUFJLEVBQUUsRUFBRTtNQUFFQyxLQUFLLEVBQUM7SUFBYyxDQUFBO0VBQUcsQ0FBQSxDQUM3RDtBQUFBLENBQ1I7QUFVRCxJQUFNQyx1QkFBdUIsR0FBaUMsU0FBeERBLHVCQUF1QkEsQ0FBQUMsS0FBQTtFQUFBLElBQzNCVixPQUFPLEdBQUFVLEtBQUEsQ0FBUFYsT0FBTztJQUNQVyxNQUFNLEdBQUFELEtBQUEsQ0FBTkMsTUFBTTtJQUNOVixRQUFRLEdBQUFTLEtBQUEsQ0FBUlQsUUFBUTtJQUNSVyxPQUFPLEdBQUFGLEtBQUEsQ0FBUEUsT0FBTztFQUFBLE9BRVAsSUFBQUMsZ0JBQUEsRUFBQUMsb0JBQUEsRUFBQTtJQUFBVixRQUFBLEVBQUEsQ0FDR1EsT0FBTyxLQUFLRyxTQUFTLEdBQ3BCSCxPQUFPLEdBRVAsSUFBQUMsZ0JBQUEsRUFBQSxNQUFBLEVBQUE7TUFBTVYsU0FBUyxFQUFFSCxPQUFPLENBQUMsZ0JBQWdCLENBQUM7TUFBQUksUUFBQSxFQUFBLENBQ3hDLElBQUFGLGVBQUEsRUFBQ2MsMEJBQWMsRUFBQTtRQUFDYixTQUFTLEVBQUVILE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFBRU8sSUFBSSxFQUFFVSw0QkFBaUIsQ0FBQ04sTUFBTSxDQUFDTyxLQUFLLENBQUNYLElBQUk7UUFBRVksTUFBTSxFQUFBLElBQUE7UUFBQWYsUUFBQSxFQUFFTyxNQUFNLENBQUNPO01BQUssQ0FBQSxDQUFrQixFQUNwSVAsTUFBTSxDQUFDUyxXQUFXLElBQ2pCLElBQUFsQixlQUFBLEVBQUNjLDBCQUFjLEVBQUE7UUFBQ2IsU0FBUyxFQUFFSCxPQUFPLENBQUMsb0JBQW9CLENBQUM7UUFBRU8sSUFBSSxFQUFFVSw0QkFBaUIsQ0FBQ04sTUFBTSxDQUFDUyxXQUFXLENBQUNiLElBQUk7UUFBRUMsS0FBSyxFQUFFUyw0QkFBaUIsQ0FBQ04sTUFBTSxDQUFDUyxXQUFXLENBQUNaLEtBQUs7UUFBQUosUUFBQSxFQUFHTyxNQUFNLENBQUNTO01BQVcsQ0FBQSxDQUNsTDtJQUFBLENBQUEsQ0FFSixFQUNELElBQUFsQixlQUFBLEVBQUNMLGlCQUFpQixFQUFBO01BQUNHLE9BQU8sRUFBRUEsT0FBTztNQUFFQyxRQUFRLEVBQUVBO0lBQVEsQ0FBQSxDQUFJO0VBQUEsQ0FBQSxDQUMxRDtBQUFBLENBQ0o7QUFFTSxJQUFNb0IsbUJBQW1CLEdBQUF2QixPQUFBLENBQUF1QixtQkFBQSxnQkFBRyxJQUFBQyxXQUFJLEVBQUNiLHVCQUF1QixDQUFDO0FBQUMsSUFBQWMsUUFBQSxHQUFBekIsT0FBQSxjQUVsRHVCLG1CQUFtQiIsImZpbGUiOiJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3RPcHRpb25Db250ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMsIEZyYWdtZW50IGFzIF9GcmFnbWVudCB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgbWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEljb25zIH0gZnJvbSAnLi4vSWNvbnMnO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUJvZHkgfSBmcm9tICcuLi9UeXBvZ3JhcGh5JztcbmltcG9ydCB7IFNFTEVDVF9UWVBPR1JBUEhZIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuZXhwb3J0IGNvbnN0IFNlbGVjdE9wdGlvbkNoZWNrID0gKHsgY2xhc3Nlcywgc2VsZWN0ZWQgfSkgPT4gKF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdvcHRpb24tY2hlY2snKSwgY2hpbGRyZW46IHNlbGVjdGVkICYmIF9qc3goSWNvbnMsIHsgbmFtZTogXCJjaGVja1wiLCBzaXplOiAxNiwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSkpO1xuY29uc3QgU2VsZWN0T3B0aW9uQ29udGVudEJhc2UgPSAoeyBjbGFzc2VzLCBvcHRpb24sIHNlbGVjdGVkLCBjb250ZW50LCB9KSA9PiAoX2pzeHMoX0ZyYWdtZW50LCB7IGNoaWxkcmVuOiBbY29udGVudCAhPT0gdW5kZWZpbmVkID8gKGNvbnRlbnQpIDogKF9qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uLWNvbnRlbnQnKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHlCb2R5LCB7IGNsYXNzTmFtZTogY2xhc3Nlcygnb3B0aW9uLWxhYmVsJyksIHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLm9wdGlvbi5sYWJlbC5zaXplLCBzdHJvbmc6IHRydWUsIGNoaWxkcmVuOiBvcHRpb24ubGFiZWwgfSksIG9wdGlvbi5kZXNjcmlwdGlvbiAmJiAoX2pzeChUeXBvZ3JhcGh5Qm9keSwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbi1kZXNjcmlwdGlvbicpLCBzaXplOiBTRUxFQ1RfVFlQT0dSQVBIWS5vcHRpb24uZGVzY3JpcHRpb24uc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLm9wdGlvbi5kZXNjcmlwdGlvbi5jb2xvciwgY2hpbGRyZW46IG9wdGlvbi5kZXNjcmlwdGlvbiB9KSldIH0pKSwgX2pzeChTZWxlY3RPcHRpb25DaGVjaywgeyBjbGFzc2VzOiBjbGFzc2VzLCBzZWxlY3RlZDogc2VsZWN0ZWQgfSldIH0pKTtcbmV4cG9ydCBjb25zdCBTZWxlY3RPcHRpb25Db250ZW50ID0gbWVtbyhTZWxlY3RPcHRpb25Db250ZW50QmFzZSk7XG5leHBvcnQgZGVmYXVsdCBTZWxlY3RPcHRpb25Db250ZW50OyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -121,7 +121,19 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
121
121
|
onSearchChange?: (value: string) => void;
|
|
122
122
|
onBlur?: (event?: FocusEvent<HTMLElement>) => void;
|
|
123
123
|
filterOption?: SelectFilterOption;
|
|
124
|
+
/**
|
|
125
|
+
* Fully replace an option's rendering, including the trailing selected check.
|
|
126
|
+
* Use when you need complete control of the option layout (e.g. custom check
|
|
127
|
+
* indicator). If both `renderOption` and `renderOptionContent` are provided,
|
|
128
|
+
* `renderOption` wins.
|
|
129
|
+
*/
|
|
124
130
|
renderOption?: (option: SelectOption, meta: SelectRenderOptionMeta) => ReactNode;
|
|
131
|
+
/**
|
|
132
|
+
* Replace only the content portion of an option; the default selected check
|
|
133
|
+
* is still rendered by the component. Prefer this over `renderOption` when
|
|
134
|
+
* you only need a custom option body.
|
|
135
|
+
*/
|
|
136
|
+
renderOptionContent?: (option: SelectOption, meta: SelectRenderOptionMeta) => ReactNode;
|
|
125
137
|
renderValue?: (option: SelectOption | SelectOption[] | null, meta: SelectRenderValueMeta) => ReactNode;
|
|
126
138
|
}
|
|
127
139
|
export interface SelectCustomProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'onBlur' | 'prefix'> {
|