ropav 0.3.1 → 0.5.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 (277) hide show
  1. package/dist/components/autocomplete/autocomplete-root.js +3 -1
  2. package/dist/components/autocomplete/index.d.ts +3 -0
  3. package/dist/components/avatar/avatar-image.js +13 -2
  4. package/dist/components/avatar/avatar.types.d.ts +7 -1
  5. package/dist/components/breadcrumbs/breadcrumbs-item.js +1 -0
  6. package/dist/components/breadcrumbs/index.d.ts +1 -0
  7. package/dist/components/calendar/calendar-header.js +1 -1
  8. package/dist/components/calendar/index.d.ts +5 -3
  9. package/dist/components/calendar-year-picker/index.d.ts +4 -2
  10. package/dist/components/checkbox/checkbox-content.js +1 -1
  11. package/dist/components/color-field/index.d.ts +3 -2
  12. package/dist/components/color-input-group/color-input-group-root.js +2 -0
  13. package/dist/components/color-input-group/color-input-group.types.d.ts +2 -0
  14. package/dist/components/color-input-group/index.d.ts +2 -0
  15. package/dist/components/combo-box/combo-box-root.js +9 -2
  16. package/dist/components/combo-box/combo-box.types.d.ts +3 -0
  17. package/dist/components/combo-box/index.d.ts +3 -0
  18. package/dist/components/date-field/index.d.ts +1 -0
  19. package/dist/components/date-input-group/date-input-group-root.js +2 -0
  20. package/dist/components/date-input-group/date-input-group-segment.js +1 -1
  21. package/dist/components/date-input-group/date-input-group.types.d.ts +2 -0
  22. package/dist/{composables → components/date-input-group}/use-date-segment.d.ts +2 -2
  23. package/dist/{composables → components/date-input-group}/use-date-segment.js +9 -9
  24. package/dist/components/date-picker/index.d.ts +3 -2
  25. package/dist/components/date-picker/index.js +2 -2
  26. package/dist/components/date-range-picker/date-range-picker-root.js +1 -1
  27. package/dist/components/date-range-picker/index.d.ts +18 -16
  28. package/dist/components/date-range-picker/index.js +2 -2
  29. package/dist/{composables → components/date-range-picker}/use-date-range-picker.d.ts +7 -7
  30. package/dist/{composables → components/date-range-picker}/use-date-range-picker.js +10 -10
  31. package/dist/components/drawer/drawer-dialog.js +1 -1
  32. package/dist/{composables → components/drawer}/use-drawer-drag.d.ts +1 -1
  33. package/dist/{composables → components/drawer}/use-drawer-drag.js +1 -1
  34. package/dist/components/dropdown/dropdown-menu.js +3 -1
  35. package/dist/components/dropdown/dropdown-submenu-trigger.js +1 -1
  36. package/dist/components/dropdown/dropdown.types.d.ts +3 -3
  37. package/dist/components/dropdown/index.d.ts +4 -2
  38. package/dist/{composables → components/dropdown}/use-safely-mouse-to-submenu.js +1 -1
  39. package/dist/components/icons/icon-overlay-arrow.js +1 -1
  40. package/dist/components/index.d.ts +5 -0
  41. package/dist/components/input/index.d.ts +12 -4
  42. package/dist/components/input/input-root.d.ts +5 -2
  43. package/dist/components/input/input-root.js +46 -5
  44. package/dist/components/input/input.types.d.ts +11 -0
  45. package/dist/components/input-group/index.d.ts +2 -0
  46. package/dist/components/input-group/input-group-root.js +3 -0
  47. package/dist/components/input-group/input-group.types.d.ts +5 -0
  48. package/dist/components/input-otp/index.d.ts +6 -4
  49. package/dist/components/link/index.d.ts +2 -0
  50. package/dist/components/link/link-root.js +22 -5
  51. package/dist/components/link/link.types.d.ts +14 -3
  52. package/dist/{composables → components/list-box}/drag-collection.d.ts +2 -2
  53. package/dist/{composables → components/list-box}/drag-collection.js +1 -1
  54. package/dist/components/list-box/index.d.ts +4 -0
  55. package/dist/components/list-box/list-box-root.js +60 -35
  56. package/dist/components/list-box/list-box.types.d.ts +2 -0
  57. package/dist/components/menu/index.d.ts +4 -0
  58. package/dist/components/menu/menu-root.js +9 -2
  59. package/dist/components/menu/menu.types.d.ts +5 -0
  60. package/dist/components/number-field/index.d.ts +3 -0
  61. package/dist/components/number-field/number-field-root.js +2 -0
  62. package/dist/components/number-field/number-field.types.d.ts +2 -0
  63. package/dist/components/overlay/overlay-arrow.js +64 -11
  64. package/dist/components/pagination/index.d.ts +2 -0
  65. package/dist/components/pagination/pagination-root.js +8 -3
  66. package/dist/components/pagination/pagination.types.d.ts +8 -0
  67. package/dist/components/popover/popover-trigger.js +14 -7
  68. package/dist/components/radio/radio-content.js +1 -1
  69. package/dist/components/range-calendar/index.d.ts +18 -15
  70. package/dist/components/range-calendar/range-calendar-header.js +1 -1
  71. package/dist/components/router-provider/index.d.ts +5 -0
  72. package/dist/components/router-provider/index.js +3 -0
  73. package/dist/components/router-provider/router-provider.context.d.ts +40 -0
  74. package/dist/components/router-provider/router-provider.context.js +16 -0
  75. package/dist/components/router-provider/router-provider.d.ts +21 -0
  76. package/dist/components/router-provider/router-provider.js +22 -0
  77. package/dist/components/router-provider/router-provider.types.d.ts +23 -0
  78. package/dist/components/scroll-shadow/scroll-shadow-root.js +7 -1
  79. package/dist/components/scroll-shadow/use-scroll-shadow.js +25 -1
  80. package/dist/components/search-field/index.d.ts +2 -0
  81. package/dist/components/search-field/search-field-root.js +3 -1
  82. package/dist/components/search-field/search-field.types.d.ts +2 -0
  83. package/dist/{composables → components/search-field}/use-search-field.d.ts +2 -2
  84. package/dist/{composables → components/search-field}/use-search-field.js +3 -3
  85. package/dist/components/segmented-control/index.d.ts +134 -0
  86. package/dist/components/segmented-control/index.js +15 -0
  87. package/dist/components/segmented-control/segmented-control-indicator.d.ts +19 -0
  88. package/dist/components/segmented-control/segmented-control-indicator.js +36 -0
  89. package/dist/components/segmented-control/segmented-control-item.d.ts +21 -0
  90. package/dist/components/segmented-control/segmented-control-item.js +96 -0
  91. package/dist/components/segmented-control/segmented-control-root.d.ts +25 -0
  92. package/dist/components/segmented-control/segmented-control-root.js +112 -0
  93. package/dist/components/segmented-control/segmented-control-separator.d.ts +19 -0
  94. package/dist/components/segmented-control/segmented-control-separator.js +18 -0
  95. package/dist/components/segmented-control/segmented-control.context.d.ts +17 -0
  96. package/dist/components/segmented-control/segmented-control.context.js +12 -0
  97. package/dist/components/segmented-control/segmented-control.types.d.ts +67 -0
  98. package/dist/components/select/index.d.ts +3 -0
  99. package/dist/components/select/select-hidden-select.js +1 -1
  100. package/dist/components/select/select-root.js +2 -0
  101. package/dist/components/select/select.types.d.ts +2 -0
  102. package/dist/components/separator/separator-root.js +11 -5
  103. package/dist/components/separator/separator.context.d.ts +7 -0
  104. package/dist/components/sidebar/index.d.ts +544 -0
  105. package/dist/components/sidebar/index.js +47 -0
  106. package/dist/components/sidebar/sidebar-collapsible-trigger.d.ts +21 -0
  107. package/dist/components/sidebar/sidebar-collapsible-trigger.js +70 -0
  108. package/dist/components/sidebar/sidebar-collapsible.d.ts +24 -0
  109. package/dist/components/sidebar/sidebar-collapsible.js +78 -0
  110. package/dist/components/sidebar/sidebar-content.d.ts +21 -0
  111. package/dist/components/sidebar/sidebar-content.js +37 -0
  112. package/dist/components/sidebar/sidebar-footer.d.ts +21 -0
  113. package/dist/components/sidebar/sidebar-footer.js +24 -0
  114. package/dist/components/sidebar/sidebar-group-label.d.ts +21 -0
  115. package/dist/components/sidebar/sidebar-group-label.js +32 -0
  116. package/dist/components/sidebar/sidebar-group.d.ts +21 -0
  117. package/dist/components/sidebar/sidebar-group.js +48 -0
  118. package/dist/components/sidebar/sidebar-header.d.ts +21 -0
  119. package/dist/components/sidebar/sidebar-header.js +24 -0
  120. package/dist/components/sidebar/sidebar-inset.d.ts +21 -0
  121. package/dist/components/sidebar/sidebar-inset.js +24 -0
  122. package/dist/components/sidebar/sidebar-item-icon.d.ts +21 -0
  123. package/dist/components/sidebar/sidebar-item-icon.js +20 -0
  124. package/dist/components/sidebar/sidebar-item-indicator.d.ts +21 -0
  125. package/dist/components/sidebar/sidebar-item-indicator.js +48 -0
  126. package/dist/components/sidebar/sidebar-item-label.d.ts +21 -0
  127. package/dist/components/sidebar/sidebar-item-label.js +28 -0
  128. package/dist/components/sidebar/sidebar-item-tooltip.d.ts +21 -0
  129. package/dist/components/sidebar/sidebar-item-tooltip.js +38 -0
  130. package/dist/components/sidebar/sidebar-item-trailing.d.ts +21 -0
  131. package/dist/components/sidebar/sidebar-item-trailing.js +28 -0
  132. package/dist/components/sidebar/sidebar-item.d.ts +23 -0
  133. package/dist/components/sidebar/sidebar-item.js +160 -0
  134. package/dist/components/sidebar/sidebar-panel.d.ts +21 -0
  135. package/dist/components/sidebar/sidebar-panel.js +88 -0
  136. package/dist/components/sidebar/sidebar-rail.d.ts +21 -0
  137. package/dist/components/sidebar/sidebar-rail.js +210 -0
  138. package/dist/components/sidebar/sidebar-root.d.ts +31 -0
  139. package/dist/components/sidebar/sidebar-root.js +138 -0
  140. package/dist/components/sidebar/sidebar-separator.d.ts +19 -0
  141. package/dist/components/sidebar/sidebar-separator.js +16 -0
  142. package/dist/components/sidebar/sidebar-sub-menu.d.ts +23 -0
  143. package/dist/components/sidebar/sidebar-sub-menu.js +40 -0
  144. package/dist/components/sidebar/sidebar-trigger.d.ts +21 -0
  145. package/dist/components/sidebar/sidebar-trigger.js +69 -0
  146. package/dist/components/sidebar/sidebar.context.d.ts +75 -0
  147. package/dist/components/sidebar/sidebar.context.js +30 -0
  148. package/dist/components/sidebar/sidebar.state.d.ts +73 -0
  149. package/dist/components/sidebar/sidebar.state.js +76 -0
  150. package/dist/components/sidebar/sidebar.storage.d.ts +8 -0
  151. package/dist/components/sidebar/sidebar.storage.js +45 -0
  152. package/dist/components/sidebar/sidebar.types.d.ts +259 -0
  153. package/dist/components/splitter/index.d.ts +143 -0
  154. package/dist/components/splitter/index.js +13 -0
  155. package/dist/components/splitter/splitter-handle.d.ts +21 -0
  156. package/dist/components/splitter/splitter-handle.js +209 -0
  157. package/dist/components/splitter/splitter-panel.d.ts +21 -0
  158. package/dist/components/splitter/splitter-panel.js +70 -0
  159. package/dist/components/splitter/splitter-root.d.ts +31 -0
  160. package/dist/components/splitter/splitter-root.js +152 -0
  161. package/dist/components/splitter/splitter.context.d.ts +15 -0
  162. package/dist/components/splitter/splitter.context.js +5 -0
  163. package/dist/components/splitter/splitter.state.d.ts +87 -0
  164. package/dist/components/splitter/splitter.state.js +322 -0
  165. package/dist/components/splitter/splitter.storage.d.ts +15 -0
  166. package/dist/components/splitter/splitter.storage.js +56 -0
  167. package/dist/components/splitter/splitter.types.d.ts +98 -0
  168. package/dist/components/switch/switch-content.js +1 -1
  169. package/dist/components/table/index.d.ts +10 -9
  170. package/dist/components/table/table-body.js +13 -13
  171. package/dist/components/table/table-cell.js +49 -46
  172. package/dist/components/table/table-column-resizer.js +1 -1
  173. package/dist/components/table/table-column.js +1 -1
  174. package/dist/components/table/table-content.js +37 -18
  175. package/dist/{composables → components/table}/table-drag-collection.d.ts +1 -1
  176. package/dist/{composables → components/table}/table-drag-collection.js +1 -1
  177. package/dist/components/table/table-drop-indicator.js +3 -1
  178. package/dist/components/table/table-resizable-container.d.ts +4 -5
  179. package/dist/components/table/table-row.js +45 -14
  180. package/dist/components/table/table-virtualizer-item.d.ts +2 -7
  181. package/dist/components/table/table-virtualizer-item.js +20 -9
  182. package/dist/components/table/table.context.d.ts +11 -3
  183. package/dist/components/table/table.types.d.ts +1 -1
  184. package/dist/{composables → components/table}/use-grid-keyboard.d.ts +3 -3
  185. package/dist/{composables → components/table}/use-grid-keyboard.js +57 -55
  186. package/dist/{composables → components/table}/use-grid-selection-announcement.d.ts +2 -2
  187. package/dist/{composables → components/table}/use-grid-selection-announcement.js +2 -2
  188. package/dist/{composables → components/table}/use-table-collection.d.ts +2 -2
  189. package/dist/{composables → components/table}/use-table-collection.js +4 -4
  190. package/dist/{composables → components/table}/use-table-column-layout.d.ts +13 -20
  191. package/dist/components/table/use-table-column-layout.js +115 -0
  192. package/dist/components/tabs/tabs-panel.js +5 -1
  193. package/dist/components/tabs/tabs-tab.js +1 -1
  194. package/dist/components/textarea/index.d.ts +12 -4
  195. package/dist/components/textarea/textarea-root.d.ts +5 -2
  196. package/dist/components/textarea/textarea-root.js +40 -5
  197. package/dist/components/textarea/textarea.types.d.ts +11 -0
  198. package/dist/components/textfield/index.d.ts +2 -0
  199. package/dist/components/textfield/textfield-root.js +5 -1
  200. package/dist/components/textfield/textfield.context.d.ts +2 -0
  201. package/dist/components/textfield/textfield.types.d.ts +5 -0
  202. package/dist/components/time-field/index.d.ts +1 -0
  203. package/dist/components/toast/index.d.ts +1 -0
  204. package/dist/components/toast/toast-default-content.js +1 -1
  205. package/dist/components/toggle-button-group/toggle-button-group-root.js +3 -3
  206. package/dist/components/toolbar/index.d.ts +3 -2
  207. package/dist/components/toolbar/toolbar-root.js +3 -3
  208. package/dist/components/tooltip/index.js +1 -1
  209. package/dist/components/tooltip/tooltip-root.js +1 -1
  210. package/dist/components/tooltip/tooltip-trigger.js +13 -5
  211. package/dist/components/virtualizer/index.d.ts +3 -1
  212. package/dist/components/virtualizer/index.js +2 -1
  213. package/dist/components/virtualizer/use-virtualizer-item.d.ts +23 -0
  214. package/dist/components/virtualizer/use-virtualizer-item.js +45 -0
  215. package/dist/components/virtualizer/virtualizer-item.js +7 -41
  216. package/dist/components/virtualizer/virtualizer-scrollbar-track.d.ts +20 -0
  217. package/dist/components/virtualizer/virtualizer-scrollbar-track.js +141 -0
  218. package/dist/components/virtualizer/virtualizer-scrollbar.d.ts +18 -0
  219. package/dist/components/virtualizer/virtualizer-scrollbar.js +55 -0
  220. package/dist/components/virtualizer/virtualizer.context.d.ts +17 -1
  221. package/dist/composables/drag-manager.js +1 -13
  222. package/dist/composables/index.d.ts +3 -71
  223. package/dist/composables/use-collection.d.ts +22 -3
  224. package/dist/composables/use-collection.js +67 -14
  225. package/dist/composables/use-color-area.js +2 -2
  226. package/dist/composables/use-color-field.js +1 -1
  227. package/dist/composables/use-combo-box.js +1 -1
  228. package/dist/composables/use-date-field.js +1 -1
  229. package/dist/composables/use-drag-and-drop.js +1 -1
  230. package/dist/composables/use-drag.d.ts +6 -5
  231. package/dist/composables/use-draggable-item.d.ts +2 -2
  232. package/dist/composables/use-droppable-collection.js +2 -2
  233. package/dist/composables/use-droppable-item.js +1 -1
  234. package/dist/composables/use-form-reset.d.ts +6 -2
  235. package/dist/composables/use-form-reset.js +9 -5
  236. package/dist/composables/use-list-keyboard.js +64 -62
  237. package/dist/composables/use-menu.d.ts +10 -0
  238. package/dist/composables/use-menu.js +22 -0
  239. package/dist/composables/use-number-field.js +1 -1
  240. package/dist/composables/use-select.js +2 -3
  241. package/dist/composables/use-selection-manager.js +4 -4
  242. package/dist/composables/use-single-select-list-state.d.ts +37 -0
  243. package/dist/composables/use-single-select-list-state.js +110 -0
  244. package/dist/composables/use-slider-thumb.js +2 -2
  245. package/dist/composables/use-slider.js +1 -1
  246. package/dist/composables/use-tab-list-state.d.ts +20 -29
  247. package/dist/composables/use-tab-list-state.js +20 -99
  248. package/dist/composables/use-text-field.js +1 -1
  249. package/dist/composables/use-virtualizer-scroll.d.ts +52 -2
  250. package/dist/composables/use-virtualizer-scroll.js +79 -13
  251. package/dist/composables/use-virtualizer.d.ts +24 -4
  252. package/dist/composables/use-virtualizer.js +40 -6
  253. package/dist/index.js +58 -80
  254. package/dist/utils/document-order.d.ts +14 -0
  255. package/dist/utils/document-order.js +17 -0
  256. package/dist/utils/flex-sizing.d.ts +41 -0
  257. package/dist/utils/flex-sizing.js +140 -0
  258. package/dist/utils/index.d.ts +2 -0
  259. package/dist/utils/open-link.d.ts +31 -0
  260. package/dist/utils/open-link.js +32 -0
  261. package/dist/utils/story-truncation.d.ts +20 -0
  262. package/dist/utils/story-users.d.ts +11 -0
  263. package/dist/utils/virtualizer-collection.d.ts +14 -4
  264. package/dist/utils/virtualizer-collection.js +9 -14
  265. package/dist/utils/virtualizer-layout-info.js +3 -2
  266. package/dist/utils/virtualizer-list-layout.d.ts +75 -29
  267. package/dist/utils/virtualizer-list-layout.js +182 -99
  268. package/dist/utils/virtualizer-offsets.d.ts +111 -0
  269. package/dist/utils/virtualizer-offsets.js +159 -0
  270. package/dist/utils/virtualizer-overscan.d.ts +9 -15
  271. package/dist/utils/virtualizer-overscan.js +14 -33
  272. package/dist/utils/virtualizer-table-layout.d.ts +50 -21
  273. package/dist/utils/virtualizer-table-layout.js +130 -89
  274. package/dist/version.js +1 -1
  275. package/package.json +19 -3
  276. package/dist/composables/use-table-column-layout.js +0 -214
  277. /package/dist/{composables → components/dropdown}/use-safely-mouse-to-submenu.d.ts +0 -0
