@rotki/ui-library 2.14.1 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (804) 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 +21 -2
  223. package/dist/components/logos/use-logo-sources.js +79 -30
  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/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js +1440 -0
  448. package/dist/node_modules/.pnpm/tailwind-merge@2.6.1/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -0
  449. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js +91 -0
  450. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-LQJYWU4O.js.map +1 -0
  451. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js +217 -0
  452. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/chunk-RZF76H2U.js.map +1 -0
  453. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js +33 -0
  454. package/dist/node_modules/.pnpm/tailwind-variants@3.2.2_tailwind-merge@2.6.1_tailwindcss@3.4.19_tsx@4.21.0_yaml@2.8.2_/node_modules/tailwind-variants/dist/index.js.map +1 -0
  455. package/dist/style.css +2791 -10271
  456. package/dist/theme/index.js +160 -198
  457. package/dist/theme/index.js.map +1 -1
  458. package/dist/types/class-value.d.ts +5 -0
  459. package/dist/types/stepper.js +16 -15
  460. package/dist/types/stepper.js.map +1 -1
  461. package/dist/types/theme.js +17 -22
  462. package/dist/types/theme.js.map +1 -1
  463. package/dist/utils/assert.js +12 -12
  464. package/dist/utils/assert.js.map +1 -1
  465. package/dist/utils/blockie.js +58 -65
  466. package/dist/utils/blockie.js.map +1 -1
  467. package/dist/utils/form-text-detail.d.ts +4 -2
  468. package/dist/utils/form-text-detail.js +29 -27
  469. package/dist/utils/form-text-detail.js.map +1 -1
  470. package/dist/utils/helpers.js +60 -35
  471. package/dist/utils/helpers.js.map +1 -1
  472. package/dist/utils/is-equal.js +23 -33
  473. package/dist/utils/is-equal.js.map +1 -1
  474. package/dist/utils/tv.d.ts +16 -0
  475. package/dist/utils/tv.js +23 -0
  476. package/dist/utils/tv.js.map +1 -0
  477. package/dist/vite-plugin/index.js +144 -155
  478. package/dist/vite-plugin/index.js.map +1 -1
  479. package/dist/vite-plugin/scanner.js +46 -52
  480. package/dist/vite-plugin/scanner.js.map +1 -1
  481. package/dist/web-types.json +214 -39
  482. package/package.json +30 -31
  483. package/dist/_virtual/_plugin-vue_export-helper.js +0 -11
  484. package/dist/_virtual/_plugin-vue_export-helper.js.map +0 -1
  485. package/dist/components/accordions/accordion/RuiAccordion.vue.js +0 -89
  486. package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +0 -1
  487. package/dist/components/accordions/accordion/RuiAccordion.vue2.js +0 -5
  488. package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +0 -1
  489. package/dist/components/accordions/accordions/RuiAccordions.vue.js +0 -79
  490. package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +0 -1
  491. package/dist/components/accordions/accordions/RuiAccordions.vue2.js +0 -5
  492. package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +0 -1
  493. package/dist/components/alerts/RuiAlert.vue.js +0 -11
  494. package/dist/components/alerts/RuiAlert.vue.js.map +0 -1
  495. package/dist/components/alerts/RuiAlert.vue2.js +0 -115
  496. package/dist/components/alerts/RuiAlert.vue2.js.map +0 -1
  497. package/dist/components/alerts/RuiAlert.vue3.js +0 -50
  498. package/dist/components/alerts/RuiAlert.vue3.js.map +0 -1
  499. package/dist/components/buttons/button/RuiButton.vue.js +0 -11
  500. package/dist/components/buttons/button/RuiButton.vue.js.map +0 -1
  501. package/dist/components/buttons/button/RuiButton.vue2.js +0 -93
  502. package/dist/components/buttons/button/RuiButton.vue2.js.map +0 -1
  503. package/dist/components/buttons/button/RuiButton.vue3.js +0 -74
  504. package/dist/components/buttons/button/RuiButton.vue3.js.map +0 -1
  505. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +0 -11
  506. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +0 -1
  507. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +0 -113
  508. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +0 -1
  509. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +0 -58
  510. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +0 -1
  511. package/dist/components/calendar/RuiCalendar.vue.js +0 -139
  512. package/dist/components/calendar/RuiCalendar.vue.js.map +0 -1
  513. package/dist/components/calendar/RuiCalendar.vue3.js +0 -6
  514. package/dist/components/calendar/RuiCalendar.vue3.js.map +0 -1
  515. package/dist/components/calendar/RuiCalendarGrid.vue.js +0 -8
  516. package/dist/components/calendar/RuiCalendarGrid.vue.js.map +0 -1
  517. package/dist/components/calendar/RuiCalendarGrid.vue2.js +0 -151
  518. package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +0 -1
  519. package/dist/components/calendar/RuiCalendarHeader.vue.js +0 -8
  520. package/dist/components/calendar/RuiCalendarHeader.vue.js.map +0 -1
  521. package/dist/components/calendar/RuiCalendarHeader.vue2.js +0 -111
  522. package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +0 -1
  523. package/dist/components/calendar/RuiCalendarMenu.vue.js +0 -8
  524. package/dist/components/calendar/RuiCalendarMenu.vue.js.map +0 -1
  525. package/dist/components/calendar/RuiCalendarMenu.vue2.js +0 -269
  526. package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +0 -1
  527. package/dist/components/cards/RuiCard.vue.js +0 -11
  528. package/dist/components/cards/RuiCard.vue.js.map +0 -1
  529. package/dist/components/cards/RuiCard.vue2.js +0 -88
  530. package/dist/components/cards/RuiCard.vue2.js.map +0 -1
  531. package/dist/components/cards/RuiCard.vue3.js +0 -40
  532. package/dist/components/cards/RuiCard.vue3.js.map +0 -1
  533. package/dist/components/cards/RuiCardHeader.vue.js +0 -11
  534. package/dist/components/cards/RuiCardHeader.vue.js.map +0 -1
  535. package/dist/components/cards/RuiCardHeader.vue2.js +0 -51
  536. package/dist/components/cards/RuiCardHeader.vue2.js.map +0 -1
  537. package/dist/components/cards/RuiCardHeader.vue3.js +0 -27
  538. package/dist/components/cards/RuiCardHeader.vue3.js.map +0 -1
  539. package/dist/components/chips/RuiChip.vue.js +0 -11
  540. package/dist/components/chips/RuiChip.vue.js.map +0 -1
  541. package/dist/components/chips/RuiChip.vue2.js +0 -90
  542. package/dist/components/chips/RuiChip.vue2.js.map +0 -1
  543. package/dist/components/chips/RuiChip.vue3.js +0 -88
  544. package/dist/components/chips/RuiChip.vue3.js.map +0 -1
  545. package/dist/components/color-picker/RuiColorBoard.vue.js +0 -11
  546. package/dist/components/color-picker/RuiColorBoard.vue.js.map +0 -1
  547. package/dist/components/color-picker/RuiColorBoard.vue2.js +0 -102
  548. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +0 -1
  549. package/dist/components/color-picker/RuiColorBoard.vue3.js +0 -18
  550. package/dist/components/color-picker/RuiColorBoard.vue3.js.map +0 -1
  551. package/dist/components/color-picker/RuiColorDisplay.vue.js +0 -47
  552. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +0 -1
  553. package/dist/components/color-picker/RuiColorDisplay.vue2.js +0 -5
  554. package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +0 -1
  555. package/dist/components/color-picker/RuiColorHue.vue.js +0 -11
  556. package/dist/components/color-picker/RuiColorHue.vue.js.map +0 -1
  557. package/dist/components/color-picker/RuiColorHue.vue2.js +0 -92
  558. package/dist/components/color-picker/RuiColorHue.vue2.js.map +0 -1
  559. package/dist/components/color-picker/RuiColorHue.vue3.js +0 -12
  560. package/dist/components/color-picker/RuiColorHue.vue3.js.map +0 -1
  561. package/dist/components/color-picker/RuiColorInput.vue.js +0 -141
  562. package/dist/components/color-picker/RuiColorInput.vue.js.map +0 -1
  563. package/dist/components/color-picker/RuiColorInput.vue2.js +0 -5
  564. package/dist/components/color-picker/RuiColorInput.vue2.js.map +0 -1
  565. package/dist/components/color-picker/RuiColorPicker.vue.js +0 -81
  566. package/dist/components/color-picker/RuiColorPicker.vue.js.map +0 -1
  567. package/dist/components/color-picker/RuiColorPicker.vue2.js +0 -5
  568. package/dist/components/color-picker/RuiColorPicker.vue2.js.map +0 -1
  569. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +0 -11
  570. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +0 -1
  571. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +0 -394
  572. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +0 -1
  573. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +0 -66
  574. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +0 -1
  575. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +0 -120
  576. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +0 -1
  577. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +0 -5
  578. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +0 -1
  579. package/dist/components/divider/RuiDivider.vue.js +0 -25
  580. package/dist/components/divider/RuiDivider.vue.js.map +0 -1
  581. package/dist/components/divider/RuiDivider.vue2.js +0 -5
  582. package/dist/components/divider/RuiDivider.vue2.js.map +0 -1
  583. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +0 -11
  584. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +0 -1
  585. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +0 -594
  586. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +0 -1
  587. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +0 -60
  588. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +0 -1
  589. package/dist/components/forms/checkbox/RuiCheckbox.vue.js +0 -11
  590. package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +0 -1
  591. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +0 -148
  592. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +0 -1
  593. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +0 -54
  594. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +0 -1
  595. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +0 -11
  596. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +0 -1
  597. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +0 -122
  598. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +0 -1
  599. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +0 -54
  600. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +0 -1
  601. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +0 -11
  602. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +0 -1
  603. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +0 -84
  604. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +0 -1
  605. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +0 -9
  606. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +0 -1
  607. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +0 -84
  608. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +0 -1
  609. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +0 -5
  610. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +0 -1
  611. package/dist/components/forms/select/RuiMenuSelect.vue.js +0 -11
  612. package/dist/components/forms/select/RuiMenuSelect.vue.js.map +0 -1
  613. package/dist/components/forms/select/RuiMenuSelect.vue2.js +0 -310
  614. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +0 -1
  615. package/dist/components/forms/select/RuiMenuSelect.vue3.js +0 -60
  616. package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +0 -1
  617. package/dist/components/forms/select/RuiSimpleSelect.vue.js +0 -11
  618. package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +0 -1
  619. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +0 -62
  620. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +0 -1
  621. package/dist/components/forms/select/RuiSimpleSelect.vue3.js +0 -21
  622. package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +0 -1
  623. package/dist/components/forms/slider/RuiSlider.vue.js +0 -11
  624. package/dist/components/forms/slider/RuiSlider.vue.js.map +0 -1
  625. package/dist/components/forms/slider/RuiSlider.vue2.js +0 -173
  626. package/dist/components/forms/slider/RuiSlider.vue2.js.map +0 -1
  627. package/dist/components/forms/slider/RuiSlider.vue3.js +0 -80
  628. package/dist/components/forms/slider/RuiSlider.vue3.js.map +0 -1
  629. package/dist/components/forms/switch/RuiSwitch.vue.js +0 -11
  630. package/dist/components/forms/switch/RuiSwitch.vue.js.map +0 -1
  631. package/dist/components/forms/switch/RuiSwitch.vue2.js +0 -99
  632. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +0 -1
  633. package/dist/components/forms/switch/RuiSwitch.vue3.js +0 -54
  634. package/dist/components/forms/switch/RuiSwitch.vue3.js.map +0 -1
  635. package/dist/components/forms/text-area/RuiTextArea.vue.js +0 -11
  636. package/dist/components/forms/text-area/RuiTextArea.vue.js.map +0 -1
  637. package/dist/components/forms/text-area/RuiTextArea.vue2.js +0 -229
  638. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +0 -1
  639. package/dist/components/forms/text-area/RuiTextArea.vue3.js +0 -92
  640. package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +0 -1
  641. package/dist/components/forms/text-field/RuiTextField.vue.js +0 -11
  642. package/dist/components/forms/text-field/RuiTextField.vue.js.map +0 -1
  643. package/dist/components/forms/text-field/RuiTextField.vue2.js +0 -202
  644. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +0 -1
  645. package/dist/components/forms/text-field/RuiTextField.vue3.js +0 -89
  646. package/dist/components/forms/text-field/RuiTextField.vue3.js.map +0 -1
  647. package/dist/components/helpers/RuiFormTextDetail.vue.js +0 -50
  648. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +0 -1
  649. package/dist/components/helpers/RuiFormTextDetail.vue2.js +0 -5
  650. package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +0 -1
  651. package/dist/components/icons/RuiIcon.vue.js +0 -11
  652. package/dist/components/icons/RuiIcon.vue.js.map +0 -1
  653. package/dist/components/icons/RuiIcon.vue2.js +0 -57
  654. package/dist/components/icons/RuiIcon.vue2.js.map +0 -1
  655. package/dist/components/icons/RuiIcon.vue3.js +0 -29
  656. package/dist/components/icons/RuiIcon.vue3.js.map +0 -1
  657. package/dist/components/index.js.map +0 -1
  658. package/dist/components/loaders/RuiSkeletonBase.vue.js +0 -11
  659. package/dist/components/loaders/RuiSkeletonBase.vue.js.map +0 -1
  660. package/dist/components/loaders/RuiSkeletonBase.vue2.js +0 -22
  661. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +0 -1
  662. package/dist/components/loaders/RuiSkeletonBase.vue3.js +0 -12
  663. package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +0 -1
  664. package/dist/components/loaders/RuiSkeletonLoader.vue.js +0 -11
  665. package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +0 -1
  666. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +0 -47
  667. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +0 -1
  668. package/dist/components/loaders/RuiSkeletonLoader.vue3.js +0 -33
  669. package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +0 -1
  670. package/dist/components/logos/RuiLogo.vue.js +0 -110
  671. package/dist/components/logos/RuiLogo.vue.js.map +0 -1
  672. package/dist/components/logos/RuiLogo.vue2.js +0 -5
  673. package/dist/components/logos/RuiLogo.vue2.js.map +0 -1
  674. package/dist/components/logos/logo.svg.js +0 -5
  675. package/dist/components/logos/logo.svg.js.map +0 -1
  676. package/dist/components/overlays/badge/RuiBadge.vue.js +0 -11
  677. package/dist/components/overlays/badge/RuiBadge.vue.js.map +0 -1
  678. package/dist/components/overlays/badge/RuiBadge.vue2.js +0 -93
  679. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +0 -1
  680. package/dist/components/overlays/badge/RuiBadge.vue3.js +0 -77
  681. package/dist/components/overlays/badge/RuiBadge.vue3.js.map +0 -1
  682. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +0 -45
  683. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +0 -1
  684. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +0 -5
  685. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +0 -1
  686. package/dist/components/overlays/dialog/RuiDialog.vue.js +0 -11
  687. package/dist/components/overlays/dialog/RuiDialog.vue.js.map +0 -1
  688. package/dist/components/overlays/dialog/RuiDialog.vue2.js +0 -195
  689. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +0 -1
  690. package/dist/components/overlays/dialog/RuiDialog.vue3.js +0 -18
  691. package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +0 -1
  692. package/dist/components/overlays/menu/RuiMenu.vue.js +0 -11
  693. package/dist/components/overlays/menu/RuiMenu.vue.js.map +0 -1
  694. package/dist/components/overlays/menu/RuiMenu.vue2.js +0 -214
  695. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +0 -1
  696. package/dist/components/overlays/menu/RuiMenu.vue3.js +0 -21
  697. package/dist/components/overlays/menu/RuiMenu.vue3.js.map +0 -1
  698. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +0 -11
  699. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +0 -1
  700. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +0 -164
  701. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +0 -1
  702. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +0 -28
  703. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +0 -1
  704. package/dist/components/overlays/notification/RuiNotification.vue.js +0 -79
  705. package/dist/components/overlays/notification/RuiNotification.vue.js.map +0 -1
  706. package/dist/components/overlays/notification/RuiNotification.vue2.js +0 -5
  707. package/dist/components/overlays/notification/RuiNotification.vue2.js.map +0 -1
  708. package/dist/components/overlays/tooltip/RuiTooltip.vue.js +0 -11
  709. package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +0 -1
  710. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +0 -112
  711. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +0 -1
  712. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +0 -27
  713. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +0 -1
  714. package/dist/components/progress/RuiProgress.vue.js +0 -11
  715. package/dist/components/progress/RuiProgress.vue.js.map +0 -1
  716. package/dist/components/progress/RuiProgress.vue2.js +0 -92
  717. package/dist/components/progress/RuiProgress.vue2.js.map +0 -1
  718. package/dist/components/progress/RuiProgress.vue3.js +0 -48
  719. package/dist/components/progress/RuiProgress.vue3.js.map +0 -1
  720. package/dist/components/steppers/RuiFooterStepper.vue.js +0 -11
  721. package/dist/components/steppers/RuiFooterStepper.vue.js.map +0 -1
  722. package/dist/components/steppers/RuiFooterStepper.vue2.js +0 -150
  723. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +0 -1
  724. package/dist/components/steppers/RuiFooterStepper.vue3.js +0 -31
  725. package/dist/components/steppers/RuiFooterStepper.vue3.js.map +0 -1
  726. package/dist/components/steppers/RuiStepper.vue.js +0 -11
  727. package/dist/components/steppers/RuiStepper.vue.js.map +0 -1
  728. package/dist/components/steppers/RuiStepper.vue2.js +0 -133
  729. package/dist/components/steppers/RuiStepper.vue2.js.map +0 -1
  730. package/dist/components/steppers/RuiStepper.vue3.js +0 -58
  731. package/dist/components/steppers/RuiStepper.vue3.js.map +0 -1
  732. package/dist/components/steppers/RuiStepperCustomIcon.vue.js +0 -11
  733. package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +0 -1
  734. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +0 -38
  735. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +0 -1
  736. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +0 -15
  737. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +0 -1
  738. package/dist/components/steppers/RuiStepperIcon.vue.js +0 -11
  739. package/dist/components/steppers/RuiStepperIcon.vue.js.map +0 -1
  740. package/dist/components/steppers/RuiStepperIcon.vue2.js +0 -43
  741. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +0 -1
  742. package/dist/components/steppers/RuiStepperIcon.vue3.js +0 -21
  743. package/dist/components/steppers/RuiStepperIcon.vue3.js.map +0 -1
  744. package/dist/components/tables/RuiDataTable.vue.js +0 -11
  745. package/dist/components/tables/RuiDataTable.vue.js.map +0 -1
  746. package/dist/components/tables/RuiDataTable.vue2.js +0 -541
  747. package/dist/components/tables/RuiDataTable.vue2.js.map +0 -1
  748. package/dist/components/tables/RuiDataTable.vue3.js +0 -76
  749. package/dist/components/tables/RuiDataTable.vue3.js.map +0 -1
  750. package/dist/components/tables/RuiExpandButton.vue.js +0 -11
  751. package/dist/components/tables/RuiExpandButton.vue.js.map +0 -1
  752. package/dist/components/tables/RuiExpandButton.vue2.js +0 -44
  753. package/dist/components/tables/RuiExpandButton.vue2.js.map +0 -1
  754. package/dist/components/tables/RuiExpandButton.vue3.js +0 -15
  755. package/dist/components/tables/RuiExpandButton.vue3.js.map +0 -1
  756. package/dist/components/tables/RuiTableHead.vue.js +0 -11
  757. package/dist/components/tables/RuiTableHead.vue.js.map +0 -1
  758. package/dist/components/tables/RuiTableHead.vue2.js +0 -195
  759. package/dist/components/tables/RuiTableHead.vue2.js.map +0 -1
  760. package/dist/components/tables/RuiTableHead.vue3.js +0 -69
  761. package/dist/components/tables/RuiTableHead.vue3.js.map +0 -1
  762. package/dist/components/tables/RuiTablePagination.vue.js +0 -11
  763. package/dist/components/tables/RuiTablePagination.vue.js.map +0 -1
  764. package/dist/components/tables/RuiTablePagination.vue2.js +0 -204
  765. package/dist/components/tables/RuiTablePagination.vue2.js.map +0 -1
  766. package/dist/components/tables/RuiTablePagination.vue3.js +0 -28
  767. package/dist/components/tables/RuiTablePagination.vue3.js.map +0 -1
  768. package/dist/components/tables/table_no_data_placeholder.svg.js +0 -5
  769. package/dist/components/tables/table_no_data_placeholder.svg.js.map +0 -1
  770. package/dist/components/tables/table_no_data_placeholder_dark.svg.js +0 -5
  771. package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +0 -1
  772. package/dist/components/tabs/tab/RuiTab.vue.js +0 -11
  773. package/dist/components/tabs/tab/RuiTab.vue.js.map +0 -1
  774. package/dist/components/tabs/tab/RuiTab.vue2.js +0 -167
  775. package/dist/components/tabs/tab/RuiTab.vue2.js.map +0 -1
  776. package/dist/components/tabs/tab/RuiTab.vue3.js +0 -17
  777. package/dist/components/tabs/tab/RuiTab.vue3.js.map +0 -1
  778. package/dist/components/tabs/tab-item/RuiTabItem.vue.js +0 -11
  779. package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +0 -1
  780. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +0 -52
  781. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +0 -1
  782. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +0 -9
  783. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +0 -1
  784. package/dist/components/tabs/tab-items/RuiTabItems.vue.js +0 -11
  785. package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +0 -1
  786. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +0 -90
  787. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +0 -1
  788. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +0 -9
  789. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +0 -1
  790. package/dist/components/tabs/tabs/RuiTabs.vue.js +0 -11
  791. package/dist/components/tabs/tabs/RuiTabs.vue.js.map +0 -1
  792. package/dist/components/tabs/tabs/RuiTabs.vue2.js +0 -288
  793. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +0 -1
  794. package/dist/components/tabs/tabs/RuiTabs.vue3.js +0 -20
  795. package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +0 -1
  796. package/dist/components/time-picker/RuiTimePicker.vue.js +0 -11
  797. package/dist/components/time-picker/RuiTimePicker.vue.js.map +0 -1
  798. package/dist/components/time-picker/RuiTimePicker.vue2.js +0 -463
  799. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +0 -1
  800. package/dist/components/time-picker/RuiTimePicker.vue3.js +0 -21
  801. package/dist/components/time-picker/RuiTimePicker.vue3.js.map +0 -1
  802. package/dist/composables/forms/use-label-with-quote.js +0 -14
  803. package/dist/composables/forms/use-label-with-quote.js.map +0 -1
  804. package/dist/composables/index.js.map +0 -1
