@auronui/vue 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/ai-rules.md +139 -1
  2. package/dist/cjs/index.cjs +1815 -932
  3. package/dist/cjs/index.cjs.map +1 -1
  4. package/dist/components/_shared/FieldLabel.js +7 -0
  5. package/dist/components/_shared/FieldLabel.js.map +1 -0
  6. package/dist/components/_shared/FieldLabel.vue_vue_type_script_setup_true_lang.js +38 -0
  7. package/dist/components/_shared/FieldLabel.vue_vue_type_script_setup_true_lang.js.map +1 -0
  8. package/dist/components/_shared/FormFieldHelper.js +7 -0
  9. package/dist/components/_shared/FormFieldHelper.js.map +1 -0
  10. package/dist/components/_shared/FormFieldHelper.vue_vue_type_script_setup_true_lang.js +59 -0
  11. package/dist/components/_shared/FormFieldHelper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  12. package/dist/components/_shared/TimeScroller.js +7 -0
  13. package/dist/components/_shared/TimeScroller.js.map +1 -0
  14. package/dist/components/{date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js → _shared/TimeScroller.vue_vue_type_script_setup_true_lang.js} +5 -6
  15. package/dist/components/_shared/TimeScroller.vue_vue_type_script_setup_true_lang.js.map +1 -0
  16. package/dist/components/accordion/Accordion.js.map +1 -1
  17. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js +10 -4
  18. package/dist/components/accordion/Accordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
  19. package/dist/components/accordion/AccordionItem.js.map +1 -1
  20. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js +11 -2
  21. package/dist/components/accordion/AccordionItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  22. package/dist/components/alert-dialog/AlertDialogAction.js.map +1 -1
  23. package/dist/components/alert-dialog/AlertDialogAction.vue_vue_type_script_setup_true_lang.js.map +1 -1
  24. package/dist/components/alert-dialog/AlertDialogCancel.js.map +1 -1
  25. package/dist/components/alert-dialog/AlertDialogCancel.vue_vue_type_script_setup_true_lang.js.map +1 -1
  26. package/dist/components/autocomplete/Autocomplete.js.map +1 -1
  27. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js +56 -52
  28. package/dist/components/autocomplete/Autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
  29. package/dist/components/autocomplete/AutocompleteCreateItem.js.map +1 -1
  30. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js +8 -2
  31. package/dist/components/autocomplete/AutocompleteCreateItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  32. package/dist/components/autocomplete/AutocompleteInput.js.map +1 -1
  33. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js +17 -8
  34. package/dist/components/autocomplete/AutocompleteInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  35. package/dist/components/autocomplete/AutocompleteItem.js.map +1 -1
  36. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js +4 -2
  37. package/dist/components/autocomplete/AutocompleteItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  38. package/dist/components/avatar/AvatarGroup.js.map +1 -1
  39. package/dist/components/avatar/AvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  40. package/dist/components/button/Button.js.map +1 -1
  41. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js +10 -4
  42. package/dist/components/button/Button.vue_vue_type_script_setup_true_lang.js.map +1 -1
  43. package/dist/components/button/ButtonGroup.js.map +1 -1
  44. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js +10 -4
  45. package/dist/components/button/ButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  46. package/dist/components/button/CloseButton.js.map +1 -1
  47. package/dist/components/button/CloseButton.vue_vue_type_script_setup_true_lang.js +10 -4
  48. package/dist/components/button/CloseButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  49. package/dist/components/button/ToggleButton.js.map +1 -1
  50. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js +17 -6
  51. package/dist/components/button/ToggleButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  52. package/dist/components/button/ToggleButtonGroup.js.map +1 -1
  53. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js +10 -4
  54. package/dist/components/button/ToggleButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  55. package/dist/components/calendar/Calendar.js.map +1 -1
  56. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js +21 -10
  57. package/dist/components/calendar/Calendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  58. package/dist/components/calendar-year-picker/CalendarYearPicker.js.map +1 -1
  59. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js +15 -4
  60. package/dist/components/calendar-year-picker/CalendarYearPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  61. package/dist/components/checkbox/Checkbox.js.map +1 -1
  62. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js +16 -5
  63. package/dist/components/checkbox/Checkbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  64. package/dist/components/checkbox/CheckboxGroup.js.map +1 -1
  65. package/dist/components/checkbox/CheckboxGroup.vue_vue_type_script_setup_true_lang.js +10 -4
  66. package/dist/components/checkbox/CheckboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  67. package/dist/components/chip/Chip.js.map +1 -1
  68. package/dist/components/chip/Chip.vue_vue_type_script_setup_true_lang.js.map +1 -1
  69. package/dist/components/collapsible/Collapsible.js.map +1 -1
  70. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js +8 -2
  71. package/dist/components/collapsible/Collapsible.vue_vue_type_script_setup_true_lang.js.map +1 -1
  72. package/dist/components/collapsible/CollapsibleGroup.js.map +1 -1
  73. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js +2 -2
  74. package/dist/components/collapsible/CollapsibleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  75. package/dist/components/color-area/ColorArea.js.map +1 -1
  76. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js +15 -4
  77. package/dist/components/color-area/ColorArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  78. package/dist/components/color-field/ColorField.js.map +1 -1
  79. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js +22 -6
  80. package/dist/components/color-field/ColorField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  81. package/dist/components/color-input-group/ColorInputGroup.js.map +1 -1
  82. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js +22 -6
  83. package/dist/components/color-input-group/ColorInputGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  84. package/dist/components/color-picker/ColorPicker.js.map +1 -1
  85. package/dist/components/color-picker/ColorPicker.vue_vue_type_script_setup_true_lang.js +15 -9
  86. package/dist/components/color-picker/ColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  87. package/dist/components/color-slider/ColorSlider.js.map +1 -1
  88. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js +15 -4
  89. package/dist/components/color-slider/ColorSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  90. package/dist/components/color-swatch-picker/ColorSwatchPicker.js.map +1 -1
  91. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js +15 -4
  92. package/dist/components/color-swatch-picker/ColorSwatchPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  93. package/dist/components/combo-box/ComboBoxInput.js.map +1 -1
  94. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js +7 -1
  95. package/dist/components/combo-box/ComboBoxInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  96. package/dist/components/combo-box/ComboBoxItem.js.map +1 -1
  97. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js +4 -2
  98. package/dist/components/combo-box/ComboBoxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  99. package/dist/components/context-menu/ContextMenuCheckboxItem.js.map +1 -1
  100. package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
  101. package/dist/components/context-menu/ContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  102. package/dist/components/context-menu/ContextMenuItem.js.map +1 -1
  103. package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js +4 -2
  104. package/dist/components/context-menu/ContextMenuItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  105. package/dist/components/context-menu/ContextMenuRadioItem.js.map +1 -1
  106. package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
  107. package/dist/components/context-menu/ContextMenuRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  108. package/dist/components/context-menu/ContextMenuSubTrigger.js.map +1 -1
  109. package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
  110. package/dist/components/context-menu/ContextMenuSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  111. package/dist/components/context-menu/ContextMenuTrigger.js.map +1 -1
  112. package/dist/components/context-menu/ContextMenuTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  113. package/dist/components/context-menu/ContextMenuTrigger.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 +61 -60
  116. package/dist/components/date-input/DateInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
  117. package/dist/components/date-range-field/DateRangeField.js.map +1 -1
  118. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js +61 -61
  119. package/dist/components/date-range-field/DateRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  120. package/dist/components/date-time-picker/DateTimePicker.js.map +1 -1
  121. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js +13 -13
  122. package/dist/components/date-time-picker/DateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  123. package/dist/components/dropdown/DropdownCheckboxItem.js.map +1 -1
  124. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
  125. package/dist/components/dropdown/DropdownCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  126. package/dist/components/dropdown/DropdownItem.js.map +1 -1
  127. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js +4 -2
  128. package/dist/components/dropdown/DropdownItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  129. package/dist/components/dropdown/DropdownRadioItem.js.map +1 -1
  130. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
  131. package/dist/components/dropdown/DropdownRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  132. package/dist/components/dropdown/DropdownSubTrigger.js.map +1 -1
  133. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
  134. package/dist/components/dropdown/DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  135. package/dist/components/dropdown/DropdownTrigger.js.map +1 -1
  136. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  137. package/dist/components/dropdown/DropdownTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  138. package/dist/components/editable/Editable.js.map +1 -1
  139. package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js +28 -6
  140. package/dist/components/editable/Editable.vue_vue_type_script_setup_true_lang.js.map +1 -1
  141. package/dist/components/fieldset/Fieldset.js.map +1 -1
  142. package/dist/components/fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js +8 -2
  143. package/dist/components/fieldset/Fieldset.vue_vue_type_script_setup_true_lang.js.map +1 -1
  144. package/dist/components/input/Input.js.map +1 -1
  145. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js +76 -71
  146. package/dist/components/input/Input.vue_vue_type_script_setup_true_lang.js.map +1 -1
  147. package/dist/components/input-otp/InputOTP.js.map +1 -1
  148. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js +15 -4
  149. package/dist/components/input-otp/InputOTP.vue_vue_type_script_setup_true_lang.js.map +1 -1
  150. package/dist/components/link/Link.js.map +1 -1
  151. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js +8 -2
  152. package/dist/components/link/Link.vue_vue_type_script_setup_true_lang.js.map +1 -1
  153. package/dist/components/list-box/ListBox.js.map +1 -1
  154. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js +7 -1
  155. package/dist/components/list-box/ListBox.vue_vue_type_script_setup_true_lang.js.map +1 -1
  156. package/dist/components/menubar/MenubarCheckboxItem.js.map +1 -1
  157. package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js +4 -2
  158. package/dist/components/menubar/MenubarCheckboxItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  159. package/dist/components/menubar/MenubarItem.js.map +1 -1
  160. package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js +4 -2
  161. package/dist/components/menubar/MenubarItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  162. package/dist/components/menubar/MenubarRadioItem.js.map +1 -1
  163. package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js +4 -2
  164. package/dist/components/menubar/MenubarRadioItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  165. package/dist/components/menubar/MenubarSubTrigger.js.map +1 -1
  166. package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js +4 -2
  167. package/dist/components/menubar/MenubarSubTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  168. package/dist/components/menubar/MenubarTrigger.js.map +1 -1
  169. package/dist/components/menubar/MenubarTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  170. package/dist/components/menubar/MenubarTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  171. package/dist/components/meter/Meter.js.map +1 -1
  172. package/dist/components/meter/Meter.vue_vue_type_script_setup_true_lang.js.map +1 -1
  173. package/dist/components/month-picker/MonthPicker.js.map +1 -1
  174. package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js +15 -4
  175. package/dist/components/month-picker/MonthPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  176. package/dist/components/month-range-picker/MonthRangePicker.js.map +1 -1
  177. package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js +15 -4
  178. package/dist/components/month-range-picker/MonthRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  179. package/dist/components/navigation-menu/NavigationMenuTrigger.js.map +1 -1
  180. package/dist/components/navigation-menu/NavigationMenuTrigger.vue_vue_type_script_setup_true_lang.js +7 -1
  181. package/dist/components/navigation-menu/NavigationMenuTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  182. package/dist/components/number-field/NumberField.js.map +1 -1
  183. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js +19 -5
  184. package/dist/components/number-field/NumberField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  185. package/dist/components/pagination/Pagination.js.map +1 -1
  186. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js +9 -3
  187. package/dist/components/pagination/Pagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
  188. package/dist/components/popover/PopoverClose.js.map +1 -1
  189. package/dist/components/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js +11 -2
  190. package/dist/components/popover/PopoverClose.vue_vue_type_script_setup_true_lang.js.map +1 -1
  191. package/dist/components/progress-bar/ProgressBar.js.map +1 -1
  192. package/dist/components/progress-bar/ProgressBar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  193. package/dist/components/progress-circle/ProgressCircle.js.map +1 -1
  194. package/dist/components/progress-circle/ProgressCircle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  195. package/dist/components/radio/Radio.js.map +1 -1
  196. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js +16 -5
  197. package/dist/components/radio/Radio.vue_vue_type_script_setup_true_lang.js.map +1 -1
  198. package/dist/components/radio/RadioGroup.js.map +1 -1
  199. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js +18 -7
  200. package/dist/components/radio/RadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  201. package/dist/components/range-calendar/RangeCalendar.js.map +1 -1
  202. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js +19 -8
  203. package/dist/components/range-calendar/RangeCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
  204. package/dist/components/select/Select.js.map +1 -1
  205. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js +55 -51
  206. package/dist/components/select/Select.vue_vue_type_script_setup_true_lang.js.map +1 -1
  207. package/dist/components/select/SelectItem.js.map +1 -1
  208. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js +4 -2
  209. package/dist/components/select/SelectItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  210. package/dist/components/select/SelectTrigger.js.map +1 -1
  211. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js +18 -9
  212. package/dist/components/select/SelectTrigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
  213. package/dist/components/slider/Slider.js.map +1 -1
  214. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js +16 -5
  215. package/dist/components/slider/Slider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  216. package/dist/components/splitter/SplitterResizeHandle.js.map +1 -1
  217. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js +8 -2
  218. package/dist/components/splitter/SplitterResizeHandle.vue_vue_type_script_setup_true_lang.js.map +1 -1
  219. package/dist/components/switch/Switch.js.map +1 -1
  220. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js +16 -5
  221. package/dist/components/switch/Switch.vue_vue_type_script_setup_true_lang.js.map +1 -1
  222. package/dist/components/switch/SwitchGroup.js.map +1 -1
  223. package/dist/components/switch/SwitchGroup.vue_vue_type_script_setup_true_lang.js +10 -4
  224. package/dist/components/switch/SwitchGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  225. package/dist/components/table/Table.js.map +1 -1
  226. package/dist/components/table/Table.vue_vue_type_script_setup_true_lang.js.map +1 -1
  227. package/dist/components/table/TableBody.js.map +1 -1
  228. package/dist/components/table/TableBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  229. package/dist/components/table/TableCheckboxCell.js.map +1 -1
  230. package/dist/components/table/TableCheckboxCell.vue_vue_type_script_setup_true_lang.js.map +1 -1
  231. package/dist/components/table/TableVirtualBody.js.map +1 -1
  232. package/dist/components/table/TableVirtualBody.vue_vue_type_script_setup_true_lang.js.map +1 -1
  233. package/dist/components/table/table.context.js.map +1 -1
  234. package/dist/components/tabs/Tab.js.map +1 -1
  235. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js +11 -2
  236. package/dist/components/tabs/Tab.vue_vue_type_script_setup_true_lang.js.map +1 -1
  237. package/dist/components/tabs/TabList.js.map +1 -1
  238. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js +2 -2
  239. package/dist/components/tabs/TabList.vue_vue_type_script_setup_true_lang.js.map +1 -1
  240. package/dist/components/tabs/Tabs.js.map +1 -1
  241. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js +2 -2
  242. package/dist/components/tabs/Tabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
  243. package/dist/components/textarea/Textarea.js.map +1 -1
  244. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js +70 -65
  245. package/dist/components/textarea/Textarea.vue_vue_type_script_setup_true_lang.js.map +1 -1
  246. package/dist/components/time-field/TimeField.js.map +1 -1
  247. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js +61 -60
  248. package/dist/components/time-field/TimeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  249. package/dist/components/time-picker/TimePicker.js +7 -0
  250. package/dist/components/time-picker/TimePicker.js.map +1 -0
  251. package/dist/components/time-picker/TimePicker.vue_vue_type_script_setup_true_lang.js +320 -0
  252. package/dist/components/time-picker/TimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  253. package/dist/components/time-range-field/TimeRangeField.js.map +1 -1
  254. package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js +61 -61
  255. package/dist/components/time-range-field/TimeRangeField.vue_vue_type_script_setup_true_lang.js.map +1 -1
  256. package/dist/components/toolbar/ToolbarButton.js.map +1 -1
  257. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js +11 -2
  258. package/dist/components/toolbar/ToolbarButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
  259. package/dist/components/toolbar/ToolbarToggleGroup.js.map +1 -1
  260. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js +23 -6
  261. package/dist/components/toolbar/ToolbarToggleGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
  262. package/dist/components/toolbar/ToolbarToggleItem.js.map +1 -1
  263. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js +11 -2
  264. package/dist/components/toolbar/ToolbarToggleItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
  265. package/dist/components/tooltip/TooltipProvider.js.map +1 -1
  266. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js +8 -2
  267. package/dist/components/tooltip/TooltipProvider.vue_vue_type_script_setup_true_lang.js.map +1 -1
  268. package/dist/components/tree/Tree.js.map +1 -1
  269. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js +11 -2
  270. package/dist/components/tree/Tree.vue_vue_type_script_setup_true_lang.js.map +1 -1
  271. package/dist/components/year-range-picker/YearRangePicker.js.map +1 -1
  272. package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js +15 -4
  273. package/dist/components/year-range-picker/YearRangePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
  274. package/dist/composables/useDeprecatedBooleanProp.js +43 -0
  275. package/dist/composables/useDeprecatedBooleanProp.js.map +1 -0
  276. package/dist/composables/useFormField.js +50 -0
  277. package/dist/composables/useFormField.js.map +1 -0
  278. package/dist/index.d.ts +845 -580
  279. package/dist/index.js +2 -1
  280. package/dist/utils/warnDeprecated.js +2 -1
  281. package/dist/utils/warnDeprecated.js.map +1 -1
  282. package/package.json +2 -2
  283. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js +0 -7
  284. package/dist/components/date-time-picker/DateTimePickerTimeScroller.js.map +0 -1
  285. package/dist/components/date-time-picker/DateTimePickerTimeScroller.vue_vue_type_script_setup_true_lang.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
