@invoicebox/ui 0.1.0-alpha.183 → 0.1.0-alpha.185
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/Select/index.d.ts +3 -1
- package/dist/components/form/Select/index.js +37 -9
- package/dist/components/form/Select/index.stories.d.ts +1 -0
- package/dist/components/form/Select/index.stories.js +23 -1
- package/dist/components/form/Select/styles.d.ts +2 -1
- package/dist/components/form/Select/styles.js +8 -4
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ export type TOption<TValue> = {
|
|
|
9
9
|
export type TGroup = {
|
|
10
10
|
label: string;
|
|
11
11
|
id: string;
|
|
12
|
+
entity?: unknown;
|
|
12
13
|
};
|
|
13
14
|
export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placeholder' | 'name' | 'size'> & {
|
|
14
15
|
value: TValue | null;
|
|
@@ -17,8 +18,9 @@ export type TProps<TValue> = Pick<TInputProps, 'label' | 'hasError' | 'placehold
|
|
|
17
18
|
groups?: TGroup[];
|
|
18
19
|
isResetButtonEnabled?: boolean;
|
|
19
20
|
renderOption?: (entity?: any) => ReactNode;
|
|
21
|
+
renderGroup?: (entity?: any) => ReactNode;
|
|
20
22
|
dropdownHeader?: ReactNode;
|
|
21
23
|
isDrawerOptions?: boolean;
|
|
22
24
|
scrollbarMaxHeight?: number;
|
|
23
25
|
};
|
|
24
|
-
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, scrollbarMaxHeight, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare const Select: <TValue extends string | number>({ label, hasError, placeholder, name, value, onChange, options, groups, isResetButtonEnabled, size, renderOption, dropdownHeader, isDrawerOptions, renderGroup, scrollbarMaxHeight, }: TProps<TValue>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -42,6 +42,7 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
42
42
|
dropdownHeader = _ref.dropdownHeader,
|
|
43
43
|
_ref$isDrawerOptions = _ref.isDrawerOptions,
|
|
44
44
|
isDrawerOptions = _ref$isDrawerOptions === void 0 ? false : _ref$isDrawerOptions,
|
|
45
|
+
renderGroup = _ref.renderGroup,
|
|
45
46
|
_ref$scrollbarMaxHeig = _ref.scrollbarMaxHeight,
|
|
46
47
|
scrollbarMaxHeight = _ref$scrollbarMaxHeig === void 0 ? MAX_LIST_HEIGHT : _ref$scrollbarMaxHeig;
|
|
47
48
|
var palette = (0, _palette.useComponentPalette)('select');
|
|
@@ -112,16 +113,39 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
112
113
|
(_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.blur();
|
|
113
114
|
handleShow();
|
|
114
115
|
};
|
|
115
|
-
var
|
|
116
|
-
|
|
117
|
-
|
|
116
|
+
var handleOptionRender = function handleOptionRender(option) {
|
|
117
|
+
if (renderOption) {
|
|
118
|
+
if (!option.entity) {
|
|
119
|
+
// eslint-disable-next-line no-console
|
|
120
|
+
console.error('option.entity not found');
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
return renderOption(option.entity);
|
|
124
|
+
}
|
|
125
|
+
return /*#__PURE__*/_react["default"].createElement(S.DefaultOptionWrapper, null, " ", option.label);
|
|
126
|
+
};
|
|
127
|
+
var handleGroupRender = function handleGroupRender(group) {
|
|
128
|
+
if (group) {
|
|
129
|
+
if (renderGroup) {
|
|
130
|
+
if (!group.entity) {
|
|
131
|
+
// eslint-disable-next-line no-console
|
|
132
|
+
console.error('group.entity not found');
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
return renderGroup(group.entity);
|
|
136
|
+
}
|
|
137
|
+
return /*#__PURE__*/_react["default"].createElement(S.Group, {
|
|
138
|
+
variant: "headerText"
|
|
139
|
+
}, group.label);
|
|
140
|
+
}
|
|
141
|
+
return null;
|
|
142
|
+
};
|
|
143
|
+
var dropdownContent = /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, dropdownHeader, optionGroups.map(function (_ref2) {
|
|
118
144
|
var group = _ref2.group,
|
|
119
145
|
groupOptions = _ref2.options;
|
|
120
146
|
return /*#__PURE__*/_react["default"].createElement(_react.Fragment, {
|
|
121
147
|
key: (group === null || group === void 0 ? void 0 : group.id) || null
|
|
122
|
-
},
|
|
123
|
-
variant: "headerText"
|
|
124
|
-
}, group.label), groupOptions.map(function (option) {
|
|
148
|
+
}, handleGroupRender(group), groupOptions.map(function (option) {
|
|
125
149
|
return /*#__PURE__*/_react["default"].createElement(S.Option, {
|
|
126
150
|
key: option.value,
|
|
127
151
|
$palette: palette,
|
|
@@ -130,7 +154,7 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
130
154
|
"data-value": JSON.stringify(option.value),
|
|
131
155
|
"data-option-identifier": OPTION_IDENTIFIER,
|
|
132
156
|
$isGrouped: !!group
|
|
133
|
-
},
|
|
157
|
+
}, handleOptionRender(option));
|
|
134
158
|
}));
|
|
135
159
|
}));
|
|
136
160
|
return /*#__PURE__*/_react["default"].createElement(S.Wrapper, {
|
|
@@ -153,9 +177,13 @@ var Select = exports.Select = function Select(_ref) {
|
|
|
153
177
|
onClose: handleHide,
|
|
154
178
|
isOpen: isOpen,
|
|
155
179
|
isPadding: false
|
|
156
|
-
}, /*#__PURE__*/_react["default"].createElement(S.
|
|
180
|
+
}, /*#__PURE__*/_react["default"].createElement(S.DrawerContent, null, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
181
|
+
maxHeight: scrollbarMaxHeight
|
|
182
|
+
}, dropdownContent, /*#__PURE__*/_react["default"].createElement(S.DrawerBottom, null)))) : /*#__PURE__*/_react["default"].createElement(_Dropdown.Dropdown, {
|
|
157
183
|
isOpen: isOpen,
|
|
158
184
|
isAutoPosition: true,
|
|
159
185
|
width: "100%"
|
|
160
|
-
},
|
|
186
|
+
}, /*#__PURE__*/_react["default"].createElement(_Scrollbar.Scrollbar, {
|
|
187
|
+
maxHeight: scrollbarMaxHeight
|
|
188
|
+
}, dropdownContent)));
|
|
161
189
|
};
|
|
@@ -7,3 +7,4 @@ export declare const WithDropdownHeader: StoryObj<TProps<string>>;
|
|
|
7
7
|
export declare const RenderOption: StoryObj<TProps<string>>;
|
|
8
8
|
export declare const WithGroups: StoryObj<TProps<string>>;
|
|
9
9
|
export declare const RenderOptionWithGroups: StoryObj<TProps<string>>;
|
|
10
|
+
export declare const WithCustomGroups: 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.RenderOptionWithGroups = exports.RenderOption = exports.Default = void 0;
|
|
7
|
+
exports["default"] = exports.WithGroups = exports.WithDropdownHeader = exports.WithCustomGroups = exports.RenderOptionWithGroups = exports.RenderOption = exports.Default = void 0;
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _addonActions = require("@storybook/addon-actions");
|
|
10
10
|
var _ = require(".");
|
|
@@ -130,6 +130,9 @@ var COMMON_ARGS = {
|
|
|
130
130
|
var renderOption = function renderOption(entity) {
|
|
131
131
|
return /*#__PURE__*/_react["default"].createElement("div", null, "Hello ", entity.name, " ");
|
|
132
132
|
};
|
|
133
|
+
var renderGroup = function renderGroup(group) {
|
|
134
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, "Group name is: ", group.name, " ");
|
|
135
|
+
};
|
|
133
136
|
var Default = exports.Default = {
|
|
134
137
|
args: _objectSpread({}, COMMON_ARGS),
|
|
135
138
|
render: Component
|
|
@@ -170,4 +173,23 @@ var RenderOptionWithGroups = exports.RenderOptionWithGroups = {
|
|
|
170
173
|
renderOption: renderOption
|
|
171
174
|
}),
|
|
172
175
|
render: Component
|
|
176
|
+
};
|
|
177
|
+
var WithCustomGroups = exports.WithCustomGroups = {
|
|
178
|
+
args: _objectSpread(_objectSpread({}, COMMON_ARGS), {}, {
|
|
179
|
+
groups: [{
|
|
180
|
+
label: 'Group 1',
|
|
181
|
+
id: '1',
|
|
182
|
+
entity: {
|
|
183
|
+
name: 'name group 1'
|
|
184
|
+
}
|
|
185
|
+
}, {
|
|
186
|
+
label: 'Group 2',
|
|
187
|
+
id: '2',
|
|
188
|
+
entity: {
|
|
189
|
+
name: 'name group 2'
|
|
190
|
+
}
|
|
191
|
+
}],
|
|
192
|
+
renderGroup: renderGroup
|
|
193
|
+
}),
|
|
194
|
+
render: Component
|
|
173
195
|
};
|
|
@@ -8,4 +8,5 @@ export declare const Option: import("styled-components/dist/types").IStyledCompo
|
|
|
8
8
|
}>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
|
|
9
9
|
export declare const Group: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("../../common/Typography").TTypographyProps & import("styled-components/dist/types").BaseObject, import("styled-components/dist/types").BaseObject>> & string & Omit<import("react").FC<import("../../common/Typography").TTypographyProps>, keyof import("react").Component<any, {}, any>>;
|
|
10
10
|
export declare const DefaultOptionWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
11
|
-
export declare const
|
|
11
|
+
export declare const DrawerContent: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
|
|
12
|
+
export declare const DrawerBottom: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & 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.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.
|
|
7
|
+
exports.Wrapper = exports.Option = exports.InputWrapper = exports.Group = exports.DrawerContent = exports.DrawerBottom = exports.DefaultOptionWrapper = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireWildcard(require("styled-components"));
|
|
9
9
|
var _Typography = require("../../common/Typography");
|
|
10
10
|
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); }
|
|
@@ -35,7 +35,11 @@ var DefaultOptionWrapper = exports.DefaultOptionWrapper = _styledComponents["def
|
|
|
35
35
|
displayName: "styles__DefaultOptionWrapper",
|
|
36
36
|
componentId: "sc-1x9n0z5-4"
|
|
37
37
|
})(["padding:12px 20px;"]);
|
|
38
|
-
var
|
|
39
|
-
displayName: "
|
|
38
|
+
var DrawerContent = exports.DrawerContent = _styledComponents["default"].div.withConfig({
|
|
39
|
+
displayName: "styles__DrawerContent",
|
|
40
40
|
componentId: "sc-1x9n0z5-5"
|
|
41
|
-
})(["padding:36px
|
|
41
|
+
})(["padding-top:36px;"]);
|
|
42
|
+
var DrawerBottom = exports.DrawerBottom = _styledComponents["default"].div.withConfig({
|
|
43
|
+
displayName: "styles__DrawerBottom",
|
|
44
|
+
componentId: "sc-1x9n0z5-6"
|
|
45
|
+
})(["height:36px;"]);
|