@auronui/vue 1.0.21 → 1.0.23

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 (356) hide show
  1. package/dist/cjs/index.cjs +4046 -745
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/components/accordion/Accordion.js.map +1 -1
  4. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +15 -0
  5. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  6. package/dist/components/accordion/AccordionContent.js.map +1 -1
  7. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js +10 -2
  8. package/dist/components/accordion/AccordionContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  9. package/dist/components/accordion/AccordionHeader.js.map +1 -1
  10. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js +13 -3
  11. package/dist/components/accordion/AccordionHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
  12. package/dist/components/accordion/AccordionItem.js.map +1 -1
  13. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +9 -0
  14. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  15. package/dist/components/accordion/AccordionTrigger.js.map +1 -1
  16. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js +13 -3
  17. package/dist/components/accordion/AccordionTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  18. package/dist/components/alert-dialog/AlertDialogAction.js.map +1 -1
  19. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js +8 -2
  20. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  21. package/dist/components/alert-dialog/AlertDialogCancel.js.map +1 -1
  22. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js +8 -2
  23. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/alert-dialog/AlertDialogContent.js.map +1 -1
  25. package/dist/components/alert-dialog/AlertDialogContent.vue_vue_type_script_setup_true_lang.js +42 -6
  26. package/dist/components/alert-dialog/AlertDialogContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  27. package/dist/components/alert-dialog/AlertDialogDescription.js.map +1 -1
  28. package/dist/components/alert-dialog/AlertDialogDescription.vue_vue_type_script_setup_true_lang.js +11 -2
  29. package/dist/components/alert-dialog/AlertDialogDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  30. package/dist/components/alert-dialog/AlertDialogOverlay.js.map +1 -1
  31. package/dist/components/alert-dialog/AlertDialogOverlay.vue_vue_type_script_setup_true_lang.js +23 -2
  32. package/dist/components/alert-dialog/AlertDialogOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  33. package/dist/components/alert-dialog/AlertDialogTitle.js.map +1 -1
  34. package/dist/components/alert-dialog/AlertDialogTitle.vue_vue_type_script_setup_true_lang.js +10 -1
  35. package/dist/components/alert-dialog/AlertDialogTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  36. package/dist/components/alert-dialog/AlertDialogTrigger.js.map +1 -1
  37. package/dist/components/alert-dialog/AlertDialogTrigger.vue_vue_type_script_setup_true_lang.js +12 -6
  38. package/dist/components/alert-dialog/AlertDialogTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  39. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  40. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js +10 -1
  41. package/dist/components/aspect-ratio/AspectRatio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  42. package/dist/components/autocomplete/Autocomplete.js.map +1 -1
  43. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +29 -4
  44. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  45. package/dist/components/autocomplete/AutocompleteContent.js.map +1 -1
  46. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js +151 -9
  47. package/dist/components/autocomplete/AutocompleteContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  48. package/dist/components/autocomplete/AutocompleteCreateItem.js.map +1 -1
  49. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js +24 -4
  50. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  51. package/dist/components/autocomplete/AutocompleteInput.js.map +1 -1
  52. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js +75 -9
  53. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  54. package/dist/components/autocomplete/AutocompleteItem.js.map +1 -1
  55. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js +29 -5
  56. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  57. package/dist/components/avatar/Avatar.js.map +1 -1
  58. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js +39 -5
  59. package/dist/components/avatar/Avatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  60. package/dist/components/button/ToggleButton.js.map +1 -1
  61. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js +16 -2
  62. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  63. package/dist/components/calendar/Calendar.js.map +1 -1
  64. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +44 -0
  65. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  66. package/dist/components/calendar-year-picker/CalendarYearPicker.js.map +1 -1
  67. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js +21 -0
  68. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/checkbox/Checkbox.js.map +1 -1
  70. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +60 -3
  71. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  72. package/dist/components/collapsible/Collapsible.js.map +1 -1
  73. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js +9 -0
  74. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/components/collapsible/CollapsibleContent.js.map +1 -1
  76. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js +15 -4
  77. package/dist/components/collapsible/CollapsibleContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  78. package/dist/components/collapsible/CollapsibleTrigger.js.map +1 -1
  79. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js +13 -3
  80. package/dist/components/collapsible/CollapsibleTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/components/color-area/ColorArea.js.map +1 -1
  82. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js +34 -3
  83. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/color-field/ColorField.js.map +1 -1
  85. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js +39 -2
  86. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  87. package/dist/components/color-input-group/ColorInputGroup.js.map +1 -1
  88. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js +39 -2
  89. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/components/color-slider/ColorSlider.js.map +1 -1
  91. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js +40 -3
  92. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/color-swatch/ColorSwatch.js.map +1 -1
  94. package/dist/components/color-swatch/ColorSwatch.vue_vue_type_script_setup_true_lang.js +9 -2
  95. package/dist/components/color-swatch/ColorSwatch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/components/color-swatch-picker/ColorSwatchPicker.js.map +1 -1
  97. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js +60 -4
  98. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/combo-box/ComboBox.js.map +1 -1
  100. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js +74 -3
  101. package/dist/components/combo-box/ComboBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/combo-box/ComboBoxContent.js.map +1 -1
  103. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js +168 -10
  104. package/dist/components/combo-box/ComboBoxContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/components/combo-box/ComboBoxEmpty.js.map +1 -1
  106. package/dist/components/combo-box/ComboBoxEmpty.vue_vue_type_script_setup_true_lang.js +11 -1
  107. package/dist/components/combo-box/ComboBoxEmpty.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/components/combo-box/ComboBoxInput.js.map +1 -1
  109. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js +78 -11
  110. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/components/combo-box/ComboBoxItem.js.map +1 -1
  112. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js +31 -7
  113. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  114. package/dist/components/date-input/DateInput.js.map +1 -1
  115. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js +30 -3
  116. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/components/date-picker/DatePicker.js.map +1 -1
  118. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js +140 -10
  119. package/dist/components/date-picker/DatePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/date-range-field/DateRangeField.js.map +1 -1
  121. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js +24 -3
  122. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/components/date-range-picker/DateRangePicker.js.map +1 -1
  124. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js +146 -9
  125. package/dist/components/date-range-picker/DateRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -1
  127. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +201 -149
  128. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  129. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js.map +1 -1
  130. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js +49 -54
  131. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/drawer/DrawerClose.js.map +1 -1
  133. package/dist/components/drawer/DrawerClose.vue_vue_type_script_setup_true_lang.js +13 -3
  134. package/dist/components/drawer/DrawerClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  135. package/dist/components/drawer/DrawerContent.js.map +1 -1
  136. package/dist/components/drawer/DrawerContent.vue_vue_type_script_setup_true_lang.js +68 -8
  137. package/dist/components/drawer/DrawerContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/components/drawer/DrawerOverlay.js.map +1 -1
  139. package/dist/components/drawer/DrawerOverlay.vue_vue_type_script_setup_true_lang.js +25 -1
  140. package/dist/components/drawer/DrawerOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/drawer/DrawerTitle.js.map +1 -1
  142. package/dist/components/drawer/DrawerTitle.vue_vue_type_script_setup_true_lang.js +27 -3
  143. package/dist/components/drawer/DrawerTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/components/drawer/DrawerTrigger.js.map +1 -1
  145. package/dist/components/drawer/DrawerTrigger.vue_vue_type_script_setup_true_lang.js +11 -7
  146. package/dist/components/drawer/DrawerTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/components/dropdown/Dropdown.js.map +1 -1
  148. package/dist/components/dropdown/Dropdown.vue_vue_type_script_setup_true_lang.js +15 -5
  149. package/dist/components/dropdown/Dropdown.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/dropdown/DropdownCheckboxItem.js.map +1 -1
  151. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js +29 -7
  152. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  154. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js +15 -2
  155. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/components/dropdown/DropdownMenu.js.map +1 -1
  157. package/dist/components/dropdown/DropdownMenu.vue_vue_type_script_setup_true_lang.js +121 -5
  158. package/dist/components/dropdown/DropdownMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
  159. package/dist/components/dropdown/DropdownRadioGroup.js.map +1 -1
  160. package/dist/components/dropdown/DropdownRadioGroup.vue_vue_type_script_setup_true_lang.js +17 -4
  161. package/dist/components/dropdown/DropdownRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/dropdown/DropdownRadioItem.js.map +1 -1
  163. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js +21 -5
  164. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  165. package/dist/components/dropdown/DropdownSection.js.map +1 -1
  166. package/dist/components/dropdown/DropdownSection.vue_vue_type_script_setup_true_lang.js +16 -3
  167. package/dist/components/dropdown/DropdownSection.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/dropdown/DropdownSubContent.js.map +1 -1
  169. package/dist/components/dropdown/DropdownSubContent.vue_vue_type_script_setup_true_lang.js +125 -5
  170. package/dist/components/dropdown/DropdownSubContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/components/dropdown/DropdownSubTrigger.js.map +1 -1
  172. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js +15 -2
  173. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  174. package/dist/components/dropdown/DropdownTrigger.js.map +1 -1
  175. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js +22 -2
  176. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  177. package/dist/components/input-otp/InputOTP.js.map +1 -1
  178. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js +34 -1
  179. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  180. package/dist/components/list-box/ListBox.context.js.map +1 -1
  181. package/dist/components/list-box/ListBox.js.map +1 -1
  182. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js +193 -28
  183. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  184. package/dist/components/list-box/ListBoxItem.js.map +1 -1
  185. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js +45 -9
  186. package/dist/components/list-box/ListBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  187. package/dist/components/list-box/ListBoxSection.js.map +1 -1
  188. package/dist/components/list-box/ListBoxSection.vue_vue_type_script_setup_true_lang.js +31 -4
  189. package/dist/components/list-box/ListBoxSection.vue_vue_type_script_setup_true_lang.js.map +1 -1
  190. package/dist/components/modal/ModalClose.js.map +1 -1
  191. package/dist/components/modal/ModalClose.vue_vue_type_script_setup_true_lang.js +7 -1
  192. package/dist/components/modal/ModalClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  193. package/dist/components/modal/ModalContent.js.map +1 -1
  194. package/dist/components/modal/ModalContent.vue_vue_type_script_setup_true_lang.js +49 -5
  195. package/dist/components/modal/ModalContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  196. package/dist/components/modal/ModalDescription.js.map +1 -1
  197. package/dist/components/modal/ModalDescription.vue_vue_type_script_setup_true_lang.js +10 -1
  198. package/dist/components/modal/ModalDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  199. package/dist/components/modal/ModalOverlay.js.map +1 -1
  200. package/dist/components/modal/ModalOverlay.vue_vue_type_script_setup_true_lang.js +23 -2
  201. package/dist/components/modal/ModalOverlay.vue_vue_type_script_setup_true_lang.js.map +1 -1
  202. package/dist/components/modal/ModalTitle.js.map +1 -1
  203. package/dist/components/modal/ModalTitle.vue_vue_type_script_setup_true_lang.js +10 -1
  204. package/dist/components/modal/ModalTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  205. package/dist/components/modal/ModalTrigger.js.map +1 -1
  206. package/dist/components/modal/ModalTrigger.vue_vue_type_script_setup_true_lang.js +12 -6
  207. package/dist/components/modal/ModalTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  208. package/dist/components/number-field/NumberField.js.map +1 -1
  209. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js +24 -4
  210. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  211. package/dist/components/pagination/Pagination.js.map +1 -1
  212. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +7 -1
  213. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  214. package/dist/components/pagination/PaginationContent.js.map +1 -1
  215. package/dist/components/pagination/PaginationContent.vue_vue_type_script_setup_true_lang.js +12 -2
  216. package/dist/components/pagination/PaginationContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  217. package/dist/components/pagination/PaginationEllipsis.js.map +1 -1
  218. package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js +12 -2
  219. package/dist/components/pagination/PaginationEllipsis.vue_vue_type_script_setup_true_lang.js.map +1 -1
  220. package/dist/components/pagination/PaginationFirst.js.map +1 -1
  221. package/dist/components/pagination/PaginationFirst.vue_vue_type_script_setup_true_lang.js +9 -1
  222. package/dist/components/pagination/PaginationFirst.vue_vue_type_script_setup_true_lang.js.map +1 -1
  223. package/dist/components/pagination/PaginationItem.js.map +1 -1
  224. package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js +11 -2
  225. package/dist/components/pagination/PaginationItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  226. package/dist/components/pagination/PaginationLast.js.map +1 -1
  227. package/dist/components/pagination/PaginationLast.vue_vue_type_script_setup_true_lang.js +9 -1
  228. package/dist/components/pagination/PaginationLast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  229. package/dist/components/pagination/PaginationNext.js.map +1 -1
  230. package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js +9 -1
  231. package/dist/components/pagination/PaginationNext.vue_vue_type_script_setup_true_lang.js.map +1 -1
  232. package/dist/components/pagination/PaginationPrev.js.map +1 -1
  233. package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js +9 -1
  234. package/dist/components/pagination/PaginationPrev.vue_vue_type_script_setup_true_lang.js.map +1 -1
  235. package/dist/components/popover/PopoverContent.js.map +1 -1
  236. package/dist/components/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js +6 -2
  237. package/dist/components/popover/PopoverContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  238. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  239. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js +37 -5
  240. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  241. package/dist/components/progress-circle/ProgressCircle.js.map +1 -1
  242. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js +21 -0
  243. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  244. package/dist/components/radio/Radio.js.map +1 -1
  245. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +46 -3
  246. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  247. package/dist/components/radio/RadioGroup.js.map +1 -1
  248. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +24 -0
  249. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  250. package/dist/components/range-calendar/RangeCalendar.js.map +1 -1
  251. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js +44 -11
  252. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  253. package/dist/components/scroll-area/ScrollArea.js.map +1 -1
  254. package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js +61 -8
  255. package/dist/components/scroll-area/ScrollArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/components/select/Select.js.map +1 -1
  257. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js +12 -0
  258. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  259. package/dist/components/select/SelectContent.js.map +1 -1
  260. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js +140 -8
  261. package/dist/components/select/SelectContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  262. package/dist/components/select/SelectItem.js.map +1 -1
  263. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js +22 -6
  264. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  265. package/dist/components/select/SelectTrigger.js.map +1 -1
  266. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +23 -2
  267. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/components/select/SelectValue.js.map +1 -1
  269. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js +14 -2
  270. package/dist/components/select/SelectValue.vue_vue_type_script_setup_true_lang.js.map +1 -1
  271. package/dist/components/slider/Slider.js.map +1 -1
  272. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +69 -6
  273. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/components/splitter/SplitterGroup.js.map +1 -1
  275. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js +18 -3
  276. package/dist/components/splitter/SplitterGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  277. package/dist/components/splitter/SplitterPanel.js.map +1 -1
  278. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js +20 -5
  279. package/dist/components/splitter/SplitterPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  280. package/dist/components/splitter/SplitterResizeHandle.js.map +1 -1
  281. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js +16 -1
  282. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  283. package/dist/components/switch/Switch.js.map +1 -1
  284. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js +53 -2
  285. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  286. package/dist/components/tabs/Tab.js.map +1 -1
  287. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js +7 -1
  288. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  289. package/dist/components/tabs/TabIndicator.js.map +1 -1
  290. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js +12 -2
  291. package/dist/components/tabs/TabIndicator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  292. package/dist/components/tabs/TabList.js.map +1 -1
  293. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js +27 -4
  294. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  295. package/dist/components/tabs/TabPanel.js.map +1 -1
  296. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js +7 -1
  297. package/dist/components/tabs/TabPanel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  298. package/dist/components/tabs/Tabs.js.map +1 -1
  299. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +13 -1
  300. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  301. package/dist/components/time-field/TimeField.js.map +1 -1
  302. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js +22 -1
  303. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  304. package/dist/components/toast/Toast.js.map +1 -1
  305. package/dist/components/toast/Toast.vue_vue_type_script_setup_true_lang.js +39 -4
  306. package/dist/components/toast/Toast.vue_vue_type_script_setup_true_lang.js.map +1 -1
  307. package/dist/components/toast/ToastAction.js.map +1 -1
  308. package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js +3 -1
  309. package/dist/components/toast/ToastAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  310. package/dist/components/toast/ToastClose.js.map +1 -1
  311. package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js +3 -1
  312. package/dist/components/toast/ToastClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  313. package/dist/components/toast/ToastDescription.js.map +1 -1
  314. package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js +15 -3
  315. package/dist/components/toast/ToastDescription.vue_vue_type_script_setup_true_lang.js.map +1 -1
  316. package/dist/components/toast/ToastTitle.js.map +1 -1
  317. package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js +15 -3
  318. package/dist/components/toast/ToastTitle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  319. package/dist/components/toast/ToastViewport.js.map +1 -1
  320. package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js +22 -3
  321. package/dist/components/toast/ToastViewport.vue_vue_type_script_setup_true_lang.js.map +1 -1
  322. package/dist/components/toolbar/Toolbar.js.map +1 -1
  323. package/dist/components/toolbar/Toolbar.vue_vue_type_script_setup_true_lang.js +10 -1
  324. package/dist/components/toolbar/Toolbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  325. package/dist/components/toolbar/ToolbarButton.js.map +1 -1
  326. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js +11 -2
  327. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  328. package/dist/components/toolbar/ToolbarLink.js.map +1 -1
  329. package/dist/components/toolbar/ToolbarLink.vue_vue_type_script_setup_true_lang.js +11 -2
  330. package/dist/components/toolbar/ToolbarLink.vue_vue_type_script_setup_true_lang.js.map +1 -1
  331. package/dist/components/toolbar/ToolbarSeparator.js.map +1 -1
  332. package/dist/components/toolbar/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js +14 -2
  333. package/dist/components/toolbar/ToolbarSeparator.vue_vue_type_script_setup_true_lang.js.map +1 -1
  334. package/dist/components/toolbar/ToolbarToggleGroup.js.map +1 -1
  335. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js +22 -1
  336. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  337. package/dist/components/toolbar/ToolbarToggleItem.js.map +1 -1
  338. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js +7 -1
  339. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  340. package/dist/components/tooltip/Tooltip.js.map +1 -1
  341. package/dist/components/tooltip/Tooltip.vue_vue_type_script_lang.js +20 -0
  342. package/dist/components/tooltip/Tooltip.vue_vue_type_script_lang.js.map +1 -1
  343. package/dist/components/tooltip/TooltipContent.js.map +1 -1
  344. package/dist/components/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js +7 -2
  345. package/dist/components/tooltip/TooltipContent.vue_vue_type_script_setup_true_lang.js.map +1 -1
  346. package/dist/components/tooltip/TooltipProvider.js.map +1 -1
  347. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js +24 -3
  348. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  349. package/dist/components/tree/Tree.js.map +1 -1
  350. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js +16 -1
  351. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  352. package/dist/components/tree/TreeItem.js.map +1 -1
  353. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js +7 -1
  354. package/dist/components/tree/TreeItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  355. package/dist/index.d.ts +2419 -365
  356. package/package.json +4 -4