2
3
  import { useCheckboxGroupInject } from "./checkbox-group.context.js";
3
4
  import { computed, createBlock, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, ref, renderSlot, unref, useAttrs, withCtx } from "vue";
4
5
  import { checkboxVariants } from "@auronui/styles";
@@ -43,9 +44,13 @@ var Checkbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
43
44
  type: Boolean,
44
45
  default: false
45
46
  },
47
+ isDisabled: {
48
+ type: Boolean,
49
+ default: void 0
50
+ },
46
51
  disabled: {
47
52
  type: Boolean,
48
- default: false
53
+ default: void 0
49
54
  },
50
55
  isInvalid: {
51
56
  type: Boolean,
@@ -78,9 +83,13 @@ var Checkbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
78
83
  default: false
79
84
  },
80
85
  as: { default: void 0 },
86
+ isRequired: {
87
+ type: Boolean,
88
+ default: void 0
89
+ },
81
90
  required: {
82
91
  type: Boolean,
83
- default: false
92
+ default: void 0
84
93
  },
85
94
  indicatorForceMount: {
86
95
  type: Boolean,
@@ -113,7 +122,9 @@ var Checkbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
113
122
  toggleValue: () => {},
114
123
  name: ref(void 0)
115
124
  });
116
- const isDisabled = computed(() => groupCtx.disabled.value || props.disabled);
125
+ const resolvedDisabled = useDeprecatedBooleanProp("Checkbox", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
126
+ const isRequired = useDeprecatedBooleanProp("Checkbox", "isRequired", () => props.isRequired, "required", () => props.required);
127
+ const effectiveDisabled = computed(() => groupCtx.disabled.value || resolvedDisabled.value);
117
128
  const effectiveInvalid = computed(() => groupCtx.isInvalid.value || props.isInvalid);
118
129
  const finalVariant = computed(() => props.variant ?? groupCtx.variant.value);
119
130
  const isInGroup = computed(() => props.value !== void 0);
@@ -130,7 +141,7 @@ var Checkbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
130
141
  return (_ctx, _cache) => {
131
142
  return openBlock(), createBlock(unref(CheckboxRoot), mergeProps(unref(attrs), {
132
143
  "model-value": checkedState.value,
133
- disabled: isDisabled.value,
144
+ disabled: effectiveDisabled.value,
134
145
  "aria-invalid": effectiveInvalid.value || void 0,
135
146
  name: props.name ?? unref(groupCtx).name.value,
136
147
  value: props.value,
@@ -139,7 +150,7 @@ var Checkbox_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
139
150
  "false-value": props.falseValue,
140
151
  "as-child": props.asChild,
141
152
  as: props.as,
142
- required: props.required,
153
+ required: unref(isRequired),
143
154
  class: unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base),
144
155
  "onUpdate:modelValue": handleUpdate
145
156
  }), {
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/checkbox/Checkbox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { CheckboxRoot, CheckboxIndicator } from 'reka-ui'\nimport { checkboxVariants, type CheckboxVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useCheckboxGroupInject } from './checkbox-group.context'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to CheckboxRoot\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxVariants['variant']\n value?: string\n modelValue?: boolean\n defaultValue?: boolean\n disabled?: boolean\n isInvalid?: boolean\n isIndeterminate?: boolean\n name?: string\n /** HTML id attribute forwarded to CheckboxRoot. */\n id?: string\n /** The value for the checked state (forwarded to CheckboxRoot). */\n trueValue?: boolean | string | number\n /** The value for the unchecked state (forwarded to CheckboxRoot). */\n falseValue?: boolean | string | number\n /** Whether CheckboxRoot should render as a child element. */\n asChild?: boolean\n /** Element or component to render CheckboxRoot as. */\n as?: string\n /** Whether the checkbox is required. */\n required?: boolean\n /** Whether CheckboxIndicator should force-mount even when unchecked. */\n indicatorForceMount?: boolean\n /** Whether CheckboxIndicator renders as a child element. */\n indicatorAsChild?: boolean\n /** Element or component to render CheckboxIndicator as. */\n indicatorAs?: string\n class?: ClassValue\n /** Per-slot class overrides for any slot in this component. */\n classNames?: Partial<{\n base: ClassValue\n control: ClassValue\n indicator: ClassValue\n content: ClassValue\n }>\n}>(), {\n variant: undefined,\n value: undefined,\n modelValue: undefined,\n defaultValue: false,\n disabled: false,\n isInvalid: false,\n isIndeterminate: false,\n name: undefined,\n id: undefined,\n trueValue: undefined,\n falseValue: undefined,\n asChild: false,\n as: undefined,\n required: false,\n indicatorForceMount: undefined,\n indicatorAsChild: false,\n indicatorAs: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: boolean]\n}>()\n\nconst attrs = useAttrs()\n\n// Inject CheckboxGroup context with fallback defaults (standalone mode)\nconst groupCtx = useCheckboxGroupInject({\n variant: ref('primary'),\n disabled: ref(false),\n isInvalid: ref(false),\n selectedValues: ref([]),\n toggleValue: () => {},\n name: ref(undefined),\n})\n\n// Prop precedence: group disabled wins (D-02)\nconst isDisabled = computed(() => groupCtx.disabled.value || props.disabled)\n// Group invalid overrides item; item prop allows standalone invalid\nconst effectiveInvalid = computed(() => groupCtx.isInvalid.value || props.isInvalid)\n\n// Child variant wins over group variant\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\n// Determine if inside a group (value prop is the signal)\nconst isInGroup = computed(() => props.value !== undefined)\n\n// Compute modelValue for Reka UI CheckboxRoot\n// Reka UI uses modelValue: boolean | 'indeterminate' to control state\nconst checkedState = computed<boolean | 'indeterminate'>(() => {\n if (props.isIndeterminate) return 'indeterminate'\n if (isInGroup.value) {\n return groupCtx.selectedValues.value.includes(props.value!)\n }\n return props.modelValue ?? false\n})\n\n// Handle Reka UI's update:modelValue event\nfunction handleUpdate(val: string | number | boolean) {\n if (isInGroup.value) {\n groupCtx.toggleValue(props.value!)\n } else {\n if (val !== 'indeterminate') {\n emit('update:modelValue', Boolean(val))\n }\n }\n}\n\nconst slotFns = computed(() =>\n checkboxVariants({ variant: finalVariant.value })\n)\n</script>\n\n<template>\n <!--\n v-bind=\"attrs\" forwards aria-label and other HTML attributes through to Reka UI's\n CheckboxRoot, which then applies them to the inner <button> element.\n inheritAttrs: false prevents double-application on CheckboxRoot's root.\n -->\n <CheckboxRoot\n v-bind=\"attrs\"\n :model-value=\"checkedState\"\n :disabled=\"isDisabled\"\n :aria-invalid=\"effectiveInvalid || undefined\"\n :name=\"props.name ?? groupCtx.name.value\"\n :value=\"props.value\"\n :id=\"props.id\"\n :true-value=\"props.trueValue\"\n :false-value=\"props.falseValue\"\n :as-child=\"props.asChild\"\n :as=\"props.as\"\n :required=\"props.required\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:model-value=\"handleUpdate\"\n >\n <span :class=\"composeClassName(slotFns.control(), props.classNames?.control)\">\n <CheckboxIndicator\n :force-mount=\"props.indicatorForceMount\"\n :as-child=\"props.indicatorAsChild\"\n :as=\"props.indicatorAs\"\n :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\"\n >\n <!-- Indeterminate: dash icon -->\n <svg\n v-if=\"props.isIndeterminate\"\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 aria-hidden=\"true\"\n >\n <line\n x1=\"5\"\n y1=\"12\"\n x2=\"19\"\n y2=\"12\"\n />\n </svg>\n <!-- Checked: check icon -->\n <svg\n v-else\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 aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </CheckboxIndicator>\n </span>\n <span :class=\"composeClassName(slotFns.content(), props.classNames?.content)\">\n <slot />\n </span>\n </CheckboxRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EAuDd,MAAM,OAAO;EAIb,MAAM,QAAQ,UAAS;EAGvB,MAAM,WAAW,uBAAuB;GACtC,SAAS,IAAI,UAAU;GACvB,UAAU,IAAI,MAAM;GACpB,WAAW,IAAI,MAAM;GACrB,gBAAgB,IAAI,EAAE,CAAC;GACvB,mBAAmB;GACnB,MAAM,IAAI,KAAA,EAAU;GACrB,CAAA;EAGD,MAAM,aAAa,eAAe,SAAS,SAAS,SAAS,MAAM,SAAQ;EAE3E,MAAM,mBAAmB,eAAe,SAAS,UAAU,SAAS,MAAM,UAAS;EAGnF,MAAM,eAAe,eAAe,MAAM,WAAW,SAAS,QAAQ,MAAK;EAG3E,MAAM,YAAY,eAAe,MAAM,UAAU,KAAA,EAAS;EAI1D,MAAM,eAAe,eAA0C;AAC7D,OAAI,MAAM,gBAAiB,QAAO;AAClC,OAAI,UAAU,MACZ,QAAO,SAAS,eAAe,MAAM,SAAS,MAAM,MAAM;AAE5D,UAAO,MAAM,cAAc;IAC5B;EAGD,SAAS,aAAa,KAAgC;AACpD,OAAI,UAAU,MACZ,UAAS,YAAY,MAAM,MAAM;YAE7B,QAAQ,gBACV,MAAK,qBAAqB,QAAQ,IAAI,CAAA;;EAK5C,MAAM,UAAU,eACd,iBAAiB,EAAE,SAAS,aAAa,OAAO,CAAA,CAClD;;uBASE,YAgEe,MAAA,aAAA,EAhEf,WACU,MA+DK,MA/DA,EAAA;IACZ,eAAa,aAAA;IACb,UAAU,WAAA;IACV,gBAAc,iBAAA,SAAoB,KAAA;IAClC,MAAM,MAAM,QAAQ,MAAA,SAAQ,CAAC,KAAK;IAClC,OAAO,MAAM;IACb,IAAI,MAAM;IACV,cAAY,MAAM;IAClB,eAAa,MAAM;IACnB,YAAU,MAAM;IAChB,IAAI,MAAM;IACV,UAAU,MAAM;IAChB,OAAO,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI;IAC3E,uBAAoB;;2BA8Cd,CA5CP,mBA4CO,QAAA,EA5CA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,YA0CoB,MAAA,kBAAA,EAAA;KAzCjB,eAAa,MAAM;KACnB,YAAU,MAAM;KAChB,IAAI,MAAM;KACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA;;4BAqBnE,CAjBE,MAAM,mBAAA,WAAA,EADd,mBAkBM,OAlBN,YAkBM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CANJ,mBAKE,QAAA;MAJA,IAAG;MACH,IAAG;MACH,IAAG;MACH,IAAG;uCAIP,mBAcM,OAdN,YAcM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CADJ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,EAAA,MAAA,GAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;;;;;aAIvC,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Checkbox.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/checkbox/Checkbox.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, useAttrs } from 'vue'\nimport { CheckboxRoot, CheckboxIndicator } from 'reka-ui'\nimport { checkboxVariants, type CheckboxVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useCheckboxGroupInject } from './checkbox-group.context'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\n// Disable Vue attribute fallthrough — we manually forward $attrs to CheckboxRoot\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxVariants['variant']\n value?: string\n modelValue?: boolean\n defaultValue?: boolean\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isInvalid?: boolean\n isIndeterminate?: boolean\n name?: string\n /** HTML id attribute forwarded to CheckboxRoot. */\n id?: string\n /** The value for the checked state (forwarded to CheckboxRoot). */\n trueValue?: boolean | string | number\n /** The value for the unchecked state (forwarded to CheckboxRoot). */\n falseValue?: boolean | string | number\n /** Whether CheckboxRoot should render as a child element. */\n asChild?: boolean\n /** Element or component to render CheckboxRoot as. */\n as?: string\n isRequired?: boolean\n /**\n * Whether the checkbox is required.\n * @deprecated Use isRequired instead.\n */\n required?: boolean\n /** Whether CheckboxIndicator should force-mount even when unchecked. */\n indicatorForceMount?: boolean\n /** Whether CheckboxIndicator renders as a child element. */\n indicatorAsChild?: boolean\n /** Element or component to render CheckboxIndicator as. */\n indicatorAs?: string\n class?: ClassValue\n /** Per-slot class overrides for any slot in this component. */\n classNames?: Partial<{\n base: ClassValue\n control: ClassValue\n indicator: ClassValue\n content: ClassValue\n }>\n}>(), {\n variant: undefined,\n value: undefined,\n modelValue: undefined,\n defaultValue: false,\n isDisabled: undefined,\n disabled: undefined,\n isInvalid: false,\n isIndeterminate: false,\n name: undefined,\n id: undefined,\n trueValue: undefined,\n falseValue: undefined,\n asChild: false,\n as: undefined,\n isRequired: undefined,\n required: undefined,\n indicatorForceMount: undefined,\n indicatorAsChild: false,\n indicatorAs: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: boolean]\n}>()\n\nconst attrs = useAttrs()\n\n// Inject CheckboxGroup context with fallback defaults (standalone mode)\nconst groupCtx = useCheckboxGroupInject({\n variant: ref('primary'),\n disabled: ref(false),\n isInvalid: ref(false),\n selectedValues: ref([]),\n toggleValue: () => {},\n name: ref(undefined),\n})\n\n// Resolve this checkbox's own isDisabled/disabled prop pair before combining with group state.\nconst resolvedDisabled = useDeprecatedBooleanProp(\n 'Checkbox', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'Checkbox', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\n// Prop precedence: group disabled wins (D-02)\nconst effectiveDisabled = computed(() => groupCtx.disabled.value || resolvedDisabled.value)\n// Group invalid overrides item; item prop allows standalone invalid\nconst effectiveInvalid = computed(() => groupCtx.isInvalid.value || props.isInvalid)\n\n// Child variant wins over group variant\nconst finalVariant = computed(() => props.variant ?? groupCtx.variant.value)\n\n// Determine if inside a group (value prop is the signal)\nconst isInGroup = computed(() => props.value !== undefined)\n\n// Compute modelValue for Reka UI CheckboxRoot\n// Reka UI uses modelValue: boolean | 'indeterminate' to control state\nconst checkedState = computed<boolean | 'indeterminate'>(() => {\n if (props.isIndeterminate) return 'indeterminate'\n if (isInGroup.value) {\n return groupCtx.selectedValues.value.includes(props.value!)\n }\n return props.modelValue ?? false\n})\n\n// Handle Reka UI's update:modelValue event\nfunction handleUpdate(val: string | number | boolean) {\n if (isInGroup.value) {\n groupCtx.toggleValue(props.value!)\n } else {\n if (val !== 'indeterminate') {\n emit('update:modelValue', Boolean(val))\n }\n }\n}\n\nconst slotFns = computed(() =>\n checkboxVariants({ variant: finalVariant.value })\n)\n</script>\n\n<template>\n <!--\n v-bind=\"attrs\" forwards aria-label and other HTML attributes through to Reka UI's\n CheckboxRoot, which then applies them to the inner <button> element.\n inheritAttrs: false prevents double-application on CheckboxRoot's root.\n -->\n <CheckboxRoot\n v-bind=\"attrs\"\n :model-value=\"checkedState\"\n :disabled=\"effectiveDisabled\"\n :aria-invalid=\"effectiveInvalid || undefined\"\n :name=\"props.name ?? groupCtx.name.value\"\n :value=\"props.value\"\n :id=\"props.id\"\n :true-value=\"props.trueValue\"\n :false-value=\"props.falseValue\"\n :as-child=\"props.asChild\"\n :as=\"props.as\"\n :required=\"isRequired\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:model-value=\"handleUpdate\"\n >\n <span :class=\"composeClassName(slotFns.control(), props.classNames?.control)\">\n <CheckboxIndicator\n :force-mount=\"props.indicatorForceMount\"\n :as-child=\"props.indicatorAsChild\"\n :as=\"props.indicatorAs\"\n :class=\"composeClassName(slotFns.indicator(), props.classNames?.indicator)\"\n >\n <!-- Indeterminate: dash icon -->\n <svg\n v-if=\"props.isIndeterminate\"\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 aria-hidden=\"true\"\n >\n <line\n x1=\"5\"\n y1=\"12\"\n x2=\"19\"\n y2=\"12\"\n />\n </svg>\n <!-- Checked: check icon -->\n <svg\n v-else\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 aria-hidden=\"true\"\n >\n <polyline points=\"20 6 9 17 4 12\" />\n </svg>\n </CheckboxIndicator>\n </span>\n <span :class=\"composeClassName(slotFns.content(), props.classNames?.content)\">\n <slot />\n </span>\n </CheckboxRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAWA,MAAM,QAAQ;EA+Dd,MAAM,OAAO;EAIb,MAAM,QAAQ,UAAS;EAGvB,MAAM,WAAW,uBAAuB;GACtC,SAAS,IAAI,UAAU;GACvB,UAAU,IAAI,MAAM;GACpB,WAAW,IAAI,MAAM;GACrB,gBAAgB,IAAI,EAAE,CAAC;GACvB,mBAAmB;GACnB,MAAM,IAAI,KAAA,EAAU;GACrB,CAAA;EAGD,MAAM,mBAAmB,yBACvB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAEA,MAAM,aAAa,yBACjB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAGA,MAAM,oBAAoB,eAAe,SAAS,SAAS,SAAS,iBAAiB,MAAK;EAE1F,MAAM,mBAAmB,eAAe,SAAS,UAAU,SAAS,MAAM,UAAS;EAGnF,MAAM,eAAe,eAAe,MAAM,WAAW,SAAS,QAAQ,MAAK;EAG3E,MAAM,YAAY,eAAe,MAAM,UAAU,KAAA,EAAS;EAI1D,MAAM,eAAe,eAA0C;AAC7D,OAAI,MAAM,gBAAiB,QAAO;AAClC,OAAI,UAAU,MACZ,QAAO,SAAS,eAAe,MAAM,SAAS,MAAM,MAAM;AAE5D,UAAO,MAAM,cAAc;IAC5B;EAGD,SAAS,aAAa,KAAgC;AACpD,OAAI,UAAU,MACZ,UAAS,YAAY,MAAM,MAAM;YAE7B,QAAQ,gBACV,MAAK,qBAAqB,QAAQ,IAAI,CAAA;;EAK5C,MAAM,UAAU,eACd,iBAAiB,EAAE,SAAS,aAAa,OAAO,CAAA,CAClD;;uBASE,YAgEe,MAAA,aAAA,EAhEf,WACU,MA+DK,MA/DA,EAAA;IACZ,eAAa,aAAA;IACb,UAAU,kBAAA;IACV,gBAAc,iBAAA,SAAoB,KAAA;IAClC,MAAM,MAAM,QAAQ,MAAA,SAAQ,CAAC,KAAK;IAClC,OAAO,MAAM;IACb,IAAI,MAAM;IACV,cAAY,MAAM;IAClB,eAAa,MAAM;IACnB,YAAU,MAAM;IAChB,IAAI,MAAM;IACV,UAAU,MAAA,WAAU;IACpB,OAAO,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI;IAC3E,uBAAoB;;2BA8Cd,CA5CP,mBA4CO,QAAA,EA5CA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,YA0CoB,MAAA,kBAAA,EAAA;KAzCjB,eAAa,MAAM;KACnB,YAAU,MAAM;KAChB,IAAI,MAAM;KACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,WAAS,EAAI,MAAM,YAAY,UAAS,CAAA;;4BAqBnE,CAjBE,MAAM,mBAAA,WAAA,EADd,mBAkBM,OAlBN,YAkBM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CANJ,mBAKE,QAAA;MAJA,IAAG;MACH,IAAG;MACH,IAAG;MACH,IAAG;uCAIP,mBAcM,OAdN,YAcM,CAAA,GAAA,OAAA,OAAA,OAAA,KAAA,CADJ,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,EAAA,MAAA,GAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;;;;;;aAIvC,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,SAAO,EAAI,MAAM,YAAY,QAAO,CAAA,EAAA,EAAA,CACzE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.js","names":[],"sources":["../../../src/components/checkbox/CheckboxGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, toRef } from 'vue'\nimport { checkboxGroupVariants, type CheckboxGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useCheckboxGroupProvide } from './checkbox-group.context'\nimport Checkbox from './Checkbox.vue'\n\ntype CheckboxShorthandItem = { value: string; label?: string; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxGroupVariants['variant']\n disabled?: boolean\n isInvalid?: boolean\n modelValue?: string[]\n defaultValue?: string[]\n name?: string\n orientation?: 'horizontal' | 'vertical'\n label?: string\n description?: string\n errorMessage?: string\n class?: string\n /** Shorthand API: render checkboxes from an array instead of the compound slot API */\n items?: CheckboxShorthandItem[]\n}>(), {\n variant: 'primary',\n disabled: false,\n isInvalid: false,\n modelValue: undefined,\n defaultValue: undefined,\n name: undefined,\n orientation: 'vertical',\n label: undefined,\n description: undefined,\n errorMessage: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string[]]\n}>()\n\n// Internal state for uncontrolled mode\nconst internalValues = ref<string[]>(props.defaultValue ?? [])\n\n// Current values: controlled (modelValue) or uncontrolled (internalValues)\nconst currentValues = computed(() => props.modelValue ?? internalValues.value)\n\n// Toggle value in the selection list\nfunction toggleValue(value: string) {\n const next = currentValues.value.includes(value)\n ? currentValues.value.filter(v => v !== value)\n : [...currentValues.value, value]\n internalValues.value = next\n emit('update:modelValue', next)\n}\n\n// Provide context to child Checkboxes\nuseCheckboxGroupProvide({\n variant: toRef(props, 'variant'),\n disabled: toRef(props, 'disabled'),\n isInvalid: toRef(props, 'isInvalid'),\n selectedValues: currentValues,\n toggleValue,\n name: toRef(props, 'name'),\n})\n\nconst labelId = `checkbox-group-label-${Math.random().toString(36).slice(2, 8)}`\n\nconst groupClasses = computed(() =>\n checkboxGroupVariants({ variant: props.variant })\n)\n</script>\n\n<template>\n <div\n role=\"group\"\n :aria-labelledby=\"props.label ? labelId : undefined\"\n :aria-invalid=\"props.isInvalid || undefined\"\n :data-orientation=\"props.orientation\"\n :class=\"composeClassName(groupClasses, props.class)\"\n >\n <span\n v-if=\"props.label\"\n :id=\"labelId\"\n class=\"checkbox-group__label\"\n >{{ props.label }}</span>\n <div class=\"checkbox-group__wrapper\">\n <template v-if=\"props.items\">\n <Checkbox\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n >{{ item.label ?? item.value }}</Checkbox>\n </template>\n <slot v-else />\n </div>\n <span\n v-if=\"props.isInvalid && props.errorMessage\"\n class=\"checkbox-group__error-message\"\n >{{ props.errorMessage }}</span>\n <span\n v-else-if=\"props.description\"\n class=\"checkbox-group__description\"\n >{{ props.description }}</span>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"CheckboxGroup.js","names":[],"sources":["../../../src/components/checkbox/CheckboxGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, toRef } from 'vue'\nimport { checkboxGroupVariants, type CheckboxGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useCheckboxGroupProvide } from './checkbox-group.context'\nimport Checkbox from './Checkbox.vue'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\ntype CheckboxShorthandItem = { value: string; label?: string; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxGroupVariants['variant']\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isInvalid?: boolean\n modelValue?: string[]\n defaultValue?: string[]\n name?: string\n orientation?: 'horizontal' | 'vertical'\n label?: string\n description?: string\n errorMessage?: string\n class?: string\n /** Shorthand API: render checkboxes from an array instead of the compound slot API */\n items?: CheckboxShorthandItem[]\n}>(), {\n variant: 'primary',\n isDisabled: undefined,\n disabled: undefined,\n isInvalid: false,\n modelValue: undefined,\n defaultValue: undefined,\n name: undefined,\n orientation: 'vertical',\n label: undefined,\n description: undefined,\n errorMessage: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string[]]\n}>()\n\n// Internal state for uncontrolled mode\nconst internalValues = ref<string[]>(props.defaultValue ?? [])\n\n// Current values: controlled (modelValue) or uncontrolled (internalValues)\nconst currentValues = computed(() => props.modelValue ?? internalValues.value)\n\n// Toggle value in the selection list\nfunction toggleValue(value: string) {\n const next = currentValues.value.includes(value)\n ? currentValues.value.filter(v => v !== value)\n : [...currentValues.value, value]\n internalValues.value = next\n emit('update:modelValue', next)\n}\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'CheckboxGroup', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\n// Provide context to child Checkboxes\nuseCheckboxGroupProvide({\n variant: toRef(props, 'variant'),\n disabled: isDisabled,\n isInvalid: toRef(props, 'isInvalid'),\n selectedValues: currentValues,\n toggleValue,\n name: toRef(props, 'name'),\n})\n\nconst labelId = `checkbox-group-label-${Math.random().toString(36).slice(2, 8)}`\n\nconst groupClasses = computed(() =>\n checkboxGroupVariants({ variant: props.variant })\n)\n</script>\n\n<template>\n <div\n role=\"group\"\n :aria-labelledby=\"props.label ? labelId : undefined\"\n :aria-invalid=\"props.isInvalid || undefined\"\n :data-orientation=\"props.orientation\"\n :class=\"composeClassName(groupClasses, props.class)\"\n >\n <span\n v-if=\"props.label\"\n :id=\"labelId\"\n class=\"checkbox-group__label\"\n >{{ props.label }}</span>\n <div class=\"checkbox-group__wrapper\">\n <template v-if=\"props.items\">\n <Checkbox\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :is-disabled=\"item.disabled\"\n >{{ item.label ?? item.value }}</Checkbox>\n </template>\n <slot v-else />\n </div>\n <span\n v-if=\"props.isInvalid && props.errorMessage\"\n class=\"checkbox-group__error-message\"\n >{{ props.errorMessage }}</span>\n <span\n v-else-if=\"props.description\"\n class=\"checkbox-group__description\"\n >{{ props.description }}</span>\n </div>\n</template>\n"],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
2
3
  import { useCheckboxGroupProvide } from "./checkbox-group.context.js";
3
4
  import Checkbox_default from "./Checkbox.js";
4
5
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, toRef, unref, withCtx } from "vue";
@@ -22,9 +23,13 @@ var CheckboxGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
22
23
  __name: "CheckboxGroup",
