@sectile/vue 0.7.0 → 0.8.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 (319) hide show
  1. package/README.md +4 -2
  2. package/dist/accordion.d.ts +0 -1
  3. package/dist/alert-dialog.d.ts +0 -2
  4. package/dist/alert-dialog.js.map +1 -1
  5. package/dist/calendar.d.ts +2 -3
  6. package/dist/calendar.js +14 -14
  7. package/dist/calendar.js.map +1 -1
  8. package/dist/carousel.d.ts +22 -1
  9. package/dist/carousel.js +7 -1
  10. package/dist/carousel.js.map +1 -1
  11. package/dist/cascade-list.d.ts +339 -0
  12. package/dist/cascade-list.js +240 -0
  13. package/dist/cascade-list.js.map +1 -0
  14. package/dist/cascade-select.d.ts +11 -42
  15. package/dist/cascade-select.js +19 -27
  16. package/dist/cascade-select.js.map +1 -1
  17. package/dist/checkbox-group.d.ts +9 -1
  18. package/dist/checkbox-group.js +57 -13
  19. package/dist/checkbox-group.js.map +1 -1
  20. package/dist/checkbox.d.ts +0 -1
  21. package/dist/checkbox.js +15 -8
  22. package/dist/checkbox.js.map +1 -1
  23. package/dist/color-picker.d.ts +0 -1
  24. package/dist/combobox.d.ts +0 -1
  25. package/dist/combobox.js +46 -6
  26. package/dist/combobox.js.map +1 -1
  27. package/dist/data-grid.d.ts +214 -0
  28. package/dist/data-grid.js +107 -0
  29. package/dist/data-grid.js.map +1 -0
  30. package/dist/data-table.d.ts +232 -0
  31. package/dist/data-table.js +116 -0
  32. package/dist/data-table.js.map +1 -0
  33. package/dist/data-tree-grid.d.ts +225 -0
  34. package/dist/data-tree-grid.js +98 -0
  35. package/dist/data-tree-grid.js.map +1 -0
  36. package/dist/date-field.d.ts +1 -2
  37. package/dist/date-field.js +1 -1
  38. package/dist/date-field.js.map +1 -1
  39. package/dist/date-picker.d.ts +37 -6
  40. package/dist/date-picker.js +3 -1
  41. package/dist/date-picker.js.map +1 -1
  42. package/dist/date-range-field.d.ts +2 -3
  43. package/dist/date-range-field.js +24 -6
  44. package/dist/date-range-field.js.map +1 -1
  45. package/dist/date-range-picker.d.ts +37 -6
  46. package/dist/date-range-picker.js +3 -1
  47. package/dist/date-range-picker.js.map +1 -1
  48. package/dist/date-time-field.d.ts +1 -2
  49. package/dist/date-time-field.js +1 -1
  50. package/dist/date-time-field.js.map +1 -1
  51. package/dist/date-time-picker.d.ts +38 -7
  52. package/dist/date-time-picker.js +3 -1
  53. package/dist/date-time-picker.js.map +1 -1
  54. package/dist/date-time-range-picker.d.ts +38 -7
  55. package/dist/date-time-range-picker.js +3 -1
  56. package/dist/date-time-range-picker.js.map +1 -1
  57. package/dist/dialog.d.ts +0 -2
  58. package/dist/dialog.js.map +1 -1
  59. package/dist/disclosure.d.ts +0 -1
  60. package/dist/drawer.d.ts +1 -2
  61. package/dist/editable.d.ts +0 -1
  62. package/dist/editable.js +25 -6
  63. package/dist/editable.js.map +1 -1
  64. package/dist/feed.d.ts +0 -1
  65. package/dist/form.d.ts +88 -115
  66. package/dist/form.js +461 -233
  67. package/dist/form.js.map +1 -1
  68. package/dist/grid.d.ts +0 -1
  69. package/dist/grid.js +51 -6
  70. package/dist/grid.js.map +1 -1
  71. package/dist/host-provider.d.ts +0 -13
  72. package/dist/host-provider.js +0 -16
  73. package/dist/host-provider.js.map +1 -1
  74. package/dist/index.d.ts +14 -39
  75. package/dist/index.js +6 -19
  76. package/dist/index.js.map +1 -1
  77. package/dist/internal/cascade-choice.d.ts +204 -0
  78. package/dist/internal/cascade-choice.js +161 -0
  79. package/dist/internal/cascade-choice.js.map +1 -0
  80. package/dist/internal/collection.d.ts +3 -8
  81. package/dist/internal/collection.js +14 -20
  82. package/dist/internal/collection.js.map +1 -1
  83. package/dist/internal/controlled-state.d.ts +0 -1
  84. package/dist/internal/date-picker.d.ts +78 -9
  85. package/dist/internal/date-picker.js +116 -27
  86. package/dist/internal/date-picker.js.map +1 -1
  87. package/dist/internal/decimal-input.d.ts +1 -0
  88. package/dist/internal/decimal-input.js +24 -0
  89. package/dist/internal/decimal-input.js.map +1 -0
  90. package/dist/internal/form-control-inventory.d.ts +4 -1
  91. package/dist/internal/form-control-inventory.js +1 -0
  92. package/dist/internal/form-control-inventory.js.map +1 -1
  93. package/dist/internal/form-control.d.ts +100 -2
  94. package/dist/internal/form-control.js +103 -1
  95. package/dist/internal/form-control.js.map +1 -1
  96. package/dist/internal/native-field.d.ts +0 -1
  97. package/dist/internal/native-field.js +11 -2
  98. package/dist/internal/native-field.js.map +1 -1
  99. package/dist/internal/native-input.d.ts +0 -1
  100. package/dist/internal/part-contract.d.ts +0 -1
  101. package/dist/internal/popup.d.ts +5 -27
  102. package/dist/internal/popup.js +14 -20
  103. package/dist/internal/popup.js.map +1 -1
  104. package/dist/internal/presence.d.ts +0 -1
  105. package/dist/internal/scheduled-task.d.ts +5 -0
  106. package/dist/internal/scheduled-task.js +28 -0
  107. package/dist/internal/scheduled-task.js.map +1 -0
  108. package/dist/internal/tabs-context.d.ts +2 -3
  109. package/dist/internal/tabular-components.d.ts +27 -0
  110. package/dist/internal/tabular-components.js +26 -0
  111. package/dist/internal/tabular-components.js.map +1 -0
  112. package/dist/internal/tabular-parts.d.ts +57 -0
  113. package/dist/internal/tabular-parts.js +239 -0
  114. package/dist/internal/tabular-parts.js.map +1 -0
  115. package/dist/internal/tabular-profile.d.ts +75 -0
  116. package/dist/internal/tabular-profile.js +209 -0
  117. package/dist/internal/tabular-profile.js.map +1 -0
  118. package/dist/internal/virtual-collection-model.d.ts +42 -0
  119. package/dist/internal/virtual-collection-model.js +241 -0
  120. package/dist/internal/virtual-collection-model.js.map +1 -0
  121. package/dist/internal/virtual-collection.d.ts +38 -0
  122. package/dist/internal/virtual-collection.js +87 -0
  123. package/dist/internal/virtual-collection.js.map +1 -0
  124. package/dist/{virtual.d.ts → internal/virtual-core.d.ts} +9 -4
  125. package/dist/{virtual.js → internal/virtual-core.js} +7 -7
  126. package/dist/internal/virtual-core.js.map +1 -0
  127. package/dist/internal/virtual-list.d.ts +214 -0
  128. package/dist/internal/virtual-list.js +401 -0
  129. package/dist/internal/virtual-list.js.map +1 -0
  130. package/dist/listbox.d.ts +0 -1
  131. package/dist/listbox.js +52 -6
  132. package/dist/listbox.js.map +1 -1
  133. package/dist/menu-button.d.ts +0 -1
  134. package/dist/menu.d.ts +0 -1
  135. package/dist/menubar.d.ts +0 -1
  136. package/dist/meter-group.d.ts +369 -0
  137. package/dist/meter-group.js +271 -0
  138. package/dist/meter-group.js.map +1 -0
  139. package/dist/meter.d.ts +191 -0
  140. package/dist/meter.js +133 -0
  141. package/dist/meter.js.map +1 -0
  142. package/dist/month-picker.d.ts +37 -6
  143. package/dist/month-picker.js +3 -1
  144. package/dist/month-picker.js.map +1 -1
  145. package/dist/month-range-picker.d.ts +37 -6
  146. package/dist/month-range-picker.js +3 -1
  147. package/dist/month-range-picker.js.map +1 -1
  148. package/dist/multi-thumb-slider.d.ts +0 -1
  149. package/dist/navigation-menu.d.ts +0 -1
  150. package/dist/number-field.d.ts +0 -1
  151. package/dist/pagination.d.ts +23 -2
  152. package/dist/pagination.js +6 -1
  153. package/dist/pagination.js.map +1 -1
  154. package/dist/pin-input.d.ts +0 -1
  155. package/dist/pin-input.js +1 -1
  156. package/dist/pin-input.js.map +1 -1
  157. package/dist/popover.d.ts +0 -2
  158. package/dist/popover.js.map +1 -1
  159. package/dist/primitive.d.ts +0 -1
  160. package/dist/primitive.js +8 -4
  161. package/dist/primitive.js.map +1 -1
  162. package/dist/progress.d.ts +148 -0
  163. package/dist/progress.js +110 -0
  164. package/dist/progress.js.map +1 -0
  165. package/dist/quantity-field.d.ts +0 -1
  166. package/dist/radio-group.d.ts +0 -1
  167. package/dist/radio-group.js +1 -1
  168. package/dist/radio-group.js.map +1 -1
  169. package/dist/range-calendar.d.ts +2 -3
  170. package/dist/rating.d.ts +0 -1
  171. package/dist/rating.js +10 -1
  172. package/dist/rating.js.map +1 -1
  173. package/dist/reorder.d.ts +1 -2
  174. package/dist/select.d.ts +18 -44
  175. package/dist/select.js +11 -13
  176. package/dist/select.js.map +1 -1
  177. package/dist/slider.d.ts +0 -1
  178. package/dist/spin-button.d.ts +0 -1
  179. package/dist/spin-button.js +17 -4
  180. package/dist/spin-button.js.map +1 -1
  181. package/dist/stepper.d.ts +0 -1
  182. package/dist/stepper.js +19 -2
  183. package/dist/stepper.js.map +1 -1
  184. package/dist/switch.d.ts +0 -1
  185. package/dist/tabs.d.ts +0 -1
  186. package/dist/tabs.js +4 -22
  187. package/dist/tabs.js.map +1 -1
  188. package/dist/tags-input.d.ts +0 -1
  189. package/dist/tags-input.js +18 -5
  190. package/dist/tags-input.js.map +1 -1
  191. package/dist/temporal-provider.d.ts +21 -0
  192. package/dist/temporal-provider.js +30 -0
  193. package/dist/temporal-provider.js.map +1 -0
  194. package/dist/text.d.ts +0 -1
  195. package/dist/text.js +18 -4
  196. package/dist/text.js.map +1 -1
  197. package/dist/time-field.d.ts +1 -2
  198. package/dist/time-field.js +1 -1
  199. package/dist/time-field.js.map +1 -1
  200. package/dist/time-range-field.d.ts +2 -2
  201. package/dist/time-range-field.js +6 -4
  202. package/dist/time-range-field.js.map +1 -1
  203. package/dist/timer.d.ts +0 -1
  204. package/dist/toast.d.ts +11 -2
  205. package/dist/toast.js +22 -9
  206. package/dist/toast.js.map +1 -1
  207. package/dist/toggle-button.d.ts +0 -1
  208. package/dist/toggle-group.d.ts +0 -1
  209. package/dist/toggle-group.js +1 -1
  210. package/dist/toggle-group.js.map +1 -1
  211. package/dist/toolbar.d.ts +0 -1
  212. package/dist/tooltip.d.ts +1 -3
  213. package/dist/tooltip.js.map +1 -1
  214. package/dist/tree-grid.d.ts +0 -1
  215. package/dist/tree-grid.js +62 -8
  216. package/dist/tree-grid.js.map +1 -1
  217. package/dist/tree-view.d.ts +0 -1
  218. package/dist/tree-view.js +51 -10
  219. package/dist/tree-view.js.map +1 -1
  220. package/dist/virtual-core.d.ts +1 -0
  221. package/dist/virtual-core.js +2 -0
  222. package/dist/virtual-core.js.map +1 -0
  223. package/dist/virtual-grid.d.ts +188 -0
  224. package/dist/virtual-grid.js +306 -0
  225. package/dist/virtual-grid.js.map +1 -0
  226. package/dist/virtual-list.d.ts +1 -0
  227. package/dist/virtual-list.js +2 -0
  228. package/dist/virtual-list.js.map +1 -0
  229. package/dist/virtual-masonry.d.ts +198 -0
  230. package/dist/virtual-masonry.js +221 -0
  231. package/dist/virtual-masonry.js.map +1 -0
  232. package/dist/virtual-spatial.d.ts +157 -0
  233. package/dist/virtual-spatial.js +159 -0
  234. package/dist/virtual-spatial.js.map +1 -0
  235. package/dist/window-splitter.d.ts +0 -1
  236. package/dist/year-picker.d.ts +37 -6
  237. package/dist/year-picker.js +3 -1
  238. package/dist/year-picker.js.map +1 -1
  239. package/dist/year-range-picker.d.ts +37 -6
  240. package/dist/year-range-picker.js +3 -1
  241. package/dist/year-range-picker.js.map +1 -1
  242. package/package.json +173 -89
  243. package/dist/accordion.d.ts.map +0 -1
  244. package/dist/alert-dialog.d.ts.map +0 -1
  245. package/dist/calendar.d.ts.map +0 -1
  246. package/dist/carousel.d.ts.map +0 -1
  247. package/dist/cascade-select.d.ts.map +0 -1
  248. package/dist/checkbox-group.d.ts.map +0 -1
  249. package/dist/checkbox.d.ts.map +0 -1
  250. package/dist/color-picker.d.ts.map +0 -1
  251. package/dist/combobox.d.ts.map +0 -1
  252. package/dist/date-field.d.ts.map +0 -1
  253. package/dist/date-picker.d.ts.map +0 -1
  254. package/dist/date-range-field.d.ts.map +0 -1
  255. package/dist/date-range-picker.d.ts.map +0 -1
  256. package/dist/date-time-field.d.ts.map +0 -1
  257. package/dist/date-time-picker.d.ts.map +0 -1
  258. package/dist/date-time-range-picker.d.ts.map +0 -1
  259. package/dist/dialog.d.ts.map +0 -1
  260. package/dist/disclosure.d.ts.map +0 -1
  261. package/dist/drawer.d.ts.map +0 -1
  262. package/dist/editable.d.ts.map +0 -1
  263. package/dist/feed.d.ts.map +0 -1
  264. package/dist/form.d.ts.map +0 -1
  265. package/dist/grid.d.ts.map +0 -1
  266. package/dist/host-provider.d.ts.map +0 -1
  267. package/dist/index.d.ts.map +0 -1
  268. package/dist/internal/collection.d.ts.map +0 -1
  269. package/dist/internal/controlled-state.d.ts.map +0 -1
  270. package/dist/internal/date-picker.d.ts.map +0 -1
  271. package/dist/internal/form-control-inventory.d.ts.map +0 -1
  272. package/dist/internal/form-control.d.ts.map +0 -1
  273. package/dist/internal/native-field.d.ts.map +0 -1
  274. package/dist/internal/native-input.d.ts.map +0 -1
  275. package/dist/internal/part-contract.d.ts.map +0 -1
  276. package/dist/internal/popup.d.ts.map +0 -1
  277. package/dist/internal/presence.d.ts.map +0 -1
  278. package/dist/internal/tabs-context.d.ts.map +0 -1
  279. package/dist/listbox.d.ts.map +0 -1
  280. package/dist/menu-button.d.ts.map +0 -1
  281. package/dist/menu.d.ts.map +0 -1
  282. package/dist/menubar.d.ts.map +0 -1
  283. package/dist/month-picker.d.ts.map +0 -1
  284. package/dist/month-range-picker.d.ts.map +0 -1
  285. package/dist/multi-thumb-slider.d.ts.map +0 -1
  286. package/dist/navigation-menu.d.ts.map +0 -1
  287. package/dist/number-field.d.ts.map +0 -1
  288. package/dist/pagination.d.ts.map +0 -1
  289. package/dist/pin-input.d.ts.map +0 -1
  290. package/dist/popover.d.ts.map +0 -1
  291. package/dist/primitive.d.ts.map +0 -1
  292. package/dist/quantity-field.d.ts.map +0 -1
  293. package/dist/radio-group.d.ts.map +0 -1
  294. package/dist/range-calendar.d.ts.map +0 -1
  295. package/dist/rating.d.ts.map +0 -1
  296. package/dist/reorder.d.ts.map +0 -1
  297. package/dist/select.d.ts.map +0 -1
  298. package/dist/slider.d.ts.map +0 -1
  299. package/dist/spin-button.d.ts.map +0 -1
  300. package/dist/stepper.d.ts.map +0 -1
  301. package/dist/switch.d.ts.map +0 -1
  302. package/dist/tabs.d.ts.map +0 -1
  303. package/dist/tags-input.d.ts.map +0 -1
  304. package/dist/text.d.ts.map +0 -1
  305. package/dist/time-field.d.ts.map +0 -1
  306. package/dist/time-range-field.d.ts.map +0 -1
  307. package/dist/timer.d.ts.map +0 -1
  308. package/dist/toast.d.ts.map +0 -1
  309. package/dist/toggle-button.d.ts.map +0 -1
  310. package/dist/toggle-group.d.ts.map +0 -1
  311. package/dist/toolbar.d.ts.map +0 -1
  312. package/dist/tooltip.d.ts.map +0 -1
  313. package/dist/tree-grid.d.ts.map +0 -1
  314. package/dist/tree-view.d.ts.map +0 -1
  315. package/dist/virtual.d.ts.map +0 -1
  316. package/dist/virtual.js.map +0 -1
  317. package/dist/window-splitter.d.ts.map +0 -1
  318. package/dist/year-picker.d.ts.map +0 -1
  319. package/dist/year-range-picker.d.ts.map +0 -1
