@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
@@ -5,25 +5,17 @@ export interface AccordionProps {
5
5
  headerClass?: string;
6
6
  contentClass?: string;
7
7
  }
8
- declare var __VLS_1: {
9
- open: boolean;
10
- }, __VLS_8: {};
11
- type __VLS_Slots = {} & {
12
- header?: (props: typeof __VLS_1) => any;
13
- } & {
14
- default?: (props: typeof __VLS_8) => any;
8
+ type __VLS_Slots = {
9
+ header?: (props: {
10
+ open: boolean;
11
+ }) => any;
12
+ default?: () => any;
15
13
  };
16
14
  declare const __VLS_base: import("vue").DefineComponent<AccordionProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
15
  click: () => any;
18
16
  }, string, import("vue").PublicProps, Readonly<AccordionProps> & Readonly<{
19
17
  onClick?: (() => any) | undefined;
20
- }>, {
21
- open: boolean;
22
- eager: boolean;
23
- headerGrow: boolean;
24
- headerClass: string;
25
- contentClass: string;
26
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
18
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
19
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
20
  declare const _default: typeof __VLS_export;
29
21
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, useId, ref, computed, openBlock, createElementBlock, mergeProps, unref, normalizeClass, createElementVNode, renderSlot, createVNode, createCommentVNode, normalizeStyle } from "vue";
1
+ import { defineComponent, useTemplateRef, useId, computed, openBlock, createElementBlock, mergeProps, unref, normalizeClass, createElementVNode, renderSlot, createVNode, createCommentVNode, normalizeStyle } from "vue";
2
2
  import RuiIcon from "../../icons/RuiIcon.vue.js";
3
3
  import { useElementSize } from "@vueuse/core";
4
4
  import { get } from "@vueuse/shared";
@@ -20,13 +20,12 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  },
21
21
  emits: ["click"],
22
22
  setup(__props, { emit: __emit }) {
23
- const props = __props;
24
23
  const emit = __emit;
24
+ const inner = useTemplateRef("inner");
25
25
  const triggerId = useId();
26
26
  const contentId = useId();
27
- const inner = ref();
28
27
  const { height: innerHeight } = useElementSize(inner);
29
- const contentHeight = computed(() => props.open ? `${get(innerHeight)}px` : "0px");
28
+ const contentHeight = computed(() => __props.open ? `${get(innerHeight)}px` : "0px");
30
29
  function toggle() {
31
30
  emit("click");
32
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RuiAccordion.vue.js","sources":["../../../../src/components/accordions/accordion/RuiAccordion.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport Icon from '@/components/icons/RuiIcon.vue';\n\nexport interface AccordionProps {\n open?: boolean;\n eager?: boolean;\n headerGrow?: boolean;\n headerClass?: string;\n contentClass?: string;\n}\n\ndefineOptions({\n name: 'RuiAccordion',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<AccordionProps>(), {\n open: false,\n eager: false,\n headerGrow: false,\n headerClass: '',\n contentClass: '',\n});\n\nconst emit = defineEmits<{\n click: [];\n}>();\n\nconst triggerId = useId();\nconst contentId = useId();\n\nconst inner = ref<HTMLDivElement>();\nconst { height: innerHeight } = useElementSize(inner);\n\nconst contentHeight = computed<string>(() => (props.open ? `${get(innerHeight)}px` : '0px'));\n\nfunction toggle(): void {\n emit('click');\n}\n\nfunction onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n toggle();\n }\n}\n</script>\n\n<template>\n <div\n class=\"flex flex-col items-start\"\n :data-state=\"open ? 'open' : 'closed'\"\n data-accordion\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"$slots.header\"\n :id=\"triggerId\"\n class=\"flex gap-2 items-center cursor-pointer outline-none focus-visible:bg-rui-primary/10 rounded\"\n :class=\"[headerClass, { 'w-full': headerGrow }]\"\n role=\"button\"\n tabindex=\"0\"\n :aria-expanded=\"open\"\n :aria-controls=\"contentId\"\n data-accordion-trigger\n @click=\"toggle()\"\n @keydown=\"onKeydown($event)\"\n >\n <div\n :class=\"{ grow: headerGrow }\"\n >\n <slot\n name=\"header\"\n :open=\"open\"\n />\n </div>\n <Icon\n class=\"text-rui-text-secondary transition-transform\"\n :class=\"{ '-rotate-180': open }\"\n name=\"lu-chevron-down\"\n />\n </div>\n <div\n v-if=\"open || eager\"\n :id=\"contentId\"\n class=\"grow transition-all overflow-hidden w-full\"\n :class=\"contentClass\"\n :style=\"{ height: contentHeight }\"\n role=\"region\"\n :aria-labelledby=\"triggerId\"\n data-accordion-content\n >\n <div ref=\"inner\">\n <slot name=\"default\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","$attrs","$slots","_unref","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAgBA,UAAM,QAAQ;AAQd,UAAM,OAAO;AAIb,UAAM,YAAY,MAAA;AAClB,UAAM,YAAY,MAAA;AAElB,UAAM,QAAQ,IAAA;AACd,UAAM,EAAE,QAAQ,gBAAgB,eAAe,KAAK;AAEpD,UAAM,gBAAgB,SAAiB,MAAO,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,KAAM;AAE3F,aAAS,SAAe;AACtB,WAAK,OAAO;AAAA,IACd;AAEA,aAAS,UAAU,OAA4B;AAC7C,UAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;AAC9C,cAAM,eAAA;AACN,eAAA;AAAA,MACF;AAAA,IACF;;AAIE,aAAAA,UAAA,GAAAC,mBA+CM,OA/CNC,WA+CM;AAAA,QA9CJ,OAAM;AAAA,QACL,cAAY,QAAA,OAAI,SAAA;AAAA,QACjB,kBAAA;AAAA,MAAA,GACQC,KAAAA,MAAM,GAAA;AAAA,QAGNC,KAAAA,OAAO,uBADfH,mBA0BM,OAAA;AAAA;UAxBH,IAAII,MAAA,SAAA;AAAA,UACL,OAAKC,eAAA,CAAC,+FAA6F,CAC1F,QAAA,yBAAyB,QAAA,WAAA,CAAU,CAAA,CAAA;AAAA,UAC5C,MAAK;AAAA,UACL,UAAS;AAAA,UACR,iBAAe,QAAA;AAAA,UACf,iBAAeD,MAAA,SAAA;AAAA,UAChB,0BAAA;AAAA,UACC,+CAAO;UACP,WAAO,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,UAAU,MAAM;AAAA,QAAA;UAE1BE,mBAOM,OAAA;AAAA,YANH,8BAAe,QAAA,YAAU;AAAA,UAAA;YAE1BC,WAGE,KAAA,QAAA,UAAA,EADC,MAAM,QAAA,MAAI;AAAA,UAAA;UAGfC,YAIEC,SAAA;AAAA,YAHA,OAAKJ,eAAA,CAAC,gDAA8C,EAAA,eAC3B,QAAA,KAAA,CAAI,CAAA;AAAA,YAC7B,MAAK;AAAA,UAAA;;QAID,QAAA,QAAQ,QAAA,sBADhBL,mBAaM,OAAA;AAAA;UAXH,IAAII,MAAA,SAAA;AAAA,UACL,OAAKC,eAAA,CAAC,8CACE,QAAA,YAAY,CAAA;AAAA,UACnB,gCAAiBD,MAAA,aAAA,GAAa;AAAA,UAC/B,MAAK;AAAA,UACJ,mBAAiBA,MAAA,SAAA;AAAA,UAClB,0BAAA;AAAA,QAAA;UAEAE,mBAEM,OAAA;AAAA,qBAFG;AAAA,YAAJ,KAAI;AAAA,UAAA;YACPC,WAAuB,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"RuiAccordion.vue.js","sources":["../../../../src/components/accordions/accordion/RuiAccordion.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport Icon from '@/components/icons/RuiIcon.vue';\n\nexport interface AccordionProps {\n open?: boolean;\n eager?: boolean;\n headerGrow?: boolean;\n headerClass?: string;\n contentClass?: string;\n}\n\ndefineOptions({\n name: 'RuiAccordion',\n inheritAttrs: false,\n});\n\nconst {\n open = false,\n eager = false,\n headerGrow = false,\n headerClass = '',\n contentClass = '',\n} = defineProps<AccordionProps>();\n\nconst emit = defineEmits<{\n click: [];\n}>();\n\ndefineSlots<{\n header?: (props: { open: boolean }) => any;\n default?: () => any;\n}>();\n\nconst inner = useTemplateRef<HTMLDivElement>('inner');\n\nconst triggerId = useId();\nconst contentId = useId();\nconst { height: innerHeight } = useElementSize(inner);\n\nconst contentHeight = computed<string>(() => (open ? `${get(innerHeight)}px` : '0px'));\n\nfunction toggle(): void {\n emit('click');\n}\n\nfunction onKeydown(event: KeyboardEvent): void {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n toggle();\n }\n}\n</script>\n\n<template>\n <div\n class=\"flex flex-col items-start\"\n :data-state=\"open ? 'open' : 'closed'\"\n data-accordion\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"$slots.header\"\n :id=\"triggerId\"\n class=\"flex gap-2 items-center cursor-pointer outline-none focus-visible:bg-rui-primary/10 rounded\"\n :class=\"[headerClass, { 'w-full': headerGrow }]\"\n role=\"button\"\n tabindex=\"0\"\n :aria-expanded=\"open\"\n :aria-controls=\"contentId\"\n data-accordion-trigger\n @click=\"toggle()\"\n @keydown=\"onKeydown($event)\"\n >\n <div :class=\"{ grow: headerGrow }\">\n <slot\n name=\"header\"\n :open=\"open\"\n />\n </div>\n <Icon\n class=\"text-rui-text-secondary transition-transform\"\n :class=\"{ '-rotate-180': open }\"\n name=\"lu-chevron-down\"\n />\n </div>\n <div\n v-if=\"open || eager\"\n :id=\"contentId\"\n class=\"grow transition-all overflow-hidden w-full\"\n :class=\"contentClass\"\n :style=\"{ height: contentHeight }\"\n role=\"region\"\n :aria-labelledby=\"triggerId\"\n data-accordion-content\n >\n <div ref=\"inner\">\n <slot name=\"default\" />\n </div>\n </div>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","$attrs","$slots","_unref","_normalizeClass","_createElementVNode","_renderSlot","_createVNode","Icon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBA,UAAM,OAAO;AASb,UAAM,QAAQ,eAA+B,OAAO;AAEpD,UAAM,YAAY,MAAA;AAClB,UAAM,YAAY,MAAA;AAClB,UAAM,EAAE,QAAQ,gBAAgB,eAAe,KAAK;AAEpD,UAAM,gBAAgB,SAAiB,MAAO,QAAA,OAAO,GAAG,IAAI,WAAW,CAAC,OAAO,KAAM;AAErF,aAAS,SAAe;AACtB,WAAK,OAAO;AAAA,IACd;AAEA,aAAS,UAAU,OAA4B;AAC7C,UAAI,MAAM,QAAQ,WAAW,MAAM,QAAQ,KAAK;AAC9C,cAAM,eAAA;AACN,eAAA;AAAA,MACF;AAAA,IACF;;AAIE,aAAAA,UAAA,GAAAC,mBA6CM,OA7CNC,WA6CM;AAAA,QA5CJ,OAAM;AAAA,QACL,cAAY,QAAA,OAAI,SAAA;AAAA,QACjB,kBAAA;AAAA,MAAA,GACQC,KAAAA,MAAM,GAAA;AAAA,QAGNC,KAAAA,OAAO,uBADfH,mBAwBM,OAAA;AAAA;UAtBH,IAAII,MAAA,SAAA;AAAA,UACL,OAAKC,eAAA,CAAC,+FAA6F,CAC1F,QAAA,yBAAyB,QAAA,WAAA,CAAU,CAAA,CAAA;AAAA,UAC5C,MAAK;AAAA,UACL,UAAS;AAAA,UACR,iBAAe,QAAA;AAAA,UACf,iBAAeD,MAAA,SAAA;AAAA,UAChB,0BAAA;AAAA,UACC,+CAAO;UACP,WAAO,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,UAAU,MAAM;AAAA,QAAA;UAE1BE,mBAKM,OAAA;AAAA,YALA,8BAAe,QAAA,YAAU;AAAA,UAAA;YAC7BC,WAGE,KAAA,QAAA,UAAA,EADC,MAAM,QAAA,MAAI;AAAA,UAAA;UAGfC,YAIEC,SAAA;AAAA,YAHA,OAAKJ,eAAA,CAAC,gDAA8C,EAAA,eAC3B,QAAA,KAAA,CAAI,CAAA;AAAA,YAC7B,MAAK;AAAA,UAAA;;QAID,QAAA,QAAQ,QAAA,sBADhBL,mBAaM,OAAA;AAAA;UAXH,IAAII,MAAA,SAAA;AAAA,UACL,OAAKC,eAAA,CAAC,8CACE,QAAA,YAAY,CAAA;AAAA,UACnB,gCAAiBD,MAAA,aAAA,GAAa;AAAA,UAC/B,MAAK;AAAA,UACJ,mBAAiBA,MAAA,SAAA;AAAA,UAClB,0BAAA;AAAA,QAAA;UAEAE,mBAEM,OAAA;AAAA,qBAFG;AAAA,YAAJ,KAAI;AAAA,UAAA;YACPC,WAAuB,KAAA,QAAA,SAAA;AAAA,UAAA;;;;;;"}
@@ -1,14 +1,15 @@
1
1
  export interface Props {
2
- modelValue?: number[] | number;
3
2
  multiple?: boolean;
4
3
  }
