@dxos/react-ui-calendar 0.8.4-main.548089c

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 (34) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +1 -0
  3. package/dist/lib/browser/index.mjs +265 -0
  4. package/dist/lib/browser/index.mjs.map +7 -0
  5. package/dist/lib/browser/meta.json +1 -0
  6. package/dist/lib/node-esm/index.mjs +267 -0
  7. package/dist/lib/node-esm/index.mjs.map +7 -0
  8. package/dist/lib/node-esm/meta.json +1 -0
  9. package/dist/types/src/components/Calendar/Calendar.d.ts +47 -0
  10. package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
  11. package/dist/types/src/components/Calendar/Calendar.stories.d.ts +27 -0
  12. package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
  13. package/dist/types/src/components/Calendar/index.d.ts +2 -0
  14. package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
  15. package/dist/types/src/components/Calendar/util.d.ts +4 -0
  16. package/dist/types/src/components/Calendar/util.d.ts.map +1 -0
  17. package/dist/types/src/components/index.d.ts +2 -0
  18. package/dist/types/src/components/index.d.ts.map +1 -0
  19. package/dist/types/src/index.d.ts +2 -0
  20. package/dist/types/src/index.d.ts.map +1 -0
  21. package/dist/types/src/translations.d.ts +9 -0
  22. package/dist/types/src/translations.d.ts.map +1 -0
  23. package/dist/types/src/types.d.ts +175 -0
  24. package/dist/types/src/types.d.ts.map +1 -0
  25. package/dist/types/tsconfig.tsbuildinfo +1 -0
  26. package/package.json +64 -0
  27. package/src/components/Calendar/Calendar.stories.tsx +76 -0
  28. package/src/components/Calendar/Calendar.tsx +294 -0
  29. package/src/components/Calendar/index.ts +5 -0
  30. package/src/components/Calendar/util.ts +22 -0
  31. package/src/components/index.ts +5 -0
  32. package/src/index.ts +5 -0
  33. package/src/translations.ts +17 -0
  34. package/src/types.ts +193 -0