@@ -1,10 +1,23 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
+ import Button_default from "../button/Button.js";
2
3
  import { useListBoxProvide } from "./ListBox.context.js";
3
4
  import ListBoxItem_default from "./ListBoxItem.js";
4
- import { Fragment, computed, createBlock, createElementBlock, createTextVNode, createVNode, defineComponent, mergeProps, openBlock, renderList, renderSlot, toDisplayString, toRef, unref, useAttrs, withCtx } from "vue";
5
+ import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createTextVNode, createVNode, defineComponent, mergeProps, openBlock, ref, renderList, renderSlot, toDisplayString, toRef, unref, useAttrs, useTemplateRef, withCtx } from "vue";
6
+ import { useInfiniteScroll } from "@vueuse/core";
5
7
  import { listboxVariants } from "@auronui/styles";
6
- import { ListboxContent, ListboxRoot } from "reka-ui";
8
+ import { ListboxContent, ListboxRoot, ListboxVirtualizer } from "reka-ui";
7
9
  //#region src/components/list-box/ListBox.vue?vue&type=script&setup=true&lang.ts
10
+ var _hoisted_1 = {
11
+ key: 0,
12
+ "data-slot": "list-box-loading",
13
+ role: "status",
14
+ "aria-live": "polite"
15
+ };
16
+ var _hoisted_2 = {
17
+ key: 1,
18
+ class: "flex justify-center p-2",
19
+ "data-slot": "list-box-load-more"
20
+ };
8
21
  var ListBox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
9
22
  inheritAttrs: false,
10
23
  __name: "ListBox",
@@ -28,9 +41,67 @@ var ListBox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
28
41
  default: void 0
29
42
  },
30
43
  classNames: {},
