@dxos/react-ui-calendar 0.8.4-main.03d5cd7b56

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 (38) hide show
  1. package/LICENSE +8 -0
  2. package/README.md +1 -0
  3. package/dist/lib/browser/index.mjs +234 -0
  4. package/dist/lib/browser/index.mjs.map +7 -0
  5. package/dist/lib/browser/meta.json +1 -0
  6. package/dist/lib/browser/translations.mjs +16 -0
  7. package/dist/lib/browser/translations.mjs.map +7 -0
  8. package/dist/lib/node-esm/index.mjs +236 -0
  9. package/dist/lib/node-esm/index.mjs.map +7 -0
  10. package/dist/lib/node-esm/meta.json +1 -0
  11. package/dist/lib/node-esm/translations.mjs +18 -0
  12. package/dist/lib/node-esm/translations.mjs.map +7 -0
  13. package/dist/types/src/components/Calendar/Calendar.d.ts +41 -0
  14. package/dist/types/src/components/Calendar/Calendar.d.ts.map +1 -0
  15. package/dist/types/src/components/Calendar/Calendar.stories.d.ts +22 -0
  16. package/dist/types/src/components/Calendar/Calendar.stories.d.ts.map +1 -0
  17. package/dist/types/src/components/Calendar/index.d.ts +2 -0
  18. package/dist/types/src/components/Calendar/index.d.ts.map +1 -0
  19. package/dist/types/src/components/Calendar/util.d.ts +4 -0
  20. package/dist/types/src/components/Calendar/util.d.ts.map +1 -0
  21. package/dist/types/src/components/index.d.ts +2 -0
  22. package/dist/types/src/components/index.d.ts.map +1 -0
  23. package/dist/types/src/index.d.ts +2 -0
  24. package/dist/types/src/index.d.ts.map +1 -0
  25. package/dist/types/src/translations.d.ts +9 -0
  26. package/dist/types/src/translations.d.ts.map +1 -0
  27. package/dist/types/src/types.d.ts +175 -0
  28. package/dist/types/src/types.d.ts.map +1 -0
  29. package/dist/types/tsconfig.tsbuildinfo +1 -0
  30. package/package.json +71 -0
  31. package/src/components/Calendar/Calendar.stories.tsx +51 -0
  32. package/src/components/Calendar/Calendar.tsx +300 -0
  33. package/src/components/Calendar/index.ts +5 -0
  34. package/src/components/Calendar/util.ts +22 -0
  35. package/src/components/index.ts +5 -0
  36. package/src/index.ts +5 -0
  37. package/src/translations.ts +17 -0
  38. package/src/types.ts +193 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nexport const translationKey = '@dxos/react-ui-calendar';\n\nexport const translations = [\n {\n 'en-US': {\n [translationKey]: {\n 'today.button': 'Today',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;AAMO,IAAMA,iBAAiB;AAEvB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,cAAAA,GAAiB;QAChB,gBAAgB;MAClB;IACF;EACF;;",
6
+ "names": ["translationKey", "translations"]
7
+ }
@@ -0,0 +1,41 @@
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
+ type CalendarEvent = {
5
+ type: 'scroll';
6
+ date: Date;
7
+ };
8
+ type CalendarContextValue = {
9
+ weekStartsOn: Day;
10
+ event: Event<CalendarEvent>;
11
+ index: number | undefined;
12
+ setIndex: Dispatch<SetStateAction<number | undefined>>;
13
+ selected: Date | undefined;
14
+ setSelected: Dispatch<SetStateAction<Date | undefined>>;
15
+ };
16
+ type CalendarController = {
17
+ scrollTo: (date: Date) => void;
18
+ };
19
+ type CalendarRootProps = PropsWithChildren<Partial<Pick<CalendarContextValue, 'weekStartsOn'>>>;
20
+ type CalendarToolbarProps = {};
21
+ type CalendarGridProps = {
22
+ rows?: number;
23
+ /** Dates to highlight on the grid. Each date that appears in this array receives a border indicator. */
24
+ dates?: Date[];
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
+ Toolbar: React.ForwardRefExoticComponent<Omit<CalendarToolbarProps, "className"> & {
34
+ classNames?: import("@dxos/ui-types").ClassNameValue;
35
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
36
+ Grid: React.ForwardRefExoticComponent<Omit<CalendarGridProps, "className"> & {
37
+ classNames?: import("@dxos/ui-types").ClassNameValue;
38
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
39
+ };
40
+ export type { CalendarController, CalendarRootProps, CalendarToolbarProps, CalendarGridProps };
41
+ //# 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,EAA+D,MAAM,UAAU,CAAC;AACjG,OAAO,KAAK,EAAE,EACZ,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAQpB,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiBpC,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;AAuChG,KAAK,oBAAoB,GAAG,EAAE,CAAC;AA+C/B,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wGAAwG;IACxG,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAC;CAC5C,CAAC;AAwIF,eAAO,MAAM,QAAQ;IACnB,IAAI;;;IACJ,OAAO;;;IACP,IAAI;;;CACL,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: React.ForwardRefExoticComponent<Omit<import("./Calendar").CalendarGridProps, "className"> & {
6
+ classNames?: import("@dxos/ui-types").ClassNameValue;
7
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
8
+ parameters: {
9
+ translations: [{
10
+ readonly 'en-US': {
11
+ readonly "@dxos/react-ui-calendar": {
12
+ readonly 'today.button': 'Today';
13
+ };
14
+ };
15
+ }];
16
+ };
17
+ };
18
+ export default meta;
19
+ type Story = StoryObj<typeof meta>;
20
+ export declare const Default: Story;
21
+ export declare const Column: Story;
22
+ //# 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;AAS1B,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAM4B,CAAC;eAExB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAcpB,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,UAAW,IAAI,cAAc,MAAM,aAAa,MAAM,gBAAgB,GAAG,KAAG,IAM/F,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,IAAI,SAAS,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 = "@dxos/react-ui-calendar";
2
+ export declare const translations: [{
3
+ readonly 'en-US': {
4
+ readonly "@dxos/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,4BAA4B,CAAC;AAExD,eAAO,MAAM,YAAY;;;qBAIjB,cAAc,EAAE,OAAO;;;EAIA,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":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,CAAC,EAAE;QACZ,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,CAAC,CAAC;IACzD,SAAS,CAAC,EAAE;QACV,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,IAAI,CAAC;IACX,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACtD,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAChC,uBAAuB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,UAAU,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,OAAO,EAAE,IAAI,CAAC;IACd,OAAO,EAAE,IAAI,CAAC;IACd,KAAK,EAAE,IAAI,CAAC;IACZ,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE;QACd,GAAG,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,OAAO,EAAE,WAAW,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACjC,KAAK,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC/B,cAAc,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;IACzC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,IAAI,CAAC;IACZ,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QACR,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,WAAW,EAAE,UAAU,CAAC;QACxB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB"}