@sectile/vue 0.2.1

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 (287) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/dist/accordion.d.ts +250 -0
  4. package/dist/accordion.d.ts.map +1 -0
  5. package/dist/accordion.js +242 -0
  6. package/dist/accordion.js.map +1 -0
  7. package/dist/alert-dialog.d.ts +16 -0
  8. package/dist/alert-dialog.d.ts.map +1 -0
  9. package/dist/alert-dialog.js +18 -0
  10. package/dist/alert-dialog.js.map +1 -0
  11. package/dist/calendar.d.ts +232 -0
  12. package/dist/calendar.d.ts.map +1 -0
  13. package/dist/calendar.js +109 -0
  14. package/dist/calendar.js.map +1 -0
  15. package/dist/carousel.d.ts +365 -0
  16. package/dist/carousel.d.ts.map +1 -0
  17. package/dist/carousel.js +140 -0
  18. package/dist/carousel.js.map +1 -0
  19. package/dist/cascade-select.d.ts +442 -0
  20. package/dist/cascade-select.d.ts.map +1 -0
  21. package/dist/cascade-select.js +111 -0
  22. package/dist/cascade-select.js.map +1 -0
  23. package/dist/checkbox-group.d.ts +206 -0
  24. package/dist/checkbox-group.d.ts.map +1 -0
  25. package/dist/checkbox-group.js +98 -0
  26. package/dist/checkbox-group.js.map +1 -0
  27. package/dist/checkbox.d.ts +152 -0
  28. package/dist/checkbox.d.ts.map +1 -0
  29. package/dist/checkbox.js +164 -0
  30. package/dist/checkbox.js.map +1 -0
  31. package/dist/color-picker.d.ts +602 -0
  32. package/dist/color-picker.d.ts.map +1 -0
  33. package/dist/color-picker.js +129 -0
  34. package/dist/color-picker.js.map +1 -0
  35. package/dist/combobox.d.ts +320 -0
  36. package/dist/combobox.d.ts.map +1 -0
  37. package/dist/combobox.js +176 -0
  38. package/dist/combobox.js.map +1 -0
  39. package/dist/date-field.d.ts +15 -0
  40. package/dist/date-field.d.ts.map +1 -0
  41. package/dist/date-field.js +19 -0
  42. package/dist/date-field.js.map +1 -0
  43. package/dist/date-picker.d.ts +554 -0
  44. package/dist/date-picker.d.ts.map +1 -0
  45. package/dist/date-picker.js +18 -0
  46. package/dist/date-picker.js.map +1 -0
  47. package/dist/date-range-field.d.ts +129 -0
  48. package/dist/date-range-field.d.ts.map +1 -0
  49. package/dist/date-range-field.js +134 -0
  50. package/dist/date-range-field.js.map +1 -0
  51. package/dist/date-range-picker.d.ts +594 -0
  52. package/dist/date-range-picker.d.ts.map +1 -0
  53. package/dist/date-range-picker.js +19 -0
  54. package/dist/date-range-picker.js.map +1 -0
  55. package/dist/date-time-field.d.ts +15 -0
  56. package/dist/date-time-field.d.ts.map +1 -0
  57. package/dist/date-time-field.js +19 -0
  58. package/dist/date-time-field.js.map +1 -0
  59. package/dist/date-time-picker.d.ts +635 -0
  60. package/dist/date-time-picker.d.ts.map +1 -0
  61. package/dist/date-time-picker.js +20 -0
  62. package/dist/date-time-picker.js.map +1 -0
  63. package/dist/date-time-range-picker.d.ts +755 -0
  64. package/dist/date-time-range-picker.d.ts.map +1 -0
  65. package/dist/date-time-range-picker.js +23 -0
  66. package/dist/date-time-range-picker.js.map +1 -0
  67. package/dist/dialog.d.ts +16 -0
  68. package/dist/dialog.d.ts.map +1 -0
  69. package/dist/dialog.js +15 -0
  70. package/dist/dialog.js.map +1 -0
  71. package/dist/disclosure.d.ts +147 -0
  72. package/dist/disclosure.d.ts.map +1 -0
  73. package/dist/disclosure.js +129 -0
  74. package/dist/disclosure.js.map +1 -0
  75. package/dist/editable.d.ts +300 -0
  76. package/dist/editable.d.ts.map +1 -0
  77. package/dist/editable.js +181 -0
  78. package/dist/editable.js.map +1 -0
  79. package/dist/feed.d.ts +216 -0
  80. package/dist/feed.d.ts.map +1 -0
  81. package/dist/feed.js +85 -0
  82. package/dist/feed.js.map +1 -0
  83. package/dist/form.d.ts +356 -0
  84. package/dist/form.d.ts.map +1 -0
  85. package/dist/form.js +752 -0
  86. package/dist/form.js.map +1 -0
  87. package/dist/grid.d.ts +254 -0
  88. package/dist/grid.d.ts.map +1 -0
  89. package/dist/grid.js +95 -0
  90. package/dist/grid.js.map +1 -0
  91. package/dist/host-provider.d.ts +46 -0
  92. package/dist/host-provider.d.ts.map +1 -0
  93. package/dist/host-provider.js +39 -0
  94. package/dist/host-provider.js.map +1 -0
  95. package/dist/index.d.ts +124 -0
  96. package/dist/index.d.ts.map +1 -0
  97. package/dist/index.js +61 -0
  98. package/dist/index.js.map +1 -0
  99. package/dist/internal/date-picker.d.ts +539 -0
  100. package/dist/internal/date-picker.d.ts.map +1 -0
  101. package/dist/internal/date-picker.js +522 -0
  102. package/dist/internal/date-picker.js.map +1 -0
  103. package/dist/internal/form-control-inventory.d.ts +154 -0
  104. package/dist/internal/form-control-inventory.d.ts.map +1 -0
  105. package/dist/internal/form-control-inventory.js +43 -0
  106. package/dist/internal/form-control-inventory.js.map +1 -0
  107. package/dist/internal/form-control.d.ts +41 -0
  108. package/dist/internal/form-control.d.ts.map +1 -0
  109. package/dist/internal/form-control.js +52 -0
  110. package/dist/internal/form-control.js.map +1 -0
  111. package/dist/internal/native-field.d.ts +49 -0
  112. package/dist/internal/native-field.d.ts.map +1 -0
  113. package/dist/internal/native-field.js +81 -0
  114. package/dist/internal/native-field.js.map +1 -0
  115. package/dist/internal/native-input.d.ts +9 -0
  116. package/dist/internal/native-input.d.ts.map +1 -0
  117. package/dist/internal/native-input.js +9 -0
  118. package/dist/internal/native-input.js.map +1 -0
  119. package/dist/internal/part-contract.d.ts +9 -0
  120. package/dist/internal/part-contract.d.ts.map +1 -0
  121. package/dist/internal/part-contract.js +12 -0
  122. package/dist/internal/part-contract.js.map +1 -0
  123. package/dist/internal/popup.d.ts +99 -0
  124. package/dist/internal/popup.d.ts.map +1 -0
  125. package/dist/internal/popup.js +238 -0
  126. package/dist/internal/popup.js.map +1 -0
  127. package/dist/internal/tabs-context.d.ts +25 -0
  128. package/dist/internal/tabs-context.d.ts.map +1 -0
  129. package/dist/internal/tabs-context.js +9 -0
  130. package/dist/internal/tabs-context.js.map +1 -0
  131. package/dist/listbox.d.ts +275 -0
  132. package/dist/listbox.d.ts.map +1 -0
  133. package/dist/listbox.js +258 -0
  134. package/dist/listbox.js.map +1 -0
  135. package/dist/menu-button.d.ts +2 -0
  136. package/dist/menu-button.d.ts.map +1 -0
  137. package/dist/menu-button.js +2 -0
  138. package/dist/menu-button.js.map +1 -0
  139. package/dist/menu.d.ts +638 -0
  140. package/dist/menu.d.ts.map +1 -0
  141. package/dist/menu.js +167 -0
  142. package/dist/menu.js.map +1 -0
  143. package/dist/menubar.d.ts +2 -0
  144. package/dist/menubar.d.ts.map +1 -0
  145. package/dist/menubar.js +2 -0
  146. package/dist/menubar.js.map +1 -0
  147. package/dist/month-picker.d.ts +353 -0
  148. package/dist/month-picker.d.ts.map +1 -0
  149. package/dist/month-picker.js +10 -0
  150. package/dist/month-picker.js.map +1 -0
  151. package/dist/month-range-picker.d.ts +393 -0
  152. package/dist/month-range-picker.d.ts.map +1 -0
  153. package/dist/month-range-picker.js +11 -0
  154. package/dist/month-range-picker.js.map +1 -0
  155. package/dist/multi-thumb-slider.d.ts +299 -0
  156. package/dist/multi-thumb-slider.d.ts.map +1 -0
  157. package/dist/multi-thumb-slider.js +204 -0
  158. package/dist/multi-thumb-slider.js.map +1 -0
  159. package/dist/navigation-menu.d.ts +114 -0
  160. package/dist/navigation-menu.d.ts.map +1 -0
  161. package/dist/navigation-menu.js +36 -0
  162. package/dist/navigation-menu.js.map +1 -0
  163. package/dist/number-field.d.ts +12 -0
  164. package/dist/number-field.d.ts.map +1 -0
  165. package/dist/number-field.js +21 -0
  166. package/dist/number-field.js.map +1 -0
  167. package/dist/pagination.d.ts +294 -0
  168. package/dist/pagination.d.ts.map +1 -0
  169. package/dist/pagination.js +145 -0
  170. package/dist/pagination.js.map +1 -0
  171. package/dist/pin-input.d.ts +207 -0
  172. package/dist/pin-input.d.ts.map +1 -0
  173. package/dist/pin-input.js +129 -0
  174. package/dist/pin-input.js.map +1 -0
  175. package/dist/popover.d.ts +17 -0
  176. package/dist/popover.d.ts.map +1 -0
  177. package/dist/popover.js +16 -0
  178. package/dist/popover.js.map +1 -0
  179. package/dist/primitive.d.ts +41 -0
  180. package/dist/primitive.d.ts.map +1 -0
  181. package/dist/primitive.js +27 -0
  182. package/dist/primitive.js.map +1 -0
  183. package/dist/quantity-field.d.ts +249 -0
  184. package/dist/quantity-field.d.ts.map +1 -0
  185. package/dist/quantity-field.js +131 -0
  186. package/dist/quantity-field.js.map +1 -0
  187. package/dist/radio-group.d.ts +225 -0
  188. package/dist/radio-group.d.ts.map +1 -0
  189. package/dist/radio-group.js +198 -0
  190. package/dist/radio-group.js.map +1 -0
  191. package/dist/range-calendar.d.ts +336 -0
  192. package/dist/range-calendar.d.ts.map +1 -0
  193. package/dist/range-calendar.js +15 -0
  194. package/dist/range-calendar.js.map +1 -0
  195. package/dist/rating.d.ts +228 -0
  196. package/dist/rating.d.ts.map +1 -0
  197. package/dist/rating.js +118 -0
  198. package/dist/rating.js.map +1 -0
  199. package/dist/reorder.d.ts +209 -0
  200. package/dist/reorder.d.ts.map +1 -0
  201. package/dist/reorder.js +186 -0
  202. package/dist/reorder.js.map +1 -0
  203. package/dist/select.d.ts +352 -0
  204. package/dist/select.d.ts.map +1 -0
  205. package/dist/select.js +191 -0
  206. package/dist/select.js.map +1 -0
  207. package/dist/slider.d.ts +269 -0
  208. package/dist/slider.d.ts.map +1 -0
  209. package/dist/slider.js +197 -0
  210. package/dist/slider.js.map +1 -0
  211. package/dist/spin-button.d.ts +272 -0
  212. package/dist/spin-button.d.ts.map +1 -0
  213. package/dist/spin-button.js +190 -0
  214. package/dist/spin-button.js.map +1 -0
  215. package/dist/stepper.d.ts +310 -0
  216. package/dist/stepper.d.ts.map +1 -0
  217. package/dist/stepper.js +87 -0
  218. package/dist/stepper.js.map +1 -0
  219. package/dist/switch.d.ts +149 -0
  220. package/dist/switch.d.ts.map +1 -0
  221. package/dist/switch.js +140 -0
  222. package/dist/switch.js.map +1 -0
  223. package/dist/tabs.d.ts +290 -0
  224. package/dist/tabs.d.ts.map +1 -0
  225. package/dist/tabs.js +258 -0
  226. package/dist/tabs.js.map +1 -0
  227. package/dist/tags-input.d.ts +297 -0
  228. package/dist/tags-input.d.ts.map +1 -0
  229. package/dist/tags-input.js +196 -0
  230. package/dist/tags-input.js.map +1 -0
  231. package/dist/text.d.ts +138 -0
  232. package/dist/text.d.ts.map +1 -0
  233. package/dist/text.js +125 -0
  234. package/dist/text.js.map +1 -0
  235. package/dist/time-field.d.ts +15 -0
  236. package/dist/time-field.d.ts.map +1 -0
  237. package/dist/time-field.js +19 -0
  238. package/dist/time-field.js.map +1 -0
  239. package/dist/time-range-field.d.ts +128 -0
  240. package/dist/time-range-field.d.ts.map +1 -0
  241. package/dist/time-range-field.js +44 -0
  242. package/dist/time-range-field.js.map +1 -0
  243. package/dist/timer.d.ts +232 -0
  244. package/dist/timer.d.ts.map +1 -0
  245. package/dist/timer.js +51 -0
  246. package/dist/timer.js.map +1 -0
  247. package/dist/toast.d.ts +189 -0
  248. package/dist/toast.d.ts.map +1 -0
  249. package/dist/toast.js +78 -0
  250. package/dist/toast.js.map +1 -0
  251. package/dist/toggle-button.d.ts +81 -0
  252. package/dist/toggle-button.d.ts.map +1 -0
  253. package/dist/toggle-button.js +75 -0
  254. package/dist/toggle-button.js.map +1 -0
  255. package/dist/toggle-group.d.ts +228 -0
  256. package/dist/toggle-group.d.ts.map +1 -0
  257. package/dist/toggle-group.js +143 -0
  258. package/dist/toggle-group.js.map +1 -0
  259. package/dist/toolbar.d.ts +202 -0
  260. package/dist/toolbar.d.ts.map +1 -0
  261. package/dist/toolbar.js +82 -0
  262. package/dist/toolbar.js.map +1 -0
  263. package/dist/tooltip.d.ts +13 -0
  264. package/dist/tooltip.d.ts.map +1 -0
  265. package/dist/tooltip.js +15 -0
  266. package/dist/tooltip.js.map +1 -0
  267. package/dist/tree-grid.d.ts +359 -0
  268. package/dist/tree-grid.d.ts.map +1 -0
  269. package/dist/tree-grid.js +125 -0
  270. package/dist/tree-grid.js.map +1 -0
  271. package/dist/tree-view.d.ts +304 -0
  272. package/dist/tree-view.d.ts.map +1 -0
  273. package/dist/tree-view.js +131 -0
  274. package/dist/tree-view.js.map +1 -0
  275. package/dist/window-splitter.d.ts +204 -0
  276. package/dist/window-splitter.d.ts.map +1 -0
  277. package/dist/window-splitter.js +82 -0
  278. package/dist/window-splitter.js.map +1 -0
  279. package/dist/year-picker.d.ts +353 -0
  280. package/dist/year-picker.d.ts.map +1 -0
  281. package/dist/year-picker.js +10 -0
  282. package/dist/year-picker.js.map +1 -0
  283. package/dist/year-range-picker.d.ts +393 -0
  284. package/dist/year-range-picker.d.ts.map +1 -0
  285. package/dist/year-range-picker.js +11 -0
  286. package/dist/year-range-picker.js.map +1 -0
  287. package/package.json +356 -0
