@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
@@ -1,21 +1,21 @@
1
1
  export interface NotificationProps {
2
- modelValue: boolean;
3
2
  timeout: number;
4
3
  width?: number | string;
5
4
  theme?: 'light' | 'dark';
6
5
  }
7
- declare var __VLS_13: {};
8
- type __VLS_Slots = {} & {
9
- default?: (props: typeof __VLS_13) => any;
6
+ type __VLS_Props = NotificationProps;
7
+ type __VLS_Slots = {
8
+ default?: () => any;
9
+ };
10
+ type __VLS_ModelProps = {
11
+ modelValue: boolean;
10
12
  };
11
- declare const __VLS_base: import("vue").DefineComponent<NotificationProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
- "update:model-value": (value: boolean) => any;
13
- }, string, import("vue").PublicProps, Readonly<NotificationProps> & Readonly<{
14
- "onUpdate:model-value"?: ((value: boolean) => any) | undefined;
15
- }>, {
16
- width: number | string;
17
- theme: "light" | "dark";
18
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
14
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
15
+ "update:modelValue": (value: boolean) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
17
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
19
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
20
20
  declare const _default: typeof __VLS_export;
21
21
  export default _default;
@@ -1,40 +1,43 @@
1
- import { defineComponent, toRefs, computed, createBlock, openBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, createCommentVNode, unref, mergeProps, renderSlot } from "vue";
1
+ import { defineComponent, useModel, computed, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, createElementBlock, mergeProps, unref, renderSlot, createCommentVNode, mergeModels } from "vue";
2
+ import { useTimeoutFn, watchImmediate } from "@vueuse/core";
2
3
  import { transformPropsUnit } from "../../../utils/helpers.js";
3
- import { get } from "@vueuse/shared";
4
- import { watchImmediate } from "@vueuse/core";
4
+ import { set } from "@vueuse/shared";
5
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  ...{
7
7
  name: "RuiNotification",
8
8
  inheritAttrs: false
9
9
  },
10
10
  __name: "RuiNotification",
11
- props: {
12
- modelValue: { type: Boolean },
11
+ props: /* @__PURE__ */ mergeModels({
13
12
  timeout: {},
14
13
  width: { default: 400 },
15
- theme: { default: void 0 }
16
- },
17
- emits: ["update:model-value"],
18
- setup(__props, { emit: __emit }) {
19
- const props = __props;
20
- const emit = __emit;
21
- const { timeout, modelValue, width } = toRefs(props);
14
+ theme: {}
15
+ }, {
16
+ "modelValue": { type: Boolean, ...{ required: true } },
17
+ "modelModifiers": {}
18
+ }),
19
+ emits: ["update:modelValue"],
20
+ setup(__props) {
21
+ const modelValue = useModel(__props, "modelValue");
22
22
  const style = computed(() => ({
23
- width: transformPropsUnit(get(width))
23
+ width: transformPropsUnit(__props.width)
24
24
  }));
25
+ const { start, stop } = useTimeoutFn(() => {
26
+ set(modelValue, false);
27
+ }, __props.timeout, { immediate: false });
25
28
  function dismiss() {
26
- if (get(timeout) < 0)
29
+ if (__props.timeout < 0)
27
30
  return;
28
- emit("update:model-value", false);
31
+ set(modelValue, false);
29
32
  }
30
33
  watchImmediate(modelValue, (display) => {
31
- if (!display)
34
+ if (!display) {
35
+ stop();
32
36
  return;
33
- const duration = get(timeout);
34
- if (duration > 0) {
35
- setTimeout(() => {
36
- emit("update:model-value", false);
37
- }, duration);
37
+ }
38
+ if (__props.timeout > 0) {
39
+ stop();
40
+ start();
38
41
  }
39
42
  });
40
43
  return (_ctx, _cache) => {
@@ -48,8 +51,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
51
  "leave-to-class": "opacity-0"
49
52
  }, {
50
53
  default: withCtx(() => [
51
- unref(modelValue) ? (openBlock(), createElementBlock("div", mergeProps({
54
+ modelValue.value ? (openBlock(), createElementBlock("div", mergeProps({
52
55
  key: 0,
56
+ role: "alert",
57
+ "aria-live": "polite",
53
58
  class: ["top-2 right-2 fixed drop-shadow-lg rounded-sm z-50", {
54
59
  "bg-white dark:bg-[#363636]": !__props.theme,
55
60
  "bg-white text-rui-light-text": __props.theme === "light",
@@ -1 +1 @@
1
- {"version":3,"file":"RuiNotification.vue.js","sources":["../../../../src/components/overlays/notification/RuiNotification.vue"],"sourcesContent":["<script lang='ts' setup>\nexport interface NotificationProps {\n modelValue: boolean;\n timeout: number;\n width?: number | string;\n theme?: 'light' | 'dark';\n}\n\ndefineOptions({\n name: 'RuiNotification',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(\n defineProps<NotificationProps>(),\n {\n width: 400,\n theme: undefined,\n },\n);\n\nconst emit = defineEmits<{\n (e: 'update:model-value', value: boolean): void;\n}>();\n\nconst { timeout, modelValue, width } = toRefs(props);\n\nconst style = computed(() => ({\n width: transformPropsUnit(get(width)),\n}));\n\nfunction dismiss() {\n if (get(timeout) < 0)\n return;\n\n emit('update:model-value', false);\n}\n\nwatchImmediate(modelValue, (display) => {\n if (!display)\n return;\n\n const duration = get(timeout);\n if (duration > 0) {\n setTimeout(() => {\n emit('update:model-value', false);\n }, duration);\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition\n enter-from-class=\"opacity-0\"\n enter-active-class=\"ease-out duration-150\"\n enter-to-class=\"opacity-100\"\n leave-from-class=\"opacity-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"modelValue\"\n class=\"top-2 right-2 fixed drop-shadow-lg rounded-sm z-50\"\n :class=\"{\n 'bg-white dark:bg-[#363636]': !theme,\n 'bg-white text-rui-light-text': theme === 'light',\n 'bg-[#363636] text-rui-dark-text': theme === 'dark',\n }\"\n :style=\"style\"\n v-bind=\"$attrs\"\n @click=\"dismiss()\"\n >\n <slot />\n </div>\n </Transition>\n </Teleport>\n</template>\n"],"names":["_createBlock","_Teleport","_createVNode","_Transition","_unref","_openBlock","_createElementBlock","_mergeProps","$attrs","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;AAaA,UAAM,QAAQ;AAQd,UAAM,OAAO;AAIb,UAAM,EAAE,SAAS,YAAY,MAAA,IAAU,OAAO,KAAK;AAEnD,UAAM,QAAQ,SAAS,OAAO;AAAA,MAC5B,OAAO,mBAAmB,IAAI,KAAK,CAAC;AAAA,IAAA,EACpC;AAEF,aAAS,UAAU;AACjB,UAAI,IAAI,OAAO,IAAI;AACjB;AAEF,WAAK,sBAAsB,KAAK;AAAA,IAClC;AAEA,mBAAe,YAAY,CAAC,YAAY;AACtC,UAAI,CAAC;AACH;AAEF,YAAM,WAAW,IAAI,OAAO;AAC5B,UAAI,WAAW,GAAG;AAChB,mBAAW,MAAM;AACf,eAAK,sBAAsB,KAAK;AAAA,QAClC,GAAG,QAAQ;AAAA,MACb;AAAA,IACF,CAAC;;0BAICA,YAwBWC,UAAA,EAxBD,IAAG,UAAM;AAAA,QACjBC,YAsBaC,YAAA;AAAA,UArBX,oBAAiB;AAAA,UACjB,sBAAmB;AAAA,UACnB,kBAAe;AAAA,UACf,oBAAiB;AAAA,UACjB,sBAAmB;AAAA,UACnB,kBAAe;AAAA,QAAA;2BAEf,MAaM;AAAA,YAZEC,MAAA,UAAA,KADRC,aAAAC,mBAaM,OAbNC,WAaM;AAAA;cAXJ,QAAM,sDAAoD;AAAA,+CACP,QAAA;AAAA,gDAAiD,QAAA,UAAK;AAAA,mDAA2D,QAAA,UAAK;AAAA,cAAA;cAKxK,OAAOH,MAAA,KAAA;AAAA,YAAA,GACAI,KAAAA,QAAM;AAAA,cACb,+CAAO,QAAA;AAAA,YAAO;cAEfC,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;;;;;;;"}
1
+ {"version":3,"file":"RuiNotification.vue.js","sources":["../../../../src/components/overlays/notification/RuiNotification.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTimeoutFn } from '@vueuse/core';\nimport { transformPropsUnit } from '@/utils/helpers';\n\nexport interface NotificationProps {\n timeout: number;\n width?: number | string;\n theme?: 'light' | 'dark';\n}\n\ndefineOptions({\n name: 'RuiNotification',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ required: true });\n\nconst { timeout, width = 400, theme } = defineProps<NotificationProps>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst style = computed<{ width: string | undefined }>(() => ({\n width: transformPropsUnit(width),\n}));\n\nconst { start, stop } = useTimeoutFn(() => {\n set(modelValue, false);\n}, timeout, { immediate: false });\n\nfunction dismiss(): void {\n if (timeout < 0)\n return;\n\n set(modelValue, false);\n}\n\nwatchImmediate(modelValue, (display) => {\n if (!display) {\n stop();\n return;\n }\n\n if (timeout > 0) {\n stop();\n start();\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition\n enter-from-class=\"opacity-0\"\n enter-active-class=\"ease-out duration-150\"\n enter-to-class=\"opacity-100\"\n leave-from-class=\"opacity-100\"\n leave-active-class=\"ease-in duration-100\"\n leave-to-class=\"opacity-0\"\n >\n <div\n v-if=\"modelValue\"\n role=\"alert\"\n aria-live=\"polite\"\n class=\"top-2 right-2 fixed drop-shadow-lg rounded-sm z-50\"\n :class=\"{\n 'bg-white dark:bg-[#363636]': !theme,\n 'bg-white text-rui-light-text': theme === 'light',\n 'bg-[#363636] text-rui-dark-text': theme === 'dark',\n }\"\n :style=\"style\"\n v-bind=\"$attrs\"\n @click=\"dismiss()\"\n >\n <slot />\n </div>\n </Transition>\n </Teleport>\n</template>\n"],"names":["_useModel","_createBlock","_Teleport","_createVNode","_Transition","_openBlock","_createElementBlock","_mergeProps","_unref","$attrs","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,UAAM,aAAaA,8BAAuC;AAQ1D,UAAM,QAAQ,SAAwC,OAAO;AAAA,MAC3D,OAAO,mBAAmB,QAAA,KAAK;AAAA,IAAA,EAC/B;AAEF,UAAM,EAAE,OAAO,KAAA,IAAS,aAAa,MAAM;AACzC,UAAI,YAAY,KAAK;AAAA,IACvB,GAAG,QAAA,SAAS,EAAE,WAAW,OAAO;AAEhC,aAAS,UAAgB;AACvB,UAAI,QAAA,UAAU;AACZ;AAEF,UAAI,YAAY,KAAK;AAAA,IACvB;AAEA,mBAAe,YAAY,CAAC,YAAY;AACtC,UAAI,CAAC,SAAS;AACZ,aAAA;AACA;AAAA,MACF;AAEA,UAAI,QAAA,UAAU,GAAG;AACf,aAAA;AACA,cAAA;AAAA,MACF;AAAA,IACF,CAAC;;0BAICC,YA0BWC,UAAA,EA1BD,IAAG,UAAM;AAAA,QACjBC,YAwBaC,YAAA;AAAA,UAvBX,oBAAiB;AAAA,UACjB,sBAAmB;AAAA,UACnB,kBAAe;AAAA,UACf,oBAAiB;AAAA,UACjB,sBAAmB;AAAA,UACnB,kBAAe;AAAA,QAAA;2BAEf,MAeM;AAAA,YAdE,WAAA,SADRC,UAAA,GAAAC,mBAeM,OAfNC,WAeM;AAAA;cAbJ,MAAK;AAAA,cACL,aAAU;AAAA,cACV,QAAM,sDAAoD;AAAA,+CACP,QAAA;AAAA,gDAAiD,QAAA,UAAK;AAAA,mDAA2D,QAAA,UAAK;AAAA,cAAA;cAKxK,OAAOC,MAAA,KAAA;AAAA,YAAA,GACAC,KAAAA,QAAM;AAAA,cACb,+CAAO,QAAA;AAAA,YAAO;cAEfC,WAAQ,KAAA,QAAA,SAAA;AAAA,YAAA;;;;;;;;"}
@@ -9,28 +9,17 @@ export interface Props {
9
9
  popper?: PopperOptions;
10
10
  tooltipClass?: string;
11
11
  }
12
- declare var __VLS_1: {
13
- open: boolean;
14
- close: (immediate?: boolean) => void;
15
- }, __VLS_18: {};
16
- type __VLS_Slots = {} & {
17
- activator?: (props: typeof __VLS_1) => any;
18
- } & {
19
- default?: (props: typeof __VLS_18) => any;
12
+ type __VLS_Slots = {
13
+ activator?: (props: {
14
+ open: boolean;
15
+ close: () => void;
16
+ }) => any;
17
+ default?: () => any;
20
18
  };
21
19
  declare const __VLS_base: import("vue").DefineComponent<Props, {
22
20
  onOpen: (immediate?: boolean) => void;
23
21
  onClose: (immediate?: boolean) => void;
24
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
25
- popper: PopperOptions;
26
- text: string | null;
27
- disabled: boolean;
28
- openDelay: number;
29
- closeDelay: number;
30
- hideArrow: boolean;
31
- persistOnTooltipHover: boolean;
32
- tooltipClass: string;
33
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
35
24
  declare const _default: typeof __VLS_export;
36
25
  export default _default;
@@ -1,6 +1,7 @@
1
- import { defineComponent, toRefs, createElementBlock, openBlock, unref, normalizeClass, renderSlot, createBlock, createCommentVNode, Teleport, createVNode, TransitionGroup, withCtx, createTextVNode, toDisplayString } from "vue";
1
+ import { defineComponent, useId, toRef, openBlock, createElementBlock, unref, normalizeClass, renderSlot, createBlock, Teleport, createVNode, TransitionGroup, withCtx, createTextVNode, toDisplayString, createCommentVNode } from "vue";
2
2
  import { usePopper } from "../../../composables/popper.js";
3
- const _hoisted_1 = ["data-tooltip-disabled"];
3
+ const _hoisted_1 = ["data-tooltip-disabled", "aria-describedby"];
4
+ const _hoisted_2 = ["id"];
4
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
5
6
  ...{
6
7
  name: "RuiTooltip"
@@ -17,8 +18,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
18
  tooltipClass: { default: "" }
18
19
  },
19
20
  setup(__props, { expose: __expose }) {
20
- const props = __props;
21
- const { closeDelay, openDelay, popper, disabled } = toRefs(props);
21
+ const tooltipId = useId();
22
22
  const {
23
23
  reference: activator,
24
24
  popper: tooltip,
@@ -28,7 +28,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
28
28
  onClose,
29
29
  onPopperLeave,
30
30
  updatePopper
31
- } = usePopper(popper, disabled, openDelay, closeDelay);
31
+ } = usePopper(
32
+ toRef(() => __props.popper),
33
+ toRef(() => __props.disabled),
34
+ toRef(() => __props.openDelay),
35
+ toRef(() => __props.closeDelay)
36
+ );
32
37
  __expose({
33
38
  onOpen,
34
39
  onClose
@@ -38,7 +43,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
38
43
  ref_key: "activator",
39
44
  ref: activator,
40
45
  class: normalizeClass(_ctx.$style.wrapper),
41
- "data-tooltip-disabled": unref(disabled),
46
+ "data-tooltip-disabled": __props.disabled,
47
+ "aria-describedby": !__props.disabled && unref(open) ? unref(tooltipId) : void 0,
42
48
  onMouseover: _cache[4] || (_cache[4] = ($event) => unref(onOpen)()),
43
49
  onMouseleave: _cache[5] || (_cache[5] = ($event) => unref(onClose)()),
44
50
  onFocusin: _cache[6] || (_cache[6] = ($event) => unref(onOpen)()),
@@ -48,18 +54,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
48
54
  open: unref(open),
49
55
  close: unref(onClose)
50
56
  }),
51
- !unref(disabled) ? (openBlock(), createBlock(Teleport, {
57
+ !__props.disabled ? (openBlock(), createBlock(Teleport, {
52
58
  key: 0,
53
59
  to: "body"
54
60
  }, [
55
61
  unref(popperEnter) ? (openBlock(), createElementBlock("div", {
56
62
  key: 0,
63
+ id: unref(tooltipId),
57
64
  ref_key: "tooltip",
58
65
  ref: tooltip,
59
66
  class: normalizeClass([
60
67
  _ctx.$style.tooltip,
61
68
  __props.tooltipClass,
62
- _ctx.$style[`tooltip__${unref(popper)?.strategy ?? "absolute"}`]
69
+ _ctx.$style[`tooltip__${__props.popper?.strategy ?? "absolute"}`]
63
70
  ]),
64
71
  role: "tooltip"
65
72
  }, [
@@ -93,7 +100,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
93
100
  ]),
94
101
  _: 3
95
102
  })
96
- ], 2)) : createCommentVNode("", true)
103
+ ], 10, _hoisted_2)) : createCommentVNode("", true)
97
104
  ])) : createCommentVNode("", true)
98
105
  ], 42, _hoisted_1);
99
106
  };
@@ -1 +1 @@
1
- {"version":3,"file":"RuiTooltip.vue2.js","sources":["../../../../src/components/overlays/tooltip/RuiTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { type PopperOptions, usePopper } from '@/composables/popper';\n\nexport interface Props {\n text?: string | null;\n disabled?: boolean;\n hideArrow?: boolean;\n openDelay?: number;\n closeDelay?: number;\n persistOnTooltipHover?: boolean;\n popper?: PopperOptions;\n tooltipClass?: string;\n}\n\ndefineOptions({\n name: 'RuiTooltip',\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n text: null,\n disabled: false,\n hideArrow: false,\n openDelay: 0,\n closeDelay: 500,\n persistOnTooltipHover: false,\n popper: () => ({}),\n tooltipClass: '',\n});\n\nconst { closeDelay, openDelay, popper, disabled } = toRefs(props);\n\nconst {\n reference: activator,\n popper: tooltip,\n open,\n popperEnter,\n onOpen,\n onClose,\n onPopperLeave,\n updatePopper,\n} = usePopper(popper, disabled, openDelay, closeDelay);\n\ndefineExpose({\n onOpen,\n onClose,\n});\n</script>\n\n<template>\n <div\n ref=\"activator\"\n :class=\"$style.wrapper\"\n :data-tooltip-disabled=\"disabled\"\n @mouseover=\"onOpen()\"\n @mouseleave=\"onClose()\"\n @focusin=\"onOpen()\"\n @focusout=\"onClose()\"\n >\n <slot\n name=\"activator\"\n :open=\"open\"\n :close=\"onClose\"\n />\n\n <Teleport\n v-if=\"!disabled\"\n to=\"body\"\n >\n <div\n v-if=\"popperEnter\"\n ref=\"tooltip\"\n :class=\"[\n $style.tooltip,\n tooltipClass,\n $style[`tooltip__${popper?.strategy ?? 'absolute'}`],\n ]\"\n role=\"tooltip\"\n >\n <TransitionGroup\n enter-active-class=\"transition ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-1\"\n enter-to-class=\"opacity-100 translate-y-0\"\n leave-active-class=\"transition ease-in duration-150\"\n leave-from-class=\"opacity-100 translate-y-0\"\n leave-to-class=\"opacity-0 translate-y-1\"\n @before-enter=\"updatePopper()\"\n @after-leave=\"onPopperLeave()\"\n >\n <div\n v-if=\"open\"\n key=\"tooltip\"\n :class=\"$style.base\"\n role=\"tooltip-content\"\n @mouseover=\"persistOnTooltipHover && onOpen()\"\n @mouseleave=\"persistOnTooltipHover && onClose()\"\n >\n <slot>\n {{ text }}\n </slot>\n </div>\n <span\n v-if=\"!hideArrow\"\n :class=\"[$style.arrow, { [$style.arrow__open ?? '']: open }]\"\n data-popper-arrow\n />\n </TransitionGroup>\n </div>\n </Teleport>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n$arrowSize: 0.625rem;\n.wrapper {\n @apply relative inline-flex;\n}\n\n.tooltip {\n @apply w-max transform transition-opacity delay-0 z-[9999];\n\n &__fixed {\n @apply fixed;\n }\n\n &__absolute {\n @apply absolute;\n }\n\n .base {\n @apply px-2 py-1 text-xs font-normal;\n @apply bg-rui-grey-700/90 text-white rounded shadow;\n }\n\n .arrow {\n @apply w-2.5 h-2.5 transition-opacity opacity-0;\n\n &__open {\n @apply opacity-100;\n }\n\n &::before {\n @apply block border-[0.3125rem] origin-center;\n @apply border-l-transparent border-b-transparent border-t-rui-grey-700/90 border-r-rui-grey-700/90;\n\n content: '';\n border-radius: 0 0.125rem 0 0;\n }\n }\n\n &[data-popper-placement*='bottom'] .arrow {\n top: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply -rotate-45;\n }\n }\n\n &[data-popper-placement*='top'] .arrow {\n bottom: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply rotate-[135deg];\n }\n }\n\n &[data-popper-placement*='left'] .arrow {\n right: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply rotate-45;\n }\n }\n\n &[data-popper-placement*='right'] .arrow {\n left: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply -rotate-[135deg];\n }\n }\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_unref","_renderSlot","_createBlock","_Teleport","_createVNode","_TransitionGroup"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBA,UAAM,QAAQ;AAWd,UAAM,EAAE,YAAY,WAAW,QAAQ,SAAA,IAAa,OAAO,KAAK;AAEhE,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACE,UAAU,QAAQ,UAAU,WAAW,UAAU;AAErD,aAAa;AAAA,MACX;AAAA,MACA;AAAA,IAAA,CACD;;0BAICA,mBA2DM,OAAA;AAAA,iBA1DA;AAAA,QAAJ,KAAI;AAAA,QACH,OAAKC,eAAEC,KAAAA,OAAO,OAAO;AAAA,QACrB,yBAAuBC,MAAA,QAAA;AAAA,QACvB,mDAAWA,MAAA,MAAA;QACX,oDAAYA,MAAA,OAAA;QACZ,iDAASA,MAAA,MAAA;QACT,kDAAUA,MAAA,OAAA,EAAA;AAAA,MAAO;QAElBC,WAIE,KAAA,QAAA,aAAA;AAAA,UAFC,MAAMD,MAAA,IAAA;AAAA,UACN,OAAOA,MAAA,OAAA;AAAA,QAAA;SAIDA,MAAA,QAAA,kBADTE,YA2CWC,UAAA;AAAA;UAzCT,IAAG;AAAA,QAAA;UAGKH,MAAA,WAAA,kBADRH,mBAsCM,OAAA;AAAA;qBApCA;AAAA,YAAJ,KAAI;AAAA,YACH,OAAKC,eAAA;AAAA,cAAcC,KAAAA,OAAO;AAAA,cAAmB,QAAA;AAAA,cAAwBA,KAAAA,OAAM,YAAaC,MAAA,MAAA,GAAQ,YAAQ,UAAA,EAAA;AAAA,YAAA;YAKzG,MAAK;AAAA,UAAA;YAELI,YA2BkBC,iBAAA;AAAA,cA1BhB,sBAAmB;AAAA,cACnB,oBAAiB;AAAA,cACjB,kBAAe;AAAA,cACf,sBAAmB;AAAA,cACnB,oBAAiB;AAAA,cACjB,kBAAe;AAAA,cACd,qDAAcL,MAAA,YAAA;cACd,oDAAaA,MAAA,aAAA,EAAA;AAAA,YAAa;+BAE3B,MAWM;AAAA,gBAVEA,MAAA,IAAA,kBADRH,mBAWM,OAAA;AAAA,kBATJ,KAAI;AAAA,kBACH,OAAKC,eAAEC,KAAAA,OAAO,IAAI;AAAA,kBACnB,MAAK;AAAA,kBACJ,aAAS,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,QAAA,yBAAyBC,MAAA,MAAA,EAAA;AAAA,kBACpC,cAAU,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,QAAA,yBAAyBA,MAAA,OAAA,EAAA;AAAA,gBAAO;kBAE7CC,WAEO,4BAFP,MAEO;AAAA,oDADF,QAAA,IAAI,GAAA,CAAA;AAAA,kBAAA;;iBAIF,QAAA,0BADTJ,mBAIE,QAAA;AAAA;kBAFC,OAAKC,eAAA,CAAGC,YAAO,UAAUA,KAAAA,OAAO,eAAW,EAAA,GAASC,MAAA,IAAA,EAAA,CAAI,CAAA;AAAA,kBACzD,qBAAA;AAAA,gBAAA;;;;;;;;;;"}
1
+ {"version":3,"file":"RuiTooltip.vue2.js","sources":["../../../../src/components/overlays/tooltip/RuiTooltip.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { type PopperOptions, usePopper } from '@/composables/popper';\n\nexport interface Props {\n text?: string | null;\n disabled?: boolean;\n hideArrow?: boolean;\n openDelay?: number;\n closeDelay?: number;\n persistOnTooltipHover?: boolean;\n popper?: PopperOptions;\n tooltipClass?: string;\n}\n\ndefineOptions({\n name: 'RuiTooltip',\n});\n\nconst {\n text = null,\n disabled = false,\n hideArrow = false,\n openDelay = 0,\n closeDelay = 500,\n persistOnTooltipHover = false,\n popper = {},\n tooltipClass = '',\n} = defineProps<Props>();\n\ndefineSlots<{\n activator?: (props: { open: boolean; close: () => void }) => any;\n default?: () => any;\n}>();\n\nconst tooltipId = useId();\n\nconst {\n reference: activator,\n popper: tooltip,\n open,\n popperEnter,\n onOpen,\n onClose,\n onPopperLeave,\n updatePopper,\n} = usePopper(\n toRef(() => popper),\n toRef(() => disabled),\n toRef(() => openDelay),\n toRef(() => closeDelay),\n);\n\ndefineExpose({\n onOpen,\n onClose,\n});\n</script>\n\n<template>\n <div\n ref=\"activator\"\n :class=\"$style.wrapper\"\n :data-tooltip-disabled=\"disabled\"\n :aria-describedby=\"!disabled && open ? tooltipId : undefined\"\n @mouseover=\"onOpen()\"\n @mouseleave=\"onClose()\"\n @focusin=\"onOpen()\"\n @focusout=\"onClose()\"\n >\n <slot\n name=\"activator\"\n :open=\"open\"\n :close=\"onClose\"\n />\n\n <Teleport\n v-if=\"!disabled\"\n to=\"body\"\n >\n <div\n v-if=\"popperEnter\"\n :id=\"tooltipId\"\n ref=\"tooltip\"\n :class=\"[\n $style.tooltip,\n tooltipClass,\n $style[`tooltip__${popper?.strategy ?? 'absolute'}`],\n ]\"\n role=\"tooltip\"\n >\n <TransitionGroup\n enter-active-class=\"transition ease-out duration-200\"\n enter-from-class=\"opacity-0 translate-y-1\"\n enter-to-class=\"opacity-100 translate-y-0\"\n leave-active-class=\"transition ease-in duration-150\"\n leave-from-class=\"opacity-100 translate-y-0\"\n leave-to-class=\"opacity-0 translate-y-1\"\n @before-enter=\"updatePopper()\"\n @after-leave=\"onPopperLeave()\"\n >\n <div\n v-if=\"open\"\n key=\"tooltip\"\n :class=\"$style.base\"\n role=\"tooltip-content\"\n @mouseover=\"persistOnTooltipHover && onOpen()\"\n @mouseleave=\"persistOnTooltipHover && onClose()\"\n >\n <slot>\n {{ text }}\n </slot>\n </div>\n <span\n v-if=\"!hideArrow\"\n :class=\"[$style.arrow, { [$style.arrow__open ?? '']: open }]\"\n data-popper-arrow\n />\n </TransitionGroup>\n </div>\n </Teleport>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n$arrowSize: 0.625rem;\n.wrapper {\n @apply relative inline-flex;\n}\n\n.tooltip {\n @apply w-max transform transition-opacity delay-0 z-[9999];\n\n &__fixed {\n @apply fixed;\n }\n\n &__absolute {\n @apply absolute;\n }\n\n .base {\n @apply px-2 py-1 text-xs font-normal;\n @apply bg-rui-grey-700/90 text-white rounded shadow;\n }\n\n .arrow {\n @apply w-2.5 h-2.5 transition-opacity opacity-0;\n\n &__open {\n @apply opacity-100;\n }\n\n &::before {\n @apply block border-[0.3125rem] origin-center;\n @apply border-l-transparent border-b-transparent border-t-rui-grey-700/90 border-r-rui-grey-700/90;\n\n content: '';\n border-radius: 0 0.125rem 0 0;\n }\n }\n\n &[data-popper-placement*='bottom'] .arrow {\n top: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply -rotate-45;\n }\n }\n\n &[data-popper-placement*='top'] .arrow {\n bottom: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply rotate-[135deg];\n }\n }\n\n &[data-popper-placement*='left'] .arrow {\n right: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply rotate-45;\n }\n }\n\n &[data-popper-placement*='right'] .arrow {\n left: calc(0.5px - #{$arrowSize} / 2);\n\n &::before {\n @apply -rotate-[135deg];\n }\n }\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_unref","_renderSlot","_createBlock","_Teleport","_createVNode","_TransitionGroup"],"mappings":";;;;;;;;;;;;;;;;;;;;AAkCA,UAAM,YAAY,MAAA;AAElB,UAAM;AAAA,MACJ,WAAW;AAAA,MACX,QAAQ;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA,IACE;AAAA,MACF,MAAM,MAAM,cAAM;AAAA,MAClB,MAAM,MAAM,gBAAQ;AAAA,MACpB,MAAM,MAAM,iBAAS;AAAA,MACrB,MAAM,MAAM,kBAAU;AAAA,IAAA;AAGxB,aAAa;AAAA,MACX;AAAA,MACA;AAAA,IAAA,CACD;;0BAICA,mBA6DM,OAAA;AAAA,iBA5DA;AAAA,QAAJ,KAAI;AAAA,QACH,OAAKC,eAAEC,KAAAA,OAAO,OAAO;AAAA,QACrB,yBAAuB,QAAA;AAAA,QACvB,qBAAmB,QAAA,YAAYC,cAAOA,MAAA,SAAA,IAAY;AAAA,QAClD,mDAAWA,MAAA,MAAA;QACX,oDAAYA,MAAA,OAAA;QACZ,iDAASA,MAAA,MAAA;QACT,kDAAUA,MAAA,OAAA,EAAA;AAAA,MAAO;QAElBC,WAIE,KAAA,QAAA,aAAA;AAAA,UAFC,MAAMD,MAAA,IAAA;AAAA,UACN,OAAOA,MAAA,OAAA;AAAA,QAAA;SAID,QAAA,yBADTE,YA4CWC,UAAA;AAAA;UA1CT,IAAG;AAAA,QAAA;UAGKH,MAAA,WAAA,kBADRH,mBAuCM,OAAA;AAAA;YArCH,IAAIG,MAAA,SAAA;AAAA,qBACD;AAAA,YAAJ,KAAI;AAAA,YACH,OAAKF,eAAA;AAAA,cAAcC,KAAAA,OAAO;AAAA,cAAmB,QAAA;AAAA,cAAwBA,KAAAA,OAAM,YAAa,QAAA,QAAQ,YAAQ,UAAA,EAAA;AAAA,YAAA;YAKzG,MAAK;AAAA,UAAA;YAELK,YA2BkBC,iBAAA;AAAA,cA1BhB,sBAAmB;AAAA,cACnB,oBAAiB;AAAA,cACjB,kBAAe;AAAA,cACf,sBAAmB;AAAA,cACnB,oBAAiB;AAAA,cACjB,kBAAe;AAAA,cACd,qDAAcL,MAAA,YAAA;cACd,oDAAaA,MAAA,aAAA,EAAA;AAAA,YAAa;+BAE3B,MAWM;AAAA,gBAVEA,MAAA,IAAA,kBADRH,mBAWM,OAAA;AAAA,kBATJ,KAAI;AAAA,kBACH,OAAKC,eAAEC,KAAAA,OAAO,IAAI;AAAA,kBACnB,MAAK;AAAA,kBACJ,aAAS,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,QAAA,yBAAyBC,MAAA,MAAA,EAAA;AAAA,kBACpC,cAAU,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,QAAA,yBAAyBA,MAAA,OAAA,EAAA;AAAA,gBAAO;kBAE7CC,WAEO,4BAFP,MAEO;AAAA,oDADF,QAAA,IAAI,GAAA,CAAA;AAAA,kBAAA;;iBAIF,QAAA,0BADTJ,mBAIE,QAAA;AAAA;kBAFC,OAAKC,eAAA,CAAGC,YAAO,UAAUA,KAAAA,OAAO,eAAW,EAAA,GAASC,MAAA,IAAA,EAAA,CAAI,CAAA;AAAA,kBACzD,qBAAA;AAAA,gBAAA;;;;;;;;;;"}
@@ -23,15 +23,13 @@ export interface Props {
23
23
  */
24
24
  size?: number | string;
25
25
  }
26
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
27
- size: number | string;
28
- value: number;
29
- color: ContextColorsType | "inherit";
30
- bufferValue: number;
31
- variant: "determinate" | "indeterminate" | "buffer";
32
- circular: boolean;
33
- showLabel: boolean;
34
- thickness: number | string;
35
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ type __VLS_Slots = Record<string, never>;
27
+ 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>;
28
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
29
  declare const _default: typeof __VLS_export;
37
30
  export default _default;
31
+ type __VLS_WithSlots<T, S> = T & {
32
+ new (): {
33
+ $slots: S;
34
+ };
35
+ };
@@ -1,4 +1,4 @@
1
- import { defineComponent, useCssVars, unref, computed, toRefs, createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, Fragment, toDisplayString } from "vue";
1
+ import { defineComponent, useCssVars, unref, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, createCommentVNode, toDisplayString } from "vue";
2
2
  import { get } from "@vueuse/shared";
3
3
  const _hoisted_1 = ["aria-valuenow"];
4
4
  const _hoisted_2 = ["viewBox"];
@@ -20,47 +20,41 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  },
21
21
  setup(__props) {
22
22
  useCssVars((_ctx) => ({
23
- "v38079bd6": unref(size),
24
- "v4c7558bf": unref(thickness),
25
- "v303b3069": unref(valuePercent),
26
- "v60cde3b0": unref(bufferPercent),
27
- "v028a8b82": unref(progress)
23
+ "v52616a25": _ctx.size,
24
+ "v6249b860": _ctx.thickness,
25
+ "v97f58090": unref(valuePercent),
26
+ "v5645be41": unref(bufferPercent),
27
+ "b8b2cb5e": unref(progress)
28
28
  }));
29
- const props = __props;
30
- const { variant, value, bufferValue, thickness, size } = toRefs(props);
31
- const currentValue = computed(
32
- () => Math.max(0, Math.min(get(value) ?? 100, 100))
33
- );
29
+ const currentValue = computed(() => Math.max(0, Math.min(__props.value ?? 100, 100)));
34
30
  const label = computed(() => `${Math.floor(get(currentValue))}%`);
35
31
  const progress = computed(() => -100 + get(currentValue));
36
32
  const valuePercent = computed(() => `${get(progress)}%`);
37
33
  const bufferPercent = computed(
38
- () => `${-100 + Math.max(0, Math.min(get(bufferValue) ?? 100, 100))}%`
39
- );
40
- const circularScaledThickness = computed(
41
- () => +get(thickness) * 32 / +get(size)
34
+ () => `${-100 + Math.max(0, Math.min(__props.bufferValue ?? 100, 100))}%`
42
35
  );
36
+ const circularScaledThickness = computed(() => +__props.thickness * 32 / +__props.size);
43
37
  const circularViewSize = computed(() => 40 + get(circularScaledThickness));
44
38
  return (_ctx, _cache) => {
45
39
  return openBlock(), createElementBlock("div", {
46
40
  class: normalizeClass([
47
41
  _ctx.$style.wrapper,
48
42
  __props.circular ? "inline-flex" : "w-full",
49
- { [_ctx.$style["has-label"]]: __props.showLabel && unref(variant) !== "indeterminate" }
43
+ { [_ctx.$style["has-label"]]: __props.showLabel && __props.variant !== "indeterminate" }
50
44
  ])
51
45
  }, [
52
46
  createElementVNode("div", {
53
- "aria-valuenow": unref(value),
47
+ "aria-valuenow": __props.value,
54
48
  class: normalizeClass([
55
- __props.circular && unref(variant) !== "buffer" ? _ctx.$style.circular : _ctx.$style.progress,
56
- _ctx.$style[unref(variant) ?? ""],
49
+ __props.circular && __props.variant !== "buffer" ? _ctx.$style.circular : _ctx.$style.progress,
50
+ _ctx.$style[__props.variant ?? ""],
57
51
  _ctx.$style[__props.color ?? ""]
58
52
  ]),
59
53
  "aria-valuemax": "100",
60
54
  "aria-valuemin": "0",
61
55
  role: "progressbar"
62
56
  }, [
63
- __props.circular && unref(variant) !== "buffer" ? (openBlock(), createElementBlock("svg", {
57
+ __props.circular && __props.variant !== "buffer" ? (openBlock(), createElementBlock("svg", {
64
58
  key: 0,
65
59
  viewBox: `0 0 ${unref(circularViewSize)} ${unref(circularViewSize)}`
66
60
  }, [
@@ -72,19 +66,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
72
66
  "stroke-width": unref(circularScaledThickness)
73
67
  }, null, 8, _hoisted_3)
74
68
  ], 8, _hoisted_2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
75
- unref(variant) === "buffer" ? (openBlock(), createElementBlock("div", {
69
+ __props.variant === "buffer" ? (openBlock(), createElementBlock("div", {
76
70
  key: 0,
77
71
  class: normalizeClass(_ctx.$style["buffer-dots"])
78
72
  }, null, 2)) : createCommentVNode("", true),
79
73
  createElementVNode("div", {
80
- class: normalizeClass([_ctx.$style.rail, { [_ctx.$style["buffer-rail"]]: unref(variant) === "buffer" }])
74
+ class: normalizeClass([_ctx.$style.rail, { [_ctx.$style["buffer-rail"]]: __props.variant === "buffer" }])
81
75
  }, null, 2),
82
76
  createElementVNode("div", {
83
- class: normalizeClass(_ctx.$style[unref(variant) ?? ""])
77
+ class: normalizeClass(_ctx.$style[__props.variant ?? ""])
84
78
  }, null, 2)
85
79
  ], 64))
86
80
  ], 10, _hoisted_1),
87
- __props.showLabel && unref(variant) !== "indeterminate" ? (openBlock(), createElementBlock("div", {
81
+ __props.showLabel && __props.variant !== "indeterminate" ? (openBlock(), createElementBlock("div", {
88
82
  key: 0,
89
83
  class: normalizeClass(_ctx.$style.label)
90
84
  }, toDisplayString(unref(label)), 3)) : createCommentVNode("", true)
@@ -1 +1 @@
1
- {"version":3,"file":"RuiProgress.vue2.js","sources":["../../../src/components/progress/RuiProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\n\nexport interface Props {\n /**\n * in percentage value, required when variant === determinate or buffer\n * @example - 0 <= value <= 100\n */\n value?: number;\n /**\n * in percentage value, required when variant === buffer\n * @example - 0 <= value <= 100\n */\n bufferValue?: number;\n variant?: 'determinate' | 'indeterminate' | 'buffer';\n color?: ContextColorsType | 'inherit';\n circular?: boolean;\n showLabel?: boolean;\n /**\n * Sets the stroke thickness in pixels\n */\n thickness?: number | string;\n /**\n * only used for circular progress\n */\n size?: number | string;\n}\n\ndefineOptions({\n name: 'RuiProgress',\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n value: 0,\n bufferValue: 0,\n variant: 'determinate',\n color: 'inherit',\n circular: false,\n showLabel: false,\n thickness: 4,\n size: 32,\n});\n\nconst { variant, value, bufferValue, thickness, size } = toRefs(props);\n\nconst currentValue = computed(() =>\n Math.max(0, Math.min(get(value) ?? 100, 100)),\n);\n\nconst label = computed(() => `${Math.floor(get(currentValue))}%`);\n\nconst progress = computed(() => -100 + get(currentValue));\n\nconst valuePercent = computed(() => `${get(progress)}%`);\n\nconst bufferPercent = computed(\n () => `${-100 + Math.max(0, Math.min(get(bufferValue) ?? 100, 100))}%`,\n);\n\nconst circularScaledThickness = computed(\n () => (+get(thickness) * 32) / +get(size),\n);\n\nconst circularViewSize = computed(() => 40 + get(circularScaledThickness));\n</script>\n\n<template>\n <div\n :class=\"[\n $style.wrapper,\n circular ? 'inline-flex' : 'w-full',\n { [$style['has-label']]: showLabel && variant !== 'indeterminate' },\n ]\"\n >\n <div\n :aria-valuenow=\"value\"\n :class=\"[\n circular && variant !== 'buffer' ? $style.circular : $style.progress,\n $style[variant ?? ''],\n $style[color ?? ''],\n ]\"\n aria-valuemax=\"100\"\n aria-valuemin=\"0\"\n role=\"progressbar\"\n >\n <svg\n v-if=\"circular && variant !== 'buffer'\"\n :viewBox=\"`0 0 ${circularViewSize} ${circularViewSize}`\"\n >\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n r=\"20\"\n :stroke-width=\"circularScaledThickness\"\n />\n </svg>\n <template v-else>\n <div\n v-if=\"variant === 'buffer'\"\n :class=\"$style['buffer-dots']\"\n />\n <div\n :class=\"[$style.rail, { [$style['buffer-rail']]: variant === 'buffer' }]\"\n />\n <div :class=\"$style[variant ?? '']\" />\n </template>\n </div>\n <div\n v-if=\"showLabel && variant !== 'indeterminate'\"\n :class=\"$style.label\"\n >\n {{ label }}\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n$colors: 'primary', 'secondary';\n\n.wrapper {\n &.has-label {\n @apply inline-flex items-center relative;\n\n .label {\n @apply block text-sm ml-4;\n }\n\n .circular ~ .label {\n @apply absolute flex items-center justify-center text-[0.625rem] ml-0;\n width: calc(v-bind(size) * 1px);\n height: calc(v-bind(size) * 1px);\n }\n }\n\n .progress {\n @apply w-full overflow-hidden relative;\n height: calc(v-bind(thickness) * 1px);\n\n .rail {\n @apply w-full h-full;\n }\n\n .determinate,\n .buffer {\n @apply transition-all duration-150 ease-in-out absolute left-0 top-0 h-full w-full;\n transform: translateX(v-bind(valuePercent));\n }\n\n .indeterminate {\n @apply absolute left-0 top-0 h-full w-auto transition-transform duration-200 ease-linear delay-0 origin-left;\n animation: 1.6s cubic-bezier(0.65, 0.815, 0.735, 0.395) 0s infinite normal none running slide-rail;\n }\n\n .buffer-dots {\n @apply absolute h-0 w-[200%] -top-px -left-[100%] border-dashed border-y-[0.2rem];\n animation: 3s ease-in-out 3s infinite normal none running buffer-pulse;\n }\n\n .buffer-rail {\n @apply w-full transition-transform duration-200 ease-linear delay-0 origin-left;\n transform: translateX(v-bind(bufferPercent));\n }\n\n @each $color in $colors {\n &.#{$color} {\n .rail {\n @apply bg-rui-#{$color}/20;\n }\n\n .determinate,\n .indeterminate,\n .buffer {\n @apply bg-rui-#{$color};\n }\n\n .buffer-dots {\n @apply border-rui-#{$color}/20;\n }\n }\n }\n\n &.inherit {\n .rail {\n @apply bg-current opacity-20;\n }\n\n .determinate,\n .indeterminate,\n .buffer {\n @apply bg-current;\n }\n\n .buffer-dots {\n @apply border-current opacity-20;\n }\n }\n }\n\n .circular {\n @apply inline-block;\n width: calc(v-bind(size) * 1px);\n height: calc(v-bind(size) * 1px);\n\n @each $color in $colors {\n &.#{$color} {\n @apply text-rui-#{$color};\n }\n }\n\n &.indeterminate {\n @apply animate-[spin_1.4s_linear_infinite];\n\n svg {\n circle {\n stroke-dasharray: 80px, 200px;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n -webkit-animation: collapse-stroke 1.4s ease-in-out infinite;\n animation: collapse-stroke 1.4s ease-in-out infinite;\n }\n }\n }\n\n &.determinate {\n @apply -rotate-90;\n\n svg {\n circle {\n stroke-dasharray: 126.92;\n stroke-dashoffset: calc(v-bind(progress) / 100 * -126.92);\n -webkit-transition: stroke-dashoffset 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: stroke-dashoffset 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n }\n\n &.inherit {\n @apply text-current;\n }\n\n svg {\n @apply block;\n\n circle {\n stroke: currentColor;\n }\n }\n }\n}\n\n:global(.dark) {\n .wrapper {\n &.has-label {\n .label {\n @apply text-white;\n }\n }\n }\n}\n\n@-webkit-keyframes buffer-pulse {\n 0% {\n opacity: 0.2;\n left: -100%;\n }\n 50% {\n opacity: 1.5;\n left: -100%;\n }\n 60% {\n opacity: 0.4;\n left: -75%;\n }\n 100% {\n opacity: 0.2;\n left: -100%;\n }\n}\n\n@keyframes buffer-pulse {\n 0% {\n opacity: 0.2;\n left: -100%;\n }\n 50% {\n opacity: 1.5;\n left: -100%;\n }\n 60% {\n opacity: 0.4;\n left: -75%;\n }\n 100% {\n opacity: 0.2;\n left: -100%;\n }\n}\n\n@-webkit-keyframes slide-rail {\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes slide-rail {\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@-webkit-keyframes collapse-stroke {\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n}\n\n@keyframes collapse-stroke {\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_unref","_createElementVNode","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,UAAM,QAAQ;AAWd,UAAM,EAAE,SAAS,OAAO,aAAa,WAAW,KAAA,IAAS,OAAO,KAAK;AAErE,UAAM,eAAe;AAAA,MAAS,MAC5B,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,IAAA;AAG9C,UAAM,QAAQ,SAAS,MAAM,GAAG,KAAK,MAAM,IAAI,YAAY,CAAC,CAAC,GAAG;AAEhE,UAAM,WAAW,SAAS,MAAM,OAAO,IAAI,YAAY,CAAC;AAExD,UAAM,eAAe,SAAS,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG;AAEvD,UAAM,gBAAgB;AAAA,MACpB,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,IAAI,WAAW,KAAK,KAAK,GAAG,CAAC,CAAC;AAAA,IAAA;AAGrE,UAAM,0BAA0B;AAAA,MAC9B,MAAO,CAAC,IAAI,SAAS,IAAI,KAAM,CAAC,IAAI,IAAI;AAAA,IAAA;AAG1C,UAAM,mBAAmB,SAAS,MAAM,KAAK,IAAI,uBAAuB,CAAC;;0BAIvEA,mBA+CM,OAAA;AAAA,QA9CH,OAAKC,eAAA;AAAA,UAAUC,KAAAA,OAAO;AAAA,UAAe,QAAA,WAAQ,gBAAA;AAAA,aAAsCA,KAAAA,OAAM,WAAA,CAAA,GAAgB,QAAA,aAAaC,MAAA,OAAA,MAAO,gBAAA;AAAA,QAAA;;QAM9HC,mBAiCM,OAAA;AAAA,UAhCH,iBAAeD,MAAA,KAAA;AAAA,UACf,OAAKF,eAAA;AAAA,YAAY,QAAA,YAAYE,mBAAO,WAAgBD,KAAAA,OAAO,WAAWA,KAAAA,OAAO;AAAA,YAAkBA,KAAAA,OAAOC,MAAA,OAAA,KAAO,EAAA;AAAA,YAAiBD,KAAAA,OAAO,QAAA,SAAK,EAAA;AAAA,UAAA;UAK3I,iBAAc;AAAA,UACd,iBAAc;AAAA,UACd,MAAK;AAAA,QAAA;UAGG,QAAA,YAAYC,MAAA,OAAA,MAAO,yBAD3BH,mBAWM,OAAA;AAAA;YATH,SAAO,OAASG,MAAA,gBAAA,CAAgB,IAAIA,MAAA,gBAAA,CAAgB;AAAA,UAAA;YAErDC,mBAME,UAAA;AAAA,cALA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,MAAK;AAAA,cACL,GAAE;AAAA,cACD,gBAAcD,MAAA,uBAAA;AAAA,YAAA;6CAGnBH,mBASWK,UAAA,EAAA,KAAA,KAAA;AAAA,YAPDF,MAAA,OAAA,MAAO,yBADfH,mBAGE,OAAA;AAAA;cADC,sBAAOE,KAAAA,OAAM,aAAA,CAAA;AAAA,YAAA;YAEhBE,mBAEE,OAAA;AAAA,cADC,uBAAQF,KAAAA,OAAO,MAAI,EAAA,CAAKA,KAAAA,wBAAwBC,MAAA,OAAA,MAAO,SAAA,CAAA,CAAA;AAAA,YAAA;YAE1DC,mBAAsC,OAAA;AAAA,cAAhC,OAAKH,eAAEC,KAAAA,OAAOC,MAAA,OAAA,KAAO,EAAA,CAAA;AAAA,YAAA;;;QAIvB,QAAA,aAAaA,MAAA,OAAA,MAAO,gCAD5BH,mBAKM,OAAA;AAAA;UAHH,OAAKC,eAAEC,KAAAA,OAAO,KAAK;AAAA,QAAA,mBAEjBC,MAAA,KAAA,CAAK,GAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"RuiProgress.vue2.js","sources":["../../../src/components/progress/RuiProgress.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\n\nexport interface Props {\n /**\n * in percentage value, required when variant === determinate or buffer\n * @example - 0 <= value <= 100\n */\n value?: number;\n /**\n * in percentage value, required when variant === buffer\n * @example - 0 <= value <= 100\n */\n bufferValue?: number;\n variant?: 'determinate' | 'indeterminate' | 'buffer';\n color?: ContextColorsType | 'inherit';\n circular?: boolean;\n showLabel?: boolean;\n /**\n * Sets the stroke thickness in pixels\n */\n thickness?: number | string;\n /**\n * only used for circular progress\n */\n size?: number | string;\n}\n\ndefineOptions({\n name: 'RuiProgress',\n});\n\nconst {\n value = 0,\n bufferValue = 0,\n variant = 'determinate',\n color = 'inherit',\n circular = false,\n showLabel = false,\n thickness = 4,\n size = 32,\n} = defineProps<Props>();\n\ndefineSlots<Record<string, never>>();\n\nconst currentValue = computed<number>(() => Math.max(0, Math.min(value ?? 100, 100)));\n\nconst label = computed<string>(() => `${Math.floor(get(currentValue))}%`);\n\nconst progress = computed<number>(() => -100 + get(currentValue));\n\nconst valuePercent = computed<string>(() => `${get(progress)}%`);\n\nconst bufferPercent = computed<string>(\n () => `${-100 + Math.max(0, Math.min(bufferValue ?? 100, 100))}%`,\n);\n\nconst circularScaledThickness = computed<number>(() => (+thickness * 32) / +size);\n\nconst circularViewSize = computed<number>(() => 40 + get(circularScaledThickness));\n</script>\n\n<template>\n <div\n :class=\"[\n $style.wrapper,\n circular ? 'inline-flex' : 'w-full',\n { [$style['has-label']]: showLabel && variant !== 'indeterminate' },\n ]\"\n >\n <div\n :aria-valuenow=\"value\"\n :class=\"[\n circular && variant !== 'buffer' ? $style.circular : $style.progress,\n $style[variant ?? ''],\n $style[color ?? ''],\n ]\"\n aria-valuemax=\"100\"\n aria-valuemin=\"0\"\n role=\"progressbar\"\n >\n <svg\n v-if=\"circular && variant !== 'buffer'\"\n :viewBox=\"`0 0 ${circularViewSize} ${circularViewSize}`\"\n >\n <circle\n cx=\"50%\"\n cy=\"50%\"\n fill=\"none\"\n r=\"20\"\n :stroke-width=\"circularScaledThickness\"\n />\n </svg>\n <template v-else>\n <div\n v-if=\"variant === 'buffer'\"\n :class=\"$style['buffer-dots']\"\n />\n <div :class=\"[$style.rail, { [$style['buffer-rail']]: variant === 'buffer' }]\" />\n <div :class=\"$style[variant ?? '']\" />\n </template>\n </div>\n <div\n v-if=\"showLabel && variant !== 'indeterminate'\"\n :class=\"$style.label\"\n >\n {{ label }}\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n$colors: 'primary', 'secondary';\n\n.wrapper {\n &.has-label {\n @apply inline-flex items-center relative;\n\n .label {\n @apply block text-sm ml-4;\n }\n\n .circular ~ .label {\n @apply absolute flex items-center justify-center text-[0.625rem] ml-0;\n width: calc(v-bind(size) * 1px);\n height: calc(v-bind(size) * 1px);\n }\n }\n\n .progress {\n @apply w-full overflow-hidden relative;\n height: calc(v-bind(thickness) * 1px);\n\n .rail {\n @apply w-full h-full;\n }\n\n .determinate,\n .buffer {\n @apply transition-all duration-150 ease-in-out absolute left-0 top-0 h-full w-full;\n transform: translateX(v-bind(valuePercent));\n }\n\n .indeterminate {\n @apply absolute left-0 top-0 h-full w-auto transition-transform duration-200 ease-linear delay-0 origin-left;\n animation: 1.6s cubic-bezier(0.65, 0.815, 0.735, 0.395) 0s infinite normal none running slide-rail;\n }\n\n .buffer-dots {\n @apply absolute h-0 w-[200%] -top-px -left-[100%] border-dashed border-y-[0.2rem];\n animation: 3s ease-in-out 3s infinite normal none running buffer-pulse;\n }\n\n .buffer-rail {\n @apply w-full transition-transform duration-200 ease-linear delay-0 origin-left;\n transform: translateX(v-bind(bufferPercent));\n }\n\n @each $color in $colors {\n &.#{$color} {\n .rail {\n @apply bg-rui-#{$color}/20;\n }\n\n .determinate,\n .indeterminate,\n .buffer {\n @apply bg-rui-#{$color};\n }\n\n .buffer-dots {\n @apply border-rui-#{$color}/20;\n }\n }\n }\n\n &.inherit {\n .rail {\n @apply bg-current opacity-20;\n }\n\n .determinate,\n .indeterminate,\n .buffer {\n @apply bg-current;\n }\n\n .buffer-dots {\n @apply border-current opacity-20;\n }\n }\n }\n\n .circular {\n @apply inline-block;\n width: calc(v-bind(size) * 1px);\n height: calc(v-bind(size) * 1px);\n\n @each $color in $colors {\n &.#{$color} {\n @apply text-rui-#{$color};\n }\n }\n\n &.indeterminate {\n @apply animate-[spin_1.4s_linear_infinite];\n\n svg {\n circle {\n stroke-dasharray: 80px, 200px;\n stroke-dashoffset: 0;\n stroke-linecap: round;\n -webkit-animation: collapse-stroke 1.4s ease-in-out infinite;\n animation: collapse-stroke 1.4s ease-in-out infinite;\n }\n }\n }\n\n &.determinate {\n @apply -rotate-90;\n\n svg {\n circle {\n stroke-dasharray: 126.92;\n stroke-dashoffset: calc(v-bind(progress) / 100 * -126.92);\n -webkit-transition: stroke-dashoffset 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n transition: stroke-dashoffset 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;\n }\n }\n }\n\n &.inherit {\n @apply text-current;\n }\n\n svg {\n @apply block;\n\n circle {\n stroke: currentColor;\n }\n }\n }\n}\n\n:global(.dark) {\n .wrapper {\n &.has-label {\n .label {\n @apply text-white;\n }\n }\n }\n}\n\n@-webkit-keyframes buffer-pulse {\n 0% {\n opacity: 0.2;\n left: -100%;\n }\n 50% {\n opacity: 1.5;\n left: -100%;\n }\n 60% {\n opacity: 0.4;\n left: -75%;\n }\n 100% {\n opacity: 0.2;\n left: -100%;\n }\n}\n\n@keyframes buffer-pulse {\n 0% {\n opacity: 0.2;\n left: -100%;\n }\n 50% {\n opacity: 1.5;\n left: -100%;\n }\n 60% {\n opacity: 0.4;\n left: -75%;\n }\n 100% {\n opacity: 0.2;\n left: -100%;\n }\n}\n\n@-webkit-keyframes slide-rail {\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@keyframes slide-rail {\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n}\n\n@-webkit-keyframes collapse-stroke {\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n}\n\n@keyframes collapse-stroke {\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_createElementVNode","_unref","_Fragment"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,UAAM,eAAe,SAAiB,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,QAAA,SAAS,KAAK,GAAG,CAAC,CAAC;AAEpF,UAAM,QAAQ,SAAiB,MAAM,GAAG,KAAK,MAAM,IAAI,YAAY,CAAC,CAAC,GAAG;AAExE,UAAM,WAAW,SAAiB,MAAM,OAAO,IAAI,YAAY,CAAC;AAEhE,UAAM,eAAe,SAAiB,MAAM,GAAG,IAAI,QAAQ,CAAC,GAAG;AAE/D,UAAM,gBAAgB;AAAA,MACpB,MAAM,GAAG,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,QAAA,eAAe,KAAK,GAAG,CAAC,CAAC;AAAA,IAAA;AAGhE,UAAM,0BAA0B,SAAiB,MAAO,CAAC,QAAA,YAAY,KAAM,CAAC,YAAI;AAEhF,UAAM,mBAAmB,SAAiB,MAAM,KAAK,IAAI,uBAAuB,CAAC;;0BAI/EA,mBA6CM,OAAA;AAAA,QA5CH,OAAKC,eAAA;AAAA,UAAUC,KAAAA,OAAO;AAAA,UAAe,QAAA,WAAQ,gBAAA;AAAA,aAAsCA,KAAAA,OAAM,WAAA,CAAA,GAAgB,QAAA,aAAa,QAAA,YAAO,gBAAA;AAAA,QAAA;;QAM9HC,mBA+BM,OAAA;AAAA,UA9BH,iBAAe,QAAA;AAAA,UACf,OAAKF,eAAA;AAAA,YAAY,QAAA,YAAY,oBAAO,WAAgBC,KAAAA,OAAO,WAAWA,KAAAA,OAAO;AAAA,YAAkBA,KAAAA,OAAO,QAAA,WAAO,EAAA;AAAA,YAAiBA,KAAAA,OAAO,QAAA,SAAK,EAAA;AAAA,UAAA;UAK3I,iBAAc;AAAA,UACd,iBAAc;AAAA,UACd,MAAK;AAAA,QAAA;UAGG,QAAA,YAAY,QAAA,YAAO,yBAD3BF,mBAWM,OAAA;AAAA;YATH,SAAO,OAASI,MAAA,gBAAA,CAAgB,IAAIA,MAAA,gBAAA,CAAgB;AAAA,UAAA;YAErDD,mBAME,UAAA;AAAA,cALA,IAAG;AAAA,cACH,IAAG;AAAA,cACH,MAAK;AAAA,cACL,GAAE;AAAA,cACD,gBAAcC,MAAA,uBAAA;AAAA,YAAA;6CAGnBJ,mBAOWK,UAAA,EAAA,KAAA,KAAA;AAAA,YALD,QAAA,YAAO,yBADfL,mBAGE,OAAA;AAAA;cADC,sBAAOE,KAAAA,OAAM,aAAA,CAAA;AAAA,YAAA;YAEhBC,mBAAiF,OAAA;AAAA,cAA3E,uBAAQD,KAAAA,OAAO,MAAI,EAAA,CAAKA,KAAAA,wBAAwB,QAAA,YAAO,SAAA,CAAA,CAAA;AAAA,YAAA;YAC7DC,mBAAsC,OAAA;AAAA,cAAhC,OAAKF,eAAEC,KAAAA,OAAO,QAAA,WAAO,EAAA,CAAA;AAAA,YAAA;;;QAIvB,QAAA,aAAa,QAAA,YAAO,gCAD5BF,mBAKM,OAAA;AAAA;UAHH,OAAKC,eAAEC,KAAAA,OAAO,KAAK;AAAA,QAAA,mBAEjBE,MAAA,KAAA,CAAK,GAAA,CAAA;;;;;"}
@@ -1,19 +1,18 @@
1
1
  export interface Props {
2
2
  pages: number;
3
- modelValue?: number;
4
3
  variant?: 'numeric' | 'bullet' | 'progress' | 'pill';
5
4
  arrowButtons?: boolean;
6
5
  hideButtons?: boolean;
7
6
  }
8
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
9
- "update:modelValue": (modelValue: number) => any;
10
- }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
11
- "onUpdate:modelValue"?: ((modelValue: number) => any) | undefined;
12
- }>, {
13
- variant: "numeric" | "bullet" | "progress" | "pill";
14
- modelValue: number;
15
- arrowButtons: boolean;
16
- hideButtons: boolean;
17
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
7
+ type __VLS_Props = Props;
8
+ type __VLS_ModelProps = {
9
+ modelValue?: number;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
13
+ "update:modelValue": (value: number) => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
+ "onUpdate:modelValue"?: ((value: number) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
17
  declare const _default: typeof __VLS_export;
19
18
  export default _default;
@@ -1,30 +1,31 @@
1
- import { defineComponent, toRefs, createElementBlock, openBlock, normalizeClass, Fragment, renderList, unref, createBlock, createCommentVNode, createSlots, withCtx, createVNode, toDisplayString } from "vue";
1
+ import { defineComponent, useModel, openBlock, createElementBlock, normalizeClass, Fragment, renderList, createBlock, createSlots, withCtx, createVNode, createCommentVNode, toDisplayString, mergeModels } from "vue";
2
2
  import RuiButton from "../buttons/button/RuiButton.vue.js";
3
3
  import RuiIcon from "../icons/RuiIcon.vue.js";
4
4
  import RuiProgress from "../progress/RuiProgress.vue.js";
5
- import { get } from "@vueuse/shared";
6
- const _hoisted_1 = { key: 0 };
7
- const _hoisted_2 = ["onClick"];
8
- const _hoisted_3 = { key: 0 };
5
+ import { get, set } from "@vueuse/shared";
6
+ const _hoisted_1 = ["aria-current"];
7
+ const _hoisted_2 = { key: 0 };
8
+ const _hoisted_3 = ["aria-current", "onClick"];
9
+ const _hoisted_4 = { key: 0 };
9
10
  const _sfc_main = /* @__PURE__ */ defineComponent({
10
11
  ...{
11
12
  name: "RuiFooterStepper"
12
13
  },
13
14
  __name: "RuiFooterStepper",
14
- props: {
15
+ props: /* @__PURE__ */ mergeModels({
15
16
  pages: {},
16
- modelValue: { default: 1 },
17
17
  variant: { default: "numeric" },
18
18
  arrowButtons: { type: Boolean, default: false },
19
19
  hideButtons: { type: Boolean, default: false }
20
- },
20
+ }, {
21
+ "modelValue": { default: 1 },
22
+ "modelModifiers": {}
23
+ }),
21
24
  emits: ["update:modelValue"],
22
- setup(__props, { emit: __emit }) {
23
- const props = __props;
24
- const emit = __emit;
25
- const { modelValue, pages } = toRefs(props);
25
+ setup(__props) {
26
+ const modelValue = useModel(__props, "modelValue");
26
27
  function onChange(delta) {
27
- emit("update:modelValue", get(modelValue) + delta);
28
+ set(modelValue, get(modelValue) + delta);
28
29
  }
29
30
  function onPrev() {
30
31
  const value = get(modelValue);
@@ -33,7 +34,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
33
34
  }
34
35
  function onNext() {
35
36
  const value = get(modelValue);
36
- if (value < get(pages))
37
+ if (value < __props.pages)
37
38
  onChange(1);
38
39
  }
39
40
  function onClick(index) {
@@ -41,30 +42,34 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
42
  }
42
43
  return (_ctx, _cache) => {
43
44
  return openBlock(), createElementBlock("div", {
45
+ role: "navigation",
46
+ "aria-label": "Step navigation",
44
47
  class: normalizeClass([_ctx.$style["footer-stepper"], _ctx.$style[__props.variant ?? ""]])
45
48
  }, [
46
49
  __props.variant === "pill" ? (openBlock(), createElementBlock("div", {
47
50
  key: 0,
48
51
  class: normalizeClass(_ctx.$style.pills)
49
52
  }, [
50
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (i) => {
53
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (i) => {
51
54
  return openBlock(), createElementBlock("span", {
52
55
  key: i,
53
- class: normalizeClass([_ctx.$style.pill, { [_ctx.$style.active]: unref(modelValue) === i }])
54
- }, null, 2);
56
+ "aria-current": modelValue.value === i ? "step" : void 0,
57
+ class: normalizeClass([_ctx.$style.pill, { [_ctx.$style.active]: modelValue.value === i }])
58
+ }, null, 10, _hoisted_1);
55
59
  }), 128))
56
60
  ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
57
61
  !__props.hideButtons ? (openBlock(), createBlock(RuiButton, {
58
62
  key: 0,
63
+ "aria-label": "Previous",
59
64
  class: normalizeClass({ [_ctx.$style.arrow__button]: __props.arrowButtons }),
60
- disabled: unref(modelValue) <= 1,
65
+ disabled: modelValue.value <= 1,
61
66
  icon: __props.arrowButtons,
62
67
  variant: __props.arrowButtons ? "outlined" : "text",
63
68
  color: "primary",
64
69
  onClick: _cache[0] || (_cache[0] = ($event) => onPrev())
65
70
  }, createSlots({
66
71
  default: withCtx(() => [
67
- !__props.arrowButtons ? (openBlock(), createElementBlock("span", _hoisted_1, "Back")) : (openBlock(), createBlock(RuiIcon, {
72
+ !__props.arrowButtons ? (openBlock(), createElementBlock("span", _hoisted_2, "Back")) : (openBlock(), createBlock(RuiIcon, {
68
73
  key: 1,
69
74
  size: 24,
70
75
  name: "lu-arrow-left"
@@ -86,34 +91,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
86
91
  __props.variant === "numeric" ? (openBlock(), createElementBlock("span", {
87
92
  key: 1,
88
93
  class: normalizeClass(_ctx.$style.numeric)
89
- }, toDisplayString(unref(modelValue)) + "/" + toDisplayString(unref(pages)), 3)) : __props.variant === "bullet" ? (openBlock(), createElementBlock("div", {
94
+ }, toDisplayString(modelValue.value) + "/" + toDisplayString(__props.pages), 3)) : __props.variant === "bullet" ? (openBlock(), createElementBlock("div", {
90
95
  key: 2,
91
96
  class: normalizeClass(_ctx.$style.bullets)
92
97
  }, [
93
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (i) => {
98
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (i) => {
94
99
  return openBlock(), createElementBlock("span", {
95
100
  key: i,
96
- class: normalizeClass([_ctx.$style.bullet, { [_ctx.$style.active]: unref(modelValue) === i }]),
101
+ "aria-current": modelValue.value === i ? "step" : void 0,
102
+ class: normalizeClass([_ctx.$style.bullet, { [_ctx.$style.active]: modelValue.value === i }]),
97
103
  onClick: ($event) => onClick(i)
98
- }, null, 10, _hoisted_2);
104
+ }, null, 10, _hoisted_3);
99
105
  }), 128))
100
106
  ], 2)) : __props.variant === "progress" ? (openBlock(), createBlock(RuiProgress, {
101
107
  key: 3,
102
108
  class: normalizeClass(_ctx.$style.progress),
103
109
  color: "primary",
104
- value: unref(modelValue) / unref(pages) * 100
110
+ value: modelValue.value / __props.pages * 100
105
111
  }, null, 8, ["class", "value"])) : createCommentVNode("", true),
106
112
  !__props.hideButtons ? (openBlock(), createBlock(RuiButton, {
107
113
  key: 4,
114
+ "aria-label": "Next",
108
115
  class: normalizeClass({ [_ctx.$style.arrow__button]: __props.arrowButtons }),
109
- disabled: unref(modelValue) >= unref(pages),
116
+ disabled: modelValue.value >= __props.pages,
110
117
  icon: __props.arrowButtons,
111
118
  variant: __props.arrowButtons ? "outlined" : "text",
112
119
  color: "primary",
113
120
  onClick: _cache[1] || (_cache[1] = ($event) => onNext())
114
121
  }, createSlots({
115
122
  default: withCtx(() => [
116
- !__props.arrowButtons ? (openBlock(), createElementBlock("span", _hoisted_3, "Next")) : (openBlock(), createBlock(RuiIcon, {
123
+ !__props.arrowButtons ? (openBlock(), createElementBlock("span", _hoisted_4, "Next")) : (openBlock(), createBlock(RuiIcon, {
117
124
  key: 1,
118
125
  size: 24,
119
126
  name: "lu-arrow-right"