@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,36 @@
1
+ import { computed, defineComponent, h, mergeProps } from 'vue';
2
+ import { MenuItem, MenuSubContent, NavigationMenuRoot } from './menu.js';
3
+ import { Primitive } from './primitive.js';
4
+ export { NavigationMenuRoot };
5
+ export { MenuItem as NavigationMenuLink, MenuItem as NavigationMenuTrigger, MenuSubContent as NavigationMenuContent };
6
+ const partProps = {
7
+ as: { type: [String, Object, Function], default: 'div' },
8
+ asChild: { type: Boolean, default: false },
9
+ };
10
+ export const NavigationMenuList = defineComponent({
11
+ name: 'SectileNavigationMenuList', inheritAttrs: false,
12
+ props: { ...partProps, as: { ...partProps.as, default: 'ul' } },
13
+ slots: Object,
14
+ setup(props, { attrs, slots }) { return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, 'data-scope': 'navigation-menu', 'data-part': 'list' }), { default: slots['default'] }); },
15
+ });
16
+ export const NavigationMenuItem = defineComponent({
17
+ name: 'SectileNavigationMenuItem', inheritAttrs: false,
18
+ props: { ...partProps, as: { ...partProps.as, default: 'li' } },
19
+ slots: Object,
20
+ setup(props, { attrs, slots }) { return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, 'data-scope': 'navigation-menu', 'data-part': 'item-container' }), { default: slots['default'] }); },
21
+ });
22
+ export const NavigationMenuViewport = defineComponent({
23
+ name: 'SectileNavigationMenuViewport', inheritAttrs: false, props: partProps,
24
+ slots: Object,
25
+ setup(props, { attrs, slots }) { return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, 'data-scope': 'navigation-menu', 'data-part': 'viewport' }), { default: slots['default'] }); },
26
+ });
27
+ export const NavigationMenuIndicator = defineComponent({
28
+ name: 'SectileNavigationMenuIndicator', inheritAttrs: false,
29
+ props: { open: { type: Boolean, default: false }, ...partProps },
30
+ slots: Object,
31
+ setup(props, { attrs, slots }) {
32
+ const state = computed(() => props.open);
33
+ return () => h(Primitive, mergeProps(attrs, { as: props.as, asChild: props.asChild, hidden: !state.value, 'aria-hidden': 'true', 'data-scope': 'navigation-menu', 'data-part': 'indicator', 'data-state': state.value ? 'visible' : 'hidden' }), { default: () => slots['default']?.({ open: state.value }) });
34
+ },
35
+ });
36
+ //# sourceMappingURL=navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../src/navigation-menu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { type NumberFieldOptions } from '@sectile/dom/number-field';
2
+ export interface NumberFieldProps {
3
+ readonly modelValue?: string | null;
4
+ readonly defaultValue?: string | null;
5
+ readonly policies?: NumberFieldOptions['policies'];
6
+ readonly disabled?: boolean;
7
+ readonly?: boolean;
8
+ readonly required?: boolean;
9
+ readonly label?: string;
10
+ }
11
+ export declare const NumberField: import("vue").DefineComponent<import("./internal/native-field.js").NativeFieldPublicProps<string>>;
12
+ //# sourceMappingURL=number-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-field.d.ts","sourceRoot":"","sources":["../src/number-field.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,oGAgBtB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import {} from 'vue';
2
+ import { createNumberField, } from '@sectile/dom/number-field';
3
+ import { createNativeFieldComponent } from './internal/native-field.js';
4
+ export const NumberField = createNativeFieldComponent({
5
+ name: 'SectileNumberField',
6
+ scope: 'number-field',
7
+ inputMode: 'decimal',
8
+ formatValue: (value) => value,
9
+ valueType: String,
10
+ create: (options) => {
11
+ const { onValueChange, policies, ...rest } = options;
12
+ return createNumberField({
13
+ ...rest,
14
+ ...(policies === undefined
15
+ ? {}
16
+ : { policies: policies }),
17
+ onValueChange: ({ value }) => onValueChange(value),
18
+ });
19
+ },
20
+ });
21
+ //# sourceMappingURL=number-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-field.js","sourceRoot":"","sources":["../src/number-field.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EACL,iBAAiB,GAGlB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,0BAA0B,EAAkC,MAAM,4BAA4B,CAAC;AAYxG,MAAM,CAAC,MAAM,WAAW,GAAG,0BAA0B,CAAS;IAC5D,IAAI,EAAE,oBAAoB;IAC1B,KAAK,EAAE,cAAc;IACrB,SAAS,EAAE,SAAS;IACpB,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;IAC7B,SAAS,EAAE,MAA4C;IACvD,MAAM,EAAE,CAAC,OAA0C,EAAyB,EAAE;QAC5E,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QACrD,OAAO,iBAAiB,CAAC;YACvB,GAAG,IAAI;YACP,GAAG,CAAC,QAAQ,KAAK,SAAS;gBACxB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAuD,EAAE,CAAC;YAC1E,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;SACnD,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,294 @@
1
+ import { type PropType, type SlotsType, type VNodeChild } from 'vue';
2
+ import { type PaginationItem as PaginationViewItem, type PaginationItemRange } from '@sectile/dom/pagination';
3
+ import { type PrimitiveAs } from './primitive.js';
4
+ export interface PaginationRootProps {
5
+ readonly total: number;
6
+ readonly modelValue?: number;
7
+ readonly defaultValue?: number;
8
+ readonly itemsPerPage?: number;
9
+ readonly defaultItemsPerPage?: number;
10
+ readonly siblingCount?: number;
11
+ readonly showEdges?: boolean;
12
+ readonly showControls?: boolean;
13
+ readonly disabled?: boolean;
14
+ readonly?: boolean;
15
+ readonly label?: string;
16
+ readonly as?: PrimitiveAs;
17
+ readonly asChild?: boolean;
18
+ }
19
+ export interface PaginationRootSlotProps {
20
+ readonly page: number;
21
+ readonly itemsPerPage: number;
22
+ readonly pageCount: number;
23
+ readonly range: PaginationItemRange;
24
+ readonly items: readonly PaginationViewItem[];
25
+ }
26
+ export interface PaginationItemProps {
27
+ readonly item: PaginationViewItem;
28
+ readonly as?: PrimitiveAs;
29
+ readonly asChild?: boolean;
30
+ }
31
+ export interface PaginationItemSlotProps {
32
+ readonly item: PaginationViewItem;
33
+ readonly selected: boolean;
34
+ readonly disabled: boolean;
35
+ }
36
+ export declare const PaginationRoot: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
37
+ total: {
38
+ type: NumberConstructor;
39
+ required: true;
40
+ };
41
+ modelValue: {
42
+ type: NumberConstructor;
43
+ default: undefined;
44
+ };
45
+ defaultValue: {
46
+ type: NumberConstructor;
47
+ default: number;
48
+ };
49
+ itemsPerPage: {
50
+ type: NumberConstructor;
51
+ default: undefined;
52
+ };
53
+ defaultItemsPerPage: {
54
+ type: NumberConstructor;
55
+ default: number;
56
+ };
57
+ siblingCount: {
58
+ type: NumberConstructor;
59
+ default: number;
60
+ };
61
+ showEdges: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ showControls: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ disabled: {
70
+ type: BooleanConstructor;
71
+ default: boolean;
72
+ };
73
+ readonly: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
77
+ label: {
78
+ type: StringConstructor;
79
+ default: string;
80
+ };
81
+ as: {
82
+ type: PropType<PrimitiveAs>;
83
+ default: string;
84
+ };
85
+ asChild: {
86
+ type: BooleanConstructor;
87
+ default: boolean;
88
+ };
89
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
90
+ 'update:modelValue': (_value: number) => boolean;
91
+ 'update:itemsPerPage': (_value: number) => boolean;
92
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
93
+ total: {
94
+ type: NumberConstructor;
95
+ required: true;
96
+ };
97
+ modelValue: {
98
+ type: NumberConstructor;
99
+ default: undefined;
100
+ };
101
+ defaultValue: {
102
+ type: NumberConstructor;
103
+ default: number;
104
+ };
105
+ itemsPerPage: {
106
+ type: NumberConstructor;
107
+ default: undefined;
108
+ };
109
+ defaultItemsPerPage: {
110
+ type: NumberConstructor;
111
+ default: number;
112
+ };
113
+ siblingCount: {
114
+ type: NumberConstructor;
115
+ default: number;
116
+ };
117
+ showEdges: {
118
+ type: BooleanConstructor;
119
+ default: boolean;
120
+ };
121
+ showControls: {
122
+ type: BooleanConstructor;
123
+ default: boolean;
124
+ };
125
+ disabled: {
126
+ type: BooleanConstructor;
127
+ default: boolean;
128
+ };
129
+ readonly: {
130
+ type: BooleanConstructor;
131
+ default: boolean;
132
+ };
133
+ label: {
134
+ type: StringConstructor;
135
+ default: string;
136
+ };
137
+ as: {
138
+ type: PropType<PrimitiveAs>;
139
+ default: string;
140
+ };
141
+ asChild: {
142
+ type: BooleanConstructor;
143
+ default: boolean;
144
+ };
145
+ }>> & Readonly<{
146
+ "onUpdate:itemsPerPage"?: (_value: number) => any;
147
+ "onUpdate:modelValue"?: (_value: number) => any;
148
+ }>, {
149
+ modelValue: number;
150
+ defaultValue: number;
151
+ itemsPerPage: number;
152
+ defaultItemsPerPage: number;
153
+ siblingCount: number;
154
+ showEdges: boolean;
155
+ showControls: boolean;
156
+ disabled: boolean;
157
+ readonly: boolean;
158
+ label: string;
159
+ as: PrimitiveAs;
160
+ asChild: boolean;
161
+ }, SlotsType<{
162
+ default: (props: PaginationRootSlotProps) => VNodeChild;
163
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
164
+ export type PaginationValueChangeHandler = (value: number) => void;
165
+ export type PaginationItemsPerPageChangeHandler = (value: number) => void;
166
+ export declare const PaginationItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
167
+ item: {
168
+ type: PropType<PaginationViewItem>;
169
+ required: true;
170
+ };
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
+ item: {
181
+ type: PropType<PaginationViewItem>;
182
+ required: true;
183
+ };
184
+ as: {
185
+ type: PropType<PrimitiveAs>;
186
+ default: string;
187
+ };
188
+ asChild: {
189
+ type: BooleanConstructor;
190
+ default: boolean;
191
+ };
192
+ }>> & Readonly<{}>, {
193
+ as: PrimitiveAs;
194
+ asChild: boolean;
195
+ }, SlotsType<{
196
+ default: (props: PaginationItemSlotProps) => VNodeChild;
197
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
198
+ export declare const PaginationFirst: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
199
+ as: {
200
+ type: PropType<PrimitiveAs>;
201
+ default: string;
202
+ };
203
+ asChild: {
204
+ type: BooleanConstructor;
205
+ default: boolean;
206
+ };
207
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
208
+ as: {
209
+ type: PropType<PrimitiveAs>;
210
+ default: string;
211
+ };
212
+ asChild: {
213
+ type: BooleanConstructor;
214
+ default: boolean;
215
+ };
216
+ }>> & Readonly<{}>, {
217
+ as: PrimitiveAs;
218
+ asChild: boolean;
219
+ }, SlotsType<{
220
+ default: () => VNodeChild;
221
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
222
+ export declare const PaginationPrevious: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
223
+ as: {
224
+ type: PropType<PrimitiveAs>;
225
+ default: string;
226
+ };
227
+ asChild: {
228
+ type: BooleanConstructor;
229
+ default: boolean;
230
+ };
231
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
232
+ as: {
233
+ type: PropType<PrimitiveAs>;
234
+ default: string;
235
+ };
236
+ asChild: {
237
+ type: BooleanConstructor;
238
+ default: boolean;
239
+ };
240
+ }>> & Readonly<{}>, {
241
+ as: PrimitiveAs;
242
+ asChild: boolean;
243
+ }, SlotsType<{
244
+ default: () => VNodeChild;
245
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
246
+ export declare const PaginationNext: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
247
+ as: {
248
+ type: PropType<PrimitiveAs>;
249
+ default: string;
250
+ };
251
+ asChild: {
252
+ type: BooleanConstructor;
253
+ default: boolean;
254
+ };
255
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
256
+ as: {
257
+ type: PropType<PrimitiveAs>;
258
+ default: string;
259
+ };
260
+ asChild: {
261
+ type: BooleanConstructor;
262
+ default: boolean;
263
+ };
264
+ }>> & Readonly<{}>, {
265
+ as: PrimitiveAs;
266
+ asChild: boolean;
267
+ }, SlotsType<{
268
+ default: () => VNodeChild;
269
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
270
+ export declare const PaginationLast: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
271
+ as: {
272
+ type: PropType<PrimitiveAs>;
273
+ default: string;
274
+ };
275
+ asChild: {
276
+ type: BooleanConstructor;
277
+ default: boolean;
278
+ };
279
+ }>, () => VNodeChild, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
280
+ as: {
281
+ type: PropType<PrimitiveAs>;
282
+ default: string;
283
+ };
284
+ asChild: {
285
+ type: BooleanConstructor;
286
+ default: boolean;
287
+ };
288
+ }>> & Readonly<{}>, {
289
+ as: PrimitiveAs;
290
+ asChild: boolean;
291
+ }, SlotsType<{
292
+ default: () => VNodeChild;
293
+ }>, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
294
+ //# sourceMappingURL=pagination.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
2
+ import { createPagination, getPaginationView, } from '@sectile/dom/pagination';
3
+ import { Primitive } from './primitive.js';
4
+ const key = Symbol('SectilePaginationRoot');
5
+ export const PaginationRoot = defineComponent({
6
+ name: 'SectilePaginationRoot', inheritAttrs: false,
7
+ props: {
8
+ total: { type: Number, required: true },
9
+ modelValue: { type: Number, default: undefined }, defaultValue: { type: Number, default: 1 },
10
+ itemsPerPage: { type: Number, default: undefined }, defaultItemsPerPage: { type: Number, default: 10 },
11
+ siblingCount: { type: Number, default: 1 }, showEdges: { type: Boolean, default: true },
12
+ showControls: { type: Boolean, default: true }, disabled: { type: Boolean, default: false },
13
+ readonly: { type: Boolean, default: false }, label: { type: String, default: 'Pagination' },
14
+ as: { type: [String, Object, Function], default: 'nav' }, asChild: { type: Boolean, default: false },
15
+ },
16
+ emits: {
17
+ 'update:modelValue': (_value) => true,
18
+ 'update:itemsPerPage': (_value) => true,
19
+ },
20
+ slots: Object,
21
+ setup(props, { attrs, emit, slots }) {
22
+ const element = shallowRef();
23
+ const connection = shallowRef();
24
+ const localPage = shallowRef(props.modelValue ?? props.defaultValue);
25
+ const localItemsPerPage = shallowRef(props.itemsPerPage ?? props.defaultItemsPerPage);
26
+ const controlled = props.modelValue !== undefined || props.itemsPerPage !== undefined;
27
+ if (controlled && (props.modelValue === undefined || props.itemsPerPage === undefined)) {
28
+ throw new TypeError('Controlled pagination requires both modelValue and itemsPerPage.');
29
+ }
30
+ const view = computed(() => {
31
+ const result = getPaginationView({
32
+ total: props.total, page: props.modelValue ?? localPage.value,
33
+ itemsPerPage: props.itemsPerPage ?? localItemsPerPage.value,
34
+ siblingCount: props.siblingCount, showEdges: props.showEdges, showControls: props.showControls,
35
+ });
36
+ if (!result.ok)
37
+ throw new TypeError(result.error.message);
38
+ return result.value;
39
+ });
40
+ const state = computed(() => Object.freeze({
41
+ page: props.modelValue ?? localPage.value,
42
+ itemsPerPage: props.itemsPerPage ?? localItemsPerPage.value,
43
+ pageCount: view.value.pageCount, range: view.value.range, items: view.value.items,
44
+ }));
45
+ const connect = () => {
46
+ connection.value?.disconnect();
47
+ if (element.value === undefined)
48
+ return;
49
+ connection.value = createPagination({
50
+ root: element.value, total: props.total,
51
+ ...(controlled
52
+ ? { page: props.modelValue, itemsPerPage: props.itemsPerPage }
53
+ : { defaultPage: localPage.value, defaultItemsPerPage: localItemsPerPage.value }),
54
+ siblingCount: props.siblingCount, showEdges: props.showEdges, showControls: props.showControls,
55
+ disabled: props.disabled, readOnly: props.readonly, label: props.label,
56
+ onPageChange: (page) => { localPage.value = page; emit('update:modelValue', page); },
57
+ onItemsPerPageChange: (value) => { localItemsPerPage.value = value; emit('update:itemsPerPage', value); },
58
+ onUpdate: () => refreshItems(),
59
+ });
60
+ refreshItems();
61
+ };
62
+ const refreshItems = () => {
63
+ if (element.value === undefined || connection.value === undefined)
64
+ return;
65
+ const rendered = element.value.querySelectorAll('[data-sectile-pagination-index]');
66
+ const items = connection.value.getItems();
67
+ rendered.forEach((node) => {
68
+ const index = Number(node.dataset['sectilePaginationIndex']);
69
+ const item = items[index];
70
+ if (item !== undefined)
71
+ connection.value?.setItemAttributes(node, item);
72
+ });
73
+ };
74
+ const register = (node, item) => connection.value?.setItemAttributes(node, item);
75
+ provide(key, {
76
+ state, disabled: computed(() => props.disabled), readonly: computed(() => props.readonly), register,
77
+ });
78
+ onMounted(connect);
79
+ onBeforeUnmount(() => connection.value?.disconnect());
80
+ watch([() => props.total, () => props.siblingCount, () => props.showEdges, () => props.showControls,
81
+ () => props.disabled, () => props.readonly], connect);
82
+ watch([() => props.modelValue, () => props.itemsPerPage], () => {
83
+ if (!controlled || connection.value === undefined)
84
+ return;
85
+ const result = connection.value.syncControlledValues({
86
+ page: props.modelValue, itemsPerPage: props.itemsPerPage,
87
+ });
88
+ if (!result.ok)
89
+ throw new TypeError(result.error.message);
90
+ refreshItems();
91
+ });
92
+ return () => h(Primitive, mergeProps(attrs, {
93
+ as: props.as, asChild: props.asChild, elementRef: (node) => { element.value = node instanceof HTMLElement ? node : undefined; },
94
+ role: 'navigation', 'aria-label': props.label, 'data-scope': 'pagination', 'data-part': 'root',
95
+ 'data-disabled': props.disabled ? '' : undefined, 'data-readonly': props.readonly ? '' : undefined,
96
+ }), { default: () => slots['default']?.(state.value) });
97
+ },
98
+ });
99
+ export const PaginationItem = defineComponent({
100
+ name: 'SectilePaginationItem', inheritAttrs: false,
101
+ props: {
102
+ item: { type: Object, required: true },
103
+ as: { type: [String, Object, Function], default: 'button' }, asChild: { type: Boolean, default: false },
104
+ },
105
+ slots: Object,
106
+ setup(props, { attrs, slots }) {
107
+ const root = useRoot('PaginationItem');
108
+ const selected = computed(() => props.item.type === 'page' && props.item.page === root.state.value.page);
109
+ const disabled = computed(() => root.disabled.value || (props.item.type === 'control' && props.item.disabled));
110
+ return () => h(Primitive, mergeProps(attrs, {
111
+ as: props.as, asChild: props.asChild,
112
+ elementRef: (node) => { if (node instanceof HTMLElement)
113
+ root.register(node, props.item); },
114
+ type: props.as === 'button' ? 'button' : undefined,
115
+ 'data-sectile-pagination-index': root.state.value.items.indexOf(props.item),
116
+ 'data-scope': 'pagination', 'data-part': props.item.type,
117
+ 'data-selected': selected.value ? '' : undefined,
118
+ }), { default: () => slots['default']?.({ item: props.item, selected: selected.value, disabled: disabled.value }) });
119
+ },
120
+ });
121
+ function control(control) {
122
+ return defineComponent({
123
+ name: `SectilePagination${control}`, inheritAttrs: false,
124
+ props: { as: { type: [String, Object, Function], default: 'button' }, asChild: { type: Boolean, default: false } },
125
+ slots: Object,
126
+ setup(props, { attrs, slots }) {
127
+ const root = useRoot(control);
128
+ const item = computed(() => root.state.value.items.find((candidate) => candidate.type === 'control' && candidate.control === control));
129
+ return () => item.value === undefined ? null : h(PaginationItem, mergeProps(attrs, {
130
+ as: props.as, asChild: props.asChild, item: item.value,
131
+ }), { default: slots['default'] });
132
+ },
133
+ });
134
+ }
135
+ export const PaginationFirst = control('first-page');
136
+ export const PaginationPrevious = control('previous-page');
137
+ export const PaginationNext = control('next-page');
138
+ export const PaginationLast = control('last-page');
139
+ function useRoot(part) {
140
+ const root = inject(key);
141
+ if (root === undefined)
142
+ throw new TypeError(`${part} must be used inside PaginationRoot.`);
143
+ return root;
144
+ }
145
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"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"}