@rotki/ui-library 2.12.2 → 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 (277) 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 +5 -15
  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 +6 -7
  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 +19 -17
  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 +2 -3
  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 +47 -39
  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.map +1 -1
  33. package/dist/components/chips/RuiChip.vue.d.ts +7 -21
  34. package/dist/components/chips/RuiChip.vue2.js +16 -21
  35. package/dist/components/chips/RuiChip.vue2.js.map +1 -1
  36. package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
  37. package/dist/components/color-picker/RuiColorBoard.vue2.js +14 -18
  38. package/dist/components/color-picker/RuiColorBoard.vue2.js.map +1 -1
  39. package/dist/components/color-picker/RuiColorDisplay.vue.js +3 -5
  40. package/dist/components/color-picker/RuiColorDisplay.vue.js.map +1 -1
  41. package/dist/components/color-picker/RuiColorHue.vue2.js +10 -13
  42. package/dist/components/color-picker/RuiColorHue.vue2.js.map +1 -1
  43. package/dist/components/color-picker/RuiColorInput.vue.js +8 -6
  44. package/dist/components/color-picker/RuiColorInput.vue.js.map +1 -1
  45. package/dist/components/color-picker/RuiColorPicker.vue.d.ts +7 -9
  46. package/dist/components/color-picker/RuiColorPicker.vue.js +18 -13
  47. package/dist/components/color-picker/RuiColorPicker.vue.js.map +1 -1
  48. package/dist/components/color-picker/utils.js +22 -5
  49. package/dist/components/color-picker/utils.js.map +1 -1
  50. package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +2 -44
  51. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +73 -77
  52. package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -1
  53. package/dist/components/date-time-picker/dayjs-setup.d.ts +1 -0
  54. package/dist/components/date-time-picker/dayjs-setup.js +8 -0
  55. package/dist/components/date-time-picker/dayjs-setup.js.map +1 -0
  56. package/dist/components/date-time-picker/segment-config.d.ts +14 -0
  57. package/dist/components/date-time-picker/segment-config.js +23 -0
  58. package/dist/components/date-time-picker/segment-config.js.map +1 -0
  59. package/dist/components/date-time-picker/segment-utils.d.ts +5 -0
  60. package/dist/components/date-time-picker/segment-utils.js +36 -0
  61. package/dist/components/date-time-picker/segment-utils.js.map +1 -0
  62. package/dist/components/date-time-picker/use-date-time-selection.d.ts +1 -0
  63. package/dist/components/date-time-picker/use-date-time-selection.js +1 -0
  64. package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
  65. package/dist/components/date-time-picker/use-keyboard-handler.d.ts +4 -8
  66. package/dist/components/date-time-picker/use-keyboard-handler.js +9 -54
  67. package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
  68. package/dist/components/date-time-picker/utils.d.ts +1 -0
  69. package/dist/components/date-time-picker/utils.js +1 -0
  70. package/dist/components/date-time-picker/utils.js.map +1 -1
  71. package/dist/components/divider/RuiDivider.vue.d.ts +1 -3
  72. package/dist/components/divider/RuiDivider.vue.js.map +1 -1
  73. package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +9 -1120
  74. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +144 -160
  75. package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -1
  76. package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +15 -24
  77. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +31 -31
  78. package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -1
  79. package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +1 -1
  80. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +18 -21
  81. package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -1
  82. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +3 -1
  83. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +12 -15
  84. package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -1
  85. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +5 -11
  86. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +6 -7
  87. package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -1
  88. package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +9 -784
  89. package/dist/components/forms/select/RuiMenuSelect.vue2.js +48 -51
  90. package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -1
  91. package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +10 -11
  92. package/dist/components/forms/select/RuiSimpleSelect.vue2.js +15 -24
  93. package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +1 -1
  94. package/dist/components/forms/slider/RuiSlider.vue.d.ts +10 -26
  95. package/dist/components/forms/slider/RuiSlider.vue2.js +41 -46
  96. package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -1
  97. package/dist/components/forms/switch/RuiSwitch.vue.d.ts +12 -20
  98. package/dist/components/forms/switch/RuiSwitch.vue2.js +21 -20
  99. package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -1
  100. package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +5 -30
  101. package/dist/components/forms/text-area/RuiTextArea.vue2.js +43 -79
  102. package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -1
  103. package/dist/components/forms/text-field/RuiTextField.vue.d.ts +7 -27
  104. package/dist/components/forms/text-field/RuiTextField.vue2.js +35 -66
  105. package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -1
  106. package/dist/components/helpers/RuiFormTextDetail.vue.d.ts +1 -5
  107. package/dist/components/helpers/RuiFormTextDetail.vue.js +5 -9
  108. package/dist/components/helpers/RuiFormTextDetail.vue.js.map +1 -1
  109. package/dist/components/icons/LazyIcon.vue.d.ts +1 -3
  110. package/dist/components/icons/RuiIcon.vue.d.ts +1 -4
  111. package/dist/components/icons/RuiIcon.vue2.js +8 -8
  112. package/dist/components/icons/RuiIcon.vue2.js.map +1 -1
  113. package/dist/components/index.d.ts +3 -3
  114. package/dist/components/loaders/RuiSkeletonBase.vue.d.ts +1 -3
  115. package/dist/components/loaders/RuiSkeletonBase.vue2.js +1 -1
  116. package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +1 -1
  117. package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +1 -4
  118. package/dist/components/loaders/RuiSkeletonLoader.vue2.js +1 -1
  119. package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +1 -1
  120. package/dist/components/logos/RuiLogo.vue.d.ts +1 -7
  121. package/dist/components/logos/RuiLogo.vue.js +11 -13
  122. package/dist/components/logos/RuiLogo.vue.js.map +1 -1
  123. package/dist/components/overlays/badge/RuiBadge.vue.d.ts +5 -20
  124. package/dist/components/overlays/badge/RuiBadge.vue2.js +11 -13
  125. package/dist/components/overlays/badge/RuiBadge.vue2.js.map +1 -1
  126. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.d.ts +10 -5
  127. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +18 -7
  128. package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +1 -1
  129. package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +21 -27
  130. package/dist/components/overlays/dialog/RuiDialog.vue2.js +80 -63
  131. package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +1 -1
  132. package/dist/components/overlays/menu/RuiMenu.vue.d.ts +24 -35
  133. package/dist/components/overlays/menu/RuiMenu.vue2.js +67 -76
  134. package/dist/components/overlays/menu/RuiMenu.vue2.js.map +1 -1
  135. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +22 -30
  136. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +71 -47
  137. package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +1 -1
  138. package/dist/components/overlays/notification/RuiNotification.vue.d.ts +12 -12
  139. package/dist/components/overlays/notification/RuiNotification.vue.js +25 -22
  140. package/dist/components/overlays/notification/RuiNotification.vue.js.map +1 -1
  141. package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +7 -18
  142. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +11 -8
  143. package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +1 -1
  144. package/dist/components/progress/RuiProgress.vue.d.ts +8 -10
  145. package/dist/components/progress/RuiProgress.vue2.js +18 -24
  146. package/dist/components/progress/RuiProgress.vue2.js.map +1 -1
  147. package/dist/components/steppers/RuiFooterStepper.vue.d.ts +10 -11
  148. package/dist/components/steppers/RuiFooterStepper.vue2.js +21 -21
  149. package/dist/components/steppers/RuiFooterStepper.vue2.js.map +1 -1
  150. package/dist/components/steppers/RuiStepper.vue.d.ts +6 -15
  151. package/dist/components/steppers/RuiStepper.vue2.js +31 -33
  152. package/dist/components/steppers/RuiStepper.vue2.js.map +1 -1
  153. package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +1 -3
  154. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +1 -1
  155. package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +1 -1
  156. package/dist/components/steppers/RuiStepperIcon.vue.d.ts +1 -3
  157. package/dist/components/steppers/RuiStepperIcon.vue2.js +1 -1
  158. package/dist/components/steppers/RuiStepperIcon.vue2.js.map +1 -1
  159. package/dist/components/tables/RuiDataTable.vue.d.ts +29 -81
  160. package/dist/components/tables/RuiDataTable.vue2.js +173 -582
  161. package/dist/components/tables/RuiDataTable.vue2.js.map +1 -1
  162. package/dist/components/tables/RuiDataTable.vue3.js +24 -27
  163. package/dist/components/tables/RuiDataTable.vue3.js.map +1 -1
  164. package/dist/components/tables/RuiExpandButton.vue.d.ts +3 -6
  165. package/dist/components/tables/RuiExpandButton.vue2.js +1 -0
  166. package/dist/components/tables/RuiExpandButton.vue2.js.map +1 -1
  167. package/dist/components/tables/RuiTableHead.vue.d.ts +4 -7
  168. package/dist/components/tables/RuiTableHead.vue2.js +19 -19
  169. package/dist/components/tables/RuiTableHead.vue2.js.map +1 -1
  170. package/dist/components/tables/RuiTablePagination.vue.d.ts +10 -10
  171. package/dist/components/tables/RuiTablePagination.vue2.js +17 -16
  172. package/dist/components/tables/RuiTablePagination.vue2.js.map +1 -1
  173. package/dist/components/tabs/tab/RuiTab.vue.d.ts +3 -18
  174. package/dist/components/tabs/tab/RuiTab.vue2.js +80 -51
  175. package/dist/components/tabs/tab/RuiTab.vue2.js.map +1 -1
  176. package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +3 -11
  177. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +1 -1
  178. package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +1 -1
  179. package/dist/components/tabs/tab-items/RuiTabItems.vue.d.ts +1 -4
  180. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +18 -18
  181. package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +1 -1
  182. package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +10 -14
  183. package/dist/components/tabs/tabs/RuiTabs.vue2.js +101 -94
  184. package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +1 -1
  185. package/dist/components/time-picker/RuiTimePicker.vue.d.ts +1 -4
  186. package/dist/components/time-picker/RuiTimePicker.vue2.js +68 -35
  187. package/dist/components/time-picker/RuiTimePicker.vue2.js.map +1 -1
  188. package/dist/composables/breakpoint.js +8 -13
  189. package/dist/composables/breakpoint.js.map +1 -1
  190. package/dist/composables/dropdown-menu.d.ts +7 -4
  191. package/dist/composables/dropdown-menu.js +73 -50
  192. package/dist/composables/dropdown-menu.js.map +1 -1
  193. package/dist/composables/forms/auto-complete/focus.d.ts +7 -5
  194. package/dist/composables/forms/auto-complete/focus.js +28 -17
  195. package/dist/composables/forms/auto-complete/focus.js.map +1 -1
  196. package/dist/composables/forms/auto-complete/index.d.ts +0 -9
  197. package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +8 -3
  198. package/dist/composables/forms/auto-complete/keyboard-navigation.js +11 -5
  199. package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
  200. package/dist/composables/forms/auto-complete/search.d.ts +7 -0
  201. package/dist/composables/forms/auto-complete/search.js +10 -8
  202. package/dist/composables/forms/auto-complete/search.js.map +1 -1
  203. package/dist/composables/forms/auto-complete/value.d.ts +4 -0
  204. package/dist/composables/forms/auto-complete/value.js +24 -42
  205. package/dist/composables/forms/auto-complete/value.js.map +1 -1
  206. package/dist/composables/forms/use-label-with-quote.d.ts +2 -0
  207. package/dist/composables/forms/use-label-with-quote.js +14 -0
  208. package/dist/composables/forms/use-label-with-quote.js.map +1 -0
  209. package/dist/composables/forms/use-prepend-append-width.d.ts +6 -0
  210. package/dist/composables/forms/use-prepend-append-width.js +25 -0
  211. package/dist/composables/forms/use-prepend-append-width.js.map +1 -0
  212. package/dist/composables/popper.js +60 -46
  213. package/dist/composables/popper.js.map +1 -1
  214. package/dist/composables/sticky-header.d.ts +7 -5
  215. package/dist/composables/sticky-header.js +51 -41
  216. package/dist/composables/sticky-header.js.map +1 -1
  217. package/dist/composables/tables/data-table/columns.d.ts +25 -0
  218. package/dist/composables/tables/data-table/columns.js +54 -0
  219. package/dist/composables/tables/data-table/columns.js.map +1 -0
  220. package/dist/composables/tables/data-table/expansion.d.ts +17 -0
  221. package/dist/composables/tables/data-table/expansion.js +38 -0
  222. package/dist/composables/tables/data-table/expansion.js.map +1 -0
  223. package/dist/composables/tables/data-table/grouping.d.ts +29 -0
  224. package/dist/composables/tables/data-table/grouping.js +136 -0
  225. package/dist/composables/tables/data-table/grouping.js.map +1 -0
  226. package/dist/composables/tables/data-table/pagination.d.ts +33 -0
  227. package/dist/composables/tables/data-table/pagination.js +119 -0
  228. package/dist/composables/tables/data-table/pagination.js.map +1 -0
  229. package/dist/composables/tables/data-table/selection.d.ts +29 -0
  230. package/dist/composables/tables/data-table/selection.js +164 -0
  231. package/dist/composables/tables/data-table/selection.js.map +1 -0
  232. package/dist/composables/tables/data-table/sort.d.ts +32 -0
  233. package/dist/composables/tables/data-table/sort.js +136 -0
  234. package/dist/composables/tables/data-table/sort.js.map +1 -0
  235. package/dist/composables/tables/data-table/types.d.ts +14 -0
  236. package/dist/composables/tables/data-table/types.js +11 -0
  237. package/dist/composables/tables/data-table/types.js.map +1 -0
  238. package/dist/composables/theme.js +1 -20
  239. package/dist/composables/theme.js.map +1 -1
  240. package/dist/composables/timeout-manager.d.ts +4 -2
  241. package/dist/composables/timeout-manager.js +2 -1
  242. package/dist/composables/timeout-manager.js.map +1 -1
  243. package/dist/icons/icons_1.js +28 -28
  244. package/dist/icons/icons_1.js.map +1 -1
  245. package/dist/icons/icons_2.d.ts +8 -8
  246. package/dist/icons/icons_2.js +52 -52
  247. package/dist/icons/icons_2.js.map +1 -1
  248. package/dist/icons/icons_3.d.ts +18 -18
  249. package/dist/icons/icons_3.js +108 -108
  250. package/dist/icons/icons_3.js.map +1 -1
  251. package/dist/icons/icons_4.d.ts +35 -0
  252. package/dist/icons/icons_4.js +176 -1
  253. package/dist/icons/icons_4.js.map +1 -1
  254. package/dist/icons/index.d.ts +1 -1
  255. package/dist/icons/index.js +1 -1
  256. package/dist/icons/index.js.map +1 -1
  257. package/dist/index.js +43 -15
  258. package/dist/index.js.map +1 -1
  259. package/dist/style.css +189 -162
  260. package/dist/theme/index.js +15 -1
  261. package/dist/theme/index.js.map +1 -1
  262. package/dist/utils/assert.d.ts +1 -1
  263. package/dist/utils/assert.js.map +1 -1
  264. package/dist/utils/form-text-detail.d.ts +9 -8
  265. package/dist/utils/form-text-detail.js +1 -2
  266. package/dist/utils/form-text-detail.js.map +1 -1
  267. package/dist/utils/helpers.d.ts +4 -32
  268. package/dist/utils/helpers.js +8 -9
  269. package/dist/utils/helpers.js.map +1 -1
  270. package/dist/utils/is-equal.d.ts +1 -1
  271. package/dist/utils/is-equal.js +5 -3
  272. package/dist/utils/is-equal.js.map +1 -1
  273. package/dist/web-types.json +359 -359
  274. package/package.json +44 -35
  275. package/dist/utils/generate-id.d.ts +0 -5
  276. package/dist/utils/generate-id.js +0 -21
  277. package/dist/utils/generate-id.js.map +0 -1