31
- items: {}
44
+ items: {},
45
+ multiple: {
46
+ type: Boolean,
47
+ default: void 0
48
+ },
49
+ orientation: { default: void 0 },
50
+ dir: { default: void 0 },
51
+ selectionBehavior: { default: void 0 },
52
+ highlightOnHover: {
53
+ type: Boolean,
54
+ default: void 0
55
+ },
56
+ by: { default: void 0 },
57
+ as: { default: void 0 },
58
+ asChild: {
59
+ type: Boolean,
60
+ default: false
61
+ },
62
+ name: { default: void 0 },
63
+ required: {
64
+ type: Boolean,
65
+ default: void 0
66
+ },
67
+ contentAs: { default: void 0 },
68
+ contentAsChild: {
69
+ type: Boolean,
70
+ default: false
71
+ },
72
+ hideSelectedIcon: {
73
+ type: Boolean,
74
+ default: false
75
+ },
76
+ virtualized: {
77
+ type: Boolean,
78
+ default: false
79
+ },
80
+ estimateSize: {
81
+ type: [Number, Function],
82
+ default: 36
83
+ },
84
+ overscan: { default: 12 },
85
+ maxHeight: { default: "16rem" },
86
+ hasMore: {
87
+ type: Boolean,
88
+ default: false
89
+ },
90
+ isLoading: {
91
+ type: Boolean,
92
+ default: false
93
+ },
94
+ loadMoreDistance: { default: 120 },
95
+ loadMode: { default: "scroll" },
96
+ loadMoreLabel: { default: "Load more" }
32
97
  },
33
- emits: ["update:modelValue"],
98
+ emits: [
99
+ "update:modelValue",
100
+ "highlight",
101
+ "entry-focus",
102
+ "leave",
103
+ "load-more"
104
+ ],
34
105
  setup(__props, { emit: __emit }) {
35
106
  const props = __props;
36
107
  const emit = __emit;
@@ -38,43 +109,137 @@ var ListBox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ define
38
109
  useListBoxProvide({
39
110
  variant: toRef(props, "variant"),
40
111
  itemVariant: toRef(props, "variant"),
41
- isDisabled: toRef(props, "isDisabled")
112
+ isDisabled: toRef(props, "isDisabled"),
113
+ hideSelectedIcon: toRef(props, "hideSelectedIcon")
42
114
  });
43
115
  const slotFns = computed(() => listboxVariants({ variant: props.variant }));
116
+ const contentRef = useTemplateRef("content");
117
+ const lastRequestedCount = ref(-1);
118
+ useInfiniteScroll(contentRef, () => {
119
+ lastRequestedCount.value = props.items?.length ?? 0;
120
+ emit("load-more");
121
+ }, {
122
+ distance: props.loadMoreDistance,
123
+ canLoadMore: () => props.loadMode === "scroll" && props.hasMore && !props.isLoading && (props.items?.length ?? 0) !== lastRequestedCount.value
124
+ });
125
+ function requestLoadMore() {
126
+ if (props.hasMore && !props.isLoading) emit("load-more");
127
+ }
128
+ const needsScroll = computed(() => props.virtualized);
129
+ const contentStyle = computed(() => needsScroll.value ? {
130
+ maxHeight: typeof props.maxHeight === "number" ? `${props.maxHeight}px` : props.maxHeight,
131
+ overflowY: "auto"
132
+ } : void 0);
133
+ const rekaModelValue = computed(() => props.modelValue == null ? void 0 : [].concat(props.modelValue));
134
+ const rekaDefaultValue = computed(() => props.defaultValue == null ? void 0 : [].concat(props.defaultValue));
44
135
  return (_ctx, _cache) => {
45
136
  return openBlock(), createBlock(unref(ListboxRoot), {
46
- "model-value": props.modelValue == null ? void 0 : [].concat(props.modelValue),
47
- "default-value": props.defaultValue == null ? void 0 : [].concat(props.defaultValue),
48
- multiple: props.selectionMode === "multiple",
49
- "selection-behavior": props.selectionMode === "multiple" ? "toggle" : "replace",
137
+ "model-value": rekaModelValue.value,
138
+ "default-value": rekaDefaultValue.value,
139
+ multiple: props.multiple ?? props.selectionMode === "multiple",
140
+ "selection-behavior": props.selectionBehavior ?? (props.selectionMode === "multiple" ? "toggle" : "replace"),
50
141
  disabled: props.isDisabled,
51
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", props.selectionMode === "single" ? Array.isArray($event) ? $event[0] : $event : $event))
142
+ orientation: props.orientation,
143
+ dir: props.dir,
144
+ "highlight-on-hover": props.highlightOnHover,
145
+ by: props.by,
146
+ as: props.as,
147
+ "as-child": props.asChild,
148
+ name: props.name,
149
+ required: props.required,
150
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", props.selectionMode === "single" ? Array.isArray($event) ? $event[0] : $event : $event)),
151
+ onHighlight: _cache[1] || (_cache[1] = ($event) => emit("highlight", $event)),
152
+ onEntryFocus: _cache[2] || (_cache[2] = ($event) => emit("entry-focus", $event)),
153
+ onLeave: _cache[3] || (_cache[3] = ($event) => emit("leave", $event))
52
154
  }, {
53
- default: withCtx(() => [createVNode(unref(ListboxContent), mergeProps(unref(attrs), { class: unref(composeClassName)(slotFns.value, props.class, props.classNames?.base) }), {
54
- default: withCtx(() => [props.items ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(props.items, (item) => {
55
- return openBlock(), createBlock(ListBoxItem_default, {
56
- key: item.value,
57
- value: item.value,
58
- "is-disabled": item.disabled,
59
- "text-value": item.textValue
155
+ default: withCtx(() => [
156
+ createVNode(unref(ListboxContent), mergeProps({ ref: "content" }, unref(attrs), {
157
+ as: props.contentAs,
158
+ "as-child": props.contentAsChild,
159
+ style: contentStyle.value,
160
+ class: unref(composeClassName)(slotFns.value, props.class, props.classNames?.base)
161
+ }), {
162
+ default: withCtx(() => [props.virtualized && props.items ? (openBlock(), createBlock(unref(ListboxVirtualizer), {
163
+ key: 0,
164
+ options: props.items,
165
+ "estimate-size": props.estimateSize,
166
+ overscan: props.overscan,
167
+ "text-content": (o) => o.label ?? o.value
60
168
  }, {
61
- default: withCtx(() => [createTextVNode(toDisplayString(item.label ?? item.value), 1)]),
62
- _: 2
63
- }, 1032, [
64
- "value",
65
- "is-disabled",
66
- "text-value"
67
- ]);
68
- }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })]),
69
- _: 3
70
- }, 16, ["class"])]),
169
+ default: withCtx(({ option, virtualItem }) => [renderSlot(_ctx.$slots, "item", {
170
+ item: option,
171
+ index: virtualItem.index
172
+ }, () => [createVNode(ListBoxItem_default, {
173
+ value: option.value,
174
+ "is-disabled": option.disabled,
175
+ "text-value": option.textValue
176
+ }, {
177
+ default: withCtx(() => [createTextVNode(toDisplayString(option.label ?? option.value), 1)]),
178
+ _: 2
179
+ }, 1032, [
180
+ "value",
181
+ "is-disabled",
182
+ "text-value"
183
+ ])])]),
184
+ _: 3
185
+ }, 8, [
186
+ "options",
187
+ "estimate-size",
188
+ "overscan",
189
+ "text-content"
190
+ ])) : props.items ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(props.items, (item) => {
191
+ return openBlock(), createBlock(ListBoxItem_default, {
192
+ key: item.value,
193
+ value: item.value,
194
+ "is-disabled": item.disabled,
195
+ "text-value": item.textValue
196
+ }, {
197
+ default: withCtx(() => [createTextVNode(toDisplayString(item.label ?? item.value), 1)]),
198
+ _: 2
199
+ }, 1032, [
200
+ "value",
201
+ "is-disabled",
202
+ "text-value"
203
+ ]);
204
+ }), 128)) : renderSlot(_ctx.$slots, "default", { key: 2 })]),
205
+ _: 3
206
+ }, 16, [
207
+ "as",
208
+ "as-child",
209
+ "style",
210
+ "class"
211
+ ]),
212
+ props.loadMode === "scroll" && props.isLoading ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "loading", {}, () => [_cache[4] || (_cache[4] = createTextVNode("Loading…", -1))])])) : createCommentVNode("", true),
213
+ props.loadMode === "button" && props.hasMore ? (openBlock(), createElementBlock("div", _hoisted_2, [renderSlot(_ctx.$slots, "loadMore", {
214
+ loadMore: requestLoadMore,
215
+ isLoading: props.isLoading,
216
+ hasMore: props.hasMore
217
+ }, () => [createVNode(Button_default, {
218
+ size: "sm",
219
+ "is-loading": props.isLoading,
220
+ disabled: props.isLoading,
221
+ "data-slot": "load-more-button",
222
+ onClick: requestLoadMore
223
+ }, {
224
+ default: withCtx(() => [createTextVNode(toDisplayString(props.loadMoreLabel), 1)]),
225
+ _: 1
226
+ }, 8, ["is-loading", "disabled"])])])) : createCommentVNode("", true)
227
+ ]),
71
228
  _: 3
72
229
  }, 8, [
73
230
  "model-value",
74
231
  "default-value",
75
232
  "multiple",
76
233
  "selection-behavior",
77
- "disabled"
234
+ "disabled",
235
+ "orientation",
236
+ "dir",
237
+ "highlight-on-hover",
238
+ "by",
239
+ "as",
240
+ "as-child",
241
+ "name",
242
+ "required"
78
243
  ]);
79
244
  };
