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
@@ -10,297 +10,8 @@ import DrawerHeader from "./drawer-header.js";
10
10
  import DrawerHeading from "./drawer-heading.js";
11
11
  import DrawerRoot from "./drawer-root.js";
12
12
  import DrawerTrigger from "./drawer-trigger.js";
13
- export declare const Drawer: ((__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
14
- attrs: any;
15
- slots: {
16
- default?: () => unknown;
17
- };
18
- emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
19
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
20
- props: import('vue').PublicProps & {
21
- isOpen?: boolean;
22
- defaultOpen?: boolean;
23
- isDisabled?: boolean;
24
- state?: import("../../index.js").OverlayTriggerState;
25
- onOpenChange?: ((isOpen: boolean) => any) | undefined;
26
- "onUpdate:isOpen"?: ((isOpen: boolean) => any) | undefined;
27
- } & (typeof globalThis extends {
28
- __VLS_PROPS_FALLBACK: infer P;
29
- } ? P : {});
30
- expose: (exposed: {}) => void;
31
- attrs: any;
32
- slots: {
33
- default?: () => unknown;
34
- };
35
- emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
36
- }>) => import('vue').VNode & {
37
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
38
- }) & {
39
- Backdrop: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
40
- attrs: any;
41
- slots: {
42
- default?: () => unknown;
43
- };
44
- emit: {};
45
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
46
- props: import('vue').PublicProps & {
47
- class?: string;
48
- variant?: import("@ropav/styles").DrawerVariants["variant"];
49
- isDismissable?: boolean;
50
- isKeyboardDismissDisabled?: boolean;
51
- shouldCloseOnInteractOutside?: (element: Element) => boolean;
52
- portalContainer?: string | HTMLElement;
53
- style?: import("vue").CSSProperties | string;
54
- isEntering?: boolean;
55
- isExiting?: boolean;
56
- } & (typeof globalThis extends {
57
- __VLS_PROPS_FALLBACK: infer P;
58
- } ? P : {});
59
- expose: (exposed: {}) => void;
60
- attrs: any;
61
- slots: {
62
- default?: () => unknown;
63
- };
64
- emit: {};
65
- }>) => import('vue').VNode & {
66
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
67
- };
68
- Body: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
69
- attrs: any;
70
- slots: {
71
- default?: () => unknown;
72
- };
73
- emit: {};
74
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
75
- props: import('vue').PublicProps & {
76
- class?: string;
77
- } & (typeof globalThis extends {
78
- __VLS_PROPS_FALLBACK: infer P;
79
- } ? P : {});
80
- expose: (exposed: {}) => void;
81
- attrs: any;
82
- slots: {
83
- default?: () => unknown;
84
- };
85
- emit: {};
86
- }>) => import('vue').VNode & {
87
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
88
- };
89
- Close: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
90
- attrs: any;
91
- slots: {
92
- default?: () => unknown;
93
- };
94
- emit: {};
95
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
96
- props: import('vue').PublicProps & (typeof globalThis extends {
97
- __VLS_PROPS_FALLBACK: infer P;
98
- } ? P : {});
99
- expose: (exposed: {}) => void;
100
- attrs: any;
101
- slots: {
102
- default?: () => unknown;
103
- };
104
- emit: {};
105
- }>) => import('vue').VNode & {
106
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
107
- };
108
- CloseTrigger: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
109
- attrs: any;
110
- slots: {};
111
- emit: {};
112
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
113
- props: import('vue').PublicProps & {
114
- class?: string;
115
- } & (typeof globalThis extends {
116
- __VLS_PROPS_FALLBACK: infer P;
117
- } ? P : {});
118
- expose: (exposed: {}) => void;
119
- attrs: any;
120
- slots: {};
121
- emit: {};
122
- }>) => import('vue').VNode & {
123
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
124
- };
125
- Content: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
126
- attrs: any;
127
- slots: {
128
- default?: () => unknown;
129
- };
130
- emit: {};
131
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
132
- props: import('vue').PublicProps & {
133
- class?: string;
134
- placement?: import("./drawer.types.js").DrawerPlacement;
135
- } & (typeof globalThis extends {
136
- __VLS_PROPS_FALLBACK: infer P;
137
- } ? P : {});
138
- expose: (exposed: {}) => void;
139
- attrs: any;
140
- slots: {
141
- default?: () => unknown;
142
- };
143
- emit: {};
144
- }>) => import('vue').VNode & {
145
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
146
- };
147
- Dialog: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
148
- attrs: any;
149
- slots: {
150
- default?: (props: {
151
- close: () => void;
152
- }) => unknown;
153
- };
154
- emit: {};
155
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
156
- props: import('vue').PublicProps & {
157
- class?: string;
158
- } & (typeof globalThis extends {
159
- __VLS_PROPS_FALLBACK: infer P;
160
- } ? P : {});
161
- expose: (exposed: {}) => void;
162
- attrs: any;
163
- slots: {
164
- default?: (props: {
165
- close: () => void;
166
- }) => unknown;
167
- };
168
- emit: {};
169
- }>) => import('vue').VNode & {
170
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
171
- };
172
- Footer: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
173
- attrs: any;
174
- slots: {
175
- default?: () => unknown;
176
- };
177
- emit: {};
178
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
179
- props: import('vue').PublicProps & {
180
- class?: string;
181
- } & (typeof globalThis extends {
182
- __VLS_PROPS_FALLBACK: infer P;
183
- } ? P : {});
184
- expose: (exposed: {}) => void;
185
- attrs: any;
186
- slots: {
187
- default?: () => unknown;
188
- };
189
- emit: {};
190
- }>) => import('vue').VNode & {
191
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
192
- };
193
- Handle: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
194
- attrs: any;
195
- slots: {};
196
- emit: {};
197
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
198
- props: import('vue').PublicProps & {
199
- class?: string;
200
- } & (typeof globalThis extends {
201
- __VLS_PROPS_FALLBACK: infer P;
202
- } ? P : {});
203
- expose: (exposed: {}) => void;
204
- attrs: any;
205
- slots: {};
206
- emit: {};
207
- }>) => import('vue').VNode & {
208
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
209
- };
210
- Header: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
211
- attrs: any;
212
- slots: {
213
- default?: () => unknown;
214
- };
215
- emit: {};
216
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
217
- props: import('vue').PublicProps & {
218
- class?: string;
219
- } & (typeof globalThis extends {
220
- __VLS_PROPS_FALLBACK: infer P;
221
- } ? P : {});
222
- expose: (exposed: {}) => void;
223
- attrs: any;
224
- slots: {
225
- default?: () => unknown;
226
- };
227
- emit: {};
228
- }>) => import('vue').VNode & {
229
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
230
- };
231
- Heading: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
232
- attrs: any;
233
- slots: {
234
- default?: () => unknown;
235
- };
236
- emit: {};
237
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
238
- props: import('vue').PublicProps & {
239
- class?: string;
240
- level?: number;
241
- } & (typeof globalThis extends {
242
- __VLS_PROPS_FALLBACK: infer P;
243
- } ? P : {});
244
- expose: (exposed: {}) => void;
245
- attrs: any;
246
- slots: {
247
- default?: () => unknown;
248
- };
249
- emit: {};
250
- }>) => import('vue').VNode & {
251
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
252
- };
253
- Root: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
254
- attrs: any;
255
- slots: {
256
- default?: () => unknown;
257
- };
258
- emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
259
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
260
- props: import('vue').PublicProps & {
261
- isOpen?: boolean;
262
- defaultOpen?: boolean;
263
- isDisabled?: boolean;
264
- state?: import("../../index.js").OverlayTriggerState;
265
- onOpenChange?: ((isOpen: boolean) => any) | undefined;
266
- "onUpdate:isOpen"?: ((isOpen: boolean) => any) | undefined;
267
- } & (typeof globalThis extends {
268
- __VLS_PROPS_FALLBACK: infer P;
269
- } ? P : {});
270
- expose: (exposed: {}) => void;
271
- attrs: any;
272
- slots: {
273
- default?: () => unknown;
274
- };
275
- emit: ((evt: "openChange", isOpen: boolean) => void) & ((evt: "update:isOpen", isOpen: boolean) => void);
276
- }>) => import('vue').VNode & {
277
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
278
- };
279
- Trigger: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>['props'], __VLS_ctx?: {
280
- attrs: any;
281
- slots: {
282
- default?: () => unknown;
283
- };
284
- emit: {};
285
- }, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>['expose'], __VLS_setup?: Promise<{
286
- props: import('vue').PublicProps & {
287
- class?: string;
288
- isDisabled?: boolean;
289
- } & (typeof globalThis extends {
290
- __VLS_PROPS_FALLBACK: infer P;
291
- } ? P : {});
292
- expose: (exposed: {}) => void;
293
- attrs: any;
294
- slots: {
295
- default?: () => unknown;
296
- };
297
- emit: {};
298
- }>) => import('vue').VNode & {
299
- __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
300
- };
301
- };
302
- export { DrawerBackdrop, DrawerBody, DrawerClose, DrawerCloseTrigger, DrawerContent, DrawerDialog, DrawerFooter, DrawerHandle, DrawerHeader, DrawerHeading, DrawerRoot, DrawerTrigger, };
303
- export type { DrawerBackdropProps, DrawerBodyProps, DrawerCloseTriggerProps, DrawerContentProps, DrawerDialogProps, DrawerDialogSlotProps, DrawerFooterProps, DrawerHandleProps, DrawerHeaderProps, DrawerHeadingProps, DrawerPlacement, DrawerRootEmits, DrawerRootProps, DrawerRootProps as DrawerProps, DrawerTriggerProps, } from "./drawer.types.js";
13
+ export { DrawerBackdrop, DrawerBody, DrawerClose, DrawerCloseTrigger, DrawerContent, DrawerDialog, DrawerFooter, DrawerHandle, DrawerHeader, DrawerHeading, DrawerRoot as Drawer, DrawerTrigger, };
14
+ export type { DrawerBackdropProps, DrawerBodyProps, DrawerCloseTriggerProps, DrawerContentProps, DrawerDialogProps, DrawerDialogSlotProps, DrawerFooterProps, DrawerHandleProps, DrawerHeaderProps, DrawerHeadingProps, DrawerPlacement, DrawerRootEmits as DrawerEmits, DrawerRootProps as DrawerProps, DrawerTriggerProps, } from "./drawer.types.js";
304
15
  export { useDrawerContext, useDrawerOverlayContext } from "./drawer.context.js";
