@rotki/ui-library 2.15.0 → 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 +1 -1
  223. package/dist/components/logos/use-logo-sources.js +66 -62
  224. package/dist/components/logos/use-logo-sources.js.map +1 -1
  225. package/dist/components/overlays/badge/RuiBadge.js +7 -0
  226. package/dist/components/overlays/badge/RuiBadge.js.map +1 -0
  227. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +4 -3
  228. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +189 -0
  229. package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -0
  230. package/dist/components/overlays/badge/badge-props.d.ts +19 -0
  231. package/dist/components/overlays/badge/badge-props.js +21 -0
  232. package/dist/components/overlays/badge/badge-props.js.map +1 -0
  233. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js +7 -0
  234. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.js.map +1 -0
  235. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +51 -0
  236. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -0
  237. package/dist/components/overlays/dialog/RuiDialog.js +7 -0
  238. package/dist/components/overlays/dialog/RuiDialog.js.map +1 -0
  239. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +7 -0
  240. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +163 -0
  241. package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -0
  242. package/dist/components/overlays/menu/RuiMenu.js +7 -0
  243. package/dist/components/overlays/menu/RuiMenu.js.map +1 -0
  244. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +12 -0
  245. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +236 -0
  246. package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -0
  247. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js +7 -0
  248. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -0
  249. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +7 -0
  250. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +180 -0
  251. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -0
  252. package/dist/components/overlays/notification/RuiNotification.js +7 -0
  253. package/dist/components/overlays/notification/RuiNotification.js.map +1 -0
  254. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +70 -0
  255. package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -0
  256. package/dist/components/overlays/tooltip/RuiTooltip.js +7 -0
  257. package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -0
  258. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +10 -0
  259. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +107 -0
  260. package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -0
  261. package/dist/components/overlays/tooltip/tooltip-styles.d.ts +91 -0
  262. package/dist/components/overlays/tooltip/tooltip-styles.js +40 -0
  263. package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -0
  264. package/dist/components/progress/RuiProgress.js +7 -0
  265. package/dist/components/progress/RuiProgress.js.map +1 -0
  266. package/dist/components/progress/RuiProgress.vue.d.ts +2 -1
  267. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +254 -0
  268. package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -0
  269. package/dist/components/progress/progress-props.d.ts +6 -0
  270. package/dist/components/progress/progress-props.js +10 -0
  271. package/dist/components/progress/progress-props.js.map +1 -0
  272. package/dist/components/steppers/RuiFooterStepper.js +7 -0
  273. package/dist/components/steppers/RuiFooterStepper.js.map +1 -0
  274. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +2 -1
  275. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +164 -0
  276. package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  277. package/dist/components/steppers/RuiStepper.js +7 -0
  278. package/dist/components/steppers/RuiStepper.js.map +1 -0
  279. package/dist/components/steppers/RuiStepper.vue.d.ts +9 -0
  280. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +232 -0
  281. package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -0
  282. package/dist/components/steppers/RuiStepperCustomIcon.js +7 -0
  283. package/dist/components/steppers/RuiStepperCustomIcon.js.map +1 -0
  284. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +43 -0
  285. package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  286. package/dist/components/steppers/RuiStepperIcon.js +7 -0
  287. package/dist/components/steppers/RuiStepperIcon.js.map +1 -0
  288. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +72 -0
  289. package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -0
  290. package/dist/components/steppers/footer-stepper-variant.d.ts +7 -0
  291. package/dist/components/steppers/footer-stepper-variant.js +11 -0
  292. package/dist/components/steppers/footer-stepper-variant.js.map +1 -0
  293. package/dist/components/tables/RuiDataTable.js +7 -0
  294. package/dist/components/tables/RuiDataTable.js.map +1 -0
  295. package/dist/components/tables/RuiDataTable.vue.d.ts +7 -2
  296. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +516 -0
  297. package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -0
  298. package/dist/components/tables/RuiExpandButton.js +7 -0
  299. package/dist/components/tables/RuiExpandButton.js.map +1 -0
  300. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +34 -0
  301. package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -0
  302. package/dist/components/tables/RuiTableEmptyState.js +7 -0
  303. package/dist/components/tables/RuiTableEmptyState.js.map +1 -0
  304. package/dist/components/tables/RuiTableEmptyState.vue.d.ts +16 -0
  305. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +46 -0
  306. package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -0
  307. package/dist/components/tables/RuiTableHead.js +7 -0
  308. package/dist/components/tables/RuiTableHead.js.map +1 -0
  309. package/dist/components/tables/RuiTableHead.vue.d.ts +6 -5
  310. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +230 -0
  311. package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -0
  312. package/dist/components/tables/RuiTablePagination.js +7 -0
  313. package/dist/components/tables/RuiTablePagination.js.map +1 -0
  314. package/dist/components/tables/RuiTablePagination.vue.d.ts +9 -6
  315. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +187 -0
  316. package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -0
  317. package/dist/components/tables/data-table-styles.d.ts +155 -0
  318. package/dist/components/tables/data-table-styles.js +36 -0
  319. package/dist/components/tables/data-table-styles.js.map +1 -0
  320. package/dist/components/tables/table-props.d.ts +20 -0
  321. package/dist/components/tables/table-props.js +39 -0
  322. package/dist/components/tables/table-props.js.map +1 -0
  323. package/dist/components/tables/table_no_data_placeholder.js +6 -0
  324. package/dist/components/tables/table_no_data_placeholder.js.map +1 -0
  325. package/dist/components/tables/table_no_data_placeholder_dark.js +6 -0
  326. package/dist/components/tables/table_no_data_placeholder_dark.js.map +1 -0
  327. package/dist/components/tables/use-pagination-navigation.d.ts +32 -0
  328. package/dist/components/tables/use-pagination-navigation.js +88 -0
  329. package/dist/components/tables/use-pagination-navigation.js.map +1 -0
  330. package/dist/components/tabs/tab/RuiTab.js +7 -0
  331. package/dist/components/tabs/tab/RuiTab.js.map +1 -0
  332. package/dist/components/tabs/tab/RuiTab.vue.d.ts +12 -3
  333. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +175 -0
  334. package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -0
  335. package/dist/components/tabs/tab/use-tab-link.d.ts +26 -0
  336. package/dist/components/tabs/tab/use-tab-link.js +28 -0
  337. package/dist/components/tabs/tab/use-tab-link.js.map +1 -0
  338. package/dist/components/tabs/tab-item/RuiTabItem.js +7 -0
  339. package/dist/components/tabs/tab-item/RuiTabItem.js.map +1 -0
  340. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +54 -0
  341. package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -0
  342. package/dist/components/tabs/tab-items/RuiTabItems.js +7 -0
  343. package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -0
  344. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +76 -0
  345. package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -0
  346. package/dist/components/tabs/tab-props.d.ts +20 -0
  347. package/dist/components/tabs/tab-props.js +18 -0
  348. package/dist/components/tabs/tab-props.js.map +1 -0
  349. package/dist/components/tabs/tabs/RuiTabs.js +7 -0
  350. package/dist/components/tabs/tabs/RuiTabs.js.map +1 -0
  351. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +3 -2
  352. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +208 -0
  353. package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -0
  354. package/dist/components/tabs/tabs/use-tab-routing.d.ts +28 -0
  355. package/dist/components/tabs/tabs/use-tab-routing.js +43 -0
  356. package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -0
  357. package/dist/components/tabs/tabs/use-tab-scroll.d.ts +23 -0
  358. package/dist/components/tabs/tabs/use-tab-scroll.js +68 -0
  359. package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -0
  360. package/dist/components/time-picker/RuiTimePicker.js +7 -0
  361. package/dist/components/time-picker/RuiTimePicker.js.map +1 -0
  362. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +382 -0
  363. package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
  364. package/dist/components/time-picker/time-picker-styles.d.ts +76 -0
  365. package/dist/components/time-picker/time-picker-styles.js +27 -0
  366. package/dist/components/time-picker/time-picker-styles.js.map +1 -0
  367. package/dist/composables/breakpoint.js +35 -40
  368. package/dist/composables/breakpoint.js.map +1 -1
  369. package/dist/composables/colors/common.d.ts +20 -0
  370. package/dist/composables/colors/index.d.ts +3 -0
  371. package/dist/composables/colors/text-input.d.ts +27 -0
  372. package/dist/composables/defaults/table.js +21 -18
  373. package/dist/composables/defaults/table.js.map +1 -1
  374. package/dist/composables/dropdown-menu.d.ts +6 -6
  375. package/dist/composables/dropdown-menu.js +169 -237
  376. package/dist/composables/dropdown-menu.js.map +1 -1
  377. package/dist/composables/floating.d.ts +60 -0
  378. package/dist/composables/floating.js +167 -0
  379. package/dist/composables/floating.js.map +1 -0
  380. package/dist/composables/forms/auto-complete/focus.d.ts +4 -4
  381. package/dist/composables/forms/auto-complete/focus.js +59 -79
  382. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  383. package/dist/composables/forms/auto-complete/index.js +4 -0
  384. package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +6 -5
  385. package/dist/composables/forms/auto-complete/keyboard-navigation.js +116 -136
  386. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  387. package/dist/composables/forms/auto-complete/search.d.ts +11 -10
  388. package/dist/composables/forms/auto-complete/search.js +80 -91
  389. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  390. package/dist/composables/forms/auto-complete/value.d.ts +9 -8
  391. package/dist/composables/forms/auto-complete/value.js +76 -108
  392. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  393. package/dist/composables/forms/use-prepend-append-width.js +24 -20
  394. package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
  395. package/dist/composables/icons.js +42 -52
  396. package/dist/composables/icons.js.map +1 -1
  397. package/dist/composables/index.js +2 -7
  398. package/dist/composables/popper.d.ts +5 -20
  399. package/dist/composables/popper.js +22 -177
  400. package/dist/composables/popper.js.map +1 -1
  401. package/dist/composables/sticky-header.js +132 -143
  402. package/dist/composables/sticky-header.js.map +1 -1
  403. package/dist/composables/tables/data-table/columns.d.ts +1 -1
  404. package/dist/composables/tables/data-table/columns.js +41 -49
  405. package/dist/composables/tables/data-table/columns.js.map +1 -1
  406. package/dist/composables/tables/data-table/expansion.js +29 -34
  407. package/dist/composables/tables/data-table/expansion.js.map +1 -1
  408. package/dist/composables/tables/data-table/grouping.d.ts +1 -1
  409. package/dist/composables/tables/data-table/grouping.js +110 -132
  410. package/dist/composables/tables/data-table/grouping.js.map +1 -1
  411. package/dist/composables/tables/data-table/pagination.d.ts +2 -2
  412. package/dist/composables/tables/data-table/pagination.js +98 -115
  413. package/dist/composables/tables/data-table/pagination.js.map +1 -1
  414. package/dist/composables/tables/data-table/selection.js +124 -160
  415. package/dist/composables/tables/data-table/selection.js.map +1 -1
  416. package/dist/composables/tables/data-table/sort.d.ts +2 -2
  417. package/dist/composables/tables/data-table/sort.js +118 -132
  418. package/dist/composables/tables/data-table/sort.js.map +1 -1
  419. package/dist/composables/tables/data-table/types.d.ts +2 -2
  420. package/dist/composables/tables/data-table/types.js +7 -7
  421. package/dist/composables/tables/data-table/types.js.map +1 -1
  422. package/dist/composables/theme.js +91 -66
  423. package/dist/composables/theme.js.map +1 -1
  424. package/dist/composables/timeout-manager.js +24 -19
  425. package/dist/composables/timeout-manager.js.map +1 -1
  426. package/dist/composables/use-rui-i18n.js +15 -21
  427. package/dist/composables/use-rui-i18n.js.map +1 -1
  428. package/dist/consts/colors.js +50 -47
  429. package/dist/consts/colors.js.map +1 -1
  430. package/dist/consts/time-accuracy.js +9 -8
  431. package/dist/consts/time-accuracy.js.map +1 -1
  432. package/dist/i18n/keys.js +17 -16
  433. package/dist/i18n/keys.js.map +1 -1
  434. package/dist/icons/icons_1.js +1529 -2027
  435. package/dist/icons/icons_1.js.map +1 -1
  436. package/dist/icons/icons_2.js +1529 -2027
  437. package/dist/icons/icons_2.js.map +1 -1
  438. package/dist/icons/icons_3.js +1529 -2027
  439. package/dist/icons/icons_3.js.map +1 -1
  440. package/dist/icons/icons_4.js +794 -1047
  441. package/dist/icons/icons_4.js.map +1 -1
  442. package/dist/icons/index.js +1767 -7
  443. package/dist/icons/index.js.map +1 -1
  444. package/dist/index.d.ts +5 -2
  445. package/dist/index.js +87 -1907
  446. package/dist/index.js.map +1 -1
  447. package/dist/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 +2780 -10260
  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 +28 -26
  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 -148
  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,119 +1,102 @@
