mimir-ui-kit 1.27.4 → 1.27.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md 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" })
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.4",
4
+ "version": "1.27.5",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {