@rotki/ui-library 2.12.2 → 2.13.1

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,4 +1,4 @@
1
- import { defineComponent, openBlock, createBlock, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
1
+ import { defineComponent, useModel, openBlock, createBlock, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, mergeModels } from "vue";
2
2
  import RuiDialog from "../dialog/RuiDialog.vue.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  ...{
@@ -6,16 +6,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6
6
  inheritAttrs: false
7
7
  },
8
8
  __name: "RuiBottomSheet",
9
- props: {
10
- modelValue: { type: Boolean, default: false },
9
+ props: /* @__PURE__ */ mergeModels({
11
10
  persistent: { type: Boolean, default: false },
12
11
  width: {},
13
12
  maxWidth: {}
14
- },
13
+ }, {
14
+ "modelValue": { type: Boolean, ...{ default: false } },
15
+ "modelModifiers": {}
16
+ }),
17
+ emits: ["update:modelValue"],
15
18
  setup(__props) {
16
- const props = __props;
19
+ const modelValue = useModel(__props, "modelValue");
17
20
  return (_ctx, _cache) => {
18
- return openBlock(), createBlock(RuiDialog, mergeProps({ "bottom-sheet": "" }, { ...props, ..._ctx.$attrs }), createSlots({ _: 2 }, [
21
+ return openBlock(), createBlock(RuiDialog, mergeProps({
22
+ modelValue: modelValue.value,
23
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => modelValue.value = $event),
24
+ "bottom-sheet": ""
25
+ }, _ctx.$attrs, {
26
+ persistent: __props.persistent,
27
+ width: __props.width,
28
+ "max-width": __props.maxWidth
29
+ }), createSlots({ _: 2 }, [
19
30
  renderList(Object.keys(_ctx.$slots), (slot) => {
20
31
  return {
21
32
  name: slot,
@@ -24,7 +35,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
35
  ])
25
36
  };
26
37
  })
27
- ]), 1040);
38
+ ]), 1040, ["modelValue", "persistent", "width", "max-width"]);
28
39
  };
29
40
  }
30
41
  });