23
24
  props: {
24
25
  variant: { default: "primary" },
26
+ isDisabled: {
27
+ type: Boolean,
28
+ default: void 0
29
+ },
25
30
  disabled: {
26
31
  type: Boolean,
27
- default: false
32
+ default: void 0
28
33
  },
29
34
  isInvalid: {
30
35
  type: Boolean,
@@ -51,9 +56,10 @@ var CheckboxGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
51
56
  internalValues.value = next;
52
57
  emit("update:modelValue", next);
53
58
  }
59
+ const isDisabled = useDeprecatedBooleanProp("CheckboxGroup", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
54
60
  useCheckboxGroupProvide({
55
61
  variant: toRef(props, "variant"),
56
- disabled: toRef(props, "disabled"),
62
+ disabled: isDisabled,
57
63
  isInvalid: toRef(props, "isInvalid"),
58
64
  selectedValues: currentValues,
59
65
  toggleValue,
@@ -78,11 +84,11 @@ var CheckboxGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
78
84
  return openBlock(), createBlock(Checkbox_default, {
79
85
  key: item.value,
80
86
  value: item.value,
81
- disabled: item.disabled
87
+ "is-disabled": item.disabled
82
88
  }, {
83
89
  default: withCtx(() => [createTextVNode(toDisplayString(item.label ?? item.value), 1)]),
84
90
  _: 2
85
- }, 1032, ["value", "disabled"]);
91
+ }, 1032, ["value", "is-disabled"]);
86
92
  }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })]),
87
93
  props.isInvalid && props.errorMessage ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(props.errorMessage), 1)) : props.description ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(props.description), 1)) : createCommentVNode("", true)
