@element-plus/nightly 0.0.20260120 → 0.0.20260121

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 (321) hide show
  1. package/dist/index.full.js +88 -39
  2. package/dist/index.full.min.js +12 -12
  3. package/dist/index.full.min.js.map +1 -1
  4. package/dist/index.full.min.mjs +14 -14
  5. package/dist/index.full.min.mjs.map +1 -1
  6. package/dist/index.full.mjs +88 -40
  7. package/dist/locale/af.js +1 -1
  8. package/dist/locale/af.min.js +1 -1
  9. package/dist/locale/af.min.mjs +1 -1
  10. package/dist/locale/af.mjs +1 -1
  11. package/dist/locale/ar-eg.js +1 -1
  12. package/dist/locale/ar-eg.min.js +1 -1
  13. package/dist/locale/ar-eg.min.mjs +1 -1
  14. package/dist/locale/ar-eg.mjs +1 -1
  15. package/dist/locale/ar.js +1 -1
  16. package/dist/locale/ar.min.js +1 -1
  17. package/dist/locale/ar.min.mjs +1 -1
  18. package/dist/locale/ar.mjs +1 -1
  19. package/dist/locale/az.js +1 -1
  20. package/dist/locale/az.min.js +1 -1
  21. package/dist/locale/az.min.mjs +1 -1
  22. package/dist/locale/az.mjs +1 -1
  23. package/dist/locale/bg.js +1 -1
  24. package/dist/locale/bg.min.js +1 -1
  25. package/dist/locale/bg.min.mjs +1 -1
  26. package/dist/locale/bg.mjs +1 -1
  27. package/dist/locale/bn.js +1 -1
  28. package/dist/locale/bn.min.js +1 -1
  29. package/dist/locale/bn.min.mjs +1 -1
  30. package/dist/locale/bn.mjs +1 -1
  31. package/dist/locale/ca.js +1 -1
  32. package/dist/locale/ca.min.js +1 -1
  33. package/dist/locale/ca.min.mjs +1 -1
  34. package/dist/locale/ca.mjs +1 -1
  35. package/dist/locale/ckb.js +1 -1
  36. package/dist/locale/ckb.min.js +1 -1
  37. package/dist/locale/ckb.min.mjs +1 -1
  38. package/dist/locale/ckb.mjs +1 -1
  39. package/dist/locale/cs.js +1 -1
  40. package/dist/locale/cs.min.js +1 -1
  41. package/dist/locale/cs.min.mjs +1 -1
  42. package/dist/locale/cs.mjs +1 -1
  43. package/dist/locale/da.js +1 -1
  44. package/dist/locale/da.min.js +1 -1
  45. package/dist/locale/da.min.mjs +1 -1
  46. package/dist/locale/da.mjs +1 -1
  47. package/dist/locale/de.js +1 -1
  48. package/dist/locale/de.min.js +1 -1
  49. package/dist/locale/de.min.mjs +1 -1
  50. package/dist/locale/de.mjs +1 -1
  51. package/dist/locale/el.js +1 -1
  52. package/dist/locale/el.min.js +1 -1
  53. package/dist/locale/el.min.mjs +1 -1
  54. package/dist/locale/el.mjs +1 -1
  55. package/dist/locale/en.js +1 -1
  56. package/dist/locale/en.min.js +1 -1
  57. package/dist/locale/en.min.mjs +1 -1
  58. package/dist/locale/en.mjs +1 -1
  59. package/dist/locale/eo.js +1 -1
  60. package/dist/locale/eo.min.js +1 -1
  61. package/dist/locale/eo.min.mjs +1 -1
  62. package/dist/locale/eo.mjs +1 -1
  63. package/dist/locale/es.js +1 -1
  64. package/dist/locale/es.min.js +1 -1
  65. package/dist/locale/es.min.mjs +1 -1
  66. package/dist/locale/es.mjs +1 -1
  67. package/dist/locale/et.js +1 -1
  68. package/dist/locale/et.min.js +1 -1
  69. package/dist/locale/et.min.mjs +1 -1
  70. package/dist/locale/et.mjs +1 -1
  71. package/dist/locale/eu.js +1 -1
  72. package/dist/locale/eu.min.js +1 -1
  73. package/dist/locale/eu.min.mjs +1 -1
  74. package/dist/locale/eu.mjs +1 -1
  75. package/dist/locale/fa.js +1 -1
  76. package/dist/locale/fa.min.js +1 -1
  77. package/dist/locale/fa.min.mjs +1 -1
  78. package/dist/locale/fa.mjs +1 -1
  79. package/dist/locale/fi.js +1 -1
  80. package/dist/locale/fi.min.js +1 -1
  81. package/dist/locale/fi.min.mjs +1 -1
  82. package/dist/locale/fi.mjs +1 -1
  83. package/dist/locale/fr.js +1 -1
  84. package/dist/locale/fr.min.js +1 -1
  85. package/dist/locale/fr.min.mjs +1 -1
  86. package/dist/locale/fr.mjs +1 -1
  87. package/dist/locale/he.js +1 -1
  88. package/dist/locale/he.min.js +1 -1
  89. package/dist/locale/he.min.mjs +1 -1
  90. package/dist/locale/he.mjs +1 -1
  91. package/dist/locale/hi.js +1 -1
  92. package/dist/locale/hi.min.js +1 -1
  93. package/dist/locale/hi.min.mjs +1 -1
  94. package/dist/locale/hi.mjs +1 -1
  95. package/dist/locale/hr.js +1 -1
  96. package/dist/locale/hr.min.js +1 -1
  97. package/dist/locale/hr.min.mjs +1 -1
  98. package/dist/locale/hr.mjs +1 -1
  99. package/dist/locale/hu.js +1 -1
  100. package/dist/locale/hu.min.js +1 -1
  101. package/dist/locale/hu.min.mjs +1 -1
  102. package/dist/locale/hu.mjs +1 -1
  103. package/dist/locale/hy-am.js +1 -1
  104. package/dist/locale/hy-am.min.js +1 -1
  105. package/dist/locale/hy-am.min.mjs +1 -1
  106. package/dist/locale/hy-am.mjs +1 -1
  107. package/dist/locale/id.js +1 -1
  108. package/dist/locale/id.min.js +1 -1
  109. package/dist/locale/id.min.mjs +1 -1
  110. package/dist/locale/id.mjs +1 -1
  111. package/dist/locale/it.js +1 -1
  112. package/dist/locale/it.min.js +1 -1
  113. package/dist/locale/it.min.mjs +1 -1
  114. package/dist/locale/it.mjs +1 -1
  115. package/dist/locale/ja.js +1 -1
  116. package/dist/locale/ja.min.js +1 -1
  117. package/dist/locale/ja.min.mjs +1 -1
  118. package/dist/locale/ja.mjs +1 -1
  119. package/dist/locale/kk.js +1 -1
  120. package/dist/locale/kk.min.js +1 -1
  121. package/dist/locale/kk.min.mjs +1 -1
  122. package/dist/locale/kk.mjs +1 -1
  123. package/dist/locale/km.js +1 -1
  124. package/dist/locale/km.min.js +1 -1
  125. package/dist/locale/km.min.mjs +1 -1
  126. package/dist/locale/km.mjs +1 -1
  127. package/dist/locale/ko.js +1 -1
  128. package/dist/locale/ko.min.js +1 -1
  129. package/dist/locale/ko.min.mjs +1 -1
  130. package/dist/locale/ko.mjs +1 -1
  131. package/dist/locale/ku.js +1 -1
  132. package/dist/locale/ku.min.js +1 -1
  133. package/dist/locale/ku.min.mjs +1 -1
  134. package/dist/locale/ku.mjs +1 -1
  135. package/dist/locale/ky.js +1 -1
  136. package/dist/locale/ky.min.js +1 -1
  137. package/dist/locale/ky.min.mjs +1 -1
  138. package/dist/locale/ky.mjs +1 -1
  139. package/dist/locale/lo.js +1 -1
  140. package/dist/locale/lo.min.js +1 -1
  141. package/dist/locale/lo.min.mjs +1 -1
  142. package/dist/locale/lo.mjs +1 -1
  143. package/dist/locale/lt.js +1 -1
  144. package/dist/locale/lt.min.js +1 -1
  145. package/dist/locale/lt.min.mjs +1 -1
  146. package/dist/locale/lt.mjs +1 -1
  147. package/dist/locale/lv.js +1 -1
  148. package/dist/locale/lv.min.js +1 -1
  149. package/dist/locale/lv.min.mjs +1 -1
  150. package/dist/locale/lv.mjs +1 -1
  151. package/dist/locale/mg.js +1 -1
  152. package/dist/locale/mg.min.js +1 -1
  153. package/dist/locale/mg.min.mjs +1 -1
  154. package/dist/locale/mg.mjs +1 -1
  155. package/dist/locale/mn.js +1 -1
  156. package/dist/locale/mn.min.js +1 -1
  157. package/dist/locale/mn.min.mjs +1 -1
  158. package/dist/locale/mn.mjs +1 -1
  159. package/dist/locale/ms.js +1 -1
  160. package/dist/locale/ms.min.js +1 -1
  161. package/dist/locale/ms.min.mjs +1 -1
  162. package/dist/locale/ms.mjs +1 -1
  163. package/dist/locale/my.js +1 -1
  164. package/dist/locale/my.min.js +1 -1
  165. package/dist/locale/my.min.mjs +1 -1
  166. package/dist/locale/my.mjs +1 -1
  167. package/dist/locale/nb-no.js +1 -1
  168. package/dist/locale/nb-no.min.js +1 -1
  169. package/dist/locale/nb-no.min.mjs +1 -1
  170. package/dist/locale/nb-no.mjs +1 -1
  171. package/dist/locale/nl.js +1 -1
  172. package/dist/locale/nl.min.js +1 -1
  173. package/dist/locale/nl.min.mjs +1 -1
  174. package/dist/locale/nl.mjs +1 -1
  175. package/dist/locale/no.js +1 -1
  176. package/dist/locale/no.min.js +1 -1
  177. package/dist/locale/no.min.mjs +1 -1
  178. package/dist/locale/no.mjs +1 -1
  179. package/dist/locale/pa.js +1 -1
  180. package/dist/locale/pa.min.js +1 -1
  181. package/dist/locale/pa.min.mjs +1 -1
  182. package/dist/locale/pa.mjs +1 -1
  183. package/dist/locale/pl.js +1 -1
  184. package/dist/locale/pl.min.js +1 -1
  185. package/dist/locale/pl.min.mjs +1 -1
  186. package/dist/locale/pl.mjs +1 -1
  187. package/dist/locale/pt-br.js +1 -1
  188. package/dist/locale/pt-br.min.js +1 -1
  189. package/dist/locale/pt-br.min.mjs +1 -1
  190. package/dist/locale/pt-br.mjs +1 -1
  191. package/dist/locale/pt.js +1 -1
  192. package/dist/locale/pt.min.js +1 -1
  193. package/dist/locale/pt.min.mjs +1 -1
  194. package/dist/locale/pt.mjs +1 -1
  195. package/dist/locale/ro.js +1 -1
  196. package/dist/locale/ro.min.js +1 -1
  197. package/dist/locale/ro.min.mjs +1 -1
  198. package/dist/locale/ro.mjs +1 -1
  199. package/dist/locale/ru.js +1 -1
  200. package/dist/locale/ru.min.js +1 -1
  201. package/dist/locale/ru.min.mjs +1 -1
  202. package/dist/locale/ru.mjs +1 -1
  203. package/dist/locale/sk.js +1 -1
  204. package/dist/locale/sk.min.js +1 -1
  205. package/dist/locale/sk.min.mjs +1 -1
  206. package/dist/locale/sk.mjs +1 -1
  207. package/dist/locale/sl.js +1 -1
  208. package/dist/locale/sl.min.js +1 -1
  209. package/dist/locale/sl.min.mjs +1 -1
  210. package/dist/locale/sl.mjs +1 -1
  211. package/dist/locale/sr.js +1 -1
  212. package/dist/locale/sr.min.js +1 -1
  213. package/dist/locale/sr.min.mjs +1 -1
  214. package/dist/locale/sr.mjs +1 -1
  215. package/dist/locale/sv.js +1 -1
  216. package/dist/locale/sv.min.js +1 -1
  217. package/dist/locale/sv.min.mjs +1 -1
  218. package/dist/locale/sv.mjs +1 -1
  219. package/dist/locale/sw.js +1 -1
  220. package/dist/locale/sw.min.js +1 -1
  221. package/dist/locale/sw.min.mjs +1 -1
  222. package/dist/locale/sw.mjs +1 -1
  223. package/dist/locale/ta.js +1 -1
  224. package/dist/locale/ta.min.js +1 -1
  225. package/dist/locale/ta.min.mjs +1 -1
  226. package/dist/locale/ta.mjs +1 -1
  227. package/dist/locale/te.js +1 -1
  228. package/dist/locale/te.min.js +1 -1
  229. package/dist/locale/te.min.mjs +1 -1
  230. package/dist/locale/te.mjs +1 -1
  231. package/dist/locale/th.js +1 -1
  232. package/dist/locale/th.min.js +1 -1
  233. package/dist/locale/th.min.mjs +1 -1
  234. package/dist/locale/th.mjs +1 -1
  235. package/dist/locale/tk.js +1 -1
  236. package/dist/locale/tk.min.js +1 -1
  237. package/dist/locale/tk.min.mjs +1 -1
  238. package/dist/locale/tk.mjs +1 -1
  239. package/dist/locale/tr.js +1 -1
  240. package/dist/locale/tr.min.js +1 -1
  241. package/dist/locale/tr.min.mjs +1 -1
  242. package/dist/locale/tr.mjs +1 -1
  243. package/dist/locale/ug-cn.js +1 -1
  244. package/dist/locale/ug-cn.min.js +1 -1
  245. package/dist/locale/ug-cn.min.mjs +1 -1
  246. package/dist/locale/ug-cn.mjs +1 -1
  247. package/dist/locale/uk.js +1 -1
  248. package/dist/locale/uk.min.js +1 -1
  249. package/dist/locale/uk.min.mjs +1 -1
  250. package/dist/locale/uk.mjs +1 -1
  251. package/dist/locale/uz-uz.js +1 -1
  252. package/dist/locale/uz-uz.min.js +1 -1
  253. package/dist/locale/uz-uz.min.mjs +1 -1
  254. package/dist/locale/uz-uz.mjs +1 -1
  255. package/dist/locale/vi.js +1 -1
  256. package/dist/locale/vi.min.js +1 -1
  257. package/dist/locale/vi.min.mjs +1 -1
  258. package/dist/locale/vi.mjs +1 -1
  259. package/dist/locale/zh-cn.js +1 -1
  260. package/dist/locale/zh-cn.min.js +1 -1
  261. package/dist/locale/zh-cn.min.mjs +1 -1
  262. package/dist/locale/zh-cn.mjs +1 -1
  263. package/dist/locale/zh-hk.js +1 -1
  264. package/dist/locale/zh-hk.min.js +1 -1
  265. package/dist/locale/zh-hk.min.mjs +1 -1
  266. package/dist/locale/zh-hk.mjs +1 -1
  267. package/dist/locale/zh-mo.js +1 -1
  268. package/dist/locale/zh-mo.min.js +1 -1
  269. package/dist/locale/zh-mo.min.mjs +1 -1
  270. package/dist/locale/zh-mo.mjs +1 -1
  271. package/dist/locale/zh-tw.js +1 -1
  272. package/dist/locale/zh-tw.min.js +1 -1
  273. package/dist/locale/zh-tw.min.mjs +1 -1
  274. package/dist/locale/zh-tw.mjs +1 -1
  275. package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs +6 -3
  276. package/es/components/date-picker-panel/src/composables/use-basic-date-table.mjs.map +1 -1
  277. package/es/components/dialog/index.mjs +1 -1
  278. package/es/components/dialog/src/dialog.d.ts +17 -0
  279. package/es/components/dialog/src/dialog.mjs +14 -2
  280. package/es/components/dialog/src/dialog.mjs.map +1 -1
  281. package/es/components/dialog/src/dialog.vue.d.ts +30 -30
  282. package/es/components/dialog/src/dialog.vue2.mjs +2 -14
  283. package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
  284. package/es/components/drawer/src/composables/useResizable.d.ts +1 -1
  285. package/es/components/drawer/src/composables/useResizable.mjs.map +1 -1
  286. package/es/components/drawer/src/drawer.d.ts +34 -2
  287. package/es/components/drawer/src/drawer.mjs.map +1 -1
  288. package/es/components/drawer/src/drawer.vue.d.ts +78 -153
  289. package/es/components/drawer/src/drawer.vue2.mjs +63 -18
  290. package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
  291. package/es/components/index.mjs +1 -1
  292. package/es/index.mjs +1 -1
  293. package/es/version.d.ts +1 -1
  294. package/es/version.mjs +1 -1
  295. package/es/version.mjs.map +1 -1
  296. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js +6 -3
  297. package/lib/components/date-picker-panel/src/composables/use-basic-date-table.js.map +1 -1
  298. package/lib/components/dialog/index.js +1 -0
  299. package/lib/components/dialog/index.js.map +1 -1
  300. package/lib/components/dialog/src/dialog.d.ts +17 -0
  301. package/lib/components/dialog/src/dialog.js +13 -0
  302. package/lib/components/dialog/src/dialog.js.map +1 -1
  303. package/lib/components/dialog/src/dialog.vue.d.ts +30 -30
  304. package/lib/components/dialog/src/dialog.vue2.js +1 -13
  305. package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
  306. package/lib/components/drawer/src/composables/useResizable.d.ts +1 -1
  307. package/lib/components/drawer/src/composables/useResizable.js.map +1 -1
  308. package/lib/components/drawer/src/drawer.d.ts +34 -2
  309. package/lib/components/drawer/src/drawer.js.map +1 -1
  310. package/lib/components/drawer/src/drawer.vue.d.ts +78 -153
  311. package/lib/components/drawer/src/drawer.vue2.js +61 -16
  312. package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
  313. package/lib/components/index.js +1 -0
  314. package/lib/components/index.js.map +1 -1
  315. package/lib/index.js +1 -0
  316. package/lib/index.js.map +1 -1
  317. package/lib/version.d.ts +1 -1
  318. package/lib/version.js +1 -1
  319. package/lib/version.js.map +1 -1
  320. package/package.json +2 -2
  321. package/web-types.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-basic-date-table.js","sources":["../../../../../../../packages/components/date-picker-panel/src/composables/use-basic-date-table.ts"],"sourcesContent":["import { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { flatten } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray, isArray } from '@element-plus/utils'\nimport { buildPickerTable } from '../utils'\n\nimport type { SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../types'\nimport type {\n BasicDateTableEmits,\n BasicDateTableProps,\n} from '../props/basic-date-table'\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nexport const useBasicDateTable = (\n props: BasicDateTableProps,\n emit: SetupContext<BasicDateTableEmits>['emit']\n) => {\n const { lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n // data\n const lastRow = ref<number>()\n const lastColumn = ref<number>()\n const tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\n let focusWithClick = false\n\n // todo better way to get Day.js locale object\n const firstDayOfWeek = (props.date as any).$locale().weekStart || 7\n const WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\n const offsetDay = computed(() => {\n // Sunday 7(0), calculate the offset days to adjust the position of the first two rows of dates\n // For weekStart <= 3: offset = weekStart (e.g., Monday = 1, Tuesday = 2, Wednesday = 3)\n // For weekStart > 3: offset = 7 - weekStart (e.g., Thursday = 3, Friday = 2, Saturday = 1)\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : firstDayOfWeek\n })\n\n const startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n })\n\n const WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n })\n\n const hasCurrent = computed<boolean>(() => {\n return flatten(unref(rows)).some((row) => {\n return row.isCurrent\n })\n })\n\n const days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n })\n\n const selectedDate = computed<Dayjs[]>(() => {\n return props.selectionMode === 'dates' ? castArray(props.parsedValue!) : []\n })\n\n // Return value indicates should the counter be incremented\n type CellCoordinate = { columnIndex: number; rowIndex: number }\n type CellMeta = CellCoordinate & {\n count: number\n }\n const setDateText = (\n cell: DateCell,\n { count, rowIndex, columnIndex }: CellMeta\n ): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n }\n\n const setCellMetadata = (\n cell: DateCell,\n { columnIndex, rowIndex }: CellCoordinate,\n count: number\n ) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find((d) => d.isSame(cell.dayjs, 'day'))\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n }\n\n const setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n }\n\n const rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = unref(offsetDay)\n const rows_ = unref(tableRows)\n const dateUnit = 'day'\n let count = 1\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n unref(startDate).add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (rows_[rowIndex][1].dayjs) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: rows_[rowIndex][1].dayjs!.week(),\n }\n }\n }\n }\n\n return rows_\n })\n\n watch(\n () => props.date,\n async () => {\n if (unref(tbodyRef)?.contains(document.activeElement)) {\n await nextTick()\n await focus()\n // currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = async () => unref(currentCellRef)?.focus()\n\n const isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n }\n\n const cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(unref(lang))\n .isSame(props.date.date(Number(cell.text)), 'day')\n }\n\n const getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - unref(offsetDay)\n return unref(startDate).add(offsetFromStart, 'day')\n }\n\n const handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (unref(rows)[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== unref(lastRow) || column !== unref(lastColumn)) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n }\n\n const isSelectedCell = (cell: DateCell) => {\n return (\n (!unref(hasCurrent) && cell?.text === 1 && isNormalDay(cell.type)) ||\n cell.isCurrent\n )\n }\n\n const handleFocus = (event: FocusEvent) => {\n if (focusWithClick || unref(hasCurrent) || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n }\n\n const handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n }\n\n const handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n }\n\n const handleRangePick = (newDate: Dayjs) => {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n }\n\n const handleWeekPick = (newDate: Dayjs) => {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n }\n\n const handleDatesPick = (newDate: Dayjs, selected: boolean) => {\n const newValue = selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n\n const handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n ) => {\n if (props.disabled) return\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = unref(rows)[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n switch (props.selectionMode) {\n case 'range': {\n handleRangePick(newDate)\n break\n }\n case 'date': {\n emit('pick', newDate, isKeyboardMovement)\n break\n }\n case 'week': {\n handleWeekPick(newDate)\n break\n }\n case 'dates': {\n handleDatesPick(newDate, !!cell.selected)\n break\n }\n default: {\n break\n }\n }\n }\n\n const isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n }\n\n return {\n WEEKS,\n rows,\n tbodyRef,\n currentCellRef,\n\n // cellMatchesDate,\n // getDateOfCell,\n focus,\n isCurrent,\n isWeekActive,\n isSelectedCell,\n\n handlePickDate,\n handleMouseUp,\n handleMouseDown,\n handleMouseMove,\n handleFocus,\n }\n}\n\nexport const useBasicDateTableDOM = (\n props: BasicDateTableProps,\n {\n isCurrent,\n isWeekActive,\n }: Pick<ReturnType<typeof useBasicDateTable>, 'isCurrent' | 'isWeekActive'>\n) => {\n const ns = useNamespace('date-table')\n const { t } = useLocale()\n\n const tableKls = computed(() => [\n ns.b(),\n ns.is('week-mode', props.selectionMode === 'week' && !props.disabled),\n ])\n\n const tableLabel = computed(() => t('el.datepicker.dateTablePrompt'))\n\n const getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled || props.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n }\n\n const getRowKls = (cell: DateCell) => [\n ns.e('row'),\n { current: isWeekActive(cell) },\n ]\n\n return {\n tableKls,\n tableLabel,\n weekHeaderClass: ns.e('week-header'),\n\n getCellClasses,\n getRowKls,\n t,\n }\n}\n"],"names":["useLocale","ref","computed","flatten","unref","castArray","buildPickerTable","watch","nextTick","isArray","useNamespace"],"mappings":"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"}
1
+ {"version":3,"file":"use-basic-date-table.js","sources":["../../../../../../../packages/components/date-picker-panel/src/composables/use-basic-date-table.ts"],"sourcesContent":["import { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { flatten } from 'lodash-unified'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray, isArray } from '@element-plus/utils'\nimport { buildPickerTable } from '../utils'\n\nimport type { SetupContext } from 'vue'\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../types'\nimport type {\n BasicDateTableEmits,\n BasicDateTableProps,\n} from '../props/basic-date-table'\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nexport const useBasicDateTable = (\n props: BasicDateTableProps,\n emit: SetupContext<BasicDateTableEmits>['emit']\n) => {\n const { lang } = useLocale()\n const tbodyRef = ref<HTMLElement>()\n const currentCellRef = ref<HTMLElement>()\n // data\n const lastRow = ref<number>()\n const lastColumn = ref<number>()\n const tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\n let focusWithClick = false\n\n // todo better way to get Day.js locale object\n const firstDayOfWeek = (props.date as any).$locale().weekStart || 7\n const WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\n const offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n })\n\n const startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n })\n\n const WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n })\n\n const hasCurrent = computed<boolean>(() => {\n return flatten(unref(rows)).some((row) => {\n return row.isCurrent\n })\n })\n\n const days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n })\n\n const selectedDate = computed<Dayjs[]>(() => {\n return props.selectionMode === 'dates' ? castArray(props.parsedValue!) : []\n })\n\n // Return value indicates should the counter be incremented\n type CellCoordinate = { columnIndex: number; rowIndex: number }\n type CellMeta = CellCoordinate & {\n count: number\n }\n const setDateText = (\n cell: DateCell,\n { count, rowIndex, columnIndex }: CellMeta\n ): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n }\n\n const setCellMetadata = (\n cell: DateCell,\n { columnIndex, rowIndex }: CellCoordinate,\n count: number\n ) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find((d) => d.isSame(cell.dayjs, 'day'))\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n }\n\n const setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n }\n\n const rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = unref(offsetDay)\n const rows_ = unref(tableRows)\n const dateUnit = 'day'\n let count = 1\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n unref(startDate).add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (rows_[rowIndex][1].dayjs) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: rows_[rowIndex][1].dayjs!.week(),\n }\n }\n }\n }\n\n return rows_\n })\n\n watch(\n () => props.date,\n async () => {\n if (unref(tbodyRef)?.contains(document.activeElement)) {\n await nextTick()\n await focus()\n // currentCellRef.value?.focus()\n }\n }\n )\n\n const focus = async () => unref(currentCellRef)?.focus()\n\n const isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n }\n\n const cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(unref(lang))\n .isSame(props.date.date(Number(cell.text)), 'day')\n }\n\n const getDateOfCell = (row: number, column: number) => {\n //NOTE: because relying of startDate is not reliable in every weekStart (especially 2, 3); we re-create it\n const startOfMonthDay = unref(days).startOfMonthDay\n const offset = unref(offsetDay)\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n const offsetFromStart = row * 7 + (column - (props.showWeekNumber ? 1 : 0))\n return props.date\n .startOf('month')\n .subtract(numberOfDaysFromPreviousMonth, 'day')\n .add(offsetFromStart, 'day')\n }\n\n const handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (unref(rows)[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== unref(lastRow) || column !== unref(lastColumn)) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n }\n\n const isSelectedCell = (cell: DateCell) => {\n return (\n (!unref(hasCurrent) && cell?.text === 1 && isNormalDay(cell.type)) ||\n cell.isCurrent\n )\n }\n\n const handleFocus = (event: FocusEvent) => {\n if (focusWithClick || unref(hasCurrent) || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n }\n\n const handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n }\n\n const handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n }\n\n const handleRangePick = (newDate: Dayjs) => {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n }\n\n const handleWeekPick = (newDate: Dayjs) => {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n }\n\n const handleDatesPick = (newDate: Dayjs, selected: boolean) => {\n const newValue = selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n\n const handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n ) => {\n if (props.disabled) return\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = unref(rows)[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n switch (props.selectionMode) {\n case 'range': {\n handleRangePick(newDate)\n break\n }\n case 'date': {\n emit('pick', newDate, isKeyboardMovement)\n break\n }\n case 'week': {\n handleWeekPick(newDate)\n break\n }\n case 'dates': {\n handleDatesPick(newDate, !!cell.selected)\n break\n }\n default: {\n break\n }\n }\n }\n\n const isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n }\n\n return {\n WEEKS,\n rows,\n tbodyRef,\n currentCellRef,\n\n // cellMatchesDate,\n // getDateOfCell,\n focus,\n isCurrent,\n isWeekActive,\n isSelectedCell,\n\n handlePickDate,\n handleMouseUp,\n handleMouseDown,\n handleMouseMove,\n handleFocus,\n }\n}\n\nexport const useBasicDateTableDOM = (\n props: BasicDateTableProps,\n {\n isCurrent,\n isWeekActive,\n }: Pick<ReturnType<typeof useBasicDateTable>, 'isCurrent' | 'isWeekActive'>\n) => {\n const ns = useNamespace('date-table')\n const { t } = useLocale()\n\n const tableKls = computed(() => [\n ns.b(),\n ns.is('week-mode', props.selectionMode === 'week' && !props.disabled),\n ])\n\n const tableLabel = computed(() => t('el.datepicker.dateTablePrompt'))\n\n const getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled || props.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n }\n\n const getRowKls = (cell: DateCell) => [\n ns.e('row'),\n { current: isWeekActive(cell) },\n ]\n\n return {\n tableKls,\n tableLabel,\n weekHeaderClass: ns.e('week-header'),\n\n getCellClasses,\n getRowKls,\n t,\n }\n}\n"],"names":["useLocale","ref","computed","flatten","unref","castArray","buildPickerTable","watch","nextTick","isArray","useNamespace"],"mappings":"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"}
@@ -14,6 +14,7 @@ exports.useDialog = useDialog.useDialog;
14
14
  exports.dialogContextKey = dialog.dialogContextKey;
15
15
  exports.dialogEmits = dialog.dialogEmits;
16
16
  exports.dialogProps = dialog.dialogProps;
17
+ exports.dialogPropsDefaults = dialog.dialogPropsDefaults;
17
18
  exports.DEFAULT_DIALOG_TRANSITION = constants.DEFAULT_DIALOG_TRANSITION;
18
19
  exports.dialogInjectionKey = constants.dialogInjectionKey;
19
20
  exports.ElDialog = ElDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../packages/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Dialog from './src/dialog.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDialog: SFCWithInstall<typeof Dialog> = withInstall(Dialog)\nexport default ElDialog\n\nexport * from './src/use-dialog'\nexport * from './src/dialog'\nexport * from './src/constants'\n"],"names":["withInstall","Dialog"],"mappings":";;;;;;;;;;AAKO,MAAM,QAAA,GAA0CA,oBAAYC,kDAAM;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../packages/components/dialog/index.ts"],"sourcesContent":["import { withInstall } from '@element-plus/utils'\nimport Dialog from './src/dialog.vue'\n\nimport type { SFCWithInstall } from '@element-plus/utils'\n\nexport const ElDialog: SFCWithInstall<typeof Dialog> = withInstall(Dialog)\nexport default ElDialog\n\nexport * from './src/use-dialog'\nexport * from './src/dialog'\nexport * from './src/constants'\n"],"names":["withInstall","Dialog"],"mappings":";;;;;;;;;;AAKO,MAAM,QAAA,GAA0CA,oBAAYC,kDAAM;;;;;;;;;;;;"}
@@ -168,4 +168,21 @@ export interface DialogConfigContext {
168
168
  transition?: DialogTransition;
169
169
  }
170
170
  export declare const dialogContextKey: InjectionKey<DialogConfigContext>;
171
+ export declare const dialogPropsDefaults: {
172
+ readonly appendTo: "body";
173
+ readonly closeOnClickModal: true;
174
+ readonly closeOnPressEscape: true;
175
+ readonly lockScroll: true;
176
+ readonly modal: true;
177
+ readonly openDelay: 0;
178
+ readonly closeDelay: 0;
179
+ readonly headerAriaLevel: "2";
180
+ readonly transition: undefined;
181
+ readonly alignCenter: undefined;
182
+ readonly draggable: undefined;
183
+ readonly overflow: undefined;
184
+ readonly showClose: true;
185
+ readonly title: "";
186
+ readonly ariaLevel: "2";
187
+ };
171
188
  export {};
@@ -139,8 +139,21 @@ const dialogEmits = {
139
139
  closeAutoFocus: () => true
140
140
  };
141
141
  const dialogContextKey = /* @__PURE__ */ Symbol("dialogContextKey");
142
+ const dialogPropsDefaults = {
143
+ ...dialogContent.dialogContentPropsDefaults,
144
+ appendTo: "body",
145
+ closeOnClickModal: true,
146
+ closeOnPressEscape: true,
147
+ lockScroll: true,
148
+ modal: true,
149
+ openDelay: 0,
150
+ closeDelay: 0,
151
+ headerAriaLevel: "2",
152
+ transition: void 0
153
+ };
142
154
 
143
155
  exports.dialogContextKey = dialogContextKey;
144
156
  exports.dialogEmits = dialogEmits;
145
157
  exports.dialogProps = dialogProps;
158
+ exports.dialogPropsDefaults = dialogPropsDefaults;
146
159
  //# sourceMappingURL=dialog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.js","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType, isBoolean } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { teleportProps } from '@element-plus/components/teleport'\nimport { dialogContentProps } from './dialog-content'\n\nimport type { ExtractPublicPropTypes, InjectionKey, TransitionProps } from 'vue'\nimport type { DialogContentProps } from './dialog-content'\nimport type Dialog from './dialog.vue'\n\ntype DoneFn = (cancel?: boolean) => void\n\nexport type DialogBeforeCloseFn = (done: DoneFn) => void\n\nexport type DialogTransition = string | TransitionProps\n\n/**\n * @description dialog component props\n */\nexport interface DialogProps extends DialogContentProps {\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody?: boolean\n /**\n * @description which element the Dialog appends to\n */\n appendTo?: string | HTMLElement\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose?: DialogBeforeCloseFn\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose?: boolean\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal?: boolean\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape?: boolean\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll?: boolean\n /**\n * @description whether a mask is displayed\n */\n modal?: boolean\n /**\n * @description whether the mask is penetrable\n */\n modalPenetrable?: boolean\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay?: number\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay?: number\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top?: string\n /**\n * @description visibility of Dialog\n */\n modelValue?: boolean\n /**\n * @description custom class names for mask\n */\n modalClass?: string\n /**\n * @description width of Dialog, default is 50%\n */\n width?: string | number\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex?: number\n /**\n * @description trap focus within dialog\n */\n trapFocus?: boolean\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel?: string\n /**\n * @description custom transition configuration for dialog animation, it can be a string (transition name) or an object with Vue transition props\n */\n transition?: DialogTransition\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `DialogProps` instead.\n */\nexport const dialogProps = buildProps({\n ...dialogContentProps,\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody: Boolean,\n /**\n * @description which element the Dialog appends to\n */\n appendTo: {\n type: teleportProps.to.type,\n default: 'body',\n },\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose: {\n type: definePropType<DialogBeforeCloseFn>(Function),\n },\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose: Boolean,\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether a mask is displayed\n */\n modal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the mask is penetrable\n */\n modalPenetrable: Boolean,\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top: {\n type: String,\n },\n /**\n * @description visibility of Dialog\n */\n modelValue: Boolean,\n /**\n * @description custom class names for mask\n */\n modalClass: String,\n /**\n * @description custom class names for header wrapper\n */\n headerClass: String,\n /**\n * @description custom class names for body wrapper\n */\n bodyClass: String,\n /**\n * @description custom class names for footer wrapper\n */\n footerClass: String,\n /**\n * @description width of Dialog, default is 50%\n */\n width: {\n type: [String, Number],\n },\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex: {\n type: Number,\n },\n trapFocus: Boolean,\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n /**\n * @description custom transition configuration for dialog animation, it can be a string (transition name) or an object with Vue transition props\n */\n transition: {\n type: definePropType<DialogTransition>([String, Object]),\n default: undefined,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `DialogProps` instead.\n */\nexport type DialogPropsPublic = ExtractPublicPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n openAutoFocus: () => true,\n closeAutoFocus: () => true,\n}\nexport type DialogEmits = typeof dialogEmits\nexport type DialogInstance = InstanceType<typeof Dialog> & unknown\nexport interface DialogConfigContext {\n alignCenter?: boolean\n draggable?: boolean\n overflow?: boolean\n transition?: DialogTransition\n}\n\nexport const dialogContextKey: InjectionKey<DialogConfigContext> =\n Symbol('dialogContextKey')\n"],"names":["buildProps","dialogContentProps","teleportProps","definePropType","UPDATE_MODEL_EVENT","isBoolean"],"mappings":";;;;;;;;AAoGO,MAAM,cAAcA,kBAAA,CAAW;AAAA,EACpC,GAAGC,gCAAA;AAAA;AAAA;AAAA;AAAA,EAIH,YAAA,EAAc,OAAA;AAAA;AAAA;AAAA;AAAA,EAId,QAAA,EAAU;AAAA,IACR,IAAA,EAAMC,uBAAc,EAAA,CAAG,IAAA;AAAA,IACvB,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,WAAA,EAAa;AAAA,IACX,IAAA,EAAMC,uBAAoC,QAAQ;AAAA,GACpD;AAAA;AAAA;AAAA;AAAA,EAIA,cAAA,EAAgB,OAAA;AAAA;AAAA;AAAA;AAAA,EAIhB,iBAAA,EAAmB;AAAA,IACjB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,kBAAA,EAAoB;AAAA,IAClB,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,eAAA,EAAiB,OAAA;AAAA;AAAA;AAAA;AAAA,EAIjB,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,GAAA,EAAK;AAAA,IACH,IAAA,EAAM;AAAA,GACR;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY,OAAA;AAAA;AAAA;AAAA;AAAA,EAIZ,UAAA,EAAY,MAAA;AAAA;AAAA;AAAA;AAAA,EAIZ,WAAA,EAAa,MAAA;AAAA;AAAA;AAAA;AAAA,EAIb,SAAA,EAAW,MAAA;AAAA;AAAA;AAAA;AAAA,EAIX,WAAA,EAAa,MAAA;AAAA;AAAA;AAAA;AAAA,EAIb,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM;AAAA,GACvB;AAAA;AAAA;AAAA;AAAA,EAIA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM;AAAA,GACR;AAAA,EACA,SAAA,EAAW,OAAA;AAAA;AAAA;AAAA;AAAA,EAIX,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA;AAAA;AAAA;AAAA,EAIA,UAAA,EAAY;AAAA,IACV,IAAA,EAAMA,sBAAA,CAAiC,CAAC,MAAA,EAAQ,MAAM,CAAC,CAAA;AAAA,IACvD,OAAA,EAAS;AAAA;AAEb,CAAU;AAOH,MAAM,WAAA,GAAc;AAAA,EACzB,MAAM,MAAM,IAAA;AAAA,EACZ,QAAQ,MAAM,IAAA;AAAA,EACd,OAAO,MAAM,IAAA;AAAA,EACb,QAAQ,MAAM,IAAA;AAAA,EACd,CAACC,wBAAkB,GAAG,CAAC,KAAA,KAAmBC,gBAAU,KAAK,CAAA;AAAA,EACzD,eAAe,MAAM,IAAA;AAAA,EACrB,gBAAgB,MAAM;AACxB;AAUO,MAAM,gBAAA,0BACJ,kBAAkB;;;;;;"}
1
+ {"version":3,"file":"dialog.js","sources":["../../../../../../packages/components/dialog/src/dialog.ts"],"sourcesContent":["import { buildProps, definePropType, isBoolean } from '@element-plus/utils'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport { teleportProps } from '@element-plus/components/teleport'\nimport {\n dialogContentProps,\n dialogContentPropsDefaults,\n} from './dialog-content'\n\nimport type { ExtractPublicPropTypes, InjectionKey, TransitionProps } from 'vue'\nimport type { DialogContentProps } from './dialog-content'\nimport type Dialog from './dialog.vue'\n\ntype DoneFn = (cancel?: boolean) => void\n\nexport type DialogBeforeCloseFn = (done: DoneFn) => void\n\nexport type DialogTransition = string | TransitionProps\n\n/**\n * @description dialog component props\n */\nexport interface DialogProps extends DialogContentProps {\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody?: boolean\n /**\n * @description which element the Dialog appends to\n */\n appendTo?: string | HTMLElement\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose?: DialogBeforeCloseFn\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose?: boolean\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal?: boolean\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape?: boolean\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll?: boolean\n /**\n * @description whether a mask is displayed\n */\n modal?: boolean\n /**\n * @description whether the mask is penetrable\n */\n modalPenetrable?: boolean\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay?: number\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay?: number\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top?: string\n /**\n * @description visibility of Dialog\n */\n modelValue?: boolean\n /**\n * @description custom class names for mask\n */\n modalClass?: string\n /**\n * @description width of Dialog, default is 50%\n */\n width?: string | number\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex?: number\n /**\n * @description trap focus within dialog\n */\n trapFocus?: boolean\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel?: string\n /**\n * @description custom transition configuration for dialog animation, it can be a string (transition name) or an object with Vue transition props\n */\n transition?: DialogTransition\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `DialogProps` instead.\n */\nexport const dialogProps = buildProps({\n ...dialogContentProps,\n /**\n * @description whether to append Dialog itself to body. A nested Dialog should have this attribute set to `true`\n */\n appendToBody: Boolean,\n /**\n * @description which element the Dialog appends to\n */\n appendTo: {\n type: teleportProps.to.type,\n default: 'body',\n },\n /**\n * @description callback before Dialog closes, and it will prevent Dialog from closing, use done to close the dialog\n */\n beforeClose: {\n type: definePropType<DialogBeforeCloseFn>(Function),\n },\n /**\n * @description destroy elements in Dialog when closed\n */\n destroyOnClose: Boolean,\n /**\n * @description whether the Dialog can be closed by clicking the mask\n */\n closeOnClickModal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the Dialog can be closed by pressing ESC\n */\n closeOnPressEscape: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether scroll of body is disabled while Dialog is displayed\n */\n lockScroll: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether a mask is displayed\n */\n modal: {\n type: Boolean,\n default: true,\n },\n /**\n * @description whether the mask is penetrable\n */\n modalPenetrable: Boolean,\n /**\n * @description the Time(milliseconds) before open\n */\n openDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description the Time(milliseconds) before close\n */\n closeDelay: {\n type: Number,\n default: 0,\n },\n /**\n * @description value for `margin-top` of Dialog CSS, default is 15vh\n */\n top: {\n type: String,\n },\n /**\n * @description visibility of Dialog\n */\n modelValue: Boolean,\n /**\n * @description custom class names for mask\n */\n modalClass: String,\n /**\n * @description custom class names for header wrapper\n */\n headerClass: String,\n /**\n * @description custom class names for body wrapper\n */\n bodyClass: String,\n /**\n * @description custom class names for footer wrapper\n */\n footerClass: String,\n /**\n * @description width of Dialog, default is 50%\n */\n width: {\n type: [String, Number],\n },\n /**\n * @description same as z-index in native CSS, z-order of dialog\n */\n zIndex: {\n type: Number,\n },\n trapFocus: Boolean,\n /**\n * @description header's aria-level attribute\n */\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n /**\n * @description custom transition configuration for dialog animation, it can be a string (transition name) or an object with Vue transition props\n */\n transition: {\n type: definePropType<DialogTransition>([String, Object]),\n default: undefined,\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `DialogProps` instead.\n */\nexport type DialogPropsPublic = ExtractPublicPropTypes<typeof dialogProps>\n\nexport const dialogEmits = {\n open: () => true,\n opened: () => true,\n close: () => true,\n closed: () => true,\n [UPDATE_MODEL_EVENT]: (value: boolean) => isBoolean(value),\n openAutoFocus: () => true,\n closeAutoFocus: () => true,\n}\nexport type DialogEmits = typeof dialogEmits\nexport type DialogInstance = InstanceType<typeof Dialog> & unknown\nexport interface DialogConfigContext {\n alignCenter?: boolean\n draggable?: boolean\n overflow?: boolean\n transition?: DialogTransition\n}\n\nexport const dialogContextKey: InjectionKey<DialogConfigContext> =\n Symbol('dialogContextKey')\n\nexport const dialogPropsDefaults = {\n ...dialogContentPropsDefaults,\n appendTo: 'body',\n closeOnClickModal: true,\n closeOnPressEscape: true,\n lockScroll: true,\n modal: true,\n openDelay: 0,\n closeDelay: 0,\n headerAriaLevel: '2',\n transition: undefined,\n} as const\n"],"names":["buildProps","dialogContentProps","teleportProps","definePropType","UPDATE_MODEL_EVENT","isBoolean","dialogContentPropsDefaults"],"mappings":"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"}
@@ -14,21 +14,21 @@ type __VLS_Slots = {} & {
14
14
  footer?: (props: typeof __VLS_45) => any;
15
15
  };
16
16
  declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<DialogProps>, {
17
- appendTo: string;
18
- closeOnClickModal: boolean;
19
- closeOnPressEscape: boolean;
20
- lockScroll: boolean;
21
- modal: boolean;
22
- openDelay: number;
23
- closeDelay: number;
24
- headerAriaLevel: string;
25
- transition: undefined;
26
- alignCenter: undefined;
27
- draggable: undefined;
28
- overflow: undefined;
29
- showClose: true;
30
- title: "";
31
- ariaLevel: "2";
17
+ readonly appendTo: "body";
18
+ readonly closeOnClickModal: true;
19
+ readonly closeOnPressEscape: true;
20
+ readonly lockScroll: true;
21
+ readonly modal: true;
22
+ readonly openDelay: 0;
23
+ readonly closeDelay: 0;
24
+ readonly headerAriaLevel: "2";
25
+ readonly transition: undefined;
26
+ readonly alignCenter: undefined;
27
+ readonly draggable: undefined;
28
+ readonly overflow: undefined;
29
+ readonly showClose: true;
30
+ readonly title: "";
31
+ readonly ariaLevel: "2";
32
32
  }>, {
33
33
  /** @description whether the dialog is visible */
34
34
  visible: import("vue").Ref<boolean>;
@@ -44,21 +44,21 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_WithDefaultsLocal<
44
44
  openAutoFocus: () => void;
45
45
  closeAutoFocus: () => void;
46
46
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaultsLocal<__VLS_TypePropsToOption<DialogProps>, {
47
- appendTo: string;
48
- closeOnClickModal: boolean;
49
- closeOnPressEscape: boolean;
50
- lockScroll: boolean;
51
- modal: boolean;
52
- openDelay: number;
53
- closeDelay: number;
54
- headerAriaLevel: string;
55
- transition: undefined;
56
- alignCenter: undefined;
57
- draggable: undefined;
58
- overflow: undefined;
59
- showClose: true;
60
- title: "";
61
- ariaLevel: "2";
47
+ readonly appendTo: "body";
48
+ readonly closeOnClickModal: true;
49
+ readonly closeOnPressEscape: true;
50
+ readonly lockScroll: true;
51
+ readonly modal: true;
52
+ readonly openDelay: 0;
53
+ readonly closeDelay: 0;
54
+ readonly headerAriaLevel: "2";
55
+ readonly transition: undefined;
56
+ readonly alignCenter: undefined;
57
+ readonly draggable: undefined;
58
+ readonly overflow: undefined;
59
+ readonly showClose: true;
60
+ readonly title: "";
61
+ readonly ariaLevel: "2";
62
62
  }>>> & {
63
63
  "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
64
64
  onClose?: (() => any) | undefined;
@@ -10,7 +10,6 @@ var dialogContent_vue_vue_type_script_setup_true_lang = require('./dialog-conten
10
10
  var constants = require('./constants.js');
11
11
  var dialog = require('./dialog.js');
12
12
  var useDialog = require('./use-dialog.js');
13
- var dialogContent = require('./dialog-content.js');
14
13
  var index = require('../../../hooks/use-deprecated/index.js');
15
14
  var index$1 = require('../../../hooks/use-namespace/index.js');
16
15
  var index$4 = require('../../../hooks/use-same-target/index.js');
@@ -54,18 +53,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
54
53
  showClose: { type: Boolean, required: false },
55
54
  title: { type: String, required: false },
56
55
  ariaLevel: { type: String, required: false }
57
- }, {
58
- ...dialogContent.dialogContentPropsDefaults,
59
- appendTo: "body",
60
- closeOnClickModal: true,
61
- closeOnPressEscape: true,
62
- lockScroll: true,
63
- modal: true,
64
- openDelay: 0,
65
- closeDelay: 0,
66
- headerAriaLevel: "2",
67
- transition: void 0
68
- }),
56
+ }, dialog.dialogPropsDefaults),
69
57
  emits: dialog.dialogEmits,
