ropav 0.5.0 → 0.7.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 (337) hide show
  1. package/README.md +32 -9
  2. package/dist/components/accordion/index.d.ts +2 -190
  3. package/dist/components/accordion/index.js +1 -12
  4. package/dist/components/alert/alert-indicator.js +1 -1
  5. package/dist/components/alert/index.d.ts +2 -131
  6. package/dist/components/alert/index.js +1 -10
  7. package/dist/components/alert-dialog/alert-dialog-close.js +1 -1
  8. package/dist/components/alert-dialog/alert-dialog-heading.js +2 -2
  9. package/dist/components/alert-dialog/alert-dialog.types.d.ts +1 -1
  10. package/dist/components/alert-dialog/index.d.ts +2 -296
  11. package/dist/components/alert-dialog/index.js +1 -17
  12. package/dist/components/autocomplete/autocomplete-popover.js +2 -2
  13. package/dist/components/autocomplete/autocomplete-root.js +1 -1
  14. package/dist/components/autocomplete/index.d.ts +2 -250
  15. package/dist/components/autocomplete/index.js +1 -12
  16. package/dist/components/avatar/avatar.context.d.ts +1 -1
  17. package/dist/components/avatar/index.d.ts +2 -101
  18. package/dist/components/avatar/index.js +1 -8
  19. package/dist/components/badge/badge-anchor.js +5 -4
  20. package/dist/components/badge/badge-auto-label.d.ts +4 -4
  21. package/dist/components/badge/badge-auto-label.js +2 -2
  22. package/dist/components/badge/badge-root.js +2 -2
  23. package/dist/components/badge/index.d.ts +2 -95
  24. package/dist/components/badge/index.js +1 -8
  25. package/dist/components/breadcrumbs/breadcrumbs-item.js +2 -2
  26. package/dist/components/breadcrumbs/breadcrumbs.types.d.ts +2 -2
  27. package/dist/components/breadcrumbs/index.d.ts +2 -90
  28. package/dist/components/breadcrumbs/index.js +1 -7
  29. package/dist/components/button/index.d.ts +2 -61
  30. package/dist/components/button/index.js +1 -4
  31. package/dist/components/button-group/index.d.ts +2 -72
  32. package/dist/components/button-group/index.js +1 -7
  33. package/dist/components/calendar/calendar-grid-body.js +2 -2
  34. package/dist/components/calendar/calendar-grid-header.js +1 -1
  35. package/dist/components/calendar/calendar-grid.js +2 -1
  36. package/dist/components/calendar/calendar-root.d.ts +1 -1
  37. package/dist/components/calendar/calendar-root.js +13 -13
  38. package/dist/components/calendar/calendar.context.js +1 -1
  39. package/dist/components/calendar/calendar.types.d.ts +3 -1
  40. package/dist/components/calendar/index.d.ts +2 -422
  41. package/dist/components/calendar/index.js +1 -27
  42. package/dist/components/calendar-year-picker/calendar-year-picker-cell.js +15 -11
  43. package/dist/components/calendar-year-picker/calendar-year-picker-grid-body.js +9 -10
  44. package/dist/components/calendar-year-picker/calendar-year-picker-grid.js +36 -32
  45. package/dist/components/calendar-year-picker/calendar-year-picker-trigger-heading.js +1 -1
  46. package/dist/components/calendar-year-picker/calendar-year-picker-trigger.js +1 -1
  47. package/dist/components/calendar-year-picker/calendar-year-picker.context.d.ts +26 -8
  48. package/dist/components/calendar-year-picker/calendar-year-picker.context.js +2 -2
  49. package/dist/components/calendar-year-picker/calendar-year-picker.types.d.ts +8 -1
  50. package/dist/components/calendar-year-picker/index.d.ts +0 -134
  51. package/dist/components/calendar-year-picker/index.js +1 -11
  52. package/dist/components/card/index.d.ts +2 -152
  53. package/dist/components/card/index.js +1 -11
  54. package/dist/components/checkbox/index.d.ts +2 -146
  55. package/dist/components/checkbox/index.js +1 -9
  56. package/dist/components/checkbox-group/index.d.ts +2 -77
  57. package/dist/components/checkbox-group/index.js +1 -4
  58. package/dist/components/chip/chip-auto-label.d.ts +4 -4
  59. package/dist/components/chip/chip-auto-label.js +2 -2
  60. package/dist/components/chip/chip-root.js +2 -2
  61. package/dist/components/chip/index.d.ts +2 -72
  62. package/dist/components/chip/index.js +1 -7
  63. package/dist/components/close-button/index.d.ts +2 -55
  64. package/dist/components/close-button/index.js +1 -4
  65. package/dist/components/color-area/index.d.ts +2 -100
  66. package/dist/components/color-area/index.js +1 -7
  67. package/dist/components/color-field/color-field-root.js +1 -1
  68. package/dist/components/color-field/index.d.ts +2 -175
  69. package/dist/components/color-field/index.js +1 -14
  70. package/dist/components/color-input-group/index.d.ts +2 -115
  71. package/dist/components/color-input-group/index.js +1 -9
  72. package/dist/components/color-picker/color-picker-popover.js +2 -2
  73. package/dist/components/color-picker/index.d.ts +2 -110
  74. package/dist/components/color-picker/index.js +1 -8
  75. package/dist/components/color-slider/index.d.ts +2 -138
  76. package/dist/components/color-slider/index.js +1 -9
  77. package/dist/components/color-swatch/index.d.ts +2 -59
  78. package/dist/components/color-swatch/index.js +1 -4
  79. package/dist/components/color-swatch-picker/color-swatch-picker-item.js +1 -1
  80. package/dist/components/color-swatch-picker/index.d.ts +2 -129
  81. package/dist/components/color-swatch-picker/index.js +1 -9
  82. package/dist/components/combo-box/combo-box-popover.js +2 -2
  83. package/dist/components/combo-box/combo-box.types.d.ts +1 -1
  84. package/dist/components/combo-box/index.d.ts +2 -229
  85. package/dist/components/combo-box/index.js +1 -10
  86. package/dist/components/date-field/date-field-root.js +2 -2
  87. package/dist/components/date-field/index.d.ts +2 -241
  88. package/dist/components/date-field/index.js +1 -12
  89. package/dist/components/date-input-group/use-date-segment.js +1 -1
  90. package/dist/components/date-picker/date-picker-popover.js +2 -2
  91. package/dist/components/date-picker/date-picker-root.js +6 -3
  92. package/dist/components/date-picker/index.d.ts +2 -186
  93. package/dist/components/date-picker/index.js +1 -9
  94. package/dist/components/date-range-picker/date-range-picker-popover.js +2 -2
  95. package/dist/components/date-range-picker/date-range-picker-root.js +6 -3
  96. package/dist/components/date-range-picker/index.d.ts +2 -209
  97. package/dist/components/date-range-picker/index.js +1 -10
  98. package/dist/components/description/index.d.ts +2 -45
  99. package/dist/components/description/index.js +1 -4
  100. package/dist/components/disclosure/disclosure-root.js +3 -3
  101. package/dist/components/disclosure/index.d.ts +2 -163
  102. package/dist/components/disclosure/index.js +1 -11
  103. package/dist/components/disclosure-group/index.d.ts +2 -57
  104. package/dist/components/disclosure-group/index.js +1 -4
  105. package/dist/components/drawer/drawer-close.js +1 -1
  106. package/dist/components/drawer/drawer-dialog.js +1 -1
  107. package/dist/components/drawer/drawer-heading.js +2 -2
  108. package/dist/components/drawer/drawer.types.d.ts +1 -1
  109. package/dist/components/drawer/index.d.ts +2 -291
  110. package/dist/components/drawer/index.js +1 -17
  111. package/dist/components/drop-zone/drop-zone-root.d.ts +23 -0
  112. package/dist/components/drop-zone/drop-zone-root.js +153 -0
  113. package/dist/components/drop-zone/drop-zone-trigger.d.ts +21 -0
  114. package/dist/components/drop-zone/drop-zone-trigger.js +20 -0
  115. package/dist/components/drop-zone/drop-zone.accept.d.ts +19 -0
  116. package/dist/components/drop-zone/drop-zone.accept.js +28 -0
  117. package/dist/components/drop-zone/drop-zone.context.d.ts +6 -0
  118. package/dist/components/drop-zone/drop-zone.context.js +5 -0
  119. package/dist/components/drop-zone/drop-zone.types.d.ts +30 -0
  120. package/dist/components/drop-zone/index.d.ts +8 -0
  121. package/dist/components/drop-zone/index.js +5 -0
  122. package/dist/components/dropdown/dropdown-popover.js +2 -2
  123. package/dist/components/dropdown/index.d.ts +2 -265
  124. package/dist/components/dropdown/index.js +1 -23
  125. package/dist/components/empty-state/index.d.ts +2 -45
  126. package/dist/components/empty-state/index.js +1 -4
  127. package/dist/components/error-message/index.d.ts +2 -45
  128. package/dist/components/error-message/index.js +1 -4
  129. package/dist/components/field-error/field-error-root.js +2 -2
  130. package/dist/components/field-error/index.d.ts +2 -66
  131. package/dist/components/field-error/index.js +1 -7
  132. package/dist/components/fieldset/index.d.ts +2 -110
  133. package/dist/components/fieldset/index.js +1 -9
  134. package/dist/components/form/index.d.ts +2 -49
  135. package/dist/components/form/index.js +1 -4
  136. package/dist/components/header/index.d.ts +2 -45
  137. package/dist/components/header/index.js +1 -4
  138. package/dist/components/i18n-provider/index.d.ts +2 -2
  139. package/dist/components/i18n-provider/index.js +1 -1
  140. package/dist/components/index.d.ts +1 -0
  141. package/dist/components/input/index.d.ts +2 -51
  142. package/dist/components/input/index.js +1 -4
  143. package/dist/components/input-group/index.d.ts +2 -141
  144. package/dist/components/input-group/index.js +1 -10
  145. package/dist/components/input-otp/index.d.ts +2 -151
  146. package/dist/components/input-otp/index.js +1 -9
  147. package/dist/components/kbd/index.d.ts +2 -86
  148. package/dist/components/kbd/index.js +1 -8
  149. package/dist/components/label/index.d.ts +2 -51
  150. package/dist/components/label/index.js +1 -4
  151. package/dist/components/link/index.d.ts +2 -94
  152. package/dist/components/link/index.js +1 -7
  153. package/dist/components/list-box/index.d.ts +2 -191
  154. package/dist/components/list-box/index.js +1 -14
  155. package/dist/components/list-box/list-box-drop-indicator.js +2 -2
  156. package/dist/components/list-box/list-box-root.js +4 -4
  157. package/dist/components/list-box-item/index.d.ts +2 -74
  158. package/dist/components/list-box-item/index.js +1 -7
  159. package/dist/components/list-box-item/list-box-item-root.js +2 -2
  160. package/dist/components/list-box-section/index.d.ts +2 -47
  161. package/dist/components/list-box-section/index.js +1 -4
  162. package/dist/components/menu/index.d.ts +2 -83
  163. package/dist/components/menu/index.js +1 -4
  164. package/dist/components/menu-item/index.d.ts +2 -96
  165. package/dist/components/menu-item/index.js +1 -8
  166. package/dist/components/menu-item/menu-item-root.js +2 -2
  167. package/dist/components/menu-section/index.d.ts +2 -63
  168. package/dist/components/menu-section/index.js +1 -4
  169. package/dist/components/meter/index.d.ts +2 -127
  170. package/dist/components/meter/index.js +1 -9
  171. package/dist/components/modal/index.d.ts +2 -296
  172. package/dist/components/modal/index.js +1 -17
  173. package/dist/components/modal/modal-close.js +1 -1
  174. package/dist/components/modal/modal-heading.js +2 -2
  175. package/dist/components/modal/modal.context.d.ts +2 -2
  176. package/dist/components/modal/modal.types.d.ts +1 -1
  177. package/dist/components/number-field/index.d.ts +2 -186
  178. package/dist/components/number-field/index.js +1 -10
  179. package/dist/components/number-field/number-field-decrement-button.js +1 -1
  180. package/dist/components/number-field/number-field-increment-button.js +1 -1
  181. package/dist/components/overlay/overlay-slots.d.ts +1 -1
  182. package/dist/components/pagination/index.d.ts +2 -244
  183. package/dist/components/pagination/index.js +1 -15
  184. package/dist/components/pagination/pagination-next.js +4 -1
  185. package/dist/components/pagination/pagination-previous.js +4 -1
  186. package/dist/components/popover/index.d.ts +2 -172
  187. package/dist/components/popover/index.js +1 -11
  188. package/dist/components/popover/popover-arrow.js +2 -2
  189. package/dist/components/popover/popover-content.js +2 -2
  190. package/dist/components/popover/popover-heading.js +2 -2
  191. package/dist/components/popover/popover.types.d.ts +1 -1
  192. package/dist/components/progress-bar/index.d.ts +2 -129
  193. package/dist/components/progress-bar/index.js +1 -9
  194. package/dist/components/progress-bar/progress-bar-root.js +4 -0
  195. package/dist/components/progress-bar/progress-bar.types.d.ts +7 -0
  196. package/dist/components/progress-circle/index.d.ts +2 -124
  197. package/dist/components/progress-circle/index.js +1 -9
  198. package/dist/components/radio/index.d.ts +2 -120
  199. package/dist/components/radio/index.js +1 -9
  200. package/dist/components/radio-group/index.d.ts +2 -79
  201. package/dist/components/radio-group/index.js +1 -4
  202. package/dist/components/range-calendar/index.d.ts +2 -424
  203. package/dist/components/range-calendar/index.js +1 -27
  204. package/dist/components/range-calendar/range-calendar-cell.js +4 -2
  205. package/dist/components/range-calendar/range-calendar-grid-body.js +2 -2
  206. package/dist/components/range-calendar/range-calendar-grid-header.js +1 -1
  207. package/dist/components/range-calendar/range-calendar-grid.js +2 -1
  208. package/dist/components/range-calendar/range-calendar-root.d.ts +3 -3
  209. package/dist/components/range-calendar/range-calendar-root.js +13 -13
  210. package/dist/components/range-calendar/range-calendar.context.d.ts +1 -1
  211. package/dist/components/range-calendar/range-calendar.context.js +1 -1
  212. package/dist/components/range-calendar/range-calendar.types.d.ts +3 -1
  213. package/dist/components/router-provider/index.d.ts +2 -2
  214. package/dist/components/router-provider/index.js +1 -1
  215. package/dist/components/scroll-shadow/index.d.ts +2 -69
  216. package/dist/components/scroll-shadow/index.js +1 -4
  217. package/dist/components/search-field/index.d.ts +2 -195
  218. package/dist/components/search-field/index.js +1 -10
  219. package/dist/components/search-field/search-field-clear-button.js +5 -5
  220. package/dist/components/segmented-control/index.d.ts +2 -126
  221. package/dist/components/segmented-control/index.js +1 -9
  222. package/dist/components/select/index.d.ts +2 -202
  223. package/dist/components/select/index.js +1 -10
  224. package/dist/components/select/select-popover.js +2 -2
  225. package/dist/components/select/select-value.js +1 -1
  226. package/dist/components/separator/index.d.ts +2 -41
  227. package/dist/components/separator/index.js +1 -4
  228. package/dist/components/sidebar/index.d.ts +2 -518
  229. package/dist/components/sidebar/index.js +1 -25
  230. package/dist/components/sidebar/sidebar-content.js +2 -2
  231. package/dist/components/sidebar/sidebar-item-tooltip.js +2 -2
  232. package/dist/components/sidebar/sidebar-panel.js +1 -0
  233. package/dist/components/sidebar/sidebar-rail.js +1 -0
  234. package/dist/components/sidebar/sidebar-root.js +26 -6
  235. package/dist/components/sidebar/sidebar.state.d.ts +3 -0
  236. package/dist/components/sidebar/sidebar.state.js +5 -0
  237. package/dist/components/sidebar/sidebar.types.d.ts +16 -2
  238. package/dist/components/skeleton/index.d.ts +2 -47
  239. package/dist/components/skeleton/index.js +1 -4
  240. package/dist/components/slider/index.d.ts +2 -180
  241. package/dist/components/slider/index.js +1 -11
  242. package/dist/components/spinner/index.d.ts +2 -41
  243. package/dist/components/spinner/index.js +1 -4
  244. package/dist/components/splitter/index.d.ts +2 -134
  245. package/dist/components/splitter/index.js +1 -8
  246. package/dist/components/surface/index.d.ts +2 -47
  247. package/dist/components/surface/index.js +1 -4
  248. package/dist/components/switch/index.d.ts +2 -165
  249. package/dist/components/switch/index.js +1 -10
  250. package/dist/components/switch-group/index.d.ts +2 -47
  251. package/dist/components/switch-group/index.js +1 -4
  252. package/dist/components/table/index.d.ts +2 -442
  253. package/dist/components/table/index.js +1 -23
  254. package/dist/components/table/table-body.js +9 -9
  255. package/dist/components/table/table-cell.js +3 -3
  256. package/dist/components/table/table-column.js +4 -4
  257. package/dist/components/table/table-content.js +3 -3
  258. package/dist/components/table/table-drag-handle.js +1 -1
  259. package/dist/components/table/table-drop-indicator.js +9 -7
  260. package/dist/components/table/table-header.js +4 -4
  261. package/dist/components/table/table-load-more.js +5 -5
  262. package/dist/components/table/table-row.js +4 -4
  263. package/dist/components/table/table.context.d.ts +2 -2
  264. package/dist/components/table/table.types.d.ts +3 -3
  265. package/dist/components/tabs/index.d.ts +2 -189
  266. package/dist/components/tabs/index.js +1 -12
  267. package/dist/components/tabs/tabs-list-container.js +2 -2
  268. package/dist/components/tag/index.d.ts +2 -76
  269. package/dist/components/tag/index.js +1 -7
  270. package/dist/components/tag/tag-remove-button.js +2 -2
  271. package/dist/components/tag-group/index.d.ts +2 -93
  272. package/dist/components/tag-group/index.js +1 -7
  273. package/dist/components/textarea/index.d.ts +2 -51
  274. package/dist/components/textarea/index.js +1 -4
  275. package/dist/components/textfield/index.d.ts +2 -109
  276. package/dist/components/textfield/index.js +1 -4
  277. package/dist/components/time-field/index.d.ts +2 -233
  278. package/dist/components/time-field/index.js +1 -12
  279. package/dist/components/toast/index.d.ts +2 -216
  280. package/dist/components/toast/index.js +1 -15
  281. package/dist/components/toast/toast-action-button.js +2 -2
  282. package/dist/components/toast/toast-default-content.js +1 -1
  283. package/dist/components/toast/toast-queue.d.ts +1 -1
  284. package/dist/components/toast/toast-queue.js +1 -1
  285. package/dist/components/toast/toast-root.js +1 -1
  286. package/dist/components/toast/toast.types.d.ts +3 -3
  287. package/dist/components/toggle-button/index.d.ts +2 -65
  288. package/dist/components/toggle-button/index.js +1 -4
  289. package/dist/components/toggle-button-group/index.d.ts +2 -82
  290. package/dist/components/toggle-button-group/index.js +1 -7
  291. package/dist/components/toolbar/index.d.ts +2 -49
  292. package/dist/components/toolbar/index.js +1 -4
  293. package/dist/components/tooltip/index.d.ts +2 -136
  294. package/dist/components/tooltip/index.js +1 -9
  295. package/dist/components/tooltip/tooltip-arrow.js +2 -2
  296. package/dist/components/tooltip/tooltip-root.js +1 -1
  297. package/dist/components/tooltip/tooltip.types.d.ts +1 -1
  298. package/dist/components/typography/code.js +2 -2
  299. package/dist/components/typography/heading.js +2 -2
  300. package/dist/components/typography/index.d.ts +2 -1269
  301. package/dist/components/typography/index.js +1 -10
  302. package/dist/components/typography/paragraph.js +2 -2
  303. package/dist/components/typography/typography-root.js +2 -2
  304. package/dist/composables/index.d.ts +1 -0
  305. package/dist/composables/use-calendar-grid.js +2 -1
  306. package/dist/composables/use-calendar-year-picker.js +12 -3
  307. package/dist/composables/use-color-slider.d.ts +1 -1
  308. package/dist/composables/use-color-slider.js +1 -1
  309. package/dist/composables/use-drag-and-drop.js +1 -1
  310. package/dist/composables/use-droppable-collection.js +1 -1
  311. package/dist/composables/use-droppable-item.js +1 -1
  312. package/dist/composables/use-press.d.ts +10 -0
  313. package/dist/composables/use-press.js +27 -2
  314. package/dist/composables/use-prevent-scroll.d.ts +11 -5
  315. package/dist/composables/use-prevent-scroll.js +11 -5
  316. package/dist/composables/use-range-calendar.js +2 -1
  317. package/dist/composables/use-text-field.js +1 -1
  318. package/dist/index.d.ts +1 -1
  319. package/dist/index.js +118 -114
  320. package/dist/styles-no-preflight.css +3 -0
  321. package/dist/styles-overrides.css +15 -0
  322. package/dist/styles.css +1 -16
  323. package/dist/utils/calendar-systems.d.ts +14 -0
  324. package/dist/utils/calendar-systems.js +2 -0
  325. package/dist/utils/calendar.d.ts +14 -5
  326. package/dist/utils/calendar.js +18 -21
  327. package/dist/utils/compose.d.ts +4 -6
  328. package/dist/utils/compose.js +4 -6
  329. package/dist/utils/dnd-list-drop-target-delegate.d.ts +19 -1
  330. package/dist/utils/dnd-list-drop-target-delegate.js +37 -6
  331. package/dist/utils/index.d.ts +1 -0
  332. package/dist/utils/virtualizer-list-layout.d.ts +8 -0
  333. package/dist/utils/virtualizer-list-layout.js +12 -2
  334. package/dist/utils/virtualizer-table-layout.d.ts +1 -0
  335. package/dist/utils/virtualizer-table-layout.js +3 -0
  336. package/dist/version.js +1 -1
  337. package/package.json +13 -6
