@itcase/ui 1.1.8 → 1.1.9

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.
@@ -7,17 +7,7 @@ import { Image } from './components/Image.js';
7
7
  import { T as Text } from './Text-BcGbRc14.js';
8
8
 
9
9
  function Avatar(props) {
10
- var className = props.className, Dot = props.Dot, icon = props.icon,
11
- // Размер аватара
12
- _a = props.size,
13
- // Размер аватара
14
- size = _a === void 0 ? '96' : _a, after = props.after, before = props.before, src = props.src,
15
- // Тип аватара
16
- type = props.type, mode = props.mode, onClick = props.onClick, _b = props.textSize, textSize = _b === void 0 ? 'l' : _b,
17
- // Цвет текста
18
- _c = props.textColor,
19
- // Цвет текста
20
- textColor = _c === void 0 ? 'surfaceTextTertiary' : _c, _d = props.textWeight, textWeight = _d === void 0 ? '600' : _d, iconSrc = props.iconSrc, iconItemFill = props.iconItemFill, iconShape = props.iconShape, iconSize = props.iconSize, iconStroke = props.iconStroke, iconFill = props.iconFill, iconFillHover = props.iconFillHover, iconFillSize = props.iconFillSize, _e = props.firstName, firstName = _e === void 0 ? '' : _e, _f = props.secondName, secondName = _f === void 0 ? '' : _f;
10
+ var className = props.className, Dot = props.Dot, icon = props.icon, _a = props.size, size = _a === void 0 ? '96' : _a, after = props.after, before = props.before, src = props.src, type = props.type, mode = props.mode, onClick = props.onClick, _b = props.textSize, textSize = _b === void 0 ? 'l' : _b, _c = props.textColor, textColor = _c === void 0 ? 'surfaceTextTertiary' : _c, _d = props.textWeight, textWeight = _d === void 0 ? '600' : _d, iconSrc = props.iconSrc, iconItemFill = props.iconItemFill, iconShape = props.iconShape, iconSize = props.iconSize, iconStroke = props.iconStroke, iconFill = props.iconFill, iconFillHover = props.iconFillHover, iconFillSize = props.iconFillSize, _e = props.firstName, firstName = _e === void 0 ? '' : _e, _f = props.secondName, secondName = _f === void 0 ? '' : _f;
21
11
  var fillClass = useDeviceTargetClass(props, {
22
12
  prefix: 'fill_',
23
13
  propsKey: 'fill',
@@ -37,13 +27,5 @@ function Avatar(props) {
37
27
  }, [firstName, secondName]);
38
28
  return (jsxRuntimeExports.jsx("div", { className: clsx(className, 'avatar', shapeClass, mode && "avatar_mode_".concat(mode), size && "avatar_size_".concat(size), type && "avatar_type_".concat(type), Dot && 'avatar_status', onClick && 'cursor_type_pointer'), onClick: onClick, children: jsxRuntimeExports.jsxs("div", { className: clsx('avatar__wrapper', fillClass, fillHoverClass), children: [before, src ? (jsxRuntimeExports.jsx(Image, { className: "avatar__image", shape: "geometric", src: src })) : (jsxRuntimeExports.jsx(Text, { className: "avatar__name", size: textSize, textColor: textColor, textWeight: textWeight, children: avatarChars })), (icon || iconSrc) && (jsxRuntimeExports.jsx(Icon, { className: "avatar__icon", fill: iconFill, fillHover: iconFillHover, fillSize: iconFillSize, iconFill: iconItemFill, iconSize: iconSize, imageSrc: iconSrc, shape: iconShape, stroke: iconStroke, SvgImage: icon })), Dot, after] }) }));
39
29
  }
40
- Avatar.defaultProps = {
41
- size: '96',
42
- textSize: 'l',
43
- textColor: 'surfaceTextTertiary',
44
- textWeight: 600,
45
- firstName: '',
46
- secondName: '',
47
- };
48
30
 
49
31
  export { Avatar as A };
@@ -13,17 +13,7 @@ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
13
  var clsx__default = /*#__PURE__*/_interopDefault(clsx);
14
14
 
15
15
  function Avatar(props) {
16
- var className = props.className, Dot = props.Dot, icon = props.icon,
17
- // Размер аватара
18
- _a = props.size,
19
- // Размер аватара
20
- size = _a === void 0 ? '96' : _a, after = props.after, before = props.before, src = props.src,
21
- // Тип аватара
22
- type = props.type, mode = props.mode, onClick = props.onClick, _b = props.textSize, textSize = _b === void 0 ? 'l' : _b,
23
- // Цвет текста
24
- _c = props.textColor,
25
- // Цвет текста
26
- textColor = _c === void 0 ? 'surfaceTextTertiary' : _c, _d = props.textWeight, textWeight = _d === void 0 ? '600' : _d, iconSrc = props.iconSrc, iconItemFill = props.iconItemFill, iconShape = props.iconShape, iconSize = props.iconSize, iconStroke = props.iconStroke, iconFill = props.iconFill, iconFillHover = props.iconFillHover, iconFillSize = props.iconFillSize, _e = props.firstName, firstName = _e === void 0 ? '' : _e, _f = props.secondName, secondName = _f === void 0 ? '' : _f;
16
+ var className = props.className, Dot = props.Dot, icon = props.icon, _a = props.size, size = _a === void 0 ? '96' : _a, after = props.after, before = props.before, src = props.src, type = props.type, mode = props.mode, onClick = props.onClick, _b = props.textSize, textSize = _b === void 0 ? 'l' : _b, _c = props.textColor, textColor = _c === void 0 ? 'surfaceTextTertiary' : _c, _d = props.textWeight, textWeight = _d === void 0 ? '600' : _d, iconSrc = props.iconSrc, iconItemFill = props.iconItemFill, iconShape = props.iconShape, iconSize = props.iconSize, iconStroke = props.iconStroke, iconFill = props.iconFill, iconFillHover = props.iconFillHover, iconFillSize = props.iconFillSize, _e = props.firstName, firstName = _e === void 0 ? '' : _e, _f = props.secondName, secondName = _f === void 0 ? '' : _f;
27
17
  var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
28
18
  prefix: 'fill_',
29
19
  propsKey: 'fill',
@@ -43,13 +33,5 @@ function Avatar(props) {
43
33
  }, [firstName, secondName]);
44
34
  return (jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx__default.default(className, 'avatar', shapeClass, mode && "avatar_mode_".concat(mode), size && "avatar_size_".concat(size), type && "avatar_type_".concat(type), Dot && 'avatar_status', onClick && 'cursor_type_pointer'), onClick: onClick, children: jsxRuntime.jsxRuntimeExports.jsxs("div", { className: clsx__default.default('avatar__wrapper', fillClass, fillHoverClass), children: [before, src ? (jsxRuntime.jsxRuntimeExports.jsx(index.Image, { className: "avatar__image", shape: "geometric", src: src })) : (jsxRuntime.jsxRuntimeExports.jsx(Text.Text, { className: "avatar__name", size: textSize, textColor: textColor, textWeight: textWeight, children: avatarChars })), (icon || iconSrc) && (jsxRuntime.jsxRuntimeExports.jsx(Icon.Icon, { className: "avatar__icon", fill: iconFill, fillHover: iconFillHover, fillSize: iconFillSize, iconFill: iconItemFill, iconSize: iconSize, imageSrc: iconSrc, shape: iconShape, stroke: iconStroke, SvgImage: icon })), Dot, after] }) }));
45
35
  }
46
- Avatar.defaultProps = {
47
- size: '96',
48
- textSize: 'l',
49
- textColor: 'surfaceTextTertiary',
50
- textWeight: 600,
51
- firstName: '',
52
- secondName: '',
53
- };
54
36
 
55
37
  exports.Avatar = Avatar;
@@ -1,13 +1,3 @@
1
1
  import { IAvatarProps } from './Avatar.interface';
2
2
  declare function Avatar(props: IAvatarProps): import("react/jsx-runtime").JSX.Element;