1
- import { isRow } from "./types.js";
2
1
  import { assert } from "../../../utils/assert.js";
3
- import { shallowRef, ref, computed, watch } from "vue";
2
+ import { isRow } from "./types.js";
3
+ import { computed, ref, shallowRef, watch } from "vue";
4
4
  import { get, set } from "@vueuse/shared";
5
+ //#region src/composables/tables/data-table/pagination.ts
5
6
  function useTablePagination(options, deps) {
6
- const { itemsPerPage, paginationModifiersExternal, globalItemsPerPage } = options;
7
- const { pagination, grouped, isHiddenRow, sort, emitUpdateOptions, tableDefaults } = deps;
8
- const itemsLength = shallowRef(0);
9
- const internalPaginationState = ref();
10
- const globalItemsPerPageSettings = computed(() => {
11
- if (globalItemsPerPage !== void 0)
12
- return globalItemsPerPage;
13
- return get(tableDefaults.globalItemsPerPage);
14
- });
15
- const paginationData = computed({
16
- get() {
17
- const paginated = get(internalPaginationState);
18
- if (!paginated) {
19
- return {
20
- total: get(itemsLength),
21
- limit: itemsPerPage,
22
- page: 1
23
- };
24
- }
25
- if (paginationModifiersExternal)
26
- return paginated;
27
- return {
28
- total: get(itemsLength),
29
- limit: paginated.limit,
30
- page: paginated.page,
31
- limits: paginated.limits
32
- };
33
- },
34
- set(value) {
35
- set(internalPaginationState, value);
36
- set(pagination, value);
37
- emitUpdateOptions({
38
- pagination: value,
39
- sort: get(sort)
40
- });
41
- }
42
- });
43
- const filtered = computed(() => {
44
- const result = get(grouped);
45
- const paginated = get(paginationData);
46
- const limit = paginated.limit;
47
- if (!paginationModifiersExternal) {
48
- const start = (paginated.page - 1) * limit;
49
- const end = start + limit;
50
- const preGroups = result.slice(0, start + 1).filter((item) => !isRow(item));
51
- const postGroups = result.slice(start + 1, end + preGroups.length).filter((item) => !isRow(item));
52
- const data = result.slice(
53
- start + preGroups.length,
54
- end + preGroups.length + postGroups.length
55
- );
56
- const nearestGroup = preGroups.at(-1);
57
- if (data.length > 0) {
58
- const firstItem = data[0];
59
- assert(firstItem);
60
- if (isRow(firstItem) && nearestGroup)
61
- data.unshift(nearestGroup);
62
- const lastItem = data.at(-1);
63
- if (lastItem && !isRow(lastItem))
64
- data.pop();
65
- }
66
- return data.filter((row) => !isHiddenRow(row));
67
- }
68
- return result.filter((row) => !isHiddenRow(row));
69
- });
70
- function setInternalTotal(items) {
71
- if (!paginationModifiersExternal)
72
- set(itemsLength, items.filter(isRow).length);
73
- }
74
- function resetPagination() {
75
- set(paginationData, {
76
- ...get(paginationData),
77
- page: 1
78
- });
79
- }
80
- watch(pagination, (val) => set(internalPaginationState, val), { immediate: true });
81
- watch(internalPaginationState, (paginationState) => {
82
- if (paginationState?.limit && get(globalItemsPerPageSettings))
83
- set(tableDefaults.itemsPerPage, paginationState.limit);
84
- });
85
- watch(
86
- tableDefaults.itemsPerPage,
87
- (perPage) => {
88
- if (!get(globalItemsPerPageSettings))
89
- return;
90
- set(paginationData, {
91
- ...get(paginationData),
92
- limit: perPage
93
- });
94
- },
95
- { immediate: true }
96
- );
97
- watch(paginationData, (paginationState) => {
98
- const { total, limit, page } = paginationState;
99
- const maxPages = Math.ceil(total / limit);
100
- if (maxPages > 0 && page > maxPages) {
101
- set(paginationData, {
102
- ...paginationState,
103
- page: maxPages
104
- });
105
- }
106
- });
107
- return {
108
- paginationData,
109
- filtered,
110
- itemsLength,
111
- globalItemsPerPageSettings,
112
- setInternalTotal,
113
- resetPagination
114
- };
7
+ const { itemsPerPage, paginationModifiersExternal, globalItemsPerPage } = options;
8
+ const { pagination, grouped, isHiddenRow, sort, emitUpdateOptions, tableDefaults } = deps;
9
+ const itemsLength = shallowRef(0);
10
+ const internalPaginationState = ref();
11
+ const globalItemsPerPageSettings = computed(() => {
12
+ if (globalItemsPerPage !== void 0) return globalItemsPerPage;
13
+ return get(tableDefaults.globalItemsPerPage);
14
+ });
15
+ const paginationData = computed({
16
+ get() {
17
+ const paginated = get(internalPaginationState);
18
+ if (!paginated) return {
19
+ total: get(itemsLength),
20
+ limit: itemsPerPage,
21
+ page: 1
22
+ };
23
+ if (paginationModifiersExternal) return paginated;
24
+ return {
25
+ total: get(itemsLength),
26
+ limit: paginated.limit,
27
+ page: paginated.page,
28
+ limits: paginated.limits
29
+ };
30
+ },
31
+ set(value) {
32
+ set(internalPaginationState, value);
33
+ set(pagination, value);
34
+ emitUpdateOptions({
35
+ pagination: value,
36
+ sort: get(sort)
37
+ });
38
+ }
39
+ });
40
+ const filtered = computed(() => {
41
+ const result = get(grouped);
42
+ const paginated = get(paginationData);
43
+ const limit = paginated.limit;
44
+ if (!paginationModifiersExternal) {
45
+ const start = (paginated.page - 1) * limit;
46
+ const end = start + limit;
47
+ const preGroups = result.slice(0, start + 1).filter((item) => !isRow(item));
48
+ const postGroups = result.slice(start + 1, end + preGroups.length).filter((item) => !isRow(item));
49
+ const data = result.slice(start + preGroups.length, end + preGroups.length + postGroups.length);
50
+ const nearestGroup = preGroups.at(-1);
51
+ if (data.length > 0) {
52
+ const firstItem = data[0];
53
+ assert(firstItem);
54
+ if (isRow(firstItem) && nearestGroup) data.unshift(nearestGroup);
55
+ const lastItem = data.at(-1);
56
+ if (lastItem && !isRow(lastItem)) data.pop();
57
+ }
58
+ return data.filter((row) => !isHiddenRow(row));
59
+ }
60
+ return result.filter((row) => !isHiddenRow(row));
61
+ });
62
+ function setInternalTotal(items) {
63
+ if (!paginationModifiersExternal) set(itemsLength, items.filter(isRow).length);
64
+ }
65
+ function resetPagination() {
66
+ set(paginationData, {
67
+ ...get(paginationData),
68
+ page: 1
69
+ });
70
+ }
71
+ watch(pagination, (val) => set(internalPaginationState, val), { immediate: true });
72
+ watch(internalPaginationState, (paginationState) => {
73
+ if (paginationState?.limit && get(globalItemsPerPageSettings)) set(tableDefaults.itemsPerPage, paginationState.limit);
74
+ });
75
+ watch(tableDefaults.itemsPerPage, (perPage) => {
76
+ if (!get(globalItemsPerPageSettings)) return;
77
+ set(paginationData, {
78
+ ...get(paginationData),
79
+ limit: perPage
80
+ });
81
+ }, { immediate: true });
82
+ watch(paginationData, (paginationState) => {
83
+ const { total, limit, page } = paginationState;
84
+ const maxPages = Math.ceil(total / limit);
85
+ if (maxPages > 0 && page > maxPages) set(paginationData, {
86
+ ...paginationState,
87
+ page: maxPages
88
+ });
89
+ });
90
+ return {
91
+ paginationData,
92
+ filtered,
93
+ itemsLength,
94
+ globalItemsPerPageSettings,
95
+ setInternalTotal,
96
+ resetPagination
97
+ };
115
98
  }
