@itcase/ui 1.4.5 → 1.4.6

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.
@@ -23,16 +23,14 @@ var groupConfig = {
23
23
  },
24
24
  };
25
25
  var Group = React.forwardRef(function Group(props, ref) {
26
- var id = props.id, className = props.className, name = props.name, appearance = props.appearance, children = props.children, dataTestId = props.dataTestId, dataTour = props.dataTour, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, style = props.style, _a = props.tag, Tag = _a === void 0 ? 'div' : _a, onClick = props.onClick;
27
- // @ts-expect-error
26
+ var id = props.id, className = props.className, name = props.name, appearance = props.appearance, dataTestId = props.dataTestId, dataTour = props.dataTour, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, style = props.style, _a = props.tag, Tag = _a === void 0 ? 'div' : _a, onClick = props.onClick, children = props.children;
28
27
  var appearanceConfig = groupConfig.appearance && groupConfig.appearance[appearance];
29
28
  var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
30
29
  var directionClass = propsGenerator.directionClass, flexGrowClass = propsGenerator.flexGrowClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, textColorActiveClass = propsGenerator.textColorActiveClass, textColorClass = propsGenerator.textColorClass, textColorHoverClass = propsGenerator.textColorHoverClass, columnsClass = propsGenerator.columnsClass, contentAlignClass = propsGenerator.contentAlignClass, elevationClass = propsGenerator.elevationClass, heightClass = propsGenerator.heightClass, iconFillHoverClass = propsGenerator.iconFillHoverClass, shapeClass = propsGenerator.shapeClass, stackingClass = propsGenerator.stackingClass, widthClass = propsGenerator.widthClass, wrapClass = propsGenerator.wrapClass;
31
30
  // @ts-expect-error
32
31
  var _b = useStyles.useStyles(props), groupStyles = _b.styles, groupWrapperStyles = _b.wrapper;
33
32
  return (jsxRuntime.jsx(Tag, { id: id, className: clsx(className, 'group', widthClass && "width_".concat(widthClass), heightClass && "height_".concat(heightClass), columnsClass && "group_columns_".concat(columnsClass), contentAlignClass && "group_content-align_".concat(contentAlignClass), alignDirectionClass && "align_".concat(alignDirectionClass), directionClass && "group_direction_".concat(directionClass), alignClass && "align_".concat(alignClass), textColorClass && "group_text-color_".concat(textColorClass), textColorActiveClass &&
34
- "group_text-color_active_".concat(textColorActiveClass), textColorHoverClass &&
35
- "group_text-color_hover_".concat(textColorHoverClass), iconFillHoverClass && "group_icon_fill_hover_".concat(iconFillHoverClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), horizontalScroll && 'group_type_horizontal_scroll', stackingClass && "group_stacking_".concat(stackingClass), wrapClass && "group_wrap_".concat(wrapClass), flexGrowClass && "flex-grow_".concat(flexGrowClass), shapeClass && "group_shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), justifyContentClass && "justify-content_".concat(justifyContentClass), onClick && 'cursor_type_pointer'), name: name, "data-testid": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, ref: ref, style: Object.assign({}, groupStyles, style), onClick: onClick, children: horizontalScroll ? (jsxRuntime.jsx("div", { className: "group__wrapper", style: groupWrapperStyles, children: children })) : (children) }));
33
+ "group_text-color_active_".concat(textColorActiveClass), textColorHoverClass && "group_text-color_hover_".concat(textColorHoverClass), iconFillHoverClass && "group_icon_fill_hover_".concat(iconFillHoverClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), horizontalScroll && 'group_type_horizontal_scroll', stackingClass && "group_stacking_".concat(stackingClass), wrapClass && "group_wrap_".concat(wrapClass), flexGrowClass && "flex-grow_".concat(flexGrowClass), shapeClass && "group_shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), justifyContentClass && "justify-content_".concat(justifyContentClass), onClick && 'cursor_type_pointer'), name: name, "data-testid": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, ref: ref, style: Object.assign({}, groupStyles, style), onClick: onClick, children: horizontalScroll ? (jsxRuntime.jsx("div", { className: "group__wrapper", style: groupWrapperStyles, children: children })) : (children) }));
36
34
  });
37
35
 
38
36
  exports.Group = Group;
@@ -21,16 +21,14 @@ var groupConfig = {
21
21
  },
22
22
  };
23
23
  var Group = React.forwardRef(function Group(props, ref) {
24
- var id = props.id, className = props.className, name = props.name, appearance = props.appearance, children = props.children, dataTestId = props.dataTestId, dataTour = props.dataTour, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, style = props.style, _a = props.tag, Tag = _a === void 0 ? 'div' : _a, onClick = props.onClick;
25
- // @ts-expect-error
24
+ var id = props.id, className = props.className, name = props.name, appearance = props.appearance, dataTestId = props.dataTestId, dataTour = props.dataTour, horizontalScroll = props.horizontalScroll, htmlFor = props.htmlFor, style = props.style, _a = props.tag, Tag = _a === void 0 ? 'div' : _a, onClick = props.onClick, children = props.children;
26
25
  var appearanceConfig = groupConfig.appearance && groupConfig.appearance[appearance];
27
26
  var propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
28
27
  var directionClass = propsGenerator.directionClass, flexGrowClass = propsGenerator.flexGrowClass, justifyContentClass = propsGenerator.justifyContentClass, alignClass = propsGenerator.alignClass, alignDirectionClass = propsGenerator.alignDirectionClass, fillClass = propsGenerator.fillClass, fillHoverClass = propsGenerator.fillHoverClass, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, textColorActiveClass = propsGenerator.textColorActiveClass, textColorClass = propsGenerator.textColorClass, textColorHoverClass = propsGenerator.textColorHoverClass, columnsClass = propsGenerator.columnsClass, contentAlignClass = propsGenerator.contentAlignClass, elevationClass = propsGenerator.elevationClass, heightClass = propsGenerator.heightClass, iconFillHoverClass = propsGenerator.iconFillHoverClass, shapeClass = propsGenerator.shapeClass, stackingClass = propsGenerator.stackingClass, widthClass = propsGenerator.widthClass, wrapClass = propsGenerator.wrapClass;
29
28
  // @ts-expect-error
30
29
  var _b = useStyles(props), groupStyles = _b.styles, groupWrapperStyles = _b.wrapper;
31
30
  return (jsx(Tag, { id: id, className: clsx(className, 'group', widthClass && "width_".concat(widthClass), heightClass && "height_".concat(heightClass), columnsClass && "group_columns_".concat(columnsClass), contentAlignClass && "group_content-align_".concat(contentAlignClass), alignDirectionClass && "align_".concat(alignDirectionClass), directionClass && "group_direction_".concat(directionClass), alignClass && "align_".concat(alignClass), textColorClass && "group_text-color_".concat(textColorClass), textColorActiveClass &&
32
- "group_text-color_active_".concat(textColorActiveClass), textColorHoverClass &&
33
- "group_text-color_hover_".concat(textColorHoverClass), iconFillHoverClass && "group_icon_fill_hover_".concat(iconFillHoverClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), horizontalScroll && 'group_type_horizontal_scroll', stackingClass && "group_stacking_".concat(stackingClass), wrapClass && "group_wrap_".concat(wrapClass), flexGrowClass && "flex-grow_".concat(flexGrowClass), shapeClass && "group_shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), justifyContentClass && "justify-content_".concat(justifyContentClass), onClick && 'cursor_type_pointer'), name: name, "data-testid": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, ref: ref, style: Object.assign({}, groupStyles, style), onClick: onClick, children: horizontalScroll ? (jsx("div", { className: "group__wrapper", style: groupWrapperStyles, children: children })) : (children) }));
31
+ "group_text-color_active_".concat(textColorActiveClass), textColorHoverClass && "group_text-color_hover_".concat(textColorHoverClass), iconFillHoverClass && "group_icon_fill_hover_".concat(iconFillHoverClass), fillClass && "fill_".concat(fillClass), fillHoverClass && "fill_hover_".concat(fillHoverClass), horizontalScroll && 'group_type_horizontal_scroll', stackingClass && "group_stacking_".concat(stackingClass), wrapClass && "group_wrap_".concat(wrapClass), flexGrowClass && "flex-grow_".concat(flexGrowClass), shapeClass && "group_shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), justifyContentClass && "justify-content_".concat(justifyContentClass), onClick && 'cursor_type_pointer'), name: name, "data-testid": dataTestId, "data-tour": dataTour, htmlFor: htmlFor, ref: ref, style: Object.assign({}, groupStyles, style), onClick: onClick, children: horizontalScroll ? (jsx("div", { className: "group__wrapper", style: groupWrapperStyles, children: children })) : (children) }));
34
32
  });
35
33
 
36
34
  export { Group as G, groupAppearance as a, groupConfig as g };
@@ -6,7 +6,7 @@ var clsx = require('clsx');
6
6
  var Cookies = require('js-cookie');
7
7
  var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
8
8
  var Button = require('../../Button-WZZpsxTk.js');
9
- var Group = require('../../Group-Chtnas-J.js');
9
+ var Group = require('../../Group-Cq4AQPqb.js');
10
10
  var Text = require('../../Text-C49zj3jO.js');
11
11
  require('../../tslib.es6-CCZ3TN_7.js');
12
12
  require('lodash/camelCase');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var Group = require('../../Group-Chtnas-J.js');
3
+ var Group = require('../../Group-Cq4AQPqb.js');
4
4
  require('react/jsx-runtime');
5
5
  require('react');
6
6
  require('clsx');
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var tslib_es6 = require('../../tslib.es6-CCZ3TN_7.js');
3
4
  var jsxRuntime = require('react/jsx-runtime');
4
5
  var React = require('react');
5
6
  var clsx = require('clsx');
@@ -7,8 +8,8 @@ var ReactDOM = require('react-dom');
7
8
  var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
8
9
  var useStyles = require('../hooks/useStyles/useStyles.js');
9
10
  var Overlay = require('../../Overlay-DiCjwUv4.js');
11
+ var Title = require('../../Title-BWWyRwLY.js');
10
12
  var Loader = require('../../Loader-DpYaDhe9.js');
11
- require('../../tslib.es6-CCZ3TN_7.js');
12
13
  require('lodash/camelCase');
13
14
  require('lodash/castArray');
14
15
  require('lodash/upperFirst');
@@ -20,14 +21,19 @@ require('lodash/maxBy');
20
21
  require('../hooks/useStyles/styleAttributes.js');
21
22
  require('../../Text-C49zj3jO.js');
22
23
 
23
- var modalAppearance = {
24
- dev: {},
24
+ var modalAppearanceSurface = {
25
+ surfacePrimary: {
26
+ fill: 'surfacePrimary',
27
+ fillHover: 'surfacePrimaryHover',
28
+ },
25
29
  };
26
30
 
31
+ var modalAppearance = tslib_es6.__assign({}, modalAppearanceSurface);
32
+
27
33
  var modalConfig = {
28
34
  appearance: modalAppearance,
29
- setAppearance: function (newComponent) {
30
- modalConfig.appearance = newComponent;
35
+ setAppearance: function (appearanceConfig) {
36
+ modalConfig.appearance = appearanceConfig;
31
37
  },
32
38
  };
33
39
  var getOrCreateModalElement = function (modalQuerySelector, className) {
@@ -52,7 +58,7 @@ var getOrCreateModalElement = function (modalQuerySelector, className) {
52
58
  };
53
59
  // Modal component that is an abstraction around the portal API.
54
60
  var Modal = React.forwardRef(function Modal(props, ref) {
55
- var id = props.id, children = props.children, _a = props.isCloseOnBlur, isCloseOnBlur = _a === void 0 ? true : _a, _b = props.isOpen, initialIsOpen = _b === void 0 ? false : _b, _c = props.isOverlay, isOverlay = _c === void 0 ? true : _c, _d = props.isScrollOnOpen, isScrollOnOpen = _d === void 0 ? true : _d, _e = props.isSetFocusOnOpen, isSetFocusOnOpen = _e === void 0 ? true : _e, appearance = props.appearance, className = props.className, closeButton = props.closeButton, contentClassName = props.contentClassName, _f = props.modalQuerySelector, modalQuerySelector = _f === void 0 ? '#modal-global' : _f, overlayClassName = props.overlayClassName, overlayFill = props.overlayFill, overlayFillGradient = props.overlayFillGradient, overlayOpacity = props.overlayOpacity, dataTestId = props.dataTestId, dataTour = props.dataTour, onClickOverlay = props.onClickOverlay, onCloseModal = props.onCloseModal, onOpenModal = props.onOpenModal;
61
+ var id = props.id, className = props.className, appearance = props.appearance, title = props.title, contentClassName = props.contentClassName, dataTestId = props.dataTestId, dataTour = props.dataTour, _a = props.modalQuerySelector, modalQuerySelector = _a === void 0 ? '#modal-global' : _a, overlayClassName = props.overlayClassName, closeButton = props.closeButton, _b = props.isCloseOnBlur, isCloseOnBlur = _b === void 0 ? true : _b, _c = props.isOpen, initialIsOpen = _c === void 0 ? false : _c, _d = props.isOverlay, isOverlay = _d === void 0 ? true : _d, _e = props.isScrollOnOpen, isScrollOnOpen = _e === void 0 ? true : _e, _f = props.isSetFocusOnOpen, isSetFocusOnOpen = _f === void 0 ? true : _f, isSkeleton = props.isSkeleton, onClickOverlay = props.onClickOverlay, onCloseModal = props.onCloseModal, onOpenModal = props.onOpenModal, children = props.children;
56
62
  // Query DOM element
57
63
  var _g = React.useState(null), modalElement = _g[0], setModalElement = _g[1];
58
64
  var _h = React.useState(initialIsOpen), isOpen = _h[0], setIsOpen = _h[1];
@@ -133,20 +139,22 @@ var Modal = React.forwardRef(function Modal(props, ref) {
133
139
  }
134
140
  }, []);
135
141
  // Save ref things
136
- React.useImperativeHandle(ref, function () { return ({ isOpen: isOpen, closeModal: closeModal, modalElement: modalElement, openModal: openModal }); }, [isOpen, openModal, closeModal, modalElement]);
137
- // @ts-expect-error
138
- var appearanceConfig = modalConfig.appearance && modalConfig.appearance[appearance];
142
+ React.useImperativeHandle(ref, function () { return ({ modalElement: modalElement, openModal: openModal, closeModal: closeModal, isOpen: isOpen }); }, [isOpen, openModal, closeModal, modalElement]);
143
+ var appearanceConfig = appearance === null || appearance === void 0 ? void 0 : appearance.split(' ').reduce(function (resultAppearance, appearance) {
144
+ var _a;
145
+ return (tslib_es6.__assign(tslib_es6.__assign({}, resultAppearance), (_a = modalConfig.appearance) === null || _a === void 0 ? void 0 : _a[appearance]));
146
+ }, {});
139
147
  var propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
140
- var borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass, fillClass = propsGenerator.fillClass, shapeClass = propsGenerator.shapeClass;
148
+ var fillClass = propsGenerator.fillClass, titleTextColor = propsGenerator.titleTextColor, titleTextColorHover = propsGenerator.titleTextColorHover, titleTextSize = propsGenerator.titleTextSize, titleTextTruncate = propsGenerator.titleTextTruncate, titleTextWeight = propsGenerator.titleTextWeight, titleTextWidth = propsGenerator.titleTextWidth, titleTextWrap = propsGenerator.titleTextWrap, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass, overlayFill = propsGenerator.overlayFill, overlayFillGradient = propsGenerator.overlayFillGradient, overlayOpacity = propsGenerator.overlayOpacity, shapeClass = propsGenerator.shapeClass;
141
149
  // @ts-expect-error
142
150
  var modalStyles = useStyles.useStyles(props).styles;
143
151
  // Use a portal to render the children into the element
144
152
  return (modalElement &&
145
153
  ReactDOM.createPortal(
146
154
  // Any valid React child: JSX, strings, arrays, etc.
147
- isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass)), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef, id: id, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [closeButton && (jsxRuntime.jsx("div", { className: "modal-content__close", onClick: closeModal, children: closeButton })), jsxRuntime.jsx("div", { className: "modal-content__wrapper", children: children })] }), jsxRuntime.jsx(Overlay.Overlay, { className: clsx('modal__overlay', 'overlay_type_modal', overlayClassName),
155
+ isOpen ? (jsxRuntime.jsxs(React.Fragment, { children: [jsxRuntime.jsxs("div", { id: id, className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), isSkeleton && 'modal_skeleton'), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [title && (jsxRuntime.jsx(Title.Title, { className: "modal-content__title", width: titleTextWidth, size: titleTextSize, textColor: titleTextColor, textColorHover: titleTextColorHover, textTruncate: titleTextTruncate, textWeight: titleTextWeight, textWrap: titleTextWrap, children: title })), closeButton && (jsxRuntime.jsx("div", { className: "modal-content__close", onClick: closeModal, children: closeButton })), jsxRuntime.jsx("div", { className: "modal-content__wrapper", children: children })] }), jsxRuntime.jsx(Overlay.Overlay, { className: clsx('modal__overlay', 'overlay_type_modal', overlayClassName),
148
156
  // ref={modalOverlayRef}
149
- fill: overlayFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayFill), opacity: overlayOpacity || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayOpacity), fillGradient: overlayFillGradient || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayFillGradient), isOverlay: isOverlay || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.isOverlay), onClick: onClickOverlay })] })) : null,
157
+ fill: overlayFill, fillGradient: overlayFillGradient, opacity: overlayOpacity, isOverlay: isOverlay, onClick: onClickOverlay })] })) : null,
150
158
  // A DOM element
