@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,3 +1,4 @@
1
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
1
2
  import { useDropdownSubInject } from "./DropdownSub.context.js";
2
3
  import { createBlock, createElementVNode, defineComponent, normalizeClass, onUnmounted, openBlock, renderSlot, unref, useTemplateRef, watchEffect, withCtx } from "vue";
3
4
  import { menuItemVariants } from "@auronui/styles";
@@ -8,7 +9,7 @@ var DropdownSubTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
8
9
  props: {
9
10
  isDisabled: {
10
11
  type: Boolean,
11
- default: false
12
+ default: void 0
12
13
  },
13
14
  textValue: { default: void 0 },
14
15
  class: { default: void 0 },
@@ -24,6 +25,7 @@ var DropdownSubTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
24
25
  },
25
26
  setup(__props) {
26
27
  const props = __props;
28
+ const isDisabled = useDeprecatedBooleanProp("DropdownSubTrigger", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
27
29
  const subCtx = useDropdownSubInject();
28
30
  const slots = menuItemVariants({ variant: "default" });
29
31
  const triggerRef = useTemplateRef("trigger");
@@ -49,7 +51,7 @@ var DropdownSubTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE_
49
51
  return (_ctx, _cache) => {
50
52
  return openBlock(), createBlock(unref(DropdownMenuSubTrigger), {
51
53
  ref: "trigger",
52
- disabled: props.disabled ?? props.isDisabled,
54
+ disabled: unref(isDisabled),
53
55
  "text-value": props.textValue,
54
56
  as: props.as,
55
57
  "as-child": props.asChild,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/dropdown/DropdownSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTemplateRef, watchEffect, onUnmounted } from 'vue'\nimport { DropdownMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDropdownSubInject } from './DropdownSub.context'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /** Whether this trigger is disabled. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: false,\n textValue: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst subCtx = useDropdownSubInject()\nconst slots = menuItemVariants({ variant: 'default' })\nconst triggerRef = useTemplateRef<InstanceType<typeof DropdownMenuSubTrigger>>('trigger')\n\nfunction blockHover(e: Event) {\n e.stopImmediatePropagation()\n}\n\nlet cleanup: (() => void) | null = null\n\nwatchEffect(() => {\n cleanup?.()\n cleanup = null\n if (!subCtx.openOnHover.value) {\n const el = (triggerRef.value as { $el?: HTMLElement } | null)?.$el ?? triggerRef.value\n if (el) {\n (el as HTMLButtonElement).addEventListener('pointermove', blockHover, true)\n cleanup = () => (el as HTMLButtonElement).removeEventListener('pointermove', blockHover, true)\n }\n }\n})\n\nonUnmounted(() => cleanup?.())\n\nfunction handleClick() {\n if (!subCtx.openOnHover.value) subCtx.setOpen(!subCtx.open.value)\n}\n</script>\n\n<template>\n <DropdownMenuSubTrigger\n ref=\"trigger\"\n :disabled=\"props.disabled ?? props.isDisabled\"\n :text-value=\"props.textValue\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @click=\"handleClick\"\n >\n <slot />\n <span\n :class=\"slots.submenuIndicator()\"\n aria-hidden=\"true\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"submenu-indicator\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </span>\n </DropdownMenuSubTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAmBd,MAAM,SAAS,sBAAqB;EACpC,MAAM,QAAQ,iBAAiB,EAAE,SAAS,WAAW,CAAA;EACrD,MAAM,aAAa,eAA4D,UAAS;EAExF,SAAS,WAAW,GAAU;AAC5B,KAAE,0BAAyB;;EAG7B,IAAI,UAA+B;AAEnC,oBAAkB;AAChB,cAAU;AACV,aAAU;AACV,OAAI,CAAC,OAAO,YAAY,OAAO;IAC7B,MAAM,KAAM,WAAW,OAAwC,OAAO,WAAW;AACjF,QAAI,IAAI;AACL,QAAyB,iBAAiB,eAAe,YAAY,KAAI;AAC1E,qBAAiB,GAAyB,oBAAoB,eAAe,YAAY,KAAI;;;IAGlG;AAED,oBAAkB,WAAW,CAAA;EAE7B,SAAS,cAAc;AACrB,OAAI,CAAC,OAAO,YAAY,MAAO,QAAO,QAAQ,CAAC,OAAO,KAAK,MAAK;;;uBAKhE,YA6ByB,MAAA,uBAAA,EAAA;IA5BvB,KAAI;IACH,UAAU,MAAM,YAAY,MAAM;IAClC,cAAY,MAAM;IAClB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;IACjC,SAAO;;2BAEA,CAAR,WAAQ,KAAA,QAAA,UAAA,EACR,mBAkBO,QAAA;KAjBJ,OAAK,eAAE,MAAA,MAAK,CAAC,kBAAgB,CAAA;KAC9B,eAAY;sCAEZ,mBAaM,OAAA;KAZJ,OAAM;KACN,OAAM;KACN,QAAO;KACP,SAAQ;KACR,MAAK;KACL,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;KAChB,aAAU;QAEV,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"DropdownSubTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/dropdown/DropdownSubTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useTemplateRef, watchEffect, onUnmounted } from 'vue'\nimport { DropdownMenuSubTrigger } from 'reka-ui'\nimport { menuItemVariants } from '@auronui/styles'\nimport { useDropdownSubInject } from './DropdownSub.context'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n isDisabled?: boolean\n textValue?: string\n class?: string\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n textValue: undefined,\n class: undefined,\n disabled: undefined,\n as: undefined,\n asChild: false,\n})\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'DropdownSubTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst subCtx = useDropdownSubInject()\nconst slots = menuItemVariants({ variant: 'default' })\nconst triggerRef = useTemplateRef<InstanceType<typeof DropdownMenuSubTrigger>>('trigger')\n\nfunction blockHover(e: Event) {\n e.stopImmediatePropagation()\n}\n\nlet cleanup: (() => void) | null = null\n\nwatchEffect(() => {\n cleanup?.()\n cleanup = null\n if (!subCtx.openOnHover.value) {\n const el = (triggerRef.value as { $el?: HTMLElement } | null)?.$el ?? triggerRef.value\n if (el) {\n (el as HTMLButtonElement).addEventListener('pointermove', blockHover, true)\n cleanup = () => (el as HTMLButtonElement).removeEventListener('pointermove', blockHover, true)\n }\n }\n})\n\nonUnmounted(() => cleanup?.())\n\nfunction handleClick() {\n if (!subCtx.openOnHover.value) subCtx.setOpen(!subCtx.open.value)\n}\n</script>\n\n<template>\n <DropdownMenuSubTrigger\n ref=\"trigger\"\n :disabled=\"isDisabled\"\n :text-value=\"props.textValue\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n :class=\"[slots.item(), props.class]\"\n @click=\"handleClick\"\n >\n <slot />\n <span\n :class=\"slots.submenuIndicator()\"\n aria-hidden=\"true\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n data-slot=\"submenu-indicator\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n </span>\n </DropdownMenuSubTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAmBd,MAAM,aAAa,yBACjB,sBAAsB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACtF;EAEA,MAAM,SAAS,sBAAqB;EACpC,MAAM,QAAQ,iBAAiB,EAAE,SAAS,WAAW,CAAA;EACrD,MAAM,aAAa,eAA4D,UAAS;EAExF,SAAS,WAAW,GAAU;AAC5B,KAAE,0BAAyB;;EAG7B,IAAI,UAA+B;AAEnC,oBAAkB;AAChB,cAAU;AACV,aAAU;AACV,OAAI,CAAC,OAAO,YAAY,OAAO;IAC7B,MAAM,KAAM,WAAW,OAAwC,OAAO,WAAW;AACjF,QAAI,IAAI;AACL,QAAyB,iBAAiB,eAAe,YAAY,KAAI;AAC1E,qBAAiB,GAAyB,oBAAoB,eAAe,YAAY,KAAI;;;IAGlG;AAED,oBAAkB,WAAW,CAAA;EAE7B,SAAS,cAAc;AACrB,OAAI,CAAC,OAAO,YAAY,MAAO,QAAO,QAAQ,CAAC,OAAO,KAAK,MAAK;;;uBAKhE,YA6ByB,MAAA,uBAAA,EAAA;IA5BvB,KAAI;IACH,UAAU,MAAA,WAAU;IACpB,cAAY,MAAM;IAClB,IAAI,MAAM;IACV,YAAU,MAAM;IAChB,OAAK,eAAA,CAAG,MAAA,MAAK,CAAC,MAAI,EAAI,MAAM,MAAK,CAAA;IACjC,SAAO;;2BAEA,CAAR,WAAQ,KAAA,QAAA,UAAA,EACR,mBAkBO,QAAA;KAjBJ,OAAK,eAAE,MAAA,MAAK,CAAC,kBAAgB,CAAA;KAC9B,eAAY;sCAEZ,mBAaM,OAAA;KAZJ,OAAM;KACN,OAAM;KACN,QAAO;KACP,SAAQ;KACR,MAAK;KACL,QAAO;KACP,gBAAa;KACb,kBAAe;KACf,mBAAgB;KAChB,aAAU;QAEV,mBAAoC,YAAA,EAA1B,QAAO,kBAAgB,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,EAAA,EAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownTrigger.js","names":[],"sources":["../../../src/components/dropdown/DropdownTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DropdownMenuTrigger } from 'reka-ui'\n\nconst props = withDefaults(defineProps<{\n /** Whether the trigger is disabled. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n</script>\n\n<template>\n <DropdownMenuTrigger\n :disabled=\"props.disabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </DropdownMenuTrigger>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"DropdownTrigger.js","names":[],"sources":["../../../src/components/dropdown/DropdownTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DropdownMenuTrigger } from 'reka-ui'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n /** Whether the trigger is disabled. */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'DropdownTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <DropdownMenuTrigger\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </DropdownMenuTrigger>\n</template>\n"],"mappings":""}
@@ -1,9 +1,14 @@
1
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
1
2
  import { createBlock, defineComponent, openBlock, renderSlot, unref, withCtx } from "vue";
2
3
  import { DropdownMenuTrigger } from "reka-ui";
3
4
  //#region src/components/dropdown/DropdownTrigger.vue?vue&type=script&setup=true&lang.ts
4
5
  var DropdownTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
5
6
  __name: "DropdownTrigger",
6
7
  props: {
8
+ isDisabled: {
9
+ type: Boolean,
10
+ default: void 0
11
+ },
7
12
  disabled: {
8
13
  type: Boolean,
9
14
  default: void 0
@@ -16,9 +21,10 @@ var DropdownTrigger_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ *
16
21
  },
17
22
  setup(__props) {
18
23
  const props = __props;
24
+ const isDisabled = useDeprecatedBooleanProp("DropdownTrigger", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
19
25
  return (_ctx, _cache) => {
20
26
  return openBlock(), createBlock(unref(DropdownMenuTrigger), {
21
- disabled: props.disabled,
27
+ disabled: unref(isDisabled),
22
28
  as: props.as,
23
29
  "as-child": props.asChild
24
30
  }, {
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/dropdown/DropdownTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DropdownMenuTrigger } from 'reka-ui'\n\nconst props = withDefaults(defineProps<{\n /** Whether the trigger is disabled. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n</script>\n\n<template>\n <DropdownMenuTrigger\n :disabled=\"props.disabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </DropdownMenuTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;EAGA,MAAM,QAAQ;;uBAeZ,YAMsB,MAAA,oBAAA,EAAA;IALnB,UAAU,MAAM;IAChB,IAAI,MAAM;IACV,YAAU,MAAM;;2BAET,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"DropdownTrigger.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/dropdown/DropdownTrigger.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { DropdownMenuTrigger } from 'reka-ui'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n /** Whether the trigger is disabled. */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Render as a different element or component. */\n as?: string\n /** Merge props onto child element instead of rendering a wrapper. */\n asChild?: boolean\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n as: undefined,\n asChild: true,\n})\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'DropdownTrigger', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n</script>\n\n<template>\n <DropdownMenuTrigger\n :disabled=\"isDisabled\"\n :as=\"props.as\"\n :as-child=\"props.asChild\"\n >\n <slot />\n </DropdownMenuTrigger>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAIA,MAAM,QAAQ;EAgBd,MAAM,aAAa,yBACjB,mBAAmB,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SACnF;;uBAIE,YAMsB,MAAA,oBAAA,EAAA;IALnB,UAAU,MAAA,WAAU;IACpB,IAAI,MAAM;IACV,YAAU,MAAM;;2BAET,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.js","names":[],"sources":["../../../src/components/editable/Editable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { EditableRoot } from 'reka-ui'\nimport { editableVariants } from '@auronui/styles'\nimport { composeClassName, type ClassValue } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n defaultValue?: string\n placeholder?: string | { edit: string; preview: string }\n dir?: 'ltr' | 'rtl'\n disabled?: boolean\n readonly?: boolean\n activationMode?: 'focus' | 'dblclick' | 'none'\n selectOnFocus?: boolean\n submitMode?: 'blur' | 'enter' | 'none' | 'both'\n startWithEditMode?: boolean\n maxLength?: number\n autoResize?: boolean\n id?: string\n name?: string\n required?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n}>(), {\n disabled: false,\n activationMode: 'focus',\n selectOnFocus: false,\n submitMode: 'blur',\n startWithEditMode: false,\n autoResize: false,\n})\n\nconst emit = defineEmits<{\n submit: [value: string | null | undefined]\n 'update:state': [state: 'edit' | 'submit' | 'cancel']\n}>()\n\nconst modelValue = defineModel<string | null>()\n\nconst slotFns = computed(() => editableVariants())\n</script>\n\n<template>\n <EditableRoot\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholder\"\n :dir=\"dir\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :activation-mode=\"activationMode\"\n :select-on-focus=\"selectOnFocus\"\n :submit-mode=\"submitMode\"\n :start-with-edit-mode=\"startWithEditMode\"\n :max-length=\"maxLength\"\n :auto-resize=\"autoResize\"\n :id=\"id\"\n :name=\"name\"\n :required=\"required\"\n :as=\"as\"\n :as-child=\"asChild\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @submit=\"emit('submit', $event)\"\n @update:state=\"emit('update:state', $event)\"\n >\n <slot />\n </EditableRoot>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Editable.js","names":[],"sources":["../../../src/components/editable/Editable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { EditableRoot } from 'reka-ui'\nimport { editableVariants } from '@auronui/styles'\nimport { composeClassName, type ClassValue } from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n defaultValue?: string\n placeholder?: string | { edit: string; preview: string }\n dir?: 'ltr' | 'rtl'\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isReadOnly?: boolean\n /** @deprecated Use isReadOnly instead. */\n readonly?: boolean\n activationMode?: 'focus' | 'dblclick' | 'none'\n selectOnFocus?: boolean\n submitMode?: 'blur' | 'enter' | 'none' | 'both'\n startWithEditMode?: boolean\n maxLength?: number\n autoResize?: boolean\n id?: string\n name?: string\n isRequired?: boolean\n /** @deprecated Use isRequired instead. */\n required?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n isReadOnly: undefined,\n readonly: undefined,\n activationMode: 'focus',\n selectOnFocus: false,\n submitMode: 'blur',\n startWithEditMode: false,\n autoResize: false,\n isRequired: undefined,\n required: undefined,\n})\n\nconst emit = defineEmits<{\n submit: [value: string | null | undefined]\n 'update:state': [state: 'edit' | 'submit' | 'cancel']\n}>()\n\nconst modelValue = defineModel<string | null>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Editable', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isReadOnly = useDeprecatedBooleanProp(\n 'Editable', 'isReadOnly', () => props.isReadOnly, 'readonly', () => props.readonly,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'Editable', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\nconst slotFns = computed(() => editableVariants())\n</script>\n\n<template>\n <EditableRoot\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholder\"\n :dir=\"dir\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :activation-mode=\"activationMode\"\n :select-on-focus=\"selectOnFocus\"\n :submit-mode=\"submitMode\"\n :start-with-edit-mode=\"startWithEditMode\"\n :max-length=\"maxLength\"\n :auto-resize=\"autoResize\"\n :id=\"id\"\n :name=\"name\"\n :required=\"isRequired\"\n :as=\"as\"\n :as-child=\"asChild\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @submit=\"emit('submit', $event)\"\n @update:state=\"emit('update:state', $event)\"\n >\n <slot />\n </EditableRoot>\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 { computed, createBlock, defineComponent, mergeModels, normalizeClass, openBlock, renderSlot, unref, useModel, withCtx } from "vue";
3
4
  import { editableVariants } from "@auronui/styles";
4
5
  import { EditableRoot } from "reka-ui";
@@ -9,11 +10,22 @@ var Editable_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
9
10
  defaultValue: {},
10
11
  placeholder: {},
11
12
  dir: {},
13
+ isDisabled: {
14
+ type: Boolean,
15
+ default: void 0
16
+ },
12
17
  disabled: {
13
18
  type: Boolean,
14
- default: false
19
+ default: void 0
20
+ },
21
+ isReadOnly: {
22
+ type: Boolean,
23
+ default: void 0
24
+ },
25
+ readonly: {
26
+ type: Boolean,
27
+ default: void 0
15
28
  },
16
- readonly: { type: Boolean },
17
29
  activationMode: { default: "focus" },
18
30
  selectOnFocus: {
19
31
  type: Boolean,
@@ -31,7 +43,14 @@ var Editable_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
31
43
  },
32
44
  id: {},
33
45
  name: {},
34
- required: { type: Boolean },
46
+ isRequired: {
47
+ type: Boolean,
48
+ default: void 0
49
+ },
50
+ required: {
51
+ type: Boolean,
52
+ default: void 0
53
+ },
35
54
  as: {},
36
55
  asChild: { type: Boolean },
37
56
  class: { type: [
@@ -50,6 +69,9 @@ var Editable_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
50
69
  const props = __props;
51
70
  const emit = __emit;
52
71
  const modelValue = useModel(__props, "modelValue");
72
+ const isDisabled = useDeprecatedBooleanProp("Editable", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
73
+ const isReadOnly = useDeprecatedBooleanProp("Editable", "isReadOnly", () => props.isReadOnly, "readonly", () => props.readonly);
74
+ const isRequired = useDeprecatedBooleanProp("Editable", "isRequired", () => props.isRequired, "required", () => props.required);
53
75
  const slotFns = computed(() => editableVariants());
54
76
  return (_ctx, _cache) => {
55
77
  return openBlock(), createBlock(unref(EditableRoot), {
@@ -58,8 +80,8 @@ var Editable_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
58
80
  "default-value": __props.defaultValue,
59
81
  placeholder: __props.placeholder,
60
82
  dir: __props.dir,
61
- disabled: __props.disabled,
62
- readonly: __props.readonly,
83
+ disabled: unref(isDisabled),
84
+ readonly: unref(isReadOnly),
63
85
  "activation-mode": __props.activationMode,
64
86
  "select-on-focus": __props.selectOnFocus,
65
87
  "submit-mode": __props.submitMode,
@@ -68,7 +90,7 @@ var Editable_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
68
90
  "auto-resize": __props.autoResize,
69
91
  id: __props.id,
70
92
  name: __props.name,
71
- required: __props.required,
93
+ required: unref(isRequired),
72
94
  as: __props.as,
73
95
  "as-child": __props.asChild,
74
96
  class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class)),
@@ -1 +1 @@
1
- {"version":3,"file":"Editable.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/editable/Editable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { EditableRoot } from 'reka-ui'\nimport { editableVariants } from '@auronui/styles'\nimport { composeClassName, type ClassValue } from '../../utils/composeClassName'\n\nconst props = withDefaults(defineProps<{\n defaultValue?: string\n placeholder?: string | { edit: string; preview: string }\n dir?: 'ltr' | 'rtl'\n disabled?: boolean\n readonly?: boolean\n activationMode?: 'focus' | 'dblclick' | 'none'\n selectOnFocus?: boolean\n submitMode?: 'blur' | 'enter' | 'none' | 'both'\n startWithEditMode?: boolean\n maxLength?: number\n autoResize?: boolean\n id?: string\n name?: string\n required?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n}>(), {\n disabled: false,\n activationMode: 'focus',\n selectOnFocus: false,\n submitMode: 'blur',\n startWithEditMode: false,\n autoResize: false,\n})\n\nconst emit = defineEmits<{\n submit: [value: string | null | undefined]\n 'update:state': [state: 'edit' | 'submit' | 'cancel']\n}>()\n\nconst modelValue = defineModel<string | null>()\n\nconst slotFns = computed(() => editableVariants())\n</script>\n\n<template>\n <EditableRoot\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholder\"\n :dir=\"dir\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :activation-mode=\"activationMode\"\n :select-on-focus=\"selectOnFocus\"\n :submit-mode=\"submitMode\"\n :start-with-edit-mode=\"startWithEditMode\"\n :max-length=\"maxLength\"\n :auto-resize=\"autoResize\"\n :id=\"id\"\n :name=\"name\"\n :required=\"required\"\n :as=\"as\"\n :as-child=\"asChild\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @submit=\"emit('submit', $event)\"\n @update:state=\"emit('update:state', $event)\"\n >\n <slot />\n </EditableRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EA2Bd,MAAM,OAAO;EAKb,MAAM,aAAa,SAA0B,SAAA,aAAC;EAE9C,MAAM,UAAU,eAAe,kBAAkB,CAAA;;uBAI/C,YAuBe,MAAA,aAAA,EAAA;gBAtBJ,WAAA;4EAAU,QAAA;IAClB,iBAAe,QAAA;IACf,aAAa,QAAA;IACb,KAAK,QAAA;IACL,UAAU,QAAA;IACV,UAAU,QAAA;IACV,mBAAiB,QAAA;IACjB,mBAAiB,QAAA;IACjB,eAAa,QAAA;IACb,wBAAsB,QAAA;IACtB,cAAY,QAAA;IACZ,eAAa,QAAA;IACb,IAAI,QAAA;IACJ,MAAM,QAAA;IACN,UAAU,QAAA;IACV,IAAI,QAAA;IACJ,YAAU,QAAA;IACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,MAAK,CAAA;IACnD,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;IAC7B,kBAAY,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,gBAAiB,OAAM;;2BAElC,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"Editable.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/editable/Editable.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { EditableRoot } from 'reka-ui'\nimport { editableVariants } from '@auronui/styles'\nimport { composeClassName, type ClassValue } from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\nconst props = withDefaults(defineProps<{\n defaultValue?: string\n placeholder?: string | { edit: string; preview: string }\n dir?: 'ltr' | 'rtl'\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n isReadOnly?: boolean\n /** @deprecated Use isReadOnly instead. */\n readonly?: boolean\n activationMode?: 'focus' | 'dblclick' | 'none'\n selectOnFocus?: boolean\n submitMode?: 'blur' | 'enter' | 'none' | 'both'\n startWithEditMode?: boolean\n maxLength?: number\n autoResize?: boolean\n id?: string\n name?: string\n isRequired?: boolean\n /** @deprecated Use isRequired instead. */\n required?: boolean\n as?: string\n asChild?: boolean\n class?: ClassValue\n}>(), {\n isDisabled: undefined,\n disabled: undefined,\n isReadOnly: undefined,\n readonly: undefined,\n activationMode: 'focus',\n selectOnFocus: false,\n submitMode: 'blur',\n startWithEditMode: false,\n autoResize: false,\n isRequired: undefined,\n required: undefined,\n})\n\nconst emit = defineEmits<{\n submit: [value: string | null | undefined]\n 'update:state': [state: 'edit' | 'submit' | 'cancel']\n}>()\n\nconst modelValue = defineModel<string | null>()\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Editable', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst isReadOnly = useDeprecatedBooleanProp(\n 'Editable', 'isReadOnly', () => props.isReadOnly, 'readonly', () => props.readonly,\n)\n\nconst isRequired = useDeprecatedBooleanProp(\n 'Editable', 'isRequired', () => props.isRequired, 'required', () => props.required,\n)\n\nconst slotFns = computed(() => editableVariants())\n</script>\n\n<template>\n <EditableRoot\n v-model=\"modelValue\"\n :default-value=\"defaultValue\"\n :placeholder=\"placeholder\"\n :dir=\"dir\"\n :disabled=\"isDisabled\"\n :readonly=\"isReadOnly\"\n :activation-mode=\"activationMode\"\n :select-on-focus=\"selectOnFocus\"\n :submit-mode=\"submitMode\"\n :start-with-edit-mode=\"startWithEditMode\"\n :max-length=\"maxLength\"\n :auto-resize=\"autoResize\"\n :id=\"id\"\n :name=\"name\"\n :required=\"isRequired\"\n :as=\"as\"\n :as-child=\"asChild\"\n :class=\"composeClassName(slotFns.base(), props.class)\"\n @submit=\"emit('submit', $event)\"\n @update:state=\"emit('update:state', $event)\"\n >\n <slot />\n </EditableRoot>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOA,MAAM,QAAQ;EAsCd,MAAM,OAAO;EAKb,MAAM,aAAa,SAA0B,SAAA,aAAC;EAE9C,MAAM,aAAa,yBACjB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAEA,MAAM,aAAa,yBACjB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAEA,MAAM,aAAa,yBACjB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAEA,MAAM,UAAU,eAAe,kBAAkB,CAAA;;uBAI/C,YAuBe,MAAA,aAAA,EAAA;gBAtBJ,WAAA;4EAAU,QAAA;IAClB,iBAAe,QAAA;IACf,aAAa,QAAA;IACb,KAAK,QAAA;IACL,UAAU,MAAA,WAAU;IACpB,UAAU,MAAA,WAAU;IACpB,mBAAiB,QAAA;IACjB,mBAAiB,QAAA;IACjB,eAAa,QAAA;IACb,wBAAsB,QAAA;IACtB,cAAY,QAAA;IACZ,eAAa,QAAA;IACb,IAAI,QAAA;IACJ,MAAM,QAAA;IACN,UAAU,MAAA,WAAU;IACpB,IAAI,QAAA;IACJ,YAAU,QAAA;IACV,OAAK,eAAE,MAAA,iBAAgB,CAAC,QAAA,MAAQ,MAAI,EAAI,MAAM,MAAK,CAAA;IACnD,UAAM,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,UAAW,OAAM;IAC7B,kBAAY,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,gBAAiB,OAAM;;2BAElC,CAAR,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Fieldset.js","names":[],"sources":["../../../src/components/fieldset/Fieldset.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { fieldsetVariants } from '@auronui/styles'\n\n/**\n * Fieldset component — semantic HTML grouping for related form controls.\n *\n * Renders a <fieldset> with an optional <legend> for labeling the group.\n * Fieldset is purely structural and does not participate in VeeValidate\n * validation directly (per D-09). Its primary purpose is to group related\n * form controls with correct ARIA semantics for screen readers.\n *\n * Accessibility: <fieldset> + <legend> is the canonical HTML way to associate\n * a group label with its contained controls. Screen readers announce the\n * legend when entering the group.\n *\n * @example\n * <Fieldset legend=\"Personal Information\">\n * <Input name=\"firstName\" label=\"First Name\" />\n * <Input name=\"lastName\" label=\"Last Name\" />\n * </Fieldset>\n */\nconst props = withDefaults(\n defineProps<{\n /** Text content for the <legend> element; omit to render fieldset without a legend */\n legend?: string\n /** When true, disables all form controls inside this fieldset */\n disabled?: boolean\n /** Additional CSS classes applied to the <fieldset> element */\n class?: string\n }>(),\n {\n legend: undefined,\n disabled: false,\n class: undefined,\n }\n)\n\nconst styles = fieldsetVariants()\n\nconst baseClass = computed(() => {\n const classes = [styles.base()]\n if (props.class) classes.push(props.class)\n return classes.join(' ')\n})\n</script>\n\n<template>\n <fieldset\n :class=\"baseClass\"\n :disabled=\"props.disabled || undefined\"\n >\n <legend\n v-if=\"props.legend\"\n :class=\"styles.legend()\"\n >\n {{ props.legend }}\n </legend>\n <slot />\n </fieldset>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Fieldset.js","names":[],"sources":["../../../src/components/fieldset/Fieldset.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { fieldsetVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\n/**\n * Fieldset component — semantic HTML grouping for related form controls.\n *\n * Renders a <fieldset> with an optional <legend> for labeling the group.\n * Fieldset is purely structural and does not participate in VeeValidate\n * validation directly (per D-09). Its primary purpose is to group related\n * form controls with correct ARIA semantics for screen readers.\n *\n * Accessibility: <fieldset> + <legend> is the canonical HTML way to associate\n * a group label with its contained controls. Screen readers announce the\n * legend when entering the group.\n *\n * @example\n * <Fieldset legend=\"Personal Information\">\n * <Input name=\"firstName\" label=\"First Name\" />\n * <Input name=\"lastName\" label=\"Last Name\" />\n * </Fieldset>\n */\nconst props = withDefaults(\n defineProps<{\n /** Text content for the <legend> element; omit to render fieldset without a legend */\n legend?: string\n /** When true, disables all form controls inside this fieldset */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Additional CSS classes applied to the <fieldset> element */\n class?: string\n }>(),\n {\n legend: undefined,\n isDisabled: undefined,\n disabled: undefined,\n class: undefined,\n }\n)\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Fieldset', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst styles = fieldsetVariants()\n\nconst baseClass = computed(() => {\n const classes = [styles.base()]\n if (props.class) classes.push(props.class)\n return classes.join(' ')\n})\n</script>\n\n<template>\n <fieldset\n :class=\"baseClass\"\n :disabled=\"isDisabled || undefined\"\n >\n <legend\n v-if=\"props.legend\"\n :class=\"styles.legend()\"\n >\n {{ props.legend }}\n </legend>\n <slot />\n </fieldset>\n</template>\n"],"mappings":""}
@@ -1,3 +1,4 @@
1
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
1
2
  import { computed, createCommentVNode, createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref } from "vue";
2
3
  import { fieldsetVariants } from "@auronui/styles";
3
4
  //#region src/components/fieldset/Fieldset.vue?vue&type=script&setup=true&lang.ts
@@ -24,14 +25,19 @@ var Fieldset_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
24
25
  __name: "Fieldset",
25
26
  props: {
26
27
  legend: { default: void 0 },
28
+ isDisabled: {
29
+ type: Boolean,
30
+ default: void 0
31
+ },
27
32
  disabled: {
28
33
  type: Boolean,
29
- default: false
34
+ default: void 0
30
35
  },
31
36
  class: { default: void 0 }
32
37
  },
33
38
  setup(__props) {
34
39
  const props = __props;
40
+ const isDisabled = useDeprecatedBooleanProp("Fieldset", "isDisabled", () => props.isDisabled, "disabled", () => props.disabled);
35
41
  const styles = fieldsetVariants();
36
42
  const baseClass = computed(() => {
37
43
  const classes = [styles.base()];
@@ -41,7 +47,7 @@ var Fieldset_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defin
41
47
  return (_ctx, _cache) => {
42
48
  return openBlock(), createElementBlock("fieldset", {
43
49
  class: normalizeClass(baseClass.value),
44
- disabled: props.disabled || void 0
50
+ disabled: unref(isDisabled) || void 0
45
51
  }, [props.legend ? (openBlock(), createElementBlock("legend", {
46
52
  key: 0,
47
53
  class: normalizeClass(unref(styles).legend())
@@ -1 +1 @@
1
- {"version":3,"file":"Fieldset.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/fieldset/Fieldset.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { fieldsetVariants } from '@auronui/styles'\n\n/**\n * Fieldset component — semantic HTML grouping for related form controls.\n *\n * Renders a <fieldset> with an optional <legend> for labeling the group.\n * Fieldset is purely structural and does not participate in VeeValidate\n * validation directly (per D-09). Its primary purpose is to group related\n * form controls with correct ARIA semantics for screen readers.\n *\n * Accessibility: <fieldset> + <legend> is the canonical HTML way to associate\n * a group label with its contained controls. Screen readers announce the\n * legend when entering the group.\n *\n * @example\n * <Fieldset legend=\"Personal Information\">\n * <Input name=\"firstName\" label=\"First Name\" />\n * <Input name=\"lastName\" label=\"Last Name\" />\n * </Fieldset>\n */\nconst props = withDefaults(\n defineProps<{\n /** Text content for the <legend> element; omit to render fieldset without a legend */\n legend?: string\n /** When true, disables all form controls inside this fieldset */\n disabled?: boolean\n /** Additional CSS classes applied to the <fieldset> element */\n class?: string\n }>(),\n {\n legend: undefined,\n disabled: false,\n class: undefined,\n }\n)\n\nconst styles = fieldsetVariants()\n\nconst baseClass = computed(() => {\n const classes = [styles.base()]\n if (props.class) classes.push(props.class)\n return classes.join(' ')\n})\n</script>\n\n<template>\n <fieldset\n :class=\"baseClass\"\n :disabled=\"props.disabled || undefined\"\n >\n <legend\n v-if=\"props.legend\"\n :class=\"styles.legend()\"\n >\n {{ props.legend }}\n </legend>\n <slot />\n </fieldset>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBA,MAAM,QAAQ;EAgBd,MAAM,SAAS,kBAAiB;EAEhC,MAAM,YAAY,eAAe;GAC/B,MAAM,UAAU,CAAC,OAAO,MAAM,CAAA;AAC9B,OAAI,MAAM,MAAO,SAAQ,KAAK,MAAM,MAAK;AACzC,UAAO,QAAQ,KAAK,IAAG;IACxB;;uBAIC,mBAWW,YAAA;IAVR,OAAK,eAAE,UAAA,MAAS;IAChB,UAAU,MAAM,YAAY,KAAA;OAGrB,MAAM,UAAA,WAAA,EADd,mBAKS,UAAA;;IAHN,OAAK,eAAE,MAAA,OAAM,CAAC,QAAM,CAAA;sBAElB,MAAM,OAAM,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,EAEjB,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
1
+ {"version":3,"file":"Fieldset.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../src/components/fieldset/Fieldset.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { fieldsetVariants } from '@auronui/styles'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\n\n/**\n * Fieldset component — semantic HTML grouping for related form controls.\n *\n * Renders a <fieldset> with an optional <legend> for labeling the group.\n * Fieldset is purely structural and does not participate in VeeValidate\n * validation directly (per D-09). Its primary purpose is to group related\n * form controls with correct ARIA semantics for screen readers.\n *\n * Accessibility: <fieldset> + <legend> is the canonical HTML way to associate\n * a group label with its contained controls. Screen readers announce the\n * legend when entering the group.\n *\n * @example\n * <Fieldset legend=\"Personal Information\">\n * <Input name=\"firstName\" label=\"First Name\" />\n * <Input name=\"lastName\" label=\"Last Name\" />\n * </Fieldset>\n */\nconst props = withDefaults(\n defineProps<{\n /** Text content for the <legend> element; omit to render fieldset without a legend */\n legend?: string\n /** When true, disables all form controls inside this fieldset */\n isDisabled?: boolean\n /** @deprecated Use isDisabled instead. */\n disabled?: boolean\n /** Additional CSS classes applied to the <fieldset> element */\n class?: string\n }>(),\n {\n legend: undefined,\n isDisabled: undefined,\n disabled: undefined,\n class: undefined,\n }\n)\n\nconst isDisabled = useDeprecatedBooleanProp(\n 'Fieldset', 'isDisabled', () => props.isDisabled, 'disabled', () => props.disabled,\n)\n\nconst styles = fieldsetVariants()\n\nconst baseClass = computed(() => {\n const classes = [styles.base()]\n if (props.class) classes.push(props.class)\n return classes.join(' ')\n})\n</script>\n\n<template>\n <fieldset\n :class=\"baseClass\"\n :disabled=\"isDisabled || undefined\"\n >\n <legend\n v-if=\"props.legend\"\n :class=\"styles.legend()\"\n >\n {{ props.legend }}\n </legend>\n <slot />\n </fieldset>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBA,MAAM,QAAQ;EAmBd,MAAM,aAAa,yBACjB,YAAY,oBAAoB,MAAM,YAAY,kBAAkB,MAAM,SAC5E;EAEA,MAAM,SAAS,kBAAiB;EAEhC,MAAM,YAAY,eAAe;GAC/B,MAAM,UAAU,CAAC,OAAO,MAAM,CAAA;AAC9B,OAAI,MAAM,MAAO,SAAQ,KAAK,MAAM,MAAK;AACzC,UAAO,QAAQ,KAAK,IAAG;IACxB;;uBAIC,mBAWW,YAAA;IAVR,OAAK,eAAE,UAAA,MAAS;IAChB,UAAU,MAAA,WAAU,IAAI,KAAA;OAGjB,MAAM,UAAA,WAAA,EADd,mBAKS,UAAA;;IAHN,OAAK,eAAE,MAAA,OAAM,CAAC,QAAM,CAAA;sBAElB,MAAM,OAAM,EAAA,EAAA,IAAA,mBAAA,IAAA,KAAA,EAEjB,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,IAAA,WAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.js","names":[],"sources":["../../../src/components/input/Input.vue"],"sourcesContent":["<!--\n Input — reference form-field component for @auronui/vue.\n\n This is the canonical template for every form field in the library\n (Textarea, NumberInput, DateInput, Select, etc.). Porting a new field\n means mirroring its prop surface, slot layout, data-attribute contract,\n CSS selector pairing, and a11y wiring. Keep these in sync.\n\n ─── Anatomy ────────────────────────────────────────────────────────────\n base (.input-root) ← layout container, carries class/data-attrs\n label [outside | outside-left] ← rendered here when placement !== 'inside'\n mainWrapper (.input__main-wrapper) ← groups field + helper vertically\n inputWrapper (.input) ← styled field box (border, bg, focus)\n label [inside] ← rendered here when placement === 'inside'\n startContent (.input__start-content) ← leading icon slot\n <input ref=\"inputEl\"> ← the native element\n endContent (.input__end-content) ← trailing icon slot\n clearButton (.input__clear-button) ← × button, after endContent\n passwordToggle (.input__password-toggle) ← eye button, type=\"password\" only\n helperWrapper (.input__helper-wrapper) ← holds description XOR error\n errorMessage | description\n\n ─── Data attributes on base (selector hooks) ──────────────────────────\n data-invalid — mirrors isInvalid\n data-disabled — mirrors isDisabled\n data-readonly — mirrors isReadonly\n data-required — mirrors isRequired\n data-has-label — true when label prop is set (any placement)\n data-has-helper — true when description or error is visible\n data-filled — set on inputWrapper when the value is non-empty (for\n floating-label up-state)\n\n Every interactive CSS rule in input.css pairs a pseudo-class with its\n data-attribute counterpart (Reka UI selector pairing rule), e.g.\n &:focus-within, &[data-focused=\"true\"] { ... }\n\n ─── v-model ───────────────────────────────────────────────────────────\n <Input v-model=\"value\" /> -- string | number | null\n\n ─── Emits ─────────────────────────────────────────────────────────────\n @clear -- emitted when the user activates the clear (×) button.\n The input is already empty and refocused by this point.\n\n ─── Slots ─────────────────────────────────────────────────────────────\n #startContent -- leading icon / adornment\n #endContent -- trailing icon / adornment (renders BEFORE clear/toggle,\n so you can combine them freely)\n\n ─── Accessibility contract (audited by vitest-axe) ────────────────────\n • <label for=\"{inputId}\"> wraps the label text.\n • aria-invalid reflects isInvalid.\n • aria-describedby points to whichever helper is rendered (error wins).\n • Required field uses the native `required` attribute; the visual\n asterisk is aria-hidden.\n • Clear button: tabindex=-1 (out of form tab flow), aria-label.\n • Password toggle: tabbable, aria-pressed reflects visibility.\n • All transitions are wrapped in motion-reduce:transition-none.\n\n ─── Reuse checklist for new form fields ───────────────────────────────\n 1. Copy prop names verbatim (variant, size, color, labelPlacement,\n fullWidth, isInvalid, isDisabled, isReadonly, isRequired, label,\n description, errorMessage, class, classNames).\n 2. Expose the same slot keys in tailwind-variants.\n 3. Emit the same data-attributes on the root + data-filled on the\n field box.\n 4. Reuse the aria-describedby / error-vs-description precedence\n logic verbatim.\n 5. Generate ids with useId(), scope helper ids as `{id}-error` /\n `{id}-description`.\n 6. Default labelPlacement to 'inside' and apply the inside-label\n CSS via a compoundVariant of (hasLabel=true, labelPlacement='inside').\n-->\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useAttrs, useId, useTemplateRef } from 'vue'\nimport { inputVariants, type InputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadonly: false,\n isRequired: false,\n isClearable: false,\n showPasswordToggle: false,\n type: 'text',\n})\n\nconst emit = defineEmits<{\n /**\n * Fired when the user activates the clear (×) button.\n * At the time this fires the v-model value is already '' and focus\n * has been returned to the input element.\n */\n clear: []\n}>()\n\n/**\n * Two-way value. String for text-like types, number for type=\"number\",\n * null allowed so controlled consumers can represent \"no value\" without\n * coercing to empty string.\n */\nconst modelValue = defineModel<string | number | null>({ default: '' })\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: InputVariants['variant']\n /** Field height. @default 'md' */\n size?: InputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: InputVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the input (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: InputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadonly?: boolean\n /** Adds a required asterisk next to the label and the `required` attribute on the input. @default false */\n isRequired?: boolean\n /** Shows an × button that clears the value and refocuses the input when value is non-empty. @default false */\n isClearable?: boolean\n /** Shows a show/hide eye button. Only active when `type === 'password'`. @default false */\n showPasswordToggle?: boolean\n /** Native input type (e.g. `text`, `email`, `password`, `number`). @default 'text' */\n type?: string\n /** Placeholder shown when empty. Hidden behind the floating label until focused/filled for `labelPlacement: 'inside'`. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. Takes precedence over `description`. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n *\n * @example\n * ```vue\n * <Input :class-names=\"{ input: 'text-xl', inputWrapper: 'border-2 border-blue-500' }\" />\n * ```\n *\n * Available slots: `base`, `mainWrapper`, `inputWrapper`, `input`,\n * `label`, `startContent`, `endContent`, `clearButton`, `passwordToggle`,\n * `helperWrapper`, `description`, `errorMessage`.\n */\n classNames?: Partial<{\n base: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n input: ClassValue\n label: ClassValue\n startContent: ClassValue\n endContent: ClassValue\n clearButton: ClassValue\n passwordToggle: ClassValue\n helperWrapper: ClassValue\n description: ClassValue\n errorMessage: ClassValue\n }>\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst inputId = computed(() => (attrs.id as string | undefined) ?? generatedId)\nconst inputAttrs = computed(() =>\n Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== 'id'))\n)\n\nconst inputEl = useTemplateRef<HTMLInputElement>('inputEl')\n\nconst hasLabel = computed(() => !!props.label)\nconst isFilled = computed(\n () => modelValue.value !== null && modelValue.value !== undefined && String(modelValue.value) !== '',\n)\n\nconst descriptionId = computed(() => `${inputId.value}-description`)\nconst errorMessageId = computed(() => `${inputId.value}-error`)\nconst showError = computed(() => props.isInvalid && !!props.errorMessage)\nconst showDescription = computed(() => !!props.description && !showError.value)\nconst hasHelper = computed(() => showError.value || showDescription.value)\nconst ariaDescribedBy = computed(() => {\n if (showError.value) return errorMessageId.value\n if (showDescription.value) return descriptionId.value\n return undefined\n})\n\nconst isPasswordVisible = ref(false)\nconst isPasswordField = computed(() => props.type === 'password')\nconst effectiveType = computed(() =>\n isPasswordField.value && isPasswordVisible.value ? 'text' : props.type,\n)\n\nconst isInteractive = computed(() => !props.isDisabled && !props.isReadonly)\nconst showClearButton = computed(\n () => props.isClearable && isFilled.value && isInteractive.value,\n)\nconst showPasswordToggleButton = computed(\n () => props.showPasswordToggle && isPasswordField.value && isInteractive.value,\n)\n\nfunction handleClear() {\n modelValue.value = ''\n emit('clear')\n nextTick(() => inputEl.value?.focus())\n}\n\nfunction togglePasswordVisibility() {\n isPasswordVisible.value = !isPasswordVisible.value\n}\n\nconst slotFns = computed(() =>\n inputVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: props.isReadonly,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n\nconst showOutsideLabel = computed(\n () => hasLabel.value && props.labelPlacement !== 'inside',\n)\nconst showInsideLabel = computed(\n () => hasLabel.value && props.labelPlacement === 'inside',\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n :data-invalid=\"isInvalid || undefined\"\n :data-disabled=\"isDisabled || undefined\"\n :data-readonly=\"isReadonly || undefined\"\n :data-required=\"isRequired || undefined\"\n :data-has-label=\"hasLabel || undefined\"\n :data-has-helper=\"hasHelper || undefined\"\n >\n <label\n v-if=\"showOutsideLabel\"\n :for=\"inputId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <div\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (isFilled || undefined) : undefined\"\n >\n <label\n v-if=\"showInsideLabel\"\n :for=\"inputId\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n >{{ label }}<span\n v-if=\"isRequired\"\n aria-hidden=\"true\"\n > *</span></label>\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n >\n <slot name=\"startContent\" />\n </span>\n <input\n v-bind=\"inputAttrs\"\n :id=\"inputId\"\n ref=\"inputEl\"\n v-model=\"modelValue\"\n :type=\"effectiveType\"\n :placeholder=\"placeholder\"\n :name=\"name\"\n :disabled=\"isDisabled || undefined\"\n :readonly=\"isReadonly || undefined\"\n :required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :class=\"composeClassName(slotFns.input(), props.classNames?.input)\"\n >\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n >\n <slot name=\"endContent\" />\n </span>\n <button\n v-if=\"showClearButton\"\n type=\"button\"\n tabindex=\"-1\"\n :class=\"composeClassName(slotFns.clearButton(), props.classNames?.clearButton)\"\n aria-label=\"Clear input\"\n @click=\"handleClear\"\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\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n />\n <line\n x1=\"15\"\n y1=\"9\"\n x2=\"9\"\n y2=\"15\"\n />\n <line\n x1=\"9\"\n y1=\"9\"\n x2=\"15\"\n y2=\"15\"\n />\n </svg>\n </button>\n <button\n v-if=\"showPasswordToggleButton\"\n type=\"button\"\n :class=\"composeClassName(slotFns.passwordToggle(), props.classNames?.passwordToggle)\"\n :aria-label=\"isPasswordVisible ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"isPasswordVisible\"\n @click=\"togglePasswordVisibility\"\n >\n <svg\n v-if=\"isPasswordVisible\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line\n x1=\"1\"\n y1=\"1\"\n x2=\"23\"\n y2=\"23\"\n />\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"3\"\n />\n </svg>\n </button>\n </div>\n\n <div\n v-if=\"hasHelper\"\n :class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n >\n <div\n v-if=\"showError\"\n :id=\"errorMessageId\"\n :class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n >\n {{ errorMessage }}\n </div>\n <div\n v-else-if=\"showDescription\"\n :id=\"descriptionId\"\n :class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n >\n {{ description }}\n </div>\n </div>\n </div>\n </div>\n</template>\n"],"mappings":""}
1
+ {"version":3,"file":"Input.js","names":[],"sources":["../../../src/components/input/Input.vue"],"sourcesContent":["<!--\n Input — reference form-field component for @auronui/vue.\n\n This is the canonical template for every form field in the library\n (Textarea, NumberInput, DateInput, Select, etc.). Porting a new field\n means mirroring its prop surface, slot layout, data-attribute contract,\n CSS selector pairing, and a11y wiring. Keep these in sync.\n\n ─── Anatomy ────────────────────────────────────────────────────────────\n base (.input-root) ← layout container, carries class/data-attrs\n label [outside | outside-left] ← rendered here when placement !== 'inside'\n mainWrapper (.input__main-wrapper) ← groups field + helper vertically\n inputWrapper (.input) ← styled field box (border, bg, focus)\n label [inside] ← rendered here when placement === 'inside'\n startContent (.input__start-content) ← leading icon slot\n <input ref=\"inputEl\"> ← the native element\n endContent (.input__end-content) ← trailing icon slot\n clearButton (.input__clear-button) ← × button, after endContent\n passwordToggle (.input__password-toggle) ← eye button, type=\"password\" only\n helperWrapper (.input__helper-wrapper) ← holds description XOR error\n errorMessage | description\n\n ─── Data attributes on base (selector hooks) ──────────────────────────\n data-invalid — mirrors isInvalid\n data-disabled — mirrors isDisabled\n data-readonly — mirrors isReadOnly\n data-required — mirrors isRequired\n data-has-label — true when label prop is set (any placement)\n data-has-helper — true when description or error is visible\n data-filled — set on inputWrapper when the value is non-empty (for\n floating-label up-state)\n\n Every interactive CSS rule in input.css pairs a pseudo-class with its\n data-attribute counterpart (Reka UI selector pairing rule), e.g.\n &:focus-within, &[data-focused=\"true\"] { ... }\n\n ─── v-model ───────────────────────────────────────────────────────────\n <Input v-model=\"value\" /> -- string | number | null\n\n ─── Emits ─────────────────────────────────────────────────────────────\n @clear -- emitted when the user activates the clear (×) button.\n The input is already empty and refocused by this point.\n\n ─── Slots ─────────────────────────────────────────────────────────────\n #startContent -- leading icon / adornment\n #endContent -- trailing icon / adornment (renders BEFORE clear/toggle,\n so you can combine them freely)\n\n ─── Accessibility contract (audited by vitest-axe) ────────────────────\n • <label for=\"{inputId}\"> wraps the label text.\n • aria-invalid reflects isInvalid.\n • aria-describedby points to whichever helper is rendered (error wins).\n • Required field uses the native `required` attribute; the visual\n asterisk is aria-hidden.\n • Clear button: tabindex=-1 (out of form tab flow), aria-label.\n • Password toggle: tabbable, aria-pressed reflects visibility.\n • All transitions are wrapped in motion-reduce:transition-none.\n\n ─── Reuse checklist for new form fields ───────────────────────────────\n 1. Copy prop names verbatim (variant, size, color, labelPlacement,\n fullWidth, isInvalid, isDisabled, isReadOnly, isRequired, label,\n description, errorMessage, class, classNames).\n 2. Expose the same slot keys in tailwind-variants.\n 3. Emit the same data-attributes on the root + data-filled on the\n field box.\n 4. Use the `useFormField` composable (packages/vue/src/composables/useFormField.ts)\n for the description/error/label-visibility state machine, and the\n `FieldLabel` / `FormFieldHelper` components (components/_shared/) for\n the repeated label and helper markup — do not hand-roll these again.\n 5. Generate ids with useId(), scope helper ids as `{id}-error` /\n `{id}-description`.\n 6. Default labelPlacement to 'inside' and apply the inside-label\n CSS via a compoundVariant of (hasLabel=true, labelPlacement='inside').\n-->\n<script setup lang=\"ts\">\nimport { computed, nextTick, ref, useAttrs, useId, useTemplateRef } from 'vue'\nimport { inputVariants, type InputVariants } from '@auronui/styles'\nimport { composeClassName , type ClassValue} from '../../utils/composeClassName'\nimport { useDeprecatedBooleanProp } from '../../composables/useDeprecatedBooleanProp'\nimport { useFormField } from '../../composables/useFormField'\nimport FieldLabel from '../_shared/FieldLabel.vue'\nimport FormFieldHelper from '../_shared/FormFieldHelper.vue'\n\ndefineOptions({ inheritAttrs: false })\n\nconst props = withDefaults(defineProps<Props>(), {\n variant: 'flat',\n size: 'md',\n color: 'default',\n labelPlacement: 'inside',\n fullWidth: false,\n isInvalid: false,\n isDisabled: false,\n isReadOnly: undefined,\n isReadonly: undefined,\n isRequired: false,\n isClearable: false,\n showPasswordToggle: false,\n type: 'text',\n})\n\nconst emit = defineEmits<{\n /**\n * Fired when the user activates the clear (×) button.\n * At the time this fires the v-model value is already '' and focus\n * has been returned to the input element.\n */\n clear: []\n}>()\n\n/**\n * Two-way value. String for text-like types, number for type=\"number\",\n * null allowed so controlled consumers can represent \"no value\" without\n * coercing to empty string.\n */\nconst modelValue = defineModel<string | number | null>({ default: '' })\n\ntype Props = {\n /** Visual style of the field. @default 'flat' */\n variant?: InputVariants['variant']\n /** Field height. @default 'md' */\n size?: InputVariants['size']\n /** Accent color applied to focus ring + floating label. @default 'default' */\n color?: InputVariants['color']\n /**\n * Where the `label` is rendered relative to the field.\n * - `inside`: floats above the input (shrinks when focused/filled)\n * - `outside`: sits above the field, static\n * - `outside-left`: sits to the left, horizontal layout\n * @default 'inside'\n */\n labelPlacement?: InputVariants['labelPlacement']\n /** Stretches root wrapper to 100% width. @default false */\n fullWidth?: boolean\n /** Marks the field as invalid. Triggers danger styling and enables `errorMessage`. @default false */\n isInvalid?: boolean\n /** Disables the field. @default false */\n isDisabled?: boolean\n /** Makes the field read-only. @default false */\n isReadOnly?: boolean\n /** @deprecated Use isReadOnly instead. */\n isReadonly?: boolean\n /** Adds a required asterisk next to the label and the `required` attribute on the input. @default false */\n isRequired?: boolean\n /** Shows an × button that clears the value and refocuses the input when value is non-empty. @default false */\n isClearable?: boolean\n /** Shows a show/hide eye button. Only active when `type === 'password'`. @default false */\n showPasswordToggle?: boolean\n /** Native input type (e.g. `text`, `email`, `password`, `number`). @default 'text' */\n type?: string\n /** Placeholder shown when empty. Hidden behind the floating label until focused/filled for `labelPlacement: 'inside'`. */\n placeholder?: string\n /** Form field name, for native form submission. */\n name?: string\n /** Field label. When omitted, the floating-label behavior is skipped. */\n label?: string\n /** Helper text displayed below the field. Suppressed when `isInvalid && errorMessage` is shown. */\n description?: string\n /** Error text displayed below the field. Only rendered when `isInvalid` is also true. Takes precedence over `description`. */\n errorMessage?: string\n /** Extra classes merged onto the root wrapper via `composeClassName`. */\n class?: ClassValue\n /**\n * Per-slot class overrides. Each key maps to a named slot in the anatomy;\n * the value is merged with the generated variant classes via `composeClassName`.\n *\n * @example\n * ```vue\n * <Input :class-names=\"{ input: 'text-xl', inputWrapper: 'border-2 border-blue-500' }\" />\n * ```\n *\n * Available slots: `base`, `mainWrapper`, `inputWrapper`, `input`,\n * `label`, `startContent`, `endContent`, `clearButton`, `passwordToggle`,\n * `helperWrapper`, `description`, `errorMessage`.\n */\n classNames?: Partial<{\n base: ClassValue\n mainWrapper: ClassValue\n inputWrapper: ClassValue\n input: ClassValue\n label: ClassValue\n startContent: ClassValue\n endContent: ClassValue\n clearButton: ClassValue\n passwordToggle: ClassValue\n helperWrapper: ClassValue\n description: ClassValue\n errorMessage: ClassValue\n }>\n}\n\nconst attrs = useAttrs()\nconst generatedId = useId()\nconst inputId = computed(() => (attrs.id as string | undefined) ?? generatedId)\nconst inputAttrs = computed(() =>\n Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== 'id'))\n)\n\nconst inputEl = useTemplateRef<HTMLInputElement>('inputEl')\n\nconst isReadOnly = useDeprecatedBooleanProp(\n 'Input', 'isReadOnly', () => props.isReadOnly, 'isReadonly', () => props.isReadonly,\n)\n\nconst isFilled = computed(\n () => modelValue.value !== null && modelValue.value !== undefined && String(modelValue.value) !== '',\n)\n\nconst {\n descriptionId,\n errorMessageId,\n showError,\n showDescription,\n hasHelper,\n ariaDescribedBy,\n hasLabel,\n showOutsideLabel,\n showInsideLabel,\n rootDataAttrs,\n} = useFormField({\n fieldId: () => inputId.value,\n label: () => props.label,\n description: () => props.description,\n errorMessage: () => props.errorMessage,\n isInvalid: () => props.isInvalid,\n isDisabled: () => props.isDisabled,\n isReadOnly: () => isReadOnly.value,\n isRequired: () => props.isRequired,\n labelPlacement: () => props.labelPlacement,\n})\n\nconst isPasswordVisible = ref(false)\nconst isPasswordField = computed(() => props.type === 'password')\nconst effectiveType = computed(() =>\n isPasswordField.value && isPasswordVisible.value ? 'text' : props.type,\n)\n\nconst isInteractive = computed(() => !props.isDisabled && !isReadOnly.value)\nconst showClearButton = computed(\n () => props.isClearable && isFilled.value && isInteractive.value,\n)\nconst showPasswordToggleButton = computed(\n () => props.showPasswordToggle && isPasswordField.value && isInteractive.value,\n)\n\nfunction handleClear() {\n modelValue.value = ''\n emit('clear')\n nextTick(() => inputEl.value?.focus())\n}\n\nfunction togglePasswordVisibility() {\n isPasswordVisible.value = !isPasswordVisible.value\n}\n\nconst slotFns = computed(() =>\n inputVariants({\n variant: props.variant,\n size: props.size,\n color: props.color,\n fullWidth: props.fullWidth,\n isInvalid: props.isInvalid,\n isDisabled: props.isDisabled,\n isReadonly: isReadOnly.value,\n hasLabel: hasLabel.value,\n labelPlacement: props.labelPlacement,\n }),\n)\n</script>\n\n<template>\n <div\n :class=\"composeClassName(slotFns.base(), props.class, props.classNames?.base)\"\n v-bind=\"rootDataAttrs\"\n >\n <FieldLabel\n v-if=\"showOutsideLabel\"\n :for=\"inputId\"\n :label=\"label\"\n :is-required=\"isRequired\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n />\n\n <div :class=\"composeClassName(slotFns.mainWrapper(), props.classNames?.mainWrapper)\">\n <div\n :class=\"composeClassName(slotFns.inputWrapper(), props.classNames?.inputWrapper)\"\n :data-filled=\"hasLabel ? (isFilled || undefined) : undefined\"\n >\n <FieldLabel\n v-if=\"showInsideLabel\"\n :for=\"inputId\"\n :label=\"label\"\n :is-required=\"isRequired\"\n :class=\"composeClassName(slotFns.label(), props.classNames?.label)\"\n />\n <span\n v-if=\"$slots.startContent\"\n :class=\"composeClassName(slotFns.startContent(), props.classNames?.startContent)\"\n >\n <slot name=\"startContent\" />\n </span>\n <input\n v-bind=\"inputAttrs\"\n :id=\"inputId\"\n ref=\"inputEl\"\n v-model=\"modelValue\"\n :type=\"effectiveType\"\n :placeholder=\"placeholder\"\n :name=\"name\"\n :disabled=\"isDisabled || undefined\"\n :readonly=\"isReadOnly || undefined\"\n :required=\"isRequired || undefined\"\n :aria-invalid=\"isInvalid || undefined\"\n :aria-describedby=\"ariaDescribedBy\"\n :class=\"composeClassName(slotFns.input(), props.classNames?.input)\"\n >\n <span\n v-if=\"$slots.endContent\"\n :class=\"composeClassName(slotFns.endContent(), props.classNames?.endContent)\"\n >\n <slot name=\"endContent\" />\n </span>\n <button\n v-if=\"showClearButton\"\n type=\"button\"\n tabindex=\"-1\"\n :class=\"composeClassName(slotFns.clearButton(), props.classNames?.clearButton)\"\n aria-label=\"Clear input\"\n @click=\"handleClear\"\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\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"10\"\n />\n <line\n x1=\"15\"\n y1=\"9\"\n x2=\"9\"\n y2=\"15\"\n />\n <line\n x1=\"9\"\n y1=\"9\"\n x2=\"15\"\n y2=\"15\"\n />\n </svg>\n </button>\n <button\n v-if=\"showPasswordToggleButton\"\n type=\"button\"\n :class=\"composeClassName(slotFns.passwordToggle(), props.classNames?.passwordToggle)\"\n :aria-label=\"isPasswordVisible ? 'Hide password' : 'Show password'\"\n :aria-pressed=\"isPasswordVisible\"\n @click=\"togglePasswordVisibility\"\n >\n <svg\n v-if=\"isPasswordVisible\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\" />\n <line\n x1=\"1\"\n y1=\"1\"\n x2=\"23\"\n y2=\"23\"\n />\n </svg>\n <svg\n v-else\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d=\"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\" />\n <circle\n cx=\"12\"\n cy=\"12\"\n r=\"3\"\n />\n </svg>\n </button>\n </div>\n\n <FormFieldHelper\n :has-helper=\"hasHelper\"\n :show-error=\"showError\"\n :show-description=\"showDescription\"\n :error-message=\"errorMessage\"\n :description=\"description\"\n :error-message-id=\"errorMessageId\"\n :description-id=\"descriptionId\"\n :wrapper-class=\"composeClassName(slotFns.helperWrapper(), props.classNames?.helperWrapper)\"\n :error-class=\"composeClassName(slotFns.errorMessage(), props.classNames?.errorMessage)\"\n :description-class=\"composeClassName(slotFns.description(), props.classNames?.description)\"\n />\n </div>\n </div>\n</template>\n"],"mappings":""}
@@ -1,27 +1,13 @@
1
1
  import { composeClassName } from "../../utils/composeClassName.js";
2
- import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, openBlock, ref, renderSlot, toDisplayString, unref, useAttrs, useId, useModel, useTemplateRef, vModelDynamic, withDirectives } from "vue";
2
+ import { useDeprecatedBooleanProp } from "../../composables/useDeprecatedBooleanProp.js";
3
+ import { useFormField } from "../../composables/useFormField.js";
4
+ import FieldLabel_default from "../_shared/FieldLabel.js";
5
+ import FormFieldHelper_default from "../_shared/FormFieldHelper.js";
6
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeClass, openBlock, ref, renderSlot, unref, useAttrs, useId, useModel, useTemplateRef, vModelDynamic, withDirectives } from "vue";
3
7
  import { inputVariants } from "@auronui/styles";
4
8
  //#region src/components/input/Input.vue?vue&type=script&setup=true&lang.ts
5
- var _hoisted_1 = [
6
- "data-invalid",
7
- "data-disabled",
8
- "data-readonly",
9
- "data-required",
10
- "data-has-label",
11
- "data-has-helper"
12
- ];
13
- var _hoisted_2 = ["for"];
14
- var _hoisted_3 = {
15
- key: 0,
16
- "aria-hidden": "true"
17
- };
18
- var _hoisted_4 = ["data-filled"];
19
- var _hoisted_5 = ["for"];
20
- var _hoisted_6 = {
21
- key: 0,
22
- "aria-hidden": "true"
23
- };
24
- var _hoisted_7 = [
9
+ var _hoisted_1 = ["data-filled"];
10
+ var _hoisted_2 = [
25
11
  "id",
26
12
  "type",
27
13
  "placeholder",
@@ -32,8 +18,8 @@ var _hoisted_7 = [
32
18
  "aria-invalid",
33
19
  "aria-describedby"
34
20
  ];
35
- var _hoisted_8 = ["aria-label", "aria-pressed"];
36
- var _hoisted_9 = {
21
+ var _hoisted_3 = ["aria-label", "aria-pressed"];
22
+ var _hoisted_4 = {
37
23
  key: 0,
38
24
  xmlns: "http://www.w3.org/2000/svg",
39
25
  viewBox: "0 0 24 24",
@@ -44,7 +30,7 @@ var _hoisted_9 = {
44
30
  "stroke-linejoin": "round",
45
31
  "aria-hidden": "true"
46
32
  };
47
- var _hoisted_10 = {
33
+ var _hoisted_5 = {
48
34
  key: 1,
49
35
  xmlns: "http://www.w3.org/2000/svg",
50
36
  viewBox: "0 0 24 24",
@@ -55,8 +41,6 @@ var _hoisted_10 = {
55
41
  "stroke-linejoin": "round",
56
42
  "aria-hidden": "true"
57
43
  };
58
- var _hoisted_11 = ["id"];
59
- var _hoisted_12 = ["id"];
60
44
  var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
61
45
  inheritAttrs: false,
62
46
  __name: "Input",
@@ -77,9 +61,13 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
77
61
  type: Boolean,
78
62
  default: false
79
63
  },
64
+ isReadOnly: {
65
+ type: Boolean,
66
+ default: void 0
67
+ },
80
68
  isReadonly: {
81
69
  type: Boolean,
82
- default: false
70
+ default: void 0
83
71
  },
84
72
  isRequired: {
85
73
  type: Boolean,
@@ -126,21 +114,23 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
126
114
  const inputId = computed(() => attrs.id ?? generatedId);
127
115
  const inputAttrs = computed(() => Object.fromEntries(Object.entries(attrs).filter(([k]) => k !== "id")));
128
116
  const inputEl = useTemplateRef("inputEl");
129
- const hasLabel = computed(() => !!props.label);
117
+ const isReadOnly = useDeprecatedBooleanProp("Input", "isReadOnly", () => props.isReadOnly, "isReadonly", () => props.isReadonly);
130
118
  const isFilled = computed(() => modelValue.value !== null && modelValue.value !== void 0 && String(modelValue.value) !== "");
131
- const descriptionId = computed(() => `${inputId.value}-description`);
132
- const errorMessageId = computed(() => `${inputId.value}-error`);
133
- const showError = computed(() => props.isInvalid && !!props.errorMessage);
134
- const showDescription = computed(() => !!props.description && !showError.value);
135
- const hasHelper = computed(() => showError.value || showDescription.value);
136
- const ariaDescribedBy = computed(() => {
137
- if (showError.value) return errorMessageId.value;
138
- if (showDescription.value) return descriptionId.value;
119
+ const { descriptionId, errorMessageId, showError, showDescription, hasHelper, ariaDescribedBy, hasLabel, showOutsideLabel, showInsideLabel, rootDataAttrs } = useFormField({
120
+ fieldId: () => inputId.value,
121
+ label: () => props.label,
122
+ description: () => props.description,
123
+ errorMessage: () => props.errorMessage,
124
+ isInvalid: () => props.isInvalid,
125
+ isDisabled: () => props.isDisabled,
126
+ isReadOnly: () => isReadOnly.value,
127
+ isRequired: () => props.isRequired,
128
+ labelPlacement: () => props.labelPlacement
139
129
  });
140
130
  const isPasswordVisible = ref(false);
141
131
  const isPasswordField = computed(() => props.type === "password");
142
132
  const effectiveType = computed(() => isPasswordField.value && isPasswordVisible.value ? "text" : props.type);
143
- const isInteractive = computed(() => !props.isDisabled && !props.isReadonly);
133
+ const isInteractive = computed(() => !props.isDisabled && !isReadOnly.value);
144
134
  const showClearButton = computed(() => props.isClearable && isFilled.value && isInteractive.value);
145
135
  const showPasswordToggleButton = computed(() => props.showPasswordToggle && isPasswordField.value && isInteractive.value);
146
136
  function handleClear() {
@@ -158,34 +148,38 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
158
148
  fullWidth: props.fullWidth,
159
149
  isInvalid: props.isInvalid,
160
150
  isDisabled: props.isDisabled,
161
- isReadonly: props.isReadonly,
151
+ isReadonly: isReadOnly.value,
162
152
  hasLabel: hasLabel.value,
163
153
  labelPlacement: props.labelPlacement
164
154
  }));
165
- const showOutsideLabel = computed(() => hasLabel.value && props.labelPlacement !== "inside");
166
- const showInsideLabel = computed(() => hasLabel.value && props.labelPlacement === "inside");
167
155
  return (_ctx, _cache) => {
168
- return openBlock(), createElementBlock("div", {
169
- class: normalizeClass(unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base)),
170
- "data-invalid": __props.isInvalid || void 0,
171
- "data-disabled": __props.isDisabled || void 0,
172
- "data-readonly": __props.isReadonly || void 0,
173
- "data-required": __props.isRequired || void 0,
174
- "data-has-label": hasLabel.value || void 0,
175
- "data-has-helper": hasHelper.value || void 0
176
- }, [showOutsideLabel.value ? (openBlock(), createElementBlock("label", {
156
+ return openBlock(), createElementBlock("div", mergeProps({ class: unref(composeClassName)(slotFns.value.base(), props.class, props.classNames?.base) }, unref(rootDataAttrs)), [unref(showOutsideLabel) ? (openBlock(), createBlock(FieldLabel_default, {
177
157
  key: 0,
178
158
  for: inputId.value,
159
+ label: __props.label,
160
+ "is-required": __props.isRequired,
179
161
  class: normalizeClass(unref(composeClassName)(slotFns.value.label(), props.classNames?.label))
180
- }, [createTextVNode(toDisplayString(__props.label), 1), __props.isRequired ? (openBlock(), createElementBlock("span", _hoisted_3, " *")) : createCommentVNode("", true)], 10, _hoisted_2)) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(unref(composeClassName)(slotFns.value.mainWrapper(), props.classNames?.mainWrapper)) }, [createElementVNode("div", {
162
+ }, null, 8, [
163
+ "for",
164
+ "label",
165
+ "is-required",
166
+ "class"
167
+ ])) : createCommentVNode("", true), createElementVNode("div", { class: normalizeClass(unref(composeClassName)(slotFns.value.mainWrapper(), props.classNames?.mainWrapper)) }, [createElementVNode("div", {
181
168
  class: normalizeClass(unref(composeClassName)(slotFns.value.inputWrapper(), props.classNames?.inputWrapper)),
182
- "data-filled": hasLabel.value ? isFilled.value || void 0 : void 0
169
+ "data-filled": unref(hasLabel) ? isFilled.value || void 0 : void 0
183
170
  }, [
184
- showInsideLabel.value ? (openBlock(), createElementBlock("label", {
171
+ unref(showInsideLabel) ? (openBlock(), createBlock(FieldLabel_default, {
185
172
  key: 0,
186
173
  for: inputId.value,
174
+ label: __props.label,
175
+ "is-required": __props.isRequired,
187
176
  class: normalizeClass(unref(composeClassName)(slotFns.value.label(), props.classNames?.label))
188
- }, [createTextVNode(toDisplayString(__props.label), 1), __props.isRequired ? (openBlock(), createElementBlock("span", _hoisted_6, " *")) : createCommentVNode("", true)], 10, _hoisted_5)) : createCommentVNode("", true),
177
+ }, null, 8, [
178
+ "for",
179
+ "label",
180
+ "is-required",
181
+ "class"
182
+ ])) : createCommentVNode("", true),
189
183
  _ctx.$slots.startContent ? (openBlock(), createElementBlock("span", {
190
184
  key: 1,
191
185
  class: normalizeClass(unref(composeClassName)(slotFns.value.startContent(), props.classNames?.startContent))
@@ -199,12 +193,12 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
199
193
  placeholder: __props.placeholder,
200
194
  name: __props.name,
201
195
  disabled: __props.isDisabled || void 0,
202
- readonly: __props.isReadonly || void 0,
196
+ readonly: unref(isReadOnly) || void 0,
203
197
  required: __props.isRequired || void 0,
204
198
  "aria-invalid": __props.isInvalid || void 0,
205
- "aria-describedby": ariaDescribedBy.value,
199
+ "aria-describedby": unref(ariaDescribedBy),
206
200
  class: unref(composeClassName)(slotFns.value.input(), props.classNames?.input)
207
- }), null, 16, _hoisted_7), [[vModelDynamic, modelValue.value]]),
201
+ }), null, 16, _hoisted_2), [[vModelDynamic, modelValue.value]]),
208
202
  _ctx.$slots.endContent ? (openBlock(), createElementBlock("span", {
209
203
  key: 2,
210
204
  class: normalizeClass(unref(composeClassName)(slotFns.value.endContent(), props.classNames?.endContent))
@@ -251,28 +245,39 @@ var Input_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineCo
251
245
  "aria-label": isPasswordVisible.value ? "Hide password" : "Show password",
252
246
  "aria-pressed": isPasswordVisible.value,
253
247
  onClick: togglePasswordVisibility
254
- }, [isPasswordVisible.value ? (openBlock(), createElementBlock("svg", _hoisted_9, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" }, null, -1), createElementVNode("line", {
248
+ }, [isPasswordVisible.value ? (openBlock(), createElementBlock("svg", _hoisted_4, [..._cache[2] || (_cache[2] = [createElementVNode("path", { d: "M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24" }, null, -1), createElementVNode("line", {
255
249
  x1: "1",
256
250
  y1: "1",
257
251
  x2: "23",
258
252
  y2: "23"
259
- }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_10, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }, null, -1), createElementVNode("circle", {
253
+ }, null, -1)])])) : (openBlock(), createElementBlock("svg", _hoisted_5, [..._cache[3] || (_cache[3] = [createElementVNode("path", { d: "M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z" }, null, -1), createElementVNode("circle", {
260
254
  cx: "12",
261
255
  cy: "12",
262
256
  r: "3"
263
- }, null, -1)])]))], 10, _hoisted_8)) : createCommentVNode("", true)
264
- ], 10, _hoisted_4), hasHelper.value ? (openBlock(), createElementBlock("div", {
265
- key: 0,
266
- class: normalizeClass(unref(composeClassName)(slotFns.value.helperWrapper(), props.classNames?.helperWrapper))
267
- }, [showError.value ? (openBlock(), createElementBlock("div", {
268
- key: 0,
269
- id: errorMessageId.value,
270
- class: normalizeClass(unref(composeClassName)(slotFns.value.errorMessage(), props.classNames?.errorMessage))
271
- }, toDisplayString(__props.errorMessage), 11, _hoisted_11)) : showDescription.value ? (openBlock(), createElementBlock("div", {
272
- key: 1,
273
- id: descriptionId.value,
274
- class: normalizeClass(unref(composeClassName)(slotFns.value.description(), props.classNames?.description))
275
- }, toDisplayString(__props.description), 11, _hoisted_12)) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 2)], 10, _hoisted_1);
257
+ }, null, -1)])]))], 10, _hoisted_3)) : createCommentVNode("", true)
258
+ ], 10, _hoisted_1), createVNode(FormFieldHelper_default, {
259
+ "has-helper": unref(hasHelper),
260
+ "show-error": unref(showError),
261
+ "show-description": unref(showDescription),
262
+ "error-message": __props.errorMessage,
263
+ description: __props.description,
264
+ "error-message-id": unref(errorMessageId),
265
+ "description-id": unref(descriptionId),
266
+ "wrapper-class": unref(composeClassName)(slotFns.value.helperWrapper(), props.classNames?.helperWrapper),
267
+ "error-class": unref(composeClassName)(slotFns.value.errorMessage(), props.classNames?.errorMessage),
268
+ "description-class": unref(composeClassName)(slotFns.value.description(), props.classNames?.description)
269
+ }, null, 8, [
270
+ "has-helper",
271
+ "show-error",
272
+ "show-description",
273
+ "error-message",
274
+ "description",
275
+ "error-message-id",
276
+ "description-id",
277
+ "wrapper-class",
278
+ "error-class",
279
+ "description-class"
280
+ ])], 2)], 16);
276
281
  };
277
282
  }
278
283
  });