@baishuyun/ui-base 6.0.0 → 6.2.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 (186) hide show
  1. package/dist/Amap/AmapProvider/index.js +3 -3
  2. package/dist/Amap/{AmapProvider-BkJp-sWi.js → AmapProvider-BgGnih_w.js} +1 -1
  3. package/dist/Amap/index.js +3 -3
  4. package/dist/Calendar/AllDaySection-DS0Frx1p.js +53 -0
  5. package/dist/Calendar/Calendar-CAG1Fxlh.js +806 -0
  6. package/dist/Calendar/CurrentTimeIndicator-DaIywtIA.js +59 -0
  7. package/dist/Calendar/EventCard-D_VeOVDQ.js +155 -0
  8. package/dist/Calendar/TimeAxis-gKb8dTwY.js +13 -0
  9. package/dist/Calendar/TimeGrid-D8Du5vFP.js +47 -0
  10. package/dist/Calendar/adapters/index.js +2 -0
  11. package/dist/Calendar/adapters-zYR7CgzD.js +20 -0
  12. package/dist/Calendar/colorUtils-DcpqM3KR.js +55 -0
  13. package/dist/Calendar/context/index.js +2 -0
  14. package/dist/Calendar/context-DNOJ9LW_.js +21 -0
  15. package/dist/Calendar/index.js +21 -0
  16. package/dist/Calendar/layout-DvWx_7gn.js +302 -0
  17. package/dist/Calendar/shared/AllDaySection/index.js +8 -0
  18. package/dist/Calendar/shared/CurrentTimeIndicator/index.js +5 -0
  19. package/dist/Calendar/shared/EventCard/index.js +6 -0
  20. package/dist/Calendar/shared/TimeAxis/index.js +4 -0
  21. package/dist/Calendar/shared/TimeGrid/index.js +4 -0
  22. package/dist/Calendar/style/index.js +2 -0
  23. package/dist/Calendar/style-hCRKx3m1.js +55 -0
  24. package/dist/Calendar/utils/index.js +114 -0
  25. package/dist/Calendar/utils/layout/index.js +3 -0
  26. package/dist/Card/{Card-D__c94yx.js → Card-CRrtIjNT.js} +1 -1
  27. package/dist/Card/index.js +2 -2
  28. package/dist/CheckBox/{CheckBox-DF201Nxg.js → CheckBox-CkVe5Boq.js} +1 -1
  29. package/dist/CheckBox/{CheckBox-B04hZKaC.js → CheckBox-DIunYcfS.js} +1 -1
  30. package/dist/CheckBox/index.js +3 -3
  31. package/dist/ColorPicker/ColorPicker-CKqNqAsK.js +150 -0
  32. package/dist/ColorPicker/index.js +6 -5
  33. package/dist/ConfigProvider/index.js +2 -2
  34. package/dist/DatePicker/DatePicker-BIxiJQ_W.js +91 -0
  35. package/dist/DatePicker/DatePickerPanel-CsiEGC-1.js +217 -0
  36. package/dist/DatePicker/ensureDayjsPlugins-DZjJnZgo.js +16 -0
  37. package/dist/DatePicker/index.js +8 -0
  38. package/dist/DatePicker/pickerLocale-VqSP_iIm.js +15 -0
  39. package/dist/DatePicker/style/index.js +2 -0
  40. package/dist/DatePicker/style-DZaSSoNs.js +15 -0
  41. package/dist/DropDown/{DropDown-CMKiQDrc.js → DropDown-BR-Tz58r.js} +5 -5
  42. package/dist/DropDown/index.js +7 -7
  43. package/dist/Editor/{Buttons-D17RQIEb.js → Buttons-DdZg3jAa.js} +6 -6
  44. package/dist/Editor/ToolbarPlugin/Buttons/index.js +14 -13
  45. package/dist/Editor/index.js +14 -13
  46. package/dist/Icon/{Icon-CTZCSuVg.js → Icon-BQ3Whub2.js} +1 -1
  47. package/dist/Icon/index.js +1 -1
  48. package/dist/InputTag/{InputTag-F2Dv-r56.js → InputTag-zP5QdId7.js} +1 -1
  49. package/dist/InputTag/index.js +2 -2
  50. package/dist/Loading/index.js +1 -1
  51. package/dist/Modal/{Modal-CweuD-VO.js → Modal-B5AW5GKt.js} +6 -5
  52. package/dist/Modal/index.js +2 -2
  53. package/dist/NotFoundContent/index.js +1 -1
  54. package/dist/Radio/index.js +1 -1
  55. package/dist/Segmented/Segmented-BTW445jc.js +82 -0
  56. package/dist/Segmented/index.js +1 -1
  57. package/dist/Select/{Select-D8T0S1_m.js → Select-BGsQ-PVq.js} +14 -15
  58. package/dist/Select/{SelectInputSearch-Dm3CI_L4.js → SelectInputSearch-CraymTXM.js} +3 -3
  59. package/dist/Select/index.js +11 -11
  60. package/dist/Tabs/{Tabs-Cxf7jwys.js → Tabs-CPRNkfMo.js} +4 -4
  61. package/dist/Tabs/index.js +4 -4
  62. package/dist/Tooltip/Tooltip-RkD8fs0B.js +169 -0
  63. package/dist/Tooltip/index.js +2 -0
  64. package/dist/Tree/index.js +4 -4
  65. package/dist/components/Calendar/Calendar.d.ts +3 -0
  66. package/dist/components/Calendar/Header/CalendarHeader/CalendarHeader.d.ts +2 -0
  67. package/dist/components/Calendar/Header/CalendarHeaderLeft/CalendarHeaderLeft.d.ts +2 -0
  68. package/dist/components/Calendar/Header/DateDisplay/DateDisplay.d.ts +2 -0
  69. package/dist/components/Calendar/Header/DateDisplay/__tests__/DateDisplay.weekPicker.test.d.ts +1 -0
  70. package/dist/components/Calendar/Header/NavButton/NavButton.d.ts +6 -0
  71. package/dist/components/Calendar/Header/TodayButton/TodayButton.d.ts +2 -0
  72. package/dist/components/Calendar/__tests__/Calendar.contract.test.d.ts +1 -0
  73. package/dist/components/Calendar/__tests__/algorithm/monthLayoutAlgorithm.test.d.ts +1 -0
  74. package/dist/components/Calendar/__tests__/helpers/testFormatMessage.d.ts +2 -0
  75. package/dist/components/Calendar/adapters/__tests__/platformTheme.test.d.ts +1 -0
  76. package/dist/components/Calendar/adapters/index.d.ts +1 -0
  77. package/dist/components/Calendar/adapters/platformTheme.d.ts +29 -0
  78. package/dist/components/Calendar/constants.d.ts +12 -0
  79. package/dist/components/Calendar/context/CalendarContext.d.ts +29 -0
  80. package/dist/components/Calendar/context/index.d.ts +2 -0
  81. package/dist/components/Calendar/context/useCalendarContext.d.ts +3 -0
  82. package/dist/components/Calendar/index.d.ts +4 -0
  83. package/dist/components/Calendar/interface.d.ts +62 -0
  84. package/dist/components/Calendar/internalTypes.d.ts +56 -0
  85. package/dist/components/Calendar/panels/DayPanel/DayPanel.d.ts +3 -0
  86. package/dist/components/Calendar/panels/DayPanel/__tests__/CalendarDay.dayFilter.test.d.ts +1 -0
  87. package/dist/components/Calendar/panels/MonthPanel/MonthCell/MonthCell.d.ts +10 -0
  88. package/dist/components/Calendar/panels/MonthPanel/MonthCell/MonthCellPopover/MonthCellPopover.d.ts +10 -0
  89. package/dist/components/Calendar/panels/MonthPanel/MonthHeader/MonthHeader.d.ts +2 -0
  90. package/dist/components/Calendar/panels/MonthPanel/MonthPanel.d.ts +3 -0
  91. package/dist/components/Calendar/panels/MonthPanel/WeekEventLayer/MoreButton.d.ts +11 -0
  92. package/dist/components/Calendar/panels/MonthPanel/WeekEventLayer/WeekEventLayer.d.ts +3 -0
  93. package/dist/components/Calendar/panels/WeekPanel/WeekAllDaySection/WeekAllDaySection.d.ts +11 -0
  94. package/dist/components/Calendar/panels/WeekPanel/WeekHeader/WeekHeader.d.ts +6 -0
  95. package/dist/components/Calendar/panels/WeekPanel/WeekPanel.d.ts +3 -0
  96. package/dist/components/Calendar/shared/AllDaySection/AllDaySection.d.ts +7 -0
  97. package/dist/components/Calendar/shared/AllDaySection/index.d.ts +1 -0
  98. package/dist/components/Calendar/shared/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +10 -0
  99. package/dist/components/Calendar/shared/CurrentTimeIndicator/__tests__/CurrentTimeIndicator.test.d.ts +1 -0
  100. package/dist/components/Calendar/shared/CurrentTimeIndicator/index.d.ts +1 -0
  101. package/dist/components/Calendar/shared/EventCard/EventCard.d.ts +22 -0
  102. package/dist/components/Calendar/shared/EventCard/__tests__/EventCard.tooltip.test.d.ts +1 -0
  103. package/dist/components/Calendar/shared/EventCard/index.d.ts +1 -0
  104. package/dist/components/Calendar/shared/TimeAxis/TimeAxis.d.ts +6 -0
  105. package/dist/components/Calendar/shared/TimeAxis/index.d.ts +1 -0
  106. package/dist/components/Calendar/shared/TimeGrid/TimeGrid.d.ts +11 -0
  107. package/dist/components/Calendar/shared/TimeGrid/index.d.ts +1 -0
  108. package/dist/components/Calendar/style/__tests__/resolveCalendarThemeVars.test.d.ts +1 -0
  109. package/dist/components/Calendar/style/__tests__/resolveScheduleColorVars.test.d.ts +1 -0
  110. package/dist/components/Calendar/style/__tests__/resolveSubcomponentThemes.test.d.ts +1 -0
  111. package/dist/components/Calendar/style/index.d.ts +5 -0
  112. package/dist/components/Calendar/style/resolveCalendarThemeVars.d.ts +2 -0
  113. package/dist/components/Calendar/style/resolveScheduleColorVars.d.ts +3 -0
  114. package/dist/components/Calendar/style/resolveSubcomponentThemes.d.ts +5 -0
  115. package/dist/components/Calendar/utils/__tests__/dateUtils.test.d.ts +1 -0
  116. package/dist/components/Calendar/utils/__tests__/eventUtils.contract.test.d.ts +1 -0
  117. package/dist/components/Calendar/utils/__tests__/normalizeData.test.d.ts +1 -0
  118. package/dist/components/Calendar/utils/colorUtils.d.ts +8 -0
  119. package/dist/components/Calendar/utils/dateUtils.d.ts +25 -0
  120. package/dist/components/Calendar/utils/eventUtils.d.ts +44 -0
  121. package/dist/components/Calendar/utils/index.d.ts +7 -0
  122. package/dist/components/Calendar/utils/layout/dayLayoutAlgorithm.d.ts +31 -0
  123. package/dist/components/Calendar/utils/layout/index.d.ts +3 -0
  124. package/dist/components/Calendar/utils/layout/monthLayoutAlgorithm.d.ts +59 -0
  125. package/dist/components/Calendar/utils/layout/weekLayoutAlgorithm.d.ts +7 -0
  126. package/dist/components/Calendar/utils/normalizeData.d.ts +7 -0
  127. package/dist/components/Calendar/utils/timeUtils.d.ts +27 -0
  128. package/dist/components/Calendar/utils/weekTimedLayout.d.ts +14 -0
  129. package/dist/components/ColorPicker/useFloatingColorPicker.d.ts +1 -23
  130. package/dist/components/ConfigProvider/ConfigProvider.type.d.ts +1 -0
  131. package/dist/components/DatePicker/DatePicker.d.ts +3 -0
  132. package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +17 -0
  133. package/dist/components/DatePicker/DatePickerPanel/DatePickerPanel.d.ts +9 -0
  134. package/dist/components/DatePicker/MonthPicker/MonthPicker.d.ts +4 -0
  135. package/dist/components/DatePicker/TodayFooter/TodayFooter.d.ts +5 -0
  136. package/dist/components/DatePicker/YearPicker/YearPicker.d.ts +4 -0
  137. package/dist/components/DatePicker/__tests__/DatePicker.theme.test.d.ts +1 -0
  138. package/dist/components/DatePicker/__tests__/DatePickerPanel.dom.test.d.ts +1 -0
  139. package/dist/components/DatePicker/__tests__/DatePickerPanel.styles.test.d.ts +1 -0
  140. package/dist/components/DatePicker/index.d.ts +2 -0
  141. package/dist/components/DatePicker/interface.d.ts +37 -0
  142. package/dist/components/DatePicker/style/__tests__/resolveDatePickerThemeVars.test.d.ts +1 -0
  143. package/dist/components/DatePicker/style/index.d.ts +1 -0
  144. package/dist/components/DatePicker/style/resolveDatePickerThemeVars.d.ts +2 -0
  145. package/dist/components/DatePicker/utils/__tests__/normalizePickerValue.test.d.ts +1 -0
  146. package/dist/components/DatePicker/utils/chunkArray.d.ts +1 -0
  147. package/dist/components/DatePicker/utils/ensureDayjsPlugins.d.ts +2 -0
  148. package/dist/components/DatePicker/utils/formatPickerLabel.d.ts +1 -0
  149. package/dist/components/DatePicker/utils/normalizePickerValue.d.ts +10 -0
  150. package/dist/components/DatePicker/utils/pickerConstants.d.ts +8 -0
  151. package/dist/components/DatePicker/utils/pickerLocale.d.ts +4 -0
  152. package/dist/components/Segmented/Segmented.type.d.ts +30 -0
  153. package/dist/components/Segmented/__tests__/Segmented.theme.test.d.ts +1 -0
  154. package/dist/components/Segmented/index.d.ts +1 -1
  155. package/dist/components/Tooltip/Tooltip.d.ts +6 -0
  156. package/dist/components/Tooltip/Tooltip.type.d.ts +33 -0
  157. package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +1 -0
  158. package/dist/components/Tooltip/context/TooltipFloatingContext.d.ts +2 -0
  159. package/dist/components/Tooltip/index.d.ts +3 -0
  160. package/dist/components/index.d.ts +8 -0
  161. package/dist/hooks/useFloatingOverlay.d.ts +20 -0
  162. package/dist/hooks/useLocale.d.ts +4 -2
  163. package/dist/index.js +39 -23
  164. package/dist/locale/LocaleContext.d.ts +2 -1
  165. package/dist/locale/formatLocaleMessage.d.ts +2 -0
  166. package/dist/locale/lang/en-US.json.d.ts +43 -1
  167. package/dist/locale/lang/zh-CN.json.d.ts +43 -1
  168. package/dist/locale/lang/zh-TW.json.d.ts +43 -1
  169. package/dist/style.css +1 -1
  170. package/dist/utils/cssVars.d.ts +1 -0
  171. package/dist/utils/mergeRefs.d.ts +4 -0
  172. package/dist/vendors/{ConfigProvider-BekyDD3V.js → ConfigProvider-aWr8b3e3.js} +123 -32
  173. package/dist/vendors/{LocaleContext-Jj_JGgi2.js → LocaleContext-CuXR7Y03.js} +52 -7
  174. package/dist/vendors/{Tree-Bg2UzLsC.js → Tree-BTQ25Pi7.js} +3 -3
  175. package/dist/vendors/cssVars-C4BlzyxA.js +6 -0
  176. package/dist/vendors/useFloatingOverlay-uxlI1G-V.js +26 -0
  177. package/dist/vendors/{useLocale-Mk0d7wNt.js → useLocale-DvdSwM9e.js} +1 -1
  178. package/package.json +8 -3
  179. package/dist/ColorPicker/ColorPicker-nnQIw0_e.js +0 -168
  180. package/dist/Segmented/Segmented-Byw8j1hQ.js +0 -62
  181. /package/dist/Loading/{Loading-dsLWSWsE.js → Loading-WjmzBabh.js} +0 -0
  182. /package/dist/NotFoundContent/{NotFoundContent-DJUQ0_2D.js → NotFoundContent-7xV-zOG2.js} +0 -0
  183. /package/dist/Radio/{Radio-WNw-VqIS.js → Radio-DkrZHoG1.js} +0 -0
  184. /package/dist/vendors/{animations-C2i5EijE.js → animations-BmT0HT5q.js} +0 -0
  185. /package/dist/vendors/{color-CxdZwdYM.js → color-BeQo449h.js} +0 -0
  186. /package/dist/vendors/{useFloatingPortal-CDgiCnbb.js → useFloatingPortal-DsEtsAGW.js} +0 -0
