mimir-ui-kit 1.27.3 → 1.27.5

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -1,62 +1,62 @@
1
- # Mimir-ui
2
-
3
- ## Установка и запуск проекта
4
-
5
- 1. Установите зависимости:
6
- ```bash
7
- npm install
8
- ```
9
- 2. Запуск storybook
10
- ```bash
11
- npm run storybook
12
- ```
13
-
14
- ## Сборка проекта
15
-
16
- 1. Скрипт для сборки
17
- ```bash
18
- npm run build
19
- ```
20
-
21
- ## Создание нового компонента
22
-
23
- ```bash
24
- npm run create-component <ComponentName>
25
- ```
26
-
27
- ## Поднятие версии для публикации на npm
28
-
29
- Для поднятия версии пакета перед публикацией на npm используем следующие скрипты:
30
-
31
- 1. `patch`: Этот скрипт увеличивает версию пакета на один патч (например, с версии 1.0.0 до 1.0.1). Он автоматически обновляет версию в файле package.json и создает коммит с обновленной версией.
32
-
33
- ```bash
34
- npm version patch
35
- ```
36
-
37
- 2. `minor`: Этот скрипт увеличивает версию пакета на один минорный уровень (например, с версии 1.0.0 до 1.1.0). Также обновляет версию в package.json и создает коммит.
38
- ```bash
39
- npm version minor
40
- ```
41
- 3. `major`: Этот скрипт увеличивает версию пакета на один мажорный уровень (например, с версии 1.0.0 до 2.0.0). Он также обновляет версию в package.json и создает коммит.
42
- ```bash
43
- npm version major
44
- ```
45
-
46
- ## Публикация на npm
47
-
48
- 1. Скрипт для публикации на npm:
49
- ```bash
50
- npm publish
51
- ```
52
-
53
- ## Ручная Генерация иконок
54
-
55
- 1. Экспортируем с фигмы иконку.
56
- 2. Добавляем ее в папку svgs.
57
- 3. Запускаем скрипт:
58
- ```bash
59
- npm run icons
60
- ```
61
- 4. Смотрим в папку `icons/components`
62
- 5. Готово.
1
+ # Mimir-ui
2
+
3
+ ## Установка и запуск проекта
4
+
5
+ 1. Установите зависимости:
6
+ ```bash
7
+ npm install
8
+ ```
9
+ 2. Запуск storybook
10
+ ```bash
11
+ npm run storybook
12
+ ```
13
+
14
+ ## Сборка проекта
15
+
16
+ 1. Скрипт для сборки
17
+ ```bash
18
+ npm run build
19
+ ```
20
+
21
+ ## Создание нового компонента
22
+
23
+ ```bash
24
+ npm run create-component <ComponentName>
25
+ ```
26
+
27
+ ## Поднятие версии для публикации на npm
28
+
29
+ Для поднятия версии пакета перед публикацией на npm используем следующие скрипты:
30
+
31
+ 1. `patch`: Этот скрипт увеличивает версию пакета на один патч (например, с версии 1.0.0 до 1.0.1). Он автоматически обновляет версию в файле package.json и создает коммит с обновленной версией.
32
+
33
+ ```bash
34
+ npm version patch
35
+ ```
36
+
37
+ 2. `minor`: Этот скрипт увеличивает версию пакета на один минорный уровень (например, с версии 1.0.0 до 1.1.0). Также обновляет версию в package.json и создает коммит.
38
+ ```bash
39
+ npm version minor
40
+ ```
41
+ 3. `major`: Этот скрипт увеличивает версию пакета на один мажорный уровень (например, с версии 1.0.0 до 2.0.0). Он также обновляет версию в package.json и создает коммит.
42
+ ```bash
43
+ npm version major
44
+ ```
45
+
46
+ ## Публикация на npm
47
+
48
+ 1. Скрипт для публикации на npm:
49
+ ```bash
50
+ npm publish
51
+ ```
52
+
53
+ ## Ручная Генерация иконок
54
+
55
+ 1. Экспортируем с фигмы иконку.
56
+ 2. Добавляем ее в папку svgs.
57
+ 3. Запускаем скрипт:
58
+ ```bash
59
+ npm run icons
60
+ ```
61
+ 4. Смотрим в папку `icons/components`
62
+ 5. Готово.
@@ -10,6 +10,7 @@ import { formating } from "../../utils/index.js";
10
10
  import { Button } from "../Button/Button.js";
11
11
  import { I as Input } from "../../Input-6mudFqTb.js";