@@ -0,0 +1,191 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type PrimitiveAs } from './primitive.js';
3
+ export type MeterValueFormatter = (value: string) => string;
4
+ export interface MeterRootProps {
5
+ readonly value: number | string;
6
+ readonly min?: number | string;
7
+ readonly max?: number | string;
8
+ readonly low?: number | string;
9
+ readonly high?: number | string;
10
+ readonly optimum?: number | string;
11
+ readonly label?: string;
12
+ readonly formatValue?: MeterValueFormatter;
13
+ readonly as?: PrimitiveAs;
14
+ readonly asChild?: boolean;
15
+ }
16
+ export interface MeterRootSlotProps {
17
+ readonly value: string;
18
+ readonly min: string;
19
+ readonly max: string;
20
+ readonly low: string;
21
+ readonly high: string;
22
+ readonly optimum: string;
23
+ readonly valueText: string;
24
+ readonly percentage: number;
25
+ readonly zone: 'optimum' | 'suboptimal' | 'even-less-good';
26
+ }
27
+ export interface MeterPartProps {
28
+ readonly as?: PrimitiveAs;
29
+ readonly asChild?: boolean;
30
+ }
31
+ export declare const MeterRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
32
+ value: {
33
+ type: (NumberConstructor | StringConstructor)[];
34
+ required: true;
35
+ };
36
+ min: {
37
+ type: (NumberConstructor | StringConstructor)[];
38
+ default: number;
39
+ };
40
+ max: {
41
+ type: (NumberConstructor | StringConstructor)[];
42
+ default: number;
43
+ };
44
+ low: {
45
+ type: (NumberConstructor | StringConstructor)[];
46
+ default: undefined;
47
+ };
48
+ high: {
49
+ type: (NumberConstructor | StringConstructor)[];
50
+ default: undefined;
51
+ };
52
+ optimum: {
53
+ type: (NumberConstructor | StringConstructor)[];
54
+ default: undefined;
55
+ };
56
+ label: {
57
+ type: StringConstructor;
58
+ default: undefined;
59
+ };
60
+ formatValue: {
61
+ type: PropType<MeterValueFormatter>;
62
+ default: undefined;
63
+ };
64
+ as: {
65
+ type: PropType<PrimitiveAs>;
66
+ default: string;
67
+ };
68
+ asChild: {
69
+ type: BooleanConstructor;
70
+ default: boolean;
71
+ };
72
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
73
+ value: {
74
+ type: (NumberConstructor | StringConstructor)[];
75
+ required: true;
76
+ };
77
+ min: {
78
+ type: (NumberConstructor | StringConstructor)[];
79
+ default: number;
80
+ };
81
+ max: {
82
+ type: (NumberConstructor | StringConstructor)[];
83
+ default: number;
84
+ };
85
+ low: {
86
+ type: (NumberConstructor | StringConstructor)[];
87
+ default: undefined;
88
+ };
89
+ high: {
90
+ type: (NumberConstructor | StringConstructor)[];
91
+ default: undefined;
92
+ };
93
+ optimum: {
94
+ type: (NumberConstructor | StringConstructor)[];
95
+ default: undefined;
96
+ };
97
+ label: {
98
+ type: StringConstructor;
99
+ default: undefined;
100
+ };
101
+ formatValue: {
102
+ type: PropType<MeterValueFormatter>;
103
+ default: undefined;
104
+ };
105
+ as: {
106
+ type: PropType<PrimitiveAs>;
107
+ default: string;
108
+ };
109
+ asChild: {
110
+ type: BooleanConstructor;
111
+ default: boolean;
112
+ };
113
+ }>> & Readonly<{}>, {
114
+ min: string | number;
115
+ max: string | number;
116
+ low: string | number;
117
+ high: string | number;
118
+ optimum: string | number;
119
+ label: string;
120
+ formatValue: MeterValueFormatter;
121
+ as: PrimitiveAs;
122
+ asChild: boolean;
123
+ }, SlotsType<{
124
+ default: (props: MeterRootSlotProps) => VNodeChild;
125
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
126
+ export declare const MeterTrack: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
127
+ as: {
128
+ type: PropType<PrimitiveAs>;
129
+ default: string;
130
+ };
131
+ asChild: {
132
+ type: BooleanConstructor;
133
+ default: boolean;
134
+ };
135
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
136
+ as: {
137
+ type: PropType<PrimitiveAs>;
138
+ default: string;
139
+ };
140
+ asChild: {
141
+ type: BooleanConstructor;
142
+ default: boolean;
143
+ };
144
+ }>> & Readonly<{}>, {
145
+ as: PrimitiveAs;
146
+ asChild: boolean;
147
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
148
+ export declare const MeterIndicator: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
149
+ as: {
150
+ type: PropType<PrimitiveAs>;
151
+ default: string;
152
+ };
153
+ asChild: {
154
+ type: BooleanConstructor;
155
+ default: boolean;
156
+ };
157
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
158
+ as: {
159
+ type: PropType<PrimitiveAs>;
160
+ default: string;
161
+ };
162
+ asChild: {
163
+ type: BooleanConstructor;
164
+ default: boolean;
165
+ };
166
+ }>> & Readonly<{}>, {
167
+ as: PrimitiveAs;
168
+ asChild: boolean;
169
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
170
+ export declare const MeterValueText: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
171
+ as: {
172
+ type: PropType<PrimitiveAs>;
173
+ default: string;
174
+ };
175
+ asChild: {
176
+ type: BooleanConstructor;
177
+ default: boolean;
178
+ };
179
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
180
+ as: {
181
+ type: PropType<PrimitiveAs>;
182
+ default: string;
183
+ };
184
+ asChild: {
185
+ type: BooleanConstructor;
186
+ default: boolean;
187
+ };
188
+ }>> & Readonly<{}>, {
189
+ as: PrimitiveAs;
190
+ asChild: boolean;
191
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
package/dist/meter.js ADDED
@@ -0,0 +1,133 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, provide, } from 'vue';
2
+ import { createMeterState } from '@sectile/core/meter';
3
+ import { getMeterIndicatorAttributes, getMeterRootAttributes, } from '@sectile/dom/meter';
4
+ import { Primitive } from './primitive.js';
5
+ import { normalizeDecimalInput } from './internal/decimal-input.js';
6
+ const meterKey = Symbol('SectileMeterRoot');
7
+ const partProps = {
8
+ as: { type: [String, Object, Function], default: 'div' },
9
+ asChild: { type: Boolean, default: false },
10
+ };
11
+ export const MeterRoot = defineComponent({
12
+ name: 'SectileMeterRoot',
13
+ inheritAttrs: false,
14
+ props: {
15
+ value: { type: [Number, String], required: true },
16
+ min: { type: [Number, String], default: 0 },
17
+ max: { type: [Number, String], default: 100 },
18
+ low: { type: [Number, String], default: undefined },
19
+ high: { type: [Number, String], default: undefined },
20
+ optimum: { type: [Number, String], default: undefined },
21
+ label: { type: String, default: undefined },
22
+ formatValue: { type: Function, default: undefined },
23
+ as: { type: [String, Object, Function], default: 'div' },
24
+ asChild: { type: Boolean, default: false },
25
+ },
26
+ slots: Object,
27
+ setup(props, { attrs, slots }) {
28
+ const state = computed(() => {
29
+ const meter = createMeterState({
30
+ value: normalizeDecimalInput(props.value),
31
+ min: normalizeDecimalInput(props.min),
32
+ max: normalizeDecimalInput(props.max),
33
+ ...(props.low === undefined ? {} : { low: normalizeDecimalInput(props.low) }),
34
+ ...(props.high === undefined ? {} : { high: normalizeDecimalInput(props.high) }),
35
+ ...(props.optimum === undefined ? {} : { optimum: normalizeDecimalInput(props.optimum) }),
36
+ });
37
+ const projected = getMeterRootAttributes(meter);
38
+ const valueText = props.formatValue?.(meter.value) ?? meter.value;
39
+ return Object.freeze({
40
+ value: meter.value,
41
+ min: meter.min,
42
+ max: meter.max,
43
+ low: meter.low,
44
+ high: meter.high,
45
+ optimum: meter.optimum,
46
+ valueText,
47
+ percentage: Number(projected['data-percentage']),
48
+ zone: meter.zone,
49
+ });
50
+ });
51
+ provide(meterKey, { state });
52
+ return () => {
53
+ const current = state.value;
54
+ const projected = getMeterRootAttributes(createMeterState({
55
+ value: current.value,
56
+ min: current.min,
57
+ max: current.max,
58
+ low: current.low,
59
+ high: current.high,
60
+ optimum: current.optimum,
61
+ }), {
62
+ ...(props.label === undefined ? {} : { label: props.label }),
63
+ ...(typeof attrs['aria-labelledby'] === 'string' ? { labelledBy: attrs['aria-labelledby'] } : {}),
64
+ ...(typeof attrs['aria-describedby'] === 'string' ? { describedBy: attrs['aria-describedby'] } : {}),
65
+ ...(props.formatValue === undefined ? {} : { formatValue: props.formatValue }),
66
+ });
67
+ return h(Primitive, mergeProps(attrs, projected, {
68
+ as: props.as,
69
+ asChild: props.asChild,
70
+ }), { default: () => slots['default']?.(current) });
71
+ };
72
+ },
73
+ });
74
+ export const MeterTrack = meterPart('SectileMeterTrack', 'track');
75
+ export const MeterIndicator = defineComponent({
76
+ name: 'SectileMeterIndicator',
77
+ inheritAttrs: false,
78
+ props: partProps,
79
+ setup(props, { attrs, slots }) {
80
+ const root = useMeter('MeterIndicator');
81
+ return () => {
82
+ const current = root.state.value;
83
+ const meter = createMeterState({
84
+ value: current.value, min: current.min, max: current.max,
85
+ low: current.low, high: current.high, optimum: current.optimum,
86
+ });
87
+ return h(Primitive, mergeProps(attrs, getMeterIndicatorAttributes(meter), {
88
+ as: props.as,
89
+ asChild: props.asChild,
90
+ }), slots);
91
+ };
92
+ },
93
+ });
94
+ export const MeterValueText = defineComponent({
95
+ name: 'SectileMeterValueText',
96
+ inheritAttrs: false,
97
+ props: {
98
+ as: { type: [String, Object, Function], default: 'span' },
99
+ asChild: { type: Boolean, default: false },
100
+ },
101
+ setup(props, { attrs, slots }) {
102
+ const root = useMeter('MeterValueText');
103
+ return () => h(Primitive, mergeProps(attrs, {
104
+ as: props.as,
105
+ asChild: props.asChild,
106
+ 'data-scope': 'meter',
107
+ 'data-part': 'value-text',
108
+ }), { default: () => slots['default']?.(root.state.value) ?? root.state.value.valueText });
109
+ },
110
+ });
111
+ function meterPart(name, part) {
112
+ return defineComponent({
113
+ name,
114
+ inheritAttrs: false,
115
+ props: partProps,
116
+ setup(props, { attrs, slots }) {
117
+ useMeter(name);
118
+ return () => h(Primitive, mergeProps(attrs, {
119
+ as: props.as,
120
+ asChild: props.asChild,
121
+ 'data-scope': 'meter',
122
+ 'data-part': part,
123
+ }), slots);
124
+ },
125
+ });
126
+ }
127
+ function useMeter(part) {
128
+ const root = inject(meterKey);
129
+ if (root === undefined)
130
+ throw new TypeError(`${part} must be used inside MeterRoot.`);
131
+ return root;
132
+ }
133
+ //# sourceMappingURL=meter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meter.js","sourceRoot":"","sources":["../src/meter.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { DatePickerOptions } from '@sectile/dom/date-picker';
2
- import type { DateValue } from '@sectile/dom/date-field';
3
- import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
- export interface MonthPickerRootProps extends PickerPartProps {
1
+ import type { DatePickerOptions } from '@sectile/dom/temporal/date-picker';
2
+ import type { DateValue } from '@sectile/dom/temporal/date-field';
3
+ import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
+ export interface MonthPickerRootProps extends PickerPartProps, PickerPositionProps {
5
5
  readonly modelValue?: DateValue | null;
6
6
  readonly defaultValue?: DateValue | null;
7
7
  readonly highlightedValue?: DateValue;
@@ -22,6 +22,38 @@ export type MonthPickerValueChangeHandler = NonNullable<InstanceType<typeof Mont
22
22
  export type MonthPickerOpenChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:open']>;
23
23
  export type MonthPickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof MonthPickerRoot>['$props']['onUpdate:highlightedValue']>;
24
24
  export declare const MonthPickerTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
25
+ export declare const MonthPickerAnchor: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
26
+ export declare const MonthPickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
+ to: {
28
+ type: import("vue").PropType<string | HTMLElement>;
29
+ default: undefined;
30
+ };
31
+ disabled: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ defer: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
39
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
+ to: {
41
+ type: import("vue").PropType<string | HTMLElement>;
42
+ default: undefined;
43
+ };
44
+ disabled: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ defer: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ }>> & Readonly<{}>, {
53
+ to: string | HTMLElement;
54
+ disabled: boolean;
55
+ defer: boolean;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
57
  export declare const MonthPickerContent: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
26
58
  export declare const MonthPickerGrid: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
27
59
  export declare const MonthPickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -98,5 +130,4 @@ export declare const MonthPickerInput: import("vue").DefineComponent<import("vue
98
130
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
99
131
  export declare const MonthPickerPreviousYear: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
100
132
  export declare const MonthPickerNextYear: import("./internal/date-picker.js").PickerRootPartComponent<"date">;
101
- export type { DateValue as MonthPickerValue, PickerMonthCellSlotProps as MonthPickerCellSlotProps, PickerPartProps as MonthPickerPartProps, };
102
- //# sourceMappingURL=month-picker.d.ts.map
133
+ export type { DateValue as MonthPickerValue, PickerMonthCellSlotProps as MonthPickerCellSlotProps, PickerPartProps as MonthPickerPartProps, PickerPortalProps as MonthPickerPortalProps, };
@@ -1,6 +1,8 @@
1
- import { PickerContent, PickerGrid, PickerTrigger, createPickerInput, createPickerMonthCell, createPickerMove, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
1
+ import { PickerAnchor, PickerContent, PickerGrid, PickerPortal, PickerTrigger, createPickerInput, createPickerMonthCell, createPickerMove, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
2
2
  export const MonthPickerRoot = createPickerRoot('date', 'SectileMonthPickerRoot', { scope: 'month-picker', granularity: 'month', defaultView: 'year' });
3
3
  export const MonthPickerTrigger = specializePickerRootPart('date', PickerTrigger);
4
+ export const MonthPickerAnchor = specializePickerRootPart('date', PickerAnchor);
5
+ export const MonthPickerPortal = PickerPortal;
4
6
  export const MonthPickerContent = specializePickerRootPart('date', PickerContent);
5
7
  export const MonthPickerGrid = specializePickerRootPart('date', PickerGrid);
6
8
  export const MonthPickerCell = createPickerMonthCell('cell', 'SectileMonthPickerCell');
@@ -1 +1 @@
1
- {"version":3,"file":"month-picker.js","sourceRoot":"","sources":["../src/month-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,wBAAwB,EAC9H,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiBnC,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAKxJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"month-picker.js","sourceRoot":"","sources":["../src/month-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,wBAAwB,EAC1J,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiBnC,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,EAAE,wBAAwB,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAKxJ,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC;AACxI,MAAM,CAAC,MAAM,mBAAmB,GAAG,wBAAwB,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
- import type { DateRangePickerOptions } from '@sectile/dom/date-range-picker';
2
- import type { DateRange, DateValue } from '@sectile/dom/date-field';
3
- import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
- export interface MonthRangePickerRootProps extends PickerPartProps {
1
+ import type { DateRangePickerOptions } from '@sectile/dom/temporal/date-range-picker';
2
+ import type { DateRange, DateValue } from '@sectile/dom/temporal/date-field';
3
+ import { type PickerMonthCellSlotProps, type PickerPartProps, type PickerPortalProps, type PickerPositionProps, type PickerRootSlotProps } from './internal/date-picker.js';
4
+ export interface MonthRangePickerRootProps extends PickerPartProps, PickerPositionProps {
5
5
  readonly modelValue?: DateRange | null;
6
6
  readonly defaultValue?: DateRange | null;
7
7
  readonly highlightedValue?: DateValue;
@@ -22,6 +22,38 @@ export type MonthRangePickerValueChangeHandler = NonNullable<InstanceType<typeof
22
22
  export type MonthRangePickerOpenChangeHandler = NonNullable<InstanceType<typeof MonthRangePickerRoot>['$props']['onUpdate:open']>;
23
23
  export type MonthRangePickerHighlightedValueChangeHandler = NonNullable<InstanceType<typeof MonthRangePickerRoot>['$props']['onUpdate:highlightedValue']>;
24
24
  export declare const MonthRangePickerTrigger: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
25
+ export declare const MonthRangePickerAnchor: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
26
+ export declare const MonthRangePickerPortal: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
+ to: {
28
+ type: import("vue").PropType<string | HTMLElement>;
29
+ default: undefined;
30
+ };
31
+ disabled: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ defer: {
36
+ type: BooleanConstructor;
37
+ default: boolean;
38
+ };
39
+ }>, () => import("vue").VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
40
+ to: {
41
+ type: import("vue").PropType<string | HTMLElement>;
42
+ default: undefined;
43
+ };
44
+ disabled: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ defer: {
49
+ type: BooleanConstructor;
50
+ default: boolean;
51
+ };
52
+ }>> & Readonly<{}>, {
53
+ to: string | HTMLElement;
54
+ disabled: boolean;
55
+ defer: boolean;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
25
57
  export declare const MonthRangePickerContent: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
26
58
  export declare const MonthRangePickerGrid: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
27
59
  export declare const MonthRangePickerCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
@@ -138,5 +170,4 @@ export declare const MonthRangePickerEndInput: import("vue").DefineComponent<imp
138
170
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
139
171
  export declare const MonthRangePickerPreviousYear: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
140
172
  export declare const MonthRangePickerNextYear: import("./internal/date-picker.js").PickerRootPartComponent<"date-range">;
141
- export type { DateRange as MonthRangePickerValue, DateValue as MonthPickerValue, PickerMonthCellSlotProps as MonthRangePickerCellSlotProps, PickerPartProps as MonthRangePickerPartProps, };
142
- //# sourceMappingURL=month-range-picker.d.ts.map
173
+ export type { DateRange as MonthRangePickerValue, DateValue as MonthPickerValue, PickerMonthCellSlotProps as MonthRangePickerCellSlotProps, PickerPartProps as MonthRangePickerPartProps, PickerPortalProps as MonthRangePickerPortalProps, };
@@ -1,6 +1,8 @@
1
- import { PickerContent, PickerGrid, PickerTrigger, createPickerInput, createPickerMonthCell, createPickerMove, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
1
+ import { PickerAnchor, PickerContent, PickerGrid, PickerPortal, PickerTrigger, createPickerInput, createPickerMonthCell, createPickerMove, specializePickerRootPart, createPickerRoot, } from './internal/date-picker.js';
2
2
  export const MonthRangePickerRoot = createPickerRoot('date-range', 'SectileMonthRangePickerRoot', { scope: 'month-range-picker', granularity: 'month', defaultView: 'year' });
3
3
  export const MonthRangePickerTrigger = specializePickerRootPart('date-range', PickerTrigger);
4
+ export const MonthRangePickerAnchor = specializePickerRootPart('date-range', PickerAnchor);
5
+ export const MonthRangePickerPortal = PickerPortal;
4
6
  export const MonthRangePickerContent = specializePickerRootPart('date-range', PickerContent);
5
7
  export const MonthRangePickerGrid = specializePickerRootPart('date-range', PickerGrid);
6
8
  export const MonthRangePickerCell = createPickerMonthCell('cell', 'SectileMonthRangePickerCell');
@@ -1 +1 @@
1
- {"version":3,"file":"month-range-picker.js","sourceRoot":"","sources":["../src/month-range-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,wBAAwB,EAC9H,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiBnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,YAAY,EAAE,6BAA6B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAK9K,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,4BAA4B,GAAG,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC,CAAC;AACxJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"month-range-picker.js","sourceRoot":"","sources":["../src/month-range-picker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,wBAAwB,EAC1J,gBAAgB,GACjB,MAAM,2BAA2B,CAAC;AAiBnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,YAAY,EAAE,6BAA6B,EAAE,EAAE,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;AAK9K,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AACnD,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;AAC7F,MAAM,CAAC,MAAM,oBAAoB,GAAG,wBAAwB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AACvF,MAAM,CAAC,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,EAAE,6BAA6B,CAAC,CAAC;AACjG,MAAM,CAAC,MAAM,0BAA0B,GAAG,iBAAiB,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;AAChH,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CAAC,WAAW,EAAE,iCAAiC,CAAC,CAAC;AAC1G,MAAM,CAAC,MAAM,4BAA4B,GAAG,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC,CAAC;AACxJ,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB,CAAC,YAAY,EAAE,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,iCAAiC,CAAC,CAAC,CAAC"}
@@ -296,4 +296,3 @@ export declare const MultiThumbSliderThumb: import("vue").DefineComponent<import
296
296
  }, SlotsType<{
297
297
  default: (props: MultiThumbSliderThumbSlotProps) => VNodeChild;
298
298
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
299
- //# sourceMappingURL=multi-thumb-slider.d.ts.map
@@ -111,4 +111,3 @@ export declare const NavigationMenuIndicator: import("vue").DefineComponent<impo
111
111
  open: boolean;
112
112
  }) => VNodeChild;
113
113
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
114
- //# sourceMappingURL=navigation-menu.d.ts.map
@@ -10,4 +10,3 @@ export interface NumberFieldProps {
10
10
  readonly native?: boolean;
11
11
  }
12
12
  export declare const NumberField: import("vue").DefineComponent<import("./internal/native-field.js").NativeFieldPublicProps<string, import("@sectile/core").NumberFieldPolicies>>;
13
- //# sourceMappingURL=number-field.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
- import { type PaginationItem as PaginationViewItem, type PaginationItemRange } from '@sectile/dom/pagination';
2
+ import { type PaginationControl, type PaginationItem as PaginationViewItem, type PaginationItemRange } from '@sectile/dom/pagination';
3
3
  import { type PrimitiveAs } from './primitive.js';
4
4
  export interface PaginationRootProps {
5
5
  readonly total: number;
@@ -13,9 +13,13 @@ export interface PaginationRootProps {
13
13
  readonly disabled?: boolean;
14
14
  readonly?: boolean;
15
15
  readonly label?: string;
16
+ readonly getPageLabel?: (page: number) => string;
17
+ readonly getControlLabel?: (control: PaginationControl) => string;
16
18
  readonly as?: PrimitiveAs;
17
19
  readonly asChild?: boolean;
18
20
  }
21
+ export type PaginationPageLabelResolver = NonNullable<PaginationRootProps['getPageLabel']>;
22
+ export type PaginationControlLabelResolver = NonNullable<PaginationRootProps['getControlLabel']>;
19
23
  export interface PaginationRootSlotProps {
20
24
  readonly page: number;
21
25
  readonly itemsPerPage: number;
@@ -78,6 +82,14 @@ export declare const PaginationRoot: import("vue").DefineComponent<import("vue")
78
82
  type: StringConstructor;
79
83
  default: string;
80
84
  };
85
+ getPageLabel: {
86
+ type: PropType<PaginationPageLabelResolver>;
87
+ default: undefined;
88
+ };
89
+ getControlLabel: {
90
+ type: PropType<PaginationControlLabelResolver>;
91
+ default: undefined;
92
+ };
81
93
  as: {
82
94
  type: PropType<PrimitiveAs>;
83
95
  default: string;
@@ -134,6 +146,14 @@ export declare const PaginationRoot: import("vue").DefineComponent<import("vue")
134
146
  type: StringConstructor;
135
147
  default: string;
136
148
  };
149
+ getPageLabel: {
150
+ type: PropType<PaginationPageLabelResolver>;
151
+ default: undefined;
152
+ };
153
+ getControlLabel: {
154
+ type: PropType<PaginationControlLabelResolver>;
155
+ default: undefined;
156
+ };
137
157
  as: {
138
158
  type: PropType<PrimitiveAs>;
139
159
  default: string;
@@ -156,6 +176,8 @@ export declare const PaginationRoot: import("vue").DefineComponent<import("vue")
156
176
  disabled: boolean;
157
177
  readonly: boolean;
158
178
  label: string;
179
+ getPageLabel: (page: number) => string;
180
+ getControlLabel: (control: PaginationControl) => string;
159
181
  as: PrimitiveAs;
160
182
  asChild: boolean;
161
183
  }, SlotsType<{
@@ -291,4 +313,3 @@ export declare const PaginationLast: import("vue").DefineComponent<import("vue")
291
313
  }, SlotsType<{
292
314
  default: () => VNodeChild;
293
315
  }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
294
- //# sourceMappingURL=pagination.d.ts.map
@@ -12,6 +12,8 @@ export const PaginationRoot = defineComponent({
12
12
  siblingCount: { type: Number, default: 1 }, showEdges: { type: Boolean, default: true },
13
13
  showControls: { type: Boolean, default: true }, disabled: { type: Boolean, default: false },
14
14
  readonly: { type: Boolean, default: false }, label: { type: String, default: 'Pagination' },
15
+ getPageLabel: { type: Function, default: undefined },
16
+ getControlLabel: { type: Function, default: undefined },
15
17
  as: { type: [String, Object, Function], default: 'nav' }, asChild: { type: Boolean, default: false },
16
18
  },
17
19
  emits: {
@@ -65,6 +67,8 @@ export const PaginationRoot = defineComponent({
65
67
  : { defaultPage: page, defaultItemsPerPage: itemsPerPage }),
66
68
  siblingCount: props.siblingCount, showEdges: props.showEdges, showControls: props.showControls,
67
69
  disabled: props.disabled, readOnly: props.readonly, label: props.label,
70
+ ...(props.getPageLabel === undefined ? {} : { getPageLabel: props.getPageLabel }),
71
+ ...(props.getControlLabel === undefined ? {} : { getControlLabel: props.getControlLabel }),
68
72
  onPageChange: (page) => { localPage.value = page; emit('update:modelValue', page); },
69
73
  onItemsPerPageChange: (value) => { localItemsPerPage.value = value; emit('update:itemsPerPage', value); },
70
74
  onUpdate: () => refreshItems(),
@@ -90,7 +94,8 @@ export const PaginationRoot = defineComponent({
90
94
  onMounted(connect);
91
95
  onBeforeUnmount(() => connection.value?.disconnect());
92
96
  watch([() => props.total, () => props.siblingCount, () => props.showEdges, () => props.showControls,
93
- () => props.disabled, () => props.readonly], connect);
97
+ () => props.disabled, () => props.readonly, () => props.label,
98
+ () => props.getPageLabel, () => props.getControlLabel], connect);
94
99
  watch([() => props.modelValue, () => props.itemsPerPage], () => {
95
100
  if (!controlled || connection.value === undefined)
96
101
  return;