package/README.md CHANGED
@@ -1,20 +1,43 @@
1
1
  # Ropav
2
2
 
3
3
  A Vue 3 component library built on [Vue Vapor](https://github.com/vuejs/core-vapor), styled by
4
- [`@ropav/styles`](packages/styles) and Tailwind CSS v4. Published on npm as
5
- [`ropav`](https://www.npmjs.com/package/ropav).
4
+ [`@ropav/styles`](https://www.npmjs.com/package/@ropav/styles) and Tailwind CSS v4. Published on
5
+ npm as [`ropav`](https://www.npmjs.com/package/ropav).
6
+
7
+ **[Documentation](https://ropav.netlify.app)** · [Components](https://ropav.netlify.app/components/)
8
+ · [Theming](https://ropav.netlify.app/theming/) · [Storybook](https://ropav-storybook.netlify.app)
6
9
 
7
10
  > Ropav is a port of [HeroUI v3](https://github.com/heroui-inc/heroui) to Vue Vapor: the style layer is
8
11
  > vendored from `@heroui/styles@3.2.4`, the behaviour layer is re-implemented from React Aria.
9
12
 
10
13
  ## Packages
11
14
 
12
- | Package | Description |
13
- | -------------------- | ------------------------------------------------ |
14
- | `packages/ropav` | The component library |
15
- | `packages/styles` | CSS + `tv()` variants (`@ropav/styles`) |
16
- | `packages/storybook` | Storybook the only place to see components run |
17
- | `packages/testing` | Shared test harness (jsdom + Playwright browser) |
15
+ | Package | Description |
16
+ | -------------------- | ----------------------------------------------------- |
17
+ | `packages/ropav` | The component library |
18
+ | `packages/styles` | CSS + `tv()` variants (`@ropav/styles`) |
19
+ | `packages/docs` | The documentation site |
20
+ | `packages/storybook` | Storybook every component, documented here or not |
21
+ | `packages/testing` | Shared test harness (jsdom + Playwright browser) |
22
+
23
+ ## Calendar systems
24
+
25
+ The calendars, fields and pickers build **Gregorian** dates whatever calendar the locale asks
26
+ for — a deliberate default, and about bundle weight rather than correctness. An app serving a
27
+ locale that uses another system opts in:
28
+
29
+ ```vue
30
+ <script setup lang="ts">
31
+ import { DatePicker, createCalendar } from "ropav";
32
+ </script>
33
+
34
+ <template>
35
+ <DatePicker :create-calendar="createCalendar" />
36
+ </template>
37
+ ```
38
+
39
+ Why it works that way, and how to opt in for only some systems, is in
40
+ [Calendar systems](https://ropav.netlify.app/guide/calendar-systems).
18
41
 
19
42
  ## Development
20
43
 
@@ -24,7 +47,7 @@ Requires Node.js 22+ and pnpm 10+.
24
47
  pnpm i --hoist # install
25
48
  pnpm dev # Storybook on http://127.0.0.1:6006
26
49
  pnpm build # build every package
27
- pnpm lint # ESLint
50
+ pnpm lint # oxlint
28
51
  pnpm typecheck # vue-tsc
29
52
  pnpm test # Vitest — jsdom + browser (needs `playwright install chromium` once)
30
53
  ```
@@ -5,195 +5,7 @@ import AccordionItem from "./accordion-item.js";
5
5
  import AccordionPanel from "./accordion-panel.js";
6
6
  import AccordionRoot from "./accordion-root.js";
7
7
  import AccordionTrigger from "./accordion-trigger.js";
8
- export declare const Accordion: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
9
- attrs: any;
10
- slots: {
11
- default?: () => unknown;
12
- };
13
- emit: ((evt: "expandedChange", keys: Set<import("../../index.js").DisclosureKey>) => void) & ((evt: "update:expandedKeys", keys: Set<import("../../index.js").DisclosureKey>) => void);
14
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
15
- props: import('vue').PublicProps & {
16
- class?: string;
17
- allowsMultipleExpanded?: boolean;
18
- defaultExpandedKeys?: Iterable<import("../../index.js").DisclosureKey>;
19
- expandedKeys?: Iterable<import("../../index.js").DisclosureKey>;
20
- hideSeparator?: boolean;
21
- isDisabled?: boolean;
22
- variant?: import("@ropav/styles").AccordionVariants["variant"];
23
- onExpandedChange?: ((keys: Set<import("../../index.js").DisclosureKey>) => any) | undefined;
24
- "onUpdate:expandedKeys"?: ((keys: Set<import("../../index.js").DisclosureKey>) => 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?: () => unknown;
32
- };
33
- emit: ((evt: "expandedChange", keys: Set<import("../../index.js").DisclosureKey>) => void) & ((evt: "update:expandedKeys", keys: Set<import("../../index.js").DisclosureKey>) => void);
34
- }>) => import('vue').VNode & {
35
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
36
- }) & {
37
- Body: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
38
- attrs: any;
39
- slots: {
40
- default?: () => unknown;
41
- };
42
- emit: {};
43
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
44
- props: import('vue').PublicProps & {
45
- class?: string;
46
- } & (typeof globalThis extends {
47
- __VLS_PROPS_FALLBACK: infer P;
48
- } ? P : {});
49
- expose: (exposed: {}) => void;
50
- attrs: any;
51
- slots: {
52
- default?: () => unknown;
53
- };
54
- emit: {};
55
- }>) => import('vue').VNode & {
56
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
57
- };
58
- Heading: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
59
- attrs: any;
60
- slots: {
61
- default?: () => unknown;
62
- };
63
- emit: {};
64
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
65
- props: import('vue').PublicProps & {
66
- class?: string;
67
- } & (typeof globalThis extends {
68
- __VLS_PROPS_FALLBACK: infer P;
69
- } ? P : {});
70
- expose: (exposed: {}) => void;
71
- attrs: any;
72
- slots: {
73
- default?: () => unknown;
74
- };
75
- emit: {};
76
- }>) => import('vue').VNode & {
77
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
78
- };
79
- Indicator: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
80
- attrs: any;
81
- slots: {
82
- default?: () => unknown;
83
- };
84
- emit: {};
85
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
86
- props: import('vue').PublicProps & {
87
- class?: string;
88
- } & (typeof globalThis extends {
89
- __VLS_PROPS_FALLBACK: infer P;
90
- } ? P : {});
91
- expose: (exposed: {}) => void;
92
- attrs: any;
93
- slots: {
94
- default?: () => unknown;
95
- };
96
- emit: {};
97
- }>) => import('vue').VNode & {
98
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
99
- };
100
- Item: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
101
- attrs: any;
102
- slots: {
103
- default?: () => unknown;
104
- };
105
- emit: {};
106
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
107
- props: import('vue').PublicProps & {
108
- class?: string;
109
- id?: string;
110
- isDisabled?: boolean;
111
- } & (typeof globalThis extends {
112
- __VLS_PROPS_FALLBACK: infer P;
113
- } ? P : {});
114
- expose: (exposed: {}) => void;
115
- attrs: any;
116
- slots: {
117
- default?: () => unknown;
118
- };
119
- emit: {};
120
- }>) => import('vue').VNode & {
121
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
122
- };
123
- Panel: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
124
- attrs: any;
125
- slots: {
126
- default?: () => unknown;
127
- };
128
- emit: {};
129
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
130
- props: import('vue').PublicProps & {
131
- class?: string;
132
- role?: string;
133
- } & (typeof globalThis extends {
134
- __VLS_PROPS_FALLBACK: infer P;
135
- } ? P : {});
136
- expose: (exposed: {}) => void;
137
- attrs: any;
138
- slots: {
139
- default?: () => unknown;
140
- };
141
- emit: {};
142
- }>) => import('vue').VNode & {
143
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
144
- };
145
- Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
146
- attrs: any;
147
- slots: {
148
- default?: () => unknown;
149
- };
150
- emit: ((evt: "expandedChange", keys: Set<import("../../index.js").DisclosureKey>) => void) & ((evt: "update:expandedKeys", keys: Set<import("../../index.js").DisclosureKey>) => void);
151
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
152
- props: import('vue').PublicProps & {
153
- class?: string;
154
- allowsMultipleExpanded?: boolean;
155
- defaultExpandedKeys?: Iterable<import("../../index.js").DisclosureKey>;
156
- expandedKeys?: Iterable<import("../../index.js").DisclosureKey>;
157
- hideSeparator?: boolean;
158
- isDisabled?: boolean;
159
- variant?: import("@ropav/styles").AccordionVariants["variant"];
160
- onExpandedChange?: ((keys: Set<import("../../index.js").DisclosureKey>) => any) | undefined;
161
- "onUpdate:expandedKeys"?: ((keys: Set<import("../../index.js").DisclosureKey>) => any) | undefined;
162
- } & (typeof globalThis extends {
163
- __VLS_PROPS_FALLBACK: infer P;
164
- } ? P : {});
165
- expose: (exposed: {}) => void;
166
- attrs: any;
167
- slots: {
168
- default?: () => unknown;
169
- };
170
- emit: ((evt: "expandedChange", keys: Set<import("../../index.js").DisclosureKey>) => void) & ((evt: "update:expandedKeys", keys: Set<import("../../index.js").DisclosureKey>) => void);
171
- }>) => import('vue').VNode & {
172
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
173
- };
174
- Trigger: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
175
- attrs: any;
176
- slots: {
177
- default?: () => unknown;
178
- };
179
- emit: {};
180
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
181
- props: import('vue').PublicProps & {
182
- class?: string;
183
- } & (typeof globalThis extends {
184
- __VLS_PROPS_FALLBACK: infer P;
185
- } ? P : {});
186
- expose: (exposed: {}) => void;
187
- attrs: any;
188
- slots: {
189
- default?: () => unknown;
190
- };
191
- emit: {};
192
- }>) => import('vue').VNode & {
193
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
194
- };
195
- };
196
- export { AccordionRoot, AccordionItem, AccordionHeading, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, };
197
- export type { AccordionRootProps, AccordionRootProps as AccordionProps, AccordionItemProps, AccordionHeadingProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, } from "./accordion.types.js";
8
+ export { AccordionRoot as Accordion, AccordionItem, AccordionHeading, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, };
9
+ export type { AccordionRootProps as AccordionProps, AccordionItemProps, AccordionHeadingProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, } from "./accordion.types.js";
198
10
  export { accordionVariants } from "@ropav/styles";
199
11
  export type { AccordionVariants } from "@ropav/styles";
@@ -6,15 +6,4 @@ import accordion_panel_default from "./accordion-panel.js";
6
6
  import accordion_root_default from "./accordion-root.js";
7
7
  import accordion_trigger_default from "./accordion-trigger.js";
8
8
  import { accordionVariants } from "@ropav/styles";
9
- //#region src/components/accordion/index.ts
10
- var Accordion = Object.assign(accordion_root_default, {
11
- Body: accordion_body_default,
12
- Heading: accordion_heading_default,
13
- Indicator: accordion_indicator_default,
14
- Item: accordion_item_default,
15
- Panel: accordion_panel_default,
16
- Root: accordion_root_default,
17
- Trigger: accordion_trigger_default
18
- });
19
- //#endregion
20
- export { Accordion, accordion_body_default as AccordionBody, accordion_heading_default as AccordionHeading, accordion_indicator_default as AccordionIndicator, accordion_item_default as AccordionItem, accordion_panel_default as AccordionPanel, accordion_root_default as AccordionRoot, accordion_trigger_default as AccordionTrigger, accordionVariants };
9
+ export { accordion_root_default as Accordion, accordion_body_default as AccordionBody, accordion_heading_default as AccordionHeading, accordion_indicator_default as AccordionIndicator, accordion_item_default as AccordionItem, accordion_panel_default as AccordionPanel, accordion_trigger_default as AccordionTrigger, accordionVariants };
@@ -21,7 +21,7 @@ var alert_indicator_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@
21
21
  * The branch is what keeps parity with React's `{children ?? getDefaultIcon()}`: `<slot>` fallback
22
22
  * content runs whenever the slot renders nothing, so a caller who declares the slot and returns
23
23
  * nothing — `[]`, or a condition that is false — would get the built-in icon here while React
24
- * renders empty. Same reason as `Select.Indicator`, and it also keeps the icon out of fallback
24
+ * renders empty. Same reason as `SelectIndicator`, and it also keeps the icon out of fallback
25
25
  * content, which drops the slots of components a VDOM host nests inside.
26
26
  */
27
27
  const hasSlot = computed(() => Boolean(callerSlots["default"]));
@@ -3,136 +3,7 @@ import AlertDescription from "./alert-description.js";
3
3
  import AlertIndicator from "./alert-indicator.js";
4
4
  import AlertRoot from "./alert-root.js";
5
5
  import AlertTitle from "./alert-title.js";
6
- export declare const Alert: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
7
- attrs: any;
8
- slots: {
9
- default?: () => unknown;
10
- };
11
- emit: {};
12
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
13
- props: import('vue').PublicProps & {
14
- class?: string;
15
- status?: import("@ropav/styles").AlertVariants["status"];
16
- } & (typeof globalThis extends {
17
- __VLS_PROPS_FALLBACK: infer P;
18
- } ? P : {});
19
- expose: (exposed: {}) => void;
20
- attrs: any;
21
- slots: {
22
- default?: () => unknown;
23
- };
24
- emit: {};
25
- }>) => import('vue').VNode & {
26
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
27
- }) & {
28
- Content: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
29
- attrs: any;
30
- slots: {
31
- default?: () => unknown;
32
- };
33
- emit: {};
34
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
35
- props: import('vue').PublicProps & {
36
- class?: string;
37
- } & (typeof globalThis extends {
38
- __VLS_PROPS_FALLBACK: infer P;
39
- } ? P : {});
40
- expose: (exposed: {}) => void;
41
- attrs: any;
42
- slots: {
43
- default?: () => unknown;
44
- };
45
- emit: {};
46
- }>) => import('vue').VNode & {
47
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
48
- };
49
- Description: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
50
- attrs: any;
51
- slots: {
52
- default?: () => unknown;
53
- };
54
- emit: {};
55
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
56
- props: import('vue').PublicProps & {
57
- class?: string;
58
- } & (typeof globalThis extends {
59
- __VLS_PROPS_FALLBACK: infer P;
60
- } ? P : {});
61
- expose: (exposed: {}) => void;
62
- attrs: any;
63
- slots: {
64
- default?: () => unknown;
65
- };
66
- emit: {};
67
- }>) => import('vue').VNode & {
68
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
69
- };
70
- Indicator: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
71
- attrs: any;
72
- slots: {
73
- default?: () => unknown;
74
- };
75
- emit: {};
76
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
77
- props: import('vue').PublicProps & {
78
- class?: string;
79
- } & (typeof globalThis extends {
80
- __VLS_PROPS_FALLBACK: infer P;
81
- } ? P : {});
82
- expose: (exposed: {}) => void;
83
- attrs: any;
84
- slots: {
85
- default?: () => unknown;
86
- };
87
- emit: {};
88
- }>) => import('vue').VNode & {
89
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
90
- };
91
- Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
92
- attrs: any;
93
- slots: {
94
- default?: () => unknown;
95
- };
96
- emit: {};
97
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
98
- props: import('vue').PublicProps & {
99
- class?: string;
100
- status?: import("@ropav/styles").AlertVariants["status"];
101
- } & (typeof globalThis extends {
102
- __VLS_PROPS_FALLBACK: infer P;
103
- } ? P : {});
104
- expose: (exposed: {}) => void;
105
- attrs: any;
106
- slots: {
107
- default?: () => unknown;
108
- };
109
- emit: {};
110
- }>) => import('vue').VNode & {
111
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
112
- };
113
- Title: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
114
- attrs: any;
115
- slots: {
116
- default?: () => unknown;
117
- };
118
- emit: {};
119
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
120
- props: import('vue').PublicProps & {
121
- class?: string;
122
- } & (typeof globalThis extends {
123
- __VLS_PROPS_FALLBACK: infer P;
124
- } ? P : {});
125
- expose: (exposed: {}) => void;
126
- attrs: any;
127
- slots: {
128
- default?: () => unknown;
129
- };
130
- emit: {};
131
- }>) => import('vue').VNode & {
132
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
133
- };
134
- };
135
- export { AlertContent, AlertDescription, AlertIndicator, AlertRoot, AlertTitle };
136
- export type { AlertContentProps, AlertDescriptionProps, AlertIndicatorProps, AlertRootProps, AlertRootProps as AlertProps, AlertTitleProps, } from "./alert.types.js";
6
+ export { AlertContent, AlertDescription, AlertIndicator, AlertRoot as Alert, AlertTitle };
7
+ export type { AlertContentProps, AlertDescriptionProps, AlertIndicatorProps, AlertRootProps as AlertProps, AlertTitleProps, } from "./alert.types.js";
137
8
  export { alertVariants } from "@ropav/styles";
138
9
  export type { AlertVariants } from "@ropav/styles";
@@ -4,13 +4,4 @@ import alert_indicator_default from "./alert-indicator.js";
4
4
  import alert_root_default from "./alert-root.js";
5
5
  import alert_title_default from "./alert-title.js";
6
6
  import { alertVariants } from "@ropav/styles";
7
- //#region src/components/alert/index.ts
8
- var Alert = Object.assign(alert_root_default, {
9
- Content: alert_content_default,
10
- Description: alert_description_default,
11
- Indicator: alert_indicator_default,
12
- Root: alert_root_default,
13
- Title: alert_title_default
14
- });
15
- //#endregion
16
- export { Alert, alert_content_default as AlertContent, alert_description_default as AlertDescription, alert_indicator_default as AlertIndicator, alert_root_default as AlertRoot, alert_title_default as AlertTitle, alertVariants };
7
+ export { alert_root_default as Alert, alert_content_default as AlertContent, alert_description_default as AlertDescription, alert_indicator_default as AlertIndicator, alert_title_default as AlertTitle, alertVariants };
@@ -18,7 +18,7 @@ var alert_dialog_close_vue_vue_type_script_setup_true_vapor_true_lang_default =
18
18
  * one of them should also be an answer.
19
19
  *
20
20
  * The close runs *before* the button's own handler, which is the order `composePressResponder`
21
- * chains them in — so `<AlertDialog.Close><Button @click="remove"/></AlertDialog.Close>` removes and
21
+ * chains them in — so `<AlertDialogClose><Button @click="remove"/></AlertDialogClose>` removes and
22
22
  * closes.
23
23
  */
24
24
  providePressResponder({
@@ -25,8 +25,8 @@ var alert_dialog_heading_vue_vue_type_script_setup_true_vapor_true_lang_default
25
25
  class: () => styles.value,
26
26
  "data-slot": "alert-dialog-heading"
27
27
  }, extend(() => {
28
- return createSlot("default", null, null, 36);
29
- }, { _: 8 }), 1);
28
+ return createSlot("default", null, null, 4);
29
+ }, { _: 1 }), 1);
30
30
  }
31
31
  });
32
32
  //#endregion
@@ -66,7 +66,7 @@ export interface AlertDialogDialogProps {
66
66
  class?: string;
67
67
  }
68
68
  export interface AlertDialogDialogSlotProps {
69
- /** Closes the dialog, for a control inside it that is not an `AlertDialog.Close`. */
69
+ /** Closes the dialog, for a control inside it that is not an `AlertDialogClose`. */
70
70
  close: () => void;
71
71
  }
72
72
  export interface AlertDialogHeaderProps {