@uzum-tech/ui 1.12.21 → 1.13.0

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.
Files changed (95) hide show
  1. package/dist/index.js +2789 -510
  2. package/dist/index.prod.js +4 -4
  3. package/es/_styles/common/dark.js +1 -1
  4. package/es/_styles/common/light.d.ts +1 -0
  5. package/es/_styles/common/light.js +1 -1
  6. package/es/chat/src/ChatMessages.js +6 -1
  7. package/es/chat/src/styles/index.cssr.js +5 -1
  8. package/es/components.d.ts +1 -0
  9. package/es/components.js +1 -0
  10. package/es/config-provider/src/internal-interface.d.ts +3 -0
  11. package/es/date-picker-v2/index.d.ts +5 -0
  12. package/es/date-picker-v2/index.js +2 -0
  13. package/es/date-picker-v2/src/DatePickerV2.d.ts +4765 -0
  14. package/es/date-picker-v2/src/DatePickerV2.js +750 -0
  15. package/es/date-picker-v2/src/composables/useCalendarScroll.d.ts +1133 -0
  16. package/es/date-picker-v2/src/composables/useCalendarScroll.js +61 -0
  17. package/es/date-picker-v2/src/config.d.ts +14 -0
  18. package/es/date-picker-v2/src/config.js +34 -0
  19. package/es/date-picker-v2/src/interface.d.ts +42 -0
  20. package/es/date-picker-v2/src/interface.js +1 -0
  21. package/es/date-picker-v2/src/panel/CalendarPanel.d.ts +1222 -0
  22. package/es/date-picker-v2/src/panel/CalendarPanel.js +186 -0
  23. package/es/date-picker-v2/src/panel/CalendarRangePanel.d.ts +1246 -0
  24. package/es/date-picker-v2/src/panel/CalendarRangePanel.js +205 -0
  25. package/es/date-picker-v2/src/styles/index.cssr.d.ts +2 -0
  26. package/es/date-picker-v2/src/styles/index.cssr.js +190 -0
  27. package/es/date-picker-v2/src/utils.d.ts +12 -0
  28. package/es/date-picker-v2/src/utils.js +92 -0
  29. package/es/date-picker-v2/styles/dark.d.ts +447 -0
  30. package/es/date-picker-v2/styles/dark.js +19 -0
  31. package/es/date-picker-v2/styles/index.d.ts +3 -0
  32. package/es/date-picker-v2/styles/index.js +2 -0
  33. package/es/date-picker-v2/styles/light.d.ts +477 -0
  34. package/es/date-picker-v2/styles/light.js +56 -0
  35. package/es/dialog/src/DialogProvider.d.ts +2 -0
  36. package/es/header/src/Header.js +4 -1
  37. package/es/header/src/HeaderSearchDesktop.d.ts +12 -0
  38. package/es/header/src/HeaderSearchDesktop.js +21 -4
  39. package/es/header/src/HeaderSearchMobile.d.ts +12 -0
  40. package/es/header/src/HeaderSearchMobile.js +8 -2
  41. package/es/header/src/mobile/HeaderMobile.js +18 -3
  42. package/es/locales/common/enUS.js +1 -1
  43. package/es/theme-editor/src/ThemeEditor.d.ts +1 -0
  44. package/es/themes/dark.js +2 -0
  45. package/es/themes/light.js +2 -0
  46. package/es/version.d.ts +1 -1
  47. package/es/version.js +1 -1
  48. package/lib/_styles/common/dark.js +1 -1
  49. package/lib/_styles/common/light.d.ts +1 -0
  50. package/lib/_styles/common/light.js +1 -1
  51. package/lib/chat/src/ChatMessages.js +6 -1
  52. package/lib/chat/src/styles/index.cssr.js +5 -1
  53. package/lib/components.d.ts +1 -0
  54. package/lib/components.js +1 -0
  55. package/lib/config-provider/src/internal-interface.d.ts +3 -0
  56. package/lib/date-picker-v2/index.d.ts +5 -0
  57. package/lib/date-picker-v2/index.js +11 -0
  58. package/lib/date-picker-v2/src/DatePickerV2.d.ts +4765 -0
  59. package/lib/date-picker-v2/src/DatePickerV2.js +756 -0
  60. package/lib/date-picker-v2/src/composables/useCalendarScroll.d.ts +1133 -0
  61. package/lib/date-picker-v2/src/composables/useCalendarScroll.js +64 -0
  62. package/lib/date-picker-v2/src/config.d.ts +14 -0
  63. package/lib/date-picker-v2/src/config.js +37 -0
  64. package/lib/date-picker-v2/src/interface.d.ts +42 -0
  65. package/lib/date-picker-v2/src/interface.js +4 -0
  66. package/lib/date-picker-v2/src/panel/CalendarPanel.d.ts +1222 -0
  67. package/lib/date-picker-v2/src/panel/CalendarPanel.js +188 -0
  68. package/lib/date-picker-v2/src/panel/CalendarRangePanel.d.ts +1246 -0
  69. package/lib/date-picker-v2/src/panel/CalendarRangePanel.js +207 -0
  70. package/lib/date-picker-v2/src/styles/index.cssr.d.ts +2 -0
  71. package/lib/date-picker-v2/src/styles/index.cssr.js +195 -0
  72. package/lib/date-picker-v2/src/utils.d.ts +12 -0
  73. package/lib/date-picker-v2/src/utils.js +101 -0
  74. package/lib/date-picker-v2/styles/dark.d.ts +447 -0
  75. package/lib/date-picker-v2/styles/dark.js +21 -0
  76. package/lib/date-picker-v2/styles/index.d.ts +3 -0
  77. package/lib/date-picker-v2/styles/index.js +10 -0
  78. package/lib/date-picker-v2/styles/light.d.ts +477 -0
  79. package/lib/date-picker-v2/styles/light.js +60 -0
  80. package/lib/dialog/src/DialogProvider.d.ts +2 -0
  81. package/lib/header/src/Header.js +4 -1
  82. package/lib/header/src/HeaderSearchDesktop.d.ts +12 -0
  83. package/lib/header/src/HeaderSearchDesktop.js +20 -3
  84. package/lib/header/src/HeaderSearchMobile.d.ts +12 -0
  85. package/lib/header/src/HeaderSearchMobile.js +7 -1
  86. package/lib/header/src/mobile/HeaderMobile.js +18 -3
  87. package/lib/locales/common/enUS.js +1 -1
  88. package/lib/theme-editor/src/ThemeEditor.d.ts +1 -0
  89. package/lib/themes/dark.js +2 -0
  90. package/lib/themes/light.js +2 -0
  91. package/lib/version.d.ts +1 -1
  92. package/lib/version.js +1 -1
  93. package/package.json +1 -1
  94. package/volar.d.ts +1 -0
  95. package/web-types.json +161 -1
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useCalendarScroll = useCalendarScroll;
4
+ const vue_1 = require("vue");
5
+ const config_1 = require("../config");
6
+ function useCalendarScroll() {
7
+ // Локальные рефы для scrollbar
8
+ const monthScrollbarRef = (0, vue_1.ref)(null);
9
+ const yearScrollbarRef = (0, vue_1.ref)(null);
10
+ const calendarScrollbarRef = (0, vue_1.ref)(null);
11
+ // Прокрутить к месяцу в списке месяцев (левая колонка)
12
+ function scrollToMonthInMonthList(year, month) {
13
+ if (!monthScrollbarRef.value)
14
+ return;
15
+ const yearIndex = year - config_1.START_YEAR;
16
+ if (yearIndex < 0)
17
+ return;
18
+ // Позиция начала года + заголовок года + позиция месяца в году
19
+ const monthPosition = yearIndex * config_1.YEAR_GROUP_HEIGHT + config_1.YEAR_HEADER_HEIGHT;
20
+ // Отступ сверху чтобы месяц был примерно в центре видимой области (около 4-5 месяцев видно)
21
+ const offsetToCenter = month > 6 ? config_1.YEAR_HEADER_HEIGHT * 5 : 0;
22
+ monthScrollbarRef.value.scrollTo({
23
+ top: Math.max(0, monthPosition + offsetToCenter)
24
+ });
25
+ }
26
+ // Прокрутить к году в dropdown
27
+ function scrollToYear(year) {
28
+ const yearIndex = year - config_1.START_YEAR;
29
+ if (yearIndex >= 0 && yearScrollbarRef.value) {
30
+ yearScrollbarRef.value.scrollTo({
31
+ top: yearIndex * config_1.YEAR_HEADER_HEIGHT
32
+ });
33
+ }
34
+ }
35
+ function getMonthSectionHeight(rows) {
36
+ const safeRows = Math.max(1, rows);
37
+ return (config_1.CALENDAR_MONTH_TITLE_HEIGHT +
38
+ safeRows * config_1.DATE_CELL_HEIGHT +
39
+ (safeRows - 1) * config_1.DATE_CELL_GAP +
40
+ config_1.CALENDAR_MONTH_SECTION_MARGIN);
41
+ }
42
+ // Прокрутить к месяцу в календаре (правая колонка)
43
+ // Высота секции месяца зависит от количества строк (5 или 6)
44
+ function scrollToMonthInCalendar(month, monthRows) {
45
+ if (!calendarScrollbarRef.value)
46
+ return;
47
+ const safeIndex = Math.max(0, Math.min(month, monthRows.length - 1));
48
+ let monthPosition = 0;
49
+ for (let i = 0; i < safeIndex; i++) {
50
+ monthPosition += getMonthSectionHeight(monthRows[i]);
51
+ }
52
+ calendarScrollbarRef.value.scrollTo({
53
+ top: monthPosition
54
+ });
55
+ }
56
+ return {
57
+ monthScrollbarRef,
58
+ yearScrollbarRef,
59
+ calendarScrollbarRef,
60
+ scrollToMonthInMonthList,
61
+ scrollToYear,
62
+ scrollToMonthInCalendar
63
+ };
64
+ }
@@ -0,0 +1,14 @@
1
+ export declare const START_YEAR = 2000;
2
+ export declare const END_YEAR = 2050;
3
+ export declare const MONTH_ITEM_HEIGHT = 48;
4
+ export declare const YEAR_HEADER_HEIGHT = 42;
5
+ export declare const MONTH_ITEM_GAP = 0;
6
+ export declare const YEAR_GROUP_HEIGHT: number;
7
+ export declare const DATE_CELL_HEIGHT = 42;
8
+ export declare const DATE_CELL_GAP = 4;
9
+ export declare const CALENDAR_MONTH_TITLE_HEIGHT = 40;
10
+ export declare const CALENDAR_DATE_GRID_HEIGHT: number;
11
+ export declare const CALENDAR_MONTH_SECTION_MARGIN = 16;
12
+ export declare const CALENDAR_MONTH_SECTION_HEIGHT: number;
13
+ export declare const MONTH_NAMES: readonly ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"];
14
+ export type DatePickerV2Type = 'date' | 'daterange';
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MONTH_NAMES = exports.CALENDAR_MONTH_SECTION_HEIGHT = exports.CALENDAR_MONTH_SECTION_MARGIN = exports.CALENDAR_DATE_GRID_HEIGHT = exports.CALENDAR_MONTH_TITLE_HEIGHT = exports.DATE_CELL_GAP = exports.DATE_CELL_HEIGHT = exports.YEAR_GROUP_HEIGHT = exports.MONTH_ITEM_GAP = exports.YEAR_HEADER_HEIGHT = exports.MONTH_ITEM_HEIGHT = exports.END_YEAR = exports.START_YEAR = void 0;
4
+ exports.START_YEAR = 2000;
5
+ exports.END_YEAR = 2050;
6
+ exports.MONTH_ITEM_HEIGHT = 48;
7
+ exports.YEAR_HEADER_HEIGHT = 42;
8
+ exports.MONTH_ITEM_GAP = 0;
9
+ // Высота одной группы года = заголовок + 12 месяцев
10
+ exports.YEAR_GROUP_HEIGHT = exports.YEAR_HEADER_HEIGHT + exports.MONTH_ITEM_HEIGHT * 12;
11
+ // Константы для секции месяца в календаре (правая колонка)
12
+ exports.DATE_CELL_HEIGHT = 42;
13
+ exports.DATE_CELL_GAP = 4;
14
+ // Высота заголовка месяца (padding-top: 12px + line-height ~20px + padding-bottom: 8px)
15
+ exports.CALENDAR_MONTH_TITLE_HEIGHT = 40;
16
+ // Высота сетки дат (6 строк * 42px + 5 gaps * 4px)
17
+ exports.CALENDAR_DATE_GRID_HEIGHT = exports.DATE_CELL_HEIGHT * 6 + exports.DATE_CELL_GAP * 5;
18
+ // Отступ снизу секции
19
+ exports.CALENDAR_MONTH_SECTION_MARGIN = 16;
20
+ // Общая высота секции месяца
21
+ exports.CALENDAR_MONTH_SECTION_HEIGHT = exports.CALENDAR_MONTH_TITLE_HEIGHT +
22
+ exports.CALENDAR_DATE_GRID_HEIGHT +
23
+ exports.CALENDAR_MONTH_SECTION_MARGIN;
24
+ exports.MONTH_NAMES = [
25
+ 'Январь',
26
+ 'Февраль',
27
+ 'Март',
28
+ 'Апрель',
29
+ 'Май',
30
+ 'Июнь',
31
+ 'Июль',
32
+ 'Август',
33
+ 'Сентябрь',
34
+ 'Октябрь',
35
+ 'Ноябрь',
36
+ 'Декабрь'
37
+ ];
@@ -0,0 +1,42 @@
1
+ import type { Ref, InjectionKey } from 'vue';
2
+ import type { MergedTheme } from '../../_mixins';
3
+ import type { DatePickerV2Theme } from '../styles';
4
+ export type Value = number | null;
5
+ export type RangeValue = [number, number] | null;
6
+ export interface DateItem {
7
+ year: number;
8
+ month: number;
9
+ date: number;
10
+ ts: number;
11
+ isCurrentDate: boolean;
12
+ isCurrentMonth: boolean;
13
+ selected: boolean;
14
+ inRange: boolean;
15
+ isRangeStart: boolean;
16
+ isRangeEnd: boolean;
17
+ disabled: boolean;
18
+ }
19
+ export interface MonthItem {
20
+ year: number;
21
+ month: number;
22
+ label: string;
23
+ ts: number;
24
+ }
25
+ export interface YearItem {
26
+ year: number;
27
+ ts: number;
28
+ }
29
+ export type OnUpdateValue = (value: Value) => void;
30
+ export type OnUpdateRangeValue = (value: RangeValue) => void;
31
+ export type IsSingleDateDisabled = (date: number) => boolean;
32
+ export type IsRangeDateDisabled = (date: number, position: 'start' | 'end', value: [number, number] | null) => boolean;
33
+ export type IsDateDisabled = IsSingleDateDisabled | IsRangeDateDisabled;
34
+ export type TriggerPreset = 'input' | 'select' | 'button';
35
+ export interface DatePickerV2Injection {
36
+ mergedClsPrefixRef: Ref<string>;
37
+ mergedThemeRef: Ref<MergedTheme<DatePickerV2Theme>>;
38
+ localeRef: Ref<any>;
39
+ dateLocaleRef: Ref<any>;
40
+ isDateDisabledRef: Ref<IsDateDisabled | undefined>;
41
+ }
42
+ export declare const datePickerV2InjectionKey: InjectionKey<DatePickerV2Injection>;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.datePickerV2InjectionKey = void 0;
4
+ exports.datePickerV2InjectionKey = Symbol('datePickerV2');