3
- declare namespace Avatar {
4
- var defaultProps: {
5
- size: string;
6
- textSize: string;
7
- textColor: string;
8
- textWeight: number;
9
- firstName: string;
10
- secondName: string;
11
- };
12
- }
13
3
  export { Avatar };
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Avatar = require('../Avatar-DQ5fNpnO.js');
3
+ var Avatar = require('../Avatar-C8tufLEH.js');
4
4
  require('../jsx-runtime-BCmQOGxJ.js');
5
5
  require('react');
6
6
  require('clsx');
@@ -52,8 +52,6 @@ function Pagination(props) {
52
52
  perPageCount,
53
53
  allItemsCount,
54
54
  className,
55
- forcePage,
56
- pageCount,
57
55
  marginPagesDisplayed,
58
56
  pageRangeDisplayed,
59
57
  previousLabel,
@@ -63,11 +61,9 @@ function Pagination(props) {
63
61
  pageCountDesc,
64
62
  pageCountDescTextColor,
65
63
  pageCountDescTextSize,
66
- pageCountInput,
67
64
  pageCountInputTextColor,
68
65
  pageCountInputTextSize,
69
66
  pageCountInputIcon,
70
- pageCountInputIconFill,
71
67
  pageCountInputIconFillSize,
72
68
  pageCountInputIconColor,
73
69
  pageCountDropdownAlignment,
@@ -84,7 +80,6 @@ function Pagination(props) {
84
80
  pageCountDropdownItemFillActive,
85
81
  pageCountDropdownItemFillActiveHover,
86
82
  pageCountDropdownItemFillHover,
87
- pageCountDropdownItemLabel,
88
83
  pageCountDropdownItemLabelColor,
89
84
  pageCountDropdownItemLabelColorActive,
90
85
  pageCountDropdownItemLabelSize,
@@ -95,12 +90,14 @@ function Pagination(props) {
95
90
  } = props;
96
91
  const [isOpenDropdown, setIsOpenDropdown] = React.useState(false);
97
92
  const [showPagination, setShowPagination] = React.useState(true);
93
+ const [pageCountDropdownArray, setPageCountDropdownArray] = React.useState([]);
98
94
  const [activeDropdownItem, setActiveDropdownItem] = React.useState(10);
99
95
  // Toggle command menu
100
96
  const onClickCommandMenuButton = React.useCallback(event => {
101
97
  setIsOpenDropdown(state => !state);
102
98
  }, []);
103
- const handleDropdownItemClick = React.useCallback(item => {
99
+ const handleDropdownItemClick = React.useCallback((event, item) => {
100
+ event.stopPropagation();
104
101
  onPerPageCountChange(item);
105
102
  setActiveDropdownItem(item);
106
103
  setIsOpenDropdown(false);
@@ -113,6 +110,14 @@ function Pagination(props) {
113
110
  prefix: 'gap_',
114
111
  propsKey: 'gap'
115
112
  });
113
+ const fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
114
+ prefix: 'fill_',
115
+ propsKey: 'fill'
116
+ });
117
+ const fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
118
+ prefix: 'fill_hover_',
119
+ propsKey: 'fillHover'
120
+ });
116
121
 
117
122
  // Calculate count of pages for all items
118
123
  const paginationPagesCount = React.useMemo(() => {
@@ -133,12 +138,8 @@ function Pagination(props) {
133
138
  return 0;
134
139
  }, [pageNumber]);
135
140
  React.useEffect(() => {
136
- if (paginationPagesCount <= 1) {
137
- setShowPagination(false);
138
- return;
139
- }
140
- setShowPagination(true);
141
- }, [paginationPagesCount]);
141
+ setPageCountDropdownArray(isPageCountDropdownReversed ? pageCountArray.reverse() : pageCountArray);
142
+ }, [pageCountArray, isPageCountDropdownReversed]);
142
143
  return /*#__PURE__*/React__default.default.createElement("div", {
143
144
  className: "pagination"
144
145
  }, showPagination && /*#__PURE__*/React__default.default.createElement(ReactPaginate__default.default, {
@@ -179,13 +180,12 @@ function Pagination(props) {
179
180
  size: pageCountDescTextSize,
180
181
  textColor: pageCountDescTextColor
181
182
  }, pageCountDesc), /*#__PURE__*/React__default.default.createElement("div", {
182
- className: "pagination__input",
183
+ className: clsx__default.default('pagination__input', 'cursor_type_pointer', fillClass, fillHoverClass),
183
184
  onClick: onClickCommandMenuButton
184
185
  }, /*#__PURE__*/React__default.default.createElement(Text.Text, {
185
186
  size: pageCountInputTextSize,
186
187
  textColor: pageCountInputTextColor
187
188
  }, activeDropdownItem), /*#__PURE__*/React__default.default.createElement(Icon.Icon, {
188
- fill: pageCountInputIconFill,
189
189
  fillSize: pageCountInputIconFillSize,
190
190
  iconFill: pageCountInputIconColor,
191
191
  SvgImage: pageCountInputIcon
@@ -197,7 +197,7 @@ function Pagination(props) {
197
197
  set: pageCountDropdownSet,
198
198
  setIsOpen: setIsOpenDropdown,
199
199
  shape: pageCountDropdownShape
200
- }, (isPageCountDropdownReversed ? pageCountArray.reverse() : pageCountArray).map((item, index) => activeDropdownItem === item ? /*#__PURE__*/React__default.default.createElement(DropdownItem.DropdownItem, {
200
+ }, pageCountDropdownArray.map((item, index) => activeDropdownItem === item ? /*#__PURE__*/React__default.default.createElement(DropdownItem.DropdownItem, {
201
201
  dividerDirection: pageCountDropdownItemDividerDirection,
202
202
  dividerFill: pageCountDropdownItemDividerFill,
203
203
  dividerSize: pageCountDropdownItemDividerSize,
@@ -214,7 +214,7 @@ function Pagination(props) {
214
214
  labelTextWrap: pageCountDropdownItemLabelWrap,
215
215
  set: pageCountDropdownItemSet,
216
216
  showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider,
217
- onClick: () => handleDropdownItemClick(item)
217
+ onClick: event => handleDropdownItemClick(event, item)
218
218
  }) : /*#__PURE__*/React__default.default.createElement(DropdownItem.DropdownItem, {
219
219
  dividerDirection: pageCountDropdownItemDividerDirection,
220
220
  dividerFill: pageCountDropdownItemDividerFill,
@@ -230,7 +230,7 @@ function Pagination(props) {
230
230
  labelTextWrap: pageCountDropdownItemLabelWrap,
231
231
  set: pageCountDropdownItemSet,
232
232
  showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider,
233
- onClick: () => handleDropdownItemClick(item)
233
+ onClick: event => handleDropdownItemClick(event, item)
234
234
  }))))));
235
235
  }
236
236
  Pagination.propTypes = {
@@ -0,0 +1,7 @@
1
+ import { IPanelConfig, IPanelProps } from './Panel.interface';
2
+ declare const panelConfig: IPanelConfig;
3
+ declare function Panel(props: IPanelProps): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace Panel {
5
+ var defaultProps: {};
6
+ }
7
+ export { Panel, panelConfig };
@@ -0,0 +1,56 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import { TypeStyleAttributes } from '../../hooks/styleAttributes.interface';
3
+ import { alignDirectionPropsType, borderColorPropsType, borderTypePropsType, borderWidthPropsType, elevationPropsType, fillHoverPropsType, fillPropsType, flexAlignPropsType, flexJustifyContentPropsType, flexWrapPropsType, heightPropsType, positionPropsType, shapePropsType, textColorPropsType, textSizePropsType, textWeightPropsType, widthPropsType } from '../../types';
4
+ import { appearanceKeysDefaultType } from '../../types/componentProps/appearanceKeys';
5
+ interface ThemeColor {
6
+ fill?: string;
7
+ fillHover?: string;
8
+ labelTextColor?: string;
9
+ border?: string;
10
+ borderColor?: string;
11
+ borderWidth?: string;
12
+ direction?: alignDirectionPropsType;
13
+ }
14
+ type appearanceKeysType = appearanceKeysDefaultType & {};
15
+ type appearanceType = {
16
+ [key in appearanceKeysType]: ThemeColor;
17
+ };
18
+ export interface IPanelConfig {
19
+ appearance: appearanceType | undefined;
20
+ setAppearance: (newComponent: appearanceType) => void;
21
+ }
22
+ export interface IPanelProps extends TypeStyleAttributes {
23
+ appearance?: appearanceKeysType;
24
+ children?: React.ReactNode;
25
+ className?: string;
26
+ horizontalScroll?: boolean;
27
+ verticalScroll?: boolean;
28
+ htmlFor?: string;
29
+ set?: string;
30
+ style?: CSSProperties;
31
+ dataTour?: string;
32
+ alignContent?: flexJustifyContentPropsType;
33
+ alignItems?: flexAlignPropsType;
34
+ justifyContent?: flexJustifyContentPropsType;
35
+ wrap?: flexWrapPropsType;
36
+ direction?: alignDirectionPropsType;
37
+ fill?: fillPropsType;
38
+ fillHover?: fillHoverPropsType;
39
+ shape?: shapePropsType;
40
+ width?: widthPropsType;
41
+ height?: heightPropsType;
42
+ borderColor?: borderColorPropsType;
43
+ borderWidth?: borderWidthPropsType;
44
+ borderType?: borderTypePropsType;
45
+ elevation?: elevationPropsType;
46
+ position?: positionPropsType;
47
+ title?: string;
48
+ titleTextSize?: textSizePropsType;
49
+ titleTextColor?: textColorPropsType;
50
+ titleTextWeight?: textWeightPropsType;
51
+ desc?: string;
52
+ descTextSize?: textSizePropsType;
53
+ descTextColor?: textColorPropsType;
54
+ descTextWeight?: textWeightPropsType;
55
+ }
56
+ export {};
@@ -0,0 +1 @@
1
+ export { Panel, panelConfig } from './Panel';
@@ -0,0 +1,112 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('../jsx-runtime-BCmQOGxJ.js');
4
+ var clsx = require('clsx');
5
+ var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
6
+ var useStyles = require('../hooks/useStyles.js');
7
+ var Group = require('../Group-4zWTDvKx.js');
8
+ var Text = require('../Text-D7Aq1i5R.js');
9
+ require('react');
10
+ require('lodash/castArray');
11
+ require('lodash/camelCase');
12
+ require('../context/UIContext.js');
13
+ require('prop-types');
14
+ require('../hooks/useMediaQueries.js');
15
+ require('react-responsive');
16
+ require('lodash/maxBy');
17
+ require('lodash/upperFirst');
18
+ require('../hooks/styleAttributes.js');
19
+
20
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
21
+
22
+ var clsx__default = /*#__PURE__*/_interopDefault(clsx);
23
+
24
+ var panelConfig = {
25
+ appearance: undefined,
26
+ setAppearance: function (newComponent) {
27
+ panelConfig.appearance = newComponent;
28
+ },
29
+ };
30
+ function Panel(props) {
31
+ var appearance = props.appearance, children = props.children, className = props.className, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, set = props.set, dataTour = props.dataTour, title = props.title, titleTextSize = props.titleTextSize, titleTextColor = props.titleTextColor, titleTextWeight = props.titleTextWeight, desc = props.desc, descTextSize = props.descTextSize, descTextColor = props.descTextColor, descTextWeight = props.descTextWeight, verticalScroll = props.verticalScroll;
32
+ var alignContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
33
+ prefix: 'panel_align-content_',
34
+ propsKey: 'alignContent',
35
+ });
36
+ var alignItemsClass = useDeviceTargetClass.useDeviceTargetClass(props, {
37
+ prefix: 'panel_align-items_',
38
+ propsKey: 'alignItems',
39
+ });
40
+ var justifyContentClass = useDeviceTargetClass.useDeviceTargetClass(props, {
41
+ prefix: 'panel_justify-content_',
42
+ propsKey: 'justifyContent',
43
+ });
44
+ var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
45
+ prefix: 'panel_direction_',
46
+ propsKey: 'direction',
47
+ });
48
+ var wrapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
49
+ prefix: 'flex_wrap_',
50
+ propsKey: 'wrap',
51
+ });
52
+ var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
53
+ prefix: 'fill_',
54
+ propsKey: 'fill',
55
+ });
56
+ var fillHoverClass = useDeviceTargetClass.useDeviceTargetClass(props, {
57
+ prefix: 'fill_hover_',
58
+ propsKey: 'fillHover',
59
+ });
60
+ var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
61
+ prefix: 'panel_shape_',
62
+ propsKey: 'shape',
63
+ });
64
+ var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
65
+ prefix: 'width_',
66
+ propsKey: 'width',
67
+ });
68
+ var heightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
69
+ prefix: 'height_',
70
+ propsKey: 'height',
71
+ });
72
+ var borderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
73
+ prefix: 'border-color_',
74
+ propsKey: 'borderColor',
75
+ });
76
+ var borderWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
77
+ prefix: 'border-width_',
78
+ propsKey: 'borderWidth',
79
+ });
80
+ var borderTypeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
81
+ prefix: 'border_type_',
82
+ propsKey: 'borderType',
83
+ });
84
+ var elevationClass = useDeviceTargetClass.useDeviceTargetClass(props, {
85
+ prefix: 'elevation_',
86
+ propsKey: 'elevation',
87
+ });
88
+ var positionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
89
+ prefix: 'position_',
90
+ propsKey: 'position',
91
+ });
92
+ // @ts-expect-error
93
+ var _a = useStyles.useStyles(props), panelStyles = _a.styles, panelWrapperStyles = _a.wrapper;
94
+ var appearanceConfig = appearance && panelConfig.appearance && panelConfig.appearance[appearance];
95
+ return (jsxRuntime.jsxRuntimeExports.jsxs(Group.Group, { className: clsx__default.default(className, 'panel', widthClass, heightClass, fillClass ||
96
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fill) &&
97
+ "fill_".concat(appearanceConfig.fill).replace(/([A-Z])/g, '-$1').toLowerCase()), fillHoverClass ||
98
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fillHover) &&
99
+ "fill_hover_".concat(appearanceConfig.fillHover).replace(/([A-Z])/g, '-$1').toLowerCase()), set && "panel_set_".concat(set), wrapClass, shapeClass, borderColorClass ||
100
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.borderColor) &&
101
+ "border-color_".concat(appearanceConfig.borderColor)
102
+ .replace(/([A-Z])/g, '-$1')
103
+ .toLowerCase()), borderWidthClass ||
104
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.borderWidth) &&
105
+ "border-width_".concat(appearanceConfig.borderWidth)
106
+ .replace(/([A-Z])/g, '-$1')
107
+ .toLowerCase()), borderTypeClass, alignContentClass, alignItemsClass, elevationClass, justifyContentClass, positionClass, horizontalScroll && 'panel_type_scroll_horizontal', verticalScroll && 'panel_type_scroll_vertical'), "data-tour": dataTour, htmlFor: htmlFor, style: panelStyles, children: [title && (jsxRuntime.jsxRuntimeExports.jsx("div", { className: "panel__header", children: jsxRuntime.jsxRuntimeExports.jsx(Text.Text, { className: "panel__title", size: titleTextSize, textColor: titleTextColor, textWeight: titleTextWeight, children: title }) })), jsxRuntime.jsxRuntimeExports.jsx("div", { className: clsx__default.default('panel__wrapper', directionClass), style: panelWrapperStyles, children: children }), desc && (jsxRuntime.jsxRuntimeExports.jsx("div", { className: "panel__footer", children: jsxRuntime.jsxRuntimeExports.jsx(Text.Text, { className: "panel__desc", size: descTextSize, textColor: descTextColor, textWeight: descTextWeight, children: desc }) }))] }));
108
+ }
109
+ Panel.defaultProps = {};
110
+
111
+ exports.Panel = Panel;
112
+ exports.panelConfig = panelConfig;
@@ -8,8 +8,8 @@ var clsx = require('clsx');
8
8
  var ReactDOM = require('react-dom');
