index.d.mts 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, ComponentPublicInstance, Ref, EffectScope } 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 VBottomSheet: {
  88. new (...args: any[]): vue.CreateComponentPublicInstance<{
  89. absolute: boolean;
  90. location: Anchor;
  91. origin: "auto" | Anchor | "overlap";
  92. inset: boolean;
  93. transition: string | boolean | (vue.TransitionProps & {
  94. component?: vue.Component;
  95. }) | {
  96. component: vue.Component;
  97. };
  98. zIndex: string | number;
  99. style: vue.StyleValue;
  100. eager: boolean;
  101. disabled: boolean;
  102. persistent: boolean;
  103. modelValue: boolean;
  104. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  105. updateLocation: (e?: Event) => void;
  106. });
  107. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  108. activatorProps: Record<string, any>;
  109. openOnHover: boolean;
  110. closeOnContentClick: boolean;
  111. closeOnBack: boolean;
  112. contained: boolean;
  113. noClickAnimation: boolean;
  114. scrim: string | boolean;
  115. fullscreen: boolean;
  116. retainFocus: boolean;
  117. scrollable: boolean;
  118. } & {
  119. offset?: string | number | number[] | undefined;
  120. height?: string | number | undefined;
  121. width?: string | number | undefined;
  122. maxHeight?: string | number | undefined;
  123. maxWidth?: string | number | undefined;
  124. minHeight?: string | number | undefined;
  125. minWidth?: string | number | undefined;
  126. opacity?: string | number | undefined;
  127. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  128. class?: any;
  129. theme?: string | undefined;
  130. contentClass?: any;
  131. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  132. closeDelay?: string | number | undefined;
  133. openDelay?: string | number | undefined;
  134. openOnClick?: boolean | undefined;
  135. openOnFocus?: boolean | undefined;
  136. contentProps?: any;
  137. attach?: string | boolean | Element | undefined;
  138. } & {
  139. $children?: vue.VNodeChild | {
  140. default?: ((arg: {
  141. isActive: vue.Ref<boolean>;
  142. }) => vue.VNodeChild) | undefined;
  143. activator?: ((arg: {
  144. isActive: boolean;
  145. props: Record<string, any>;
  146. targetRef: TemplateRef;
  147. }) => vue.VNodeChild) | undefined;
  148. } | ((arg: {
  149. isActive: vue.Ref<boolean>;
  150. }) => vue.VNodeChild);
  151. 'v-slots'?: {
  152. default?: false | ((arg: {
  153. isActive: vue.Ref<boolean>;
  154. }) => vue.VNodeChild) | undefined;
  155. activator?: false | ((arg: {
  156. isActive: boolean;
  157. props: Record<string, any>;
  158. targetRef: TemplateRef;
  159. }) => vue.VNodeChild) | undefined;
  160. } | undefined;
  161. } & {
  162. "v-slot:default"?: false | ((arg: {
  163. isActive: vue.Ref<boolean>;
  164. }) => vue.VNodeChild) | undefined;
  165. "v-slot:activator"?: false | ((arg: {
  166. isActive: boolean;
  167. props: Record<string, any>;
  168. targetRef: TemplateRef;
  169. }) => vue.VNodeChild) | undefined;
  170. } & {
  171. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  172. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  173. 'update:modelValue': (value: boolean) => true;
  174. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  175. absolute: boolean;
  176. location: Anchor;
  177. origin: "auto" | Anchor | "overlap";
  178. inset: boolean;
  179. transition: string | boolean | (vue.TransitionProps & {
  180. component?: vue.Component;
  181. }) | {
  182. component: vue.Component;
  183. };
  184. zIndex: string | number;
  185. style: vue.StyleValue;
  186. eager: boolean;
  187. disabled: boolean;
  188. persistent: boolean;
  189. modelValue: boolean;
  190. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  191. updateLocation: (e?: Event) => void;
  192. });
  193. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  194. activatorProps: Record<string, any>;
  195. openOnHover: boolean;
  196. closeOnContentClick: boolean;
  197. closeOnBack: boolean;
  198. contained: boolean;
  199. noClickAnimation: boolean;
  200. scrim: string | boolean;
  201. fullscreen: boolean;
  202. retainFocus: boolean;
  203. scrollable: boolean;
  204. } & {
  205. offset?: string | number | number[] | undefined;
  206. height?: string | number | undefined;
  207. width?: string | number | undefined;
  208. maxHeight?: string | number | undefined;
  209. maxWidth?: string | number | undefined;
  210. minHeight?: string | number | undefined;
  211. minWidth?: string | number | undefined;
  212. opacity?: string | number | undefined;
  213. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  214. class?: any;
  215. theme?: string | undefined;
  216. contentClass?: any;
  217. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  218. closeDelay?: string | number | undefined;
  219. openDelay?: string | number | undefined;
  220. openOnClick?: boolean | undefined;
  221. openOnFocus?: boolean | undefined;
  222. contentProps?: any;
  223. attach?: string | boolean | Element | undefined;
  224. } & {
  225. $children?: vue.VNodeChild | {
  226. default?: ((arg: {
  227. isActive: vue.Ref<boolean>;
  228. }) => vue.VNodeChild) | undefined;
  229. activator?: ((arg: {
  230. isActive: boolean;
  231. props: Record<string, any>;
  232. targetRef: TemplateRef;
  233. }) => vue.VNodeChild) | undefined;
  234. } | ((arg: {
  235. isActive: vue.Ref<boolean>;
  236. }) => vue.VNodeChild);
  237. 'v-slots'?: {
  238. default?: false | ((arg: {
  239. isActive: vue.Ref<boolean>;
  240. }) => vue.VNodeChild) | undefined;
  241. activator?: false | ((arg: {
  242. isActive: boolean;
  243. props: Record<string, any>;
  244. targetRef: TemplateRef;
  245. }) => vue.VNodeChild) | undefined;
  246. } | undefined;
  247. } & {
  248. "v-slot:default"?: false | ((arg: {
  249. isActive: vue.Ref<boolean>;
  250. }) => vue.VNodeChild) | undefined;
  251. "v-slot:activator"?: false | ((arg: {
  252. isActive: boolean;
  253. props: Record<string, any>;
  254. targetRef: TemplateRef;
  255. }) => vue.VNodeChild) | undefined;
  256. } & {
  257. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  258. }, {
  259. absolute: boolean;
  260. location: Anchor;
  261. origin: "auto" | Anchor | "overlap";
  262. inset: boolean;
  263. transition: string | boolean | (vue.TransitionProps & {
  264. component?: vue.Component;
  265. }) | {
  266. component: vue.Component;
  267. };
  268. zIndex: string | number;
  269. style: vue.StyleValue;
  270. eager: boolean;
  271. disabled: boolean;
  272. persistent: boolean;
  273. modelValue: boolean;
  274. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  275. updateLocation: (e?: Event) => void;
  276. });
  277. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  278. activatorProps: Record<string, any>;
  279. openOnClick: boolean;
  280. openOnHover: boolean;
  281. openOnFocus: boolean;
  282. closeOnContentClick: boolean;
  283. closeOnBack: boolean;
  284. contained: boolean;
  285. noClickAnimation: boolean;
  286. scrim: string | boolean;
  287. fullscreen: boolean;
  288. retainFocus: boolean;
  289. scrollable: boolean;
  290. }, true, {}, vue.SlotsType<Partial<{
  291. default: (arg: {
  292. isActive: vue.Ref<boolean>;
  293. }) => vue.VNode[];
  294. activator: (arg: {
  295. isActive: boolean;
  296. props: Record<string, any>;
  297. targetRef: TemplateRef;
  298. }) => vue.VNode[];
  299. }>>, {
  300. P: {};
  301. B: {};
  302. D: {};
  303. C: {};
  304. M: {};
  305. Defaults: {};
  306. }, {
  307. absolute: boolean;
  308. location: Anchor;
  309. origin: "auto" | Anchor | "overlap";
  310. inset: boolean;
  311. transition: string | boolean | (vue.TransitionProps & {
  312. component?: vue.Component;
  313. }) | {
  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: vue.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. fullscreen: boolean;
  334. retainFocus: boolean;
  335. scrollable: boolean;
  336. } & {
  337. offset?: string | number | number[] | undefined;
  338. height?: string | number | undefined;
  339. width?: string | number | undefined;
  340. maxHeight?: string | number | undefined;
  341. maxWidth?: string | number | undefined;
  342. minHeight?: string | number | undefined;
  343. minWidth?: string | number | undefined;
  344. opacity?: string | number | undefined;
  345. target?: Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined;
  346. class?: any;
  347. theme?: string | undefined;
  348. contentClass?: any;
  349. activator?: Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined;
  350. closeDelay?: string | number | undefined;
  351. openDelay?: string | number | undefined;
  352. openOnClick?: boolean | undefined;
  353. openOnFocus?: boolean | undefined;
  354. contentProps?: any;
  355. attach?: string | boolean | Element | undefined;
  356. } & {
  357. $children?: vue.VNodeChild | {
  358. default?: ((arg: {
  359. isActive: vue.Ref<boolean>;
  360. }) => vue.VNodeChild) | undefined;
  361. activator?: ((arg: {
  362. isActive: boolean;
  363. props: Record<string, any>;
  364. targetRef: TemplateRef;
  365. }) => vue.VNodeChild) | undefined;
  366. } | ((arg: {
  367. isActive: vue.Ref<boolean>;
  368. }) => vue.VNodeChild);
  369. 'v-slots'?: {
  370. default?: false | ((arg: {
  371. isActive: vue.Ref<boolean>;
  372. }) => vue.VNodeChild) | undefined;
  373. activator?: false | ((arg: {
  374. isActive: boolean;
  375. props: Record<string, any>;
  376. targetRef: TemplateRef;
  377. }) => vue.VNodeChild) | undefined;
  378. } | undefined;
  379. } & {
  380. "v-slot:default"?: false | ((arg: {
  381. isActive: vue.Ref<boolean>;
  382. }) => vue.VNodeChild) | undefined;
  383. "v-slot:activator"?: false | ((arg: {
  384. isActive: boolean;
  385. props: Record<string, any>;
  386. targetRef: TemplateRef;
  387. }) => vue.VNodeChild) | undefined;
  388. } & {
  389. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  390. }, {}, {}, {}, {}, {
  391. absolute: boolean;
  392. location: Anchor;
  393. origin: "auto" | Anchor | "overlap";
  394. inset: boolean;
  395. transition: string | boolean | (vue.TransitionProps & {
  396. component?: vue.Component;
  397. }) | {
  398. component: vue.Component;
  399. };
  400. zIndex: string | number;
  401. style: vue.StyleValue;
  402. eager: boolean;
  403. disabled: boolean;
  404. persistent: boolean;
  405. modelValue: boolean;
  406. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  407. updateLocation: (e?: Event) => void;
  408. });
  409. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  410. activatorProps: Record<string, any>;
  411. openOnClick: boolean;
  412. openOnHover: boolean;
  413. openOnFocus: boolean;
  414. closeOnContentClick: boolean;
  415. closeOnBack: boolean;
  416. contained: boolean;
  417. noClickAnimation: boolean;
  418. scrim: string | boolean;
  419. fullscreen: boolean;
  420. retainFocus: boolean;
  421. scrollable: boolean;
  422. }>;
  423. __isFragment?: never;
  424. __isTeleport?: never;
  425. __isSuspense?: never;
  426. } & vue.ComponentOptionsBase<{
  427. absolute: boolean;
  428. location: Anchor;
  429. origin: "auto" | Anchor | "overlap";
  430. inset: boolean;
  431. transition: string | boolean | (vue.TransitionProps & {
  432. component?: vue.Component;
  433. }) | {
  434. component: vue.Component;
  435. };
  436. zIndex: string | number;
  437. style: vue.StyleValue;
  438. eager: boolean;
  439. disabled: boolean;
  440. persistent: boolean;
  441. modelValue: boolean;
  442. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  443. updateLocation: (e?: Event) => void;
  444. });
  445. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  446. activatorProps: Record<string, any>;
  447. openOnHover: boolean;
  448. closeOnContentClick: boolean;
  449. closeOnBack: boolean;
  450. contained: boolean;
  451. noClickAnimation: boolean;
  452. scrim: string | boolean;
  453. fullscreen: boolean;
  454. retainFocus: boolean;
  455. scrollable: 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: vue.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: vue.Ref<boolean>;
  488. }) => vue.VNodeChild);
  489. 'v-slots'?: {
  490. default?: false | ((arg: {
  491. isActive: vue.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: vue.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. "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
  510. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  511. 'update:modelValue': (value: boolean) => true;
  512. }, string, {
  513. absolute: boolean;
  514. location: Anchor;
  515. origin: "auto" | Anchor | "overlap";
  516. inset: boolean;
  517. transition: string | boolean | (vue.TransitionProps & {
  518. component?: vue.Component;
  519. }) | {
  520. component: vue.Component;
  521. };
  522. zIndex: string | number;
  523. style: vue.StyleValue;
  524. eager: boolean;
  525. disabled: boolean;
  526. persistent: boolean;
  527. modelValue: boolean;
  528. locationStrategy: "connected" | "static" | ((data: LocationStrategyData, props: StrategyProps$1, contentStyles: vue.Ref<Record<string, string>>) => undefined | {
  529. updateLocation: (e?: Event) => void;
  530. });
  531. scrollStrategy: "none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition";
  532. activatorProps: Record<string, any>;
  533. openOnClick: boolean;
  534. openOnHover: boolean;
  535. openOnFocus: boolean;
  536. closeOnContentClick: boolean;
  537. closeOnBack: boolean;
  538. contained: boolean;
  539. noClickAnimation: boolean;
  540. scrim: string | boolean;
  541. fullscreen: boolean;
  542. retainFocus: boolean;
  543. scrollable: boolean;
  544. }, {}, string, vue.SlotsType<Partial<{
  545. default: (arg: {
  546. isActive: vue.Ref<boolean>;
  547. }) => vue.VNode[];
  548. activator: (arg: {
  549. isActive: boolean;
  550. props: Record<string, any>;
  551. targetRef: TemplateRef;
  552. }) => vue.VNode[];
  553. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  554. transition: Omit<Omit<{
  555. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  556. component?: vue.Component;
  557. })>;
  558. default: string;
  559. validator: (val: unknown) => boolean;
  560. }, "type" | "default"> & {
  561. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  562. component?: vue.Component;
  563. }) | {
  564. component: vue.Component;
  565. }>;
  566. default: NonNullable<string | boolean | (vue.TransitionProps & {
  567. component?: vue.Component;
  568. })> | {
  569. component: vue.Component;
  570. };
  571. }, "type" | "default"> & {
  572. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  573. component?: vue.Component;
  574. }) | {
  575. component: vue.Component;
  576. }>;
  577. default: NonNullable<string | boolean | (vue.TransitionProps & {
  578. component?: vue.Component;
  579. }) | {
  580. component: vue.Component;
  581. }>;
  582. };
  583. theme: StringConstructor;
  584. scrollStrategy: Omit<{
  585. type: vue.PropType<StrategyProps["scrollStrategy"]>;
  586. default: string;
  587. validator: (val: any) => boolean;
  588. }, "type" | "default"> & {
  589. type: vue.PropType<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition">;
  590. default: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition">;
  591. };
  592. locationStrategy: {
  593. type: vue.PropType<StrategyProps$1["locationStrategy"]>;
  594. default: string;
  595. validator: (val: any) => boolean;
  596. };
  597. location: {
  598. type: vue.PropType<StrategyProps$1["location"]>;
  599. default: string;
  600. };
  601. origin: Omit<{
  602. type: vue.PropType<StrategyProps$1["origin"]>;
  603. default: string;
  604. }, "type" | "default"> & {
  605. type: vue.PropType<"auto" | Anchor | "overlap">;
  606. default: NonNullable<"auto" | Anchor | "overlap">;
  607. };
  608. offset: vue.PropType<StrategyProps$1["offset"]>;
  609. eager: BooleanConstructor;
  610. height: (StringConstructor | NumberConstructor)[];
  611. maxHeight: (StringConstructor | NumberConstructor)[];
  612. maxWidth: (StringConstructor | NumberConstructor)[];
  613. minHeight: (StringConstructor | NumberConstructor)[];
  614. minWidth: (StringConstructor | NumberConstructor)[];
  615. width: (StringConstructor | NumberConstructor)[];
  616. class: vue.PropType<ClassValue>;
  617. style: {
  618. type: vue.PropType<vue.StyleValue>;
  619. default: null;
  620. };
  621. closeDelay: (StringConstructor | NumberConstructor)[];
  622. openDelay: (StringConstructor | NumberConstructor)[];
  623. target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
  624. activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
  625. activatorProps: {
  626. type: vue.PropType<Record<string, any>>;
  627. default: () => {};
  628. };
  629. openOnClick: {
  630. type: BooleanConstructor;
  631. default: undefined;
  632. };
  633. openOnHover: BooleanConstructor;
  634. openOnFocus: {
  635. type: BooleanConstructor;
  636. default: undefined;
  637. };
  638. closeOnContentClick: BooleanConstructor;
  639. absolute: BooleanConstructor;
  640. attach: vue.PropType<boolean | string | Element>;
  641. closeOnBack: {
  642. type: BooleanConstructor;
  643. default: boolean;
  644. };
  645. contained: BooleanConstructor;
  646. contentClass: null;
  647. contentProps: null;
  648. disabled: BooleanConstructor;
  649. opacity: (StringConstructor | NumberConstructor)[];
  650. noClickAnimation: BooleanConstructor;
  651. modelValue: BooleanConstructor;
  652. persistent: BooleanConstructor;
  653. scrim: {
  654. type: (StringConstructor | BooleanConstructor)[];
  655. default: boolean;
  656. };
  657. zIndex: Omit<{
  658. type: (StringConstructor | NumberConstructor)[];
  659. default: number;
  660. }, "type" | "default"> & {
  661. type: vue.PropType<string | number>;
  662. default: NonNullable<string | number>;
  663. };
  664. fullscreen: BooleanConstructor;
  665. retainFocus: {
  666. type: BooleanConstructor;
  667. default: boolean;
  668. };
  669. scrollable: BooleanConstructor;
  670. inset: BooleanConstructor;
  671. }, vue.ExtractPropTypes<{
  672. transition: Omit<Omit<{
  673. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  674. component?: vue.Component;
  675. })>;
  676. default: string;
  677. validator: (val: unknown) => boolean;
  678. }, "type" | "default"> & {
  679. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  680. component?: vue.Component;
  681. }) | {
  682. component: vue.Component;
  683. }>;
  684. default: NonNullable<string | boolean | (vue.TransitionProps & {
  685. component?: vue.Component;
  686. })> | {
  687. component: vue.Component;
  688. };
  689. }, "type" | "default"> & {
  690. type: vue.PropType<string | boolean | (vue.TransitionProps & {
  691. component?: vue.Component;
  692. }) | {
  693. component: vue.Component;
  694. }>;
  695. default: NonNullable<string | boolean | (vue.TransitionProps & {
  696. component?: vue.Component;
  697. }) | {
  698. component: vue.Component;
  699. }>;
  700. };
  701. theme: StringConstructor;
  702. scrollStrategy: Omit<{
  703. type: vue.PropType<StrategyProps["scrollStrategy"]>;
  704. default: string;
  705. validator: (val: any) => boolean;
  706. }, "type" | "default"> & {
  707. type: vue.PropType<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition">;
  708. default: NonNullable<"none" | "block" | "close" | ((data: ScrollStrategyData, props: StrategyProps, scope: vue.EffectScope) => void) | "reposition">;
  709. };
  710. locationStrategy: {
  711. type: vue.PropType<StrategyProps$1["locationStrategy"]>;
  712. default: string;
  713. validator: (val: any) => boolean;
  714. };
  715. location: {
  716. type: vue.PropType<StrategyProps$1["location"]>;
  717. default: string;
  718. };
  719. origin: Omit<{
  720. type: vue.PropType<StrategyProps$1["origin"]>;
  721. default: string;
  722. }, "type" | "default"> & {
  723. type: vue.PropType<"auto" | Anchor | "overlap">;
  724. default: NonNullable<"auto" | Anchor | "overlap">;
  725. };
  726. offset: vue.PropType<StrategyProps$1["offset"]>;
  727. eager: BooleanConstructor;
  728. height: (StringConstructor | NumberConstructor)[];
  729. maxHeight: (StringConstructor | NumberConstructor)[];
  730. maxWidth: (StringConstructor | NumberConstructor)[];
  731. minHeight: (StringConstructor | NumberConstructor)[];
  732. minWidth: (StringConstructor | NumberConstructor)[];
  733. width: (StringConstructor | NumberConstructor)[];
  734. class: vue.PropType<ClassValue>;
  735. style: {
  736. type: vue.PropType<vue.StyleValue>;
  737. default: null;
  738. };
  739. closeDelay: (StringConstructor | NumberConstructor)[];
  740. openDelay: (StringConstructor | NumberConstructor)[];
  741. target: vue.PropType<Element | "cursor" | "parent" | (string & {}) | vue.ComponentPublicInstance | [x: number, y: number] | undefined>;
  742. activator: vue.PropType<Element | "parent" | (string & {}) | vue.ComponentPublicInstance | undefined>;
  743. activatorProps: {
  744. type: vue.PropType<Record<string, any>>;
  745. default: () => {};
  746. };
  747. openOnClick: {
  748. type: BooleanConstructor;
  749. default: undefined;
  750. };
  751. openOnHover: BooleanConstructor;
  752. openOnFocus: {
  753. type: BooleanConstructor;
  754. default: undefined;
  755. };
  756. closeOnContentClick: BooleanConstructor;
  757. absolute: BooleanConstructor;
  758. attach: vue.PropType<boolean | string | Element>;
  759. closeOnBack: {
  760. type: BooleanConstructor;
  761. default: boolean;
  762. };
  763. contained: BooleanConstructor;
  764. contentClass: null;
  765. contentProps: null;
  766. disabled: BooleanConstructor;
  767. opacity: (StringConstructor | NumberConstructor)[];
  768. noClickAnimation: BooleanConstructor;
  769. modelValue: BooleanConstructor;
  770. persistent: BooleanConstructor;
  771. scrim: {
  772. type: (StringConstructor | BooleanConstructor)[];
  773. default: boolean;
  774. };
  775. zIndex: Omit<{
  776. type: (StringConstructor | NumberConstructor)[];
  777. default: number;
  778. }, "type" | "default"> & {
  779. type: vue.PropType<string | number>;
  780. default: NonNullable<string | number>;
  781. };
  782. fullscreen: BooleanConstructor;
  783. retainFocus: {
  784. type: BooleanConstructor;
  785. default: boolean;
  786. };
  787. scrollable: BooleanConstructor;
  788. inset: BooleanConstructor;
  789. }>>;
  790. type VBottomSheet = InstanceType<typeof VBottomSheet>;
  791. export { VBottomSheet };