80
245
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ListBox.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRef, useAttrs } from 'vue'\nimport { ListboxRoot, ListboxContent } from 'reka-ui'\nimport { listboxVariants, type ListBoxVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxProvide } from './ListBox.context'\nimport ListBoxItem from './ListBoxItem.vue'\n\ntype ListBoxShorthandItem = { value: string; label?: string; disabled?: boolean; textValue?: string }\n\n// Disable Vue attribute fallthrough — we manually forward ARIA attrs to ListboxContent\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n modelValue?: string | string[]\n defaultValue?: string | string[]\n selectionMode?: 'single' | 'multiple'\n variant?: ListBoxVariants['variant']\n isDisabled?: boolean\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render list items from an array instead of the compound slot API */\n items?: ListBoxShorthandItem[]\n}>(), {\n modelValue: undefined,\n defaultValue: undefined,\n selectionMode: 'single',\n variant: 'default',\n isDisabled: false,\n class: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | undefined]\n}>()\n\nconst attrs = useAttrs()\n\n// Provide context for ListBoxItem and ListBoxSection children\nuseListBoxProvide({\n variant: toRef(props, 'variant'),\n itemVariant: toRef(props, 'variant'),\n isDisabled: toRef(props, 'isDisabled'),\n})\n\nconst slotFns = computed(() =>\n listboxVariants({ variant: props.variant })\n)\n</script>\n\n<template>\n <!-- ListboxRoot is an invisible wrapper that manages state; ListboxContent carries role=\"listbox\" -->\n <!-- We forward attrs (aria-label, aria-labelledby, etc.) to ListboxContent, not the root -->\n <ListboxRoot\n :model-value=\"props.modelValue == null ? undefined : ([] as string[]).concat(props.modelValue)\"\n :default-value=\"props.defaultValue == null ? undefined : ([] as string[]).concat(props.defaultValue)\"\n :multiple=\"props.selectionMode === 'multiple'\"\n :selection-behavior=\"props.selectionMode === 'multiple' ? 'toggle' : 'replace'\"\n :disabled=\"props.isDisabled\"\n @update:model-value=\"emit('update:modelValue', props.selectionMode === 'single' ? (Array.isArray($event) ? ($event as string[])[0] : $event as string) : $event as string[])\"\n >\n <ListboxContent\n v-bind=\"attrs\"\n :class=\"composeClassName(slotFns, props.class, props.classNames?.base)\"\n >\n <template v-if=\"props.items\">\n <ListBoxItem\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :is-disabled=\"item.disabled\"\n :text-value=\"item.textValue\"\n >{{ item.label ?? item.value }}</ListBoxItem>\n </template>\n <slot v-else />\n </ListboxContent>\n </ListboxRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,MAAM,QAAQ;EAyBd,MAAM,OAAO;EAIb,MAAM,QAAQ,UAAS;AAGvB,oBAAkB;GAChB,SAAS,MAAM,OAAO,UAAU;GAChC,aAAa,MAAM,OAAO,UAAU;GACpC,YAAY,MAAM,OAAO,aAAa;GACvC,CAAA;EAED,MAAM,UAAU,eACd,gBAAgB,EAAE,SAAS,MAAM,SAAS,CAAA,CAC5C;;uBAME,YAuBc,MAAA,YAAA,EAAA;IAtBX,eAAa,MAAM,cAAU,OAAW,KAAA,IAAS,EAAA,CAAoB,OAAO,MAAM,WAAU;IAC5F,iBAAe,MAAM,gBAAY,OAAW,KAAA,IAAS,EAAA,CAAoB,OAAO,MAAM,aAAY;IAClG,UAAU,MAAM,kBAAa;IAC7B,sBAAoB,MAAM,kBAAa,aAAA,WAAA;IACvC,UAAU,MAAM;IAChB,uBAAkB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,qBAAsB,MAAM,kBAAa,WAAiB,MAAM,QAAQ,OAAM,GAAK,OAAM,KAAmB,SAAoB,OAAM;;2BAgB9I,CAdjB,YAciB,MAAA,eAAA,EAdjB,WACU,MAaO,MAbF,EAAA,EACZ,OAAO,MAAA,iBAAgB,CAAC,QAAA,OAAS,MAAM,OAAO,MAAM,YAAY,KAAI,EAAA,CAAA,EAAA;4BAU1D,CARK,MAAM,SAAA,UAAA,KAAA,EACpB,mBAM6C,UAAA,EAAA,KAAA,GAAA,EAAA,WAL5B,MAAM,QAAd,SAAI;0BADb,YAM6C,qBAAA;OAJ1C,KAAK,KAAK;OACV,OAAO,KAAK;OACZ,eAAa,KAAK;OAClB,cAAY,KAAK;;8BACW,CAAA,gBAAA,gBAA3B,KAAK,SAAS,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;iBAE9B,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ListBox.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, toRef, useAttrs, useTemplateRef } from 'vue'\nimport { useInfiniteScroll } from '@vueuse/core'\nimport { ListboxRoot, ListboxContent, ListboxVirtualizer } from 'reka-ui'\nimport { listboxVariants, type ListBoxVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxProvide } from './ListBox.context'\nimport ListBoxItem from './ListBoxItem.vue'\nimport Button from '../button/Button.vue'\n\ntype ListBoxShorthandItem = { value: string; label?: string; disabled?: boolean; textValue?: string }\n\n// Disable Vue attribute fallthrough — we manually forward ARIA attrs to ListboxContent\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n modelValue?: string | string[]\n defaultValue?: string | string[]\n selectionMode?: 'single' | 'multiple'\n variant?: ListBoxVariants['variant']\n isDisabled?: boolean\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render list items from an array instead of the compound slot API */\n items?: ListBoxShorthandItem[]\n /** Allow selecting multiple values (alias for selectionMode=\"multiple\"). */\n multiple?: boolean\n /** Orientation of the listbox for keyboard navigation. */\n orientation?: 'horizontal' | 'vertical'\n /** Reading direction for the component. */\n dir?: 'ltr' | 'rtl'\n /** Selection behavior when multiple is true. */\n selectionBehavior?: 'toggle' | 'replace'\n /** Highlight item on hover. */\n highlightOnHover?: boolean\n /** Key used to compare items for equality. */\n by?: string\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n /** Form field name for native form submission. */\n name?: string\n /** Mark the field as required. */\n required?: boolean\n /** Render the ListboxContent as a different element. */\n contentAs?: string\n /** Merge content props onto child element. */\n contentAsChild?: boolean\n /** Hide the selected checkmark on all items (forwarded via context). */\n hideSelectedIcon?: boolean\n /** Enable windowed rendering (opt-in). Renders from `items`. */\n virtualized?: boolean\n /** Estimated row height in px (or per-index fn) for the virtualizer. */\n estimateSize?: number | ((index: number) => number)\n /** Rows rendered outside the visible area. */\n overscan?: number\n /** Scroll-viewport height for the content when scrolling is active. */\n maxHeight?: string | number\n /** Whether more pages remain to load (gates load-more). */\n hasMore?: boolean\n /** A page is currently loading (gates load-more; drives #loading slot). */\n isLoading?: boolean\n /** Distance in px from the bottom that triggers load-more. */\n loadMoreDistance?: number\n /** How the next page is requested: auto on scroll, or a manual button. */\n loadMode?: 'scroll' | 'button'\n /** Label for the manual load-more button (loadMode=\"button\"). */\n loadMoreLabel?: string\n}>(), {\n modelValue: undefined,\n defaultValue: undefined,\n selectionMode: 'single',\n variant: 'default',\n isDisabled: false,\n class: undefined,\n multiple: undefined,\n orientation: undefined,\n dir: undefined,\n selectionBehavior: undefined,\n highlightOnHover: undefined,\n by: undefined,\n as: undefined,\n asChild: false,\n name: undefined,\n required: undefined,\n contentAs: undefined,\n contentAsChild: false,\n hideSelectedIcon: false,\n virtualized: false,\n estimateSize: 36,\n overscan: 12,\n maxHeight: '16rem',\n hasMore: false,\n isLoading: false,\n loadMoreDistance: 120,\n loadMode: 'scroll',\n loadMoreLabel: 'Load more',\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string | string[] | undefined]\n 'highlight': [context: unknown]\n 'entry-focus': [event: Event]\n 'leave': [event: Event]\n 'load-more': []\n}>()\n\nconst attrs = useAttrs()\n\n// Provide context for ListBoxItem and ListBoxSection children\nuseListBoxProvide({\n variant: toRef(props, 'variant'),\n itemVariant: toRef(props, 'variant'),\n isDisabled: toRef(props, 'isDisabled'),\n hideSelectedIcon: toRef(props, 'hideSelectedIcon'),\n})\n\nconst slotFns = computed(() =>\n listboxVariants({ variant: props.variant })\n)\n\n// Bounded scroll viewport only when the content actually needs to scroll, so\n// default (non-virtualized) ListBoxes are visually unchanged.\n// useTemplateRef on a Reka component resolves to its instance; useInfiniteScroll's\n// internal unrefElement reads `.$el` to get the scroll DOM node.\nconst contentRef = useTemplateRef<HTMLElement>('content')\n\n// Re-arm latch. useInfiniteScroll keeps re-invoking onLoadMore while the scroll\n// element stays at the bottom and canLoadMore is true. Emitting `load-more` does\n// not itself flip hasMore/isLoading, so without this guard it fires in a tight\n// loop (unbounded emits → hang). We record the item count at the moment we ask\n// for a page and refuse to ask again until the dataset actually grows — i.e.\n// until the consumer has appended the next page.\nconst lastRequestedCount = ref(-1)\nuseInfiniteScroll(\n contentRef,\n () => {\n lastRequestedCount.value = props.items?.length ?? 0\n emit('load-more')\n },\n {\n // Read once at setup: useScroll consumes `offset.bottom` as a raw number\n // (no toValue), so a getter/ref here would break arrival math. Hot-swapping\n // loadMoreDistance after mount is not supported (not a real use case).\n distance: props.loadMoreDistance,\n canLoadMore: () =>\n props.loadMode === 'scroll'\n && props.hasMore\n && !props.isLoading\n && (props.items?.length ?? 0) !== lastRequestedCount.value,\n },\n)\n\n// Manual load-more (loadMode=\"button\"). User-driven, so no re-arm latch needed —\n// the hasMore/isLoading gate is enough (and the button is disabled while loading).\nfunction requestLoadMore() {\n if (props.hasMore && !props.isLoading) emit('load-more')\n}\n\nconst needsScroll = computed(() => props.virtualized)\nconst contentStyle = computed(() =>\n needsScroll.value\n ? { maxHeight: typeof props.maxHeight === 'number' ? `${props.maxHeight}px` : props.maxHeight, overflowY: 'auto' as const }\n : undefined,\n)\n\n// Stable array references for Reka. Building a fresh array inline on every render\n// would retrigger Reka's `watch(modelValue)`, which re-highlights and\n// scrollIntoView's the selected/first item — making the list jump to the top on\n// any unrelated re-render (e.g. when isLoading toggles during load-more). A\n// computed is cached, so the reference only changes when the value really does.\nconst rekaModelValue = computed(() =>\n props.modelValue == null ? undefined : ([] as string[]).concat(props.modelValue),\n)\nconst rekaDefaultValue = computed(() =>\n props.defaultValue == null ? undefined : ([] as string[]).concat(props.defaultValue),\n)\n</script>\n\n<template>\n <!-- ListboxRoot is an invisible wrapper that manages state; ListboxContent carries role=\"listbox\" -->\n <!-- We forward attrs (aria-label, aria-labelledby, etc.) to ListboxContent, not the root -->\n <ListboxRoot\n :model-value=\"rekaModelValue\"\n :default-value=\"rekaDefaultValue\"\n :multiple=\"props.multiple ?? props.selectionMode === 'multiple'\"\n :selection-behavior=\"props.selectionBehavior ?? (props.selectionMode === 'multiple' ? 'toggle' : 'replace')\"\n :disabled=\"props.isDisabled\"\n :orientation=\"props.orientation\"\n :dir=\"props.dir\"\n :highlight-on-hover=\"props.highlightOnHover\"\n :by=\"props.by\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"props.required\"\n @update:model-value=\"emit('update:modelValue', props.selectionMode === 'single' ? (Array.isArray($event) ? ($event as string[])[0] : $event as string) : $event as string[])\"\n @highlight=\"emit('highlight', $event)\"\n @entry-focus=\"emit('entry-focus', $event)\"\n @leave=\"emit('leave', $event)\"\n >\n <ListboxContent\n ref=\"content\"\n v-bind=\"attrs\"\n :as=\"props.contentAs\"\n :as-child=\"props.contentAsChild\"\n :style=\"contentStyle\"\n :class=\"composeClassName(slotFns, props.class, props.classNames?.base)\"\n >\n <ListboxVirtualizer\n v-if=\"props.virtualized && props.items\"\n :options=\"props.items\"\n :estimate-size=\"props.estimateSize\"\n :overscan=\"props.overscan\"\n :text-content=\"(o) => (o.label ?? o.value)\"\n >\n <template #default=\"{ option, virtualItem }\">\n <slot name=\"item\" :item=\"option\" :index=\"virtualItem.index\">\n <ListBoxItem\n :value=\"option.value\"\n :is-disabled=\"option.disabled\"\n :text-value=\"option.textValue\"\n >{{ option.label ?? option.value }}</ListBoxItem>\n </slot>\n </template>\n </ListboxVirtualizer>\n\n <template v-else-if=\"props.items\">\n <ListBoxItem\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :is-disabled=\"item.disabled\"\n :text-value=\"item.textValue\"\n >{{ item.label ?? item.value }}</ListBoxItem>\n </template>\n\n <slot v-else />\n </ListboxContent>\n\n <!-- Bottom area, rendered outside role=\"listbox\" so it does not violate\n aria-required-children. Scroll mode shows a loading row; button mode\n shows a manual \"Load more\" button (which conveys its own loading state). -->\n <div\n v-if=\"props.loadMode === 'scroll' && props.isLoading\"\n data-slot=\"list-box-loading\"\n role=\"status\"\n aria-live=\"polite\"\n >\n <slot name=\"loading\">Loading…</slot>\n </div>\n\n <div\n v-if=\"props.loadMode === 'button' && props.hasMore\"\n class=\"flex justify-center p-2\"\n data-slot=\"list-box-load-more\"\n >\n <slot\n name=\"loadMore\"\n :load-more=\"requestLoadMore\"\n :is-loading=\"props.isLoading\"\n :has-more=\"props.hasMore\"\n >\n <Button\n size=\"sm\"\n :is-loading=\"props.isLoading\"\n :disabled=\"props.isLoading\"\n data-slot=\"load-more-button\"\n @click=\"requestLoadMore\"\n >\n {{ props.loadMoreLabel }}\n </Button>\n </slot>\n </div>\n </ListboxRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EA2Fd,MAAM,OAAO;EAQb,MAAM,QAAQ,UAAS;AAGvB,oBAAkB;GAChB,SAAS,MAAM,OAAO,UAAU;GAChC,aAAa,MAAM,OAAO,UAAU;GACpC,YAAY,MAAM,OAAO,aAAa;GACtC,kBAAkB,MAAM,OAAO,mBAAmB;GACnD,CAAA;EAED,MAAM,UAAU,eACd,gBAAgB,EAAE,SAAS,MAAM,SAAS,CAAA,CAC5C;EAMA,MAAM,aAAa,eAA4B,UAAS;EAQxD,MAAM,qBAAqB,IAAI,GAAE;AACjC,oBACE,kBACM;AACJ,sBAAmB,QAAQ,MAAM,OAAO,UAAU;AAClD,QAAK,YAAW;KAElB;GAIE,UAAU,MAAM;GAChB,mBACE,MAAM,aAAa,YAChB,MAAM,WACN,CAAC,MAAM,cACN,MAAM,OAAO,UAAU,OAAO,mBAAmB;GACxD,CACH;EAIA,SAAS,kBAAkB;AACzB,OAAI,MAAM,WAAW,CAAC,MAAM,UAAW,MAAK,YAAW;;EAGzD,MAAM,cAAc,eAAe,MAAM,YAAW;EACpD,MAAM,eAAe,eACnB,YAAY,QACR;GAAE,WAAW,OAAO,MAAM,cAAc,WAAW,GAAG,MAAM,UAAU,MAAM,MAAM;GAAW,WAAW;GAAgB,GACxH,KAAA,EACN;EAOA,MAAM,iBAAiB,eACrB,MAAM,cAAc,OAAO,KAAA,IAAa,EAAE,CAAc,OAAO,MAAM,WAAW,CAClF;EACA,MAAM,mBAAmB,eACvB,MAAM,gBAAgB,OAAO,KAAA,IAAa,EAAE,CAAc,OAAO,MAAM,aAAa,CACtF;;uBAME,YA4Fc,MAAA,YAAA,EAAA;IA3FX,eAAa,eAAA;IACb,iBAAe,iBAAA;IACf,UAAU,MAAM,YAAY,MAAM,kBAAa;IAC/C,sBAAoB,MAAM,sBAAsB,MAAM,kBAAa,aAAA,WAAA;IACnE,UAAU,MAAM;IAChB,aAAa,MAAM;IACnB,KAAK,MAAM;IACX,sBAAoB,MAAM;IAC1B,IAAI,MAAM;IACV,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,MAAM,MAAM;IACZ,UAAU,MAAM;IAChB,uBAAkB,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,qBAAsB,MAAM,kBAAa,WAAiB,MAAM,QAAQ,OAAM,GAAK,OAAM,KAAmB,SAAoB,OAAM;IAC9J,aAAS,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,aAAc,OAAM;IACnC,cAAW,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,eAAgB,OAAM;IACvC,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,OAAM;;2BAuCX;KArCjB,YAqCiB,MAAA,eAAA,EArCjB,WAqCiB,EApCf,KAAI,WAAS,EACL,MAAA,MAAK,EAAA;MACZ,IAAI,MAAM;MACV,YAAU,MAAM;MAChB,OAAO,aAAA;MACP,OAAO,MAAA,iBAAgB,CAAC,QAAA,OAAS,MAAM,OAAO,MAAM,YAAY,KAAI;;6BAkBhD,CAfb,MAAM,eAAe,MAAM,SAAA,WAAA,EADnC,YAgBqB,MAAA,mBAAA,EAAA;;OAdlB,SAAS,MAAM;OACf,iBAAe,MAAM;OACrB,UAAU,MAAM;OAChB,iBAAe,MAAO,EAAE,SAAS,EAAE;;OAEzB,SAAO,SAOT,EAPa,QAAQ,kBAAW,CACvC,WAMO,KAAA,QAAA,QAAA;QANY,MAAM;QAAS,OAAO,YAAY;gBAM9C,CALL,YAIiD,qBAAA;QAH9C,OAAO,OAAO;QACd,eAAa,OAAO;QACpB,cAAY,OAAO;;+BACa,CAAA,gBAAA,gBAA/B,OAAO,SAAS,OAAO,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;;;;;;;YAKjB,MAAM,SAAA,UAAA,KAAA,EACzB,mBAM6C,UAAA,EAAA,KAAA,GAAA,EAAA,WAL5B,MAAM,QAAd,SAAI;2BADb,YAM6C,qBAAA;QAJ1C,KAAK,KAAK;QACV,OAAO,KAAK;QACZ,eAAa,KAAK;QAClB,cAAY,KAAK;;+BACW,CAAA,gBAAA,gBAA3B,KAAK,SAAS,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;kBAG9B,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,CAAA;;;;;;;;KAOT,MAAM,aAAQ,YAAiB,MAAM,aAAA,WAAA,EAD7C,mBAOM,OAPN,YAOM,CADJ,WAAoC,KAAA,QAAA,WAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAAA,gBAAf,YAAQ,GAAA,EAAA,CAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA;KAIvB,MAAM,aAAQ,YAAiB,MAAM,WAAA,WAAA,EAD7C,mBAqBM,OArBN,YAqBM,CAhBJ,WAeO,KAAA,QAAA,YAAA;MAbJ,UAAW;MACX,WAAY,MAAM;MAClB,SAAU,MAAM;cAWZ,CATL,YAQS,gBAAA;MAPP,MAAK;MACJ,cAAY,MAAM;MAClB,UAAU,MAAM;MACjB,aAAU;MACT,SAAO;;6BAEiB,CAAA,gBAAA,gBAAtB,MAAM,cAAa,EAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxItem.js","names":[],"sources":["../../../src/components/list-box/ListBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { ListboxItem, ListboxItemIndicator } from 'reka-ui'\nimport { listboxItemVariants, type ListBoxItemVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxInject } from './ListBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: ListBoxItemVariants['variant']\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n item: ClassValue\n indicator: ClassValue\n }>\n}>(), {\n textValue: undefined,\n isDisabled: false,\n variant: undefined,\n class: undefined,\n classNames: undefined,\n})\n\n// Inject context with fallback (standalone usage)\nconst ctx = useListBoxInject({\n variant: ref('default'),\n itemVariant: ref('default'),\n isDisabled: ref(false),\n})\n\nconst finalVariant = computed(() => props.variant ?? ctx.itemVariant.value)\nconst finalDisabled = computed(() => ctx.isDisabled.value || props.isDisabled)\n\nconst slotFns = computed(() =>\n listboxItemVariants({ variant: finalVariant.value as ListBoxItemVariants['variant'] })\n)\n</script>\n\n<template>\n <ListboxItem\n :value=\"props.value\"\n :disabled=\"finalDisabled\"\n :text-value=\"props.textValue ?? props.value\"\n :class=\"composeClassName(slotFns.item(), props.class, props.classNames?.item)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <slot name=\"endContent\" />\n <ListboxItemIndicator :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\">\n <slot name=\"selectedIcon\">\n <!-- Default check icon -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ListboxItemIndicator>\n </ListboxItem>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ListBoxItem.js","names":[],"sources":["../../../src/components/list-box/ListBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { ListboxItem, ListboxItemIndicator } from 'reka-ui'\nimport { listboxItemVariants, type ListBoxItemVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxInject } from './ListBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: ListBoxItemVariants['variant']\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n item: ClassValue\n indicator: ClassValue\n }>\n /** Whether the item is disabled. Alias for isDisabled. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n /** Render the ListboxItemIndicator as a different element. */\n indicatorAs?: string\n /** Merge indicator props onto child element. */\n indicatorAsChild?: boolean\n /** Hide this item's selected indicator. Falls back to the ListBox setting. */\n hideSelectedIcon?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: false,\n variant: undefined,\n class: undefined,\n classNames: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n indicatorAs: undefined,\n indicatorAsChild: false,\n hideSelectedIcon: undefined,\n})\n\nconst emit = defineEmits<{\n 'select': [event: Event]\n}>()\n\n// Inject context with fallback (standalone usage)\nconst ctx = useListBoxInject({\n variant: ref('default'),\n itemVariant: ref('default'),\n isDisabled: ref(false),\n hideSelectedIcon: ref(false),\n})\n\nconst finalVariant = computed(() => props.variant ?? ctx.itemVariant.value)\nconst finalDisabled = computed(() => ctx.isDisabled.value || props.isDisabled)\nconst finalHideSelectedIcon = computed(\n () => props.hideSelectedIcon ?? ctx.hideSelectedIcon.value,\n)\n\nconst slotFns = computed(() =>\n listboxItemVariants({ variant: finalVariant.value as ListBoxItemVariants['variant'] })\n)\n</script>\n\n<template>\n <ListboxItem\n :value=\"props.value\"\n :disabled=\"props.disabled ?? finalDisabled\"\n :text-value=\"props.textValue ?? props.value\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.item(), props.class, props.classNames?.item)\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <slot name=\"endContent\" />\n <ListboxItemIndicator\n v-if=\"!finalHideSelectedIcon\"\n :as=\"props.indicatorAs\"\n :as-child=\"props.indicatorAsChild\"\n :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\"\n >\n <slot name=\"selectedIcon\">\n <!-- Default check icon -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ListboxItemIndicator>\n </ListboxItem>\n</template>\n"],"mappings":""}
@@ -1,6 +1,6 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
2
  import { useListBoxInject } from "./ListBox.context.js";