@@ -13,7 +13,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
13
13
  slots: {
14
14
  default?: (props: import("./range-calendar.types.js").RangeCalendarRootSlotProps) => unknown;
15
15
  };
16
- emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("../../index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
16
+ emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("./index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
17
17
  }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
18
18
  props: import('vue').PublicProps & {
19
19
  class?: string;
@@ -22,15 +22,15 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
22
22
  ariaLabelledby?: string;
23
23
  ariaDescribedby?: string;
24
24
  ariaDetails?: string;
25
- value?: import("../../index.js").DateRange | null;
26
- defaultValue?: import("../../index.js").DateRange | null;
25
+ value?: import("./index.js").DateRange | null;
26
+ defaultValue?: import("./index.js").DateRange | null;
27
27
  focusedValue?: import("@internationalized/date").DateValue | null;
28
28
  defaultFocusedValue?: import("@internationalized/date").DateValue | null;
29
29
  minValue?: import("@internationalized/date").DateValue | null;
30
30
  maxValue?: import("@internationalized/date").DateValue | null;
31
31
  isDateUnavailable?: (date: import("@internationalized/date").DateValue, anchorDate: import("@internationalized/date").CalendarDate | null) => boolean;
32
32
  allowsNonContiguousRanges?: boolean;
33
- commitBehavior?: import("../../index.js").RangeCalendarCommitBehavior;
33
+ commitBehavior?: import("./index.js").RangeCalendarCommitBehavior;
34
34
  isDisabled?: boolean;
35
35
  isReadOnly?: boolean;
36
36
  isInvalid?: boolean;
@@ -43,7 +43,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
43
43
  isYearPickerOpen?: boolean;
44
44
  defaultYearPickerOpen?: boolean;
45
45
  "onUpdate:focusedValue"?: ((value: import("@internationalized/date").CalendarDate) => any) | undefined;
46
- "onUpdate:value"?: ((value: import("../../index.js").DateRange | null) => any) | undefined;
46
+ "onUpdate:value"?: ((value: import("./index.js").DateRange | null) => any) | undefined;
47
47
  "onUpdate:yearPickerOpen"?: ((isOpen: boolean) => any) | undefined;
48
48
  } & (typeof globalThis extends {
49
49
  __VLS_PROPS_FALLBACK: infer P;
@@ -53,7 +53,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
53
53
  slots: {
54
54
  default?: (props: import("./range-calendar.types.js").RangeCalendarRootSlotProps) => unknown;
55
55
  };
56
- emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("../../index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
56
+ emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("./index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
57
57
  }>) => import('vue').VNode & {
58
58
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
59
59
  }) & {
@@ -215,7 +215,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
215
215
  props: import('vue').PublicProps & {
216
216
  class?: string;
217
217
  offset?: import("@internationalized/date").DateDuration;
218
- format?: import("../../index.js").CalendarHeadingFormatOptions;
218
+ format?: import("./index.js").CalendarHeadingFormatOptions;
219
219
  } & (typeof globalThis extends {
220
220
  __VLS_PROPS_FALLBACK: infer P;
221
221
  } ? P : {});
@@ -253,7 +253,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
253
253
  slots: {
254
254
  default?: (props: import("./range-calendar.types.js").RangeCalendarRootSlotProps) => unknown;
255
255
  };
256
- emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("../../index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
256
+ emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("./index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
257
257
  }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
258
258
  props: import('vue').PublicProps & {
259
259
  class?: string;
@@ -262,15 +262,15 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
262
262
  ariaLabelledby?: string;
263
263
  ariaDescribedby?: string;
264
264
  ariaDetails?: string;
265
- value?: import("../../index.js").DateRange | null;
266
- defaultValue?: import("../../index.js").DateRange | null;
265
+ value?: import("./index.js").DateRange | null;
266
+ defaultValue?: import("./index.js").DateRange | null;
267
267
  focusedValue?: import("@internationalized/date").DateValue | null;
268
268
  defaultFocusedValue?: import("@internationalized/date").DateValue | null;
269
269
  minValue?: import("@internationalized/date").DateValue | null;
270
270
  maxValue?: import("@internationalized/date").DateValue | null;
271
271
  isDateUnavailable?: (date: import("@internationalized/date").DateValue, anchorDate: import("@internationalized/date").CalendarDate | null) => boolean;
272
272
  allowsNonContiguousRanges?: boolean;
273
- commitBehavior?: import("../../index.js").RangeCalendarCommitBehavior;
273
+ commitBehavior?: import("./index.js").RangeCalendarCommitBehavior;
274
274
  isDisabled?: boolean;
275
275
  isReadOnly?: boolean;
276
276
  isInvalid?: boolean;
@@ -283,7 +283,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
283
283
  isYearPickerOpen?: boolean;
284
284
  defaultYearPickerOpen?: boolean;
285
285
  "onUpdate:focusedValue"?: ((value: import("@internationalized/date").CalendarDate) => any) | undefined;
286
- "onUpdate:value"?: ((value: import("../../index.js").DateRange | null) => any) | undefined;
286
+ "onUpdate:value"?: ((value: import("./index.js").DateRange | null) => any) | undefined;
287
287
  "onUpdate:yearPickerOpen"?: ((isOpen: boolean) => any) | undefined;
288
288
  } & (typeof globalThis extends {
289
289
  __VLS_PROPS_FALLBACK: infer P;
@@ -293,7 +293,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
293
293
  slots: {
294
294
  default?: (props: import("./range-calendar.types.js").RangeCalendarRootSlotProps) => unknown;
295
295
  };
296
- emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("../../index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
296
+ emit: ((evt: "update:focusedValue", value: import("@internationalized/date").CalendarDate) => void) & ((evt: "update:value", value: import("./index.js").DateRange | null) => void) & ((evt: "update:yearPickerOpen", isOpen: boolean) => void);
297
297
  }>) => import('vue').VNode & {
298
298
  __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
299
299
  };
@@ -330,7 +330,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
330
330
  props: import('vue').PublicProps & {
331
331
  class?: string;
332
332
  visibleYears?: number;
333
- format?: import("../../index.js").CalendarYearPickerFormatOptions;
333
+ format?: import("../index.js").CalendarYearPickerFormatOptions;
334
334
  } & (typeof globalThis extends {
335
335
  __VLS_PROPS_FALLBACK: infer P;
336
336
  } ? P : {});
@@ -395,7 +395,7 @@ export declare const RangeCalendar: ((__VLS_props: NonNullable<Awaited<typeof __
395
395
  props: import('vue').PublicProps & {
396
396
  class?: string;
397
397
  offset?: import("@internationalized/date").DateDuration;
398
- format?: import("../../index.js").CalendarHeadingFormatOptions;
398
+ format?: import("./index.js").CalendarHeadingFormatOptions;
399
399
  } & (typeof globalThis extends {
400
400
  __VLS_PROPS_FALLBACK: infer P;
401
401
  } ? P : {});
@@ -434,5 +434,8 @@ export { RangeCalendarCell, RangeCalendarCellIndicator, RangeCalendarGrid, Range
434
434
  export type { RangeCalendarCellIndicatorProps, RangeCalendarCellProps, RangeCalendarCellSlotProps, RangeCalendarGridBodyProps, RangeCalendarGridBodySlotProps, RangeCalendarGridHeaderProps, RangeCalendarGridHeaderSlotProps, RangeCalendarGridProps, RangeCalendarHeaderCellProps, RangeCalendarHeaderProps, RangeCalendarHeadingProps, RangeCalendarNavButtonProps, RangeCalendarRootProps, RangeCalendarRootProps as RangeCalendarProps, RangeCalendarRootSlotProps, } from "./range-calendar.types.js";
435
435
  export { provideRangeCalendarContext, provideRangeCalendarOwnerContext, useRangeCalendarContext, useRangeCalendarOwnerContext, } from "./range-calendar.context.js";
436
436
  export type { RangeCalendarContext, RangeCalendarOwnedProps, RangeCalendarOwnerContext, } from "./range-calendar.context.js";
437
+ export type { AnyCalendarState, DateRange } from "../../composables/use-calendar.js";
438
+ export type { CalendarHeadingFormatOptions } from "../../composables/use-calendar-heading.js";
439
+ export type { RangeCalendarCommitBehavior } from "../../composables/use-range-calendar.js";
437
440
  export { rangeCalendarVariants } from "@ropav/styles";
438
441
  export type { RangeCalendarVariants } from "@ropav/styles";
@@ -1,7 +1,7 @@
1
1
  import { useRangeCalendarContext } from "./range-calendar.context.js";
2
2
  import { computed, createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template } from "vue";
3
3
  //#region src/components/range-calendar/range-calendar-header.vue?vue&type=script&setup=true&vapor=true&lang.ts
4
- var t0 = template("<header data-slot=range-calendar-header>", 1);
4
+ var t0 = template("<div data-slot=range-calendar-header>", 1);
5
5
  var range_calendar_header_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
6
6
  __name: "range-calendar-header",
7
7
  props: { class: {} },
@@ -0,0 +1,5 @@
1
+ import RouterProviderRoot from "./router-provider.js";
2
+ export { RouterProviderRoot, RouterProviderRoot as RouterProvider };
3
+ export type { RouterProviderRootProps, RouterProviderRootProps as RouterProviderProps, } from "./router-provider.types.js";
4
+ export { useRouterContext } from "./router-provider.context.js";
5
+ export type { RouterContext } from "./router-provider.context.js";
@@ -0,0 +1,3 @@
1
+ import { useRouterContext } from "./router-provider.context.js";
2
+ import router_provider_default from "./router-provider.js";
3
+ export { router_provider_default as RouterProvider, router_provider_default as RouterProviderRoot, useRouterContext };
@@ -0,0 +1,40 @@
1
+ /**
2
+ * The application's router, reduced to the three questions a link has to ask it.
3
+ *
4
+ * Ported from React Aria's `packages/react-aria/src/utils/RouterProvider.tsx`
5
+ * (react-aria 3.51.0), minus its `isNative` branch — this package has no native target.
6
+ *
7
+ * `resolveHref` is React's `useHref` renamed: in Vue a `use*` name promises a composable that
8
+ * may only be called during `setup()`, and this one is a plain function called from a `computed`.
9
+ */
10
+ export interface RouterContext {
11
+ /**
12
+ * Hands a same-origin, unmodified activation to the application's router.
13
+ *
14
+ * Receives the href as the link declared it, not as the anchor renders it — `resolveHref` is
15
+ * for the DOM, and a router wants back the path it was given.
16
+ */
17
+ navigate: (href: string, options?: unknown) => void;
18
+ /**
19
+ * Whether this href addresses the route showing now.
20
+ *
21
+ * The matching rule lives entirely here, in the application's own predicate: exact against
22
+ * prefix, trailing slashes and query handling all differ per route and per link, and a library
23
+ * that guessed would be wrong for half of them.
24
+ */
25
+ isCurrent: (href: string) => boolean;
26
+ /**
27
+ * Turns an app-relative href into the URL the anchor should carry, for a router mounted under
28
+ * a base path or running in hash mode. The rendered href is what a middle-click opens and what
29
+ * "copy link address" yields, so it has to be the real one.
30
+ */
31
+ resolveHref: (href: string) => string;
32
+ }
33
+ /**
34
+ * The router an ancestor has supplied, or `null` when nobody has and the browser's own navigation
35
+ * is what should happen.
36
+ *
37
+ * Loose, because most of the tree runs without a router — a documentation page, a test, an app
38
+ * that never routes — and following the href is the right answer there, not an error.
39
+ */
40
+ export declare const useRouterContext: () => RouterContext | null, provideRouterContext: (value: RouterContext | null) => RouterContext | null;
@@ -0,0 +1,16 @@
1
+ import { createContext } from "../../utils/create-context.js";
2
+ //#region src/components/router-provider/router-provider.context.ts
3
+ /**
4
+ * The router an ancestor has supplied, or `null` when nobody has and the browser's own navigation
5
+ * is what should happen.
6
+ *
7
+ * Loose, because most of the tree runs without a router — a documentation page, a test, an app
8
+ * that never routes — and following the href is the right answer there, not an error.
9
+ */
10
+ var [useRouterContext, provideRouterContext] = createContext({
11
+ defaultValue: null,
12
+ name: "RouterContext",
13
+ strict: false
14
+ });
15
+ //#endregion
16
+ export { provideRouterContext, useRouterContext };
@@ -0,0 +1,21 @@
1
+ import type { RouterProviderRootProps } from "./router-provider.types.js";
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, 'attrs' | 'emit' | 'slots'>>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<RouterProviderRootProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: () => unknown;
10
+ };
11
+ emit: {};
12
+ }>) => import('vue').VNode & {
13
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
14
+ };
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
17
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
18
+ [K in keyof T]: T[K];
19
+ } : {
20
+ [K in keyof T as K]: T[K];
21
+ }) & {};
@@ -0,0 +1,22 @@
1
+ import { provideRouterContext } from "./router-provider.context.js";
2
+ import { createSlot, defineVaporComponent } from "vue";
3
+ //#region src/components/router-provider/router-provider.vue?vue&type=script&setup=true&vapor=true&lang.ts
4
+ var router_provider_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
5
+ __name: "router-provider",
6
+ props: {
7
+ navigate: { type: Function },
8
+ isCurrent: { type: Function },
9
+ resolveHref: { type: Function }
10
+ },
11
+ setup(__props) {
12
+ const props = __props;
13
+ provideRouterContext({
14
+ isCurrent: (href) => props.isCurrent?.(href) ?? false,
15
+ navigate: (href, options) => props.navigate(href, options),
16
+ resolveHref: (href) => props.resolveHref?.(href) ?? href
17
+ });
18
+ return createSlot();
19
+ }
20
+ });
21
+ //#endregion
22
+ export { router_provider_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,23 @@
1
+ export interface RouterProviderRootProps {
2
+ /**
3
+ * Performs a client-side navigation to `href`. In a vue-router application this is
4
+ * `(href, options) => router.push({path: href, ...options})`.
5
+ *
6
+ * Receives the href as the link declared it, so a router gets back the path it was given
7
+ * rather than the one `resolveHref` produced for the DOM.
8
+ */
9
+ navigate: (href: string, options?: unknown) => void;
10
+ /**
11
+ * Whether an href addresses the route showing now, for links that ask with `aria-current="auto"`.
12
+ *
13
+ * The matching rule is yours: `(href) => route.path === href` for an exact match,
14
+ * `(href) => route.path.startsWith(href)` for a section. Omitted, no link resolves as current.
15
+ */
16
+ isCurrent?: (href: string) => boolean;
17
+ /**
18
+ * Rewrites an app-relative href into the URL the anchor should carry, for a router mounted
19
+ * under a base path or running in hash mode — `(href) => router.resolve(href).href`.
20
+ * Omitted, the href renders as written.
21
+ */
22
+ resolveHref?: (href: string) => string;
23
+ }
@@ -1,5 +1,6 @@
1
+ import { focusableIn } from "../../utils/focus.js";
1
2
  import { useScrollShadow } from "./use-scroll-shadow.js";
2
- import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setStaticTemplateRef, setStyle, shallowRef, template, watch } from "vue";
3
+ import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, setProp, setStaticTemplateRef, setStyle, shallowRef, template, watch } from "vue";
3
4
  import { scrollShadowVariants } from "@ropav/styles";