305
16
  export type { DrawerContext, DrawerOverlayContext } from "./drawer.context.js";
306
17
  export { drawerVariants } from "@ropav/styles";
@@ -12,20 +12,4 @@ import drawer_heading_default from "./drawer-heading.js";
12
12
  import drawer_root_default from "./drawer-root.js";
13
13
  import drawer_trigger_default from "./drawer-trigger.js";
14
14
  import { drawerVariants } from "@ropav/styles";
15
- //#region src/components/drawer/index.ts
16
- var Drawer = Object.assign(drawer_root_default, {
17
- Backdrop: drawer_backdrop_default,
18
- Body: drawer_body_default,
19
- Close: drawer_close_default,
20
- CloseTrigger: drawer_close_trigger_default,
21
- Content: drawer_content_default,
22
- Dialog: drawer_dialog_default,
23
- Footer: drawer_footer_default,
24
- Handle: drawer_handle_default,
25
- Header: drawer_header_default,
26
- Heading: drawer_heading_default,
27
- Root: drawer_root_default,
28
- Trigger: drawer_trigger_default
29
- });
30
- //#endregion
31
- export { Drawer, drawer_backdrop_default as DrawerBackdrop, drawer_body_default as DrawerBody, drawer_close_default as DrawerClose, drawer_close_trigger_default as DrawerCloseTrigger, drawer_content_default as DrawerContent, drawer_dialog_default as DrawerDialog, drawer_footer_default as DrawerFooter, drawer_handle_default as DrawerHandle, drawer_header_default as DrawerHeader, drawer_heading_default as DrawerHeading, drawer_root_default as DrawerRoot, drawer_trigger_default as DrawerTrigger, drawerVariants, useDrawerContext, useDrawerOverlayContext };
15
+ export { drawer_root_default as Drawer, drawer_backdrop_default as DrawerBackdrop, drawer_body_default as DrawerBody, drawer_close_default as DrawerClose, drawer_close_trigger_default as DrawerCloseTrigger, drawer_content_default as DrawerContent, drawer_dialog_default as DrawerDialog, drawer_footer_default as DrawerFooter, drawer_handle_default as DrawerHandle, drawer_header_default as DrawerHeader, drawer_heading_default as DrawerHeading, drawer_trigger_default as DrawerTrigger, drawerVariants, useDrawerContext, useDrawerOverlayContext };
@@ -0,0 +1,23 @@
1
+ import type { DropZoneRootProps, DropZoneSlotProps } from "./drop-zone.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<DropZoneRootProps & {
4
+ onSelect?: ((files: File[]) => any) | undefined;
5
+ }> & (typeof globalThis extends {
6
+ __VLS_PROPS_FALLBACK: infer P;
7
+ } ? P : {});
8
+ expose: (exposed: {}) => void;
9
+ attrs: any;
10
+ slots: {
11
+ default?: (props: DropZoneSlotProps) => unknown;
12
+ };
13
+ emit: (evt: "select", files: File[]) => void;
14
+ }>) => import('vue').VNode & {
15
+ __ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
16
+ };
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
20
+ [K in keyof T]: T[K];
21
+ } : {
22
+ [K in keyof T as K]: T[K];
23
+ }) & {};
@@ -0,0 +1,153 @@
1
+ import { dataAttr } from "../../utils/assertion.js";
2
+ import { useFocusWithin, useInteractionStates } from "../../composables/use-interaction-states.js";
3
+ import { visuallyHiddenStyle } from "../../utils/visually-hidden.js";
4
+ import { isVirtualDragging } from "../../composables/drag-manager.js";
5
+ import { useDrop } from "../../composables/use-drop.js";
6
+ import { isDirectoryDropItem, isFileDropItem } from "../../utils/dnd-types.js";
7
+ import { isDragRefused, isFileAccepted, parseAccept } from "./drop-zone.accept.js";
8
+ import { provideDropZoneContext } from "./drop-zone.context.js";
9
+ import { child, computed, createSlot, createTemplateRefSetter, defineVaporComponent, on, renderEffect, setAttr, setClass, setInsertionState, setProp, setStyle, setTemplateRefBinding, shallowRef, template, unref } from "vue";
10
+ import { dropZoneVariants } from "@ropav/styles";
11
+ //#region src/components/drop-zone/drop-zone-root.vue?vue&type=script&setup=true&vapor=true&lang.ts
12
+ var t0 = template("<div data-slot=drop-zone><span><input type=file></span>", 1);
13
+ var drop_zone_root_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
14
+ __name: "drop-zone-root",
15
+ props: {
16
+ class: {},
17
+ accept: {},
18
+ multiple: { type: Boolean },
19
+ isDisabled: { type: Boolean },
20
+ ariaLabel: {},
21
+ ariaLabelledby: {},
22
+ ariaDescribedby: {}
23
+ },
24
+ emits: ["select"],
25
+ setup(__props, { emit: __emit }) {
26
+ const props = __props;
27
+ const emit = __emit;
28
+ const rootEl = shallowRef(null);
29
+ const inputEl = shallowRef(null);
30
+ const setRootEl = (element) => {
31
+ rootEl.value = element instanceof HTMLElement ? element : null;
32
+ };
33
+ const setInputEl = (element) => {
34
+ inputEl.value = element instanceof HTMLInputElement ? element : null;
35
+ };
36
+ const acceptTokens = computed(() => parseAccept(props.accept));
37
+ /** Refused drags are still entered, so the zone can say no rather than ignore the pointer. */
38
+ const isRefusing = shallowRef(false);
39
+ const interaction = useInteractionStates({ isDisabled: () => props.isDisabled });
40
+ const focusWithin = useFocusWithin({ isDisabled: () => props.isDisabled });
41
+ /**
42
+ * Flattens a drop into plain files, walking any directory that came with it.
43
+ *
44
+ * `for await` covers both the array a drop arrives as and the async iterable a directory hands
45
+ * back, so one function serves both levels.
46
+ */
47
+ const collectFiles = async (items) => {
48
+ const files = [];
49
+ for await (const item of items) if (isFileDropItem(item)) files.push(await item.getFile());
50
+ else if (isDirectoryDropItem(item)) files.push(...await collectFiles(item.getEntries()));
51
+ return files;
52
+ };
53
+ /**
54
+ * What the zone hands on, out of what arrived.
55
+ *
56
+ * Filtering rather than reporting: the browser already filters the picker half silently from
57
+ * the same `accept`, and enforces `multiple` there on its own, so the drop half matches that
58
+ * instead of inventing an error channel this component has no way to show.
59
+ */
60
+ const takeable = (files) => {
61
+ const accepted = files.filter((file) => isFileAccepted(file, acceptTokens.value));
62
+ return props.multiple ? accepted : accepted.slice(0, 1);
63
+ };
64
+ const announce = (files) => {
65
+ if (files.length > 0) emit("select", files);
66
+ };
67
+ const drop = useDrop({
68
+ getDropOperation: (types) => {
69
+ isRefusing.value = isDragRefused(types, acceptTokens.value);
70
+ return "copy";
71
+ },
72
+ hasDropButton: true,
73
+ isDisabled: () => props.isDisabled,
74
+ onDrop: (event) => {
75
+ if (isRefusing.value) return;
76
+ collectFiles(event.items).then((files) => announce(takeable(files)));
77
+ },
78
+ onDropExit: () => {
79
+ isRefusing.value = false;
80
+ },
81
+ ref: rootEl
82
+ });
83
+ const status = computed(() => {
84
+ if (!drop.isDropTarget.value) return "idle";
85
+ return isRefusing.value ? "reject" : "accept";
86
+ });
87
+ const open = () => {
88
+ if (props.isDisabled) return;
89
+ inputEl.value?.click();
90
+ };
91
+ const onClick = (event) => {
92
+ if (event.target === inputEl.value) return;
93
+ if (isVirtualDragging()) return;
94
+ open();
95
+ };
96
+ const onInputChange = (event) => {
97
+ const input = event.target;
98
+ announce(takeable(Array.from(input.files ?? [])));
99
+ input.value = "";
100
+ };
101
+ /** The drag instructions, plus whatever help text the caller wired up. */
102
+ const describedBy = computed(() => {
103
+ const ids = [drop.dropButtonAttrs.value["aria-describedby"], props.ariaDescribedby].filter(Boolean);
104
+ return ids.length > 0 ? ids.join(" ") : void 0;
105
+ });
106
+ const styles = computed(() => dropZoneVariants());
107
+ provideDropZoneContext({ slots: styles });
108
+ const _setTemplateRef = createTemplateRefSetter();
109
+ const n3 = t0();
110
+ const n1 = child(n3);
111
+ const n0 = child(n1);
112
+ on(n0, "change", onInputChange);
113
+ renderEffect(() => {
114
+ const _props = props;
115
+ const _dataAttr = unref(dataAttr);
116
+ setClass(n3, styles.value.base({ class: _props.class }));
117
+ setAttr(n3, "data-disabled", _dataAttr(_props.isDisabled));
118
+ setAttr(n3, "data-drop-target", _dataAttr(unref(drop).isDropTarget.value));
119
+ setAttr(n3, "data-focus-visible", _dataAttr(unref(focusWithin).isFocusVisible.value));
120
+ setAttr(n3, "data-hovered", _dataAttr(unref(interaction).isHovered.value));
121
+ setAttr(n3, "data-status", status.value);
122
+ setStyle(n1, unref(visuallyHiddenStyle));
123
+ setProp(n0, "accept", _props.accept);
124
+ setAttr(n0, "aria-describedby", describedBy.value);
125
+ setAttr(n0, "aria-label", _props.ariaLabel);
126
+ setAttr(n0, "aria-labelledby", _props.ariaLabelledby);
127
+ setProp(n0, "disabled", _props.isDisabled || void 0);
128
+ setProp(n0, "multiple", _props.multiple || void 0);
129
+ _setTemplateRef(n0, setInputEl);
130
+ });
131
+ setInsertionState(n3, 1);
132
+ createSlot("default", {
133
+ isDisabled: () => Boolean(props.isDisabled),
134
+ isDropTarget: () => unref(drop).isDropTarget.value,
135
+ open: () => open,
136
+ status: () => status.value
137
+ });
138
+ on(n3, "click", onClick);
139
+ on(n3, "dragenter", (e) => unref(drop).handlers.onDragenter(e));
140
+ on(n3, "dragleave", (e) => unref(drop).handlers.onDragleave(e));
141
+ on(n3, "dragover", (e) => unref(drop).handlers.onDragover(e));
142
+ on(n3, "drop", (e) => unref(drop).handlers.onDrop(e));
143
+ on(n3, "focusin", (e) => unref(focusWithin).onFocusin(e));
144
+ on(n3, "focusout", (e) => unref(focusWithin).onFocusout(e));
145
+ on(n3, "pointerenter", (e) => unref(interaction).onPointerenter(e));
146
+ on(n3, "pointerleave", (e) => unref(interaction).onPointerleave(e));
147
+ setProp(n3, "tabindex", -1);
148
+ setTemplateRefBinding(n3, () => setRootEl);
149
+ return n3;
150
+ }
151
+ });
152
+ //#endregion
153
+ export { drop_zone_root_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,21 @@
1
+ import type { DropZoneTriggerProps } from "./drop-zone.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<DropZoneTriggerProps> & (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 { useDropZoneContext } from "./drop-zone.context.js";
3
+ import { createSlot, defineVaporComponent, renderEffect, setClass, setInsertionState, template, unref } from "vue";
4
+ //#region src/components/drop-zone/drop-zone-trigger.vue?vue&type=script&setup=true&vapor=true&lang.ts
5
+ var t0 = template("<span data-slot=drop-zone-trigger>", 1);
6
+ var drop_zone_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default = /*@__PURE__*/ defineVaporComponent({
7
+ __name: "drop-zone-trigger",
8
+ props: { class: {} },
9
+ setup(__props) {
10
+ const props = __props;
11
+ const { slots } = useDropZoneContext();
12
+ const n1 = t0();
13
+ renderEffect(() => setClass(n1, unref(composeSlotClassName)(unref(slots).trigger, props.class)));
14
+ setInsertionState(n1);
15
+ createSlot();
16
+ return n1;
17
+ }
18
+ });
19
+ //#endregion
20
+ export { drop_zone_trigger_vue_vue_type_script_setup_true_vapor_true_lang_default as default };
@@ -0,0 +1,19 @@
1
+ import type { DragTypes } from "../../utils/dnd-types.js";
2
+ /** The tokens of an `accept` list, lowercased, with the empties dropped. */
3
+ export declare const parseAccept: (accept: string | undefined) => string[];
4
+ /** Whether one file satisfies an `accept` list. An empty list accepts everything. */
5
+ export declare const isFileAccepted: (file: File, tokens: string[]) => boolean;
6
+ /**
7
+ * Whether a drag still in flight should be refused.
8
+ *
9
+ * A drag advertises mime types and nothing else — never a file name, and never how many files
10
+ * it carries. So the answer is only ever "certainly not takeable"; everything unprovable is
11
+ * left to the drop, which filters what it emits. Three cases are unprovable:
12
+ *
13
+ * - an `.ext` token, which needs a file name;
14
+ * - {@link GENERIC_TYPE}, which is what a file with no known mime type reports — and also what
15
+ * a directory reports, since the two are indistinguishable until the drop;
16
+ * - a transfer whose types are hidden, which `DragTypes` already answers `true` to for
17
+ * everything (Safari reports no items at all while dragging files).
18
+ */
19
+ export declare const isDragRefused: (types: DragTypes, tokens: string[]) => boolean;
@@ -0,0 +1,28 @@
1
+ import "../../utils/dnd-constants.js";
2
+ //#region src/components/drop-zone/drop-zone.accept.ts
3
+ /** The tokens of an `accept` list, lowercased, with the empties dropped. */
4
+ var parseAccept = (accept) => accept?.split(",").map((token) => token.trim().toLowerCase()).filter(Boolean) ?? [];
5
+ var matchesMimeToken = (type, token) => token.endsWith("/*") ? type.startsWith(token.slice(0, -1)) : type === token;
6
+ /** Whether one file satisfies an `accept` list. An empty list accepts everything. */
7
+ var isFileAccepted = (file, tokens) => tokens.length === 0 || tokens.some((token) => token.startsWith(".") ? file.name.toLowerCase().endsWith(token) : matchesMimeToken(file.type.toLowerCase(), token));
8
+ /**
9
+ * Whether a drag still in flight should be refused.
10
+ *
11
+ * A drag advertises mime types and nothing else — never a file name, and never how many files
12
+ * it carries. So the answer is only ever "certainly not takeable"; everything unprovable is
13
+ * left to the drop, which filters what it emits. Three cases are unprovable:
14
+ *
15
+ * - an `.ext` token, which needs a file name;
16
+ * - {@link GENERIC_TYPE}, which is what a file with no known mime type reports — and also what
17
+ * a directory reports, since the two are indistinguishable until the drop;
18
+ * - a transfer whose types are hidden, which `DragTypes` already answers `true` to for
19
+ * everything (Safari reports no items at all while dragging files).
20
+ */
21
+ var isDragRefused = (types, tokens) => {
22
+ if (tokens.length === 0) return false;
23
+ if (tokens.some((token) => token.startsWith("."))) return false;
24
+ if (types.has("application/octet-stream")) return false;
25
+ return !tokens.some((token) => types.has(token));
26
+ };
27
+ //#endregion
28
+ export { isDragRefused, isFileAccepted, parseAccept };
@@ -0,0 +1,6 @@
1
+ import type { dropZoneVariants } from "@ropav/styles";
2
+ import type { ComputedRef } from "vue";
3
+ export interface DropZoneContext {
4
+ slots: ComputedRef<ReturnType<typeof dropZoneVariants>>;
5
+ }
6
+ export declare const useDropZoneContext: () => DropZoneContext, provideDropZoneContext: (value: DropZoneContext) => DropZoneContext;
@@ -0,0 +1,5 @@
1
+ import { createContext } from "../../utils/create-context.js";
2
+ //#region src/components/drop-zone/drop-zone.context.ts
3
+ var [useDropZoneContext, provideDropZoneContext] = createContext({ name: "DropZoneContext" });
4
+ //#endregion
5
+ export { provideDropZoneContext, useDropZoneContext };
@@ -0,0 +1,30 @@
1
+ /** What the zone makes of the drag currently over it. */
2
+ export type DropZoneStatus = "accept" | "idle" | "reject";
3
+ export interface DropZoneRootProps {
4
+ class?: string;
5
+ /**
6
+ * Which files to take, spelled the way the native `accept` attribute spells it: a comma
7
+ * separated list of mime types, `type/*` wildcards and `.ext` suffixes.
8
+ *
9
+ * It filters the picker, judges a drag while it is still moving, and filters what a drop
10
+ * emits. A drag is only refused where the refusal is certain — see `drop-zone-root.vue`.
11
+ */
12
+ accept?: string;
13
+ /** Whether more than one file may arrive at once. */
14
+ multiple?: boolean;
15
+ isDisabled?: boolean;
16
+ ariaLabel?: string;
17
+ ariaLabelledby?: string;
18
+ ariaDescribedby?: string;
19
+ }
20
+ export interface DropZoneSlotProps {
21
+ status: DropZoneStatus;
22
+ /** Whether a drag the zone would take is over it. */
23
+ isDropTarget: boolean;
24
+ isDisabled: boolean;
25
+ /** Opens the file picker, as clicking the zone does. */
26
+ open: () => void;
27
+ }
28
+ export interface DropZoneTriggerProps {
29
+ class?: string;
30
+ }
@@ -0,0 +1,8 @@
1
+ import DropZoneRoot from "./drop-zone-root.js";
2
+ import DropZoneTrigger from "./drop-zone-trigger.js";
3
+ export { DropZoneRoot as DropZone, DropZoneTrigger };
4
+ export type { DropZoneRootProps as DropZoneProps, DropZoneSlotProps, DropZoneStatus, DropZoneTriggerProps, } from "./drop-zone.types.js";
5
+ export { useDropZoneContext, provideDropZoneContext } from "./drop-zone.context.js";
6
+ export type { DropZoneContext } from "./drop-zone.context.js";
7
+ export { dropZoneVariants } from "@ropav/styles";
8
+ export type { DropZoneVariants } from "@ropav/styles";
@@ -0,0 +1,5 @@
1
+ import { provideDropZoneContext, useDropZoneContext } from "./drop-zone.context.js";
2
+ import drop_zone_root_default from "./drop-zone-root.js";
3
+ import drop_zone_trigger_default from "./drop-zone-trigger.js";
4
+ import { dropZoneVariants } from "@ropav/styles";
5
+ export { drop_zone_root_default as DropZone, drop_zone_trigger_default as DropZoneTrigger, dropZoneVariants, provideDropZoneContext, useDropZoneContext };
@@ -47,8 +47,8 @@ var dropdown_popover_vue_vue_type_script_setup_true_vapor_true_lang_default = /*
47
47
  "should-flip": () => props.shouldFlip,
48
48
  "slot-contexts": () => unref(contexts)
49
49
  }, extend(() => {
50
- return createSlot("default", null, null, 36);
51
- }, { _: 8 }), true);
50
+ return createSlot("default", null, null, 4);
51
+ }, { _: 1 }), true);
52
52
  }
53
53
  });
54
54
  //#endregion