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
@@ -0,0 +1,70 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import { useInteractionStates } from "../../composables/use-interaction-states.js";
4
+ import { useSidebarCollapsibleContext, useSidebarContext } from "./sidebar.context.js";
5
+ import { computed, createSlot, defineVaporComponent, on, renderEffect, setAttr, setClass, setInsertionState, setProp, template, unref } from "vue";
6
+ //#region src/components/sidebar/sidebar-collapsible-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
+ var t0 = template("<button data-slot=sidebar-collapsible-trigger type=button>", 1);
8
+ var sidebar_collapsible_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
+ __name: "sidebar-collapsible-trigger",
10
+ props: {
11
+ class: {},
12
+ isDisabled: {
13
+ type: Boolean,
14
+ default: void 0
15
+ },
16
+ ariaLabel: {}
17
+ },
18
+ setup(__props) {
19
+ const props = __props;
20
+ const { slots, state } = useSidebarContext();
21
+ const collapsible = useSidebarCollapsibleContext();
22
+ const isDisabled = computed(() => Boolean(props.isDisabled) || collapsible.isDisabled.value);
23
+ const interaction = useInteractionStates({ isDisabled });
24
+ const tabindex = computed(() => isDisabled.value ? void 0 : 0);
25
+ const isControlling = computed(() => !state.isCollapsed.value);
26
+ const className = computed(() => composeSlotClassName(slots.value.item, props.class));
27
+ const n1 = t0();
28
+ renderEffect(() => {
29
+ const _collapsible = unref(collapsible);
30
+ const _isControlling = isControlling.value;
31
+ const _dataAttr = unref(dataAttr);
32
+ const _isDisabled = isDisabled.value;
33
+ const _interaction = unref(interaction);
34
+ const _collapsible_isExpanded = _collapsible.isExpanded;
35
+ setProp(n1, "id", _collapsible.triggerId.value);
36
+ setAttr(n1, "aria-controls", _isControlling ? _collapsible.subMenuId.value : void 0);
37
+ setAttr(n1, "aria-expanded", _isControlling ? _collapsible_isExpanded.value : void 0);
38
+ setAttr(n1, "aria-label", props.ariaLabel);
39
+ setClass(n1, className.value);
40
+ setAttr(n1, "data-collapsed", _dataAttr(unref(state).isCollapsed.value));
41
+ setAttr(n1, "data-disabled", _dataAttr(_isDisabled));
42
+ setAttr(n1, "data-expanded", _dataAttr(_collapsible_isExpanded.value));
43
+ setAttr(n1, "data-focus-visible", _dataAttr(_interaction.isFocusVisible.value));
44
+ setAttr(n1, "data-focused", _dataAttr(_interaction.isFocused.value));
45
+ setAttr(n1, "data-hovered", _dataAttr(_interaction.isHovered.value));
46
+ setAttr(n1, "data-pressed", _dataAttr(_interaction.isPressed.value));
47
+ setProp(n1, "disabled", _isDisabled || void 0);
48
+ setProp(n1, "tabindex", tabindex.value);
49
+ });
50
+ setInsertionState(n1);
51
+ createSlot("default", {
52
+ isCollapsed: () => unref(state).isCollapsed.value,
53
+ isDisabled: () => isDisabled.value,
54
+ isExpanded: () => unref(collapsible).isExpanded.value,
55
+ isFocusVisible: () => unref(interaction).isFocusVisible.value,
56
+ isFocused: () => unref(interaction).isFocused.value,
57
+ isHovered: () => unref(interaction).isHovered.value,
58
+ isPressed: () => unref(interaction).isPressed.value
59
+ });
60
+ on(n1, "blur", (e) => unref(interaction).onBlur(e));
61
+ on(n1, "click", (e) => unref(collapsible).toggle(e));
62
+ on(n1, "focus", (e) => unref(interaction).onFocus(e));
63
+ on(n1, "pointerdown", (e) => unref(interaction).onPointerdown(e));
64
+ on(n1, "pointerenter", (e) => unref(interaction).onPointerenter(e));
65
+ on(n1, "pointerleave", (e) => unref(interaction).onPointerleave(e));
66
+ return n1;
67
+ }
68
+ });
69
+ //#endregion
70
+ export { sidebar_collapsible_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,24 @@
1
+ import type { SidebarCollapsibleProps, SidebarCollapsibleSlotProps } from "./sidebar.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<SidebarCollapsibleProps & {
4
+ onExpandedChange?: ((isExpanded: boolean) => any) | undefined;
5
+ "onUpdate:isExpanded"?: ((isExpanded: boolean) => any) | undefined;
6
+ }> & (typeof globalThis extends {
7
+ __VLS_PROPS_FALLBACK: infer P;
8
+ } ? P : {});
9
+ expose: (exposed: {}) => void;
10
+ attrs: any;
11
+ slots: {
12
+ default?: (props: SidebarCollapsibleSlotProps) => unknown;
13
+ };
14
+ emit: ((evt: "expandedChange", isExpanded: boolean) => void) & ((evt: "update:isExpanded", isExpanded: boolean) => void);
15
+ }>) => import('vue').VNode & {
16
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
17
+ };
18
+ declare const _default: typeof __VLS_export;
19
+ export default _default;
20
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
21
+ [K in keyof T]: T[K];
22
+ } : {
23
+ [K in keyof T as K]: T[K];
24
+ }) & {};
@@ -0,0 +1,78 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import { useId as useId$1 } from "../../composables/use-id.js";
4
+ import { useControllableState } from "../../composables/use-controllable-state.js";
5
+ import { provideSidebarCollapsibleContext, useSidebarContext } from "./sidebar.context.js";
6
+ import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, template, unref } from "vue";
7
+ //#region src/components/sidebar/sidebar-collapsible.vue?vue&type=script&setup=true&vapor=true&lang.ts
8
+ var t0 = template("<div data-slot=sidebar-collapsible>", 1);
9
+ var sidebar_collapsible_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
10
+ __name: "sidebar-collapsible",
11
+ props: {
12
+ class: {},
13
+ isExpanded: {
14
+ type: Boolean,
15
+ default: void 0
16
+ },
17
+ defaultExpanded: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
21
+ isDisabled: {
22
+ type: Boolean,
23
+ default: void 0
24
+ }
25
+ },
26
+ emits: ["expandedChange", "update:isExpanded"],
27
+ setup(__props, { emit: __emit }) {
28
+ const props = __props;
29
+ const emit = __emit;
30
+ const { slots, state } = useSidebarContext();
31
+ const id = useId$1();
32
+ const triggerId = computed(() => `${id.value}-trigger`);
33
+ const subMenuId = computed(() => `${id.value}-submenu`);
34
+ const isDisabled = computed(() => Boolean(props.isDisabled));
35
+ const { setState, state: expanded } = useControllableState({
36
+ defaultValue: props.defaultExpanded ?? false,
37
+ onValueChange: (isExpanded) => {
38
+ emit("update:isExpanded", isExpanded);
39
+ emit("expandedChange", isExpanded);
40
+ },
41
+ value: () => props.isExpanded
42
+ });
43
+ const isExpanded = computed(() => !state.isCollapsed.value && expanded.value);
44
+ const toggle = () => {
45
+ if (isDisabled.value) return;
46
+ if (state.isCollapsed.value) {
47
+ state.open();
48
+ setState(true);
49
+ return;
50
+ }
51
+ setState(!expanded.value);
52
+ };
53
+ provideSidebarCollapsibleContext({
54
+ isDisabled,
55
+ isExpanded,
56
+ subMenuId,
57
+ toggle,
58
+ triggerId
59
+ });
60
+ const n1 = t0();
61
+ renderEffect(() => {
62
+ const _dataAttr = unref(dataAttr);
63
+ setClass(n1, unref(composeSlotClassName)(unref(slots).group, props.class));
64
+ setAttr(n1, "data-collapsed", _dataAttr(unref(state).isCollapsed.value));
65
+ setAttr(n1, "data-disabled", _dataAttr(isDisabled.value));
66
+ setAttr(n1, "data-expanded", _dataAttr(isExpanded.value));
67
+ });
68
+ setInsertionState(n1);
69
+ createSlot("default", {
70
+ isCollapsed: () => unref(state).isCollapsed.value,
71
+ isDisabled: () => isDisabled.value,
72
+ isExpanded: () => isExpanded.value
73
+ });
74
+ return n1;
75
+ }
76
+ });
77
+ //#endregion
78
+ export { sidebar_collapsible_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarContentProps, SidebarPartSlotProps } from "./sidebar.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<SidebarContentProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,37 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { provideSeparatorContext } from "../separator/separator.context.js";
3
+ import scroll_shadow_root_default from "../scroll-shadow/scroll-shadow-root.js";
4
+ import { useSidebarContext } from "./sidebar.context.js";
5
+ import { computed, createComponent, createSlot, defineVaporComponent, extend, unref } from "vue";
6
+ //#region src/components/sidebar/sidebar-content.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
+ var sidebar_content_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
8
+ __name: "sidebar-content",
9
+ props: {
10
+ class: {},
11
+ showScrollShadow: {
12
+ type: Boolean,
13
+ default: true
14
+ },
15
+ scrollShadowSize: {}
16
+ },
17
+ setup(__props) {
18
+ const props = __props;
19
+ const { slots, state } = useSidebarContext();
20
+ provideSeparatorContext({ elementType: "div" });
21
+ const className = computed(() => composeSlotClassName(slots.value.content, props.class));
22
+ return createComponent(scroll_shadow_root_default, {
23
+ class: () => className.value,
24
+ "data-slot": "sidebar-content",
25
+ "is-enabled": () => props.showScrollShadow,
26
+ size: () => props.scrollShadowSize
27
+ }, extend(() => {
28
+ return createSlot("default", {
29
+ isCollapsed: () => unref(state).isCollapsed.value,
30
+ isMobile: () => unref(state).isMobile.value,
31
+ isOpen: () => unref(state).isOpen.value
32
+ }, null, 36);
33
+ }, { _: 8 }), true);
34
+ }
35
+ });
36
+ //#endregion
37
+ export { sidebar_content_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarFooterProps, SidebarPartSlotProps } from "./sidebar.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<SidebarFooterProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,24 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { useSidebarContext } from "./sidebar.context.js";
3
+ import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
4
+ //#region src/components/sidebar/sidebar-footer.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var t0 = template("<div data-slot=sidebar-footer>", 1);
6
+ var sidebar_footer_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
7
+ __name: "sidebar-footer",
8
+ props: { class: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const { slots, state } = useSidebarContext();
12
+ const n1 = t0();
13
+ renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).footer, props.class)));
14
+ setInsertionState(n1);
15
+ createSlot("default", {
16
+ isCollapsed: () => unref(state).isCollapsed.value,
17
+ isMobile: () => unref(state).isMobile.value,
18
+ isOpen: () => unref(state).isOpen.value
19
+ });
20
+ return n1;
21
+ }
22
+ });
23
+ //#endregion
24
+ export { sidebar_footer_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarGroupLabelProps, SidebarPartSlotProps } from "./sidebar.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<SidebarGroupLabelProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,32 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import { useSidebarContext, useSidebarGroupContext } from "./sidebar.context.js";
4
+ import { createSlot, defineVaporComponent, onScopeDispose, renderEffect, setAttr, setClass, setInsertionState, setProp, template, unref } from "vue";
5
+ //#region src/components/sidebar/sidebar-group-label.vue?vue&type=script&setup=true&vapor=true&lang.ts
6
+ var t0 = template("<div data-slot=sidebar-group-label>", 1);
7
+ var sidebar_group_label_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
8
+ __name: "sidebar-group-label",
9
+ props: { class: {} },
10
+ setup(__props) {
11
+ const props = __props;
12
+ const { slots, state } = useSidebarContext();
13
+ const group = useSidebarGroupContext();
14
+ const unregister = group?.registerLabel();
15
+ onScopeDispose(() => unregister?.(), true);
16
+ const n1 = t0();
17
+ renderEffect(() => {
18
+ setProp(n1, "id", unref(group)?.labelId.value);
19
+ setClass(n1, unref(composeSlotClassName)(unref(slots).groupLabel, props.class));
20
+ setAttr(n1, "data-collapsed", unref(dataAttr)(unref(state).isCollapsed.value));
21
+ });
22
+ setInsertionState(n1);
23
+ createSlot("default", {
24
+ isCollapsed: () => unref(state).isCollapsed.value,
25
+ isMobile: () => unref(state).isMobile.value,
26
+ isOpen: () => unref(state).isOpen.value
27
+ });
28
+ return n1;
29
+ }
30
+ });
31
+ //#endregion
32
+ export { sidebar_group_label_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarGroupProps, SidebarPartSlotProps } from "./sidebar.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<SidebarGroupProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,48 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import { useId as useId$1 } from "../../composables/use-id.js";
4
+ import { provideSidebarGroupContext, useSidebarContext } from "./sidebar.context.js";
5
+ import { computed, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, shallowRef, template, unref } from "vue";
6
+ //#region src/components/sidebar/sidebar-group.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
+ var t0 = template("<div data-slot=sidebar-group role=group>", 1);
8
+ var sidebar_group_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
+ __name: "sidebar-group",
10
+ props: {
11
+ class: {},
12
+ ariaLabel: {}
13
+ },
14
+ setup(__props) {
15
+ const props = __props;
16
+ const { slots, state } = useSidebarContext();
17
+ const labelId = useId$1();
18
+ const labels = shallowRef(0);
19
+ provideSidebarGroupContext({
20
+ labelId,
21
+ registerLabel: () => {
22
+ labels.value += 1;
23
+ return () => {
24
+ labels.value -= 1;
25
+ };
26
+ }
27
+ });
28
+ const labelledBy = computed(() => labels.value > 0 ? labelId.value : void 0);
29
+ const n1 = t0();
30
+ renderEffect(() => {
31
+ const _labelledBy = labelledBy.value;
32
+ const _props = props;
33
+ setAttr(n1, "aria-label", _labelledBy ? void 0 : _props.ariaLabel);
34
+ setAttr(n1, "aria-labelledby", _labelledBy);
35
+ setClass(n1, unref(composeSlotClassName)(unref(slots).group, _props.class));
36
+ setAttr(n1, "data-collapsed", unref(dataAttr)(unref(state).isCollapsed.value));
37
+ });
38
+ setInsertionState(n1);
39
+ createSlot("default", {
40
+ isCollapsed: () => unref(state).isCollapsed.value,
41
+ isMobile: () => unref(state).isMobile.value,
42
+ isOpen: () => unref(state).isOpen.value
43
+ });
44
+ return n1;
45
+ }
46
+ });
47
+ //#endregion
48
+ export { sidebar_group_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarHeaderProps, SidebarPartSlotProps } from "./sidebar.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<SidebarHeaderProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,24 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { useSidebarContext } from "./sidebar.context.js";
3
+ import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
4
+ //#region src/components/sidebar/sidebar-header.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var t0 = template("<div data-slot=sidebar-header>", 1);
6
+ var sidebar_header_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
7
+ __name: "sidebar-header",
8
+ props: { class: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const { slots, state } = useSidebarContext();
12
+ const n1 = t0();
13
+ renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).header, props.class)));
14
+ setInsertionState(n1);
15
+ createSlot("default", {
16
+ isCollapsed: () => unref(state).isCollapsed.value,
17
+ isMobile: () => unref(state).isMobile.value,
18
+ isOpen: () => unref(state).isOpen.value
19
+ });
20
+ return n1;
21
+ }
22
+ });
23
+ //#endregion
24
+ export { sidebar_header_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarInsetProps, SidebarPartSlotProps } from "./sidebar.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<SidebarInsetProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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,24 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { useSidebarContext } from "./sidebar.context.js";
3
+ import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
4
+ //#region src/components/sidebar/sidebar-inset.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var t0 = template("<div data-slot=sidebar-inset>", 1);
6
+ var sidebar_inset_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
7
+ __name: "sidebar-inset",
8
+ props: { class: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const { slots, state } = useSidebarContext();
12
+ const n1 = t0();
13
+ renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).inset, props.class)));
14
+ setInsertionState(n1);
15
+ createSlot("default", {
16
+ isCollapsed: () => unref(state).isCollapsed.value,
17
+ isMobile: () => unref(state).isMobile.value,
18
+ isOpen: () => unref(state).isOpen.value
19
+ });
20
+ return n1;
21
+ }
22
+ });
23
+ //#endregion
24
+ export { sidebar_inset_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarItemIconProps } from "./sidebar.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<SidebarItemIconProps> & (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,20 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { useSidebarContext } from "./sidebar.context.js";
3
+ import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
4
+ //#region src/components/sidebar/sidebar-item-icon.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var t0 = template("<span aria-hidden=true data-slot=sidebar-item-icon>", 1);
6
+ var sidebar_item_icon_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
7
+ __name: "sidebar-item-icon",
8
+ props: { class: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const { slots } = useSidebarContext();
12
+ const n1 = t0();
13
+ renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).itemIcon, props.class)));
14
+ setInsertionState(n1);
15
+ createSlot();
16
+ return n1;
17
+ }
18
+ });
19
+ //#endregion
20
+ export { sidebar_item_icon_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarItemIndicatorProps } from "./sidebar.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<SidebarItemIndicatorProps> & (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,48 @@
1
+ import { composeSlotClassName } from "../../utils/compose.js";
2
+ import { dataAttr } from "../../utils/assertion.js";
3
+ import icon_chevron_down_default from "../icons/icon-chevron-down.js";
4
+ import { useSidebarCollapsibleContext, useSidebarContext } from "./sidebar.context.js";
5
+ import { computed, createComponent, createIf, createSlot, defineVaporComponent, renderEffect, setAttr, setClass, setInsertionState, template, unref, useSlots } from "vue";
6
+ //#region src/components/sidebar/sidebar-item-indicator.vue?vue&type=script&setup=true&vapor=true&lang.ts
7
+ var t0 = template("<span aria-hidden=true data-slot=sidebar-item-indicator>", 1);
8
+ var sidebar_item_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
9
+ __name: "sidebar-item-indicator",
10
+ props: { class: {} },
11
+ setup(__props) {
12
+ const props = __props;
13
+ const iconSlots = useSlots();
14
+ const { slots, state } = useSidebarContext();
15
+ const collapsible = useSidebarCollapsibleContext();
16
+ /**
17
+ * With no icon of its own to render, the built-in chevron carries the class and the state directly,
18
+ * exactly as `disclosure-indicator.vue` does. That matters inside a button, where the stylesheet
19
+ * reaches icons through an `svg` selector: a wrapper element would not match it.
20
+ *
21
+ * A custom icon does need a wrapper. Reading a slot in Vapor renders it, so the icon cannot be
22
+ * inspected and handed the class the way React clones it into place.
23
+ */
24
+ const hasCustomIcon = iconSlots.default !== void 0;
25
+ const className = computed(() => composeSlotClassName(slots.value.itemIndicator, props.class));
26
+ return createIf(() => hasCustomIcon, () => {
27
+ const n3 = t0();
28
+ renderEffect(() => {
29
+ const _dataAttr = unref(dataAttr);
30
+ setClass(n3, className.value);
31
+ setAttr(n3, "data-collapsed", _dataAttr(unref(state).isCollapsed.value));
32
+ setAttr(n3, "data-expanded", _dataAttr(unref(collapsible).isExpanded.value));
33
+ });
34
+ setInsertionState(n3);
35
+ createSlot();
36
+ return n3;
37
+ }, () => {
38
+ return createComponent(icon_chevron_down_default, {
39
+ class: () => className.value,
40
+ "data-collapsed": () => unref(dataAttr)(unref(state).isCollapsed.value),
41
+ "data-expanded": () => unref(dataAttr)(unref(collapsible).isExpanded.value),
42
+ "data-slot": "sidebar-item-indicator"
43
+ }, null, true);
44
+ }, 261);
45
+ }
46
+ });
47
+ //#endregion
48
+ export { sidebar_item_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { SidebarItemLabelProps, SidebarPartSlotProps } from "./sidebar.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<SidebarItemLabelProps> & (typeof globalThis extends {
4
+ __VLS_PROPS_FALLBACK: infer P;
5
+ } ? P : {});
6
+ expose: (exposed: {}) => void;
7
+ attrs: any;
8
+ slots: {
9
+ default?: (props: SidebarPartSlotProps) => 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
+ }) & {};