@invoicebox/ui 0.1.0-alpha.220 → 0.1.0-alpha.222
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/dist/components/form/Autocomplete/components/Autocomplete/index.d.ts +2 -2
- package/dist/components/form/Autocomplete/components/Autocomplete/index.js +4 -2
- package/dist/components/form/Autocomplete/components/Autocomplete/index.stories.js +2 -1
- package/dist/components/form/PureInput/index.d.ts +2 -0
- package/dist/components/form/PureInput/index.js +4 -3
- package/dist/components/form/Select/components/Input/index.d.ts +2 -0
- package/dist/components/form/Select/components/Input/index.js +2 -0
- package/dist/components/form/Select/index.d.ts +2 -1
- package/dist/components/form/Select/index.js +7 -1
- package/dist/components/form/Select/index.stories.d.ts +1 -0
- package/dist/components/form/Select/index.stories.js +47 -1
- package/package.json +1 -1
|
@@ -4,7 +4,7 @@ type TOption = {
|
|
|
4
4
|
value: string;
|
|
5
5
|
entity?: any;
|
|
6
6
|
};
|
|
7
|
-
type TFieldProps = Pick<InputHTMLAttributes<HTMLInputElement>, 'name' | 'onBlur' | 'onFocus' | 'autoFocus'> & {
|
|
7
|
+
type TFieldProps = Pick<InputHTMLAttributes<HTMLInputElement>, 'name' | 'onBlur' | 'onFocus' | 'autoFocus' | 'readOnly'> & {
|
|
8
8
|
value: string;
|
|
9
9
|
onChange: (value: string, option?: TOption) => void;
|
|
10
10
|
};
|
|
@@ -26,7 +26,7 @@ type TControlProps = {
|
|
|
26
26
|
required?: boolean;
|
|
27
27
|
};
|
|
28
28
|
export type TProps = TFieldProps & TControlProps;
|
|
29
|
-
export declare const Autocomplete: React.ForwardRefExoticComponent<Pick<React.InputHTMLAttributes<HTMLInputElement>, "name" | "autoFocus" | "onFocus" | "onBlur"> & {
|
|
29
|
+
export declare const Autocomplete: React.ForwardRefExoticComponent<Pick<React.InputHTMLAttributes<HTMLInputElement>, "name" | "readOnly" | "autoFocus" | "onFocus" | "onBlur"> & {
|
|
30
30
|
value: string;
|
|
31
31
|
onChange: (value: string, option?: TOption) => void;
|
|
32
32
|
} & TControlProps & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -56,7 +56,8 @@ var Autocomplete = exports.Autocomplete = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
|
56
56
|
size = _ref$size === void 0 ? 'M' : _ref$size,
|
|
57
57
|
autoFocus = _ref.autoFocus,
|
|
58
58
|
_ref$required = _ref.required,
|
|
59
|
-
required = _ref$required === void 0 ? false : _ref$required
|
|
59
|
+
required = _ref$required === void 0 ? false : _ref$required,
|
|
60
|
+
readOnly = _ref.readOnly;
|
|
60
61
|
var isMobile = (0, _useMedia.useMobile)();
|
|
61
62
|
var _useState = (0, _react.useState)(false),
|
|
62
63
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -110,7 +111,8 @@ var Autocomplete = exports.Autocomplete = /*#__PURE__*/(0, _react.forwardRef)(fu
|
|
|
110
111
|
paddingLeft: inputPaddingLeft,
|
|
111
112
|
maxLength: inputMaxLength,
|
|
112
113
|
isOnlyNumbers: isInputOnlyNumbers,
|
|
113
|
-
autoFocus: autoFocus
|
|
114
|
+
autoFocus: autoFocus,
|
|
115
|
+
readOnly: readOnly
|
|
114
116
|
}, _constants.SIZE_PARAMS_MAP[size])))), /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
115
117
|
isOpen: isOpen && (!!options.length || !!isLoading),
|
|
116
118
|
isAutoPosition: true,
|
|
@@ -12,6 +12,7 @@ export type TProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onBlur'
|
|
|
12
12
|
isOnlyNumbers?: boolean;
|
|
13
13
|
className?: never;
|
|
14
14
|
element?: 'input' | 'textarea';
|
|
15
|
+
renderedValue?: React.ReactNode;
|
|
15
16
|
};
|
|
16
17
|
export declare const PureInput: React.ForwardRefExoticComponent<Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, "onFocus" | "onBlur" | "onChange"> & React.InputHTMLAttributes<HTMLInputElement> & Partial<Pick<TInputWithTypographyProps, "variant">> & {
|
|
17
18
|
paddingLeft?: number | undefined;
|
|
@@ -25,4 +26,5 @@ export declare const PureInput: React.ForwardRefExoticComponent<Omit<React.Texta
|
|
|
25
26
|
isOnlyNumbers?: boolean | undefined;
|
|
26
27
|
className?: undefined;
|
|
27
28
|
element?: "input" | "textarea" | undefined;
|
|
29
|
+
renderedValue?: React.ReactNode;
|
|
28
30
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -8,7 +8,7 @@ exports.PureInput = void 0;
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var S = _interopRequireWildcard(require("./styles"));
|
|
10
10
|
var _palette = require("../../../palette");
|
|
11
|
-
var _excluded = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "borderRadius", "hasError", "inFocus", "hasBorder", "isOnlyNumbers", "className", "onChange", "element", "variant"];
|
|
11
|
+
var _excluded = ["paddingLeft", "paddingRight", "paddingTop", "paddingBottom", "borderRadius", "hasError", "inFocus", "hasBorder", "isOnlyNumbers", "className", "onChange", "element", "variant", "renderedValue"];
|
|
12
12
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
13
13
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
14
14
|
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
@@ -39,6 +39,7 @@ var PureInput = exports.PureInput = /*#__PURE__*/_react["default"].forwardRef(fu
|
|
|
39
39
|
element = _ref$element === void 0 ? 'input' : _ref$element,
|
|
40
40
|
_ref$variant = _ref.variant,
|
|
41
41
|
variant = _ref$variant === void 0 ? 'bodyMRegular' : _ref$variant,
|
|
42
|
+
renderedValue = _ref.renderedValue,
|
|
42
43
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
43
44
|
var palette = (0, _palette.useComponentPalette)('pureInput');
|
|
44
45
|
var handleChange = (0, _react.useCallback)(function (event) {
|
|
@@ -51,7 +52,7 @@ var PureInput = exports.PureInput = /*#__PURE__*/_react["default"].forwardRef(fu
|
|
|
51
52
|
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, _extends({
|
|
52
53
|
ref: ref,
|
|
53
54
|
variant: variant,
|
|
54
|
-
element: element,
|
|
55
|
+
element: renderedValue ? 'div' : element,
|
|
55
56
|
$paddingLeft: paddingLeft,
|
|
56
57
|
$paddingRight: paddingRight,
|
|
57
58
|
$paddingTop: paddingTop,
|
|
@@ -62,6 +63,6 @@ var PureInput = exports.PureInput = /*#__PURE__*/_react["default"].forwardRef(fu
|
|
|
62
63
|
$palette: palette,
|
|
63
64
|
$borderRadius: borderRadius,
|
|
64
65
|
onChange: handleChange
|
|
65
|
-
}, rest));
|
|
66
|
+
}, rest), renderedValue);
|
|
66
67
|
});
|
|
67
68
|
PureInput.displayName = 'PureInput';
|
|
@@ -6,8 +6,10 @@ import { TSizes } from '../../../constants';
|
|
|
6
6
|
export type TProps = Pick<TInputLabelProps, 'inFocus' | 'label' | 'required'> & Pick<TPureInputProps, 'hasError' | 'placeholder' | 'name' | 'onFocus' | 'onBlur' | 'value' | 'onClick'> & Pick<TArrowProps, 'isOpen'> & {
|
|
7
7
|
onReset?: () => void;
|
|
8
8
|
size?: TSizes;
|
|
9
|
+
renderedValue?: React.ReactNode;
|
|
9
10
|
};
|
|
10
11
|
export declare const Input: React.ForwardRefExoticComponent<Pick<TInputLabelProps, "required" | "label" | "inFocus"> & Pick<TPureInputProps, "name" | "value" | "placeholder" | "onFocus" | "onBlur" | "onClick" | "hasError"> & Pick<TArrowProps, "isOpen"> & {
|
|
11
12
|
onReset?: (() => void) | undefined;
|
|
12
13
|
size?: TSizes | undefined;
|
|
14
|
+
renderedValue?: React.ReactNode;
|
|
13
15
|
} & React.RefAttributes<HTMLInputElement>>;
|
|
@@ -22,6 +22,7 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
|
22
22
|
onFocus = _ref.onFocus,
|
|
23
23
|
onBlur = _ref.onBlur,
|
|
24
24
|
value = _ref.value,
|
|
25
|
+
renderedValue = _ref.renderedValue,
|
|
25
26
|
name = _ref.name,
|
|
26
27
|
label = _ref.label,
|
|
27
28
|
isOpen = _ref.isOpen,
|
|
@@ -44,6 +45,7 @@ var Input = exports.Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref,
|
|
|
44
45
|
onFocus: onFocus,
|
|
45
46
|
onBlur: onBlur,
|
|
46
47
|
value: value,
|
|
48
|
+
renderedValue: renderedValue,
|
|
47
49
|
readOnly: true,
|
|
48
50
|
paddingRight: 52,
|
|
49
51
|
onClick: onClick
|
|
@@ -19,6 +19,7 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
|
|
|
19
19
|
isResetButtonEnabled?: boolean;
|
|
20
20
|
renderOption?: (entity?: any) => ReactNode;
|
|
21
21
|
renderGroup?: (entity?: any) => ReactNode;
|
|
22
|
+
renderValue?: (entity?: any) => ReactNode;
|
|
22
23
|
dropdownHeader?: ReactNode;
|
|
23
24
|
scrollbarHeader?: ReactNode;
|
|
24
25
|
isDrawerOptions?: boolean;
|
|
@@ -27,4 +28,4 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
|
|
|
27
28
|
isLoading?: boolean;
|
|
28
29
|
required?: boolean;
|
|
29
30
|
};
|
|
30
|
-
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, scrollbarHeader, emptyOptionsLabel, isLoading, onBlur, required, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, renderValue, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, scrollbarHeader, emptyOptionsLabel, isLoading, onBlur, required, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -33,6 +33,7 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
33
33
|
placeholder = _ref.placeholder,
|
|
34
34
|
name = _ref.name,
|
|
35
35
|
value = _ref.value,
|
|
36
|
+
renderValue = _ref.renderValue,
|
|
36
37
|
onChange = _ref.onChange,
|
|
37
38
|
options = _ref.options,
|
|
38
39
|
_ref$groups = _ref.groups,
|
|
@@ -193,6 +194,10 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
193
194
|
}
|
|
194
195
|
return emptyLabel;
|
|
195
196
|
};
|
|
197
|
+
var renderedValue = (0, _react.useMemo)(function () {
|
|
198
|
+
if (!renderValue || !(selectedOption !== null && selectedOption !== void 0 && selectedOption.entity)) return;
|
|
199
|
+
return renderValue(selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.entity);
|
|
200
|
+
}, [renderValue, selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.entity]);
|
|
196
201
|
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
|
|
197
202
|
ref: isDrawerOptions ? undefined : wrapperRef
|
|
198
203
|
}, /*#__PURE__*/_react["default"].createElement(S.InputWrapper, null, /*#__PURE__*/_react["default"].createElement(_Input.Input, {
|
|
@@ -204,11 +209,12 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
204
209
|
onFocus: isDrawerOptions ? undefined : handleFocus,
|
|
205
210
|
onBlur: isDrawerOptions ? undefined : handleBlur,
|
|
206
211
|
value: (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) || '',
|
|
212
|
+
renderedValue: renderedValue,
|
|
207
213
|
name: name,
|
|
208
214
|
isOpen: isOpen,
|
|
209
215
|
onReset: isResetButtonEnabled ? handleReset : undefined,
|
|
210
216
|
size: size,
|
|
211
|
-
onClick: isDrawerOptions ? handleInputClick : undefined,
|
|
217
|
+
onClick: isDrawerOptions || !!renderedValue ? handleInputClick : undefined,
|
|
212
218
|
required: required
|
|
213
219
|
})), isDrawerOptions ? /*#__PURE__*/_react["default"].createElement(_Drawer.Drawer, {
|
|
214
220
|
onClose: handleHide,
|
|
@@ -9,3 +9,4 @@ export declare const RenderOption: StoryObj<TProps<string>>;
|
|
|
9
9
|
export declare const WithGroups: StoryObj<TProps<string>>;
|
|
10
10
|
export declare const RenderOptionWithGroups: StoryObj<TProps<string>>;
|
|
11
11
|
export declare const WithCustomGroups: StoryObj<TProps<string>>;
|
|
12
|
+
export declare const WithRenderedValue: StoryObj<TProps<string>>;
|
|
@@ -4,7 +4,7 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports["default"] = exports.WithGroups = exports.WithDropdownHeader = exports.WithCustomGroups = exports.RenderOptionWithGroups = exports.RenderOption = exports.EmptyOptions = exports.Default = void 0;
|
|
7
|
+
exports["default"] = exports.WithRenderedValue = exports.WithGroups = exports.WithDropdownHeader = exports.WithCustomGroups = exports.RenderOptionWithGroups = exports.RenderOption = exports.EmptyOptions = exports.Default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _addonActions = require("@storybook/addon-actions");
|
|
10
10
|
var _ = require(".");
|
|
@@ -55,6 +55,7 @@ var COMMON_ARGS = {
|
|
|
55
55
|
value: 'option-1',
|
|
56
56
|
groupId: '1',
|
|
57
57
|
entity: {
|
|
58
|
+
id: 1,
|
|
58
59
|
name: 'name option 1'
|
|
59
60
|
}
|
|
60
61
|
}, {
|
|
@@ -62,6 +63,7 @@ var COMMON_ARGS = {
|
|
|
62
63
|
value: 'option-2',
|
|
63
64
|
groupId: '1',
|
|
64
65
|
entity: {
|
|
66
|
+
id: 2,
|
|
65
67
|
name: 'name option 2'
|
|
66
68
|
}
|
|
67
69
|
}, {
|
|
@@ -69,6 +71,7 @@ var COMMON_ARGS = {
|
|
|
69
71
|
value: 'option-3',
|
|
70
72
|
groupId: '2',
|
|
71
73
|
entity: {
|
|
74
|
+
id: 3,
|
|
72
75
|
name: 'name option 3'
|
|
73
76
|
}
|
|
74
77
|
}, {
|
|
@@ -76,61 +79,98 @@ var COMMON_ARGS = {
|
|
|
76
79
|
value: 'option-4',
|
|
77
80
|
groupId: '2',
|
|
78
81
|
entity: {
|
|
82
|
+
id: 4,
|
|
79
83
|
name: 'name option 4'
|
|
80
84
|
}
|
|
81
85
|
}, {
|
|
82
86
|
label: 'Option 5',
|
|
83
87
|
value: 'option-5',
|
|
84
88
|
entity: {
|
|
89
|
+
id: 5,
|
|
85
90
|
name: 'name option 5'
|
|
86
91
|
}
|
|
87
92
|
}, {
|
|
88
93
|
label: 'Option 6',
|
|
89
94
|
value: 'option-6',
|
|
90
95
|
entity: {
|
|
96
|
+
id: 6,
|
|
91
97
|
name: 'name option 6'
|
|
92
98
|
}
|
|
93
99
|
}, {
|
|
94
100
|
label: 'Option 7',
|
|
95
101
|
value: 'option-7',
|
|
96
102
|
entity: {
|
|
103
|
+
id: 7,
|
|
97
104
|
name: 'name option 7'
|
|
98
105
|
}
|
|
99
106
|
}, {
|
|
100
107
|
label: 'Option 8',
|
|
101
108
|
value: 'option-8',
|
|
102
109
|
entity: {
|
|
110
|
+
id: 8,
|
|
103
111
|
name: 'name option 8'
|
|
104
112
|
}
|
|
105
113
|
}, {
|
|
106
114
|
label: 'Option 9',
|
|
107
115
|
value: 'option-9',
|
|
108
116
|
entity: {
|
|
117
|
+
id: 9,
|
|
109
118
|
name: 'name option 9'
|
|
110
119
|
}
|
|
111
120
|
}, {
|
|
112
121
|
label: 'Option 10',
|
|
113
122
|
value: 'option-10',
|
|
114
123
|
entity: {
|
|
124
|
+
id: 10,
|
|
115
125
|
name: 'name option 10'
|
|
116
126
|
}
|
|
117
127
|
}, {
|
|
118
128
|
label: 'Option 11',
|
|
119
129
|
value: 'option-11',
|
|
120
130
|
entity: {
|
|
131
|
+
id: 11,
|
|
121
132
|
name: 'name option 11'
|
|
122
133
|
}
|
|
123
134
|
}, {
|
|
124
135
|
label: 'Option 12',
|
|
125
136
|
value: 'option-12',
|
|
126
137
|
entity: {
|
|
138
|
+
id: 12,
|
|
127
139
|
name: 'name option 12'
|
|
128
140
|
}
|
|
129
141
|
}]
|
|
130
142
|
};
|
|
143
|
+
var COLORS_BY_ID_MAP = {
|
|
144
|
+
1: 'red',
|
|
145
|
+
2: 'blue',
|
|
146
|
+
3: 'green',
|
|
147
|
+
4: 'red',
|
|
148
|
+
5: 'blue',
|
|
149
|
+
6: 'green',
|
|
150
|
+
7: 'red',
|
|
151
|
+
8: 'blue',
|
|
152
|
+
9: 'green'
|
|
153
|
+
};
|
|
131
154
|
var renderOption = function renderOption(entity) {
|
|
132
155
|
return /*#__PURE__*/_react["default"].createElement("div", null, "Hello ", entity.name, " ");
|
|
133
156
|
};
|
|
157
|
+
var renderValue = function renderValue(entity) {
|
|
158
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
|
+
style: {
|
|
160
|
+
display: 'flex',
|
|
161
|
+
alignItems: 'center',
|
|
162
|
+
gap: '10px'
|
|
163
|
+
}
|
|
164
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
165
|
+
style: {
|
|
166
|
+
width: 40,
|
|
167
|
+
height: 40,
|
|
168
|
+
backgroundColor: COLORS_BY_ID_MAP[entity.id],
|
|
169
|
+
borderRadius: 10,
|
|
170
|
+
border: '1px solid lightgrey'
|
|
171
|
+
}
|
|
172
|
+
}), "Selected color: ", entity.name, ' ');
|
|
173
|
+
};
|
|
134
174
|
var renderGroup = function renderGroup(group) {
|
|
135
175
|
return /*#__PURE__*/_react["default"].createElement("div", null, "Group name is: ", group.name, " ");
|
|
136
176
|
};
|
|
@@ -200,4 +240,10 @@ var WithCustomGroups = exports.WithCustomGroups = {
|
|
|
200
240
|
renderGroup: renderGroup
|
|
201
241
|
}),
|
|
202
242
|
render: Component
|
|
243
|
+
};
|
|
244
|
+
var WithRenderedValue = exports.WithRenderedValue = {
|
|
245
|
+
args: _objectSpread(_objectSpread({}, COMMON_ARGS), {}, {
|
|
246
|
+
renderValue: renderValue
|
|
247
|
+
}),
|
|
248
|
+
render: Component
|
|
203
249
|
};
|