armtek-uikit-react 1.0.2 → 1.0.3
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/lib/Adornment/package.json +7 -0
- package/lib/Alert/package.json +7 -0
- package/lib/Avatar/package.json +7 -0
- package/lib/AvatarGroup/package.json +6 -0
- package/lib/Badge/package.json +7 -0
- package/lib/Button/package.json +7 -7
- package/lib/ButtonGroup/package.json +6 -0
- package/lib/ButtonIcon/package.json +6 -0
- package/lib/Card/package.json +7 -0
- package/lib/Checkbox/package.json +6 -0
- package/lib/Chip/package.json +7 -0
- package/lib/DateField/package.json +6 -0
- package/lib/DatePicker/package.json +6 -0
- package/lib/DateService/package.json +6 -0
- package/lib/HelperText/package.json +6 -0
- package/lib/Interval/package.json +6 -0
- package/lib/IntervalSlide/package.json +6 -0
- package/lib/ListItem/package.json +6 -0
- package/lib/Loader/package.json +7 -0
- package/lib/Logo/package.json +7 -0
- package/lib/Password/package.json +6 -0
- package/lib/Period/package.json +6 -0
- package/lib/PeriodSelect/package.json +6 -0
- package/lib/Radio/package.json +6 -0
- package/lib/Rating/package.json +6 -0
- package/lib/RcSlider/package.json +6 -0
- package/lib/Select/package.json +6 -0
- package/lib/Slider/package.json +7 -0
- package/lib/Status/package.json +7 -0
- package/lib/StepItem/package.json +6 -0
- package/lib/StepItemIcon/package.json +6 -0
- package/lib/Stepper/package.json +7 -0
- package/lib/Switch/package.json +6 -0
- package/lib/TextArea/package.json +6 -0
- package/lib/TextField/package.json +6 -0
- package/lib/TimeField/package.json +6 -0
- package/lib/TimePicker/package.json +6 -0
- package/lib/Tooltip/package.json +7 -0
- package/lib/cjs/Adornment/Adornment.d.ts +7 -0
- package/lib/cjs/Adornment/Adornment.js +47 -0
- package/lib/cjs/Adornment/Adornment.module.scss +18 -0
- package/lib/cjs/Alert/Alert.d.ts +10 -0
- package/lib/cjs/Alert/Alert.js +46 -0
- package/lib/cjs/Alert/Alert.module.scss +38 -0
- package/lib/cjs/Avatar/Avatar.d.ts +13 -0
- package/lib/cjs/Avatar/Avatar.js +50 -0
- package/lib/cjs/Avatar/Avatar.module.scss +82 -0
- package/lib/cjs/Avatar/AvatarGroup.d.ts +8 -0
- package/lib/cjs/Avatar/AvatarGroup.js +34 -0
- package/lib/cjs/Avatar/AvatarGroup.module.scss +48 -0
- package/lib/cjs/Badge/Badge.d.ts +11 -0
- package/lib/cjs/Badge/Badge.js +34 -0
- package/lib/cjs/Badge/Badge.module.scss +83 -0
- package/lib/cjs/Button/Button.css +3 -0
- package/lib/cjs/{ui/Button → Button}/Button.d.ts +1 -1
- package/lib/cjs/{ui/Button → Button}/Button.js +4 -5
- package/lib/cjs/{ui/Button → Button}/Button.module.scss +1 -1
- package/lib/cjs/Card/Card.d.ts +4 -0
- package/lib/cjs/Card/Card.js +19 -0
- package/lib/cjs/Card/Card.module.scss +7 -0
- package/lib/cjs/Chip/Chip.d.ts +13 -0
- package/lib/cjs/Chip/Chip.js +41 -0
- package/lib/cjs/Chip/Chip.module.scss +96 -0
- package/lib/cjs/Form/Checkbox/Checkbox.d.ts +12 -0
- package/lib/cjs/Form/Checkbox/Checkbox.js +53 -0
- package/lib/cjs/Form/Checkbox/Checkbox.module.scss +297 -0
- package/lib/cjs/Form/Checkbox/Radio.d.ts +3 -0
- package/lib/cjs/Form/Checkbox/Radio.js +21 -0
- package/lib/cjs/Form/DateField/DateField.d.ts +26 -0
- package/lib/cjs/Form/DateField/DateField.js +71 -0
- package/lib/cjs/Form/DateField/DateField.module.scss +1 -0
- package/lib/cjs/Form/DateField/TimeField.d.ts +3 -0
- package/lib/cjs/Form/DateField/TimeField.js +19 -0
- package/lib/cjs/Form/DatePicker/DatePicker.d.ts +7 -0
- package/lib/cjs/Form/DatePicker/DatePicker.js +49 -0
- package/lib/cjs/Form/DatePicker/DatePicker.module.scss +7 -0
- package/lib/cjs/Form/DatePicker/PeriodSelect.d.ts +2 -0
- package/lib/cjs/Form/DatePicker/PeriodSelect.js +29 -0
- package/lib/cjs/Form/DatePicker/TimePicker.d.ts +2 -0
- package/lib/cjs/Form/DatePicker/TimePicker.js +28 -0
- package/lib/cjs/Form/DatePicker/styles.css +766 -0
- package/lib/cjs/Form/Interval/Interval.d.ts +21 -0
- package/lib/cjs/Form/Interval/Interval.js +98 -0
- package/lib/cjs/Form/Interval/Interval.module.scss +35 -0
- package/lib/cjs/Form/Interval/IntervalSlide.d.ts +4 -0
- package/lib/cjs/Form/Interval/IntervalSlide.js +48 -0
- package/lib/cjs/Form/Password/Password.d.ts +12 -0
- package/lib/cjs/Form/Password/Password.js +46 -0
- package/lib/cjs/Form/Password/Password.module.scss +2 -0
- package/lib/cjs/Form/Period/Period.d.ts +15 -0
- package/lib/cjs/Form/Period/Period.js +69 -0
- package/lib/cjs/Form/Period/Period.module.scss +10 -0
- package/lib/cjs/Form/Rating/Rating.d.ts +10 -0
- package/lib/cjs/Form/Rating/Rating.js +54 -0
- package/lib/cjs/Form/Rating/Rating.module.scss +19 -0
- package/lib/cjs/Form/Select/Select.d.ts +23 -0
- package/lib/cjs/Form/Select/Select.js +139 -0
- package/lib/cjs/Form/Select/Select.module.scss +26 -0
- package/lib/cjs/Form/Switch/Switch.d.ts +7 -0
- package/lib/cjs/Form/Switch/Switch.js +30 -0
- package/lib/cjs/Form/Switch/Switch.module.scss +69 -0
- package/lib/cjs/Form/TextArea/TextArea.d.ts +4 -0
- package/lib/cjs/Form/TextArea/TextArea.js +46 -0
- package/lib/cjs/Form/TextArea/TextArea.module.scss +15 -0
- package/lib/cjs/Form/TextField/TextField.d.ts +40 -0
- package/lib/cjs/Form/TextField/TextField.js +152 -0
- package/lib/cjs/Form/TextField/TextField.module.scss +160 -0
- package/lib/cjs/List/ListItem.d.ts +10 -0
- package/lib/cjs/List/ListItem.js +60 -0
- package/lib/cjs/List/ListItem.module.scss +34 -0
- package/lib/cjs/Loader/Loader.d.ts +6 -0
- package/lib/cjs/Loader/Loader.js +120 -0
- package/lib/cjs/Loader/Loader.module.scss +37 -0
- package/lib/cjs/Logo/Logo.d.ts +12 -0
- package/lib/cjs/Logo/Logo.js +102 -0
- package/lib/cjs/Logo/Logo.module.scss +29 -0
- package/lib/cjs/Slider/RcSlider.d.ts +2 -0
- package/lib/cjs/Slider/RcSlider.js +9 -0
- package/lib/cjs/Slider/Slider.d.ts +8 -0
- package/lib/cjs/Slider/Slider.js +34 -0
- package/lib/cjs/Slider/Slider.module.scss +6 -0
- package/lib/cjs/Slider/style.css +281 -0
- package/lib/cjs/Status/Status.d.ts +10 -0
- package/lib/cjs/Status/Status.js +31 -0
- package/lib/cjs/Status/Status.module.scss +45 -0
- package/lib/cjs/Stepper/StepItem.d.ts +14 -0
- package/lib/cjs/Stepper/StepItem.js +56 -0
- package/lib/cjs/Stepper/StepItem.module.scss +67 -0
- package/lib/cjs/Stepper/StepItemIcon.d.ts +11 -0
- package/lib/cjs/Stepper/StepItemIcon.js +40 -0
- package/lib/cjs/Stepper/StepItemIcon.module.scss +47 -0
- package/lib/cjs/Stepper/Stepper.d.ts +11 -0
- package/lib/cjs/Stepper/Stepper.js +45 -0
- package/lib/cjs/Stepper/Stepper.module.scss +34 -0
- package/lib/cjs/Tooltip/Tooltip.d.ts +7 -0
- package/lib/cjs/Tooltip/Tooltip.js +32 -0
- package/lib/cjs/Tooltip/Tooltip.module.scss +18 -0
- package/lib/cjs/Typography/HelperText/HelperText.d.ts +6 -0
- package/lib/cjs/Typography/HelperText/HelperText.js +28 -0
- package/lib/cjs/Typography/HelperText/HelperText.module.scss +10 -0
- package/lib/cjs/assets/fonts.scss +0 -18
- package/lib/cjs/assets/global.css +36 -0
- package/lib/cjs/assets/styles.scss +0 -10
- package/lib/cjs/index.d.ts +29 -29
- package/lib/cjs/index.js +30 -2
- package/lib/dist/armtek-uikit-react-index.js +293 -293
- package/lib/dist/armtek-uikit-react-index.min.js +1 -1
- package/lib/esm/Adornment/Adornment.d.ts +7 -0
- package/lib/esm/Adornment/Adornment.js +40 -0
- package/lib/esm/Adornment/Adornment.module.scss +18 -0
- package/lib/esm/Alert/Alert.d.ts +10 -0
- package/lib/esm/Alert/Alert.js +41 -0
- package/lib/esm/Alert/Alert.module.scss +38 -0
- package/lib/esm/Avatar/Avatar.d.ts +13 -0
- package/lib/esm/Avatar/Avatar.js +45 -0
- package/lib/esm/Avatar/Avatar.module.scss +82 -0
- package/lib/esm/Avatar/AvatarGroup.d.ts +8 -0
- package/lib/esm/Avatar/AvatarGroup.js +29 -0
- package/lib/esm/Avatar/AvatarGroup.module.scss +48 -0
- package/lib/esm/Badge/Badge.d.ts +11 -0
- package/lib/esm/Badge/Badge.js +29 -0
- package/lib/esm/Badge/Badge.module.scss +83 -0
- package/lib/esm/Button/Button.css +3 -0
- package/lib/esm/{ui/Button → Button}/Button.d.ts +1 -1
- package/lib/esm/{ui/Button → Button}/Button.js +5 -5
- package/lib/esm/{ui/Button → Button}/Button.module.scss +1 -1
- package/lib/esm/Card/Card.d.ts +4 -0
- package/lib/esm/Card/Card.js +13 -0
- package/lib/esm/Card/Card.module.scss +7 -0
- package/lib/esm/Chip/Chip.d.ts +13 -0
- package/lib/esm/Chip/Chip.js +36 -0
- package/lib/esm/Chip/Chip.module.scss +96 -0
- package/lib/esm/Form/Checkbox/Checkbox.d.ts +12 -0
- package/lib/esm/Form/Checkbox/Checkbox.js +49 -0
- package/lib/esm/Form/Checkbox/Checkbox.module.scss +297 -0
- package/lib/esm/Form/Checkbox/Radio.d.ts +3 -0
- package/lib/esm/Form/Checkbox/Radio.js +15 -0
- package/lib/esm/Form/DateField/DateField.d.ts +26 -0
- package/lib/esm/Form/DateField/DateField.js +66 -0
- package/lib/esm/Form/DateField/DateField.module.scss +1 -0
- package/lib/esm/Form/DateField/TimeField.d.ts +3 -0
- package/lib/esm/Form/DateField/TimeField.js +13 -0
- package/lib/esm/Form/DatePicker/DatePicker.d.ts +7 -0
- package/lib/esm/Form/DatePicker/DatePicker.js +41 -0
- package/lib/esm/Form/DatePicker/DatePicker.module.scss +7 -0
- package/lib/esm/Form/DatePicker/PeriodSelect.d.ts +2 -0
- package/lib/esm/Form/DatePicker/PeriodSelect.js +24 -0
- package/lib/esm/Form/DatePicker/TimePicker.d.ts +2 -0
- package/lib/esm/Form/DatePicker/TimePicker.js +23 -0
- package/lib/esm/Form/DatePicker/styles.css +766 -0
- package/lib/esm/Form/Interval/Interval.d.ts +21 -0
- package/lib/esm/Form/Interval/Interval.js +94 -0
- package/lib/esm/Form/Interval/Interval.module.scss +35 -0
- package/lib/esm/Form/Interval/IntervalSlide.d.ts +4 -0
- package/lib/esm/Form/Interval/IntervalSlide.js +44 -0
- package/lib/esm/Form/Password/Password.d.ts +12 -0
- package/lib/esm/Form/Password/Password.js +41 -0
- package/lib/esm/Form/Password/Password.module.scss +2 -0
- package/lib/esm/Form/Period/Period.d.ts +15 -0
- package/lib/esm/Form/Period/Period.js +65 -0
- package/lib/esm/Form/Period/Period.module.scss +10 -0
- package/lib/esm/Form/Rating/Rating.d.ts +10 -0
- package/lib/esm/Form/Rating/Rating.js +50 -0
- package/lib/esm/Form/Rating/Rating.module.scss +19 -0
- package/lib/esm/Form/Select/Select.d.ts +23 -0
- package/lib/esm/Form/Select/Select.js +135 -0
- package/lib/esm/Form/Select/Select.module.scss +26 -0
- package/lib/esm/Form/Switch/Switch.d.ts +7 -0
- package/lib/esm/Form/Switch/Switch.js +25 -0
- package/lib/esm/Form/Switch/Switch.module.scss +69 -0
- package/lib/esm/Form/TextArea/TextArea.d.ts +4 -0
- package/lib/esm/Form/TextArea/TextArea.js +41 -0
- package/lib/esm/Form/TextArea/TextArea.module.scss +15 -0
- package/lib/esm/Form/TextField/TextField.d.ts +40 -0
- package/lib/esm/Form/TextField/TextField.js +147 -0
- package/lib/esm/Form/TextField/TextField.module.scss +160 -0
- package/lib/esm/List/ListItem.d.ts +10 -0
- package/lib/esm/List/ListItem.js +53 -0
- package/lib/esm/List/ListItem.module.scss +34 -0
- package/lib/esm/Loader/Loader.d.ts +6 -0
- package/lib/esm/Loader/Loader.js +115 -0
- package/lib/esm/Loader/Loader.module.scss +37 -0
- package/lib/esm/Logo/Logo.d.ts +12 -0
- package/lib/esm/Logo/Logo.js +97 -0
- package/lib/esm/Logo/Logo.module.scss +29 -0
- package/lib/esm/Slider/RcSlider.d.ts +2 -0
- package/lib/esm/Slider/RcSlider.js +2 -0
- package/lib/esm/Slider/Slider.d.ts +8 -0
- package/lib/esm/Slider/Slider.js +29 -0
- package/lib/esm/Slider/Slider.module.scss +6 -0
- package/lib/esm/Slider/style.css +281 -0
- package/lib/esm/Status/Status.d.ts +10 -0
- package/lib/esm/Status/Status.js +26 -0
- package/lib/esm/Status/Status.module.scss +45 -0
- package/lib/esm/Stepper/StepItem.d.ts +14 -0
- package/lib/esm/Stepper/StepItem.js +51 -0
- package/lib/esm/Stepper/StepItem.module.scss +67 -0
- package/lib/esm/Stepper/StepItemIcon.d.ts +11 -0
- package/lib/esm/Stepper/StepItemIcon.js +34 -0
- package/lib/esm/Stepper/StepItemIcon.module.scss +47 -0
- package/lib/esm/Stepper/Stepper.d.ts +11 -0
- package/lib/esm/Stepper/Stepper.js +40 -0
- package/lib/esm/Stepper/Stepper.module.scss +34 -0
- package/lib/esm/Tooltip/Tooltip.d.ts +7 -0
- package/lib/esm/Tooltip/Tooltip.js +28 -0
- package/lib/esm/Tooltip/Tooltip.module.scss +18 -0
- package/lib/esm/Typography/HelperText/HelperText.d.ts +6 -0
- package/lib/esm/Typography/HelperText/HelperText.js +22 -0
- package/lib/esm/Typography/HelperText/HelperText.module.scss +10 -0
- package/lib/esm/assets/fonts.scss +0 -18
- package/lib/esm/assets/global.css +36 -0
- package/lib/esm/assets/styles.scss +0 -10
- package/lib/esm/index.d.ts +29 -29
- package/lib/esm/index.js +15 -1
- package/lib/helpers/package.json +6 -0
- package/lib/theme/package.json +6 -0
- package/lib/useClickOutside/package.json +6 -0
- package/package.json +6 -2
- package/lib/cjs/assets/index.d.ts +0 -16
- package/lib/cjs/ui/Button/style.css +0 -299
- package/lib/esm/assets/index.d.ts +0 -16
- package/lib/esm/ui/Button/style.css +0 -299
- /package/lib/cjs/{ui/Button → Button}/ButtonGroup.d.ts +0 -0
- /package/lib/cjs/{ui/Button → Button}/ButtonGroup.js +0 -0
- /package/lib/cjs/{ui/Button → Button}/ButtonIcon.d.ts +0 -0
- /package/lib/cjs/{ui/Button → Button}/ButtonIcon.js +0 -0
- /package/lib/cjs/{shared/hooks → hooks}/useClickOutside.d.ts +0 -0
- /package/lib/cjs/{shared/hooks → hooks}/useClickOutside.js +0 -0
- /package/lib/cjs/{shared/services → services}/DateService.d.ts +0 -0
- /package/lib/cjs/{shared/services → services}/DateService.js +0 -0
- /package/lib/esm/{ui/Button → Button}/ButtonGroup.d.ts +0 -0
- /package/lib/esm/{ui/Button → Button}/ButtonGroup.js +0 -0
- /package/lib/esm/{ui/Button → Button}/ButtonIcon.d.ts +0 -0
- /package/lib/esm/{ui/Button → Button}/ButtonIcon.js +0 -0
- /package/lib/esm/{shared/hooks → hooks}/useClickOutside.d.ts +0 -0
- /package/lib/esm/{shared/hooks → hooks}/useClickOutside.js +0 -0
- /package/lib/esm/{shared/services → services}/DateService.d.ts +0 -0
- /package/lib/esm/{shared/services → services}/DateService.js +0 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import css from './Checkbox.module.scss';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import { useState } from 'react';
|
|
6
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
7
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
9
|
+
const Checkbox = props => {
|
|
10
|
+
let {
|
|
11
|
+
label,
|
|
12
|
+
intermediate,
|
|
13
|
+
color = 'primary',
|
|
14
|
+
size = 'large',
|
|
15
|
+
variant = 'outlined',
|
|
16
|
+
onChange,
|
|
17
|
+
className,
|
|
18
|
+
...inputProps
|
|
19
|
+
} = props;
|
|
20
|
+
let [checked, setChecked] = useState(!!props.defaultChecked);
|
|
21
|
+
const handleClick = e => {
|
|
22
|
+
if (!inputProps.disabled) {
|
|
23
|
+
if (inputProps.checked === undefined) setChecked(prev => !prev);
|
|
24
|
+
if (onChange) onChange(e);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
28
|
+
children: /*#__PURE__*/_jsxs("div", {
|
|
29
|
+
className: clsx(css.checkbox, className),
|
|
30
|
+
children: [/*#__PURE__*/_jsx("input", {
|
|
31
|
+
className: css.checkbox__input,
|
|
32
|
+
...inputProps,
|
|
33
|
+
type: props.type || 'checkbox'
|
|
34
|
+
}), /*#__PURE__*/_jsx("label", {
|
|
35
|
+
onClick: handleClick,
|
|
36
|
+
className: clsx(css.checkbox__label, css['checkbox_' + size], css['checkbox_' + variant], css['checkbox_' + color], {
|
|
37
|
+
[css.checkbox__label_checked]: inputProps.checked !== undefined ? inputProps.checked : checked,
|
|
38
|
+
[css.checkbox__label_intermediate]: !!intermediate,
|
|
39
|
+
[css.checkbox__label_disabled]: !!inputProps.disabled
|
|
40
|
+
}),
|
|
41
|
+
children: label && /*#__PURE__*/_jsx("span", {
|
|
42
|
+
className: css.checkbox__text,
|
|
43
|
+
children: label
|
|
44
|
+
})
|
|
45
|
+
})]
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
export default Checkbox;
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
@import "../../assets/styles";
|
|
2
|
+
|
|
3
|
+
.checkbox{
|
|
4
|
+
position: relative;
|
|
5
|
+
}
|
|
6
|
+
.checkbox__input{
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
.checkbox__label{
|
|
10
|
+
cursor: pointer;
|
|
11
|
+
text-align: left;
|
|
12
|
+
position: relative;
|
|
13
|
+
display: block;
|
|
14
|
+
font-size: 16px;
|
|
15
|
+
line-height: 1.2;
|
|
16
|
+
width:22px;
|
|
17
|
+
height: 22px;
|
|
18
|
+
& .checkbox__text{
|
|
19
|
+
display: block;
|
|
20
|
+
padding-left: 31px;
|
|
21
|
+
}
|
|
22
|
+
&:before{
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 100%;
|
|
25
|
+
border-radius: $radius;
|
|
26
|
+
border: 1px solid $color-gray-700;
|
|
27
|
+
background: #fff;
|
|
28
|
+
position: absolute;
|
|
29
|
+
content: '';
|
|
30
|
+
left: 0;
|
|
31
|
+
top: -3px;
|
|
32
|
+
}
|
|
33
|
+
&:after{
|
|
34
|
+
content: '';
|
|
35
|
+
position: absolute;
|
|
36
|
+
transform: rotate(45deg);
|
|
37
|
+
left: 9px;
|
|
38
|
+
top: 1px;
|
|
39
|
+
width: 5px;
|
|
40
|
+
height: 10px;
|
|
41
|
+
border-bottom: 2px solid;
|
|
42
|
+
border-right: 2px solid;
|
|
43
|
+
display: none;
|
|
44
|
+
}
|
|
45
|
+
& span{
|
|
46
|
+
display: inline-block;
|
|
47
|
+
padding-left: 5px;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.checkbox_medium{
|
|
52
|
+
width:18px;
|
|
53
|
+
height: 18px;
|
|
54
|
+
& .checkbox__text{
|
|
55
|
+
//padding-left: 27px;
|
|
56
|
+
}
|
|
57
|
+
&:after{
|
|
58
|
+
left: 7px;
|
|
59
|
+
top: 1px;
|
|
60
|
+
}
|
|
61
|
+
&:before{
|
|
62
|
+
top:-1px;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
.checkbox_small{
|
|
66
|
+
font-size: 14px;
|
|
67
|
+
width:16px;
|
|
68
|
+
height: 16px;
|
|
69
|
+
& .checkbox__text{
|
|
70
|
+
padding-left: 25px;
|
|
71
|
+
}
|
|
72
|
+
&:after{
|
|
73
|
+
left: 7px;
|
|
74
|
+
top: 1px;
|
|
75
|
+
height: 8px;
|
|
76
|
+
width: 3px;
|
|
77
|
+
}
|
|
78
|
+
&:before{
|
|
79
|
+
top: -2px;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
.checkbox__label_intermediate{
|
|
83
|
+
&:after{
|
|
84
|
+
border-left: none;
|
|
85
|
+
width: 16px;
|
|
86
|
+
transform: none;
|
|
87
|
+
top: 7px;
|
|
88
|
+
height: 0;
|
|
89
|
+
left: 4px;
|
|
90
|
+
border-right: none;
|
|
91
|
+
}
|
|
92
|
+
&.checkbox_medium:after{
|
|
93
|
+
width: 12px;
|
|
94
|
+
}
|
|
95
|
+
&.checkbox_small:after{
|
|
96
|
+
width: 10px;
|
|
97
|
+
top: 6px;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.checkbox__label_intermediate,
|
|
102
|
+
.checkbox__label_checked{
|
|
103
|
+
&:before{
|
|
104
|
+
border-color: transparent;
|
|
105
|
+
background: $color-primary;
|
|
106
|
+
}
|
|
107
|
+
&:after{
|
|
108
|
+
border-color: #fff;
|
|
109
|
+
display: block;
|
|
110
|
+
}
|
|
111
|
+
&.checkbox_secondary{
|
|
112
|
+
&:before{
|
|
113
|
+
background: $color-secondary;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
&.checkbox_contained{
|
|
118
|
+
&.checkbox_secondary{
|
|
119
|
+
&:before{
|
|
120
|
+
background: $color-secondary;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
&.checkbox_neutral{
|
|
124
|
+
&:before{
|
|
125
|
+
background: $color-neutral;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
&.checkbox_success{
|
|
129
|
+
&:before{
|
|
130
|
+
background: $color-success;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
&.checkbox_error{
|
|
134
|
+
color: $color-error-dark;
|
|
135
|
+
&:before{
|
|
136
|
+
background: $color-error-dark;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
&.checkbox_warning{
|
|
140
|
+
&:before{
|
|
141
|
+
background: $color-warning;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
.checkbox_outlined{
|
|
147
|
+
&:before{
|
|
148
|
+
background: transparent;
|
|
149
|
+
border-color: $color-primary;
|
|
150
|
+
}
|
|
151
|
+
&:after{
|
|
152
|
+
border-color: $color-primary;
|
|
153
|
+
}
|
|
154
|
+
&.checkbox_secondary{
|
|
155
|
+
&:before{
|
|
156
|
+
border-color: $color-secondary;
|
|
157
|
+
}
|
|
158
|
+
&:after{
|
|
159
|
+
border-color: $color-secondary;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
&.checkbox_neutral{
|
|
163
|
+
&:before{
|
|
164
|
+
border-color: $color-neutral;
|
|
165
|
+
}
|
|
166
|
+
&:after{
|
|
167
|
+
border-color: $color-neutral;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
&.checkbox_success{
|
|
171
|
+
&:before{
|
|
172
|
+
border-color: $color-success;
|
|
173
|
+
}
|
|
174
|
+
&:after{
|
|
175
|
+
border-color: $color-success;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
&.checkbox_error{
|
|
179
|
+
color: $color-error-dark;
|
|
180
|
+
&:before{
|
|
181
|
+
border-color: $color-error-dark;
|
|
182
|
+
}
|
|
183
|
+
&:after{
|
|
184
|
+
border-color: $color-error-dark;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
&.checkbox_warning{
|
|
188
|
+
&:before{
|
|
189
|
+
border-color: $color-warning;
|
|
190
|
+
}
|
|
191
|
+
&:after{
|
|
192
|
+
border-color: $color-warning;
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.checkbox__label_disabled{
|
|
198
|
+
color: $color-gray-500 !important;
|
|
199
|
+
pointer-events: none;
|
|
200
|
+
&:before{
|
|
201
|
+
background-color: $color-gray-400;
|
|
202
|
+
}
|
|
203
|
+
&:after{
|
|
204
|
+
border-color: $color-gray-200;
|
|
205
|
+
}
|
|
206
|
+
&.checkbox_outlined{
|
|
207
|
+
&:before{
|
|
208
|
+
background-color: transparent;
|
|
209
|
+
border-color: $color-gray-200;
|
|
210
|
+
}
|
|
211
|
+
&:after{
|
|
212
|
+
border-color: $color-gray-200;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
.radio{
|
|
218
|
+
& .checkbox__label{
|
|
219
|
+
&:before{
|
|
220
|
+
border-radius: 50%;
|
|
221
|
+
}
|
|
222
|
+
&:after{
|
|
223
|
+
border: none;
|
|
224
|
+
border-radius: 50%;
|
|
225
|
+
background: $color-primary;
|
|
226
|
+
width: 12px;
|
|
227
|
+
height: 12px;
|
|
228
|
+
margin-top: -2px;
|
|
229
|
+
margin-left: 1px;
|
|
230
|
+
top:50%;
|
|
231
|
+
left:50%;
|
|
232
|
+
transform: translate(-50%, -50%);
|
|
233
|
+
}
|
|
234
|
+
&.checkbox_medium{
|
|
235
|
+
&:after{
|
|
236
|
+
width: 8px;
|
|
237
|
+
height: 8px;
|
|
238
|
+
margin-top: 0;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
&.checkbox_small{
|
|
242
|
+
&:after{
|
|
243
|
+
width: 6px;
|
|
244
|
+
height: 6px;
|
|
245
|
+
margin-top: -1px;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
&.checkbox_error:before{
|
|
249
|
+
border-color: $color-error-dark;
|
|
250
|
+
}
|
|
251
|
+
&.checkbox_secondary:before{
|
|
252
|
+
border-color: $color-secondary;
|
|
253
|
+
}
|
|
254
|
+
&.checkbox_success:before{
|
|
255
|
+
border-color: $color-success;
|
|
256
|
+
}
|
|
257
|
+
&.checkbox_warning:before{
|
|
258
|
+
border-color: $color-warning;
|
|
259
|
+
}
|
|
260
|
+
&.checkbox_neutral:before{
|
|
261
|
+
border-color: $color-neutral;
|
|
262
|
+
}
|
|
263
|
+
&.checkbox_error:after{
|
|
264
|
+
background: $color-error-dark;
|
|
265
|
+
}
|
|
266
|
+
&.checkbox_secondary:after{
|
|
267
|
+
background: $color-secondary;
|
|
268
|
+
}
|
|
269
|
+
&.checkbox_success:after{
|
|
270
|
+
background: $color-success;
|
|
271
|
+
}
|
|
272
|
+
&.checkbox_warning:after{
|
|
273
|
+
background: $color-warning;
|
|
274
|
+
}
|
|
275
|
+
&.checkbox_neutral:after{
|
|
276
|
+
background: $color-neutral;
|
|
277
|
+
}
|
|
278
|
+
&_disabled:after{
|
|
279
|
+
background: $color-gray-200 !important;
|
|
280
|
+
}
|
|
281
|
+
&.checkbox_contained:after{
|
|
282
|
+
background: #fff;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
&.checkbox__label_disabled:before{
|
|
286
|
+
background: transparent !important;
|
|
287
|
+
border-color: $color-gray-400;
|
|
288
|
+
}
|
|
289
|
+
&_checked{
|
|
290
|
+
&.checkbox__label_disabled:before{
|
|
291
|
+
background: #B1BCC6 !important;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
}
|
|
297
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import Checkbox from './Checkbox';
|
|
2
|
+
import css from './Checkbox.module.scss';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
6
|
+
const Radio = props => {
|
|
7
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
8
|
+
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
9
|
+
...props,
|
|
10
|
+
className: clsx(props.className, css.radio, css['radio_' + props.size || 'large'], css['radio_' + props.color || 'primary']),
|
|
11
|
+
type: 'radio'
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
export default Radio;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { TextFieldProps } from '../TextField/TextField';
|
|
2
|
+
import { ChangeEvent } from 'react';
|
|
3
|
+
export type DateFieldProps = {
|
|
4
|
+
format?: string;
|
|
5
|
+
onInput?: (e: ChangeEvent<HTMLInputElement>) => void;
|
|
6
|
+
onChange?: (value: Date | null) => void;
|
|
7
|
+
showTime?: boolean;
|
|
8
|
+
showTimeOnly?: boolean;
|
|
9
|
+
} & TextFieldProps;
|
|
10
|
+
declare const DateField: import("react").ForwardRefExoticComponent<{
|
|
11
|
+
format?: string | undefined;
|
|
12
|
+
onInput?: ((e: ChangeEvent<HTMLInputElement>) => void) | undefined;
|
|
13
|
+
onChange?: ((value: Date | null) => void) | undefined;
|
|
14
|
+
showTime?: boolean | undefined;
|
|
15
|
+
showTimeOnly?: boolean | undefined;
|
|
16
|
+
} & {
|
|
17
|
+
label?: string | undefined;
|
|
18
|
+
size?: "small" | "large" | undefined;
|
|
19
|
+
variant?: import("../../shared/types/theme").VariantType | undefined;
|
|
20
|
+
error?: boolean | undefined;
|
|
21
|
+
success?: boolean | undefined;
|
|
22
|
+
helperText?: string | undefined;
|
|
23
|
+
endAdornment?: import("react").ReactNode;
|
|
24
|
+
multiline?: boolean | undefined;
|
|
25
|
+
} & Omit<import("react").InputHTMLAttributes<any>, "size"> & import("react").RefAttributes<unknown>>;
|
|
26
|
+
export default DateField;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import TextField from '../TextField/TextField';
|
|
4
|
+
import { forwardRef, useState } from 'react';
|
|
5
|
+
import ButtonIcon from '../../Button/ButtonIcon';
|
|
6
|
+
import Card from '../../Card/Card';
|
|
7
|
+
import DatePicker from '../DatePicker/DatePicker';
|
|
8
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
9
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
10
|
+
const DateInput = /*#__PURE__*/forwardRef((props, ref) => {
|
|
11
|
+
let {
|
|
12
|
+
showTime,
|
|
13
|
+
showTimeOnly,
|
|
14
|
+
...restProps
|
|
15
|
+
} = props;
|
|
16
|
+
let inputIcon = showTime && showTimeOnly ? 'schedule' : 'calendar_today';
|
|
17
|
+
console.log(restProps);
|
|
18
|
+
return /*#__PURE__*/_jsx(TextField, {
|
|
19
|
+
ref: ref,
|
|
20
|
+
...restProps,
|
|
21
|
+
endAdornment: /*#__PURE__*/_jsx(ButtonIcon, {
|
|
22
|
+
size: 'medium',
|
|
23
|
+
variant: 'transparent',
|
|
24
|
+
onClick: props.onClick,
|
|
25
|
+
color: 'neutral',
|
|
26
|
+
className: 'material_icon',
|
|
27
|
+
children: inputIcon
|
|
28
|
+
})
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
const DateField = /*#__PURE__*/forwardRef((props, ref) => {
|
|
32
|
+
let {
|
|
33
|
+
onChange,
|
|
34
|
+
format = 'dd.MM.yyyy',
|
|
35
|
+
onInput,
|
|
36
|
+
showTime,
|
|
37
|
+
showTimeOnly,
|
|
38
|
+
...restProps
|
|
39
|
+
} = props;
|
|
40
|
+
let [date, setDate] = useState(null);
|
|
41
|
+
if (showTime && !showTimeOnly) format = 'dd.MM.yyyy HH:mm';else if (showTimeOnly) format = 'HH:mm';
|
|
42
|
+
const handleChange = d => {
|
|
43
|
+
setDate(d);
|
|
44
|
+
if (onChange) onChange(d);
|
|
45
|
+
};
|
|
46
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
47
|
+
children: /*#__PURE__*/_jsx(DatePicker, {
|
|
48
|
+
onChange: handleChange,
|
|
49
|
+
selected: date,
|
|
50
|
+
showTimeSelect: !!showTime,
|
|
51
|
+
timeIntervals: 15,
|
|
52
|
+
showTimeSelectOnly: !!showTimeOnly && !!showTime,
|
|
53
|
+
customInput: /*#__PURE__*/_jsx(DateInput, {
|
|
54
|
+
showTime: showTime,
|
|
55
|
+
showTimeOnly: showTimeOnly,
|
|
56
|
+
ref: ref,
|
|
57
|
+
...restProps
|
|
58
|
+
}),
|
|
59
|
+
inline: false,
|
|
60
|
+
calendarContainer: Card,
|
|
61
|
+
popperPlacement: "top-end",
|
|
62
|
+
dateFormat: format
|
|
63
|
+
})
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
export default DateField;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import "../../assets/styles";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import DateField from './DateField';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
4
|
+
const TimeField = props => {
|
|
5
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
6
|
+
children: /*#__PURE__*/_jsx(DateField, {
|
|
7
|
+
...props,
|
|
8
|
+
showTime: true,
|
|
9
|
+
showTimeOnly: true
|
|
10
|
+
})
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
export default TimeField;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ReactDatePickerProps } from 'react-datepicker';
|
|
3
|
+
import '!style-loader!css-loader!./styles.css';
|
|
4
|
+
declare const DatePicker: import("react").ForwardRefExoticComponent<{
|
|
5
|
+
selectsRange?: boolean | undefined;
|
|
6
|
+
} & Omit<ReactDatePickerProps<never, boolean | undefined>, "selectsRange"> & import("react").RefAttributes<unknown>>;
|
|
7
|
+
export default DatePicker;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { forwardRef } from 'react';
|
|
2
|
+
import ReactDatePicker, { registerLocale } from 'react-datepicker';
|
|
3
|
+
import '!style-loader!css-loader!./styles.css';
|
|
4
|
+
import ru from 'date-fns/locale/ru';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
registerLocale('ru', ru);
|
|
8
|
+
const renderDayContents = day => {
|
|
9
|
+
return /*#__PURE__*/_jsx("div", {
|
|
10
|
+
className: 'customDay',
|
|
11
|
+
children: day
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
const DatePicker = /*#__PURE__*/forwardRef((props, ref) => {
|
|
15
|
+
let {
|
|
16
|
+
onChange,
|
|
17
|
+
selectsRange = false,
|
|
18
|
+
...restProps
|
|
19
|
+
} = props;
|
|
20
|
+
const handleChange = (date, event) => {
|
|
21
|
+
if (onChange) onChange(date, event);
|
|
22
|
+
};
|
|
23
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
24
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
25
|
+
className: 'ui-datepicker',
|
|
26
|
+
children: /*#__PURE__*/_jsx(ReactDatePicker, {
|
|
27
|
+
ref: ref,
|
|
28
|
+
locale: 'ru',
|
|
29
|
+
onChange: handleChange,
|
|
30
|
+
inline: true,
|
|
31
|
+
renderDayContents: renderDayContents,
|
|
32
|
+
...restProps,
|
|
33
|
+
selectsRange: selectsRange,
|
|
34
|
+
onBlur: () => {
|
|
35
|
+
console.log(1);
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
export default DatePicker;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DatePicker from './DatePicker';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
const PeriodSelect = () => {
|
|
8
|
+
const [startDate, setStartDate] = useState(new Date());
|
|
9
|
+
const [endDate, setEndDate] = useState(null);
|
|
10
|
+
const handleChange = date => {
|
|
11
|
+
setStartDate(date[0]);
|
|
12
|
+
setEndDate(date[1]);
|
|
13
|
+
};
|
|
14
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
15
|
+
children: /*#__PURE__*/_jsx(DatePicker, {
|
|
16
|
+
selected: startDate,
|
|
17
|
+
onChange: handleChange,
|
|
18
|
+
startDate: startDate,
|
|
19
|
+
endDate: endDate,
|
|
20
|
+
selectsRange: true
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
export default PeriodSelect;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import DatePicker from './DatePicker';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
7
|
+
const TimePicker = () => {
|
|
8
|
+
const [startDate, setStartDate] = useState(new Date());
|
|
9
|
+
const handleChange = date => {
|
|
10
|
+
setStartDate(date);
|
|
11
|
+
};
|
|
12
|
+
return /*#__PURE__*/_jsx(_Fragment, {
|
|
13
|
+
children: /*#__PURE__*/_jsx(DatePicker, {
|
|
14
|
+
selected: startDate,
|
|
15
|
+
onChange: handleChange,
|
|
16
|
+
timeIntervals: 5,
|
|
17
|
+
showTimeSelect: true,
|
|
18
|
+
showTimeSelectOnly: true,
|
|
19
|
+
timeCaption: ''
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
export default TimePicker;
|