dialog.mjs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. import { dialogContentProps } from './dialog-content.mjs';
  2. import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
  3. import { teleportProps } from '../../teleport/src/teleport2.mjs';
  4. import { UPDATE_MODEL_EVENT } from '../../../constants/event.mjs';
  5. import { isBoolean } from '../../../utils/types.mjs';
  6. const dialogProps = buildProps({
  7. ...dialogContentProps,
  8. appendToBody: Boolean,
  9. appendTo: {
  10. type: teleportProps.to.type,
  11. default: "body"
  12. },
  13. beforeClose: {
  14. type: definePropType(Function)
  15. },
  16. destroyOnClose: Boolean,
  17. closeOnClickModal: {
  18. type: Boolean,
  19. default: true
  20. },
  21. closeOnPressEscape: {
  22. type: Boolean,
  23. default: true
  24. },
  25. lockScroll: {
  26. type: Boolean,
  27. default: true
  28. },
  29. modal: {
  30. type: Boolean,
  31. default: true
  32. },
  33. openDelay: {
  34. type: Number,
  35. default: 0
  36. },
  37. closeDelay: {
  38. type: Number,
  39. default: 0
  40. },
  41. top: {
  42. type: String
  43. },
  44. modelValue: Boolean,
  45. modalClass: String,
  46. headerClass: String,
  47. bodyClass: String,
  48. footerClass: String,
  49. width: {
  50. type: [String, Number]
  51. },
  52. zIndex: {
  53. type: Number
  54. },
  55. trapFocus: Boolean,
  56. headerAriaLevel: {
  57. type: String,
  58. default: "2"
  59. }
  60. });
  61. const dialogEmits = {
  62. open: () => true,
  63. opened: () => true,
  64. close: () => true,
  65. closed: () => true,
  66. [UPDATE_MODEL_EVENT]: (value) => isBoolean(value),
  67. openAutoFocus: () => true,
  68. closeAutoFocus: () => true
  69. };
  70. export { dialogEmits, dialogProps };
  71. //# sourceMappingURL=dialog.mjs.map