3
- import { computed, createBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, ref, renderSlot, unref, withCtx } from "vue";
3
+ import { computed, createBlock, createCommentVNode, createElementVNode, defineComponent, normalizeClass, openBlock, ref, renderSlot, unref, withCtx } from "vue";
4
4
  import { listboxItemVariants } from "@auronui/styles";
5
5
  import { ListboxItem, ListboxItemIndicator } from "reka-ui";
6
6
  //#region src/components/list-box/ListBoxItem.vue?vue&type=script&setup=true&lang.ts
@@ -24,31 +24,61 @@ var ListBoxItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
24
24
  ],
25
25
  default: void 0
26
26
  },
27
- classNames: { default: void 0 }
27
+ classNames: { default: void 0 },
28
+ disabled: {
29
+ type: Boolean,
30
+ default: void 0
31
+ },
32
+ as: { default: void 0 },
33
+ asChild: {
34
+ type: Boolean,
35
+ default: false
36
+ },
37
+ indicatorAs: { default: void 0 },
38
+ indicatorAsChild: {
39
+ type: Boolean,
40
+ default: false
41
+ },
42
+ hideSelectedIcon: {
43
+ type: Boolean,
44
+ default: void 0
45
+ }
28
46
  },
29
- setup(__props) {
47
+ emits: ["select"],
48
+ setup(__props, { emit: __emit }) {
30
49
  const props = __props;
50
+ const emit = __emit;
31
51
  const ctx = useListBoxInject({
32
52
  variant: ref("default"),
33
53
  itemVariant: ref("default"),
34
- isDisabled: ref(false)
54
+ isDisabled: ref(false),
55
+ hideSelectedIcon: ref(false)
35
56
  });
36
57
  const finalVariant = computed(() => props.variant ?? ctx.itemVariant.value);
37
58
  const finalDisabled = computed(() => ctx.isDisabled.value || props.isDisabled);
59
+ const finalHideSelectedIcon = computed(() => props.hideSelectedIcon ?? ctx.hideSelectedIcon.value);
38
60
  const slotFns = computed(() => listboxItemVariants({ variant: finalVariant.value }));
39
61
  return (_ctx, _cache) => {
40
62
  return openBlock(), createBlock(unref(ListboxItem), {
41
63
  value: props.value,
42
- disabled: finalDisabled.value,
64
+ disabled: props.disabled ?? finalDisabled.value,
43
65
  "text-value": props.textValue ?? props.value,
44
- class: normalizeClass(unref(composeClassName)(slotFns.value.item(), props.class, props.classNames?.item))
66
+ as: props.as,
67
+ "as-child": props.asChild,
68
+ class: normalizeClass(unref(composeClassName)(slotFns.value.item(), props.class, props.classNames?.item)),
69
+ onSelect: _cache[0] || (_cache[0] = ($event) => emit("select", $event))
45
70
  }, {
46
71
  default: withCtx(() => [
47
72
  renderSlot(_ctx.$slots, "startContent"),
48
73
  renderSlot(_ctx.$slots, "default"),
49
74
  renderSlot(_ctx.$slots, "endContent"),
50
- createVNode(unref(ListboxItemIndicator), { class: normalizeClass(unref(composeClassName)(slotFns.value.indicator(), props.classNames?.indicator)) }, {
51
- default: withCtx(() => [renderSlot(_ctx.$slots, "selectedIcon", {}, () => [_cache[0] || (_cache[0] = createElementVNode("svg", {
75
+ !finalHideSelectedIcon.value ? (openBlock(), createBlock(unref(ListboxItemIndicator), {
76
+ key: 0,
77
+ as: props.indicatorAs,
78
+ "as-child": props.indicatorAsChild,
79
+ class: normalizeClass(unref(composeClassName)(slotFns.value.indicator(), props.classNames?.indicator))
80
+ }, {
81
+ default: withCtx(() => [renderSlot(_ctx.$slots, "selectedIcon", {}, () => [_cache[1] || (_cache[1] = createElementVNode("svg", {
52
82
  xmlns: "http://www.w3.org/2000/svg",
53
83
  width: "12",
54
84
  height: "12",
@@ -62,13 +92,19 @@ var ListBoxItem_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
62
92
  "aria-hidden": "true"
63
93
  }, [createElementVNode("polyline", { points: "20 6 9 17 4 12" })], -1))])]),
64
94
  _: 3
65
- }, 8, ["class"])
95
+ }, 8, [
96
+ "as",
97
+ "as-child",
98
+ "class"
99
+ ])) : createCommentVNode("", true)
66
100
  ]),
67
101
  _: 3
68
102
  }, 8, [
69
103
  "value",
70
104
  "disabled",
71
105
  "text-value",
106
+ "as",
107
+ "as-child",
72
108
  "class"
73
109
  ]);
74
110
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { ListboxItem, ListboxItemIndicator } from 'reka-ui'\nimport { listboxItemVariants, type ListBoxItemVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxInject } from './ListBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: ListBoxItemVariants['variant']\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n item: ClassValue\n indicator: ClassValue\n }>\n}>(), {\n textValue: undefined,\n isDisabled: false,\n variant: undefined,\n class: undefined,\n classNames: undefined,\n})\n\n// Inject context with fallback (standalone usage)\nconst ctx = useListBoxInject({\n variant: ref('default'),\n itemVariant: ref('default'),\n isDisabled: ref(false),\n})\n\nconst finalVariant = computed(() => props.variant ?? ctx.itemVariant.value)\nconst finalDisabled = computed(() => ctx.isDisabled.value || props.isDisabled)\n\nconst slotFns = computed(() =>\n listboxItemVariants({ variant: finalVariant.value as ListBoxItemVariants['variant'] })\n)\n</script>\n\n<template>\n <ListboxItem\n :value=\"props.value\"\n :disabled=\"finalDisabled\"\n :text-value=\"props.textValue ?? props.value\"\n :class=\"composeClassName(slotFns.item(), props.class, props.classNames?.item)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <slot name=\"endContent\" />\n <ListboxItemIndicator :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\">\n <slot name=\"selectedIcon\">\n <!-- Default check icon -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ListboxItemIndicator>\n </ListboxItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAoBd,MAAM,MAAM,iBAAiB;GAC3B,SAAS,IAAI,UAAU;GACvB,aAAa,IAAI,UAAU;GAC3B,YAAY,IAAI,MAAM;GACvB,CAAA;EAED,MAAM,eAAe,eAAe,MAAM,WAAW,IAAI,YAAY,MAAK;EAC1E,MAAM,gBAAgB,eAAe,IAAI,WAAW,SAAS,MAAM,WAAU;EAE7E,MAAM,UAAU,eACd,oBAAoB,EAAE,SAAS,aAAa,OAAyC,CAAA,CACvF;;uBAIE,YA6Bc,MAAA,YAAA,EAAA;IA5BX,OAAO,MAAM;IACb,UAAU,cAAA;IACV,cAAY,MAAM,aAAa,MAAM;IACrC,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;;2BAEhD;KAA5B,WAA4B,KAAA,QAAA,eAAA;KAC5B,WAAQ,KAAA,QAAA,UAAA;KACR,WAA0B,KAAA,QAAA,aAAA;KAC1B,YAmBuB,MAAA,qBAAA,EAAA,EAnBA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA,EAAA,EAAA;6BAkBtF,CAjBP,WAiBO,KAAA,QAAA,gBAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAfL,mBAcM,OAAA;OAbJ,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,gBAAa;OACb,kBAAe;OACf,mBAAgB;OAChB,aAAU;OACV,eAAY;UAEZ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ListBoxItem.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBoxItem.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue'\nimport { ListboxItem, ListboxItemIndicator } from 'reka-ui'\nimport { listboxItemVariants, type ListBoxItemVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useListBoxInject } from './ListBox.context'\n\nconst props = withDefaults(defineProps<{\n value: string\n textValue?: string\n isDisabled?: boolean\n variant?: ListBoxItemVariants['variant']\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n item: ClassValue\n indicator: ClassValue\n }>\n /** Whether the item is disabled. Alias for isDisabled. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n /** Render the ListboxItemIndicator as a different element. */\n indicatorAs?: string\n /** Merge indicator props onto child element. */\n indicatorAsChild?: boolean\n /** Hide this item's selected indicator. Falls back to the ListBox setting. */\n hideSelectedIcon?: boolean\n}>(), {\n textValue: undefined,\n isDisabled: false,\n variant: undefined,\n class: undefined,\n classNames: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n indicatorAs: undefined,\n indicatorAsChild: false,\n hideSelectedIcon: undefined,\n})\n\nconst emit = defineEmits<{\n 'select': [event: Event]\n}>()\n\n// Inject context with fallback (standalone usage)\nconst ctx = useListBoxInject({\n variant: ref('default'),\n itemVariant: ref('default'),\n isDisabled: ref(false),\n hideSelectedIcon: ref(false),\n})\n\nconst finalVariant = computed(() => props.variant ?? ctx.itemVariant.value)\nconst finalDisabled = computed(() => ctx.isDisabled.value || props.isDisabled)\nconst finalHideSelectedIcon = computed(\n () => props.hideSelectedIcon ?? ctx.hideSelectedIcon.value,\n)\n\nconst slotFns = computed(() =>\n listboxItemVariants({ variant: finalVariant.value as ListBoxItemVariants['variant'] })\n)\n</script>\n\n<template>\n <ListboxItem\n :value=\"props.value\"\n :disabled=\"props.disabled ?? finalDisabled\"\n :text-value=\"props.textValue ?? props.value\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.item(), props.class, props.classNames?.item)\"\n @select=\"emit('select', $event)\"\n >\n <slot name=\"startContent\" />\n <slot />\n <slot name=\"endContent\" />\n <ListboxItemIndicator\n v-if=\"!finalHideSelectedIcon\"\n :as=\"props.indicatorAs\"\n :as-child=\"props.indicatorAsChild\"\n :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\"\n >\n <slot name=\"selectedIcon\">\n <!-- Default check icon -->\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"3\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"list-box-item-indicator--checkmark\"\n aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </slot>\n </ListboxItemIndicator>\n </ListboxItem>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAqCd,MAAM,OAAO;EAKb,MAAM,MAAM,iBAAiB;GAC3B,SAAS,IAAI,UAAU;GACvB,aAAa,IAAI,UAAU;GAC3B,YAAY,IAAI,MAAM;GACtB,kBAAkB,IAAI,MAAM;GAC7B,CAAA;EAED,MAAM,eAAe,eAAe,MAAM,WAAW,IAAI,YAAY,MAAK;EAC1E,MAAM,gBAAgB,eAAe,IAAI,WAAW,SAAS,MAAM,WAAU;EAC7E,MAAM,wBAAwB,eACtB,MAAM,oBAAoB,IAAI,iBAAiB,MACvD;EAEA,MAAM,UAAU,eACd,oBAAoB,EAAE,SAAS,aAAa,OAAyC,CAAA,CACvF;;uBAIE,YAqCc,MAAA,YAAA,EAAA;IApCX,OAAO,MAAM;IACb,UAAU,MAAM,YAAY,cAAA;IAC5B,cAAY,MAAM,aAAa,MAAM;IACrC,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;;2BAEF;KAA5B,WAA4B,KAAA,QAAA,eAAA;KAC5B,WAAQ,KAAA,QAAA,UAAA;KACR,WAA0B,KAAA,QAAA,aAAA;MAEjB,sBAAA,SAAA,WAAA,EADT,YAwBuB,MAAA,qBAAA,EAAA;;MAtBpB,IAAI,MAAM;MACV,YAAU,MAAM;MAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA;;6BAmBlE,CAjBP,WAiBO,KAAA,QAAA,gBAAA,EAAA,QAAA,CAAA,OAAA,OAAA,OAAA,KAfL,mBAcM,OAAA;OAbJ,OAAM;OACN,OAAM;OACN,QAAO;OACP,SAAQ;OACR,MAAK;OACL,QAAO;OACP,gBAAa;OACb,kBAAe;OACf,mBAAgB;OAChB,aAAU;OACV,eAAY;UAEZ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,EAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxSection.js","names":[],"sources":["../../../src/components/list-box/ListBoxSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ListboxGroup, ListboxGroupLabel } from 'reka-ui'\nimport { listboxSectionVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n title?: string\n showDivider?: boolean\n class?: string\n}>(), {\n title: undefined,\n showDivider: false,\n class: undefined,\n})\n\nconst sectionClass = computed(() =>\n listboxSectionVariants()\n)\n</script>\n\n<template>\n <ListboxGroup :class=\"sectionClass.base()\">\n <ListboxGroupLabel\n v-if=\"props.title\"\n :class=\"sectionClass.label()\"\n >\n {{ props.title }}\n </ListboxGroupLabel>\n <slot />\n <div\n v-if=\"props.showDivider\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"separator\"\n data-orientation=\"horizontal\"\n :class=\"sectionClass.separator()\"\n />\n </ListboxGroup>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ListBoxSection.js","names":[],"sources":["../../../src/components/list-box/ListBoxSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ListboxGroup, ListboxGroupLabel } from 'reka-ui'\nimport { listboxSectionVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n title?: string\n showDivider?: boolean\n class?: string\n /** Render the ListboxGroup as a different element. */\n as?: string\n /** Merge group props onto child element. */\n asChild?: boolean\n /** The id of the element the label describes (for ListboxGroupLabel). */\n for?: string\n /** Render the ListboxGroupLabel as a different element. */\n labelAs?: string\n /** Merge label props onto child element. */\n labelAsChild?: boolean\n}>(), {\n title: undefined,\n showDivider: false,\n class: undefined,\n as: undefined,\n asChild: false,\n for: undefined,\n labelAs: undefined,\n labelAsChild: false,\n})\n\nconst sectionClass = computed(() =>\n listboxSectionVariants()\n)\n</script>\n\n<template>\n <ListboxGroup\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"sectionClass.base()\"\n >\n <ListboxGroupLabel\n v-if=\"props.title\"\n :for=\"props.for\"\n :as=\"props.labelAs\"\n :as-child=\"props.labelAsChild\"\n :class=\"sectionClass.label()\"\n >\n {{ props.title }}\n </ListboxGroupLabel>\n <slot />\n <div\n v-if=\"props.showDivider\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"separator\"\n data-orientation=\"horizontal\"\n :class=\"sectionClass.separator()\"\n />\n </ListboxGroup>\n</template>\n"],"mappings":""}
@@ -10,21 +10,44 @@ var ListBoxSection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
10
10
  type: Boolean,
11
11
  default: false
12
12
  },
13
- class: { default: void 0 }
13
+ class: { default: void 0 },
14
+ as: { default: void 0 },
15
+ asChild: {
16
+ type: Boolean,
17
+ default: false
18
+ },
19
+ for: { default: void 0 },
20
+ labelAs: { default: void 0 },
21
+ labelAsChild: {
22
+ type: Boolean,
23
+ default: false
24
+ }
14
25
  },
15
26
  setup(__props) {
16
27
  const props = __props;
17
28
  const sectionClass = computed(() => listboxSectionVariants());
18
29
  return (_ctx, _cache) => {
19
- return openBlock(), createBlock(unref(ListboxGroup), { class: normalizeClass(sectionClass.value.base()) }, {
30
+ return openBlock(), createBlock(unref(ListboxGroup), {
31
+ as: props.as,
32
+ "as-child": props.asChild,
33
+ class: normalizeClass(sectionClass.value.base())
34
+ }, {
20
35
  default: withCtx(() => [
21
36
  props.title ? (openBlock(), createBlock(unref(ListboxGroupLabel), {
22
37
  key: 0,
38
+ for: props.for,
39
+ as: props.labelAs,
40
+ "as-child": props.labelAsChild,
23
41
  class: normalizeClass(sectionClass.value.label())
24
42
  }, {
25
43
  default: withCtx(() => [createTextVNode(toDisplayString(props.title), 1)]),
26
44
  _: 1
27
- }, 8, ["class"])) : createCommentVNode("", true),
45
+ }, 8, [
46
+ "for",
47
+ "as",
48
+ "as-child",
49
+ "class"
50
+ ])) : createCommentVNode("", true),
28
51
  renderSlot(_ctx.$slots, "default"),
29
52
  props.showDivider ? (openBlock(), createElementBlock("div", {
30
53
  key: 1,
@@ -36,7 +59,11 @@ var ListBoxSection_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
36
59
  }, null, 2)) : createCommentVNode("", true)
37
60
  ]),
38
61
  _: 3
39
- }, 8, ["class"]);
62
+ }, 8, [
63
+ "as",
64
+ "as-child",
65
+ "class"
66
+ ]);
40
67
  };
41
68
  }
42
69
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ListBoxSection.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBoxSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ListboxGroup, ListboxGroupLabel } from 'reka-ui'\nimport { listboxSectionVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n title?: string\n showDivider?: boolean\n class?: string\n}>(), {\n title: undefined,\n showDivider: false,\n class: undefined,\n})\n\nconst sectionClass = computed(() =>\n listboxSectionVariants()\n)\n</script>\n\n<template>\n <ListboxGroup :class=\"sectionClass.base()\">\n <ListboxGroupLabel\n v-if=\"props.title\"\n :class=\"sectionClass.label()\"\n >\n {{ props.title }}\n </ListboxGroupLabel>\n <slot />\n <div\n v-if=\"props.showDivider\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"separator\"\n data-orientation=\"horizontal\"\n :class=\"sectionClass.separator()\"\n />\n </ListboxGroup>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAUd,MAAM,eAAe,eACnB,wBAAuB,CACzB;;uBAIE,YAgBe,MAAA,aAAA,EAAA,EAhBA,OAAK,eAAE,aAAA,MAAa,MAAI,CAAA,EAAA,EAAA;2BAMjB;KAJZ,MAAM,SAAA,WAAA,EADd,YAKoB,MAAA,kBAAA,EAAA;;MAHjB,OAAK,eAAE,aAAA,MAAa,OAAK,CAAA;;6BAET,CAAA,gBAAA,gBAAd,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA;;;KAEhB,WAAQ,KAAA,QAAA,UAAA;KAEA,MAAM,eAAA,WAAA,EADd,mBAOE,OAAA;;MALA,MAAK;MACL,oBAAiB;MACjB,aAAU;MACV,oBAAiB;MAChB,OAAK,eAAE,aAAA,MAAa,WAAS,CAAA"}
1
+ {"version":3,"file":"ListBoxSection.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/list-box/ListBoxSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { ListboxGroup, ListboxGroupLabel } from 'reka-ui'\nimport { listboxSectionVariants } from '@auronui/styles'\n\nconst props = withDefaults(defineProps<{\n title?: string\n showDivider?: boolean\n class?: string\n /** Render the ListboxGroup as a different element. */\n as?: string\n /** Merge group props onto child element. */\n asChild?: boolean\n /** The id of the element the label describes (for ListboxGroupLabel). */\n for?: string\n /** Render the ListboxGroupLabel as a different element. */\n labelAs?: string\n /** Merge label props onto child element. */\n labelAsChild?: boolean\n}>(), {\n title: undefined,\n showDivider: false,\n class: undefined,\n as: undefined,\n asChild: false,\n for: undefined,\n labelAs: undefined,\n labelAsChild: false,\n})\n\nconst sectionClass = computed(() =>\n listboxSectionVariants()\n)\n</script>\n\n<template>\n <ListboxGroup\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"sectionClass.base()\"\n >\n <ListboxGroupLabel\n v-if=\"props.title\"\n :for=\"props.for\"\n :as=\"props.labelAs\"\n :as-child=\"props.labelAsChild\"\n :class=\"sectionClass.label()\"\n >\n {{ props.title }}\n </ListboxGroupLabel>\n <slot />\n <div\n v-if=\"props.showDivider\"\n role=\"separator\"\n aria-orientation=\"horizontal\"\n data-slot=\"separator\"\n data-orientation=\"horizontal\"\n :class=\"sectionClass.separator()\"\n />\n </ListboxGroup>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAyBd,MAAM,eAAe,eACnB,wBAAuB,CACzB;;uBAIE,YAuBe,MAAA,aAAA,EAAA;IAtBZ,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,aAAA,MAAa,MAAI,CAAA;;2BAUL;KAPZ,MAAM,SAAA,WAAA,EADd,YAQoB,MAAA,kBAAA,EAAA;;MANjB,KAAK,MAAM;MACX,IAAI,MAAM;MACV,YAAU,MAAM;MAChB,OAAK,eAAE,aAAA,MAAa,OAAK,CAAA;;6BAET,CAAA,gBAAA,gBAAd,MAAM,MAAK,EAAA,EAAA,CAAA,CAAA;;;;;;;;KAEhB,WAAQ,KAAA,QAAA,UAAA;KAEA,MAAM,eAAA,WAAA,EADd,mBAOE,OAAA;;MALA,MAAK;MACL,oBAAiB;MACjB,aAAU;MACV,oBAAiB;MAChB,OAAK,eAAE,aAAA,MAAa,WAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalClose.js","names":[],"sources":["../../../src/components/modal/ModalClose.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n asChild?: boolean\n class?: string\n}>(), {\n asChild: false,\n})\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogClose\n :as-child=\"props.asChild\"\n :class=\"composeClassName(styles.closeTrigger(), props.class)\"\n >\n <slot />\n </DialogClose>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ModalClose.js","names":[],"sources":["../../../src/components/modal/ModalClose.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n as?: string\n asChild?: boolean\n class?: string\n}>(), {\n asChild: false,\n})\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogClose\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(styles.closeTrigger(), props.class)\"\n >\n <slot />\n </DialogClose>\n</template>\n"],"mappings":""}
@@ -6,6 +6,7 @@ import { DialogClose } from "reka-ui";
6
6
  var ModalClose_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
7
7
  __name: "ModalClose",
8
8
  props: {
9
+ as: {},
9
10
  asChild: {
10
11
  type: Boolean,
11
12
  default: false
@@ -17,12 +18,17 @@ var ModalClose_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ def
17
18
  const styles = modalVariants();
18
19
  return (_ctx, _cache) => {
19
20
  return openBlock(), createBlock(unref(DialogClose), {
21
+ as: props.as,
20
22
  "as-child": props.asChild,
21
23
  class: normalizeClass(unref(composeClassName)(unref(styles).closeTrigger(), props.class))
22
24
  }, {
23
25
  default: withCtx(() => [renderSlot(_ctx.$slots, "default")]),
24
26
  _: 3
25
- }, 8, ["as-child", "class"]);
27
+ }, 8, [
28
+ "as",
29
+ "as-child",
30
+ "class"
31
+ ]);
26
32
  };
27
33
  }
28
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ModalClose.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/modal/ModalClose.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n asChild?: boolean\n class?: string\n}>(), {\n asChild: false,\n})\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogClose\n :as-child=\"props.asChild\"\n :class=\"composeClassName(styles.closeTrigger(), props.class)\"\n >\n <slot />\n </DialogClose>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAOd,MAAM,SAAS,eAAc;;uBAI3B,YAKc,MAAA,YAAA,EAAA;IAJX,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,MAAA,OAAM,CAAC,cAAY,EAAI,MAAM,MAAK,CAAA;;2BAEnD,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ModalClose.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/modal/ModalClose.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogClose } from 'reka-ui'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n as?: string\n asChild?: boolean\n class?: string\n}>(), {\n asChild: false,\n})\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogClose\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(styles.closeTrigger(), props.class)\"\n >\n <slot />\n </DialogClose>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;EAKA,MAAM,QAAQ;EAQd,MAAM,SAAS,eAAc;;uBAI3B,YAMc,MAAA,YAAA,EAAA;IALX,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,MAAA,OAAM,CAAC,cAAY,EAAI,MAAM,MAAK,CAAA;;2BAEnD,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ModalContent.js","names":[],"sources":["../../../src/components/modal/ModalContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogPortal, DialogContent, injectDialogRootContext } from 'reka-ui'\nimport { motion, AnimatePresence } from 'motion-v'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useModalInject } from './Modal.vue'\nimport ModalOverlay from './ModalOverlay.vue'\n\nconst props = withDefaults(defineProps<{\n class?: string\n}>(), {})\n\nconst emit = defineEmits<{\n 'escape-key-down': [event: KeyboardEvent]\n 'pointer-down-outside': [event: Event]\n 'interact-outside': [event: Event]\n 'open-auto-focus': [event: Event]\n 'close-auto-focus': [event: Event]\n}>()\n\n// Inject context from Modal root\nconst ctx = useModalInject({ size: 'md', scroll: 'inside', variant: 'opaque', placement: 'auto' })\n\n// Inject Reka's dialog root context to read open state for AnimatePresence\nconst dialogRootContext = injectDialogRootContext()\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogPortal>\n <div class=\"modal__portal\">\n <ModalOverlay />\n <DialogContent\n :class=\"composeClassName(styles.container({ scroll: ctx.scroll }), props.class)\"\n :data-placement=\"ctx.placement\"\n :aria-hidden=\"!dialogRootContext.open.value || undefined\"\n @escape-key-down=\"emit('escape-key-down', $event)\"\n @pointer-down-outside=\"emit('pointer-down-outside', $event)\"\n @interact-outside=\"emit('interact-outside', $event)\"\n @open-auto-focus=\"emit('open-auto-focus', $event)\"\n @close-auto-focus=\"emit('close-auto-focus', $event)\"\n >\n <AnimatePresence>\n <motion.div\n v-if=\"dialogRootContext.open.value\"\n :class=\"composeClassName(styles.dialog({ size: ctx.size, scroll: ctx.scroll }), 'modal-content-inner')\"\n :data-placement=\"ctx.placement\"\n :initial=\"{ opacity: 0, scale: 0.95, y: -10 }\"\n :animate=\"{ opacity: 1, scale: 1, y: 0 }\"\n :exit=\"{ opacity: 0, scale: 0.95, y: -10 }\"\n :transition=\"{ duration: 0.2, ease: 'easeOut' }\"\n >\n <slot />\n </motion.div>\n </AnimatePresence>\n </DialogContent>\n </div>\n </DialogPortal>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ModalContent.js","names":[],"sources":["../../../src/components/modal/ModalContent.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DialogPortal, DialogContent, injectDialogRootContext } from 'reka-ui'\nimport { motion, AnimatePresence } from 'motion-v'\nimport { modalVariants } from '@auronui/styles/components/modal'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useModalInject } from './Modal.vue'\nimport ModalOverlay from './ModalOverlay.vue'\n\nconst props = withDefaults(defineProps<{\n as?: string\n asChild?: boolean\n forceMount?: boolean\n disableOutsidePointerEvents?: boolean\n to?: string | HTMLElement\n disabled?: boolean\n defer?: boolean\n class?: string\n}>(), {\n asChild: false,\n forceMount: false,\n disableOutsidePointerEvents: false,\n disabled: false,\n defer: false,\n})\n\nconst emit = defineEmits<{\n 'escape-key-down': [event: KeyboardEvent]\n 'pointer-down-outside': [event: Event]\n 'interact-outside': [event: Event]\n 'open-auto-focus': [event: Event]\n 'close-auto-focus': [event: Event]\n 'focus-outside': [event: Event]\n}>()\n\n// Inject context from Modal root\nconst ctx = useModalInject({ size: 'md', scroll: 'inside', variant: 'opaque', placement: 'auto' })\n\n// Inject Reka's dialog root context to read open state for AnimatePresence\nconst dialogRootContext = injectDialogRootContext()\n\nconst styles = modalVariants()\n</script>\n\n<template>\n <DialogPortal :to=\"props.to\" :disabled=\"props.disabled\" :defer=\"props.defer\" :force-mount=\"props.forceMount\">\n <div class=\"modal__portal\">\n <ModalOverlay />\n <DialogContent\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :force-mount=\"props.forceMount\"\n :disable-outside-pointer-events=\"props.disableOutsidePointerEvents\"\n :class=\"composeClassName(styles.container({ scroll: ctx.scroll }), props.class)\"\n :data-placement=\"ctx.placement\"\n :aria-hidden=\"!dialogRootContext.open.value || undefined\"\n @escape-key-down=\"emit('escape-key-down', $event)\"\n @pointer-down-outside=\"emit('pointer-down-outside', $event)\"\n @interact-outside=\"emit('interact-outside', $event)\"\n @open-auto-focus=\"emit('open-auto-focus', $event)\"\n @close-auto-focus=\"emit('close-auto-focus', $event)\"\n @focus-outside=\"emit('focus-outside', $event)\"\n >\n <AnimatePresence>\n <motion.div\n v-if=\"dialogRootContext.open.value\"\n :class=\"composeClassName(styles.dialog({ size: ctx.size, scroll: ctx.scroll }), 'modal-content-inner')\"\n :data-placement=\"ctx.placement\"\n :initial=\"{ opacity: 0, scale: 0.95, y: -10 }\"\n :animate=\"{ opacity: 1, scale: 1, y: 0 }\"\n :exit=\"{ opacity: 0, scale: 0.95, y: -10 }\"\n :transition=\"{ duration: 0.2, ease: 'easeOut' }\"\n >\n <slot />\n </motion.div>\n </AnimatePresence>\n </DialogContent>\n </div>\n </DialogPortal>\n</template>\n"],"mappings":""}