@rotki/ui-library 2.12.1 → 2.13.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 (287) hide show
  1. package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +6 -14
  2. package/dist/components/accordions/accordion/RuiAccordion.vue.js +3 -4
  3. package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +1 -1
  4. package/dist/components/accordions/accordions/RuiAccordions.vue.d.ts +10 -9
  5. package/dist/components/accordions/accordions/RuiAccordions.vue.js +27 -26
  6. package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +1 -1
  7. package/dist/components/alerts/RuiAlert.vue.d.ts +7 -17
  8. package/dist/components/alerts/RuiAlert.vue2.js +8 -16
  9. package/dist/components/alerts/RuiAlert.vue2.js.map +1 -1
  10. package/dist/components/buttons/button/RuiButton.vue.d.ts +5 -7
  11. package/dist/components/buttons/button/RuiButton.vue2.js +19 -20
  12. package/dist/components/buttons/button/RuiButton.vue2.js.map +1 -1
  13. package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +6 -5
  14. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +42 -41
  15. package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +1 -1
  16. package/dist/components/calendar/RuiCalendar.vue.d.ts +1 -6
  17. package/dist/components/calendar/RuiCalendar.vue.js +7 -8
  18. package/dist/components/calendar/RuiCalendar.vue.js.map +1 -1
  19. package/dist/components/calendar/RuiCalendarGrid.vue.js +1 -1
  20. package/dist/components/calendar/RuiCalendarGrid.vue2.js +20 -18
  21. package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +1 -1
  22. package/dist/components/calendar/RuiCalendarHeader.vue.js +1 -1
  23. package/dist/components/calendar/RuiCalendarHeader.vue2.js +3 -4
  24. package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +1 -1
  25. package/dist/components/calendar/RuiCalendarMenu.vue.js +1 -1
  26. package/dist/components/calendar/RuiCalendarMenu.vue2.js +48 -40
  27. package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +1 -1
  28. package/dist/components/cards/RuiCard.vue.d.ts +9 -24
  29. package/dist/components/cards/RuiCard.vue2.js +7 -7
  30. package/dist/components/cards/RuiCard.vue2.js.map +1 -1
  31. package/dist/components/cards/RuiCardHeader.vue.d.ts +5 -10
  32. package/dist/components/cards/RuiCardHeader.vue2.js +1 -1
  33. package/dist/components/cards/RuiCardHeader.vue2.js.map +1 -1
  34. package/dist/components/chips/RuiChip.vue.d.ts +7 -21
  35. package/dist/components/chips/RuiChip.vue2.js +16 -21
  36. package/dist/components/chips/RuiChip.vue2.js.map +1 -1
  37. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
  38. package/dist/components/color-picker/RuiColorBoard.vue2.js +19 -19
  39. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +1 -1
  40. package/dist/components/color-picker/RuiColorDisplay.vue.js +3 -5
  41. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +1 -1
  42. package/dist/components/color-picker/RuiColorHue.vue2.js +17 -14
  43. package/dist/components/color-picker/RuiColorHue.vue2.js.map +1 -1
  44. package/dist/components/color-picker/RuiColorInput.vue.js +9 -7
  45. package/dist/components/color-picker/RuiColorInput.vue.js.map +1 -1
  46. package/dist/components/color-picker/RuiColorPicker.vue.d.ts +7 -9
  47. package/dist/components/color-picker/RuiColorPicker.vue.js +23 -14
  48. package/dist/components/color-picker/RuiColorPicker.vue.js.map +1 -1
  49. package/dist/components/color-picker/utils.js +22 -5
  50. package/dist/components/color-picker/utils.js.map +1 -1
  51. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -44
  52. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +75 -79
  53. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -1
  54. package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +1 -1
  55. package/dist/components/date-time-picker/dayjs-setup.d.ts +1 -0
  56. package/dist/components/date-time-picker/dayjs-setup.js +8 -0
  57. package/dist/components/date-time-picker/dayjs-setup.js.map +1 -0
  58. package/dist/components/date-time-picker/segment-config.d.ts +14 -0
  59. package/dist/components/date-time-picker/segment-config.js +23 -0
  60. package/dist/components/date-time-picker/segment-config.js.map +1 -0
  61. package/dist/components/date-time-picker/segment-utils.d.ts +5 -0
  62. package/dist/components/date-time-picker/segment-utils.js +36 -0
  63. package/dist/components/date-time-picker/segment-utils.js.map +1 -0
  64. package/dist/components/date-time-picker/use-date-time-selection.d.ts +1 -0
  65. package/dist/components/date-time-picker/use-date-time-selection.js +1 -0
  66. package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
  67. package/dist/components/date-time-picker/use-keyboard-handler.d.ts +4 -8
  68. package/dist/components/date-time-picker/use-keyboard-handler.js +9 -54
  69. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
  70. package/dist/components/date-time-picker/utils.d.ts +1 -0
  71. package/dist/components/date-time-picker/utils.js +1 -0
  72. package/dist/components/date-time-picker/utils.js.map +1 -1
  73. package/dist/components/divider/RuiDivider.vue.d.ts +1 -3
  74. package/dist/components/divider/RuiDivider.vue.js +6 -3
  75. package/dist/components/divider/RuiDivider.vue.js.map +1 -1
  76. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +10 -1138
  77. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +153 -160
  78. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -1
  79. package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +15 -24
  80. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +32 -32
  81. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -1
  82. package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +2 -2
  83. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +19 -22
  84. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -1
  85. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +4 -2
  86. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +13 -16
  87. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -1
  88. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +7 -13
  89. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +10 -9
  90. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -1
  91. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +10 -785
  92. package/dist/components/forms/select/RuiMenuSelect.vue2.js +60 -56
  93. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -1
  94. package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +11 -10
  95. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +21 -26
  96. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +1 -1
  97. package/dist/components/forms/slider/RuiSlider.vue.d.ts +10 -26
  98. package/dist/components/forms/slider/RuiSlider.vue2.js +45 -48
  99. package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -1
  100. package/dist/components/forms/switch/RuiSwitch.vue.d.ts +12 -20
  101. package/dist/components/forms/switch/RuiSwitch.vue2.js +22 -21
  102. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -1
  103. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +5 -30
  104. package/dist/components/forms/text-area/RuiTextArea.vue2.js +47 -83
  105. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -1
  106. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +10 -30
  107. package/dist/components/forms/text-field/RuiTextField.vue2.js +36 -67
  108. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -1
  109. package/dist/components/helpers/RuiFormTextDetail.vue.d.ts +1 -5
  110. package/dist/components/helpers/RuiFormTextDetail.vue.js +5 -9
  111. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +1 -1
  112. package/dist/components/icons/LazyIcon.vue.d.ts +1 -3
  113. package/dist/components/icons/RuiIcon.vue.d.ts +1 -4
  114. package/dist/components/icons/RuiIcon.vue2.js +11 -14
  115. package/dist/components/icons/RuiIcon.vue2.js.map +1 -1
  116. package/dist/components/index.d.ts +4 -4
  117. package/dist/components/loaders/RuiSkeletonBase.vue.d.ts +1 -3
  118. package/dist/components/loaders/RuiSkeletonBase.vue2.js +2 -2
  119. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +1 -1
  120. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +1 -4
  121. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +2 -2
  122. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +1 -1
  123. package/dist/components/logos/RuiLogo.vue.d.ts +1 -7
  124. package/dist/components/logos/RuiLogo.vue.js +13 -13
  125. package/dist/components/logos/RuiLogo.vue.js.map +1 -1
  126. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +5 -20
  127. package/dist/components/overlays/badge/RuiBadge.vue2.js +11 -13
  128. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +1 -1
  129. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.d.ts +10 -5
  130. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +18 -7
  131. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +1 -1
  132. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +22 -27
  133. package/dist/components/overlays/dialog/RuiDialog.vue2.js +90 -67
  134. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +1 -1
  135. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +24 -35
  136. package/dist/components/overlays/menu/RuiMenu.vue2.js +71 -78
  137. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +1 -1
  138. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +23 -30
  139. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +78 -49
  140. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +1 -1
  141. package/dist/components/overlays/notification/RuiNotification.vue.d.ts +12 -12
  142. package/dist/components/overlays/notification/RuiNotification.vue.js +27 -22
  143. package/dist/components/overlays/notification/RuiNotification.vue.js.map +1 -1
  144. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +7 -18
  145. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +16 -9
  146. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +1 -1
  147. package/dist/components/progress/RuiProgress.vue.d.ts +8 -10
  148. package/dist/components/progress/RuiProgress.vue2.js +18 -24
  149. package/dist/components/progress/RuiProgress.vue2.js.map +1 -1
  150. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +10 -11
  151. package/dist/components/steppers/RuiFooterStepper.vue2.js +33 -26
  152. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +1 -1
  153. package/dist/components/steppers/RuiStepper.vue.d.ts +6 -15
  154. package/dist/components/steppers/RuiStepper.vue2.js +39 -36
  155. package/dist/components/steppers/RuiStepper.vue2.js.map +1 -1
  156. package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +1 -3
  157. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +2 -2
  158. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +1 -1
  159. package/dist/components/steppers/RuiStepperIcon.vue.d.ts +1 -3
  160. package/dist/components/steppers/RuiStepperIcon.vue2.js +2 -2
  161. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +1 -1
  162. package/dist/components/tables/RuiDataTable.vue.d.ts +29 -81
  163. package/dist/components/tables/RuiDataTable.vue2.js +196 -601
  164. package/dist/components/tables/RuiDataTable.vue2.js.map +1 -1
  165. package/dist/components/tables/RuiDataTable.vue3.js +24 -27
  166. package/dist/components/tables/RuiDataTable.vue3.js.map +1 -1
  167. package/dist/components/tables/RuiExpandButton.vue.d.ts +3 -6
  168. package/dist/components/tables/RuiExpandButton.vue2.js +4 -2
  169. package/dist/components/tables/RuiExpandButton.vue2.js.map +1 -1
  170. package/dist/components/tables/RuiTableHead.vue.d.ts +4 -7
  171. package/dist/components/tables/RuiTableHead.vue2.js +20 -20
  172. package/dist/components/tables/RuiTableHead.vue2.js.map +1 -1
  173. package/dist/components/tables/RuiTablePagination.vue.d.ts +10 -10
  174. package/dist/components/tables/RuiTablePagination.vue2.js +27 -19
  175. package/dist/components/tables/RuiTablePagination.vue2.js.map +1 -1
  176. package/dist/components/tabs/tab/RuiTab.vue.d.ts +3 -18
  177. package/dist/components/tabs/tab/RuiTab.vue2.js +84 -52
  178. package/dist/components/tabs/tab/RuiTab.vue2.js.map +1 -1
  179. package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +3 -11
  180. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +3 -2
  181. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +1 -1
  182. package/dist/components/tabs/tab-items/RuiTabItems.vue.d.ts +2 -5
  183. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +18 -18
  184. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +1 -1
  185. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +10 -14
  186. package/dist/components/tabs/tabs/RuiTabs.vue2.js +101 -94
  187. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +1 -1
  188. package/dist/components/time-picker/RuiTimePicker.vue.d.ts +1 -4
  189. package/dist/components/time-picker/RuiTimePicker.vue2.js +88 -38
  190. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +1 -1
  191. package/dist/composables/breakpoint.js +8 -13
  192. package/dist/composables/breakpoint.js.map +1 -1
  193. package/dist/composables/dropdown-menu.d.ts +7 -4
  194. package/dist/composables/dropdown-menu.js +73 -50
  195. package/dist/composables/dropdown-menu.js.map +1 -1
  196. package/dist/composables/forms/auto-complete/focus.d.ts +7 -5
  197. package/dist/composables/forms/auto-complete/focus.js +28 -17
  198. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  199. package/dist/composables/forms/auto-complete/index.d.ts +0 -9
  200. package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +8 -3
  201. package/dist/composables/forms/auto-complete/keyboard-navigation.js +11 -5
  202. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  203. package/dist/composables/forms/auto-complete/search.d.ts +7 -0
  204. package/dist/composables/forms/auto-complete/search.js +10 -8
  205. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  206. package/dist/composables/forms/auto-complete/value.d.ts +4 -0
  207. package/dist/composables/forms/auto-complete/value.js +24 -42
  208. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  209. package/dist/composables/forms/use-label-with-quote.d.ts +2 -0
  210. package/dist/composables/forms/use-label-with-quote.js +14 -0
  211. package/dist/composables/forms/use-label-with-quote.js.map +1 -0
  212. package/dist/composables/forms/use-prepend-append-width.d.ts +6 -0
  213. package/dist/composables/forms/use-prepend-append-width.js +25 -0
  214. package/dist/composables/forms/use-prepend-append-width.js.map +1 -0
  215. package/dist/composables/icons.js +1 -1
  216. package/dist/composables/icons.js.map +1 -1
  217. package/dist/composables/popper.js +63 -49
  218. package/dist/composables/popper.js.map +1 -1
  219. package/dist/composables/sticky-header.d.ts +7 -5
  220. package/dist/composables/sticky-header.js +51 -41
  221. package/dist/composables/sticky-header.js.map +1 -1
  222. package/dist/composables/tables/data-table/columns.d.ts +25 -0
  223. package/dist/composables/tables/data-table/columns.js +54 -0
  224. package/dist/composables/tables/data-table/columns.js.map +1 -0
  225. package/dist/composables/tables/data-table/expansion.d.ts +17 -0
  226. package/dist/composables/tables/data-table/expansion.js +38 -0
  227. package/dist/composables/tables/data-table/expansion.js.map +1 -0
  228. package/dist/composables/tables/data-table/grouping.d.ts +29 -0
  229. package/dist/composables/tables/data-table/grouping.js +136 -0
  230. package/dist/composables/tables/data-table/grouping.js.map +1 -0
  231. package/dist/composables/tables/data-table/pagination.d.ts +33 -0
  232. package/dist/composables/tables/data-table/pagination.js +119 -0
  233. package/dist/composables/tables/data-table/pagination.js.map +1 -0
  234. package/dist/composables/tables/data-table/selection.d.ts +29 -0
  235. package/dist/composables/tables/data-table/selection.js +164 -0
  236. package/dist/composables/tables/data-table/selection.js.map +1 -0
  237. package/dist/composables/tables/data-table/sort.d.ts +32 -0
  238. package/dist/composables/tables/data-table/sort.js +136 -0
  239. package/dist/composables/tables/data-table/sort.js.map +1 -0
  240. package/dist/composables/tables/data-table/types.d.ts +14 -0
  241. package/dist/composables/tables/data-table/types.js +11 -0
  242. package/dist/composables/tables/data-table/types.js.map +1 -0
  243. package/dist/composables/theme.js +5 -21
  244. package/dist/composables/theme.js.map +1 -1
  245. package/dist/composables/timeout-manager.d.ts +4 -2
  246. package/dist/composables/timeout-manager.js +2 -1
  247. package/dist/composables/timeout-manager.js.map +1 -1
  248. package/dist/icons/icons_1.d.ts +15 -15
  249. package/dist/icons/icons_1.js +123 -123
  250. package/dist/icons/icons_1.js.map +1 -1
  251. package/dist/icons/icons_2.d.ts +46 -46
  252. package/dist/icons/icons_2.js +301 -301
  253. package/dist/icons/icons_2.js.map +1 -1
  254. package/dist/icons/icons_3.d.ts +43 -43
  255. package/dist/icons/icons_3.js +252 -252
  256. package/dist/icons/icons_3.js.map +1 -1
  257. package/dist/icons/icons_4.d.ts +72 -2
  258. package/dist/icons/icons_4.js +368 -18
  259. package/dist/icons/icons_4.js.map +1 -1
  260. package/dist/icons/index.d.ts +1 -1
  261. package/dist/icons/index.js +1 -1
  262. package/dist/icons/index.js.map +1 -1
  263. package/dist/index.js +105 -42
  264. package/dist/index.js.map +1 -1
  265. package/dist/style.css +189 -162
  266. package/dist/theme/index.js +15 -1
  267. package/dist/theme/index.js.map +1 -1
  268. package/dist/utils/assert.d.ts +1 -1
  269. package/dist/utils/assert.js.map +1 -1
  270. package/dist/utils/form-text-detail.d.ts +9 -8
  271. package/dist/utils/form-text-detail.js +1 -2
  272. package/dist/utils/form-text-detail.js.map +1 -1
  273. package/dist/utils/helpers.d.ts +4 -32
  274. package/dist/utils/helpers.js +8 -9
  275. package/dist/utils/helpers.js.map +1 -1
  276. package/dist/utils/is-equal.d.ts +1 -1
  277. package/dist/utils/is-equal.js +5 -3
  278. package/dist/utils/is-equal.js.map +1 -1
  279. package/dist/vite-plugin/index.js +4 -4
  280. package/dist/vite-plugin/index.js.map +1 -1
  281. package/dist/vite-plugin/scanner.js +3 -3
  282. package/dist/vite-plugin/scanner.js.map +1 -1
  283. package/dist/web-types.json +390 -371
  284. package/package.json +47 -44
  285. package/dist/utils/generate-id.d.ts +0 -5
  286. package/dist/utils/generate-id.js +0 -21
  287. package/dist/utils/generate-id.js.map +0 -1
