intelicoreact 1.5.14 → 1.5.16

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.
@@ -12,7 +12,7 @@ require("./Label.scss");
12
12
  const Label = _ref => {
13
13
  let {
14
14
  className = "",
15
- label,
15
+ label = "",
16
16
  note,
17
17
  hint,
18
18
  isRequired,
@@ -22,17 +22,19 @@ const Label = _ref => {
22
22
  isAccessability = false,
23
23
  isAccessabilityHint = false
24
24
  } = _ref;
25
- return /*#__PURE__*/_react.default.createElement("span", {
26
- tabIndex: isAccessability ? 0 : -1,
27
- "aria-label": label,
28
- className: (0, _classnames.default)("label", {
29
- label_bold: isLabelBolt,
30
- error: error,
31
- isRequired: isRequired
32
- }, className)
33
- }, /*#__PURE__*/_react.default.createElement("span", {
34
- className: "label_text"
35
- }, label), note && /*#__PURE__*/_react.default.createElement("span", {
25
+ const correctLabel = isRequired ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, label, " ", /*#__PURE__*/_react.default.createElement("span", {
26
+ className: "label_asterisk"
27
+ }, "*"), " ", note && /*#__PURE__*/_react.default.createElement("span", {
28
+ className: "label_note"
29
+ }, note), hint && /*#__PURE__*/_react.default.createElement(_Hint.default, {
30
+ isAccessability: isAccessabilityHint,
31
+ hint: hint.text,
32
+ icon: hint.icon,
33
+ variant: hint.variant,
34
+ side: hint.hintSide,
35
+ className: "label-hint",
36
+ onClickCallback: onClickHintCallback
37
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, label, " ", note && /*#__PURE__*/_react.default.createElement("span", {
36
38
  className: "label_note"
37
39
  }, note), hint && /*#__PURE__*/_react.default.createElement(_Hint.default, {
38
40
  isAccessability: isAccessabilityHint,
@@ -43,5 +45,16 @@ const Label = _ref => {
43
45
  className: "label-hint",
44
46
  onClickCallback: onClickHintCallback
45
47
  }));
48
+ return /*#__PURE__*/_react.default.createElement("span", {
49
+ tabIndex: isAccessability ? 0 : -1,
50
+ "aria-label": label,
51
+ className: (0, _classnames.default)("label", {
52
+ label_bold: isLabelBolt,
53
+ error: error,
54
+ isRequired: isRequired
55
+ }, className)
56
+ }, /*#__PURE__*/_react.default.createElement("span", {
57
+ className: "label_text"
58
+ }, correctLabel));
46
59
  };
47
60
  var _default = exports.default = Label;
@@ -1,24 +1,22 @@
1
1
  .label {
2
- display: flex;
2
+ position: relative;
3
+ display: inline-flex;
3
4
  align-items: center;
4
5
  margin-bottom: 5px;
5
6
 
6
7
  font-size: 13px;
8
+ width: 100%;
7
9
 
8
10
  color: #1e1e2d;
9
11
 
10
12
  .label_text {
11
- position: relative;
13
+ vertical-align: middle;
14
+ width: 100%;
15
+ word-wrap: break-word;
16
+ white-space: normal;
12
17
  }
13
18
 
14
- &.isRequired .label_text {
15
- margin-right: 8px;
16
- }
17
-
18
- &.isRequired .label_text::after {
19
- content: '*';
20
- position: absolute;
21
- right: -8px;
19
+ &.isRequired .label_asterisk {
22
20
  color: red;
23
21
  }
24
22
 
@@ -26,11 +24,8 @@
26
24
  font-weight: 500;
27
25
  }
28
26
 
27
+ &_note,
29
28
  &-hint {
30
- margin-left: 5px;
31
- }
32
-
33
- &_note {
34
29
  margin-left: 4px;
35
30
  }
36
31
  }
@@ -11,7 +11,7 @@ var _moment = _interopRequireDefault(require("moment"));
11
11
  * @constant {Object} DATETIME_FORMATS
12
12
  * @description Все доступные форматы дат и времени.
13
13
  */
14
- const DATETIME_FORMATS = exports.DATETIME_FORMATS = {
14
+ const DATETIME_FORMATS = exports.DATETIME_FORMATS = Object.freeze({
15
15
  // Основные форматы
16
16
  DATE_FORMAT: "YYYY-MM-DD",
17
17
  // Стандартный формат даты
@@ -58,63 +58,108 @@ const DATETIME_FORMATS = exports.DATETIME_FORMATS = {
58
58
  MONTH_DAY: "MM/DD",
59
59
  // Только месяц и день
60
60
  YEAR_MONTH_DAY: "YYYY/MM/DD" // Год/Месяц/День
61
- };
61
+ });
62
+ const formatMap = Object.freeze({
63
+ [DATETIME_FORMATS.DATE_FORMAT]: "YYYY-MM-DD",
64
+ // Стандартный формат даты
65
+ [DATETIME_FORMATS.DATE_WITHOUT_SEPARATORS]: "MMDDYYYY",
66
+ // Без разделителей
67
+ [DATETIME_FORMATS.VALIDATION_DATE_FORMAT]: "MM/DD/YYYY",
68
+ // Для валидации
69
+ [DATETIME_FORMATS.INPUT_DATE_FORMAT]: "MM.DD.YYYY",
70
+ // Формат для ввода
71
+ [DATETIME_FORMATS.INPUT_TIME_FORMAT]: "YYYY-MM-DD HH:mm:SS",
72
+ // Ввод времени
73
+ [DATETIME_FORMATS.TIME_FORMAT_WSPACE]: "YYYY-MM-DD HH:mm:SS",
74
+ // Время с пробелом
75
+ [DATETIME_FORMATS.TIME_FORMAT]: "YYYY-MM-DDTHH:mm:SS",
76
+ // Время с T (ISO формат)
77
+ [DATETIME_FORMATS.DATE_FORMAT_WITH_SLASH]: "MM/DD/YYYY",
78
+ // Дата с разделителем /
79
+ [DATETIME_FORMATS.DATE_WITH_DASHES]: "MM-DD-YYYY",
80
+ // Дата с дефисами
81
+ [DATETIME_FORMATS.DATE_WITH_DOTS]: "DD.MM.YYYY",
82
+ // Дата с точками
83
+ [DATETIME_FORMATS.DATE_WITH_COMMA]: "DD,MM,YYYY",
84
+ // Дата с запятыми
85
+ [DATETIME_FORMATS.FULL_DATE_TIME]: "YYYY-MM-DD HH:mm:ss",
86
+ // Полная дата и время
87
+ [DATETIME_FORMATS.ISO_DATE_TIME]: "YYYY-MM-DDTHH:mm:ss.SSSZ",
88
+ // ISO стандарт с миллисекундами
89
+ [DATETIME_FORMATS.LOCALIZED_DATE]: "MMMM DD, YYYY",
90
+ // Локализованный формат с полным названием месяца
91
+ [DATETIME_FORMATS.SHORT_DATE]: "MM/DD/YY",
92
+ // Краткая дата
93
+ [DATETIME_FORMATS.SHORT_DATE_WITH_TIME]: "MM/DD/YY HH:mm",
94
+ // Краткая дата с временем
95
+ [DATETIME_FORMATS.TIME_24H]: "HH:mm",
96
+ // Время в 24-часовом формате
97
+ [DATETIME_FORMATS.TIME_12H]: "hh:mm A",
98
+ // Время в 12-часовом формате
99
+ [DATETIME_FORMATS.TIME_12H_WITH_SECONDS]: "hh:mm:ss A",
100
+ // Время в 12-часовом формате с секундами
101
+ [DATETIME_FORMATS.TIME_24H_WITH_SECONDS]: "HH:mm:ss",
102
+ // Время в 24-часовом формате с секундами
103
+ [DATETIME_FORMATS.MONTH_DAY]: "MM/DD",
104
+ // Только месяц и день
105
+ [DATETIME_FORMATS.YEAR_MONTH_DAY]: "YYYY/MM/DD" // Год/Месяц/День
106
+ });
62
107
 
63
108
  /**
64
109
  * @constant {Object} DATE_UNITS
65
110
  * @description Единицы времени, которые могут быть использованы для работы с датами.
66
111
  */
67
- const DATE_UNITS = exports.DATE_UNITS = {
68
- YEARS: {
112
+ const DATE_UNITS = exports.DATE_UNITS = Object.freeze({
113
+ YEARS: Object.freeze({
69
114
  YEARS: "years",
70
115
  YEAR: "year",
71
116
  Y: "y",
72
117
  TEMPLATE: "YYYY"
73
- },
74
- MONTHS: {
118
+ }),
119
+ MONTHS: Object.freeze({
75
120
  MONTHS: "months",
76
121
  MONTH: "month",
77
122
  MON: "M",
78
123
  TEMPLATE: "MM"
79
- },
80
- DAYS: {
124
+ }),
125
+ DAYS: Object.freeze({
81
126
  DAYS: "days",
82
127
  DAY: "day",
83
128
  D: "d",
84
129
  TEMPLATE: "DD"
85
- },
86
- HOURS: {
130
+ }),
131
+ HOURS: Object.freeze({
87
132
  HOURS: "hours",
88
133
  HOUR: "hour",
89
134
  H: "h",
90
135
  TEMPLATE: "HH"
91
- },
92
- WEEKS: {
136
+ }),
137
+ WEEKS: Object.freeze({
93
138
  WEEKS: "weeks",
94
139
  WEEK: "week",
95
140
  W: "w"
96
- },
97
- QUARTERS: {
141
+ }),
142
+ QUARTERS: Object.freeze({
98
143
  QUARTERS: "quarters",
99
144
  QUARTER: "quarter",
100
145
  Q: "Q"
101
- },
102
- MINUTES: {
146
+ }),
147
+ MINUTES: Object.freeze({
103
148
  MINUTES: "minutes",
104
149
  MINUTE: "minute",
105
150
  MIN: "m"
106
- },
107
- SECONDS: {
151
+ }),
152
+ SECONDS: Object.freeze({
108
153
  SECONDS: "seconds",
109
154
  SECOND: "second",
110
155
  S: "s"
111
- },
112
- MILLISECONDS: {
156
+ }),
157
+ MILLISECONDS: Object.freeze({
113
158
  MILLISECONDS: "milliseconds",
114
159
  MILLISECOND: "millisecond",
115
160
  MS: "ms"
116
- }
117
- };
161
+ })
162
+ });
118
163
 
119
164
  /**
120
165
  * Функция для парсинга и форматирования строки с датой в указанный формат.
@@ -129,10 +174,11 @@ const DATE_UNITS = exports.DATE_UNITS = {
129
174
  */
130
175
  function parseAndFormatDate(value) {
131
176
  let outputFormat = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DATETIME_FORMATS.INPUT_DATE_FORMAT;
132
- if (!value || typeof value !== "string") throw new Error("Invalid date value");
133
- for (let format of Object.values(DATETIME_FORMATS)) {
134
- if ((0, _moment.default)(value, format, true).isValid()) {
135
- return (0, _moment.default)(value, format).format(outputFormat);
177
+ if (!value || typeof value !== "string") return value;
178
+ for (let format in formatMap) {
179
+ const parsedDate = (0, _moment.default)(value, formatMap[format], true);
180
+ if (parsedDate.isValid()) {
181
+ return parsedDate.format(outputFormat);
136
182
  }
137
183
  }
138
184
  return value;
@@ -5,27 +5,12 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = require("react");
8
- var _utils = require("./utils");
9
- function useMediaQuery(query) {
10
- const getMatches = (0, _react.useMemo)(() => {
11
- return inputQuery => {
12
- if (typeof window !== "undefined" && "matchMedia" in window) {
13
- return window.matchMedia(inputQuery).matches;
14
- }
15
- return false;
16
- };
17
- }, []);
18
- const [matches, setMatches] = (0, _react.useState)(getMatches(query));
19
- (0, _react.useEffect)(() => {
20
- if (typeof window !== "undefined" && "matchMedia" in window) {
21
- const matchMedia = window.matchMedia(query);
22
- const debouncedChangeHandler = (0, _utils.debounce)(() => setMatches(getMatches(query)), 300);
23
- matchMedia === null || matchMedia === void 0 || matchMedia.addEventListener("change", debouncedChangeHandler);
24
- return () => {
25
- matchMedia === null || matchMedia === void 0 || matchMedia.removeEventListener("change", debouncedChangeHandler);
26
- };
27
- }
28
- }, [query, getMatches]);
29
- return matches;
8
+ function subscribe(callback) {
9
+ const observer = new ResizeObserver(() => callback());
10
+ observer.observe(document.documentElement);
11
+ return () => observer.disconnect();
30
12
  }
13
+ const useMediaQuery = query => {
14
+ return (0, _react.useSyncExternalStore)(subscribe, () => window.matchMedia(query).matches, () => false);
15
+ };
31
16
  var _default = exports.default = useMediaQuery;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intelicoreact",
3
- "version": "1.5.14",
3
+ "version": "1.5.16",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "files": [