@rotki/ui-library 2.15.0 → 2.16.1

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 (796) hide show
  1. package/dist/components/accordions/accordion/RuiAccordion.js +7 -0
  2. package/dist/components/accordions/accordion/RuiAccordion.js.map +1 -0
  3. package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +9 -0
  4. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +88 -0
  5. package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -0
  6. package/dist/components/accordions/accordions/RuiAccordions.js +7 -0
  7. package/dist/components/accordions/accordions/RuiAccordions.js.map +1 -0
  8. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +67 -0
  9. package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -0
  10. package/dist/components/alerts/RuiAlert.js +7 -0
  11. package/dist/components/alerts/RuiAlert.js.map +1 -0
  12. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +330 -0
  13. package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -0
  14. package/dist/components/buttons/button/RuiButton.js +7 -0
  15. package/dist/components/buttons/button/RuiButton.js.map +1 -0
  16. package/dist/components/buttons/button/RuiButton.vue.d.ts +3 -2
  17. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +104 -0
  18. package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  19. package/dist/components/buttons/button/button-props.d.ts +16 -0
  20. package/dist/components/buttons/button/button-props.js +20 -0
  21. package/dist/components/buttons/button/button-props.js.map +1 -0
  22. package/dist/components/buttons/button/button-styles.d.ts +229 -0
  23. package/dist/components/buttons/button/button-styles.js +342 -0
  24. package/dist/components/buttons/button/button-styles.js.map +1 -0
  25. package/dist/components/buttons/button-group/RuiButtonGroup.js +7 -0
  26. package/dist/components/buttons/button-group/RuiButtonGroup.js.map +1 -0
  27. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +246 -0
  28. package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  29. package/dist/components/calendar/RuiCalendar.js +7 -0
  30. package/dist/components/calendar/RuiCalendar.js.map +1 -0
  31. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +151 -0
  32. package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -0
  33. package/dist/components/calendar/RuiCalendarGrid.js +7 -0
  34. package/dist/components/calendar/RuiCalendarGrid.js.map +1 -0
  35. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +155 -0
  36. package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -0
  37. package/dist/components/calendar/RuiCalendarHeader.js +7 -0
  38. package/dist/components/calendar/RuiCalendarHeader.js.map +1 -0
  39. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +113 -0
  40. package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  41. package/dist/components/calendar/RuiCalendarMenu.js +7 -0
  42. package/dist/components/calendar/RuiCalendarMenu.js.map +1 -0
  43. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +246 -0
  44. package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  45. package/dist/components/calendar/state.js +20 -21
  46. package/dist/components/calendar/state.js.map +1 -1
  47. package/dist/components/cards/RuiCard.js +7 -0
  48. package/dist/components/cards/RuiCard.js.map +1 -0
  49. package/dist/components/cards/RuiCard.vue.d.ts +9 -0
  50. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +130 -0
  51. package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  52. package/dist/components/cards/RuiCardHeader.js +7 -0
  53. package/dist/components/cards/RuiCardHeader.js.map +1 -0
  54. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +67 -0
  55. package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  56. package/dist/components/chips/RuiChip.js +7 -0
  57. package/dist/components/chips/RuiChip.js.map +1 -0
  58. package/dist/components/chips/RuiChip.vue.d.ts +10 -2
  59. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +308 -0
  60. package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  61. package/dist/components/chips/chip-props.d.ts +11 -0
  62. package/dist/components/chips/chip-props.js +17 -0
  63. package/dist/components/chips/chip-props.js.map +1 -0
  64. package/dist/components/color-picker/RuiColorBoard.js +7 -0
  65. package/dist/components/color-picker/RuiColorBoard.js.map +1 -0
  66. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
  67. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +100 -0
  68. package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -0
  69. package/dist/components/color-picker/RuiColorDisplay.js +7 -0
  70. package/dist/components/color-picker/RuiColorDisplay.js.map +1 -0
  71. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js +37 -0
  72. package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js.map +1 -0
  73. package/dist/components/color-picker/RuiColorHue.js +7 -0
  74. package/dist/components/color-picker/RuiColorHue.js.map +1 -0
  75. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +84 -0
  76. package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -0
  77. package/dist/components/color-picker/RuiColorInput.js +7 -0
  78. package/dist/components/color-picker/RuiColorInput.js.map +1 -0
  79. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +132 -0
  80. package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -0
  81. package/dist/components/color-picker/RuiColorPicker.js +7 -0
  82. package/dist/components/color-picker/RuiColorPicker.js.map +1 -0
  83. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +57 -0
  84. package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  85. package/dist/components/color-picker/utils.d.ts +11 -8
  86. package/dist/components/color-picker/utils.js +179 -194
  87. package/dist/components/color-picker/utils.js.map +1 -1
  88. package/dist/components/date-time-picker/RuiDateTimePicker.js +7 -0
  89. package/dist/components/date-time-picker/RuiDateTimePicker.js.map +1 -0
  90. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -1
  91. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +369 -0
  92. package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  93. package/dist/components/date-time-picker/RuiDateTimePickerMenu.js +7 -0
  94. package/dist/components/date-time-picker/RuiDateTimePickerMenu.js.map +1 -0
  95. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +1 -1
  96. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +134 -0
  97. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  98. package/dist/components/date-time-picker/date-time-picker-styles.d.ts +326 -0
  99. package/dist/components/date-time-picker/date-time-picker-styles.js +19 -0
  100. package/dist/components/date-time-picker/date-time-picker-styles.js.map +1 -0
  101. package/dist/components/date-time-picker/dayjs-setup.js +4 -1
  102. package/dist/components/date-time-picker/dayjs-setup.js.map +1 -1
  103. package/dist/components/date-time-picker/segment-config.js +42 -21
  104. package/dist/components/date-time-picker/segment-config.js.map +1 -1
  105. package/dist/components/date-time-picker/segment-utils.js +24 -31
  106. package/dist/components/date-time-picker/segment-utils.js.map +1 -1
  107. package/dist/components/date-time-picker/timezones.js +601 -600
  108. package/dist/components/date-time-picker/timezones.js.map +1 -1
  109. package/dist/components/date-time-picker/types.js +14 -14
  110. package/dist/components/date-time-picker/types.js.map +1 -1
  111. package/dist/components/date-time-picker/use-date-time-selection.js +222 -282
  112. package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
  113. package/dist/components/date-time-picker/use-input-handler.js +31 -28
  114. package/dist/components/date-time-picker/use-input-handler.js.map +1 -1
  115. package/dist/components/date-time-picker/use-keyboard-handler.js +201 -268
  116. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
  117. package/dist/components/date-time-picker/utils.js +10 -11
  118. package/dist/components/date-time-picker/utils.js.map +1 -1
  119. package/dist/components/divider/RuiDivider.js +7 -0
  120. package/dist/components/divider/RuiDivider.js.map +1 -0
  121. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js +25 -0
  122. package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  123. package/dist/components/forms/auto-complete/RuiAutoComplete.js +7 -0
  124. package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -0
  125. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +12 -2
  126. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +566 -0
  127. package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -0
  128. package/dist/components/forms/auto-complete/auto-complete-styles.d.ts +324 -0
  129. package/dist/components/forms/auto-complete/auto-complete-styles.js +15 -0
  130. package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -0
  131. package/dist/components/forms/check-control-styles.d.ts +135 -0
  132. package/dist/components/forms/check-control-styles.js +126 -0
  133. package/dist/components/forms/check-control-styles.js.map +1 -0
  134. package/dist/components/forms/checkbox/RuiCheckbox.js +7 -0
  135. package/dist/components/forms/checkbox/RuiCheckbox.js.map +1 -0
  136. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +133 -0
  137. package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -0
  138. package/dist/components/forms/radio-button/radio/RuiRadio.js +7 -0
  139. package/dist/components/forms/radio-button/radio/RuiRadio.js.map +1 -0
  140. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +115 -0
  141. package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js.map +1 -0
  142. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js +7 -0
  143. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.js.map +1 -0
  144. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +96 -0
  145. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -0
  146. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js +7 -0
  147. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.js.map +1 -0
  148. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +2 -15
  149. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +117 -0
  150. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  151. package/dist/components/forms/select/RuiMenuSelect.js +7 -0
  152. package/dist/components/forms/select/RuiMenuSelect.js.map +1 -0
  153. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +16 -4
  154. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +313 -0
  155. package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  156. package/dist/components/forms/select/RuiSimpleSelect.js +7 -0
  157. package/dist/components/forms/select/RuiSimpleSelect.js.map +1 -0
  158. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +75 -0
  159. package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -0
  160. package/dist/components/forms/select/menu-select-styles.d.ts +319 -0
  161. package/dist/components/forms/select/menu-select-styles.js +11 -0
  162. package/dist/components/forms/select/menu-select-styles.js.map +1 -0
  163. package/dist/components/forms/slider/RuiSlider.js +7 -0
  164. package/dist/components/forms/slider/RuiSlider.js.map +1 -0
  165. package/dist/components/forms/slider/RuiSlider.vue.d.ts +9 -0
  166. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +222 -0
  167. package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -0
  168. package/dist/components/forms/slider/slider-styles.d.ts +208 -0
  169. package/dist/components/forms/slider/slider-styles.js +235 -0
  170. package/dist/components/forms/slider/slider-styles.js.map +1 -0
  171. package/dist/components/forms/switch/RuiSwitch.js +7 -0
  172. package/dist/components/forms/switch/RuiSwitch.js.map +1 -0
  173. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +226 -0
  174. package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -0
  175. package/dist/components/forms/text-area/RuiTextArea.js +7 -0
  176. package/dist/components/forms/text-area/RuiTextArea.js.map +1 -0
  177. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +8 -4
  178. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +248 -0
  179. package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js.map +1 -0
  180. package/dist/components/forms/text-area/text-area-styles.d.ts +313 -0
  181. package/dist/components/forms/text-area/text-area-styles.js +239 -0
  182. package/dist/components/forms/text-area/text-area-styles.js.map +1 -0
  183. package/dist/components/forms/text-field/RuiTextField.js +7 -0
  184. package/dist/components/forms/text-field/RuiTextField.js.map +1 -0
  185. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +4 -3
  186. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +220 -0
  187. package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js.map +1 -0
  188. package/dist/components/forms/text-field/text-field-styles.d.ts +299 -0
  189. package/dist/components/forms/text-field/text-field-styles.js +251 -0
  190. package/dist/components/forms/text-field/text-field-styles.js.map +1 -0
  191. package/dist/components/forms/text-input-styles.d.ts +422 -0
  192. package/dist/components/forms/text-input-styles.js +250 -0
  193. package/dist/components/forms/text-input-styles.js.map +1 -0
  194. package/dist/components/helpers/RuiFormTextDetail.js +7 -0
  195. package/dist/components/helpers/RuiFormTextDetail.js.map +1 -0
  196. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +46 -0
  197. package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -0
  198. package/dist/components/icons/RuiIcon.js +7 -0
  199. package/dist/components/icons/RuiIcon.js.map +1 -0
  200. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +58 -0
  201. package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  202. package/dist/components/index.d.ts +46 -46
  203. package/dist/components/index.js +45 -92
  204. package/dist/components/loaders/RuiSkeletonBase.js +7 -0
  205. package/dist/components/loaders/RuiSkeletonBase.js.map +1 -0
  206. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +31 -0
  207. package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -0
  208. package/dist/components/loaders/RuiSkeletonLoader.js +7 -0
  209. package/dist/components/loaders/RuiSkeletonLoader.js.map +1 -0
  210. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +3 -2
  211. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +62 -0
  212. package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -0
  213. package/dist/components/loaders/skeleton-type.d.ts +12 -0
  214. package/dist/components/loaders/skeleton-type.js +16 -0
  215. package/dist/components/loaders/skeleton-type.js.map +1 -0
  216. package/dist/components/logos/RuiLogo.js +7 -0
  217. package/dist/components/logos/RuiLogo.js.map +1 -0
  218. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js +130 -0
  219. package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js.map +1 -0
  220. package/dist/components/logos/logo.js +6 -0
  221. package/dist/components/logos/logo.js.map +1 -0
  222. package/dist/components/logos/use-logo-sources.d.ts +1 -1
  223. package/dist/components/logos/use-logo-sources.js +66 -62
  224. package/dist/components/logos/use-logo-sources.js.map +1 -1
  225. package/dist/components/overlays/badge/RuiBadge.js +7 -0
  226. package/dist/components/overlays/badge/RuiBadge.js.map +1 -0
  227. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +4 -3
  228. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +189 -0
  229. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -0
  230. package/dist/components/overlays/badge/badge-props.d.ts +19 -0
  231. package/dist/components/overlays/badge/badge-props.js +21 -0
  232. package/dist/components/overlays/badge/badge-props.js.map +1 -0
  233. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js +7 -0
  234. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js.map +1 -0
  235. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +51 -0
  236. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -0
  237. package/dist/components/overlays/dialog/RuiDialog.js +7 -0
  238. package/dist/components/overlays/dialog/RuiDialog.js.map +1 -0
  239. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +7 -0
  240. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +163 -0
  241. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  242. package/dist/components/overlays/menu/RuiMenu.js +7 -0
  243. package/dist/components/overlays/menu/RuiMenu.js.map +1 -0
  244. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +12 -0
  245. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +236 -0
  246. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  247. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js +7 -0
  248. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -0
  249. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +7 -0
  250. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +180 -0
  251. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  252. package/dist/components/overlays/notification/RuiNotification.js +7 -0
  253. package/dist/components/overlays/notification/RuiNotification.js.map +1 -0
  254. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +70 -0
  255. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -0
  256. package/dist/components/overlays/tooltip/RuiTooltip.js +7 -0
  257. package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -0
  258. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +10 -0
  259. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +107 -0
  260. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  261. package/dist/components/overlays/tooltip/tooltip-styles.d.ts +91 -0
  262. package/dist/components/overlays/tooltip/tooltip-styles.js +40 -0
  263. package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -0
  264. package/dist/components/progress/RuiProgress.js +7 -0
  265. package/dist/components/progress/RuiProgress.js.map +1 -0
  266. package/dist/components/progress/RuiProgress.vue.d.ts +2 -1
  267. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +254 -0
  268. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  269. package/dist/components/progress/progress-props.d.ts +6 -0
  270. package/dist/components/progress/progress-props.js +10 -0
  271. package/dist/components/progress/progress-props.js.map +1 -0
  272. package/dist/components/steppers/RuiFooterStepper.js +7 -0
  273. package/dist/components/steppers/RuiFooterStepper.js.map +1 -0
  274. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +2 -1
  275. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +164 -0
  276. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  277. package/dist/components/steppers/RuiStepper.js +7 -0
  278. package/dist/components/steppers/RuiStepper.js.map +1 -0
  279. package/dist/components/steppers/RuiStepper.vue.d.ts +9 -0
  280. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +232 -0
  281. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  282. package/dist/components/steppers/RuiStepperCustomIcon.js +7 -0
  283. package/dist/components/steppers/RuiStepperCustomIcon.js.map +1 -0
  284. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +43 -0
  285. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  286. package/dist/components/steppers/RuiStepperIcon.js +7 -0
  287. package/dist/components/steppers/RuiStepperIcon.js.map +1 -0
  288. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +72 -0
  289. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  290. package/dist/components/steppers/footer-stepper-variant.d.ts +7 -0
  291. package/dist/components/steppers/footer-stepper-variant.js +11 -0
  292. package/dist/components/steppers/footer-stepper-variant.js.map +1 -0
  293. package/dist/components/tables/RuiDataTable.js +7 -0
  294. package/dist/components/tables/RuiDataTable.js.map +1 -0
  295. package/dist/components/tables/RuiDataTable.vue.d.ts +7 -2
  296. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +516 -0
  297. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  298. package/dist/components/tables/RuiExpandButton.js +7 -0
  299. package/dist/components/tables/RuiExpandButton.js.map +1 -0
  300. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +34 -0
  301. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  302. package/dist/components/tables/RuiTableEmptyState.js +7 -0
  303. package/dist/components/tables/RuiTableEmptyState.js.map +1 -0
  304. package/dist/components/tables/RuiTableEmptyState.vue.d.ts +16 -0
  305. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +46 -0
  306. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  307. package/dist/components/tables/RuiTableHead.js +7 -0
  308. package/dist/components/tables/RuiTableHead.js.map +1 -0
  309. package/dist/components/tables/RuiTableHead.vue.d.ts +6 -5
  310. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +230 -0
  311. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
  312. package/dist/components/tables/RuiTablePagination.js +7 -0
  313. package/dist/components/tables/RuiTablePagination.js.map +1 -0
  314. package/dist/components/tables/RuiTablePagination.vue.d.ts +9 -6
  315. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +187 -0
  316. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  317. package/dist/components/tables/data-table-styles.d.ts +155 -0
  318. package/dist/components/tables/data-table-styles.js +36 -0
  319. package/dist/components/tables/data-table-styles.js.map +1 -0
  320. package/dist/components/tables/table-props.d.ts +20 -0
  321. package/dist/components/tables/table-props.js +39 -0
  322. package/dist/components/tables/table-props.js.map +1 -0
  323. package/dist/components/tables/table_no_data_placeholder.js +6 -0
  324. package/dist/components/tables/table_no_data_placeholder.js.map +1 -0
  325. package/dist/components/tables/table_no_data_placeholder_dark.js +6 -0
  326. package/dist/components/tables/table_no_data_placeholder_dark.js.map +1 -0
  327. package/dist/components/tables/use-pagination-navigation.d.ts +32 -0
  328. package/dist/components/tables/use-pagination-navigation.js +88 -0
  329. package/dist/components/tables/use-pagination-navigation.js.map +1 -0
  330. package/dist/components/tabs/tab/RuiTab.js +7 -0
  331. package/dist/components/tabs/tab/RuiTab.js.map +1 -0
  332. package/dist/components/tabs/tab/RuiTab.vue.d.ts +12 -3
  333. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +175 -0
  334. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -0
  335. package/dist/components/tabs/tab/use-tab-link.d.ts +26 -0
  336. package/dist/components/tabs/tab/use-tab-link.js +28 -0
  337. package/dist/components/tabs/tab/use-tab-link.js.map +1 -0
  338. package/dist/components/tabs/tab-item/RuiTabItem.js +7 -0
  339. package/dist/components/tabs/tab-item/RuiTabItem.js.map +1 -0
  340. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +54 -0
  341. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  342. package/dist/components/tabs/tab-items/RuiTabItems.js +7 -0
  343. package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -0
  344. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +76 -0
  345. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -0
  346. package/dist/components/tabs/tab-props.d.ts +20 -0
  347. package/dist/components/tabs/tab-props.js +18 -0
  348. package/dist/components/tabs/tab-props.js.map +1 -0
  349. package/dist/components/tabs/tabs/RuiTabs.js +7 -0
  350. package/dist/components/tabs/tabs/RuiTabs.js.map +1 -0
  351. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +3 -2
  352. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +208 -0
  353. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
  354. package/dist/components/tabs/tabs/use-tab-routing.d.ts +28 -0
  355. package/dist/components/tabs/tabs/use-tab-routing.js +43 -0
  356. package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -0
  357. package/dist/components/tabs/tabs/use-tab-scroll.d.ts +23 -0
  358. package/dist/components/tabs/tabs/use-tab-scroll.js +68 -0
  359. package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -0
  360. package/dist/components/time-picker/RuiTimePicker.js +7 -0
  361. package/dist/components/time-picker/RuiTimePicker.js.map +1 -0
  362. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +382 -0
  363. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  364. package/dist/components/time-picker/time-picker-styles.d.ts +76 -0
  365. package/dist/components/time-picker/time-picker-styles.js +27 -0
  366. package/dist/components/time-picker/time-picker-styles.js.map +1 -0
  367. package/dist/composables/breakpoint.js +35 -40
  368. package/dist/composables/breakpoint.js.map +1 -1
  369. package/dist/composables/colors/common.d.ts +20 -0
  370. package/dist/composables/colors/index.d.ts +3 -0
  371. package/dist/composables/colors/text-input.d.ts +27 -0
  372. package/dist/composables/defaults/table.js +21 -18
  373. package/dist/composables/defaults/table.js.map +1 -1
  374. package/dist/composables/dropdown-menu.d.ts +6 -6
  375. package/dist/composables/dropdown-menu.js +169 -237
  376. package/dist/composables/dropdown-menu.js.map +1 -1
  377. package/dist/composables/floating.d.ts +60 -0
  378. package/dist/composables/floating.js +167 -0
  379. package/dist/composables/floating.js.map +1 -0
  380. package/dist/composables/forms/auto-complete/focus.d.ts +4 -4
  381. package/dist/composables/forms/auto-complete/focus.js +59 -79
  382. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  383. package/dist/composables/forms/auto-complete/index.js +4 -0
  384. package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +6 -5
  385. package/dist/composables/forms/auto-complete/keyboard-navigation.js +116 -136
  386. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  387. package/dist/composables/forms/auto-complete/search.d.ts +11 -10
  388. package/dist/composables/forms/auto-complete/search.js +80 -91
  389. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  390. package/dist/composables/forms/auto-complete/value.d.ts +9 -8
  391. package/dist/composables/forms/auto-complete/value.js +76 -108
  392. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  393. package/dist/composables/forms/use-prepend-append-width.js +24 -20
  394. package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
  395. package/dist/composables/icons.js +42 -52
  396. package/dist/composables/icons.js.map +1 -1
  397. package/dist/composables/index.js +2 -7
  398. package/dist/composables/popper.d.ts +5 -20
  399. package/dist/composables/popper.js +22 -177
  400. package/dist/composables/popper.js.map +1 -1
  401. package/dist/composables/sticky-header.js +132 -143
  402. package/dist/composables/sticky-header.js.map +1 -1
  403. package/dist/composables/tables/data-table/columns.d.ts +1 -1
  404. package/dist/composables/tables/data-table/columns.js +41 -49
  405. package/dist/composables/tables/data-table/columns.js.map +1 -1
  406. package/dist/composables/tables/data-table/expansion.js +29 -34
  407. package/dist/composables/tables/data-table/expansion.js.map +1 -1
  408. package/dist/composables/tables/data-table/grouping.d.ts +1 -1
  409. package/dist/composables/tables/data-table/grouping.js +110 -132
  410. package/dist/composables/tables/data-table/grouping.js.map +1 -1
  411. package/dist/composables/tables/data-table/pagination.d.ts +2 -2
  412. package/dist/composables/tables/data-table/pagination.js +98 -115
  413. package/dist/composables/tables/data-table/pagination.js.map +1 -1
  414. package/dist/composables/tables/data-table/selection.js +124 -160
  415. package/dist/composables/tables/data-table/selection.js.map +1 -1
  416. package/dist/composables/tables/data-table/sort.d.ts +2 -2
  417. package/dist/composables/tables/data-table/sort.js +118 -132
  418. package/dist/composables/tables/data-table/sort.js.map +1 -1
  419. package/dist/composables/tables/data-table/types.d.ts +2 -2
  420. package/dist/composables/tables/data-table/types.js +7 -7
  421. package/dist/composables/tables/data-table/types.js.map +1 -1
  422. package/dist/composables/theme.js +91 -66
  423. package/dist/composables/theme.js.map +1 -1
  424. package/dist/composables/timeout-manager.js +24 -19
  425. package/dist/composables/timeout-manager.js.map +1 -1
  426. package/dist/composables/use-rui-i18n.js +15 -21
  427. package/dist/composables/use-rui-i18n.js.map +1 -1
  428. package/dist/consts/colors.js +50 -47
  429. package/dist/consts/colors.js.map +1 -1
  430. package/dist/consts/time-accuracy.js +9 -8
  431. package/dist/consts/time-accuracy.js.map +1 -1
  432. package/dist/i18n/keys.js +17 -16
  433. package/dist/i18n/keys.js.map +1 -1
  434. package/dist/icons/icons_1.js +1529 -2027
  435. package/dist/icons/icons_1.js.map +1 -1
  436. package/dist/icons/icons_2.js +1529 -2027
  437. package/dist/icons/icons_2.js.map +1 -1
  438. package/dist/icons/icons_3.js +1529 -2027
  439. package/dist/icons/icons_3.js.map +1 -1
  440. package/dist/icons/icons_4.js +794 -1047
  441. package/dist/icons/icons_4.js.map +1 -1
  442. package/dist/icons/index.js +1767 -7
  443. package/dist/icons/index.js.map +1 -1
  444. package/dist/index.d.ts +5 -2
  445. package/dist/index.js +87 -1907
  446. package/dist/index.js.map +1 -1
  447. package/dist/style.css +2780 -10260
  448. package/dist/theme/index.js +160 -198
  449. package/dist/theme/index.js.map +1 -1
  450. package/dist/types/class-value.d.ts +5 -0
  451. package/dist/types/stepper.js +16 -15
  452. package/dist/types/stepper.js.map +1 -1
  453. package/dist/types/theme.js +17 -22
  454. package/dist/types/theme.js.map +1 -1
  455. package/dist/utils/assert.js +12 -12
  456. package/dist/utils/assert.js.map +1 -1
  457. package/dist/utils/blockie.js +58 -65
  458. package/dist/utils/blockie.js.map +1 -1
  459. package/dist/utils/form-text-detail.d.ts +4 -2
  460. package/dist/utils/form-text-detail.js +29 -27
  461. package/dist/utils/form-text-detail.js.map +1 -1
  462. package/dist/utils/helpers.js +60 -35
  463. package/dist/utils/helpers.js.map +1 -1
  464. package/dist/utils/is-equal.js +23 -33
  465. package/dist/utils/is-equal.js.map +1 -1
  466. package/dist/utils/tv.d.ts +16 -0
  467. package/dist/utils/tv.js +23 -0
  468. package/dist/utils/tv.js.map +1 -0
  469. package/dist/vite-plugin/index.js +144 -155
  470. package/dist/vite-plugin/index.js.map +1 -1
  471. package/dist/vite-plugin/scanner.js +46 -52
  472. package/dist/vite-plugin/scanner.js.map +1 -1
  473. package/dist/web-types.json +214 -39
  474. package/package.json +36 -27
  475. package/dist/_virtual/_plugin-vue_export-helper.js +0 -11
  476. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  477. package/dist/components/accordions/accordion/RuiAccordion.vue.js +0 -89
  478. package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +0 -1
  479. package/dist/components/accordions/accordion/RuiAccordion.vue2.js +0 -5
  480. package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +0 -1
  481. package/dist/components/accordions/accordions/RuiAccordions.vue.js +0 -79
  482. package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +0 -1
  483. package/dist/components/accordions/accordions/RuiAccordions.vue2.js +0 -5
  484. package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +0 -1
  485. package/dist/components/alerts/RuiAlert.vue.js +0 -11
  486. package/dist/components/alerts/RuiAlert.vue.js.map +0 -1
  487. package/dist/components/alerts/RuiAlert.vue2.js +0 -115
  488. package/dist/components/alerts/RuiAlert.vue2.js.map +0 -1
  489. package/dist/components/alerts/RuiAlert.vue3.js +0 -50
  490. package/dist/components/alerts/RuiAlert.vue3.js.map +0 -1
  491. package/dist/components/buttons/button/RuiButton.vue.js +0 -11
  492. package/dist/components/buttons/button/RuiButton.vue.js.map +0 -1
  493. package/dist/components/buttons/button/RuiButton.vue2.js +0 -93
  494. package/dist/components/buttons/button/RuiButton.vue2.js.map +0 -1
  495. package/dist/components/buttons/button/RuiButton.vue3.js +0 -74
  496. package/dist/components/buttons/button/RuiButton.vue3.js.map +0 -1
  497. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +0 -11
  498. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +0 -1
  499. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +0 -113
  500. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +0 -1
  501. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +0 -58
  502. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +0 -1
  503. package/dist/components/calendar/RuiCalendar.vue.js +0 -139
  504. package/dist/components/calendar/RuiCalendar.vue.js.map +0 -1
  505. package/dist/components/calendar/RuiCalendar.vue3.js +0 -6
  506. package/dist/components/calendar/RuiCalendar.vue3.js.map +0 -1
  507. package/dist/components/calendar/RuiCalendarGrid.vue.js +0 -8
  508. package/dist/components/calendar/RuiCalendarGrid.vue.js.map +0 -1
  509. package/dist/components/calendar/RuiCalendarGrid.vue2.js +0 -151
  510. package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +0 -1
  511. package/dist/components/calendar/RuiCalendarHeader.vue.js +0 -8
  512. package/dist/components/calendar/RuiCalendarHeader.vue.js.map +0 -1
  513. package/dist/components/calendar/RuiCalendarHeader.vue2.js +0 -111
  514. package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +0 -1
  515. package/dist/components/calendar/RuiCalendarMenu.vue.js +0 -8
  516. package/dist/components/calendar/RuiCalendarMenu.vue.js.map +0 -1
  517. package/dist/components/calendar/RuiCalendarMenu.vue2.js +0 -269
  518. package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +0 -1
  519. package/dist/components/cards/RuiCard.vue.js +0 -11
  520. package/dist/components/cards/RuiCard.vue.js.map +0 -1
  521. package/dist/components/cards/RuiCard.vue2.js +0 -88
  522. package/dist/components/cards/RuiCard.vue2.js.map +0 -1
  523. package/dist/components/cards/RuiCard.vue3.js +0 -40
  524. package/dist/components/cards/RuiCard.vue3.js.map +0 -1
  525. package/dist/components/cards/RuiCardHeader.vue.js +0 -11
  526. package/dist/components/cards/RuiCardHeader.vue.js.map +0 -1
  527. package/dist/components/cards/RuiCardHeader.vue2.js +0 -51
  528. package/dist/components/cards/RuiCardHeader.vue2.js.map +0 -1
  529. package/dist/components/cards/RuiCardHeader.vue3.js +0 -27
  530. package/dist/components/cards/RuiCardHeader.vue3.js.map +0 -1
  531. package/dist/components/chips/RuiChip.vue.js +0 -11
  532. package/dist/components/chips/RuiChip.vue.js.map +0 -1
  533. package/dist/components/chips/RuiChip.vue2.js +0 -90
  534. package/dist/components/chips/RuiChip.vue2.js.map +0 -1
  535. package/dist/components/chips/RuiChip.vue3.js +0 -88
  536. package/dist/components/chips/RuiChip.vue3.js.map +0 -1
  537. package/dist/components/color-picker/RuiColorBoard.vue.js +0 -11
  538. package/dist/components/color-picker/RuiColorBoard.vue.js.map +0 -1
  539. package/dist/components/color-picker/RuiColorBoard.vue2.js +0 -102
  540. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +0 -1
  541. package/dist/components/color-picker/RuiColorBoard.vue3.js +0 -18
  542. package/dist/components/color-picker/RuiColorBoard.vue3.js.map +0 -1
  543. package/dist/components/color-picker/RuiColorDisplay.vue.js +0 -47
  544. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +0 -1
  545. package/dist/components/color-picker/RuiColorDisplay.vue2.js +0 -5
  546. package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +0 -1
  547. package/dist/components/color-picker/RuiColorHue.vue.js +0 -11
  548. package/dist/components/color-picker/RuiColorHue.vue.js.map +0 -1
  549. package/dist/components/color-picker/RuiColorHue.vue2.js +0 -92
  550. package/dist/components/color-picker/RuiColorHue.vue2.js.map +0 -1
  551. package/dist/components/color-picker/RuiColorHue.vue3.js +0 -12
  552. package/dist/components/color-picker/RuiColorHue.vue3.js.map +0 -1
  553. package/dist/components/color-picker/RuiColorInput.vue.js +0 -141
  554. package/dist/components/color-picker/RuiColorInput.vue.js.map +0 -1
  555. package/dist/components/color-picker/RuiColorInput.vue2.js +0 -5
  556. package/dist/components/color-picker/RuiColorInput.vue2.js.map +0 -1
  557. package/dist/components/color-picker/RuiColorPicker.vue.js +0 -81
  558. package/dist/components/color-picker/RuiColorPicker.vue.js.map +0 -1
  559. package/dist/components/color-picker/RuiColorPicker.vue2.js +0 -5
  560. package/dist/components/color-picker/RuiColorPicker.vue2.js.map +0 -1
  561. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +0 -11
  562. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +0 -1
  563. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +0 -394
  564. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +0 -1
  565. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +0 -66
  566. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +0 -1
  567. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +0 -120
  568. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +0 -1
  569. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +0 -5
  570. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +0 -1
  571. package/dist/components/divider/RuiDivider.vue.js +0 -25
  572. package/dist/components/divider/RuiDivider.vue.js.map +0 -1
  573. package/dist/components/divider/RuiDivider.vue2.js +0 -5
  574. package/dist/components/divider/RuiDivider.vue2.js.map +0 -1
  575. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +0 -11
  576. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +0 -1
  577. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +0 -594
  578. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +0 -1
  579. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +0 -60
  580. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +0 -1
  581. package/dist/components/forms/checkbox/RuiCheckbox.vue.js +0 -11
  582. package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +0 -1
  583. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +0 -148
  584. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +0 -1
  585. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +0 -54
  586. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +0 -1
  587. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +0 -11
  588. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +0 -1
  589. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +0 -122
  590. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +0 -1
  591. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +0 -54
  592. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +0 -1
  593. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +0 -11
  594. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +0 -1
  595. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +0 -84
  596. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +0 -1
  597. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +0 -9
  598. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +0 -1
  599. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +0 -84
  600. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +0 -1
  601. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +0 -5
  602. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +0 -1
  603. package/dist/components/forms/select/RuiMenuSelect.vue.js +0 -11
  604. package/dist/components/forms/select/RuiMenuSelect.vue.js.map +0 -1
  605. package/dist/components/forms/select/RuiMenuSelect.vue2.js +0 -310
  606. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +0 -1
  607. package/dist/components/forms/select/RuiMenuSelect.vue3.js +0 -60
  608. package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +0 -1
  609. package/dist/components/forms/select/RuiSimpleSelect.vue.js +0 -11
  610. package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +0 -1
  611. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +0 -62
  612. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +0 -1
  613. package/dist/components/forms/select/RuiSimpleSelect.vue3.js +0 -21
  614. package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +0 -1
  615. package/dist/components/forms/slider/RuiSlider.vue.js +0 -11
  616. package/dist/components/forms/slider/RuiSlider.vue.js.map +0 -1
  617. package/dist/components/forms/slider/RuiSlider.vue2.js +0 -173
  618. package/dist/components/forms/slider/RuiSlider.vue2.js.map +0 -1
  619. package/dist/components/forms/slider/RuiSlider.vue3.js +0 -80
  620. package/dist/components/forms/slider/RuiSlider.vue3.js.map +0 -1
  621. package/dist/components/forms/switch/RuiSwitch.vue.js +0 -11
  622. package/dist/components/forms/switch/RuiSwitch.vue.js.map +0 -1
  623. package/dist/components/forms/switch/RuiSwitch.vue2.js +0 -99
  624. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +0 -1
  625. package/dist/components/forms/switch/RuiSwitch.vue3.js +0 -54
  626. package/dist/components/forms/switch/RuiSwitch.vue3.js.map +0 -1
  627. package/dist/components/forms/text-area/RuiTextArea.vue.js +0 -11
  628. package/dist/components/forms/text-area/RuiTextArea.vue.js.map +0 -1
  629. package/dist/components/forms/text-area/RuiTextArea.vue2.js +0 -229
  630. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +0 -1
  631. package/dist/components/forms/text-area/RuiTextArea.vue3.js +0 -92
  632. package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +0 -1
  633. package/dist/components/forms/text-field/RuiTextField.vue.js +0 -11
  634. package/dist/components/forms/text-field/RuiTextField.vue.js.map +0 -1
  635. package/dist/components/forms/text-field/RuiTextField.vue2.js +0 -202
  636. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +0 -1
  637. package/dist/components/forms/text-field/RuiTextField.vue3.js +0 -89
  638. package/dist/components/forms/text-field/RuiTextField.vue3.js.map +0 -1
  639. package/dist/components/helpers/RuiFormTextDetail.vue.js +0 -50
  640. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +0 -1
  641. package/dist/components/helpers/RuiFormTextDetail.vue2.js +0 -5
  642. package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +0 -1
  643. package/dist/components/icons/RuiIcon.vue.js +0 -11
  644. package/dist/components/icons/RuiIcon.vue.js.map +0 -1
  645. package/dist/components/icons/RuiIcon.vue2.js +0 -57
  646. package/dist/components/icons/RuiIcon.vue2.js.map +0 -1
  647. package/dist/components/icons/RuiIcon.vue3.js +0 -29
  648. package/dist/components/icons/RuiIcon.vue3.js.map +0 -1
  649. package/dist/components/index.js.map +0 -1
  650. package/dist/components/loaders/RuiSkeletonBase.vue.js +0 -11
  651. package/dist/components/loaders/RuiSkeletonBase.vue.js.map +0 -1
  652. package/dist/components/loaders/RuiSkeletonBase.vue2.js +0 -22
  653. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +0 -1
  654. package/dist/components/loaders/RuiSkeletonBase.vue3.js +0 -12
  655. package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +0 -1
  656. package/dist/components/loaders/RuiSkeletonLoader.vue.js +0 -11
  657. package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +0 -1
  658. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +0 -47
  659. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +0 -1
  660. package/dist/components/loaders/RuiSkeletonLoader.vue3.js +0 -33
  661. package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +0 -1
  662. package/dist/components/logos/RuiLogo.vue.js +0 -148
  663. package/dist/components/logos/RuiLogo.vue.js.map +0 -1
  664. package/dist/components/logos/RuiLogo.vue2.js +0 -5
  665. package/dist/components/logos/RuiLogo.vue2.js.map +0 -1
  666. package/dist/components/logos/logo.svg.js +0 -5
  667. package/dist/components/logos/logo.svg.js.map +0 -1
  668. package/dist/components/overlays/badge/RuiBadge.vue.js +0 -11
  669. package/dist/components/overlays/badge/RuiBadge.vue.js.map +0 -1
  670. package/dist/components/overlays/badge/RuiBadge.vue2.js +0 -93
  671. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +0 -1
  672. package/dist/components/overlays/badge/RuiBadge.vue3.js +0 -77
  673. package/dist/components/overlays/badge/RuiBadge.vue3.js.map +0 -1
  674. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +0 -45
  675. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +0 -1
  676. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +0 -5
  677. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +0 -1
  678. package/dist/components/overlays/dialog/RuiDialog.vue.js +0 -11
  679. package/dist/components/overlays/dialog/RuiDialog.vue.js.map +0 -1
  680. package/dist/components/overlays/dialog/RuiDialog.vue2.js +0 -195
  681. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +0 -1
  682. package/dist/components/overlays/dialog/RuiDialog.vue3.js +0 -18
  683. package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +0 -1
  684. package/dist/components/overlays/menu/RuiMenu.vue.js +0 -11
  685. package/dist/components/overlays/menu/RuiMenu.vue.js.map +0 -1
  686. package/dist/components/overlays/menu/RuiMenu.vue2.js +0 -214
  687. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +0 -1
  688. package/dist/components/overlays/menu/RuiMenu.vue3.js +0 -21
  689. package/dist/components/overlays/menu/RuiMenu.vue3.js.map +0 -1
  690. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +0 -11
  691. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +0 -1
  692. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +0 -164
  693. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +0 -1
  694. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +0 -28
  695. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +0 -1
  696. package/dist/components/overlays/notification/RuiNotification.vue.js +0 -79
  697. package/dist/components/overlays/notification/RuiNotification.vue.js.map +0 -1
  698. package/dist/components/overlays/notification/RuiNotification.vue2.js +0 -5
  699. package/dist/components/overlays/notification/RuiNotification.vue2.js.map +0 -1
  700. package/dist/components/overlays/tooltip/RuiTooltip.vue.js +0 -11
  701. package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +0 -1
  702. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +0 -112
  703. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +0 -1
  704. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +0 -27
  705. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +0 -1
  706. package/dist/components/progress/RuiProgress.vue.js +0 -11
  707. package/dist/components/progress/RuiProgress.vue.js.map +0 -1
  708. package/dist/components/progress/RuiProgress.vue2.js +0 -92
  709. package/dist/components/progress/RuiProgress.vue2.js.map +0 -1
  710. package/dist/components/progress/RuiProgress.vue3.js +0 -48
  711. package/dist/components/progress/RuiProgress.vue3.js.map +0 -1
  712. package/dist/components/steppers/RuiFooterStepper.vue.js +0 -11
  713. package/dist/components/steppers/RuiFooterStepper.vue.js.map +0 -1
  714. package/dist/components/steppers/RuiFooterStepper.vue2.js +0 -150
  715. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +0 -1
  716. package/dist/components/steppers/RuiFooterStepper.vue3.js +0 -31
  717. package/dist/components/steppers/RuiFooterStepper.vue3.js.map +0 -1
  718. package/dist/components/steppers/RuiStepper.vue.js +0 -11
  719. package/dist/components/steppers/RuiStepper.vue.js.map +0 -1
  720. package/dist/components/steppers/RuiStepper.vue2.js +0 -133
  721. package/dist/components/steppers/RuiStepper.vue2.js.map +0 -1
  722. package/dist/components/steppers/RuiStepper.vue3.js +0 -58
  723. package/dist/components/steppers/RuiStepper.vue3.js.map +0 -1
  724. package/dist/components/steppers/RuiStepperCustomIcon.vue.js +0 -11
  725. package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +0 -1
  726. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +0 -38
  727. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +0 -1
  728. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +0 -15
  729. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +0 -1
  730. package/dist/components/steppers/RuiStepperIcon.vue.js +0 -11
  731. package/dist/components/steppers/RuiStepperIcon.vue.js.map +0 -1
  732. package/dist/components/steppers/RuiStepperIcon.vue2.js +0 -43
  733. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +0 -1
  734. package/dist/components/steppers/RuiStepperIcon.vue3.js +0 -21
  735. package/dist/components/steppers/RuiStepperIcon.vue3.js.map +0 -1
  736. package/dist/components/tables/RuiDataTable.vue.js +0 -11
  737. package/dist/components/tables/RuiDataTable.vue.js.map +0 -1
  738. package/dist/components/tables/RuiDataTable.vue2.js +0 -541
  739. package/dist/components/tables/RuiDataTable.vue2.js.map +0 -1
  740. package/dist/components/tables/RuiDataTable.vue3.js +0 -76
  741. package/dist/components/tables/RuiDataTable.vue3.js.map +0 -1
  742. package/dist/components/tables/RuiExpandButton.vue.js +0 -11
  743. package/dist/components/tables/RuiExpandButton.vue.js.map +0 -1
  744. package/dist/components/tables/RuiExpandButton.vue2.js +0 -44
  745. package/dist/components/tables/RuiExpandButton.vue2.js.map +0 -1
  746. package/dist/components/tables/RuiExpandButton.vue3.js +0 -15
  747. package/dist/components/tables/RuiExpandButton.vue3.js.map +0 -1
  748. package/dist/components/tables/RuiTableHead.vue.js +0 -11
  749. package/dist/components/tables/RuiTableHead.vue.js.map +0 -1
  750. package/dist/components/tables/RuiTableHead.vue2.js +0 -195
  751. package/dist/components/tables/RuiTableHead.vue2.js.map +0 -1
  752. package/dist/components/tables/RuiTableHead.vue3.js +0 -69
  753. package/dist/components/tables/RuiTableHead.vue3.js.map +0 -1
  754. package/dist/components/tables/RuiTablePagination.vue.js +0 -11
  755. package/dist/components/tables/RuiTablePagination.vue.js.map +0 -1
  756. package/dist/components/tables/RuiTablePagination.vue2.js +0 -204
  757. package/dist/components/tables/RuiTablePagination.vue2.js.map +0 -1
  758. package/dist/components/tables/RuiTablePagination.vue3.js +0 -28
  759. package/dist/components/tables/RuiTablePagination.vue3.js.map +0 -1
  760. package/dist/components/tables/table_no_data_placeholder.svg.js +0 -5
  761. package/dist/components/tables/table_no_data_placeholder.svg.js.map +0 -1
  762. package/dist/components/tables/table_no_data_placeholder_dark.svg.js +0 -5
  763. package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +0 -1
  764. package/dist/components/tabs/tab/RuiTab.vue.js +0 -11
  765. package/dist/components/tabs/tab/RuiTab.vue.js.map +0 -1
  766. package/dist/components/tabs/tab/RuiTab.vue2.js +0 -167
  767. package/dist/components/tabs/tab/RuiTab.vue2.js.map +0 -1
  768. package/dist/components/tabs/tab/RuiTab.vue3.js +0 -17
  769. package/dist/components/tabs/tab/RuiTab.vue3.js.map +0 -1
  770. package/dist/components/tabs/tab-item/RuiTabItem.vue.js +0 -11
  771. package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +0 -1
  772. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +0 -52
  773. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +0 -1
  774. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +0 -9
  775. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +0 -1
  776. package/dist/components/tabs/tab-items/RuiTabItems.vue.js +0 -11
  777. package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +0 -1
  778. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +0 -90
  779. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +0 -1
  780. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +0 -9
  781. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +0 -1
  782. package/dist/components/tabs/tabs/RuiTabs.vue.js +0 -11
  783. package/dist/components/tabs/tabs/RuiTabs.vue.js.map +0 -1
  784. package/dist/components/tabs/tabs/RuiTabs.vue2.js +0 -288
  785. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +0 -1
  786. package/dist/components/tabs/tabs/RuiTabs.vue3.js +0 -20
  787. package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +0 -1
  788. package/dist/components/time-picker/RuiTimePicker.vue.js +0 -11
  789. package/dist/components/time-picker/RuiTimePicker.vue.js.map +0 -1
  790. package/dist/components/time-picker/RuiTimePicker.vue2.js +0 -463
  791. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +0 -1
  792. package/dist/components/time-picker/RuiTimePicker.vue3.js +0 -21
  793. package/dist/components/time-picker/RuiTimePicker.vue3.js.map +0 -1
  794. package/dist/composables/forms/use-label-with-quote.js +0 -14
  795. package/dist/composables/forms/use-label-with-quote.js.map +0 -1
  796. package/dist/composables/index.js.map +0 -1