@@ -1,178 +1,23 @@
1
- import { createPopper } from "@popperjs/core";
2
- import { useResizeObserver, isDefined, unrefElement } from "@vueuse/core";
3
- import { ref, shallowRef, computed, onMounted, watchEffect } from "vue";
4
- import { useTimeoutManager } from "./timeout-manager.js";
5
- import { get, set } from "@vueuse/shared";
6
- const DEFAULT_POPPER_OPTIONS = {
7
- adaptive: true,
8
- gpuAcceleration: true,
9
- locked: false,
10
- offsetDistance: 8,
11
- offsetSkid: 0,
12
- overflowPadding: 8,
13
- placement: "bottom",
14
- resize: true,
15
- scroll: true,
16
- strategy: "absolute"
17
- };
18
- function usePopper(options, disabled = shallowRef(false), openDelay = shallowRef(0), closeDelay = shallowRef(0), virtualReference) {
19
- const reference = ref();
20
- const popper = ref();
21
- const instance = ref();
22
- const open = shallowRef(false);
23
- const popperEnter = shallowRef(false);
24
- const leavePending = shallowRef(false);
25
- const openTimeoutManager = useTimeoutManager();
26
- const closeTimeoutManager = useTimeoutManager();
27
- const onPopperLeave = () => {
28
- set(popperEnter, false);
29
- };
30
- const updatePopper = async () => {
31
- await get(instance)?.update();
32
- };
33
- const onOpen = (immediate = false) => {
34
- if (get(disabled))
35
- return;
36
- closeTimeoutManager.clear();
37
- set(leavePending, false);
38
- if (!openTimeoutManager.isActive()) {
39
- set(popperEnter, true);
40
- openTimeoutManager.create(
41
- () => {
42
- set(open, true);
43
- },
44
- immediate ? 0 : get(openDelay)
45
- );
46
- }
47
- };
48
- const onClose = (immediate = false) => {
49
- if (get(disabled))
50
- return;
51
- openTimeoutManager.clear();
52
- if (!closeTimeoutManager.isActive()) {
53
- closeTimeoutManager.create(
54
- () => {
55
- if (!get(open))
56
- onPopperLeave();
57
- set(open, false);
58
- },
59
- immediate ? 0 : get(closeDelay)
60
- );
61
- }
62
- };
63
- const onLeavePending = () => {
64
- set(leavePending, true);
65
- };
66
- const modifiers = computed(() => {
67
- const {
68
- adaptive = DEFAULT_POPPER_OPTIONS.adaptive,
69
- gpuAcceleration = DEFAULT_POPPER_OPTIONS.gpuAcceleration,
70
- locked = DEFAULT_POPPER_OPTIONS.locked,
71
- offsetDistance = DEFAULT_POPPER_OPTIONS.offsetDistance,
72
- offsetSkid = DEFAULT_POPPER_OPTIONS.offsetSkid,
73
- overflowPadding = DEFAULT_POPPER_OPTIONS.overflowPadding,
74
- resize = DEFAULT_POPPER_OPTIONS.resize,
75
- scroll = DEFAULT_POPPER_OPTIONS.scroll
76
- } = get(options);
77
- return [
78
- {
79
- enabled: false,
80
- name: "hide"
81
- },
82
- {
83
- enabled: !locked,
84
- name: "flip"
85
- },
86
- {
87
- name: "preventOverflow",
88
- options: {
89
- padding: overflowPadding
90
- }
91
- },
92
- {
93
- name: "offset",
94
- options: {
95
- offset: [offsetSkid, offsetDistance]
96
- }
97
- },
98
- {
99
- name: "computeStyles",
100
- options: {
101
- adaptive,
102
- gpuAcceleration
103
- }
104
- },
105
- {
106
- name: "eventListeners",
107
- options: {
108
- resize,
109
- scroll
110
- }
111
- },
112
- {
113
- name: "arrow",
114
- options: {
115
- padding: 4
116
- }
117
- }
118
- ];
119
- });
120
- const popperConfig = computed(() => {
121
- const {
122
- placement = DEFAULT_POPPER_OPTIONS.placement,
123
- strategy = DEFAULT_POPPER_OPTIONS.strategy
124
- } = get(options);
125
- return {
126
- modifiers: get(modifiers),
127
- placement,
128
- strategy
129
- };
130
- });
131
- function getValidElements() {
132
- if (!get(popper) || !get(reference) && !get(virtualReference)) {
133
- return null;
134
- }
135
- const popperEl = unrefElement(popper);
136
- const referenceEl = get(virtualReference) || unrefElement(reference);
137
- if (!(popperEl instanceof HTMLElement) || !referenceEl) {
138
- return null;
139
- }
140
- return { popperEl, referenceEl };
141
- }
142
- function initializePopper(onInvalidate) {
143
- const elements = getValidElements();
144
- if (!elements)
145
- return;
146
- const { popperEl, referenceEl } = elements;
147
- const value = createPopper(referenceEl, popperEl, get(popperConfig));
148
- set(instance, value);
149
- onInvalidate(value.destroy);
150
- }
151
- useResizeObserver([reference, popper], async () => {
152
- if (isDefined(instance))
153
- await get(instance).update();
154
- });
155
- onMounted(() => {
156
- watchEffect((onInvalidate) => {
157
- initializePopper(onInvalidate);
158
- });
159
- });
160
- return {
161
- instance,
162
- leavePending,
163
- onClose,
164
- onLeavePending,
165
- onOpen,
166
- onPopperLeave,
167
- open,
168
- popper,
169
- popperEnter,
170
- reference,
171
- updatePopper
172
- };
1
+ import { Placement, Strategy } from "./floating.js";
2
+ //#region src/composables/popper.ts
3
+ /** @deprecated Use FloatingOptions directly. Will be removed in next major. */
4
+ function toFloatingOptions(opts) {
5
+ return {
6
+ autoUpdate: {
7
+ resize: opts.resize ?? true,
8
+ scroll: opts.scroll ?? true
9
+ },
10
+ flip: !(opts.locked ?? false),
11
+ offset: {
12
+ crossAxis: opts.offsetSkid ?? 0,
13
+ mainAxis: opts.offsetDistance ?? 8
14
+ },
15
+ placement: opts.placement ?? Placement.bottom,
16
+ shiftPadding: opts.overflowPadding ?? 8,
17
+ strategy: opts.strategy ?? Strategy.absolute
18
+ };
173
19
  }
174
- export {
175
- DEFAULT_POPPER_OPTIONS,
176
- usePopper
177
- };
178
- //# sourceMappingURL=popper.js.map
20
+ //#endregion
21
+ export { toFloatingOptions };
22
+
23
+ //# sourceMappingURL=popper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"popper.js","sources":["../../src/composables/popper.ts"],"sourcesContent":["import {\n createPopper,\n type Instance,\n type Placement,\n type PositioningStrategy,\n type StrictModifiers,\n type VirtualElement,\n} from '@popperjs/core';\nimport { type MaybeElement, unrefElement } from '@vueuse/core';\nimport { onMounted, type Ref, ref, watchEffect } from 'vue';\nimport { useTimeoutManager } from './timeout-manager';\n\nexport interface PopperOptions {\n locked?: boolean;\n overflowPadding?: number;\n offsetDistance?: number;\n offsetSkid?: number;\n placement?: Placement;\n strategy?: PositioningStrategy;\n gpuAcceleration?: boolean;\n adaptive?: boolean;\n scroll?: boolean;\n resize?: boolean;\n}\n\nexport const DEFAULT_POPPER_OPTIONS: PopperOptions = {\n adaptive: true,\n gpuAcceleration: true,\n locked: false,\n offsetDistance: 8,\n offsetSkid: 0,\n overflowPadding: 8,\n placement: 'bottom',\n resize: true,\n scroll: true,\n strategy: 'absolute',\n};\n\ninterface UsePopperReturn {\n instance: Ref<Instance | undefined>;\n leavePending: Ref<boolean>;\n onClose: (immediate?: boolean) => void;\n onLeavePending: () => void;\n onOpen: (immediate?: boolean) => void;\n onPopperLeave: () => void;\n open: Ref<boolean, boolean>;\n popper: Ref<MaybeElement>;\n popperEnter: Ref<boolean>;\n reference: Ref<HTMLElement | undefined>;\n updatePopper: () => Promise<void>;\n}\n\nexport function usePopper(\n options: Ref<PopperOptions>,\n disabled: Ref<boolean> = shallowRef(false),\n openDelay: Ref<number> = shallowRef(0),\n closeDelay: Ref<number> = shallowRef(0),\n virtualReference?: Ref<Element | VirtualElement>,\n): UsePopperReturn {\n const reference = ref<HTMLElement>();\n const popper = ref<MaybeElement>();\n const instance = ref<Instance>();\n const open = shallowRef<boolean>(false);\n const popperEnter = shallowRef<boolean>(false);\n const leavePending = shallowRef<boolean>(false);\n\n const openTimeoutManager = useTimeoutManager();\n const closeTimeoutManager = useTimeoutManager();\n\n const onPopperLeave = (): void => {\n set(popperEnter, false);\n };\n\n const updatePopper = async (): Promise<void> => {\n await get(instance)?.update();\n };\n\n const onOpen = (immediate: boolean = false): void => {\n if (get(disabled))\n return;\n\n closeTimeoutManager.clear();\n\n set(leavePending, false);\n if (!openTimeoutManager.isActive()) {\n set(popperEnter, true);\n\n openTimeoutManager.create(\n () => {\n set(open, true);\n },\n immediate ? 0 : get(openDelay),\n );\n }\n };\n\n const onClose = (immediate: boolean = false): void => {\n if (get(disabled))\n return;\n\n openTimeoutManager.clear();\n\n if (!closeTimeoutManager.isActive()) {\n closeTimeoutManager.create(\n () => {\n if (!get(open))\n onPopperLeave();\n\n set(open, false);\n },\n immediate ? 0 : get(closeDelay),\n );\n }\n };\n\n const onLeavePending = (): void => {\n set(leavePending, true);\n };\n\n const modifiers = computed<StrictModifiers[]>(() => {\n const {\n adaptive = DEFAULT_POPPER_OPTIONS.adaptive,\n gpuAcceleration = DEFAULT_POPPER_OPTIONS.gpuAcceleration,\n locked = DEFAULT_POPPER_OPTIONS.locked,\n offsetDistance = DEFAULT_POPPER_OPTIONS.offsetDistance,\n offsetSkid = DEFAULT_POPPER_OPTIONS.offsetSkid,\n overflowPadding = DEFAULT_POPPER_OPTIONS.overflowPadding,\n resize = DEFAULT_POPPER_OPTIONS.resize,\n scroll = DEFAULT_POPPER_OPTIONS.scroll,\n } = get(options);\n\n return [\n {\n enabled: false,\n name: 'hide',\n },\n {\n enabled: !locked,\n name: 'flip',\n },\n {\n name: 'preventOverflow',\n options: {\n padding: overflowPadding,\n },\n },\n {\n name: 'offset',\n options: {\n offset: [offsetSkid, offsetDistance],\n },\n },\n {\n name: 'computeStyles',\n options: {\n adaptive,\n gpuAcceleration,\n },\n },\n {\n name: 'eventListeners',\n options: {\n resize,\n scroll,\n },\n },\n {\n name: 'arrow',\n options: {\n padding: 4,\n },\n },\n ];\n });\n\n const popperConfig = computed<{\n modifiers: StrictModifiers[];\n placement: Placement | undefined;\n strategy: PositioningStrategy | undefined;\n }>(() => {\n const {\n placement = DEFAULT_POPPER_OPTIONS.placement,\n strategy = DEFAULT_POPPER_OPTIONS.strategy,\n } = get(options);\n\n return {\n modifiers: get(modifiers),\n placement,\n strategy,\n };\n });\n\n function getValidElements(): {\n popperEl: HTMLElement;\n referenceEl: Element | VirtualElement;\n } | null {\n if (!get(popper) || (!get(reference) && !get(virtualReference))) {\n return null;\n }\n\n const popperEl = unrefElement(popper);\n const referenceEl = get(virtualReference) || unrefElement(reference);\n\n if (!(popperEl instanceof HTMLElement) || !referenceEl) {\n return null;\n }\n\n return { popperEl, referenceEl };\n }\n\n function initializePopper(onInvalidate: (cleanupFn: () => void) => void): void {\n const elements = getValidElements();\n if (!elements)\n return;\n\n const { popperEl, referenceEl } = elements;\n\n const value = createPopper(referenceEl, popperEl, get(popperConfig));\n\n set(instance, value);\n onInvalidate(value.destroy);\n }\n\n useResizeObserver([reference, popper], async () => {\n if (isDefined(instance))\n await get(instance).update();\n });\n\n onMounted(() => {\n watchEffect((onInvalidate) => {\n initializePopper(onInvalidate);\n });\n });\n\n return {\n instance,\n leavePending,\n onClose,\n onLeavePending,\n onOpen,\n onPopperLeave,\n open,\n popper,\n popperEnter,\n reference,\n updatePopper,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"popper.js","names":[],"sources":["../../src/composables/popper.ts"],"sourcesContent":["import { type FloatingOptions, Placement, Strategy } from './floating';\n\n/** @deprecated Use FloatingOptions instead */\nexport interface PopperOptions {\n locked?: boolean;\n overflowPadding?: number;\n offsetDistance?: number;\n offsetSkid?: number;\n placement?: Placement;\n strategy?: Strategy;\n gpuAcceleration?: boolean;\n adaptive?: boolean;\n scroll?: boolean;\n resize?: boolean;\n}\n\n/** @deprecated Use FloatingOptions directly. Will be removed in next major. */\nexport function toFloatingOptions(opts: PopperOptions): FloatingOptions {\n return {\n autoUpdate: {\n resize: opts.resize ?? true,\n scroll: opts.scroll ?? true,\n },\n flip: !(opts.locked ?? false),\n offset: {\n crossAxis: opts.offsetSkid ?? 0,\n mainAxis: opts.offsetDistance ?? 8,\n },\n placement: opts.placement ?? Placement.bottom,\n shiftPadding: opts.overflowPadding ?? 8,\n strategy: opts.strategy ?? Strategy.absolute,\n };\n}\n"],"mappings":";;;AAiBA,SAAgB,kBAAkB,MAAsC;AACtE,QAAO;EACL,YAAY;GACV,QAAQ,KAAK,UAAU;GACvB,QAAQ,KAAK,UAAU;GACxB;EACD,MAAM,EAAE,KAAK,UAAU;EACvB,QAAQ;GACN,WAAW,KAAK,cAAc;GAC9B,UAAU,KAAK,kBAAkB;GAClC;EACD,WAAW,KAAK,aAAa,UAAU;EACvC,cAAc,KAAK,mBAAmB;EACtC,UAAU,KAAK,YAAY,SAAS;EACrC"}
@@ -1,163 +1,152 @@
1
- import { shallowRef, onMounted, readonly, toValue } from "vue";
1
+ import { onMounted, readonly, shallowRef, toValue } from "vue";
2
2
  import { useEventListener, useMutationObserver, useResizeObserver } from "@vueuse/core";
3
- import { set, get } from "@vueuse/shared";
4
- const SELECTORS = {
5
- head: ":scope > thead[data-id=head-main]",
6
- headClone: ":scope > thead[data-id=head-clone]",
7
- row: ":scope > tbody > tr:not([hidden])",
8
- th: ":scope > th"
3
+ import { get as get$1, set as set$1 } from "@vueuse/shared";
4
+ //#region src/composables/sticky-header.ts
5
+ var SELECTORS = {
6
+ head: ":scope > thead[data-id=head-main]",
7
+ headClone: ":scope > thead[data-id=head-clone]",
8
+ row: ":scope > tbody > tr:not([hidden])",
9
+ th: ":scope > th"
9
10
  };
10
- const BORDER_PRECISION = -0.5;
11
+ var BORDER_PRECISION = -.5;
11
12
  function queryHeadRow(root, selector) {
12
- return root.querySelector(`${selector} > tr`);
13
+ return root.querySelector(`${selector} > tr`);
13
14
  }
14
15
  function queryColumns(row) {
15
- if (!row)
16
- return [];
17
- return Array.from(row.querySelectorAll(SELECTORS.th));
18
- }
19
- function clearColumnWidths(columns) {
20
- for (const column of columns)
21
- column.style.width = "";
16
+ if (!row) return [];
17
+ return Array.from(row.querySelectorAll(SELECTORS.th));
22
18
  }
23
19
  function readColumnWidths(columns) {
24
- return columns.map((col) => col.getBoundingClientRect().width);
20
+ return columns.map((col) => col.getBoundingClientRect().width);
25
21
  }
26
22
  function applyColumnWidths(columns, widths) {
27
- for (const [i, column] of columns.entries()) {
28
- const width = widths[i];
29
- if (width !== void 0)
30
- column.style.width = `${width}px`;
31
- }
23
+ for (const [i, column] of columns.entries()) {
24
+ const width = widths[i];
25
+ if (width !== void 0) column.style.width = `${width}px`;
26
+ }
32
27
  }
33
28
  function positionHeadAtRest(head) {
34
- head.style.left = `${BORDER_PRECISION}px`;
35
- head.style.top = "0";
29
+ head.style.left = `${BORDER_PRECISION}px`;
30
+ head.style.top = "0";
36
31
  }
37
32
  function positionHeadStuck(head, { clonedRect, lastRowHeight, tableRect, top }) {
38
- head.style.left = `${clonedRect.left + BORDER_PRECISION}px`;
39
- const isNearBottom = tableRect.bottom <= lastRowHeight + clonedRect.height + top;
40
- head.style.top = isNearBottom ? `${tableRect.bottom - lastRowHeight - clonedRect.height}px` : `${top}px`;
33
+ head.style.left = `${clonedRect.left + BORDER_PRECISION}px`;
34
+ const isNearBottom = tableRect.bottom <= lastRowHeight + clonedRect.height + top;
35
+ head.style.top = isNearBottom ? `${tableRect.bottom - lastRowHeight - clonedRect.height}px` : `${top}px`;
41
36
  }
42
37
  function isInStickyRange(tableRect, top) {
43
- return tableRect.top <= top && tableRect.bottom > top;
38
+ return tableRect.top <= top && tableRect.bottom > top;
44
39
  }
45
40
  function getLastRowHeight(root) {
46
- const rows = root.querySelectorAll(SELECTORS.row);
47
- if (rows.length <= 1)
48
- return void 0;
49
- return rows.item(rows.length - 1)?.getBoundingClientRect().height ?? 0;
41
+ const rows = root.querySelectorAll(SELECTORS.row);
42
+ if (rows.length <= 1) return void 0;
43
+ return rows.item(rows.length - 1)?.getBoundingClientRect().height ?? 0;
50
44
  }
45
+ /**
46
+ * Setup sticky table header
47
+ */
51
48
  function useStickyTableHeader(sticky = shallowRef(false), offsetTop, tableRefs) {
52
- const { table, tableScroller } = tableRefs;
53
- const stick = shallowRef(false);
54
- let resizeCleanups = [];
55
- let syncOuterRafId = null;
56
- let syncInnerRafId = null;
57
- let rafId = null;
58
- function cleanupResizeObservers() {
59
- for (const cleanup of resizeCleanups)
60
- cleanup();
61
- resizeCleanups = [];
62
- }
63
- function cancelPendingSync() {
64
- if (syncOuterRafId !== null)
65
- cancelAnimationFrame(syncOuterRafId);
66
- if (syncInnerRafId !== null)
67
- cancelAnimationFrame(syncInnerRafId);
68
- syncOuterRafId = null;
69
- syncInnerRafId = null;
70
- }
71
- function scheduleSyncWidths(cloneColumns, mainColumns) {
72
- cancelPendingSync();
73
- syncOuterRafId = requestAnimationFrame(() => {
74
- syncOuterRafId = null;
75
- clearColumnWidths(mainColumns);
76
- syncInnerRafId = requestAnimationFrame(() => {
77
- syncInnerRafId = null;
78
- applyColumnWidths(mainColumns, readColumnWidths(cloneColumns));
79
- });
80
- });
81
- }
82
- function observeColumnResizes(cloneColumns, mainColumns) {
83
- cleanupResizeObservers();
84
- for (const th of cloneColumns) {
85
- const { stop } = useResizeObserver(th, () => {
86
- scheduleSyncWidths(cloneColumns, mainColumns);
87
- });
88
- resizeCleanups.push(stop);
89
- }
90
- }
91
- function watchCellWidth() {
92
- const root = get(table);
93
- if (!toValue(sticky) || !root)
94
- return;
95
- const cloneRow = queryHeadRow(root, SELECTORS.headClone);
96
- const mainRow = queryHeadRow(root, SELECTORS.head);
97
- const cloneColumns = queryColumns(cloneRow);
98
- const mainColumns = queryColumns(mainRow);
99
- useMutationObserver(cloneRow, (mutations) => {
100
- const hasRelevantMutation = mutations.some(
101
- (m) => m.type === "childList" || m.type === "attributes"
102
- );
103
- if (hasRelevantMutation)
104
- observeColumnResizes(queryColumns(cloneRow), queryColumns(mainRow));
105
- }, { attributes: true, childList: true, subtree: true });
106
- observeColumnResizes(cloneColumns, mainColumns);
107
- }
108
- function queryStickyElements() {
109
- const root = get(table);
110
- if (!toValue(sticky) || !root)
111
- return void 0;
112
- const theadClone = root.querySelector(SELECTORS.headClone);
113
- const head = root.querySelector(SELECTORS.head);
114
- if (!theadClone || !head)
115
- return void 0;
116
- return { head, root, theadClone };
117
- }
118
- function toggleStickyClass() {
119
- const elements = queryStickyElements();
120
- if (!elements)
121
- return;
122
- const { head, root, theadClone } = elements;
123
- const clonedRect = theadClone.getBoundingClientRect();
124
- const tableRect = root.getBoundingClientRect();
125
- const top = toValue(offsetTop) ?? 0;
126
- head.style.width = `${clonedRect.width}px`;
127
- const lastRowHeight = getLastRowHeight(root);
128
- if (lastRowHeight === void 0) {
129
- set(stick, false);
130
- positionHeadAtRest(head);
131
- return;
132
- }
133
- if (isInStickyRange(tableRect, top)) {
134
- set(stick, true);
135
- positionHeadStuck(head, { clonedRect, lastRowHeight, tableRect, top });
136
- } else {
137
- set(stick, false);
138
- positionHeadAtRest(head);
139
- }
140
- }
141
- function throttledToggleStickyClass() {
142
- if (rafId !== null)
143
- return;
144
- rafId = requestAnimationFrame(() => {
145
- toggleStickyClass();
146
- rafId = null;
147
- });
148
- }
149
- onMounted(() => {
150
- toggleStickyClass();
151
- useEventListener(tableScroller, "scroll", throttledToggleStickyClass);
152
- useEventListener(document.body, "scroll", throttledToggleStickyClass);
153
- useEventListener(window, "resize", throttledToggleStickyClass);
154
- watchCellWidth();
155
- });
156
- return {
157
- stick: readonly(stick)
158
- };
49
+ const { table, tableScroller } = tableRefs;
50
+ const stick = shallowRef(false);
51
+ let resizeCleanups = [];
52
+ let syncRafId = null;
53
+ let rafId = null;
54
+ function cleanupResizeObservers() {
55
+ for (const cleanup of resizeCleanups) cleanup();
56
+ resizeCleanups = [];
57
+ }
58
+ function cancelPendingSync() {
59
+ if (syncRafId !== null) cancelAnimationFrame(syncRafId);
60
+ syncRafId = null;
61
+ }
62
+ function scheduleSyncWidths(cloneColumns, mainColumns) {
63
+ cancelPendingSync();
64
+ syncRafId = requestAnimationFrame(() => {
65
+ syncRafId = null;
66
+ applyColumnWidths(mainColumns, readColumnWidths(cloneColumns));
67
+ });
68
+ }
69
+ function observeColumnResizes(cloneColumns, mainColumns) {
70
+ cleanupResizeObservers();
71
+ for (const th of cloneColumns) {
72
+ const { stop } = useResizeObserver(th, () => {
73
+ scheduleSyncWidths(cloneColumns, mainColumns);
74
+ });
75
+ resizeCleanups.push(stop);
76
+ }
77
+ }
78
+ function watchCellWidth() {
79
+ const root = get$1(table);
80
+ if (!toValue(sticky) || !root) return;
81
+ const cloneRow = queryHeadRow(root, SELECTORS.headClone);
82
+ const mainRow = queryHeadRow(root, SELECTORS.head);
83
+ const cloneColumns = queryColumns(cloneRow);
84
+ const mainColumns = queryColumns(mainRow);
85
+ useMutationObserver(cloneRow, (mutations) => {
86
+ if (mutations.some((m) => m.type === "childList" || m.type === "attributes")) observeColumnResizes(queryColumns(cloneRow), queryColumns(mainRow));
87
+ }, {
88
+ attributes: true,
89
+ childList: true,
90
+ subtree: true
91
+ });
92
+ observeColumnResizes(cloneColumns, mainColumns);
93
+ }
94
+ function queryStickyElements() {
95
+ const root = get$1(table);
96
+ if (!toValue(sticky) || !root) return void 0;
97
+ const theadClone = root.querySelector(SELECTORS.headClone);
98
+ const head = root.querySelector(SELECTORS.head);
99
+ if (!theadClone || !head) return void 0;
100
+ return {
101
+ head,
102
+ root,
103
+ theadClone
104
+ };
105
+ }
106
+ function toggleStickyClass() {
107
+ const elements = queryStickyElements();
108
+ if (!elements) return;
109
+ const { head, root, theadClone } = elements;
110
+ const clonedRect = theadClone.getBoundingClientRect();
111
+ const tableRect = root.getBoundingClientRect();
112
+ const top = toValue(offsetTop) ?? 0;
113
+ head.style.width = `${clonedRect.width}px`;
114
+ const lastRowHeight = getLastRowHeight(root);
115
+ if (lastRowHeight === void 0) {
116
+ set$1(stick, false);
117
+ positionHeadAtRest(head);
118
+ return;
119
+ }
120
+ if (isInStickyRange(tableRect, top)) {
121
+ set$1(stick, true);
122
+ positionHeadStuck(head, {
123
+ clonedRect,
124
+ lastRowHeight,
125
+ tableRect,
126
+ top
127
+ });
128
+ } else {
129
+ set$1(stick, false);
130
+ positionHeadAtRest(head);
131
+ }
132
+ }
133
+ function throttledToggleStickyClass() {
134
+ if (rafId !== null) return;
135
+ rafId = requestAnimationFrame(() => {
136
+ toggleStickyClass();
137
+ rafId = null;
138
+ });
139
+ }
140
+ onMounted(() => {
141
+ toggleStickyClass();
142
+ useEventListener(tableScroller, "scroll", throttledToggleStickyClass);
143
+ useEventListener(document.body, "scroll", throttledToggleStickyClass);
144
+ useEventListener(window, "resize", throttledToggleStickyClass);
145
+ watchCellWidth();
146
+ });
147
+ return { stick: readonly(stick) };
159
148
  }
160
- export {
161
- useStickyTableHeader
162
- };
163
- //# sourceMappingURL=sticky-header.js.map
149
+ //#endregion
150
+ export { useStickyTableHeader };
151
+
152
+ //# sourceMappingURL=sticky-header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sticky-header.js","sources":["../../src/composables/sticky-header.ts"],"sourcesContent":["import type { MaybeRefOrGetter, Ref, ShallowRef } from 'vue';\n\nexport interface UseStickyTableHeaderRefs {\n table: Readonly<ShallowRef<HTMLTableElement | null>>;\n tableScroller: Readonly<ShallowRef<HTMLElement | null>>;\n}\n\ninterface StickyElements {\n head: HTMLElement;\n theadClone: HTMLElement;\n root: HTMLTableElement;\n}\n\ninterface UseStickyTableHeaderReturn {\n stick: Readonly<Ref<boolean>>;\n}\n\nconst SELECTORS = {\n head: ':scope > thead[data-id=head-main]',\n headClone: ':scope > thead[data-id=head-clone]',\n row: ':scope > tbody > tr:not([hidden])',\n th: ':scope > th',\n} as const;\n\nconst BORDER_PRECISION = -0.5;\n\nfunction queryHeadRow(root: HTMLTableElement, selector: string): HTMLTableRowElement | null {\n return root.querySelector(`${selector} > tr`);\n}\n\nfunction queryColumns(row: HTMLTableRowElement | null): HTMLElement[] {\n if (!row)\n return [];\n return Array.from(row.querySelectorAll<HTMLElement>(SELECTORS.th));\n}\n\nfunction clearColumnWidths(columns: HTMLElement[]): void {\n for (const column of columns)\n column.style.width = '';\n}\n\nfunction readColumnWidths(columns: HTMLElement[]): number[] {\n return columns.map(col => col.getBoundingClientRect().width);\n}\n\nfunction applyColumnWidths(columns: HTMLElement[], widths: number[]): void {\n for (const [i, column] of columns.entries()) {\n const width = widths[i];\n if (width !== undefined)\n column.style.width = `${width}px`;\n }\n}\n\nfunction positionHeadAtRest(head: HTMLElement): void {\n head.style.left = `${BORDER_PRECISION}px`;\n head.style.top = '0';\n}\n\ninterface StuckPosition {\n clonedRect: DOMRect;\n tableRect: DOMRect;\n lastRowHeight: number;\n top: number;\n}\n\nfunction positionHeadStuck(head: HTMLElement, { clonedRect, lastRowHeight, tableRect, top }: StuckPosition): void {\n head.style.left = `${clonedRect.left + BORDER_PRECISION}px`;\n\n const isNearBottom = tableRect.bottom <= lastRowHeight + clonedRect.height + top;\n head.style.top = isNearBottom\n ? `${tableRect.bottom - lastRowHeight - clonedRect.height}px`\n : `${top}px`;\n}\n\nfunction isInStickyRange(tableRect: DOMRect, top: number): boolean {\n return tableRect.top <= top && tableRect.bottom > top;\n}\n\nfunction getLastRowHeight(root: HTMLTableElement): number | undefined {\n const rows = root.querySelectorAll(SELECTORS.row);\n if (rows.length <= 1)\n return undefined;\n return rows.item(rows.length - 1)?.getBoundingClientRect().height ?? 0;\n}\n\n/**\n * Setup sticky table header\n */\nexport function useStickyTableHeader(\n sticky: MaybeRefOrGetter<boolean> = shallowRef(false),\n offsetTop: MaybeRefOrGetter<number | undefined>,\n tableRefs: UseStickyTableHeaderRefs,\n): UseStickyTableHeaderReturn {\n const { table, tableScroller } = tableRefs;\n const stick = shallowRef<boolean>(false);\n\n let resizeCleanups: (() => void)[] = [];\n let syncOuterRafId: number | null = null;\n let syncInnerRafId: number | null = null;\n let rafId: number | null = null;\n\n function cleanupResizeObservers(): void {\n for (const cleanup of resizeCleanups)\n cleanup();\n resizeCleanups = [];\n }\n\n function cancelPendingSync(): void {\n if (syncOuterRafId !== null)\n cancelAnimationFrame(syncOuterRafId);\n if (syncInnerRafId !== null)\n cancelAnimationFrame(syncInnerRafId);\n syncOuterRafId = null;\n syncInnerRafId = null;\n }\n\n function scheduleSyncWidths(cloneColumns: HTMLElement[], mainColumns: HTMLElement[]): void {\n cancelPendingSync();\n\n syncOuterRafId = requestAnimationFrame(() => {\n syncOuterRafId = null;\n clearColumnWidths(mainColumns);\n\n // Wait one frame for the clone to settle to its natural width after clearing\n syncInnerRafId = requestAnimationFrame(() => {\n syncInnerRafId = null;\n applyColumnWidths(mainColumns, readColumnWidths(cloneColumns));\n });\n });\n }\n\n function observeColumnResizes(cloneColumns: HTMLElement[], mainColumns: HTMLElement[]): void {\n cleanupResizeObservers();\n\n for (const th of cloneColumns) {\n const { stop } = useResizeObserver(th, () => {\n scheduleSyncWidths(cloneColumns, mainColumns);\n });\n resizeCleanups.push(stop);\n }\n }\n\n function watchCellWidth(): void {\n const root = get(table);\n if (!toValue(sticky) || !root)\n return;\n\n const cloneRow = queryHeadRow(root, SELECTORS.headClone);\n const mainRow = queryHeadRow(root, SELECTORS.head);\n const cloneColumns = queryColumns(cloneRow);\n const mainColumns = queryColumns(mainRow);\n\n useMutationObserver(cloneRow, (mutations) => {\n const hasRelevantMutation = mutations.some(\n m => m.type === 'childList' || m.type === 'attributes',\n );\n if (hasRelevantMutation)\n observeColumnResizes(queryColumns(cloneRow), queryColumns(mainRow));\n }, { attributes: true, childList: true, subtree: true });\n\n observeColumnResizes(cloneColumns, mainColumns);\n }\n\n function queryStickyElements(): StickyElements | undefined {\n const root = get(table);\n if (!toValue(sticky) || !root)\n return undefined;\n\n const theadClone = root.querySelector<HTMLElement>(SELECTORS.headClone);\n const head = root.querySelector<HTMLElement>(SELECTORS.head);\n if (!theadClone || !head)\n return undefined;\n\n return { head, root, theadClone };\n }\n\n function toggleStickyClass(): void {\n const elements = queryStickyElements();\n if (!elements)\n return;\n\n const { head, root, theadClone } = elements;\n const clonedRect = theadClone.getBoundingClientRect();\n const tableRect = root.getBoundingClientRect();\n const top = toValue(offsetTop) ?? 0;\n\n head.style.width = `${clonedRect.width}px`;\n\n const lastRowHeight = getLastRowHeight(root);\n if (lastRowHeight === undefined) {\n set(stick, false);\n positionHeadAtRest(head);\n return;\n }\n\n if (isInStickyRange(tableRect, top)) {\n set(stick, true);\n positionHeadStuck(head, { clonedRect, lastRowHeight, tableRect, top });\n }\n else {\n set(stick, false);\n positionHeadAtRest(head);\n }\n }\n\n function throttledToggleStickyClass(): void {\n if (rafId !== null)\n return;\n rafId = requestAnimationFrame(() => {\n toggleStickyClass();\n rafId = null;\n });\n }\n\n onMounted(() => {\n toggleStickyClass();\n useEventListener(tableScroller, 'scroll', throttledToggleStickyClass);\n useEventListener(document.body, 'scroll', throttledToggleStickyClass);\n useEventListener(window, 'resize', throttledToggleStickyClass);\n watchCellWidth();\n });\n\n return {\n stick: readonly(stick),\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sticky-header.js","names":[],"sources":["../../src/composables/sticky-header.ts"],"sourcesContent":["import type { MaybeRefOrGetter, Ref, ShallowRef } from 'vue';\n\nexport interface UseStickyTableHeaderRefs {\n table: Readonly<ShallowRef<HTMLTableElement | null>>;\n tableScroller: Readonly<ShallowRef<HTMLElement | null>>;\n}\n\ninterface StickyElements {\n head: HTMLElement;\n theadClone: HTMLElement;\n root: HTMLTableElement;\n}\n\ninterface UseStickyTableHeaderReturn {\n stick: Readonly<Ref<boolean>>;\n}\n\nconst SELECTORS = {\n head: ':scope > thead[data-id=head-main]',\n headClone: ':scope > thead[data-id=head-clone]',\n row: ':scope > tbody > tr:not([hidden])',\n th: ':scope > th',\n} as const;\n\nconst BORDER_PRECISION = -0.5;\n\nfunction queryHeadRow(root: HTMLTableElement, selector: string): HTMLTableRowElement | null {\n return root.querySelector(`${selector} > tr`);\n}\n\nfunction queryColumns(row: HTMLTableRowElement | null): HTMLElement[] {\n if (!row)\n return [];\n return Array.from(row.querySelectorAll<HTMLElement>(SELECTORS.th));\n}\n\nfunction readColumnWidths(columns: HTMLElement[]): number[] {\n return columns.map(col => col.getBoundingClientRect().width);\n}\n\nfunction applyColumnWidths(columns: HTMLElement[], widths: number[]): void {\n for (const [i, column] of columns.entries()) {\n const width = widths[i];\n if (width !== undefined)\n column.style.width = `${width}px`;\n }\n}\n\nfunction positionHeadAtRest(head: HTMLElement): void {\n head.style.left = `${BORDER_PRECISION}px`;\n head.style.top = '0';\n}\n\ninterface StuckPosition {\n clonedRect: DOMRect;\n tableRect: DOMRect;\n lastRowHeight: number;\n top: number;\n}\n\nfunction positionHeadStuck(head: HTMLElement, { clonedRect, lastRowHeight, tableRect, top }: StuckPosition): void {\n head.style.left = `${clonedRect.left + BORDER_PRECISION}px`;\n\n const isNearBottom = tableRect.bottom <= lastRowHeight + clonedRect.height + top;\n head.style.top = isNearBottom\n ? `${tableRect.bottom - lastRowHeight - clonedRect.height}px`\n : `${top}px`;\n}\n\nfunction isInStickyRange(tableRect: DOMRect, top: number): boolean {\n return tableRect.top <= top && tableRect.bottom > top;\n}\n\nfunction getLastRowHeight(root: HTMLTableElement): number | undefined {\n const rows = root.querySelectorAll(SELECTORS.row);\n if (rows.length <= 1)\n return undefined;\n return rows.item(rows.length - 1)?.getBoundingClientRect().height ?? 0;\n}\n\n/**\n * Setup sticky table header\n */\nexport function useStickyTableHeader(\n sticky: MaybeRefOrGetter<boolean> = shallowRef(false),\n offsetTop: MaybeRefOrGetter<number | undefined>,\n tableRefs: UseStickyTableHeaderRefs,\n): UseStickyTableHeaderReturn {\n const { table, tableScroller } = tableRefs;\n const stick = shallowRef<boolean>(false);\n\n let resizeCleanups: (() => void)[] = [];\n let syncRafId: number | null = null;\n let rafId: number | null = null;\n\n function cleanupResizeObservers(): void {\n for (const cleanup of resizeCleanups)\n cleanup();\n resizeCleanups = [];\n }\n\n function cancelPendingSync(): void {\n if (syncRafId !== null)\n cancelAnimationFrame(syncRafId);\n syncRafId = null;\n }\n\n function scheduleSyncWidths(cloneColumns: HTMLElement[], mainColumns: HTMLElement[]): void {\n cancelPendingSync();\n\n // Single-frame sync: the main thead is position absolute/fixed so clearing\n // its widths is unnecessary — clone widths are independent of main widths.\n syncRafId = requestAnimationFrame(() => {\n syncRafId = null;\n applyColumnWidths(mainColumns, readColumnWidths(cloneColumns));\n });\n }\n\n function observeColumnResizes(cloneColumns: HTMLElement[], mainColumns: HTMLElement[]): void {\n cleanupResizeObservers();\n\n for (const th of cloneColumns) {\n const { stop } = useResizeObserver(th, () => {\n scheduleSyncWidths(cloneColumns, mainColumns);\n });\n resizeCleanups.push(stop);\n }\n }\n\n function watchCellWidth(): void {\n const root = get(table);\n if (!toValue(sticky) || !root)\n return;\n\n const cloneRow = queryHeadRow(root, SELECTORS.headClone);\n const mainRow = queryHeadRow(root, SELECTORS.head);\n const cloneColumns = queryColumns(cloneRow);\n const mainColumns = queryColumns(mainRow);\n\n useMutationObserver(cloneRow, (mutations) => {\n const hasRelevantMutation = mutations.some(\n m => m.type === 'childList' || m.type === 'attributes',\n );\n if (hasRelevantMutation)\n observeColumnResizes(queryColumns(cloneRow), queryColumns(mainRow));\n }, { attributes: true, childList: true, subtree: true });\n\n observeColumnResizes(cloneColumns, mainColumns);\n }\n\n function queryStickyElements(): StickyElements | undefined {\n const root = get(table);\n if (!toValue(sticky) || !root)\n return undefined;\n\n const theadClone = root.querySelector<HTMLElement>(SELECTORS.headClone);\n const head = root.querySelector<HTMLElement>(SELECTORS.head);\n if (!theadClone || !head)\n return undefined;\n\n return { head, root, theadClone };\n }\n\n function toggleStickyClass(): void {\n const elements = queryStickyElements();\n if (!elements)\n return;\n\n const { head, root, theadClone } = elements;\n const clonedRect = theadClone.getBoundingClientRect();\n const tableRect = root.getBoundingClientRect();\n const top = toValue(offsetTop) ?? 0;\n\n head.style.width = `${clonedRect.width}px`;\n\n const lastRowHeight = getLastRowHeight(root);\n if (lastRowHeight === undefined) {\n set(stick, false);\n positionHeadAtRest(head);\n return;\n }\n\n if (isInStickyRange(tableRect, top)) {\n set(stick, true);\n positionHeadStuck(head, { clonedRect, lastRowHeight, tableRect, top });\n }\n else {\n set(stick, false);\n positionHeadAtRest(head);\n }\n }\n\n function throttledToggleStickyClass(): void {\n if (rafId !== null)\n return;\n rafId = requestAnimationFrame(() => {\n toggleStickyClass();\n rafId = null;\n });\n }\n\n onMounted(() => {\n toggleStickyClass();\n useEventListener(tableScroller, 'scroll', throttledToggleStickyClass);\n useEventListener(document.body, 'scroll', throttledToggleStickyClass);\n useEventListener(window, 'resize', throttledToggleStickyClass);\n watchCellWidth();\n });\n\n return {\n stick: readonly(stick),\n };\n}\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
2
- import type { TableColumn, TableRowKey } from '../../../components/tables/RuiTableHead.vue.js';
2
+ import type { TableColumn, TableRowKey } from '../../../components/tables/RuiTableHead.vue';
3
3
  export interface UseTableColumnsOptions<T extends object, IdType extends keyof T> {
4
4
  /** Column definitions for the table. When omitted, columns are inferred from row data. */
5
5
  cols: MaybeRefOrGetter<TableColumn<T>[] | undefined>;