@@ -1,40 +1,43 @@
1
- import { defineComponent, toRefs, computed, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, unref, createElementBlock, mergeProps, renderSlot, createCommentVNode } 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,7 +51,7 @@ 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,
53
56
  role: "alert",
54
57
  "aria-live": "polite",
@@ -1 +1 @@
1
- {"version":3,"file":"RuiNotification.vue.js","sources":["../../../../src/components/overlays/notification/RuiNotification.vue"],"sourcesContent":["<script lang='ts' setup>\nimport { transformPropsUnit } from '@/utils/helpers';\n\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 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":["_createBlock","_Teleport","_createVNode","_Transition","_unref","_openBlock","_createElementBlock","_mergeProps","$attrs","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,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,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,YAdEC,MAAA,UAAA,KADRC,aAAAC,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,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
- text: string | null;
26
- disabled: boolean;
27
- openDelay: number;
28
- closeDelay: number;
29
- popper: PopperOptions;
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,4 +1,4 @@
1
- import { defineComponent, toRefs, useId, openBlock, createElementBlock, unref, normalizeClass, renderSlot, createBlock, Teleport, createVNode, TransitionGroup, withCtx, createTextVNode, toDisplayString, createCommentVNode } 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
3
  const _hoisted_1 = ["data-tooltip-disabled", "aria-describedby"];
4
4
  const _hoisted_2 = ["id"];
@@ -18,8 +18,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  tooltipClass: { default: "" }
19
19
  },
20
20
  setup(__props, { expose: __expose }) {
21
- const props = __props;
22
- const { closeDelay, openDelay, popper, disabled } = toRefs(props);
23
21
  const tooltipId = useId();
24
22
  const {
25
23
  reference: activator,
@@ -30,7 +28,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
30
28
  onClose,
31
29
  onPopperLeave,
32
30
  updatePopper
33
- } = usePopper(popper, disabled, openDelay, closeDelay);
31
+ } = usePopper(
32
+ toRef(() => __props.popper),
33
+ toRef(() => __props.disabled),
34
+ toRef(() => __props.openDelay),
35
+ toRef(() => __props.closeDelay)
36
+ );
34
37
  __expose({
35
38
  onOpen,
36
39
  onClose
@@ -40,8 +43,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
40
43
  ref_key: "activator",
41
44
  ref: activator,
42
45
  class: normalizeClass(_ctx.$style.wrapper),
43
- "data-tooltip-disabled": unref(disabled),
44
- "aria-describedby": !unref(disabled) && unref(open) ? unref(tooltipId) : void 0,
46
+ "data-tooltip-disabled": __props.disabled,
47
+ "aria-describedby": !__props.disabled && unref(open) ? unref(tooltipId) : void 0,
45
48
  onMouseover: _cache[4] || (_cache[4] = ($event) => unref(onOpen)()),
46
49
  onMouseleave: _cache[5] || (_cache[5] = ($event) => unref(onClose)()),
47
50
  onFocusin: _cache[6] || (_cache[6] = ($event) => unref(onOpen)()),
@@ -51,7 +54,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
51
54
  open: unref(open),
52
55
  close: unref(onClose)
53
56
  }),
54
- !unref(disabled) ? (openBlock(), createBlock(Teleport, {
57
+ !__props.disabled ? (openBlock(), createBlock(Teleport, {
55
58
  key: 0,
56
59
  to: "body"
57
60
  }, [
@@ -63,7 +66,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
66
  class: normalizeClass([
64
67
  _ctx.$style.tooltip,
65
68
  __props.tooltipClass,
66
- _ctx.$style[`tooltip__${unref(popper)?.strategy ?? "absolute"}`]
69
+ _ctx.$style[`tooltip__${__props.popper?.strategy ?? "absolute"}`]
67
70
  ]),
68
71
  role: "tooltip"
69
72
  }, [
@@ -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 tooltipId = useId();\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 :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":";;;;;;;;;;;;;;;;;;;;AAkBA,UAAM,QAAQ;AAWd,UAAM,EAAE,YAAY,WAAW,QAAQ,SAAA,IAAa,OAAO,KAAK;AAEhE,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,UAAU,QAAQ,UAAU,WAAW,UAAU;AAErD,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,yBAAuBC,MAAA,QAAA;AAAA,QACvB,qBAAmBA,MAAA,QAAA,KAAYA,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;SAIDA,MAAA,QAAA,kBADTE,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,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
- bufferValue: number;
30
- variant: "determinate" | "indeterminate" | "buffer";
31
- color: ContextColorsType | "inherit";
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, toRefs, computed, openBlock, createElementBlock, normalizeClass, createElementVNode, Fragment, createCommentVNode, 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,8 +1,8 @@
1
- import { defineComponent, toRefs, openBlock, createElementBlock, normalizeClass, Fragment, renderList, unref, createBlock, createSlots, withCtx, createVNode, createCommentVNode, 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";
5
+ import { get, set } from "@vueuse/shared";
6
6
  const _hoisted_1 = ["aria-current"];
7
7
  const _hoisted_2 = { key: 0 };
8
8
  const _hoisted_3 = ["aria-current", "onClick"];
@@ -12,20 +12,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
12
12
  name: "RuiFooterStepper"
13
13
  },
14
14
  __name: "RuiFooterStepper",
15
- props: {
15
+ props: /* @__PURE__ */ mergeModels({
16
16
  pages: {},
17
- modelValue: { default: 1 },
18
17
  variant: { default: "numeric" },
19
18
  arrowButtons: { type: Boolean, default: false },
20
19
  hideButtons: { type: Boolean, default: false }
21
- },
20
+ }, {
21
+ "modelValue": { default: 1 },
22
+ "modelModifiers": {}
23
+ }),
22
24
  emits: ["update:modelValue"],
23
- setup(__props, { emit: __emit }) {
24
- const props = __props;
25
- const emit = __emit;
26
- const { modelValue, pages } = toRefs(props);
25
+ setup(__props) {
26
+ const modelValue = useModel(__props, "modelValue");
27
27
  function onChange(delta) {
28
- emit("update:modelValue", get(modelValue) + delta);
28
+ set(modelValue, get(modelValue) + delta);
29
29
  }
30
30
  function onPrev() {
31
31
  const value = get(modelValue);
@@ -34,7 +34,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  }
35
35
  function onNext() {
36
36
  const value = get(modelValue);
37
- if (value < get(pages))
37
+ if (value < __props.pages)
38
38
  onChange(1);
39
39
  }
40
40
  function onClick(index) {
@@ -50,11 +50,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
50
50
  key: 0,
51
51
  class: normalizeClass(_ctx.$style.pills)
52
52
  }, [
53
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (i) => {
53
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (i) => {
54
54
  return openBlock(), createElementBlock("span", {
55
55
  key: i,
56
- "aria-current": unref(modelValue) === i ? "step" : void 0,
57
- class: normalizeClass([_ctx.$style.pill, { [_ctx.$style.active]: unref(modelValue) === i }])
56
+ "aria-current": modelValue.value === i ? "step" : void 0,
57
+ class: normalizeClass([_ctx.$style.pill, { [_ctx.$style.active]: modelValue.value === i }])
58
58
  }, null, 10, _hoisted_1);
59
59
  }), 128))
60
60
  ], 2)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
@@ -62,7 +62,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
62
62
  key: 0,
63
63
  "aria-label": "Previous",
64
64
  class: normalizeClass({ [_ctx.$style.arrow__button]: __props.arrowButtons }),
65
- disabled: unref(modelValue) <= 1,
65
+ disabled: modelValue.value <= 1,
66
66
  icon: __props.arrowButtons,
67
67
  variant: __props.arrowButtons ? "outlined" : "text",
68
68
  color: "primary",
@@ -91,15 +91,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
91
  __props.variant === "numeric" ? (openBlock(), createElementBlock("span", {
92
92
  key: 1,
93
93
  class: normalizeClass(_ctx.$style.numeric)
94
- }, 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", {
95
95
  key: 2,
96
96
  class: normalizeClass(_ctx.$style.bullets)
97
97
  }, [
98
- (openBlock(true), createElementBlock(Fragment, null, renderList(unref(pages), (i) => {
98
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.pages, (i) => {
99
99
  return openBlock(), createElementBlock("span", {
100
100
  key: i,
101
- "aria-current": unref(modelValue) === i ? "step" : void 0,
102
- 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 }]),
103
103
  onClick: ($event) => onClick(i)
104
104
  }, null, 10, _hoisted_3);
105
105
  }), 128))
@@ -107,13 +107,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
107
107
  key: 3,
108
108
  class: normalizeClass(_ctx.$style.progress),
109
109
  color: "primary",
110
- value: unref(modelValue) / unref(pages) * 100
110
+ value: modelValue.value / __props.pages * 100
111
111
  }, null, 8, ["class", "value"])) : createCommentVNode("", true),
112
112
  !__props.hideButtons ? (openBlock(), createBlock(RuiButton, {
113
113
  key: 4,
114
114
  "aria-label": "Next",
115
115
  class: normalizeClass({ [_ctx.$style.arrow__button]: __props.arrowButtons }),
116
- disabled: unref(modelValue) >= unref(pages),
116
+ disabled: modelValue.value >= __props.pages,
117
117
  icon: __props.arrowButtons,
118
118
  variant: __props.arrowButtons ? "outlined" : "text",
119
119
  color: "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"RuiFooterStepper.vue2.js","sources":["../../../src/components/steppers/RuiFooterStepper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\n\nexport interface Props {\n pages: number;\n modelValue?: number;\n variant?: 'numeric' | 'bullet' | 'progress' | 'pill';\n arrowButtons?: boolean;\n hideButtons?: boolean;\n}\n\ndefineOptions({\n name: 'RuiFooterStepper',\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: 1,\n variant: 'numeric',\n arrowButtons: false,\n hideButtons: false,\n});\n\nconst emit = defineEmits<{\n (event: 'update:modelValue', modelValue: number): void;\n}>();\n\nconst { modelValue, pages } = toRefs(props);\n\nfunction onChange(delta: number) {\n emit('update:modelValue', get(modelValue) + delta);\n}\n\nfunction onPrev() {\n const value = get(modelValue);\n if (value)\n onChange(-1);\n}\n\nfunction onNext() {\n const value = get(modelValue);\n if (value < get(pages))\n onChange(1);\n}\n\nfunction onClick(index: number) {\n onChange(index - get(modelValue));\n}\n</script>\n\n<template>\n <div\n role=\"navigation\"\n aria-label=\"Step navigation\"\n :class=\"[$style['footer-stepper'], $style[variant ?? '']]\"\n >\n <template v-if=\"variant === 'pill'\">\n <div :class=\"$style.pills\">\n <span\n v-for=\"i in pages\"\n :key=\"i\"\n :aria-current=\"modelValue === i ? 'step' : undefined\"\n :class=\"[$style.pill, { [$style.active]: modelValue === i }]\"\n />\n </div>\n </template>\n <template v-else>\n <RuiButton\n v-if=\"!hideButtons\"\n aria-label=\"Previous\"\n :class=\"{ [$style.arrow__button]: arrowButtons }\"\n :disabled=\"modelValue <= 1\"\n :icon=\"arrowButtons\"\n :variant=\"arrowButtons ? 'outlined' : 'text'\"\n color=\"primary\"\n @click=\"onPrev()\"\n >\n <template\n v-if=\"!arrowButtons\"\n #prepend\n >\n <RuiIcon\n :size=\"18\"\n name=\"lu-chevron-left\"\n />\n </template>\n <span v-if=\"!arrowButtons\">Back</span>\n <RuiIcon\n v-else\n :size=\"24\"\n name=\"lu-arrow-left\"\n />\n </RuiButton>\n <span\n v-if=\"variant === 'numeric'\"\n :class=\"$style.numeric\"\n >\n {{ modelValue }}/{{ pages }}\n </span>\n <div\n v-else-if=\"variant === 'bullet'\"\n :class=\"$style.bullets\"\n >\n <span\n v-for=\"i in pages\"\n :key=\"i\"\n :aria-current=\"modelValue === i ? 'step' : undefined\"\n :class=\"[$style.bullet, { [$style.active]: modelValue === i }]\"\n @click=\"onClick(i)\"\n />\n </div>\n <RuiProgress\n v-else-if=\"variant === 'progress'\"\n :class=\"$style.progress\"\n color=\"primary\"\n :value=\"(modelValue / pages) * 100\"\n />\n <RuiButton\n v-if=\"!hideButtons\"\n aria-label=\"Next\"\n :class=\"{ [$style.arrow__button]: arrowButtons }\"\n :disabled=\"modelValue >= pages\"\n :icon=\"arrowButtons\"\n :variant=\"arrowButtons ? 'outlined' : 'text'\"\n color=\"primary\"\n @click=\"onNext()\"\n >\n <span v-if=\"!arrowButtons\">Next</span>\n <RuiIcon\n v-else\n :size=\"24\"\n name=\"lu-arrow-right\"\n />\n <template\n v-if=\"!arrowButtons\"\n #append\n >\n <RuiIcon\n :size=\"18\"\n name=\"lu-chevron-right\"\n />\n </template>\n </RuiButton>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.footer-stepper {\n @apply flex items-center justify-between gap-x-4 transition-all duration-150;\n\n .numeric {\n @apply text-rui-text;\n }\n\n .bullets,\n .pills {\n @apply flex;\n\n .bullet,\n .pill {\n @apply rounded-full h-2 bg-black/[0.26] transition-colors;\n\n &.active {\n @apply bg-rui-primary;\n }\n }\n\n .bullet {\n @apply hover:bg-rui-grey-300 cursor-pointer;\n\n &.active {\n @apply hover:bg-rui-primary;\n }\n }\n\n .pill {\n @apply bg-rui-grey-200;\n }\n }\n\n .bullets {\n @apply gap-x-1;\n\n .bullet {\n @apply w-2;\n }\n }\n\n .pills {\n @apply w-full gap-x-3;\n\n .pill {\n @apply w-full;\n }\n }\n\n .progress {\n @apply max-w-[60%];\n }\n\n .arrow__button {\n @apply bg-white disabled:bg-white/60 #{!important};\n }\n}\n\n:global(.dark) {\n .footer-stepper {\n .bullets,\n .pills {\n .bullet,\n .pill {\n @apply bg-rui-grey-300;\n\n &.active {\n @apply bg-rui-primary;\n }\n }\n\n .bullet {\n @apply hover:bg-rui-grey-400;\n\n &.active {\n @apply hover:bg-rui-primary;\n }\n }\n }\n\n .bullets {\n .bullet {\n @apply bg-white/30;\n }\n }\n\n .arrow__button {\n @apply disabled:bg-[rgb(50,50,50)] #{!important};\n }\n }\n}\n</style>\n"],"names":["_createElementBlock","_normalizeClass","$style","_Fragment","_renderList","_unref","_createBlock","_openBlock","_createVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"RuiFooterStepper.vue2.js","sources":["../../../src/components/steppers/RuiFooterStepper.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\n\nexport interface Props {\n pages: number;\n variant?: 'numeric' | 'bullet' | 'progress' | 'pill';\n arrowButtons?: boolean;\n hideButtons?: boolean;\n}\n\ndefineOptions({\n name: 'RuiFooterStepper',\n});\n\nconst modelValue = defineModel<number>({ default: 1 });\n\nconst {\n pages,\n variant = 'numeric',\n arrowButtons = false,\n hideButtons = false,\n} = defineProps<Props>();\n\nfunction onChange(delta: number): void {\n set(modelValue, get(modelValue) + delta);\n}\n\nfunction onPrev(): void {\n const value = get(modelValue);\n if (value)\n onChange(-1);\n}\n\nfunction onNext(): void {\n const value = get(modelValue);\n if (value < pages)\n onChange(1);\n}\n\nfunction onClick(index: number): void {\n onChange(index - get(modelValue));\n}\n</script>\n\n<template>\n <div\n role=\"navigation\"\n aria-label=\"Step navigation\"\n :class=\"[$style['footer-stepper'], $style[variant ?? '']]\"\n >\n <template v-if=\"variant === 'pill'\">\n <div :class=\"$style.pills\">\n <span\n v-for=\"i in pages\"\n :key=\"i\"\n :aria-current=\"modelValue === i ? 'step' : undefined\"\n :class=\"[$style.pill, { [$style.active]: modelValue === i }]\"\n />\n </div>\n </template>\n <template v-else>\n <RuiButton\n v-if=\"!hideButtons\"\n aria-label=\"Previous\"\n :class=\"{ [$style.arrow__button]: arrowButtons }\"\n :disabled=\"modelValue <= 1\"\n :icon=\"arrowButtons\"\n :variant=\"arrowButtons ? 'outlined' : 'text'\"\n color=\"primary\"\n @click=\"onPrev()\"\n >\n <template\n v-if=\"!arrowButtons\"\n #prepend\n >\n <RuiIcon\n :size=\"18\"\n name=\"lu-chevron-left\"\n />\n </template>\n <span v-if=\"!arrowButtons\">Back</span>\n <RuiIcon\n v-else\n :size=\"24\"\n name=\"lu-arrow-left\"\n />\n </RuiButton>\n <span\n v-if=\"variant === 'numeric'\"\n :class=\"$style.numeric\"\n >\n {{ modelValue }}/{{ pages }}\n </span>\n <div\n v-else-if=\"variant === 'bullet'\"\n :class=\"$style.bullets\"\n >\n <span\n v-for=\"i in pages\"\n :key=\"i\"\n :aria-current=\"modelValue === i ? 'step' : undefined\"\n :class=\"[$style.bullet, { [$style.active]: modelValue === i }]\"\n @click=\"onClick(i)\"\n />\n </div>\n <RuiProgress\n v-else-if=\"variant === 'progress'\"\n :class=\"$style.progress\"\n color=\"primary\"\n :value=\"(modelValue / pages) * 100\"\n />\n <RuiButton\n v-if=\"!hideButtons\"\n aria-label=\"Next\"\n :class=\"{ [$style.arrow__button]: arrowButtons }\"\n :disabled=\"modelValue >= pages\"\n :icon=\"arrowButtons\"\n :variant=\"arrowButtons ? 'outlined' : 'text'\"\n color=\"primary\"\n @click=\"onNext()\"\n >\n <span v-if=\"!arrowButtons\">Next</span>\n <RuiIcon\n v-else\n :size=\"24\"\n name=\"lu-arrow-right\"\n />\n <template\n v-if=\"!arrowButtons\"\n #append\n >\n <RuiIcon\n :size=\"18\"\n name=\"lu-chevron-right\"\n />\n </template>\n </RuiButton>\n </template>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.footer-stepper {\n @apply flex items-center justify-between gap-x-4 transition-all duration-150;\n\n .numeric {\n @apply text-rui-text;\n }\n\n .bullets,\n .pills {\n @apply flex;\n\n .bullet,\n .pill {\n @apply rounded-full h-2 bg-black/[0.26] transition-colors;\n\n &.active {\n @apply bg-rui-primary;\n }\n }\n\n .bullet {\n @apply hover:bg-rui-grey-300 cursor-pointer;\n\n &.active {\n @apply hover:bg-rui-primary;\n }\n }\n\n .pill {\n @apply bg-rui-grey-200;\n }\n }\n\n .bullets {\n @apply gap-x-1;\n\n .bullet {\n @apply w-2;\n }\n }\n\n .pills {\n @apply w-full gap-x-3;\n\n .pill {\n @apply w-full;\n }\n }\n\n .progress {\n @apply max-w-[60%];\n }\n\n .arrow__button {\n @apply bg-white disabled:bg-white/60 #{!important};\n }\n}\n\n:global(.dark) {\n .footer-stepper {\n .bullets,\n .pills {\n .bullet,\n .pill {\n @apply bg-rui-grey-300;\n\n &.active {\n @apply bg-rui-primary;\n }\n }\n\n .bullet {\n @apply hover:bg-rui-grey-400;\n\n &.active {\n @apply hover:bg-rui-primary;\n }\n }\n }\n\n .bullets {\n .bullet {\n @apply bg-white/30;\n }\n }\n\n .arrow__button {\n @apply disabled:bg-[rgb(50,50,50)] #{!important};\n }\n }\n}\n</style>\n"],"names":["_useModel","_createElementBlock","_normalizeClass","$style","_Fragment","_renderList","_createBlock","_openBlock","_createVNode","_toDisplayString"],"mappings":"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"}
@@ -9,22 +9,13 @@ export interface Props {
9
9
  orientation?: StepperOrientation;
10
10
  keepActiveVisible?: boolean;
11
11
  }
12
- declare var __VLS_1: {
13
- state: StepperState | undefined;
14
- index: number;
12
+ type __VLS_Slots = {
13
+ icon?: (props: {
14
+ state: StepperState | undefined;
15
+ index: number;
16
+ }) => any;
15
17
  };
16
- type __VLS_Slots = {} & {
17
- icon?: (props: typeof __VLS_1) => any;
18
- };
19
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
20
- step: number;
21
- custom: boolean;
22
- iconTop: boolean;
23
- titleClass: string;
24
- subtitleClass: string;
25
- orientation: StepperOrientation;
26
- keepActiveVisible: boolean;
27
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ 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
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
29
20
  declare const _default: typeof __VLS_export;
30
21
  export default _default;