116
- export {
117
- useTablePagination
118
- };
119
- //# sourceMappingURL=pagination.js.map
99
+ //#endregion
100
+ export { useTablePagination };
101
+
102
+ //# sourceMappingURL=pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sources":["../../../../src/composables/tables/data-table/pagination.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue';\nimport type { TableSortData } from '@/components/tables/RuiTableHead.vue';\nimport type { TablePaginationData } from '@/components/tables/RuiTablePagination.vue';\nimport type { TableOptions as TableDefaultOptions } from '@/composables/defaults/table';\nimport { type GroupedTableRow, isRow } from '@/composables/tables/data-table/types';\nimport { assert } from '@/utils/assert';\n\nexport interface UseTablePaginationOptions {\n /** The default number of items displayed per page. */\n itemsPerPage: number;\n /** Whether pagination is managed externally (e.g. server-side). */\n paginationModifiersExternal: boolean | undefined;\n /** Whether to share the items-per-page setting across all tables. */\n globalItemsPerPage: boolean | undefined;\n}\n\nexport interface UseTablePaginationDeps<T extends object> {\n pagination: Ref<TablePaginationData | undefined>;\n grouped: ComputedRef<GroupedTableRow<T>[]>;\n isHiddenRow: (row: GroupedTableRow<T>) => boolean;\n sort: Ref<TableSortData<T>>;\n emitUpdateOptions: (options: {\n sort?: TableSortData<T>;\n pagination?: TablePaginationData;\n }) => void;\n tableDefaults: TableDefaultOptions;\n}\n\nexport interface UseTablePaginationReturn<T extends object> {\n paginationData: Ref<TablePaginationData>;\n filtered: ComputedRef<GroupedTableRow<T>[]>;\n itemsLength: Ref<number>;\n globalItemsPerPageSettings: ComputedRef<boolean>;\n setInternalTotal: (items: GroupedTableRow<T>[]) => void;\n resetPagination: () => void;\n}\n\nexport function useTablePagination<T extends object>(\n options: UseTablePaginationOptions,\n deps: UseTablePaginationDeps<T>,\n): UseTablePaginationReturn<T> {\n const { itemsPerPage, paginationModifiersExternal, globalItemsPerPage } = options;\n const { pagination, grouped, isHiddenRow, sort, emitUpdateOptions, tableDefaults } = deps;\n\n const itemsLength = shallowRef<number>(0);\n const internalPaginationState: Ref<TablePaginationData | undefined> = ref();\n\n const globalItemsPerPageSettings = computed<boolean>(() => {\n if (globalItemsPerPage !== undefined)\n return globalItemsPerPage;\n\n return get(tableDefaults.globalItemsPerPage);\n });\n\n const paginationData: Ref<TablePaginationData> = computed({\n get(): TablePaginationData {\n const paginated = get(internalPaginationState);\n if (!paginated) {\n return {\n total: get(itemsLength),\n limit: itemsPerPage,\n page: 1,\n };\n }\n\n if (paginationModifiersExternal)\n return paginated;\n\n return {\n total: get(itemsLength),\n limit: paginated.limit,\n page: paginated.page,\n limits: paginated.limits,\n };\n },\n set(value: TablePaginationData) {\n set(internalPaginationState, value);\n set(pagination, value);\n emitUpdateOptions({\n pagination: value,\n sort: get(sort),\n });\n },\n });\n\n const filtered = computed<GroupedTableRow<T>[]>(() => {\n const result = get(grouped);\n\n const paginated = get(paginationData);\n const limit = paginated.limit;\n if (!paginationModifiersExternal) {\n const start = (paginated.page - 1) * limit;\n const end = start + limit;\n const preGroups = result.slice(0, start + 1).filter(item => !isRow(item));\n const postGroups = result\n .slice(start + 1, end + preGroups.length)\n .filter(item => !isRow(item));\n const data = result.slice(\n start + preGroups.length,\n end + preGroups.length + postGroups.length,\n );\n const nearestGroup = preGroups.at(-1);\n if (data.length > 0) {\n const firstItem = data[0];\n assert(firstItem);\n if (isRow(firstItem) && nearestGroup)\n data.unshift(nearestGroup);\n const lastItem = data.at(-1);\n if (lastItem && !isRow(lastItem))\n data.pop();\n }\n\n return data.filter(row => !isHiddenRow(row));\n }\n\n return result.filter(row => !isHiddenRow(row));\n });\n\n function setInternalTotal(items: GroupedTableRow<T>[]): void {\n if (!paginationModifiersExternal)\n set(itemsLength, items.filter(isRow).length);\n }\n\n function resetPagination(): void {\n set(paginationData, {\n ...get(paginationData),\n page: 1,\n });\n }\n\n // Sync external pagination model to internal state\n watch(pagination, val => set(internalPaginationState, val), { immediate: true });\n\n // Sync pagination limit to global table defaults\n watch(internalPaginationState, (paginationState) => {\n if (paginationState?.limit && get(globalItemsPerPageSettings))\n set(tableDefaults.itemsPerPage, paginationState.limit);\n });\n\n // Sync global table defaults to pagination limit\n watch(\n tableDefaults.itemsPerPage,\n (perPage) => {\n if (!get(globalItemsPerPageSettings))\n return;\n\n set(paginationData, {\n ...get(paginationData),\n limit: perPage,\n });\n },\n { immediate: true },\n );\n\n // Auto-adjust page when current page exceeds max available pages\n watch(paginationData, (paginationState) => {\n const { total, limit, page } = paginationState;\n const maxPages = Math.ceil(total / limit);\n\n if (maxPages > 0 && page > maxPages) {\n set(paginationData, {\n ...paginationState,\n page: maxPages,\n });\n }\n });\n\n return {\n paginationData,\n filtered,\n itemsLength,\n globalItemsPerPageSettings,\n setInternalTotal,\n resetPagination,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pagination.js","names":[],"sources":["../../../../src/composables/tables/data-table/pagination.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue';\nimport type { TableSortData } from '@/components/tables/RuiTableHead.vue';\nimport type { TablePaginationData } from '@/components/tables/RuiTablePagination.vue';\nimport type { TableOptions as TableDefaultOptions } from '@/composables/defaults/table';\nimport { type GroupedTableRow, isRow } from '@/composables/tables/data-table/types';\nimport { assert } from '@/utils/assert';\n\nexport interface UseTablePaginationOptions {\n /** The default number of items displayed per page. */\n itemsPerPage: number;\n /** Whether pagination is managed externally (e.g. server-side). */\n paginationModifiersExternal: boolean | undefined;\n /** Whether to share the items-per-page setting across all tables. */\n globalItemsPerPage: boolean | undefined;\n}\n\nexport interface UseTablePaginationDeps<T extends object> {\n pagination: Ref<TablePaginationData | undefined>;\n grouped: ComputedRef<GroupedTableRow<T>[]>;\n isHiddenRow: (row: GroupedTableRow<T>) => boolean;\n sort: Ref<TableSortData<T>>;\n emitUpdateOptions: (options: {\n sort?: TableSortData<T>;\n pagination?: TablePaginationData;\n }) => void;\n tableDefaults: TableDefaultOptions;\n}\n\nexport interface UseTablePaginationReturn<T extends object> {\n paginationData: Ref<TablePaginationData>;\n filtered: ComputedRef<GroupedTableRow<T>[]>;\n itemsLength: Ref<number>;\n globalItemsPerPageSettings: ComputedRef<boolean>;\n setInternalTotal: (items: GroupedTableRow<T>[]) => void;\n resetPagination: () => void;\n}\n\nexport function useTablePagination<T extends object>(\n options: UseTablePaginationOptions,\n deps: UseTablePaginationDeps<T>,\n): UseTablePaginationReturn<T> {\n const { itemsPerPage, paginationModifiersExternal, globalItemsPerPage } = options;\n const { pagination, grouped, isHiddenRow, sort, emitUpdateOptions, tableDefaults } = deps;\n\n const itemsLength = shallowRef<number>(0);\n const internalPaginationState: Ref<TablePaginationData | undefined> = ref();\n\n const globalItemsPerPageSettings = computed<boolean>(() => {\n if (globalItemsPerPage !== undefined)\n return globalItemsPerPage;\n\n return get(tableDefaults.globalItemsPerPage);\n });\n\n const paginationData: Ref<TablePaginationData> = computed({\n get(): TablePaginationData {\n const paginated = get(internalPaginationState);\n if (!paginated) {\n return {\n total: get(itemsLength),\n limit: itemsPerPage,\n page: 1,\n };\n }\n\n if (paginationModifiersExternal)\n return paginated;\n\n return {\n total: get(itemsLength),\n limit: paginated.limit,\n page: paginated.page,\n limits: paginated.limits,\n };\n },\n set(value: TablePaginationData) {\n set(internalPaginationState, value);\n set(pagination, value);\n emitUpdateOptions({\n pagination: value,\n sort: get(sort),\n });\n },\n });\n\n const filtered = computed<GroupedTableRow<T>[]>(() => {\n const result = get(grouped);\n\n const paginated = get(paginationData);\n const limit = paginated.limit;\n if (!paginationModifiersExternal) {\n const start = (paginated.page - 1) * limit;\n const end = start + limit;\n const preGroups = result.slice(0, start + 1).filter(item => !isRow(item));\n const postGroups = result\n .slice(start + 1, end + preGroups.length)\n .filter(item => !isRow(item));\n const data = result.slice(\n start + preGroups.length,\n end + preGroups.length + postGroups.length,\n );\n const nearestGroup = preGroups.at(-1);\n if (data.length > 0) {\n const firstItem = data[0];\n assert(firstItem);\n if (isRow(firstItem) && nearestGroup)\n data.unshift(nearestGroup);\n const lastItem = data.at(-1);\n if (lastItem && !isRow(lastItem))\n data.pop();\n }\n\n return data.filter(row => !isHiddenRow(row));\n }\n\n return result.filter(row => !isHiddenRow(row));\n });\n\n function setInternalTotal(items: GroupedTableRow<T>[]): void {\n if (!paginationModifiersExternal)\n set(itemsLength, items.filter(isRow).length);\n }\n\n function resetPagination(): void {\n set(paginationData, {\n ...get(paginationData),\n page: 1,\n });\n }\n\n // Sync external pagination model to internal state\n watch(pagination, val => set(internalPaginationState, val), { immediate: true });\n\n // Sync pagination limit to global table defaults\n watch(internalPaginationState, (paginationState) => {\n if (paginationState?.limit && get(globalItemsPerPageSettings))\n set(tableDefaults.itemsPerPage, paginationState.limit);\n });\n\n // Sync global table defaults to pagination limit\n watch(\n tableDefaults.itemsPerPage,\n (perPage) => {\n if (!get(globalItemsPerPageSettings))\n return;\n\n set(paginationData, {\n ...get(paginationData),\n limit: perPage,\n });\n },\n { immediate: true },\n );\n\n // Auto-adjust page when current page exceeds max available pages\n watch(paginationData, (paginationState) => {\n const { total, limit, page } = paginationState;\n const maxPages = Math.ceil(total / limit);\n\n if (maxPages > 0 && page > maxPages) {\n set(paginationData, {\n ...paginationState,\n page: maxPages,\n });\n }\n });\n\n return {\n paginationData,\n filtered,\n itemsLength,\n globalItemsPerPageSettings,\n setInternalTotal,\n resetPagination,\n };\n}\n"],"mappings":";;;;;AAqCA,SAAgB,mBACd,SACA,MAC6B;CAC7B,MAAM,EAAE,cAAc,6BAA6B,uBAAuB;CAC1E,MAAM,EAAE,YAAY,SAAS,aAAa,MAAM,mBAAmB,kBAAkB;CAErF,MAAM,cAAc,WAAmB,EAAE;CACzC,MAAM,0BAAgE,KAAK;CAE3E,MAAM,6BAA6B,eAAwB;AACzD,MAAI,uBAAuB,KAAA,EACzB,QAAO;AAET,SAAO,IAAI,cAAc,mBAAmB;GAC5C;CAEF,MAAM,iBAA2C,SAAS;EACxD,MAA2B;GACzB,MAAM,YAAY,IAAI,wBAAwB;AAC9C,OAAI,CAAC,UACH,QAAO;IACL,OAAO,IAAI,YAAY;IACvB,OAAO;IACP,MAAM;IACP;AAGH,OAAI,4BACF,QAAO;AAET,UAAO;IACL,OAAO,IAAI,YAAY;IACvB,OAAO,UAAU;IACjB,MAAM,UAAU;IAChB,QAAQ,UAAU;IACnB;;EAEH,IAAI,OAA4B;AAC9B,OAAI,yBAAyB,MAAM;AACnC,OAAI,YAAY,MAAM;AACtB,qBAAkB;IAChB,YAAY;IACZ,MAAM,IAAI,KAAA;IACX,CAAC;;EAEL,CAAC;CAEF,MAAM,WAAW,eAAqC;EACpD,MAAM,SAAS,IAAI,QAAQ;EAE3B,MAAM,YAAY,IAAI,eAAe;EACrC,MAAM,QAAQ,UAAU;AACxB,MAAI,CAAC,6BAA6B;GAChC,MAAM,SAAS,UAAU,OAAO,KAAK;GACrC,MAAM,MAAM,QAAQ;GACpB,MAAM,YAAY,OAAO,MAAM,GAAG,QAAQ,EAAE,CAAC,QAAO,SAAQ,CAAC,MAAM,KAAK,CAAC;GACzE,MAAM,aAAa,OAChB,MAAM,QAAQ,GAAG,MAAM,UAAU,OAAO,CACxC,QAAO,SAAQ,CAAC,MAAM,KAAK,CAAC;GAC/B,MAAM,OAAO,OAAO,MAClB,QAAQ,UAAU,QAClB,MAAM,UAAU,SAAS,WAAW,OACrC;GACD,MAAM,eAAe,UAAU,GAAG,GAAG;AACrC,OAAI,KAAK,SAAS,GAAG;IACnB,MAAM,YAAY,KAAK;AACvB,WAAO,UAAU;AACjB,QAAI,MAAM,UAAU,IAAI,aACtB,MAAK,QAAQ,aAAa;IAC5B,MAAM,WAAW,KAAK,GAAG,GAAG;AAC5B,QAAI,YAAY,CAAC,MAAM,SAAS,CAC9B,MAAK,KAAK;;AAGd,UAAO,KAAK,QAAO,QAAO,CAAC,YAAY,IAAI,CAAC;;AAG9C,SAAO,OAAO,QAAO,QAAO,CAAC,YAAY,IAAI,CAAC;GAC9C;CAEF,SAAS,iBAAiB,OAAmC;AAC3D,MAAI,CAAC,4BACH,KAAI,aAAa,MAAM,OAAO,MAAM,CAAC,OAAO;;CAGhD,SAAS,kBAAwB;AAC/B,MAAI,gBAAgB;GAClB,GAAG,IAAI,eAAe;GACtB,MAAM;GACP,CAAC;;AAIJ,OAAM,aAAY,QAAO,IAAI,yBAAyB,IAAI,EAAE,EAAE,WAAW,MAAM,CAAC;AAGhF,OAAM,0BAA0B,oBAAoB;AAClD,MAAI,iBAAiB,SAAS,IAAI,2BAA2B,CAC3D,KAAI,cAAc,cAAc,gBAAgB,MAAM;GACxD;AAGF,OACE,cAAc,eACb,YAAY;AACX,MAAI,CAAC,IAAI,2BAA2B,CAClC;AAEF,MAAI,gBAAgB;GAClB,GAAG,IAAI,eAAe;GACtB,OAAO;GACR,CAAC;IAEJ,EAAE,WAAW,MAAM,CACpB;AAGD,OAAM,iBAAiB,oBAAoB;EACzC,MAAM,EAAE,OAAO,OAAO,SAAS;EAC/B,MAAM,WAAW,KAAK,KAAK,QAAQ,MAAM;AAEzC,MAAI,WAAW,KAAK,OAAO,SACzB,KAAI,gBAAgB;GAClB,GAAG;GACH,MAAM;GACP,CAAC;GAEJ;AAEF,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACD"}
@@ -1,164 +1,128 @@
1
- import { isRow } from "./types.js";
2
- import { useTimeoutManager } from "../../timeout-manager.js";
3
1
  import { assert } from "../../../utils/assert.js";