9
9
  var floatingUi_dom = require('../floating-ui.dom-C34fOuI9.js');
10
10
  var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
11
- var index$1 = require('./Badge.js');
12
11
  var Text = require('../Text-D7Aq1i5R.js');
12
+ var index$1 = require('./Badge.js');
13
13
  var Group$2 = require('../Group-4zWTDvKx.js');
14
14
  var Divider = require('../Divider-CIYsHYud.js');
15
15
  require('../Link-BoShjCEw.js');
@@ -7452,45 +7452,29 @@ SelectControl.__docgenInfo = {
7452
7452
  }
7453
7453
  };
7454
7454
 
7455
- const SelectIndicatorsContainer = props => {
7456
- const {
7457
- badgeAppearance,
7458
- badgeSize,
7459
- badgeTextSize,
7460
- showBadge,
7461
- value
7462
- } = props.selectProps;
7463
- return /*#__PURE__*/React__namespace.default.createElement(Select$1.components.IndicatorsContainer, props, showBadge && value?.length > 0 ? /*#__PURE__*/React__namespace.default.createElement(index$1.Badge, {
7464
- appearance: badgeAppearance,
7465
- size: badgeSize,
7466
- textSize: badgeTextSize,
7467
- value: value.length
7468
- }) : null, props.children);
7469
- };
7470
- SelectIndicatorsContainer.propTypes = {};
7471
- SelectIndicatorsContainer.__docgenInfo = {
7472
- "description": "",
7473
- "methods": [],
7474
- "displayName": "SelectIndicatorsContainer"
7475
- };
7476
-
7477
7455
  const SelectDropdownIndicator = props => {
7478
7456
  const {
7457
+ dropdownFillHover,
7479
7458
  dropdownIcon,
7480
7459
  dropdownIconFill,
7460
+ dropdownIconShape,
7481
7461
  dropdownIconStroke
7482
7462
  } = props.selectProps;
7483
7463
  return /*#__PURE__*/React__namespace.default.createElement(Select$1.components.DropdownIndicator, props, dropdownIcon ? /*#__PURE__*/React__namespace.default.createElement(Icon.Icon, {
7484
7464
  SvgImage: dropdownIcon,
7485
7465
  iconFill: dropdownIconFill,
7486
- iconStroke: dropdownIconStroke
7466
+ fillHover: dropdownFillHover,
7467
+ iconStroke: dropdownIconStroke,
7468
+ shape: dropdownIconShape
7487
7469
  }) : props.children);
7488
7470
  };
