@baishuyun/ui-base 6.1.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.
- package/dist/Amap/AmapProvider/index.js +3 -3
- package/dist/Amap/{AmapProvider-H1GNfMdk.js → AmapProvider-BgGnih_w.js} +1 -1
- package/dist/Amap/index.js +3 -3
- package/dist/Calendar/AllDaySection-DS0Frx1p.js +53 -0
- package/dist/Calendar/Calendar-CAG1Fxlh.js +806 -0
- package/dist/Calendar/CurrentTimeIndicator-DaIywtIA.js +59 -0
- package/dist/Calendar/EventCard-D_VeOVDQ.js +155 -0
- package/dist/Calendar/TimeAxis-gKb8dTwY.js +13 -0
- package/dist/Calendar/TimeGrid-D8Du5vFP.js +47 -0
- package/dist/Calendar/adapters/index.js +2 -0
- package/dist/Calendar/adapters-zYR7CgzD.js +20 -0
- package/dist/Calendar/colorUtils-DcpqM3KR.js +55 -0
- package/dist/Calendar/context/index.js +2 -0
- package/dist/Calendar/context-DNOJ9LW_.js +21 -0
- package/dist/Calendar/index.js +21 -0
- package/dist/Calendar/layout-DvWx_7gn.js +302 -0
- package/dist/Calendar/shared/AllDaySection/index.js +8 -0
- package/dist/Calendar/shared/CurrentTimeIndicator/index.js +5 -0
- package/dist/Calendar/shared/EventCard/index.js +6 -0
- package/dist/Calendar/shared/TimeAxis/index.js +4 -0
- package/dist/Calendar/shared/TimeGrid/index.js +4 -0
- package/dist/Calendar/style/index.js +2 -0
- package/dist/Calendar/style-hCRKx3m1.js +55 -0
- package/dist/Calendar/utils/index.js +114 -0
- package/dist/Calendar/utils/layout/index.js +3 -0
- package/dist/CheckBox/{CheckBox-D1aeCoQb.js → CheckBox-DIunYcfS.js} +1 -1
- package/dist/CheckBox/index.js +2 -2
- package/dist/ColorPicker/ColorPicker-CKqNqAsK.js +150 -0
- package/dist/ColorPicker/index.js +5 -4
- package/dist/ConfigProvider/index.js +2 -2
- package/dist/DatePicker/DatePicker-BIxiJQ_W.js +91 -0
- package/dist/DatePicker/DatePickerPanel-CsiEGC-1.js +217 -0
- package/dist/DatePicker/ensureDayjsPlugins-DZjJnZgo.js +16 -0
- package/dist/DatePicker/index.js +8 -0
- package/dist/DatePicker/pickerLocale-VqSP_iIm.js +15 -0
- package/dist/DatePicker/style/index.js +2 -0
- package/dist/DatePicker/style-DZaSSoNs.js +15 -0
- package/dist/DropDown/{DropDown-DNEQ5nQz.js → DropDown-BR-Tz58r.js} +5 -5
- package/dist/DropDown/index.js +6 -6
- package/dist/Editor/{Buttons-0qZ4g7Ig.js → Buttons-DdZg3jAa.js} +4 -4
- package/dist/Editor/ToolbarPlugin/Buttons/index.js +12 -11
- package/dist/Editor/index.js +12 -11
- package/dist/InputTag/index.js +1 -1
- package/dist/Loading/index.js +1 -1
- package/dist/NotFoundContent/index.js +1 -1
- package/dist/Radio/index.js +1 -1
- package/dist/Segmented/Segmented-BTW445jc.js +82 -0
- package/dist/Segmented/index.js +1 -1
- package/dist/Select/{Select-BSPmsIMh.js → Select-BGsQ-PVq.js} +7 -7
- package/dist/Select/{SelectInputSearch-Cj9Uubc4.js → SelectInputSearch-CraymTXM.js} +1 -1
- package/dist/Select/index.js +10 -10
- package/dist/Tabs/{Tabs-BVSzo2qS.js → Tabs-CPRNkfMo.js} +3 -3
- package/dist/Tabs/index.js +3 -3
- package/dist/Tooltip/Tooltip-RkD8fs0B.js +169 -0
- package/dist/Tooltip/index.js +2 -0
- package/dist/Tree/index.js +3 -3
- package/dist/components/Calendar/Calendar.d.ts +3 -0
- package/dist/components/Calendar/Header/CalendarHeader/CalendarHeader.d.ts +2 -0
- package/dist/components/Calendar/Header/CalendarHeaderLeft/CalendarHeaderLeft.d.ts +2 -0
- package/dist/components/Calendar/Header/DateDisplay/DateDisplay.d.ts +2 -0
- package/dist/components/Calendar/Header/DateDisplay/__tests__/DateDisplay.weekPicker.test.d.ts +1 -0
- package/dist/components/Calendar/Header/NavButton/NavButton.d.ts +6 -0
- package/dist/components/Calendar/Header/TodayButton/TodayButton.d.ts +2 -0
- package/dist/components/Calendar/__tests__/Calendar.contract.test.d.ts +1 -0
- package/dist/components/Calendar/__tests__/algorithm/monthLayoutAlgorithm.test.d.ts +1 -0
- package/dist/components/Calendar/__tests__/helpers/testFormatMessage.d.ts +2 -0
- package/dist/components/Calendar/adapters/__tests__/platformTheme.test.d.ts +1 -0
- package/dist/components/Calendar/adapters/index.d.ts +1 -0
- package/dist/components/Calendar/adapters/platformTheme.d.ts +29 -0
- package/dist/components/Calendar/constants.d.ts +12 -0
- package/dist/components/Calendar/context/CalendarContext.d.ts +29 -0
- package/dist/components/Calendar/context/index.d.ts +2 -0
- package/dist/components/Calendar/context/useCalendarContext.d.ts +3 -0
- package/dist/components/Calendar/index.d.ts +4 -0
- package/dist/components/Calendar/interface.d.ts +62 -0
- package/dist/components/Calendar/internalTypes.d.ts +56 -0
- package/dist/components/Calendar/panels/DayPanel/DayPanel.d.ts +3 -0
- package/dist/components/Calendar/panels/DayPanel/__tests__/CalendarDay.dayFilter.test.d.ts +1 -0
- package/dist/components/Calendar/panels/MonthPanel/MonthCell/MonthCell.d.ts +10 -0
- package/dist/components/Calendar/panels/MonthPanel/MonthCell/MonthCellPopover/MonthCellPopover.d.ts +10 -0
- package/dist/components/Calendar/panels/MonthPanel/MonthHeader/MonthHeader.d.ts +2 -0
- package/dist/components/Calendar/panels/MonthPanel/MonthPanel.d.ts +3 -0
- package/dist/components/Calendar/panels/MonthPanel/WeekEventLayer/MoreButton.d.ts +11 -0
- package/dist/components/Calendar/panels/MonthPanel/WeekEventLayer/WeekEventLayer.d.ts +3 -0
- package/dist/components/Calendar/panels/WeekPanel/WeekAllDaySection/WeekAllDaySection.d.ts +11 -0
- package/dist/components/Calendar/panels/WeekPanel/WeekHeader/WeekHeader.d.ts +6 -0
- package/dist/components/Calendar/panels/WeekPanel/WeekPanel.d.ts +3 -0
- package/dist/components/Calendar/shared/AllDaySection/AllDaySection.d.ts +7 -0
- package/dist/components/Calendar/shared/AllDaySection/index.d.ts +1 -0
- package/dist/components/Calendar/shared/CurrentTimeIndicator/CurrentTimeIndicator.d.ts +10 -0
- package/dist/components/Calendar/shared/CurrentTimeIndicator/__tests__/CurrentTimeIndicator.test.d.ts +1 -0
- package/dist/components/Calendar/shared/CurrentTimeIndicator/index.d.ts +1 -0
- package/dist/components/Calendar/shared/EventCard/EventCard.d.ts +22 -0
- package/dist/components/Calendar/shared/EventCard/__tests__/EventCard.tooltip.test.d.ts +1 -0
- package/dist/components/Calendar/shared/EventCard/index.d.ts +1 -0
- package/dist/components/Calendar/shared/TimeAxis/TimeAxis.d.ts +6 -0
- package/dist/components/Calendar/shared/TimeAxis/index.d.ts +1 -0
- package/dist/components/Calendar/shared/TimeGrid/TimeGrid.d.ts +11 -0
- package/dist/components/Calendar/shared/TimeGrid/index.d.ts +1 -0
- package/dist/components/Calendar/style/__tests__/resolveCalendarThemeVars.test.d.ts +1 -0
- package/dist/components/Calendar/style/__tests__/resolveScheduleColorVars.test.d.ts +1 -0
- package/dist/components/Calendar/style/__tests__/resolveSubcomponentThemes.test.d.ts +1 -0
- package/dist/components/Calendar/style/index.d.ts +5 -0
- package/dist/components/Calendar/style/resolveCalendarThemeVars.d.ts +2 -0
- package/dist/components/Calendar/style/resolveScheduleColorVars.d.ts +3 -0
- package/dist/components/Calendar/style/resolveSubcomponentThemes.d.ts +5 -0
- package/dist/components/Calendar/utils/__tests__/dateUtils.test.d.ts +1 -0
- package/dist/components/Calendar/utils/__tests__/eventUtils.contract.test.d.ts +1 -0
- package/dist/components/Calendar/utils/__tests__/normalizeData.test.d.ts +1 -0
- package/dist/components/Calendar/utils/colorUtils.d.ts +8 -0
- package/dist/components/Calendar/utils/dateUtils.d.ts +25 -0
- package/dist/components/Calendar/utils/eventUtils.d.ts +44 -0
- package/dist/components/Calendar/utils/index.d.ts +7 -0
- package/dist/components/Calendar/utils/layout/dayLayoutAlgorithm.d.ts +31 -0
- package/dist/components/Calendar/utils/layout/index.d.ts +3 -0
- package/dist/components/Calendar/utils/layout/monthLayoutAlgorithm.d.ts +59 -0
- package/dist/components/Calendar/utils/layout/weekLayoutAlgorithm.d.ts +7 -0
- package/dist/components/Calendar/utils/normalizeData.d.ts +7 -0
- package/dist/components/Calendar/utils/timeUtils.d.ts +27 -0
- package/dist/components/Calendar/utils/weekTimedLayout.d.ts +14 -0
- package/dist/components/ColorPicker/useFloatingColorPicker.d.ts +1 -23
- package/dist/components/DatePicker/DatePicker.d.ts +3 -0
- package/dist/components/DatePicker/DatePickerHeader/DatePickerHeader.d.ts +17 -0
- package/dist/components/DatePicker/DatePickerPanel/DatePickerPanel.d.ts +9 -0
- package/dist/components/DatePicker/MonthPicker/MonthPicker.d.ts +4 -0
- package/dist/components/DatePicker/TodayFooter/TodayFooter.d.ts +5 -0
- package/dist/components/DatePicker/YearPicker/YearPicker.d.ts +4 -0
- package/dist/components/DatePicker/__tests__/DatePicker.theme.test.d.ts +1 -0
- package/dist/components/DatePicker/__tests__/DatePickerPanel.dom.test.d.ts +1 -0
- package/dist/components/DatePicker/__tests__/DatePickerPanel.styles.test.d.ts +1 -0
- package/dist/components/DatePicker/index.d.ts +2 -0
- package/dist/components/DatePicker/interface.d.ts +37 -0
- package/dist/components/DatePicker/style/__tests__/resolveDatePickerThemeVars.test.d.ts +1 -0
- package/dist/components/DatePicker/style/index.d.ts +1 -0
- package/dist/components/DatePicker/style/resolveDatePickerThemeVars.d.ts +2 -0
- package/dist/components/DatePicker/utils/__tests__/normalizePickerValue.test.d.ts +1 -0
- package/dist/components/DatePicker/utils/chunkArray.d.ts +1 -0
- package/dist/components/DatePicker/utils/ensureDayjsPlugins.d.ts +2 -0
- package/dist/components/DatePicker/utils/formatPickerLabel.d.ts +1 -0
- package/dist/components/DatePicker/utils/normalizePickerValue.d.ts +10 -0
- package/dist/components/DatePicker/utils/pickerConstants.d.ts +8 -0
- package/dist/components/DatePicker/utils/pickerLocale.d.ts +4 -0
- package/dist/components/Segmented/Segmented.type.d.ts +26 -0
- package/dist/components/Segmented/__tests__/Segmented.theme.test.d.ts +1 -0
- package/dist/components/Segmented/index.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +6 -0
- package/dist/components/Tooltip/Tooltip.type.d.ts +33 -0
- package/dist/components/Tooltip/__tests__/Tooltip.test.d.ts +1 -0
- package/dist/components/Tooltip/context/TooltipFloatingContext.d.ts +2 -0
- package/dist/components/Tooltip/index.d.ts +3 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/hooks/useFloatingOverlay.d.ts +20 -0
- package/dist/hooks/useLocale.d.ts +4 -2
- package/dist/index.js +36 -20
- package/dist/locale/LocaleContext.d.ts +2 -1
- package/dist/locale/formatLocaleMessage.d.ts +2 -0
- package/dist/locale/lang/en-US.json.d.ts +43 -1
- package/dist/locale/lang/zh-CN.json.d.ts +43 -1
- package/dist/locale/lang/zh-TW.json.d.ts +43 -1
- package/dist/style.css +1 -1
- package/dist/utils/cssVars.d.ts +1 -0
- package/dist/utils/mergeRefs.d.ts +4 -0
- package/dist/vendors/{ConfigProvider-Bd6SRQtO.js → ConfigProvider-aWr8b3e3.js} +121 -37
- package/dist/vendors/{LocaleContext-Jj_JGgi2.js → LocaleContext-CuXR7Y03.js} +52 -7
- package/dist/vendors/{Tree-D7ZZAwIg.js → Tree-BTQ25Pi7.js} +2 -2
- package/dist/vendors/cssVars-C4BlzyxA.js +6 -0
- package/dist/vendors/useFloatingOverlay-uxlI1G-V.js +26 -0
- package/dist/vendors/{useLocale-Mk0d7wNt.js → useLocale-DvdSwM9e.js} +1 -1
- package/package.json +7 -2
- package/dist/ColorPicker/ColorPicker-CFKvAzYa.js +0 -168
- package/dist/Segmented/Segmented-DkhT5_Ty.js +0 -73
- /package/dist/CheckBox/{CheckBox-BsihF-AN.js → CheckBox-CkVe5Boq.js} +0 -0
- /package/dist/InputTag/{InputTag-DcVn_bRl.js → InputTag-zP5QdId7.js} +0 -0
- /package/dist/Loading/{Loading-dsLWSWsE.js → Loading-WjmzBabh.js} +0 -0
- /package/dist/NotFoundContent/{NotFoundContent-DJUQ0_2D.js → NotFoundContent-7xV-zOG2.js} +0 -0
- /package/dist/Radio/{Radio-WNw-VqIS.js → Radio-DkrZHoG1.js} +0 -0
- /package/dist/vendors/{animations-C2i5EijE.js → animations-BmT0HT5q.js} +0 -0
- /package/dist/vendors/{color-CxdZwdYM.js → color-BeQo449h.js} +0 -0
- /package/dist/vendors/{useFloatingPortal-CDgiCnbb.js → useFloatingPortal-DsEtsAGW.js} +0 -0
|
@@ -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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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,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,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
|
+
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
|
-
|
|
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;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface DatePickerHeaderProps {
|
|
2
|
+
prefixCls: string;
|
|
3
|
+
yearLabel?: string;
|
|
4
|
+
monthLabel?: string;
|
|
5
|
+
rangeLabel?: string;
|
|
6
|
+
isMonthPanel?: boolean;
|
|
7
|
+
navType: 'month' | 'year' | 'years';
|
|
8
|
+
prevLabel: string;
|
|
9
|
+
nextLabel: string;
|
|
10
|
+
switchToMonthLabel?: string;
|
|
11
|
+
onPrev: () => void;
|
|
12
|
+
onNext: () => void;
|
|
13
|
+
onYearClick?: () => void;
|
|
14
|
+
onMonthClick?: () => void;
|
|
15
|
+
}
|
|
16
|
+
declare const DatePickerHeader: React.FC<DatePickerHeaderProps>;
|
|
17
|
+
export default DatePickerHeader;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import { PickerType } from '../interface';
|
|
3
|
+
export interface DatePickerPanelProps {
|
|
4
|
+
picker: PickerType;
|
|
5
|
+
value?: Dayjs;
|
|
6
|
+
onChange: (date: Dayjs) => void;
|
|
7
|
+
}
|
|
8
|
+
declare const DatePickerPanel: React.FC<DatePickerPanelProps>;
|
|
9
|
+
export default DatePickerPanel;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
export type PickerType = 'date' | 'week' | 'month' | 'year';
|
|
4
|
+
export interface DatePickerTheme {
|
|
5
|
+
/** 面板背景色 */
|
|
6
|
+
colorBgContainer?: string;
|
|
7
|
+
/** 主色 / 强调色(today 描边、底部「今天」按钮、选中等) */
|
|
8
|
+
colorPrimary?: string;
|
|
9
|
+
/** 主色 hover 背景(底部「今天」按钮 hover、月/年单元格 hover 等),不传时由 colorPrimary 按 30% 透明度生成 */
|
|
10
|
+
colorPrimaryHover?: string;
|
|
11
|
+
/** 面板头部文字颜色 */
|
|
12
|
+
headerColor?: string;
|
|
13
|
+
/** 面板头部悬浮时的颜色 */
|
|
14
|
+
headerHoverColor?: string;
|
|
15
|
+
/** 普通日期文字颜色 */
|
|
16
|
+
colorText?: string;
|
|
17
|
+
/** 过期日期文字颜色 */
|
|
18
|
+
colorTextTertiary?: string;
|
|
19
|
+
/** 当前选中日期填充色 */
|
|
20
|
+
cellSelectedBg?: string;
|
|
21
|
+
/** 周模式行悬停 / 选中范围背景色 */
|
|
22
|
+
weekRangeBg?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface DatePickerProps {
|
|
25
|
+
/** 选择器类型:date / week / month / year */
|
|
26
|
+
picker?: PickerType;
|
|
27
|
+
/** 当前选中值(受控) */
|
|
28
|
+
value?: Dayjs;
|
|
29
|
+
/** 非受控初始值 */
|
|
30
|
+
defaultValue?: Dayjs;
|
|
31
|
+
/** 选中后的回调 */
|
|
32
|
+
onChange?: (value: Dayjs) => void;
|
|
33
|
+
/** 触发浮层的单个 React 元素 */
|
|
34
|
+
children: ReactElement;
|
|
35
|
+
/** 组件级颜色 token */
|
|
36
|
+
theme?: DatePickerTheme;
|
|
37
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { resolveDatePickerThemeVars } from './resolveDatePickerThemeVars';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const chunkArray: <T>(items: T[], size: number) => T[][];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const formatPickerLabel: (template: string, values: Record<string, string | number>) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Dayjs } from 'dayjs';
|
|
2
|
+
import { PickerType } from '../interface';
|
|
3
|
+
/**
|
|
4
|
+
* 将 rc-picker 选中的原始值按 picker 粒度归一化。
|
|
5
|
+
* - date:当天 00:00
|
|
6
|
+
* - week:该周 ISO 周一(与 Calendar isoWeek 一致)
|
|
7
|
+
* - month:该月 1 日
|
|
8
|
+
* - year:该年 1 月 1 日
|
|
9
|
+
*/
|
|
10
|
+
export declare const normalizePickerValue: (value: Dayjs, picker: PickerType) => Dayjs;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** rc-picker PickerPanel 的 prefixCls,与 SCSS 中 .bsy-date-picker-* 类名对应 */
|
|
2
|
+
export declare const PREFIX_CLS = "bsy-date-picker";
|
|
3
|
+
/** 年面板每页年份数(5 行 × 4 列) */
|
|
4
|
+
export declare const YEAR_PAGE_SIZE = 20;
|
|
5
|
+
export declare const YEAR_COL_COUNT = 4;
|
|
6
|
+
export declare const MONTH_COL_COUNT = 3;
|
|
7
|
+
export declare const getYearPageBaseYear: (year: number) => number;
|
|
8
|
+
export declare const formatYearPageRange: (baseYear: number) => string;
|
|
@@ -7,6 +7,28 @@ export type LayoutState = {
|
|
|
7
7
|
width: number;
|
|
8
8
|
left: number;
|
|
9
9
|
};
|
|
10
|
+
export type SegmentedTheme = {
|
|
11
|
+
/**
|
|
12
|
+
* @description 普通文字颜色
|
|
13
|
+
*/
|
|
14
|
+
colorText?: string;
|
|
15
|
+
/**
|
|
16
|
+
* @description 选中项背景色
|
|
17
|
+
*/
|
|
18
|
+
itemSelectedBg?: string;
|
|
19
|
+
/**
|
|
20
|
+
* @description 选项悬停背景色
|
|
21
|
+
*/
|
|
22
|
+
itemHoverBg?: string;
|
|
23
|
+
/**
|
|
24
|
+
* @description 选项悬停边框色
|
|
25
|
+
*/
|
|
26
|
+
itemHoverBorder?: string;
|
|
27
|
+
/**
|
|
28
|
+
* @description 非选中项背景色
|
|
29
|
+
*/
|
|
30
|
+
trackBg?: string;
|
|
31
|
+
};
|
|
10
32
|
export type SegmentedProps<T extends React.Key = string | number> = {
|
|
11
33
|
/**
|
|
12
34
|
* @description 将宽度调整为父元素宽度的选项
|
|
@@ -32,4 +54,8 @@ export type SegmentedProps<T extends React.Key = string | number> = {
|
|
|
32
54
|
* @description 用户点击切换时是否启用滑块滑动动画;首屏定位始终瞬间完成
|
|
33
55
|
*/
|
|
34
56
|
enableAnimation?: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* @description 组件级颜色 token
|
|
59
|
+
*/
|
|
60
|
+
theme?: SegmentedTheme;
|
|
35
61
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default } from './Segmented';
|
|
2
|
-
export type { SegmentedProps, SegmentedOption } from './Segmented.type';
|
|
2
|
+
export type { SegmentedProps, SegmentedOption, SegmentedTheme } from './Segmented.type';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { Boundary, Placement, UseTransitionStylesProps } from '@floating-ui/react';
|
|
3
|
+
export type TooltipTrigger = 'hover' | 'click';
|
|
4
|
+
export type TooltipWidthMode = 'content' | 'manual' | 'reference';
|
|
5
|
+
export type VirtualReference = {
|
|
6
|
+
getBoundingClientRect: () => DOMRect;
|
|
7
|
+
};
|
|
8
|
+
export type TooltipProps = {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
/** 浮层内容;为空时仅渲染 children */
|
|
11
|
+
content?: ReactNode;
|
|
12
|
+
trigger?: TooltipTrigger;
|
|
13
|
+
style?: CSSProperties;
|
|
14
|
+
showArrow?: boolean;
|
|
15
|
+
placement?: Placement;
|
|
16
|
+
onClose?: () => void;
|
|
17
|
+
hoverDelay?: number;
|
|
18
|
+
getPopupContainer?: () => HTMLElement | null | undefined;
|
|
19
|
+
/** hover 模式下鼠标移入浮层是否保持打开 */
|
|
20
|
+
moveToFloatingKeepOpen?: boolean;
|
|
21
|
+
widthMode?: TooltipWidthMode;
|
|
22
|
+
width?: number | string;
|
|
23
|
+
minWidth?: number | string;
|
|
24
|
+
maxWidth?: number | string;
|
|
25
|
+
offset?: number;
|
|
26
|
+
fallbackPlacements?: Placement[];
|
|
27
|
+
virtualReference?: VirtualReference | null;
|
|
28
|
+
flipBoundary?: Boundary;
|
|
29
|
+
animated?: boolean;
|
|
30
|
+
animationConfig?: UseTransitionStylesProps;
|
|
31
|
+
visible?: boolean;
|
|
32
|
+
onVisibleChange?: (visible: boolean) => void;
|
|
33
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -8,6 +8,9 @@ export { default as Card } from './Card';
|
|
|
8
8
|
export { default as Modal } from './Modal';
|
|
9
9
|
export { default as ColorPicker } from './ColorPicker';
|
|
10
10
|
export { default as Segmented } from './Segmented';
|
|
11
|
+
export type { SegmentedOption, SegmentedProps, SegmentedTheme } from './Segmented';
|
|
12
|
+
export { default as Tooltip, TooltipFloatingContext } from './Tooltip';
|
|
13
|
+
export type { TooltipProps, TooltipTrigger, TooltipWidthMode, VirtualReference } from './Tooltip';
|
|
11
14
|
export { Select } from './Select';
|
|
12
15
|
export { Tree } from './Tree';
|
|
13
16
|
export { default as Checkbox } from './CheckBox';
|
|
@@ -18,3 +21,8 @@ export { default as Loading } from './Loading';
|
|
|
18
21
|
export { NotFoundContent } from './NotFoundContent';
|
|
19
22
|
export { default as TabSelect } from './Tabs/TabSelect/TabSelect';
|
|
20
23
|
export { default as InputTag } from './InputTag';
|
|
24
|
+
export { default as Calendar } from './Calendar';
|
|
25
|
+
export type { CalendarProps, CalendarDataItem, CalendarTimeInput, CalendarMode, CalendarAxis, CalendarTheme, CalendarPanelBgImagePosition, CalendarTooltipConfig, CalendarEventClickHandler, AddClickPayload, PlatformCalendarThemeConfig, } from './Calendar';
|
|
26
|
+
export { resolveCalendarThemeVars, resolvePlatformCalendarTheme } from './Calendar';
|
|
27
|
+
export { default as DatePicker } from './DatePicker';
|
|
28
|
+
export type { DatePickerProps, DatePickerTheme, PickerType } from './DatePicker';
|