@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,129 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type DateRangeFieldPolicies } from '@sectile/dom/date-range-field';
3
+ import type { DateRange } from '@sectile/dom/date-field';
4
+ import { type PrimitiveAs } from './primitive.js';
5
+ export interface DateRangeFieldRootProps {
6
+ readonly modelValue?: DateRange | null;
7
+ readonly defaultValue?: DateRange | null;
8
+ readonly policies?: DateRangeFieldPolicies;
9
+ readonly disabled?: boolean;
10
+ readonly?: boolean;
11
+ readonly required?: boolean;
12
+ readonly startLabel?: string;
13
+ readonly endLabel?: string;
14
+ readonly as?: PrimitiveAs;
15
+ readonly asChild?: boolean;
16
+ }
17
+ export interface DateRangeFieldRootSlotProps {
18
+ readonly value: DateRange | null;
19
+ readonly startText: string;
20
+ readonly endText: string;
21
+ readonly active: 'start' | 'end';
22
+ readonly disabled: boolean;
23
+ readonly: boolean;
24
+ }
25
+ export declare const DateRangeFieldRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
26
+ modelValue: {
27
+ type: PropType<DateRange | null>;
28
+ default: undefined;
29
+ };
30
+ defaultValue: {
31
+ type: PropType<DateRange | null>;
32
+ default: null;
33
+ };
34
+ policies: {
35
+ type: PropType<DateRangeFieldPolicies>;
36
+ default: undefined;
37
+ };
38
+ disabled: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ readonly: {
43
+ type: BooleanConstructor;
44
+ default: boolean;
45
+ };
46
+ required: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ startLabel: {
51
+ type: StringConstructor;
52
+ default: undefined;
53
+ };
54
+ endLabel: {
55
+ type: StringConstructor;
56
+ default: undefined;
57
+ };
58
+ as: {
59
+ type: PropType<PrimitiveAs>;
60
+ default: string;
61
+ };
62
+ asChild: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
67
+ 'update:modelValue': (_value: DateRange | null) => boolean;
68
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
69
+ modelValue: {
70
+ type: PropType<DateRange | null>;
71
+ default: undefined;
72
+ };
73
+ defaultValue: {
74
+ type: PropType<DateRange | null>;
75
+ default: null;
76
+ };
77
+ policies: {
78
+ type: PropType<DateRangeFieldPolicies>;
79
+ default: undefined;
80
+ };
81
+ disabled: {
82
+ type: BooleanConstructor;
83
+ default: boolean;
84
+ };
85
+ readonly: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
89
+ required: {
90
+ type: BooleanConstructor;
91
+ default: boolean;
92
+ };
93
+ startLabel: {
94
+ type: StringConstructor;
95
+ default: undefined;
96
+ };
97
+ endLabel: {
98
+ type: StringConstructor;
99
+ default: undefined;
100
+ };
101
+ as: {
102
+ type: PropType<PrimitiveAs>;
103
+ default: string;
104
+ };
105
+ asChild: {
106
+ type: BooleanConstructor;
107
+ default: boolean;
108
+ };
109
+ }>> & Readonly<{
110
+ "onUpdate:modelValue"?: (_value: DateRange | null) => any;
111
+ }>, {
112
+ modelValue: DateRange | null;
113
+ defaultValue: DateRange | null;
114
+ policies: DateRangeFieldPolicies;
115
+ disabled: boolean;
116
+ readonly: boolean;
117
+ required: boolean;
118
+ startLabel: string;
119
+ endLabel: string;
120
+ as: PrimitiveAs;
121
+ asChild: boolean;
122
+ }, SlotsType<{
123
+ default: (props: DateRangeFieldRootSlotProps) => VNodeChild;
124
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
125
+ export type DateRangeFieldValueChangeHandler = (value: DateRange | null) => void;
126
+ export declare const DateRangeFieldStartInput: import("vue").DefineComponent<{}, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
127
+ export declare const DateRangeFieldEndInput: import("vue").DefineComponent<{}, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
128
+ export type { DateRange };
129
+ //# sourceMappingURL=date-range-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-field.d.ts","sourceRoot":"","sources":["../src/date-range-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAcL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,UAAU,EAChB,MAAM,KAAK,CAAC;AACb,OAAO,EAAqF,KAAK,sBAAsB,EAA4B,MAAM,+BAA+B,CAAC;AACzL,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAKzD,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAUD,eAAO,MAAM,kBAAkB;;QAIb,IAAI,EAAY,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAAE,OAAO;;;QACjD,IAAI,EAAY,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;QAAE,OAAO;;;QACvD,IAAI,EAAY,QAAQ,CAAC,sBAAsB,CAAC;QAAE,OAAO;;;QACzD,IAAI;QAAW,OAAO;;;QACtB,IAAI;QAAW,OAAO;;;QACtB,IAAI;QAAW,OAAO;;;QACpB,IAAI;QAAU,OAAO;;;QACvB,IAAI;QAAU,OAAO;;;QAC3B,IAAI,EAAgC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO;;;QAC7D,IAAI;QAAW,OAAO;;UA0EtB,UAAU;kCAxEgB,SAAS,GAAG,IAAI,KAAG,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAC3B,CAAC,KAAK,EAAE,2BAA2B,KAAK,UAAU;yEAkFxF,CAAC;AAEH,MAAM,MAAM,gCAAgC,GAAG,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;AAEjF,eAAO,MAAM,wBAAwB,0CASpB,UAAU,yOAT4E,CAAC;AACxG,eAAO,MAAM,sBAAsB,0CAQlB,UAAU,yOARsE,CAAC;AAgClG,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,134 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, nextTick, onBeforeUnmount, onMounted, provide, ref, shallowRef, watch, } from 'vue';
2
+ import { createDateRangeField, tryCreateDateRangeFieldState } from '@sectile/dom/date-range-field';
3
+ import { hiddenInputSubmissionCapabilities, useCompositeFormControl, } from './internal/form-control.js';
4
+ import { Primitive } from './primitive.js';
5
+ const contextKey = Symbol('SectileDateRangeField');
6
+ export const DateRangeFieldRoot = defineComponent({
7
+ name: 'SectileDateRangeFieldRoot',
8
+ inheritAttrs: false,
9
+ props: {
10
+ modelValue: { type: Object, default: undefined },
11
+ defaultValue: { type: Object, default: null },
12
+ policies: { type: Object, default: undefined },
13
+ disabled: { type: Boolean, default: false },
14
+ readonly: { type: Boolean, default: false },
15
+ required: { type: Boolean, default: false },
16
+ startLabel: { type: String, default: undefined },
17
+ endLabel: { type: String, default: undefined },
18
+ as: { type: [String, Object, Function], default: 'div' },
19
+ asChild: { type: Boolean, default: false },
20
+ },
21
+ emits: { 'update:modelValue': (_value) => true },
22
+ slots: Object,
23
+ setup(props, { attrs, emit, slots }) {
24
+ const controlled = props.modelValue !== undefined;
25
+ const initial = tryCreateDateRangeFieldState({ value: controlled ? props.modelValue : props.defaultValue });
26
+ if (!initial.ok)
27
+ throw new TypeError(initial.error.message);
28
+ const snapshot = shallowRef(initial.value);
29
+ const startInput = ref(null);
30
+ const endInput = ref(null);
31
+ const root = ref(null);
32
+ const participation = useCompositeFormControl({
33
+ root,
34
+ focusTarget: startInput,
35
+ submissions: () => [
36
+ {
37
+ element: startInput,
38
+ relativeName: 'start',
39
+ capabilities: hiddenInputSubmissionCapabilities,
40
+ },
41
+ {
42
+ element: endInput,
43
+ relativeName: 'end',
44
+ capabilities: hiddenInputSubmissionCapabilities,
45
+ },
46
+ ],
47
+ });
48
+ let connection = null;
49
+ const refresh = () => { if (connection !== null)
50
+ snapshot.value = connection.getSnapshot().state; };
51
+ const mount = () => {
52
+ if (startInput.value === null || endInput.value === null)
53
+ return;
54
+ connection?.disconnect();
55
+ connection = createDateRangeField({
56
+ startInput: startInput.value,
57
+ endInput: endInput.value,
58
+ ...(controlled ? { value: props.modelValue } : { defaultValue: snapshot.value.value }),
59
+ ...(props.policies === undefined ? {} : { policies: props.policies }),
60
+ disabled: props.disabled,
61
+ readOnly: props.readonly,
62
+ required: props.required,
63
+ ...(props.startLabel === undefined ? {} : { startLabel: props.startLabel }),
64
+ ...(props.endLabel === undefined ? {} : { endLabel: props.endLabel }),
65
+ onValueChange: (value) => emit('update:modelValue', value),
66
+ onUpdate: refresh,
67
+ });
68
+ refresh();
69
+ };
70
+ onMounted(mount);
71
+ onBeforeUnmount(() => connection?.disconnect());
72
+ watch(() => props.modelValue, (value) => {
73
+ if (!controlled || value === undefined || connection === null)
74
+ return;
75
+ const result = connection.syncControlledValues({ value });
76
+ if (!result.ok)
77
+ throw new TypeError(result.error.message);
78
+ snapshot.value = result.value.state;
79
+ });
80
+ watch([() => props.policies, () => props.disabled, () => props.readonly, () => props.required,
81
+ () => props.startLabel, () => props.endLabel], () => { void nextTick(mount); });
82
+ const slotProps = computed(() => Object.freeze({
83
+ value: snapshot.value.value,
84
+ startText: snapshot.value.start.inputState.snapshot.text,
85
+ endText: snapshot.value.end.inputState.snapshot.text,
86
+ active: snapshot.value.active,
87
+ disabled: props.disabled,
88
+ readonly: props.readonly,
89
+ }));
90
+ provide(contextKey, { slotProps, startInput, endInput });
91
+ return () => h(Primitive, mergeProps(participation.controlProps.value, attrs, {
92
+ as: props.as,
93
+ asChild: props.asChild,
94
+ elementRef: (element) => { root.value = element; },
95
+ role: 'group',
96
+ 'data-scope': 'date-range-field',
97
+ 'data-part': 'root',
98
+ 'data-disabled': props.disabled ? '' : undefined,
99
+ 'data-readonly': props.readonly ? '' : undefined,
100
+ }), { default: () => slots['default']?.(slotProps.value) });
101
+ },
102
+ });
103
+ export const DateRangeFieldStartInput = createEndpointInput('start', 'SectileDateRangeFieldStartInput');
104
+ export const DateRangeFieldEndInput = createEndpointInput('end', 'SectileDateRangeFieldEndInput');
105
+ function createEndpointInput(endpoint, name) {
106
+ return defineComponent({
107
+ name,
108
+ inheritAttrs: false,
109
+ setup(_props, { attrs }) {
110
+ const context = useContext(name);
111
+ return () => h('input', mergeProps(attrs, {
112
+ ref: (element) => { context[endpoint === 'start' ? 'startInput' : 'endInput'].value = element; },
113
+ type: 'text',
114
+ inputmode: 'numeric',
115
+ placeholder: 'YYYY-MM-DD',
116
+ value: endpoint === 'start' ? context.slotProps.value.startText : context.slotProps.value.endText,
117
+ disabled: context.slotProps.value.disabled,
118
+ readonly: context.slotProps.value.readonly,
119
+ 'aria-disabled': String(context.slotProps.value.disabled),
120
+ 'aria-readonly': String(context.slotProps.value.readonly),
121
+ 'data-scope': 'date-range-field',
122
+ 'data-part': `${endpoint}-input`,
123
+ 'data-active': context.slotProps.value.active === endpoint ? '' : undefined,
124
+ }));
125
+ },
126
+ });
127
+ }
128
+ function useContext(part) {
129
+ const context = inject(contextKey);
130
+ if (context === undefined)
131
+ throw new TypeError(`${part} must be used inside DateRangeFieldRoot.`);
132
+ return context;
133
+ }
134
+ //# sourceMappingURL=date-range-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-field.js","sourceRoot":"","sources":["../src/date-range-field.ts"],"names":[],"mappings":"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"}