151
159
  modalElement));
152
160
  });
@@ -5,7 +5,7 @@ var React = require('react');
5
5
  var clsx = require('clsx');
6
6
  var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
7
7
  var useStyles = require('../hooks/useStyles/useStyles.js');
8
- var Group = require('../../Group-Chtnas-J.js');
8
+ var Group = require('../../Group-Cq4AQPqb.js');
9
9
  var Text = require('../../Text-C49zj3jO.js');
10
10
  require('../../tslib.es6-CCZ3TN_7.js');
11
11
  require('lodash/camelCase');
@@ -8,7 +8,7 @@ var SVG = require('react-inlinesvg');
8
8
  var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
9
9
  var useStyles = require('../hooks/useStyles/useStyles.js');
10
10
  var Button = require('../../Button-WZZpsxTk.js');
11
- var Group = require('../../Group-Chtnas-J.js');
11
+ var Group = require('../../Group-Cq4AQPqb.js');
12
12
  var Text = require('../../Text-C49zj3jO.js');
13
13
  require('lodash/camelCase');
14
14
  require('lodash/castArray');
@@ -10,7 +10,7 @@ var CreatableSelect = require('react-select/creatable');
10
10
  var useDevicePropsGenerator = require('../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
11
11
  var Text = require('../../Text-C49zj3jO.js');
12
12
  var Badge = require('../../Badge-C6SNRExV.js');
13
- var Group = require('../../Group-Chtnas-J.js');
13
+ var Group = require('../../Group-Cq4AQPqb.js');
14
14
  var Divider = require('../../Divider-ImOOytuN.js');
15
15
  require('react-inlinesvg');
16
16
  require('../hooks/useStyles/useStyles.js');
@@ -4,7 +4,7 @@ import clsx from 'clsx';
4
4
  import Cookies from 'js-cookie';
5
5
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
6
6
  import { B as Button } from '../Button-Bsrw4D7p.js';
7
- import { G as Group } from '../Group-DiMnEfge.js';
7
+ import { G as Group } from '../Group-Dz8xytje.js';
8
8
  import { T as Text } from '../Text-C6NSmetx.js';
9
9
  import '../tslib.es6-5FtW-kfi.js';
10
10
  import 'lodash/camelCase';
@@ -1,4 +1,4 @@
1
- export { G as Group, a as groupAppearance, g as groupConfig } from '../Group-DiMnEfge.js';
1
+ export { G as Group, a as groupAppearance, g as groupConfig } from '../Group-Dz8xytje.js';
2
2
  import 'react/jsx-runtime';
3
3
  import 'react';
4
4
  import 'clsx';
@@ -1,3 +1,4 @@
1
+ import { _ as __assign } from '../tslib.es6-5FtW-kfi.js';
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import React, { useState, useRef, useCallback, useEffect, useLayoutEffect, useImperativeHandle } from 'react';
3
4
  import clsx from 'clsx';
@@ -5,8 +6,8 @@ import ReactDOM from 'react-dom';
5
6
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
6
7
  import { useStyles } from '../hooks/useStyles/useStyles.js';
7
8
  import { O as Overlay } from '../Overlay-BKh07Vb2.js';
9
+ import { T as Title } from '../Title-Dck3eHNM.js';
8
10
  import { L as Loader } from '../Loader-D4_r7LML.js';
9
- import '../tslib.es6-5FtW-kfi.js';
10
11
  import 'lodash/camelCase';
11
12
  import 'lodash/castArray';
12
13
  import 'lodash/upperFirst';
@@ -18,14 +19,19 @@ import 'lodash/maxBy';
18
19
  import '../hooks/useStyles/styleAttributes.js';
19
20
  import '../Text-C6NSmetx.js';
20
21
 
21
- var modalAppearance = {
22
- dev: {},
22
+ var modalAppearanceSurface = {
23
+ surfacePrimary: {
24
+ fill: 'surfacePrimary',
25
+ fillHover: 'surfacePrimaryHover',
26
+ },
23
27
  };
24
28
 
29
+ var modalAppearance = __assign({}, modalAppearanceSurface);
30
+
25
31
  var modalConfig = {
26
32
  appearance: modalAppearance,
27
- setAppearance: function (newComponent) {
28
- modalConfig.appearance = newComponent;
33
+ setAppearance: function (appearanceConfig) {
34
+ modalConfig.appearance = appearanceConfig;
29
35
  },
30
36
  };
31
37
  var getOrCreateModalElement = function (modalQuerySelector, className) {
@@ -50,7 +56,7 @@ var getOrCreateModalElement = function (modalQuerySelector, className) {
50
56
  };
51
57
  // Modal component that is an abstraction around the portal API.
52
58
  var Modal = React.forwardRef(function Modal(props, ref) {
53
- var id = props.id, children = props.children, _a = props.isCloseOnBlur, isCloseOnBlur = _a === void 0 ? true : _a, _b = props.isOpen, initialIsOpen = _b === void 0 ? false : _b, _c = props.isOverlay, isOverlay = _c === void 0 ? true : _c, _d = props.isScrollOnOpen, isScrollOnOpen = _d === void 0 ? true : _d, _e = props.isSetFocusOnOpen, isSetFocusOnOpen = _e === void 0 ? true : _e, appearance = props.appearance, className = props.className, closeButton = props.closeButton, contentClassName = props.contentClassName, _f = props.modalQuerySelector, modalQuerySelector = _f === void 0 ? '#modal-global' : _f, overlayClassName = props.overlayClassName, overlayFill = props.overlayFill, overlayFillGradient = props.overlayFillGradient, overlayOpacity = props.overlayOpacity, dataTestId = props.dataTestId, dataTour = props.dataTour, onClickOverlay = props.onClickOverlay, onCloseModal = props.onCloseModal, onOpenModal = props.onOpenModal;
59
+ var id = props.id, className = props.className, appearance = props.appearance, title = props.title, contentClassName = props.contentClassName, dataTestId = props.dataTestId, dataTour = props.dataTour, _a = props.modalQuerySelector, modalQuerySelector = _a === void 0 ? '#modal-global' : _a, overlayClassName = props.overlayClassName, closeButton = props.closeButton, _b = props.isCloseOnBlur, isCloseOnBlur = _b === void 0 ? true : _b, _c = props.isOpen, initialIsOpen = _c === void 0 ? false : _c, _d = props.isOverlay, isOverlay = _d === void 0 ? true : _d, _e = props.isScrollOnOpen, isScrollOnOpen = _e === void 0 ? true : _e, _f = props.isSetFocusOnOpen, isSetFocusOnOpen = _f === void 0 ? true : _f, isSkeleton = props.isSkeleton, onClickOverlay = props.onClickOverlay, onCloseModal = props.onCloseModal, onOpenModal = props.onOpenModal, children = props.children;
54
60
  // Query DOM element
55
61
  var _g = useState(null), modalElement = _g[0], setModalElement = _g[1];
56
62
  var _h = useState(initialIsOpen), isOpen = _h[0], setIsOpen = _h[1];
@@ -131,20 +137,22 @@ var Modal = React.forwardRef(function Modal(props, ref) {
131
137
  }
132
138
  }, []);
133
139
  // Save ref things
134
- useImperativeHandle(ref, function () { return ({ isOpen: isOpen, closeModal: closeModal, modalElement: modalElement, openModal: openModal }); }, [isOpen, openModal, closeModal, modalElement]);
135
- // @ts-expect-error
136
- var appearanceConfig = modalConfig.appearance && modalConfig.appearance[appearance];
140
+ useImperativeHandle(ref, function () { return ({ modalElement: modalElement, openModal: openModal, closeModal: closeModal, isOpen: isOpen }); }, [isOpen, openModal, closeModal, modalElement]);
141
+ var appearanceConfig = appearance === null || appearance === void 0 ? void 0 : appearance.split(' ').reduce(function (resultAppearance, appearance) {
142
+ var _a;
143
+ return (__assign(__assign({}, resultAppearance), (_a = modalConfig.appearance) === null || _a === void 0 ? void 0 : _a[appearance]));
144
+ }, {});
137
145
  var propsGenerator = useDevicePropsGenerator(props, appearanceConfig);
138
- var borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass, fillClass = propsGenerator.fillClass, shapeClass = propsGenerator.shapeClass;
146
+ var fillClass = propsGenerator.fillClass, titleTextColor = propsGenerator.titleTextColor, titleTextColorHover = propsGenerator.titleTextColorHover, titleTextSize = propsGenerator.titleTextSize, titleTextTruncate = propsGenerator.titleTextTruncate, titleTextWeight = propsGenerator.titleTextWeight, titleTextWidth = propsGenerator.titleTextWidth, titleTextWrap = propsGenerator.titleTextWrap, borderColorClass = propsGenerator.borderColorClass, borderTypeClass = propsGenerator.borderTypeClass, borderWidthClass = propsGenerator.borderWidthClass, elevationClass = propsGenerator.elevationClass, overlayFill = propsGenerator.overlayFill, overlayFillGradient = propsGenerator.overlayFillGradient, overlayOpacity = propsGenerator.overlayOpacity, shapeClass = propsGenerator.shapeClass;
139
147
  // @ts-expect-error
140
148
  var modalStyles = useStyles(props).styles;
141
149
  // Use a portal to render the children into the element
142
150
  return (modalElement &&
143
151
  ReactDOM.createPortal(
144
152
  // Any valid React child: JSX, strings, arrays, etc.
145
- isOpen ? (jsxs(React.Fragment, { children: [jsxs("div", { className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass)), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef, id: id, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [closeButton && (jsx("div", { className: "modal-content__close", onClick: closeModal, children: closeButton })), jsx("div", { className: "modal-content__wrapper", children: children })] }), jsx(Overlay, { className: clsx('modal__overlay', 'overlay_type_modal', overlayClassName),
153
+ isOpen ? (jsxs(React.Fragment, { children: [jsxs("div", { id: id, className: clsx('modal-content', contentClassName, fillClass && "fill_".concat(fillClass), shapeClass && "modal-shape_".concat(shapeClass), borderColorClass && "border-color_".concat(borderColorClass), borderWidthClass && "border-width_".concat(borderWidthClass), borderTypeClass && "border_type_".concat(borderTypeClass), elevationClass && "elevation_".concat(elevationClass), isSkeleton && 'modal_skeleton'), "data-testid": dataTestId, "data-tour": dataTour, ref: modalContentRef, style: modalStyles, tabIndex: 0, onBlur: isCloseOnBlur ? closeModal : undefined, children: [title && (jsx(Title, { className: "modal-content__title", width: titleTextWidth, size: titleTextSize, textColor: titleTextColor, textColorHover: titleTextColorHover, textTruncate: titleTextTruncate, textWeight: titleTextWeight, textWrap: titleTextWrap, children: title })), closeButton && (jsx("div", { className: "modal-content__close", onClick: closeModal, children: closeButton })), jsx("div", { className: "modal-content__wrapper", children: children })] }), jsx(Overlay, { className: clsx('modal__overlay', 'overlay_type_modal', overlayClassName),
146
154
  // ref={modalOverlayRef}
147
- fill: overlayFill || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayFill), opacity: overlayOpacity || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayOpacity), fillGradient: overlayFillGradient || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.overlayFillGradient), isOverlay: isOverlay || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.isOverlay), onClick: onClickOverlay })] })) : null,
155
+ fill: overlayFill, fillGradient: overlayFillGradient, opacity: overlayOpacity, isOverlay: isOverlay, onClick: onClickOverlay })] })) : null,
148
156
  // A DOM element
149
157
  modalElement));