@@ -0,0 +1,163 @@
1
+ import { cn, tv } from "../../../utils/tv.js";
2
+ import { useTimeoutManager } from "../../../composables/timeout-manager.js";
3
+ import { getNonRootAttrs, getRootAttrs, transformPropsUnit } from "../../../utils/helpers.js";
4
+ import { Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, openBlock, ref, renderSlot, unref, useModel, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
5
+ import { get, set } from "@vueuse/shared";
6
+ //#region src/components/overlays/dialog/RuiDialog.vue?vue&type=script&setup=true&lang.ts
7
+ var _hoisted_1 = ["aria-label"];
8
+ var _hoisted_2 = ["data-bottom-sheet"];
9
+ var RuiDialog_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
10
+ name: "RuiDialog",
11
+ inheritAttrs: false,
12
+ __name: "RuiDialog",
13
+ props: /* @__PURE__ */ mergeModels({
14
+ persistent: {
15
+ type: Boolean,
16
+ default: false
17
+ },
18
+ width: { default: "98%" },
19
+ maxWidth: {},
20
+ bottomSheet: {
21
+ type: Boolean,
22
+ default: false
23
+ },
24
+ classNames: {},
25
+ contentClass: { default: "" },
26
+ zIndex: { default: 9999 },
27
+ ariaLabel: {}
28
+ }, {
29
+ "modelValue": {
30
+ type: Boolean,
31
+ default: false
32
+ },
33
+ "modelModifiers": {}
34
+ }),
35
+ emits: /* @__PURE__ */ mergeModels([
36
+ "closed",
37
+ "click:outside",
38
+ "click:esc"
39
+ ], ["update:modelValue"]),
40
+ setup(__props, { emit: __emit }) {
41
+ const modelValue = useModel(__props, "modelValue");
42
+ const emit = __emit;
43
+ const transitioning = ref(false);
44
+ const contentRef = useTemplateRef("contentRef");
45
+ const leaveTimeout = useTimeoutManager();
46
+ const alive = computed(() => get(modelValue) || get(transitioning));
47
+ const style = computed(() => ({
48
+ width: transformPropsUnit(__props.width),
49
+ maxWidth: transformPropsUnit(__props.maxWidth)
50
+ }));
51
+ const dialog = tv({
52
+ slots: {
53
+ root: "fixed inset-0",
54
+ overlay: "absolute inset-0 backdrop-blur bg-rui-grey-500/50 dark:bg-black/50",
55
+ content: "absolute left-1/2 bottom-0 -translate-x-1/2 outline-none overflow-y-auto max-h-[90vh]"
56
+ },
57
+ variants: { bottomSheet: {
58
+ true: { content: "" },
59
+ false: { content: "top-1/2 -translate-y-1/2 bottom-auto" }
60
+ } },
61
+ defaultVariants: { bottomSheet: false }
62
+ });
63
+ const ui = computed(() => dialog({ bottomSheet: __props.bottomSheet }));
64
+ const dialogAttrs = { onClick: toggle };
65
+ const contentTransition = computed(() => {
66
+ if (!__props.bottomSheet) return {
67
+ enterFromClass: "opacity-0 scale-95",
68
+ enterActiveClass: "transition-all ease-out duration-200",
69
+ enterToClass: "opacity-100 scale-100",
70
+ leaveFromClass: "opacity-100 scale-100",
71
+ leaveActiveClass: "transition-all ease-in duration-150",
72
+ leaveToClass: "opacity-0 scale-95"
73
+ };
74
+ return {
75
+ enterFromClass: "translate-y-full",
76
+ enterActiveClass: "transition-transform ease-out duration-300",
77
+ enterToClass: "translate-y-0",
78
+ leaveFromClass: "translate-y-0",
79
+ leaveActiveClass: "transition-transform ease-in duration-200",
80
+ leaveToClass: "translate-y-full"
81
+ };
82
+ });
83
+ function toggle() {
84
+ set(modelValue, !get(modelValue));
85
+ }
86
+ function close() {
87
+ set(modelValue, false);
88
+ }
89
+ function onEscClick() {
90
+ if (!__props.persistent) close();
91
+ emit("click:esc");
92
+ }
93
+ function onClickOutside() {
94
+ if (!__props.persistent) close();
95
+ emit("click:outside");
96
+ }
97
+ function onLeaveComplete() {
98
+ leaveTimeout.clear();
99
+ if (get(transitioning)) {
100
+ set(transitioning, false);
101
+ emit("closed");
102
+ }
103
+ }
104
+ watch(modelValue, (value) => {
105
+ if (!value) {
106
+ set(transitioning, true);
107
+ leaveTimeout.create(onLeaveComplete, 400);
108
+ }
109
+ });
110
+ watch(contentRef, (ref) => {
111
+ if (ref) nextTick(() => ref.focus());
112
+ else onLeaveComplete();
113
+ });
114
+ return (_ctx, _cache) => {
115
+ return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(getRootAttrs)(_ctx.$attrs))), [renderSlot(_ctx.$slots, "activator", normalizeProps(guardReactiveProps({
116
+ attrs: dialogAttrs,
117
+ isOpen: modelValue.value
118
+ }))), (openBlock(), createBlock(Teleport, { to: "body" }, [unref(alive) ? (openBlock(), createElementBlock("div", mergeProps({
119
+ key: 0,
120
+ class: unref(ui).root({ class: unref(cn)(__props.classNames?.root) }),
121
+ style: { zIndex: __props.zIndex },
122
+ role: "dialog",
123
+ "aria-modal": "true",
124
+ "aria-label": __props.ariaLabel,
125
+ tabindex: "0"
126
+ }, unref(getNonRootAttrs)(_ctx.$attrs), { onKeydown: _cache[2] || (_cache[2] = withKeys(withModifiers(($event) => onEscClick(), ["stop"]), ["esc"])) }), [createVNode(Transition, {
127
+ "enter-from-class": "opacity-0",
128
+ "enter-active-class": "transition-opacity ease-out duration-200",
129
+ "enter-to-class": "opacity-100",
130
+ "leave-from-class": "opacity-100",
131
+ "leave-active-class": "transition-opacity ease-in duration-150",
132
+ "leave-to-class": "opacity-0"
133
+ }, {
134
+ default: withCtx(() => [modelValue.value ? (openBlock(), createElementBlock("div", {
135
+ key: 0,
136
+ "data-id": "overlay",
137
+ class: normalizeClass(unref(ui).overlay()),
138
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onClickOutside(), ["stop"]))
139
+ }, null, 2)) : createCommentVNode("", true)]),
140
+ _: 1
141
+ }), createVNode(Transition, mergeProps(unref(contentTransition), { onAfterLeave: _cache[1] || (_cache[1] = ($event) => onLeaveComplete()) }), {
142
+ default: withCtx(() => [modelValue.value ? (openBlock(), createElementBlock("div", {
143
+ key: 0,
144
+ ref_key: "contentRef",
145
+ ref: contentRef,
146
+ "data-id": "content",
147
+ style: normalizeStyle(unref(style)),
148
+ tabindex: "0",
149
+ "data-bottom-sheet": __props.bottomSheet || void 0,
150
+ class: normalizeClass(unref(ui).content({ class: unref(cn)(__props.classNames?.content) ?? unref(cn)(__props.contentClass) }))
151
+ }, [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({
152
+ isOpen: modelValue.value,
153
+ close
154
+ })))], 14, _hoisted_2)) : createCommentVNode("", true)]),
155
+ _: 3
156
+ }, 16)], 16, _hoisted_1)) : createCommentVNode("", true)]))], 16);
157
+ };
158
+ }
159
+ });
160
+ //#endregion
161
+ export { RuiDialog_vue_vue_type_script_setup_true_lang_default as default };
162
+
163
+ //# sourceMappingURL=RuiDialog.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuiDialog.vue_vue_type_script_setup_true_lang.js","names":["$attrs"],"sources":["../../../../src/components/overlays/dialog/RuiDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VueClassValue } from '@/types/class-value';\nimport { useTimeoutManager } from '@/composables/timeout-manager';\nimport { getNonRootAttrs, getRootAttrs, transformPropsUnit } from '@/utils/helpers';\nimport { cn, tv } from '@/utils/tv';\n\nexport interface RuiDialogClassNames {\n root?: VueClassValue;\n content?: VueClassValue;\n}\n\nexport interface DialogProps {\n persistent?: boolean;\n width?: string | number;\n maxWidth?: string | number;\n bottomSheet?: boolean;\n classNames?: RuiDialogClassNames;\n /** @deprecated Use `classNames.content` instead */\n contentClass?: string | string[] | Record<string, boolean>;\n zIndex?: string | number;\n ariaLabel?: string;\n}\n\ndefineOptions({\n name: 'RuiDialog',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n persistent = false,\n width = '98%',\n maxWidth,\n bottomSheet = false,\n classNames,\n contentClass = '',\n zIndex = 9999,\n ariaLabel,\n} = defineProps<DialogProps>();\n\nconst emit = defineEmits<{\n 'closed': [];\n 'click:outside': [];\n 'click:esc': [];\n}>();\n\ndefineSlots<{\n activator?: (props: { attrs: { onClick: () => void }; isOpen: boolean }) => any;\n default?: (props: { isOpen: boolean; close: () => void }) => any;\n}>();\n\nconst transitioning = ref<boolean>(false);\nconst contentRef = useTemplateRef<HTMLDivElement>('contentRef');\n\nconst leaveTimeout = useTimeoutManager();\n\nconst alive = computed<boolean>(() => get(modelValue) || get(transitioning));\n\nconst style = computed<{ width: string | undefined; maxWidth: string | undefined }>(() => ({\n width: transformPropsUnit(width),\n maxWidth: transformPropsUnit(maxWidth),\n}));\n\nconst dialog = tv({\n slots: {\n root: 'fixed inset-0',\n overlay: 'absolute inset-0 backdrop-blur bg-rui-grey-500/50 dark:bg-black/50',\n content: 'absolute left-1/2 bottom-0 -translate-x-1/2 outline-none overflow-y-auto max-h-[90vh]',\n },\n variants: {\n bottomSheet: {\n true: { content: '' },\n false: { content: 'top-1/2 -translate-y-1/2 bottom-auto' },\n },\n },\n defaultVariants: { bottomSheet: false },\n});\n\nconst ui = computed<ReturnType<typeof dialog>>(() => dialog({ bottomSheet }));\n\nconst dialogAttrs: { onClick: () => void } = {\n onClick: toggle,\n};\n\nconst contentTransition = computed<Record<string, string>>(() => {\n if (!bottomSheet) {\n return {\n enterFromClass: 'opacity-0 scale-95',\n enterActiveClass: 'transition-all ease-out duration-200',\n enterToClass: 'opacity-100 scale-100',\n leaveFromClass: 'opacity-100 scale-100',\n leaveActiveClass: 'transition-all ease-in duration-150',\n leaveToClass: 'opacity-0 scale-95',\n };\n }\n\n return {\n enterFromClass: 'translate-y-full',\n enterActiveClass: 'transition-transform ease-out duration-300',\n enterToClass: 'translate-y-0',\n leaveFromClass: 'translate-y-0',\n leaveActiveClass: 'transition-transform ease-in duration-200',\n leaveToClass: 'translate-y-full',\n };\n});\n\nfunction toggle(): void {\n set(modelValue, !get(modelValue));\n}\n\nfunction close(): void {\n set(modelValue, false);\n}\n\nfunction onEscClick(): void {\n if (!persistent) {\n close();\n }\n emit('click:esc');\n}\n\nfunction onClickOutside(): void {\n if (!persistent) {\n close();\n }\n emit('click:outside');\n}\n\nfunction onLeaveComplete(): void {\n leaveTimeout.clear();\n if (get(transitioning)) {\n set(transitioning, false);\n emit('closed');\n }\n}\n\nwatch(modelValue, (value) => {\n if (!value) {\n set(transitioning, true);\n // Safety fallback if transitionend is not detected\n leaveTimeout.create(onLeaveComplete, 400);\n }\n});\n\nwatch(contentRef, (ref) => {\n if (ref) {\n nextTick(() => ref.focus());\n }\n else {\n onLeaveComplete();\n }\n});\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <slot\n name=\"activator\"\n v-bind=\"{ attrs: dialogAttrs, isOpen: modelValue }\"\n />\n <Teleport to=\"body\">\n <div\n v-if=\"alive\"\n :class=\"ui.root({ class: cn(classNames?.root) })\"\n :style=\"{ zIndex }\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"ariaLabel\"\n tabindex=\"0\"\n v-bind=\"getNonRootAttrs($attrs)\"\n @keydown.esc.stop=\"onEscClick()\"\n >\n <Transition\n enter-from-class=\"opacity-0\"\n enter-active-class=\"transition-opacity ease-out duration-200\"\n enter-to-class=\"opacity-100\"\n leave-from-class=\"opacity-100\"\n leave-active-class=\"transition-opacity ease-in duration-150\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"modelValue\"\n data-id=\"overlay\"\n :class=\"ui.overlay()\"\n @click.stop=\"onClickOutside()\"\n />\n </Transition>\n <Transition\n v-bind=\"contentTransition\"\n @after-leave=\"onLeaveComplete()\"\n >\n <div\n v-if=\"modelValue\"\n ref=\"contentRef\"\n data-id=\"content\"\n :style=\"style\"\n tabindex=\"0\"\n :data-bottom-sheet=\"bottomSheet || undefined\"\n :class=\"ui.content({ class: cn(classNames?.content) ?? cn(contentClass) })\"\n >\n <slot v-bind=\"{ isOpen: modelValue, close }\" />\n </div>\n </Transition>\n </div>\n </Teleport>\n </div>\n</template>\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import RuiMenu_vue_vue_type_script_setup_true_lang_default from "./RuiMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/overlays/menu/RuiMenu.vue
3
+ var RuiMenu_default = RuiMenu_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { RuiMenu_default as default };
6
+
7
+ //# sourceMappingURL=RuiMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuiMenu.js","names":[],"sources":["../../../../src/components/overlays/menu/RuiMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VueClassValue } from '@/types/class-value';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { type FloatingOptions, useFloating } from '@/composables/floating';\nimport { type PopperOptions, toFloatingOptions } from '@/composables/popper';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { cn, tv } from '@/utils/tv';\n\ninterface BaseMenuAttrs { onMouseover?: () => void; onMouseleave?: () => void }\n\ninterface MenuAttrs extends BaseMenuAttrs { onClick?: () => void }\n\nexport interface RuiMenuClassNames {\n root?: VueClassValue;\n wrapper?: VueClassValue;\n menu?: VueClassValue;\n}\n\nexport interface MenuProps {\n openOnHover?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n openDelay?: number;\n closeDelay?: number;\n options?: FloatingOptions;\n /** @deprecated Use `options` instead */\n popper?: PopperOptions;\n classNames?: RuiMenuClassNames;\n /** @deprecated Use `classNames.wrapper` instead */\n wrapperClass?: string | object | string[];\n /** @deprecated Use `classNames.menu` instead */\n menuClass?: string | object | string[];\n closeOnContentClick?: boolean;\n persistOnActivatorClick?: boolean;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n showDetails?: boolean;\n dense?: boolean;\n persistent?: boolean;\n disableAutoFocus?: boolean;\n}\n\ndefineOptions({\n name: 'RuiMenu',\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n openOnHover = false,\n disabled = false,\n fullWidth = false,\n openDelay = 0,\n closeDelay = 0,\n options,\n popper,\n classNames,\n wrapperClass = '',\n menuClass = '',\n closeOnContentClick = false,\n persistOnActivatorClick = false,\n hint,\n errorMessages = [],\n successMessages = [],\n showDetails = false,\n dense = false,\n persistent = false,\n disableAutoFocus = false,\n} = defineProps<MenuProps>();\n\ndefineSlots<{\n activator?: (props: {\n attrs: { onMouseover?: () => void; onMouseleave?: () => void; onClick?: () => void };\n open: boolean;\n disabled: boolean;\n hasError: boolean;\n hasSuccess: boolean;\n }) => any;\n default?: (props: { width: number }) => any;\n}>();\n\nconst click = ref<boolean>(false);\nconst menuContent = useTemplateRef<HTMLElement>('menuContent');\n\nconst FOCUSABLE_ELEMENTS_SELECTOR =\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nconst {\n reference: activator,\n popover: menu,\n open,\n visible,\n currentPlacement,\n leavePending,\n onLeavePending,\n onOpen,\n onClose,\n onLeaveComplete,\n updatePosition,\n} = useFloating(\n () => popper ? toFloatingOptions(popper) : (options ?? {}),\n () => disabled,\n () => openDelay,\n () => closeDelay,\n);\n\nconst { width } = useElementSize(activator);\n\nconst { hasError, hasSuccess } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst menuStyles = tv({\n slots: {\n wrapper: 'relative inline-flex max-w-full',\n popover: 'w-max z-[9999]',\n content: 'rounded overflow-hidden shadow-8 bg-white dark:bg-[#2E2E2E] text-rui-text focus:outline-none py-2',\n details: 'pt-1',\n },\n variants: {\n fullWidth: {\n true: { wrapper: 'w-full' },\n },\n dense: {\n true: { details: 'px-2' },\n false: { details: 'px-4' },\n },\n },\n defaultVariants: { fullWidth: false, dense: false },\n});\n\nconst ui = computed<ReturnType<typeof menuStyles>>(() => menuStyles({\n fullWidth,\n dense,\n}));\n\nconst baseMenuAttrs = computed<BaseMenuAttrs>(() => {\n if (disabled)\n return {};\n\n const clickVal = get(click);\n return {\n onMouseover: () => {\n if (openOnHover)\n onOpen();\n },\n onMouseleave: () => {\n if (openOnHover && !clickVal)\n onClose();\n },\n } satisfies BaseMenuAttrs;\n});\n\nconst menuAttrs = computed<MenuAttrs>(() => {\n if (disabled)\n return {};\n\n return { ...get(baseMenuAttrs), onClick: checkClick };\n});\n\nfunction focusOnContent() {\n const content = get(menuContent);\n if (!content)\n return;\n\n // Focus on the menu container itself\n content.focus();\n}\n\nfunction focusMenu(): void {\n if (disableAutoFocus)\n return;\n\n nextTick(() => focusOnContent());\n}\n\nfunction focusOnActivator() {\n const activatorEl = get(activator);\n if (!activatorEl) {\n return;\n }\n const focusableEl = activatorEl.querySelector<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR);\n if (focusableEl) {\n focusableEl.focus();\n }\n}\n\nfunction onLeave(event?: KeyboardEvent): void {\n if (!get(open))\n return;\n onClose();\n set(click, false);\n event?.stopPropagation();\n\n // Return focus to activator when menu closes\n if (disableAutoFocus) {\n return;\n }\n\n nextTick(() => focusOnActivator());\n}\n\nfunction checkClick(): void {\n if (get(open) && get(click)) {\n if (!persistOnActivatorClick)\n onLeave();\n }\n else {\n onOpen();\n set(click, true);\n }\n}\n\nwatch(modelValue, (value) => {\n if (get(open) === value)\n return;\n\n if (value) {\n onOpen();\n set(click, true);\n }\n else {\n onLeave();\n }\n});\n\nwatch(open, (open) => {\n set(modelValue, open);\n if (open) {\n focusMenu();\n }\n});\n\nonClickOutside(menu, () => {\n if (get(open) && !persistent)\n onLeave();\n}, { ignore: [activator] });\n</script>\n\n<template>\n <div\n :class=\"classNames?.root\"\n @keydown.esc.stop=\"onLeave()\"\n >\n <div\n ref=\"activator\"\n :class=\"ui.wrapper({ class: cn(classNames?.wrapper) ?? cn(wrapperClass as VueClassValue) })\"\n :data-menu-disabled=\"disabled\"\n aria-haspopup=\"true\"\n :aria-expanded=\"open\"\n >\n <slot\n name=\"activator\"\n v-bind=\"{ attrs: menuAttrs, open, disabled, hasError, hasSuccess }\"\n />\n </div>\n <Teleport\n v-if=\"!disabled\"\n to=\"body\"\n >\n <div\n v-if=\"visible\"\n ref=\"menu\"\n :class=\"ui.popover({ class: cn(classNames?.menu) ?? cn(menuClass as VueClassValue) })\"\n role=\"menu\"\n :data-placement=\"currentPlacement\"\n @click=\"closeOnContentClick ? onLeave() : undefined\"\n @keydown.esc.stop=\"onLeave()\"\n >\n <TransitionGroup\n enter-active-class=\"transition ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-1\"\n enter-to-class=\"opacity-100 translate-y-0\"\n leave-active-class=\"transition ease-in duration-150\"\n leave-from-class=\"opacity-100 translate-y-0\"\n leave-to-class=\"opacity-0 translate-y-1\"\n @before-enter=\"updatePosition()\"\n @after-leave=\"leavePending ? onLeaveComplete() : undefined\"\n @before-leave=\"onLeavePending()\"\n >\n <div\n v-if=\"open\"\n ref=\"menuContent\"\n key=\"menu\"\n data-id=\"content\"\n :class=\"ui.content()\"\n tabindex=\"-1\"\n v-bind=\"baseMenuAttrs\"\n >\n <slot v-bind=\"{ width }\" />\n </div>\n </TransitionGroup>\n </div>\n </Teleport>\n <RuiFormTextDetail\n v-if=\"showDetails\"\n :class=\"ui.details()\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":""}
@@ -1,12 +1,24 @@
1
+ import type { VueClassValue } from '../../../types/class-value';
2
+ import { type FloatingOptions } from '../../../composables/floating.js';
1
3
  import { type PopperOptions } from '../../../composables/popper.js';
