@rotki/ui-library 2.8.1 → 2.8.2

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 (465) hide show
  1. package/dist/README.md +276 -0
  2. package/dist/_virtual/_plugin-vue_export-helper.js +11 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
  4. package/dist/components/accordions/accordion/RuiAccordion.vue.js +11 -0
  5. package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +1 -0
  6. package/dist/components/accordions/accordion/RuiAccordion.vue2.js +66 -0
  7. package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +1 -0
  8. package/dist/components/accordions/accordion/RuiAccordion.vue3.js +18 -0
  9. package/dist/components/accordions/accordion/RuiAccordion.vue3.js.map +1 -0
  10. package/dist/components/accordions/accordions/RuiAccordions.vue.js +78 -0
  11. package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +1 -0
  12. package/dist/components/accordions/accordions/RuiAccordions.vue2.js +5 -0
  13. package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +1 -0
  14. package/dist/components/alerts/RuiAlert.vue.d.ts +2 -2
  15. package/dist/components/alerts/RuiAlert.vue.js +11 -0
  16. package/dist/components/alerts/RuiAlert.vue.js.map +1 -0
  17. package/dist/components/alerts/RuiAlert.vue2.js +123 -0
  18. package/dist/components/alerts/RuiAlert.vue2.js.map +1 -0
  19. package/dist/components/alerts/RuiAlert.vue3.js +50 -0
  20. package/dist/components/alerts/RuiAlert.vue3.js.map +1 -0
  21. package/dist/components/buttons/button/RuiButton.vue.d.ts +1 -1
  22. package/dist/components/buttons/button/RuiButton.vue.js +11 -0
  23. package/dist/components/buttons/button/RuiButton.vue.js.map +1 -0
  24. package/dist/components/buttons/button/RuiButton.vue2.js +94 -0
  25. package/dist/components/buttons/button/RuiButton.vue2.js.map +1 -0
  26. package/dist/components/buttons/button/RuiButton.vue3.js +74 -0
  27. package/dist/components/buttons/button/RuiButton.vue3.js.map +1 -0
  28. package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +1 -1
  29. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +11 -0
  30. package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +1 -0
  31. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +112 -0
  32. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +1 -0
  33. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +58 -0
  34. package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +1 -0
  35. package/dist/components/calendar/RuiCalendar.vue.js +128 -0
  36. package/dist/components/calendar/RuiCalendar.vue.js.map +1 -0
  37. package/dist/components/calendar/RuiCalendar.vue3.js +6 -0
  38. package/dist/components/calendar/RuiCalendar.vue3.js.map +1 -0
  39. package/dist/components/calendar/RuiCalendarGrid.vue.js +8 -0
  40. package/dist/components/calendar/RuiCalendarGrid.vue.js.map +1 -0
  41. package/dist/components/calendar/RuiCalendarGrid.vue2.js +149 -0
  42. package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +1 -0
  43. package/dist/components/calendar/RuiCalendarHeader.vue.d.ts +1 -1
  44. package/dist/components/calendar/RuiCalendarHeader.vue.js +8 -0
  45. package/dist/components/calendar/RuiCalendarHeader.vue.js.map +1 -0
  46. package/dist/components/calendar/RuiCalendarHeader.vue2.js +112 -0
  47. package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +1 -0
  48. package/dist/components/calendar/RuiCalendarMenu.vue.d.ts +1 -1
  49. package/dist/components/calendar/RuiCalendarMenu.vue.js +8 -0
  50. package/dist/components/calendar/RuiCalendarMenu.vue.js.map +1 -0
  51. package/dist/components/calendar/RuiCalendarMenu.vue2.js +261 -0
  52. package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +1 -0
  53. package/dist/components/calendar/state.js +25 -0
  54. package/dist/components/calendar/state.js.map +1 -0
  55. package/dist/components/cards/RuiCard.vue.js +11 -0
  56. package/dist/components/cards/RuiCard.vue.js.map +1 -0
  57. package/dist/components/cards/RuiCard.vue2.js +88 -0
  58. package/dist/components/cards/RuiCard.vue2.js.map +1 -0
  59. package/dist/components/cards/RuiCard.vue3.js +40 -0
  60. package/dist/components/cards/RuiCard.vue3.js.map +1 -0
  61. package/dist/components/cards/RuiCardHeader.vue.js +11 -0
  62. package/dist/components/cards/RuiCardHeader.vue.js.map +1 -0
  63. package/dist/components/cards/RuiCardHeader.vue2.js +51 -0
  64. package/dist/components/cards/RuiCardHeader.vue2.js.map +1 -0
  65. package/dist/components/cards/RuiCardHeader.vue3.js +27 -0
  66. package/dist/components/cards/RuiCardHeader.vue3.js.map +1 -0
  67. package/dist/components/chips/RuiChip.vue.d.ts +2 -2
  68. package/dist/components/chips/RuiChip.vue.js +11 -0
  69. package/dist/components/chips/RuiChip.vue.js.map +1 -0
  70. package/dist/components/chips/RuiChip.vue2.js +95 -0
  71. package/dist/components/chips/RuiChip.vue2.js.map +1 -0
  72. package/dist/components/chips/RuiChip.vue3.js +88 -0
  73. package/dist/components/chips/RuiChip.vue3.js.map +1 -0
  74. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
  75. package/dist/components/color-picker/RuiColorBoard.vue.js +11 -0
  76. package/dist/components/color-picker/RuiColorBoard.vue.js.map +1 -0
  77. package/dist/components/color-picker/RuiColorBoard.vue2.js +102 -0
  78. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +1 -0
  79. package/dist/components/color-picker/RuiColorBoard.vue3.js +18 -0
  80. package/dist/components/color-picker/RuiColorBoard.vue3.js.map +1 -0
  81. package/dist/components/color-picker/RuiColorDisplay.vue.js +49 -0
  82. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +1 -0
  83. package/dist/components/color-picker/RuiColorDisplay.vue2.js +5 -0
  84. package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +1 -0
  85. package/dist/components/color-picker/RuiColorHue.vue.js +11 -0
  86. package/dist/components/color-picker/RuiColorHue.vue.js.map +1 -0
  87. package/dist/components/color-picker/RuiColorHue.vue2.js +89 -0
  88. package/dist/components/color-picker/RuiColorHue.vue2.js.map +1 -0
  89. package/dist/components/color-picker/RuiColorHue.vue3.js +12 -0
  90. package/dist/components/color-picker/RuiColorHue.vue3.js.map +1 -0
  91. package/dist/components/color-picker/RuiColorInput.vue.d.ts +1 -1
  92. package/dist/components/color-picker/RuiColorInput.vue.js +139 -0
  93. package/dist/components/color-picker/RuiColorInput.vue.js.map +1 -0
  94. package/dist/components/color-picker/RuiColorInput.vue2.js +5 -0
  95. package/dist/components/color-picker/RuiColorInput.vue2.js.map +1 -0
  96. package/dist/components/color-picker/RuiColorPicker.vue.js +72 -0
  97. package/dist/components/color-picker/RuiColorPicker.vue.js.map +1 -0
  98. package/dist/components/color-picker/RuiColorPicker.vue2.js +5 -0
  99. package/dist/components/color-picker/RuiColorPicker.vue2.js.map +1 -0
  100. package/dist/components/color-picker/utils.js +182 -0
  101. package/dist/components/color-picker/utils.js.map +1 -0
  102. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +1 -1
  103. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +11 -0
  104. package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +1 -0
  105. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +570 -0
  106. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -0
  107. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +66 -0
  108. package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +1 -0
  109. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +2 -2
  110. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +120 -0
  111. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +1 -0
  112. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +5 -0
  113. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +1 -0
  114. package/dist/components/date-time-picker/timezones.js +601 -0
  115. package/dist/components/date-time-picker/timezones.js.map +1 -0
  116. package/dist/components/date-time-picker/types.js +17 -0
  117. package/dist/components/date-time-picker/types.js.map +1 -0
  118. package/dist/components/date-time-picker/use-input-handler.d.ts +2 -2
  119. package/dist/components/date-time-picker/use-input-handler.js +31 -0
  120. package/dist/components/date-time-picker/use-input-handler.js.map +1 -0
  121. package/dist/components/date-time-picker/use-keyboard-handler.d.ts +2 -2
  122. package/dist/components/date-time-picker/use-keyboard-handler.js +308 -0
  123. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -0
  124. package/dist/components/date-time-picker/utils.d.ts +1 -1
  125. package/dist/components/date-time-picker/utils.js +19 -0
  126. package/dist/components/date-time-picker/utils.js.map +1 -0
  127. package/dist/components/divider/RuiDivider.vue.js +22 -0
  128. package/dist/components/divider/RuiDivider.vue.js.map +1 -0
  129. package/dist/components/divider/RuiDivider.vue2.js +5 -0
  130. package/dist/components/divider/RuiDivider.vue2.js.map +1 -0
  131. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +2 -2
  132. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +11 -0
  133. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +1 -0
  134. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +585 -0
  135. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -0
  136. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +60 -0
  137. package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +1 -0
  138. package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +1 -1
  139. package/dist/components/forms/checkbox/RuiCheckbox.vue.js +11 -0
  140. package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +1 -0
  141. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +137 -0
  142. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -0
  143. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +54 -0
  144. package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +1 -0
  145. package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +1 -1
  146. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +11 -0
  147. package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +1 -0
  148. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +115 -0
  149. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -0
  150. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +54 -0
  151. package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +1 -0
  152. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +1 -1
  153. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +11 -0
  154. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +1 -0
  155. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +78 -0
  156. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -0
  157. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +9 -0
  158. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +1 -0
  159. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +5 -5
  160. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +82 -0
  161. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -0
  162. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +5 -0
  163. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +1 -0
  164. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +2 -2
  165. package/dist/components/forms/select/RuiMenuSelect.vue.js +11 -0
  166. package/dist/components/forms/select/RuiMenuSelect.vue.js.map +1 -0
  167. package/dist/components/forms/select/RuiMenuSelect.vue2.js +297 -0
  168. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -0
  169. package/dist/components/forms/select/RuiMenuSelect.vue3.js +60 -0
  170. package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +1 -0
  171. package/dist/components/forms/select/RuiSimpleSelect.vue.js +11 -0
  172. package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +1 -0
  173. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +67 -0
  174. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +1 -0
  175. package/dist/components/forms/select/RuiSimpleSelect.vue3.js +21 -0
  176. package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +1 -0
  177. package/dist/components/forms/slider/RuiSlider.vue.d.ts +1 -1
  178. package/dist/components/forms/slider/RuiSlider.vue.js +11 -0
  179. package/dist/components/forms/slider/RuiSlider.vue.js.map +1 -0
  180. package/dist/components/forms/slider/RuiSlider.vue2.js +165 -0
  181. package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -0
  182. package/dist/components/forms/slider/RuiSlider.vue3.js +80 -0
  183. package/dist/components/forms/slider/RuiSlider.vue3.js.map +1 -0
  184. package/dist/components/forms/switch/RuiSwitch.vue.d.ts +1 -1
  185. package/dist/components/forms/switch/RuiSwitch.vue.js +11 -0
  186. package/dist/components/forms/switch/RuiSwitch.vue.js.map +1 -0
  187. package/dist/components/forms/switch/RuiSwitch.vue2.js +89 -0
  188. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -0
  189. package/dist/components/forms/switch/RuiSwitch.vue3.js +54 -0
  190. package/dist/components/forms/switch/RuiSwitch.vue3.js.map +1 -0
  191. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +2 -2
  192. package/dist/components/forms/text-area/RuiTextArea.vue.js +11 -0
  193. package/dist/components/forms/text-area/RuiTextArea.vue.js.map +1 -0
  194. package/dist/components/forms/text-area/RuiTextArea.vue2.js +252 -0
  195. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -0
  196. package/dist/components/forms/text-area/RuiTextArea.vue3.js +92 -0
  197. package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +1 -0
  198. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +2 -2
  199. package/dist/components/forms/text-field/RuiTextField.vue.js +11 -0
  200. package/dist/components/forms/text-field/RuiTextField.vue.js.map +1 -0
  201. package/dist/components/forms/text-field/RuiTextField.vue2.js +220 -0
  202. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -0
  203. package/dist/components/forms/text-field/RuiTextField.vue3.js +89 -0
  204. package/dist/components/forms/text-field/RuiTextField.vue3.js.map +1 -0
  205. package/dist/components/helpers/RuiFormTextDetail.vue.js +54 -0
  206. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +1 -0
  207. package/dist/components/helpers/RuiFormTextDetail.vue2.js +5 -0
  208. package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +1 -0
  209. package/dist/components/icons/RuiIcon.vue.d.ts +2 -2
  210. package/dist/components/icons/RuiIcon.vue.js +11 -0
  211. package/dist/components/icons/RuiIcon.vue.js.map +1 -0
  212. package/dist/components/icons/RuiIcon.vue2.js +60 -0
  213. package/dist/components/icons/RuiIcon.vue2.js.map +1 -0
  214. package/dist/components/icons/RuiIcon.vue3.js +29 -0
  215. package/dist/components/icons/RuiIcon.vue3.js.map +1 -0
  216. package/dist/components/index.d.ts +45 -45
  217. package/dist/components/index.js +92 -0
  218. package/dist/components/index.js.map +1 -0
  219. package/dist/components/loaders/RuiSkeletonBase.vue.js +11 -0
  220. package/dist/components/loaders/RuiSkeletonBase.vue.js.map +1 -0
  221. package/dist/components/loaders/RuiSkeletonBase.vue2.js +22 -0
  222. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +1 -0
  223. package/dist/components/loaders/RuiSkeletonBase.vue3.js +12 -0
  224. package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +1 -0
  225. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +1 -1
  226. package/dist/components/loaders/RuiSkeletonLoader.vue.js +11 -0
  227. package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +1 -0
  228. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +47 -0
  229. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +1 -0
  230. package/dist/components/loaders/RuiSkeletonLoader.vue3.js +33 -0
  231. package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +1 -0
  232. package/dist/components/logos/RuiLogo.vue.js +114 -0
  233. package/dist/components/logos/RuiLogo.vue.js.map +1 -0
  234. package/dist/components/logos/RuiLogo.vue2.js +5 -0
  235. package/dist/components/logos/RuiLogo.vue2.js.map +1 -0
  236. package/dist/components/logos/logo.svg.js +5 -0
  237. package/dist/components/logos/logo.svg.js.map +1 -0
  238. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +2 -2
  239. package/dist/components/overlays/badge/RuiBadge.vue.js +11 -0
  240. package/dist/components/overlays/badge/RuiBadge.vue.js.map +1 -0
  241. package/dist/components/overlays/badge/RuiBadge.vue2.js +95 -0
  242. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +1 -0
  243. package/dist/components/overlays/badge/RuiBadge.vue3.js +77 -0
  244. package/dist/components/overlays/badge/RuiBadge.vue3.js.map +1 -0
  245. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +34 -0
  246. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +1 -0
  247. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +5 -0
  248. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +1 -0
  249. package/dist/components/overlays/dialog/RuiDialog.vue.js +11 -0
  250. package/dist/components/overlays/dialog/RuiDialog.vue.js.map +1 -0
  251. package/dist/components/overlays/dialog/RuiDialog.vue2.js +172 -0
  252. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +1 -0
  253. package/dist/components/overlays/dialog/RuiDialog.vue3.js +18 -0
  254. package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +1 -0
  255. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +1 -1
  256. package/dist/components/overlays/menu/RuiMenu.vue.js +11 -0
  257. package/dist/components/overlays/menu/RuiMenu.vue.js.map +1 -0
  258. package/dist/components/overlays/menu/RuiMenu.vue2.js +221 -0
  259. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +1 -0
  260. package/dist/components/overlays/menu/RuiMenu.vue3.js +21 -0
  261. package/dist/components/overlays/menu/RuiMenu.vue3.js.map +1 -0
  262. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +11 -0
  263. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +1 -0
  264. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +112 -0
  265. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +1 -0
  266. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +28 -0
  267. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +1 -0
  268. package/dist/components/overlays/notification/RuiNotification.vue.js +74 -0
  269. package/dist/components/overlays/notification/RuiNotification.vue.js.map +1 -0
  270. package/dist/components/overlays/notification/RuiNotification.vue2.js +5 -0
  271. package/dist/components/overlays/notification/RuiNotification.vue2.js.map +1 -0
  272. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +1 -1
  273. package/dist/components/overlays/tooltip/RuiTooltip.vue.js +11 -0
  274. package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +1 -0
  275. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +105 -0
  276. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +1 -0
  277. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +27 -0
  278. package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +1 -0
  279. package/dist/components/progress/RuiProgress.vue.d.ts +1 -1
  280. package/dist/components/progress/RuiProgress.vue.js +11 -0
  281. package/dist/components/progress/RuiProgress.vue.js.map +1 -0
  282. package/dist/components/progress/RuiProgress.vue2.js +98 -0
  283. package/dist/components/progress/RuiProgress.vue2.js.map +1 -0
  284. package/dist/components/progress/RuiProgress.vue3.js +48 -0
  285. package/dist/components/progress/RuiProgress.vue3.js.map +1 -0
  286. package/dist/components/steppers/RuiFooterStepper.vue.js +11 -0
  287. package/dist/components/steppers/RuiFooterStepper.vue.js.map +1 -0
  288. package/dist/components/steppers/RuiFooterStepper.vue2.js +143 -0
  289. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +1 -0
  290. package/dist/components/steppers/RuiFooterStepper.vue3.js +31 -0
  291. package/dist/components/steppers/RuiFooterStepper.vue3.js.map +1 -0
  292. package/dist/components/steppers/RuiStepper.vue.d.ts +1 -1
  293. package/dist/components/steppers/RuiStepper.vue.js +11 -0
  294. package/dist/components/steppers/RuiStepper.vue.js.map +1 -0
  295. package/dist/components/steppers/RuiStepper.vue2.js +130 -0
  296. package/dist/components/steppers/RuiStepper.vue2.js.map +1 -0
  297. package/dist/components/steppers/RuiStepper.vue3.js +58 -0
  298. package/dist/components/steppers/RuiStepper.vue3.js.map +1 -0
  299. package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +1 -1
  300. package/dist/components/steppers/RuiStepperCustomIcon.vue.js +11 -0
  301. package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +1 -0
  302. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +38 -0
  303. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +1 -0
  304. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +15 -0
  305. package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +1 -0
  306. package/dist/components/steppers/RuiStepperIcon.vue.d.ts +1 -1
  307. package/dist/components/steppers/RuiStepperIcon.vue.js +11 -0
  308. package/dist/components/steppers/RuiStepperIcon.vue.js.map +1 -0
  309. package/dist/components/steppers/RuiStepperIcon.vue2.js +43 -0
  310. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +1 -0
  311. package/dist/components/steppers/RuiStepperIcon.vue3.js +21 -0
  312. package/dist/components/steppers/RuiStepperIcon.vue3.js.map +1 -0
  313. package/dist/components/tables/RuiDataTable.vue.d.ts +2 -2
  314. package/dist/components/tables/RuiDataTable.vue.js +11 -0
  315. package/dist/components/tables/RuiDataTable.vue.js.map +1 -0
  316. package/dist/components/tables/RuiDataTable.vue2.js +943 -0
  317. package/dist/components/tables/RuiDataTable.vue2.js.map +1 -0
  318. package/dist/components/tables/RuiDataTable.vue3.js +79 -0
  319. package/dist/components/tables/RuiDataTable.vue3.js.map +1 -0
  320. package/dist/components/tables/RuiExpandButton.vue.d.ts +1 -1
  321. package/dist/components/tables/RuiExpandButton.vue.js +11 -0
  322. package/dist/components/tables/RuiExpandButton.vue.js.map +1 -0
  323. package/dist/components/tables/RuiExpandButton.vue2.js +42 -0
  324. package/dist/components/tables/RuiExpandButton.vue2.js.map +1 -0
  325. package/dist/components/tables/RuiExpandButton.vue3.js +15 -0
  326. package/dist/components/tables/RuiExpandButton.vue3.js.map +1 -0
  327. package/dist/components/tables/RuiTableHead.vue.js +11 -0
  328. package/dist/components/tables/RuiTableHead.vue.js.map +1 -0
  329. package/dist/components/tables/RuiTableHead.vue2.js +195 -0
  330. package/dist/components/tables/RuiTableHead.vue2.js.map +1 -0
  331. package/dist/components/tables/RuiTableHead.vue3.js +69 -0
  332. package/dist/components/tables/RuiTableHead.vue3.js.map +1 -0
  333. package/dist/components/tables/RuiTablePagination.vue.js +11 -0
  334. package/dist/components/tables/RuiTablePagination.vue.js.map +1 -0
  335. package/dist/components/tables/RuiTablePagination.vue2.js +196 -0
  336. package/dist/components/tables/RuiTablePagination.vue2.js.map +1 -0
  337. package/dist/components/tables/RuiTablePagination.vue3.js +28 -0
  338. package/dist/components/tables/RuiTablePagination.vue3.js.map +1 -0
  339. package/dist/components/tables/table_no_data_placeholder.svg.js +5 -0
  340. package/dist/components/tables/table_no_data_placeholder.svg.js.map +1 -0
  341. package/dist/components/tables/table_no_data_placeholder_dark.svg.js +5 -0
  342. package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +1 -0
  343. package/dist/components/tabs/tab/RuiTab.vue.d.ts +1 -1
  344. package/dist/components/tabs/tab/RuiTab.vue.js +11 -0
  345. package/dist/components/tabs/tab/RuiTab.vue.js.map +1 -0
  346. package/dist/components/tabs/tab/RuiTab.vue2.js +135 -0
  347. package/dist/components/tabs/tab/RuiTab.vue2.js.map +1 -0
  348. package/dist/components/tabs/tab/RuiTab.vue3.js +17 -0
  349. package/dist/components/tabs/tab/RuiTab.vue3.js.map +1 -0
  350. package/dist/components/tabs/tab-item/RuiTabItem.vue.js +11 -0
  351. package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +1 -0
  352. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +51 -0
  353. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +1 -0
  354. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +9 -0
  355. package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +1 -0
  356. package/dist/components/tabs/tab-items/RuiTabItems.vue.js +11 -0
  357. package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +1 -0
  358. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +90 -0
  359. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +1 -0
  360. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +9 -0
  361. package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +1 -0
  362. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +1 -1
  363. package/dist/components/tabs/tabs/RuiTabs.vue.js +11 -0
  364. package/dist/components/tabs/tabs/RuiTabs.vue.js.map +1 -0
  365. package/dist/components/tabs/tabs/RuiTabs.vue2.js +281 -0
  366. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +1 -0
  367. package/dist/components/tabs/tabs/RuiTabs.vue3.js +20 -0
  368. package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +1 -0
  369. package/dist/components/time-picker/RuiTimePicker.vue.d.ts +1 -1
  370. package/dist/components/time-picker/RuiTimePicker.vue.js +11 -0
  371. package/dist/components/time-picker/RuiTimePicker.vue.js.map +1 -0
  372. package/dist/components/time-picker/RuiTimePicker.vue2.js +414 -0
  373. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +1 -0
  374. package/dist/components/time-picker/RuiTimePicker.vue3.js +21 -0
  375. package/dist/components/time-picker/RuiTimePicker.vue3.js.map +1 -0
  376. package/dist/composables/breakpoint.js +49 -0
  377. package/dist/composables/breakpoint.js.map +1 -0
  378. package/dist/composables/defaults/table.js +23 -0
  379. package/dist/composables/defaults/table.js.map +1 -0
  380. package/dist/composables/dropdown-menu.js +218 -0
  381. package/dist/composables/dropdown-menu.js.map +1 -0
  382. package/dist/composables/forms/auto-complete/focus.js +71 -0
  383. package/dist/composables/forms/auto-complete/focus.js.map +1 -0
  384. package/dist/composables/forms/auto-complete/index.d.ts +4 -4
  385. package/dist/composables/forms/auto-complete/keyboard-navigation.js +133 -0
  386. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -0
  387. package/dist/composables/forms/auto-complete/search.js +93 -0
  388. package/dist/composables/forms/auto-complete/search.js.map +1 -0
  389. package/dist/composables/forms/auto-complete/value.js +129 -0
  390. package/dist/composables/forms/auto-complete/value.js.map +1 -0
  391. package/dist/composables/icons.js +60 -0
  392. package/dist/composables/icons.js.map +1 -0
  393. package/dist/composables/index.d.ts +3 -3
  394. package/dist/composables/index.js +9 -0
  395. package/dist/composables/index.js.map +1 -0
  396. package/dist/composables/popper.js +164 -0
  397. package/dist/composables/popper.js.map +1 -0
  398. package/dist/composables/sticky-header.js +105 -0
  399. package/dist/composables/sticky-header.js.map +1 -0
  400. package/dist/composables/theme.d.ts +1 -1
  401. package/dist/composables/theme.js +75 -0
  402. package/dist/composables/theme.js.map +1 -0
  403. package/dist/composables/timeout-manager.js +21 -0
  404. package/dist/composables/timeout-manager.js.map +1 -0
  405. package/dist/composables/use-rui-i18n.js +24 -0
  406. package/dist/composables/use-rui-i18n.js.map +1 -0
  407. package/dist/consts/colors.js +50 -0
  408. package/dist/consts/colors.js.map +1 -0
  409. package/dist/consts/time-accuracy.js +9 -0
  410. package/dist/consts/time-accuracy.js.map +1 -0
  411. package/dist/i18n/keys.js +20 -0
  412. package/dist/i18n/keys.js.map +1 -0
  413. package/dist/icons/icons_1.js +2503 -0
  414. package/dist/icons/icons_1.js.map +1 -0
  415. package/dist/icons/icons_2.js +2503 -0
  416. package/dist/icons/icons_2.js.map +1 -0
  417. package/dist/icons/icons_3.js +2503 -0
  418. package/dist/icons/icons_3.js.map +1 -0
  419. package/dist/icons/icons_4.js +923 -0
  420. package/dist/icons/icons_4.js.map +1 -0
  421. package/dist/icons/index.d.ts +4 -4
  422. package/dist/icons/index.js +9 -0
  423. package/dist/icons/index.js.map +1 -0
  424. package/dist/index.d.ts +11 -11
  425. package/dist/index.js +1852 -0
  426. package/dist/index.js.map +1 -0
  427. package/dist/style.css +12852 -1
  428. package/dist/theme/index.js +185 -0
  429. package/dist/theme/index.js.map +1 -0
  430. package/dist/types/stepper.js +17 -0
  431. package/dist/types/stepper.js.map +1 -0
  432. package/dist/types/theme.js +27 -0
  433. package/dist/types/theme.js.map +1 -0
  434. package/dist/utils/assert.js +14 -0
  435. package/dist/utils/assert.js.map +1 -0
  436. package/dist/utils/blockie.js +79 -0
  437. package/dist/utils/blockie.js.map +1 -0
  438. package/dist/utils/form-text-detail.js +31 -0
  439. package/dist/utils/form-text-detail.js.map +1 -0
  440. package/dist/utils/generate-id.js +21 -0
  441. package/dist/utils/generate-id.js.map +1 -0
  442. package/dist/utils/helpers.js +51 -0
  443. package/dist/utils/helpers.js.map +1 -0
  444. package/dist/utils/is-equal.js +33 -0
  445. package/dist/utils/is-equal.js.map +1 -0
  446. package/dist/web-types.json +1 -1
  447. package/package.json +16 -14
  448. package/dist/components/index.es.js +0 -8030
  449. package/dist/composables/index-CC7A7CEh.js +0 -737
  450. package/dist/composables/index.es.js +0 -7
  451. package/dist/consts/colors-D563Ic3q.js +0 -48
  452. package/dist/consts/forms/auto-complete/index-l0sNRNKZ.js +0 -2
  453. package/dist/consts/time-accuracy-BnKA5GyT.js +0 -9
  454. package/dist/i18n/keys-CNGXWOJX.js +0 -20
  455. package/dist/icons/icons_1.es.js +0 -2004
  456. package/dist/icons/icons_2.es.js +0 -2004
  457. package/dist/icons/icons_3.es.js +0 -2004
  458. package/dist/icons/icons_4.es.js +0 -740
  459. package/dist/icons/index.es.js +0 -1697
  460. package/dist/index-D7l4d7N2.js +0 -54
  461. package/dist/index.es.js +0 -1757
  462. package/dist/theme/index.es.js +0 -177
  463. package/dist/types/index-CN6Ip1GL.js +0 -39
  464. package/dist/utils/index-DJ-ueLCs.js +0 -158
  465. package/dist/vendor-Hqbg5uCG.js +0 -1931