4
- import { shallowRef, ref, watch, computed, toValue } from "vue";
5
- import { set, get } from "@vueuse/shared";
2
+ import { useTimeoutManager } from "../../timeout-manager.js";
3
+ import { isRow } from "./types.js";
4
+ import { computed, ref, shallowRef, toValue, watch } from "vue";
6
5
  import { isDefined } from "@vueuse/core";
6
+ import { get as get$1, set as set$1 } from "@vueuse/shared";
7
+ //#region src/composables/tables/data-table/selection.ts
7
8
  function useTableSelection(options, deps) {
8
- const { rowAttr, multiPageSelect, disabledRows } = options;
9
- const { selectedData, filtered } = deps;
10
- const shiftClicked = shallowRef(false);
11
- const lastSelectedIndex = shallowRef(-1);
12
- const internalSelectedData = ref([]);
13
- const { create: scheduleShiftSelect } = useTimeoutManager();
14
- watch(selectedData, (val) => set(internalSelectedData, val), { immediate: true });
15
- const visibleIdentifiers = computed(
16
- () => get(filtered).filter(isRow).map((row) => row[rowAttr])
17
- );
18
- const selectedSet = computed(() => new Set(get(selectedData) ?? []));
19
- const disabledRowKeySet = computed(() => {
20
- const currentDisabledRows = toValue(disabledRows);
21
- if (!currentDisabledRows || !rowAttr)
22
- return /* @__PURE__ */ new Set();
23
- return new Set(currentDisabledRows.map((row) => row[rowAttr]));
24
- });
25
- const isAllSelected = computed(() => {
26
- const selectedRows = get(selectedData);
27
- if (!selectedRows || selectedRows.length === 0)
28
- return false;
29
- const selected = get(selectedSet);
30
- return get(visibleIdentifiers).every((id) => selected.has(id));
31
- });
32
- const indeterminate = computed(() => {
33
- const selectedRows = get(selectedData);
34
- if (!selectedRows)
35
- return false;
36
- return selectedRows.length > 0 && !get(isAllSelected);
37
- });
38
- function isSelected(identifier) {
39
- return get(selectedSet).has(identifier);
40
- }
41
- function isDisabledRow(rowKey) {
42
- return get(disabledRowKeySet).has(rowKey);
43
- }
44
- function isSelectable(rowKey) {
45
- return isSelected(rowKey) || !isDisabledRow(rowKey);
46
- }
47
- function mustSelect(rowKey) {
48
- return isSelected(rowKey) && isDisabledRow(rowKey);
49
- }
50
- function resetCheckboxShiftState() {
51
- set(shiftClicked, false);
52
- set(lastSelectedIndex, -1);
53
- }
54
- function onToggleAll(checked) {
55
- const selectedRows = get(selectedData);
56
- if (!isDefined(selectedRows))
57
- return;
58
- if (!multiPageSelect) {
59
- if (checked)
60
- set(selectedData, get(visibleIdentifiers).filter(isSelectable));
61
- else set(selectedData, get(visibleIdentifiers).filter(mustSelect));
62
- } else {
63
- if (checked) {
64
- set(
65
- selectedData,
66
- Array.from(/* @__PURE__ */ new Set([...selectedRows, ...get(visibleIdentifiers).filter(isSelectable)]))
67
- );
68
- } else {
69
- const visibleSet = new Set(get(visibleIdentifiers));
70
- const mustSelectSet = new Set(get(visibleIdentifiers).filter(mustSelect));
71
- set(
72
- selectedData,
73
- selectedRows.filter((rowKey) => !visibleSet.has(rowKey) || mustSelectSet.has(rowKey))
74
- );
75
- }
76
- }
77
- }
78
- function onSelect(checked, value, userAction = false) {
79
- if (get(shiftClicked) && userAction)
80
- return;
81
- const selectedRows = get(internalSelectedData);
82
- if (!selectedRows)
83
- return;
84
- const selected = isSelected(value);
85
- if (checked && !selected) {
86
- set(internalSelectedData, [...selectedRows, value]);
87
- } else if (!checked && selected) {
88
- set(
89
- internalSelectedData,
90
- [...selectedRows].filter((r) => r !== value)
91
- );
92
- }
93
- if (userAction)
94
- set(selectedData, get(internalSelectedData));
95
- }
96
- function onCheckboxClick(event, value, index) {
97
- const currentTarget = event.currentTarget;
98
- if (!(currentTarget instanceof HTMLElement))
99
- return;
100
- const input = currentTarget.querySelector("input");
101
- const target = event.target;
102
- const nodeName = target instanceof HTMLElement ? target.nodeName : void 0;
103
- const shiftKey = event.shiftKey;
104
- set(shiftClicked, shiftKey);
105
- if (input && nodeName !== "INPUT") {
106
- if (shiftKey) {
107
- scheduleShiftSelect(() => {
108
- let lastIndex = get(lastSelectedIndex);
109
- if (lastIndex === -1)
110
- lastIndex = index;
111
- const tableData = get(filtered);
112
- const lastSelectedData = tableData[lastIndex];
113
- assert(lastSelectedData);
114
- if (isRow(lastSelectedData)) {
115
- const valueToApply = isSelected(lastSelectedData[rowAttr]);
116
- if (lastIndex === index) {
117
- onSelect(!valueToApply, value);
118
- } else {
119
- const from = Math.min(lastIndex, index);
120
- const to = Math.max(lastIndex, index);
121
- for (let i = from; i <= to; i++) {
122
- const currSelectedData = tableData[i];
123
- assert(currSelectedData);
124
- if (isRow(currSelectedData) && !isDisabledRow(currSelectedData[rowAttr]))
125
- onSelect(valueToApply, currSelectedData[rowAttr]);
126
- }
127
- }
128
- set(lastSelectedIndex, index);
129
- set(selectedData, get(internalSelectedData));
130
- }
131
- }, 1);
132
- } else {
133
- set(lastSelectedIndex, index);
134
- }
135
- }
136
- }
137
- function deselectRemovedRows() {
138
- const currentSelected = get(selectedData);
139
- if (!currentSelected)
140
- return;
141
- const visibleSet = new Set(get(visibleIdentifiers));
142
- const remaining = currentSelected.filter((key) => visibleSet.has(key));
143
- if (remaining.length !== currentSelected.length)
144
- set(selectedData, remaining);
145
- }
146
- return {
147
- visibleIdentifiers,
148
- isAllSelected,
149
- indeterminate,
150
- isSelected,
151
- isDisabledRow,
152
- isSelectable,
153
- mustSelect,
154
- onToggleAll,
155
- onSelect,
156
- onCheckboxClick,
157
- deselectRemovedRows,
158
- resetCheckboxShiftState
159
- };
9
+ const { rowAttr, multiPageSelect, disabledRows } = options;
10
+ const { selectedData, filtered } = deps;
11
+ const shiftClicked = shallowRef(false);
12
+ const lastSelectedIndex = shallowRef(-1);
13
+ const internalSelectedData = ref([]);
14
+ const { create: scheduleShiftSelect } = useTimeoutManager();
15
+ watch(selectedData, (val) => set$1(internalSelectedData, val), { immediate: true });
16
+ const visibleIdentifiers = computed(() => get$1(filtered).filter(isRow).map((row) => row[rowAttr]));
17
+ const selectedSet = computed(() => new Set(get$1(selectedData) ?? []));
18
+ const disabledRowKeySet = computed(() => {
19
+ const currentDisabledRows = toValue(disabledRows);
20
+ if (!currentDisabledRows || !rowAttr) return /* @__PURE__ */ new Set();
21
+ return new Set(currentDisabledRows.map((row) => row[rowAttr]));
22
+ });
23
+ const isAllSelected = computed(() => {
24
+ const selectedRows = get$1(selectedData);
25
+ if (!selectedRows || selectedRows.length === 0) return false;
26
+ const selected = get$1(selectedSet);
27
+ return get$1(visibleIdentifiers).every((id) => selected.has(id));
28
+ });
29
+ const indeterminate = computed(() => {
30
+ const selectedRows = get$1(selectedData);
31
+ if (!selectedRows) return false;
32
+ return selectedRows.length > 0 && !get$1(isAllSelected);
33
+ });
34
+ function isSelected(identifier) {
35
+ return get$1(selectedSet).has(identifier);
36
+ }
37
+ function isDisabledRow(rowKey) {
38
+ return get$1(disabledRowKeySet).has(rowKey);
39
+ }
40
+ function isSelectable(rowKey) {
41
+ return isSelected(rowKey) || !isDisabledRow(rowKey);
42
+ }
43
+ function mustSelect(rowKey) {
44
+ return isSelected(rowKey) && isDisabledRow(rowKey);
45
+ }
46
+ function resetCheckboxShiftState() {
47
+ set$1(shiftClicked, false);
48
+ set$1(lastSelectedIndex, -1);
49
+ }
50
+ function onToggleAll(checked) {
51
+ const selectedRows = get$1(selectedData);
52
+ if (!isDefined(selectedRows)) return;
53
+ if (!multiPageSelect) if (checked) set$1(selectedData, get$1(visibleIdentifiers).filter(isSelectable));
54
+ else set$1(selectedData, get$1(visibleIdentifiers).filter(mustSelect));
55
+ else if (checked) set$1(selectedData, Array.from(new Set([...selectedRows, ...get$1(visibleIdentifiers).filter(isSelectable)])));
56
+ else {
57
+ const visibleSet = new Set(get$1(visibleIdentifiers));
58
+ const mustSelectSet = new Set(get$1(visibleIdentifiers).filter(mustSelect));
59
+ set$1(selectedData, selectedRows.filter((rowKey) => !visibleSet.has(rowKey) || mustSelectSet.has(rowKey)));
60
+ }
61
+ }
62
+ function onSelect(checked, value, userAction = false) {
63
+ if (get$1(shiftClicked) && userAction) return;
64
+ const selectedRows = get$1(internalSelectedData);
65
+ if (!selectedRows) return;
66
+ const selected = isSelected(value);
67
+ if (checked && !selected) set$1(internalSelectedData, [...selectedRows, value]);
68
+ else if (!checked && selected) set$1(internalSelectedData, [...selectedRows].filter((r) => r !== value));
69
+ if (userAction) set$1(selectedData, get$1(internalSelectedData));
70
+ }
71
+ function onCheckboxClick(event, value, index) {
72
+ const currentTarget = event.currentTarget;
73
+ if (!(currentTarget instanceof HTMLElement)) return;
74
+ const input = currentTarget.querySelector("input");
75
+ const target = event.target;
76
+ const nodeName = target instanceof HTMLElement ? target.nodeName : void 0;
77
+ const shiftKey = event.shiftKey;
78
+ set$1(shiftClicked, shiftKey);
79
+ if (input && nodeName !== "INPUT") if (shiftKey) scheduleShiftSelect(() => {
80
+ let lastIndex = get$1(lastSelectedIndex);
81
+ if (lastIndex === -1) lastIndex = index;
82
+ const tableData = get$1(filtered);
83
+ const lastSelectedData = tableData[lastIndex];
84
+ assert(lastSelectedData);
85
+ if (isRow(lastSelectedData)) {
86
+ const valueToApply = isSelected(lastSelectedData[rowAttr]);
87
+ if (lastIndex === index) onSelect(!valueToApply, value);
88
+ else {
89
+ const from = Math.min(lastIndex, index);
90
+ const to = Math.max(lastIndex, index);
91
+ for (let i = from; i <= to; i++) {
92
+ const currSelectedData = tableData[i];
93
+ assert(currSelectedData);
94
+ if (isRow(currSelectedData) && !isDisabledRow(currSelectedData[rowAttr])) onSelect(valueToApply, currSelectedData[rowAttr]);
95
+ }
96
+ }
97
+ set$1(lastSelectedIndex, index);
98
+ set$1(selectedData, get$1(internalSelectedData));
99
+ }
100
+ }, 1);
101
+ else set$1(lastSelectedIndex, index);
102
+ }
103
+ function deselectRemovedRows() {
104
+ const currentSelected = get$1(selectedData);
105
+ if (!currentSelected) return;
106
+ const visibleSet = new Set(get$1(visibleIdentifiers));
107
+ const remaining = currentSelected.filter((key) => visibleSet.has(key));
108
+ if (remaining.length !== currentSelected.length) set$1(selectedData, remaining);
109
+ }
110
+ return {
111
+ visibleIdentifiers,
112
+ isAllSelected,
113
+ indeterminate,
114
+ isSelected,
115
+ isDisabledRow,
116
+ isSelectable,
117
+ mustSelect,
118
+ onToggleAll,
119
+ onSelect,
120
+ onCheckboxClick,
121
+ deselectRemovedRows,
122
+ resetCheckboxShiftState
123
+ };
160
124
  }