@@ -5,19 +5,19 @@ export interface TablePaginationData {
5
5
  limits?: number[];
6
6
  }
7
7
  export interface Props {
8
- modelValue: TablePaginationData;
9
8
  dense?: boolean;
10
9
  disablePerPage?: boolean;
11
10
  loading?: boolean;
12
11
  }
13
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
14
- "update:model-value": (value: TablePaginationData) => any;
15
- }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
16
- "onUpdate:model-value"?: ((value: TablePaginationData) => any) | undefined;
17
- }>, {
18
- dense: boolean;
19
- loading: boolean;
20
- disablePerPage: boolean;
21
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ type __VLS_Props = Props;
13
+ type __VLS_ModelProps = {
14
+ modelValue: TablePaginationData;
15
+ };
16
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
17
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
18
+ "update:modelValue": (value: TablePaginationData) => any;
19
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
20
+ "onUpdate:modelValue"?: ((value: TablePaginationData) => any) | undefined;
21
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: typeof __VLS_export;
23
23
  export default _default;
@@ -1,28 +1,30 @@
1
- import { defineComponent, toRefs, computed, createElementBlock, openBlock, normalizeClass, createElementVNode, createVNode, unref, isRef, createBlock, createCommentVNode, toDisplayString, withCtx } from "vue";
1
+ import { defineComponent, useModel, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, createVNode, unref, isRef, createBlock, createCommentVNode, toDisplayString, withCtx, mergeModels } from "vue";
2
2
  import RuiButton from "../buttons/button/RuiButton.vue.js";
3
3
  import RuiMenuSelect from "../forms/select/RuiMenuSelect.vue.js";
4
4
  import RuiIcon from "../icons/RuiIcon.vue.js";
5
5
  import { useTable } from "../../composables/defaults/table.js";
6
- import { get } from "@vueuse/shared";
7
6
  import { formatInteger } from "../../utils/helpers.js";
7
+ import { get, set } from "@vueuse/shared";
8
8
  const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  __name: "RuiTablePagination",
10
- props: {
11
- modelValue: {},
10
+ props: /* @__PURE__ */ mergeModels({
12
11
  dense: { type: Boolean, default: false },
13
12
  disablePerPage: { type: Boolean, default: false },
14
13
  loading: { type: Boolean, default: false }
15
- },
16
- emits: ["update:model-value"],
17
- setup(__props, { emit: __emit }) {
18
- const props = __props;
19
- const emit = __emit;
20
- const { modelValue } = toRefs(props);
14
+ }, {
15
+ "modelValue": { required: true },
16
+ "modelModifiers": {}
17
+ }),
18
+ emits: ["update:modelValue"],
19
+ setup(__props) {
20
+ const modelValue = useModel(__props, "modelValue");
21
21
  const tableDefaults = useTable();
22
- const limits = computed(() => (get(modelValue).limits ?? get(tableDefaults.limits)).map((limit) => ({ limit })));
22
+ const limits = computed(
23
+ () => (get(modelValue).limits ?? get(tableDefaults.limits)).map((limit) => ({ limit }))
24
+ );
23
25
  const currentLimit = computed({
24
26
  get: () => get(modelValue).limit,
25
- set: (limit) => emit("update:model-value", {
27
+ set: (limit) => set(modelValue, {
26
28
  ...get(modelValue),
27
29
  limit: Number(limit),
28
30
  page: 1
@@ -36,8 +38,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
36
38
  });
37
39
  const ranges = computed(() => {
38
40
  const segments = [];
39
- for (let page = 1; page <= get(pages); page++)
40
- segments.push({ page, text: pageRangeText(page) });
41
+ for (let page = 1; page <= get(pages); page++) segments.push({ page, text: pageRangeText(page) });
41
42
  return segments;
42
43
  });
43
44
  const indicatorText = computed(() => {
@@ -46,7 +47,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
46
47
  });
47
48
  const currentRange = computed({
48
49
  get: () => get(modelValue).page,
49
- set: (page) => emit("update:model-value", {
50
+ set: (page) => set(modelValue, {
50
51
  ...get(modelValue),
51
52
  page
52
53
  })
@@ -54,7 +55,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
54
55
  const hasPrev = computed(() => get(modelValue).page > 1);
55
56
  const hasNext = computed(() => get(pages) > get(modelValue).page);
56
57
  function goToPage(page) {
57
- emit("update:model-value", {
58
+ set(modelValue, {
58
59
  ...get(modelValue),
59
60
  page
60
61
  });
@@ -108,7 +109,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
108
109
  "key-attr": "limit",
109
110
  "text-attr": "limit",
110
111
  "hide-details": "",
111
- dense: ""
112
+ dense: "",
113
+ "data-cy": "table-pagination-limit"
112
114
  }, null, 8, ["modelValue", "options", "disabled"])
113
115
  ], 2),
114
116
  createElementVNode("div", {
@@ -128,20 +130,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
128
130
  "key-attr": "page",
129
131
  "text-attr": "text",
130
132
  "hide-details": "",
131
- dense: ""
133
+ dense: "",
134
+ "data-cy": "table-pagination-ranges"
132
135
  }, null, 8, ["modelValue", "options", "disabled"])) : createCommentVNode("", true),
133
136
  createElementVNode("span", {
134
137
  class: normalizeClass(_ctx.$style.indicator)
135
138
  }, toDisplayString(unref(indicatorText)), 3)
136
139
  ], 2),
137
140
  createElementVNode("div", {
138
- class: normalizeClass(_ctx.$style.navigation)
141
+ class: normalizeClass(_ctx.$style.navigation),
142
+ "data-cy": "table-pagination-navigation"
139
143
  }, [
140
144
  createVNode(RuiButton, {
141
145
  size: __props.dense ? "sm" : void 0,
142
146
  disabled: !unref(hasPrev) || __props.loading,
143
147
  variant: "text",
144
148
  icon: "",
149
+ "data-cy": "table-pagination-first",
145
150
  onClick: _cache[2] || (_cache[2] = ($event) => onFirst())
146
151
  }, {
147
152
  default: withCtx(() => [
@@ -154,6 +159,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
154
159
  disabled: !unref(hasPrev) || __props.loading,
155
160
  variant: "text",
156
161
  icon: "",
162
+ "data-cy": "table-pagination-prev",
157
163
  onClick: _cache[3] || (_cache[3] = ($event) => onPrev())
158
164
  }, {
159
165
  default: withCtx(() => [
@@ -166,6 +172,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
166
172
  disabled: !unref(hasNext) || __props.loading,
167
173
  variant: "text",
168
174
  icon: "",
175
+ "data-cy": "table-pagination-next",
169
176
  onClick: _cache[4] || (_cache[4] = ($event) => onNext())
170
177
  }, {
171
178
  default: withCtx(() => [
@@ -178,6 +185,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
178
185
  disabled: !unref(hasNext) || __props.loading,
179
186
  variant: "text",
180
187
  icon: "",
188
+ "data-cy": "table-pagination-last",
181
189
  onClick: _cache[5] || (_cache[5] = ($event) => onLast())
182
190
  }, {
183
191
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"RuiTablePagination.vue2.js","sources":["../../../src/components/tables/RuiTablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiMenuSelect from '@/components/forms/select/RuiMenuSelect.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface TablePaginationData {\n page: number;\n total: number;\n limit: number;\n limits?: number[];\n}\n\nexport interface Props {\n modelValue: TablePaginationData;\n dense?: boolean;\n disablePerPage?: boolean;\n loading?: boolean;\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n dense: false,\n loading: false,\n disablePerPage: false,\n});\n\nconst emit = defineEmits<{\n (e: 'update:model-value', value: TablePaginationData): void;\n}>();\n\nconst { modelValue } = toRefs(props);\n\nconst tableDefaults = useTable();\n\nconst limits = computed(() => (get(modelValue).limits ?? get(tableDefaults.limits)).map(limit => ({ limit })));\n\nconst currentLimit = computed({\n get: () => get(modelValue).limit,\n set: limit =>\n emit('update:model-value', {\n ...get(modelValue),\n limit: Number(limit),\n page: 1,\n }),\n});\n\nconst pages = computed(() => {\n const { limit, total } = get(modelValue);\n if (!total)\n return 0;\n\n return Math.ceil(total / limit);\n});\n\nconst ranges = computed(() => {\n const segments = [];\n\n for (let page = 1; page <= get(pages); page++)\n segments.push({ page, text: pageRangeText(page) });\n\n return segments;\n});\n\nconst indicatorText = computed(() => {\n const { total } = get(modelValue);\n return `${!total ? '0 ' : ''}of ${formatInteger(total)}`;\n});\n\nconst currentRange = computed({\n get: () => get(modelValue).page,\n set: page =>\n emit('update:model-value', {\n ...get(modelValue),\n page,\n }),\n});\n\nconst hasPrev = computed(() => get(modelValue).page > 1);\nconst hasNext = computed(() => get(pages) > get(modelValue).page);\n\nfunction goToPage(page: number) {\n emit('update:model-value', {\n ...get(modelValue),\n page,\n });\n}\n\nfunction pageRangeText(page: number) {\n const { limit, total } = get(modelValue);\n return `${formatInteger((page - 1) * limit + 1)} - ${formatInteger(\n Math.min(page * limit, total),\n )}`;\n}\n\nfunction onNavigate(delta: number) {\n goToPage(get(modelValue).page + delta);\n}\n\nfunction onPrev() {\n if (!get(hasPrev))\n return;\n\n onNavigate(-1);\n}\n\nfunction onNext() {\n if (!get(hasNext))\n return;\n\n onNavigate(1);\n}\n\nfunction onFirst() {\n if (!get(hasPrev))\n return;\n\n goToPage(1);\n}\n\nfunction onLast() {\n if (!get(hasNext))\n return;\n\n goToPage(get(pages));\n}\n</script>\n\n<template>\n <div :class=\"[$style.wrapper, { [$style['wrapper-dense'] ?? '']: dense }]\">\n <div :class=\"$style.limit\">\n <span :class=\"$style.limit__text\">Rows per page:</span>\n <RuiMenuSelect\n v-model=\"currentLimit\"\n :options=\"limits\"\n :disabled=\"loading || disablePerPage\"\n label-class=\"!text-xs !min-h-8\"\n name=\"limit\"\n key-attr=\"limit\"\n text-attr=\"limit\"\n hide-details\n dense\n />\n </div>\n <div :class=\"$style.ranges\">\n <span :class=\"$style.ranges__text\">Items #</span>\n <RuiMenuSelect\n v-if=\"ranges.length > 0\"\n v-model=\"currentRange\"\n :options=\"ranges\"\n :disabled=\"loading\"\n label-class=\"!text-xs !min-h-8\"\n name=\"ranges\"\n key-attr=\"page\"\n text-attr=\"text\"\n hide-details\n dense\n />\n <span :class=\"$style.indicator\">\n {{ indicatorText }}\n </span>\n </div>\n <div :class=\"$style.navigation\">\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n @click=\"onFirst()\"\n >\n <RuiIcon name=\"lu-chevrons-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n @click=\"onPrev()\"\n >\n <RuiIcon name=\"lu-chevron-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n @click=\"onNext()\"\n >\n <RuiIcon name=\"lu-chevron-right\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n @click=\"onLast()\"\n >\n <RuiIcon name=\"lu-chevrons-right\" />\n </RuiButton>\n </div>\n </div>\n</template>\n\n<style module lang=\"scss\">\n.wrapper {\n @apply relative flex flex-wrap items-center justify-end gap-x-4 gap-y-0;\n\n .limit {\n @apply flex items-center space-x-2 text-caption;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .ranges {\n @apply flex items-center space-x-2 text-caption pr-2;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .indicator {\n @apply text-rui-text text-caption whitespace-nowrap;\n }\n\n .navigation {\n @apply flex items-center;\n }\n\n &-dense {\n @apply gap-x-2;\n }\n}\n</style>\n"],"names":["_createElementBlock","$style","_createElementVNode","_normalizeClass","_createVNode","_unref","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"RuiTablePagination.vue2.js","sources":["../../../src/components/tables/RuiTablePagination.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiMenuSelect from '@/components/forms/select/RuiMenuSelect.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { useTable } from '@/composables/defaults/table';\nimport { formatInteger } from '@/utils/helpers';\n\nexport interface TablePaginationData {\n page: number;\n total: number;\n limit: number;\n limits?: number[];\n}\n\nexport interface Props {\n dense?: boolean;\n disablePerPage?: boolean;\n loading?: boolean;\n}\n\nconst modelValue = defineModel<TablePaginationData>({ required: true });\n\nconst { dense = false, loading = false, disablePerPage = false } = defineProps<Props>();\n\nconst tableDefaults = useTable();\n\nconst limits = computed<{ limit: number }[]>(() =>\n (get(modelValue).limits ?? get(tableDefaults.limits)).map(limit => ({ limit })),\n);\n\nconst currentLimit = computed<number>({\n get: () => get(modelValue).limit,\n set: limit =>\n set(modelValue, {\n ...get(modelValue),\n limit: Number(limit),\n page: 1,\n }),\n});\n\nconst pages = computed<number>(() => {\n const { limit, total } = get(modelValue);\n if (!total)\n return 0;\n\n return Math.ceil(total / limit);\n});\n\nconst ranges = computed<{ page: number; text: string }[]>(() => {\n const segments = [];\n\n for (let page = 1; page <= get(pages); page++) segments.push({ page, text: pageRangeText(page) });\n\n return segments;\n});\n\nconst indicatorText = computed<string>(() => {\n const { total } = get(modelValue);\n return `${!total ? '0 ' : ''}of ${formatInteger(total)}`;\n});\n\nconst currentRange = computed<number>({\n get: () => get(modelValue).page,\n set: page =>\n set(modelValue, {\n ...get(modelValue),\n page,\n }),\n});\n\nconst hasPrev = computed<boolean>(() => get(modelValue).page > 1);\nconst hasNext = computed<boolean>(() => get(pages) > get(modelValue).page);\n\nfunction goToPage(page: number): void {\n set(modelValue, {\n ...get(modelValue),\n page,\n });\n}\n\nfunction pageRangeText(page: number): string {\n const { limit, total } = get(modelValue);\n return `${formatInteger((page - 1) * limit + 1)} - ${formatInteger(\n Math.min(page * limit, total),\n )}`;\n}\n\nfunction onNavigate(delta: number): void {\n goToPage(get(modelValue).page + delta);\n}\n\nfunction onPrev(): void {\n if (!get(hasPrev))\n return;\n\n onNavigate(-1);\n}\n\nfunction onNext(): void {\n if (!get(hasNext))\n return;\n\n onNavigate(1);\n}\n\nfunction onFirst(): void {\n if (!get(hasPrev))\n return;\n\n goToPage(1);\n}\n\nfunction onLast(): void {\n if (!get(hasNext))\n return;\n\n goToPage(get(pages));\n}\n</script>\n\n<template>\n <div :class=\"[$style.wrapper, { [$style['wrapper-dense'] ?? '']: dense }]\">\n <div :class=\"$style.limit\">\n <span :class=\"$style.limit__text\">Rows per page:</span>\n <RuiMenuSelect\n v-model=\"currentLimit\"\n :options=\"limits\"\n :disabled=\"loading || disablePerPage\"\n label-class=\"!text-xs !min-h-8\"\n name=\"limit\"\n key-attr=\"limit\"\n text-attr=\"limit\"\n hide-details\n dense\n data-cy=\"table-pagination-limit\"\n />\n </div>\n <div :class=\"$style.ranges\">\n <span :class=\"$style.ranges__text\">Items #</span>\n <RuiMenuSelect\n v-if=\"ranges.length > 0\"\n v-model=\"currentRange\"\n :options=\"ranges\"\n :disabled=\"loading\"\n label-class=\"!text-xs !min-h-8\"\n name=\"ranges\"\n key-attr=\"page\"\n text-attr=\"text\"\n hide-details\n dense\n data-cy=\"table-pagination-ranges\"\n />\n <span :class=\"$style.indicator\">\n {{ indicatorText }}\n </span>\n </div>\n <div\n :class=\"$style.navigation\"\n data-cy=\"table-pagination-navigation\"\n >\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n data-cy=\"table-pagination-first\"\n @click=\"onFirst()\"\n >\n <RuiIcon name=\"lu-chevrons-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasPrev || loading\"\n variant=\"text\"\n icon\n data-cy=\"table-pagination-prev\"\n @click=\"onPrev()\"\n >\n <RuiIcon name=\"lu-chevron-left\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n data-cy=\"table-pagination-next\"\n @click=\"onNext()\"\n >\n <RuiIcon name=\"lu-chevron-right\" />\n </RuiButton>\n <RuiButton\n :size=\"dense ? 'sm' : undefined\"\n :disabled=\"!hasNext || loading\"\n variant=\"text\"\n icon\n data-cy=\"table-pagination-last\"\n @click=\"onLast()\"\n >\n <RuiIcon name=\"lu-chevrons-right\" />\n </RuiButton>\n </div>\n </div>\n</template>\n\n<style module lang=\"scss\">\n.wrapper {\n @apply relative flex flex-wrap items-center justify-end gap-x-4 gap-y-0;\n\n .limit {\n @apply flex items-center space-x-2 text-caption;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .ranges {\n @apply flex items-center space-x-2 text-caption pr-2;\n\n &__text {\n @apply text-rui-text-secondary whitespace-nowrap py-3;\n }\n }\n\n .indicator {\n @apply text-rui-text text-caption whitespace-nowrap;\n }\n\n .navigation {\n @apply flex items-center;\n }\n\n &-dense {\n @apply gap-x-2;\n }\n}\n</style>\n"],"names":["_useModel","_createElementBlock","$style","_createElementVNode","_normalizeClass","_createVNode","_unref","_createBlock"],"mappings":";;;;;;;;;;;;;;;;;;;AAoBA,UAAM,aAAaA,8BAAmD;AAItE,UAAM,gBAAgB,SAAA;AAEtB,UAAM,SAAS;AAAA,MAA8B,OAC1C,IAAI,UAAU,EAAE,UAAU,IAAI,cAAc,MAAM,GAAG,IAAI,CAAA,WAAU,EAAE,QAAQ;AAAA,IAAA;AAGhF,UAAM,eAAe,SAAiB;AAAA,MACpC,KAAK,MAAM,IAAI,UAAU,EAAE;AAAA,MAC3B,KAAK,CAAA,UACH,IAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB,OAAO,OAAO,KAAK;AAAA,QACnB,MAAM;AAAA,MAAA,CACP;AAAA,IAAA,CACJ;AAED,UAAM,QAAQ,SAAiB,MAAM;AACnC,YAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACvC,UAAI,CAAC;AACH,eAAO;AAET,aAAO,KAAK,KAAK,QAAQ,KAAK;AAAA,IAChC,CAAC;AAED,UAAM,SAAS,SAA2C,MAAM;AAC9D,YAAM,WAAW,CAAA;AAEjB,eAAS,OAAO,GAAG,QAAQ,IAAI,KAAK,GAAG,OAAQ,UAAS,KAAK,EAAE,MAAM,MAAM,cAAc,IAAI,GAAG;AAEhG,aAAO;AAAA,IACT,CAAC;AAED,UAAM,gBAAgB,SAAiB,MAAM;AAC3C,YAAM,EAAE,MAAA,IAAU,IAAI,UAAU;AAChC,aAAO,GAAG,CAAC,QAAQ,OAAO,EAAE,MAAM,cAAc,KAAK,CAAC;AAAA,IACxD,CAAC;AAED,UAAM,eAAe,SAAiB;AAAA,MACpC,KAAK,MAAM,IAAI,UAAU,EAAE;AAAA,MAC3B,KAAK,CAAA,SACH,IAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB;AAAA,MAAA,CACD;AAAA,IAAA,CACJ;AAED,UAAM,UAAU,SAAkB,MAAM,IAAI,UAAU,EAAE,OAAO,CAAC;AAChE,UAAM,UAAU,SAAkB,MAAM,IAAI,KAAK,IAAI,IAAI,UAAU,EAAE,IAAI;AAEzE,aAAS,SAAS,MAAoB;AACpC,UAAI,YAAY;AAAA,QACd,GAAG,IAAI,UAAU;AAAA,QACjB;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAAS,cAAc,MAAsB;AAC3C,YAAM,EAAE,OAAO,UAAU,IAAI,UAAU;AACvC,aAAO,GAAG,eAAe,OAAO,KAAK,QAAQ,CAAC,CAAC,MAAM;AAAA,QACnD,KAAK,IAAI,OAAO,OAAO,KAAK;AAAA,MAAA,CAC7B;AAAA,IACH;AAEA,aAAS,WAAW,OAAqB;AACvC,eAAS,IAAI,UAAU,EAAE,OAAO,KAAK;AAAA,IACvC;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,iBAAW,EAAE;AAAA,IACf;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,iBAAW,CAAC;AAAA,IACd;AAEA,aAAS,UAAgB;AACvB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,eAAS,CAAC;AAAA,IACZ;AAEA,aAAS,SAAe;AACtB,UAAI,CAAC,IAAI,OAAO;AACd;AAEF,eAAS,IAAI,KAAK,CAAC;AAAA,IACrB;;0BAIEC,mBAgFM,OAAA;AAAA,QAhFA,uBAAQC,KAAAA,OAAO,SAAO,EAAA,CAAKA,KAAAA,gCAAgC,QAAA,MAAA,CAAK,CAAA;AAAA,MAAA;QACpEC,mBAcM,OAAA;AAAA,UAdA,OAAKC,eAAEF,KAAAA,OAAO,KAAK;AAAA,QAAA;UACvBC,mBAAuD,QAAA;AAAA,YAAhD,OAAKC,eAAEF,KAAAA,OAAO,WAAW;AAAA,UAAA,GAAE,kBAAc,CAAA;AAAA,UAChDG,YAWE,eAAA;AAAA,wBAVSC,MAAA,YAAA;AAAA,+FAAA,aAAY,QAAA,SAAA;AAAA,YACpB,SAASA,MAAA,MAAA;AAAA,YACT,UAAU,QAAA,WAAW,QAAA;AAAA,YACtB,eAAY;AAAA,YACZ,MAAK;AAAA,YACL,YAAS;AAAA,YACT,aAAU;AAAA,YACV,gBAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAQ;AAAA,UAAA;;QAGZH,mBAkBM,OAAA;AAAA,UAlBA,OAAKC,eAAEF,KAAAA,OAAO,MAAM;AAAA,QAAA;UACxBC,mBAAiD,QAAA;AAAA,YAA1C,OAAKC,eAAEF,KAAAA,OAAO,YAAY;AAAA,UAAA,GAAE,WAAO,CAAA;AAAA,UAElCI,MAAA,MAAA,EAAO,SAAM,kBADrBC,YAYE,eAAA;AAAA;wBAVSD,MAAA,YAAA;AAAA,+FAAA,aAAY,QAAA,SAAA;AAAA,YACpB,SAASA,MAAA,MAAA;AAAA,YACT,UAAU,QAAA;AAAA,YACX,eAAY;AAAA,YACZ,MAAK;AAAA,YACL,YAAS;AAAA,YACT,aAAU;AAAA,YACV,gBAAA;AAAA,YACA,OAAA;AAAA,YACA,WAAQ;AAAA,UAAA;UAEVH,mBAEO,QAAA;AAAA,YAFA,OAAKC,eAAEF,KAAAA,OAAO,SAAS;AAAA,UAAA,mBACzBI,MAAA,aAAA,CAAa,GAAA,CAAA;AAAA,QAAA;QAGpBH,mBA4CM,OAAA;AAAA,UA3CH,OAAKC,eAAEF,KAAAA,OAAO,UAAU;AAAA,UACzB,WAAQ;AAAA,QAAA;UAERG,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,QAAA;AAAA,UAAO;6BAEf,MAAmC;AAAA,cAAnCD,YAAmC,SAAA,EAA1B,MAAK,oBAAkB;AAAA,YAAA;;;UAElCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAkC;AAAA,cAAlCD,YAAkC,SAAA,EAAzB,MAAK,mBAAiB;AAAA,YAAA;;;UAEjCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAmC;AAAA,cAAnCD,YAAmC,SAAA,EAA1B,MAAK,oBAAkB;AAAA,YAAA;;;UAElCA,YASY,WAAA;AAAA,YART,MAAM,QAAA,QAAK,OAAU;AAAA,YACrB,UAAQ,CAAGC,MAAA,OAAA,KAAW,QAAA;AAAA,YACvB,SAAQ;AAAA,YACR,MAAA;AAAA,YACA,WAAQ;AAAA,YACP,+CAAO,OAAA;AAAA,UAAM;6BAEd,MAAoC;AAAA,cAApCD,YAAoC,SAAA,EAA3B,MAAK,qBAAmB;AAAA,YAAA;;;;;;;;"}
@@ -1,5 +1,5 @@
1
- import type { RouteLocationRaw } from 'vue-router';
2
1
  import type { ContextColorsType } from '../../../consts/colors.js';
2
+ import { type RouteLocationRaw } from 'vue-router';
3
3
  export interface Props {
4
4
  color?: ContextColorsType;
5
5
  disabled?: boolean;
@@ -21,26 +21,11 @@ type __VLS_Slots = {
21
21
  prepend?: (props?: object) => any;
22
22
  append?: (props?: object) => any;
23
23
  };
24
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
24
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
25
  click: (value: string | number) => any;
26
26
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
27
27
  onClick?: ((value: string | number) => any) | undefined;
28
- }>, {
29
- value: number | string;
30
- color: ContextColorsType;
31
- link: boolean;
32
- disabled: boolean;
33
- active: boolean;
34
- vertical: boolean;
35
- align: "start" | "center" | "end";
36
- target: string;
37
- to: RouteLocationRaw;
38
- exact: boolean;
39
- grow: boolean;
40
- activeClass: string;
41
- exactPath: boolean;
42
- indicatorPosition: "start" | "end";
43
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
28
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
29
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
30
  declare const _default: typeof __VLS_export;
46
31
  export default _default;
@@ -1,7 +1,6 @@
1
- import { defineComponent, useSlots, toRefs, useCssModule, computed, resolveComponent, createBlock, unref, openBlock, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, createVNode } from "vue";
1
+ import { defineComponent, useSlots, useCssModule, computed, openBlock, createBlock, mergeProps, unref, createSlots, withCtx, renderSlot, createVNode, useId } from "vue";
2
+ import { RouterLink } from "vue-router";
2
3
  import RuiButton from "../../buttons/button/RuiButton.vue.js";
3
- import { generateId } from "../../../utils/generate-id.js";
4
- import { get } from "@vueuse/shared";
5
4
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
5
  ...{
7
6
  name: "RuiTab",
@@ -9,10 +8,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
8
  },
10
9
  __name: "RuiTab",
11
10
  props: {
12
- color: { default: void 0 },
11
+ color: {},
13
12
  disabled: { type: Boolean, default: false },
14
13
  grow: { type: Boolean, default: false },
15
- value: { default: generateId() },
14
+ value: { default: () => useId() },
16
15
  active: { type: Boolean, default: false },
17
16
  activeClass: { default: "" },
18
17
  link: { type: Boolean, default: false },
@@ -26,65 +25,86 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
25
  },
27
26
  emits: ["click"],
28
27
  setup(__props, { emit: __emit }) {
29
- const props = __props;
30
28
  const emit = __emit;
31
29
  const slots = useSlots();
32
- const { target, grow, active, activeClass, disabled, vertical, align, value, indicatorPosition } = toRefs(props);
33
30
  const css = useCssModule();
34
- const isSelf = computed(() => get(target) === "_self");
31
+ const isSelf = computed(() => __props.target === "_self");
35
32
  const tabClass = computed(() => [
36
33
  css.tab,
37
- css[`tab--${get(align)}`],
38
- css[`tab-indicator--${get(indicatorPosition)}`],
34
+ css[`tab--${__props.align}`],
35
+ css[`tab-indicator--${__props.indicatorPosition}`],
39
36
  {
40
- [css["tab--grow"] ?? ""]: get(grow),
41
- [`${css["tab--active"]} active-tab ${get(activeClass)}`]: get(active),
42
- [css["tab--disabled"] ?? ""]: get(disabled),
43
- [css["tab--vertical"] ?? ""]: get(vertical)
37
+ [css["tab--grow"] ?? ""]: __props.grow,
38
+ [`${css["tab--active"]} active-tab ${__props.activeClass}`]: __props.active,
39
+ [css["tab--disabled"] ?? ""]: __props.disabled,
40
+ [css["tab--vertical"] ?? ""]: __props.vertical
44
41
  }
45
42
  ]);
46
43
  function click() {
47
- emit("click", get(value));
44
+ emit("click", __props.value);
48
45
  }
49
46
  return (_ctx, _cache) => {
50
- const _component_RouterLink = resolveComponent("RouterLink");
51
- return unref(disabled) ? (openBlock(), createBlock(RuiButton, mergeProps({
47
+ return __props.disabled ? (openBlock(), createBlock(RuiButton, mergeProps({
52
48
  key: 0,
53
49
  variant: "text",
54
50
  disabled: "",
55
51
  class: unref(tabClass),
56
52
  "hide-focus-indicator": "",
57
53
  tabindex: "-1",
58
- role: "tab"
59
- }, _ctx.$attrs), createSlots({ _: 2 }, [
60
- renderList(slots, (_, name) => {
61
- return {
62
- name,
63
- fn: withCtx((slotData) => [
64
- renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData)))
65
- ])
66
- };
67
- })
68
- ]), 1040, ["class"])) : !__props.link ? (openBlock(), createBlock(RuiButton, mergeProps({
54
+ role: "tab",
55
+ "aria-selected": __props.active
56
+ }, _ctx.$attrs), createSlots({
57
+ default: withCtx(() => [
58
+ renderSlot(_ctx.$slots, "default")
59
+ ]),
60
+ _: 2
61
+ }, [
62
+ slots.prepend ? {
63
+ name: "prepend",
64
+ fn: withCtx(() => [
65
+ renderSlot(_ctx.$slots, "prepend")
66
+ ]),
67
+ key: "0"
68
+ } : void 0,
69
+ slots.append ? {
70
+ name: "append",
71
+ fn: withCtx(() => [
72
+ renderSlot(_ctx.$slots, "append")
73
+ ]),
74
+ key: "1"
75
+ } : void 0
76
+ ]), 1040, ["class", "aria-selected"])) : !__props.link ? (openBlock(), createBlock(RuiButton, mergeProps({
69
77
  key: 1,
70
78
  class: unref(tabClass),
71
- color: unref(active) ? __props.color : void 0,
72
- role: "tab"
79
+ color: __props.active ? __props.color : void 0,
80
+ role: "tab",
81
+ "aria-selected": __props.active
73
82
  }, _ctx.$attrs, {
74
83
  tabindex: "-1",
75
84
  "hide-focus-indicator": "",
76
85
  variant: "text",
77
86
  onClick: _cache[0] || (_cache[0] = ($event) => click())
78
- }), createSlots({ _: 2 }, [
79
- renderList(slots, (_, name) => {
80
- return {
81
- name,
82
- fn: withCtx((slotData) => [
83
- renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData)))
84
- ])
85
- };
86
- })
87
- ]), 1040, ["class", "color"])) : (openBlock(), createBlock(_component_RouterLink, {
87
+ }), createSlots({
88
+ default: withCtx(() => [
89
+ renderSlot(_ctx.$slots, "default")
90
+ ]),
91
+ _: 2
92
+ }, [
93
+ slots.prepend ? {
94
+ name: "prepend",
95
+ fn: withCtx(() => [
96
+ renderSlot(_ctx.$slots, "prepend")
97
+ ]),
98
+ key: "0"
99
+ } : void 0,
100
+ slots.append ? {
101
+ name: "append",
102
+ fn: withCtx(() => [
103
+ renderSlot(_ctx.$slots, "append")
104
+ ]),
105
+ key: "1"
106
+ } : void 0
107
+ ]), 1040, ["class", "color", "aria-selected"])) : (openBlock(), createBlock(unref(RouterLink), {
88
108
  key: 2,
89
109
  to: __props.to,
90
110
  exact: __props.exact,
@@ -99,10 +119,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
119
  [`${unref(css)["tab--active"]} active-tab-link`]: __props.exact ? isExactActive : isActive
100
120
  }
101
121
  ],
102
- color: unref(active) || (__props.exact ? isExactActive : isActive) ? __props.color : void 0,
122
+ color: __props.active || (__props.exact ? isExactActive : isActive) ? __props.color : void 0,
103
123
  href: unref(isSelf) ? void 0 : href,
104
- target: unref(target),
124
+ target: __props.target,
105
125
  role: "tab",
126
+ "aria-selected": __props.active || (__props.exact ? isExactActive : isActive),
106
127
  "no-outline": "",
107
128
  tag: "a",
108
129
  "hide-focus-indicator": "",
@@ -113,16 +134,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
113
134
  click();
114
135
  unref(isSelf) ? navigate($event) : void 0;
115
136
  }
116
- }), createSlots({ _: 2 }, [
117
- renderList(slots, (_, name) => {
118
- return {
119
- name,
120
- fn: withCtx((slotData) => [
121
- renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotData)))
122
- ])
123
- };
124
- })
125
- ]), 1040, ["class", "color", "href", "target", "onClick"])
137
+ }), createSlots({
138
+ default: withCtx(() => [
139
+ renderSlot(_ctx.$slots, "default")
140
+ ]),
141
+ _: 2
142
+ }, [
143
+ slots.prepend ? {
144
+ name: "prepend",
145
+ fn: withCtx(() => [
146
+ renderSlot(_ctx.$slots, "prepend")
147
+ ]),
148
+ key: "0"
149
+ } : void 0,
150
+ slots.append ? {
151
+ name: "append",
152
+ fn: withCtx(() => [
153
+ renderSlot(_ctx.$slots, "append")
154
+ ]),
155
+ key: "1"
156
+ } : void 0
157
+ ]), 1040, ["class", "color", "href", "target", "aria-selected", "onClick"])
126
158
  ]),
127
159
  _: 3
128
160
  }, 8, ["to", "exact", "exact-path"]));
@@ -1 +1 @@
1
- {"version":3,"file":"RuiTab.vue2.js","sources":["../../../../src/components/tabs/tab/RuiTab.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { RouteLocationRaw } from 'vue-router';\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\n\nexport interface Props {\n color?: ContextColorsType;\n disabled?: boolean;\n grow?: boolean;\n value?: number | string;\n active?: boolean;\n activeClass?: string;\n link?: boolean;\n target?: string;\n to?: RouteLocationRaw;\n exact?: boolean;\n exactPath?: boolean;\n vertical?: boolean;\n align?: 'start' | 'center' | 'end';\n indicatorPosition?: 'start' | 'end';\n}\n\ndefineOptions({\n name: 'RuiTab',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n color: undefined,\n disabled: false,\n grow: false,\n value: generateId(),\n active: false,\n activeClass: '',\n link: false,\n to: '',\n target: '_self',\n exact: false,\n exactPath: false,\n vertical: false,\n align: 'center',\n indicatorPosition: 'end',\n});\n\nconst emit = defineEmits<{\n (e: 'click', value: string | number): void;\n}>();\n\nconst slots = defineSlots<{\n default?: (props?: object) => any;\n prepend?: (props?: object) => any;\n append?: (props?: object) => any;\n}>();\n\nconst { target, grow, active, activeClass, disabled, vertical, align, value, indicatorPosition }\n = toRefs(props);\n\nconst css = useCssModule();\n\nconst isSelf = computed(() => get(target) === '_self');\n\nconst tabClass = computed(() => [\n css.tab,\n css[`tab--${get(align)}`],\n css[`tab-indicator--${get(indicatorPosition)}`],\n {\n [css['tab--grow'] ?? '']: get(grow),\n [`${css['tab--active']} active-tab ${get(activeClass)}`]: get(active),\n [css['tab--disabled'] ?? '']: get(disabled),\n [css['tab--vertical'] ?? '']: get(vertical),\n },\n]);\n\nfunction click() {\n emit('click', get(value));\n}\n</script>\n\n<template>\n <RuiButton\n v-if=\"disabled\"\n variant=\"text\"\n disabled\n :class=\"tabClass\"\n hide-focus-indicator\n tabindex=\"-1\"\n role=\"tab\"\n v-bind=\"$attrs\"\n >\n <template\n v-for=\"(_, name) in slots\"\n #[name]=\"slotData\"\n >\n <slot\n :name=\"name\"\n v-bind=\"slotData\"\n />\n </template>\n </RuiButton>\n <RuiButton\n v-else-if=\"!link\"\n :class=\"tabClass\"\n :color=\"active ? color : undefined\"\n role=\"tab\"\n v-bind=\"$attrs\"\n tabindex=\"-1\"\n hide-focus-indicator\n variant=\"text\"\n @click=\"click()\"\n >\n <template\n v-for=\"(_, name) in slots\"\n #[name]=\"slotData\"\n >\n <slot\n :name=\"name\"\n v-bind=\"slotData\"\n />\n </template>\n </RuiButton>\n <RouterLink\n v-else\n #default=\"{ href, navigate, isActive, isExactActive }\"\n :to=\"to\"\n :exact=\"exact\"\n :exact-path=\"exactPath\"\n custom\n >\n <RuiButton\n :class=\"[\n ...tabClass,\n {\n [`${css['tab--active']} active-tab-link`]: exact\n ? isExactActive\n : isActive,\n },\n ]\"\n :color=\"active || (exact ? isExactActive : isActive) ? color : undefined\"\n :href=\"isSelf ? undefined : href\"\n :target=\"target\"\n role=\"tab\"\n no-outline\n tag=\"a\"\n hide-focus-indicator\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n variant=\"text\"\n @click=\"\n click();\n isSelf ? navigate($event) : undefined;\n \"\n >\n <template\n v-for=\"(_, name) in slots\"\n #[name]=\"slotData\"\n >\n <slot\n :name=\"name\"\n v-bind=\"slotData\"\n />\n </template>\n </RuiButton>\n </RouterLink>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply h-full min-w-[90px] max-w-[360px] flex items-center rounded-none cursor-pointer relative whitespace-nowrap shrink-0;\n @apply px-4 #{!important};\n\n &--vertical {\n @apply h-[2.625rem] w-full max-w-none;\n }\n\n &--grow {\n @apply grow max-w-none;\n }\n\n &--active {\n &:after {\n content: '';\n @apply absolute h-0 w-full bottom-0 left-0 border-b-2 border-current;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply top-0 bottom-auto;\n }\n }\n\n &.tab--vertical {\n &:after {\n @apply h-full w-0 right-0 left-auto border-b-0 border-r-2;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply left-0 right-auto;\n }\n }\n }\n }\n\n &--disabled {\n @apply cursor-not-allowed;\n }\n\n &--start {\n @apply justify-start text-left rtl:justify-end rtl:text-right;\n }\n\n &--center {\n @apply justify-center text-center;\n }\n\n &--end {\n @apply justify-end text-right rtl:justify-start rtl:text-left;\n }\n}\n</style>\n"],"names":["_useSlots","_unref","_openBlock","_createBlock","_mergeProps","$attrs","_createSlots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_createVNode"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,UAAM,QAAQ;AAiBd,UAAM,OAAO;AAIb,UAAM,QAAQA,SAAA;AAMd,UAAM,EAAE,QAAQ,MAAM,QAAQ,aAAa,UAAU,UAAU,OAAO,OAAO,sBACzE,OAAO,KAAK;AAEhB,UAAM,MAAM,aAAA;AAEZ,UAAM,SAAS,SAAS,MAAM,IAAI,MAAM,MAAM,OAAO;AAErD,UAAM,WAAW,SAAS,MAAM;AAAA,MAC9B,IAAI;AAAA,MACJ,IAAI,QAAQ,IAAI,KAAK,CAAC,EAAE;AAAA,MACxB,IAAI,kBAAkB,IAAI,iBAAiB,CAAC,EAAE;AAAA,MAC9C;AAAA,QACE,CAAC,IAAI,WAAW,KAAK,EAAE,GAAG,IAAI,IAAI;AAAA,QAClC,CAAC,GAAG,IAAI,aAAa,CAAC,eAAe,IAAI,WAAW,CAAC,EAAE,GAAG,IAAI,MAAM;AAAA,QACpE,CAAC,IAAI,eAAe,KAAK,EAAE,GAAG,IAAI,QAAQ;AAAA,QAC1C,CAAC,IAAI,eAAe,KAAK,EAAE,GAAG,IAAI,QAAQ;AAAA,MAAA;AAAA,IAC5C,CACD;AAED,aAAS,QAAQ;AACf,WAAK,SAAS,IAAI,KAAK,CAAC;AAAA,IAC1B;;;aAKUC,MAAA,QAAA,KADRC,aAAAC,YAmBY,WAnBZC,WAmBY;AAAA;QAjBV,SAAQ;AAAA,QACR,UAAA;AAAA,QACC,OAAOH,MAAA,QAAA;AAAA,QACR,wBAAA;AAAA,QACA,UAAS;AAAA,QACT,MAAK;AAAA,MAAA,GACGI,KAAAA,MAAM,GAAAC,YAAA,EAAA,GAAA,KAAA;AAAA,mBAGQ,OAAK,CAAjB,GAAG,SAAI;;;YAGf,IAAAC,QAAA,CAFS,aAAQ;AAAA,cAEjBC,WAGE,KAAA,QAFO,MAAIC,eAAAC,mBACH,QAAQ,CAAA,CAAA;AAAA,YAAA;;;+BAKR,QAAA,QADdR,UAAA,GAAAC,YAoBY,WApBZC,WAoBY;AAAA;QAlBT,OAAOH,MAAA,QAAA;AAAA,QACP,OAAOA,MAAA,MAAA,IAAS,QAAA,QAAQ;AAAA,QACzB,MAAK;AAAA,MAAA,GACGI,KAAAA,QAAM;AAAA,QACd,UAAS;AAAA,QACT,wBAAA;AAAA,QACA,SAAQ;AAAA,QACP,+CAAO,MAAA;AAAA,MAAK;mBAGS,OAAK,CAAjB,GAAG,SAAI;;;YAGf,IAAAE,QAAA,CAFS,aAAQ;AAAA,cAEjBC,WAGE,KAAA,QAFO,MAAIC,eAAAC,mBACH,QAAQ,CAAA,CAAA;AAAA,YAAA;;;qDAItBP,YA0Ca,uBAAA;AAAA;QAvCV,IAAI,QAAA;AAAA,QACJ,OAAO,QAAA;AAAA,QACP,cAAY,QAAA;AAAA,QACb,QAAA;AAAA,MAAA;QAJC,SAAOI,QAMR,CAiCY,EAvCA,MAAM,UAAU,UAAU,oBAAa;AAAA,UAMnDI,YAiCY,WAjCZP,WAiCY;AAAA,YAhCT,OAAK;AAAA,iBAAeH,MAAA,QAAA;AAAA;gBAAkC,CAAA,GAAAA,MAAA,GAAA,qCAAuC,QAAA,QAAoB,gBAA4B;AAAA,cAAA;AAAA;YAQ7I,OAAOA,MAAA,MAAA,MAAW,QAAA,QAAQ,gBAAgB,YAAY,QAAA,QAAQ;AAAA,YAC9D,MAAMA,MAAA,MAAA,IAAS,SAAY;AAAA,YAC3B,QAAQA,MAAA,MAAA;AAAA,YACT,MAAK;AAAA,YACL,cAAA;AAAA,YACA,KAAI;AAAA,YACJ,wBAAA;AAAA,YACA,UAAS;AAAA,UAAA,GACDI,KAAAA,QAAM;AAAA,YACd,SAAQ;AAAA,YACP,SAAK,CAAA,WAAA;AAAW,oBAAA;AAAiBJ,oBAAA,MAAA,IAAS,SAAS,MAAM,IAAI;AAAA;;uBAMxC,OAAK,CAAjB,GAAG,SAAI;;;gBAGf,IAAAM,QAAA,CAFS,aAAQ;AAAA,kBAEjBC,WAGE,KAAA,QAFO,MAAIC,eAAAC,mBACH,QAAQ,CAAA,CAAA;AAAA,gBAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"RuiTab.vue2.js","sources":["../../../../src/components/tabs/tab/RuiTab.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport { type RouteLocationRaw, RouterLink } from 'vue-router';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\n\nexport interface Props {\n color?: ContextColorsType;\n disabled?: boolean;\n grow?: boolean;\n value?: number | string;\n active?: boolean;\n activeClass?: string;\n link?: boolean;\n target?: string;\n to?: RouteLocationRaw;\n exact?: boolean;\n exactPath?: boolean;\n vertical?: boolean;\n align?: 'start' | 'center' | 'end';\n indicatorPosition?: 'start' | 'end';\n}\n\ndefineOptions({\n name: 'RuiTab',\n inheritAttrs: false,\n});\n\nconst {\n color,\n disabled = false,\n grow = false,\n value = useId(),\n active = false,\n activeClass = '',\n link = false,\n to = '',\n target = '_self',\n exact = false,\n exactPath = false,\n vertical = false,\n align = 'center',\n indicatorPosition = 'end',\n} = defineProps<Props>();\n\nconst emit = defineEmits<{\n click: [value: string | number];\n}>();\n\nconst slots = defineSlots<{\n default?: (props?: object) => any;\n prepend?: (props?: object) => any;\n append?: (props?: object) => any;\n}>();\n\nconst css = useCssModule();\n\nconst isSelf = computed<boolean>(() => target === '_self');\n\nconst tabClass = computed<(string | undefined | Record<string, string | boolean>)[]>(() => [\n css.tab,\n css[`tab--${align}`],\n css[`tab-indicator--${indicatorPosition}`],\n {\n [css['tab--grow'] ?? '']: grow,\n [`${css['tab--active']} active-tab ${activeClass}`]: active,\n [css['tab--disabled'] ?? '']: disabled,\n [css['tab--vertical'] ?? '']: vertical,\n },\n]);\n\nfunction click(): void {\n emit('click', value);\n}\n</script>\n\n<template>\n <RuiButton\n v-if=\"disabled\"\n variant=\"text\"\n disabled\n :class=\"tabClass\"\n hide-focus-indicator\n tabindex=\"-1\"\n role=\"tab\"\n :aria-selected=\"active\"\n v-bind=\"$attrs\"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n <RuiButton\n v-else-if=\"!link\"\n :class=\"tabClass\"\n :color=\"active ? color : undefined\"\n role=\"tab\"\n :aria-selected=\"active\"\n v-bind=\"$attrs\"\n tabindex=\"-1\"\n hide-focus-indicator\n variant=\"text\"\n @click=\"click()\"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n <RouterLink\n v-else\n #default=\"{ href, navigate, isActive, isExactActive }\"\n :to=\"to\"\n :exact=\"exact\"\n :exact-path=\"exactPath\"\n custom\n >\n <RuiButton\n :class=\"[\n ...tabClass,\n {\n [`${css['tab--active']} active-tab-link`]: exact ? isExactActive : isActive,\n },\n ]\"\n :color=\"active || (exact ? isExactActive : isActive) ? color : undefined\"\n :href=\"isSelf ? undefined : href\"\n :target=\"target\"\n role=\"tab\"\n :aria-selected=\"active || (exact ? isExactActive : isActive)\"\n no-outline\n tag=\"a\"\n hide-focus-indicator\n tabindex=\"-1\"\n v-bind=\"$attrs\"\n variant=\"text\"\n @click=\"\n click();\n isSelf ? navigate($event) : undefined;\n \"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <slot />\n <template\n v-if=\"slots.append\"\n #append\n >\n <slot name=\"append\" />\n </template>\n </RuiButton>\n </RouterLink>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply h-full min-w-[90px] max-w-[360px] flex items-center rounded-none cursor-pointer relative whitespace-nowrap shrink-0;\n @apply px-4 #{!important};\n\n &--vertical {\n @apply h-[2.625rem] w-full max-w-none;\n }\n\n &--grow {\n @apply grow max-w-none;\n }\n\n &--active {\n &:after {\n content: '';\n @apply absolute h-0 w-full bottom-0 left-0 border-b-2 border-current;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply top-0 bottom-auto;\n }\n }\n\n &.tab--vertical {\n &:after {\n @apply h-full w-0 right-0 left-auto border-b-0 border-r-2;\n }\n\n &.tab-indicator--start {\n &:after {\n @apply left-0 right-auto;\n }\n }\n }\n }\n\n &--disabled {\n @apply cursor-not-allowed;\n }\n\n &--start {\n @apply justify-start text-left rtl:justify-end rtl:text-right;\n }\n\n &--center {\n @apply justify-center text-center;\n }\n\n &--end {\n @apply justify-end text-right rtl:justify-start rtl:text-left;\n }\n}\n</style>\n"],"names":["_useSlots","_openBlock","_createBlock","_mergeProps","_unref","$attrs","_createSlots","_renderSlot","_withCtx","_createVNode"],"mappings":"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"}
@@ -4,18 +4,10 @@ export interface Props {
4
4
  eager?: boolean;
5
5
  reverse?: boolean;
6
6
  }
7
- declare var __VLS_7: {}, __VLS_9: {};
8
- type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_7) => any;
10
- } & {
11
- default?: (props: typeof __VLS_9) => any;
7
+ type __VLS_Slots = {
8
+ default?: () => any;
12
9
  };
13
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
14
- value: number | string;
15
- reverse: boolean;
16
- active: boolean;
17
- eager: boolean;
18
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
11
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
12
  declare const _default: typeof __VLS_export;
21
13
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, createElementBlock, openBlock, normalizeClass, createVNode, createCommentVNode, Transition, withCtx, renderSlot } from "vue";
1
+ import { defineComponent, openBlock, createElementBlock, normalizeClass, createVNode, Transition, withCtx, renderSlot, createCommentVNode } from "vue";
2
2
  const _hoisted_1 = {
3
3
  key: 0,
4
4
  class: "w-full"
@@ -14,13 +14,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  __name: "RuiTabItem",
15
15
  props: {
16
16
  active: { type: Boolean, default: false },
17
- value: { default: void 0 },
17
+ value: {},
18
18
  eager: { type: Boolean, default: false },
19
19
  reverse: { type: Boolean, default: false }
20
20
  },
21
21
  setup(__props) {
22
22
  return (_ctx, _cache) => {
23
23
  return openBlock(), createElementBlock("div", {
24
+ role: "tabpanel",
24
25
  class: normalizeClass([_ctx.$style.tab, { "active-tab-item": __props.active }])
25
26
  }, [
26
27
  createVNode(Transition, {
@@ -1 +1 @@
1
- {"version":3,"file":"RuiTabItem.vue2.js","sources":["../../../../src/components/tabs/tab-item/RuiTabItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n active?: boolean;\n value?: number | string;\n eager?: boolean;\n reverse?: boolean;\n}\n\ndefineOptions({\n name: 'RuiTabItem',\n});\n\nwithDefaults(defineProps<Props>(), {\n value: undefined,\n eager: false,\n active: false,\n reverse: false,\n});\n</script>\n\n<template>\n <div :class=\"[$style.tab, { 'active-tab-item': active }]\">\n <Transition\n :enter-from-class=\"`opacity-0 ${reverse ? '-translate-x-8' : 'translate-x-8'}`\"\n :leave-to-class=\"`opacity-0 !h-0 overflow-hidden ${\n reverse ? 'translate-x-8' : '-translate-x-8'\n }`\"\n enter-active-class=\"w-full transform duration-300 transition\"\n enter-to-class=\"opacity-100 translate-x-0\"\n leave-active-class=\"w-full transform duration-300 transition !h-0 overflow-hidden\"\n leave-from-class=\"opacity-100 translate-x-0 !h-0 overflow-hidden\"\n >\n <div\n v-if=\"active\"\n class=\"w-full\"\n >\n <slot />\n </div>\n </Transition>\n <div\n v-if=\"eager && !active\"\n class=\"hidden\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply w-full;\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_createVNode","_Transition","_openBlock","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;0BAqBEA,mBAwBM,OAAA;AAAA,QAxBA,OAAKC,eAAA,CAAGC,KAAAA,OAAO,0BAA0B,QAAA,QAAM,CAAA;AAAA,MAAA;QACnDC,YAgBaC,YAAA;AAAA,UAfV,iCAA+B,QAAA,UAAO,mBAAA,eAAA;AAAA,UACtC,kBAAc,kCAA6C,QAAA,UAAO,kBAAA;UAGnE,sBAAmB;AAAA,UACnB,kBAAe;AAAA,UACf,sBAAmB;AAAA,UACnB,oBAAiB;AAAA,QAAA;2BAEjB,MAKM;AAAA,YAJE,QAAA,UADRC,UAAA,GAAAL,mBAKM,OALN,YAKM;AAAA,cADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;;;QAIJ,QAAA,UAAU,QAAA,UADlBD,aAAAL,mBAKM,OALN,YAKM;AAAA,UADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,QAAA;;;;;"}
1
+ {"version":3,"file":"RuiTabItem.vue2.js","sources":["../../../../src/components/tabs/tab-item/RuiTabItem.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n active?: boolean;\n value?: number | string;\n eager?: boolean;\n reverse?: boolean;\n}\n\ndefineOptions({\n name: 'RuiTabItem',\n});\n\nconst { active = false, eager = false, reverse = false } = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n</script>\n\n<template>\n <div\n role=\"tabpanel\"\n :class=\"[$style.tab, { 'active-tab-item': active }]\"\n >\n <Transition\n :enter-from-class=\"`opacity-0 ${reverse ? '-translate-x-8' : 'translate-x-8'}`\"\n :leave-to-class=\"`opacity-0 !h-0 overflow-hidden ${\n reverse ? 'translate-x-8' : '-translate-x-8'\n }`\"\n enter-active-class=\"w-full transform duration-300 transition\"\n enter-to-class=\"opacity-100 translate-x-0\"\n leave-active-class=\"w-full transform duration-300 transition !h-0 overflow-hidden\"\n leave-from-class=\"opacity-100 translate-x-0 !h-0 overflow-hidden\"\n >\n <div\n v-if=\"active\"\n class=\"w-full\"\n >\n <slot />\n </div>\n </Transition>\n <div\n v-if=\"eager && !active\"\n class=\"hidden\"\n >\n <slot />\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.tab {\n @apply w-full;\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_createVNode","_Transition","_openBlock","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;0BAoBEA,mBA2BM,OAAA;AAAA,QA1BJ,MAAK;AAAA,QACJ,OAAKC,eAAA,CAAGC,KAAAA,OAAO,0BAA0B,QAAA,QAAM,CAAA;AAAA,MAAA;QAEhDC,YAgBaC,YAAA;AAAA,UAfV,iCAA+B,QAAA,UAAO,mBAAA,eAAA;AAAA,UACtC,kBAAc,kCAA6C,QAAA,UAAO,kBAAA;UAGnE,sBAAmB;AAAA,UACnB,kBAAe;AAAA,UACf,sBAAmB;AAAA,UACnB,oBAAiB;AAAA,QAAA;2BAEjB,MAKM;AAAA,YAJE,QAAA,UADRC,UAAA,GAAAL,mBAKM,OALN,YAKM;AAAA,cADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;;;QAIJ,QAAA,UAAU,QAAA,UADlBD,aAAAL,mBAKM,OALN,YAKM;AAAA,UADJM,WAAQ,KAAA,QAAA,SAAA;AAAA,QAAA;;;;;"}
@@ -1,9 +1,6 @@
1
- export interface Props<T> {
2
- modelValue?: T;
3
- }
4
1
  declare const __VLS_export: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
2
  props: import("vue").PublicProps & __VLS_PrettifyLocal<{
6
- modelValue?: Props<T>["modelValue"];
3
+ modelValue?: T;
7
4
  } & {
8
5
  "onUpdate:modelValue"?: ((value: T | undefined) => any) | undefined;
9
6
  }> & (typeof globalThis extends {
@@ -12,7 +9,7 @@ declare const __VLS_export: <T extends string | number>(__VLS_props: NonNullable
12
9
  expose: (exposed: {}) => void;
13
10
  attrs: any;
14
11
  slots: {};
15
- emit: (evt: "update:modelValue", value: T | undefined) => void;
12
+ emit: (event: "update:modelValue", value: T | undefined) => void;
16
13
  }>) => import("vue").VNode & {
17
14
  __ctx?: Awaited<typeof __VLS_setup>;
18
15
  };