88
94
  ], 10, _hoisted_1);
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/checkbox/CheckboxGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, toRef } from 'vue'\nimport { checkboxGroupVariants, type CheckboxGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useCheckboxGroupProvide } from './checkbox-group.context'\nimport Checkbox from './Checkbox.vue'\n\ntype CheckboxShorthandItem = { value: string; label?: string; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxGroupVariants['variant']\n disabled?: boolean\n isInvalid?: boolean\n modelValue?: string[]\n defaultValue?: string[]\n name?: string\n orientation?: 'horizontal' | 'vertical'\n label?: string\n description?: string\n errorMessage?: string\n class?: string\n /** Shorthand API: render checkboxes from an array instead of the compound slot API */\n items?: CheckboxShorthandItem[]\n}>(), {\n variant: 'primary',\n disabled: false,\n isInvalid: false,\n modelValue: undefined,\n defaultValue: undefined,\n name: undefined,\n orientation: 'vertical',\n label: undefined,\n description: undefined,\n errorMessage: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string[]]\n}>()\n\n// Internal state for uncontrolled mode\nconst internalValues = ref<string[]>(props.defaultValue ?? [])\n\n// Current values: controlled (modelValue) or uncontrolled (internalValues)\nconst currentValues = computed(() => props.modelValue ?? internalValues.value)\n\n// Toggle value in the selection list\nfunction toggleValue(value: string) {\n const next = currentValues.value.includes(value)\n ? currentValues.value.filter(v => v !== value)\n : [...currentValues.value, value]\n internalValues.value = next\n emit('update:modelValue', next)\n}\n\n// Provide context to child Checkboxes\nuseCheckboxGroupProvide({\n variant: toRef(props, 'variant'),\n disabled: toRef(props, 'disabled'),\n isInvalid: toRef(props, 'isInvalid'),\n selectedValues: currentValues,\n toggleValue,\n name: toRef(props, 'name'),\n})\n\nconst labelId = `checkbox-group-label-${Math.random().toString(36).slice(2, 8)}`\n\nconst groupClasses = computed(() =>\n checkboxGroupVariants({ variant: props.variant })\n)\n</script>\n\n<template>\n <div\n role=\"group\"\n :aria-labelledby=\"props.label ? labelId : undefined\"\n :aria-invalid=\"props.isInvalid || undefined\"\n :data-orientation=\"props.orientation\"\n :class=\"composeClassName(groupClasses, props.class)\"\n >\n <span\n v-if=\"props.label\"\n :id=\"labelId\"\n class=\"checkbox-group__label\"\n >{{ props.label }}</span>\n <div class=\"checkbox-group__wrapper\">\n <template v-if=\"props.items\">\n <Checkbox\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :disabled=\"item.disabled\"\n >{{ item.label ?? item.value }}</Checkbox>\n </template>\n <slot v-else />\n </div>\n <span\n v-if=\"props.isInvalid && props.errorMessage\"\n class=\"checkbox-group__error-message\"\n >{{ props.errorMessage }}</span>\n <span\n v-else-if=\"props.description\"\n class=\"checkbox-group__description\"\n >{{ props.description }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASA,MAAM,QAAQ;EA2Bd,MAAM,OAAO;EAKb,MAAM,iBAAiB,IAAc,MAAM,gBAAgB,EAAE,CAAA;EAG7D,MAAM,gBAAgB,eAAe,MAAM,cAAc,eAAe,MAAK;EAG7E,SAAS,YAAY,OAAe;GAClC,MAAM,OAAO,cAAc,MAAM,SAAS,MAAK,GAC3C,cAAc,MAAM,QAAO,MAAK,MAAM,MAAK,GAC3C,CAAC,GAAG,cAAc,OAAO,MAAK;AAClC,kBAAe,QAAQ;AACvB,QAAK,qBAAqB,KAAI;;AAIhC,0BAAwB;GACtB,SAAS,MAAM,OAAO,UAAU;GAChC,UAAU,MAAM,OAAO,WAAW;GAClC,WAAW,MAAM,OAAO,YAAY;GACpC,gBAAgB;GAChB;GACA,MAAM,MAAM,OAAO,OAAO;GAC3B,CAAA;EAED,MAAM,UAAU,wBAAwB,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE;EAE9E,MAAM,eAAe,eACnB,sBAAsB,EAAE,SAAS,MAAM,SAAS,CAAA,CAClD;;uBAIE,mBA+BM,OAAA;IA9BJ,MAAK;IACJ,mBAAiB,MAAM,QAAQ,UAAU,KAAA;IACzC,gBAAc,MAAM,aAAa,KAAA;IACjC,oBAAkB,MAAM;IACxB,OAAK,eAAE,MAAA,iBAAgB,CAAC,aAAA,OAAc,MAAM,MAAK,CAAA;;IAG1C,MAAM,SAAA,WAAA,EADd,mBAIyB,QAAA;;KAFtB,IAAI;KACL,OAAM;uBACJ,MAAM,MAAK,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IACf,mBAUM,OAVN,YAUM,CATY,MAAM,SAAA,UAAA,KAAA,EACpB,mBAK0C,UAAA,EAAA,KAAA,GAAA,EAAA,WAJzB,MAAM,QAAd,SAAI;yBADb,YAK0C,kBAAA;MAHvC,KAAK,KAAK;MACV,OAAO,KAAK;MACZ,UAAU,KAAK;;6BACa,CAAA,gBAAA,gBAA3B,KAAK,SAAS,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;gBAE9B,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,CAAA;IAGT,MAAM,aAAa,MAAM,gBAAA,WAAA,EADjC,mBAGgC,QAHhC,YAGgC,gBAA5B,MAAM,aAAY,EAAA,EAAA,IAET,MAAM,eAAA,WAAA,EADnB,mBAG+B,QAH/B,YAG+B,gBAA3B,MAAM,YAAW,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA"}
1
+ {"version":3,"file":"CheckboxGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/checkbox/CheckboxGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref, toRef } from 'vue'\nimport { checkboxGroupVariants, type CheckboxGroupVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { useCheckboxGroupProvide } from './checkbox-group.context'\nimport Checkbox from './Checkbox.vue'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\ntype CheckboxShorthandItem = { value: string; label?: string; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n variant?: CheckboxGroupVariants['variant']\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isInvalid?: boolean\n modelValue?: string[]\n defaultValue?: string[]\n name?: string\n orientation?: 'horizontal' | 'vertical'\n label?: string\n description?: string\n errorMessage?: string\n class?: string\n /** Shorthand API: render checkboxes from an array instead of the compound slot API */\n items?: CheckboxShorthandItem[]\n}>(), {\n variant: 'primary',\n isDisabled: undefined,\n disabled: undefined,\n isInvalid: false,\n modelValue: undefined,\n defaultValue: undefined,\n name: undefined,\n orientation: 'vertical',\n label: undefined,\n description: undefined,\n errorMessage: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: string[]]\n}>()\n\n// Internal state for uncontrolled mode\nconst internalValues = ref<string[]>(props.defaultValue ?? [])\n\n// Current values: controlled (modelValue) or uncontrolled (internalValues)\nconst currentValues = computed(() => props.modelValue ?? internalValues.value)\n\n// Toggle value in the selection list\nfunction toggleValue(value: string) {\n const next = currentValues.value.includes(value)\n ? currentValues.value.filter(v => v !== value)\n : [...currentValues.value, value]\n internalValues.value = next\n emit('update:modelValue', next)\n}\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'CheckboxGroup', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\n// Provide context to child Checkboxes\nuseCheckboxGroupProvide({\n variant: toRef(props, 'variant'),\n disabled: isDisabled,\n isInvalid: toRef(props, 'isInvalid'),\n selectedValues: currentValues,\n toggleValue,\n name: toRef(props, 'name'),\n})\n\nconst labelId = `checkbox-group-label-${Math.random().toString(36).slice(2, 8)}`\n\nconst groupClasses = computed(() =>\n checkboxGroupVariants({ variant: props.variant })\n)\n</script>\n\n<template>\n <div\n role=\"group\"\n :aria-labelledby=\"props.label ? labelId : undefined\"\n :aria-invalid=\"props.isInvalid || undefined\"\n :data-orientation=\"props.orientation\"\n :class=\"composeClassName(groupClasses, props.class)\"\n >\n <span\n v-if=\"props.label\"\n :id=\"labelId\"\n class=\"checkbox-group__label\"\n >{{ props.label }}</span>\n <div class=\"checkbox-group__wrapper\">\n <template v-if=\"props.items\">\n <Checkbox\n v-for=\"item in props.items\"\n :key=\"item.value\"\n :value=\"item.value\"\n :is-disabled=\"item.disabled\"\n >{{ item.label ?? item.value }}</Checkbox>\n </template>\n <slot v-else />\n </div>\n <span\n v-if=\"props.isInvalid && props.errorMessage\"\n class=\"checkbox-group__error-message\"\n >{{ props.errorMessage }}</span>\n <span\n v-else-if=\"props.description\"\n class=\"checkbox-group__description\"\n >{{ props.description }}</span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAUA,MAAM,QAAQ;EA8Bd,MAAM,OAAO;EAKb,MAAM,iBAAiB,IAAc,MAAM,gBAAgB,EAAE,CAAA;EAG7D,MAAM,gBAAgB,eAAe,MAAM,cAAc,eAAe,MAAK;EAG7E,SAAS,YAAY,OAAe;GAClC,MAAM,OAAO,cAAc,MAAM,SAAS,MAAK,GAC3C,cAAc,MAAM,QAAO,MAAK,MAAM,MAAK,GAC3C,CAAC,GAAG,cAAc,OAAO,MAAK;AAClC,kBAAe,QAAQ;AACvB,QAAK,qBAAqB,KAAI;;EAGhC,MAAM,aAAa,yBACjB,iBAAiB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACjF;AAGA,0BAAwB;GACtB,SAAS,MAAM,OAAO,UAAU;GAChC,UAAU;GACV,WAAW,MAAM,OAAO,YAAY;GACpC,gBAAgB;GAChB;GACA,MAAM,MAAM,OAAO,OAAO;GAC3B,CAAA;EAED,MAAM,UAAU,wBAAwB,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE;EAE9E,MAAM,eAAe,eACnB,sBAAsB,EAAE,SAAS,MAAM,SAAS,CAAA,CAClD;;uBAIE,mBA+BM,OAAA;IA9BJ,MAAK;IACJ,mBAAiB,MAAM,QAAQ,UAAU,KAAA;IACzC,gBAAc,MAAM,aAAa,KAAA;IACjC,oBAAkB,MAAM;IACxB,OAAK,eAAE,MAAA,iBAAgB,CAAC,aAAA,OAAc,MAAM,MAAK,CAAA;;IAG1C,MAAM,SAAA,WAAA,EADd,mBAIyB,QAAA;;KAFtB,IAAI;KACL,OAAM;uBACJ,MAAM,MAAK,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IACf,mBAUM,OAVN,YAUM,CATY,MAAM,SAAA,UAAA,KAAA,EACpB,mBAK0C,UAAA,EAAA,KAAA,GAAA,EAAA,WAJzB,MAAM,QAAd,SAAI;yBADb,YAK0C,kBAAA;MAHvC,KAAK,KAAK;MACV,OAAO,KAAK;MACZ,eAAa,KAAK;;6BACU,CAAA,gBAAA,gBAA3B,KAAK,SAAS,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;;gBAE9B,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,CAAA;IAGT,MAAM,aAAa,MAAM,gBAAA,WAAA,EADjC,mBAGgC,QAHhC,YAGgC,gBAA5B,MAAM,aAAY,EAAA,EAAA,IAET,MAAM,eAAA,WAAA,EADnB,mBAG+B,QAH/B,YAG+B,gBAA3B,MAAM,YAAW,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.js","names":[],"sources":["../../../src/components/chip/Chip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { chipVariants, type ChipVariants } from \"@auronui/styles\";\nimport { composeClassName , type ClassValue} from \"../../utils/composeClassName\";\nimport { warnDeprecatedVariant } from '../../utils/warnDeprecated';\n\nconst props = withDefaults(\n defineProps<{\n color?: ChipVariants[\"color\"];\n size?: ChipVariants[\"size\"];\n /**\n * Visual style of the chip.\n * @deprecated 'outlined' — use 'bordered' instead.\n */\n variant?: ChipVariants[\"variant\"] | 'outlined';\n /** Show a colored dot indicator before the label */\n dot?: boolean;\n /** Render a built-in close button that emits `close` */\n isClosable?: boolean;\n /** Aria-label for the close button */\n closeAriaLabel?: string;\n class?: ClassValue;\n /** Override classes for named slots */\n classNames?: Partial<{\n base: ClassValue;\n dot: ClassValue;\n startContent: ClassValue;\n label: ClassValue;\n endContent: ClassValue;\n closeButton: ClassValue;\n }>;\n }>(),\n {\n color: \"default\",\n variant: \"solid\",\n dot: false,\n isClosable: false,\n closeAriaLabel: \"Remove\",\n }\n);\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n}>();\n\nconst resolvedVariant = computed(() => {\n if (props.variant === 'outlined') {\n warnDeprecatedVariant('Chip', 'outlined', 'bordered')\n return 'bordered' as ChipVariants['variant']\n }\n return props.variant\n})\n\nconst slotFns = computed(() =>\n chipVariants({\n color: props.color,\n size: props.size,\n variant: resolvedVariant.value,\n })\n);\n</script>\n\n<template>\n <span :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <span\n v-if=\"dot\"\n :class=\"composeClassName(slotFns.dot(), props.classNames?.dot)\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <span :class=\"composeClassName(slotFns.label(), props.classNames?.label)\">\n <slot />\n </span>\n\n <span\n v-if=\"$slots.endContent && !isClosable\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"endContent\" />\n </span>\n\n <button\n v-if=\"isClosable\"\n type=\"button\"\n :class=\"composeClassName(slotFns.closeButton(), props.classNames?.closeButton)\"\n :aria-label=\"closeAriaLabel\"\n @click=\"emit('close')\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line\n x1=\"18\"\n y1=\"6\"\n x2=\"6\"\n y2=\"18\"\n />\n <line\n x1=\"6\"\n y1=\"6\"\n x2=\"18\"\n y2=\"18\"\n />\n </svg>\n </button>\n </span>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Chip.js","names":[],"sources":["../../../src/components/chip/Chip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { chipVariants, type ChipVariants } from \"@auronui/styles\";\nimport { composeClassName , type ClassValue} from \"../../utils/composeClassName\";\nimport { warnDeprecatedVariant } from '../../utils/warnDeprecated';\n\nconst props = withDefaults(\n defineProps<{\n color?: ChipVariants[\"color\"];\n size?: ChipVariants[\"size\"];\n /**\n * Visual style of the chip.\n * @deprecated 'outlined' — use 'bordered' instead.\n */\n variant?: ChipVariants[\"variant\"] | 'outlined';\n /** Show a colored dot indicator before the label */\n dot?: boolean;\n /** Render a built-in close button that emits `close` */\n isClosable?: boolean;\n /** Aria-label for the close button */\n closeAriaLabel?: string;\n class?: ClassValue;\n /** Override classes for named slots */\n classNames?: Partial<{\n base: ClassValue;\n dot: ClassValue;\n startContent: ClassValue;\n label: ClassValue;\n endContent: ClassValue;\n closeButton: ClassValue;\n }>;\n }>(),\n {\n color: \"default\",\n variant: \"solid\",\n dot: false,\n isClosable: false,\n closeAriaLabel: \"Remove\",\n }\n);\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n}>();\n\nconst resolvedVariant = computed(() => {\n if (props.variant === 'outlined') {\n warnDeprecatedVariant('Chip', 'outlined', 'bordered')\n return 'bordered' as ChipVariants['variant']\n }\n return props.variant\n})\n\nconst slotFns = computed(() =>\n chipVariants({\n color: props.color,\n size: props.size,\n variant: resolvedVariant.value,\n })\n);\n</script>\n\n<template>\n <span :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <span\n v-if=\"dot\"\n :class=\"composeClassName(slotFns.dot(), props.classNames?.dot)\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <span :class=\"composeClassName(slotFns.label(), props.classNames?.label)\">\n <slot />\n </span>\n\n <span\n v-if=\"$slots.endContent && !isClosable\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"endContent\" />\n </span>\n\n <!-- Raw <button> (not <CloseButton>): the close affordance is styled via the chipVariants\n 'closeButton' slot; <CloseButton> is a full ghost Button with its own sizing that would\n break the chip's visual parity. -->\n <button\n v-if=\"isClosable\"\n type=\"button\"\n :class=\"composeClassName(slotFns.closeButton(), props.classNames?.closeButton)\"\n :aria-label=\"closeAriaLabel\"\n @click=\"emit('close')\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line\n x1=\"18\"\n y1=\"6\"\n x2=\"6\"\n y2=\"18\"\n />\n <line\n x1=\"6\"\n y1=\"6\"\n x2=\"18\"\n y2=\"18\"\n />\n </svg>\n </button>\n </span>\n</template>\n"],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"Chip.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../src/components/chip/Chip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { chipVariants, type ChipVariants } from \"@auronui/styles\";\nimport { composeClassName , type ClassValue} from \"../../utils/composeClassName\";\nimport { warnDeprecatedVariant } from '../../utils/warnDeprecated';\n\nconst props = withDefaults(\n defineProps<{\n color?: ChipVariants[\"color\"];\n size?: ChipVariants[\"size\"];\n /**\n * Visual style of the chip.\n * @deprecated 'outlined' — use 'bordered' instead.\n */\n variant?: ChipVariants[\"variant\"] | 'outlined';\n /** Show a colored dot indicator before the label */\n dot?: boolean;\n /** Render a built-in close button that emits `close` */\n isClosable?: boolean;\n /** Aria-label for the close button */\n closeAriaLabel?: string;\n class?: ClassValue;\n /** Override classes for named slots */\n classNames?: Partial<{\n base: ClassValue;\n dot: ClassValue;\n startContent: ClassValue;\n label: ClassValue;\n endContent: ClassValue;\n closeButton: ClassValue;\n }>;\n }>(),\n {\n color: \"default\",\n variant: \"solid\",\n dot: false,\n isClosable: false,\n closeAriaLabel: \"Remove\",\n }\n);\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n}>();\n\nconst resolvedVariant = computed(() => {\n if (props.variant === 'outlined') {\n warnDeprecatedVariant('Chip', 'outlined', 'bordered')\n return 'bordered' as ChipVariants['variant']\n }\n return props.variant\n})\n\nconst slotFns = computed(() =>\n chipVariants({\n color: props.color,\n size: props.size,\n variant: resolvedVariant.value,\n })\n);\n</script>\n\n<template>\n <span :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <span\n v-if=\"dot\"\n :class=\"composeClassName(slotFns.dot(), props.classNames?.dot)\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <span :class=\"composeClassName(slotFns.label(), props.classNames?.label)\">\n <slot />\n </span>\n\n <span\n v-if=\"$slots.endContent && !isClosable\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"endContent\" />\n </span>\n\n <button\n v-if=\"isClosable\"\n type=\"button\"\n :class=\"composeClassName(slotFns.closeButton(), props.classNames?.closeButton)\"\n :aria-label=\"closeAriaLabel\"\n @click=\"emit('close')\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line\n x1=\"18\"\n y1=\"6\"\n x2=\"6\"\n y2=\"18\"\n />\n <line\n x1=\"6\"\n y1=\"6\"\n x2=\"18\"\n y2=\"18\"\n />\n </svg>\n </button>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAmCd,MAAM,OAAO;EAIb,MAAM,kBAAkB,eAAe;AACrC,OAAI,MAAM,YAAY,WAEpB,QAAO;AAET,UAAO,MAAM;IACd;EAED,MAAM,UAAU,eACd,aAAa;GACX,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,SAAS,gBAAgB;GAC1B,CAAA,CACF;;uBAIC,mBA0DO,QAAA,EA1DA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA,EAAA,EAAA;IAExE,QAAA,OAAA,WAAA,EADR,mBAIE,QAAA;;KAFC,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,KAAG,EAAI,MAAM,YAAY,IAAG,CAAA;KAC7D,eAAY;;IAGNA,KAAAA,OAAO,gBAAA,WAAA,EADf,mBAMO,QAAA;;KAJJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,cAAY,EAAI,MAAM,YAAY,aAAY,CAAA;KAC/E,eAAY;QAEZ,WAA4B,KAAA,QAAA,eAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IAG9B,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,YAAY,MAAK,CAAA,EAAA,EAAA,CACrE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA;IAIFA,KAAAA,OAAO,cAAU,CAAK,QAAA,cAAA,WAAA,EAD9B,mBAMO,QAAA;;KAJJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,YAAU,EAAI,MAAM,YAAY,WAAU,CAAA;KAC3E,eAAY;QAEZ,WAA0B,KAAA,QAAA,aAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IAIpB,QAAA,cAAA,WAAA,EADR,mBA+BS,UAAA;;KA7BP,MAAK;KACJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,aAAW,EAAI,MAAM,YAAY,YAAW,CAAA;KAC5E,cAAY,QAAA;KACZ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAA;sCAEZ,mBAuBM,OAAA;KAtBJ,OAAM;KACN,SAAQ;KACR,MAAK;KACL,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;KAChB,eAAY;KACZ,WAAU;QAEV,mBAKE,QAAA;KAJA,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;QAEL,mBAKE,QAAA;KAJA,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG"}
1
+ {"version":3,"file":"Chip.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../src/components/chip/Chip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from \"vue\";\nimport { chipVariants, type ChipVariants } from \"@auronui/styles\";\nimport { composeClassName , type ClassValue} from \"../../utils/composeClassName\";\nimport { warnDeprecatedVariant } from '../../utils/warnDeprecated';\n\nconst props = withDefaults(\n defineProps<{\n color?: ChipVariants[\"color\"];\n size?: ChipVariants[\"size\"];\n /**\n * Visual style of the chip.\n * @deprecated 'outlined' — use 'bordered' instead.\n */\n variant?: ChipVariants[\"variant\"] | 'outlined';\n /** Show a colored dot indicator before the label */\n dot?: boolean;\n /** Render a built-in close button that emits `close` */\n isClosable?: boolean;\n /** Aria-label for the close button */\n closeAriaLabel?: string;\n class?: ClassValue;\n /** Override classes for named slots */\n classNames?: Partial<{\n base: ClassValue;\n dot: ClassValue;\n startContent: ClassValue;\n label: ClassValue;\n endContent: ClassValue;\n closeButton: ClassValue;\n }>;\n }>(),\n {\n color: \"default\",\n variant: \"solid\",\n dot: false,\n isClosable: false,\n closeAriaLabel: \"Remove\",\n }\n);\n\nconst emit = defineEmits<{\n (e: \"close\"): void;\n}>();\n\nconst resolvedVariant = computed(() => {\n if (props.variant === 'outlined') {\n warnDeprecatedVariant('Chip', 'outlined', 'bordered')\n return 'bordered' as ChipVariants['variant']\n }\n return props.variant\n})\n\nconst slotFns = computed(() =>\n chipVariants({\n color: props.color,\n size: props.size,\n variant: resolvedVariant.value,\n })\n);\n</script>\n\n<template>\n <span :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <span\n v-if=\"dot\"\n :class=\"composeClassName(slotFns.dot(), props.classNames?.dot)\"\n aria-hidden=\"true\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"startContent\" />\n </span>\n\n <span :class=\"composeClassName(slotFns.label(), props.classNames?.label)\">\n <slot />\n </span>\n\n <span\n v-if=\"$slots.endContent && !isClosable\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n aria-hidden=\"true\"\n >\n <slot name=\"endContent\" />\n </span>\n\n <!-- Raw <button> (not <CloseButton>): the close affordance is styled via the chipVariants\n 'closeButton' slot; <CloseButton> is a full ghost Button with its own sizing that would\n break the chip's visual parity. -->\n <button\n v-if=\"isClosable\"\n type=\"button\"\n :class=\"composeClassName(slotFns.closeButton(), props.classNames?.closeButton)\"\n :aria-label=\"closeAriaLabel\"\n @click=\"emit('close')\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2.5\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <line\n x1=\"18\"\n y1=\"6\"\n x2=\"6\"\n y2=\"18\"\n />\n <line\n x1=\"6\"\n y1=\"6\"\n x2=\"18\"\n y2=\"18\"\n />\n </svg>\n </button>\n </span>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAmCd,MAAM,OAAO;EAIb,MAAM,kBAAkB,eAAe;AACrC,OAAI,MAAM,YAAY,WAEpB,QAAO;AAET,UAAO,MAAM;IACd;EAED,MAAM,UAAU,eACd,aAAa;GACX,OAAO,MAAM;GACb,MAAM,MAAM;GACZ,SAAS,gBAAgB;GAC1B,CAAA,CACF;;uBAIC,mBA6DO,QAAA,EA7DA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA,EAAA,EAAA;IAExE,QAAA,OAAA,WAAA,EADR,mBAIE,QAAA;;KAFC,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,KAAG,EAAI,MAAM,YAAY,IAAG,CAAA;KAC7D,eAAY;;IAGNA,KAAAA,OAAO,gBAAA,WAAA,EADf,mBAMO,QAAA;;KAJJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,cAAY,EAAI,MAAM,YAAY,aAAY,CAAA;KAC/E,eAAY;QAEZ,WAA4B,KAAA,QAAA,eAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IAG9B,mBAEO,QAAA,EAFA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,OAAK,EAAI,MAAM,YAAY,MAAK,CAAA,EAAA,EAAA,CACrE,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA;IAIFA,KAAAA,OAAO,cAAU,CAAK,QAAA,cAAA,WAAA,EAD9B,mBAMO,QAAA;;KAJJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,YAAU,EAAI,MAAM,YAAY,WAAU,CAAA;KAC3E,eAAY;QAEZ,WAA0B,KAAA,QAAA,aAAA,CAAA,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA;IAOpB,QAAA,cAAA,WAAA,EADR,mBA+BS,UAAA;;KA7BP,MAAK;KACJ,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,aAAW,EAAI,MAAM,YAAY,YAAW,CAAA;KAC5E,cAAY,QAAA;KACZ,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAA;sCAEZ,mBAuBM,OAAA;KAtBJ,OAAM;KACN,SAAQ;KACR,MAAK;KACL,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;KAChB,eAAY;KACZ,WAAU;QAEV,mBAKE,QAAA;KAJA,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG;QAEL,mBAKE,QAAA;KAJA,IAAG;KACH,IAAG;KACH,IAAG;KACH,IAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.js","names":[],"sources":["../../../src/components/collapsible/Collapsible.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onBeforeUnmount, ref, useId, watch } from 'vue'\nimport { CollapsibleRoot } from 'reka-ui'\nimport { collapsibleVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useCollapsibleProvide } from './collapsible.context'\nimport { injectCollapsibleGroup } from './collapsible-group.context'\n\n// NOTE: `open` is typed as `boolean | null` (not boolean) to avoid Vue's boolean\n// prop casting: absent boolean props are cast to `false`, making it impossible to\n// distinguish \"not provided\" from \"explicitly false\". Using null as the\n// \"not controlled\" sentinel preserves that distinction at runtime.\nconst props = withDefaults(defineProps<{\n open?: boolean | null\n defaultOpen?: boolean\n disabled?: boolean\n unmountOnHide?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n open: null,\n defaultOpen: false,\n disabled: false,\n})\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean]\n}>()\n\n// Check if we're inside a CollapsibleGroup — if so, we need controlled mode so\n// the group can externally close this Collapsible by setting internalOpen.value.\nconst group = injectCollapsibleGroup()\nconst id = useId()\n\n// Controlled mode when: (a) parent provides v-model:open, OR (b) inside a group.\n// In both cases, internalOpen drives Reka's open prop.\nconst isControlled = computed(() => props.open !== null || group !== null)\n\n// Mirror of the open state — updated when Reka fires @update:open.\n// Initialized from: controlled `open` prop if set, else `defaultOpen`.\nconst internalOpen = ref<boolean>(\n props.open !== null ? (props.open as boolean) : props.defaultOpen\n)\n\n// Sync external open -> internal (v-model controlled mode)\nwatch(() => props.open, (v) => {\n if (v !== null && typeof v === 'boolean' && v !== internalOpen.value) {\n internalOpen.value = v\n }\n})\n\nfunction onUpdateOpen(v: boolean) {\n if (internalOpen.value === v) return\n internalOpen.value = v\n emit('update:open', v)\n // Notify group for single-open enforcement\n if (v && group) group.notifyOpen(id)\n}\n\nconst slotFns = computed(() => collapsibleVariants({}))\n\nuseCollapsibleProvide({ slotFns, isOpen: internalOpen })\n\nonMounted(() => {\n if (group) group.register({ id, open: internalOpen })\n})\n\nonBeforeUnmount(() => {\n if (group) group.unregister(id)\n})\n</script>\n\n<template>\n <CollapsibleRoot\n :open=\"isControlled ? internalOpen : undefined\"\n :default-open=\"!isControlled ? props.defaultOpen : undefined\"\n :disabled=\"props.disabled\"\n :unmount-on-hide=\"props.unmountOnHide\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:open=\"onUpdateOpen\"\n >\n <slot />\n </CollapsibleRoot>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Collapsible.js","names":[],"sources":["../../../src/components/collapsible/Collapsible.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onBeforeUnmount, ref, useId, watch } from 'vue'\nimport { CollapsibleRoot } from 'reka-ui'\nimport { collapsibleVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\nimport { useCollapsibleProvide } from './collapsible.context'\nimport { injectCollapsibleGroup } from './collapsible-group.context'\n\n// NOTE: `open` is typed as `boolean | null` (not boolean) to avoid Vue's boolean\n// prop casting: absent boolean props are cast to `false`, making it impossible to\n// distinguish \"not provided\" from \"explicitly false\". Using null as the\n// \"not controlled\" sentinel preserves that distinction at runtime.\nconst props = withDefaults(defineProps<{\n open?: boolean | null\n defaultOpen?: boolean\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n unmountOnHide?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n open: null,\n defaultOpen: false,\n isDisabled: undefined,\n disabled: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Collapsible', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\n// Check if we're inside a CollapsibleGroup — if so, we need controlled mode so\n// the group can externally close this Collapsible by setting internalOpen.value.\nconst group = injectCollapsibleGroup()\nconst id = useId()\n\n// Controlled mode when: (a) parent provides v-model:open, OR (b) inside a group.\n// In both cases, internalOpen drives Reka's open prop.\nconst isControlled = computed(() => props.open !== null || group !== null)\n\n// Mirror of the open state — updated when Reka fires @update:open.\n// Initialized from: controlled `open` prop if set, else `defaultOpen`.\nconst internalOpen = ref<boolean>(\n props.open !== null ? (props.open as boolean) : props.defaultOpen\n)\n\n// Sync external open -> internal (v-model controlled mode)\nwatch(() => props.open, (v) => {\n if (v !== null && typeof v === 'boolean' && v !== internalOpen.value) {\n internalOpen.value = v\n }\n})\n\nfunction onUpdateOpen(v: boolean) {\n if (internalOpen.value === v) return\n internalOpen.value = v\n emit('update:open', v)\n // Notify group for single-open enforcement\n if (v && group) group.notifyOpen(id)\n}\n\nconst slotFns = computed(() => collapsibleVariants({}))\n\nuseCollapsibleProvide({ slotFns, isOpen: internalOpen })\n\nonMounted(() => {\n if (group) group.register({ id, open: internalOpen })\n})\n\nonBeforeUnmount(() => {\n if (group) group.unregister(id)\n})\n</script>\n\n<template>\n <CollapsibleRoot\n :open=\"isControlled ? internalOpen : undefined\"\n :default-open=\"!isControlled ? props.defaultOpen : undefined\"\n :disabled=\"isDisabled\"\n :unmount-on-hide=\"props.unmountOnHide\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:open=\"onUpdateOpen\"\n >\n <slot />\n </CollapsibleRoot>\n</template>\n"],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
2
3
  import { useCollapsibleProvide } from "./collapsible.context.js";
3
4
  import { injectCollapsibleGroup } from "./collapsible-group.context.js";
4
5
  import { computed, createBlock, defineComponent, normalizeClass, onBeforeUnmount, onMounted, openBlock, ref, renderSlot, unref, useId, watch, withCtx } from "vue";
@@ -16,9 +17,13 @@ var Collapsible_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
16
17
  type: Boolean,
17
18
  default: false
18
19
  },
20
+ isDisabled: {
21
+ type: Boolean,
22
+ default: void 0
23
+ },
19
24
  disabled: {
20
25
  type: Boolean,
21
- default: false
26
+ default: void 0
22
27
  },
23
28
  unmountOnHide: { type: Boolean },
24
29
  as: {},
@@ -36,6 +41,7 @@ var Collapsible_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
36
41
  setup(__props, { emit: __emit }) {
37
42
  const props = __props;
38
43
  const emit = __emit;
44
+ const isDisabled = useDeprecatedBooleanProp("Collapsible", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
39
45
  const group = injectCollapsibleGroup();
40
46
  const id = useId();
41
47
  const isControlled = computed(() => props.open !== null || group !== null);
@@ -67,7 +73,7 @@ var Collapsible_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ de
67
73
  return openBlock(), createBlock(unref(CollapsibleRoot), {
68
74
  open: isControlled.value ? internalOpen.value : void 0,
69
75
  "default-open": !isControlled.value ? props.defaultOpen : void 0,
70
- disabled: props.disabled,
76
+ disabled: unref(isDisabled),
71
77
  "unmount-on-hide": props.unmountOnHide,
72
78
  as: props.as,
73
79
  "as-child": props.asChild,
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/collapsible/Collapsible.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onBeforeUnmount, ref, useId, watch } from 'vue'\nimport { CollapsibleRoot } from 'reka-ui'\nimport { collapsibleVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useCollapsibleProvide } from './collapsible.context'\nimport { injectCollapsibleGroup } from './collapsible-group.context'\n\n// NOTE: `open` is typed as `boolean | null` (not boolean) to avoid Vue's boolean\n// prop casting: absent boolean props are cast to `false`, making it impossible to\n// distinguish \"not provided\" from \"explicitly false\". Using null as the\n// \"not controlled\" sentinel preserves that distinction at runtime.\nconst props = withDefaults(defineProps<{\n open?: boolean | null\n defaultOpen?: boolean\n disabled?: boolean\n unmountOnHide?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n open: null,\n defaultOpen: false,\n disabled: false,\n})\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean]\n}>()\n\n// Check if we're inside a CollapsibleGroup — if so, we need controlled mode so\n// the group can externally close this Collapsible by setting internalOpen.value.\nconst group = injectCollapsibleGroup()\nconst id = useId()\n\n// Controlled mode when: (a) parent provides v-model:open, OR (b) inside a group.\n// In both cases, internalOpen drives Reka's open prop.\nconst isControlled = computed(() => props.open !== null || group !== null)\n\n// Mirror of the open state — updated when Reka fires @update:open.\n// Initialized from: controlled `open` prop if set, else `defaultOpen`.\nconst internalOpen = ref<boolean>(\n props.open !== null ? (props.open as boolean) : props.defaultOpen\n)\n\n// Sync external open -> internal (v-model controlled mode)\nwatch(() => props.open, (v) => {\n if (v !== null && typeof v === 'boolean' && v !== internalOpen.value) {\n internalOpen.value = v\n }\n})\n\nfunction onUpdateOpen(v: boolean) {\n if (internalOpen.value === v) return\n internalOpen.value = v\n emit('update:open', v)\n // Notify group for single-open enforcement\n if (v && group) group.notifyOpen(id)\n}\n\nconst slotFns = computed(() => collapsibleVariants({}))\n\nuseCollapsibleProvide({ slotFns, isOpen: internalOpen })\n\nonMounted(() => {\n if (group) group.register({ id, open: internalOpen })\n})\n\nonBeforeUnmount(() => {\n if (group) group.unregister(id)\n})\n</script>\n\n<template>\n <CollapsibleRoot\n :open=\"isControlled ? internalOpen : undefined\"\n :default-open=\"!isControlled ? props.defaultOpen : undefined\"\n :disabled=\"props.disabled\"\n :unmount-on-hide=\"props.unmountOnHide\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:open=\"onUpdateOpen\"\n >\n <slot />\n </CollapsibleRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYA,MAAM,QAAQ;EAkBd,MAAM,OAAO;EAMb,MAAM,QAAQ,wBAAuB;EACrC,MAAM,KAAK,OAAM;EAIjB,MAAM,eAAe,eAAe,MAAM,SAAS,QAAQ,UAAU,KAAI;EAIzE,MAAM,eAAe,IACnB,MAAM,SAAS,OAAQ,MAAM,OAAmB,MAAM,YACxD;AAGA,cAAY,MAAM,OAAO,MAAM;AAC7B,OAAI,MAAM,QAAQ,OAAO,MAAM,aAAa,MAAM,aAAa,MAC7D,cAAa,QAAQ;IAExB;EAED,SAAS,aAAa,GAAY;AAChC,OAAI,aAAa,UAAU,EAAG;AAC9B,gBAAa,QAAQ;AACrB,QAAK,eAAe,EAAC;AAErB,OAAI,KAAK,MAAO,OAAM,WAAW,GAAE;;EAGrC,MAAM,UAAU,eAAe,oBAAoB,EAAE,CAAC,CAAA;AAEtD,wBAAsB;GAAE;GAAS,QAAQ;GAAc,CAAA;AAEvD,kBAAgB;AACd,OAAI,MAAO,OAAM,SAAS;IAAE;IAAI,MAAM;IAAc,CAAA;IACrD;AAED,wBAAsB;AACpB,OAAI,MAAO,OAAM,WAAW,GAAE;IAC/B;;uBAIC,YAWkB,MAAA,gBAAA,EAAA;IAVf,MAAM,aAAA,QAAe,aAAA,QAAe,KAAA;IACpC,gBAAY,CAAG,aAAA,QAAe,MAAM,cAAc,KAAA;IAClD,UAAU,MAAM;IAChB,mBAAiB,MAAM;IACvB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,iBAAa;;2BAEN,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Collapsible.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/collapsible/Collapsible.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, onMounted, onBeforeUnmount, ref, useId, watch } from 'vue'\nimport { CollapsibleRoot } from 'reka-ui'\nimport { collapsibleVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\nimport { useCollapsibleProvide } from './collapsible.context'\nimport { injectCollapsibleGroup } from './collapsible-group.context'\n\n// NOTE: `open` is typed as `boolean | null` (not boolean) to avoid Vue's boolean\n// prop casting: absent boolean props are cast to `false`, making it impossible to\n// distinguish \"not provided\" from \"explicitly false\". Using null as the\n// \"not controlled\" sentinel preserves that distinction at runtime.\nconst props = withDefaults(defineProps<{\n open?: boolean | null\n defaultOpen?: boolean\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n unmountOnHide?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n /** Per-slot class overrides */\n classNames?: Partial<{\n base: ClassValue\n }>\n}>(), {\n open: null,\n defaultOpen: false,\n isDisabled: undefined,\n disabled: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:open': [value: boolean]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Collapsible', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\n// Check if we're inside a CollapsibleGroup — if so, we need controlled mode so\n// the group can externally close this Collapsible by setting internalOpen.value.\nconst group = injectCollapsibleGroup()\nconst id = useId()\n\n// Controlled mode when: (a) parent provides v-model:open, OR (b) inside a group.\n// In both cases, internalOpen drives Reka's open prop.\nconst isControlled = computed(() => props.open !== null || group !== null)\n\n// Mirror of the open state — updated when Reka fires @update:open.\n// Initialized from: controlled `open` prop if set, else `defaultOpen`.\nconst internalOpen = ref<boolean>(\n props.open !== null ? (props.open as boolean) : props.defaultOpen\n)\n\n// Sync external open -> internal (v-model controlled mode)\nwatch(() => props.open, (v) => {\n if (v !== null && typeof v === 'boolean' && v !== internalOpen.value) {\n internalOpen.value = v\n }\n})\n\nfunction onUpdateOpen(v: boolean) {\n if (internalOpen.value === v) return\n internalOpen.value = v\n emit('update:open', v)\n // Notify group for single-open enforcement\n if (v && group) group.notifyOpen(id)\n}\n\nconst slotFns = computed(() => collapsibleVariants({}))\n\nuseCollapsibleProvide({ slotFns, isOpen: internalOpen })\n\nonMounted(() => {\n if (group) group.register({ id, open: internalOpen })\n})\n\nonBeforeUnmount(() => {\n if (group) group.unregister(id)\n})\n</script>\n\n<template>\n <CollapsibleRoot\n :open=\"isControlled ? internalOpen : undefined\"\n :default-open=\"!isControlled ? props.defaultOpen : undefined\"\n :disabled=\"isDisabled\"\n :unmount-on-hide=\"props.unmountOnHide\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n @update:open=\"onUpdateOpen\"\n >\n <slot />\n </CollapsibleRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaA,MAAM,QAAQ;EAqBd,MAAM,OAAO;EAIb,MAAM,aAAa,yBACjB,eAAe,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC/E;EAIA,MAAM,QAAQ,wBAAuB;EACrC,MAAM,KAAK,OAAM;EAIjB,MAAM,eAAe,eAAe,MAAM,SAAS,QAAQ,UAAU,KAAI;EAIzE,MAAM,eAAe,IACnB,MAAM,SAAS,OAAQ,MAAM,OAAmB,MAAM,YACxD;AAGA,cAAY,MAAM,OAAO,MAAM;AAC7B,OAAI,MAAM,QAAQ,OAAO,MAAM,aAAa,MAAM,aAAa,MAC7D,cAAa,QAAQ;IAExB;EAED,SAAS,aAAa,GAAY;AAChC,OAAI,aAAa,UAAU,EAAG;AAC9B,gBAAa,QAAQ;AACrB,QAAK,eAAe,EAAC;AAErB,OAAI,KAAK,MAAO,OAAM,WAAW,GAAE;;EAGrC,MAAM,UAAU,eAAe,oBAAoB,EAAE,CAAC,CAAA;AAEtD,wBAAsB;GAAE;GAAS,QAAQ;GAAc,CAAA;AAEvD,kBAAgB;AACd,OAAI,MAAO,OAAM,SAAS;IAAE;IAAI,MAAM;IAAc,CAAA;IACrD;AAED,wBAAsB;AACpB,OAAI,MAAO,OAAM,WAAW,GAAE;IAC/B;;uBAIC,YAWkB,MAAA,gBAAA,EAAA;IAVf,MAAM,aAAA,QAAe,aAAA,QAAe,KAAA;IACpC,gBAAY,CAAG,aAAA,QAAe,MAAM,cAAc,KAAA;IAClD,UAAU,MAAA,WAAU;IACpB,mBAAiB,MAAM;IACvB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA;IAC3E,iBAAa;;2BAEN,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleGroup.js","names":[],"sources":["../../../src/components/collapsible/CollapsibleGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRef } from 'vue'\nimport { collapsibleGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport {\n provideCollapsibleGroup,\n type CollapsibleGroupRegistryEntry,\n} from './collapsible-group.context'\nimport Collapsible from './Collapsible.vue'\nimport CollapsibleTrigger from './CollapsibleTrigger.vue'\nimport CollapsibleContent from './CollapsibleContent.vue'\n\ntype CollapsibleShorthandItem = { title: string; content?: string; defaultOpen?: boolean; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n // single-open = true means only one child open at a time\n singleOpen?: boolean\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render collapsibles from an array instead of the compound slot API */\n items?: CollapsibleShorthandItem[]\n}>(), {\n singleOpen: false,\n})\n\nconst registry = new Map<string, CollapsibleGroupRegistryEntry>()\n\nprovideCollapsibleGroup({\n allowMultiple: toRef(() => !props.singleOpen),\n register(entry) {\n registry.set(entry.id, entry)\n },\n unregister(id) {\n registry.delete(id)\n },\n notifyOpen(openingId: string) {\n if (props.singleOpen) {\n for (const [id, entry] of registry) {\n if (id !== openingId && entry.open.value) {\n entry.open.value = false\n }\n }\n }\n },\n})\n\nconst slotFns = computed(() => collapsibleGroupVariants({}))\n</script>\n\n<template>\n <div :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <template v-if=\"props.items\">\n <Collapsible\n v-for=\"(item, idx) in props.items\"\n :key=\"idx\"\n :default-open=\"item.defaultOpen\"\n :disabled=\"item.disabled\"\n >\n <CollapsibleTrigger>{{ item.title }}</CollapsibleTrigger>\n <CollapsibleContent>{{ item.content }}</CollapsibleContent>\n </Collapsible>\n </template>\n <slot v-else />\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"CollapsibleGroup.js","names":[],"sources":["../../../src/components/collapsible/CollapsibleGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRef } from 'vue'\nimport { collapsibleGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport {\n provideCollapsibleGroup,\n type CollapsibleGroupRegistryEntry,\n} from './collapsible-group.context'\nimport Collapsible from './Collapsible.vue'\nimport CollapsibleTrigger from './CollapsibleTrigger.vue'\nimport CollapsibleContent from './CollapsibleContent.vue'\n\ntype CollapsibleShorthandItem = { title: string; content?: string; defaultOpen?: boolean; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n // single-open = true means only one child open at a time\n singleOpen?: boolean\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render collapsibles from an array instead of the compound slot API */\n items?: CollapsibleShorthandItem[]\n}>(), {\n singleOpen: false,\n})\n\nconst registry = new Map<string, CollapsibleGroupRegistryEntry>()\n\nprovideCollapsibleGroup({\n allowMultiple: toRef(() => !props.singleOpen),\n register(entry) {\n registry.set(entry.id, entry)\n },\n unregister(id) {\n registry.delete(id)\n },\n notifyOpen(openingId: string) {\n if (props.singleOpen) {\n for (const [id, entry] of registry) {\n if (id !== openingId && entry.open.value) {\n entry.open.value = false\n }\n }\n }\n },\n})\n\nconst slotFns = computed(() => collapsibleGroupVariants({}))\n</script>\n\n<template>\n <div :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <template v-if=\"props.items\">\n <Collapsible\n v-for=\"(item, idx) in props.items\"\n :key=\"idx\"\n :default-open=\"item.defaultOpen\"\n :is-disabled=\"item.disabled\"\n >\n <CollapsibleTrigger>{{ item.title }}</CollapsibleTrigger>\n <CollapsibleContent>{{ item.content }}</CollapsibleContent>\n </Collapsible>\n </template>\n <slot v-else />\n </div>\n</template>\n"],"mappings":""}
@@ -46,7 +46,7 @@ var CollapsibleGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
46
46
  return openBlock(), createBlock(Collapsible_default, {
47
47
  key: idx,
48
48
  "default-open": item.defaultOpen,
49
- disabled: item.disabled
49
+ "is-disabled": item.disabled
50
50
  }, {
51
51
  default: withCtx(() => [createVNode(CollapsibleTrigger_default, null, {
52
52
  default: withCtx(() => [createTextVNode(toDisplayString(item.title), 1)]),
@@ -56,7 +56,7 @@ var CollapsibleGroup_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
56
56
  _: 2
57
57
  }, 1024)]),
58
58
  _: 2
59
- }, 1032, ["default-open", "disabled"]);
59
+ }, 1032, ["default-open", "is-disabled"]);
60
60
  }), 128)) : renderSlot(_ctx.$slots, "default", { key: 1 })], 2);