7489
7471
  SelectDropdownIndicator.propTypes = {
7490
7472
  selectProps: PropTypes__default.default.shape({
7491
7473
  // "dropdownIcon" is SvgImage(file.svg)
7474
+ dropdownFillHover: PropTypes__default.default.string,
7492
7475
  dropdownIcon: PropTypes__default.default.oneOfType([PropTypes__default.default.func, PropTypes__default.default.element]),
7493
7476
  dropdownIconFill: PropTypes__default.default.string,
7477
+ dropdownIconShape: PropTypes__default.default.string,
7494
7478
  dropdownIconStroke: PropTypes__default.default.string
7495
7479
  })
7496
7480
  };
@@ -7504,6 +7488,10 @@ SelectDropdownIndicator.__docgenInfo = {
7504
7488
  "type": {
7505
7489
  "name": "shape",
7506
7490
  "value": {
7491
+ "dropdownFillHover": {
7492
+ "name": "string",
7493
+ "required": false
7494
+ },
7507
7495
  "dropdownIcon": {
7508
7496
  "name": "union",
7509
7497
  "value": [{
@@ -7517,6 +7505,10 @@ SelectDropdownIndicator.__docgenInfo = {
7517
7505
  "name": "string",
7518
7506
  "required": false
7519
7507
  },
7508
+ "dropdownIconShape": {
7509
+ "name": "string",
7510
+ "required": false
7511
+ },
7520
7512
  "dropdownIconStroke": {
7521
7513
  "name": "string",
7522
7514
  "required": false
@@ -7563,6 +7555,28 @@ SelectGroupHeading.__docgenInfo = {
7563
7555
  }
7564
7556
  };
7565
7557
 
7558
+ const SelectIndicatorsContainer = props => {
7559
+ const {
7560
+ badgeAppearance,
7561
+ badgeSize,
7562
+ badgeTextSize,
7563
+ showBadge,
7564
+ value
7565
+ } = props.selectProps;
7566
+ return /*#__PURE__*/React__namespace.default.createElement(Select$1.components.IndicatorsContainer, props, showBadge && value?.length > 0 ? /*#__PURE__*/React__namespace.default.createElement(index$1.Badge, {
7567
+ appearance: badgeAppearance,
7568
+ size: badgeSize,
7569
+ textSize: badgeTextSize,
7570
+ value: value.length
7571
+ }) : null, props.children);
7572
+ };
7573
+ SelectIndicatorsContainer.propTypes = {};
7574
+ SelectIndicatorsContainer.__docgenInfo = {
7575
+ "description": "",
7576
+ "methods": [],
7577
+ "displayName": "SelectIndicatorsContainer"
7578
+ };
7579
+
7566
7580
  const SelectInput = props => {
7567
7581
  const {
7568
7582
  inputTextSize,
@@ -8065,8 +8079,10 @@ const SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(functio
8065
8079
  dividerDirection,
8066
8080
  dividerFill,
8067
8081
  dividerSize,
8082
+ dropdownFillHover,
8068
8083
  dropdownIcon,
8069
8084
  dropdownIconFill,
8085
+ dropdownIconShape,
8070
8086
  dropdownIconStroke,
8071
8087
  multipleItemIcon,
8072
8088
  multipleItemIconFill,
@@ -8249,8 +8265,10 @@ const SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(functio
8249
8265
  dividerDirection: dividerDirection,
8250
8266
  dividerFill: dividerFill,
8251
8267
  dividerSize: dividerSize,
8268
+ dropdownFillHover: dropdownFillHover,
8252
8269
  dropdownIcon: dropdownIcon,
8253
8270
  dropdownIconFill: dropdownIconFill,
8271
+ dropdownIconShape: dropdownIconShape,
8254
8272
  dropdownIconStroke: dropdownIconStroke,
8255
8273
  elevation: elevation || selectAppearanceItem.elevation,
8256
8274
  filterOption: filterOption,
@@ -8319,8 +8337,10 @@ SelectContainer.propTypes = {
8319
8337
  clearIconStroke: PropTypes__default.default.string,
8320
8338
  closeMenuOnSelect: PropTypes__default.default.bool,
8321
8339
  // "dropdownIcon" is SvgImage(file.svg)
8340
+ dropdownFillHover: PropTypes__default.default.string,
8322
8341
  dropdownIcon: PropTypes__default.default.oneOfType([PropTypes__default.default.func, PropTypes__default.default.element]),
8323
8342
  dropdownIconFill: PropTypes__default.default.string,
8343
+ dropdownIconShape: PropTypes__default.default.string,
8324
8344
  dropdownIconStroke: PropTypes__default.default.string,
8325
8345
  filterOption: PropTypes__default.default.func,
8326
8346
  initialValue: PropTypes__default.default.any,
@@ -8397,6 +8417,13 @@ SelectContainer.__docgenInfo = {
8397
8417
  },
8398
8418
  "required": false
8399
8419
  },
8420
+ "dropdownFillHover": {
8421
+ "description": "",
8422
+ "type": {
8423
+ "name": "string"
8424
+ },
8425
+ "required": false
8426
+ },
8400
8427
  "dropdownIcon": {
8401
8428
  "description": "",
8402
8429
  "type": {
@@ -8416,6 +8443,13 @@ SelectContainer.__docgenInfo = {
8416
8443
  },
8417
8444
  "required": false
8418
8445
  },
8446
+ "dropdownIconShape": {
8447
+ "description": "",
8448
+ "type": {
8449
+ "name": "string"
8450
+ },
8451
+ "required": false
8452
+ },
8419
8453
  "dropdownIconStroke": {
8420
8454
  "description": "",
8421
8455
  "type": {
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var Accordion = require('./Accordion-DcZ9P5kP.js');
4
- var Avatar = require('./Avatar-DQ5fNpnO.js');
4
+ var Avatar = require('./Avatar-C8tufLEH.js');
5
5
  var index = require('./components/Badge.js');
6
6
  var Breadcrumbs = require('./Breadcrumbs-HubY1qZQ.js');
7
7
  var Button = require('./Button-3GkRq8Pv.js');
@@ -1,3 +1,4 @@
1
+ import { overflowPropsType } from '../types';
1
2
  export interface TypeStyleAttributes {
2
3
  /**
3
4
  * Layout
@@ -40,7 +41,7 @@ export interface TypeStyleAttributes {
40
41
  minHeight?: string;
41
42
  minWidth?: string;
42
43
  order?: string;
43
- overflow?: string;
44
+ overflow?: overflowPropsType;
44
45
  padding?: string;
45
46
  paddingBottom?: string;
46
47
  paddingEnd?: string;
@@ -0,0 +1 @@
1
+ export type overflowPropsType = null | 'visible' | 'hidden' | 'scroll';
@@ -28,6 +28,7 @@ export type { iconFillSizePropsType } from './componentProps/iconFillSize';
28
28
  export type { iconSizePropsType } from './componentProps/iconSize';
29
29
  export type { itemColorPropsType } from './componentProps/itemColor';
30
30
  export type { justifyContentPropsType } from './componentProps/justifyContent';
31
+ export type { overflowPropsType } from './componentProps/overflow.ts';
31
32
  export type { positionPropsType } from './componentProps/position';
32
33
  export type { resizeModePropsType } from './componentProps/resizeMode';
33
34
  export type { shapePropsType } from './componentProps/shape';
@@ -1,13 +1,3 @@
1
1
  import { IAvatarProps } from './Avatar.interface';
2
2
  declare function Avatar(props: IAvatarProps): import("react/jsx-runtime").JSX.Element;
3
- declare namespace Avatar {
4
- var defaultProps: {
5
- size: string;
6
- textSize: string;
7
- textColor: string;
8
- textWeight: number;
9
- firstName: string;
10
- secondName: string;
11
- };
12
- }
13
3
  export { Avatar };
@@ -1,4 +1,4 @@
1
- export { A as Avatar } from '../Avatar-diLCwtnd.js';
1
+ export { A as Avatar } from '../Avatar-DB6Si0s1.js';
2
2
  import '../jsx-runtime-ClDdVO4Q.js';
3
3
  import 'react';
4
4
  import 'clsx';
@@ -42,8 +42,6 @@ function Pagination(props) {
42
42
  perPageCount,
43
43
  allItemsCount,
44
44
  className,
45
- forcePage,
46
- pageCount,
47
45
  marginPagesDisplayed,
48
46
  pageRangeDisplayed,
49
47
  previousLabel,
@@ -53,11 +51,9 @@ function Pagination(props) {
53
51
  pageCountDesc,
54
52
  pageCountDescTextColor,
55
53
  pageCountDescTextSize,
56
- pageCountInput,
57
54
  pageCountInputTextColor,
58
55
  pageCountInputTextSize,
59
56
  pageCountInputIcon,
60
- pageCountInputIconFill,
61
57
  pageCountInputIconFillSize,
62
58
  pageCountInputIconColor,
63
59
  pageCountDropdownAlignment,
@@ -74,7 +70,6 @@ function Pagination(props) {
74
70
  pageCountDropdownItemFillActive,
75
71
  pageCountDropdownItemFillActiveHover,
76
72
  pageCountDropdownItemFillHover,
77
- pageCountDropdownItemLabel,
78
73
  pageCountDropdownItemLabelColor,
79
74
  pageCountDropdownItemLabelColorActive,
80
75
  pageCountDropdownItemLabelSize,
@@ -85,12 +80,14 @@ function Pagination(props) {
85
80
  } = props;
86
81
  const [isOpenDropdown, setIsOpenDropdown] = useState(false);
87
82
  const [showPagination, setShowPagination] = useState(true);
83
+ const [pageCountDropdownArray, setPageCountDropdownArray] = useState([]);
88
84
  const [activeDropdownItem, setActiveDropdownItem] = useState(10);
89
85
  // Toggle command menu
90
86
  const onClickCommandMenuButton = useCallback(event => {
91
87
  setIsOpenDropdown(state => !state);
92
88
  }, []);
93
- const handleDropdownItemClick = useCallback(item => {
89
+ const handleDropdownItemClick = useCallback((event, item) => {
90
+ event.stopPropagation();
94
91
  onPerPageCountChange(item);
95
92
  setActiveDropdownItem(item);
96
93
  setIsOpenDropdown(false);
@@ -103,6 +100,14 @@ function Pagination(props) {
103
100
  prefix: 'gap_',
104
101
  propsKey: 'gap'
105
102
  });
103
+ const fillClass = useDeviceTargetClass(props, {
104
+ prefix: 'fill_',
105
+ propsKey: 'fill'
106
+ });
107
+ const fillHoverClass = useDeviceTargetClass(props, {
108
+ prefix: 'fill_hover_',
109
+ propsKey: 'fillHover'
110
+ });
106
111
 
107
112
  // Calculate count of pages for all items
108
113
  const paginationPagesCount = useMemo(() => {
@@ -123,12 +128,8 @@ function Pagination(props) {
123
128
  return 0;
124
129
  }, [pageNumber]);
125
130
  useEffect(() => {
126
- if (paginationPagesCount <= 1) {
127
- setShowPagination(false);
128
- return;
129
- }
130
- setShowPagination(true);
131
- }, [paginationPagesCount]);
131
+ setPageCountDropdownArray(isPageCountDropdownReversed ? pageCountArray.reverse() : pageCountArray);
132
+ }, [pageCountArray, isPageCountDropdownReversed]);
132
133
  return /*#__PURE__*/React__default.createElement("div", {
133
134
  className: "pagination"
134
135
  }, showPagination && /*#__PURE__*/React__default.createElement(ReactPaginate, {
@@ -169,13 +170,12 @@ function Pagination(props) {
169
170
  size: pageCountDescTextSize,
170
171
  textColor: pageCountDescTextColor
171
172
  }, pageCountDesc), /*#__PURE__*/React__default.createElement("div", {
172
- className: "pagination__input",
173
+ className: clsx('pagination__input', 'cursor_type_pointer', fillClass, fillHoverClass),
173
174
  onClick: onClickCommandMenuButton
174
175
  }, /*#__PURE__*/React__default.createElement(Text, {
175
176
  size: pageCountInputTextSize,
176
177
  textColor: pageCountInputTextColor
177
178
  }, activeDropdownItem), /*#__PURE__*/React__default.createElement(Icon, {
178
- fill: pageCountInputIconFill,
179
179
  fillSize: pageCountInputIconFillSize,
180
180
  iconFill: pageCountInputIconColor,
181
181
  SvgImage: pageCountInputIcon
@@ -187,7 +187,7 @@ function Pagination(props) {
187
187
  set: pageCountDropdownSet,
188
188
  setIsOpen: setIsOpenDropdown,
189
189
  shape: pageCountDropdownShape
190
- }, (isPageCountDropdownReversed ? pageCountArray.reverse() : pageCountArray).map((item, index) => activeDropdownItem === item ? /*#__PURE__*/React__default.createElement(DropdownItem, {
190
+ }, pageCountDropdownArray.map((item, index) => activeDropdownItem === item ? /*#__PURE__*/React__default.createElement(DropdownItem, {
191
191
  dividerDirection: pageCountDropdownItemDividerDirection,
192
192
  dividerFill: pageCountDropdownItemDividerFill,
193
193
  dividerSize: pageCountDropdownItemDividerSize,
@@ -204,7 +204,7 @@ function Pagination(props) {
204
204
  labelTextWrap: pageCountDropdownItemLabelWrap,
205
205
  set: pageCountDropdownItemSet,
206
206
  showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider,
207
- onClick: () => handleDropdownItemClick(item)
207
+ onClick: event => handleDropdownItemClick(event, item)
208
208
  }) : /*#__PURE__*/React__default.createElement(DropdownItem, {
209
209
  dividerDirection: pageCountDropdownItemDividerDirection,
210
210
  dividerFill: pageCountDropdownItemDividerFill,
@@ -220,7 +220,7 @@ function Pagination(props) {
220
220
  labelTextWrap: pageCountDropdownItemLabelWrap,
221
221
  set: pageCountDropdownItemSet,
222
222
  showDivider: index < pageCountArray.length - 1 && pageCountDropdownItemShowDivider,
223
- onClick: () => handleDropdownItemClick(item)
223
+ onClick: event => handleDropdownItemClick(event, item)
224
224
  }))))));
225
225
  }
226
226
  Pagination.propTypes = {
@@ -0,0 +1,7 @@
1
+ import { IPanelConfig, IPanelProps } from './Panel.interface';
2
+ declare const panelConfig: IPanelConfig;
3
+ declare function Panel(props: IPanelProps): import("react/jsx-runtime").JSX.Element;
4
+ declare namespace Panel {
5
+ var defaultProps: {};
6
+ }
7
+ export { Panel, panelConfig };
@@ -0,0 +1,56 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import { TypeStyleAttributes } from '../../hooks/styleAttributes.interface';
3
+ import { alignDirectionPropsType, borderColorPropsType, borderTypePropsType, borderWidthPropsType, elevationPropsType, fillHoverPropsType, fillPropsType, flexAlignPropsType, flexJustifyContentPropsType, flexWrapPropsType, heightPropsType, positionPropsType, shapePropsType, textColorPropsType, textSizePropsType, textWeightPropsType, widthPropsType } from '../../types';
4
+ import { appearanceKeysDefaultType } from '../../types/componentProps/appearanceKeys';
5
+ interface ThemeColor {
6
+ fill?: string;
7
+ fillHover?: string;
8
+ labelTextColor?: string;
9
+ border?: string;
10
+ borderColor?: string;
11
+ borderWidth?: string;
12
+ direction?: alignDirectionPropsType;
13
+ }
14
+ type appearanceKeysType = appearanceKeysDefaultType & {};
15
+ type appearanceType = {
16
+ [key in appearanceKeysType]: ThemeColor;
17
+ };
18
+ export interface IPanelConfig {
19
+ appearance: appearanceType | undefined;
20
+ setAppearance: (newComponent: appearanceType) => void;
21
+ }
22
+ export interface IPanelProps extends TypeStyleAttributes {
23
+ appearance?: appearanceKeysType;
24
+ children?: React.ReactNode;
25
+ className?: string;
26
+ horizontalScroll?: boolean;
27
+ verticalScroll?: boolean;
28
+ htmlFor?: string;
29
+ set?: string;
30
+ style?: CSSProperties;
31
+ dataTour?: string;
32
+ alignContent?: flexJustifyContentPropsType;
33
+ alignItems?: flexAlignPropsType;
34
+ justifyContent?: flexJustifyContentPropsType;
35
+ wrap?: flexWrapPropsType;
36
+ direction?: alignDirectionPropsType;
37
+ fill?: fillPropsType;
38
+ fillHover?: fillHoverPropsType;
39
+ shape?: shapePropsType;
40
+ width?: widthPropsType;
41
+ height?: heightPropsType;
42
+ borderColor?: borderColorPropsType;
43
+ borderWidth?: borderWidthPropsType;
44
+ borderType?: borderTypePropsType;
45
+ elevation?: elevationPropsType;
46
+ position?: positionPropsType;
47
+ title?: string;
48
+ titleTextSize?: textSizePropsType;
49
+ titleTextColor?: textColorPropsType;
50
+ titleTextWeight?: textWeightPropsType;
51
+ desc?: string;
52
+ descTextSize?: textSizePropsType;
53
+ descTextColor?: textColorPropsType;
54
+ descTextWeight?: textWeightPropsType;
55
+ }
56
+ export {};
@@ -0,0 +1 @@
1
+ export { Panel, panelConfig } from './Panel';
@@ -0,0 +1,105 @@
1
+ import { j as jsxRuntimeExports } from '../jsx-runtime-ClDdVO4Q.js';
2
+ import clsx from 'clsx';
3
+ import { useDeviceTargetClass } from '../hooks/useDeviceTargetClass.js';
4
+ import { useStyles } from '../hooks/useStyles.js';
5
+ import { G as Group } from '../Group-fbVPmr8W.js';
6
+ import { T as Text } from '../Text-BcGbRc14.js';
7
+ import 'react';
8
+ import 'lodash/castArray';
9
+ import 'lodash/camelCase';
10
+ import '../context/UIContext.js';
11
+ import 'prop-types';
12
+ import '../hooks/useMediaQueries.js';
13
+ import 'react-responsive';
14
+ import 'lodash/maxBy';
15
+ import 'lodash/upperFirst';
16
+ import '../hooks/styleAttributes.js';
17
+
18
+ var panelConfig = {
19
+ appearance: undefined,
20
+ setAppearance: function (newComponent) {
21
+ panelConfig.appearance = newComponent;
22
+ },
23
+ };
24
+ function Panel(props) {
25
+ var appearance = props.appearance, children = props.children, className = props.className, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, set = props.set, dataTour = props.dataTour, title = props.title, titleTextSize = props.titleTextSize, titleTextColor = props.titleTextColor, titleTextWeight = props.titleTextWeight, desc = props.desc, descTextSize = props.descTextSize, descTextColor = props.descTextColor, descTextWeight = props.descTextWeight, verticalScroll = props.verticalScroll;
26
+ var alignContentClass = useDeviceTargetClass(props, {
27
+ prefix: 'panel_align-content_',
28
+ propsKey: 'alignContent',
29
+ });
30
+ var alignItemsClass = useDeviceTargetClass(props, {
31
+ prefix: 'panel_align-items_',
32
+ propsKey: 'alignItems',
33
+ });
34
+ var justifyContentClass = useDeviceTargetClass(props, {
35
+ prefix: 'panel_justify-content_',
36
+ propsKey: 'justifyContent',
37
+ });
38
+ var directionClass = useDeviceTargetClass(props, {
39
+ prefix: 'panel_direction_',
40
+ propsKey: 'direction',
41
+ });
42
+ var wrapClass = useDeviceTargetClass(props, {
43
+ prefix: 'flex_wrap_',
44
+ propsKey: 'wrap',
45
+ });
46
+ var fillClass = useDeviceTargetClass(props, {
47
+ prefix: 'fill_',
48
+ propsKey: 'fill',
49
+ });
50
+ var fillHoverClass = useDeviceTargetClass(props, {
51
+ prefix: 'fill_hover_',
52
+ propsKey: 'fillHover',
53
+ });
54
+ var shapeClass = useDeviceTargetClass(props, {
55
+ prefix: 'panel_shape_',
56
+ propsKey: 'shape',
57
+ });
58
+ var widthClass = useDeviceTargetClass(props, {
59
+ prefix: 'width_',
60
+ propsKey: 'width',
61
+ });
62
+ var heightClass = useDeviceTargetClass(props, {
63
+ prefix: 'height_',
64
+ propsKey: 'height',
65
+ });
66
+ var borderColorClass = useDeviceTargetClass(props, {
67
+ prefix: 'border-color_',
68
+ propsKey: 'borderColor',
69
+ });
70
+ var borderWidthClass = useDeviceTargetClass(props, {
71
+ prefix: 'border-width_',
72
+ propsKey: 'borderWidth',
73
+ });
74
+ var borderTypeClass = useDeviceTargetClass(props, {
75
+ prefix: 'border_type_',
76
+ propsKey: 'borderType',
77
+ });
78
+ var elevationClass = useDeviceTargetClass(props, {
79
+ prefix: 'elevation_',
80
+ propsKey: 'elevation',
81
+ });
82
+ var positionClass = useDeviceTargetClass(props, {
83
+ prefix: 'position_',
84
+ propsKey: 'position',
85
+ });
86
+ // @ts-expect-error
87
+ var _a = useStyles(props), panelStyles = _a.styles, panelWrapperStyles = _a.wrapper;
88
+ var appearanceConfig = appearance && panelConfig.appearance && panelConfig.appearance[appearance];
89
+ return (jsxRuntimeExports.jsxs(Group, { className: clsx(className, 'panel', widthClass, heightClass, fillClass ||
90
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fill) &&
91
+ "fill_".concat(appearanceConfig.fill).replace(/([A-Z])/g, '-$1').toLowerCase()), fillHoverClass ||
92
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.fillHover) &&
93
+ "fill_hover_".concat(appearanceConfig.fillHover).replace(/([A-Z])/g, '-$1').toLowerCase()), set && "panel_set_".concat(set), wrapClass, shapeClass, borderColorClass ||
94
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.borderColor) &&
95
+ "border-color_".concat(appearanceConfig.borderColor)
96
+ .replace(/([A-Z])/g, '-$1')
97
+ .toLowerCase()), borderWidthClass ||
98
+ ((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.borderWidth) &&
99
+ "border-width_".concat(appearanceConfig.borderWidth)
100
+ .replace(/([A-Z])/g, '-$1')
101
+ .toLowerCase()), borderTypeClass, alignContentClass, alignItemsClass, elevationClass, justifyContentClass, positionClass, horizontalScroll && 'panel_type_scroll_horizontal', verticalScroll && 'panel_type_scroll_vertical'), "data-tour": dataTour, htmlFor: htmlFor, style: panelStyles, children: [title && (jsxRuntimeExports.jsx("div", { className: "panel__header", children: jsxRuntimeExports.jsx(Text, { className: "panel__title", size: titleTextSize, textColor: titleTextColor, textWeight: titleTextWeight, children: title }) })), jsxRuntimeExports.jsx("div", { className: clsx('panel__wrapper', directionClass), style: panelWrapperStyles, children: children }), desc && (jsxRuntimeExports.jsx("div", { className: "panel__footer", children: jsxRuntimeExports.jsx(Text, { className: "panel__desc", size: descTextSize, textColor: descTextColor, textWeight: descTextWeight, children: desc }) }))] }));
102
+ }
103
+ Panel.defaultProps = {};
104
+
105
+ export { Panel, panelConfig };
@@ -7,8 +7,8 @@ import clsx from 'clsx';
7
7
  import { createPortal } from 'react-dom';
8
8
  import { a as autoUpdate } from '../floating-ui.dom-BQ7wiYTi.js';
9
9
  import { useDeviceTargetClass } from '../hooks/useDeviceTargetClass.js';
10
- import { Badge } from './Badge.js';
11
10
  import { T as Text } from '../Text-BcGbRc14.js';
11
+ import { Badge } from './Badge.js';
12
12
  import { G as Group$2 } from '../Group-fbVPmr8W.js';
13
13
  import { D as Divider } from '../Divider-BlBwMHgl.js';
14
14
  import '../Link-ByBzBRDH.js';
@@ -7426,45 +7426,29 @@ SelectControl.__docgenInfo = {
7426
7426
  }
7427
7427
  };
7428
7428
 
7429
- const SelectIndicatorsContainer = props => {
7430
- const {
7431
- badgeAppearance,
7432
- badgeSize,
7433
- badgeTextSize,
7434
- showBadge,
7435
- value
7436
- } = props.selectProps;
7437
- return /*#__PURE__*/React__default.createElement(components$1.IndicatorsContainer, props, showBadge && value?.length > 0 ? /*#__PURE__*/React__default.createElement(Badge, {
7438
- appearance: badgeAppearance,
7439
- size: badgeSize,
7440
- textSize: badgeTextSize,
7441
- value: value.length
7442
- }) : null, props.children);
7443
- };
7444
- SelectIndicatorsContainer.propTypes = {};
7445
- SelectIndicatorsContainer.__docgenInfo = {
7446
- "description": "",
7447
- "methods": [],
7448
- "displayName": "SelectIndicatorsContainer"
7449
- };
7450
-
7451
7429
  const SelectDropdownIndicator = props => {
7452
7430
  const {
7431
+ dropdownFillHover,
7453
7432
  dropdownIcon,
7454
7433
  dropdownIconFill,
7434
+ dropdownIconShape,
7455
7435
  dropdownIconStroke
7456
7436
  } = props.selectProps;
7457
7437
  return /*#__PURE__*/React__default.createElement(components$1.DropdownIndicator, props, dropdownIcon ? /*#__PURE__*/React__default.createElement(Icon, {
7458
7438
  SvgImage: dropdownIcon,
7459
7439
  iconFill: dropdownIconFill,
7460
- iconStroke: dropdownIconStroke
7440
+ fillHover: dropdownFillHover,
7441
+ iconStroke: dropdownIconStroke,
7442
+ shape: dropdownIconShape
7461
7443
  }) : props.children);
7462
7444
  };
7463
7445
  SelectDropdownIndicator.propTypes = {
7464
7446
  selectProps: PropTypes.shape({
7465
7447
  // "dropdownIcon" is SvgImage(file.svg)
7448
+ dropdownFillHover: PropTypes.string,
7466
7449
  dropdownIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
7467
7450
  dropdownIconFill: PropTypes.string,
7451
+ dropdownIconShape: PropTypes.string,
7468
7452
  dropdownIconStroke: PropTypes.string
7469
7453
  })
7470
7454
  };
@@ -7478,6 +7462,10 @@ SelectDropdownIndicator.__docgenInfo = {
7478
7462
  "type": {
7479
7463
  "name": "shape",
7480
7464
  "value": {
7465
+ "dropdownFillHover": {
7466
+ "name": "string",
7467
+ "required": false
7468
+ },
7481
7469
  "dropdownIcon": {
7482
7470
  "name": "union",
7483
7471
  "value": [{
@@ -7491,6 +7479,10 @@ SelectDropdownIndicator.__docgenInfo = {
7491
7479
  "name": "string",
7492
7480
  "required": false
7493
7481
  },
7482
+ "dropdownIconShape": {
7483
+ "name": "string",
7484
+ "required": false
7485
+ },
7494
7486
  "dropdownIconStroke": {
7495
7487
  "name": "string",
7496
7488
  "required": false
@@ -7537,6 +7529,28 @@ SelectGroupHeading.__docgenInfo = {
7537
7529
  }
7538
7530
  };
7539
7531
 
7532
+ const SelectIndicatorsContainer = props => {
7533
+ const {
7534
+ badgeAppearance,
7535
+ badgeSize,
7536
+ badgeTextSize,
7537
+ showBadge,
7538
+ value
7539
+ } = props.selectProps;
7540
+ return /*#__PURE__*/React__default.createElement(components$1.IndicatorsContainer, props, showBadge && value?.length > 0 ? /*#__PURE__*/React__default.createElement(Badge, {
7541
+ appearance: badgeAppearance,
7542
+ size: badgeSize,
7543
+ textSize: badgeTextSize,
7544
+ value: value.length
7545
+ }) : null, props.children);
7546
+ };
7547
+ SelectIndicatorsContainer.propTypes = {};
7548
+ SelectIndicatorsContainer.__docgenInfo = {
7549
+ "description": "",
7550
+ "methods": [],
7551
+ "displayName": "SelectIndicatorsContainer"
7552
+ };
7553
+
7540
7554
  const SelectInput = props => {
7541
7555
  const {
7542
7556
  inputTextSize,
@@ -8039,8 +8053,10 @@ const SelectContainer = /*#__PURE__*/React__default.forwardRef(function SelectCo
8039
8053
  dividerDirection,
8040
8054
  dividerFill,
8041
8055
  dividerSize,
8056
+ dropdownFillHover,
8042
8057
  dropdownIcon,
8043
8058
  dropdownIconFill,
8059
+ dropdownIconShape,
8044
8060
  dropdownIconStroke,
8045
8061
  multipleItemIcon,
8046
8062
  multipleItemIconFill,
@@ -8223,8 +8239,10 @@ const SelectContainer = /*#__PURE__*/React__default.forwardRef(function SelectCo
8223
8239
  dividerDirection: dividerDirection,
8224
8240
  dividerFill: dividerFill,
8225
8241
  dividerSize: dividerSize,
8242
+ dropdownFillHover: dropdownFillHover,
8226
8243
  dropdownIcon: dropdownIcon,
8227
8244
  dropdownIconFill: dropdownIconFill,
8245
+ dropdownIconShape: dropdownIconShape,
8228
8246
  dropdownIconStroke: dropdownIconStroke,
8229
8247
  elevation: elevation || selectAppearanceItem.elevation,
8230
8248
  filterOption: filterOption,
@@ -8293,8 +8311,10 @@ SelectContainer.propTypes = {
8293
8311
  clearIconStroke: PropTypes.string,
8294
8312
  closeMenuOnSelect: PropTypes.bool,
8295
8313
  // "dropdownIcon" is SvgImage(file.svg)
8314
+ dropdownFillHover: PropTypes.string,
8296
8315
  dropdownIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.element]),
8297
8316
  dropdownIconFill: PropTypes.string,
8317
+ dropdownIconShape: PropTypes.string,
8298
8318
  dropdownIconStroke: PropTypes.string,
8299
8319
  filterOption: PropTypes.func,
8300
8320
  initialValue: PropTypes.any,
@@ -8371,6 +8391,13 @@ SelectContainer.__docgenInfo = {
8371
8391
  },
8372
8392
  "required": false
8373
8393
  },
8394
+ "dropdownFillHover": {
8395
+ "description": "",
8396
+ "type": {
8397
+ "name": "string"
8398
+ },
8399
+ "required": false
8400
+ },
8374
8401
  "dropdownIcon": {
8375
8402
  "description": "",
8376
8403
  "type": {
@@ -8390,6 +8417,13 @@ SelectContainer.__docgenInfo = {
8390
8417
  },
8391
8418
  "required": false
8392
8419
  },
8420
+ "dropdownIconShape": {
8421
+ "description": "",
8422
+ "type": {
8423
+ "name": "string"
8424
+ },
8425
+ "required": false
8426
+ },
8393
8427
  "dropdownIconStroke": {
8394
8428
  "description": "",
8395
8429
  "type": {
@@ -1,5 +1,5 @@
1
1
  export { A as Accordion, a as AccordionItem } from './Accordion-CqPVnTKh.js';
2
- export { A as Avatar } from './Avatar-diLCwtnd.js';
2
+ export { A as Avatar } from './Avatar-DB6Si0s1.js';
3
3
  export { Badge, badgeConfig } from './components/Badge.js';
4
4
  export { B as Breadcrumbs, a as BreadcrumbsItem } from './Breadcrumbs-B79kOtMG.js';
5
5
  export { B as Button, b as buttonConfig } from './Button-B7vbiqrJ.js';
@@ -1,5 +1,9 @@
1
1
  .link {
2
2
  color: inherit;
3
+ display: flex;
4
+ justify-content: center;
5
+ align-items: center;
6
+ gap: 8px;
3
7
  }
4
8
  .link {
5
9
  &_underline {
@@ -21,6 +21,8 @@
21
21
  border-radius: 8px;
22
22
  position: relative;
23
23
  display: flex;
24
+ justify-content: center;
25
+ align-items: center;
24
26
  gap: 4px;
25
27
  }
26
28
  }
@@ -0,0 +1,107 @@
1
+ .panel {
2
+ display: flex;
3
+ flex-direction: column;
4
+ &__wrapper {
5
+ align-items: stretch;
6
+ }
7
+ }
8
+ .panel {
9
+ &_direction {
10
+ &_horizontal {
11
+ display: flex;
12
+ flex-direction: row;
13
+ }
14
+ &_vertical {
15
+ display: flex;
16
+ flex-direction: column;
17
+ }
18
+ &_horizontal-reverse {
19
+ display: flex;
20
+ flex-direction: row-reverse;
21
+ }
22
+ &_vertical-reverse {
23
+ display: flex;
24
+ flex-direction: column-reverse;
25
+ }
26
+ @each $val in row, row-reverse, column, column-reverse {
27
+ &_$(val) {
28
+ display: flex;
29
+ flex-direction: $(val);
30
+ }
31
+ }
32
+ }
33
+ }
34
+ .panel {
35
+ @each $val in flex-start, flex-end, center, space-between, space-around, stretch {
36
+ &_align-content_$(val) {
37
+ align-content: $(val);
38
+ }
39
+ }
40
+ }
41
+ .panel {
42
+ @each $val in stretch, flex-start, flex-end, center, baseline, auto {
43
+ &_align-self_$(val) {
44
+ align-self: $(val);
45
+ }
46
+ &_align-items_$(val) {
47
+ align-items: $(val);
48
+ }
49
+ }
50
+ }
51
+ .panel {
52
+ @each $val in flex-start, flex-end, center, space-between, space-around, space-evenly, flexStart,
53
+ flexEnd, center, spaceBetween, spaceAround, spaceEvenly {
54
+ &_justify-content_$(val) {
55
+ justify-content: $(val);
56
+ }
57
+ }
58
+ }
59
+ .panel {
60
+ &_shape {
61
+ &_rounded {
62
+ border-radius: var(--panel-shape-rounded, 12px);
63
+ }
64
+ &_circular {
65
+ border-radius: 50%;
66
+ }
67
+ }
68
+ }
69
+ .panel {
70
+ &_wrap {
71
+ &_wrap {
72
+ flex-wrap: wrap;
73
+ }
74
+ &_nowrap {
75
+ flex-wrap: nowrap;
76
+ }
77
+ &_wrap-reverse {
78
+ flex-wrap: wrap-reverse;
79
+ }
80
+ }
81
+ }
82
+ .panel {
83
+ &_type {
84
+ &_scroll {
85
+ &_vertical {
86
+ /* ^^^&& {
87
+ max-height: 80%;
88
+ } */
89
+ ^^^&__wrapper {
90
+ max-height: 100%;
91
+ overflow: auto;
92
+ scrollbar-width: thin;
93
+ }
94
+ }
95
+ &_horizontal {
96
+ /* ^^^&& {
97
+ max-width: 80%;
98
+ } */
99
+ ^^^&__wrapper {
100
+ max-width: 100%;
101
+ overflow: auto;
102
+ scrollbar-width: thin;
103
+ }
104
+ }
105
+ }
106
+ }
107
+ }
@@ -1,3 +1,4 @@
1
+ import { overflowPropsType } from '../types';
1
2
  export interface TypeStyleAttributes {
2
3
  /**
3
4
  * Layout
@@ -40,7 +41,7 @@ export interface TypeStyleAttributes {
40
41
  minHeight?: string;
41
42
  minWidth?: string;
42
43
  order?: string;
43
- overflow?: string;
44
+ overflow?: overflowPropsType;
44
45
  padding?: string;
45
46
  paddingBottom?: string;
46
47
  paddingEnd?: string;
@@ -0,0 +1 @@
1
+ export type overflowPropsType = null | 'visible' | 'hidden' | 'scroll';
@@ -28,6 +28,7 @@ export type { iconFillSizePropsType } from './componentProps/iconFillSize';
28
28
  export type { iconSizePropsType } from './componentProps/iconSize';
29
29
  export type { itemColorPropsType } from './componentProps/itemColor';
30
30
  export type { justifyContentPropsType } from './componentProps/justifyContent';
31
+ export type { overflowPropsType } from './componentProps/overflow.ts';
31
32
  export type { positionPropsType } from './componentProps/position';
32
33
  export type { resizeModePropsType } from './componentProps/resizeMode';
33
34
  export type { shapePropsType } from './componentProps/shape';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.1.8",
3
+ "version": "1.1.9",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",
@@ -90,7 +90,7 @@
90
90
  "registry": "https://registry.npmjs.org/"
91
91
  },
92
92
  "dependencies": {
93
- "@itcase/common": "^1.1.16",
93
+ "@itcase/common": "^1.2.0",
94
94
  "clsx": "^2.1.0",
95
95
  "html5-boilerplate": "^9.0.0",
96
96
  "js-cookie": "^3.0.5",