70
58
  setup(__props, { expose: __expose }) {
71
59
  const props = __props;
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition v-bind=\"transitionConfig\">\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"[\n modalClass ?? '',\n `${ns.namespace.value}-modal-dialog`,\n ns.is('penetrable', penetrable),\n ]\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"[\n `${ns.namespace.value}-overlay-dialog`,\n ns.is('closing', closing),\n ]\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"_alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"_draggable\"\n :overflow=\"_overflow\"\n :fullscreen=\"fullscreen\"\n :header-class=\"headerClass\"\n :body-class=\"bodyClass\"\n :footer-class=\"footerClass\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits } from './dialog'\nimport { useDialog } from './use-dialog'\nimport { dialogContentPropsDefaults } from './dialog-content'\n\nimport type { DialogProps } from './dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DialogProps>(), {\n ...dialogContentPropsDefaults,\n appendTo: 'body',\n closeOnClickModal: true,\n closeOnPressEscape: true,\n lockScroll: true,\n modal: true,\n openDelay: 0,\n closeDelay: 0,\n headerAriaLevel: '2',\n transition: undefined,\n})\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n transitionConfig,\n zIndex,\n _draggable,\n _alignCenter,\n _overflow,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n closing,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst penetrable = computed(\n () => props.modalPenetrable && !props.modal && !props.fullscreen\n)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n handleClose,\n})\n</script>\n"],"names":["useSlots","useDeprecated","computed","useNamespace","ref","useDialog","provide","dialogInjectionKey","useSameTarget","_createBlock","_unref","ElTeleport","_createVNode","_Transition","_mergeProps","ElOverlay","_createElementVNode","_normalizeClass","ElFocusTrap","_openBlock","ElDialogContent","$attrs","$slots","_renderSlot"],"mappings":"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"}
1
+ {"version":3,"file":"dialog.vue2.js","sources":["../../../../../../packages/components/dialog/src/dialog.vue"],"sourcesContent":["<template>\n <el-teleport\n :to=\"appendTo\"\n :disabled=\"appendTo !== 'body' ? false : !appendToBody\"\n >\n <transition v-bind=\"transitionConfig\">\n <el-overlay\n v-show=\"visible\"\n custom-mask-event\n :mask=\"modal\"\n :overlay-class=\"[\n modalClass ?? '',\n `${ns.namespace.value}-modal-dialog`,\n ns.is('penetrable', penetrable),\n ]\"\n :z-index=\"zIndex\"\n >\n <div\n role=\"dialog\"\n aria-modal=\"true\"\n :aria-label=\"title || undefined\"\n :aria-labelledby=\"!title ? titleId : undefined\"\n :aria-describedby=\"bodyId\"\n :class=\"[\n `${ns.namespace.value}-overlay-dialog`,\n ns.is('closing', closing),\n ]\"\n :style=\"overlayDialogStyle\"\n @click=\"overlayEvent.onClick\"\n @mousedown=\"overlayEvent.onMousedown\"\n @mouseup=\"overlayEvent.onMouseup\"\n >\n <el-focus-trap\n loop\n :trapped=\"visible\"\n focus-start-el=\"container\"\n @focus-after-trapped=\"onOpenAutoFocus\"\n @focus-after-released=\"onCloseAutoFocus\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onCloseRequested\"\n >\n <el-dialog-content\n v-if=\"rendered\"\n ref=\"dialogContentRef\"\n v-bind=\"$attrs\"\n :center=\"center\"\n :align-center=\"_alignCenter\"\n :close-icon=\"closeIcon\"\n :draggable=\"_draggable\"\n :overflow=\"_overflow\"\n :fullscreen=\"fullscreen\"\n :header-class=\"headerClass\"\n :body-class=\"bodyClass\"\n :footer-class=\"footerClass\"\n :show-close=\"showClose\"\n :title=\"title\"\n :aria-level=\"headerAriaLevel\"\n @close=\"handleClose\"\n >\n <template #header>\n <slot\n v-if=\"!$slots.title\"\n name=\"header\"\n :close=\"handleClose\"\n :title-id=\"titleId\"\n :title-class=\"ns.e('title')\"\n />\n <slot v-else name=\"title\" />\n </template>\n <slot />\n <template v-if=\"$slots.footer\" #footer>\n <slot name=\"footer\" />\n </template>\n </el-dialog-content>\n </el-focus-trap>\n </div>\n </el-overlay>\n </transition>\n </el-teleport>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, provide, ref, useSlots } from 'vue'\nimport { ElOverlay } from '@element-plus/components/overlay'\nimport { useDeprecated, useNamespace, useSameTarget } from '@element-plus/hooks'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport ElTeleport from '@element-plus/components/teleport'\nimport ElDialogContent from './dialog-content.vue'\nimport { dialogInjectionKey } from './constants'\nimport { dialogEmits, dialogPropsDefaults } from './dialog'\nimport { useDialog } from './use-dialog'\n\nimport type { DialogProps } from './dialog'\n\ndefineOptions({\n name: 'ElDialog',\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<DialogProps>(), dialogPropsDefaults)\ndefineEmits(dialogEmits)\nconst slots = useSlots()\n\nuseDeprecated(\n {\n scope: 'el-dialog',\n from: 'the title slot',\n replacement: 'the header slot',\n version: '3.0.0',\n ref: 'https://element-plus.org/en-US/component/dialog.html#slots',\n },\n computed(() => !!slots.title)\n)\n\nconst ns = useNamespace('dialog')\nconst dialogRef = ref<HTMLElement>()\nconst headerRef = ref<HTMLElement>()\nconst dialogContentRef = ref()\n\nconst {\n visible,\n titleId,\n bodyId,\n style,\n overlayDialogStyle,\n rendered,\n transitionConfig,\n zIndex,\n _draggable,\n _alignCenter,\n _overflow,\n handleClose,\n onModalClick,\n onOpenAutoFocus,\n onCloseAutoFocus,\n onCloseRequested,\n onFocusoutPrevented,\n closing,\n} = useDialog(props, dialogRef)\n\nprovide(dialogInjectionKey, {\n dialogRef,\n headerRef,\n bodyId,\n ns,\n rendered,\n style,\n})\n\nconst overlayEvent = useSameTarget(onModalClick)\n\nconst penetrable = computed(\n () => props.modalPenetrable && !props.modal && !props.fullscreen\n)\n\nconst resetPosition = () => {\n dialogContentRef.value?.resetPosition()\n}\n\ndefineExpose({\n /** @description whether the dialog is visible */\n visible,\n dialogContentRef,\n resetPosition,\n handleClose,\n})\n</script>\n"],"names":["useSlots","useDeprecated","computed","useNamespace","ref","useDialog","provide","dialogInjectionKey","useSameTarget","_createBlock","_unref","ElTeleport","_createVNode","_Transition","_mergeProps","ElOverlay","_createElementVNode","_normalizeClass","ElFocusTrap","_openBlock","ElDialogContent","$attrs","$slots","_renderSlot"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { Ref, SetupContext } from 'vue';
2
2
  import type { DrawerEmits, DrawerProps } from '../drawer';
3
- export declare function useResizable(props: DrawerProps, target: Ref<HTMLElement | undefined>, emit: SetupContext<DrawerEmits>['emit']): {
3
+ export declare function useResizable(props: DrawerProps & Required<Pick<DrawerProps, 'direction'>>, target: Ref<HTMLElement | undefined>, emit: SetupContext<DrawerEmits>['emit']): {
4
4
  size: import("vue").ComputedRef<string | undefined>;
5
5
  isResizing: Ref<boolean>;
6
6
  isHorizontal: import("vue").ComputedRef<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"useResizable.js","sources":["../../../../../../../packages/components/drawer/src/composables/useResizable.ts"],"sourcesContent":["import { computed, onBeforeUnmount, ref, watch } from 'vue'\nimport { addUnit } from '@element-plus/utils'\nimport { clamp, useEventListener, useWindowSize } from '@vueuse/core'\n\nimport type { Ref, SetupContext } from 'vue'\nimport type { DrawerEmits, DrawerProps } from '../drawer'\n\nexport function useResizable(\n props: DrawerProps,\n target: Ref<HTMLElement | undefined>,\n emit: SetupContext<DrawerEmits>['emit']\n) {\n const { width, height } = useWindowSize()\n\n const isHorizontal = computed(() => ['ltr', 'rtl'].includes(props.direction))\n const sign = computed(() =>\n ['ltr', 'ttb'].includes(props.direction) ? 1 : -1\n )\n const windowSize = computed(() =>\n isHorizontal.value ? width.value : height.value\n )\n const getSize = computed(() => {\n return clamp(\n startSize.value + sign.value * offset.value,\n 4,\n windowSize.value\n )\n })\n\n const startSize = ref(0)\n const offset = ref(0)\n const isResizing = ref(false)\n const hasStartedDragging = ref(false)\n let startPos: number[] = []\n let cleanups: (() => void)[] = []\n\n const getActualSize = () => {\n const drawerEl = target.value?.closest('[aria-modal=\"true\"]') as HTMLElement\n if (drawerEl) {\n return isHorizontal.value ? drawerEl.offsetWidth : drawerEl.offsetHeight\n }\n return 100\n }\n\n watch(\n () => [props.size, props.resizable] as const,\n () => {\n hasStartedDragging.value = false\n startSize.value = 0\n offset.value = 0\n onMouseUp()\n }\n )\n\n const onMousedown = (e: MouseEvent) => {\n if (!props.resizable) return\n\n if (!hasStartedDragging.value) {\n startSize.value = getActualSize()\n hasStartedDragging.value = true\n }\n\n startPos = [e.pageX, e.pageY]\n isResizing.value = true\n emit('resize-start', e, startSize.value)\n cleanups.push(\n useEventListener(window, 'mouseup', onMouseUp),\n useEventListener(window, 'mousemove', onMouseMove)\n )\n }\n\n const onMouseMove = (e: MouseEvent) => {\n const { pageX, pageY } = e\n const offsetX = pageX - startPos[0]\n const offsetY = pageY - startPos[1]\n offset.value = isHorizontal.value ? offsetX : offsetY\n emit('resize', e, getSize.value)\n }\n\n const onMouseUp = (e?: MouseEvent) => {\n // premature interruption\n // avoid triggering meaningless execution due to watch size/resizable constraints.\n if (!isResizing.value) return\n\n startPos = []\n startSize.value = getSize.value\n offset.value = 0\n isResizing.value = false\n cleanups.forEach((cleanup) => cleanup?.())\n cleanups = []\n if (e) {\n emit('resize-end', e, startSize.value)\n }\n }\n\n const cleanup = useEventListener(target, 'mousedown', onMousedown)\n\n onBeforeUnmount(() => {\n cleanup()\n onMouseUp()\n })\n\n return {\n size: computed(() => {\n return hasStartedDragging.value\n ? `${getSize.value}px`\n : addUnit(props.size)\n }),\n isResizing,\n isHorizontal,\n }\n}\n"],"names":["useWindowSize","computed","clamp","ref","watch","useEventListener","cleanup","onBeforeUnmount","addUnit"],"mappings":";;;;;;AAOO,SAAS,YAAA,CACd,KAAA,EACA,MAAA,EACA,IAAA,EACA;AACA,EAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAO,GAAIA,kBAAA,EAAc;AAExC,EAAA,MAAM,YAAA,GAAeC,YAAA,CAAS,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA,CAAE,QAAA,CAAS,KAAA,CAAM,SAAS,CAAC,CAAA;AAC5E,EAAA,MAAM,IAAA,GAAOA,YAAA;AAAA,IAAS,MACpB,CAAC,KAAA,EAAO,KAAK,EAAE,QAAA,CAAS,KAAA,CAAM,SAAS,CAAA,GAAI,CAAA,GAAI;AAAA,GACjD;AACA,EAAA,MAAM,UAAA,GAAaA,YAAA;AAAA,IAAS,MAC1B,YAAA,CAAa,KAAA,GAAQ,KAAA,CAAM,QAAQ,MAAA,CAAO;AAAA,GAC5C;AACA,EAAA,MAAM,OAAA,GAAUA,aAAS,MAAM;AAC7B,IAAA,OAAOC,UAAA;AAAA,MACL,SAAA,CAAU,KAAA,GAAQ,IAAA,CAAK,KAAA,GAAQ,MAAA,CAAO,KAAA;AAAA,MACtC,CAAA;AAAA,MACA,UAAA,CAAW;AAAA,KACb;AAAA,EACF,CAAC,CAAA;AAED,EAAA,MAAM,SAAA,GAAYC,QAAI,CAAC,CAAA;AACvB,EAAA,MAAM,MAAA,GAASA,QAAI,CAAC,CAAA;AACpB,EAAA,MAAM,UAAA,GAAaA,QAAI,KAAK,CAAA;AAC5B,EAAA,MAAM,kBAAA,GAAqBA,QAAI,KAAK,CAAA;AACpC,EAAA,IAAI,WAAqB,EAAC;AAC1B,EAAA,IAAI,WAA2B,EAAC;AAEhC,EAAA,MAAM,gBAAgB,MAAM;AApC9B,IAAA,IAAA,EAAA;AAqCI,IAAA,MAAM,QAAA,GAAA,CAAW,EAAA,GAAA,MAAA,CAAO,KAAA,KAAP,IAAA,GAAA,MAAA,GAAA,EAAA,CAAc,OAAA,CAAQ,qBAAA,CAAA;AACvC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,OAAO,YAAA,CAAa,KAAA,GAAQ,QAAA,CAAS,WAAA,GAAc,QAAA,CAAS,YAAA;AAAA,IAC9D;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA;AAEA,EAAAC,SAAA;AAAA,IACE,MAAM,CAAC,KAAA,CAAM,IAAA,EAAM,MAAM,SAAS,CAAA;AAAA,IAClC,MAAM;AACJ,MAAA,kBAAA,CAAmB,KAAA,GAAQ,KAAA;AAC3B,MAAA,SAAA,CAAU,KAAA,GAAQ,CAAA;AAClB,MAAA,MAAA,CAAO,KAAA,GAAQ,CAAA;AACf,MAAA,SAAA,EAAU;AAAA,IACZ;AAAA,GACF;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,IAAA,IAAI,CAAC,MAAM,SAAA,EAAW;AAEtB,IAAA,IAAI,CAAC,mBAAmB,KAAA,EAAO;AAC7B,MAAA,SAAA,CAAU,QAAQ,aAAA,EAAc;AAChC,MAAA,kBAAA,CAAmB,KAAA,GAAQ,IAAA;AAAA,IAC7B;AAEA,IAAA,QAAA,GAAW,CAAC,CAAA,CAAE,KAAA,EAAO,CAAA,CAAE,KAAK,CAAA;AAC5B,IAAA,UAAA,CAAW,KAAA,GAAQ,IAAA;AACnB,IAAA,IAAA,CAAK,cAAA,EAAgB,CAAA,EAAG,SAAA,CAAU,KAAK,CAAA;AACvC,IAAA,QAAA,CAAS,IAAA;AAAA,MACPC,qBAAA,CAAiB,MAAA,EAAQ,SAAA,EAAW,SAAS,CAAA;AAAA,MAC7CA,qBAAA,CAAiB,MAAA,EAAQ,WAAA,EAAa,WAAW;AAAA,KACnD;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,CAAC,CAAA,KAAkB;AACrC,IAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAM,GAAI,CAAA;AACzB,IAAA,MAAM,OAAA,GAAU,KAAA,GAAQ,QAAA,CAAS,CAAC,CAAA;AAClC,IAAA,MAAM,OAAA,GAAU,KAAA,GAAQ,QAAA,CAAS,CAAC,CAAA;AAClC,IAAA,MAAA,CAAO,KAAA,GAAQ,YAAA,CAAa,KAAA,GAAQ,OAAA,GAAU,OAAA;AAC9C,IAAA,IAAA,CAAK,QAAA,EAAU,CAAA,EAAG,OAAA,CAAQ,KAAK,CAAA;AAAA,EACjC,CAAA;AAEA,EAAA,MAAM,SAAA,GAAY,CAAC,CAAA,KAAmB;AAGpC,IAAA,IAAI,CAAC,WAAW,KAAA,EAAO;AAEvB,IAAA,QAAA,GAAW,EAAC;AACZ,IAAA,SAAA,CAAU,QAAQ,OAAA,CAAQ,KAAA;AAC1B,IAAA,MAAA,CAAO,KAAA,GAAQ,CAAA;AACf,IAAA,UAAA,CAAW,KAAA,GAAQ,KAAA;AACnB,IAAA,QAAA,CAAS,OAAA,CAAQ,CAACC,QAAAA,KAAYA,QAAAA,IAAA,gBAAAA,QAAAA,EAAW,CAAA;AACzC,IAAA,QAAA,GAAW,EAAC;AACZ,IAAA,IAAI,CAAA,EAAG;AACL,MAAA,IAAA,CAAK,YAAA,EAAc,CAAA,EAAG,SAAA,CAAU,KAAK,CAAA;AAAA,IACvC;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,OAAA,GAAUD,qBAAA,CAAiB,MAAA,EAAQ,WAAA,EAAa,WAAW,CAAA;AAEjE,EAAAE,mBAAA,CAAgB,MAAM;AACpB,IAAA,OAAA,EAAQ;AACR,IAAA,SAAA,EAAU;AAAA,EACZ,CAAC,CAAA;AAED,EAAA,OAAO;AAAA,IACL,IAAA,EAAMN,aAAS,MAAM;AACnB,MAAA,OAAO,kBAAA,CAAmB,QACtB,CAAA,EAAG,OAAA,CAAQ,KAAK,CAAA,EAAA,CAAA,GAChBO,aAAA,CAAQ,MAAM,IAAI,CAAA;AAAA,IACxB,CAAC,CAAA;AAAA,IACD,UAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"useResizable.js","sources":["../../../../../../../packages/components/drawer/src/composables/useResizable.ts"],"sourcesContent":["import { computed, onBeforeUnmount, ref, watch } from 'vue'\nimport { addUnit } from '@element-plus/utils'\nimport { clamp, useEventListener, useWindowSize } from '@vueuse/core'\n\nimport type { Ref, SetupContext } from 'vue'\nimport type { DrawerEmits, DrawerProps } from '../drawer'\n\nexport function useResizable(\n props: DrawerProps & Required<Pick<DrawerProps, 'direction'>>,\n target: Ref<HTMLElement | undefined>,\n emit: SetupContext<DrawerEmits>['emit']\n) {\n const { width, height } = useWindowSize()\n\n const isHorizontal = computed(() => ['ltr', 'rtl'].includes(props.direction))\n const sign = computed(() =>\n ['ltr', 'ttb'].includes(props.direction) ? 1 : -1\n )\n const windowSize = computed(() =>\n isHorizontal.value ? width.value : height.value\n )\n const getSize = computed(() => {\n return clamp(\n startSize.value + sign.value * offset.value,\n 4,\n windowSize.value\n )\n })\n\n const startSize = ref(0)\n const offset = ref(0)\n const isResizing = ref(false)\n const hasStartedDragging = ref(false)\n let startPos: number[] = []\n let cleanups: (() => void)[] = []\n\n const getActualSize = () => {\n const drawerEl = target.value?.closest('[aria-modal=\"true\"]') as HTMLElement\n if (drawerEl) {\n return isHorizontal.value ? drawerEl.offsetWidth : drawerEl.offsetHeight\n }\n return 100\n }\n\n watch(\n () => [props.size, props.resizable] as const,\n () => {\n hasStartedDragging.value = false\n startSize.value = 0\n offset.value = 0\n onMouseUp()\n }\n )\n\n const onMousedown = (e: MouseEvent) => {\n if (!props.resizable) return\n\n if (!hasStartedDragging.value) {\n startSize.value = getActualSize()\n hasStartedDragging.value = true\n }\n\n startPos = [e.pageX, e.pageY]\n isResizing.value = true\n emit('resize-start', e, startSize.value)\n cleanups.push(\n useEventListener(window, 'mouseup', onMouseUp),\n useEventListener(window, 'mousemove', onMouseMove)\n )\n }\n\n const onMouseMove = (e: MouseEvent) => {\n const { pageX, pageY } = e\n const offsetX = pageX - startPos[0]\n const offsetY = pageY - startPos[1]\n offset.value = isHorizontal.value ? offsetX : offsetY\n emit('resize', e, getSize.value)\n }\n\n const onMouseUp = (e?: MouseEvent) => {\n // premature interruption\n // avoid triggering meaningless execution due to watch size/resizable constraints.\n if (!isResizing.value) return\n\n startPos = []\n startSize.value = getSize.value\n offset.value = 0\n isResizing.value = false\n cleanups.forEach((cleanup) => cleanup?.())\n cleanups = []\n if (e) {\n emit('resize-end', e, startSize.value)\n }\n }\n\n const cleanup = useEventListener(target, 'mousedown', onMousedown)\n\n onBeforeUnmount(() => {\n cleanup()\n onMouseUp()\n })\n\n return {\n size: computed(() => {\n return hasStartedDragging.value\n ? `${getSize.value}px`\n : addUnit(props.size)\n }),\n isResizing,\n isHorizontal,\n }\n}\n"],"names":["useWindowSize","computed","clamp","ref","watch","useEventListener","cleanup","onBeforeUnmount","addUnit"],"mappings":"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"}
@@ -1,4 +1,34 @@
1
- import type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue';
1
+ import type { ExtractPublicPropTypes } from 'vue';
2
+ import type { DialogProps } from '@element-plus/nightly/es/components/dialog';
3
+ export interface DrawerProps extends DialogProps {
4
+ /**
5
+ * @description Set the direction in which the Drawer opens
6
+ */
7
+ direction?: 'ltr' | 'rtl' | 'ttb' | 'btt';
8
+ /**
9
+ * @description Whether to enable the resizable function for the drawer
10
+ */
11
+ resizable?: boolean;
12
+ /**
13
+ * @description The size of the Drawer form, when using the number type, is measured in pixels. When using the string type, please pass in 'x%'; otherwise, it will be interpreted as the number type
14
+ */
15
+ size?: string | number;
16
+ /**
17
+ * @description You can remove the title from the drawer, so that your drawer will have more space on the screen. If you want to be visited, you must set the title attribute.
18
+ */
19
+ withHeader?: boolean;
20
+ /**
21
+ * @description The fade-in and fade-out animation switch of the mask layer
22
+ */
23
+ modalFade?: boolean;
24
+ /**
25
+ * @description Help assistive technologies such as screen readers identify content hierarchies
26
+ */
27
+ headerAriaLevel?: string;
28
+ }
29
+ /**
30
+ * @deprecated Removed after 3.0.0, Use `DrawerProps` instead.
31
+ */
2
32
  export declare const drawerProps: {
3
33
  readonly direction: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, "ltr" | "rtl" | "ttb" | "btt", unknown, "rtl", boolean>;
4
34
  readonly resizable: BooleanConstructor;
@@ -62,7 +92,9 @@ export declare const drawerProps: {
62
92
  readonly title: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
63
93
  readonly ariaLevel: import("@element-plus/nightly/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "2", boolean>;
64
94
  };
65
- export type DrawerProps = ExtractPropTypes<typeof drawerProps>;
95
+ /**
96
+ * @deprecated Removed after 3.0.0, Use `DrawerProps` instead.
97
+ */
66
98
  export type DrawerPropsPublic = ExtractPublicPropTypes<typeof drawerProps>;
67
99
  export declare const drawerEmits: {
68
100
  'resize-start': (evt: MouseEvent, size: number) => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\n\nimport type { ExtractPropTypes, ExtractPublicPropTypes } from 'vue'\n\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n resizable: Boolean,\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\nexport type DrawerProps = ExtractPropTypes<typeof drawerProps>\nexport type DrawerPropsPublic = ExtractPublicPropTypes<typeof drawerProps>\n\nexport const drawerEmits = {\n ...dialogEmits,\n 'resize-start': (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n resize: (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n 'resize-end': (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n}\n\nexport type DrawerEmits = typeof drawerEmits\n"],"names":["buildProps","dialogProps","dialogEmits"],"mappings":";;;;;AAKO,MAAM,cAAcA,kBAAA,CAAW;AAAA,EACpC,GAAGC,kBAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,KAAA;AAAA,IACT,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK;AAAA,GACrC;AAAA,EACA,SAAA,EAAW,OAAA;AAAA,EACX,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;AAKH,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,kBAAA;AAAA,EACH,gBAAgB,CAAC,GAAA,EAAiB,SAChC,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS,QAAA;AAAA,EAC/C,QAAQ,CAAC,GAAA,EAAiB,SACxB,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS,QAAA;AAAA,EAC/C,cAAc,CAAC,GAAA,EAAiB,SAC9B,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS;AACjD;;;;;"}
1
+ {"version":3,"file":"drawer.js","sources":["../../../../../../packages/components/drawer/src/drawer.ts"],"sourcesContent":["import { buildProps } from '@element-plus/utils'\nimport { dialogEmits, dialogProps } from '@element-plus/components/dialog'\n\nimport type { ExtractPublicPropTypes } from 'vue'\nimport type { DialogProps } from '@element-plus/components/dialog'\n\nexport interface DrawerProps extends DialogProps {\n /**\n * @description Set the direction in which the Drawer opens\n */\n direction?: 'ltr' | 'rtl' | 'ttb' | 'btt'\n /**\n * @description Whether to enable the resizable function for the drawer\n */\n resizable?: boolean\n /**\n * @description The size of the Drawer form, when using the number type, is measured in pixels. When using the string type, please pass in 'x%'; otherwise, it will be interpreted as the number type\n */\n size?: string | number\n /**\n * @description You can remove the title from the drawer, so that your drawer will have more space on the screen. If you want to be visited, you must set the title attribute.\n */\n withHeader?: boolean\n /**\n * @description The fade-in and fade-out animation switch of the mask layer\n */\n modalFade?: boolean\n /**\n * @description Help assistive technologies such as screen readers identify content hierarchies\n */\n headerAriaLevel?: string\n}\n\n/**\n * @deprecated Removed after 3.0.0, Use `DrawerProps` instead.\n */\nexport const drawerProps = buildProps({\n ...dialogProps,\n direction: {\n type: String,\n default: 'rtl',\n values: ['ltr', 'rtl', 'ttb', 'btt'],\n },\n resizable: Boolean,\n size: {\n type: [String, Number],\n default: '30%',\n },\n withHeader: {\n type: Boolean,\n default: true,\n },\n modalFade: {\n type: Boolean,\n default: true,\n },\n headerAriaLevel: {\n type: String,\n default: '2',\n },\n} as const)\n\n/**\n * @deprecated Removed after 3.0.0, Use `DrawerProps` instead.\n */\nexport type DrawerPropsPublic = ExtractPublicPropTypes<typeof drawerProps>\n\nexport const drawerEmits = {\n ...dialogEmits,\n 'resize-start': (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n resize: (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n 'resize-end': (evt: MouseEvent, size: number) =>\n evt instanceof MouseEvent && typeof size === 'number',\n}\n\nexport type DrawerEmits = typeof drawerEmits\n"],"names":["buildProps","dialogProps","dialogEmits"],"mappings":";;;;;AAoCO,MAAM,cAAcA,kBAAA,CAAW;AAAA,EACpC,GAAGC,kBAAA;AAAA,EACH,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS,KAAA;AAAA,IACT,MAAA,EAAQ,CAAC,KAAA,EAAO,KAAA,EAAO,OAAO,KAAK;AAAA,GACrC;AAAA,EACA,SAAA,EAAW,OAAA;AAAA,EACX,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,UAAA,EAAY;AAAA,IACV,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,SAAA,EAAW;AAAA,IACT,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAU;AAOH,MAAM,WAAA,GAAc;AAAA,EACzB,GAAGC,kBAAA;AAAA,EACH,gBAAgB,CAAC,GAAA,EAAiB,SAChC,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS,QAAA;AAAA,EAC/C,QAAQ,CAAC,GAAA,EAAiB,SACxB,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS,QAAA;AAAA,EAC/C,cAAc,CAAC,GAAA,EAAiB,SAC9B,GAAA,YAAe,UAAA,IAAc,OAAO,IAAA,KAAS;AACjD;;;;;"}