61
61
  };
62
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CollapsibleGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/collapsible/CollapsibleGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRef } from 'vue'\nimport { collapsibleGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport {\n provideCollapsibleGroup,\n type CollapsibleGroupRegistryEntry,\n} from './collapsible-group.context'\nimport Collapsible from './Collapsible.vue'\nimport CollapsibleTrigger from './CollapsibleTrigger.vue'\nimport CollapsibleContent from './CollapsibleContent.vue'\n\ntype CollapsibleShorthandItem = { title: string; content?: string; defaultOpen?: boolean; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n // single-open = true means only one child open at a time\n singleOpen?: boolean\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render collapsibles from an array instead of the compound slot API */\n items?: CollapsibleShorthandItem[]\n}>(), {\n singleOpen: false,\n})\n\nconst registry = new Map<string, CollapsibleGroupRegistryEntry>()\n\nprovideCollapsibleGroup({\n allowMultiple: toRef(() => !props.singleOpen),\n register(entry) {\n registry.set(entry.id, entry)\n },\n unregister(id) {\n registry.delete(id)\n },\n notifyOpen(openingId: string) {\n if (props.singleOpen) {\n for (const [id, entry] of registry) {\n if (id !== openingId && entry.open.value) {\n entry.open.value = false\n }\n }\n }\n },\n})\n\nconst slotFns = computed(() => collapsibleGroupVariants({}))\n</script>\n\n<template>\n <div :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <template v-if=\"props.items\">\n <Collapsible\n v-for=\"(item, idx) in props.items\"\n :key=\"idx\"\n :default-open=\"item.defaultOpen\"\n :disabled=\"item.disabled\"\n >\n <CollapsibleTrigger>{{ item.title }}</CollapsibleTrigger>\n <CollapsibleContent>{{ item.content }}</CollapsibleContent>\n </Collapsible>\n </template>\n <slot v-else />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAcA,MAAM,QAAQ;EAcd,MAAM,2BAAW,IAAI,KAA2C;AAEhE,0BAAwB;GACtB,eAAe,YAAY,CAAC,MAAM,WAAW;GAC7C,SAAS,OAAO;AACd,aAAS,IAAI,MAAM,IAAI,MAAK;;GAE9B,WAAW,IAAI;AACb,aAAS,OAAO,GAAE;;GAEpB,WAAW,WAAmB;AAC5B,QAAI,MAAM;UACH,MAAM,CAAC,IAAI,UAAU,SACxB,KAAI,OAAO,aAAa,MAAM,KAAK,MACjC,OAAM,KAAK,QAAQ;;;GAK5B,CAAA;EAED,MAAM,UAAU,eAAe,yBAAyB,EAAE,CAAC,CAAA;;uBAIzD,mBAaM,OAAA,EAbA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA,EAAA,EAAA,CAC/D,MAAM,SAAA,UAAA,KAAA,EACpB,mBAQc,UAAA,EAAA,KAAA,GAAA,EAAA,WAPU,MAAM,QAApB,MAAM,QAAG;wBADnB,YAQc,qBAAA;KANX,KAAK;KACL,gBAAc,KAAK;KACnB,UAAU,KAAK;;4BAEyC,CAAzD,YAAyD,4BAAA,MAAA;6BAArB,CAAA,gBAAA,gBAAb,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;eACjC,YAA2D,4BAAA,MAAA;6BAArB,CAAA,gBAAA,gBAAf,KAAK,QAAO,EAAA,EAAA,CAAA,CAAA;;;;;eAGvC,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,EAAA,EAAA"}
1
+ {"version":3,"file":"CollapsibleGroup.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/collapsible/CollapsibleGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, toRef } from 'vue'\nimport { collapsibleGroupVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport {\n provideCollapsibleGroup,\n type CollapsibleGroupRegistryEntry,\n} from './collapsible-group.context'\nimport Collapsible from './Collapsible.vue'\nimport CollapsibleTrigger from './CollapsibleTrigger.vue'\nimport CollapsibleContent from './CollapsibleContent.vue'\n\ntype CollapsibleShorthandItem = { title: string; content?: string; defaultOpen?: boolean; disabled?: boolean }\n\nconst props = withDefaults(defineProps<{\n // single-open = true means only one child open at a time\n singleOpen?: boolean\n class?: ClassValue\n /** Override classes for individual slots */\n classNames?: Partial<{\n base: ClassValue\n }>\n /** Shorthand API: render collapsibles from an array instead of the compound slot API */\n items?: CollapsibleShorthandItem[]\n}>(), {\n singleOpen: false,\n})\n\nconst registry = new Map<string, CollapsibleGroupRegistryEntry>()\n\nprovideCollapsibleGroup({\n allowMultiple: toRef(() => !props.singleOpen),\n register(entry) {\n registry.set(entry.id, entry)\n },\n unregister(id) {\n registry.delete(id)\n },\n notifyOpen(openingId: string) {\n if (props.singleOpen) {\n for (const [id, entry] of registry) {\n if (id !== openingId && entry.open.value) {\n entry.open.value = false\n }\n }\n }\n },\n})\n\nconst slotFns = computed(() => collapsibleGroupVariants({}))\n</script>\n\n<template>\n <div :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\">\n <template v-if=\"props.items\">\n <Collapsible\n v-for=\"(item, idx) in props.items\"\n :key=\"idx\"\n :default-open=\"item.defaultOpen\"\n :is-disabled=\"item.disabled\"\n >\n <CollapsibleTrigger>{{ item.title }}</CollapsibleTrigger>\n <CollapsibleContent>{{ item.content }}</CollapsibleContent>\n </Collapsible>\n </template>\n <slot v-else />\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAcA,MAAM,QAAQ;EAcd,MAAM,2BAAW,IAAI,KAA2C;AAEhE,0BAAwB;GACtB,eAAe,YAAY,CAAC,MAAM,WAAW;GAC7C,SAAS,OAAO;AACd,aAAS,IAAI,MAAM,IAAI,MAAK;;GAE9B,WAAW,IAAI;AACb,aAAS,OAAO,GAAE;;GAEpB,WAAW,WAAmB;AAC5B,QAAI,MAAM;UACH,MAAM,CAAC,IAAI,UAAU,SACxB,KAAI,OAAO,aAAa,MAAM,KAAK,MACjC,OAAM,KAAK,QAAQ;;;GAK5B,CAAA;EAED,MAAM,UAAU,eAAe,yBAAyB,EAAE,CAAC,CAAA;;uBAIzD,mBAaM,OAAA,EAbA,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,OAAO,MAAM,YAAY,KAAI,CAAA,EAAA,EAAA,CAC/D,MAAM,SAAA,UAAA,KAAA,EACpB,mBAQc,UAAA,EAAA,KAAA,GAAA,EAAA,WAPU,MAAM,QAApB,MAAM,QAAG;wBADnB,YAQc,qBAAA;KANX,KAAK;KACL,gBAAc,KAAK;KACnB,eAAa,KAAK;;4BAEsC,CAAzD,YAAyD,4BAAA,MAAA;6BAArB,CAAA,gBAAA,gBAAb,KAAK,MAAK,EAAA,EAAA,CAAA,CAAA;;eACjC,YAA2D,4BAAA,MAAA;6BAArB,CAAA,gBAAA,gBAAf,KAAK,QAAO,EAAA,EAAA,CAAA,CAAA;;;;;eAGvC,WAAe,KAAA,QAAA,WAAA,EAAA,KAAA,GAAA,CAAA,CAAA,EAAA,EAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorArea.js","names":[],"sources":["../../../src/components/color-area/ColorArea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport {\n ColorAreaRoot,\n ColorAreaArea,\n ColorAreaThumb,\n getAreaBackgroundStyle,\n getChannelValue,\n type Color,\n type ColorChannel,\n type ColorSpace,\n} from 'reka-ui'\nimport { colorAreaVariants, type ColorAreaVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n xChannel?: ColorChannel\n yChannel?: ColorChannel\n colorSpace?: ColorSpace\n disabled?: boolean\n showDots?: ColorAreaVariants['showDots']\n class?: string\n thumbClass?: string\n as?: string\n asChild?: boolean\n name?: string\n required?: boolean\n xName?: string\n yName?: string\n}>(), {\n xChannel: 'saturation',\n yChannel: 'brightness',\n showDots: false,\n disabled: false,\n asChild: false,\n required: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n 'change': [value: Color]\n 'change-end': [value: Color]\n}>()\n\n// Optional picker context — when absent, fall back to local useColorState\nconst pickerCtx = inject(ColorPickerContextKey, null)\nconst local = pickerCtx\n ? null\n : useColorState({ value: props.modelValue, defaultValue: props.defaultValue })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value\n)\n\nconst styles = computed(() =>\n colorAreaVariants({ showDots: props.showDots })\n)\n\nconst areaBgStyle = computed(() => ({\n ...getAreaBackgroundStyle(color.value, props.xChannel!, props.yChannel!),\n position: 'absolute' as const,\n inset: 0,\n borderRadius: 'inherit',\n}))\n\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Write both active channels back via context\n pickerCtx.setChannels([\n { channel: props.xChannel!, value: getChannelValue(next, props.xChannel!) },\n { channel: props.yChannel!, value: getChannelValue(next, props.yChannel!) },\n ])\n } else {\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorAreaRoot\n :model-value=\"color\"\n :x-channel=\"xChannel\"\n :y-channel=\"yChannel\"\n :color-space=\"colorSpace\"\n :disabled=\"disabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"props.required\"\n :x-name=\"props.xName\"\n :y-name=\"props.yName\"\n :class=\"composeClassName(styles.base(), props.class)\"\n @update:color=\"onColorUpdate\"\n @change=\"(v: string) => emit('change', v as unknown as Color)\"\n @change-end=\"(v: string) => emit('change-end', v as unknown as Color)\"\n >\n <ColorAreaArea :style=\"areaBgStyle\">\n <ColorAreaThumb :class=\"composeClassName(styles.thumb(), thumbClass)\" />\n </ColorAreaArea>\n </ColorAreaRoot>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ColorArea.js","names":[],"sources":["../../../src/components/color-area/ColorArea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport {\n ColorAreaRoot,\n ColorAreaArea,\n ColorAreaThumb,\n getAreaBackgroundStyle,\n getChannelValue,\n type Color,\n type ColorChannel,\n type ColorSpace,\n} from 'reka-ui'\nimport { colorAreaVariants, type ColorAreaVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n xChannel?: ColorChannel\n yChannel?: ColorChannel\n colorSpace?: ColorSpace\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n showDots?: ColorAreaVariants['showDots']\n class?: string\n thumbClass?: string\n as?: string\n asChild?: boolean\n name?: string\n isRequired?: boolean\n /** @deprecated Use isRequired instead. */\n required?: boolean\n xName?: string\n yName?: string\n}>(), {\n xChannel: 'saturation',\n yChannel: 'brightness',\n showDots: false,\n isDisabled: undefined,\n disabled: undefined,\n asChild: false,\n isRequired: undefined,\n required: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n 'change': [value: Color]\n 'change-end': [value: Color]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ColorArea', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'ColorArea', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\n// Optional picker context — when absent, fall back to local useColorState\nconst pickerCtx = inject(ColorPickerContextKey, null)\nconst local = pickerCtx\n ? null\n : useColorState({ value: props.modelValue, defaultValue: props.defaultValue })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value\n)\n\nconst styles = computed(() =>\n colorAreaVariants({ showDots: props.showDots })\n)\n\nconst areaBgStyle = computed(() => ({\n ...getAreaBackgroundStyle(color.value, props.xChannel!, props.yChannel!),\n position: 'absolute' as const,\n inset: 0,\n borderRadius: 'inherit',\n}))\n\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Write both active channels back via context\n pickerCtx.setChannels([\n { channel: props.xChannel!, value: getChannelValue(next, props.xChannel!) },\n { channel: props.yChannel!, value: getChannelValue(next, props.yChannel!) },\n ])\n } else {\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorAreaRoot\n :model-value=\"color\"\n :x-channel=\"xChannel\"\n :y-channel=\"yChannel\"\n :color-space=\"colorSpace\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"isRequired\"\n :x-name=\"props.xName\"\n :y-name=\"props.yName\"\n :class=\"composeClassName(styles.base(), props.class)\"\n @update:color=\"onColorUpdate\"\n @change=\"(v: string) => emit('change', v as unknown as Color)\"\n @change-end=\"(v: string) => emit('change-end', v as unknown as Color)\"\n >\n <ColorAreaArea :style=\"areaBgStyle\">\n <ColorAreaThumb :class=\"composeClassName(styles.thumb(), thumbClass)\" />\n </ColorAreaArea>\n </ColorAreaRoot>\n</template>\n"],"mappings":""}
@@ -1,4 +1,5 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
2
3
  import { ColorPickerContextKey } from "../color-picker/color-picker.context.js";
3
4
  import { useColorState } from "../../composables/useColorState.js";
4
5
  import { computed, createBlock, createVNode, defineComponent, inject, normalizeClass, normalizeStyle, openBlock, unref, withCtx } from "vue";
@@ -13,9 +14,13 @@ var ColorArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
13
14
  xChannel: { default: "saturation" },
14
15
  yChannel: { default: "brightness" },
15
16
  colorSpace: {},
17
+ isDisabled: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
16
21
  disabled: {
17
22
  type: Boolean,
18
- default: false
23
+ default: void 0
19
24
  },
20
25
  showDots: { default: false },
21
26
  class: {},
@@ -26,9 +31,13 @@ var ColorArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
26
31
  default: false
27
32
  },
28
33
  name: {},
34
+ isRequired: {
35
+ type: Boolean,
36
+ default: void 0
37
+ },
29
38
  required: {
30
39
  type: Boolean,
31
- default: false
40
+ default: void 0
32
41
  },
33
42
  xName: {},
34
43
  yName: {}
@@ -42,6 +51,8 @@ var ColorArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
42
51
  setup(__props, { emit: __emit }) {
43
52
  const props = __props;
44
53
  const emit = __emit;
54
+ const isDisabled = useDeprecatedBooleanProp("ColorArea", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
55
+ const isRequired = useDeprecatedBooleanProp("ColorArea", "isRequired", () => props.isRequired, "required", () => props.required);
45
56
  const pickerCtx = inject(ColorPickerContextKey, null);
46
57
  const local = pickerCtx ? null : useColorState({
47
58
  value: props.modelValue,
@@ -74,11 +85,11 @@ var ColorArea_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
74
85
  "x-channel": __props.xChannel,
75
86
  "y-channel": __props.yChannel,
76
87
  "color-space": __props.colorSpace,
77
- disabled: __props.disabled,
88
+ disabled: unref(isDisabled),
78
89
  as: props.as,
79
90
  "as-child": props.asChild,
80
91
  name: props.name,
81
- required: props.required,
92
+ required: unref(isRequired),
82
93
  "x-name": props.xName,
83
94
  "y-name": props.yName,
84
95
  class: normalizeClass(unref(composeClassName)(styles.value.base(), props.class)),
@@ -1 +1 @@
1
- {"version":3,"file":"ColorArea.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/color-area/ColorArea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport {\n ColorAreaRoot,\n ColorAreaArea,\n ColorAreaThumb,\n getAreaBackgroundStyle,\n getChannelValue,\n type Color,\n type ColorChannel,\n type ColorSpace,\n} from 'reka-ui'\nimport { colorAreaVariants, type ColorAreaVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n xChannel?: ColorChannel\n yChannel?: ColorChannel\n colorSpace?: ColorSpace\n disabled?: boolean\n showDots?: ColorAreaVariants['showDots']\n class?: string\n thumbClass?: string\n as?: string\n asChild?: boolean\n name?: string\n required?: boolean\n xName?: string\n yName?: string\n}>(), {\n xChannel: 'saturation',\n yChannel: 'brightness',\n showDots: false,\n disabled: false,\n asChild: false,\n required: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n 'change': [value: Color]\n 'change-end': [value: Color]\n}>()\n\n// Optional picker context — when absent, fall back to local useColorState\nconst pickerCtx = inject(ColorPickerContextKey, null)\nconst local = pickerCtx\n ? null\n : useColorState({ value: props.modelValue, defaultValue: props.defaultValue })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value\n)\n\nconst styles = computed(() =>\n colorAreaVariants({ showDots: props.showDots })\n)\n\nconst areaBgStyle = computed(() => ({\n ...getAreaBackgroundStyle(color.value, props.xChannel!, props.yChannel!),\n position: 'absolute' as const,\n inset: 0,\n borderRadius: 'inherit',\n}))\n\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Write both active channels back via context\n pickerCtx.setChannels([\n { channel: props.xChannel!, value: getChannelValue(next, props.xChannel!) },\n { channel: props.yChannel!, value: getChannelValue(next, props.yChannel!) },\n ])\n } else {\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorAreaRoot\n :model-value=\"color\"\n :x-channel=\"xChannel\"\n :y-channel=\"yChannel\"\n :color-space=\"colorSpace\"\n :disabled=\"disabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"props.required\"\n :x-name=\"props.xName\"\n :y-name=\"props.yName\"\n :class=\"composeClassName(styles.base(), props.class)\"\n @update:color=\"onColorUpdate\"\n @change=\"(v: string) => emit('change', v as unknown as Color)\"\n @change-end=\"(v: string) => emit('change-end', v as unknown as Color)\"\n >\n <ColorAreaArea :style=\"areaBgStyle\">\n <ColorAreaThumb :class=\"composeClassName(styles.thumb(), thumbClass)\" />\n </ColorAreaArea>\n </ColorAreaRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBA,MAAM,QAAQ;EAyBd,MAAM,OAAO;EAQb,MAAM,YAAY,OAAO,uBAAuB,KAAI;EACpD,MAAM,QAAQ,YACV,OACA,cAAc;GAAE,OAAO,MAAM;GAAY,cAAc,MAAM;GAAc,CAAA;EAE/E,MAAM,QAAQ,eACZ,YAAY,UAAU,MAAM,QAAQ,MAAO,MAAM,MACnD;EAEA,MAAM,SAAS,eACb,kBAAkB,EAAE,UAAU,MAAM,UAAU,CAAA,CAChD;EAEA,MAAM,cAAc,gBAAgB;GAClC,GAAG,uBAAuB,MAAM,OAAO,MAAM,UAAW,MAAM,SAAU;GACxE,UAAU;GACV,OAAO;GACP,cAAc;GACf,EAAC;EAEF,SAAS,cAAc,MAAa;AAClC,OAAI,UAEF,WAAU,YAAY,CACpB;IAAE,SAAS,MAAM;IAAW,OAAO,gBAAgB,MAAM,MAAM,SAAU;IAAE,EAC3E;IAAE,SAAS,MAAM;IAAW,OAAO,gBAAgB,MAAM,MAAM,SAAU;IAAE,CAC5E,CAAA;QACI;AACL,SAAK,qBAAqB,KAAI;AAC9B,SAAK,gBAAgB,KAAI;;;;uBAM3B,YAoBgB,MAAA,cAAA,EAAA;IAnBb,eAAa,MAAA;IACb,aAAW,QAAA;IACX,aAAW,QAAA;IACX,eAAa,QAAA;IACb,UAAU,QAAA;IACV,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,MAAM,MAAM;IACZ,UAAU,MAAM;IAChB,UAAQ,MAAM;IACd,UAAQ,MAAM;IACd,OAAK,eAAE,MAAA,iBAAgB,CAAC,OAAA,MAAO,MAAI,EAAI,MAAM,MAAK,CAAA;IAClD,kBAAc;IACd,UAAM,OAAA,OAAA,OAAA,MAAG,MAAc,KAAI,UAAW,EAAC;IACvC,aAAU,OAAA,OAAA,OAAA,MAAG,MAAc,KAAI,cAAe,EAAC;;2BAIhC,CAFhB,YAEgB,MAAA,cAAA,EAAA,EAFA,OAAK,eAAE,YAAA,MAAW,EAAA,EAAA;4BACwC,CAAxE,YAAwE,MAAA,eAAA,EAAA,EAAvD,OAAK,eAAE,MAAA,iBAAgB,CAAC,OAAA,MAAO,OAAK,EAAI,QAAA,WAAU,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"ColorArea.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/color-area/ColorArea.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject } from 'vue'\nimport {\n ColorAreaRoot,\n ColorAreaArea,\n ColorAreaThumb,\n getAreaBackgroundStyle,\n getChannelValue,\n type Color,\n type ColorChannel,\n type ColorSpace,\n} from 'reka-ui'\nimport { colorAreaVariants, type ColorAreaVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n xChannel?: ColorChannel\n yChannel?: ColorChannel\n colorSpace?: ColorSpace\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n showDots?: ColorAreaVariants['showDots']\n class?: string\n thumbClass?: string\n as?: string\n asChild?: boolean\n name?: string\n isRequired?: boolean\n /** @deprecated Use isRequired instead. */\n required?: boolean\n xName?: string\n yName?: string\n}>(), {\n xChannel: 'saturation',\n yChannel: 'brightness',\n showDots: false,\n isDisabled: undefined,\n disabled: undefined,\n asChild: false,\n isRequired: undefined,\n required: undefined,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n 'change': [value: Color]\n 'change-end': [value: Color]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ColorArea', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'ColorArea', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\n// Optional picker context — when absent, fall back to local useColorState\nconst pickerCtx = inject(ColorPickerContextKey, null)\nconst local = pickerCtx\n ? null\n : useColorState({ value: props.modelValue, defaultValue: props.defaultValue })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value\n)\n\nconst styles = computed(() =>\n colorAreaVariants({ showDots: props.showDots })\n)\n\nconst areaBgStyle = computed(() => ({\n ...getAreaBackgroundStyle(color.value, props.xChannel!, props.yChannel!),\n position: 'absolute' as const,\n inset: 0,\n borderRadius: 'inherit',\n}))\n\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Write both active channels back via context\n pickerCtx.setChannels([\n { channel: props.xChannel!, value: getChannelValue(next, props.xChannel!) },\n { channel: props.yChannel!, value: getChannelValue(next, props.yChannel!) },\n ])\n } else {\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorAreaRoot\n :model-value=\"color\"\n :x-channel=\"xChannel\"\n :y-channel=\"yChannel\"\n :color-space=\"colorSpace\"\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"isRequired\"\n :x-name=\"props.xName\"\n :y-name=\"props.yName\"\n :class=\"composeClassName(styles.base(), props.class)\"\n @update:color=\"onColorUpdate\"\n @change=\"(v: string) => emit('change', v as unknown as Color)\"\n @change-end=\"(v: string) => emit('change-end', v as unknown as Color)\"\n >\n <ColorAreaArea :style=\"areaBgStyle\">\n <ColorAreaThumb :class=\"composeClassName(styles.thumb(), thumbClass)\" />\n </ColorAreaArea>\n </ColorAreaRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBA,MAAM,QAAQ;EA+Bd,MAAM,OAAO;EAOb,MAAM,aAAa,yBACjB,aAAa,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC7E;EAEA,MAAM,aAAa,yBACjB,aAAa,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC7E;EAGA,MAAM,YAAY,OAAO,uBAAuB,KAAI;EACpD,MAAM,QAAQ,YACV,OACA,cAAc;GAAE,OAAO,MAAM;GAAY,cAAc,MAAM;GAAc,CAAA;EAE/E,MAAM,QAAQ,eACZ,YAAY,UAAU,MAAM,QAAQ,MAAO,MAAM,MACnD;EAEA,MAAM,SAAS,eACb,kBAAkB,EAAE,UAAU,MAAM,UAAU,CAAA,CAChD;EAEA,MAAM,cAAc,gBAAgB;GAClC,GAAG,uBAAuB,MAAM,OAAO,MAAM,UAAW,MAAM,SAAU;GACxE,UAAU;GACV,OAAO;GACP,cAAc;GACf,EAAC;EAEF,SAAS,cAAc,MAAa;AAClC,OAAI,UAEF,WAAU,YAAY,CACpB;IAAE,SAAS,MAAM;IAAW,OAAO,gBAAgB,MAAM,MAAM,SAAU;IAAE,EAC3E;IAAE,SAAS,MAAM;IAAW,OAAO,gBAAgB,MAAM,MAAM,SAAU;IAAE,CAC5E,CAAA;QACI;AACL,SAAK,qBAAqB,KAAI;AAC9B,SAAK,gBAAgB,KAAI;;;;uBAM3B,YAoBgB,MAAA,cAAA,EAAA;IAnBb,eAAa,MAAA;IACb,aAAW,QAAA;IACX,aAAW,QAAA;IACX,eAAa,QAAA;IACb,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,MAAM,MAAM;IACZ,UAAU,MAAA,WAAU;IACpB,UAAQ,MAAM;IACd,UAAQ,MAAM;IACd,OAAK,eAAE,MAAA,iBAAgB,CAAC,OAAA,MAAO,MAAI,EAAI,MAAM,MAAK,CAAA;IAClD,kBAAc;IACd,UAAM,OAAA,OAAA,OAAA,MAAG,MAAc,KAAI,UAAW,EAAC;IACvC,aAAU,OAAA,OAAA,OAAA,MAAG,MAAc,KAAI,cAAe,EAAC;;2BAIhC,CAFhB,YAEgB,MAAA,cAAA,EAAA,EAFA,OAAK,eAAE,YAAA,MAAW,EAAA,EAAA;4BACwC,CAAxE,YAAwE,MAAA,eAAA,EAAA,EAAvD,OAAK,eAAE,MAAA,iBAAgB,CAAC,OAAA,MAAO,OAAK,EAAI,QAAA,WAAU,CAAA,EAAA,EAAA,MAAA,GAAA,CAAA,QAAA,CAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorField.js","names":[],"sources":["../../../src/components/color-field/ColorField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, useId } from 'vue'\nimport { ColorFieldRoot, ColorFieldInput, getChannelValue, type Color } from 'reka-ui'\nimport { colorFieldVariants, type ColorFieldVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n label?: string\n description?: string\n errorMessage?: string\n disabled?: boolean\n readonly?: boolean\n placeholder?: string\n fullWidth?: ColorFieldVariants['fullWidth']\n class?: string\n ariaLabel?: string\n as?: string\n asChild?: boolean\n name?: string\n required?: boolean\n colorSpace?: string\n channel?: string\n disableWheelChange?: boolean\n locale?: string\n step?: number\n}>(), {\n disabled: false,\n readonly: false,\n fullWidth: false,\n asChild: false,\n required: false,\n disableWheelChange: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n}>()\n\nconst id = useId()\n\n// Try to inject ColorPickerContext — null fallback so we don't throw when standalone\nconst pickerCtx = inject(ColorPickerContextKey, null)\n\n// Only use local state when no picker context is present\nconst local = pickerCtx\n ? null\n : useColorState({\n value: props.modelValue,\n defaultValue: props.defaultValue,\n })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value,\n)\n\nconst styles = colorFieldVariants({ fullWidth: props.fullWidth })\n\n// Listen to update:color (emits Color object) instead of update:modelValue (emits string)\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Propagate through picker context channels using the exported getChannelValue function\n pickerCtx.setChannels([\n { channel: 'red' as const, value: getChannelValue(next, 'red') },\n { channel: 'green' as const, value: getChannelValue(next, 'green') },\n { channel: 'blue' as const, value: getChannelValue(next, 'blue') },\n { channel: 'alpha' as const, value: getChannelValue(next, 'alpha') },\n ])\n } else {\n local!.color.value = next\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorFieldRoot\n :model-value=\"color\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"props.required\"\n :color-space=\"(props.colorSpace as any)\"\n :channel=\"(props.channel as any)\"\n :disable-wheel-change=\"props.disableWheelChange\"\n :locale=\"props.locale\"\n :step=\"props.step\"\n :class=\"composeClassName(styles, props.class)\"\n @update:color=\"onColorUpdate\"\n >\n <label\n v-if=\"label\"\n :for=\"id\"\n class=\"color-field__label\"\n >{{ label }}</label>\n <ColorFieldInput\n :id=\"id\"\n :placeholder=\"placeholder\"\n :aria-label=\"label ? undefined : (props.ariaLabel ?? 'Color value')\"\n class=\"color-field__input\"\n />\n <span\n v-if=\"description && !errorMessage\"\n class=\"color-field__description\"\n >{{ description }}</span>\n <span\n v-if=\"errorMessage\"\n class=\"color-field__error-message\"\n role=\"alert\"\n >{{ errorMessage }}</span>\n </ColorFieldRoot>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"ColorField.js","names":[],"sources":["../../../src/components/color-field/ColorField.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, inject, useId } from 'vue'\nimport { ColorFieldRoot, ColorFieldInput, getChannelValue, type Color } from 'reka-ui'\nimport { colorFieldVariants, type ColorFieldVariants } from '@auronui/styles'\nimport { composeClassName } from '../../utils/composeClassName'\nimport { ColorPickerContextKey } from '../color-picker/color-picker.context'\nimport { useColorState } from '../../composables/useColorState'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n modelValue?: Color | string\n defaultValue?: Color | string\n label?: string\n description?: string\n errorMessage?: string\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isReadOnly?: boolean\n /** @deprecated Use isReadOnly instead. */\n readonly?: boolean\n placeholder?: string\n fullWidth?: ColorFieldVariants['fullWidth']\n class?: string\n ariaLabel?: string\n as?: string\n asChild?: boolean\n name?: string\n isRequired?: boolean\n /** @deprecated Use isRequired instead. */\n required?: boolean\n colorSpace?: string\n channel?: string\n disableWheelChange?: boolean\n locale?: string\n step?: number\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n isReadOnly: undefined,\n readonly: undefined,\n fullWidth: false,\n asChild: false,\n isRequired: undefined,\n required: undefined,\n disableWheelChange: false,\n})\n\nconst emit = defineEmits<{\n 'update:modelValue': [value: Color]\n 'update:color': [value: Color]\n}>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'ColorField', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isReadOnly = useDeprecatedBooleanProp(\n 'ColorField', 'isReadOnly', () => props.isReadOnly, 'readonly', () => props.readonly,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'ColorField', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\nconst id = useId()\n\n// Try to inject ColorPickerContext — null fallback so we don't throw when standalone\nconst pickerCtx = inject(ColorPickerContextKey, null)\n\n// Only use local state when no picker context is present\nconst local = pickerCtx\n ? null\n : useColorState({\n value: props.modelValue,\n defaultValue: props.defaultValue,\n })\n\nconst color = computed<Color>(() =>\n pickerCtx ? pickerCtx.color.value : local!.color.value,\n)\n\nconst styles = colorFieldVariants({ fullWidth: props.fullWidth })\n\n// Listen to update:color (emits Color object) instead of update:modelValue (emits string)\nfunction onColorUpdate(next: Color) {\n if (pickerCtx) {\n // Propagate through picker context channels using the exported getChannelValue function\n pickerCtx.setChannels([\n { channel: 'red' as const, value: getChannelValue(next, 'red') },\n { channel: 'green' as const, value: getChannelValue(next, 'green') },\n { channel: 'blue' as const, value: getChannelValue(next, 'blue') },\n { channel: 'alpha' as const, value: getChannelValue(next, 'alpha') },\n ])\n } else {\n local!.color.value = next\n emit('update:modelValue', next)\n emit('update:color', next)\n }\n}\n</script>\n\n<template>\n <ColorFieldRoot\n :model-value=\"color\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :name=\"props.name\"\n :required=\"isRequired\"\n :color-space=\"(props.colorSpace as any)\"\n :channel=\"(props.channel as any)\"\n :disable-wheel-change=\"props.disableWheelChange\"\n :locale=\"props.locale\"\n :step=\"props.step\"\n :class=\"composeClassName(styles, props.class)\"\n @update:color=\"onColorUpdate\"\n >\n <label\n v-if=\"label\"\n :for=\"id\"\n class=\"color-field__label\"\n >{{ label }}</label>\n <ColorFieldInput\n :id=\"id\"\n :placeholder=\"placeholder\"\n :aria-label=\"label ? undefined : (props.ariaLabel ?? 'Color value')\"\n class=\"color-field__input\"\n />\n <span\n v-if=\"description && !errorMessage\"\n class=\"color-field__description\"\n >{{ description }}</span>\n <span\n v-if=\"errorMessage\"\n class=\"color-field__error-message\"\n role=\"alert\"\n >{{ errorMessage }}</span>\n </ColorFieldRoot>\n</template>\n"],"mappings":""}