@@ -0,0 +1 @@
1
+ {"inputs":{"src/translations.ts":{"bytes":1182,"imports":[],"format":"esm"},"src/components/Calendar/util.ts":{"bytes":2802,"imports":[],"format":"esm"},"src/components/Calendar/Calendar.tsx":{"bytes":29761,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"date-fns","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"react-virtualized","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../../translations"},{"path":"src/components/Calendar/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/components/Calendar/index.ts":{"bytes":476,"imports":[{"path":"src/components/Calendar/Calendar.tsx","kind":"import-statement","original":"./Calendar"}],"format":"esm"},"src/components/index.ts":{"bytes":467,"imports":[{"path":"src/components/Calendar/index.ts","kind":"import-statement","original":"./Calendar"}],"format":"esm"},"src/index.ts":{"bytes":462,"imports":[{"path":"src/components/index.ts","kind":"import-statement","original":"./components"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17429},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"@radix-ui/react-context","kind":"import-statement","external":true},{"path":"date-fns","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"react-resize-detector","kind":"import-statement","external":true},{"path":"react-virtualized","kind":"import-statement","external":true},{"path":"@dxos/async","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true}],"exports":["Calendar"],"entryPoint":"src/index.ts","inputs":{"src/components/Calendar/Calendar.tsx":{"bytesInOutput":8140},"src/translations.ts":{"bytesInOutput":161},"src/components/Calendar/util.ts":{"bytesInOutput":517},"src/components/Calendar/index.ts":{"bytesInOutput":0},"src/components/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0}},"bytes":9110}}}
@@ -0,0 +1,47 @@
1
+ import { type Day } from 'date-fns';
2
+ import React, { type Dispatch, type PropsWithChildren, type SetStateAction } from 'react';
3
+ import { Event } from '@dxos/async';
4
+ import { type ThemedClassName } from '@dxos/react-ui';
5
+ type CalendarEvent = {
6
+ type: 'scroll';
7
+ date: Date;
8
+ };
9
+ type CalendarContextValue = {
10
+ weekStartsOn: Day;
11
+ event: Event<CalendarEvent>;
12
+ index: number | undefined;
13
+ setIndex: Dispatch<SetStateAction<number | undefined>>;
14
+ selected: Date | undefined;
15
+ setSelected: Dispatch<SetStateAction<Date | undefined>>;
16
+ };
17
+ type CalendarController = {
18
+ scrollTo: (date: Date) => void;
19
+ };
20
+ type CalendarRootProps = PropsWithChildren<Partial<Pick<CalendarContextValue, 'weekStartsOn'>>>;
21
+ type CalendarViewportProps = PropsWithChildren<ThemedClassName>;
22
+ type CalendarHeaderProps = ThemedClassName;
23
+ type CalendarGridProps = ThemedClassName<{
24
+ rows?: number;
25
+ onSelect?: (event: {
26
+ date: Date;
27
+ }) => void;
28
+ }>;
29
+ export declare const Calendar: {
30
+ Root: React.ForwardRefExoticComponent<Partial<Pick<CalendarContextValue, "weekStartsOn">> & {
31
+ children?: React.ReactNode | undefined;
32
+ } & React.RefAttributes<CalendarController>>;
33
+ Viewport: {
34
+ ({ children, classNames }: CalendarViewportProps): React.JSX.Element;
35
+ displayName: string;
36
+ };
37
+ Header: {
38
+ ({ classNames }: CalendarHeaderProps): React.JSX.Element;
39
+ displayName: string;
40
+ };
41
+ Grid: {
42
+ ({ classNames, rows, onSelect }: CalendarGridProps): React.JSX.Element;
43
+ displayName: string;
44
+ };
45
+ };
46
+ export type { CalendarController, CalendarRootProps, CalendarViewportProps, CalendarHeaderProps, CalendarGridProps };
47
+ //# sourceMappingURL=Calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../../src/components/Calendar/Calendar.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,GAAG,EAAmD,MAAM,UAAU,CAAC;AACrF,OAAO,KAAK,EAAE,EACZ,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAc,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAgBlF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,YAAY,EAAE,GAAG,CAAC;IAClB,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5B,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,QAAQ,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IACvD,QAAQ,EAAE,IAAI,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,QAAQ,CAAC,cAAc,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC;CACzD,CAAC;AAQF,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CAChC,CAAC;AAMF,KAAK,iBAAiB,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;AAqChG,KAAK,qBAAqB,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;AAgBhE,KAAK,mBAAmB,GAAG,eAAe,CAAC;AAuC3C,KAAK,iBAAiB,GAAG,eAAe,CAAC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5C,CAAC,CAAC;AA6HH,eAAO,MAAM,QAAQ;;;;;mCArL+B,qBAAqB;;;;yBAgBjC,mBAAmB;;;;yCA0CL,iBAAiB;;;CAgItE,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: {
6
+ ({ classNames, rows, onSelect }: import("./Calendar").CalendarGridProps): React.JSX.Element;
7
+ displayName: string;
8
+ };
9
+ decorators: import("@storybook/react").Decorator[];
10
+ parameters: {
11
+ layout: string;
12
+ translations: [{
13
+ readonly 'en-US': {
14
+ readonly "react-ui-calendar": {
15
+ readonly 'today button': "Today";
16
+ };
17
+ };
18
+ }];
19
+ };
20
+ };
21
+ export default meta;
22
+ type Story = StoryObj<typeof meta>;
23
+ export declare const Default: Story;
24
+ export declare const Border: Story;
25
+ export declare const Column: Story;
26
+ export declare const Mobile: Story;
27
+ //# sourceMappingURL=Calendar.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/Calendar/Calendar.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;CAQ4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KASrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KASpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAWpB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAapB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Calendar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/Calendar/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type Day } from 'date-fns';
2
+ export declare const getDate: (start: Date, weekNumber: number, dayOfWeek: number, weekStartsOn: Day) => Date;
3
+ export declare const isSameDay: (date1: Date, date2: Date | undefined) => boolean;
4
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/components/Calendar/util.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAEpC,eAAO,MAAM,OAAO,GAAI,OAAO,IAAI,EAAE,YAAY,MAAM,EAAE,WAAW,MAAM,EAAE,cAAc,GAAG,KAAG,IAM/F,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,EAAE,OAAO,IAAI,GAAG,SAAS,KAAG,OAOhE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './Calendar';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './components';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,cAAc,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const translationKey = "react-ui-calendar";
2
+ export declare const translations: [{
3
+ readonly 'en-US': {
4
+ readonly "react-ui-calendar": {
5
+ readonly 'today button': "Today";
6
+ };
7
+ };
8
+ }];
9
+ //# sourceMappingURL=translations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,sBAAsB,CAAC;AAElD,eAAO,MAAM,YAAY;;;;;;EAQM,CAAC"}
@@ -0,0 +1,175 @@
1
+ import { type Locale } from 'date-fns';
2
+ import { type RefObject } from 'react';
3
+ /**
4
+ * Calendar types and interfaces.
5
+ */
6
+ export type DateString = string;
7
+ export type DisplayMode = 'days' | 'years';
8
+ export type LayoutMode = 'portrait' | 'landscape';
9
+ /**
10
+ * Locale configuration for the calendar.
11
+ */
12
+ export interface CalendarLocale {
13
+ blank?: string;
14
+ headerFormat?: string;
15
+ todayLabel?: {
16
+ long: string;
17
+ short?: string;
18
+ };
19
+ weekdays?: string[];
20
+ weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6;
21
+ locale?: Locale;
22
+ }
23
+ /**
24
+ * Theme configuration for the calendar.
25
+ */
26
+ export interface CalendarTheme {
27
+ floatingNav?: {
28
+ background?: string;
29
+ chevron?: string;
30
+ color?: string;
31
+ };
32
+ headerColor?: string;
33
+ selectionColor?: string | ((date: DateString) => string);
34
+ textColor?: {
35
+ active?: string;
36
+ default?: string;
37
+ };
38
+ todayColor?: string;
39
+ weekdayColor?: string;
40
+ overlayColor?: string;
41
+ }
42
+ /**
43
+ * Display options for the calendar.
44
+ */
45
+ export interface DisplayOptions {
46
+ hideYearsOnSelect?: boolean;
47
+ layout?: LayoutMode;
48
+ overscanMonthCount?: number;
49
+ shouldHeaderAnimate?: boolean;
50
+ showHeader?: boolean;
51
+ showMonthsForYears?: boolean;
52
+ showOverlay?: boolean;
53
+ showTodayHelper?: boolean;
54
+ showWeekdays?: boolean;
55
+ todayHelperRowOffset?: number;
56
+ }
57
+ /**
58
+ * Month data structure.
59
+ */
60
+ export interface MonthData {
61
+ month: number;
62
+ year: number;
63
+ }
64
+ /**
65
+ * Month rendering data.
66
+ */
67
+ export interface MonthRenderData {
68
+ date: Date;
69
+ rows: number[][];
70
+ }
71
+ /**
72
+ * Day props for rendering.
73
+ */
74
+ export interface DayProps {
75
+ date: DateString;
76
+ day: number;
77
+ month: number;
78
+ year: number;
79
+ monthShort: string;
80
+ currentYear: number;
81
+ isDisabled: boolean;
82
+ isToday: boolean;
83
+ isSelected: boolean;
84
+ isHighlighted?: boolean;
85
+ onClick?: (date: Date) => void;
86
+ handlers?: Record<string, any>;
87
+ className?: string;
88
+ }
89
+ /**
90
+ * Calendar props.
91
+ */
92
+ export interface CalendarProps {
93
+ autoFocus?: boolean;
94
+ className?: string;
95
+ disabledDates?: Date[];
96
+ disabledDays?: number[];
97
+ display?: DisplayMode;
98
+ displayOptions?: DisplayOptions;
99
+ height?: number;
100
+ keyboardSupport?: boolean;
101
+ locale?: CalendarLocale;
102
+ max?: Date;
103
+ maxDate?: Date;
104
+ min?: Date;
105
+ minDate?: Date;
106
+ onScroll?: (scrollTop: number, event?: Event) => void;
107
+ onScrollEnd?: (scrollTop: number) => void;
108
+ onSelect?: (date: Date) => void;
109
+ onHighlightedDateChange?: (date: Date) => void;
110
+ rowHeight?: number;
111
+ scrollDate?: Date;
112
+ selected?: Date | DateString;
113
+ tabIndex?: number;
114
+ theme?: CalendarTheme;
115
+ width?: number | string;
116
+ }
117
+ /**
118
+ * Month props.
119
+ */
120
+ export interface MonthProps {
121
+ monthDate: Date;
122
+ rows: number[][];
123
+ rowHeight: number;
124
+ selected?: DateString;
125
+ disabledDates?: DateString[];
126
+ disabledDays?: number[];
127
+ minDate: Date;
128
+ maxDate: Date;
129
+ today: Date;
130
+ locale: Required<CalendarLocale>;
131
+ theme: Required<CalendarTheme>;
132
+ showOverlay?: boolean;
133
+ isScrolling?: boolean;
134
+ onDayClick?: (date: Date) => void;
135
+ }
136
+ /**
137
+ * Hook return types for headless implementation.
138
+ */
139
+ export interface UseCalendarReturn {
140
+ containerProps: {
141
+ ref: RefObject<HTMLDivElement>;
142
+ tabIndex?: number;
143
+ className?: string;
144
+ 'aria-label': string;
145
+ };
146
+ display: DisplayMode;
147
+ locale: Required<CalendarLocale>;
148
+ theme: Required<CalendarTheme>;
149
+ displayOptions: Required<DisplayOptions>;
150
+ months: MonthData[];
151
+ today: Date;
152
+ scrollToDate: (date: Date, offset?: number, shouldAnimate?: boolean) => void;
153
+ scrollTo: (offset: number) => void;
154
+ getCurrentOffset: () => number;
155
+ getDateOffset: (date: Date) => number;
156
+ setDisplay: (display: DisplayMode) => void;
157
+ }
158
+ export interface UseDayReturn {
159
+ dayProps: {
160
+ onClick: () => void;
161
+ 'data-date': DateString;
162
+ className?: string;
163
+ };
164
+ isSelected: boolean;
165
+ isToday: boolean;
166
+ isDisabled: boolean;
167
+ isHighlighted: boolean;
168
+ selectionColor?: string;
169
+ }
170
+ export interface UseMonthReturn {
171
+ days: DayProps[];
172
+ monthLabel: string;
173
+ showOverlay: boolean;
174
+ }
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"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"}