4
5
  //#region src/components/scroll-shadow/scroll-shadow-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
6
  var t0 = template("<div data-slot=scroll-shadow>", 1);
@@ -32,6 +33,10 @@ var scroll_shadow_root_vue_vue_type_script_setup_true_vapor_true_lang_default =
32
33
  setup(__props, { expose: __expose }) {
33
34
  const props = __props;
34
35
  const element = shallowRef(null);
36
+ const needsTabStop = shallowRef(false);
37
+ watch(element, (host) => {
38
+ needsTabStop.value = Boolean(host) && focusableIn(host).length === 0;
39
+ }, { flush: "post" });
35
40
  const styles = computed(() => scrollShadowVariants({
36
41
  hideScrollBar: props.hideScrollBar,
37
42
  orientation: props.orientation,
@@ -78,6 +83,7 @@ var scroll_shadow_root_vue_vue_type_script_setup_true_vapor_true_lang_default =
78
83
  setAttr(n1, "data-orientation", _props.orientation);
79
84
  setAttr(n1, "data-scroll-shadow-size", _props.size);
80
85
  setStyle(n1, style.value);
86
+ setProp(n1, "tabindex", needsTabStop.value ? 0 : void 0);
81
87
  });
82
88
  setInsertionState(n1);
83
89
  createSlot();
@@ -77,10 +77,34 @@ var useScrollShadow = (options) => {
77
77
  checkOverflow();
78
78
  current.addEventListener("scroll", checkOverflow, { passive: true });
79
79
  const observer = typeof ResizeObserver === "undefined" ? void 0 : new ResizeObserver(checkOverflow);
80
- observer?.observe(current);
80
+ /**
81
+ * The container **and** everything directly inside it.
82
+ *
83
+ * Watching the container alone sees only half of what makes a region scrollable: the other
84
+ * half is the content growing while the region keeps its size, which is what an accordion or
85
+ * a disclosure opening inside one does. Nothing scrolls and nothing resizes, so a check that
86
+ * waits for either turns up only once the reader scrolls — by which point the shadow has
87
+ * stopped being the hint it exists to be.
88
+ *
89
+ * Direct children are enough. In normal flow nothing can grow the scrollable area without
90
+ * growing one of them, so watching deeper would cost an entry per row and report the same
91
+ * thing.
92
+ */
93
+ const observe = () => {
94
+ observer?.disconnect();
95
+ observer?.observe(current);
96
+ for (const child of Array.from(current.children)) observer?.observe(child);
97
+ };
98
+ observe();
99
+ const mutations = typeof MutationObserver === "undefined" ? void 0 : new MutationObserver(() => {
100
+ observe();
101
+ checkOverflow();
102
+ });
103
+ mutations?.observe(current, { childList: true });
81
104
  onCleanup(() => {
82
105
  current.removeEventListener("scroll", checkOverflow);
83
106
  observer?.disconnect();
107
+ mutations?.disconnect();
84
108
  cancelPendingFrame();
85
109
  previous = null;
86
110
  });
@@ -13,6 +13,7 @@ export declare const SearchField: ((__VLS_props: NonNullable<Awaited<typeof __VL
13
13
  props: import('vue').PublicProps & {
14
14
  class?: string;
15
15
  variant?: import("@ropav/styles").SearchFieldVariants["variant"];
16
+ size?: import("@ropav/styles").SearchFieldVariants["size"];
16
17
  fullWidth?: boolean;
17
18
  value?: string;
18
19
  defaultValue?: string;
@@ -129,6 +130,7 @@ export declare const SearchField: ((__VLS_props: NonNullable<Awaited<typeof __VL
129
130
  props: import('vue').PublicProps & {
130
131
  class?: string;
131
132
  variant?: import("@ropav/styles").SearchFieldVariants["variant"];
133
+ size?: import("@ropav/styles").SearchFieldVariants["size"];
132
134
  fullWidth?: boolean;
133
135
  value?: string;
134
136
  defaultValue?: string;
@@ -5,7 +5,7 @@ import { useAutocompleteInputContext } from "../../composables/use-autocomplete.
5
5
  import { provideFieldErrorContext } from "../field-error/field-error.context.js";
6
6
  import { provideTextFieldControlContext } from "../../composables/use-text-field.js";
7
7
  import { provideSearchFieldContext } from "./search-field.context.js";
8
- import { useSearchField } from "../../composables/use-search-field.js";
8
+ import { useSearchField } from "./use-search-field.js";
9
9
  import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, template, unref, watch } from "vue";
10
10
  import { searchFieldVariants } from "@ropav/styles";
11
11
  //#region src/components/search-field/search-field-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
@@ -15,6 +15,7 @@ var search_field_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
15
15
  props: {
16
16
  class: {},
17
17
  variant: { default: void 0 },
18
+ size: {},
18
19
  fullWidth: {
19
20
  type: Boolean,
20
21
  default: void 0
@@ -128,6 +129,7 @@ var search_field_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /
128
129
  });
129
130
  const slots = computed(() => searchFieldVariants({
130
131
  fullWidth: props.fullWidth,
132
+ size: props.size,
131
133
  variant: props.variant
132
134
  }));
133
135
  provideFieldIdsContext(field.fieldIds);
@@ -4,6 +4,8 @@ export interface SearchFieldRootProps {
4
4
  class?: string;
5
5
  /** Visual variant. @default "primary" */
6
6
  variant?: SearchFieldVariants["variant"];
7
+ /** How tall the field stands, matching a button of the same size. @default "md" */
8
+ size?: SearchFieldVariants["size"];
7
9
  /** Whether the field stretches to fill its container. */
8
10
  fullWidth?: boolean;
9
11
  /** Text in the field. Makes it controlled. */
@@ -1,5 +1,5 @@
1
- import type { PressResponder } from "./press-responder.js";
2
- import type { UseTextFieldOptions, UseTextFieldReturn } from "./use-text-field.js";
1
+ import type { PressResponder } from "../../composables/press-responder.js";
2
+ import type { UseTextFieldOptions, UseTextFieldReturn } from "../../composables/use-text-field.js";
3
3
  import type { ComputedRef, MaybeRefOrGetter } from "vue";
4
4
  export interface UseSearchFieldOptions extends Omit<UseTextFieldOptions, "type"> {
5
5
  /** Kind of control the browser should offer. @default "search" */
@@ -1,7 +1,7 @@
1
- import { usePress } from "./use-press.js";
2
- import { useTextField } from "./use-text-field.js";
1
+ import { usePress } from "../../composables/use-press.js";
2
+ import { useTextField } from "../../composables/use-text-field.js";
3
3
  import { computed, toValue } from "vue";
4
- //#region src/composables/use-search-field.ts
4
+ //#region src/components/search-field/use-search-field.ts
5
5
  /**
6
6
  * Behaviour and accessibility for a search field, ported from React Aria's
7
7
  * `packages/react-aria/src/searchfield/useSearchField.ts` (react-aria 3.51.0).
@@ -0,0 +1,134 @@
1
+ import SegmentedControlIndicator from "./segmented-control-indicator.js";
2
+ import SegmentedControlItem from "./segmented-control-item.js";
3
+ import SegmentedControlRoot from "./segmented-control-root.js";
4
+ import SegmentedControlSeparator from "./segmented-control-separator.js";
5
+ export declare const SegmentedControl: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
6
+ attrs: any;
7
+ slots: {
8
+ default?: (props: import("./segmented-control.types.js").SegmentedControlRootSlotProps) => unknown;
9
+ };
10
+ emit: ((evt: "selectionChange", key: import("../../index.js").CollectionKey) => void) & ((evt: "update:selectedKey", key: import("../../index.js").CollectionKey) => void);
11
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
12
+ props: import('vue').PublicProps & {
13
+ class?: string;
14
+ size?: import("@ropav/styles").SegmentedControlVariants["size"];
15
+ fullWidth?: boolean;
16
+ selectedKey?: import("../../index.js").CollectionKey;
17
+ defaultSelectedKey?: import("../../index.js").CollectionKey;
18
+ disabledKeys?: import("../../index.js").CollectionKey[];
19
+ isDisabled?: boolean;
20
+ ariaLabel?: string;
21
+ ariaLabelledby?: string;
22
+ ariaDescribedby?: string;
23
+ onSelectionChange?: (((key: import("../../index.js").CollectionKey) => void) & ((key: import("../../index.js").CollectionKey) => any)) | undefined;
24
+ "onUpdate:selectedKey"?: ((key: import("../../index.js").CollectionKey) => any) | undefined;
25
+ } & (typeof globalThis extends {
26
+ __VLS_PROPS_FALLBACK: infer P;
27
+ } ? P : {});
28
+ expose: (exposed: {}) => void;
29
+ attrs: any;
30
+ slots: {
31
+ default?: (props: import("./segmented-control.types.js").SegmentedControlRootSlotProps) => unknown;
32
+ };
33
+ emit: ((evt: "selectionChange", key: import("../../index.js").CollectionKey) => void) & ((evt: "update:selectedKey", key: import("../../index.js").CollectionKey) => void);
34
+ }>) => import('vue').VNode & {
35
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
36
+ }) & {
37
+ Indicator: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
38
+ attrs: any;
39
+ slots: {};
40
+ emit: {};
41
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
42
+ props: import('vue').PublicProps & {
43
+ class?: string;
44
+ } & (typeof globalThis extends {
45
+ __VLS_PROPS_FALLBACK: infer P;
46
+ } ? P : {});
47
+ expose: (exposed: {}) => void;
48
+ attrs: any;
49
+ slots: {};
50
+ emit: {};
51
+ }>) => import('vue').VNode & {
52
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
53
+ };
54
+ Item: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
55
+ attrs: any;
56
+ slots: {
57
+ default?: (props: import("./segmented-control.types.js").SegmentedControlItemSlotProps) => unknown;
58
+ };
59
+ emit: {};
60
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
61
+ props: import('vue').PublicProps & {
62
+ class?: string;
63
+ id: import("../../index.js").CollectionKey;
64
+ isDisabled?: boolean;
65
+ textValue?: string;
66
+ ariaLabel?: string;
67
+ } & (typeof globalThis extends {
68
+ __VLS_PROPS_FALLBACK: infer P;
69
+ } ? P : {});
70
+ expose: (exposed: {}) => void;
71
+ attrs: any;
72
+ slots: {
73
+ default?: (props: import("./segmented-control.types.js").SegmentedControlItemSlotProps) => unknown;
74
+ };
75
+ emit: {};
76
+ }>) => import('vue').VNode & {
77
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
78
+ };
79
+ Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
80
+ attrs: any;
81
+ slots: {
82
+ default?: (props: import("./segmented-control.types.js").SegmentedControlRootSlotProps) => unknown;
83
+ };
84
+ emit: ((evt: "selectionChange", key: import("../../index.js").CollectionKey) => void) & ((evt: "update:selectedKey", key: import("../../index.js").CollectionKey) => void);
85
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
86
+ props: import('vue').PublicProps & {
87
+ class?: string;
88
+ size?: import("@ropav/styles").SegmentedControlVariants["size"];
89
+ fullWidth?: boolean;
90
+ selectedKey?: import("../../index.js").CollectionKey;
91
+ defaultSelectedKey?: import("../../index.js").CollectionKey;
92
+ disabledKeys?: import("../../index.js").CollectionKey[];
93
+ isDisabled?: boolean;
94
+ ariaLabel?: string;
95
+ ariaLabelledby?: string;
96
+ ariaDescribedby?: string;
97
+ onSelectionChange?: (((key: import("../../index.js").CollectionKey) => void) & ((key: import("../../index.js").CollectionKey) => any)) | undefined;
98
+ "onUpdate:selectedKey"?: ((key: import("../../index.js").CollectionKey) => any) | undefined;
99
+ } & (typeof globalThis extends {
100
+ __VLS_PROPS_FALLBACK: infer P;
101
+ } ? P : {});
102
+ expose: (exposed: {}) => void;
103
+ attrs: any;
104
+ slots: {
105
+ default?: (props: import("./segmented-control.types.js").SegmentedControlRootSlotProps) => unknown;
106
+ };
107
+ emit: ((evt: "selectionChange", key: import("../../index.js").CollectionKey) => void) & ((evt: "update:selectedKey", key: import("../../index.js").CollectionKey) => void);
108
+ }>) => import('vue').VNode & {
109
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
110
+ };
111
+ Separator: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
112
+ attrs: any;
113
+ slots: {};
114
+ emit: {};
115
+ }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
116
+ props: import('vue').PublicProps & {
117
+ class?: string;
118
+ } & (typeof globalThis extends {
119
+ __VLS_PROPS_FALLBACK: infer P;
120
+ } ? P : {});
121
+ expose: (exposed: {}) => void;
122
+ attrs: any;
123
+ slots: {};
124
+ emit: {};
125
+ }>) => import('vue').VNode & {
126
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
127
+ };
128
+ };
129
+ export { SegmentedControlRoot, SegmentedControlItem, SegmentedControlIndicator, SegmentedControlSeparator, };
130
+ export type { SegmentedControlRootProps, SegmentedControlRootProps as SegmentedControlProps, SegmentedControlRootSlotProps, SegmentedControlItemProps, SegmentedControlItemSlotProps, SegmentedControlIndicatorProps, SegmentedControlSeparatorProps, SegmentedControlOrientation, } from "./segmented-control.types.js";
131
+ export { useSegmentedControlContext, useSegmentedControlItemContext, } from "./segmented-control.context.js";
132
+ export type { SegmentedControlContext, SegmentedControlItemContext, } from "./segmented-control.context.js";
133
+ export { segmentedControlVariants } from "@ropav/styles";
134
+ export type { SegmentedControlVariants } from "@ropav/styles";
@@ -0,0 +1,15 @@
1
+ import { useSegmentedControlContext, useSegmentedControlItemContext } from "./segmented-control.context.js";
2
+ import segmented_control_indicator_default from "./segmented-control-indicator.js";
3
+ import segmented_control_item_default from "./segmented-control-item.js";
4
+ import segmented_control_root_default from "./segmented-control-root.js";
5
+ import segmented_control_separator_default from "./segmented-control-separator.js";
6
+ import { segmentedControlVariants } from "@ropav/styles";
7
+ //#region src/components/segmented-control/index.ts
8
+ var SegmentedControl = Object.assign(segmented_control_root_default, {
9
+ Indicator: segmented_control_indicator_default,
10
+ Item: segmented_control_item_default,
11
+ Root: segmented_control_root_default,
12
+ Separator: segmented_control_separator_default
13
+ });
14
+ //#endregion
15
+ export { SegmentedControl, segmented_control_indicator_default as SegmentedControlIndicator, segmented_control_item_default as SegmentedControlItem, segmented_control_root_default as SegmentedControlRoot, segmented_control_separator_default as SegmentedControlSeparator, segmentedControlVariants, useSegmentedControlContext, useSegmentedControlItemContext };
@@ -0,0 +1,19 @@
1
+ import type { SegmentedControlIndicatorProps } from "./segmented-control.types.js";
2
+ declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, 'attrs' | 'emit' | 'slots'>>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
3
+ props: import('vue').PublicProps & __VLS_PrettifyLocal<SegmentedControlIndicatorProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {};
9
+ emit: {};
10
+ }>) => import('vue').VNode & {
11
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
12
+ };
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
16
+ [K in keyof T]: T[K];
17
+ } : {
18
+ [K in keyof T as K]: T[K];
19
+ }) & {};
@@ -0,0 +1,36 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import { useSharedElement, useSharedElementScope } from "../../composables/use-shared-element.js";
4
+ import { useSegmentedControlContext, useSegmentedControlItemContext } from "./segmented-control.context.js";
5
+ import { createIf, defineVaporComponent, renderEffect, setAttr, setClass, setStaticTemplateRef, shallowRef, template, unref } from "vue";
6
+ //#region src/components/segmented-control/segmented-control-indicator.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
+ var t0 = template("<span aria-hidden=true data-slot=segmented-control-indicator>", 1);
8
+ var segmented_control_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
+ __name: "segmented-control-indicator",
10
+ props: { class: {} },
11
+ setup(__props) {
12
+ const props = __props;
13
+ const { slots } = useSegmentedControlContext();
14
+ const { isSelected } = useSegmentedControlItemContext();
15
+ const element = shallowRef(null);
16
+ const { isEntering, isExiting, isPresent } = useSharedElement({
17
+ elementRef: element,
18
+ isVisible: () => isSelected.value,
19
+ name: "SelectionIndicator",
20
+ scope: useSharedElementScope()
21
+ });
22
+ return createIf(() => unref(isPresent), () => {
23
+ const n2 = t0();
24
+ setStaticTemplateRef(n2, element, null, "element");
25
+ renderEffect(() => {
26
+ const _dataAttr = unref(dataAttr);
27
+ setClass(n2, unref(composeSlotClassName)(unref(slots).indicator, props.class));
28
+ setAttr(n2, "data-entering", _dataAttr(unref(isEntering)));
29
+ setAttr(n2, "data-exiting", _dataAttr(unref(isExiting)));
30
+ });
31
+ return n2;
32
+ });
33
+ }
34
+ });
35
+ //#endregion
36
+ export { segmented_control_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default as default };