@@ -1 +1 @@
1
- {"version":3,"file":"RuiBottomSheet.vue.js","sources":["../../../../src/components/overlays/bottom-sheet/RuiBottomSheet.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport RuiDialog from '@/components/overlays/dialog/RuiDialog.vue';\n\n// keep these props in sync with Dialog props\nexport interface BottomSheetProps {\n modelValue?: boolean;\n persistent?: boolean;\n width?: string | number;\n maxWidth?: string | number;\n}\n\ndefineOptions({\n name: 'RuiBottomSheet',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<BottomSheetProps>(), {\n modelValue: false,\n persistent: false,\n});\n</script>\n\n<template>\n <RuiDialog\n bottom-sheet\n v-bind=\"{ ...props, ...$attrs }\"\n >\n <template\n v-for=\"slot in Object.keys($slots)\"\n #[slot]=\"scope\"\n >\n <slot\n v-bind=\"scope\"\n :name=\"slot\"\n />\n </template>\n </RuiDialog>\n</template>\n"],"names":["_createBlock","_mergeProps","$attrs","_createSlots","_renderList","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;AAgBA,UAAM,QAAQ;;0BAOZA,YAaY,WAbZC,WAaY,EAZV,gBAAA,MAAY,EAAA,GACC,OAAK,GAAKC,KAAAA,OAAAA,CAAM,GAAAC,YAAA,EAAA,GAAA,KAAA;AAAA,QAGZC,WAAA,OAAO,KAAKC,KAAAA,MAAM,IAA1B,SAAI;;kBACV;AAAA,YAED,IAAAC,QAAA,CAFS,UAAK;AAAA,cAEdC,WAGE,KAAA,QADO,MAAIC,eAAAC,mBADH,KAAK,CAAA,CAAA;AAAA,YAAA;;;;;;;"}
1
+ {"version":3,"file":"RuiBottomSheet.vue.js","sources":["../../../../src/components/overlays/bottom-sheet/RuiBottomSheet.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport RuiDialog from '@/components/overlays/dialog/RuiDialog.vue';\n\n// keep these props in sync with Dialog props\nexport interface BottomSheetProps {\n persistent?: boolean;\n width?: string | number;\n maxWidth?: string | number;\n}\n\ndefineOptions({\n name: 'RuiBottomSheet',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst { persistent = false, width, maxWidth } = defineProps<BottomSheetProps>();\n</script>\n\n<template>\n <RuiDialog\n v-model=\"modelValue\"\n bottom-sheet\n v-bind=\"$attrs\"\n :persistent=\"persistent\"\n :width=\"width\"\n :max-width=\"maxWidth\"\n >\n <template\n v-for=\"slot in Object.keys($slots)\"\n #[slot]=\"scope\"\n >\n <slot\n v-bind=\"scope\"\n :name=\"slot\"\n />\n </template>\n </RuiDialog>\n</template>\n"],"names":["_useModel","_openBlock","_createBlock","_mergeProps","$attrs","_renderList","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;AAeA,UAAM,aAAaA,8BAAuC;;AAMxD,aAAAC,UAAA,GAAAC,YAiBY,WAjBZC,WAiBY;AAAA,oBAhBD,WAAA;AAAA,qEAAA,WAAU,QAAA;AAAA,QACnB,gBAAA;AAAA,MAAA,GACQC,KAAAA,QAAM;AAAA,QACb,YAAY,QAAA;AAAA,QACZ,OAAO,QAAA;AAAA,QACP,aAAW,QAAA;AAAA,MAAA;QAGKC,WAAA,OAAO,KAAKC,KAAAA,MAAM,IAA1B,SAAI;;kBACV;AAAA,YAED,IAAAC,QAAA,CAFS,UAAK;AAAA,cAEdC,WAGE,KAAA,QADO,MAAIC,eAAAC,mBADH,KAAK,CAAA,CAAA;AAAA,YAAA;;;;;;;"}
@@ -1,46 +1,40 @@
1
1
  export interface DialogProps {
2
- modelValue?: boolean;
3
2
  persistent?: boolean;
4
3
  width?: string | number;
5
4
  maxWidth?: string | number;
6
5
  bottomSheet?: boolean;
7
- contentClass?: any;
6
+ contentClass?: string | string[] | Record<string, boolean>;
8
7
  zIndex?: string | number;
9
8
  ariaLabel?: string;
10
9
  }
11
- declare function close(): void;
12
- declare var __VLS_1: {
13
- attrs: {
14
- onClick: () => void;
15
- };
16
- isOpen: boolean;
17
- }, __VLS_21: {
18
- isOpen: true;
19
- close: typeof close;
10
+ type __VLS_Props = DialogProps;
11
+ type __VLS_Slots = {
12
+ activator?: (props: {
13
+ attrs: {
14
+ onClick: () => void;
15
+ };
16
+ isOpen: boolean;
17
+ }) => any;
18
+ default?: (props: {
19
+ isOpen: boolean;
20
+ close: () => void;
21
+ }) => any;
20
22
  };
21
- type __VLS_Slots = {} & {
22
- activator?: (props: typeof __VLS_1) => any;
23
- } & {
24
- default?: (props: typeof __VLS_21) => any;
23
+ type __VLS_ModelProps = {
24
+ modelValue?: boolean;
25
25
  };
26
- declare const __VLS_base: import("vue").DefineComponent<DialogProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
- "update:model-value": (value: boolean) => any;
26
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
27
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
28
+ "update:modelValue": (value: boolean) => any;
28
29
  closed: () => any;
29
30
  "click:outside": () => any;
30
31
  "click:esc": () => any;
31
- }, string, import("vue").PublicProps, Readonly<DialogProps> & Readonly<{
32
- "onUpdate:model-value"?: ((value: boolean) => any) | undefined;
32
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
33
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
33
34
  onClosed?: (() => any) | undefined;
34
35
  "onClick:outside"?: (() => any) | undefined;
35
36
  "onClick:esc"?: (() => any) | undefined;
36
- }>, {
37
- modelValue: boolean;
38
- width: string | number;
39
- contentClass: any;
40
- persistent: boolean;
41
- zIndex: string | number;
42
- bottomSheet: boolean;
43
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
44
38
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
45
39
  declare const _default: typeof __VLS_export;
46
40
  export default _default;
@@ -1,7 +1,6 @@
1
- import { defineComponent, toRefs, ref, nextTick, watch, computed, openBlock, createElementBlock, normalizeProps, guardReactiveProps, unref, renderSlot, createBlock, Teleport, mergeProps, withKeys, withModifiers, createVNode, Transition, withCtx, normalizeClass, createCommentVNode, normalizeStyle } from "vue";
1
+ import { defineComponent, useModel, ref, useTemplateRef, computed, watch, nextTick, onBeforeUnmount, openBlock, createElementBlock, normalizeProps, guardReactiveProps, unref, renderSlot, createBlock, Teleport, mergeProps, withKeys, withModifiers, createVNode, Transition, withCtx, normalizeClass, createCommentVNode, normalizeStyle, mergeModels } from "vue";
2
2
  import { transformPropsUnit, getRootAttrs, getNonRootAttrs } from "../../../utils/helpers.js";
3
- import { watchImmediate } from "@vueuse/core";
4
- import { set, get } from "@vueuse/shared";
3
+ import { get, set } from "@vueuse/shared";
5
4
  const _hoisted_1 = ["aria-label"];
6
5
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
6
  ...{
@@ -9,8 +8,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
9
8
  inheritAttrs: false
10
9
  },
11
10
  __name: "RuiDialog",
12
- props: {
13
- modelValue: { type: Boolean, default: false },
11
+ props: /* @__PURE__ */ mergeModels({
14
12
  persistent: { type: Boolean, default: false },
15
13
  width: { default: "98%" },
16
14
  maxWidth: {},
@@ -18,66 +16,21 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
18
16
  contentClass: { default: "" },
19
17
  zIndex: { default: 9999 },
20
18
  ariaLabel: {}
21
- },
22
- emits: ["update:model-value", "closed", "click:outside", "click:esc"],
19
+ }, {
20
+ "modelValue": { type: Boolean, ...{ default: false } },
21
+ "modelModifiers": {}
22
+ }),
23
+ emits: /* @__PURE__ */ mergeModels(["closed", "click:outside", "click:esc"], ["update:modelValue"]),
23
24
  setup(__props, { emit: __emit }) {
24
- const props = __props;
25
+ const modelValue = useModel(__props, "modelValue");
25
26
  const emit = __emit;
26
- const {
27
- modelValue,
28
- width,
29
- maxWidth,
30
- bottomSheet
31
- } = toRefs(props);
32
27
  const internalValue = ref(false);
33
28
  const isOpen = ref(false);
34
- watchImmediate(modelValue, (value) => {
35
- nextTick(() => {
36
- set(internalValue, value);
37
- });
38
- });
39
- watch(internalValue, (value) => {
40
- if (value) {
41
- nextTick(() => {
42
- set(isOpen, value);
43
- });
44
- } else {
45
- setTimeout(() => {
46
- set(isOpen, value);
47
- }, 100);
48
- }
49
- });
50
- function onUpdateModelValue(value) {
51
- emit("update:model-value", value);
52
- if (!value)
53
- emit("closed");
54
- }
55
- watch(isOpen, (isOpen2) => {
56
- if (isOpen2) {
57
- onUpdateModelValue(isOpen2);
58
- set(internalValue, isOpen2);
59
- } else {
60
- setTimeout(() => {
61
- onUpdateModelValue(isOpen2);
62
- set(internalValue, isOpen2);
63
- }, 100);
64
- }
65
- });
66
- function close() {
67
- set(isOpen, false);
68
- }
29
+ const contentRef = useTemplateRef("contentRef");
69
30
  const style = computed(() => ({
70
- width: transformPropsUnit(get(width)),
71
- maxWidth: transformPropsUnit(get(maxWidth))
31
+ width: transformPropsUnit(__props.width),
32
+ maxWidth: transformPropsUnit(__props.maxWidth)
72
33
  }));
73
- const contentRef = ref();
74
- watch(contentRef, (contentRef2) => {
75
- if (contentRef2) {
76
- nextTick(() => {
77
- contentRef2.focus();
78
- });
79
- }
80
- });
81
34
  const dialogAttrs = computed(() => ({
82
35
  onClick: () => {
83
36
  const newValue = !get(internalValue);
@@ -86,7 +39,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
86
39
  }
87
40
  }));
88
41
  const contentTransition = computed(() => {
89
- if (!get(bottomSheet)) {
42
+ if (!__props.bottomSheet) {
90
43
  return {
91
44
  enterFromClass: "opacity-0 scale-75",
92
45
  enterActiveClass: "ease-out duration-150",
@@ -105,18 +58,82 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
105
58
  leaveToClass: "translate-y-full"
106
59
  };
107
60
  });
61
+ function onUpdateModelValue(value) {
62
+ set(modelValue, value);
63
+ if (!value)
64
+ emit("closed");
65
+ }
66
+ function close() {
67
+ set(isOpen, false);
68
+ }
108
69
  function onEscClick() {
109
- if (!props.persistent) {
70
+ if (!__props.persistent) {
110
71
  close();
111
72
  }
112
73
  emit("click:esc");
113
74
  }
114
75
  function onClickOutside() {
115
- if (!props.persistent) {
76
+ if (!__props.persistent) {
116
77
  close();
117
78
  }
118
79
  emit("click:outside");
119
80
  }
81
+ watch(
82
+ modelValue,
83
+ (value) => {
84
+ nextTick(() => {
85
+ set(internalValue, value);
86
+ });
87
+ },
88
+ { immediate: true }
89
+ );
90
+ let internalValueTimeoutId;
91
+ let isOpenTimeoutId;
92
+ watch(internalValue, (value) => {
93
+ if (internalValueTimeoutId !== void 0) {
94
+ clearTimeout(internalValueTimeoutId);
95
+ internalValueTimeoutId = void 0;
96
+ }
97
+ if (value) {
98
+ nextTick(() => {
99
+ set(isOpen, value);
100
+ });
101
+ } else {
102
+ internalValueTimeoutId = setTimeout(() => {
103
+ set(isOpen, value);
104
+ internalValueTimeoutId = void 0;
105
+ }, 100);
106
+ }
107
+ });
108
+ watch(isOpen, (isOpen2) => {
109
+ if (isOpenTimeoutId !== void 0) {
110
+ clearTimeout(isOpenTimeoutId);
111
+ isOpenTimeoutId = void 0;
112
+ }
113
+ if (isOpen2) {
114
+ onUpdateModelValue(isOpen2);
115
+ set(internalValue, isOpen2);
116
+ } else {
117
+ isOpenTimeoutId = setTimeout(() => {
118
+ onUpdateModelValue(isOpen2);
119
+ set(internalValue, isOpen2);
120
+ isOpenTimeoutId = void 0;
121
+ }, 100);
122
+ }
123
+ });
124
+ onBeforeUnmount(() => {
125
+ if (internalValueTimeoutId !== void 0)
126
+ clearTimeout(internalValueTimeoutId);
127
+ if (isOpenTimeoutId !== void 0)
128
+ clearTimeout(isOpenTimeoutId);
129
+ });
130
+ watch(contentRef, (contentRef2) => {
131
+ if (contentRef2) {
132
+ nextTick(() => {
133
+ contentRef2.focus();
134
+ });
135
+ }
136
+ });
120
137
  return (_ctx, _cache) => {
121
138
  return openBlock(), createElementBlock("div", normalizeProps(guardReactiveProps(unref(getRootAttrs)(_ctx.$attrs))), [
122
139
  renderSlot(_ctx.$slots, "activator", normalizeProps(guardReactiveProps({ attrs: unref(dialogAttrs), isOpen: unref(isOpen) }))),
@@ -159,7 +176,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
159
176
  "data-id": "content",
160
177
  style: normalizeStyle(unref(style)),
161
178
  tabindex: "0",
162
- class: normalizeClass([_ctx.$style.content, __props.contentClass, { [_ctx.$style.center]: !unref(bottomSheet) }])
179
+ class: normalizeClass([_ctx.$style.content, __props.contentClass, { [_ctx.$style.center]: !__props.bottomSheet }])
163
180
  }, [
164
181
  renderSlot(_ctx.$slots, "default", normalizeProps(guardReactiveProps({ isOpen: unref(isOpen), close })))
165
182
  ], 6)) : createCommentVNode("", true)
@@ -1 +1 @@
1
- {"version":3,"file":"RuiDialog.vue2.js","sources":["../../../../src/components/overlays/dialog/RuiDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getNonRootAttrs, getRootAttrs, transformPropsUnit } from '@/utils/helpers';\n\nexport interface DialogProps {\n modelValue?: boolean;\n persistent?: boolean;\n width?: string | number;\n maxWidth?: string | number;\n bottomSheet?: boolean;\n contentClass?: any;\n zIndex?: string | number;\n ariaLabel?: string;\n}\n\ndefineOptions({\n name: 'RuiDialog',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<DialogProps>(), {\n modelValue: false,\n persistent: false,\n width: '98%',\n bottomSheet: false,\n contentClass: '',\n zIndex: 9999,\n});\n\nconst emit = defineEmits<{\n (e: 'update:model-value', value: boolean): void;\n (e: 'closed'): void;\n (e: 'click:outside'): void;\n (e: 'click:esc'): void;\n}>();\n\nconst {\n modelValue,\n width,\n maxWidth,\n bottomSheet,\n} = toRefs(props);\n\nconst internalValue = ref<boolean>(false);\nconst isOpen = ref<boolean>(false);\n\nwatchImmediate(modelValue, (value) => {\n nextTick(() => {\n set(internalValue, value);\n });\n});\n\nwatch(internalValue, (value) => {\n if (value) {\n nextTick(() => {\n set(isOpen, value);\n });\n }\n else {\n setTimeout(() => {\n set(isOpen, value);\n }, 100);\n }\n});\n\nfunction onUpdateModelValue(value: boolean) {\n emit('update:model-value', value);\n\n if (!value)\n emit('closed');\n}\n\nwatch(isOpen, (isOpen) => {\n if (isOpen) {\n onUpdateModelValue(isOpen);\n set(internalValue, isOpen);\n }\n else {\n setTimeout(() => {\n onUpdateModelValue(isOpen);\n set(internalValue, isOpen);\n }, 100);\n }\n});\n\nfunction close() {\n set(isOpen, false);\n}\n\nconst style = computed(() => ({\n width: transformPropsUnit(get(width)),\n maxWidth: transformPropsUnit(get(maxWidth)),\n}));\n\nconst contentRef = ref<HTMLDivElement>();\n\nwatch(contentRef, (contentRef) => {\n if (contentRef) {\n nextTick(() => {\n contentRef.focus();\n });\n }\n});\n\nconst dialogAttrs = computed(() => ({\n onClick: () => {\n const newValue = !get(internalValue);\n set(internalValue, newValue);\n onUpdateModelValue(newValue);\n },\n}));\n\nconst contentTransition = computed(() => {\n if (!get(bottomSheet)) {\n return {\n enterFromClass: 'opacity-0 scale-75',\n enterActiveClass: 'ease-out duration-150',\n enterToClass: 'opacity-100 scale-100',\n leaveFromClass: 'opacity-100 scale-100',\n leaveActiveClass: 'ease-in duration-100',\n leaveToClass: 'opacity-0 scale-75',\n };\n }\n\n return {\n enterFromClass: 'translate-y-full',\n enterActiveClass: 'ease-out duration-150',\n enterToClass: 'translate-y-0',\n leaveFromClass: 'translate-y-0',\n leaveActiveClass: 'ease-in duration-100',\n leaveToClass: 'translate-y-full',\n };\n});\n\nfunction onEscClick() {\n if (!props.persistent) {\n close();\n }\n emit('click:esc');\n}\n\nfunction onClickOutside() {\n if (!props.persistent) {\n close();\n }\n emit('click:outside');\n}\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <slot\n name=\"activator\"\n v-bind=\"{ attrs: dialogAttrs, isOpen }\"\n />\n <Teleport to=\"body\">\n <div\n v-if=\"isOpen || internalValue\"\n :class=\"$style.wrapper\"\n :style=\"{ zIndex }\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"ariaLabel\"\n tabindex=\"0\"\n v-bind=\"getNonRootAttrs($attrs)\"\n @keydown.esc.stop=\"onEscClick()\"\n >\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=\"isOpen && internalValue\"\n data-id=\"overlay\"\n :class=\"$style.overlay\"\n @click.stop=\"onClickOutside()\"\n />\n </Transition>\n <Transition v-bind=\"contentTransition\">\n <div\n v-if=\"isOpen && internalValue\"\n ref=\"contentRef\"\n data-id=\"content\"\n :style=\"style\"\n tabindex=\"0\"\n :class=\"[$style.content, contentClass, { [$style.center]: !bottomSheet }]\"\n >\n <slot v-bind=\"{ isOpen, close }\" />\n </div>\n </Transition>\n </div>\n </Teleport>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.wrapper {\n @apply fixed w-full h-full top-0 left-0;\n}\n\n.overlay {\n @apply absolute top-0 left-0 w-full h-full backdrop-blur bg-rui-grey-500/[0.5];\n}\n\n.content {\n @apply absolute left-1/2 bottom-0 transform -translate-x-1/2 outline-none overflow-y-auto max-h-[90vh];\n\n &.center {\n @apply top-1/2 -translate-y-1/2 bottom-auto;\n }\n}\n\n:global(.dark) {\n .overlay {\n @apply bg-black/[0.5];\n }\n}\n</style>\n"],"names":["isOpen","contentRef","_createElementBlock","_normalizeProps","_guardReactiveProps","_unref","$attrs","_renderSlot","_createBlock","_Teleport","_openBlock","_mergeProps","$style","_createVNode","_Transition","_normalizeClass"],"mappings":"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"}
1
+ {"version":3,"file":"RuiDialog.vue2.js","sources":["../../../../src/components/overlays/dialog/RuiDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { getNonRootAttrs, getRootAttrs, transformPropsUnit } from '@/utils/helpers';\n\nexport interface DialogProps {\n persistent?: boolean;\n width?: string | number;\n maxWidth?: string | number;\n bottomSheet?: boolean;\n contentClass?: string | string[] | Record<string, boolean>;\n zIndex?: string | number;\n ariaLabel?: string;\n}\n\ndefineOptions({\n name: 'RuiDialog',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n persistent = false,\n width = '98%',\n maxWidth,\n bottomSheet = false,\n contentClass = '',\n zIndex = 9999,\n ariaLabel,\n} = defineProps<DialogProps>();\n\nconst emit = defineEmits<{\n 'closed': [];\n 'click:outside': [];\n 'click:esc': [];\n}>();\n\ndefineSlots<{\n activator?: (props: { attrs: { onClick: () => void }; isOpen: boolean }) => any;\n default?: (props: { isOpen: boolean; close: () => void }) => any;\n}>();\n\nconst internalValue = ref<boolean>(false);\nconst isOpen = ref<boolean>(false);\nconst contentRef = useTemplateRef<HTMLDivElement>('contentRef');\n\nconst style = computed<{ width: string | undefined; maxWidth: string | undefined }>(() => ({\n width: transformPropsUnit(width),\n maxWidth: transformPropsUnit(maxWidth),\n}));\n\nconst dialogAttrs = computed<{ onClick: () => void }>(() => ({\n onClick: () => {\n const newValue = !get(internalValue);\n set(internalValue, newValue);\n onUpdateModelValue(newValue);\n },\n}));\n\nconst contentTransition = computed<Record<string, string>>(() => {\n if (!bottomSheet) {\n return {\n enterFromClass: 'opacity-0 scale-75',\n enterActiveClass: 'ease-out duration-150',\n enterToClass: 'opacity-100 scale-100',\n leaveFromClass: 'opacity-100 scale-100',\n leaveActiveClass: 'ease-in duration-100',\n leaveToClass: 'opacity-0 scale-75',\n };\n }\n\n return {\n enterFromClass: 'translate-y-full',\n enterActiveClass: 'ease-out duration-150',\n enterToClass: 'translate-y-0',\n leaveFromClass: 'translate-y-0',\n leaveActiveClass: 'ease-in duration-100',\n leaveToClass: 'translate-y-full',\n };\n});\n\nfunction onUpdateModelValue(value: boolean): void {\n set(modelValue, value);\n\n if (!value)\n emit('closed');\n}\n\nfunction close(): void {\n set(isOpen, false);\n}\n\nfunction onEscClick(): void {\n if (!persistent) {\n close();\n }\n emit('click:esc');\n}\n\nfunction onClickOutside(): void {\n if (!persistent) {\n close();\n }\n emit('click:outside');\n}\n\nwatch(\n modelValue,\n (value) => {\n nextTick(() => {\n set(internalValue, value);\n });\n },\n { immediate: true },\n);\n\nlet internalValueTimeoutId: ReturnType<typeof setTimeout> | undefined;\nlet isOpenTimeoutId: ReturnType<typeof setTimeout> | undefined;\n\nwatch(internalValue, (value) => {\n if (internalValueTimeoutId !== undefined) {\n clearTimeout(internalValueTimeoutId);\n internalValueTimeoutId = undefined;\n }\n if (value) {\n nextTick(() => {\n set(isOpen, value);\n });\n }\n else {\n internalValueTimeoutId = setTimeout(() => {\n set(isOpen, value);\n internalValueTimeoutId = undefined;\n }, 100);\n }\n});\n\nwatch(isOpen, (isOpen) => {\n if (isOpenTimeoutId !== undefined) {\n clearTimeout(isOpenTimeoutId);\n isOpenTimeoutId = undefined;\n }\n if (isOpen) {\n onUpdateModelValue(isOpen);\n set(internalValue, isOpen);\n }\n else {\n isOpenTimeoutId = setTimeout(() => {\n onUpdateModelValue(isOpen);\n set(internalValue, isOpen);\n isOpenTimeoutId = undefined;\n }, 100);\n }\n});\n\nonBeforeUnmount(() => {\n if (internalValueTimeoutId !== undefined)\n clearTimeout(internalValueTimeoutId);\n if (isOpenTimeoutId !== undefined)\n clearTimeout(isOpenTimeoutId);\n});\n\nwatch(contentRef, (contentRef) => {\n if (contentRef) {\n nextTick(() => {\n contentRef.focus();\n });\n }\n});\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <slot\n name=\"activator\"\n v-bind=\"{ attrs: dialogAttrs, isOpen }\"\n />\n <Teleport to=\"body\">\n <div\n v-if=\"isOpen || internalValue\"\n :class=\"$style.wrapper\"\n :style=\"{ zIndex }\"\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"ariaLabel\"\n tabindex=\"0\"\n v-bind=\"getNonRootAttrs($attrs)\"\n @keydown.esc.stop=\"onEscClick()\"\n >\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=\"isOpen && internalValue\"\n data-id=\"overlay\"\n :class=\"$style.overlay\"\n @click.stop=\"onClickOutside()\"\n />\n </Transition>\n <Transition v-bind=\"contentTransition\">\n <div\n v-if=\"isOpen && internalValue\"\n ref=\"contentRef\"\n data-id=\"content\"\n :style=\"style\"\n tabindex=\"0\"\n :class=\"[$style.content, contentClass, { [$style.center]: !bottomSheet }]\"\n >\n <slot v-bind=\"{ isOpen, close }\" />\n </div>\n </Transition>\n </div>\n </Teleport>\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.wrapper {\n @apply fixed w-full h-full top-0 left-0;\n}\n\n.overlay {\n @apply absolute top-0 left-0 w-full h-full backdrop-blur bg-rui-grey-500/[0.5];\n}\n\n.content {\n @apply absolute left-1/2 bottom-0 transform -translate-x-1/2 outline-none overflow-y-auto max-h-[90vh];\n\n &.center {\n @apply top-1/2 -translate-y-1/2 bottom-auto;\n }\n}\n\n:global(.dark) {\n .overlay {\n @apply bg-black/[0.5];\n }\n}\n</style>\n"],"names":["_useModel","isOpen","contentRef","_createElementBlock","_normalizeProps","_guardReactiveProps","_unref","$attrs","_renderSlot","_createBlock","_Teleport","_openBlock","_mergeProps","$style","_createVNode","_Transition","_normalizeClass"],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { type PopperOptions } from '../../../composables/popper.js';
2
2
  export interface MenuProps {
3
- modelValue?: boolean;
4
3
  openOnHover?: boolean;
5
4
  fullWidth?: boolean;
6
5
  disabled?: boolean;
@@ -19,42 +18,32 @@ export interface MenuProps {
19
18
  persistent?: boolean;
20
19
  disableAutoFocus?: boolean;
21
20
  }
22
- declare var __VLS_1: {
23
- attrs: {};
24
- open: boolean;
25
- disabled: boolean;
26
- hasError: boolean;
27
- hasSuccess: boolean;
28
- }, __VLS_19: {
29
- width: number;
21
+ type __VLS_Props = MenuProps;
22
+ type __VLS_Slots = {
23
+ activator?: (props: {
24
+ attrs: {
25
+ onMouseover?: () => void;
26
+ onMouseleave?: () => void;
27
+ onClick?: () => void;
28
+ };
29
+ open: boolean;
30
+ disabled: boolean;
31
+ hasError: boolean;
32
+ hasSuccess: boolean;
33
+ }) => any;
34
+ default?: (props: {
35
+ width: number;
36
+ }) => any;
30
37
  };
31
- type __VLS_Slots = {} & {
32
- activator?: (props: typeof __VLS_1) => any;
33
- } & {
34
- default?: (props: typeof __VLS_19) => any;
38
+ type __VLS_ModelProps = {
39
+ modelValue?: boolean;
35
40
  };
36
- declare const __VLS_base: import("vue").DefineComponent<MenuProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
37
- "update:model-value": (value: boolean) => any;
38
- }, string, import("vue").PublicProps, Readonly<MenuProps> & Readonly<{
39
- "onUpdate:model-value"?: ((value: boolean) => any) | undefined;
40
- }>, {
41
- disabled: boolean;
42
- modelValue: boolean;
43
- errorMessages: string | string[];
44
- successMessages: string | string[];
45
- hint: string;
46
- openOnHover: boolean;
47
- fullWidth: boolean;
48
- openDelay: number;
49
- closeDelay: number;
50
- popper: PopperOptions;
51
- wrapperClass: string | object | string[];
52
- menuClass: string | object | string[];
53
- closeOnContentClick: boolean;
54
- persistOnActivatorClick: boolean;
55
- persistent: boolean;
56
- disableAutoFocus: boolean;
57
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
42
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
43
+ "update:modelValue": (value: boolean) => any;
44
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
45
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
58
47
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
59
48
  declare const _default: typeof __VLS_export;
60
49
  export default _default;