@@ -0,0 +1,943 @@
1
+ import { defineComponent, useSlots, toRefs, computed, ref, watch, onMounted, createElementBlock, openBlock, normalizeClass, createBlock, createCommentVNode, createElementVNode, unref, isRef, createVNode, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, Fragment, toDisplayString, createTextVNode, Transition } from "vue";
2
+ import RuiButton from "../buttons/button/RuiButton.vue.js";
3
+ import RuiCheckbox from "../forms/checkbox/RuiCheckbox.vue.js";
4
+ import RuiIcon from "../icons/RuiIcon.vue.js";
5
+ import RuiTooltip from "../overlays/tooltip/RuiTooltip.vue.js";
6
+ import RuiProgress from "../progress/RuiProgress.vue.js";
7
+ import RuiExpandButton from "./RuiExpandButton.vue.js";
8
+ import RuiTableHead from "./RuiTableHead.vue.js";
9
+ import RuiTablePagination from "./RuiTablePagination.vue.js";
10
+ import noDataPlaceholder from "./table_no_data_placeholder.svg.js";
11
+ import noDataPlaceholderDark from "./table_no_data_placeholder_dark.svg.js";
12
+ import { assert } from "../../utils/assert.js";
13
+ import { useTable } from "../../composables/defaults/table.js";
14
+ import { watchImmediate, isDefined } from "@vueuse/core";
15
+ import "scule";
16
+ import { get, set } from "@vueuse/shared";
17
+ import { useRotkiTheme } from "../../composables/theme.js";
18
+ import { useStickyTableHeader } from "../../composables/sticky-header.js";
19
+ const _hoisted_1 = ["colspan"];
20
+ const _hoisted_2 = { class: "flex items-center gap-2" };
21
+ const _hoisted_3 = ["colspan", "rowspan"];
22
+ const _hoisted_4 = ["colspan"];
23
+ const _hoisted_5 = { key: 1 };
24
+ const _hoisted_6 = ["colspan"];
25
+ const _hoisted_7 = ["colspan"];
26
+ const _hoisted_8 = ["src", "alt"];
27
+ const _sfc_main = /* @__PURE__ */ defineComponent({
28
+ ...{
29
+ name: "RuiDataTable"
30
+ },
31
+ __name: "RuiDataTable",
32
+ props: {
33
+ rows: {},
34
+ rowAttr: {},
35
+ modelValue: { default: void 0 },
36
+ search: { default: "" },
37
+ itemsPerPage: { default: 10 },
38
+ pagination: { default: void 0 },
39
+ paginationModifiers: { default: void 0 },
40
+ sort: { default: void 0 },
41
+ sortModifiers: { default: void 0 },
42
+ cols: { default: void 0 },
43
+ columnAttr: { default: "label" },
44
+ dense: { type: Boolean, default: false },
45
+ outlined: { type: Boolean, default: false },
46
+ striped: { type: Boolean, default: false },
47
+ loading: { type: Boolean, default: false },
48
+ disablePerPage: { type: Boolean, default: false },
49
+ empty: { default: () => ({ label: "No item found" }) },
50
+ hideDefaultHeader: { type: Boolean, default: false },
51
+ hideDefaultFooter: { type: Boolean, default: false },
52
+ rounded: { default: "md" },
53
+ expanded: { default: void 0 },
54
+ singleExpand: { type: Boolean, default: false },
55
+ stickyHeader: { type: Boolean, default: false },
56
+ stickyOffset: { default: void 0 },
57
+ globalItemsPerPage: { type: Boolean, default: void 0 },
58
+ group: { default: void 0 },
59
+ groupExpandButtonPosition: { default: "start" },
60
+ collapsed: { default: void 0 },
61
+ disabledRows: { default: void 0 },
62
+ multiPageSelect: { type: Boolean, default: false },
63
+ scroller: { default: void 0 },
64
+ itemClass: { type: [Function, String], default: "" }
65
+ },
66
+ emits: ["update:model-value", "update:expanded", "update:pagination", "update:sort", "update:options", "update:group", "update:collapsed", "copy:group"],
67
+ setup(__props, { emit: __emit }) {
68
+ const props = __props;
69
+ const emit = __emit;
70
+ const slots = useSlots();
71
+ const { stickyHeader, collapsed, modelValue, disabledRows } = toRefs(props);
72
+ const tableDefaults = useTable();
73
+ const { isDark } = useRotkiTheme();
74
+ const stickyHeaderOffset = computed(() => props.stickyOffset !== void 0 ? props.stickyOffset : get(tableDefaults.stickyOffset));
75
+ function isRow(item) {
76
+ return !("__header__" in item);
77
+ }
78
+ function isHeaderSlot(slotName) {
79
+ return slotName.startsWith("header.");
80
+ }
81
+ const { stick, table, tableScroller } = useStickyTableHeader(
82
+ stickyHeader,
83
+ get(stickyHeaderOffset)
84
+ );
85
+ const expandable = computed(() => props.expanded && slots["expanded-item"]);
86
+ const headerSlots = computed(
87
+ () => Object.keys(slots).filter(isHeaderSlot)
88
+ );
89
+ const globalItemsPerPageSettings = computed(() => {
90
+ if (props.globalItemsPerPage !== void 0)
91
+ return props.globalItemsPerPage;
92
+ return get(tableDefaults.globalItemsPerPage);
93
+ });
94
+ const getKeys = (t) => Object.keys(t);
95
+ const groupKeys = computed(() => {
96
+ const groupBy = props.group;
97
+ if (!groupBy) {
98
+ return [];
99
+ }
100
+ if (!Array.isArray(groupBy)) {
101
+ return [groupBy];
102
+ }
103
+ return groupBy;
104
+ });
105
+ const groupKey = computed(() => get(groupKeys).join(":"));
106
+ const isGrouped = computed(() => !!get(groupKey));
107
+ const columns = computed(() => {
108
+ const data = props.cols ?? getKeys(props.rows[0] ?? {}).map(
109
+ (key) => ({
110
+ key,
111
+ [props.columnAttr]: String(key)
112
+ })
113
+ );
114
+ const hasExpandColumn = data.some((row) => row.key === "expand");
115
+ if (get(expandable) && !hasExpandColumn) {
116
+ return [
117
+ ...data,
118
+ {
119
+ key: "expand",
120
+ sortable: false,
121
+ class: "w-16",
122
+ cellClass: "!py-0 w-16",
123
+ align: "end"
124
+ }
125
+ ];
126
+ }
127
+ const groupByKeys = get(groupKeys);
128
+ if (groupByKeys.length === 0)
129
+ return data;
130
+ return data.filter(
131
+ (column) => !groupByKeys.includes(column.key)
132
+ );
133
+ });
134
+ const itemsLength = ref(0);
135
+ const selectedData = computed({
136
+ get() {
137
+ return get(modelValue);
138
+ },
139
+ set(value) {
140
+ emit("update:model-value", value);
141
+ }
142
+ });
143
+ const internalSelectedData = ref([]);
144
+ watchImmediate(modelValue, (modelValue2) => {
145
+ set(internalSelectedData, modelValue2);
146
+ });
147
+ const rowIdentifier = computed(() => props.rowAttr);
148
+ const internalPaginationState = ref();
149
+ const collapsedRows = ref([]);
150
+ const pagination = computed(() => props.pagination);
151
+ watchImmediate(pagination, (pagination2) => {
152
+ set(internalPaginationState, pagination2);
153
+ });
154
+ watchImmediate(collapsed, (value) => {
155
+ set(collapsedRows, value ?? []);
156
+ });
157
+ const paginationData = computed({
158
+ get() {
159
+ const paginated = get(internalPaginationState);
160
+ if (!paginated) {
161
+ return {
162
+ total: get(itemsLength),
163
+ limit: props.itemsPerPage,
164
+ page: 1
165
+ };
166
+ }
167
+ if (props.paginationModifiers?.external)
168
+ return paginated;
169
+ return {
170
+ total: get(itemsLength),
171
+ limit: paginated.limit,
172
+ page: paginated.page,
173
+ limits: paginated.limits
174
+ };
175
+ },
176
+ set(value) {
177
+ set(internalPaginationState, value);
178
+ emit("update:pagination", value);
179
+ emit("update:options", {
180
+ pagination: value,
181
+ sort: props.sort
182
+ });
183
+ }
184
+ });
185
+ const sortData = computed({
186
+ get() {
187
+ return props.sort;
188
+ },
189
+ set(value) {
190
+ if (!props.multiPageSelect)
191
+ onToggleAll(false);
192
+ resetCheckboxShiftState();
193
+ emit("update:sort", value);
194
+ emit("update:options", {
195
+ sort: value,
196
+ pagination: get(pagination)
197
+ });
198
+ }
199
+ });
200
+ const sortedMap = computed(() => {
201
+ const mapped = {};
202
+ const sortBy = get(sortData);
203
+ if (!sortBy)
204
+ return mapped;
205
+ if (!Array.isArray(sortBy)) {
206
+ if (sortBy.column)
207
+ mapped[sortBy.column] = sortBy;
208
+ return mapped;
209
+ }
210
+ return sortBy.reduce((acc, curr) => {
211
+ if (!curr.column)
212
+ return acc;
213
+ return { ...acc, [curr.column]: curr };
214
+ }, mapped);
215
+ });
216
+ const searchData = computed(() => {
217
+ const query = props.search?.toLocaleLowerCase();
218
+ if (!query)
219
+ return props.rows;
220
+ return props.rows.filter(
221
+ (row) => getKeys(row).some(
222
+ (key) => `${row[key]}`.toLocaleLowerCase().includes(query)
223
+ )
224
+ );
225
+ });
226
+ const sorted = computed(() => {
227
+ const sortBy = get(sortData);
228
+ const data = [...get(searchData)];
229
+ if (!sortBy || props.sortModifiers?.external)
230
+ return data;
231
+ const sortOptions = { sensitivity: "accent", usage: "sort" };
232
+ const sort = (by) => {
233
+ data.sort((a, b) => {
234
+ const column = by.column;
235
+ if (!column)
236
+ return 0;
237
+ let [aValue, bValue] = [a[column], b[column]];
238
+ if (by.direction === "desc")
239
+ [aValue, bValue] = [bValue, aValue];
240
+ const aNumber = Number(aValue);
241
+ const bNumber = Number(bValue);
242
+ if (!isNaN(aNumber) && !isNaN(bNumber))
243
+ return aNumber - bNumber;
244
+ return `${aValue}`.localeCompare(
245
+ `${bValue}`,
246
+ void 0,
247
+ sortOptions
248
+ );
249
+ });
250
+ };
251
+ if (!Array.isArray(sortBy))
252
+ sort(sortBy);
253
+ else
254
+ [...sortBy].reverse().forEach(sort);
255
+ return data;
256
+ });
257
+ const mappedGroups = computed(() => {
258
+ if (!get(isGrouped)) {
259
+ return {};
260
+ }
261
+ const result = get(sorted);
262
+ const identifier = props.rowAttr;
263
+ return result.reduce((acc, row) => {
264
+ if (!isDefined(row[identifier]) || row[identifier] === "")
265
+ return acc;
266
+ const group = getRowGroup(row);
267
+ const groupVal = Object.values(group).filter(isDefined).join(",");
268
+ if (!acc[groupVal]) {
269
+ acc[groupVal] = [
270
+ {
271
+ __header__: true,
272
+ group,
273
+ identifier: groupVal
274
+ }
275
+ ];
276
+ }
277
+ acc[groupVal].push(row);
278
+ return acc;
279
+ }, {});
280
+ });
281
+ const grouped = computed(() => {
282
+ const result = get(sorted);
283
+ const groupByKey = get(groupKey);
284
+ if (!groupByKey) {
285
+ return result;
286
+ }
287
+ return Object.values(get(mappedGroups)).flatMap((grouped2) => grouped2);
288
+ });
289
+ const filtered = computed(() => {
290
+ const result = get(grouped);
291
+ const paginated = get(paginationData);
292
+ const limit = paginated.limit;
293
+ if (paginated && !props.paginationModifiers?.external) {
294
+ const start = (paginated.page - 1) * limit;
295
+ const end = start + limit;
296
+ const preGroups = result.slice(0, start + 1).filter((item) => !isRow(item));
297
+ const postGroups = result.slice(start + 1, end + preGroups.length).filter((item) => !isRow(item));
298
+ const data = result.slice(start + preGroups.length, end + preGroups.length + postGroups.length);
299
+ const nearestGroup = preGroups.at(-1);
300
+ if (data.length > 0) {
301
+ const firstItem = data[0];
302
+ assert(firstItem);
303
+ if (isRow(firstItem) && nearestGroup)
304
+ data.unshift(nearestGroup);
305
+ const lastItem = data.at(-1);
306
+ if (lastItem && !isRow(lastItem))
307
+ data.pop();
308
+ }
309
+ return data.filter((row) => !isHiddenRow(row));
310
+ }
311
+ return result.filter((row) => !isHiddenRow(row));
312
+ });
313
+ const visibleIdentifiers = computed(() => {
314
+ const selectBy = props.rowAttr;
315
+ if (!selectBy)
316
+ return [];
317
+ return get(filtered).filter(isRow).map((row) => row[selectBy]);
318
+ });
319
+ const isAllSelected = computed(() => {
320
+ const selectedRows = get(selectedData);
321
+ if (!selectedRows)
322
+ return false;
323
+ return selectedRows.length > 0 && get(visibleIdentifiers).every((id) => selectedRows.includes(id));
324
+ });
325
+ const indeterminate = computed(() => {
326
+ const selectedRows = get(selectedData);
327
+ if (!selectedRows)
328
+ return false;
329
+ return selectedRows.length > 0 && !get(isAllSelected);
330
+ });
331
+ const noData = computed(() => get(filtered).length === 0);
332
+ const colspan = computed(() => {
333
+ let columnLength = get(columns).length;
334
+ if (get(selectedData))
335
+ columnLength++;
336
+ return columnLength;
337
+ });
338
+ const isSortedBy = (key) => key in get(sortedMap);
339
+ function getSortIndex(key) {
340
+ const sortBy = get(sortData);
341
+ if (!sortBy || !Array.isArray(sortBy) || !isSortedBy(key))
342
+ return -1;
343
+ return sortBy.findIndex((sort) => sort.column === key) ?? -1;
344
+ }
345
+ function isSelected(identifier) {
346
+ const selection = get(selectedData);
347
+ if (!selection)
348
+ return false;
349
+ return selection.includes(identifier);
350
+ }
351
+ function isDisabledRow(rowKey) {
352
+ const identifier = props.rowAttr;
353
+ if (!identifier)
354
+ return false;
355
+ return !!get(disabledRows)?.some((disabledRow) => rowKey === disabledRow[identifier]);
356
+ }
357
+ function isExpanded(identifier) {
358
+ const { expanded } = props;
359
+ if (!expanded?.length)
360
+ return false;
361
+ return expanded.some((data) => data[props.rowAttr] === identifier);
362
+ }
363
+ function onToggleExpand(row) {
364
+ const { expanded } = props;
365
+ if (!expanded)
366
+ return;
367
+ const key = props.rowAttr;
368
+ const rowExpanded = isExpanded(row[key]);
369
+ if (props.singleExpand)
370
+ return emit("update:expanded", rowExpanded ? [] : [row]);
371
+ return emit(
372
+ "update:expanded",
373
+ rowExpanded ? expanded.filter((item) => item[key] !== row[key]) : [...expanded, row]
374
+ );
375
+ }
376
+ function getRowGroup(row) {
377
+ return get(groupKeys).reduce((acc, key) => ({ ...acc, [key]: row[key] }), {});
378
+ }
379
+ function getGroupRows(groupVal) {
380
+ if (!get(isGrouped))
381
+ return [];
382
+ const groupRows = get(mappedGroups)[groupVal];
383
+ assert(groupRows);
384
+ return groupRows.filter(isRow);
385
+ }
386
+ function compareGroupsFn(a, b) {
387
+ const group = get(groupKeys);
388
+ if (group.length === 0)
389
+ return false;
390
+ return group.every((key) => a[key] === b[key]);
391
+ }
392
+ function isExpandedGroup(value) {
393
+ return get(collapsedRows).every((row) => !compareGroupsFn(row, value));
394
+ }
395
+ function isHiddenRow(row) {
396
+ const identifier = props.rowAttr;
397
+ return get(isGrouped) && get(collapsedRows).some(
398
+ (value) => isRow(row) && row[identifier] === value[identifier]
399
+ );
400
+ }
401
+ function onToggleExpandGroup(group, value) {
402
+ if (!value)
403
+ return;
404
+ const collapsed2 = get(collapsedRows);
405
+ const groupExpanded = isExpandedGroup(group);
406
+ const groupRows = getGroupRows(value);
407
+ set(
408
+ collapsedRows,
409
+ groupExpanded ? [...collapsed2, ...groupRows] : collapsed2.filter((row) => !compareGroupsFn(row, group))
410
+ );
411
+ emit("update:collapsed", get(collapsedRows));
412
+ }
413
+ function onUngroup() {
414
+ set(collapsedRows, []);
415
+ emit("update:collapsed", []);
416
+ emit("update:group", Array.isArray(props.group) ? [] : void 0);
417
+ }
418
+ function onCopyGroup(value) {
419
+ emit("copy:group", value);
420
+ }
421
+ function onSort({
422
+ key,
423
+ direction
424
+ }) {
425
+ const sortBy = get(sortData);
426
+ if (!sortBy)
427
+ return;
428
+ if (!Array.isArray(sortBy)) {
429
+ if (isSortedBy(key)) {
430
+ const newDirection = !direction || direction === "asc" ? "desc" : "asc";
431
+ if (sortBy.direction === newDirection) {
432
+ set(sortData, { ...sortBy, column: void 0, direction: "asc" });
433
+ } else {
434
+ set(sortData, {
435
+ ...sortBy,
436
+ direction: sortBy.direction === "asc" ? "desc" : "asc"
437
+ });
438
+ }
439
+ } else {
440
+ set(sortData, { column: key, direction: direction || "asc" });
441
+ }
442
+ return;
443
+ }
444
+ if (isSortedBy(key)) {
445
+ const newDirection = !direction || direction === "asc" ? "desc" : "asc";
446
+ const index = getSortIndex(key);
447
+ const sortByCol = sortBy[index];
448
+ assert(sortByCol);
449
+ if (sortByCol.direction === newDirection)
450
+ sortBy.splice(index, 1);
451
+ else
452
+ sortByCol.direction = sortByCol.direction === "asc" ? "desc" : "asc";
453
+ set(sortData, sortBy);
454
+ } else {
455
+ set(sortData, [...sortBy, { column: key, direction: direction || "asc" }]);
456
+ }
457
+ }
458
+ function isSelectable(rowKey) {
459
+ return isSelected(rowKey) || !isDisabledRow(rowKey);
460
+ }
461
+ function mustSelect(rowKey) {
462
+ return isSelected(rowKey) && isDisabledRow(rowKey);
463
+ }
464
+ function onToggleAll(checked) {
465
+ const selectedRows = get(selectedData) ?? [];
466
+ if (!props.multiPageSelect) {
467
+ if (checked)
468
+ set(selectedData, get(visibleIdentifiers).filter(isSelectable));
469
+ else
470
+ set(selectedData, get(visibleIdentifiers).filter(mustSelect));
471
+ } else {
472
+ if (checked) {
473
+ set(
474
+ selectedData,
475
+ Array.from(/* @__PURE__ */ new Set(
476
+ [
477
+ ...selectedRows,
478
+ ...get(visibleIdentifiers).filter(isSelectable)
479
+ ]
480
+ ))
481
+ );
482
+ } else {
483
+ set(
484
+ selectedData,
485
+ selectedRows.filter((rowKey) => !get(visibleIdentifiers).includes(rowKey) || get(visibleIdentifiers).filter(mustSelect).includes(rowKey))
486
+ );
487
+ }
488
+ }
489
+ }
490
+ const shiftClicked = ref(false);
491
+ const lastSelectedIndex = ref(-1);
492
+ function resetCheckboxShiftState() {
493
+ set(shiftClicked, false);
494
+ set(lastSelectedIndex, -1);
495
+ }
496
+ function onSelect(checked, value, userAction = false) {
497
+ if (get(shiftClicked) && userAction)
498
+ return;
499
+ const selectedRows = get(internalSelectedData);
500
+ if (!selectedRows)
501
+ return false;
502
+ const selected = isSelected(value);
503
+ if (checked && !selected) {
504
+ set(internalSelectedData, [...selectedRows, value]);
505
+ } else if (!checked && selected) {
506
+ set(
507
+ internalSelectedData,
508
+ [...selectedRows].filter((r) => r !== value)
509
+ );
510
+ }
511
+ if (userAction)
512
+ set(selectedData, get(internalSelectedData));
513
+ }
514
+ function onCheckboxClick(event, value, index) {
515
+ const input = event.currentTarget.querySelector("input");
516
+ const nodeName = event.target.nodeName;
517
+ const shiftKey = event.shiftKey;
518
+ set(shiftClicked, shiftKey);
519
+ if (input && nodeName !== "INPUT") {
520
+ if (shiftKey) {
521
+ setTimeout(() => {
522
+ let lastIndex = get(lastSelectedIndex);
523
+ if (lastIndex === -1)
524
+ lastIndex = index;
525
+ const tableData = get(filtered);
526
+ const lastSelectedData = tableData[lastIndex];
527
+ assert(lastSelectedData);
528
+ if (isRow(lastSelectedData)) {
529
+ const id = get(rowIdentifier);
530
+ const valueToApply = isSelected(lastSelectedData[id]);
531
+ if (lastIndex === index) {
532
+ onSelect(!valueToApply, value);
533
+ } else {
534
+ const from = Math.min(lastIndex, index);
535
+ const to = Math.max(lastIndex, index);
536
+ for (let i = from; i <= to; i++) {
537
+ const currSelectedData = tableData[i];
538
+ assert(currSelectedData);
539
+ if (isRow(currSelectedData) && !isDisabledRow(currSelectedData[id]))
540
+ onSelect(valueToApply, currSelectedData[id]);
541
+ }
542
+ }
543
+ set(lastSelectedIndex, index);
544
+ set(selectedData, get(internalSelectedData));
545
+ }
546
+ }, 1);
547
+ } else {
548
+ set(lastSelectedIndex, index);
549
+ }
550
+ }
551
+ }
552
+ const search = computed(() => props.search);
553
+ function deselectRemovedRows() {
554
+ get(selectedData)?.forEach((key) => {
555
+ if (isSelected(key) && !get(visibleIdentifiers).includes(key))
556
+ onSelect(false, key, true);
557
+ });
558
+ }
559
+ function onPaginate() {
560
+ emit("update:expanded", []);
561
+ if (!props.multiPageSelect)
562
+ onToggleAll(false);
563
+ resetCheckboxShiftState();
564
+ }
565
+ function setInternalTotal(items) {
566
+ if (!props.paginationModifiers?.external)
567
+ set(itemsLength, items.filter(isRow).length);
568
+ }
569
+ function cellValue(row, key) {
570
+ return row[key];
571
+ }
572
+ watch(internalPaginationState, (pagination2) => {
573
+ if (pagination2?.limit && get(globalItemsPerPageSettings))
574
+ set(tableDefaults.itemsPerPage, pagination2.limit);
575
+ });
576
+ watch(tableDefaults.itemsPerPage, (itemsPerPage) => {
577
+ if (!get(globalItemsPerPageSettings))
578
+ return;
579
+ set(paginationData, {
580
+ ...get(paginationData),
581
+ limit: itemsPerPage
582
+ });
583
+ });
584
+ watch(search, () => {
585
+ set(paginationData, {
586
+ ...get(paginationData),
587
+ page: 1
588
+ });
589
+ onToggleAll(false);
590
+ resetCheckboxShiftState();
591
+ });
592
+ watch(sorted, (items) => {
593
+ if (!props.multiPageSelect)
594
+ deselectRemovedRows();
595
+ setInternalTotal(items);
596
+ });
597
+ watch(paginationData, (pagination2) => {
598
+ const { total, limit, page } = pagination2;
599
+ const maxPages = Math.ceil(total / limit);
600
+ if (maxPages > 0 && page > maxPages) {
601
+ set(paginationData, {
602
+ ...pagination2,
603
+ page: maxPages
604
+ });
605
+ }
606
+ });
607
+ onMounted(() => {
608
+ setInternalTotal(get(sorted));
609
+ if (!get(globalItemsPerPageSettings))
610
+ return;
611
+ set(paginationData, {
612
+ ...get(paginationData),
613
+ limit: get(tableDefaults.itemsPerPage)
614
+ });
615
+ });
616
+ return (_ctx, _cache) => {
617
+ return openBlock(), createElementBlock("div", {
618
+ class: normalizeClass([
619
+ _ctx.$style.wrapper,
620
+ _ctx.$style[`rounded__${__props.rounded}`],
621
+ { [_ctx.$style.outlined]: __props.outlined }
622
+ ])
623
+ }, [
624
+ unref(paginationData) && !__props.hideDefaultHeader ? (openBlock(), createBlock(RuiTablePagination, {
625
+ key: 0,
626
+ modelValue: unref(paginationData),
627
+ "onUpdate:modelValue": [
628
+ _cache[0] || (_cache[0] = ($event) => isRef(paginationData) ? paginationData.value = $event : null),
629
+ _cache[1] || (_cache[1] = ($event) => onPaginate())
630
+ ],
631
+ dense: __props.dense,
632
+ loading: __props.loading,
633
+ "disable-per-page": __props.disablePerPage,
634
+ "data-cy": "table-pagination"
635
+ }, null, 8, ["modelValue", "dense", "loading", "disable-per-page"])) : createCommentVNode("", true),
636
+ createElementVNode("div", {
637
+ ref_key: "tableScroller",
638
+ ref: tableScroller,
639
+ class: normalizeClass(_ctx.$style.scroller)
640
+ }, [
641
+ createElementVNode("table", {
642
+ ref_key: "table",
643
+ ref: table,
644
+ class: normalizeClass([_ctx.$style.table, { [_ctx.$style.dense]: __props.dense }]),
645
+ "aria-label": ""
646
+ }, [
647
+ createVNode(RuiTableHead, {
648
+ loading: __props.loading,
649
+ indeterminate: unref(indeterminate),
650
+ "capitalize-headers": !__props.cols,
651
+ colspan: unref(colspan),
652
+ "column-attr": __props.columnAttr,
653
+ columns: unref(columns),
654
+ dense: __props.dense,
655
+ "disable-check-all": !unref(filtered)?.length,
656
+ "is-all-selected": unref(isAllSelected),
657
+ "no-data": unref(noData),
658
+ selectable: !!unref(selectedData),
659
+ "sort-data": unref(sortData),
660
+ "sorted-map": unref(sortedMap),
661
+ stick: unref(stick),
662
+ "sticky-header": unref(stickyHeader),
663
+ onSort: _cache[2] || (_cache[2] = ($event) => onSort($event)),
664
+ "onSelect:all": _cache[3] || (_cache[3] = ($event) => onToggleAll($event))
665
+ }, createSlots({ _: 2 }, [
666
+ renderList(unref(headerSlots), (headerSlot) => {
667
+ return {
668
+ name: headerSlot,
669
+ fn: withCtx((slotData) => [
670
+ renderSlot(_ctx.$slots, headerSlot, normalizeProps(guardReactiveProps(slotData)))
671
+ ])
672
+ };
673
+ })
674
+ ]), 1032, ["loading", "indeterminate", "capitalize-headers", "colspan", "column-attr", "columns", "dense", "disable-check-all", "is-all-selected", "no-data", "selectable", "sort-data", "sorted-map", "stick", "sticky-header"]),
675
+ unref(stickyHeader) ? (openBlock(), createBlock(RuiTableHead, {
676
+ key: 0,
677
+ loading: __props.loading,
678
+ "capitalize-headers": !__props.cols,
679
+ colspan: unref(colspan),
680
+ "column-attr": __props.columnAttr,
681
+ columns: unref(columns),
682
+ dense: __props.dense,
683
+ "no-data": unref(noData),
684
+ selectable: !!unref(selectedData),
685
+ "sort-data": unref(sortData),
686
+ "sorted-map": unref(sortedMap),
687
+ "data-id": "head-clone",
688
+ class: "opacity-0 invisible"
689
+ }, createSlots({ _: 2 }, [
690
+ renderList(unref(headerSlots), (headerSlot) => {
691
+ return {
692
+ name: headerSlot,
693
+ fn: withCtx((slotData) => [
694
+ renderSlot(_ctx.$slots, headerSlot, normalizeProps(guardReactiveProps(slotData)))
695
+ ])
696
+ };
697
+ })
698
+ ]), 1032, ["loading", "capitalize-headers", "colspan", "column-attr", "columns", "dense", "no-data", "selectable", "sort-data", "sorted-map"])) : createCommentVNode("", true),
699
+ createElementVNode("tbody", {
700
+ class: normalizeClass([_ctx.$style.tbody, { [_ctx.$style["tbody--striped"] ?? ""]: __props.striped }])
701
+ }, [
702
+ slots["body.prepend"] ? renderSlot(_ctx.$slots, "body.prepend", {
703
+ key: 0,
704
+ colspan: unref(colspan)
705
+ }) : createCommentVNode("", true),
706
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(filtered), (row, index) => {
707
+ return openBlock(), createElementBlock(Fragment, null, [
708
+ !isRow(row) ? (openBlock(), createElementBlock("tr", {
709
+ key: `row-${index}`,
710
+ class: normalizeClass([_ctx.$style.tr, _ctx.$style.tr__group])
711
+ }, [
712
+ renderSlot(_ctx.$slots, "group.header", {
713
+ colspan: unref(colspan),
714
+ header: row,
715
+ isOpen: isExpandedGroup(row.group),
716
+ toggle: () => onToggleExpandGroup(row.group, row.identifier)
717
+ }, () => [
718
+ createElementVNode("td", {
719
+ class: normalizeClass([[_ctx.$style.td], "!p-2"]),
720
+ colspan: unref(colspan)
721
+ }, [
722
+ createElementVNode("div", _hoisted_2, [
723
+ __props.groupExpandButtonPosition === "start" ? (openBlock(), createBlock(RuiExpandButton, {
724
+ key: 0,
725
+ expanded: isExpandedGroup(row.group),
726
+ onClick: ($event) => onToggleExpandGroup(row.group, row.identifier)
727
+ }, null, 8, ["expanded", "onClick"])) : createCommentVNode("", true),
728
+ renderSlot(_ctx.$slots, "group.header.content", {
729
+ groupKey: unref(groupKey),
730
+ header: row
731
+ }, () => [
732
+ createElementVNode("span", null, toDisplayString(unref(groupKey)) + ": " + toDisplayString(row.identifier), 1),
733
+ createVNode(RuiButton, {
734
+ size: "sm",
735
+ variant: "text",
736
+ icon: "",
737
+ onClick: ($event) => onCopyGroup({ key: unref(groupKey), value: row.group })
738
+ }, {
739
+ default: withCtx(() => [
740
+ createVNode(RuiIcon, {
741
+ name: "lu-copy",
742
+ size: "16"
743
+ })
744
+ ]),
745
+ _: 1
746
+ }, 8, ["onClick"])
747
+ ]),
748
+ createVNode(RuiTooltip, {
749
+ popper: { placement: "top" },
750
+ class: "ml-auto mr-2"
751
+ }, {
752
+ activator: withCtx(() => [
753
+ createVNode(RuiButton, {
754
+ size: "sm",
755
+ variant: "text",
756
+ icon: "",
757
+ onClick: _cache[4] || (_cache[4] = ($event) => onUngroup())
758
+ }, {
759
+ default: withCtx(() => [
760
+ createVNode(RuiIcon, {
761
+ name: "lu-trash-2",
762
+ size: "14"
763
+ })
764
+ ]),
765
+ _: 1
766
+ })
767
+ ]),
768
+ default: withCtx(() => [
769
+ _cache[7] || (_cache[7] = createTextVNode(" Ungroup ", -1))
770
+ ]),
771
+ _: 1
772
+ }),
773
+ __props.groupExpandButtonPosition === "end" ? (openBlock(), createBlock(RuiExpandButton, {
774
+ key: 1,
775
+ expanded: isExpandedGroup(row.group),
776
+ onClick: ($event) => onToggleExpandGroup(row.group, row.identifier)
777
+ }, null, 8, ["expanded", "onClick"])) : createCommentVNode("", true)
778
+ ])
779
+ ], 10, _hoisted_1)
780
+ ])
781
+ ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
782
+ (openBlock(), createElementBlock("tr", {
783
+ key: `row-${index}`,
784
+ class: normalizeClass([
785
+ _ctx.$style.tr,
786
+ { [_ctx.$style.tr__selected ?? ""]: isSelected(row[unref(rowIdentifier)]) },
787
+ typeof __props.itemClass === "string" ? __props.itemClass : __props.itemClass(row)
788
+ ])
789
+ }, [
790
+ unref(selectedData) ? (openBlock(), createElementBlock("td", {
791
+ key: 0,
792
+ class: normalizeClass(_ctx.$style.checkbox),
793
+ colspan: "1",
794
+ rowspan: "1"
795
+ }, [
796
+ createVNode(RuiCheckbox, {
797
+ "data-cy": `table-toggle-check-${index}`,
798
+ "model-value": isSelected(row[unref(rowIdentifier)]),
799
+ disabled: isDisabledRow(row[unref(rowIdentifier)]),
800
+ size: __props.dense ? "sm" : void 0,
801
+ color: "primary",
802
+ class: "select-none",
803
+ "hide-details": "",
804
+ "onUpdate:modelValue": ($event) => onSelect($event, row[unref(rowIdentifier)], true),
805
+ onClick: ($event) => onCheckboxClick($event, row[unref(rowIdentifier)], index)
806
+ }, null, 8, ["data-cy", "model-value", "disabled", "size", "onUpdate:modelValue", "onClick"])
807
+ ], 2)) : createCommentVNode("", true),
808
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(columns), (column, subIndex) => {
809
+ return openBlock(), createElementBlock("td", {
810
+ key: subIndex,
811
+ class: normalizeClass([
812
+ _ctx.$style.td,
813
+ column.cellClass,
814
+ _ctx.$style[`align__${column.align ?? "start"}`]
815
+ ]),
816
+ colspan: column.colspan ?? 1,
817
+ rowspan: column.rowspan ?? 1
818
+ }, [
819
+ column.key === "expand" ? renderSlot(_ctx.$slots, `item.${column.key.toString()}`, {
820
+ key: 0,
821
+ column,
822
+ row,
823
+ index
824
+ }, () => [
825
+ !slots["item.expand"] ? (openBlock(), createBlock(RuiExpandButton, {
826
+ key: 0,
827
+ expanded: isExpanded(row[unref(rowIdentifier)]),
828
+ onClick: ($event) => onToggleExpand(row)
829
+ }, null, 8, ["expanded", "onClick"])) : createCommentVNode("", true)
830
+ ]) : renderSlot(_ctx.$slots, `item.${column.key.toString()}`, {
831
+ key: 1,
832
+ column,
833
+ index,
834
+ row
835
+ }, () => [
836
+ createTextVNode(toDisplayString(cellValue(row, column.key)), 1)
837
+ ])
838
+ ], 10, _hoisted_3);
839
+ }), 128))
840
+ ], 2)),
841
+ unref(expandable) && isExpanded(row[unref(rowIdentifier)]) ? (openBlock(), createElementBlock("tr", {
842
+ key: `row-expand-${index}`,
843
+ class: normalizeClass([_ctx.$style.tr, _ctx.$style.tr__expandable])
844
+ }, [
845
+ createElementVNode("td", {
846
+ colspan: unref(colspan),
847
+ class: normalizeClass([_ctx.$style.td])
848
+ }, [
849
+ renderSlot(_ctx.$slots, "expanded-item", {
850
+ row,
851
+ index
852
+ })
853
+ ], 10, _hoisted_4)
854
+ ], 2)) : createCommentVNode("", true)
855
+ ], 64))
856
+ ], 64);
857
+ }), 256)),
858
+ __props.loading && unref(noData) ? (openBlock(), createElementBlock("tr", _hoisted_5, [
859
+ createElementVNode("td", {
860
+ class: normalizeClass(_ctx.$style.tbody__loader),
861
+ colspan: unref(colspan)
862
+ }, [
863
+ createVNode(RuiProgress, {
864
+ color: "primary",
865
+ variant: "indeterminate",
866
+ circular: ""
867
+ })
868
+ ], 10, _hoisted_6)
869
+ ])) : createCommentVNode("", true),
870
+ unref(noData) && __props.empty && !__props.loading ? (openBlock(), createElementBlock("tr", {
871
+ key: 2,
872
+ class: normalizeClass([_ctx.$style.tr, _ctx.$style.tr__empty])
873
+ }, [
874
+ createVNode(Transition, {
875
+ appear: "",
876
+ "enter-active-class": "transition ease-out duration-200 delay-200",
877
+ "enter-from-class": "opacity-0 translate-y-1",
878
+ "enter-to-class": "opacity-100 translate-y-0",
879
+ "leave-active-class": "transition ease-in duration-150",
880
+ "leave-from-class": "opacity-100 translate-y-0",
881
+ "leave-to-class": "opacity-0 translate-y-1"
882
+ }, {
883
+ default: withCtx(() => [
884
+ createElementVNode("td", {
885
+ class: normalizeClass(_ctx.$style.td),
886
+ colspan: unref(colspan)
887
+ }, [
888
+ renderSlot(_ctx.$slots, "no-data", {}, () => [
889
+ createElementVNode("div", {
890
+ class: normalizeClass(_ctx.$style.empty)
891
+ }, [
892
+ createElementVNode("img", {
893
+ src: unref(isDark) ? unref(noDataPlaceholderDark) : unref(noDataPlaceholder),
894
+ alt: __props.empty.label,
895
+ class: "h-32"
896
+ }, null, 8, _hoisted_8),
897
+ __props.empty.label ? (openBlock(), createElementBlock("p", {
898
+ key: 0,
899
+ class: normalizeClass(_ctx.$style.empty__label)
900
+ }, toDisplayString(__props.empty.label), 3)) : createCommentVNode("", true),
901
+ renderSlot(_ctx.$slots, "empty-description", {}, () => [
902
+ __props.empty.description ? (openBlock(), createElementBlock("p", {
903
+ key: 0,
904
+ class: normalizeClass(_ctx.$style.empty__description)
905
+ }, toDisplayString(__props.empty.description), 3)) : createCommentVNode("", true)
906
+ ])
907
+ ], 2)
908
+ ])
909
+ ], 10, _hoisted_7)
910
+ ]),
911
+ _: 3
912
+ })
913
+ ], 2)) : createCommentVNode("", true),
914
+ slots["body.append"] ? renderSlot(_ctx.$slots, "body.append", {
915
+ key: 3,
916
+ colspan: unref(colspan)
917
+ }) : createCommentVNode("", true)
918
+ ], 2),
919
+ createElementVNode("tfoot", null, [
920
+ renderSlot(_ctx.$slots, "tfoot")
921
+ ])
922
+ ], 2)
923
+ ], 2),
924
+ unref(paginationData) && !__props.hideDefaultFooter ? (openBlock(), createBlock(RuiTablePagination, {
925
+ key: 1,
926
+ modelValue: unref(paginationData),
927
+ "onUpdate:modelValue": [
928
+ _cache[5] || (_cache[5] = ($event) => isRef(paginationData) ? paginationData.value = $event : null),
929
+ _cache[6] || (_cache[6] = ($event) => onPaginate())
930
+ ],
931
+ dense: __props.dense,
932
+ loading: __props.loading,
933
+ "disable-per-page": __props.disablePerPage,
934
+ "data-cy": "table-pagination"
935
+ }, null, 8, ["modelValue", "dense", "loading", "disable-per-page"])) : createCommentVNode("", true)
936
+ ], 2);
937
+ };
938
+ }
939
+ });
940
+ export {
941
+ _sfc_main as default
942
+ };
943
+ //# sourceMappingURL=RuiDataTable.vue2.js.map