@@ -0,0 +1,232 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type CalendarPolicies } from '@sectile/dom/calendar';
3
+ import { type PrimitiveAs } from './primitive.js';
4
+ export interface CalendarRootProps {
5
+ readonly rows: readonly (readonly string[])[];
6
+ readonly modelValue?: string | null;
7
+ readonly defaultValue?: string | null;
8
+ readonly highlightedValue?: string | null;
9
+ readonly defaultHighlightedValue?: string | null;
10
+ readonly disabledValues?: readonly string[];
11
+ readonly disabled?: boolean;
12
+ readonly required?: boolean;
13
+ readonly name?: string;
14
+ readonly form?: string;
15
+ readonly label?: string;
16
+ readonly policies?: CalendarPolicies<string>;
17
+ readonly as?: PrimitiveAs;
18
+ readonly asChild?: boolean;
19
+ }
20
+ export interface CalendarRootSlotProps {
21
+ readonly value: string | null;
22
+ readonly highlightedValue: string | null;
23
+ readonly rows: readonly (readonly string[])[];
24
+ readonly disabled: boolean;
25
+ }
26
+ export interface CalendarCellProps {
27
+ readonly value: string;
28
+ readonly disabled?: boolean;
29
+ readonly as?: PrimitiveAs;
30
+ readonly asChild?: boolean;
31
+ }
32
+ export interface CalendarCellSlotProps {
33
+ readonly value: string;
34
+ readonly selected: boolean;
35
+ readonly highlighted: boolean;
36
+ readonly disabled: boolean;
37
+ readonly rowIndex: number;
38
+ readonly columnIndex: number;
39
+ }
40
+ export declare const CalendarRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
41
+ rows: {
42
+ type: PropType<readonly (readonly string[])[]>;
43
+ required: true;
44
+ };
45
+ modelValue: {
46
+ type: PropType<string | null>;
47
+ default: undefined;
48
+ };
49
+ defaultValue: {
50
+ type: PropType<string | null>;
51
+ default: null;
52
+ };
53
+ highlightedValue: {
54
+ type: PropType<string | null>;
55
+ default: undefined;
56
+ };
57
+ defaultHighlightedValue: {
58
+ type: PropType<string | null>;
59
+ default: null;
60
+ };
61
+ disabledValues: {
62
+ type: PropType<readonly string[]>;
63
+ default: () => never[];
64
+ };
65
+ disabled: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ required: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ name: {
74
+ type: StringConstructor;
75
+ default: undefined;
76
+ };
77
+ form: {
78
+ type: StringConstructor;
79
+ default: undefined;
80
+ };
81
+ label: {
82
+ type: StringConstructor;
83
+ default: undefined;
84
+ };
85
+ policies: {
86
+ type: PropType<CalendarPolicies<string>>;
87
+ default: undefined;
88
+ };
89
+ as: {
90
+ type: PropType<PrimitiveAs>;
91
+ default: string;
92
+ };
93
+ asChild: {
94
+ type: BooleanConstructor;
95
+ default: boolean;
96
+ };
97
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
98
+ 'update:modelValue': (_value: string | null) => boolean;
99
+ 'update:highlightedValue': (_value: string | null) => boolean;
100
+ page: (_details: {
101
+ direction: -1 | 1;
102
+ from: string | null;
103
+ }) => boolean;
104
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
105
+ rows: {
106
+ type: PropType<readonly (readonly string[])[]>;
107
+ required: true;
108
+ };
109
+ modelValue: {
110
+ type: PropType<string | null>;
111
+ default: undefined;
112
+ };
113
+ defaultValue: {
114
+ type: PropType<string | null>;
115
+ default: null;
116
+ };
117
+ highlightedValue: {
118
+ type: PropType<string | null>;
119
+ default: undefined;
120
+ };
121
+ defaultHighlightedValue: {
122
+ type: PropType<string | null>;
123
+ default: null;
124
+ };
125
+ disabledValues: {
126
+ type: PropType<readonly string[]>;
127
+ default: () => never[];
128
+ };
129
+ disabled: {
130
+ type: BooleanConstructor;
131
+ default: boolean;
132
+ };
133
+ required: {
134
+ type: BooleanConstructor;
135
+ default: boolean;
136
+ };
137
+ name: {
138
+ type: StringConstructor;
139
+ default: undefined;
140
+ };
141
+ form: {
142
+ type: StringConstructor;
143
+ default: undefined;
144
+ };
145
+ label: {
146
+ type: StringConstructor;
147
+ default: undefined;
148
+ };
149
+ policies: {
150
+ type: PropType<CalendarPolicies<string>>;
151
+ default: undefined;
152
+ };
153
+ as: {
154
+ type: PropType<PrimitiveAs>;
155
+ default: string;
156
+ };
157
+ asChild: {
158
+ type: BooleanConstructor;
159
+ default: boolean;
160
+ };
161
+ }>> & Readonly<{
162
+ onPage?: (_details: {
163
+ direction: -1 | 1;
164
+ from: string | null;
165
+ }) => any;
166
+ "onUpdate:highlightedValue"?: (_value: string | null) => any;
167
+ "onUpdate:modelValue"?: (_value: string | null) => any;
168
+ }>, {
169
+ modelValue: string | null;
170
+ defaultValue: string | null;
171
+ highlightedValue: string | null;
172
+ defaultHighlightedValue: string | null;
173
+ disabledValues: readonly string[];
174
+ disabled: boolean;
175
+ required: boolean;
176
+ name: string;
177
+ form: string;
178
+ label: string;
179
+ policies: CalendarPolicies<string>;
180
+ as: PrimitiveAs;
181
+ asChild: boolean;
182
+ }, SlotsType<{
183
+ default: (props: CalendarRootSlotProps) => VNodeChild;
184
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
185
+ export type CalendarValueChangeHandler = (value: string | null) => void;
186
+ export type CalendarHighlightedValueChangeHandler = (value: string | null) => void;
187
+ export type CalendarPageHandler = (details: {
188
+ direction: -1 | 1;
189
+ from: string | null;
190
+ }) => void;
191
+ export declare const CalendarCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
192
+ value: {
193
+ type: StringConstructor;
194
+ required: true;
195
+ };
196
+ disabled: {
197
+ type: BooleanConstructor;
198
+ default: boolean;
199
+ };
200
+ as: {
201
+ type: PropType<PrimitiveAs>;
202
+ default: string;
203
+ };
204
+ asChild: {
205
+ type: BooleanConstructor;
206
+ default: boolean;
207
+ };
208
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
209
+ value: {
210
+ type: StringConstructor;
211
+ required: true;
212
+ };
213
+ disabled: {
214
+ type: BooleanConstructor;
215
+ default: boolean;
216
+ };
217
+ as: {
218
+ type: PropType<PrimitiveAs>;
219
+ default: string;
220
+ };
221
+ asChild: {
222
+ type: BooleanConstructor;
223
+ default: boolean;
224
+ };
225
+ }>> & Readonly<{}>, {
226
+ disabled: boolean;
227
+ as: PrimitiveAs;
228
+ asChild: boolean;
229
+ }, SlotsType<{
230
+ default: (props: CalendarCellSlotProps) => VNodeChild;
231
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
232
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, nextTick, shallowRef, watch, } from 'vue';
2
+ import { createCalendar } from '@sectile/dom/calendar';
3
+ import { hiddenInputSubmissionCapabilities, useCompositeFormControl, } from './internal/form-control.js';
4
+ import { Primitive } from './primitive.js';
5
+ const key = Symbol('SectileCalendarRoot');
6
+ export const CalendarRoot = defineComponent({
7
+ name: 'SectileCalendarRoot', inheritAttrs: false,
8
+ props: {
9
+ rows: { type: Array, required: true },
10
+ modelValue: { type: String, default: undefined }, defaultValue: { type: String, default: null },
11
+ highlightedValue: { type: String, default: undefined }, defaultHighlightedValue: { type: String, default: null },
12
+ disabledValues: { type: Array, default: () => [] }, disabled: { type: Boolean, default: false },
13
+ required: { type: Boolean, default: false }, name: { type: String, default: undefined }, form: { type: String, default: undefined },
14
+ label: { type: String, default: undefined }, policies: { type: Object, default: undefined },
15
+ as: { type: [String, Object, Function], default: 'div' }, asChild: { type: Boolean, default: false },
16
+ },
17
+ emits: { 'update:modelValue': (_value) => true, 'update:highlightedValue': (_value) => true, page: (_details) => true },
18
+ slots: Object,
19
+ setup(props, { attrs, emit, slots }) {
20
+ const root = shallowRef();
21
+ const connection = shallowRef();
22
+ const submission = shallowRef();
23
+ const value = shallowRef(props.modelValue !== undefined ? props.modelValue : props.defaultValue);
24
+ const highlighted = shallowRef(props.highlightedValue !== undefined ? props.highlightedValue : props.defaultHighlightedValue);
25
+ const controlled = { value: props.modelValue !== undefined, highlighted: props.highlightedValue !== undefined };
26
+ const state = computed(() => ({
27
+ value: props.modelValue !== undefined ? props.modelValue : value.value,
28
+ highlightedValue: props.highlightedValue !== undefined ? props.highlightedValue : highlighted.value,
29
+ rows: props.rows, disabled: props.disabled,
30
+ }));
31
+ const participation = useCompositeFormControl({
32
+ root: () => root.value ?? null,
33
+ focusTarget: () => root.value?.querySelector('[data-highlighted]') ?? root.value ?? null,
34
+ submissions: [{
35
+ element: () => submission.value ?? null,
36
+ capabilities: hiddenInputSubmissionCapabilities,
37
+ }],
38
+ });
39
+ const refresh = () => { const snapshot = connection.value?.getSnapshot().state; if (snapshot === undefined)
40
+ return; value.value = snapshot.selection.selected[0] ?? null; highlighted.value = snapshot.cursor.current; refreshCells(); };
41
+ const refreshCells = () => { if (root.value === undefined || connection.value === undefined)
42
+ return; root.value.querySelectorAll('[data-sectile-calendar-id]').forEach((element) => { const id = element.dataset['sectileCalendarId']; if (id === undefined)
43
+ return; const rowIndex = Number(element.dataset['rowIndex']); const columnIndex = Number(element.dataset['columnIndex']); connection.value?.setCellAttributes(element, { id, rowIndex, columnIndex, disabled: props.disabledValues.includes(id) }); }); };
44
+ const connect = () => {
45
+ connection.value?.disconnect();
46
+ if (root.value === undefined)
47
+ return;
48
+ connection.value = createCalendar({
49
+ root: root.value, rows: props.rows, disabled: props.disabled,
50
+ ...(props.policies === undefined ? {} : { policies: { ...props.policies, eligible: (id) => !props.disabledValues.includes(id) && (props.policies?.eligible?.(id) ?? true) } }),
51
+ ...(controlled.value ? { value: props.modelValue } : { defaultValue: value.value }),
52
+ ...(controlled.highlighted ? { highlightedValue: props.highlightedValue } : { defaultHighlightedValue: highlighted.value }),
53
+ onValueChange: ({ value: next }) => { value.value = next; emit('update:modelValue', next); },
54
+ onHighlightedValueChange: ({ value: next }) => { highlighted.value = next; emit('update:highlightedValue', next); },
55
+ onPageRequest: (details) => emit('page', details), onUpdate: refresh,
56
+ });
57
+ connection.value.setCalendarAttributes(props.label);
58
+ refreshCells();
59
+ refresh();
60
+ };
61
+ provide(key, { state, disabledValues: computed(() => new Set(props.disabledValues)), register: (element, id, disabled) => { const rowIndex = props.rows.findIndex((row) => row.includes(id)); const columnIndex = rowIndex < 0 ? -1 : props.rows[rowIndex]?.indexOf(id) ?? -1; connection.value?.setCellAttributes(element, { id, rowIndex: rowIndex + 1, columnIndex: columnIndex + 1, disabled }); } });
62
+ onMounted(connect);
63
+ onBeforeUnmount(() => connection.value?.disconnect());
64
+ watch([() => props.rows, () => props.disabledValues, () => props.disabled, () => props.label, () => props.policies], () => { void nextTick(connect); }, { flush: 'post' });
65
+ watch([() => props.modelValue, () => props.highlightedValue], () => { if (connection.value === undefined)
66
+ return; const result = connection.value.syncControlledValues({ ...(controlled.value ? { value: props.modelValue } : {}), ...(controlled.highlighted ? { highlightedValue: props.highlightedValue } : {}) }); if (!result.ok)
67
+ throw new TypeError(result.error.message); refresh(); });
68
+ return () => {
69
+ const visual = h(Primitive, mergeProps(participation.controlProps.value, attrs, {
70
+ as: props.as, asChild: props.asChild, elementRef: (node) => { root.value = node instanceof HTMLElement ? node : undefined; },
71
+ role: 'grid', 'aria-rowcount': props.rows.length, 'aria-colcount': Math.max(0, ...props.rows.map((row) => row.length)), 'aria-label': props.label,
72
+ 'data-scope': 'calendar', 'data-part': 'root', 'data-disabled': props.disabled ? '' : undefined,
73
+ }), { default: () => slots['default']?.(state.value) });
74
+ if (props.name === undefined && props.form === undefined && !props.required && !participation.participating)
75
+ return visual;
76
+ return [visual, h('input', {
77
+ ref: (element) => { submission.value = element instanceof HTMLInputElement ? element : undefined; },
78
+ type: 'hidden',
79
+ name: props.name,
80
+ form: props.form,
81
+ required: props.required,
82
+ disabled: props.disabled,
83
+ value: state.value.value ?? '',
84
+ })];
85
+ };
86
+ },
87
+ });
88
+ export const CalendarCell = defineComponent({
89
+ name: 'SectileCalendarCell', inheritAttrs: false,
90
+ props: { value: { type: String, required: true }, disabled: { type: Boolean, default: false }, as: { type: [String, Object, Function], default: 'button' }, asChild: { type: Boolean, default: false } },
91
+ slots: Object,
92
+ setup(props, { attrs, slots }) {
93
+ const root = useRoot();
94
+ const position = computed(() => { const rowIndex = root.state.value.rows.findIndex((row) => row.includes(props.value)); return { rowIndex, columnIndex: rowIndex < 0 ? -1 : root.state.value.rows[rowIndex]?.indexOf(props.value) ?? -1 }; });
95
+ const state = computed(() => ({ value: props.value, selected: root.state.value.value === props.value, highlighted: root.state.value.highlightedValue === props.value, disabled: root.state.value.disabled || props.disabled || root.disabledValues.value.has(props.value), rowIndex: position.value.rowIndex, columnIndex: position.value.columnIndex }));
96
+ return () => h(Primitive, mergeProps(attrs, {
97
+ as: props.as, asChild: props.asChild, type: props.as === 'button' ? 'button' : undefined,
98
+ elementRef: (node) => { if (node instanceof HTMLElement)
99
+ root.register(node, props.value, state.value.disabled); },
100
+ role: 'gridcell', 'aria-rowindex': position.value.rowIndex + 1, 'aria-colindex': position.value.columnIndex + 1,
101
+ 'aria-selected': String(state.value.selected), disabled: state.value.disabled && props.as === 'button' ? true : undefined,
102
+ 'data-sectile-calendar-id': props.value, 'data-row-index': position.value.rowIndex + 1, 'data-column-index': position.value.columnIndex + 1,
103
+ 'data-scope': 'calendar', 'data-part': 'cell', 'data-selected': state.value.selected ? '' : undefined, 'data-highlighted': state.value.highlighted ? '' : undefined,
104
+ }), { default: () => slots['default']?.(state.value) });
105
+ },
106
+ });
107
+ function useRoot() { const root = inject(key); if (root === undefined)
108
+ throw new TypeError('CalendarCell must be used inside CalendarRoot.'); return root; }
109
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}