index.d.mts 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, ComponentPublicInstance, Ref, EffectScope, PropType } from 'vue';
  3. type ClassValue = any;
  4. declare const block: readonly ["top", "bottom"];
  5. declare const inline: readonly ["start", "end", "left", "right"];
  6. type Tblock = typeof block[number];
  7. type Tinline = typeof inline[number];
  8. type Anchor = Tblock | Tinline | 'center' | 'center center' | `${Tblock} ${Tinline | 'center'}` | `${Tinline} ${Tblock | 'center'}`;
  9. declare class Box {
  10. x: number;
  11. y: number;
  12. width: number;
  13. height: number;
  14. constructor({ x, y, width, height }: {
  15. x: number;
  16. y: number;
  17. width: number;
  18. height: number;
  19. });
  20. get top(): number;
  21. get bottom(): number;
  22. get left(): number;
  23. get right(): number;
  24. }
  25. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  26. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  27. }
  28. type TemplateRef = {
  29. (target: Element | ComponentPublicInstance | null): void;
  30. value: HTMLElement | ComponentPublicInstance | null | undefined;
  31. readonly el: HTMLElement | undefined;
  32. };
  33. interface LocationStrategyData {
  34. contentEl: Ref<HTMLElement | undefined>;
  35. target: Ref<HTMLElement | [x: number, y: number] | undefined>;
  36. isActive: Ref<boolean>;
  37. isRtl: Ref<boolean>;
  38. }
  39. type LocationStrategyFn = (data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  40. updateLocation: (e?: Event) => void;
  41. };
  42. declare const locationStrategies: {
  43. static: typeof staticLocationStrategy;
  44. connected: typeof connectedLocationStrategy;
  45. };
  46. interface StrategyProps$1 {
  47. locationStrategy: keyof typeof locationStrategies | LocationStrategyFn;
  48. location: Anchor;
  49. origin: Anchor | 'auto' | 'overlap';
  50. offset?: number | string | number[];
  51. maxHeight?: number | string;
  52. maxWidth?: number | string;
  53. minHeight?: number | string;
  54. minWidth?: number | string;
  55. }
  56. declare function staticLocationStrategy(): void;
  57. declare function connectedLocationStrategy(data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>): {
  58. updateLocation: () => {
  59. available: {
  60. x: number;
  61. y: number;
  62. };
  63. contentBox: Box;
  64. } | undefined;
  65. };
  66. interface ScrollStrategyData {
  67. root: Ref<HTMLElement | undefined>;
  68. contentEl: Ref<HTMLElement | undefined>;
  69. targetEl: Ref<HTMLElement | undefined>;
  70. isActive: Ref<boolean>;
  71. updateLocation: Ref<((e: Event) => void) | undefined>;
  72. }
  73. type ScrollStrategyFn = (data: ScrollStrategyData, props: StrategyProps, scope: EffectScope) => void;
  74. declare const scrollStrategies: {
  75. none: null;
  76. close: typeof closeScrollStrategy;
  77. block: typeof blockScrollStrategy;
  78. reposition: typeof repositionScrollStrategy;
  79. };
  80. interface StrategyProps {
  81. scrollStrategy: keyof typeof scrollStrategies | ScrollStrategyFn;
  82. contained: boolean | undefined;
  83. }
  84. declare function closeScrollStrategy(data: ScrollStrategyData): void;
  85. declare function blockScrollStrategy(data: ScrollStrategyData, props: StrategyProps): void;
  86. declare function repositionScrollStrategy(data: ScrollStrategyData, props: StrategyProps, scope: EffectScope): void;
  87. declare const VOverlay: {
  88. new (...args: any[]): vue.CreateComponentPublicInstance<{
  89. absolute: boolean;
  90. location: Anchor;
  91. origin: "auto" | Anchor | "overlap";
  92. transition: string | boolean | (vue.TransitionProps & {
  93. component?: vue.Component;
  94. });
  95. zIndex: string | number;
  96. style: vue.StyleValue;
  97. eager: boolean;
  98. disabled: boolean;
  99. persistent: boolean;
  100. modelValue: boolean;
  101. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  102. updateLocation: (e?: Event) => void;
  103. });
  104. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  105. activatorProps: Record<string, any>;
  106. openOnHover: boolean;
  107. closeOnContentClick: boolean;
  108. closeOnBack: boolean;
  109. contained: boolean;
  110. noClickAnimation: boolean;
  111. scrim: string | boolean;
  112. _disableGlobalStack: boolean;
  113. } & {
  114. offset?: string | number | number[] | undefined;
  115. height?: string | number | undefined;
  116. width?: string | number | undefined;
  117. maxHeight?: string | number | undefined;
  118. maxWidth?: string | number | undefined;
  119. minHeight?: string | number | undefined;
  120. minWidth?: string | number | undefined;
  121. opacity?: string | number | undefined;
  122. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  123. class?: any;
  124. theme?: string | undefined;
  125. contentClass?: any;
  126. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  127. closeDelay?: string | number | undefined;
  128. openDelay?: string | number | undefined;
  129. openOnClick?: boolean | undefined;
  130. openOnFocus?: boolean | undefined;
  131. contentProps?: any;
  132. attach?: string | boolean | Element | undefined;
  133. } & {
  134. $children?: vue.VNodeChild | {
  135. default?: ((arg: {
  136. isActive: Ref<boolean>;
  137. }) => vue.VNodeChild) | undefined;
  138. activator?: ((arg: {
  139. isActive: boolean;
  140. props: Record<string, any>;
  141. targetRef: TemplateRef;
  142. }) => vue.VNodeChild) | undefined;
  143. } | ((arg: {
  144. isActive: Ref<boolean>;
  145. }) => vue.VNodeChild);
  146. 'v-slots'?: {
  147. default?: false | ((arg: {
  148. isActive: Ref<boolean>;
  149. }) => vue.VNodeChild) | undefined;
  150. activator?: false | ((arg: {
  151. isActive: boolean;
  152. props: Record<string, any>;
  153. targetRef: TemplateRef;
  154. }) => vue.VNodeChild) | undefined;
  155. } | undefined;
  156. } & {
  157. "v-slot:default"?: false | ((arg: {
  158. isActive: Ref<boolean>;
  159. }) => vue.VNodeChild) | undefined;
  160. "v-slot:activator"?: false | ((arg: {
  161. isActive: boolean;
  162. props: Record<string, any>;
  163. targetRef: TemplateRef;
  164. }) => vue.VNodeChild) | undefined;
  165. } & {
  166. onAfterEnter?: (() => any) | undefined;
  167. onAfterLeave?: (() => any) | undefined;
  168. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  169. "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
  170. }, {
  171. activatorEl: Ref<HTMLElement | undefined>;
  172. scrimEl: Ref<HTMLElement | undefined>;
  173. target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
  174. animateClick: () => void;
  175. contentEl: Ref<HTMLElement | undefined>;
  176. globalTop: Readonly<Ref<boolean>>;
  177. localTop: vue.ComputedRef<boolean>;
  178. updateLocation: Ref<((e: Event) => void) | undefined>;
  179. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  180. 'click:outside': (e: MouseEvent) => true;
  181. 'update:modelValue': (value: boolean) => true;
  182. afterEnter: () => true;
  183. afterLeave: () => true;
  184. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  185. absolute: boolean;
  186. location: Anchor;
  187. origin: "auto" | Anchor | "overlap";
  188. transition: string | boolean | (vue.TransitionProps & {
  189. component?: vue.Component;
  190. });
  191. zIndex: string | number;
  192. style: vue.StyleValue;
  193. eager: boolean;
  194. disabled: boolean;
  195. persistent: boolean;
  196. modelValue: boolean;
  197. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  198. updateLocation: (e?: Event) => void;
  199. });
  200. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  201. activatorProps: Record<string, any>;
  202. openOnHover: boolean;
  203. closeOnContentClick: boolean;
  204. closeOnBack: boolean;
  205. contained: boolean;
  206. noClickAnimation: boolean;
  207. scrim: string | boolean;
  208. _disableGlobalStack: boolean;
  209. } & {
  210. offset?: string | number | number[] | undefined;
  211. height?: string | number | undefined;
  212. width?: string | number | undefined;
  213. maxHeight?: string | number | undefined;
  214. maxWidth?: string | number | undefined;
  215. minHeight?: string | number | undefined;
  216. minWidth?: string | number | undefined;
  217. opacity?: string | number | undefined;
  218. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  219. class?: any;
  220. theme?: string | undefined;
  221. contentClass?: any;
  222. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  223. closeDelay?: string | number | undefined;
  224. openDelay?: string | number | undefined;
  225. openOnClick?: boolean | undefined;
  226. openOnFocus?: boolean | undefined;
  227. contentProps?: any;
  228. attach?: string | boolean | Element | undefined;
  229. } & {
  230. $children?: vue.VNodeChild | {
  231. default?: ((arg: {
  232. isActive: Ref<boolean>;
  233. }) => vue.VNodeChild) | undefined;
  234. activator?: ((arg: {
  235. isActive: boolean;
  236. props: Record<string, any>;
  237. targetRef: TemplateRef;
  238. }) => vue.VNodeChild) | undefined;
  239. } | ((arg: {
  240. isActive: Ref<boolean>;
  241. }) => vue.VNodeChild);
  242. 'v-slots'?: {
  243. default?: false | ((arg: {
  244. isActive: Ref<boolean>;
  245. }) => vue.VNodeChild) | undefined;
  246. activator?: false | ((arg: {
  247. isActive: boolean;
  248. props: Record<string, any>;
  249. targetRef: TemplateRef;
  250. }) => vue.VNodeChild) | undefined;
  251. } | undefined;
  252. } & {
  253. "v-slot:default"?: false | ((arg: {
  254. isActive: Ref<boolean>;
  255. }) => vue.VNodeChild) | undefined;
  256. "v-slot:activator"?: false | ((arg: {
  257. isActive: boolean;
  258. props: Record<string, any>;
  259. targetRef: TemplateRef;
  260. }) => vue.VNodeChild) | undefined;
  261. } & {
  262. onAfterEnter?: (() => any) | undefined;
  263. onAfterLeave?: (() => any) | undefined;
  264. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  265. "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
  266. }, {
  267. absolute: boolean;
  268. location: Anchor;
  269. origin: "auto" | Anchor | "overlap";
  270. transition: string | boolean | (vue.TransitionProps & {
  271. component?: vue.Component;
  272. });
  273. zIndex: string | number;
  274. style: vue.StyleValue;
  275. eager: boolean;
  276. disabled: boolean;
  277. persistent: boolean;
  278. modelValue: boolean;
  279. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  280. updateLocation: (e?: Event) => void;
  281. });
  282. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  283. activatorProps: Record<string, any>;
  284. openOnClick: boolean;
  285. openOnHover: boolean;
  286. openOnFocus: boolean;
  287. closeOnContentClick: boolean;
  288. closeOnBack: boolean;
  289. contained: boolean;
  290. noClickAnimation: boolean;
  291. scrim: string | boolean;
  292. _disableGlobalStack: boolean;
  293. }, true, {}, vue.SlotsType<Partial<{
  294. default: (arg: {
  295. isActive: Ref<boolean>;
  296. }) => vue.VNode[];
  297. activator: (arg: {
  298. isActive: boolean;
  299. props: Record<string, any>;
  300. targetRef: TemplateRef;
  301. }) => vue.VNode[];
  302. }>>, {
  303. P: {};
  304. B: {};
  305. D: {};
  306. C: {};
  307. M: {};
  308. Defaults: {};
  309. }, {
  310. absolute: boolean;
  311. location: Anchor;
  312. origin: "auto" | Anchor | "overlap";
  313. transition: string | boolean | (vue.TransitionProps & {
  314. component?: vue.Component;
  315. });
  316. zIndex: string | number;
  317. style: vue.StyleValue;
  318. eager: boolean;
  319. disabled: boolean;
  320. persistent: boolean;
  321. modelValue: boolean;
  322. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  323. updateLocation: (e?: Event) => void;
  324. });
  325. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  326. activatorProps: Record<string, any>;
  327. openOnHover: boolean;
  328. closeOnContentClick: boolean;
  329. closeOnBack: boolean;
  330. contained: boolean;
  331. noClickAnimation: boolean;
  332. scrim: string | boolean;
  333. _disableGlobalStack: boolean;
  334. } & {
  335. offset?: string | number | number[] | undefined;
  336. height?: string | number | undefined;
  337. width?: string | number | undefined;
  338. maxHeight?: string | number | undefined;
  339. maxWidth?: string | number | undefined;
  340. minHeight?: string | number | undefined;
  341. minWidth?: string | number | undefined;
  342. opacity?: string | number | undefined;
  343. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  344. class?: any;
  345. theme?: string | undefined;
  346. contentClass?: any;
  347. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  348. closeDelay?: string | number | undefined;
  349. openDelay?: string | number | undefined;
  350. openOnClick?: boolean | undefined;
  351. openOnFocus?: boolean | undefined;
  352. contentProps?: any;
  353. attach?: string | boolean | Element | undefined;
  354. } & {
  355. $children?: vue.VNodeChild | {
  356. default?: ((arg: {
  357. isActive: Ref<boolean>;
  358. }) => vue.VNodeChild) | undefined;
  359. activator?: ((arg: {
  360. isActive: boolean;
  361. props: Record<string, any>;
  362. targetRef: TemplateRef;
  363. }) => vue.VNodeChild) | undefined;
  364. } | ((arg: {
  365. isActive: Ref<boolean>;
  366. }) => vue.VNodeChild);
  367. 'v-slots'?: {
  368. default?: false | ((arg: {
  369. isActive: Ref<boolean>;
  370. }) => vue.VNodeChild) | undefined;
  371. activator?: false | ((arg: {
  372. isActive: boolean;
  373. props: Record<string, any>;
  374. targetRef: TemplateRef;
  375. }) => vue.VNodeChild) | undefined;
  376. } | undefined;
  377. } & {
  378. "v-slot:default"?: false | ((arg: {
  379. isActive: Ref<boolean>;
  380. }) => vue.VNodeChild) | undefined;
  381. "v-slot:activator"?: false | ((arg: {
  382. isActive: boolean;
  383. props: Record<string, any>;
  384. targetRef: TemplateRef;
  385. }) => vue.VNodeChild) | undefined;
  386. } & {
  387. onAfterEnter?: (() => any) | undefined;
  388. onAfterLeave?: (() => any) | undefined;
  389. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  390. "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
  391. }, {
  392. activatorEl: Ref<HTMLElement | undefined>;
  393. scrimEl: Ref<HTMLElement | undefined>;
  394. target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
  395. animateClick: () => void;
  396. contentEl: Ref<HTMLElement | undefined>;
  397. globalTop: Readonly<Ref<boolean>>;
  398. localTop: vue.ComputedRef<boolean>;
  399. updateLocation: Ref<((e: Event) => void) | undefined>;
  400. }, {}, {}, {}, {
  401. absolute: boolean;
  402. location: Anchor;
  403. origin: "auto" | Anchor | "overlap";
  404. transition: string | boolean | (vue.TransitionProps & {
  405. component?: vue.Component;
  406. });
  407. zIndex: string | number;
  408. style: vue.StyleValue;
  409. eager: boolean;
  410. disabled: boolean;
  411. persistent: boolean;
  412. modelValue: boolean;
  413. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  414. updateLocation: (e?: Event) => void;
  415. });
  416. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  417. activatorProps: Record<string, any>;
  418. openOnClick: boolean;
  419. openOnHover: boolean;
  420. openOnFocus: boolean;
  421. closeOnContentClick: boolean;
  422. closeOnBack: boolean;
  423. contained: boolean;
  424. noClickAnimation: boolean;
  425. scrim: string | boolean;
  426. _disableGlobalStack: boolean;
  427. }>;
  428. __isFragment?: never;
  429. __isTeleport?: never;
  430. __isSuspense?: never;
  431. } & vue.ComponentOptionsBase<{
  432. absolute: boolean;
  433. location: Anchor;
  434. origin: "auto" | Anchor | "overlap";
  435. transition: string | boolean | (vue.TransitionProps & {
  436. component?: vue.Component;
  437. });
  438. zIndex: string | number;
  439. style: vue.StyleValue;
  440. eager: boolean;
  441. disabled: boolean;
  442. persistent: boolean;
  443. modelValue: boolean;
  444. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  445. updateLocation: (e?: Event) => void;
  446. });
  447. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  448. activatorProps: Record<string, any>;
  449. openOnHover: boolean;
  450. closeOnContentClick: boolean;
  451. closeOnBack: boolean;
  452. contained: boolean;
  453. noClickAnimation: boolean;
  454. scrim: string | boolean;
  455. _disableGlobalStack: boolean;
  456. } & {
  457. offset?: string | number | number[] | undefined;
  458. height?: string | number | undefined;
  459. width?: string | number | undefined;
  460. maxHeight?: string | number | undefined;
  461. maxWidth?: string | number | undefined;
  462. minHeight?: string | number | undefined;
  463. minWidth?: string | number | undefined;
  464. opacity?: string | number | undefined;
  465. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  466. class?: any;
  467. theme?: string | undefined;
  468. contentClass?: any;
  469. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  470. closeDelay?: string | number | undefined;
  471. openDelay?: string | number | undefined;
  472. openOnClick?: boolean | undefined;
  473. openOnFocus?: boolean | undefined;
  474. contentProps?: any;
  475. attach?: string | boolean | Element | undefined;
  476. } & {
  477. $children?: vue.VNodeChild | {
  478. default?: ((arg: {
  479. isActive: Ref<boolean>;
  480. }) => vue.VNodeChild) | undefined;
  481. activator?: ((arg: {
  482. isActive: boolean;
  483. props: Record<string, any>;
  484. targetRef: TemplateRef;
  485. }) => vue.VNodeChild) | undefined;
  486. } | ((arg: {
  487. isActive: Ref<boolean>;
  488. }) => vue.VNodeChild);
  489. 'v-slots'?: {
  490. default?: false | ((arg: {
  491. isActive: Ref<boolean>;
  492. }) => vue.VNodeChild) | undefined;
  493. activator?: false | ((arg: {
  494. isActive: boolean;
  495. props: Record<string, any>;
  496. targetRef: TemplateRef;
  497. }) => vue.VNodeChild) | undefined;
  498. } | undefined;
  499. } & {
  500. "v-slot:default"?: false | ((arg: {
  501. isActive: Ref<boolean>;
  502. }) => vue.VNodeChild) | undefined;
  503. "v-slot:activator"?: false | ((arg: {
  504. isActive: boolean;
  505. props: Record<string, any>;
  506. targetRef: TemplateRef;
  507. }) => vue.VNodeChild) | undefined;
  508. } & {
  509. onAfterEnter?: (() => any) | undefined;
  510. onAfterLeave?: (() => any) | undefined;
  511. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  512. "onClick:outside"?: ((e: MouseEvent) => any) | undefined;
  513. }, {
  514. activatorEl: Ref<HTMLElement | undefined>;
  515. scrimEl: Ref<HTMLElement | undefined>;
  516. target: vue.ComputedRef<HTMLElement | [x: number, y: number] | undefined>;
  517. animateClick: () => void;
  518. contentEl: Ref<HTMLElement | undefined>;
  519. globalTop: Readonly<Ref<boolean>>;
  520. localTop: vue.ComputedRef<boolean>;
  521. updateLocation: Ref<((e: Event) => void) | undefined>;
  522. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  523. 'click:outside': (e: MouseEvent) => true;
  524. 'update:modelValue': (value: boolean) => true;
  525. afterEnter: () => true;
  526. afterLeave: () => true;
  527. }, string, {
  528. absolute: boolean;
  529. location: Anchor;
  530. origin: "auto" | Anchor | "overlap";
  531. transition: string | boolean | (vue.TransitionProps & {
  532. component?: vue.Component;
  533. });
  534. zIndex: string | number;
  535. style: vue.StyleValue;
  536. eager: boolean;
  537. disabled: boolean;
  538. persistent: boolean;
  539. modelValue: boolean;
  540. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: Ref<Record<string, string>>) => undefined | {
  541. updateLocation: (e?: Event) => void;
  542. });
  543. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  544. activatorProps: Record<string, any>;
  545. openOnClick: boolean;
  546. openOnHover: boolean;
  547. openOnFocus: boolean;
  548. closeOnContentClick: boolean;
  549. closeOnBack: boolean;
  550. contained: boolean;
  551. noClickAnimation: boolean;
  552. scrim: string | boolean;
  553. _disableGlobalStack: boolean;
  554. }, {}, string, vue.SlotsType<Partial<{
  555. default: (arg: {
  556. isActive: Ref<boolean>;
  557. }) => vue.VNode[];
  558. activator: (arg: {
  559. isActive: boolean;
  560. props: Record<string, any>;
  561. targetRef: TemplateRef;
  562. }) => vue.VNode[];
  563. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  564. transition: {
  565. type: PropType<string | boolean | (vue.TransitionProps & {
  566. component?: vue.Component;
  567. })>;
  568. default: string;
  569. validator: (val: unknown) => boolean;
  570. };
  571. theme: StringConstructor;
  572. scrollStrategy: {
  573. type: PropType<StrategyProps["scrollStrategy"]>;
  574. default: string;
  575. validator: (val: any) => boolean;
  576. };
  577. locationStrategy: {
  578. type: PropType<StrategyProps$1["locationStrategy"]>;
  579. default: string;
  580. validator: (val: any) => boolean;
  581. };
  582. location: {
  583. type: PropType<StrategyProps$1["location"]>;
  584. default: string;
  585. };
  586. origin: {
  587. type: PropType<StrategyProps$1["origin"]>;
  588. default: string;
  589. };
  590. offset: PropType<StrategyProps$1["offset"]>;
  591. eager: BooleanConstructor;
  592. height: (StringConstructor | NumberConstructor)[];
  593. maxHeight: (StringConstructor | NumberConstructor)[];
  594. maxWidth: (StringConstructor | NumberConstructor)[];
  595. minHeight: (StringConstructor | NumberConstructor)[];
  596. minWidth: (StringConstructor | NumberConstructor)[];
  597. width: (StringConstructor | NumberConstructor)[];
  598. class: PropType<ClassValue>;
  599. style: {
  600. type: PropType<vue.StyleValue>;
  601. default: null;
  602. };
  603. closeDelay: (StringConstructor | NumberConstructor)[];
  604. openDelay: (StringConstructor | NumberConstructor)[];
  605. target: PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
  606. activator: PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
  607. activatorProps: {
  608. type: PropType<Record<string, any>>;
  609. default: () => {};
  610. };
  611. openOnClick: {
  612. type: BooleanConstructor;
  613. default: undefined;
  614. };
  615. openOnHover: BooleanConstructor;
  616. openOnFocus: {
  617. type: BooleanConstructor;
  618. default: undefined;
  619. };
  620. closeOnContentClick: BooleanConstructor;
  621. absolute: BooleanConstructor;
  622. attach: PropType<boolean | string | Element>;
  623. closeOnBack: {
  624. type: BooleanConstructor;
  625. default: boolean;
  626. };
  627. contained: BooleanConstructor;
  628. contentClass: null;
  629. contentProps: null;
  630. disabled: BooleanConstructor;
  631. opacity: (StringConstructor | NumberConstructor)[];
  632. noClickAnimation: BooleanConstructor;
  633. modelValue: BooleanConstructor;
  634. persistent: BooleanConstructor;
  635. scrim: {
  636. type: (StringConstructor | BooleanConstructor)[];
  637. default: boolean;
  638. };
  639. zIndex: {
  640. type: (StringConstructor | NumberConstructor)[];
  641. default: number;
  642. };
  643. _disableGlobalStack: BooleanConstructor;
  644. }, vue.ExtractPropTypes<{
  645. transition: {
  646. type: PropType<string | boolean | (vue.TransitionProps & {
  647. component?: vue.Component;
  648. })>;
  649. default: string;
  650. validator: (val: unknown) => boolean;
  651. };
  652. theme: StringConstructor;
  653. scrollStrategy: {
  654. type: PropType<StrategyProps["scrollStrategy"]>;
  655. default: string;
  656. validator: (val: any) => boolean;
  657. };
  658. locationStrategy: {
  659. type: PropType<StrategyProps$1["locationStrategy"]>;
  660. default: string;
  661. validator: (val: any) => boolean;
  662. };
  663. location: {
  664. type: PropType<StrategyProps$1["location"]>;
  665. default: string;
  666. };
  667. origin: {
  668. type: PropType<StrategyProps$1["origin"]>;
  669. default: string;
  670. };
  671. offset: PropType<StrategyProps$1["offset"]>;
  672. eager: BooleanConstructor;
  673. height: (StringConstructor | NumberConstructor)[];
  674. maxHeight: (StringConstructor | NumberConstructor)[];
  675. maxWidth: (StringConstructor | NumberConstructor)[];
  676. minHeight: (StringConstructor | NumberConstructor)[];
  677. minWidth: (StringConstructor | NumberConstructor)[];
  678. width: (StringConstructor | NumberConstructor)[];
  679. class: PropType<ClassValue>;
  680. style: {
  681. type: PropType<vue.StyleValue>;
  682. default: null;
  683. };
  684. closeDelay: (StringConstructor | NumberConstructor)[];
  685. openDelay: (StringConstructor | NumberConstructor)[];
  686. target: PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
  687. activator: PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
  688. activatorProps: {
  689. type: PropType<Record<string, any>>;
  690. default: () => {};
  691. };
  692. openOnClick: {
  693. type: BooleanConstructor;
  694. default: undefined;
  695. };
  696. openOnHover: BooleanConstructor;
  697. openOnFocus: {
  698. type: BooleanConstructor;
  699. default: undefined;
  700. };
  701. closeOnContentClick: BooleanConstructor;
  702. absolute: BooleanConstructor;
  703. attach: PropType<boolean | string | Element>;
  704. closeOnBack: {
  705. type: BooleanConstructor;
  706. default: boolean;
  707. };
  708. contained: BooleanConstructor;
  709. contentClass: null;
  710. contentProps: null;
  711. disabled: BooleanConstructor;
  712. opacity: (StringConstructor | NumberConstructor)[];
  713. noClickAnimation: BooleanConstructor;
  714. modelValue: BooleanConstructor;
  715. persistent: BooleanConstructor;
  716. scrim: {
  717. type: (StringConstructor | BooleanConstructor)[];
  718. default: boolean;
  719. };
  720. zIndex: {
  721. type: (StringConstructor | NumberConstructor)[];
  722. default: number;
  723. };
  724. _disableGlobalStack: BooleanConstructor;
  725. }>>;
  726. type VOverlay = InstanceType<typeof VOverlay>;
  727. export { VOverlay };