150
158
  });
@@ -3,7 +3,7 @@ import React from 'react';
3
3
  import clsx from 'clsx';
4
4
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
5
5
  import { useStyles } from '../hooks/useStyles/useStyles.js';
6
- import { G as Group } from '../Group-DiMnEfge.js';
6
+ import { G as Group } from '../Group-Dz8xytje.js';
7
7
  import { T as Text } from '../Text-C6NSmetx.js';
8
8
  import '../tslib.es6-5FtW-kfi.js';
9
9
  import 'lodash/camelCase';
@@ -6,7 +6,7 @@ import SVG from 'react-inlinesvg';
6
6
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
7
7
  import { useStyles } from '../hooks/useStyles/useStyles.js';
8
8
  import { B as Button } from '../Button-Bsrw4D7p.js';
9
- import { G as Group } from '../Group-DiMnEfge.js';
9
+ import { G as Group } from '../Group-Dz8xytje.js';
10
10
  import { T as Text } from '../Text-C6NSmetx.js';
11
11
  import 'lodash/camelCase';
12
12
  import 'lodash/castArray';
@@ -8,7 +8,7 @@ import CreatableSelect from 'react-select/creatable';
8
8
  import { useDevicePropsGenerator } from '../hooks/useDevicePropsGenerator/useDevicePropsGenerator.js';