@@ -0,0 +1,62 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { ReactNode } from 'react';
3
+ export type CalendarTimeInput = number | string | Date | Dayjs;
4
+ export interface CalendarDataItem {
5
+ label: string;
6
+ startTime: CalendarTimeInput;
7
+ endTime: CalendarTimeInput;
8
+ id?: string | number;
9
+ color?: string;
10
+ }
11
+ export type CalendarMode = 'day' | 'week' | 'month';
12
+ export type CalendarAxis = 'short' | 'medium' | 'long';
13
+ export type CalendarEventClickHandler = (item: CalendarDataItem, index?: number) => void;
14
+ export interface AddClickPayload {
15
+ startTime: CalendarTimeInput;
16
+ endTime: CalendarTimeInput;
17
+ anchorDate: Date;
18
+ mode: CalendarMode;
19
+ dayIndex?: number;
20
+ slotIndex?: number;
21
+ }
22
+ export interface CalendarTooltipConfig {
23
+ content?: (item: CalendarDataItem, index: number) => ReactNode;
24
+ }
25
+ export type CalendarPanelBgImagePosition = 'center' | 'stretch' | 'masterDrawingCenter';
26
+ /** Calendar 组件 Design Token,命名参考 antd 全局 token。 */
27
+ export interface CalendarTheme {
28
+ colorBgContainer?: string;
29
+ panelBgImage?: string;
30
+ panelBgImagePosition?: CalendarPanelBgImagePosition;
31
+ colorText?: string;
32
+ colorTextTertiary?: string;
33
+ colorTextQuaternary?: string;
34
+ colorPrimary?: string;
35
+ colorPrimaryText?: string;
36
+ colorFillSecondary?: string;
37
+ colorSplit?: string;
38
+ colorLink?: string;
39
+ datePickerColorBgContainer?: string;
40
+ datePickerWeekRangeBg?: string;
41
+ eventBorderColor?: string;
42
+ eventBg?: string;
43
+ eventBgHover?: string;
44
+ }
45
+ export interface CalendarProps {
46
+ data?: CalendarDataItem[];
47
+ timeZone?: string;
48
+ mode?: CalendarMode;
49
+ defaultMode?: CalendarMode;
50
+ modes?: CalendarMode[];
51
+ color?: string;
52
+ theme?: CalendarTheme;
53
+ axis?: CalendarAxis;
54
+ allowAdd?: boolean;
55
+ className?: string;
56
+ header?: boolean;
57
+ tooltip?: CalendarTooltipConfig;
58
+ onChange?: (date: Date) => void;
59
+ onPanelChange?: (dates: [Dayjs, Dayjs], mode: CalendarMode) => void;
60
+ onEventClick?: CalendarEventClickHandler;
61
+ onAddClick?: (payload: AddClickPayload) => void;
62
+ }
@@ -0,0 +1,56 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { LocaleParams } from '../../locale/formatLocaleMessage';
3
+ import { CalendarDataItem, CalendarEventClickHandler } from './interface';
4
+ export interface NormalizedCalendarDataItem extends Omit<CalendarDataItem, 'startTime' | 'endTime' | 'id'> {
5
+ id: string | number;
6
+ sourceIndex: number;
7
+ startTime: Dayjs;
8
+ endTime: Dayjs;
9
+ }
10
+ export type CalendarFormatMessage = (key: string, params?: LocaleParams) => string;
11
+ export type CalendarNormalizedEventClickHandler = (event: NormalizedCalendarDataItem, index?: number) => void;
12
+ /** 日 / 周 / 月视图共用 props */
13
+ export interface CalendarCoreViewProps {
14
+ events?: NormalizedCalendarDataItem[];
15
+ }
16
+ export interface EventCardGridPosition {
17
+ mode: 'grid';
18
+ row: number;
19
+ startCol: number;
20
+ endCol: number;
21
+ }
22
+ export interface EventCardAbsolutePosition {
23
+ mode: 'absolute';
24
+ top: number;
25
+ height: number;
26
+ hOffset: number;
27
+ hSpan: number;
28
+ hIsPercent?: boolean;
29
+ isLastInColumn?: boolean;
30
+ }
31
+ export type EventCardMonthAbsolutePosition = {
32
+ mode: 'month-absolute';
33
+ top: number;
34
+ height: number;
35
+ left: string;
36
+ width: string;
37
+ };
38
+ export type EventCardPosition = EventCardGridPosition | EventCardAbsolutePosition | EventCardMonthAbsolutePosition | {
39
+ mode: 'stack';
40
+ };
41
+ export interface MonthWeekSegment {
42
+ event: NormalizedCalendarDataItem;
43
+ startCol: number;
44
+ row: number;
45
+ isStart: boolean;
46
+ isEnd: boolean;
47
+ isWeekStart: boolean;
48
+ }
49
+ export interface WeekEventLayerProps {
50
+ weekSegments: MonthWeekSegment[];
51
+ hiddenScheduleIds: Set<string | number>;
52
+ maxVisibleRows: number;
53
+ onEventClick?: CalendarEventClickHandler;
54
+ weekDates: Dayjs[];
55
+ dayEventsByWeek?: NormalizedCalendarDataItem[][];
56
+ }
@@ -0,0 +1,3 @@
1
+ import { CalendarCoreViewProps } from '../../internalTypes';
2
+ declare const DayPanel: ({ events }: CalendarCoreViewProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default DayPanel;
@@ -0,0 +1,10 @@
1
+ import { Ref } from 'react';
2
+ import { Dayjs } from 'dayjs';
3
+ interface MonthCellProps {
4
+ date: Dayjs;
5
+ isCurrentMonth: boolean;
6
+ today: Dayjs;
7
+ cellRef?: Ref<HTMLDivElement>;
8
+ }
9
+ declare const MonthCell: ({ date, isCurrentMonth, today, cellRef }: MonthCellProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default MonthCell;
@@ -0,0 +1,10 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { NormalizedCalendarDataItem } from '../../../../internalTypes';
3
+ interface MonthCellPopoverProps {
4
+ date: Dayjs;
5
+ events: NormalizedCalendarDataItem[];
6
+ onEventClick?: (event: NormalizedCalendarDataItem) => void;
7
+ onClose: () => void;
8
+ }
9
+ declare const MonthCellPopover: ({ date, events, onEventClick, onClose }: MonthCellPopoverProps) => import("react/jsx-runtime").JSX.Element;
10
+ export default MonthCellPopover;
@@ -0,0 +1,2 @@
1
+ declare const MonthHeader: () => import("react/jsx-runtime").JSX.Element;
2
+ export default MonthHeader;
@@ -0,0 +1,3 @@
1
+ import { CalendarCoreViewProps } from '../../internalTypes';
2
+ declare const MonthPanel: ({ events }: CalendarCoreViewProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default MonthPanel;
@@ -0,0 +1,11 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { NormalizedCalendarDataItem } from '../../../internalTypes';
3
+ interface MoreButtonProps {
4
+ dayIndex: number;
5
+ date: Dayjs;
6
+ hiddenCount: number;
7
+ cellEvents: NormalizedCalendarDataItem[];
8
+ onEventClick?: (event: NormalizedCalendarDataItem, index?: number) => void;
9
+ }
10
+ declare const MoreButton: ({ dayIndex, date, hiddenCount, cellEvents, onEventClick }: MoreButtonProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default MoreButton;
@@ -0,0 +1,3 @@
1
+ import { WeekEventLayerProps } from '../../../internalTypes';
2
+ declare const WeekEventLayer: ({ weekSegments, hiddenScheduleIds, maxVisibleRows, onEventClick, weekDates, dayEventsByWeek, }: WeekEventLayerProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default WeekEventLayer;
@@ -0,0 +1,11 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { CalendarNormalizedEventClickHandler, NormalizedCalendarDataItem } from '../../../internalTypes';
3
+ interface WeekAllDaySectionProps {
4
+ events: NormalizedCalendarDataItem[];
5
+ onClick?: CalendarNormalizedEventClickHandler;
6
+ weekStart: Dayjs;
7
+ isGloballyExpanded: boolean;
8
+ onExpandChange?: (expanded: boolean) => void;
9
+ }
10
+ declare const WeekAllDaySection: ({ events, onClick, weekStart, isGloballyExpanded, onExpandChange, }: WeekAllDaySectionProps) => import("react/jsx-runtime").JSX.Element | null;
11
+ export default WeekAllDaySection;
@@ -0,0 +1,6 @@
1
+ import { Dayjs } from 'dayjs';
2
+ interface WeekHeaderProps {
3
+ weekStart: Dayjs;
4
+ }
5
+ declare const WeekHeader: ({ weekStart }: WeekHeaderProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default WeekHeader;
@@ -0,0 +1,3 @@
1
+ import { CalendarCoreViewProps } from '../../internalTypes';
2
+ declare const WeekPanel: ({ events }: CalendarCoreViewProps) => import("react/jsx-runtime").JSX.Element;
3
+ export default WeekPanel;
@@ -0,0 +1,7 @@
1
+ import { NormalizedCalendarDataItem } from '../../internalTypes';
2
+ interface AllDaySectionProps {
3
+ events?: NormalizedCalendarDataItem[];
4
+ onClick?: (event: NormalizedCalendarDataItem, index?: number) => void;
5
+ }
6
+ declare const AllDaySection: ({ events, onClick }: AllDaySectionProps) => import("react/jsx-runtime").JSX.Element;
7
+ export default AllDaySection;
@@ -0,0 +1 @@
1
+ export { default } from './AllDaySection';
@@ -0,0 +1,10 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { ZoomConfig } from '../../utils/timeUtils';
3
+ interface CurrentTimeIndicatorProps {
4
+ currentDate: Date;
5
+ zoomConfig: ZoomConfig;
6
+ weekStart?: Dayjs;
7
+ timeZone?: string;
8
+ }
9
+ declare const CurrentTimeIndicator: ({ currentDate, zoomConfig, weekStart, timeZone, }: CurrentTimeIndicatorProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ export default CurrentTimeIndicator;
@@ -0,0 +1 @@
1
+ export { default } from './CurrentTimeIndicator';
@@ -0,0 +1,22 @@
1
+ import { Placement } from '@floating-ui/react';
2
+ import { CalendarNormalizedEventClickHandler, EventCardPosition, NormalizedCalendarDataItem } from '../../internalTypes';
3
+ import { CalendarTooltipConfig } from '../../interface';
4
+ type EventCardVariant = 'timed' | 'allDay';
5
+ interface EventCardVisual {
6
+ continuesLeft?: boolean;
7
+ continuesRight?: boolean;
8
+ showTitle?: boolean;
9
+ }
10
+ interface EventCardProps {
11
+ event: NormalizedCalendarDataItem;
12
+ onClick?: CalendarNormalizedEventClickHandler;
13
+ eventIndex?: number;
14
+ variant?: EventCardVariant;
15
+ placement?: Placement;
16
+ position?: EventCardPosition;
17
+ visual?: EventCardVisual;
18
+ tooltip?: CalendarTooltipConfig;
19
+ disableGlobalHover?: boolean;
20
+ }
21
+ declare const EventCard: import('react').NamedExoticComponent<EventCardProps>;
22
+ export default EventCard;
@@ -0,0 +1 @@
1
+ export { default } from './EventCard';
@@ -0,0 +1,6 @@
1
+ import { ZoomConfig } from '../../utils/timeUtils';
2
+ interface TimeAxisProps {
3
+ zoomConfig: ZoomConfig;
4
+ }
5
+ declare const TimeAxis: ({ zoomConfig }: TimeAxisProps) => import("react/jsx-runtime").JSX.Element;
6
+ export default TimeAxis;
@@ -0,0 +1 @@
1
+ export { default } from './TimeAxis';
@@ -0,0 +1,11 @@
1
+ import { ZoomConfig } from '../../utils/timeUtils';
2
+ interface TimeGridRowAction {
3
+ tooltip: string;
4
+ onClick: (rowIndex: number) => void;
5
+ }
6
+ interface TimeGridProps {
7
+ zoomConfig: ZoomConfig;
8
+ rowAction?: TimeGridRowAction;
9
+ }
10
+ declare const TimeGrid: ({ zoomConfig, rowAction }: TimeGridProps) => import("react/jsx-runtime").JSX.Element;
11
+ export default TimeGrid;
@@ -0,0 +1 @@
1
+ export { default } from './TimeGrid';
@@ -0,0 +1,5 @@
1
+ /** 当前时间线固定色,不进 theme 配置 */
2
+ export declare const CALENDAR_CURRENT_TIME_COLOR = "#ff5631";
3
+ export { resolveCalendarThemeVars } from './resolveCalendarThemeVars';
4
+ export { resolveDatePickerThemeFromCalendar, resolveSegmentedThemeFromCalendar, } from './resolveSubcomponentThemes';
5
+ export { resolveScheduleColorVars } from './resolveScheduleColorVars';
@@ -0,0 +1,2 @@
1
+ import { CalendarTheme } from '../interface';
2
+ export declare const resolveCalendarThemeVars: (theme?: CalendarTheme, color?: string) => Record<string, string>;
@@ -0,0 +1,3 @@
1
+ export declare const buildScheduleColorVars: (border?: string, bg?: string, hover?: string) => Record<string, string>;
2
+ /** 现网 color prop 入口:仅在有 color 时注入日程三色 CSS 变量。 */
3
+ export declare const resolveScheduleColorVars: (color?: string) => Record<string, string>;
@@ -0,0 +1,5 @@
1
+ import { DatePickerTheme } from '../../DatePicker/interface';
2
+ import { SegmentedTheme } from '../../Segmented';
3
+ import { CalendarTheme } from '../interface';
4
+ export declare const resolveSegmentedThemeFromCalendar: (theme?: CalendarTheme) => SegmentedTheme | undefined;
5
+ export declare const resolveDatePickerThemeFromCalendar: (theme?: CalendarTheme) => DatePickerTheme | undefined;
@@ -0,0 +1,8 @@
1
+ export declare const COLOR_SCHEME: Record<string, {
2
+ normal: string;
3
+ hover: string;
4
+ }>;
5
+ export declare const getColorScheme: (hex?: string) => {
6
+ normal: string;
7
+ hover: string;
8
+ };
@@ -0,0 +1,25 @@
1
+ import { CalendarFormatMessage } from '../internalTypes';
2
+ import { CalendarMode, CalendarTimeInput } from '../interface';
3
+ export declare const getWeekStart: (date: Date | CalendarTimeInput, timeZone?: string) => any;
4
+ export declare const getWeekEnd: (date: Date | CalendarTimeInput, timeZone?: string) => any;
5
+ export declare const formatYearMonth: (date: Date | CalendarTimeInput, timeZone: string | undefined, formatMessage: CalendarFormatMessage) => string;
6
+ export declare const formatFullDate: (date: Date | CalendarTimeInput, timeZone: string | undefined, formatMessage: CalendarFormatMessage) => string;
7
+ /** 月/周视图格子日数字:每月 1 号展示 monthDay,其余仅数字。 */
8
+ export declare const formatCalendarDayNumber: (date: Date | CalendarTimeInput, formatMessage: CalendarFormatMessage, timeZone?: string) => string;
9
+ export declare const formatWeekEndDate: (weekEnd: Date | CalendarTimeInput, weekStart: Date | CalendarTimeInput, timeZone: string | undefined, formatMessage: CalendarFormatMessage) => string;
10
+ export declare const addDays: (date: Date, days: number, timeZone?: string) => any;
11
+ export declare const addWeeks: (date: Date, weeks: number, timeZone?: string) => any;
12
+ export declare const addMonths: (date: Date, months: number, timeZone?: string) => any;
13
+ export declare const getMonthWeekCount: (date: Date, timeZone?: string) => number;
14
+ export declare const getDynamicMonthViewDates: (date: Date, timeZone?: string) => any[];
15
+ export declare const getMonthViewRange: (date: Date, timeZone?: string) => {
16
+ start: any;
17
+ end: any;
18
+ };
19
+ /** 用于月视图单元格批量比较,避免在 render 中重复 parse 锚点日期。 */
20
+ export declare const getCalendarMonthKey: (date: Date | CalendarTimeInput, timeZone?: string) => any;
21
+ export declare const isCurrentMonth: (date: Date | CalendarTimeInput, currentMonth: Date, timeZone?: string) => boolean;
22
+ export declare const getVisibleRangeByMode: (currentDate: Date, viewMode: CalendarMode, timeZone?: string) => {
23
+ start: any;
24
+ end: any;
25
+ };
@@ -0,0 +1,44 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { CalendarFormatMessage, NormalizedCalendarDataItem } from '../internalTypes';
3
+ import { CalendarTimeInput } from '../interface';
4
+ export declare const getCalendarEventId: (event: {
5
+ id: string | number;
6
+ }) => string | number;
7
+ export declare const isAllDayEvent: (event: Pick<NormalizedCalendarDataItem, "startTime" | "endTime">, timeZone?: string) => boolean;
8
+ /** 单次遍历拆分全天 / 定时事件,避免双 filter 重复调用 isAllDayEvent。 */
9
+ export declare const partitionCalendarEvents: (events: NormalizedCalendarDataItem[], timeZone?: string) => {
10
+ allDayEvents: NormalizedCalendarDataItem[];
11
+ timedEvents: NormalizedCalendarDataItem[];
12
+ };
13
+ export declare const formatEventTime: (event: Pick<NormalizedCalendarDataItem, "startTime" | "endTime">, timeZone: string | undefined, formatMessage: CalendarFormatMessage) => string;
14
+ export declare const calcAllDaySectionHeight: (count: number, eventHeight?: number, eventGap?: number) => number;
15
+ export declare const toGridPosition: (gridEvent: {
16
+ row: number;
17
+ startCol: number;
18
+ endCol: number;
19
+ }) => {
20
+ mode: "grid";
21
+ row: number;
22
+ startCol: number;
23
+ endCol: number;
24
+ };
25
+ export declare const toAbsolutePosition: (layoutEvent: {
26
+ top: number;
27
+ height: number;
28
+ left: number;
29
+ width: number;
30
+ isPercent: boolean;
31
+ isLastInColumn: boolean;
32
+ }) => {
33
+ mode: "absolute";
34
+ top: number;
35
+ height: number;
36
+ hOffset: number;
37
+ hSpan: number;
38
+ hIsPercent: boolean;
39
+ isLastInColumn: boolean;
40
+ };
41
+ /** 半开区间重叠(已解析的 dayjs 实例,供 filter + clamp 热路径复用)。 */
42
+ export declare const overlapsHalfOpenInstant: (start: Dayjs, end: Dayjs, rangeStart: Dayjs, rangeEnd: Dayjs) => any;
43
+ /** 半开区间重叠判断:[eventStart, eventEnd) 与 [rangeStart, rangeEnd) */
44
+ export declare const overlapsRangeHalfOpen: (eventStart: CalendarTimeInput, eventEnd: CalendarTimeInput, rangeStart: CalendarTimeInput, rangeEnd: CalendarTimeInput, timeZone?: string) => any;
@@ -0,0 +1,7 @@
1
+ export * from './dateUtils';
2
+ export * from './timeUtils';
3
+ export * from './eventUtils';
4
+ export * from './colorUtils';
5
+ export * from './normalizeData';
6
+ export * from './weekTimedLayout';
7
+ export * from './layout';
@@ -0,0 +1,31 @@
1
+ /**
2
+ * 将事件按时间重叠关系分组成簇
3
+ * @param {import('../types').CalendarDataItem[]} events
4
+ * @param {string | undefined} [timeZone]
5
+ */
6
+ export declare const groupIntoClusters: (events: any, timeZone: any) => any[][];
7
+ /**
8
+ * 为簇内事件分配列(贪心算法:优先放入最左可用列)
9
+ */
10
+ export declare const assignColumns: (cluster: any, timeZone: any) => Map<any, any>;
11
+ export declare const calculateExpansion: (event: any, column: any, totalColumns: any, cluster: any, columnMap: any, timeZone: any) => number;
12
+ export declare const calculateHorizontalLayout: (cluster: any, columnMap: any, options?: {}) => Map<any, any>;
13
+ /**
14
+ * @param {import('../types').CalendarDataItem[]} events
15
+ * @param {{ interval: number, rowHeight: number }} zoomConfig
16
+ * @param {{ allowStackLayout?: boolean, maxColumnsBeforeStack?: number, timeZone?: string }} [options]
17
+ */
18
+ export declare const calculateLayout: (events: any, zoomConfig: any, options?: {}) => {
19
+ timedEvents: {
20
+ event: any;
21
+ top: number;
22
+ height: number;
23
+ left: any;
24
+ width: any;
25
+ isPercent: any;
26
+ column: any;
27
+ totalColumns: number;
28
+ isLastInColumn: any;
29
+ }[];
30
+ allDayEvents: import('../../internalTypes').NormalizedCalendarDataItem[];
31
+ };
@@ -0,0 +1,3 @@
1
+ export * from './dayLayoutAlgorithm';
2
+ export * from './weekLayoutAlgorithm';
3
+ export * from './monthLayoutAlgorithm';
@@ -0,0 +1,59 @@
1
+ export declare const MONTH_LAYOUT_CONSTANTS: {
2
+ HEADER_HEIGHT: number;
3
+ SLOT_HEIGHT: number;
4
+ SLOT_GAP: number;
5
+ WEEK_PADDING_X: number;
6
+ EVENT_RIGHT_GAP: number;
7
+ };
8
+ /**
9
+ * 计算事件片段的 absolute 定位位置
10
+ * @param {Object} segment - 事件片段
11
+ * @returns {Object} 包含 top, height, left, width 的位置对象
12
+ */
13
+ export declare function calculateSegmentPosition(segment: any): {
14
+ top: number;
15
+ height: number;
16
+ left: string;
17
+ width: string;
18
+ };
19
+ /**
20
+ * Phase 1: 全局行分配算法
21
+ * 为整月的事件分配全局一致的行号,确保跨天、跨周事件保持相同行号
22
+ * @param {Array} events - 日历事件数组
23
+ * @param {dayjs.Dayjs} gridStart - 月视图起始日期
24
+ * @param {number} dayCount - 总天数(35或42)
25
+ * @returns {Map<string, number>} eventId -> rowIndex 的映射
26
+ */
27
+ export declare function assignGlobalRows(events: any, gridStart: any, dayCount: any, timeZone: any): Map<any, any>;
28
+ /**
29
+ * Phase 2: 可见性裁剪算法
30
+ * 按天从左到右遍历,确定哪些事件需要隐藏
31
+ * @param {Map<string, number>} eventRowMap - 全局行分配
32
+ * @param {Array} events - 事件数组
33
+ * @param {dayjs.Dayjs} gridStart - 月视图起始日期
34
+ * @param {number} dayCount - 总天数
35
+ * @param {number} maxVisibleRows - 每格可显示的最大行数
36
+ * @param {Array} [precomputedGridEvents] - 预计算的网格事件
37
+ * @returns {Set<string>} 需要隐藏的事件ID集合
38
+ */
39
+ export declare function computeVisibility(eventRowMap: any, events: any, gridStart: any, dayCount: any, maxVisibleRows: any, precomputedGridEvents: any, timeZone: any): Set<unknown>;
40
+ /**
41
+ * 为月视图事件分配行号并生成周布局数据
42
+ * @param {Array} events - 日历事件数组
43
+ * @param {dayjs.Dayjs} gridStart - 月视图起始日期
44
+ * @param {number} weekCount - 周数(5或6)
45
+ * @returns {Object} { weekLayouts, eventRowMap, gridEvents }
46
+ */
47
+ export declare function assignMonthEventRows(events: any, gridStart: any, weekCount: number | undefined, timeZone: any): {
48
+ weekLayouts: never[][];
49
+ eventRowMap: Map<any, any>;
50
+ gridEvents: any;
51
+ };
52
+ /**
53
+ * 计算每周每天的隐藏事件数量
54
+ * @param {Array} weekSegments - 当周所有片段
55
+ * @param {Set<string>} hiddenScheduleIds - 隐藏的事件ID集合
56
+ * @param {number} maxVisibleRows - 可显示的最大行数
57
+ * @returns {Array<number>} 每天的隐藏事件数量 [0, 2, 8, 2, 0, 0, 0]
58
+ */
59
+ export declare function computeWeekHiddenCounts(weekSegments: any, hiddenScheduleIds: any, maxVisibleRows: any): any[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 使用贪心算法分配行
3
+ * @param {Array} events - Calendar events
4
+ * @param {dayjs.Dayjs} weekStart - Monday 00:00
5
+ * @returns {Array} Events with assigned row numbers
6
+ */
7
+ export declare function assignAllDayRows(events: any, weekStart: any, timeZone: any): any[];
@@ -0,0 +1,7 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { CalendarDataItem, CalendarTimeInput } from '../interface';
3
+ import { NormalizedCalendarDataItem } from '../internalTypes';
4
+ export declare const parseCalendarTime: (value: CalendarTimeInput | null | undefined, timeZone?: string) => Dayjs;
5
+ export declare const normalizeData: (data: CalendarDataItem[] | unknown, options?: {
6
+ timeZone?: string;
7
+ }) => NormalizedCalendarDataItem[];
@@ -0,0 +1,27 @@
1
+ import { CalendarAxis } from '../interface';
2
+ export declare const ZOOM_CONFIG: {
3
+ readonly short: {
4
+ readonly interval: 60;
5
+ readonly rowHeight: 60;
6
+ readonly totalRows: 24;
7
+ };
8
+ readonly medium: {
9
+ readonly interval: 30;
10
+ readonly rowHeight: 104;
11
+ readonly totalRows: 48;
12
+ };
13
+ readonly long: {
14
+ readonly interval: 15;
15
+ readonly rowHeight: 148;
16
+ readonly totalRows: 96;
17
+ };
18
+ };
19
+ export type ZoomConfig = (typeof ZOOM_CONFIG)[CalendarAxis];
20
+ export declare const getZoomConfig: (axis: CalendarAxis) => ZoomConfig;
21
+ export declare const minutesToPixels: (minutes: number, zoomConfig: ZoomConfig) => number;
22
+ export declare const getTotalHeight: (zoomConfig: ZoomConfig) => number;
23
+ export declare const formatTimeLabel: (index: number, zoomConfig: ZoomConfig) => string;
24
+ export declare const getCurrentTimeInTZ: (timeZone?: string) => any;
25
+ export declare const getTimeZoneLabel: (timeZone?: string) => string;
26
+ export declare const isToday: (date: Date, timeZone?: string) => any;
27
+ export declare const getCurrentTimeTop: (zoomConfig: ZoomConfig, timeZone?: string) => number;
@@ -0,0 +1,14 @@
1
+ import { Dayjs } from 'dayjs';
2
+ import { NormalizedCalendarDataItem } from '../internalTypes';
3
+ import { ZoomConfig } from './timeUtils';
4
+ export declare const layoutTimedEventsForWeek: (timedEvents: NormalizedCalendarDataItem[], weekStart: Dayjs, zoomConfig: ZoomConfig, timeZone?: string) => {
5
+ event: any;
6
+ top: number;
7
+ height: number;
8
+ left: any;
9
+ width: any;
10
+ isPercent: any;
11
+ column: any;
12
+ totalColumns: number;
13
+ isLastInColumn: any;
14
+ }[][];
@@ -1,25 +1,3 @@
1
- import { ReferenceType } from '@floating-ui/react';
2
1
  import { ColorPickerProps } from './ColorPicker.type';
3
- import { CSSProperties, Dispatch, SetStateAction } from 'react';
4
- /**
5
- * useFloatingColorPicker 的返回类型
6
- */
7
- interface UseFloatingColorPickerReturn {
8
- isOpen: boolean;
9
- refs: {
10
- setReference: (node: ReferenceType | null) => void;
11
- setFloating: (node: HTMLElement | null) => void;
12
- reference: React.MutableRefObject<ReferenceType | null>;
13
- floating: React.MutableRefObject<HTMLElement | null>;
14
- };
15
- floatingStyles: CSSProperties;
16
- getReferenceProps: (userProps?: React.HTMLProps<Element>) => Record<string, unknown>;
17
- getFloatingProps: (userProps?: React.HTMLProps<HTMLElement>) => Record<string, unknown>;
18
- setIsOpen: Dispatch<SetStateAction<boolean>>;
19
- }
20
- /**
21
- * 使用浮层颜色选择器的 hook
22
- * 集成了 floating-ui 的完整功能
23
- */
24
- declare const useFloatingColorPicker: (placement?: ColorPickerProps["placement"]) => UseFloatingColorPickerReturn;
2
+ declare const useFloatingColorPicker: (placement?: ColorPickerProps["placement"]) => import('../../hooks/useFloatingOverlay').UseFloatingOverlayReturn;
25
3
  export default useFloatingColorPicker;
@@ -12,5 +12,6 @@ export type ConfigProviderProps = PropsWithChildren<{
12
12
  amap?: AmapConfig;
13
13
  }>;
14
14
  export type ConfigContextValue = {
15
+ locale?: Locale;
15
16
  amap?: AmapConfig;
16
17
  };
@@ -0,0 +1,3 @@
1
+ import { DatePickerProps } from './interface';
2
+ declare const DatePicker: React.FC<DatePickerProps>;
3
+ export default DatePicker;