161
- export {
162
- useTableSelection
163
- };
164
- //# sourceMappingURL=selection.js.map
125
+ //#endregion
126
+ export { useTableSelection };
127
+
128
+ //# sourceMappingURL=selection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"selection.js","sources":["../../../../src/composables/tables/data-table/selection.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';\nimport { type GroupedTableRow, isRow } from '@/composables/tables/data-table/types';\nimport { useTimeoutManager } from '@/composables/timeout-manager';\nimport { assert } from '@/utils/assert';\n\nexport interface UseTableSelectionOptions<T extends object, IdType extends keyof T> {\n /** The property on each row used as the unique row identifier. */\n rowAttr: IdType;\n /** Whether selection persists across pages. */\n multiPageSelect: boolean;\n /** Rows that cannot be selected or deselected by the user. */\n disabledRows: MaybeRefOrGetter<readonly T[] | undefined>;\n}\n\nexport interface UseTableSelectionDeps<T extends object, IdType extends keyof T> {\n selectedData: Ref<T[IdType][] | undefined>;\n filtered: ComputedRef<GroupedTableRow<T>[]>;\n}\n\nexport interface UseTableSelectionReturn<T extends object, IdType extends keyof T> {\n visibleIdentifiers: ComputedRef<T[IdType][]>;\n isAllSelected: ComputedRef<boolean>;\n indeterminate: ComputedRef<boolean>;\n isSelected: (identifier: T[IdType]) => boolean;\n isDisabledRow: (rowKey: T[IdType]) => boolean;\n isSelectable: (rowKey: T[IdType]) => boolean;\n mustSelect: (rowKey: T[IdType]) => boolean;\n onToggleAll: (checked: boolean) => void;\n onSelect: (checked: boolean, value: T[IdType], userAction?: boolean) => void;\n onCheckboxClick: (event: MouseEvent, value: T[IdType], index: number) => void;\n deselectRemovedRows: () => void;\n resetCheckboxShiftState: () => void;\n}\n\nexport function useTableSelection<T extends object, IdType extends keyof T>(\n options: UseTableSelectionOptions<T, IdType>,\n deps: UseTableSelectionDeps<T, IdType>,\n): UseTableSelectionReturn<T, IdType> {\n const { rowAttr, multiPageSelect, disabledRows } = options;\n const { selectedData, filtered } = deps;\n\n const shiftClicked: Ref<boolean> = shallowRef(false);\n const lastSelectedIndex: Ref<number> = shallowRef(-1);\n const internalSelectedData: Ref<T[IdType][]> = ref([]);\n const { create: scheduleShiftSelect } = useTimeoutManager();\n\n // Sync external selection model to internal state\n watch(selectedData, val => set(internalSelectedData, val), { immediate: true });\n\n const visibleIdentifiers = computed<T[IdType][]>(() =>\n get(filtered)\n .filter(isRow)\n .map(row => row[rowAttr]),\n );\n\n const selectedSet = computed<Set<T[IdType]>>(() => new Set(get(selectedData) ?? []));\n\n const disabledRowKeySet = computed<Set<T[IdType]>>(() => {\n const currentDisabledRows = toValue(disabledRows);\n if (!currentDisabledRows || !rowAttr)\n return new Set<T[IdType]>();\n return new Set<T[IdType]>(currentDisabledRows.map((row: T) => row[rowAttr]));\n });\n\n const isAllSelected = computed<boolean>(() => {\n const selectedRows = get(selectedData);\n if (!selectedRows || selectedRows.length === 0)\n return false;\n\n const selected = get(selectedSet);\n return get(visibleIdentifiers).every(id => selected.has(id));\n });\n\n const indeterminate = computed<boolean>(() => {\n const selectedRows = get(selectedData);\n if (!selectedRows)\n return false;\n\n return selectedRows.length > 0 && !get(isAllSelected);\n });\n\n function isSelected(identifier: T[IdType]): boolean {\n return get(selectedSet).has(identifier);\n }\n\n function isDisabledRow(rowKey: T[IdType]): boolean {\n return get(disabledRowKeySet).has(rowKey);\n }\n\n function isSelectable(rowKey: T[IdType]): boolean {\n return isSelected(rowKey) || !isDisabledRow(rowKey);\n }\n\n function mustSelect(rowKey: T[IdType]): boolean {\n return isSelected(rowKey) && isDisabledRow(rowKey);\n }\n\n function resetCheckboxShiftState(): void {\n set(shiftClicked, false);\n set(lastSelectedIndex, -1);\n }\n\n function onToggleAll(checked: boolean): void {\n const selectedRows = get(selectedData);\n\n if (!isDefined(selectedRows))\n return;\n\n if (!multiPageSelect) {\n if (checked)\n set(selectedData, get(visibleIdentifiers).filter(isSelectable));\n else set(selectedData, get(visibleIdentifiers).filter(mustSelect));\n }\n else {\n if (checked) {\n set(\n selectedData,\n Array.from(new Set([...selectedRows, ...get(visibleIdentifiers).filter(isSelectable)])),\n );\n }\n else {\n const visibleSet = new Set(get(visibleIdentifiers));\n const mustSelectSet = new Set(get(visibleIdentifiers).filter(mustSelect));\n set(\n selectedData,\n selectedRows.filter(rowKey => !visibleSet.has(rowKey) || mustSelectSet.has(rowKey)),\n );\n }\n }\n }\n\n function onSelect(checked: boolean, value: T[IdType], userAction: boolean = false): void {\n if (get(shiftClicked) && userAction)\n return;\n\n const selectedRows = get(internalSelectedData);\n if (!selectedRows)\n return;\n\n const selected = isSelected(value);\n\n if (checked && !selected) {\n set(internalSelectedData, [...selectedRows, value]);\n }\n else if (!checked && selected) {\n set(\n internalSelectedData,\n [...selectedRows].filter(r => r !== value),\n );\n }\n\n if (userAction)\n set(selectedData, get(internalSelectedData));\n }\n\n function onCheckboxClick(event: MouseEvent, value: T[IdType], index: number): void {\n const currentTarget = event.currentTarget;\n if (!(currentTarget instanceof HTMLElement))\n return;\n\n const input = currentTarget.querySelector('input');\n const target = event.target;\n const nodeName = target instanceof HTMLElement ? target.nodeName : undefined;\n\n const shiftKey = event.shiftKey;\n set(shiftClicked, shiftKey);\n\n if (input && nodeName !== 'INPUT') {\n if (shiftKey) {\n scheduleShiftSelect(() => {\n let lastIndex = get(lastSelectedIndex);\n if (lastIndex === -1)\n lastIndex = index;\n const tableData = get(filtered);\n const lastSelectedData = tableData[lastIndex];\n assert(lastSelectedData);\n\n if (isRow(lastSelectedData)) {\n const valueToApply = isSelected(lastSelectedData[rowAttr]);\n\n if (lastIndex === index) {\n onSelect(!valueToApply, value);\n }\n else {\n const from = Math.min(lastIndex, index);\n const to = Math.max(lastIndex, index);\n\n for (let i = from; i <= to; i++) {\n const currSelectedData = tableData[i];\n assert(currSelectedData);\n if (isRow(currSelectedData) && !isDisabledRow(currSelectedData[rowAttr]))\n onSelect(valueToApply, currSelectedData[rowAttr]);\n }\n }\n\n set(lastSelectedIndex, index);\n set(selectedData, get(internalSelectedData));\n }\n }, 1);\n }\n else {\n set(lastSelectedIndex, index);\n }\n }\n }\n\n function deselectRemovedRows(): void {\n const currentSelected = get(selectedData);\n if (!currentSelected)\n return;\n\n const visibleSet = new Set(get(visibleIdentifiers));\n const remaining = currentSelected.filter(key => visibleSet.has(key));\n\n if (remaining.length !== currentSelected.length)\n set(selectedData, remaining);\n }\n\n return {\n visibleIdentifiers,\n isAllSelected,\n indeterminate,\n isSelected,\n isDisabledRow,\n isSelectable,\n mustSelect,\n onToggleAll,\n onSelect,\n onCheckboxClick,\n deselectRemovedRows,\n resetCheckboxShiftState,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selection.js","names":[],"sources":["../../../../src/composables/tables/data-table/selection.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';\nimport { type GroupedTableRow, isRow } from '@/composables/tables/data-table/types';\nimport { useTimeoutManager } from '@/composables/timeout-manager';\nimport { assert } from '@/utils/assert';\n\nexport interface UseTableSelectionOptions<T extends object, IdType extends keyof T> {\n /** The property on each row used as the unique row identifier. */\n rowAttr: IdType;\n /** Whether selection persists across pages. */\n multiPageSelect: boolean;\n /** Rows that cannot be selected or deselected by the user. */\n disabledRows: MaybeRefOrGetter<readonly T[] | undefined>;\n}\n\nexport interface UseTableSelectionDeps<T extends object, IdType extends keyof T> {\n selectedData: Ref<T[IdType][] | undefined>;\n filtered: ComputedRef<GroupedTableRow<T>[]>;\n}\n\nexport interface UseTableSelectionReturn<T extends object, IdType extends keyof T> {\n visibleIdentifiers: ComputedRef<T[IdType][]>;\n isAllSelected: ComputedRef<boolean>;\n indeterminate: ComputedRef<boolean>;\n isSelected: (identifier: T[IdType]) => boolean;\n isDisabledRow: (rowKey: T[IdType]) => boolean;\n isSelectable: (rowKey: T[IdType]) => boolean;\n mustSelect: (rowKey: T[IdType]) => boolean;\n onToggleAll: (checked: boolean) => void;\n onSelect: (checked: boolean, value: T[IdType], userAction?: boolean) => void;\n onCheckboxClick: (event: MouseEvent, value: T[IdType], index: number) => void;\n deselectRemovedRows: () => void;\n resetCheckboxShiftState: () => void;\n}\n\nexport function useTableSelection<T extends object, IdType extends keyof T>(\n options: UseTableSelectionOptions<T, IdType>,\n deps: UseTableSelectionDeps<T, IdType>,\n): UseTableSelectionReturn<T, IdType> {\n const { rowAttr, multiPageSelect, disabledRows } = options;\n const { selectedData, filtered } = deps;\n\n const shiftClicked: Ref<boolean> = shallowRef(false);\n const lastSelectedIndex: Ref<number> = shallowRef(-1);\n const internalSelectedData: Ref<T[IdType][]> = ref([]);\n const { create: scheduleShiftSelect } = useTimeoutManager();\n\n // Sync external selection model to internal state\n watch(selectedData, val => set(internalSelectedData, val), { immediate: true });\n\n const visibleIdentifiers = computed<T[IdType][]>(() =>\n get(filtered)\n .filter(isRow)\n .map(row => row[rowAttr]),\n );\n\n const selectedSet = computed<Set<T[IdType]>>(() => new Set(get(selectedData) ?? []));\n\n const disabledRowKeySet = computed<Set<T[IdType]>>(() => {\n const currentDisabledRows = toValue(disabledRows);\n if (!currentDisabledRows || !rowAttr)\n return new Set<T[IdType]>();\n return new Set<T[IdType]>(currentDisabledRows.map((row: T) => row[rowAttr]));\n });\n\n const isAllSelected = computed<boolean>(() => {\n const selectedRows = get(selectedData);\n if (!selectedRows || selectedRows.length === 0)\n return false;\n\n const selected = get(selectedSet);\n return get(visibleIdentifiers).every(id => selected.has(id));\n });\n\n const indeterminate = computed<boolean>(() => {\n const selectedRows = get(selectedData);\n if (!selectedRows)\n return false;\n\n return selectedRows.length > 0 && !get(isAllSelected);\n });\n\n function isSelected(identifier: T[IdType]): boolean {\n return get(selectedSet).has(identifier);\n }\n\n function isDisabledRow(rowKey: T[IdType]): boolean {\n return get(disabledRowKeySet).has(rowKey);\n }\n\n function isSelectable(rowKey: T[IdType]): boolean {\n return isSelected(rowKey) || !isDisabledRow(rowKey);\n }\n\n function mustSelect(rowKey: T[IdType]): boolean {\n return isSelected(rowKey) && isDisabledRow(rowKey);\n }\n\n function resetCheckboxShiftState(): void {\n set(shiftClicked, false);\n set(lastSelectedIndex, -1);\n }\n\n function onToggleAll(checked: boolean): void {\n const selectedRows = get(selectedData);\n\n if (!isDefined(selectedRows))\n return;\n\n if (!multiPageSelect) {\n if (checked)\n set(selectedData, get(visibleIdentifiers).filter(isSelectable));\n else set(selectedData, get(visibleIdentifiers).filter(mustSelect));\n }\n else {\n if (checked) {\n set(\n selectedData,\n Array.from(new Set([...selectedRows, ...get(visibleIdentifiers).filter(isSelectable)])),\n );\n }\n else {\n const visibleSet = new Set(get(visibleIdentifiers));\n const mustSelectSet = new Set(get(visibleIdentifiers).filter(mustSelect));\n set(\n selectedData,\n selectedRows.filter(rowKey => !visibleSet.has(rowKey) || mustSelectSet.has(rowKey)),\n );\n }\n }\n }\n\n function onSelect(checked: boolean, value: T[IdType], userAction: boolean = false): void {\n if (get(shiftClicked) && userAction)\n return;\n\n const selectedRows = get(internalSelectedData);\n if (!selectedRows)\n return;\n\n const selected = isSelected(value);\n\n if (checked && !selected) {\n set(internalSelectedData, [...selectedRows, value]);\n }\n else if (!checked && selected) {\n set(\n internalSelectedData,\n [...selectedRows].filter(r => r !== value),\n );\n }\n\n if (userAction)\n set(selectedData, get(internalSelectedData));\n }\n\n function onCheckboxClick(event: MouseEvent, value: T[IdType], index: number): void {\n const currentTarget = event.currentTarget;\n if (!(currentTarget instanceof HTMLElement))\n return;\n\n const input = currentTarget.querySelector('input');\n const target = event.target;\n const nodeName = target instanceof HTMLElement ? target.nodeName : undefined;\n\n const shiftKey = event.shiftKey;\n set(shiftClicked, shiftKey);\n\n if (input && nodeName !== 'INPUT') {\n if (shiftKey) {\n scheduleShiftSelect(() => {\n let lastIndex = get(lastSelectedIndex);\n if (lastIndex === -1)\n lastIndex = index;\n const tableData = get(filtered);\n const lastSelectedData = tableData[lastIndex];\n assert(lastSelectedData);\n\n if (isRow(lastSelectedData)) {\n const valueToApply = isSelected(lastSelectedData[rowAttr]);\n\n if (lastIndex === index) {\n onSelect(!valueToApply, value);\n }\n else {\n const from = Math.min(lastIndex, index);\n const to = Math.max(lastIndex, index);\n\n for (let i = from; i <= to; i++) {\n const currSelectedData = tableData[i];\n assert(currSelectedData);\n if (isRow(currSelectedData) && !isDisabledRow(currSelectedData[rowAttr]))\n onSelect(valueToApply, currSelectedData[rowAttr]);\n }\n }\n\n set(lastSelectedIndex, index);\n set(selectedData, get(internalSelectedData));\n }\n }, 1);\n }\n else {\n set(lastSelectedIndex, index);\n }\n }\n }\n\n function deselectRemovedRows(): void {\n const currentSelected = get(selectedData);\n if (!currentSelected)\n return;\n\n const visibleSet = new Set(get(visibleIdentifiers));\n const remaining = currentSelected.filter(key => visibleSet.has(key));\n\n if (remaining.length !== currentSelected.length)\n set(selectedData, remaining);\n }\n\n return {\n visibleIdentifiers,\n isAllSelected,\n indeterminate,\n isSelected,\n isDisabledRow,\n isSelectable,\n mustSelect,\n onToggleAll,\n onSelect,\n onCheckboxClick,\n deselectRemovedRows,\n resetCheckboxShiftState,\n };\n}\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ComputedRef, MaybeRefOrGetter, Ref } from 'vue';
2
- import type { SortColumn, TableRowKey, TableSortData } from '../../../components/tables/RuiTableHead.vue.js';
3
- import type { TablePaginationData } from '../../../components/tables/RuiTablePagination.vue.js';
2
+ import type { SortColumn, TableRowKey, TableSortData } from '../../../components/tables/RuiTableHead.vue';
3
+ import type { TablePaginationData } from '../../../components/tables/RuiTablePagination.vue';
4
4
  export interface UseTableSortOptions<T extends object> {
5
5
  /** The data rows to sort. */
6
6
  rows: MaybeRefOrGetter<readonly T[]>;