@itcase/ui 1.2.18 → 1.2.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Group-BDuYmoBK.js → Group-B2oTJg0t.js} +1 -1
- package/dist/{Group-12uup5mu.js → Group-CVUfaHaS.js} +1 -1
- package/dist/cjs/components/Accordion.js +3 -2
- package/dist/cjs/components/Choice.js +11 -3
- package/dist/cjs/components/CookiesWarning.js +1 -1
- package/dist/cjs/components/Group.js +1 -1
- package/dist/cjs/components/InputPassword.js +6 -6
- package/dist/cjs/components/Panel.js +1 -1
- package/dist/cjs/components/Radio.js +85 -8
- package/dist/cjs/components/Response.js +1 -1
- package/dist/cjs/components/Select.js +1 -1
- package/dist/cjs/components/Switch.js +12 -8
- package/dist/cjs/components/Tile.js +3 -3
- package/dist/cjs/constants/componentProps/textColor.js +1 -1
- package/dist/cjs/constants/componentProps/textColorHover.js +1 -1
- package/dist/cjs/hooks/useViewportFix.js +43 -0
- package/dist/components/Accordion.js +3 -2
- package/dist/components/Choice.js +11 -3
- package/dist/components/CookiesWarning.js +1 -1
- package/dist/components/Group.js +1 -1
- package/dist/components/InputPassword.js +6 -6
- package/dist/components/Panel.js +1 -1
- package/dist/components/Radio.js +86 -5
- package/dist/components/Response.js +1 -1
- package/dist/components/Select.js +1 -1
- package/dist/components/Switch.js +12 -4
- package/dist/components/Tile.js +3 -3
- package/dist/constants/componentProps/textColor.js +1 -1
- package/dist/constants/componentProps/textColorHover.js +1 -1
- package/dist/css/components/Accordion/Accordion.css +1 -0
- package/dist/css/components/Choice/Choice.css +14 -0
- package/dist/css/components/DatePicker/DatePicker.css +12 -12
- package/dist/css/components/Icon/Icon.css +14 -8
- package/dist/css/components/Select/Select.css +1 -1
- package/dist/css/components/Select/css/__input-container/select__input-container.css +1 -1
- package/dist/css/mixins/mixin_animation.css +1 -1
- package/dist/css/mixins/mixin_elevation.css +0 -2
- package/dist/css/mixins/mixin_typography.css +105 -84
- package/dist/css/mixins/mixin_utils.css +1 -1
- package/dist/css/styles/border-color/border-color.css +4 -2
- package/dist/css/styles/text-gradient/text-gradient.css +9 -4
- package/dist/css/styles/width/width.css +1 -1
- package/dist/css/tokens/colors.css +105 -0
- package/dist/css/tokens/elevation.css +10 -0
- package/dist/css/tokens/settings.css +31 -0
- package/dist/css/tokens/typography.css +127 -0
- package/dist/hooks/useViewportFix.js +41 -0
- package/dist/stories/Accordion.mdx +11 -0
- package/dist/stories/Accordion.stories.js +49 -32
- package/dist/stories/AccordionItem.mdx +15 -0
- package/dist/stories/AccordionItem.stories.js +69 -69
- package/dist/stories/AlignContent.mdx +85 -0
- package/dist/stories/AlignItems.mdx +74 -0
- package/dist/stories/AlignItems.stories.js +88 -0
- package/dist/stories/AlignSelf.mdx +85 -0
- package/dist/stories/AlignSelf.stories.js +101 -0
- package/dist/stories/Appearance.mdx +35 -0
- package/dist/stories/Appearance.stories.js +101 -0
- package/dist/stories/Avatar.mdx +23 -0
- package/dist/stories/Avatar.stories.js +69 -64
- package/dist/stories/Badge.mdx +20 -0
- package/dist/stories/Badge.stories.js +43 -44
- package/dist/stories/Button.mdx +48 -0
- package/dist/stories/Button.stories.js +26 -186
- package/dist/stories/Cell.mdx +23 -0
- package/dist/stories/Cell.stories.js +119 -119
- package/dist/stories/Checkbox.mdx +24 -0
- package/dist/stories/Checkbox.stories.js +42 -34
- package/dist/stories/Chips.mdx +31 -0
- package/dist/stories/Chips.stories.js +22 -67
- package/dist/stories/Choice.mdx +11 -0
- package/dist/stories/Choice.stories.js +59 -61
- package/dist/stories/Code.mdx +11 -0
- package/dist/stories/Code.stories.js +37 -40
- package/dist/stories/Columns.mdx +51 -0
- package/dist/stories/Columns.stories.js +80 -0
- package/dist/stories/Configure.mdx +364 -0
- package/dist/stories/DatePicker.mdx +31 -0
- package/dist/stories/DatePicker.stories.js +58 -59
- package/dist/stories/Dev.mdx +9 -0
- package/dist/stories/DevMode.mdx +8 -0
- package/dist/stories/Direction.mdx +84 -0
- package/dist/stories/Direction.stories.js +93 -0
- package/dist/stories/Divider.mdx +35 -0
- package/dist/stories/Divider.stories.js +28 -29
- package/dist/stories/Dot.mdx +19 -0
- package/dist/stories/Dot.stories.js +38 -39
- package/dist/stories/Drawer.mdx +11 -0
- package/dist/stories/Drawer.stories.js +75 -0
- package/dist/stories/Dropdown.mdx +12 -0
- package/dist/stories/Dropdown.stories.js +30 -29
- package/dist/stories/DropdownItem.mdx +19 -0
- package/dist/stories/DropdownItem.stories.js +76 -78
- package/dist/stories/Flex.stories.js +47 -0
- package/dist/stories/FlexAlignContent.stories.js +102 -0
- package/dist/stories/FlexAlignItems.stories.js +91 -0
- package/dist/stories/FlexAlignSelf.stories.js +97 -0
- package/dist/stories/FlexDirection.stories.js +112 -0
- package/dist/stories/FlexGrow.stories.js +69 -0
- package/dist/stories/FlexJustifyContent.stories.js +98 -0
- package/dist/stories/FlexOrder.stories.js +76 -0
- package/dist/stories/FlexWrap.stories.js +89 -0
- package/dist/stories/Grid.stories.js +202 -0
- package/dist/stories/Group.mdx +9 -0
- package/dist/stories/{Tab.group.stories.js → Group.stories.js} +60 -56
- package/dist/stories/Grow.mdx +40 -0
- package/dist/stories/Header.stories.js +29 -0
- package/dist/stories/Icon.mdx +15 -0
- package/dist/stories/Icon.stories.js +84 -82
- package/dist/stories/Image.mdx +15 -0
- package/dist/stories/Image.stories.js +134 -0
- package/dist/stories/Input.mdx +31 -0
- package/dist/stories/Input.stories.js +26 -26
- package/dist/stories/InputPassword.mdx +15 -0
- package/dist/stories/InputPassword.stories.js +32 -34
- package/dist/stories/JustifyContent.mdx +89 -0
- package/dist/stories/JustifyContent.stories.js +96 -0
- package/dist/stories/Label.mdx +31 -0
- package/dist/stories/Label.stories.js +63 -53
- package/dist/stories/Loader.mdx +31 -0
- package/dist/stories/Loader.stories.js +26 -28
- package/dist/stories/Logo.mdx +19 -0
- package/dist/stories/Logo.stories.js +28 -28
- package/dist/stories/MenuItem.mdx +15 -0
- package/dist/stories/MenuItem.stories.js +156 -91
- package/dist/stories/Message.mdx +12 -0
- package/dist/stories/Message.stories.js +34 -0
- package/dist/stories/ModalConfirm.stories.js +48 -47
- package/dist/stories/ModalDefault.stories.js +21 -20
- package/dist/stories/Notification.mdx +23 -0
- package/dist/stories/Notification.stories.js +24 -47
- package/dist/stories/Order.mdx +52 -0
- package/dist/stories/Overview.mdx +11 -0
- package/dist/stories/Page.stories.js +28 -0
- package/dist/stories/Pagination.mdx +11 -0
- package/dist/stories/Pagination.stories.js +24 -27
- package/dist/stories/Playground.mdx +10 -0
- package/dist/stories/Radio.mdx +29 -0
- package/dist/stories/Radio.stories.js +32 -33
- package/dist/stories/Response.mdx +18 -0
- package/dist/stories/Response.stories.js +66 -0
- package/dist/stories/SearchInput.mdx +19 -0
- package/dist/stories/{Search-input.stories.js → SearchInput.stories.js} +79 -62
- package/dist/stories/Segmented.mdx +11 -0
- package/dist/stories/Segmented.stories.js +49 -50
- package/dist/stories/Select.stories.js +155 -155
- package/dist/stories/Size.mdx +35 -0
- package/dist/stories/Size.stories.js +101 -0
- package/dist/stories/Skeleton.mdx +9 -0
- package/dist/stories/State.mdx +19 -0
- package/dist/stories/State.stories.js +70 -0
- package/dist/stories/Switch.mdx +23 -0
- package/dist/stories/Switch.stories.js +23 -23
- package/dist/stories/Text.mdx +35 -0
- package/dist/stories/Text.stories.js +172 -0
- package/dist/stories/Textarea.mdx +15 -0
- package/dist/stories/Textarea.stories.js +27 -27
- package/dist/stories/Tile.mdx +19 -0
- package/dist/stories/Tile.stories.js +112 -97
- package/dist/stories/Title.mdx +31 -0
- package/dist/stories/Title.stories.js +168 -0
- package/dist/stories/Tooltip.mdx +19 -0
- package/dist/stories/Tooltip.stories.js +164 -0
- package/dist/stories/WithTooltip.mdx +9 -0
- package/dist/stories/Wrap.mdx +52 -0
- package/dist/stories/Wrap.stories.js +74 -0
- package/dist/types/components/Accordion/Accordion.interface.d.ts +4 -0
- package/dist/types/components/Choice/Choice.interface.d.ts +2 -2
- package/dist/types/components/InputPassword/InputPassword.interface.d.ts +10 -8
- package/dist/types/components/Tile/Tile.d.ts +1 -1
- package/dist/types/components/Tile/Tile.interface.d.ts +3 -1
- package/dist/types/config/forms/datepicker.d.ts +18 -0
- package/dist/types/config/forms/index.d.ts +4 -0
- package/dist/types/config/forms/input.d.ts +14 -0
- package/dist/types/config/forms/select.d.ts +50 -0
- package/dist/types/hooks/useViewportFix.d.ts +2 -0
- package/dist/types/types/componentProps/flexWrap.d.ts +1 -1
- package/dist/types/types/componentProps/wrap.d.ts +1 -1
- package/package.json +38 -22
- package/dist/Radio-BQo97TZL.js +0 -89
- package/dist/Radio-oMf0vN7T.js +0 -86
- package/dist/Switch-B5yVEqxz.js +0 -14
- package/dist/Switch-DEXsrPCo.js +0 -12
- package/dist/cjs/components/FormField.js +0 -122
- package/dist/components/FormField.js +0 -116
- package/dist/css/mixins/mixin.css +0 -73
- package/dist/stories/FormFieldCheckbox.stories.js +0 -77
- package/dist/stories/FormFieldChoice.stories.js +0 -75
- package/dist/stories/FormFieldDatepicker.stories.js +0 -51
- package/dist/stories/FormFieldFileInput.stories.js +0 -58
- package/dist/stories/FormFieldInput.stories.js +0 -66
- package/dist/stories/FormFieldInputPassword.stories.js +0 -66
- package/dist/stories/FormFieldMultiBadgeSelect.stories.js +0 -132
- package/dist/stories/FormFieldMultiSelect.stories.js +0 -127
- package/dist/stories/FormFieldSelect.stories.js +0 -99
- package/dist/stories/FormFieldSelectGroup.stories.js +0 -84
- package/dist/stories/NotFound.stories.js +0 -93
- package/dist/stories/Tab.appearance.stories.js +0 -260
- package/dist/stories/Tab.size.stories.js +0 -259
- package/dist/stories/Tab.state.stories.js +0 -227
- package/dist/types/components/FormField/ChoiceField.d.ts +0 -8
- package/dist/types/components/FormField/FormField.d.ts +0 -9
- package/dist/types/components/FormField/FormFiled.interface.d.ts +0 -77
- package/dist/types/components/FormField/PasswordField.d.ts +0 -9
- package/dist/types/components/FormField/SelectField.d.ts +0 -9
- package/dist/types/components/FormField/SwitchField.d.ts +0 -8
- package/dist/types/components/FormField/index.d.ts +0 -6
package/dist/Radio-oMf0vN7T.js
DELETED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import clsx from 'clsx';
|
|
3
|
-
import { useDeviceTargetClass } from './hooks/useDeviceTargetClass.js';
|
|
4
|
-
import { T as Text } from './Text-CG3xPG27.js';
|
|
5
|
-
|
|
6
|
-
var radioConfig = {
|
|
7
|
-
state: undefined,
|
|
8
|
-
setState: function (newComponent) {
|
|
9
|
-
radioConfig.state = newComponent;
|
|
10
|
-
},
|
|
11
|
-
appearance: undefined,
|
|
12
|
-
setAppearance: function (newComponent) {
|
|
13
|
-
radioConfig.appearance = newComponent;
|
|
14
|
-
},
|
|
15
|
-
};
|
|
16
|
-
function Radio(props) {
|
|
17
|
-
var appearance = props.appearance, checked = props.checked, className = props.className, desc = props.desc, descTextColor = props.descTextColor, descTextSize = props.descTextSize, descTextWeight = props.descTextWeight, disabled = props.disabled, id = props.id, label = props.label, labelTextColor = props.labelTextColor, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, _a = props.tag, Tag = _a === void 0 ? 'label' : _a, onChange = props.onChange;
|
|
18
|
-
var fillClass = useDeviceTargetClass(props, {
|
|
19
|
-
prefix: 'fill_',
|
|
20
|
-
propsKey: 'fill',
|
|
21
|
-
});
|
|
22
|
-
var shapeClass = useDeviceTargetClass(props, {
|
|
23
|
-
prefix: 'radio_shape_',
|
|
24
|
-
propsKey: 'shape',
|
|
25
|
-
});
|
|
26
|
-
var stateShapeClass = useDeviceTargetClass(props, {
|
|
27
|
-
prefix: 'radio__state_shape_',
|
|
28
|
-
propsKey: 'stateShape',
|
|
29
|
-
});
|
|
30
|
-
var stateFillClass = useDeviceTargetClass(props, {
|
|
31
|
-
prefix: 'fill_',
|
|
32
|
-
propsKey: checked ? 'stateFillChecked' : 'stateFill',
|
|
33
|
-
});
|
|
34
|
-
var stateFillDisabledClass = useDeviceTargetClass(props, {
|
|
35
|
-
prefix: 'fill_',
|
|
36
|
-
propsKey: checked ? 'stateFillDisabledChecked' : 'stateFillDisabled',
|
|
37
|
-
});
|
|
38
|
-
var stateCheckmarkFillClass = useDeviceTargetClass(props, {
|
|
39
|
-
prefix: 'radio_checkmark_fill_',
|
|
40
|
-
propsKey: disabled ? 'stateCheckmarkFillDisabled' : 'stateCheckmarkFill',
|
|
41
|
-
});
|
|
42
|
-
var stateBorderWidthClass = useDeviceTargetClass(props, {
|
|
43
|
-
prefix: 'border-width_',
|
|
44
|
-
propsKey: 'stateBorderWidth',
|
|
45
|
-
});
|
|
46
|
-
var stateBorderColorClass = useDeviceTargetClass(props, {
|
|
47
|
-
prefix: 'border-color_',
|
|
48
|
-
propsKey: checked ? 'stateBorderColorChecked' : 'stateBorderColor',
|
|
49
|
-
});
|
|
50
|
-
var stateBorderColorHoverClass = useDeviceTargetClass(props, {
|
|
51
|
-
prefix: 'border-color_hover_',
|
|
52
|
-
propsKey: checked ? 'stateBorderColorHoverChecked' : 'stateBorderColorHover',
|
|
53
|
-
});
|
|
54
|
-
var stateBorderColorDisabledClass = useDeviceTargetClass(props, {
|
|
55
|
-
prefix: 'border-color_',
|
|
56
|
-
propsKey: checked ? 'stateBorderColorDisabledChecked' : 'stateBorderColorDisabled',
|
|
57
|
-
});
|
|
58
|
-
var appearanceConfig = appearance && radioConfig.appearance && radioConfig.appearance[appearance];
|
|
59
|
-
return (jsxs(Tag, { className: clsx(className, 'radio', fillClass, shapeClass), htmlFor: id, children: [jsxs("div", { className: clsx('radio__item', stateCheckmarkFillClass ||
|
|
60
|
-
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.stateCheckmarkFill) &&
|
|
61
|
-
"radio_checkmark_fill_".concat(appearanceConfig.stateCheckmarkFill)
|
|
62
|
-
.replace(/([A-Z])/g, '-$1')
|
|
63
|
-
.toLowerCase())), children: [jsx("input", { checked: checked, className: "radio__input", disabled: disabled,
|
|
64
|
-
// @ts-expect-error
|
|
65
|
-
id: id, type: "radio", onChange: onChange }), jsx("div", { className: clsx('radio__state', disabled ? stateFillDisabledClass : stateFillClass, disabled
|
|
66
|
-
? stateBorderColorDisabledClass
|
|
67
|
-
: stateBorderColorClass ||
|
|
68
|
-
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.stateBorderColor) &&
|
|
69
|
-
"border-color_".concat(appearanceConfig.stateBorderColor)
|
|
70
|
-
.replace(/([A-Z])/g, '-$1')
|
|
71
|
-
.toLowerCase()), stateBorderColorHoverClass, stateShapeClass ||
|
|
72
|
-
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.stateShape) &&
|
|
73
|
-
"radio__state_shape_".concat(appearanceConfig.stateShape)
|
|
74
|
-
.replace(/([A-Z])/g, '-$1')
|
|
75
|
-
.toLowerCase()), stateBorderWidthClass ||
|
|
76
|
-
((appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.stateBorderWidth) &&
|
|
77
|
-
"border-width_".concat(appearanceConfig.stateBorderWidth)
|
|
78
|
-
.replace(/([A-Z])/g, '-$1')
|
|
79
|
-
.toLowerCase())), children: "\u00A0" }), jsx("div", { className: "radio__state-checkmark", children: "\u00A0" })] }), label && (jsx(Text, { className: "radio__label", size: labelTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextSize), textColor: labelTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.labelTextColor), textWeight: labelTextWeight, children: label })), desc && (jsx(Text, { className: "radio__desc", size: descTextSize || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextSize), textColor: descTextColor || (appearanceConfig === null || appearanceConfig === void 0 ? void 0 : appearanceConfig.descTextColor), textWeight: descTextWeight, children: desc }))] }));
|
|
80
|
-
}
|
|
81
|
-
Radio.defaultProps = {
|
|
82
|
-
shape: 'circular',
|
|
83
|
-
tag: 'label',
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export { Radio as R, radioConfig as r };
|
package/dist/Switch-B5yVEqxz.js
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
var React = require('react');
|
|
5
|
-
var clsx = require('clsx');
|
|
6
|
-
|
|
7
|
-
var Switch = React.forwardRef(function Switch(props, ref) {
|
|
8
|
-
var className = props.className, set = props.set, size = props.size, id = props.id, checked = props.checked, disabled = props.disabled, onChange = props.onChange;
|
|
9
|
-
return (jsxRuntime.jsxs("div", { className: clsx('switch', className, size && "switch_size_".concat(size), set && "switch_set_".concat(set)), children: [jsxRuntime.jsx("input", { checked: checked, className: "switch__checkbox", disabled: disabled, id: id,
|
|
10
|
-
// @ts-expect-error
|
|
11
|
-
ref: ref, type: "checkbox", onChange: onChange }), jsxRuntime.jsx("div", { className: "switch__bg", children: "\u00A0" }), jsxRuntime.jsx("div", { className: "switch__toggle", children: "\u00A0" })] }));
|
|
12
|
-
});
|
|
13
|
-
|
|
14
|
-
exports.Switch = Switch;
|
package/dist/Switch-DEXsrPCo.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
|
|
5
|
-
var Switch = React.forwardRef(function Switch(props, ref) {
|
|
6
|
-
var className = props.className, set = props.set, size = props.size, id = props.id, checked = props.checked, disabled = props.disabled, onChange = props.onChange;
|
|
7
|
-
return (jsxs("div", { className: clsx('switch', className, size && "switch_size_".concat(size), set && "switch_set_".concat(set)), children: [jsx("input", { checked: checked, className: "switch__checkbox", disabled: disabled, id: id,
|
|
8
|
-
// @ts-expect-error
|
|
9
|
-
ref: ref, type: "checkbox", onChange: onChange }), jsx("div", { className: "switch__bg", children: "\u00A0" }), jsx("div", { className: "switch__toggle", children: "\u00A0" })] }));
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
export { Switch as S };
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib_es6 = require('../../tslib.es6-CCZ3TN_7.js');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
var clsx = require('clsx');
|
|
6
|
-
var Divider = require('../../Divider-BjB5MD6u.js');
|
|
7
|
-
var Text = require('../../Text-_YhyTsQ1.js');
|
|
8
|
-
var Icon = require('../../Icon-D-zjcPll.js');
|
|
9
|
-
var useStyles = require('../hooks/useStyles.js');
|
|
10
|
-
var useDeviceTargetClass = require('../hooks/useDeviceTargetClass.js');
|
|
11
|
-
var Radio = require('../../Radio-BQo97TZL.js');
|
|
12
|
-
require('react-select');
|
|
13
|
-
var index = require('./Select.js');
|
|
14
|
-
require('react');
|
|
15
|
-
require('../../Badge-2JkquAEb.js');
|
|
16
|
-
require('../../Group-BDuYmoBK.js');
|
|
17
|
-
var Switch = require('../../Switch-B5yVEqxz.js');
|
|
18
|
-
require('react-inlinesvg');
|
|
19
|
-
require('../../Link-CqWzwh8V.js');
|
|
20
|
-
require('../../Tooltip-DkTKx9n-.js');
|
|
21
|
-
require('../../Title-zwP6c2U2.js');
|
|
22
|
-
require('../context/UIContext.js');
|
|
23
|
-
require('prop-types');
|
|
24
|
-
require('../hooks/useMediaQueries.js');
|
|
25
|
-
require('react-responsive');
|
|
26
|
-
require('lodash/camelCase');
|
|
27
|
-
require('lodash/maxBy');
|
|
28
|
-
require('lodash/upperFirst');
|
|
29
|
-
require('../hooks/styleAttributes.js');
|
|
30
|
-
require('lodash/castArray');
|
|
31
|
-
require('react-select/creatable');
|
|
32
|
-
|
|
33
|
-
function FormField(props) {
|
|
34
|
-
var id = props.id, children = props.children, afterItem = props.afterItem, dataTestId = props.dataTestId, beforeItem = props.beforeItem, dividerWidth = props.dividerWidth, dividerDirection = props.dividerDirection, set = props.set, className = props.className, dividerSize = props.dividerSize, dividerFill = props.dividerFill, descSize = props.descSize, descTextWeight = props.descTextWeight, descTextColor = props.descTextColor, desc = props.desc, label = props.label, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, labelTextColor = props.labelTextColor, clearIconFill = props.clearIconFill, clearIcon = props.clearIcon, clearIconSize = props.clearIconSize, messageSize = props.messageSize, messageTextWeight = props.messageTextWeight, messageTextColor = props.messageTextColor, message = props.message;
|
|
35
|
-
var sizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
36
|
-
prefix: 'form-field_size_',
|
|
37
|
-
propsKey: 'size',
|
|
38
|
-
});
|
|
39
|
-
var fillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
40
|
-
prefix: 'fill_',
|
|
41
|
-
propsKey: 'fill',
|
|
42
|
-
});
|
|
43
|
-
var inputFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
44
|
-
prefix: 'fill_',
|
|
45
|
-
propsKey: 'inputFill',
|
|
46
|
-
});
|
|
47
|
-
var shapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
48
|
-
prefix: 'form-field_shape_',
|
|
49
|
-
propsKey: 'shape',
|
|
50
|
-
});
|
|
51
|
-
var inputShapeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
52
|
-
prefix: 'form-field__item-value_shape_',
|
|
53
|
-
propsKey: 'inputShape',
|
|
54
|
-
});
|
|
55
|
-
var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
56
|
-
prefix: 'direction_',
|
|
57
|
-
propsKey: 'direction',
|
|
58
|
-
});
|
|
59
|
-
// @ts-expect-error
|
|
60
|
-
var formFieldStyles = useStyles.useStyles(props).styles;
|
|
61
|
-
return (jsxRuntime.jsxs("div", { className: clsx(className, 'form-field', set && "form-field_set_".concat(set), sizeClass, fillClass, shapeClass, directionClass), "data-test-id": dataTestId, style: formFieldStyles, children: [label && (jsxRuntime.jsx("label", { htmlFor: id, className: "form-field__label", children: jsxRuntime.jsx(Text.Text, { size: labelTextSize, textWeight: labelTextWeight, textColor: labelTextColor, children: label }) })), desc && (jsxRuntime.jsx("div", { className: "form-field__desc", children: jsxRuntime.jsx(Text.Text, { size: descSize, textWeight: descTextWeight, textColor: descTextColor, children: desc }) })), jsxRuntime.jsxs("div", { className: clsx('form-field__item', inputFillClass, inputShapeClass), children: [jsxRuntime.jsxs("div", { className: clsx('form-field__item-wrapper'), children: [beforeItem, children, clearIcon && jsxRuntime.jsx(Icon.Icon, { fill: clearIconFill, SvgImage: clearIcon, size: clearIconSize }), afterItem] }), jsxRuntime.jsx(Divider.Divider, { className: "form-field__item-divider", direction: dividerDirection, fill: dividerFill, size: dividerSize, width: dividerWidth })] }), message && (jsxRuntime.jsx("div", { className: "form-field__message", children: jsxRuntime.jsx(Text.Text, { size: messageSize, textWeight: messageTextWeight, textColor: messageTextColor, children: message }) }))] }));
|
|
62
|
-
}
|
|
63
|
-
FormField.defaultProps = {
|
|
64
|
-
dividerWidth: 'fill',
|
|
65
|
-
dividerDirection: 'horizontal',
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
function ChoiceField(props) {
|
|
69
|
-
var radioId = props.radioId, radioClassName = props.radioClassName, radioFillCheckmark = props.radioFillCheckmark, radioFillChecked = props.radioFillChecked, radioFill = props.radioFill, radioFillDisabled = props.radioFillDisabled, radioShape = props.radioShape, radioBorder = props.radioBorder;
|
|
70
|
-
return (jsxRuntime.jsx(FormField, tslib_es6.__assign({}, props, { children: jsxRuntime.jsx(Radio.Radio, { border: radioBorder, className: radioClassName, fill: radioFill, id: radioId, shape: radioShape, stateCheckmarkFill: radioFillCheckmark, stateFillChecked: radioFillChecked, stateFillDisabled: radioFillDisabled }) })));
|
|
71
|
-
}
|
|
72
|
-
ChoiceField.defaultProps = {
|
|
73
|
-
radioClassName: 'form-field__item-radio',
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
function PasswordField(props) {
|
|
77
|
-
var placeholder = props.placeholder, passwordClassName = props.passwordClassName, value = props.value;
|
|
78
|
-
var placeholderColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
79
|
-
prefix: 'placeholder-text-color_',
|
|
80
|
-
propsKey: 'placeholderColor',
|
|
81
|
-
});
|
|
82
|
-
var valueTextColorClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
83
|
-
prefix: 'text text-color_',
|
|
84
|
-
propsKey: 'valueTextColor',
|
|
85
|
-
});
|
|
86
|
-
var valueTextSizeClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
87
|
-
prefix: 'text_size_',
|
|
88
|
-
propsKey: 'valueTextSize',
|
|
89
|
-
});
|
|
90
|
-
return (jsxRuntime.jsx(FormField, tslib_es6.__assign({}, props, { children: jsxRuntime.jsx("input", { type: "text", value: value, placeholder: placeholder, className: clsx(passwordClassName, valueTextSizeClass, valueTextColorClass, placeholderColorClass) }) })));
|
|
91
|
-
}
|
|
92
|
-
PasswordField.defaultProps = {
|
|
93
|
-
set: 'password',
|
|
94
|
-
passwordClassName: 'form-field__item-password',
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
function SelectField(props) {
|
|
98
|
-
var className = props.className, selectInputClass = props.selectInputClass, selectFill = props.selectFill, selectShape = props.selectShape, selectBorder = props.selectBorder, selectSize = props.selectSize, selectOptionFill = props.selectOptionFill, selectOptionTextSize = props.selectOptionTextSize, selectOptionTextColor = props.selectOptionTextColor, selectOptionBefore = props.selectOptionBefore, selectOptionAfter = props.selectOptionAfter, selectInputBefore = props.selectInputBefore, selectInputAfter = props.selectInputAfter, selectInputFill = props.selectInputFill, selectInputTextSize = props.selectInputTextSize, selectInputTextColor = props.selectInputTextColor;
|
|
99
|
-
return (jsxRuntime.jsx(FormField, tslib_es6.__assign({}, props, { children: jsxRuntime.jsx(index.SelectInput
|
|
100
|
-
// @ts-expect-error
|
|
101
|
-
, {
|
|
102
|
-
// @ts-expect-error
|
|
103
|
-
className: clsx(selectInputClass, className), borderColor: selectBorder, fill: selectFill, inputAfter: selectInputAfter, inputBefore: selectInputBefore, inputFill: selectInputFill, inputTextColor: selectInputTextColor, inputTextSize: selectInputTextSize, optionAfter: selectOptionAfter, optionBefore: selectOptionBefore, optionFill: selectOptionFill, optionTextColor: selectOptionTextColor, optionTextSize: selectOptionTextSize, shape: selectShape, size: selectSize }) })));
|
|
104
|
-
}
|
|
105
|
-
SelectField.defaultProps = {
|
|
106
|
-
set: 'select',
|
|
107
|
-
selectInputClass: 'form-field__item-select',
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
function SwitchField(props) {
|
|
111
|
-
var className = props.className;
|
|
112
|
-
return (jsxRuntime.jsx(FormField, tslib_es6.__assign({}, props, { children: jsxRuntime.jsx(Switch.Switch, { className: clsx('form-field__item-switch', className) }) })));
|
|
113
|
-
}
|
|
114
|
-
SwitchField.defaultProps = {
|
|
115
|
-
set: 'switch',
|
|
116
|
-
};
|
|
117
|
-
|
|
118
|
-
exports.ChoiceField = ChoiceField;
|
|
119
|
-
exports.FormField = FormField;
|
|
120
|
-
exports.PasswordField = PasswordField;
|
|
121
|
-
exports.SelectField = SelectField;
|
|
122
|
-
exports.SwitchField = SwitchField;
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { _ as __assign } from '../tslib.es6-5FtW-kfi.js';
|
|
2
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
-
import clsx from 'clsx';
|
|
4
|
-
import { D as Divider } from '../Divider-U5UdY-ef.js';
|
|
5
|
-
import { T as Text } from '../Text-CG3xPG27.js';
|
|
6
|
-
import { I as Icon } from '../Icon-DD_Vyrw0.js';
|
|
7
|
-
import { useStyles } from '../hooks/useStyles.js';
|
|
8
|
-
import { useDeviceTargetClass } from '../hooks/useDeviceTargetClass.js';
|
|
9
|
-
import { R as Radio } from '../Radio-oMf0vN7T.js';
|
|
10
|
-
import 'react-select';
|
|
11
|
-
import { SelectInput } from './Select.js';
|
|
12
|
-
import 'react';
|
|
13
|
-
import '../Badge-CrhdvxY6.js';
|
|
14
|
-
import '../Group-12uup5mu.js';
|
|
15
|
-
import { S as Switch } from '../Switch-DEXsrPCo.js';
|
|
16
|
-
import 'react-inlinesvg';
|
|
17
|
-
import '../Link-CeQuavin.js';
|
|
18
|
-
import '../Tooltip-DJufHBiQ.js';
|
|
19
|
-
import '../Title-BfSFPJtJ.js';
|
|
20
|
-
import '../context/UIContext.js';
|
|
21
|
-
import 'prop-types';
|
|
22
|
-
import '../hooks/useMediaQueries.js';
|
|
23
|
-
import 'react-responsive';
|
|
24
|
-
import 'lodash/camelCase';
|
|
25
|
-
import 'lodash/maxBy';
|
|
26
|
-
import 'lodash/upperFirst';
|
|
27
|
-
import '../hooks/styleAttributes.js';
|
|
28
|
-
import 'lodash/castArray';
|
|
29
|
-
import 'react-select/creatable';
|
|
30
|
-
|
|
31
|
-
function FormField(props) {
|
|
32
|
-
var id = props.id, children = props.children, afterItem = props.afterItem, dataTestId = props.dataTestId, beforeItem = props.beforeItem, dividerWidth = props.dividerWidth, dividerDirection = props.dividerDirection, set = props.set, className = props.className, dividerSize = props.dividerSize, dividerFill = props.dividerFill, descSize = props.descSize, descTextWeight = props.descTextWeight, descTextColor = props.descTextColor, desc = props.desc, label = props.label, labelTextSize = props.labelTextSize, labelTextWeight = props.labelTextWeight, labelTextColor = props.labelTextColor, clearIconFill = props.clearIconFill, clearIcon = props.clearIcon, clearIconSize = props.clearIconSize, messageSize = props.messageSize, messageTextWeight = props.messageTextWeight, messageTextColor = props.messageTextColor, message = props.message;
|
|
33
|
-
var sizeClass = useDeviceTargetClass(props, {
|
|
34
|
-
prefix: 'form-field_size_',
|
|
35
|
-
propsKey: 'size',
|
|
36
|
-
});
|
|
37
|
-
var fillClass = useDeviceTargetClass(props, {
|
|
38
|
-
prefix: 'fill_',
|
|
39
|
-
propsKey: 'fill',
|
|
40
|
-
});
|
|
41
|
-
var inputFillClass = useDeviceTargetClass(props, {
|
|
42
|
-
prefix: 'fill_',
|
|
43
|
-
propsKey: 'inputFill',
|
|
44
|
-
});
|
|
45
|
-
var shapeClass = useDeviceTargetClass(props, {
|
|
46
|
-
prefix: 'form-field_shape_',
|
|
47
|
-
propsKey: 'shape',
|
|
48
|
-
});
|
|
49
|
-
var inputShapeClass = useDeviceTargetClass(props, {
|
|
50
|
-
prefix: 'form-field__item-value_shape_',
|
|
51
|
-
propsKey: 'inputShape',
|
|
52
|
-
});
|
|
53
|
-
var directionClass = useDeviceTargetClass(props, {
|
|
54
|
-
prefix: 'direction_',
|
|
55
|
-
propsKey: 'direction',
|
|
56
|
-
});
|
|
57
|
-
// @ts-expect-error
|
|
58
|
-
var formFieldStyles = useStyles(props).styles;
|
|
59
|
-
return (jsxs("div", { className: clsx(className, 'form-field', set && "form-field_set_".concat(set), sizeClass, fillClass, shapeClass, directionClass), "data-test-id": dataTestId, style: formFieldStyles, children: [label && (jsx("label", { htmlFor: id, className: "form-field__label", children: jsx(Text, { size: labelTextSize, textWeight: labelTextWeight, textColor: labelTextColor, children: label }) })), desc && (jsx("div", { className: "form-field__desc", children: jsx(Text, { size: descSize, textWeight: descTextWeight, textColor: descTextColor, children: desc }) })), jsxs("div", { className: clsx('form-field__item', inputFillClass, inputShapeClass), children: [jsxs("div", { className: clsx('form-field__item-wrapper'), children: [beforeItem, children, clearIcon && jsx(Icon, { fill: clearIconFill, SvgImage: clearIcon, size: clearIconSize }), afterItem] }), jsx(Divider, { className: "form-field__item-divider", direction: dividerDirection, fill: dividerFill, size: dividerSize, width: dividerWidth })] }), message && (jsx("div", { className: "form-field__message", children: jsx(Text, { size: messageSize, textWeight: messageTextWeight, textColor: messageTextColor, children: message }) }))] }));
|
|
60
|
-
}
|
|
61
|
-
FormField.defaultProps = {
|
|
62
|
-
dividerWidth: 'fill',
|
|
63
|
-
dividerDirection: 'horizontal',
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
function ChoiceField(props) {
|
|
67
|
-
var radioId = props.radioId, radioClassName = props.radioClassName, radioFillCheckmark = props.radioFillCheckmark, radioFillChecked = props.radioFillChecked, radioFill = props.radioFill, radioFillDisabled = props.radioFillDisabled, radioShape = props.radioShape, radioBorder = props.radioBorder;
|
|
68
|
-
return (jsx(FormField, __assign({}, props, { children: jsx(Radio, { border: radioBorder, className: radioClassName, fill: radioFill, id: radioId, shape: radioShape, stateCheckmarkFill: radioFillCheckmark, stateFillChecked: radioFillChecked, stateFillDisabled: radioFillDisabled }) })));
|
|
69
|
-
}
|
|
70
|
-
ChoiceField.defaultProps = {
|
|
71
|
-
radioClassName: 'form-field__item-radio',
|
|
72
|
-
};
|
|
73
|
-
|
|
74
|
-
function PasswordField(props) {
|
|
75
|
-
var placeholder = props.placeholder, passwordClassName = props.passwordClassName, value = props.value;
|
|
76
|
-
var placeholderColorClass = useDeviceTargetClass(props, {
|
|
77
|
-
prefix: 'placeholder-text-color_',
|
|
78
|
-
propsKey: 'placeholderColor',
|
|
79
|
-
});
|
|
80
|
-
var valueTextColorClass = useDeviceTargetClass(props, {
|
|
81
|
-
prefix: 'text text-color_',
|
|
82
|
-
propsKey: 'valueTextColor',
|
|
83
|
-
});
|
|
84
|
-
var valueTextSizeClass = useDeviceTargetClass(props, {
|
|
85
|
-
prefix: 'text_size_',
|
|
86
|
-
propsKey: 'valueTextSize',
|
|
87
|
-
});
|
|
88
|
-
return (jsx(FormField, __assign({}, props, { children: jsx("input", { type: "text", value: value, placeholder: placeholder, className: clsx(passwordClassName, valueTextSizeClass, valueTextColorClass, placeholderColorClass) }) })));
|
|
89
|
-
}
|
|
90
|
-
PasswordField.defaultProps = {
|
|
91
|
-
set: 'password',
|
|
92
|
-
passwordClassName: 'form-field__item-password',
|
|
93
|
-
};
|
|
94
|
-
|
|
95
|
-
function SelectField(props) {
|
|
96
|
-
var className = props.className, selectInputClass = props.selectInputClass, selectFill = props.selectFill, selectShape = props.selectShape, selectBorder = props.selectBorder, selectSize = props.selectSize, selectOptionFill = props.selectOptionFill, selectOptionTextSize = props.selectOptionTextSize, selectOptionTextColor = props.selectOptionTextColor, selectOptionBefore = props.selectOptionBefore, selectOptionAfter = props.selectOptionAfter, selectInputBefore = props.selectInputBefore, selectInputAfter = props.selectInputAfter, selectInputFill = props.selectInputFill, selectInputTextSize = props.selectInputTextSize, selectInputTextColor = props.selectInputTextColor;
|
|
97
|
-
return (jsx(FormField, __assign({}, props, { children: jsx(SelectInput
|
|
98
|
-
// @ts-expect-error
|
|
99
|
-
, {
|
|
100
|
-
// @ts-expect-error
|
|
101
|
-
className: clsx(selectInputClass, className), borderColor: selectBorder, fill: selectFill, inputAfter: selectInputAfter, inputBefore: selectInputBefore, inputFill: selectInputFill, inputTextColor: selectInputTextColor, inputTextSize: selectInputTextSize, optionAfter: selectOptionAfter, optionBefore: selectOptionBefore, optionFill: selectOptionFill, optionTextColor: selectOptionTextColor, optionTextSize: selectOptionTextSize, shape: selectShape, size: selectSize }) })));
|
|
102
|
-
}
|
|
103
|
-
SelectField.defaultProps = {
|
|
104
|
-
set: 'select',
|
|
105
|
-
selectInputClass: 'form-field__item-select',
|
|
106
|
-
};
|
|
107
|
-
|
|
108
|
-
function SwitchField(props) {
|
|
109
|
-
var className = props.className;
|
|
110
|
-
return (jsx(FormField, __assign({}, props, { children: jsx(Switch, { className: clsx('form-field__item-switch', className) }) })));
|
|
111
|
-
}
|
|
112
|
-
SwitchField.defaultProps = {
|
|
113
|
-
set: 'switch',
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
export { ChoiceField, FormField, PasswordField, SelectField, SwitchField };
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
/* stylelint-disable length-zero-no-unit */
|
|
2
|
-
|
|
3
|
-
@define-mixin h1 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
4
|
-
@mixin font $weight, 32px, 48px, $minLetterSpacing, 80px, 96px, $maxLetterSpacing,
|
|
5
|
-
var(--font-primary);
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
@define-mixin h2 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
9
|
-
@mixin font $weight, 24px, 28px, $minLetterSpacing, 56px, 64px, $maxLetterSpacing,
|
|
10
|
-
var(--font-primary);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
@define-mixin h3 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
14
|
-
@mixin font $weight, 24px, 28px, $minLetterSpacing, 40px, 48px, $maxLetterSpacing,
|
|
15
|
-
var(--font-primary);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
@define-mixin h4 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
19
|
-
@mixin font $weight, 22px, 24px, $minLetterSpacing, 22px, 24px, $maxLetterSpacing,
|
|
20
|
-
var(--font-primary);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
@define-mixin h5 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
24
|
-
@mixin font $weight, 16px, 24px, $minLetterSpacing, 16px, 24px, $maxLetterSpacing,
|
|
25
|
-
var(--font-primary);
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
@define-mixin h6 $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
29
|
-
@mixin font $weight, 14px, 20px, $minLetterSpacing, 14px, 20px, $maxLetterSpacing,
|
|
30
|
-
var(--font-primary);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
@define-mixin p $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
34
|
-
@mixin font $weight, 14px, 20px, $minLetterSpacing, 18px, 28px, $maxLetterSpacing,
|
|
35
|
-
var(--font-primary);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
@define-mixin text-xs $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
39
|
-
@mixin font $weight, 9px, 12px, $minLetterSpacing, 9px, 12px, $maxLetterSpacing,
|
|
40
|
-
var(--font-primary);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
@define-mixin text-s $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
44
|
-
@mixin font $weight, 10px, 12px, $minLetterSpacing, 10px, 12px, $maxLetterSpacing,
|
|
45
|
-
var(--font-primary);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@define-mixin text-m $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
49
|
-
@mixin font $weight, 12px, 18px, $minLetterSpacing, 12px, 18px, $maxLetterSpacing,
|
|
50
|
-
var(--font-primary);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
@define-mixin text-l $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
54
|
-
@mixin font $weight, 14px, 20px, $minLetterSpacing, 14px, 20px, $maxLetterSpacing,
|
|
55
|
-
var(--font-primary);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
@define-mixin text-xl $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
59
|
-
@mixin font $weight, 16px, 24px, $minLetterSpacing, 16px, 24px, $maxLetterSpacing,
|
|
60
|
-
var(--font-primary);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
@define-mixin text-xxl $weight: normal, $minLetterSpacing: 0px, $maxLetterSpacing: 0px {
|
|
64
|
-
@mixin font $weight, 16px, 24px, $minLetterSpacing, 16px, 24px, $maxLetterSpacing,
|
|
65
|
-
var(--font-primary);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@define-mixin text-gradient-primary {
|
|
69
|
-
color: transparent;
|
|
70
|
-
background: linear-gradient(90deg, hsla(266, 100%, 64%, 1) 0%, hsla(213, 79%, 68%, 1) 50%);
|
|
71
|
-
background-clip: text;
|
|
72
|
-
text-fill-color: transparent;
|
|
73
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { formTypes, emailValidation, addRequiredFieldsParamToSchema } from '@itcase/forms'
|
|
3
|
-
import * as yup from 'yup'
|
|
4
|
-
|
|
5
|
-
import Form from './form.js'
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Form Field / Checkbox',
|
|
9
|
-
component: Form,
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const Template = (args) => {
|
|
13
|
-
const DEFAULT_REQUIRED_MESSAGE = 'This field is required'
|
|
14
|
-
const DEFAULT_INVALID_EMAIL_MESSAGE = 'Username must be a valid email'
|
|
15
|
-
|
|
16
|
-
// Create validation schema with rules for form fields
|
|
17
|
-
const validationSchema = yup.object().shape({
|
|
18
|
-
formFieldCheckbox: yup
|
|
19
|
-
.string()
|
|
20
|
-
.test('formFieldCheckbox', DEFAULT_INVALID_EMAIL_MESSAGE, emailValidation)
|
|
21
|
-
.required(DEFAULT_REQUIRED_MESSAGE),
|
|
22
|
-
password: yup.string().trim().required(DEFAULT_REQUIRED_MESSAGE),
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
// Add "requiredFields" as new param to schema
|
|
26
|
-
if (!('requiredFields' in validationSchema)) {
|
|
27
|
-
addRequiredFieldsParamToSchema(validationSchema)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Create form config with fields
|
|
31
|
-
const config = {
|
|
32
|
-
formFieldCheckbox: {
|
|
33
|
-
type: formTypes.checkbox,
|
|
34
|
-
isRequired: true,
|
|
35
|
-
name: 'formFieldCheckbox',
|
|
36
|
-
fieldProps: {
|
|
37
|
-
type: 'normal',
|
|
38
|
-
width: 'fill',
|
|
39
|
-
direction: 'vertical',
|
|
40
|
-
dividerFill: 'errorPrimary',
|
|
41
|
-
fill: 'surfacePrimary',
|
|
42
|
-
label: 'Title',
|
|
43
|
-
labelTextSize: 'm',
|
|
44
|
-
labelTextColor: 'surfaceTextPrimary',
|
|
45
|
-
message: 'Help Text',
|
|
46
|
-
messageTextSize: 'xs',
|
|
47
|
-
messageTextColor: 'surfaceTextSecondary',
|
|
48
|
-
errorMessageTextSize: 'xs',
|
|
49
|
-
errorMessageTextColor: 'errorTextPrimary',
|
|
50
|
-
},
|
|
51
|
-
inputProps: {
|
|
52
|
-
width: 'fill',
|
|
53
|
-
caret: 'secondaryItemSecondary',
|
|
54
|
-
placeholder: 'Placeholder',
|
|
55
|
-
placeholderTextColor: 'surfaceTextSecondary',
|
|
56
|
-
shape: 'rounded',
|
|
57
|
-
borderColor: 'surfaceBorderQuaternary',
|
|
58
|
-
textColor: 'surfaceTextPrimary',
|
|
59
|
-
textSize: 'm',
|
|
60
|
-
stateShape: 'rounded',
|
|
61
|
-
stateBorderColor: 'accentBorderSecondary',
|
|
62
|
-
stateBorderColorChecked: 'accentBorderSecondary',
|
|
63
|
-
stateBorderColorDisabled: 'accentBorderSecondary',
|
|
64
|
-
stateBorderColorDisabledChecked: 'accentBorderSecondary',
|
|
65
|
-
stateBorderWidth: 1,
|
|
66
|
-
stateFillChecked: 'accentPrimary',
|
|
67
|
-
stateFillDisabled: 'accentDisabled',
|
|
68
|
-
stateFillDisabledChecked: 'accentDisabled',
|
|
69
|
-
stateCheckmarkFill: 'accentItemPrimary',
|
|
70
|
-
stateCheckmarkFillDisabled: 'accentItemDisabled',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
}
|
|
74
|
-
return <Form config={config} validationSchema={validationSchema} />
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export const Normal = Template.bind({})
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { formTypes, emailValidation, addRequiredFieldsParamToSchema } from '@itcase/forms'
|
|
3
|
-
import * as yup from 'yup'
|
|
4
|
-
|
|
5
|
-
import Form from './form.js'
|
|
6
|
-
|
|
7
|
-
export default {
|
|
8
|
-
title: 'Form Field / Choice',
|
|
9
|
-
component: Form,
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const Template = (args) => {
|
|
13
|
-
const DEFAULT_REQUIRED_MESSAGE = 'This field is required'
|
|
14
|
-
const DEFAULT_INVALID_EMAIL_MESSAGE = 'Username must be a valid email'
|
|
15
|
-
|
|
16
|
-
// Create validation schema with rules for form fields
|
|
17
|
-
const validationSchema = yup.object().shape({
|
|
18
|
-
formFieldChoice: yup
|
|
19
|
-
.string()
|
|
20
|
-
.test('formFieldChoice', DEFAULT_INVALID_EMAIL_MESSAGE, emailValidation)
|
|
21
|
-
.required(DEFAULT_REQUIRED_MESSAGE),
|
|
22
|
-
password: yup.string().trim().required(DEFAULT_REQUIRED_MESSAGE),
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
// Add "requiredFields" as new param to schema
|
|
26
|
-
if (!('requiredFields' in validationSchema)) {
|
|
27
|
-
addRequiredFieldsParamToSchema(validationSchema)
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
// Create form config with fields
|
|
31
|
-
const config = {
|
|
32
|
-
formFieldChoice: {
|
|
33
|
-
type: formTypes.choice,
|
|
34
|
-
isRequired: true,
|
|
35
|
-
name: 'formFieldChoice',
|
|
36
|
-
fieldProps: {
|
|
37
|
-
type: 'normal',
|
|
38
|
-
width: 'fill',
|
|
39
|
-
direction: 'vertical',
|
|
40
|
-
dividerFill: 'errorPrimary',
|
|
41
|
-
fill: 'surfacePrimary',
|
|
42
|
-
label: 'Title',
|
|
43
|
-
labelTextSize: 'm',
|
|
44
|
-
labelTextColor: 'surfaceTextPrimary',
|
|
45
|
-
message: 'Help Text',
|
|
46
|
-
messageTextSize: 'xs',
|
|
47
|
-
messageTextColor: 'surfaceTextSecondary',
|
|
48
|
-
errorMessageTextSize: 'xs',
|
|
49
|
-
errorMessageTextColor: 'errorTextPrimary',
|
|
50
|
-
},
|
|
51
|
-
inputProps: {
|
|
52
|
-
width: 'fill',
|
|
53
|
-
size: 'normal',
|
|
54
|
-
shape: 'rounded',
|
|
55
|
-
borderColor: 'surfaceBorderTertiary',
|
|
56
|
-
labelTextActiveColor: 'surfaceTextPrimary',
|
|
57
|
-
labelTextColor: 'surfaceTextPrimary',
|
|
58
|
-
labelTextSize: 'm',
|
|
59
|
-
},
|
|
60
|
-
options: [
|
|
61
|
-
{ value: 1, label: 'Label 1' },
|
|
62
|
-
{ value: 2, label: 'Label 2' },
|
|
63
|
-
{ value: 3, label: 'Label 3' },
|
|
64
|
-
{ value: 4, label: 'Label 4' },
|
|
65
|
-
{ value: 5, label: 'Label 5' },
|
|
66
|
-
],
|
|
67
|
-
active: {
|
|
68
|
-
value: 1,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
}
|
|
72
|
-
return <Form config={config} validationSchema={validationSchema} />
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export const Normal = Template.bind({})
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import * as yup from 'yup'
|
|
3
|
-
|
|
4
|
-
import { formTypes } from '@itcase/forms'
|
|
5
|
-
|
|
6
|
-
import Form from './form.js'
|
|
7
|
-
|
|
8
|
-
import { defaultFieldProps, defaultInputProps, defaultDatepickerProps } from 'src/config/forms'
|
|
9
|
-
import { DEFAULT_REQUIRED_MESSAGE } from 'src/config/forms/messages'
|
|
10
|
-
|
|
11
|
-
export default {
|
|
12
|
-
title: 'Form Field / DatePicker',
|
|
13
|
-
component: Form,
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
const Template = (args) => {
|
|
17
|
-
const validationSchema = yup.object().shape({
|
|
18
|
-
formFieldDatePicker: yup.string().required(DEFAULT_REQUIRED_MESSAGE),
|
|
19
|
-
password: yup.string().trim().required(DEFAULT_REQUIRED_MESSAGE),
|
|
20
|
-
})
|
|
21
|
-
|
|
22
|
-
const config = {
|
|
23
|
-
formFieldDatePicker: {
|
|
24
|
-
type: formTypes.datePicker,
|
|
25
|
-
name: 'formFieldDatePicker',
|
|
26
|
-
fieldProps: {
|
|
27
|
-
...defaultFieldProps,
|
|
28
|
-
label: args?.config?.fieldProps?.label || 'Дата',
|
|
29
|
-
message: 'Например: 20/06/2023',
|
|
30
|
-
},
|
|
31
|
-
inputProps: {
|
|
32
|
-
...defaultInputProps,
|
|
33
|
-
},
|
|
34
|
-
datePickerProps: {
|
|
35
|
-
...defaultDatepickerProps,
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
}
|
|
39
|
-
return <Form config={config} validationSchema={validationSchema} />
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export const Date = Template.bind({})
|
|
43
|
-
|
|
44
|
-
export const DateTime = Template.bind()
|
|
45
|
-
DateTime.args = {
|
|
46
|
-
config: {
|
|
47
|
-
fieldProps: {
|
|
48
|
-
label: 'asdasdasdasdasd'
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
}
|