@salyra-ui/calendar 0.1.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 (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +27 -0
  3. package/dist/angular/Action.d.ts +13 -0
  4. package/dist/angular/CalendarNumber.d.ts +10 -0
  5. package/dist/angular/CalendarView.d.ts +16 -0
  6. package/dist/angular/Cell.d.ts +15 -0
  7. package/dist/angular/Continuous.d.ts +13 -0
  8. package/dist/angular/DateField.d.ts +15 -0
  9. package/dist/angular/DayTrigger.d.ts +15 -0
  10. package/dist/angular/Grid.d.ts +7 -0
  11. package/dist/angular/Heading.d.ts +11 -0
  12. package/dist/angular/MonthYearSelect.d.ts +11 -0
  13. package/dist/angular/PickerRoot.d.ts +51 -0
  14. package/dist/angular/TimeSegmentField.d.ts +16 -0
  15. package/dist/angular/Week.d.ts +7 -0
  16. package/dist/angular/Weekday.d.ts +15 -0
  17. package/dist/angular/index.d.ts +43 -0
  18. package/dist/angular/index.js +1 -0
  19. package/dist/astro/Action.astro +7 -0
  20. package/dist/astro/Calendar.astro +10 -0
  21. package/dist/astro/Cell.astro +13 -0
  22. package/dist/astro/Continuous.astro +9 -0
  23. package/dist/astro/DayTrigger.astro +7 -0
  24. package/dist/astro/Field.astro +11 -0
  25. package/dist/astro/Grid.astro +3 -0
  26. package/dist/astro/Heading.astro +7 -0
  27. package/dist/astro/MonthSelect.astro +13 -0
  28. package/dist/astro/Number.astro +7 -0
  29. package/dist/astro/Period.astro +10 -0
  30. package/dist/astro/Root.astro +15 -0
  31. package/dist/astro/Segment.astro +10 -0
  32. package/dist/astro/Week.astro +3 -0
  33. package/dist/astro/Weekday.astro +13 -0
  34. package/dist/astro/YearSelect.astro +13 -0
  35. package/dist/browser/calendar.js +1535 -0
  36. package/dist/browser/calendar.min.js +1 -0
  37. package/dist/core/calendar.d.ts +48 -0
  38. package/dist/core/day.d.ts +6 -0
  39. package/dist/core/dom.d.ts +50 -0
  40. package/dist/core/format.d.ts +10 -0
  41. package/dist/core/index.d.ts +9 -0
  42. package/dist/core/index.js +1 -0
  43. package/dist/core/popover.d.ts +6 -0
  44. package/dist/core/scroller.d.ts +13 -0
  45. package/dist/core/store.d.ts +107 -0
  46. package/dist/core/time.d.ts +12 -0
  47. package/dist/core/timezone.d.ts +3 -0
  48. package/dist/react/Calendar.d.ts +29 -0
  49. package/dist/react/Continuous.d.ts +5 -0
  50. package/dist/react/Fields.d.ts +25 -0
  51. package/dist/react/Root.d.ts +10 -0
  52. package/dist/react/context.d.ts +74 -0
  53. package/dist/react/index.d.ts +40 -0
  54. package/dist/react/index.js +1 -0
  55. package/dist/styles.css +115 -0
  56. package/dist/styles.min.css +1 -0
  57. package/dist/svelte/Action.svelte +12 -0
  58. package/dist/svelte/CalendarView.svelte +3 -0
  59. package/dist/svelte/Cell.svelte +5 -0
  60. package/dist/svelte/Continuous.svelte +3 -0
  61. package/dist/svelte/DateRoot.svelte +3 -0
  62. package/dist/svelte/DateTimeRoot.svelte +3 -0
  63. package/dist/svelte/DayTrigger.svelte +14 -0
  64. package/dist/svelte/Field.svelte +11 -0
  65. package/dist/svelte/Grid.svelte +5 -0
  66. package/dist/svelte/Heading.svelte +5 -0
  67. package/dist/svelte/MonthSelect.svelte +19 -0
  68. package/dist/svelte/Navigation.svelte +14 -0
  69. package/dist/svelte/Number.svelte +5 -0
  70. package/dist/svelte/Period.svelte +15 -0
  71. package/dist/svelte/Root.svelte +3 -0
  72. package/dist/svelte/Segment.svelte +14 -0
  73. package/dist/svelte/Time.svelte +12 -0
  74. package/dist/svelte/TimeRoot.svelte +3 -0
  75. package/dist/svelte/Week.svelte +5 -0
  76. package/dist/svelte/Weekday.svelte +10 -0
  77. package/dist/svelte/YearSelect.svelte +19 -0
  78. package/dist/svelte/context.ts +1 -0
  79. package/dist/svelte/index.ts +1 -0
  80. package/dist/vanilla/index.d.ts +41 -0
  81. package/dist/vanilla/index.js +1 -0
  82. package/dist/vue/Calendar.d.ts +106 -0
  83. package/dist/vue/Continuous.d.ts +9 -0
  84. package/dist/vue/Fields.d.ts +145 -0
  85. package/dist/vue/Root.d.ts +112 -0
  86. package/dist/vue/context.d.ts +40 -0
  87. package/dist/vue/index.d.ts +208 -0
  88. package/dist/vue/index.js +1 -0
  89. package/package.json +101 -0
@@ -0,0 +1,145 @@
1
+ import { type PropType } from "vue";
2
+ import { type Endpoint, type TimeSegment } from "../core";
3
+ export declare const Field: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ endpoint: {
5
+ type: PropType<Endpoint>;
6
+ default: "start";
7
+ };
8
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
9
+ [key: string]: any;
10
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
11
+ endpoint: {
12
+ type: PropType<Endpoint>;
13
+ default: "start";
14
+ };
15
+ }>> & Readonly<{}>, {
16
+ endpoint: Endpoint;
17
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ export declare const Segment: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
19
+ endpoint: {
20
+ type: PropType<Endpoint>;
21
+ default: "start";
22
+ };
23
+ part: {
24
+ type: PropType<Exclude<TimeSegment, "period">>;
25
+ default: "hour";
26
+ };
27
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
30
+ endpoint: {
31
+ type: PropType<Endpoint>;
32
+ default: "start";
33
+ };
34
+ part: {
35
+ type: PropType<Exclude<TimeSegment, "period">>;
36
+ default: "hour";
37
+ };
38
+ }>> & Readonly<{}>, {
39
+ part: "hour" | "minute" | "second";
40
+ endpoint: Endpoint;
41
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
42
+ export declare const Period: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
43
+ endpoint: {
44
+ type: PropType<Endpoint>;
45
+ default: "start";
46
+ };
47
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
48
+ [key: string]: any;
49
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
50
+ endpoint: {
51
+ type: PropType<Endpoint>;
52
+ default: "start";
53
+ };
54
+ }>> & Readonly<{}>, {
55
+ endpoint: Endpoint;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
57
+ export declare const Time: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
58
+ endpoint: {
59
+ type: PropType<Endpoint>;
60
+ default: "start";
61
+ };
62
+ labels: {
63
+ type: PropType<Partial<Record<TimeSegment, string>>>;
64
+ default: () => {};
65
+ };
66
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
67
+ [key: string]: any;
68
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
69
+ endpoint: {
70
+ type: PropType<Endpoint>;
71
+ default: "start";
72
+ };
73
+ labels: {
74
+ type: PropType<Partial<Record<TimeSegment, string>>>;
75
+ default: () => {};
76
+ };
77
+ }>> & Readonly<{}>, {
78
+ endpoint: Endpoint;
79
+ labels: Partial<Record<TimeSegment, string>>;
80
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
81
+ export declare const MonthSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
82
+ from: {
83
+ type: NumberConstructor;
84
+ default: number;
85
+ };
86
+ to: {
87
+ type: NumberConstructor;
88
+ default: number;
89
+ };
90
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
91
+ [key: string]: any;
92
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
93
+ from: {
94
+ type: NumberConstructor;
95
+ default: number;
96
+ };
97
+ to: {
98
+ type: NumberConstructor;
99
+ default: number;
100
+ };
101
+ }>> & Readonly<{}>, {
102
+ from: number;
103
+ to: number;
104
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, YearSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
105
+ from: {
106
+ type: NumberConstructor;
107
+ default: number;
108
+ };
109
+ to: {
110
+ type: NumberConstructor;
111
+ default: number;
112
+ };
113
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
114
+ [key: string]: any;
115
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
116
+ from: {
117
+ type: NumberConstructor;
118
+ default: number;
119
+ };
120
+ to: {
121
+ type: NumberConstructor;
122
+ default: number;
123
+ };
124
+ }>> & Readonly<{}>, {
125
+ from: number;
126
+ to: number;
127
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
128
+ export declare const Action: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
129
+ action: {
130
+ type: PropType<"apply" | "cancel" | "clear">;
131
+ default: "apply";
132
+ };
133
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
134
+ [key: string]: any;
135
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
136
+ action: {
137
+ type: PropType<"apply" | "cancel" | "clear">;
138
+ default: "apply";
139
+ };
140
+ }>> & Readonly<{}>, {
141
+ action: "cancel" | "apply" | "clear";
142
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
143
+ export declare const Output: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
144
+ [key: string]: any;
145
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,112 @@
1
+ import { type PropType } from "vue";
2
+ import { type PickerOptions, type PickerStore, type PickerValue, type PickerKind } from "../core";
3
+ export declare function createRoot(kind?: PickerKind): import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ store: PropType<PickerStore>;
5
+ options: {
6
+ type: PropType<PickerOptions>;
7
+ default: () => {};
8
+ };
9
+ modelValue: PropType<PickerValue>;
10
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ store: PropType<PickerStore>;
14
+ options: {
15
+ type: PropType<PickerOptions>;
16
+ default: () => {};
17
+ };
18
+ modelValue: PropType<PickerValue>;
19
+ }>> & Readonly<{
20
+ onValueChange?: ((...args: any[]) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
22
+ }>, {
23
+ options: PickerOptions;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
+ export declare const Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
+ store: PropType<PickerStore>;
27
+ options: {
28
+ type: PropType<PickerOptions>;
29
+ default: () => {};
30
+ };
31
+ modelValue: PropType<PickerValue>;
32
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
33
+ [key: string]: any;
34
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
35
+ store: PropType<PickerStore>;
36
+ options: {
37
+ type: PropType<PickerOptions>;
38
+ default: () => {};
39
+ };
40
+ modelValue: PropType<PickerValue>;
41
+ }>> & Readonly<{
42
+ onValueChange?: ((...args: any[]) => any) | undefined;
43
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
44
+ }>, {
45
+ options: PickerOptions;
46
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
47
+ export declare const DateRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
48
+ store: PropType<PickerStore>;
49
+ options: {
50
+ type: PropType<PickerOptions>;
51
+ default: () => {};
52
+ };
53
+ modelValue: PropType<PickerValue>;
54
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
55
+ [key: string]: any;
56
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
57
+ store: PropType<PickerStore>;
58
+ options: {
59
+ type: PropType<PickerOptions>;
60
+ default: () => {};
61
+ };
62
+ modelValue: PropType<PickerValue>;
63
+ }>> & Readonly<{
64
+ onValueChange?: ((...args: any[]) => any) | undefined;
65
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
66
+ }>, {
67
+ options: PickerOptions;
68
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
69
+ export declare const TimeRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
70
+ store: PropType<PickerStore>;
71
+ options: {
72
+ type: PropType<PickerOptions>;
73
+ default: () => {};
74
+ };
75
+ modelValue: PropType<PickerValue>;
76
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
77
+ [key: string]: any;
78
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
79
+ store: PropType<PickerStore>;
80
+ options: {
81
+ type: PropType<PickerOptions>;
82
+ default: () => {};
83
+ };
84
+ modelValue: PropType<PickerValue>;
85
+ }>> & Readonly<{
86
+ onValueChange?: ((...args: any[]) => any) | undefined;
87
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
88
+ }>, {
89
+ options: PickerOptions;
90
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
91
+ export declare const DateTimeRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
92
+ store: PropType<PickerStore>;
93
+ options: {
94
+ type: PropType<PickerOptions>;
95
+ default: () => {};
96
+ };
97
+ modelValue: PropType<PickerValue>;
98
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
99
+ [key: string]: any;
100
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
101
+ store: PropType<PickerStore>;
102
+ options: {
103
+ type: PropType<PickerOptions>;
104
+ default: () => {};
105
+ };
106
+ modelValue: PropType<PickerValue>;
107
+ }>> & Readonly<{
108
+ onValueChange?: ((...args: any[]) => any) | undefined;
109
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
110
+ }>, {
111
+ options: PickerOptions;
112
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -0,0 +1,40 @@
1
+ import { type InjectionKey } from "vue";
2
+ import type { PickerStore } from "../core";
3
+ export declare const pickerContext: InjectionKey<PickerStore>;
4
+ export declare function usePickerStore(): {
5
+ getSnapshot: () => import(".").PickerSnapshot;
6
+ subscribe(fn: () => void): () => void;
7
+ subscribeValue(fn: (v: import(".").PickerValue) => void): () => void;
8
+ getMonth(offset?: number): import(".").CalendarMonth;
9
+ getDay(date: string): {
10
+ selected: boolean;
11
+ rangeStart: boolean;
12
+ rangeEnd: boolean;
13
+ inRange: boolean;
14
+ preview: boolean;
15
+ disabled: boolean;
16
+ today: boolean;
17
+ weekend: boolean;
18
+ focused: boolean;
19
+ };
20
+ setVisibleMonth(next: import(".").Month): void;
21
+ navigate(count: number): void;
22
+ focus(date: string): void;
23
+ moveFocus(key: string, shift?: boolean): boolean;
24
+ hover(date: string | null): void;
25
+ selectDate(date: string): boolean;
26
+ setDate(date: string, endpoint?: import(".").Endpoint): boolean;
27
+ setTime(time: string, endpoint?: import(".").Endpoint): boolean;
28
+ setDayOffset(offset: number, endpoint?: import(".").Endpoint): boolean;
29
+ setEndpoint(endpoint: import(".").Endpoint): void;
30
+ setValue(value: import(".").PickerValue): void;
31
+ apply(): boolean;
32
+ cancel(): void;
33
+ clear(): void;
34
+ setOpen(open: boolean): void;
35
+ setOptions(patch: Partial<import(".").PickerOptions>): void;
36
+ validate: () => string | null;
37
+ destroy(): void;
38
+ readonly cacheSize: number;
39
+ };
40
+ export declare function usePicker(): import("vue").ShallowRef<import(".").PickerSnapshot, import(".").PickerSnapshot>;
@@ -0,0 +1,208 @@
1
+ export * from "../core";
2
+ export * from "./context";
3
+ export * from "./Root";
4
+ export * from "./Calendar";
5
+ export * from "./Fields";
6
+ export * from "./Continuous";
7
+ export declare const Calendar: {
8
+ Continuous: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
9
+ options: import("vue").PropType<import(".").MonthScrollerOptions>;
10
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
11
+ [key: string]: any;
12
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ options: import("vue").PropType<import(".").MonthScrollerOptions>;
14
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
15
+ Grid: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
16
+ [key: string]: any;
17
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
18
+ Week: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
19
+ [key: string]: any;
20
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
21
+ Cell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
22
+ date: {
23
+ type: StringConstructor;
24
+ required: true;
25
+ };
26
+ outside: BooleanConstructor;
27
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
28
+ [key: string]: any;
29
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
30
+ date: {
31
+ type: StringConstructor;
32
+ required: true;
33
+ };
34
+ outside: BooleanConstructor;
35
+ }>> & Readonly<{}>, {
36
+ outside: boolean;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
38
+ Number: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
39
+ date: {
40
+ type: StringConstructor;
41
+ required: true;
42
+ };
43
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
44
+ [key: string]: any;
45
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
46
+ date: {
47
+ type: StringConstructor;
48
+ required: true;
49
+ };
50
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
51
+ DayTrigger: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
52
+ date: {
53
+ type: StringConstructor;
54
+ required: true;
55
+ };
56
+ outside: BooleanConstructor;
57
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
58
+ [key: string]: any;
59
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "select"[], "select", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
60
+ date: {
61
+ type: StringConstructor;
62
+ required: true;
63
+ };
64
+ outside: BooleanConstructor;
65
+ }>> & Readonly<{
66
+ onSelect?: ((...args: any[]) => any) | undefined;
67
+ }>, {
68
+ outside: boolean;
69
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
70
+ Heading: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
71
+ offset: {
72
+ type: NumberConstructor;
73
+ default: number;
74
+ };
75
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
76
+ [key: string]: any;
77
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
78
+ offset: {
79
+ type: NumberConstructor;
80
+ default: number;
81
+ };
82
+ }>> & Readonly<{}>, {
83
+ offset: number;
84
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
85
+ Weekday: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
86
+ day: {
87
+ type: NumberConstructor;
88
+ required: true;
89
+ };
90
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
91
+ [key: string]: any;
92
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
93
+ day: {
94
+ type: NumberConstructor;
95
+ required: true;
96
+ };
97
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
98
+ Navigation: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
99
+ direction: {
100
+ type: NumberConstructor;
101
+ default: number;
102
+ };
103
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
104
+ [key: string]: any;
105
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
106
+ direction: {
107
+ type: NumberConstructor;
108
+ default: number;
109
+ };
110
+ }>> & Readonly<{}>, {
111
+ direction: number;
112
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
113
+ MonthSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
114
+ from: {
115
+ type: NumberConstructor;
116
+ default: number;
117
+ };
118
+ to: {
119
+ type: NumberConstructor;
120
+ default: number;
121
+ };
122
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
123
+ [key: string]: any;
124
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
125
+ from: {
126
+ type: NumberConstructor;
127
+ default: number;
128
+ };
129
+ to: {
130
+ type: NumberConstructor;
131
+ default: number;
132
+ };
133
+ }>> & Readonly<{}>, {
134
+ from: number;
135
+ to: number;
136
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
137
+ YearSelect: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
138
+ from: {
139
+ type: NumberConstructor;
140
+ default: number;
141
+ };
142
+ to: {
143
+ type: NumberConstructor;
144
+ default: number;
145
+ };
146
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
147
+ [key: string]: any;
148
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
149
+ from: {
150
+ type: NumberConstructor;
151
+ default: number;
152
+ };
153
+ to: {
154
+ type: NumberConstructor;
155
+ default: number;
156
+ };
157
+ }>> & Readonly<{}>, {
158
+ from: number;
159
+ to: number;
160
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
161
+ Action: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
162
+ action: {
163
+ type: import("vue").PropType<"apply" | "cancel" | "clear">;
164
+ default: "apply";
165
+ };
166
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
167
+ [key: string]: any;
168
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
169
+ action: {
170
+ type: import("vue").PropType<"apply" | "cancel" | "clear">;
171
+ default: "apply";
172
+ };
173
+ }>> & Readonly<{}>, {
174
+ action: "cancel" | "apply" | "clear";
175
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
176
+ Output: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
177
+ [key: string]: any;
178
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
179
+ Root: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
180
+ store: import("vue").PropType<import(".").PickerStore>;
181
+ options: {
182
+ type: import("vue").PropType<import(".").PickerOptions>;
183
+ default: () => {};
184
+ };
185
+ modelValue: import("vue").PropType<import(".").PickerValue>;
186
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
187
+ [key: string]: any;
188
+ }>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "valueChange")[], "update:modelValue" | "valueChange", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
189
+ store: import("vue").PropType<import(".").PickerStore>;
190
+ options: {
191
+ type: import("vue").PropType<import(".").PickerOptions>;
192
+ default: () => {};
193
+ };
194
+ modelValue: import("vue").PropType<import(".").PickerValue>;
195
+ }>> & Readonly<{
196
+ onValueChange?: ((...args: any[]) => any) | undefined;
197
+ "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
198
+ }>, {
199
+ options: import(".").PickerOptions;
200
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
201
+ View: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
202
+ options: import("vue").PropType<import(".").CalendarRenderOptions>;
203
+ }>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
204
+ [key: string]: any;
205
+ }>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
206
+ options: import("vue").PropType<import(".").CalendarRenderOptions>;
207
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
208
+ };
@@ -0,0 +1 @@
1
+ export*from"../core/index.js";import{inject as z,onScopeDispose as Q,shallowRef as U}from"vue";var h=Symbol("Salyra calendar");function l(){let e=z(h);if(!e)throw new Error("Picker components require Root");return e}function u(){let e=l(),t=U(e.getSnapshot());return Q(e.subscribe(()=>t.value=e.getSnapshot())),t}import{defineComponent as X,provide as Z,onMounted as $,onScopeDispose as ee,watch as k}from"vue";import{createPickerStore as te}from"../core/index.js";function b(e){return X({name:"PickerRoot",props:{store:Object,options:{type:Object,default:()=>({})},modelValue:Object},emits:["update:modelValue","valueChange"],setup(t,{slots:o,emit:n,expose:i}){let r=t.store??te({...t.options,...e?{kind:e}:{},value:t.modelValue===void 0?t.options.value:t.modelValue});t.store&&(r.setOptions({...t.options,...e?{kind:e}:{}}),t.modelValue!==void 0&&r.setValue(t.modelValue)),Z(h,r),i({store:r}),k(()=>t.modelValue,s=>{s!==void 0&&r.setValue(s)}),k(()=>t.options,s=>r.setOptions(s),{deep:!0});let a;return $(()=>a=r.subscribeValue(s=>{n("update:modelValue",s),n("valueChange",s)})),ee(()=>a?.()),()=>o.default?.()}})}var M=b(),Ce=b("date"),we=b("time"),Ae=b("datetime");import{defineComponent as p,h as c,shallowRef as T,onMounted as C,onScopeDispose as w,watch as A}from"vue";import{bindCalendar as oe,calendarMarkup as ne,bindDayTrigger as re,dayAttributes as ie,dayTriggerAttributes as ae,formatMonth as de,weekdayLabels as le}from"../core/index.js";var O=p({name:"CalendarView",inheritAttrs:!1,props:{options:Object},setup(e,{attrs:t}){let o=l(),n=T(),i=ne(o,e.options),r,a=()=>{r?.(),r=oe(n.value,o,e.options)};return C(a),A(()=>e.options,()=>{n.value&&a()},{deep:!0}),w(()=>r?.()),()=>c("div",{...t,ref:n,"data-part":"calendar",innerHTML:i})}});function V(e,t){return p({name:e,inheritAttrs:!1,setup(o,{attrs:n,slots:i}){return()=>c("div",{...n,role:t,"data-part":e.toLowerCase()},i.default?.())}})}var E=V("Grid","grid"),R=V("Week","row"),D=p({inheritAttrs:!1,props:{date:{type:String,required:!0},outside:Boolean},setup(e,{attrs:t,slots:o}){let n=l(),i=u();return()=>(i.value,c("div",{...t,...ie(n,e.date,e.outside),role:"gridcell","data-part":"cell"},o.default?.()))}}),N=p({inheritAttrs:!1,props:{date:{type:String,required:!0}},setup(e,{attrs:t,slots:o}){return()=>c("span",{...t,"data-part":"number"},o.default?.()??String(Number(e.date.slice(-2))))}}),L=p({inheritAttrs:!1,props:{date:{type:String,required:!0},outside:Boolean},emits:["select"],setup(e,{attrs:t,slots:o,emit:n}){let i=l(),r=u(),a=T(),s,m=()=>{s?.(),s=re(a.value,i,e.date,{outside:e.outside,disabled:!!t.disabled,onSelect:J=>n("select",J)})};return C(m),A(()=>[e.date,e.outside,t.disabled],()=>{a.value&&m()}),w(()=>s?.()),()=>c("button",{...t,...ae(i,e.date,e.outside),type:"button",disabled:!!t.disabled||i.getDay(e.date).disabled,tabindex:r.value.focusedDate===e.date&&!e.outside?0:-1,"data-day-trigger":"",ref:a},o.default?.())}}),H=p({inheritAttrs:!1,props:{offset:{type:Number,default:0}},setup(e,{attrs:t,slots:o}){let n=l(),i=u();return()=>c("h3",{...t,"aria-live":"polite"},o.default?.()??de(n.getMonth(e.offset),i.value.options.locale))}}),j=p({inheritAttrs:!1,props:{day:{type:Number,required:!0}},setup(e,{attrs:t,slots:o}){let n=u();return()=>{let i=n.value;return c("span",{...t,role:"columnheader","data-part":"weekday","data-weekday":e.day,"data-weekend":i.options.weekend.includes(e.day)?"":void 0},o.default?.()??le(i.options.locale,i.options.weekStartsOn).find(r=>r.weekday===e.day)?.label)}}}),Y=p({inheritAttrs:!1,props:{direction:{type:Number,default:1}},setup(e,{attrs:t,slots:o}){let n=l(),i=u();return()=>c("button",{...t,type:"button",disabled:!!t.disabled||!!i.value.options.disabled,onClick:r=>{if(t.onClick?.(r),!r.defaultPrevented)try{n.navigate(e.direction)}catch(a){if(!(a instanceof RangeError))throw a}}},o.default?.()??(e.direction<0?"Previous month":"Next month"))}});import{defineComponent as f,h as d,shallowRef as S,onMounted as g,onScopeDispose as P,watch as x}from"vue";import{bindDateField as se,bindTimeSegment as q,pointFor as W,timeSegmentValue as ue}from"../core/index.js";var y={type:String,default:"start"},je=f({inheritAttrs:!1,props:{endpoint:y},setup(e,{attrs:t}){let o=l(),n=S(),i,r=()=>{i?.(),i=se(n.value,o,e.endpoint)};return g(r),x(()=>[e.endpoint,t.disabled,t.readonly],()=>{n.value&&r()}),P(()=>i?.()),()=>d("input",{...t,ref:n,type:"text",placeholder:t.placeholder??"YYYY-MM-DD",value:W(o.getSnapshot().draft,e.endpoint)?.date??""})}}),v=f({inheritAttrs:!1,props:{endpoint:y,part:{type:String,default:"hour"}},setup(e,{attrs:t}){let o=l(),n=S(),i,r=()=>{i?.(),i=q(n.value,o,e.part,e.endpoint)};return g(r),x(()=>[e.part,e.endpoint,t.disabled,t.readonly],()=>{n.value&&r()}),P(()=>i?.()),()=>d("input",{...t,ref:n,type:"number",value:ue(W(o.getSnapshot().draft,e.endpoint)?.time,e.part,o.getSnapshot().options.hourCycle)})}}),pe=f({inheritAttrs:!1,props:{endpoint:y},setup(e,{attrs:t,slots:o}){let n=l(),i=S(),r,a=()=>{r?.(),r=q(i.value,n,"period",e.endpoint)};return g(a),x(()=>[e.endpoint,t.disabled,t.readonly],()=>{i.value&&a()}),P(()=>r?.()),()=>d("select",{...t,ref:i},o.default?.()??[d("option","AM"),d("option","PM")])}}),Ye=f({inheritAttrs:!1,props:{endpoint:y,labels:{type:Object,default:()=>({})}},setup(e,{attrs:t}){let o=u();return()=>d("div",{class:"sp-time",...t},[d("label",{},[e.labels.hour??"Hours",d(v,{part:"hour",endpoint:e.endpoint})]),d("label",{},[e.labels.minute??"Minutes",d(v,{part:"minute",endpoint:e.endpoint})]),...o.value.options.seconds?[d("label",{},[e.labels.second??"Seconds",d(v,{part:"second",endpoint:e.endpoint})])]:[],...o.value.options.hourCycle===12?[d("label",{},[e.labels.period??"Period",d(pe,{endpoint:e.endpoint})])]:[]])}});function I(e){return f({inheritAttrs:!1,props:{from:{type:Number,default:1900},to:{type:Number,default:2100}},setup(t,{attrs:o,slots:n}){let i=l(),r=u();return()=>d("select",{...o,disabled:!!o.disabled||!!r.value.options.disabled,value:r.value.visibleMonth[e],onChange:a=>{o.onChange?.(a),a.defaultPrevented||i.setVisibleMonth({...r.value.visibleMonth,[e]:Number(a.target.value)})}},n.default?.()??Array.from({length:e==="month"?12:t.to-t.from+1},(a,s)=>{let m=e==="month"?s+1:t.from+s;return d("option",{value:m},String(m))}))}})}var K=I("month"),B=I("year"),F=f({inheritAttrs:!1,props:{action:{type:String,default:"apply"}},setup(e,{attrs:t,slots:o}){let n=l(),i=u();return()=>d("button",{...t,type:"button",disabled:!!t.disabled||!!i.value.options.disabled||!!i.value.options.readOnly,onClick:r=>{t.onClick?.(r),r.defaultPrevented||n[e.action]()}},o.default?.()??e.action)}}),G=f({inheritAttrs:!1,setup(e,{attrs:t,slots:o}){let n=u();return()=>d("output",t,o.default?.({value:n.value.value,draft:n.value.draft})??JSON.stringify(n.value.value))}});import{defineComponent as ce,h as fe,shallowRef as me,onMounted as be,onScopeDispose as ye,watch as he}from"vue";import{bindMonthScroller as ve,monthScrollerMarkup as Se}from"../core/index.js";var _=ce({inheritAttrs:!1,props:{options:Object},setup(e,{attrs:t}){let o=l(),n=me(),i=Se(o,e.options),r,a=()=>{r?.(),r=ve(n.value,o,e.options)};return be(a),he(()=>e.options,()=>{n.value&&a()}),ye(()=>r?.()),()=>fe("div",{...t,ref:n,innerHTML:i})}});var ge={Continuous:_,Grid:E,Week:R,Cell:D,Number:N,DayTrigger:L,Heading:H,Weekday:j,Navigation:Y,MonthSelect:K,YearSelect:B,Action:F,Output:G},ze={Root:M,View:O,...ge};export{F as Action,ze as Calendar,O as CalendarView,D as Cell,_ as Continuous,Ce as DateRoot,Ae as DateTimeRoot,L as DayTrigger,je as Field,E as Grid,H as Heading,K as MonthSelect,Y as Navigation,N as NumberLabel,G as Output,pe as Period,M as Root,v as Segment,Ye as Time,we as TimeRoot,R as Week,j as Weekday,B as YearSelect,b as createRoot,h as pickerContext,u as usePicker,l as usePickerStore};
package/package.json ADDED
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "@salyra-ui/calendar",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "description": "Composable Gregorian calendars and shared selection primitives",
6
+ "license": "MIT",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/core/index.d.ts",
13
+ "import": "./dist/core/index.js"
14
+ },
15
+ "./react": {
16
+ "types": "./dist/react/index.d.ts",
17
+ "import": "./dist/react/index.js"
18
+ },
19
+ "./vue": {
20
+ "types": "./dist/vue/index.d.ts",
21
+ "import": "./dist/vue/index.js"
22
+ },
23
+ "./angular": {
24
+ "types": "./dist/angular/index.d.ts",
25
+ "import": "./dist/angular/index.js"
26
+ },
27
+ "./vanilla": {
28
+ "types": "./dist/vanilla/index.d.ts",
29
+ "import": "./dist/vanilla/index.js"
30
+ },
31
+ "./svelte": "./dist/svelte/index.ts",
32
+ "./astro": "./dist/vanilla/index.js",
33
+ "./astro/*": "./dist/astro/*",
34
+ "./styles.css": "./dist/styles.min.css",
35
+ "./styles.min.css": "./dist/styles.min.css",
36
+ "./styles.standard.css": "./dist/styles.css",
37
+ "./browser/*": "./dist/browser/*"
38
+ },
39
+ "sideEffects": [
40
+ "**/*.css",
41
+ "**/astro/client.*"
42
+ ],
43
+ "peerDependencies": {
44
+ "react": ">=18",
45
+ "svelte": ">=5",
46
+ "vue": ">=3.5",
47
+ "@angular/core": ">=20",
48
+ "@angular/common": ">=20",
49
+ "astro": ">=7"
50
+ },
51
+ "peerDependenciesMeta": {
52
+ "react": {
53
+ "optional": true
54
+ },
55
+ "svelte": {
56
+ "optional": true
57
+ },
58
+ "vue": {
59
+ "optional": true
60
+ },
61
+ "@angular/core": {
62
+ "optional": true
63
+ },
64
+ "@angular/common": {
65
+ "optional": true
66
+ },
67
+ "astro": {
68
+ "optional": true
69
+ }
70
+ },
71
+ "homepage": "https://salyra-ui.github.io/docs/calendar.html",
72
+ "repository": {
73
+ "type": "git",
74
+ "url": "git+https://github.com/salyra-ui/calendar.git",
75
+ "directory": "packages/calendar"
76
+ },
77
+ "bugs": {
78
+ "url": "https://github.com/salyra-ui/calendar/issues"
79
+ },
80
+ "keywords": [
81
+ "salyra-ui",
82
+ "calendar",
83
+ "calendar",
84
+ "date-picker",
85
+ "time-picker",
86
+ "range",
87
+ "react",
88
+ "svelte",
89
+ "vue",
90
+ "angular",
91
+ "astro",
92
+ "vanilla",
93
+ "headless",
94
+ "tailwind"
95
+ ],
96
+ "files": [
97
+ "dist",
98
+ "README.md",
99
+ "LICENSE"
100
+ ]
101
+ }