5
- declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
6
- "update:model-value": (modelValue: number | number[]) => any;
7
- }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
8
- "onUpdate:model-value"?: ((modelValue: number | number[]) => any) | undefined;
9
- }>, {
10
- modelValue: number[] | number;
11
- multiple: boolean;
12
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4
+ type __VLS_Props = Props;
5
+ type __VLS_ModelProps = {
6
+ modelValue?: number[] | number;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:modelValue": (value: number | number[]) => any;
11
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
12
+ "onUpdate:modelValue"?: ((value: number | number[]) => any) | undefined;
13
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
14
  declare const _default: typeof __VLS_export;
14
15
  export default _default;
@@ -1,4 +1,4 @@
1
- import { defineComponent, toRefs, ref, useSlots, computed, watch, openBlock, createElementBlock, normalizeProps, guardReactiveProps, Fragment, renderList, unref, createBlock, resolveDynamicComponent } from "vue";
1
+ import { defineComponent, useModel, ref, useSlots, computed, watch, openBlock, createElementBlock, normalizeProps, guardReactiveProps, Fragment, renderList, unref, createBlock, resolveDynamicComponent, mergeModels } from "vue";
2
2
  import { get, set } from "@vueuse/shared";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  ...{
@@ -6,23 +6,22 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  inheritAttrs: false
7
7
  },
8
8
  __name: "RuiAccordions",
9
- props: {
10
- modelValue: { default: -1 },
9
+ props: /* @__PURE__ */ mergeModels({
11
10
  multiple: { type: Boolean, default: false }
12
- },
13
- emits: ["update:model-value"],
14
- setup(__props, { emit: __emit }) {
15
- const props = __props;
16
- const emit = __emit;
17
- const { modelValue, multiple } = toRefs(props);
11
+ }, {
12
+ "modelValue": { default: -1 },
13
+ "modelModifiers": {}
14
+ }),
15
+ emits: ["update:modelValue"],
16
+ setup(__props) {
17
+ const modelValue = useModel(__props, "modelValue");
18
18
  const internalValue = ref();
19
19
  const slots = useSlots();
20
20
  const children = computed(() => {
21
21
  const accordions = slots.default?.() ?? [];
22
22
  const currentValue = get(internalValue);
23
- const multipleVal = get(multiple);
24
23
  return accordions.map((accordion, index) => {
25
- const open = multipleVal && Array.isArray(currentValue) ? currentValue.includes(index) : currentValue === index;
24
+ const open = __props.multiple && Array.isArray(currentValue) ? currentValue.includes(index) : currentValue === index;
26
25
  return {
27
26
  ...accordion,
28
27
  props: {
@@ -35,31 +34,33 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
35
34
  function updateValue(newModelValue) {
36
35
  let newValue;
37
36
  const internal = get(internalValue);
38
- if (get(multiple) && Array.isArray(internal)) {
39
- const temp = [...get(internal)];
37
+ if (__props.multiple && Array.isArray(internal)) {
38
+ const temp = [...internal];
40
39
  const index = temp.indexOf(newModelValue);
41
40
  if (index === -1)
42
41
  temp.push(newModelValue);
43
- else
44
- temp.splice(index, 1);
42
+ else temp.splice(index, 1);
45
43
  newValue = temp;
46
44
  } else {
47
45
  if (internal === newModelValue)
48
46
  newValue = -1;
49
- else
50
- newValue = newModelValue;
47
+ else newValue = newModelValue;
51
48
  }
52
- emit("update:model-value", newValue);
49
+ set(modelValue, newValue);
53
50
  set(internalValue, newValue);
54
51
  }
55
- watch([modelValue, multiple], ([value, multiple2]) => {
56
- let internal = value;
57
- if (multiple2 && !Array.isArray(internal))
58
- internal = internal === -1 ? [] : [internal];
59
- else if (!multiple2 && Array.isArray(internal))
60
- internal = internal[0] ?? -1;
61
- set(internalValue, internal);
62
- }, { immediate: true });
52
+ watch(
53
+ [modelValue, () => __props.multiple],
54
+ ([value, isMultiple]) => {
55
+ let internal = value;
56
+ if (isMultiple && !Array.isArray(internal))
57
+ internal = internal === -1 ? [] : [internal];
58
+ else if (!isMultiple && Array.isArray(internal))
59
+ internal = internal[0] ?? -1;
60
+ set(internalValue, internal);
61
+ },
62
+ { immediate: true }
63
+ );
63
64
  return (_ctx, _cache) => {
64
65
  return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(_ctx.$attrs)), [
65
66
  (openBlock(true), createElementBlock(Fragment, null, renderList(unref(children), (child, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"RuiAccordions.vue.js","sources":["../../../../src/components/accordions/accordions/RuiAccordions.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n modelValue?: number[] | number;\n multiple?: boolean;\n}\n\ndefineOptions({\n name: 'RuiAccordions',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n modelValue: -1,\n multiple: false,\n});\n\nconst emit = defineEmits<{\n (e: 'update:model-value', modelValue: number | number[]): void;\n}>();\n\nconst { modelValue, multiple } = toRefs(props);\n\nconst internalValue = ref();\n\nconst slots = useSlots();\nconst children = computed(() => {\n const accordions = slots.default?.() ?? [];\n const currentValue = get(internalValue);\n const multipleVal = get(multiple);\n\n return accordions.map((accordion, index) => {\n const open = multipleVal && Array.isArray(currentValue) ? currentValue.includes(index) : currentValue === index;\n\n return {\n ...accordion,\n props: {\n open,\n ...accordion.props,\n },\n };\n });\n});\n\nfunction updateValue(newModelValue: number) {\n let newValue: number[] | number;\n const internal = get(internalValue);\n if (get(multiple) && Array.isArray(internal)) {\n const temp = [...get(internal)];\n const index = temp.indexOf(newModelValue);\n if (index === -1)\n temp.push(newModelValue);\n else\n temp.splice(index, 1);\n newValue = temp;\n }\n else {\n if (internal === newModelValue)\n newValue = -1;\n else\n newValue = newModelValue;\n }\n emit('update:model-value', newValue);\n set(internalValue, newValue);\n}\n\nwatch([modelValue, multiple], ([value, multiple]) => {\n let internal: number | number[] = value;\n if (multiple && !Array.isArray(internal))\n internal = internal === -1 ? [] : [internal];\n else if (!multiple && Array.isArray(internal))\n internal = internal[0] ?? -1;\n\n set(internalValue, internal);\n}, { immediate: true });\n</script>\n\n<template>\n <div v-bind=\"$attrs\">\n <Component\n :is=\"child\"\n v-for=\"(child, i) in children\"\n :key=\"i\"\n @click=\"updateValue(i)\"\n />\n </div>\n</template>\n"],"names":["multiple","_openBlock","_createElementBlock","$attrs","_Fragment","_renderList","_unref","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;AAWA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAIb,UAAM,EAAE,YAAY,aAAa,OAAO,KAAK;AAE7C,UAAM,gBAAgB,IAAA;AAEtB,UAAM,QAAQ,SAAA;AACd,UAAM,WAAW,SAAS,MAAM;AAC9B,YAAM,aAAa,MAAM,UAAA,KAAe,CAAA;AACxC,YAAM,eAAe,IAAI,aAAa;AACtC,YAAM,cAAc,IAAI,QAAQ;AAEhC,aAAO,WAAW,IAAI,CAAC,WAAW,UAAU;AAC1C,cAAM,OAAO,eAAe,MAAM,QAAQ,YAAY,IAAI,aAAa,SAAS,KAAK,IAAI,iBAAiB;AAE1G,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO;AAAA,YACL;AAAA,YACA,GAAG,UAAU;AAAA,UAAA;AAAA,QACf;AAAA,MAEJ,CAAC;AAAA,IACH,CAAC;AAED,aAAS,YAAY,eAAuB;AAC1C,UAAI;AACJ,YAAM,WAAW,IAAI,aAAa;AAClC,UAAI,IAAI,QAAQ,KAAK,MAAM,QAAQ,QAAQ,GAAG;AAC5C,cAAM,OAAO,CAAC,GAAG,IAAI,QAAQ,CAAC;AAC9B,cAAM,QAAQ,KAAK,QAAQ,aAAa;AACxC,YAAI,UAAU;AACZ,eAAK,KAAK,aAAa;AAAA;AAEvB,eAAK,OAAO,OAAO,CAAC;AACtB,mBAAW;AAAA,MACb,OACK;AACH,YAAI,aAAa;AACf,qBAAW;AAAA;AAEX,qBAAW;AAAA,MACf;AACA,WAAK,sBAAsB,QAAQ;AACnC,UAAI,eAAe,QAAQ;AAAA,IAC7B;AAEA,UAAM,CAAC,YAAY,QAAQ,GAAG,CAAC,CAAC,OAAOA,SAAQ,MAAM;AACnD,UAAI,WAA8B;AAClC,UAAIA,aAAY,CAAC,MAAM,QAAQ,QAAQ;AACrC,mBAAW,aAAa,KAAK,CAAA,IAAK,CAAC,QAAQ;AAAA,eACpC,CAACA,aAAY,MAAM,QAAQ,QAAQ;AAC1C,mBAAW,SAAS,CAAC,KAAK;AAE5B,UAAI,eAAe,QAAQ;AAAA,IAC7B,GAAG,EAAE,WAAW,MAAM;;AAIpB,aAAAC,UAAA,GAAAC,mBAOM,yCAPOC,KAAAA,MAAM,CAAA,GAAA;AAAA,SACjBF,UAAA,IAAA,GAAAC,mBAKEE,UAAA,MAAAC,WAHqBC,MAAA,QAAA,GAAQ,CAArB,OAAO,MAAC;AAFlB,iBAAAL,UAAA,GAAAM,YAKEC,wBAJK,KAAK,GAAA;AAAA,YAET,KAAK;AAAA,YACL,SAAK,CAAA,WAAE,YAAY,CAAC;AAAA,UAAA;;;;;;"}
1
+ {"version":3,"file":"RuiAccordions.vue.js","sources":["../../../../src/components/accordions/accordions/RuiAccordions.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nexport interface Props {\n multiple?: boolean;\n}\n\ndefineOptions({\n name: 'RuiAccordions',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<number[] | number>({ default: -1 });\n\nconst { multiple = false } = defineProps<Props>();\n\nconst internalValue = ref<number[] | number>();\n\nconst slots = useSlots();\nconst children = computed<VNode[]>(() => {\n const accordions = slots.default?.() ?? [];\n const currentValue = get(internalValue);\n\n return accordions.map((accordion, index) => {\n const open =\n multiple && Array.isArray(currentValue)\n ? currentValue.includes(index)\n : currentValue === index;\n\n return {\n ...accordion,\n props: {\n open,\n ...accordion.props,\n },\n };\n });\n});\n\nfunction updateValue(newModelValue: number): void {\n let newValue: number[] | number;\n const internal = get(internalValue);\n if (multiple && Array.isArray(internal)) {\n const temp = [...internal];\n const index = temp.indexOf(newModelValue);\n if (index === -1)\n temp.push(newModelValue);\n else temp.splice(index, 1);\n newValue = temp;\n }\n else {\n if (internal === newModelValue)\n newValue = -1;\n else newValue = newModelValue;\n }\n set(modelValue, newValue);\n set(internalValue, newValue);\n}\n\nwatch(\n [modelValue, () => multiple],\n ([value, isMultiple]) => {\n let internal: number | number[] = value;\n if (isMultiple && !Array.isArray(internal))\n internal = internal === -1 ? [] : [internal];\n else if (!isMultiple && Array.isArray(internal))\n internal = internal[0] ?? -1;\n\n set(internalValue, internal);\n },\n { immediate: true },\n);\n</script>\n\n<template>\n <div v-bind=\"$attrs\">\n <Component\n :is=\"child\"\n v-for=\"(child, i) in children\"\n :key=\"i\"\n @click=\"updateValue(i)\"\n />\n </div>\n</template>\n"],"names":["_useModel","_openBlock","_createElementBlock","$attrs","_Fragment","_renderList","_unref","_createBlock","_resolveDynamicComponent"],"mappings":";;;;;;;;;;;;;;;;AAUA,UAAM,aAAaA,8BAA8C;AAIjE,UAAM,gBAAgB,IAAA;AAEtB,UAAM,QAAQ,SAAA;AACd,UAAM,WAAW,SAAkB,MAAM;AACvC,YAAM,aAAa,MAAM,UAAA,KAAe,CAAA;AACxC,YAAM,eAAe,IAAI,aAAa;AAEtC,aAAO,WAAW,IAAI,CAAC,WAAW,UAAU;AAC1C,cAAM,OACJ,QAAA,YAAY,MAAM,QAAQ,YAAY,IAClC,aAAa,SAAS,KAAK,IAC3B,iBAAiB;AAEvB,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO;AAAA,YACL;AAAA,YACA,GAAG,UAAU;AAAA,UAAA;AAAA,QACf;AAAA,MAEJ,CAAC;AAAA,IACH,CAAC;AAED,aAAS,YAAY,eAA6B;AAChD,UAAI;AACJ,YAAM,WAAW,IAAI,aAAa;AAClC,UAAI,QAAA,YAAY,MAAM,QAAQ,QAAQ,GAAG;AACvC,cAAM,OAAO,CAAC,GAAG,QAAQ;AACzB,cAAM,QAAQ,KAAK,QAAQ,aAAa;AACxC,YAAI,UAAU;AACZ,eAAK,KAAK,aAAa;AAAA,YACpB,MAAK,OAAO,OAAO,CAAC;AACzB,mBAAW;AAAA,MACb,OACK;AACH,YAAI,aAAa;AACf,qBAAW;AAAA,YACR,YAAW;AAAA,MAClB;AACA,UAAI,YAAY,QAAQ;AACxB,UAAI,eAAe,QAAQ;AAAA,IAC7B;AAEA;AAAA,MACE,CAAC,YAAY,MAAM,QAAA,QAAQ;AAAA,MAC3B,CAAC,CAAC,OAAO,UAAU,MAAM;AACvB,YAAI,WAA8B;AAClC,YAAI,cAAc,CAAC,MAAM,QAAQ,QAAQ;AACvC,qBAAW,aAAa,KAAK,CAAA,IAAK,CAAC,QAAQ;AAAA,iBACpC,CAAC,cAAc,MAAM,QAAQ,QAAQ;AAC5C,qBAAW,SAAS,CAAC,KAAK;AAE5B,YAAI,eAAe,QAAQ;AAAA,MAC7B;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;;AAKlB,aAAAC,UAAA,GAAAC,mBAOM,yCAPOC,KAAAA,MAAM,CAAA,GAAA;AAAA,SACjBF,UAAA,IAAA,GAAAC,mBAKEE,UAAA,MAAAC,WAHqBC,MAAA,QAAA,GAAQ,CAArB,OAAO,MAAC;AAFlB,iBAAAL,UAAA,GAAAM,YAKEC,wBAJK,KAAK,GAAA;AAAA,YAET,KAAK;AAAA,YACL,SAAK,CAAA,WAAE,YAAY,CAAC;AAAA,UAAA;;;;;;"}
@@ -9,27 +9,17 @@ export interface Props {
9
9
  actionText?: string;
10
10
  closeable?: boolean;
11
11
  }
12
- declare var __VLS_6: {}, __VLS_8: {};
13
- type __VLS_Slots = {} & {
14
- title?: (props: typeof __VLS_6) => any;
15
- } & {
16
- default?: (props: typeof __VLS_8) => any;
12
+ type __VLS_Slots = {
13
+ title?: () => any;
14
+ default?: () => any;
17
15
  };
18
- declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
16
+ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
17
  action: () => any;
20
18
  close: () => any;
21
19
  }, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
22
20
  onAction?: (() => any) | undefined;
23
21
  onClose?: (() => any) | undefined;
24
- }>, {
25
- title: string;
26
- variant: "default" | "filled" | "outlined";
27
- type: ContextColorsType;
28
- icon: RuiIcons;
29
- description: string;
30
- actionText: string;
31
- closeable: boolean;
32
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
34
24
  declare const _default: typeof __VLS_export;
35
25
  export default _default;
@@ -1,7 +1,6 @@
1
- import { defineComponent, toRefs, computed, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, withCtx } from "vue";
1
+ import { defineComponent, computed, openBlock, createElementBlock, mergeProps, createElementVNode, unref, normalizeClass, createVNode, createCommentVNode, renderSlot, createTextVNode, toDisplayString, withCtx } from "vue";
2
2
  import RuiButton from "../buttons/button/RuiButton.vue.js";
3
3
  import RuiIcon from "../icons/RuiIcon.vue.js";
4
- import { get } from "@vueuse/shared";
5
4
  const _hoisted_1 = { class: "flex space-x-3 py-1 flex-grow" };
6
5
  const _hoisted_2 = {
7
6
  key: 1,
@@ -19,20 +18,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
19
18
  title: { default: "" },
20
19
  description: { default: "" },
21
20
  type: { default: "primary" },
22
- icon: { default: void 0 },
21
+ icon: { default: () => void 0 },
23
22
  variant: { default: "default" },
24
23
  actionText: { default: "" },
25
24
  closeable: { type: Boolean, default: false }
26
25
  },
27
26
  emits: ["action", "close"],
28
27
  setup(__props, { emit: __emit }) {
29
- const props = __props;
30
28
  const emit = __emit;
31
- const { icon, type } = toRefs(props);
32
29
  const usedIcon = computed(() => {
33
- const iconVal = get(icon);
34
- if (iconVal)
35
- return iconVal;
30
+ if (__props.icon)
31
+ return __props.icon;
36
32
  const iconMap = {
37
33
  primary: void 0,
38
34
  secondary: void 0,
@@ -41,15 +37,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
37
  error: "lu-circle-alert",
42
38
  success: "lu-circle-check"
43
39
  };
44
- return iconMap[get(type)];
40
+ return iconMap[__props.type];
45
41
  });
46
42
  return (_ctx, _cache) => {
47
43
  return openBlock(), createElementBlock("div", mergeProps({
48
- class: [
49
- _ctx.$style.alert,
50
- _ctx.$style[unref(type)],
51
- _ctx.$style[__props.variant]
52
- ]
44
+ class: [_ctx.$style.alert, _ctx.$style[__props.type], _ctx.$style[__props.variant]]
53
45
  }, _ctx.$attrs), [
54
46
  createElementVNode("div", _hoisted_1, [
55
47
  unref(usedIcon) ? (openBlock(), createElementBlock("div", {
@@ -85,7 +77,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
85
77
  createVNode(RuiButton, {
86
78
  variant: "text",
87
79
  size: "sm",
88
- color: __props.variant === "filled" ? void 0 : unref(type),
80
+ color: __props.variant === "filled" ? void 0 : __props.type,
89
81
  class: normalizeClass(_ctx.$style.action),
90
82
  onClick: _cache[0] || (_cache[0] = ($event) => emit("action"))
91
83
  }, {
@@ -97,7 +89,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
97
89
  ])) : createCommentVNode("", true),
98
90
  __props.closeable ? (openBlock(), createElementBlock("div", _hoisted_4, [
99
91
  createVNode(RuiButton, {
100
- color: __props.variant === "filled" ? void 0 : unref(type),
92
+ color: __props.variant === "filled" ? void 0 : __props.type,
101
93
  size: "sm",
102
94
  icon: "",
103
95
  variant: "text",
@@ -1 +1 @@
1
- {"version":3,"file":"RuiAlert.vue2.js","sources":["../../../src/components/alerts/RuiAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface Props {\n title?: string;\n description?: string;\n type?: ContextColorsType;\n icon?: RuiIcons;\n variant?: 'default' | 'filled' | 'outlined';\n actionText?: string;\n closeable?: boolean;\n}\n\ndefineOptions({\n name: 'RuiAlert',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n title: '',\n description: '',\n type: 'primary',\n icon: undefined,\n variant: 'default',\n actionText: '',\n closeable: false,\n});\n\nconst emit = defineEmits<{\n (e: 'action'): void;\n (e: 'close'): void;\n}>();\n\nconst { icon, type } = toRefs(props);\n\nconst usedIcon = computed<RuiIcons | undefined>(() => {\n const iconVal = get(icon);\n if (iconVal)\n return iconVal;\n\n const iconMap: Record<ContextColorsType, RuiIcons | undefined> = {\n primary: undefined,\n secondary: undefined,\n warning: 'lu-triangle-alert',\n info: 'lu-info',\n error: 'lu-circle-alert',\n success: 'lu-circle-check',\n };\n\n return iconMap[get(type)];\n});\n</script>\n\n<template>\n <div\n :class=\"[\n $style.alert,\n $style[type],\n $style[variant],\n ]\"\n v-bind=\"$attrs\"\n >\n <div class=\"flex space-x-3 py-1 flex-grow\">\n <div\n v-if=\"usedIcon\"\n :class=\"$style.icon\"\n >\n <RuiIcon\n :name=\"usedIcon\"\n size=\"22\"\n />\n </div>\n <div\n class=\"space-y-1 flex-grow\"\n :class=\"$style.texts\"\n >\n <div\n v-if=\"$slots.title || title\"\n :class=\"{\n 'font-medium': !!title,\n }\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default || description\"\n class=\"text-body-2\"\n >\n <slot>\n {{ description }}\n </slot>\n </div>\n </div>\n </div>\n <div v-if=\"actionText\">\n <RuiButton\n variant=\"text\"\n size=\"sm\"\n :color=\"variant === 'filled' ? undefined : type\"\n :class=\"$style.action\"\n @click=\"emit('action')\"\n >\n {{ actionText }}\n </RuiButton>\n </div>\n <div v-if=\"closeable\">\n <RuiButton\n :color=\"variant === 'filled' ? undefined : type\"\n size=\"sm\"\n icon\n variant=\"text\"\n :class=\"$style.close\"\n @click=\"emit('close')\"\n >\n <RuiIcon\n name=\"lu-x\"\n size=\"20\"\n />\n </RuiButton>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n@use '@/styles/colors.scss' as c;\n@use 'sass:list';\n\n:global(.dark) {\n .alert {\n @each $color in c.$context-colors {\n &.#{$color} {\n &.default {\n @apply color-mix-supported:bg-rui-#{$color}-shade/[.9] bg-shade-[.9];\n }\n\n &.default,\n &.outlined {\n .icon,\n .texts,\n .action,\n .close {\n @apply color-mix-supported:text-rui-#{$color}-tint/[.6] text-tint-[.6];\n }\n\n .icon {\n @apply text-rui-#{$color};\n }\n }\n }\n\n @if list.index((warning, success, info), $color) {\n &.#{$color} {\n &.filled {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-light-text #{!important};\n }\n }\n }\n }\n }\n\n &.outlined {\n @apply bg-black;\n }\n }\n}\n\n.alert {\n @apply px-4 py-2.5 rounded flex space-x-4;\n\n @each $color in c.$context-colors {\n &.#{$color} {\n &.default {\n @apply color-mix-supported:bg-rui-#{$color}-tint/[.9];\n @apply bg-rui-#{$color} bg-tint-[.9];\n }\n\n &.filled {\n @apply bg-rui-#{$color};\n }\n\n &.outlined {\n @apply border-rui-#{$color};\n }\n\n &.default,\n &.outlined {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-#{$color} text-shade-[.6];\n @apply color-mix-supported:text-rui-#{$color}-shade/[.6] color-mix-supported:animate-none;\n }\n }\n }\n }\n\n &.filled {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-dark-text #{!important};\n }\n }\n\n &.outlined {\n @apply border m-[-1px] bg-white;\n }\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","$style","_unref","$attrs","_createElementVNode","_normalizeClass","_createVNode","$slots","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,UAAM,QAAQ;AAUd,UAAM,OAAO;AAKb,UAAM,EAAE,MAAM,SAAS,OAAO,KAAK;AAEnC,UAAM,WAAW,SAA+B,MAAM;AACpD,YAAM,UAAU,IAAI,IAAI;AACxB,UAAI;AACF,eAAO;AAET,YAAM,UAA2D;AAAA,QAC/D,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,MAAA;AAGX,aAAO,QAAQ,IAAI,IAAI,CAAC;AAAA,IAC1B,CAAC;;AAIC,aAAAA,UAAA,GAAAC,mBAqEM,OArENC,WAqEM;AAAA,QApEH,OAAK;AAAA,UAAUC,KAAAA,OAAO;AAAA,UAAaA,KAAAA,OAAOC,MAAA,IAAA,CAAI;AAAA,UAASD,KAAAA,OAAO,QAAA,OAAO;AAAA,QAAA;AAAA,SAK9DE,KAAAA,MAAM,GAAA;AAAA,QAEdC,mBAkCM,OAlCN,YAkCM;AAAA,UAhCIF,MAAA,QAAA,kBADRH,mBAQM,OAAA;AAAA;YANH,OAAKM,eAAEJ,KAAAA,OAAO,IAAI;AAAA,UAAA;YAEnBK,YAGE,SAAA;AAAA,cAFC,MAAMJ,MAAA,QAAA;AAAA,cACP,MAAK;AAAA,YAAA;;UAGTE,mBAuBM,OAAA;AAAA,YAtBJ,OAAKC,eAAA,CAAC,uBACEJ,KAAAA,OAAO,KAAK,CAAA;AAAA,UAAA;YAGZM,KAAAA,OAAO,SAAS,QAAA,sBADxBR,mBASM,OAAA;AAAA;cAPH,OAAKM,eAAA;AAAA,iCAAiC,QAAA;AAAA,cAAA;;cAIvCG,WAEO,0BAFP,MAEO;AAAA,gDADF,QAAA,KAAK,GAAA,CAAA;AAAA,cAAA;;YAKJD,KAAAA,OAAO,WAAW,QAAA,eAD1BT,aAAAC,mBAOM,OAPN,YAOM;AAAA,cAHJS,WAEO,4BAFP,MAEO;AAAA,gDADF,QAAA,WAAW,GAAA,CAAA;AAAA,cAAA;;;;QAKX,QAAA,2BAAXT,mBAUM,OAAA,YAAA;AAAA,UATJO,YAQY,WAAA;AAAA,YAPV,SAAQ;AAAA,YACR,MAAK;AAAA,YACJ,OAAO,QAAA,YAAO,WAAgB,SAAYJ,MAAA,IAAA;AAAA,YAC1C,OAAKG,eAAEJ,KAAAA,OAAO,MAAM;AAAA,YACpB,+CAAO,KAAI,QAAA;AAAA,UAAA;6BAEZ,MAAgB;AAAA,8CAAb,QAAA,UAAU,GAAA,CAAA;AAAA,YAAA;;;;QAGN,QAAA,0BAAXF,mBAcM,OAAA,YAAA;AAAA,UAbJO,YAYY,WAAA;AAAA,YAXT,OAAO,QAAA,YAAO,WAAgB,SAAYJ,MAAA,IAAA;AAAA,YAC3C,MAAK;AAAA,YACL,MAAA;AAAA,YACA,SAAQ;AAAA,YACP,OAAKG,eAAEJ,KAAAA,OAAO,KAAK;AAAA,YACnB,+CAAO,KAAI,OAAA;AAAA,UAAA;6BAEZ,MAGE;AAAA,cAHFK,YAGE,SAAA;AAAA,gBAFA,MAAK;AAAA,gBACL,MAAK;AAAA,cAAA;;;;;;;;;"}
1
+ {"version":3,"file":"RuiAlert.vue2.js","sources":["../../../src/components/alerts/RuiAlert.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\nexport interface Props {\n title?: string;\n description?: string;\n type?: ContextColorsType;\n icon?: RuiIcons;\n variant?: 'default' | 'filled' | 'outlined';\n actionText?: string;\n closeable?: boolean;\n}\n\ndefineOptions({\n name: 'RuiAlert',\n inheritAttrs: false,\n});\n\nconst {\n title = '',\n description = '',\n type = 'primary',\n icon = undefined,\n variant = 'default',\n actionText = '',\n closeable = false,\n} = defineProps<Props>();\n\nconst emit = defineEmits<{\n action: [];\n close: [];\n}>();\n\ndefineSlots<{\n title?: () => any;\n default?: () => any;\n}>();\n\nconst usedIcon = computed<RuiIcons | undefined>(() => {\n if (icon)\n return icon;\n\n const iconMap: Record<ContextColorsType, RuiIcons | undefined> = {\n primary: undefined,\n secondary: undefined,\n warning: 'lu-triangle-alert',\n info: 'lu-info',\n error: 'lu-circle-alert',\n success: 'lu-circle-check',\n };\n\n return iconMap[type];\n});\n</script>\n\n<template>\n <div\n :class=\"[$style.alert, $style[type], $style[variant]]\"\n v-bind=\"$attrs\"\n >\n <div class=\"flex space-x-3 py-1 flex-grow\">\n <div\n v-if=\"usedIcon\"\n :class=\"$style.icon\"\n >\n <RuiIcon\n :name=\"usedIcon\"\n size=\"22\"\n />\n </div>\n <div\n class=\"space-y-1 flex-grow\"\n :class=\"$style.texts\"\n >\n <div\n v-if=\"$slots.title || title\"\n :class=\"{\n 'font-medium': !!title,\n }\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n\n <div\n v-if=\"$slots.default || description\"\n class=\"text-body-2\"\n >\n <slot>\n {{ description }}\n </slot>\n </div>\n </div>\n </div>\n <div v-if=\"actionText\">\n <RuiButton\n variant=\"text\"\n size=\"sm\"\n :color=\"variant === 'filled' ? undefined : type\"\n :class=\"$style.action\"\n @click=\"emit('action')\"\n >\n {{ actionText }}\n </RuiButton>\n </div>\n <div v-if=\"closeable\">\n <RuiButton\n :color=\"variant === 'filled' ? undefined : type\"\n size=\"sm\"\n icon\n variant=\"text\"\n :class=\"$style.close\"\n @click=\"emit('close')\"\n >\n <RuiIcon\n name=\"lu-x\"\n size=\"20\"\n />\n </RuiButton>\n </div>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n@use '@/styles/colors.scss' as c;\n@use 'sass:list';\n\n:global(.dark) {\n .alert {\n @each $color in c.$context-colors {\n &.#{$color} {\n &.default {\n @apply color-mix-supported:bg-rui-#{$color}-shade/[.9] bg-shade-[.9];\n }\n\n &.default,\n &.outlined {\n .icon,\n .texts,\n .action,\n .close {\n @apply color-mix-supported:text-rui-#{$color}-tint/[.6] text-tint-[.6];\n }\n\n .icon {\n @apply text-rui-#{$color};\n }\n }\n }\n\n @if list.index((warning, success, info), $color) {\n &.#{$color} {\n &.filled {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-light-text #{!important};\n }\n }\n }\n }\n }\n\n &.outlined {\n @apply bg-black;\n }\n }\n}\n\n.alert {\n @apply px-4 py-2.5 rounded flex space-x-4;\n\n @each $color in c.$context-colors {\n &.#{$color} {\n &.default {\n @apply color-mix-supported:bg-rui-#{$color}-tint/[.9];\n @apply bg-rui-#{$color} bg-tint-[.9];\n }\n\n &.filled {\n @apply bg-rui-#{$color};\n }\n\n &.outlined {\n @apply border-rui-#{$color};\n }\n\n &.default,\n &.outlined {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-#{$color} text-shade-[.6];\n @apply color-mix-supported:text-rui-#{$color}-shade/[.6] color-mix-supported:animate-none;\n }\n }\n }\n }\n\n &.filled {\n .icon,\n .texts,\n .action,\n .close {\n @apply text-rui-dark-text #{!important};\n }\n }\n\n &.outlined {\n @apply border m-[-1px] bg-white;\n }\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","$style","$attrs","_createElementVNode","_unref","_normalizeClass","_createVNode","$slots","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,UAAM,OAAO;AAUb,UAAM,WAAW,SAA+B,MAAM;AACpD,UAAI,QAAA;AACF,eAAO,QAAA;AAET,YAAM,UAA2D;AAAA,QAC/D,SAAS;AAAA,QACT,WAAW;AAAA,QACX,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,MAAA;AAGX,aAAO,QAAQ,YAAI;AAAA,IACrB,CAAC;;AAIC,aAAAA,UAAA,GAAAC,mBAiEM,OAjENC,WAiEM;AAAA,QAhEH,OAAK,CAAGC,KAAAA,OAAO,OAAOA,KAAAA,OAAO,QAAA,IAAI,GAAGA,KAAAA,OAAO,QAAA,OAAO,CAAA;AAAA,MAAA,GAC3CC,KAAAA,MAAM,GAAA;AAAA,QAEdC,mBAkCM,OAlCN,YAkCM;AAAA,UAhCIC,MAAA,QAAA,kBADRL,mBAQM,OAAA;AAAA;YANH,OAAKM,eAAEJ,KAAAA,OAAO,IAAI;AAAA,UAAA;YAEnBK,YAGE,SAAA;AAAA,cAFC,MAAMF,MAAA,QAAA;AAAA,cACP,MAAK;AAAA,YAAA;;UAGTD,mBAuBM,OAAA;AAAA,YAtBJ,OAAKE,eAAA,CAAC,uBACEJ,KAAAA,OAAO,KAAK,CAAA;AAAA,UAAA;YAGZM,KAAAA,OAAO,SAAS,QAAA,sBADxBR,mBASM,OAAA;AAAA;cAPH,OAAKM,eAAA;AAAA,iCAAiC,QAAA;AAAA,cAAA;;cAIvCG,WAEO,0BAFP,MAEO;AAAA,gDADF,QAAA,KAAK,GAAA,CAAA;AAAA,cAAA;;YAKJD,KAAAA,OAAO,WAAW,QAAA,eAD1BT,aAAAC,mBAOM,OAPN,YAOM;AAAA,cAHJS,WAEO,4BAFP,MAEO;AAAA,gDADF,QAAA,WAAW,GAAA,CAAA;AAAA,cAAA;;;;QAKX,QAAA,2BAAXT,mBAUM,OAAA,YAAA;AAAA,UATJO,YAQY,WAAA;AAAA,YAPV,SAAQ;AAAA,YACR,MAAK;AAAA,YACJ,OAAO,QAAA,YAAO,WAAgB,SAAY,QAAA;AAAA,YAC1C,OAAKD,eAAEJ,KAAAA,OAAO,MAAM;AAAA,YACpB,+CAAO,KAAI,QAAA;AAAA,UAAA;6BAEZ,MAAgB;AAAA,8CAAb,QAAA,UAAU,GAAA,CAAA;AAAA,YAAA;;;;QAGN,QAAA,0BAAXF,mBAcM,OAAA,YAAA;AAAA,UAbJO,YAYY,WAAA;AAAA,YAXT,OAAO,QAAA,YAAO,WAAgB,SAAY,QAAA;AAAA,YAC3C,MAAK;AAAA,YACL,MAAA;AAAA,YACA,SAAQ;AAAA,YACP,OAAKD,eAAEJ,KAAAA,OAAO,KAAK;AAAA,YACnB,+CAAO,KAAI,OAAA;AAAA,UAAA;6BAEZ,MAGE;AAAA,cAHFK,YAGE,SAAA;AAAA,gBAFA,MAAK;AAAA,gBACL,MAAK;AAAA,cAAA;;;;;;;;;"}
@@ -16,20 +16,18 @@ export interface Props<T = undefined> {
16
16
  }
17
17
  declare const __VLS_export: <T = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
18
18
  props: import("vue").PublicProps & __VLS_PrettifyLocal<Props<T> & {
19
- "onUpdate:model-value"?: ((value?: T | undefined) => any) | undefined;
19
+ "onUpdate:modelValue"?: ((value?: T | undefined) => any) | undefined;
20
20
  }> & (typeof globalThis extends {
21
21
  __VLS_PROPS_FALLBACK: infer P;
22
22
  } ? P : {});
23
23
  expose: (exposed: {}) => void;
24
24
  attrs: any;
25
25
  slots: {
26
- prepend?: (props: {}) => any;
27
- } & {
28
- default?: (props: {}) => any;
29
- } & {
30
- append?: (props: {}) => any;
26
+ prepend?: () => any;
27
+ append?: () => any;
28
+ default?: () => any;
31
29
  };
32
- emit: (e: "update:model-value", value?: T) => void;
30
+ emit: (evt: "update:modelValue", value?: T | undefined) => void;
33
31
  }>) => import("vue").VNode & {
34
32
  __ctx?: Awaited<typeof __VLS_setup>;
35
33
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createCommentVNode, createElementBlock, normalizeClass } from "vue";
1
+ import { defineComponent, useSlots, computed, openBlock, createBlock, resolveDynamicComponent, mergeProps, unref, withCtx, renderSlot, createElementBlock, normalizeClass, createCommentVNode } from "vue";
2
2
  import RuiProgress from "../../progress/RuiProgress.vue.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  ...{
@@ -9,37 +9,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
9
  props: {
10
10
  disabled: { type: Boolean, default: false },
11
11
  loading: { type: Boolean, default: false },
12
- color: { default: void 0 },
12
+ color: { default: () => void 0 },
13
13
  rounded: { type: Boolean, default: false },
14
14
  elevation: { default: null },
15
15
  variant: { default: "default" },
16
16
  icon: { type: Boolean, default: false },
17
17
  active: { type: Boolean, default: false },
18
- size: { default: void 0 },
18
+ size: { default: () => void 0 },
19
19
  tag: { default: "button" },
20
20
  type: { default: "button" },
21
- modelValue: { default: void 0 },
21
+ modelValue: { default: () => void 0 },
22
22
  hideFocusIndicator: { type: Boolean, default: false }
23
23
  },
24
- emits: ["update:model-value"],
24
+ emits: ["update:modelValue"],
25
25
  setup(__props, { emit: __emit }) {
26
- const props = __props;
27
26
  const emit = __emit;
28
- const btnValue = computed(() => props.modelValue);
27
+ const slots = useSlots();
28
+ const btnValue = computed(() => __props.modelValue);
29
29
  const usedElevation = computed(() => {
30
- if (props.disabled)
30
+ if (__props.disabled)
31
31
  return 0;
32
- if (props.elevation !== null)
33
- return props.elevation;
34
- if (props.variant === "fab")
32
+ if (__props.elevation !== null)
33
+ return __props.elevation;
34
+ if (__props.variant === "fab")
35
35
  return 6;
36
36
  return 0;
37
37
  });
38
38
  const spinnerSize = computed(() => {
39
- const size = props.size;
40
- if (size === "lg")
39
+ if (__props.size === "lg")
41
40
  return 26;
42
- if (size === "sm")
41
+ if (__props.size === "sm")
43
42
  return 18;
44
43
  return 22;
45
44
  });
@@ -63,19 +62,19 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
63
62
  disabled: __props.disabled || __props.loading,
64
63
  type: __props.tag === "button" ? __props.type : void 0
65
64
  }, _ctx.$attrs, {
66
- onClick: _cache[0] || (_cache[0] = ($event) => emit("update:model-value", unref(btnValue)))
65
+ onClick: _cache[0] || (_cache[0] = ($event) => emit("update:modelValue", unref(btnValue)))
67
66
  }), {
68
67
  default: withCtx(() => [
69
- _ctx.$slots.prepend ? renderSlot(_ctx.$slots, "prepend", { key: 0 }) : createCommentVNode("", true),
70
- _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
71
- key: 1,
68
+ renderSlot(_ctx.$slots, "prepend"),
69
+ slots.default ? (openBlock(), createElementBlock("span", {
70
+ key: 0,
72
71
  class: normalizeClass(_ctx.$style.label)
73
72
  }, [
74
73
  renderSlot(_ctx.$slots, "default")
75
74
  ], 2)) : createCommentVNode("", true),
76
- _ctx.$slots.append ? renderSlot(_ctx.$slots, "append", { key: 2 }) : createCommentVNode("", true),
75
+ renderSlot(_ctx.$slots, "append"),
77
76
  __props.loading ? (openBlock(), createBlock(RuiProgress, {
78
- key: 3,
77
+ key: 1,
79
78
  circular: "",
80
79
  class: normalizeClass(_ctx.$style.spinner),
81
80
  variant: "indeterminate",
@@ -1 +1 @@
1
- {"version":3,"file":"RuiButton.vue2.js","sources":["../../../../src/components/buttons/button/RuiButton.vue"],"sourcesContent":["<script lang=\"ts\" generic=\"T = undefined\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\n\nexport interface Props<T = undefined> {\n disabled?: boolean;\n loading?: boolean;\n color?: ContextColorsType;\n rounded?: boolean;\n elevation?: number | string | null;\n variant?: 'default' | 'outlined' | 'text' | 'fab' | 'list';\n icon?: boolean;\n active?: boolean;\n size?: 'sm' | 'lg';\n tag?: 'button' | 'a';\n type?: 'button' | 'submit';\n modelValue?: T;\n hideFocusIndicator?: boolean;\n}\n\ndefineOptions({\n name: 'RuiButton',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<Props<T>>(), {\n disabled: false,\n loading: false,\n color: undefined,\n rounded: false,\n elevation: null,\n variant: 'default',\n icon: false,\n active: false,\n size: undefined,\n tag: 'button',\n type: 'button',\n modelValue: undefined,\n hideFocusIndicator: false,\n});\n\nconst emit = defineEmits<{\n (e: 'update:model-value', value?: T): void;\n}>();\n\nconst btnValue = computed<T | undefined>(() => props.modelValue);\n\nconst usedElevation = computed<number | string>(() => {\n if (props.disabled)\n return 0;\n\n if (props.elevation !== null)\n return props.elevation;\n\n if (props.variant === 'fab')\n return 6;\n\n return 0;\n});\n\nconst spinnerSize = computed<number>(() => {\n const size = props.size;\n if (size === 'lg')\n return 26;\n\n if (size === 'sm')\n return 18;\n\n return 22;\n});\n</script>\n\n<template>\n <Component\n :is=\"tag\"\n :class=\"[\n $style.btn,\n $style[color ?? 'grey'],\n $style[size ?? ''],\n $style[variant ?? ''],\n `shadow-${usedElevation}`,\n {\n [$style.loading]: loading,\n [$style._rounded]: rounded,\n [$style.icon]: icon,\n [$style.active]: active,\n [$style.text]: variant === 'list',\n [$style.flat]: hideFocusIndicator,\n },\n ]\"\n :disabled=\"disabled || loading\"\n :type=\"tag === 'button' ? type : undefined\"\n v-bind=\"$attrs\"\n @click=\"emit('update:model-value', btnValue)\"\n >\n <slot\n v-if=\"$slots.prepend\"\n name=\"prepend\"\n />\n <span\n v-if=\"$slots.default\"\n :class=\"$style.label\"\n >\n <slot />\n </span>\n <slot\n v-if=\"$slots.append\"\n name=\"append\"\n />\n <RuiProgress\n v-if=\"loading\"\n circular\n :class=\"$style.spinner\"\n variant=\"indeterminate\"\n thickness=\"2\"\n :size=\"spinnerSize\"\n />\n </Component>\n</template>\n\n<style lang=\"scss\" module>\n@use '@/styles/colors.scss' as c;\n@use 'sass:list';\n\n.btn {\n @apply text-sm leading-[1.5rem] font-medium outline outline-1 outline-transparent outline-offset-[-1px] flex items-center justify-center gap-x-2 relative;\n @apply px-4 py-1.5 rounded transition-all;\n @apply disabled:bg-black/[.12] dark:disabled:bg-white/[.12] disabled:text-rui-text-disabled disabled:active:text-rui-text-disabled focus-visible:ring-2 #{!important};\n\n .label {\n @apply inline-block text-nowrap;\n }\n\n &.flat {\n @apply focus-visible:ring-0 #{!important};\n }\n\n &._rounded {\n @apply rounded-full;\n }\n\n &.sm {\n @apply px-2.5 py-1 text-[.8125rem] leading-[1.375rem];\n }\n\n &.lg {\n @apply px-6 py-2 text-base leading-[1.625rem];\n }\n\n @each $color in c.$context-colors {\n &.#{$color} {\n @apply bg-rui-#{$color} hover:bg-rui-#{$color}-darker active:bg-rui-#{$color}-darker/90 text-rui-dark-text ring-rui-#{$color}/40 dark:text-rui-text dark:ring-rui-#{$color}/60;\n\n &.active {\n @apply bg-rui-#{$color}-darker;\n }\n\n &.outlined,\n &.text {\n @apply bg-transparent hover:bg-rui-#{$color}-lighter/[.04] active:bg-rui-#{$color}-lighter/10 text-rui-#{$color};\n\n &.active {\n @apply bg-rui-#{$color}-lighter/30;\n }\n }\n\n &.outlined {\n @apply outline-rui-#{$color}/[0.5];\n }\n\n @if list.index((warning, success, info), $color) {\n &.default {\n @apply dark:text-rui-light-text;\n }\n }\n\n @if list.index((primary, secondary), $color) {\n &.outlined,\n &.text {\n &.active {\n @apply dark:bg-rui-#{$color}-darker/60 dark:text-rui-#{$color}-lighter;\n }\n }\n }\n }\n }\n\n &.grey {\n @apply bg-rui-grey-200 hover:bg-rui-grey-100 active:bg-rui-grey-50 text-rui-text ring-rui-grey-400;\n @apply dark:bg-rui-grey-300 dark:text-rui-light-text dark:ring-rui-grey-600;\n\n &.active {\n @apply bg-rui-grey-50;\n }\n\n &.outlined,\n &.text {\n @apply bg-transparent hover:bg-black/[.04] active:bg-black/10;\n @apply dark:active:bg-white/10 dark:hover:bg-white/[.04] dark:text-rui-text;\n\n &.active {\n @apply bg-black/10 dark:bg-white/30;\n }\n }\n\n &.outlined {\n @apply outline-rui-text;\n }\n\n &.text {\n @apply text-rui-text-secondary;\n }\n }\n\n &.outlined,\n &.text {\n @apply disabled:bg-transparent disabled:active:bg-transparent #{!important};\n }\n\n &.outlined {\n @apply disabled:outline-rui-text-disabled;\n }\n\n &.text {\n @apply px-2;\n\n &.sm {\n @apply px-1.5;\n }\n\n &.lg {\n @apply px-2.5;\n }\n }\n\n &.fab {\n @apply rounded-full py-2;\n\n &.lg {\n @apply py-3;\n }\n\n &.sm {\n @apply py-1.5 px-2;\n }\n }\n\n &.list {\n @apply p-3 rounded-none w-full justify-start text-left;\n\n &.sm {\n @apply px-3 py-1;\n }\n\n .label {\n @apply w-full;\n }\n }\n\n &.icon {\n @apply rounded-full px-3 py-3;\n\n &.lg {\n @apply px-4 py-4;\n }\n\n &.sm {\n @apply px-1 py-1;\n }\n }\n\n &.fab.icon {\n &.sm {\n @apply px-2 py-2;\n }\n }\n\n &.loading {\n @apply space-x-0;\n\n > *:not(.spinner) {\n @apply opacity-0 invisible;\n }\n }\n\n .spinner {\n @apply absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2;\n }\n}\n</style>\n"],"names":["_createBlock","_resolveDynamicComponent","_mergeProps","$style","_unref","$attrs","$slots","_renderSlot","_createElementBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,UAAM,QAAQ;AAgBd,UAAM,OAAO;AAIb,UAAM,WAAW,SAAwB,MAAM,MAAM,UAAU;AAE/D,UAAM,gBAAgB,SAA0B,MAAM;AACpD,UAAI,MAAM;AACR,eAAO;AAET,UAAI,MAAM,cAAc;AACtB,eAAO,MAAM;AAEf,UAAI,MAAM,YAAY;AACpB,eAAO;AAET,aAAO;AAAA,IACT,CAAC;AAED,UAAM,cAAc,SAAiB,MAAM;AACzC,YAAM,OAAO,MAAM;AACnB,UAAI,SAAS;AACX,eAAO;AAET,UAAI,SAAS;AACX,eAAO;AAET,aAAO;AAAA,IACT,CAAC;;0BAICA,YA4CYC,wBA3CL,QAAA,GAAG,GADVC,WA4CY;AAAA,QA1CT,OAAK;AAAA,UAAUC,KAAAA,OAAO;AAAA,UAAWA,KAAAA,OAAO,QAAA,SAAK,MAAA;AAAA,UAAmBA,KAAAA,OAAO,QAAA,QAAI,EAAA;AAAA,UAAeA,KAAAA,OAAO,QAAA,WAAO,EAAA;AAAA,oBAAyBC,MAAA,aAAA,CAAa;AAAA;aAAqBD,KAAAA,OAAO,OAAO,GAAG,QAAA;AAAA,aAAkBA,KAAAA,OAAO,QAAQ,GAAG,QAAA;AAAA,aAAkBA,KAAAA,OAAO,IAAI,GAAG,QAAA;AAAA,aAAeA,KAAAA,OAAO,MAAM,GAAG,QAAA;AAAA,aAAiBA,KAAAA,OAAO,IAAI,GAAG,QAAA,YAAO;AAAA,aAAsBA,KAAAA,OAAO,IAAI,GAAG,QAAA;AAAA,UAAA;AAAA;QAejW,UAAU,QAAA,YAAY,QAAA;AAAA,QACtB,MAAM,QAAA,QAAG,WAAgB,QAAA,OAAO;AAAA,MAAA,GACzBE,KAAAA,QAAM;AAAA,QACb,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,KAAI,sBAAuBD,MAAA,QAAA,CAAQ;AAAA,MAAA;yBAE3C,MAGE;AAAA,UAFME,KAAAA,OAAO,UADfC,WAGE,KAAA,QAAA,WAAA,EAAA,KAAA,EAAA,CAAA;UAEMD,KAAAA,OAAO,wBADfE,mBAKO,QAAA;AAAA;YAHJ,OAAKC,eAAEN,KAAAA,OAAO,KAAK;AAAA,UAAA;YAEpBI,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;UAGFD,KAAAA,OAAO,SADfC,WAGE,KAAA,QAAA,UAAA,EAAA,KAAA,EAAA,CAAA;UAEM,QAAA,wBADRP,YAOE,aAAA;AAAA;YALA,UAAA;AAAA,YACC,OAAKS,eAAEN,KAAAA,OAAO,OAAO;AAAA,YACtB,SAAQ;AAAA,YACR,WAAU;AAAA,YACT,MAAMC,MAAA,WAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"RuiButton.vue2.js","sources":["../../../../src/components/buttons/button/RuiButton.vue"],"sourcesContent":["<script lang=\"ts\" generic=\"T = undefined\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiProgress from '@/components/progress/RuiProgress.vue';\n\nexport interface Props<T = undefined> {\n disabled?: boolean;\n loading?: boolean;\n color?: ContextColorsType;\n rounded?: boolean;\n elevation?: number | string | null;\n variant?: 'default' | 'outlined' | 'text' | 'fab' | 'list';\n icon?: boolean;\n active?: boolean;\n size?: 'sm' | 'lg';\n tag?: 'button' | 'a';\n type?: 'button' | 'submit';\n modelValue?: T;\n hideFocusIndicator?: boolean;\n}\n\ndefineOptions({\n name: 'RuiButton',\n inheritAttrs: false,\n});\n\nconst {\n disabled = false,\n loading = false,\n color = undefined,\n rounded = false,\n elevation = null,\n variant = 'default',\n icon = false,\n active = false,\n size = undefined,\n tag = 'button',\n type = 'button',\n modelValue = undefined,\n hideFocusIndicator = false,\n} = defineProps<Props<T>>();\n\nconst emit = defineEmits<{\n 'update:modelValue': [value?: T];\n}>();\n\nconst slots = defineSlots<{\n prepend?: () => any;\n append?: () => any;\n default?: () => any;\n}>();\n\nconst btnValue = computed<T | undefined>(() => modelValue);\n\nconst usedElevation = computed<number | string>(() => {\n if (disabled)\n return 0;\n\n if (elevation !== null)\n return elevation;\n\n if (variant === 'fab')\n return 6;\n\n return 0;\n});\n\nconst spinnerSize = computed<number>(() => {\n if (size === 'lg')\n return 26;\n\n if (size === 'sm')\n return 18;\n\n return 22;\n});\n</script>\n\n<template>\n <Component\n :is=\"tag\"\n :class=\"[\n $style.btn,\n $style[color ?? 'grey'],\n $style[size ?? ''],\n $style[variant ?? ''],\n `shadow-${usedElevation}`,\n {\n [$style.loading]: loading,\n [$style._rounded]: rounded,\n [$style.icon]: icon,\n [$style.active]: active,\n [$style.text]: variant === 'list',\n [$style.flat]: hideFocusIndicator,\n },\n ]\"\n :disabled=\"disabled || loading\"\n :type=\"tag === 'button' ? type : undefined\"\n v-bind=\"$attrs\"\n @click=\"emit('update:modelValue', btnValue)\"\n >\n <slot name=\"prepend\" />\n <span\n v-if=\"slots.default\"\n :class=\"$style.label\"\n >\n <slot />\n </span>\n <slot name=\"append\" />\n <RuiProgress\n v-if=\"loading\"\n circular\n :class=\"$style.spinner\"\n variant=\"indeterminate\"\n thickness=\"2\"\n :size=\"spinnerSize\"\n />\n </Component>\n</template>\n\n<style lang=\"scss\" module>\n@use '@/styles/colors.scss' as c;\n@use 'sass:list';\n\n.btn {\n @apply text-sm leading-[1.5rem] font-medium outline outline-1 outline-transparent outline-offset-[-1px] flex items-center justify-center gap-x-2 relative;\n @apply px-4 py-1.5 rounded transition-all;\n @apply disabled:bg-black/[.12] dark:disabled:bg-white/[.12] disabled:text-rui-text-disabled disabled:active:text-rui-text-disabled focus-visible:ring-2 #{!important};\n\n .label {\n @apply inline-block text-nowrap;\n }\n\n &.flat {\n @apply focus-visible:ring-0 #{!important};\n }\n\n &._rounded {\n @apply rounded-full;\n }\n\n &.sm {\n @apply px-2.5 py-1 text-[.8125rem] leading-[1.375rem];\n }\n\n &.lg {\n @apply px-6 py-2 text-base leading-[1.625rem];\n }\n\n @each $color in c.$context-colors {\n &.#{$color} {\n @apply bg-rui-#{$color} hover:bg-rui-#{$color}-darker active:bg-rui-#{$color}-darker/90 text-rui-dark-text ring-rui-#{$color}/40 dark:text-rui-text dark:ring-rui-#{$color}/60;\n\n &.active {\n @apply bg-rui-#{$color}-darker;\n }\n\n &.outlined,\n &.text {\n @apply bg-transparent hover:bg-rui-#{$color}-lighter/[.04] active:bg-rui-#{$color}-lighter/10 text-rui-#{$color};\n\n &.active {\n @apply bg-rui-#{$color}-lighter/30;\n }\n }\n\n &.outlined {\n @apply outline-rui-#{$color}/[0.5];\n }\n\n @if list.index((warning, success, info), $color) {\n &.default {\n @apply dark:text-rui-light-text;\n }\n }\n\n @if list.index((primary, secondary), $color) {\n &.outlined,\n &.text {\n &.active {\n @apply dark:bg-rui-#{$color}-darker/60 dark:text-rui-#{$color}-lighter;\n }\n }\n }\n }\n }\n\n &.grey {\n @apply bg-rui-grey-200 hover:bg-rui-grey-100 active:bg-rui-grey-50 text-rui-text ring-rui-grey-400;\n @apply dark:bg-rui-grey-300 dark:text-rui-light-text dark:ring-rui-grey-600;\n\n &.active {\n @apply bg-rui-grey-50;\n }\n\n &.outlined,\n &.text {\n @apply bg-transparent hover:bg-black/[.04] active:bg-black/10;\n @apply dark:active:bg-white/10 dark:hover:bg-white/[.04] dark:text-rui-text;\n\n &.active {\n @apply bg-black/10 dark:bg-white/30;\n }\n }\n\n &.outlined {\n @apply outline-rui-text;\n }\n\n &.text {\n @apply text-rui-text-secondary;\n }\n }\n\n &.outlined,\n &.text {\n @apply disabled:bg-transparent disabled:active:bg-transparent #{!important};\n }\n\n &.outlined {\n @apply disabled:outline-rui-text-disabled;\n }\n\n &.text {\n @apply px-2;\n\n &.sm {\n @apply px-1.5;\n }\n\n &.lg {\n @apply px-2.5;\n }\n }\n\n &.fab {\n @apply rounded-full py-2;\n\n &.lg {\n @apply py-3;\n }\n\n &.sm {\n @apply py-1.5 px-2;\n }\n }\n\n &.list {\n @apply p-3 rounded-none w-full justify-start text-left;\n\n &.sm {\n @apply px-3 py-1;\n }\n\n .label {\n @apply w-full;\n }\n }\n\n &.icon {\n @apply rounded-full px-3 py-3;\n\n &.lg {\n @apply px-4 py-4;\n }\n\n &.sm {\n @apply px-1 py-1;\n }\n }\n\n &.fab.icon {\n &.sm {\n @apply px-2 py-2;\n }\n }\n\n &.loading {\n @apply space-x-0;\n\n > *:not(.spinner) {\n @apply opacity-0 invisible;\n }\n }\n\n .spinner {\n @apply absolute top-1/2 left-1/2 transform -translate-x-1/2 -translate-y-1/2;\n }\n}\n</style>\n"],"names":["_useSlots","_createBlock","_resolveDynamicComponent","_mergeProps","$style","_unref","$attrs","_renderSlot","_createElementBlock","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,UAAM,OAAO;AAIb,UAAM,QAAQA,SAAA;AAMd,UAAM,WAAW,SAAwB,MAAM,QAAA,UAAU;AAEzD,UAAM,gBAAgB,SAA0B,MAAM;AACpD,UAAI,QAAA;AACF,eAAO;AAET,UAAI,QAAA,cAAc;AAChB,eAAO,QAAA;AAET,UAAI,QAAA,YAAY;AACd,eAAO;AAET,aAAO;AAAA,IACT,CAAC;AAED,UAAM,cAAc,SAAiB,MAAM;AACzC,UAAI,QAAA,SAAS;AACX,eAAO;AAET,UAAI,QAAA,SAAS;AACX,eAAO;AAET,aAAO;AAAA,IACT,CAAC;;0BAICC,YAsCYC,wBArCL,QAAA,GAAG,GADVC,WAsCY;AAAA,QApCT,OAAK;AAAA,UAAUC,KAAAA,OAAO;AAAA,UAAWA,KAAAA,OAAO,QAAA,SAAK,MAAA;AAAA,UAAmBA,KAAAA,OAAO,QAAA,QAAI,EAAA;AAAA,UAAeA,KAAAA,OAAO,QAAA,WAAO,EAAA;AAAA,oBAAyBC,MAAA,aAAA,CAAa;AAAA;aAAqBD,KAAAA,OAAO,OAAO,GAAG,QAAA;AAAA,aAAkBA,KAAAA,OAAO,QAAQ,GAAG,QAAA;AAAA,aAAkBA,KAAAA,OAAO,IAAI,GAAG,QAAA;AAAA,aAAeA,KAAAA,OAAO,MAAM,GAAG,QAAA;AAAA,aAAiBA,KAAAA,OAAO,IAAI,GAAG,QAAA,YAAO;AAAA,aAAsBA,KAAAA,OAAO,IAAI,GAAG,QAAA;AAAA,UAAA;AAAA;QAejW,UAAU,QAAA,YAAY,QAAA;AAAA,QACtB,MAAM,QAAA,QAAG,WAAgB,QAAA,OAAO;AAAA,MAAA,GACzBE,KAAAA,QAAM;AAAA,QACb,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,KAAI,qBAAsBD,MAAA,QAAA,CAAQ;AAAA,MAAA;yBAE1C,MAAuB;AAAA,UAAvBE,WAAuB,KAAA,QAAA,SAAA;AAAA,UAEf,MAAM,wBADdC,mBAKO,QAAA;AAAA;YAHJ,OAAKC,eAAEL,KAAAA,OAAO,KAAK;AAAA,UAAA;YAEpBG,WAAQ,KAAA,QAAA,SAAA;AAAA,UAAA;UAEVA,WAAsB,KAAA,QAAA,QAAA;AAAA,UAEd,QAAA,wBADRN,YAOE,aAAA;AAAA;YALA,UAAA;AAAA,YACC,OAAKQ,eAAEL,KAAAA,OAAO,OAAO;AAAA,YACtB,SAAQ;AAAA,YACR,WAAU;AAAA,YACT,MAAMC,MAAA,WAAA;AAAA,UAAA;;;;;;;"}
@@ -1,5 +1,5 @@
1
1
  import type { ContextColorsType } from '../../../consts/colors.js';
2
- export interface Props<T = undefined> {
2
+ export interface Props {
3
3
  vertical?: boolean;
4
4
  color?: ContextColorsType;
5
5
  activeColor?: ContextColorsType;
@@ -7,19 +7,20 @@ export interface Props<T = undefined> {
7
7
  size?: 'sm' | 'lg';
8
8
  gap?: 'sm' | 'md' | 'lg';
9
9
  required?: boolean;
10
- modelValue?: T | T[];
11
10
  disabled?: boolean;
12
11
  }
13
12
  declare const __VLS_export: <T = undefined>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
14
- props: import("vue").PublicProps & __VLS_PrettifyLocal<Props<T> & {
15
- "onUpdate:modelValue"?: ((modelValue?: T | T[] | undefined) => any) | undefined;
13
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<(Props & {
14
+ modelValue?: T | T[];
15
+ }) & {
16
+ "onUpdate:modelValue"?: ((value: T | T[] | undefined) => any) | undefined;
16
17
  }> & (typeof globalThis extends {
17
18
  __VLS_PROPS_FALLBACK: infer P;
18
19
  } ? P : {});
19
20
  expose: (exposed: {}) => void;
20
21
  attrs: any;
21
22
  slots: {};
22
- emit: (e: "update:modelValue", modelValue?: T | T[]) => void;
23
+ emit: (event: "update:modelValue", value: T | T[] | undefined) => void;
23
24
  }>) => import("vue").VNode & {
24
25
  __ctx?: Awaited<typeof __VLS_setup>;
25
26
  };