4
+ export interface RuiMenuClassNames {
5
+ root?: VueClassValue;
6
+ wrapper?: VueClassValue;
7
+ menu?: VueClassValue;
8
+ }
2
9
  export interface MenuProps {
3
10
  openOnHover?: boolean;
4
11
  fullWidth?: boolean;
5
12
  disabled?: boolean;
6
13
  openDelay?: number;
7
14
  closeDelay?: number;
15
+ options?: FloatingOptions;
16
+ /** @deprecated Use `options` instead */
8
17
  popper?: PopperOptions;
18
+ classNames?: RuiMenuClassNames;
19
+ /** @deprecated Use `classNames.wrapper` instead */
9
20
  wrapperClass?: string | object | string[];
21
+ /** @deprecated Use `classNames.menu` instead */
10
22
  menuClass?: string | object | string[];
11
23
  closeOnContentClick?: boolean;
12
24
  persistOnActivatorClick?: boolean;
@@ -0,0 +1,236 @@
1
+ import { cn, tv } from "../../../utils/tv.js";
2
+ import { useFormTextDetail } from "../../../utils/form-text-detail.js";
3
+ import RuiFormTextDetail_default from "../../helpers/RuiFormTextDetail.js";
4
+ import { useFloating } from "../../../composables/floating.js";
5
+ import { toFloatingOptions } from "../../../composables/popper.js";
6
+ import { Teleport, TransitionGroup, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, guardReactiveProps, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, openBlock, ref, renderSlot, unref, useModel, useTemplateRef, watch, withCtx, withKeys, withModifiers } from "vue";
7
+ import { onClickOutside, useElementSize } from "@vueuse/core";
8
+ import { get as get$1, set as set$1 } from "@vueuse/shared";
9
+ //#region src/components/overlays/menu/RuiMenu.vue?vue&type=script&setup=true&lang.ts
10
+ var _hoisted_1 = ["data-menu-disabled", "aria-expanded"];
11
+ var _hoisted_2 = ["data-placement"];
12
+ var FOCUSABLE_ELEMENTS_SELECTOR = "button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])";
13
+ var RuiMenu_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
14
+ name: "RuiMenu",
15
+ __name: "RuiMenu",
16
+ props: /* @__PURE__ */ mergeModels({
17
+ openOnHover: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ fullWidth: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ disabled: {
26
+ type: Boolean,
27
+ default: false
28
+ },
29
+ openDelay: { default: 0 },
30
+ closeDelay: { default: 0 },
31
+ options: {},
32
+ popper: {},
33
+ classNames: {},
34
+ wrapperClass: { default: "" },
35
+ menuClass: { default: "" },
36
+ closeOnContentClick: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ persistOnActivatorClick: {
41
+ type: Boolean,
42
+ default: false
43
+ },
44
+ hint: {},
45
+ errorMessages: { default: () => [] },
46
+ successMessages: { default: () => [] },
47
+ showDetails: {
48
+ type: Boolean,
49
+ default: false
50
+ },
51
+ dense: {
52
+ type: Boolean,
53
+ default: false
54
+ },
55
+ persistent: {
56
+ type: Boolean,
57
+ default: false
58
+ },
59
+ disableAutoFocus: {
60
+ type: Boolean,
61
+ default: false
62
+ }
63
+ }, {
64
+ "modelValue": {
65
+ type: Boolean,
66
+ default: false
67
+ },
68
+ "modelModifiers": {}
69
+ }),
70
+ emits: ["update:modelValue"],
71
+ setup(__props) {
72
+ const modelValue = useModel(__props, "modelValue");
73
+ const click = ref(false);
74
+ const menuContent = useTemplateRef("menuContent");
75
+ const { reference: activator, popover: menu, open, visible, currentPlacement, leavePending, onLeavePending, onOpen, onClose, onLeaveComplete, updatePosition } = useFloating(() => __props.popper ? toFloatingOptions(__props.popper) : __props.options ?? {}, () => __props.disabled, () => __props.openDelay, () => __props.closeDelay);
76
+ const { width } = useElementSize(activator);
77
+ const { hasError, hasSuccess } = useFormTextDetail(() => __props.errorMessages, () => __props.successMessages);
78
+ const menuStyles = tv({
79
+ slots: {
80
+ wrapper: "relative inline-flex max-w-full",
81
+ popover: "w-max z-[9999]",
82
+ content: "rounded overflow-hidden shadow-8 bg-white dark:bg-[#2E2E2E] text-rui-text focus:outline-none py-2",
83
+ details: "pt-1"
84
+ },
85
+ variants: {
86
+ fullWidth: { true: { wrapper: "w-full" } },
87
+ dense: {
88
+ true: { details: "px-2" },
89
+ false: { details: "px-4" }
90
+ }
91
+ },
92
+ defaultVariants: {
93
+ fullWidth: false,
94
+ dense: false
95
+ }
96
+ });
97
+ const ui = computed(() => menuStyles({
98
+ fullWidth: __props.fullWidth,
99
+ dense: __props.dense
100
+ }));
101
+ const baseMenuAttrs = computed(() => {
102
+ if (__props.disabled) return {};
103
+ const clickVal = get$1(click);
104
+ return {
105
+ onMouseover: () => {
106
+ if (__props.openOnHover) onOpen();
107
+ },
108
+ onMouseleave: () => {
109
+ if (__props.openOnHover && !clickVal) onClose();
110
+ }
111
+ };
112
+ });
113
+ const menuAttrs = computed(() => {
114
+ if (__props.disabled) return {};
115
+ return {
116
+ ...get$1(baseMenuAttrs),
117
+ onClick: checkClick
118
+ };
119
+ });
120
+ function focusOnContent() {
121
+ const content = get$1(menuContent);
122
+ if (!content) return;
123
+ content.focus();
124
+ }
125
+ function focusMenu() {
126
+ if (__props.disableAutoFocus) return;
127
+ nextTick(() => focusOnContent());
128
+ }
129
+ function focusOnActivator() {
130
+ const activatorEl = get$1(activator);
131
+ if (!activatorEl) return;
132
+ const focusableEl = activatorEl.querySelector(FOCUSABLE_ELEMENTS_SELECTOR);
133
+ if (focusableEl) focusableEl.focus();
134
+ }
135
+ function onLeave(event) {
136
+ if (!get$1(open)) return;
137
+ onClose();
138
+ set$1(click, false);
139
+ event?.stopPropagation();
140
+ if (__props.disableAutoFocus) return;
141
+ nextTick(() => focusOnActivator());
142
+ }
143
+ function checkClick() {
144
+ if (get$1(open) && get$1(click)) {
145
+ if (!__props.persistOnActivatorClick) onLeave();
146
+ } else {
147
+ onOpen();
148
+ set$1(click, true);
149
+ }
150
+ }
151
+ watch(modelValue, (value) => {
152
+ if (get$1(open) === value) return;
153
+ if (value) {
154
+ onOpen();
155
+ set$1(click, true);
156
+ } else onLeave();
157
+ });
158
+ watch(open, (open) => {
159
+ set$1(modelValue, open);
160
+ if (open) focusMenu();
161
+ });
162
+ onClickOutside(menu, () => {
163
+ if (get$1(open) && !__props.persistent) onLeave();
164
+ }, { ignore: [activator] });
165
+ return (_ctx, _cache) => {
166
+ return openBlock(), createElementBlock("div", {
167
+ class: normalizeClass(__props.classNames?.root),
168
+ onKeydown: _cache[5] || (_cache[5] = withKeys(withModifiers(($event) => onLeave(), ["stop"]), ["esc"]))
169
+ }, [
170
+ createElementVNode("div", {
171
+ ref_key: "activator",
172
+ ref: activator,
173
+ class: normalizeClass(unref(ui).wrapper({ class: unref(cn)(__props.classNames?.wrapper) ?? unref(cn)(__props.wrapperClass) })),
174
+ "data-menu-disabled": __props.disabled,
175
+ "aria-haspopup": "true",
176
+ "aria-expanded": unref(open)
177
+ }, [renderSlot(_ctx.$slots, "activator", normalizeProps(guardReactiveProps({
178
+ attrs: unref(menuAttrs),
179
+ open: unref(open),
180
+ disabled: __props.disabled,
181
+ hasError: unref(hasError),
182
+ hasSuccess: unref(hasSuccess)
183
+ })))], 10, _hoisted_1),
184
+ !__props.disabled ? (openBlock(), createBlock(Teleport, {
185
+ key: 0,
186
+ to: "body"
187
+ }, [unref(visible) ? (openBlock(), createElementBlock("div", {
188
+ key: 0,
189
+ ref_key: "menu",
190
+ ref: menu,
191
+ class: normalizeClass(unref(ui).popover({ class: unref(cn)(__props.classNames?.menu) ?? unref(cn)(__props.menuClass) })),
192
+ role: "menu",
193
+ "data-placement": unref(currentPlacement),
194
+ onClick: _cache[3] || (_cache[3] = ($event) => __props.closeOnContentClick ? onLeave() : void 0),
195
+ onKeydown: _cache[4] || (_cache[4] = withKeys(withModifiers(($event) => onLeave(), ["stop"]), ["esc"]))
196
+ }, [createVNode(TransitionGroup, {
197
+ "enter-active-class": "transition ease-out duration-200",
198
+ "enter-from-class": "opacity-0 translate-y-1",
199
+ "enter-to-class": "opacity-100 translate-y-0",
200
+ "leave-active-class": "transition ease-in duration-150",
201
+ "leave-from-class": "opacity-100 translate-y-0",
202
+ "leave-to-class": "opacity-0 translate-y-1",
203
+ onBeforeEnter: _cache[0] || (_cache[0] = ($event) => unref(updatePosition)()),
204
+ onAfterLeave: _cache[1] || (_cache[1] = ($event) => unref(leavePending) ? unref(onLeaveComplete)() : void 0),
205
+ onBeforeLeave: _cache[2] || (_cache[2] = ($event) => unref(onLeavePending)())
206
+ }, {
207
+ default: withCtx(() => [unref(open) ? (openBlock(), createElementBlock("div", mergeProps({
208
+ ref_key: "menuContent",
209
+ ref: menuContent,
210
+ key: "menu",
211
+ "data-id": "content",
212
+ class: unref(ui).content(),
213
+ tabindex: "-1"
214
+ }, unref(baseMenuAttrs)), [renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ width: unref(width) })))], 16)) : createCommentVNode("", true)]),
215
+ _: 3
216
+ })], 42, _hoisted_2)) : createCommentVNode("", true)])) : createCommentVNode("", true),
217
+ __props.showDetails ? (openBlock(), createBlock(RuiFormTextDetail_default, {
218
+ key: 1,
219
+ class: normalizeClass(unref(ui).details()),
220
+ "error-messages": __props.errorMessages,
221
+ "success-messages": __props.successMessages,
222
+ hint: __props.hint
223
+ }, null, 8, [
224
+ "class",
225
+ "error-messages",
226
+ "success-messages",
227
+ "hint"
228
+ ])) : createCommentVNode("", true)
229
+ ], 34);
230
+ };
231
+ }
232
+ });
233
+ //#endregion
234
+ export { RuiMenu_vue_vue_type_script_setup_true_lang_default as default };
235
+
236
+ //# sourceMappingURL=RuiMenu.vue_vue_type_script_setup_true_lang.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuiMenu.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../../src/components/overlays/menu/RuiMenu.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VueClassValue } from '@/types/class-value';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { type FloatingOptions, useFloating } from '@/composables/floating';\nimport { type PopperOptions, toFloatingOptions } from '@/composables/popper';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { cn, tv } from '@/utils/tv';\n\ninterface BaseMenuAttrs { onMouseover?: () => void; onMouseleave?: () => void }\n\ninterface MenuAttrs extends BaseMenuAttrs { onClick?: () => void }\n\nexport interface RuiMenuClassNames {\n root?: VueClassValue;\n wrapper?: VueClassValue;\n menu?: VueClassValue;\n}\n\nexport interface MenuProps {\n openOnHover?: boolean;\n fullWidth?: boolean;\n disabled?: boolean;\n openDelay?: number;\n closeDelay?: number;\n options?: FloatingOptions;\n /** @deprecated Use `options` instead */\n popper?: PopperOptions;\n classNames?: RuiMenuClassNames;\n /** @deprecated Use `classNames.wrapper` instead */\n wrapperClass?: string | object | string[];\n /** @deprecated Use `classNames.menu` instead */\n menuClass?: string | object | string[];\n closeOnContentClick?: boolean;\n persistOnActivatorClick?: boolean;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n showDetails?: boolean;\n dense?: boolean;\n persistent?: boolean;\n disableAutoFocus?: boolean;\n}\n\ndefineOptions({\n name: 'RuiMenu',\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n openOnHover = false,\n disabled = false,\n fullWidth = false,\n openDelay = 0,\n closeDelay = 0,\n options,\n popper,\n classNames,\n wrapperClass = '',\n menuClass = '',\n closeOnContentClick = false,\n persistOnActivatorClick = false,\n hint,\n errorMessages = [],\n successMessages = [],\n showDetails = false,\n dense = false,\n persistent = false,\n disableAutoFocus = false,\n} = defineProps<MenuProps>();\n\ndefineSlots<{\n activator?: (props: {\n attrs: { onMouseover?: () => void; onMouseleave?: () => void; onClick?: () => void };\n open: boolean;\n disabled: boolean;\n hasError: boolean;\n hasSuccess: boolean;\n }) => any;\n default?: (props: { width: number }) => any;\n}>();\n\nconst click = ref<boolean>(false);\nconst menuContent = useTemplateRef<HTMLElement>('menuContent');\n\nconst FOCUSABLE_ELEMENTS_SELECTOR =\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nconst {\n reference: activator,\n popover: menu,\n open,\n visible,\n currentPlacement,\n leavePending,\n onLeavePending,\n onOpen,\n onClose,\n onLeaveComplete,\n updatePosition,\n} = useFloating(\n () => popper ? toFloatingOptions(popper) : (options ?? {}),\n () => disabled,\n () => openDelay,\n () => closeDelay,\n);\n\nconst { width } = useElementSize(activator);\n\nconst { hasError, hasSuccess } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst menuStyles = tv({\n slots: {\n wrapper: 'relative inline-flex max-w-full',\n popover: 'w-max z-[9999]',\n content: 'rounded overflow-hidden shadow-8 bg-white dark:bg-[#2E2E2E] text-rui-text focus:outline-none py-2',\n details: 'pt-1',\n },\n variants: {\n fullWidth: {\n true: { wrapper: 'w-full' },\n },\n dense: {\n true: { details: 'px-2' },\n false: { details: 'px-4' },\n },\n },\n defaultVariants: { fullWidth: false, dense: false },\n});\n\nconst ui = computed<ReturnType<typeof menuStyles>>(() => menuStyles({\n fullWidth,\n dense,\n}));\n\nconst baseMenuAttrs = computed<BaseMenuAttrs>(() => {\n if (disabled)\n return {};\n\n const clickVal = get(click);\n return {\n onMouseover: () => {\n if (openOnHover)\n onOpen();\n },\n onMouseleave: () => {\n if (openOnHover && !clickVal)\n onClose();\n },\n } satisfies BaseMenuAttrs;\n});\n\nconst menuAttrs = computed<MenuAttrs>(() => {\n if (disabled)\n return {};\n\n return { ...get(baseMenuAttrs), onClick: checkClick };\n});\n\nfunction focusOnContent() {\n const content = get(menuContent);\n if (!content)\n return;\n\n // Focus on the menu container itself\n content.focus();\n}\n\nfunction focusMenu(): void {\n if (disableAutoFocus)\n return;\n\n nextTick(() => focusOnContent());\n}\n\nfunction focusOnActivator() {\n const activatorEl = get(activator);\n if (!activatorEl) {\n return;\n }\n const focusableEl = activatorEl.querySelector<HTMLElement>(FOCUSABLE_ELEMENTS_SELECTOR);\n if (focusableEl) {\n focusableEl.focus();\n }\n}\n\nfunction onLeave(event?: KeyboardEvent): void {\n if (!get(open))\n return;\n onClose();\n set(click, false);\n event?.stopPropagation();\n\n // Return focus to activator when menu closes\n if (disableAutoFocus) {\n return;\n }\n\n nextTick(() => focusOnActivator());\n}\n\nfunction checkClick(): void {\n if (get(open) && get(click)) {\n if (!persistOnActivatorClick)\n onLeave();\n }\n else {\n onOpen();\n set(click, true);\n }\n}\n\nwatch(modelValue, (value) => {\n if (get(open) === value)\n return;\n\n if (value) {\n onOpen();\n set(click, true);\n }\n else {\n onLeave();\n }\n});\n\nwatch(open, (open) => {\n set(modelValue, open);\n if (open) {\n focusMenu();\n }\n});\n\nonClickOutside(menu, () => {\n if (get(open) && !persistent)\n onLeave();\n}, { ignore: [activator] });\n</script>\n\n<template>\n <div\n :class=\"classNames?.root\"\n @keydown.esc.stop=\"onLeave()\"\n >\n <div\n ref=\"activator\"\n :class=\"ui.wrapper({ class: cn(classNames?.wrapper) ?? cn(wrapperClass as VueClassValue) })\"\n :data-menu-disabled=\"disabled\"\n aria-haspopup=\"true\"\n :aria-expanded=\"open\"\n >\n <slot\n name=\"activator\"\n v-bind=\"{ attrs: menuAttrs, open, disabled, hasError, hasSuccess }\"\n />\n </div>\n <Teleport\n v-if=\"!disabled\"\n to=\"body\"\n >\n <div\n v-if=\"visible\"\n ref=\"menu\"\n :class=\"ui.popover({ class: cn(classNames?.menu) ?? cn(menuClass as VueClassValue) })\"\n role=\"menu\"\n :data-placement=\"currentPlacement\"\n @click=\"closeOnContentClick ? onLeave() : undefined\"\n @keydown.esc.stop=\"onLeave()\"\n >\n <TransitionGroup\n enter-active-class=\"transition ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-1\"\n enter-to-class=\"opacity-100 translate-y-0\"\n leave-active-class=\"transition ease-in duration-150\"\n leave-from-class=\"opacity-100 translate-y-0\"\n leave-to-class=\"opacity-0 translate-y-1\"\n @before-enter=\"updatePosition()\"\n @after-leave=\"leavePending ? onLeaveComplete() : undefined\"\n @before-leave=\"onLeavePending()\"\n >\n <div\n v-if=\"open\"\n ref=\"menuContent\"\n key=\"menu\"\n data-id=\"content\"\n :class=\"ui.content()\"\n tabindex=\"-1\"\n v-bind=\"baseMenuAttrs\"\n >\n <slot v-bind=\"{ width }\" />\n </div>\n </TransitionGroup>\n </div>\n </Teleport>\n <RuiFormTextDetail\n v-if=\"showDetails\"\n :class=\"ui.details()\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import RuiNavigationDrawer_vue_vue_type_script_setup_true_lang_default from "./RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/overlays/navigation-drawer/RuiNavigationDrawer.vue
3
+ var RuiNavigationDrawer_default = RuiNavigationDrawer_vue_vue_type_script_setup_true_lang_default;
4
+ //#endregion
5
+ export { RuiNavigationDrawer_default as default };
6
+
7
+ //# sourceMappingURL=RuiNavigationDrawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuiNavigationDrawer.js","names":[],"sources":["../../../../src/components/overlays/navigation-drawer/RuiNavigationDrawer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { MaybeElement } from '@vueuse/core';\nimport type { VueClassValue } from '@/types/class-value';\nimport { useTimeoutManager } from '@/composables/timeout-manager';\nimport { getRootAttrs, transformPropsUnit } from '@/utils/helpers';\nimport { tv } from '@/utils/tv';\n\nexport interface RuiNavigationDrawerClassNames {\n root?: VueClassValue;\n content?: VueClassValue;\n}\n\nexport interface NavigationDrawerProps {\n temporary?: boolean;\n stateless?: boolean;\n width?: string | number;\n miniVariant?: boolean;\n overlay?: boolean;\n position?: 'left' | 'right';\n classNames?: RuiNavigationDrawerClassNames;\n /** @deprecated Use `classNames.content` instead */\n contentClass?: string | object | string[];\n ariaLabel?: string;\n}\n\ndefineOptions({\n name: 'RuiNavigationDrawer',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n temporary = false,\n stateless = false,\n width = 360,\n miniVariant = false,\n overlay = false,\n position = 'left',\n classNames,\n contentClass = '',\n ariaLabel,\n} = defineProps<NavigationDrawerProps>();\n\nconst emit = defineEmits<{\n closed: [];\n}>();\n\ndefineSlots<{\n activator?: (props: { open: boolean; attrs: { onClick: () => void } }) => any;\n default?: (props: { attrs: { onClick: () => void }; close: () => void }) => any;\n}>();\n\nconst transitioning = ref<boolean>(false);\nconst content = useTemplateRef<MaybeElement>('content');\nconst leaveTimeout = useTimeoutManager();\nconst clickOutsideTimeout = useTimeoutManager();\n\nconst alive = computed<boolean>(() => get(modelValue) || get(transitioning) || miniVariant);\n\nconst style = computed<{ width: string | undefined }>(() => ({\n width: transformPropsUnit(width),\n}));\n\nconst activatorAttrs: { onClick: () => void } = {\n onClick: toggle,\n};\n\nconst drawer = tv({\n base: 'transition-[transform,width] duration-200 ease-in-out top-0 h-full fixed text-rui-text bg-white dark:bg-[#363636]',\n variants: {\n position: {\n left: 'left-0',\n right: 'right-0',\n },\n visible: {\n true: 'translate-x-0',\n false: '',\n },\n mini: {\n true: 'translate-x-0',\n false: '',\n },\n withOverlay: {\n true: 'z-[10000]',\n false: 'z-[7]',\n },\n },\n compoundVariants: [\n { position: 'left', visible: false, mini: false, class: '-translate-x-full' },\n { position: 'right', visible: false, mini: false, class: 'translate-x-full' },\n { mini: true, visible: false, class: '!w-14' },\n ],\n defaultVariants: { position: 'left', visible: false, mini: false, withOverlay: false },\n});\n\nconst ui = computed<string>(() => drawer({ position, visible: modelValue.value, mini: miniVariant, withOverlay: overlay }));\n\nfunction toggle(): void {\n set(modelValue, !get(modelValue));\n}\n\nfunction close(): void {\n set(modelValue, false);\n}\n\nfunction onLeaveComplete(): void {\n leaveTimeout.clear();\n if (get(transitioning)) {\n set(transitioning, false);\n emit('closed');\n }\n}\n\nwatch(modelValue, (value) => {\n if (!value) {\n set(transitioning, true);\n // Match CSS transition duration (200ms) + buffer\n leaveTimeout.create(onLeaveComplete, 250);\n }\n});\n\n// Debounce prevents activator click from immediately triggering close\n// (click bubbles to body → onClickOutside fires in the same tick)\nonClickOutside(content, () => {\n if (get(modelValue) && temporary && !stateless) {\n clickOutsideTimeout.create(close, 50);\n }\n});\n</script>\n\n<template>\n <div>\n <slot\n name=\"activator\"\n v-bind=\"{ open: modelValue, attrs: activatorAttrs }\"\n />\n <Teleport to=\"body\">\n <Transition\n v-if=\"overlay\"\n enter-from-class=\"opacity-0\"\n enter-active-class=\"transition-opacity ease-out duration-200\"\n enter-to-class=\"opacity-100\"\n leave-from-class=\"opacity-100\"\n leave-active-class=\"transition-opacity ease-in duration-200\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"modelValue\"\n data-id=\"overlay\"\n class=\"absolute inset-0 backdrop-blur bg-rui-grey-500/50 dark:bg-black/50 z-[10000]\"\n @click.stop=\"close()\"\n />\n </Transition>\n <aside\n v-if=\"alive\"\n ref=\"content\"\n data-id=\"drawer-content\"\n :style=\"style\"\n :data-visible=\"modelValue || undefined\"\n :data-position=\"position\"\n :data-mini=\"miniVariant || undefined\"\n :class=\"[\n ui,\n temporary && modelValue && 'shadow-5',\n classNames?.content ?? contentClass,\n classNames?.root,\n ]\"\n :aria-label=\"ariaLabel\"\n :aria-hidden=\"miniVariant && !modelValue ? 'true' : undefined\"\n v-bind=\"getRootAttrs($attrs)\"\n >\n <slot v-bind=\"{ attrs: activatorAttrs, close }\" />\n </aside>\n </Teleport>\n </div>\n</template>\n"],"mappings":""}
@@ -1,3 +1,8 @@
1
+ import type { VueClassValue } from '../../../types/class-value';
2
+ export interface RuiNavigationDrawerClassNames {
3
+ root?: VueClassValue;
4
+ content?: VueClassValue;
5
+ }
1
6
  export interface NavigationDrawerProps {
2
7
  temporary?: boolean;
3
8
  stateless?: boolean;
@@ -5,6 +10,8 @@ export interface NavigationDrawerProps {
5
10
  miniVariant?: boolean;
6
11
  overlay?: boolean;
7
12
  position?: 'left' | 'right';
13
+ classNames?: RuiNavigationDrawerClassNames;
14
+ /** @deprecated Use `classNames.content` instead */
8
15
  contentClass?: string | object | string[];
9
16
  ariaLabel?: string;
10
17
  }