9
9
  import { T as Text } from '../Text-C6NSmetx.js';
10
10
  import { B as Badge } from '../Badge-C68XnlcL.js';
11
- import { G as Group } from '../Group-DiMnEfge.js';
11
+ import { G as Group } from '../Group-Dz8xytje.js';
12
12
  import { D as Divider } from '../Divider-BQcBkzt1.js';
13
13
  import 'react-inlinesvg';
14
14
  import '../hooks/useStyles/useStyles.js';
@@ -1,2 +1,2 @@
1
- import { modalAppearanceType } from './Modal.interface';
2
- export declare const modalAppearance: modalAppearanceType;
1
+ import { tModalAppearance } from './Modal.interface';
2
+ export declare const modalAppearance: tModalAppearance;
@@ -14,13 +14,13 @@ export interface iModalThemeColor {
14
14
  isOverlay?: boolean;
15
15
  }
16
16
  type tAppearanceKeys = tAppearanceKeysDefault & {};
17
- export type modalAppearanceType = {
17
+ export type tModalAppearance = {
18
18
  [key in tAppearanceKeys]?: iModalThemeColor;
19
19
  };
20
20
  export interface iModalConfig {
21
21
  [key: number | string | symbol]: any;
22
- appearance: modalAppearanceType | undefined;
23
- setAppearance: (newComponent: modalAppearanceType) => void;
22
+ appearance: tModalAppearance | undefined;
23
+ setAppearance: (newComponent: tModalAppearance) => void;
24
24
  }
25
25
  interface iModalLoaderProps {
26
26
  }
@@ -0,0 +1,7 @@
1
+ declare const modalAppearanceSurface: {
2
+ surfacePrimary: {
3
+ fill: string;
4
+ fillHover: string;
5
+ };
6
+ };
7
+ export { modalAppearanceSurface };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itcase/ui",
3
- "version": "1.4.5",
3
+ "version": "1.4.6",
4
4
  "description": "UI components (Modal, Loader, Popup, etc)",
5
5
  "keywords": [
6
6
  "Modal",
@@ -97,10 +97,10 @@
97
97
  "@itcase/storybook-config": "^1.1.3",
98
98
  "clsx": "^2.1.1",
99
99
  "date-fns": "^4.1.0",
100
- "framer-motion": "^12.6.4",
100
+ "framer-motion": "^12.6.5",
101
101
  "js-cookie": "^3.0.5",
102
102
  "lodash": "^4.17.21",
103
- "motion": "^12.6.4",
103
+ "motion": "^12.6.5",
104
104
  "rc-slider": "^11.1.8",
105
105
  "react": "^18.3.1",
106
106
  "react-dadata": "^2.27.4",
@@ -1,19 +0,0 @@
1
- import { Canvas, Meta } from '@storybook/blocks'
2
-
3
- import * as TileStories from '../stories/Tile.stories.tsx'
4
-
5
- <Meta of={TileStories} />
6
-
7
- # Tile
8
-
9
- ## Normal
10
-
11
- <Canvas of={TileStories.Normal} />
12
-
13
- ## Compact
14
-
15
- <Canvas of={TileStories.Compact} />
16
-
17
- ## WithBadge
18
-
19
- <Canvas of={TileStories.WithBadge} />
File without changes
File without changes
File without changes
File without changes