@itcase/ui 1.0.1
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/README.md +2 -0
- package/dist/SelectContainer-e2544642.js +7717 -0
- package/dist/components/Accordion.js +249 -0
- package/dist/components/Avatar.js +94 -0
- package/dist/components/Background.js +90 -0
- package/dist/components/Breadcrumbs.js +239 -0
- package/dist/components/Button.js +215 -0
- package/dist/components/Caption.js +65 -0
- package/dist/components/Card.js +112 -0
- package/dist/components/Cell.js +180 -0
- package/dist/components/Checkbox.js +68 -0
- package/dist/components/Chips.js +135 -0
- package/dist/components/ContextMenu.js +149 -0
- package/dist/components/CookiesWarning.js +133 -0
- package/dist/components/Counter.js +99 -0
- package/dist/components/Divider.js +73 -0
- package/dist/components/Dropdown.js +139 -0
- package/dist/components/Emoji.js +124 -0
- package/dist/components/Fader.js +66 -0
- package/dist/components/Flex.js +264 -0
- package/dist/components/FormField.js +289 -0
- package/dist/components/Grid.js +329 -0
- package/dist/components/Group.js +132 -0
- package/dist/components/Icon.js +184 -0
- package/dist/components/Image.js +143 -0
- package/dist/components/Input.js +94 -0
- package/dist/components/Label.js +125 -0
- package/dist/components/LanguageSelector.js +86 -0
- package/dist/components/Link.js +172 -0
- package/dist/components/List.js +143 -0
- package/dist/components/Loader.js +66 -0
- package/dist/components/Logo.js +55 -0
- package/dist/components/Menu.js +86 -0
- package/dist/components/MenuItem.js +209 -0
- package/dist/components/Modal.js +69 -0
- package/dist/components/Notification.js +131 -0
- package/dist/components/Pagination.js +93 -0
- package/dist/components/Popup.js +254 -0
- package/dist/components/Profile.js +99 -0
- package/dist/components/RadioButton.js +71 -0
- package/dist/components/RangeSlider.js +2086 -0
- package/dist/components/Scrollbar.js +3872 -0
- package/dist/components/Search.js +260 -0
- package/dist/components/Segmented.js +77 -0
- package/dist/components/Select.js +49 -0
- package/dist/components/SiteMenu.js +137 -0
- package/dist/components/Swiper.js +927 -0
- package/dist/components/Switch.js +29 -0
- package/dist/components/Text.js +121 -0
- package/dist/components/Textarea.js +90 -0
- package/dist/components/Tile.js +252 -0
- package/dist/components/Title.js +146 -0
- package/dist/components/Tooltip.js +115 -0
- package/dist/components/Video.js +74 -0
- package/dist/components/Wrapper.js +119 -0
- package/dist/constants/componentProps/align.js +5 -0
- package/dist/constants/componentProps/alignDirection.js +5 -0
- package/dist/constants/componentProps/borderColor.js +5 -0
- package/dist/constants/componentProps/borderType.js +5 -0
- package/dist/constants/componentProps/captionPosition.js +5 -0
- package/dist/constants/componentProps/direction.js +5 -0
- package/dist/constants/componentProps/emojiSize.js +5 -0
- package/dist/constants/componentProps/fill.js +5 -0
- package/dist/constants/componentProps/fillGradient.js +5 -0
- package/dist/constants/componentProps/fillType.js +5 -0
- package/dist/constants/componentProps/flexAlign.js +5 -0
- package/dist/constants/componentProps/flexJustifyContent.js +5 -0
- package/dist/constants/componentProps/flexWrap.js +5 -0
- package/dist/constants/componentProps/gridAlign.js +5 -0
- package/dist/constants/componentProps/gridAlignSelf.js +5 -0
- package/dist/constants/componentProps/gridJustifyItems.js +5 -0
- package/dist/constants/componentProps/gridJustifySelf.js +5 -0
- package/dist/constants/componentProps/horizontalContentAlign.js +5 -0
- package/dist/constants/componentProps/horizontalResizeMode.js +5 -0
- package/dist/constants/componentProps/iconSize.js +5 -0
- package/dist/constants/componentProps/position.js +5 -0
- package/dist/constants/componentProps/resizeMode.js +5 -0
- package/dist/constants/componentProps/shape.js +5 -0
- package/dist/constants/componentProps/size.js +5 -0
- package/dist/constants/componentProps/stacking.js +5 -0
- package/dist/constants/componentProps/strokeColor.js +5 -0
- package/dist/constants/componentProps/textAlign.js +5 -0
- package/dist/constants/componentProps/textColor.js +5 -0
- package/dist/constants/componentProps/textColorActive.js +5 -0
- package/dist/constants/componentProps/textColorHover.js +5 -0
- package/dist/constants/componentProps/textGradient.js +5 -0
- package/dist/constants/componentProps/textStyle.js +5 -0
- package/dist/constants/componentProps/textTag.js +5 -0
- package/dist/constants/componentProps/textWeight.js +5 -0
- package/dist/constants/componentProps/titleSize.js +5 -0
- package/dist/constants/componentProps/type.js +5 -0
- package/dist/constants/componentProps/underline.js +5 -0
- package/dist/constants/componentProps/verticalContentAlign.js +5 -0
- package/dist/constants/componentProps/verticalResizeMode.js +5 -0
- package/dist/constants/componentProps/width.js +5 -0
- package/dist/constants/componentProps/wrap.js +5 -0
- package/dist/constants.js +87 -0
- package/dist/context/Notifications.js +121 -0
- package/dist/context/UIContext.js +59 -0
- package/dist/css/components/Accordion/Accordion.css +65 -0
- package/dist/css/components/Avatar/Avatar.css +28 -0
- package/dist/css/components/Background/Background.css +11 -0
- package/dist/css/components/Button/Button.css +362 -0
- package/dist/css/components/Caption/Caption.css +22 -0
- package/dist/css/components/Card/Card.css +19 -0
- package/dist/css/components/Cell/Cell.css +89 -0
- package/dist/css/components/Cell/css/__wrapper/cell__wrapper.css +7 -0
- package/dist/css/components/Cell/css/__wrapper/cell__wrapper_shape.css +15 -0
- package/dist/css/components/Checkbox/Checkbox.css +97 -0
- package/dist/css/components/Chips/Chips.css +47 -0
- package/dist/css/components/ContextMenu/ContextMenu.css +43 -0
- package/dist/css/components/ContextMenu/css/__item/context-menu__item.css +10 -0
- package/dist/css/components/CookiesWarning/CookiesWarning.css +37 -0
- package/dist/css/components/Counter/Counter.css +55 -0
- package/dist/css/components/Divider/Divider.css +78 -0
- package/dist/css/components/Dropdown/Dropdown.css +58 -0
- package/dist/css/components/Emoji/Emoji.css +104 -0
- package/dist/css/components/Emoji/css/__icon/emoji__icon-shape.css +12 -0
- package/dist/css/components/Emoji/css/__icon/emoji__icon.css +5 -0
- package/dist/css/components/Fader/Fader.css +55 -0
- package/dist/css/components/Flex/Flex.css +179 -0
- package/dist/css/components/Flex/css/__item/flex__item.css +5 -0
- package/dist/css/components/Flex/css/__item/flex__item_align.css +15 -0
- package/dist/css/components/Flex/css/__item/flex__item_direction.css +17 -0
- package/dist/css/components/Flex/css/__item/flex__item_grow.css +9 -0
- package/dist/css/components/Flex/css/__item/flex__item_justify-content.css +9 -0
- package/dist/css/components/Flex/css/__item/flex__item_shape.css +12 -0
- package/dist/css/components/Flex/css/__item/flex__item_wrap.css +9 -0
- package/dist/css/components/Grid/Grid.css +208 -0
- package/dist/css/components/Grid/css/__item/grid__item.css +4 -0
- package/dist/css/components/Grid/css/__item/grid__item_align-self.css +9 -0
- package/dist/css/components/Grid/css/__item/grid__item_column.css +17 -0
- package/dist/css/components/Grid/css/__item/grid__item_justify-self.css +9 -0
- package/dist/css/components/Grid/css/__item/grid__item_row.css +17 -0
- package/dist/css/components/Group/Group.css +106 -0
- package/dist/css/components/Icon/Icon.css +149 -0
- package/dist/css/components/Image/Image.css +106 -0
- package/dist/css/components/Input/Input.css +41 -0
- package/dist/css/components/Label/Label.css +33 -0
- package/dist/css/components/Link/Link.css +10 -0
- package/dist/css/components/List/List.css +112 -0
- package/dist/css/components/Loader/Loader.css +42 -0
- package/dist/css/components/Logo/Logo.css +17 -0
- package/dist/css/components/Menu/Menu.css +56 -0
- package/dist/css/components/MenuItem/MenuItem.css +56 -0
- package/dist/css/components/Notification/Notification.css +18 -0
- package/dist/css/components/Pagination/Pagination.css +80 -0
- package/dist/css/components/Pagination/css/__item/pagination__item.css +31 -0
- package/dist/css/components/Pagination/css/__item/pagination__item_state_active.css +16 -0
- package/dist/css/components/Pagination/css/__item/pagination__item_state_disabled.css +19 -0
- package/dist/css/components/Popup/Popup.css +49 -0
- package/dist/css/components/Profile/Profile.css +19 -0
- package/dist/css/components/RadioButton/RadioButton.css +98 -0
- package/dist/css/components/RangeSlider/RangeSlider.css +396 -0
- package/dist/css/components/Scrollbar/Scrollbar.css +2 -0
- package/dist/css/components/Search/Search.css +113 -0
- package/dist/css/components/Search/css/search-input/search-input.css +81 -0
- package/dist/css/components/Search/css/search-input/search-input_shape.css +8 -0
- package/dist/css/components/Search/css/search-result/search-result.css +6 -0
- package/dist/css/components/Search/css/search-result/search-result_shape.css +8 -0
- package/dist/css/components/Select/Select.css +236 -0
- package/dist/css/components/Select/css/__control/select__control.css +11 -0
- package/dist/css/components/Select/css/__control/select__control_fill.css +15 -0
- package/dist/css/components/Select/css/__control/select__control_shape.css +12 -0
- package/dist/css/components/Select/css/__indicators/select__indicators.css +18 -0
- package/dist/css/components/Select/css/__input-container/select__input-container.css +24 -0
- package/dist/css/components/Select/css/__menu/select__menu-notice.css +7 -0
- package/dist/css/components/Select/css/__menu/select__menu.css +36 -0
- package/dist/css/components/Select/css/__option/select__option.css +56 -0
- package/dist/css/components/Select/css/__single-value/select__single-value.css +5 -0
- package/dist/css/components/Select/css/__value-container/select__value-container.css +12 -0
- package/dist/css/components/SiteMenu/SiteMenu.css +37 -0
- package/dist/css/components/Swiper/Swiper.css +839 -0
- package/dist/css/components/Switch/Switch.css +53 -0
- package/dist/css/components/Text/Text.css +33 -0
- package/dist/css/components/Textarea/Textarea.css +40 -0
- package/dist/css/components/Tile/Tile.css +23 -0
- package/dist/css/components/Title/Title.css +71 -0
- package/dist/css/components/Tooltip/Tooltip.css +4 -0
- package/dist/css/components/Video/Video.css +37 -0
- package/dist/css/components/Wrapper/Wrapper.css +36 -0
- package/dist/css/styles/align/align_horizontal-reverse.css +50 -0
- package/dist/css/styles/align/align_horizontal.css +67 -0
- package/dist/css/styles/align/align_vertical-reverse.css +49 -0
- package/dist/css/styles/align/align_vertical.css +64 -0
- package/dist/css/styles/border/border.css +13 -0
- package/dist/css/styles/border-color/border-color.css +28 -0
- package/dist/css/styles/caret-color/caret-color.css +13 -0
- package/dist/css/styles/constraints/constraints.css +59 -0
- package/dist/css/styles/cursor/cursor.css +9 -0
- package/dist/css/styles/direction/direction.css +10 -0
- package/dist/css/styles/elevation/elevation.css +7 -0
- package/dist/css/styles/elevation/elevation_hover.css +11 -0
- package/dist/css/styles/fill/fill.css +28 -0
- package/dist/css/styles/fill/fill_active.css +22 -0
- package/dist/css/styles/fill/fill_active_hover.css +24 -0
- package/dist/css/styles/fill/fill_disabled.css +22 -0
- package/dist/css/styles/fill/fill_hover.css +34 -0
- package/dist/css/styles/fill-gradient/fill-gradient.css +15 -0
- package/dist/css/styles/height/height.css +9 -0
- package/dist/css/styles/hover/hover-fill-color.css +13 -0
- package/dist/css/styles/hover/hover-item-color.css +15 -0
- package/dist/css/styles/hover/hover-text-color.css +15 -0
- package/dist/css/styles/mediaqueries.css +66 -0
- package/dist/css/styles/mixin_elevation.css +33 -0
- package/dist/css/styles/mixin_fill-gradient.css +23 -0
- package/dist/css/styles/mixin_global.css +54 -0
- package/dist/css/styles/opacity/opacity.css +7 -0
- package/dist/css/styles/placeholder-text-color/placeholder-text-color.css +15 -0
- package/dist/css/styles/position/position.css +14 -0
- package/dist/css/styles/resize-horizontal/resize-horizontal.css +12 -0
- package/dist/css/styles/resize-vertical/resize-vertical.css +10 -0
- package/dist/css/styles/shape/shape.css +8 -0
- package/dist/css/styles/text-align/text-align.css +7 -0
- package/dist/css/styles/text-color/text-color.css +13 -0
- package/dist/css/styles/text-color/text-color_active.css +15 -0
- package/dist/css/styles/text-color/text-color_hover.css +17 -0
- package/dist/css/styles/text-color-hover/text-color-hover.css +15 -0
- package/dist/css/styles/text-decoration/text-decoration.css +9 -0
- package/dist/css/styles/text-gradient/text-gradient.css +24 -0
- package/dist/css/styles/text-style/text-style.css +9 -0
- package/dist/css/styles/text-truncate/text-truncate.css +7 -0
- package/dist/css/styles/text-weight/text-weight.css +40 -0
- package/dist/css/styles/width/width.css +9 -0
- package/dist/css/styles/word-wrap/word-wrap.css +8 -0
- package/dist/hooks/styleAttributes.js +33 -0
- package/dist/hooks/useDeviceTargetClass.js +60 -0
- package/dist/hooks/useMediaQueries.js +134 -0
- package/dist/hooks/useStyles.js +16 -0
- package/dist/index-f1505c84.js +86 -0
- package/dist/objectWithoutProperties-ea190611.js +188 -0
- package/dist/useStyles-77c3b520.js +153 -0
- package/package.json +123 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var PropTypes = require('prop-types');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var castArray = require('lodash/castArray');
|
|
7
|
+
var fill = require('../constants/componentProps/fill.js');
|
|
8
|
+
var direction = require('../constants/componentProps/direction.js');
|
|
9
|
+
var shape = require('../constants/componentProps/shape.js');
|
|
10
|
+
var index = require('./Icon.js');
|
|
11
|
+
var index$1 = require('../index-f1505c84.js');
|
|
12
|
+
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
13
|
+
var useStyles = require('../useStyles-77c3b520.js');
|
|
14
|
+
require('react-inlinesvg');
|
|
15
|
+
require('../constants/componentProps/iconSize.js');
|
|
16
|
+
require('../constants/componentProps/strokeColor.js');
|
|
17
|
+
require('./Link.js');
|
|
18
|
+
require('../constants/componentProps/size.js');
|
|
19
|
+
require('../constants/componentProps/textColor.js');
|
|
20
|
+
require('../constants/componentProps/textGradient.js');
|
|
21
|
+
require('../constants/componentProps/textStyle.js');
|
|
22
|
+
require('../constants/componentProps/textWeight.js');
|
|
23
|
+
require('../constants/componentProps/type.js');
|
|
24
|
+
require('../constants/componentProps/underline.js');
|
|
25
|
+
require('lodash/camelCase');
|
|
26
|
+
require('../context/UIContext.js');
|
|
27
|
+
require('../hooks/useMediaQueries.js');
|
|
28
|
+
require('react-responsive');
|
|
29
|
+
require('lodash/maxBy');
|
|
30
|
+
require('lodash/upperFirst');
|
|
31
|
+
require('../hooks/styleAttributes.js');
|
|
32
|
+
|
|
33
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
34
|
+
|
|
35
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
36
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
37
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
38
|
+
var castArray__default = /*#__PURE__*/_interopDefault(castArray);
|
|
39
|
+
|
|
40
|
+
/* React, PropTypes, other third-party modules */
|
|
41
|
+
|
|
42
|
+
/* Component */
|
|
43
|
+
function AccordionItem(props) {
|
|
44
|
+
var children = props.children,
|
|
45
|
+
id = props.id,
|
|
46
|
+
title = props.title,
|
|
47
|
+
icon = props.icon,
|
|
48
|
+
content = props.content,
|
|
49
|
+
beforeContent = props.beforeContent,
|
|
50
|
+
afterContent = props.afterContent,
|
|
51
|
+
className = props.className,
|
|
52
|
+
isExpanded = props.isExpanded,
|
|
53
|
+
onClick = props.onClick;
|
|
54
|
+
var onClickTitle = React.useCallback(function () {
|
|
55
|
+
// !isExpanded - is next state of expanded
|
|
56
|
+
var thisItemData = {
|
|
57
|
+
id: id,
|
|
58
|
+
title: title,
|
|
59
|
+
content: content,
|
|
60
|
+
isExpanded: !isExpanded
|
|
61
|
+
};
|
|
62
|
+
onClick && onClick(thisItemData);
|
|
63
|
+
}, [onClick, id, title, content, isExpanded]);
|
|
64
|
+
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
65
|
+
prefix: 'fill_',
|
|
66
|
+
propsKey: 'fill'
|
|
67
|
+
});
|
|
68
|
+
var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
69
|
+
prefix: 'accordion-item_shape_',
|
|
70
|
+
propsKey: 'shape'
|
|
71
|
+
});
|
|
72
|
+
var iconFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
73
|
+
propsKey: 'iconFill'
|
|
74
|
+
});
|
|
75
|
+
var _useStyles = useStyles.useStyles(props),
|
|
76
|
+
styles = _useStyles.styles;
|
|
77
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
78
|
+
className: clsx__default.default('accordion-item', className, fillClass, shapeClass, isExpanded && 'accordion-item_state_open'),
|
|
79
|
+
style: styles
|
|
80
|
+
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
81
|
+
className: "accordion-item__title",
|
|
82
|
+
onClick: onClickTitle
|
|
83
|
+
}, title), /*#__PURE__*/React__default.default.createElement("div", {
|
|
84
|
+
className: "accordion-item__icon",
|
|
85
|
+
onClick: onClickTitle
|
|
86
|
+
}, icon || /*#__PURE__*/React__default.default.createElement(index.Icon, {
|
|
87
|
+
fill: iconFillClass,
|
|
88
|
+
size: "16",
|
|
89
|
+
SvgImage: index$1.icon16.chevron_down
|
|
90
|
+
})), beforeContent && beforeContent, isExpanded && /*#__PURE__*/React__default.default.createElement("div", {
|
|
91
|
+
className: "accordion-item__content"
|
|
92
|
+
}, children || content), afterContent && afterContent);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/* Component default props */
|
|
96
|
+
AccordionItem.defaultProps = {
|
|
97
|
+
iconFill: 'surfaceItemAccent'
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
/* Component prop types */
|
|
101
|
+
AccordionItem.propTypes = {
|
|
102
|
+
afterContent: PropTypes__default.default.any,
|
|
103
|
+
beforeContent: PropTypes__default.default.any,
|
|
104
|
+
children: PropTypes__default.default.any,
|
|
105
|
+
className: PropTypes__default.default.string,
|
|
106
|
+
content: PropTypes__default.default.string,
|
|
107
|
+
fill: PropTypes__default.default.oneOf(fill.default),
|
|
108
|
+
fillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
109
|
+
fillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
110
|
+
fillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
111
|
+
icon: PropTypes__default.default.any,
|
|
112
|
+
iconFill: PropTypes__default.default.oneOf(fill.default),
|
|
113
|
+
iconFillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
114
|
+
iconFillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
115
|
+
iconFillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
116
|
+
id: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.number]),
|
|
117
|
+
isExpanded: PropTypes__default.default.bool,
|
|
118
|
+
item: PropTypes__default.default.shape({
|
|
119
|
+
id: PropTypes__default.default.oneOfType([PropTypes__default.default.string, PropTypes__default.default.number]),
|
|
120
|
+
title: PropTypes__default.default.string,
|
|
121
|
+
content: PropTypes__default.default.string
|
|
122
|
+
}),
|
|
123
|
+
shape: PropTypes__default.default.oneOf(shape.default),
|
|
124
|
+
shapeDesktop: PropTypes__default.default.oneOf(shape.default),
|
|
125
|
+
shapeMobile: PropTypes__default.default.oneOf(shape.default),
|
|
126
|
+
shapeTablet: PropTypes__default.default.oneOf(shape.default),
|
|
127
|
+
title: PropTypes__default.default.any,
|
|
128
|
+
onClick: PropTypes__default.default.func
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
/* React, PropTypes, other third-party modules */
|
|
132
|
+
|
|
133
|
+
/* Component */
|
|
134
|
+
function Accordion(props) {
|
|
135
|
+
var children = props.children,
|
|
136
|
+
items = props.items,
|
|
137
|
+
className = props.className,
|
|
138
|
+
initial = props.initial,
|
|
139
|
+
isMultiple = props.isMultiple,
|
|
140
|
+
onClickItem = props.onClickItem;
|
|
141
|
+
var _useState = React.useState(castArray__default.default(initial)),
|
|
142
|
+
expandedItems = _useState[0],
|
|
143
|
+
setExpandedItems = _useState[1];
|
|
144
|
+
var onClickAccordionItem = React.useCallback(function (targetItem) {
|
|
145
|
+
setExpandedItems(function (prevState) {
|
|
146
|
+
var isExpanded = prevState.find(function (id) {
|
|
147
|
+
return id === targetItem.id;
|
|
148
|
+
});
|
|
149
|
+
if (isMultiple) {
|
|
150
|
+
if (isExpanded) {
|
|
151
|
+
// ... without target id
|
|
152
|
+
return prevState.filter(function (id) {
|
|
153
|
+
return id !== targetItem.id;
|
|
154
|
+
});
|
|
155
|
+
} else {
|
|
156
|
+
// ... with target id
|
|
157
|
+
return [].concat(prevState, [targetItem.id]);
|
|
158
|
+
}
|
|
159
|
+
} else {
|
|
160
|
+
if (isExpanded) {
|
|
161
|
+
return [];
|
|
162
|
+
} else {
|
|
163
|
+
return [targetItem.id];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
onClickItem && onClickItem(targetItem);
|
|
168
|
+
}, [onClickItem]);
|
|
169
|
+
var accordionItemsList = React.useMemo(function () {
|
|
170
|
+
if (items) {
|
|
171
|
+
return items.map(function (item, i) {
|
|
172
|
+
return /*#__PURE__*/React__default.default.createElement(AccordionItem, {
|
|
173
|
+
content: item.content,
|
|
174
|
+
id: item.id,
|
|
175
|
+
isExpanded: expandedItems.includes(item.id),
|
|
176
|
+
key: "accordionItem_" + (item.id || i + 1),
|
|
177
|
+
title: item.title,
|
|
178
|
+
onClick: onClickAccordionItem
|
|
179
|
+
});
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (children) {
|
|
183
|
+
return React__default.default.Children.toArray(children).map(function (child) {
|
|
184
|
+
var childID = child.props.id || child.key;
|
|
185
|
+
return /*#__PURE__*/React__default.default.cloneElement(child, {
|
|
186
|
+
// this properties are available as a props in child components
|
|
187
|
+
id: childID,
|
|
188
|
+
isExpanded: expandedItems.includes(childID),
|
|
189
|
+
onClick: onClickAccordionItem
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
return [];
|
|
194
|
+
}, [children, items, expandedItems, onClickAccordionItem]);
|
|
195
|
+
var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
196
|
+
prefix: 'accordion_direction_',
|
|
197
|
+
propsKey: 'direction'
|
|
198
|
+
});
|
|
199
|
+
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
200
|
+
prefix: 'fill_',
|
|
201
|
+
propsKey: 'fill'
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
/*
|
|
205
|
+
* paddingHorizontalWrapper="16px"
|
|
206
|
+
* paddingHorizontal - styles (horizontal will be parsed to left/right)
|
|
207
|
+
* wrapper - target
|
|
208
|
+
*/
|
|
209
|
+
var _useStyles = useStyles.useStyles(props),
|
|
210
|
+
accordionStyles = _useStyles.styles,
|
|
211
|
+
accordionWrapperStyles = _useStyles.wrapper;
|
|
212
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
213
|
+
className: clsx__default.default(className, 'accordion', directionClass, fillClass),
|
|
214
|
+
style: accordionStyles
|
|
215
|
+
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
216
|
+
className: "accordion__wrapper",
|
|
217
|
+
style: accordionWrapperStyles
|
|
218
|
+
}, accordionItemsList));
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/* Component default props */
|
|
222
|
+
Accordion.defaultProps = {
|
|
223
|
+
initial: []
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
/* Component prop types */
|
|
227
|
+
Accordion.propTypes = {
|
|
228
|
+
children: PropTypes__default.default.any,
|
|
229
|
+
className: PropTypes__default.default.string,
|
|
230
|
+
/**
|
|
231
|
+
* The number of columns to span on extra small devices (<576px)
|
|
232
|
+
*
|
|
233
|
+
*/
|
|
234
|
+
direction: PropTypes__default.default.oneOf(direction.default),
|
|
235
|
+
directionDesktop: PropTypes__default.default.oneOf(direction.default),
|
|
236
|
+
directionMobile: PropTypes__default.default.oneOf(direction.default),
|
|
237
|
+
directionTablet: PropTypes__default.default.oneOf(direction.default),
|
|
238
|
+
fill: PropTypes__default.default.oneOf(fill.default),
|
|
239
|
+
fillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
240
|
+
fillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
241
|
+
fillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
242
|
+
initial: PropTypes__default.default.array,
|
|
243
|
+
isMultiple: PropTypes__default.default.bool,
|
|
244
|
+
items: PropTypes__default.default.array,
|
|
245
|
+
onClickItem: PropTypes__default.default.func
|
|
246
|
+
};
|
|
247
|
+
|
|
248
|
+
exports.Accordion = Accordion;
|
|
249
|
+
exports.AccordionItem = AccordionItem;
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var PropTypes = require('prop-types');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var index = require('./Image.js');
|
|
7
|
+
var index$1 = require('./Text.js');
|
|
8
|
+
var size = require('../constants/componentProps/size.js');
|
|
9
|
+
require('../constants/componentProps/borderColor.js');
|
|
10
|
+
require('../constants/componentProps/horizontalContentAlign.js');
|
|
11
|
+
require('../constants/componentProps/resizeMode.js');
|
|
12
|
+
require('../constants/componentProps/shape.js');
|
|
13
|
+
require('../constants/componentProps/verticalContentAlign.js');
|
|
14
|
+
require('../constants/componentProps/width.js');
|
|
15
|
+
require('../useStyles-77c3b520.js');
|
|
16
|
+
require('lodash/camelCase');
|
|
17
|
+
require('lodash/maxBy');
|
|
18
|
+
require('lodash/upperFirst');
|
|
19
|
+
require('../hooks/styleAttributes.js');
|
|
20
|
+
require('../context/UIContext.js');
|
|
21
|
+
require('../hooks/useMediaQueries.js');
|
|
22
|
+
require('react-responsive');
|
|
23
|
+
require('../hooks/useDeviceTargetClass.js');
|
|
24
|
+
require('lodash/castArray');
|
|
25
|
+
require('../constants/componentProps/textColor.js');
|
|
26
|
+
require('../constants/componentProps/textColorActive.js');
|
|
27
|
+
require('../constants/componentProps/textColorHover.js');
|
|
28
|
+
require('../constants/componentProps/textStyle.js');
|
|
29
|
+
require('../constants/componentProps/textWeight.js');
|
|
30
|
+
|
|
31
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
32
|
+
|
|
33
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
34
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
35
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
36
|
+
|
|
37
|
+
function Avatar(props) {
|
|
38
|
+
var children = props.children,
|
|
39
|
+
className = props.className,
|
|
40
|
+
icon = props.icon,
|
|
41
|
+
size = props.size,
|
|
42
|
+
src = props.src,
|
|
43
|
+
text = props.text,
|
|
44
|
+
textSize = props.textSize,
|
|
45
|
+
textColor = props.textColor,
|
|
46
|
+
textTag = props.textTag,
|
|
47
|
+
title = props.title,
|
|
48
|
+
titleSize = props.titleSize,
|
|
49
|
+
titleTag = props.titleTag,
|
|
50
|
+
titleColor = props.titleColor,
|
|
51
|
+
type = props.type,
|
|
52
|
+
onClick = props.onClick;
|
|
53
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
54
|
+
onClick: onClick,
|
|
55
|
+
className: clsx__default.default(className, 'avatar', size && "avatar_size_" + size, type && "avatar_type_" + type)
|
|
56
|
+
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
57
|
+
className: "avatar__wrapper"
|
|
58
|
+
}, /*#__PURE__*/React__default.default.createElement(index.Image, {
|
|
59
|
+
className: "avatar__image",
|
|
60
|
+
shape: "circular",
|
|
61
|
+
src: src
|
|
62
|
+
}), /*#__PURE__*/React__default.default.createElement("div", {
|
|
63
|
+
className: "avatar__data"
|
|
64
|
+
}, title && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
|
|
65
|
+
className: "avatar__data-title",
|
|
66
|
+
size: titleSize,
|
|
67
|
+
textColor: titleColor,
|
|
68
|
+
tag: titleTag
|
|
69
|
+
}, title), text && /*#__PURE__*/React__default.default.createElement(index$1.Text, {
|
|
70
|
+
size: textSize,
|
|
71
|
+
tag: textTag,
|
|
72
|
+
textColor: textColor,
|
|
73
|
+
className: "avatar__data-desc"
|
|
74
|
+
}, text), icon && /*#__PURE__*/React__default.default.createElement("div", {
|
|
75
|
+
className: "avatar__icon"
|
|
76
|
+
}, icon)), children));
|
|
77
|
+
}
|
|
78
|
+
Avatar.propTypes = {
|
|
79
|
+
size: PropTypes__default.default.oneOf(PropTypes__default.default.oneOf(size.default)),
|
|
80
|
+
children: PropTypes__default.default.any,
|
|
81
|
+
className: PropTypes__default.default.string,
|
|
82
|
+
type: PropTypes__default.default.string,
|
|
83
|
+
icon: PropTypes__default.default.string,
|
|
84
|
+
onClick: PropTypes__default.default.func
|
|
85
|
+
};
|
|
86
|
+
Avatar.defaultProps = {
|
|
87
|
+
textSize: 'l',
|
|
88
|
+
titleColor: 'surfaceTextPrimary',
|
|
89
|
+
titleTag: 'span',
|
|
90
|
+
titleSize: 'xxl',
|
|
91
|
+
textColor: 'surfaceTextTertiary'
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
exports.Avatar = Avatar;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var React = require('react');
|
|
4
|
+
var PropTypes = require('prop-types');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var fill = require('../constants/componentProps/fill.js');
|
|
7
|
+
var shape = require('../constants/componentProps/shape.js');
|
|
8
|
+
var width = require('../constants/componentProps/width.js');
|
|
9
|
+
var position = require('../constants/componentProps/position.js');
|
|
10
|
+
var useStyles = require('../useStyles-77c3b520.js');
|
|
11
|
+
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
12
|
+
require('lodash/camelCase');
|
|
13
|
+
require('lodash/maxBy');
|
|
14
|
+
require('lodash/upperFirst');
|
|
15
|
+
require('../hooks/styleAttributes.js');
|
|
16
|
+
require('../context/UIContext.js');
|
|
17
|
+
require('../hooks/useMediaQueries.js');
|
|
18
|
+
require('react-responsive');
|
|
19
|
+
require('lodash/castArray');
|
|
20
|
+
|
|
21
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
|
|
23
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
24
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
25
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
26
|
+
|
|
27
|
+
function Background(props) {
|
|
28
|
+
var src = props.src,
|
|
29
|
+
className = props.className;
|
|
30
|
+
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
31
|
+
prefix: 'fill_',
|
|
32
|
+
propsKey: 'fill'
|
|
33
|
+
});
|
|
34
|
+
var positionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
35
|
+
prefix: 'position_',
|
|
36
|
+
propsKey: 'position'
|
|
37
|
+
});
|
|
38
|
+
var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
39
|
+
prefix: 'backdround_shape_',
|
|
40
|
+
propsKey: 'shape'
|
|
41
|
+
});
|
|
42
|
+
var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
43
|
+
prefix: 'width_',
|
|
44
|
+
propsKey: 'width'
|
|
45
|
+
});
|
|
46
|
+
var constraintsClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
47
|
+
prefix: 'constraints_',
|
|
48
|
+
propsKey: 'constraints'
|
|
49
|
+
});
|
|
50
|
+
var imageWidthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
51
|
+
prefix: 'width_',
|
|
52
|
+
propsKey: 'imageWidth'
|
|
53
|
+
});
|
|
54
|
+
var imageHeightClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
55
|
+
prefix: 'height_',
|
|
56
|
+
propsKey: 'imageHeight'
|
|
57
|
+
});
|
|
58
|
+
var _useStyles = useStyles.useStyles(props),
|
|
59
|
+
backgroundStyles = _useStyles.styles;
|
|
60
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
61
|
+
className: clsx__default.default(className, 'background', positionClass, widthClass, fillClass, shapeClass),
|
|
62
|
+
style: backgroundStyles
|
|
63
|
+
}, /*#__PURE__*/React__default.default.createElement("img", {
|
|
64
|
+
className: clsx__default.default('background__item', imageWidthClass, imageHeightClass, constraintsClass),
|
|
65
|
+
src: src
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
Background.propTypes = {
|
|
69
|
+
children: PropTypes__default.default.any,
|
|
70
|
+
className: PropTypes__default.default.string,
|
|
71
|
+
fill: PropTypes__default.default.oneOf(fill.default),
|
|
72
|
+
fillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
73
|
+
fillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
74
|
+
fillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
75
|
+
shape: PropTypes__default.default.oneOf(shape.default),
|
|
76
|
+
src: PropTypes__default.default.string,
|
|
77
|
+
position: PropTypes__default.default.oneOf(position.default),
|
|
78
|
+
positionMobile: PropTypes__default.default.oneOf(position.default),
|
|
79
|
+
positionTablet: PropTypes__default.default.oneOf(position.default),
|
|
80
|
+
positionDesktop: PropTypes__default.default.oneOf(position.default),
|
|
81
|
+
shapeDesktop: PropTypes__default.default.oneOf(shape.default),
|
|
82
|
+
shapeMobile: PropTypes__default.default.oneOf(shape.default),
|
|
83
|
+
shapeTablet: PropTypes__default.default.oneOf(shape.default),
|
|
84
|
+
width: PropTypes__default.default.oneOf(width.default),
|
|
85
|
+
widthMobile: PropTypes__default.default.oneOf(width.default),
|
|
86
|
+
widthTablet: PropTypes__default.default.oneOf(width.default),
|
|
87
|
+
widthDesktop: PropTypes__default.default.oneOf(width.default)
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
exports.Background = Background;
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var useStyles = require('../useStyles-77c3b520.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var PropTypes = require('prop-types');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var camelCase = require('lodash/camelCase');
|
|
8
|
+
var direction = require('../constants/componentProps/direction.js');
|
|
9
|
+
var fill = require('../constants/componentProps/fill.js');
|
|
10
|
+
var position = require('../constants/componentProps/position.js');
|
|
11
|
+
var shape = require('../constants/componentProps/shape.js');
|
|
12
|
+
var width = require('../constants/componentProps/width.js');
|
|
13
|
+
var index$2 = require('./Icon.js');
|
|
14
|
+
var index$1 = require('./Text.js');
|
|
15
|
+
var index = require('./Link.js');
|
|
16
|
+
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
17
|
+
require('lodash/maxBy');
|
|
18
|
+
require('lodash/upperFirst');
|
|
19
|
+
require('../hooks/styleAttributes.js');
|
|
20
|
+
require('../context/UIContext.js');
|
|
21
|
+
require('../hooks/useMediaQueries.js');
|
|
22
|
+
require('react-responsive');
|
|
23
|
+
require('react-inlinesvg');
|
|
24
|
+
require('../constants/componentProps/iconSize.js');
|
|
25
|
+
require('../constants/componentProps/strokeColor.js');
|
|
26
|
+
require('../constants/componentProps/textColor.js');
|
|
27
|
+
require('../constants/componentProps/textColorActive.js');
|
|
28
|
+
require('../constants/componentProps/textColorHover.js');
|
|
29
|
+
require('../constants/componentProps/size.js');
|
|
30
|
+
require('../constants/componentProps/textStyle.js');
|
|
31
|
+
require('../constants/componentProps/textWeight.js');
|
|
32
|
+
require('../constants/componentProps/textGradient.js');
|
|
33
|
+
require('../constants/componentProps/type.js');
|
|
34
|
+
require('../constants/componentProps/underline.js');
|
|
35
|
+
require('lodash/castArray');
|
|
36
|
+
|
|
37
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
38
|
+
|
|
39
|
+
var React__default = /*#__PURE__*/_interopDefault(React);
|
|
40
|
+
var PropTypes__default = /*#__PURE__*/_interopDefault(PropTypes);
|
|
41
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
42
|
+
var camelCase__default = /*#__PURE__*/_interopDefault(camelCase);
|
|
43
|
+
|
|
44
|
+
function BreadcrumbsItem(props) {
|
|
45
|
+
var children = props.children,
|
|
46
|
+
className = props.className,
|
|
47
|
+
set = props.set,
|
|
48
|
+
text = props.text,
|
|
49
|
+
href = props.href,
|
|
50
|
+
iconAfter = props.iconAfter,
|
|
51
|
+
iconAfterSize = props.iconAfterSize,
|
|
52
|
+
iconAfterBgFill = props.iconAfterBgFill,
|
|
53
|
+
iconAfterFill = props.iconAfterFill,
|
|
54
|
+
iconAfterStroke = props.iconAfterStroke;
|
|
55
|
+
props.underline;
|
|
56
|
+
var onClick = props.onClick;
|
|
57
|
+
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
58
|
+
prefix: 'fill_',
|
|
59
|
+
propsKey: 'fill'
|
|
60
|
+
});
|
|
61
|
+
var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
62
|
+
prefix: 'breadcrumbs__item_shape_',
|
|
63
|
+
propsKey: 'shape'
|
|
64
|
+
});
|
|
65
|
+
var positionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
66
|
+
prefix: 'position_',
|
|
67
|
+
propsKey: 'position'
|
|
68
|
+
});
|
|
69
|
+
var textSize = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
70
|
+
propsKey: 'textSize'
|
|
71
|
+
});
|
|
72
|
+
var textColor = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
73
|
+
propsKey: 'textColor'
|
|
74
|
+
});
|
|
75
|
+
var textColorHover = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
76
|
+
propsKey: 'textColorHover'
|
|
77
|
+
});
|
|
78
|
+
var underlineClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
79
|
+
prefix: 'text-decoration_',
|
|
80
|
+
propsKey: 'underline'
|
|
81
|
+
});
|
|
82
|
+
var _useStyles = useStyles.useStyles(props),
|
|
83
|
+
itemStyles = _useStyles.styles;
|
|
84
|
+
return /*#__PURE__*/React__default.default.createElement(index.LinkWrapper, {
|
|
85
|
+
href: href,
|
|
86
|
+
DefaultComponent: "div",
|
|
87
|
+
className: clsx__default.default(className, 'breadcrumbs__item', set && "breadcrumbs__item_set_" + set, fillClass, positionClass, shapeClass, underlineClass),
|
|
88
|
+
style: itemStyles,
|
|
89
|
+
onClick: onClick
|
|
90
|
+
}, /*#__PURE__*/React__default.default.createElement(index$1.Text, {
|
|
91
|
+
className: "breadcrumbs__item-text",
|
|
92
|
+
textColor: textColor,
|
|
93
|
+
textColorHover: textColorHover,
|
|
94
|
+
size: textSize
|
|
95
|
+
}, text || children), iconAfter && /*#__PURE__*/React__default.default.createElement(index$2.Icon, {
|
|
96
|
+
className: "breadcrumbs__item-icon",
|
|
97
|
+
SvgImage: iconAfter,
|
|
98
|
+
size: iconAfterSize,
|
|
99
|
+
bgFill: iconAfterBgFill,
|
|
100
|
+
fill: iconAfterFill,
|
|
101
|
+
stroke: iconAfterStroke
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
BreadcrumbsItem.propTypes = {
|
|
105
|
+
text: PropTypes__default.default.string,
|
|
106
|
+
textColor: PropTypes__default.default.string,
|
|
107
|
+
textSize: PropTypes__default.default.string,
|
|
108
|
+
id: PropTypes__default.default.string,
|
|
109
|
+
children: PropTypes__default.default.any,
|
|
110
|
+
className: PropTypes__default.default.string,
|
|
111
|
+
set: PropTypes__default.default.string,
|
|
112
|
+
fill: PropTypes__default.default.oneOf(fill.default),
|
|
113
|
+
fillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
114
|
+
fillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
115
|
+
fillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
116
|
+
position: PropTypes__default.default.oneOf(position.default),
|
|
117
|
+
positionDesktop: PropTypes__default.default.oneOf(position.default),
|
|
118
|
+
positionMobile: PropTypes__default.default.oneOf(position.default),
|
|
119
|
+
positionTablet: PropTypes__default.default.oneOf(position.default),
|
|
120
|
+
shape: PropTypes__default.default.oneOf(shape.default),
|
|
121
|
+
shapeDesktop: PropTypes__default.default.oneOf(shape.default),
|
|
122
|
+
shapeMobile: PropTypes__default.default.oneOf(shape.default),
|
|
123
|
+
shapeTablet: PropTypes__default.default.oneOf(shape.default),
|
|
124
|
+
tag: PropTypes__default.default.string,
|
|
125
|
+
onClick: PropTypes__default.default.func
|
|
126
|
+
};
|
|
127
|
+
BreadcrumbsItem.defaultProps = {
|
|
128
|
+
set: 'default'
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
var _excluded = ["breadcrumbsList", "children", "className", "iconAfterSize", "iconAfterBgFill", "iconAfterFill", "iconAfterStroke", "itemUnderline", "itemTextColor", "itemTextColorHover", "set"];
|
|
132
|
+
function Breadcrumbs(props) {
|
|
133
|
+
var breadcrumbsList = props.breadcrumbsList,
|
|
134
|
+
children = props.children,
|
|
135
|
+
className = props.className,
|
|
136
|
+
iconAfterSize = props.iconAfterSize,
|
|
137
|
+
iconAfterBgFill = props.iconAfterBgFill,
|
|
138
|
+
iconAfterFill = props.iconAfterFill,
|
|
139
|
+
iconAfterStroke = props.iconAfterStroke,
|
|
140
|
+
itemUnderline = props.itemUnderline,
|
|
141
|
+
itemTextColor = props.itemTextColor,
|
|
142
|
+
itemTextColorHover = props.itemTextColorHover,
|
|
143
|
+
set = props.set,
|
|
144
|
+
otherProps = useStyles._objectWithoutPropertiesLoose(props, _excluded);
|
|
145
|
+
var breadcrumbsItemsList = React.useMemo(function () {
|
|
146
|
+
if (breadcrumbsList) {
|
|
147
|
+
var itemProps = Object.entries(otherProps).reduce(function (collectedProps, _ref) {
|
|
148
|
+
var key = _ref[0],
|
|
149
|
+
value = _ref[1];
|
|
150
|
+
if (key.startsWith('item')) {
|
|
151
|
+
var propKey = camelCase__default.default(key.replace('item', ''));
|
|
152
|
+
collectedProps[propKey] = value;
|
|
153
|
+
}
|
|
154
|
+
return collectedProps;
|
|
155
|
+
}, {});
|
|
156
|
+
return breadcrumbsList.map(function (item, i) {
|
|
157
|
+
return /*#__PURE__*/React__default.default.createElement(BreadcrumbsItem, Object.assign({
|
|
158
|
+
key: "breadcrumbsItem_" + (item.id || item.text),
|
|
159
|
+
set: i + 1 !== breadcrumbsList.length ? 'default' : 'current',
|
|
160
|
+
iconAfter: i + 1 !== breadcrumbsList.length ? itemProps.iconAfter : null,
|
|
161
|
+
iconAfterSize: iconAfterSize,
|
|
162
|
+
iconAfterBgFill: iconAfterBgFill,
|
|
163
|
+
iconAfterFill: iconAfterFill,
|
|
164
|
+
iconAfterStroke: iconAfterStroke,
|
|
165
|
+
text: item.text,
|
|
166
|
+
textColor: itemTextColor,
|
|
167
|
+
textColorHover: itemTextColorHover,
|
|
168
|
+
underline: itemUnderline,
|
|
169
|
+
href: item.href
|
|
170
|
+
}, itemProps));
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
if (children) {
|
|
174
|
+
return children;
|
|
175
|
+
}
|
|
176
|
+
return [];
|
|
177
|
+
}, [children, breadcrumbsList, otherProps]);
|
|
178
|
+
var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
179
|
+
prefix: 'direction_',
|
|
180
|
+
propsKey: 'direction'
|
|
181
|
+
});
|
|
182
|
+
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
183
|
+
prefix: 'fill_',
|
|
184
|
+
propsKey: 'fill'
|
|
185
|
+
});
|
|
186
|
+
var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
187
|
+
prefix: 'breadcrumbs_shape_',
|
|
188
|
+
propsKey: 'shape'
|
|
189
|
+
});
|
|
190
|
+
var widthClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
191
|
+
prefix: 'width_',
|
|
192
|
+
propsKey: 'width'
|
|
193
|
+
});
|
|
194
|
+
var positionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
195
|
+
prefix: 'position_',
|
|
196
|
+
propsKey: 'position'
|
|
197
|
+
});
|
|
198
|
+
var _useStyles = useStyles.useStyles(props),
|
|
199
|
+
breadcrumbsStyles = _useStyles.styles;
|
|
200
|
+
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
201
|
+
className: clsx__default.default(className, 'breadcrumbs', widthClass, directionClass, fillClass, positionClass, shapeClass, set && "breadcrumbs_set_" + set),
|
|
202
|
+
style: breadcrumbsStyles
|
|
203
|
+
}, breadcrumbsItemsList);
|
|
204
|
+
}
|
|
205
|
+
Breadcrumbs.propTypes = {
|
|
206
|
+
breadcrumbsList: PropTypes__default.default.arrayOf(PropTypes__default.default.shape({
|
|
207
|
+
text: PropTypes__default.default.string,
|
|
208
|
+
href: PropTypes__default.default.string
|
|
209
|
+
})),
|
|
210
|
+
children: PropTypes__default.default.any,
|
|
211
|
+
className: PropTypes__default.default.string,
|
|
212
|
+
set: PropTypes__default.default.string,
|
|
213
|
+
direction: PropTypes__default.default.oneOf(direction.default),
|
|
214
|
+
directionDesktop: PropTypes__default.default.oneOf(direction.default),
|
|
215
|
+
directionMobile: PropTypes__default.default.oneOf(direction.default),
|
|
216
|
+
directionTablet: PropTypes__default.default.oneOf(direction.default),
|
|
217
|
+
fill: PropTypes__default.default.oneOf(fill.default),
|
|
218
|
+
fillDesktop: PropTypes__default.default.oneOf(fill.default),
|
|
219
|
+
fillMobile: PropTypes__default.default.oneOf(fill.default),
|
|
220
|
+
fillTablet: PropTypes__default.default.oneOf(fill.default),
|
|
221
|
+
shape: PropTypes__default.default.oneOf(shape.default),
|
|
222
|
+
shapeDesktop: PropTypes__default.default.oneOf(shape.default),
|
|
223
|
+
shapeMobile: PropTypes__default.default.oneOf(shape.default),
|
|
224
|
+
shapeTablet: PropTypes__default.default.oneOf(shape.default),
|
|
225
|
+
position: PropTypes__default.default.oneOf(position.default),
|
|
226
|
+
positionMobile: PropTypes__default.default.oneOf(position.default),
|
|
227
|
+
positionTablet: PropTypes__default.default.oneOf(position.default),
|
|
228
|
+
positionDesktop: PropTypes__default.default.oneOf(position.default),
|
|
229
|
+
width: PropTypes__default.default.oneOf(width.default),
|
|
230
|
+
widthMobile: PropTypes__default.default.oneOf(width.default),
|
|
231
|
+
widthTablet: PropTypes__default.default.oneOf(width.default),
|
|
232
|
+
widthDesktop: PropTypes__default.default.oneOf(width.default)
|
|
233
|
+
};
|
|
234
|
+
Breadcrumbs.defaultProps = {
|
|
235
|
+
direction: 'horizontal'
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
exports.Breadcrumbs = Breadcrumbs;
|
|
239
|
+
exports.BreadcrumbsItem = BreadcrumbsItem;
|