12
12
  import { EInputVariant } from "../Input/constants.js";
13
+ import { parseDate } from "../../utils/formating/Date.js";
13
14
  const DatePicker = memo(
14
15
  forwardRef(
15
16
  ({
@@ -26,9 +27,12 @@ const DatePicker = memo(
26
27
  }, ref) => {
27
28
  const [isActive, setActive] = useState(false);
28
29
  const [pickerType, setType] = useState(type);
29
- const [date, setDate] = useState(
30
- value ? new Date(value) : /* @__PURE__ */ new Date()
31
- );
30
+ const [date, setDate] = useState(() => {
31
+ if (value) {
32
+ return parseDate(value);
33
+ }
34
+ return /* @__PURE__ */ new Date();
35
+ });
32
36
  const [isError, setError] = useState(error);
33
37
  useEffect(() => {
34
38
  setError(error);
@@ -45,6 +49,10 @@ const DatePicker = memo(
45
49
  if (!disabled) setActive(true);
46
50
  };
47
51
  const onDate = (d) => {
52
+ if (!isNaN(d.getTime())) {
53
+ setDate(d);
54
+ onChangeValue == null ? void 0 : onChangeValue({ value: d, name });
55
+ }
48
56
  if (pickerType === "years") {
49
57
  if (type === "years") {
50
58
  setActive(false);
@@ -81,7 +89,7 @@ const DatePicker = memo(
81
89
  size,
82
90
  type: "text",
83
91
  variant: isError ? EInputVariant.Error : variant,
84
- value: formating.Date(date, "dd.mm.yy"),
92
+ value: !isNaN(date.getTime()) ? formating.Date(date, "dd.mm.yy") : "",
85
93
  ...props
86
94
  }
87
95
  )
@@ -5,6 +5,7 @@ import { c as cls } from "../../styles.module-BZXDqssF.js";
5
5
  import { Icon } from "../../icons/Icon.js";
6
6
  import { formating } from "../../utils/index.js";
7
7
  import { Button } from "../Button/Button.js";
8
+ import { parseDate } from "../../utils/formating/Date.js";
8
9
  function DatePickerModal({
9
10
  date,
10
11
  onChangeValue,
@@ -12,9 +13,10 @@ function DatePickerModal({
12
13
  before,
13
14
  onType
14
15
  }) {
16
+ var _a;
15
17
  const field = useRef(null);
16
- const _current = new Date(date);
17
- const _selecte = new Date(date);
18
+ const _current = parseDate(date);
19
+ const _selecte = parseDate(date);
18
20
  const current = {
19
21
  y: _current.getFullYear(),
20
22
  d: _current.getDate(),
@@ -29,11 +31,11 @@ function DatePickerModal({
29
31
  const [month, setMonth] = useState({ y: selecte.y, m: selecte.m });
30
32
  const blockWidth = 368;
31
33
  useEffect(() => {
32
- var _a, _b, _c, _d;
34
+ var _a2, _b, _c, _d;
33
35
  const windowHeight = window.innerHeight;
34
36
  const windowWidth = window.innerWidth;
35
37
  if (field.current !== null) {
36
- const inputWidth = ((_b = (_a = field == null ? void 0 : field.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.offsetWidth) || 0;
38
+ const inputWidth = ((_b = (_a2 = field == null ? void 0 : field.current) == null ? void 0 : _a2.parentElement) == null ? void 0 : _b.offsetWidth) || 0;
37
39
  const inputHeight = (_d = (_c = field == null ? void 0 : field.current) == null ? void 0 : _c.parentElement) == null ? void 0 : _d.offsetHeight;
38
40
  const inputPosition = field.current.getBoundingClientRect();
39
41
  const calendarSize = field.current.offsetHeight;
@@ -130,7 +132,7 @@ function DatePickerModal({
130
132
  }
131
133
  ),
132
134
  /* @__PURE__ */ jsxs("div", { className: cls["d"], onClick: () => onType == null ? void 0 : onType("months"), children: [
133
- formating.Month(month.m).name,
135
+ ((_a = formating.Month(month.m)) == null ? void 0 : _a.name) || "Неизвестный месяц",
134
136
  "’",
135
137
  month.y.toString().slice(-2),
136
138
  /* @__PURE__ */ jsx(Icon, { iconName: "DropdownArrowBottom16px" })
@@ -89,7 +89,7 @@ const Steps = forwardRef(
89
89
  const handleMouseLeave = () => {
90
90
  setHoveredStep(null);
91
91
  onStepMouseLeave && onStepMouseLeave();
92
- const zone = zones.find((zone2) => zone2.to >= (step2 + 1 || 0));
92
+ const zone = zones.find((zone2) => zone2.to >= (step2 || 0));
93
93
  if (zone) {
94
94
  setParentColor && setParentColor(zone.color);
95
95
  if (fillByActualZone) {
@@ -60,6 +60,18 @@ const Vote = forwardRef((props, ref) => {
60
60
  setHoveredScore(null);
61
61
  };
62
62
  const maxContainerWidth = resizable ? quantity * ((customSize == null ? void 0 : customSize.width) ?? StepSize[size].width) : void 0;
63
+ let showingScore;
64
+ let showingScoreBackground;
65
+ let showingScoreColor;
66
+ if (hoveredScore) {
67
+ showingScore = hoveredScore;
68
+ showingScoreBackground = currentColor;
69
+ showingScoreColor = scoreTextColor.selected;
70
+ } else {
71
+ showingScore = isZeroStep ? ZERO_VALUE : score2;
72
+ showingScoreBackground = isZeroStep ? unselectedColor : currentColor;
73
+ showingScoreColor = isZeroStep ? scoreTextColor.unselected : scoreTextColor.selected;
74
+ }
63
75
  return /* @__PURE__ */ jsxs("div", { className: classNames(cls.container, rootClassName), ref, children: [
64
76
  !withoutTitle && /* @__PURE__ */ jsx("p", { className: classNames(cls.title, titleClassName), children: title2 }),
65
77
  /* @__PURE__ */ jsx(
@@ -67,10 +79,10 @@ const Vote = forwardRef((props, ref) => {
67
79
  {
68
80
  className: classNames(cls.score, scoreClassName),
69
81
  style: {
70
- backgroundColor: isZeroStep ? unselectedColor : currentColor,
71
- color: isZeroStep ? scoreTextColor.unselected : scoreTextColor.selected
82
+ backgroundColor: showingScoreBackground,
83
+ color: showingScoreColor
72
84
  },
73
- children: isZeroStep ? ZERO_VALUE : hoveredScore || score2
85
+ children: showingScore
74
86
  }
75
87
  ),
76
88
  /* @__PURE__ */ jsx(
package/dist/index.js CHANGED
@@ -53,6 +53,7 @@ import { useMergeRefs } from "./hooks/useMergeRefs/useMergeRefs.js";
53
53
  import { useResizeObserver } from "./hooks/useResizeObserver/useResizeObserver.js";
54
54
  import { Icon } from "./icons/Icon.js";
55
55
  import { formating } from "./utils/index.js";
56
+ import { parseDate } from "./utils/formating/Date.js";
56
57
  import './assets/index.css';export {
57
58
  Accordion,
58
59
  AccordionItem,
@@ -114,6 +115,7 @@ import './assets/index.css';export {
114
115
  formating,
115
116
  getMaskedInputPhoneValue,
116
117
  getUnmaskedInputValue,
118
+ parseDate,
117
119
  useCopyToClipboard,
118
120
  useInterval,
119
121
  useLockBodyScroll,
@@ -1 +1,2 @@
1
1
  export default function _Date(x: Date | string, y?: string | Date | undefined): string;
2
+ export declare const parseDate: (dateString: string | Date) => Date;
@@ -21,6 +21,12 @@ function _Date(x, y) {
21
21
  });
22
22
  return y;
23
23
  }
24
+ const parseDate = (dateString) => {
25
+ if (dateString instanceof Date) return dateString;
26
+ const [day, month, year] = dateString.split(".");
27
+ return new Date(parseInt(year), parseInt(month) - 1, parseInt(day));
28
+ };
24
29
  export {
25
- _Date as default
30
+ _Date as default,
31
+ parseDate
26
32
  };
@@ -11,3 +11,4 @@ export declare const formating: {
11
11
  UUIDv4: typeof UUIDv4;
12
12
  Size: typeof Size;
13
13
  };
14
+ export { parseDate } from './formating/Date';
@@ -1,4 +1,5 @@
1
1
  import _Date from "./formating/Date.js";
2
+ import { parseDate } from "./formating/Date.js";
2
3
  import Size from "./formating/FileSize.js";
3
4
  import Month from "./formating/Month.js";
4
5
  import Numbers from "./formating/Numbers.js";
@@ -11,5 +12,6 @@ const formating = {
11
12
  Size
12
13
  };
13
14
  export {
14
- formating
15
+ formating,
16
+ parseDate
15
17
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.27.3",
4
+ "version": "1.27.5",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {