5b948613bb903bdde27fe0a4a4b2da63721da24757e10b0fcebf10e589a55ea249dd3864ad4b4c190352df5fc0070b0ccf342f663c6740a5503ce2a6e745be 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. import { useTooltipTriggerProps } from '../../tooltip/src/trigger.mjs';
  2. import { roleTypes } from '../../popper/src/popper.mjs';
  3. import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
  4. import { EVENT_CODE } from '../../../constants/aria.mjs';
  5. import { useTooltipContentProps } from '../../tooltip/src/content.mjs';
  6. import { iconPropType } from '../../../utils/vue/icon.mjs';
  7. import { createCollectionWithScope } from '../../collection/src/collection.mjs';
  8. const dropdownProps = buildProps({
  9. trigger: useTooltipTriggerProps.trigger,
  10. triggerKeys: {
  11. type: definePropType(Array),
  12. default: () => [
  13. EVENT_CODE.enter,
  14. EVENT_CODE.numpadEnter,
  15. EVENT_CODE.space,
  16. EVENT_CODE.down
  17. ]
  18. },
  19. virtualTriggering: useTooltipTriggerProps.virtualTriggering,
  20. virtualRef: useTooltipTriggerProps.virtualRef,
  21. effect: {
  22. ...useTooltipContentProps.effect,
  23. default: "light"
  24. },
  25. type: {
  26. type: definePropType(String)
  27. },
  28. placement: {
  29. type: definePropType(String),
  30. default: "bottom"
  31. },
  32. popperOptions: {
  33. type: definePropType(Object),
  34. default: () => ({})
  35. },
  36. id: String,
  37. size: {
  38. type: String,
  39. default: ""
  40. },
  41. splitButton: Boolean,
  42. hideOnClick: {
  43. type: Boolean,
  44. default: true
  45. },
  46. loop: {
  47. type: Boolean,
  48. default: true
  49. },
  50. showArrow: {
  51. type: Boolean,
  52. default: true
  53. },
  54. showTimeout: {
  55. type: Number,
  56. default: 150
  57. },
  58. hideTimeout: {
  59. type: Number,
  60. default: 150
  61. },
  62. tabindex: {
  63. type: definePropType([Number, String]),
  64. default: 0
  65. },
  66. maxHeight: {
  67. type: definePropType([Number, String]),
  68. default: ""
  69. },
  70. popperClass: {
  71. type: String,
  72. default: ""
  73. },
  74. disabled: Boolean,
  75. role: {
  76. type: String,
  77. values: roleTypes,
  78. default: "menu"
  79. },
  80. buttonProps: {
  81. type: definePropType(Object)
  82. },
  83. teleported: useTooltipContentProps.teleported,
  84. persistent: {
  85. type: Boolean,
  86. default: true
  87. }
  88. });
  89. const dropdownItemProps = buildProps({
  90. command: {
  91. type: [Object, String, Number],
  92. default: () => ({})
  93. },
  94. disabled: Boolean,
  95. divided: Boolean,
  96. textValue: String,
  97. icon: {
  98. type: iconPropType
  99. }
  100. });
  101. const dropdownMenuProps = buildProps({
  102. onKeydown: { type: definePropType(Function) }
  103. });
  104. const FIRST_KEYS = [
  105. EVENT_CODE.down,
  106. EVENT_CODE.pageDown,
  107. EVENT_CODE.home
  108. ];
  109. const LAST_KEYS = [EVENT_CODE.up, EVENT_CODE.pageUp, EVENT_CODE.end];
  110. const FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
  111. const {
  112. ElCollection,
  113. ElCollectionItem,
  114. COLLECTION_INJECTION_KEY,
  115. COLLECTION_ITEM_INJECTION_KEY
  116. } = createCollectionWithScope("Dropdown");
  117. export { COLLECTION_INJECTION_KEY as DROPDOWN_COLLECTION_INJECTION_KEY, COLLECTION_ITEM_INJECTION_KEY as DROPDOWN_COLLECTION_ITEM_INJECTION_KEY, ElCollection, ElCollectionItem, FIRST_KEYS, FIRST_LAST_KEYS, LAST_KEYS, dropdownItemProps, dropdownMenuProps, dropdownProps };
  118. //# sourceMappingURL=dropdown.mjs.map