index.d.mts 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157
  1. import * as vue from 'vue';
  2. import { ComponentPropsOptions, ExtractPropTypes, PropType, ComponentPublicInstance, FunctionalComponent, DirectiveBinding, Ref, ComponentInternalInstance, ComputedRef } from 'vue';
  3. interface FilterPropsOptions<PropsOptions extends Readonly<ComponentPropsOptions>, Props = ExtractPropTypes<PropsOptions>> {
  4. filterProps<T extends Partial<Props>, U extends Exclude<keyof Props, Exclude<keyof Props, keyof T>>>(props: T): Partial<Pick<T, U>>;
  5. }
  6. type ClassValue = any;
  7. type JSXComponent<Props = any> = {
  8. new (): ComponentPublicInstance<Props>;
  9. } | FunctionalComponent<Props>;
  10. type IconValue = string | (string | [path: string, opacity: number])[] | JSXComponent;
  11. declare const IconValue: PropType<IconValue>;
  12. interface RippleDirectiveBinding extends Omit<DirectiveBinding, 'modifiers' | 'value'> {
  13. value?: boolean | {
  14. class: string;
  15. };
  16. modifiers: {
  17. center?: boolean;
  18. circle?: boolean;
  19. stop?: boolean;
  20. };
  21. }
  22. declare const allowedVariants: readonly ["default", "accordion", "inset", "popout"];
  23. type Variant = typeof allowedVariants[number];
  24. type VExpansionPanelSlot = {
  25. prev: () => void;
  26. next: () => void;
  27. };
  28. declare const VExpansionPanels: {
  29. new (...args: any[]): vue.CreateComponentPublicInstance<{
  30. flat: boolean;
  31. variant: "default" | "inset" | "accordion" | "popout";
  32. style: vue.StyleValue;
  33. eager: boolean;
  34. disabled: boolean;
  35. multiple: boolean;
  36. readonly: boolean;
  37. tag: string;
  38. static: boolean;
  39. focusable: boolean;
  40. tile: boolean;
  41. ripple: boolean | {
  42. class: string;
  43. } | undefined;
  44. collapseIcon: IconValue;
  45. expandIcon: IconValue;
  46. hideActions: boolean;
  47. } & {
  48. max?: number | undefined;
  49. color?: string | undefined;
  50. class?: any;
  51. theme?: string | undefined;
  52. mandatory?: boolean | "force" | undefined;
  53. elevation?: string | number | undefined;
  54. modelValue?: any;
  55. rounded?: string | number | boolean | undefined;
  56. selectedClass?: string | undefined;
  57. bgColor?: string | undefined;
  58. } & {
  59. $children?: vue.VNodeChild | {
  60. default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  61. } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
  62. 'v-slots'?: {
  63. default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  64. } | undefined;
  65. } & {
  66. "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  67. } & {
  68. "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
  69. }, {
  70. next: () => void;
  71. prev: () => void;
  72. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  73. 'update:modelValue': (val: unknown) => true;
  74. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  75. flat: boolean;
  76. variant: "default" | "inset" | "accordion" | "popout";
  77. style: vue.StyleValue;
  78. eager: boolean;
  79. disabled: boolean;
  80. multiple: boolean;
  81. readonly: boolean;
  82. tag: string;
  83. static: boolean;
  84. focusable: boolean;
  85. tile: boolean;
  86. ripple: boolean | {
  87. class: string;
  88. } | undefined;
  89. collapseIcon: IconValue;
  90. expandIcon: IconValue;
  91. hideActions: boolean;
  92. } & {
  93. max?: number | undefined;
  94. color?: string | undefined;
  95. class?: any;
  96. theme?: string | undefined;
  97. mandatory?: boolean | "force" | undefined;
  98. elevation?: string | number | undefined;
  99. modelValue?: any;
  100. rounded?: string | number | boolean | undefined;
  101. selectedClass?: string | undefined;
  102. bgColor?: string | undefined;
  103. } & {
  104. $children?: vue.VNodeChild | {
  105. default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  106. } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
  107. 'v-slots'?: {
  108. default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  109. } | undefined;
  110. } & {
  111. "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  112. } & {
  113. "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
  114. }, {
  115. flat: boolean;
  116. variant: "default" | "inset" | "accordion" | "popout";
  117. style: vue.StyleValue;
  118. eager: boolean;
  119. disabled: boolean;
  120. multiple: boolean;
  121. readonly: boolean;
  122. tag: string;
  123. static: boolean;
  124. focusable: boolean;
  125. modelValue: any;
  126. rounded: string | number | boolean;
  127. tile: boolean;
  128. ripple: boolean | {
  129. class: string;
  130. } | undefined;
  131. collapseIcon: IconValue;
  132. expandIcon: IconValue;
  133. hideActions: boolean;
  134. }, true, {}, vue.SlotsType<Partial<{
  135. default: (arg: VExpansionPanelSlot) => vue.VNode[];
  136. }>>, {
  137. P: {};
  138. B: {};
  139. D: {};
  140. C: {};
  141. M: {};
  142. Defaults: {};
  143. }, {
  144. flat: boolean;
  145. variant: "default" | "inset" | "accordion" | "popout";
  146. style: vue.StyleValue;
  147. eager: boolean;
  148. disabled: boolean;
  149. multiple: boolean;
  150. readonly: boolean;
  151. tag: string;
  152. static: boolean;
  153. focusable: boolean;
  154. tile: boolean;
  155. ripple: boolean | {
  156. class: string;
  157. } | undefined;
  158. collapseIcon: IconValue;
  159. expandIcon: IconValue;
  160. hideActions: boolean;
  161. } & {
  162. max?: number | undefined;
  163. color?: string | undefined;
  164. class?: any;
  165. theme?: string | undefined;
  166. mandatory?: boolean | "force" | undefined;
  167. elevation?: string | number | undefined;
  168. modelValue?: any;
  169. rounded?: string | number | boolean | undefined;
  170. selectedClass?: string | undefined;
  171. bgColor?: string | undefined;
  172. } & {
  173. $children?: vue.VNodeChild | {
  174. default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  175. } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
  176. 'v-slots'?: {
  177. default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  178. } | undefined;
  179. } & {
  180. "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  181. } & {
  182. "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
  183. }, {
  184. next: () => void;
  185. prev: () => void;
  186. }, {}, {}, {}, {
  187. flat: boolean;
  188. variant: "default" | "inset" | "accordion" | "popout";
  189. style: vue.StyleValue;
  190. eager: boolean;
  191. disabled: boolean;
  192. multiple: boolean;
  193. readonly: boolean;
  194. tag: string;
  195. static: boolean;
  196. focusable: boolean;
  197. modelValue: any;
  198. rounded: string | number | boolean;
  199. tile: boolean;
  200. ripple: boolean | {
  201. class: string;
  202. } | undefined;
  203. collapseIcon: IconValue;
  204. expandIcon: IconValue;
  205. hideActions: boolean;
  206. }>;
  207. __isFragment?: never;
  208. __isTeleport?: never;
  209. __isSuspense?: never;
  210. } & vue.ComponentOptionsBase<{
  211. flat: boolean;
  212. variant: "default" | "inset" | "accordion" | "popout";
  213. style: vue.StyleValue;
  214. eager: boolean;
  215. disabled: boolean;
  216. multiple: boolean;
  217. readonly: boolean;
  218. tag: string;
  219. static: boolean;
  220. focusable: boolean;
  221. tile: boolean;
  222. ripple: boolean | {
  223. class: string;
  224. } | undefined;
  225. collapseIcon: IconValue;
  226. expandIcon: IconValue;
  227. hideActions: boolean;
  228. } & {
  229. max?: number | undefined;
  230. color?: string | undefined;
  231. class?: any;
  232. theme?: string | undefined;
  233. mandatory?: boolean | "force" | undefined;
  234. elevation?: string | number | undefined;
  235. modelValue?: any;
  236. rounded?: string | number | boolean | undefined;
  237. selectedClass?: string | undefined;
  238. bgColor?: string | undefined;
  239. } & {
  240. $children?: vue.VNodeChild | {
  241. default?: ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  242. } | ((arg: VExpansionPanelSlot) => vue.VNodeChild);
  243. 'v-slots'?: {
  244. default?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  245. } | undefined;
  246. } & {
  247. "v-slot:default"?: false | ((arg: VExpansionPanelSlot) => vue.VNodeChild) | undefined;
  248. } & {
  249. "onUpdate:modelValue"?: ((val: unknown) => any) | undefined;
  250. }, {
  251. next: () => void;
  252. prev: () => void;
  253. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  254. 'update:modelValue': (val: unknown) => true;
  255. }, string, {
  256. flat: boolean;
  257. variant: "default" | "inset" | "accordion" | "popout";
  258. style: vue.StyleValue;
  259. eager: boolean;
  260. disabled: boolean;
  261. multiple: boolean;
  262. readonly: boolean;
  263. tag: string;
  264. static: boolean;
  265. focusable: boolean;
  266. modelValue: any;
  267. rounded: string | number | boolean;
  268. tile: boolean;
  269. ripple: boolean | {
  270. class: string;
  271. } | undefined;
  272. collapseIcon: IconValue;
  273. expandIcon: IconValue;
  274. hideActions: boolean;
  275. }, {}, string, vue.SlotsType<Partial<{
  276. default: (arg: VExpansionPanelSlot) => vue.VNode[];
  277. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  278. variant: {
  279. type: PropType<Variant>;
  280. default: string;
  281. validator: (v: any) => boolean;
  282. };
  283. tag: {
  284. type: StringConstructor;
  285. default: string;
  286. };
  287. class: PropType<ClassValue>;
  288. style: {
  289. type: PropType<vue.StyleValue>;
  290. default: null;
  291. };
  292. theme: StringConstructor;
  293. color: StringConstructor;
  294. eager: BooleanConstructor;
  295. readonly: BooleanConstructor;
  296. static: BooleanConstructor;
  297. elevation: {
  298. type: (StringConstructor | NumberConstructor)[];
  299. validator(v: any): boolean;
  300. };
  301. focusable: BooleanConstructor;
  302. rounded: {
  303. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  304. default: undefined;
  305. };
  306. tile: BooleanConstructor;
  307. bgColor: StringConstructor;
  308. ripple: {
  309. type: PropType<RippleDirectiveBinding["value"]>;
  310. default: boolean;
  311. };
  312. collapseIcon: {
  313. type: PropType<IconValue>;
  314. default: string;
  315. };
  316. expandIcon: {
  317. type: PropType<IconValue>;
  318. default: string;
  319. };
  320. hideActions: BooleanConstructor;
  321. modelValue: {
  322. type: null;
  323. default: undefined;
  324. };
  325. multiple: BooleanConstructor;
  326. mandatory: PropType<boolean | "force">;
  327. max: NumberConstructor;
  328. selectedClass: StringConstructor;
  329. disabled: BooleanConstructor;
  330. flat: BooleanConstructor;
  331. }, vue.ExtractPropTypes<{
  332. variant: {
  333. type: PropType<Variant>;
  334. default: string;
  335. validator: (v: any) => boolean;
  336. };
  337. tag: {
  338. type: StringConstructor;
  339. default: string;
  340. };
  341. class: PropType<ClassValue>;
  342. style: {
  343. type: PropType<vue.StyleValue>;
  344. default: null;
  345. };
  346. theme: StringConstructor;
  347. color: StringConstructor;
  348. eager: BooleanConstructor;
  349. readonly: BooleanConstructor;
  350. static: BooleanConstructor;
  351. elevation: {
  352. type: (StringConstructor | NumberConstructor)[];
  353. validator(v: any): boolean;
  354. };
  355. focusable: BooleanConstructor;
  356. rounded: {
  357. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  358. default: undefined;
  359. };
  360. tile: BooleanConstructor;
  361. bgColor: StringConstructor;
  362. ripple: {
  363. type: PropType<RippleDirectiveBinding["value"]>;
  364. default: boolean;
  365. };
  366. collapseIcon: {
  367. type: PropType<IconValue>;
  368. default: string;
  369. };
  370. expandIcon: {
  371. type: PropType<IconValue>;
  372. default: string;
  373. };
  374. hideActions: BooleanConstructor;
  375. modelValue: {
  376. type: null;
  377. default: undefined;
  378. };
  379. multiple: BooleanConstructor;
  380. mandatory: PropType<boolean | "force">;
  381. max: NumberConstructor;
  382. selectedClass: StringConstructor;
  383. disabled: BooleanConstructor;
  384. flat: BooleanConstructor;
  385. }>>;
  386. type VExpansionPanels = InstanceType<typeof VExpansionPanels>;
  387. interface GroupItem {
  388. id: number;
  389. value: Ref<unknown>;
  390. disabled: Ref<boolean | undefined>;
  391. useIndexAsValue?: boolean;
  392. }
  393. interface GroupProvide {
  394. register: (item: GroupItem, cmp: ComponentInternalInstance) => void;
  395. unregister: (id: number) => void;
  396. select: (id: number, value: boolean) => void;
  397. selected: Ref<Readonly<number[]>>;
  398. isSelected: (id: number) => boolean;
  399. prev: () => void;
  400. next: () => void;
  401. selectedClass: Ref<string | undefined>;
  402. items: ComputedRef<{
  403. id: number;
  404. value: unknown;
  405. disabled: boolean | undefined;
  406. }[]>;
  407. disabled: Ref<boolean | undefined>;
  408. getItemIndex: (value: unknown) => number;
  409. }
  410. interface GroupItemProvide {
  411. id: number;
  412. isSelected: Ref<boolean>;
  413. isFirst: Ref<boolean>;
  414. isLast: Ref<boolean>;
  415. toggle: () => void;
  416. select: (value: boolean) => void;
  417. selectedClass: Ref<(string | undefined)[] | false>;
  418. value: Ref<unknown>;
  419. disabled: Ref<boolean | undefined>;
  420. group: GroupProvide;
  421. }
  422. declare const VExpansionPanel: {
  423. new (...args: any[]): vue.CreateComponentPublicInstance<{
  424. style: vue.StyleValue;
  425. eager: boolean;
  426. disabled: boolean;
  427. readonly: boolean;
  428. tag: string;
  429. static: boolean;
  430. focusable: boolean;
  431. tile: boolean;
  432. ripple: boolean | {
  433. class: string;
  434. } | undefined;
  435. collapseIcon: IconValue;
  436. expandIcon: IconValue;
  437. hideActions: boolean;
  438. } & {
  439. height?: string | number | undefined;
  440. width?: string | number | undefined;
  441. color?: string | undefined;
  442. maxHeight?: string | number | undefined;
  443. maxWidth?: string | number | undefined;
  444. minHeight?: string | number | undefined;
  445. minWidth?: string | number | undefined;
  446. value?: any;
  447. title?: string | undefined;
  448. text?: string | undefined;
  449. class?: any;
  450. elevation?: string | number | undefined;
  451. rounded?: string | number | boolean | undefined;
  452. selectedClass?: string | undefined;
  453. bgColor?: string | undefined;
  454. } & {
  455. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  456. default?: (() => vue.VNodeChild) | undefined;
  457. title?: (() => vue.VNodeChild) | undefined;
  458. text?: (() => vue.VNodeChild) | undefined;
  459. };
  460. 'v-slots'?: {
  461. default?: false | (() => vue.VNodeChild) | undefined;
  462. title?: false | (() => vue.VNodeChild) | undefined;
  463. text?: false | (() => vue.VNodeChild) | undefined;
  464. } | undefined;
  465. } & {
  466. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  467. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  468. "v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
  469. } & {
  470. "onGroup:selected"?: ((val: {
  471. value: boolean;
  472. }) => any) | undefined;
  473. }, {
  474. groupItem: GroupItemProvide;
  475. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  476. 'group:selected': (val: {
  477. value: boolean;
  478. }) => true;
  479. }, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  480. style: vue.StyleValue;
  481. eager: boolean;
  482. disabled: boolean;
  483. readonly: boolean;
  484. tag: string;
  485. static: boolean;
  486. focusable: boolean;
  487. tile: boolean;
  488. ripple: boolean | {
  489. class: string;
  490. } | undefined;
  491. collapseIcon: IconValue;
  492. expandIcon: IconValue;
  493. hideActions: boolean;
  494. } & {
  495. height?: string | number | undefined;
  496. width?: string | number | undefined;
  497. color?: string | undefined;
  498. maxHeight?: string | number | undefined;
  499. maxWidth?: string | number | undefined;
  500. minHeight?: string | number | undefined;
  501. minWidth?: string | number | undefined;
  502. value?: any;
  503. title?: string | undefined;
  504. text?: string | undefined;
  505. class?: any;
  506. elevation?: string | number | undefined;
  507. rounded?: string | number | boolean | undefined;
  508. selectedClass?: string | undefined;
  509. bgColor?: string | undefined;
  510. } & {
  511. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  512. default?: (() => vue.VNodeChild) | undefined;
  513. title?: (() => vue.VNodeChild) | undefined;
  514. text?: (() => vue.VNodeChild) | undefined;
  515. };
  516. 'v-slots'?: {
  517. default?: false | (() => vue.VNodeChild) | undefined;
  518. title?: false | (() => vue.VNodeChild) | undefined;
  519. text?: false | (() => vue.VNodeChild) | undefined;
  520. } | undefined;
  521. } & {
  522. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  523. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  524. "v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
  525. } & {
  526. "onGroup:selected"?: ((val: {
  527. value: boolean;
  528. }) => any) | undefined;
  529. }, {
  530. style: vue.StyleValue;
  531. eager: boolean;
  532. disabled: boolean;
  533. readonly: boolean;
  534. tag: string;
  535. static: boolean;
  536. focusable: boolean;
  537. rounded: string | number | boolean;
  538. tile: boolean;
  539. ripple: boolean | {
  540. class: string;
  541. } | undefined;
  542. collapseIcon: IconValue;
  543. expandIcon: IconValue;
  544. hideActions: boolean;
  545. }, true, {}, vue.SlotsType<Partial<{
  546. default: () => vue.VNode[];
  547. title: () => vue.VNode[];
  548. text: () => vue.VNode[];
  549. }>>, {
  550. P: {};
  551. B: {};
  552. D: {};
  553. C: {};
  554. M: {};
  555. Defaults: {};
  556. }, {
  557. style: vue.StyleValue;
  558. eager: boolean;
  559. disabled: boolean;
  560. readonly: boolean;
  561. tag: string;
  562. static: boolean;
  563. focusable: boolean;
  564. tile: boolean;
  565. ripple: boolean | {
  566. class: string;
  567. } | undefined;
  568. collapseIcon: IconValue;
  569. expandIcon: IconValue;
  570. hideActions: boolean;
  571. } & {
  572. height?: string | number | undefined;
  573. width?: string | number | undefined;
  574. color?: string | undefined;
  575. maxHeight?: string | number | undefined;
  576. maxWidth?: string | number | undefined;
  577. minHeight?: string | number | undefined;
  578. minWidth?: string | number | undefined;
  579. value?: any;
  580. title?: string | undefined;
  581. text?: string | undefined;
  582. class?: any;
  583. elevation?: string | number | undefined;
  584. rounded?: string | number | boolean | undefined;
  585. selectedClass?: string | undefined;
  586. bgColor?: string | undefined;
  587. } & {
  588. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  589. default?: (() => vue.VNodeChild) | undefined;
  590. title?: (() => vue.VNodeChild) | undefined;
  591. text?: (() => vue.VNodeChild) | undefined;
  592. };
  593. 'v-slots'?: {
  594. default?: false | (() => vue.VNodeChild) | undefined;
  595. title?: false | (() => vue.VNodeChild) | undefined;
  596. text?: false | (() => vue.VNodeChild) | undefined;
  597. } | undefined;
  598. } & {
  599. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  600. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  601. "v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
  602. } & {
  603. "onGroup:selected"?: ((val: {
  604. value: boolean;
  605. }) => any) | undefined;
  606. }, {
  607. groupItem: GroupItemProvide;
  608. }, {}, {}, {}, {
  609. style: vue.StyleValue;
  610. eager: boolean;
  611. disabled: boolean;
  612. readonly: boolean;
  613. tag: string;
  614. static: boolean;
  615. focusable: boolean;
  616. rounded: string | number | boolean;
  617. tile: boolean;
  618. ripple: boolean | {
  619. class: string;
  620. } | undefined;
  621. collapseIcon: IconValue;
  622. expandIcon: IconValue;
  623. hideActions: boolean;
  624. }>;
  625. __isFragment?: never;
  626. __isTeleport?: never;
  627. __isSuspense?: never;
  628. } & vue.ComponentOptionsBase<{
  629. style: vue.StyleValue;
  630. eager: boolean;
  631. disabled: boolean;
  632. readonly: boolean;
  633. tag: string;
  634. static: boolean;
  635. focusable: boolean;
  636. tile: boolean;
  637. ripple: boolean | {
  638. class: string;
  639. } | undefined;
  640. collapseIcon: IconValue;
  641. expandIcon: IconValue;
  642. hideActions: boolean;
  643. } & {
  644. height?: string | number | undefined;
  645. width?: string | number | undefined;
  646. color?: string | undefined;
  647. maxHeight?: string | number | undefined;
  648. maxWidth?: string | number | undefined;
  649. minHeight?: string | number | undefined;
  650. minWidth?: string | number | undefined;
  651. value?: any;
  652. title?: string | undefined;
  653. text?: string | undefined;
  654. class?: any;
  655. elevation?: string | number | undefined;
  656. rounded?: string | number | boolean | undefined;
  657. selectedClass?: string | undefined;
  658. bgColor?: string | undefined;
  659. } & {
  660. $children?: vue.VNodeChild | (() => vue.VNodeChild) | {
  661. default?: (() => vue.VNodeChild) | undefined;
  662. title?: (() => vue.VNodeChild) | undefined;
  663. text?: (() => vue.VNodeChild) | undefined;
  664. };
  665. 'v-slots'?: {
  666. default?: false | (() => vue.VNodeChild) | undefined;
  667. title?: false | (() => vue.VNodeChild) | undefined;
  668. text?: false | (() => vue.VNodeChild) | undefined;
  669. } | undefined;
  670. } & {
  671. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  672. "v-slot:title"?: false | (() => vue.VNodeChild) | undefined;
  673. "v-slot:text"?: false | (() => vue.VNodeChild) | undefined;
  674. } & {
  675. "onGroup:selected"?: ((val: {
  676. value: boolean;
  677. }) => any) | undefined;
  678. }, {
  679. groupItem: GroupItemProvide;
  680. }, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
  681. 'group:selected': (val: {
  682. value: boolean;
  683. }) => true;
  684. }, string, {
  685. style: vue.StyleValue;
  686. eager: boolean;
  687. disabled: boolean;
  688. readonly: boolean;
  689. tag: string;
  690. static: boolean;
  691. focusable: boolean;
  692. rounded: string | number | boolean;
  693. tile: boolean;
  694. ripple: boolean | {
  695. class: string;
  696. } | undefined;
  697. collapseIcon: IconValue;
  698. expandIcon: IconValue;
  699. hideActions: boolean;
  700. }, {}, string, vue.SlotsType<Partial<{
  701. default: () => vue.VNode[];
  702. title: () => vue.VNode[];
  703. text: () => vue.VNode[];
  704. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  705. eager: BooleanConstructor;
  706. class: vue.PropType<ClassValue>;
  707. style: {
  708. type: vue.PropType<vue.StyleValue>;
  709. default: null;
  710. };
  711. height: (StringConstructor | NumberConstructor)[];
  712. maxHeight: (StringConstructor | NumberConstructor)[];
  713. maxWidth: (StringConstructor | NumberConstructor)[];
  714. minHeight: (StringConstructor | NumberConstructor)[];
  715. minWidth: (StringConstructor | NumberConstructor)[];
  716. width: (StringConstructor | NumberConstructor)[];
  717. color: StringConstructor;
  718. expandIcon: {
  719. type: vue.PropType<IconValue>;
  720. default: string;
  721. };
  722. collapseIcon: {
  723. type: vue.PropType<IconValue>;
  724. default: string;
  725. };
  726. hideActions: BooleanConstructor;
  727. focusable: BooleanConstructor;
  728. static: BooleanConstructor;
  729. ripple: {
  730. type: vue.PropType<RippleDirectiveBinding["value"]>;
  731. default: boolean;
  732. };
  733. readonly: BooleanConstructor;
  734. tag: {
  735. type: StringConstructor;
  736. default: string;
  737. };
  738. rounded: {
  739. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  740. default: undefined;
  741. };
  742. tile: BooleanConstructor;
  743. value: null;
  744. disabled: BooleanConstructor;
  745. selectedClass: StringConstructor;
  746. elevation: {
  747. type: (StringConstructor | NumberConstructor)[];
  748. validator(v: any): boolean;
  749. };
  750. title: StringConstructor;
  751. text: StringConstructor;
  752. bgColor: StringConstructor;
  753. }, vue.ExtractPropTypes<{
  754. eager: BooleanConstructor;
  755. class: vue.PropType<ClassValue>;
  756. style: {
  757. type: vue.PropType<vue.StyleValue>;
  758. default: null;
  759. };
  760. height: (StringConstructor | NumberConstructor)[];
  761. maxHeight: (StringConstructor | NumberConstructor)[];
  762. maxWidth: (StringConstructor | NumberConstructor)[];
  763. minHeight: (StringConstructor | NumberConstructor)[];
  764. minWidth: (StringConstructor | NumberConstructor)[];
  765. width: (StringConstructor | NumberConstructor)[];
  766. color: StringConstructor;
  767. expandIcon: {
  768. type: vue.PropType<IconValue>;
  769. default: string;
  770. };
  771. collapseIcon: {
  772. type: vue.PropType<IconValue>;
  773. default: string;
  774. };
  775. hideActions: BooleanConstructor;
  776. focusable: BooleanConstructor;
  777. static: BooleanConstructor;
  778. ripple: {
  779. type: vue.PropType<RippleDirectiveBinding["value"]>;
  780. default: boolean;
  781. };
  782. readonly: BooleanConstructor;
  783. tag: {
  784. type: StringConstructor;
  785. default: string;
  786. };
  787. rounded: {
  788. type: (StringConstructor | BooleanConstructor | NumberConstructor)[];
  789. default: undefined;
  790. };
  791. tile: BooleanConstructor;
  792. value: null;
  793. disabled: BooleanConstructor;
  794. selectedClass: StringConstructor;
  795. elevation: {
  796. type: (StringConstructor | NumberConstructor)[];
  797. validator(v: any): boolean;
  798. };
  799. title: StringConstructor;
  800. text: StringConstructor;
  801. bgColor: StringConstructor;
  802. }>>;
  803. type VExpansionPanel = InstanceType<typeof VExpansionPanel>;
  804. declare const VExpansionPanelText: {
  805. new (...args: any[]): vue.CreateComponentPublicInstance<{
  806. style: vue.StyleValue;
  807. eager: boolean;
  808. } & {
  809. class?: any;
  810. } & {
  811. $children?: vue.VNodeChild | {
  812. default?: (() => vue.VNodeChild) | undefined;
  813. } | (() => vue.VNodeChild);
  814. 'v-slots'?: {
  815. default?: false | (() => vue.VNodeChild) | undefined;
  816. } | undefined;
  817. } & {
  818. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  819. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  820. style: vue.StyleValue;
  821. eager: boolean;
  822. } & {
  823. class?: any;
  824. } & {
  825. $children?: vue.VNodeChild | {
  826. default?: (() => vue.VNodeChild) | undefined;
  827. } | (() => vue.VNodeChild);
  828. 'v-slots'?: {
  829. default?: false | (() => vue.VNodeChild) | undefined;
  830. } | undefined;
  831. } & {
  832. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  833. }, {
  834. style: vue.StyleValue;
  835. eager: boolean;
  836. }, true, {}, vue.SlotsType<Partial<{
  837. default: () => vue.VNode[];
  838. }>>, {
  839. P: {};
  840. B: {};
  841. D: {};
  842. C: {};
  843. M: {};
  844. Defaults: {};
  845. }, {
  846. style: vue.StyleValue;
  847. eager: boolean;
  848. } & {
  849. class?: any;
  850. } & {
  851. $children?: vue.VNodeChild | {
  852. default?: (() => vue.VNodeChild) | undefined;
  853. } | (() => vue.VNodeChild);
  854. 'v-slots'?: {
  855. default?: false | (() => vue.VNodeChild) | undefined;
  856. } | undefined;
  857. } & {
  858. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  859. }, {}, {}, {}, {}, {
  860. style: vue.StyleValue;
  861. eager: boolean;
  862. }>;
  863. __isFragment?: never;
  864. __isTeleport?: never;
  865. __isSuspense?: never;
  866. } & vue.ComponentOptionsBase<{
  867. style: vue.StyleValue;
  868. eager: boolean;
  869. } & {
  870. class?: any;
  871. } & {
  872. $children?: vue.VNodeChild | {
  873. default?: (() => vue.VNodeChild) | undefined;
  874. } | (() => vue.VNodeChild);
  875. 'v-slots'?: {
  876. default?: false | (() => vue.VNodeChild) | undefined;
  877. } | undefined;
  878. } & {
  879. "v-slot:default"?: false | (() => vue.VNodeChild) | undefined;
  880. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  881. style: vue.StyleValue;
  882. eager: boolean;
  883. }, {}, string, vue.SlotsType<Partial<{
  884. default: () => vue.VNode[];
  885. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  886. eager: BooleanConstructor;
  887. class: vue.PropType<ClassValue>;
  888. style: {
  889. type: vue.PropType<vue.StyleValue>;
  890. default: null;
  891. };
  892. }, vue.ExtractPropTypes<{
  893. eager: BooleanConstructor;
  894. class: vue.PropType<ClassValue>;
  895. style: {
  896. type: vue.PropType<vue.StyleValue>;
  897. default: null;
  898. };
  899. }>>;
  900. type VExpansionPanelText = InstanceType<typeof VExpansionPanelText>;
  901. interface ExpansionPanelTitleSlot {
  902. collapseIcon: IconValue;
  903. disabled: boolean | undefined;
  904. expanded: boolean;
  905. expandIcon: IconValue;
  906. readonly: boolean;
  907. }
  908. declare const VExpansionPanelTitle: {
  909. new (...args: any[]): vue.CreateComponentPublicInstance<{
  910. style: vue.StyleValue;
  911. readonly: boolean;
  912. static: boolean;
  913. focusable: boolean;
  914. ripple: boolean | {
  915. class: string;
  916. } | undefined;
  917. collapseIcon: IconValue;
  918. expandIcon: IconValue;
  919. hideActions: boolean;
  920. } & {
  921. height?: string | number | undefined;
  922. width?: string | number | undefined;
  923. color?: string | undefined;
  924. maxHeight?: string | number | undefined;
  925. maxWidth?: string | number | undefined;
  926. minHeight?: string | number | undefined;
  927. minWidth?: string | number | undefined;
  928. class?: any;
  929. } & {
  930. $children?: vue.VNodeChild | {
  931. default?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  932. actions?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  933. } | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild);
  934. 'v-slots'?: {
  935. default?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  936. actions?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  937. } | undefined;
  938. } & {
  939. "v-slot:default"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  940. "v-slot:actions"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  941. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & {
  942. style: vue.StyleValue;
  943. readonly: boolean;
  944. static: boolean;
  945. focusable: boolean;
  946. ripple: boolean | {
  947. class: string;
  948. } | undefined;
  949. collapseIcon: IconValue;
  950. expandIcon: IconValue;
  951. hideActions: boolean;
  952. } & {
  953. height?: string | number | undefined;
  954. width?: string | number | undefined;
  955. color?: string | undefined;
  956. maxHeight?: string | number | undefined;
  957. maxWidth?: string | number | undefined;
  958. minHeight?: string | number | undefined;
  959. minWidth?: string | number | undefined;
  960. class?: any;
  961. } & {
  962. $children?: vue.VNodeChild | {
  963. default?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  964. actions?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  965. } | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild);
  966. 'v-slots'?: {
  967. default?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  968. actions?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  969. } | undefined;
  970. } & {
  971. "v-slot:default"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  972. "v-slot:actions"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  973. }, {
  974. style: vue.StyleValue;
  975. readonly: boolean;
  976. static: boolean;
  977. focusable: boolean;
  978. ripple: boolean | {
  979. class: string;
  980. } | undefined;
  981. collapseIcon: IconValue;
  982. expandIcon: IconValue;
  983. hideActions: boolean;
  984. }, true, {}, vue.SlotsType<Partial<{
  985. default: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
  986. actions: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
  987. }>>, {
  988. P: {};
  989. B: {};
  990. D: {};
  991. C: {};
  992. M: {};
  993. Defaults: {};
  994. }, {
  995. style: vue.StyleValue;
  996. readonly: boolean;
  997. static: boolean;
  998. focusable: boolean;
  999. ripple: boolean | {
  1000. class: string;
  1001. } | undefined;
  1002. collapseIcon: IconValue;
  1003. expandIcon: IconValue;
  1004. hideActions: boolean;
  1005. } & {
  1006. height?: string | number | undefined;
  1007. width?: string | number | undefined;
  1008. color?: string | undefined;
  1009. maxHeight?: string | number | undefined;
  1010. maxWidth?: string | number | undefined;
  1011. minHeight?: string | number | undefined;
  1012. minWidth?: string | number | undefined;
  1013. class?: any;
  1014. } & {
  1015. $children?: vue.VNodeChild | {
  1016. default?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1017. actions?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1018. } | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild);
  1019. 'v-slots'?: {
  1020. default?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1021. actions?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1022. } | undefined;
  1023. } & {
  1024. "v-slot:default"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1025. "v-slot:actions"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1026. }, {}, {}, {}, {}, {
  1027. style: vue.StyleValue;
  1028. readonly: boolean;
  1029. static: boolean;
  1030. focusable: boolean;
  1031. ripple: boolean | {
  1032. class: string;
  1033. } | undefined;
  1034. collapseIcon: IconValue;
  1035. expandIcon: IconValue;
  1036. hideActions: boolean;
  1037. }>;
  1038. __isFragment?: never;
  1039. __isTeleport?: never;
  1040. __isSuspense?: never;
  1041. } & vue.ComponentOptionsBase<{
  1042. style: vue.StyleValue;
  1043. readonly: boolean;
  1044. static: boolean;
  1045. focusable: boolean;
  1046. ripple: boolean | {
  1047. class: string;
  1048. } | undefined;
  1049. collapseIcon: IconValue;
  1050. expandIcon: IconValue;
  1051. hideActions: boolean;
  1052. } & {
  1053. height?: string | number | undefined;
  1054. width?: string | number | undefined;
  1055. color?: string | undefined;
  1056. maxHeight?: string | number | undefined;
  1057. maxWidth?: string | number | undefined;
  1058. minHeight?: string | number | undefined;
  1059. minWidth?: string | number | undefined;
  1060. class?: any;
  1061. } & {
  1062. $children?: vue.VNodeChild | {
  1063. default?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1064. actions?: ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1065. } | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild);
  1066. 'v-slots'?: {
  1067. default?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1068. actions?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1069. } | undefined;
  1070. } & {
  1071. "v-slot:default"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1072. "v-slot:actions"?: false | ((arg: ExpansionPanelTitleSlot) => vue.VNodeChild) | undefined;
  1073. }, {}, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, Record<string, any>, string, {
  1074. style: vue.StyleValue;
  1075. readonly: boolean;
  1076. static: boolean;
  1077. focusable: boolean;
  1078. ripple: boolean | {
  1079. class: string;
  1080. } | undefined;
  1081. collapseIcon: IconValue;
  1082. expandIcon: IconValue;
  1083. hideActions: boolean;
  1084. }, {}, string, vue.SlotsType<Partial<{
  1085. default: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
  1086. actions: (arg: ExpansionPanelTitleSlot) => vue.VNode[];
  1087. }>>> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & FilterPropsOptions<{
  1088. height: (StringConstructor | NumberConstructor)[];
  1089. maxHeight: (StringConstructor | NumberConstructor)[];
  1090. maxWidth: (StringConstructor | NumberConstructor)[];
  1091. minHeight: (StringConstructor | NumberConstructor)[];
  1092. minWidth: (StringConstructor | NumberConstructor)[];
  1093. width: (StringConstructor | NumberConstructor)[];
  1094. class: PropType<ClassValue>;
  1095. style: {
  1096. type: PropType<vue.StyleValue>;
  1097. default: null;
  1098. };
  1099. color: StringConstructor;
  1100. expandIcon: {
  1101. type: PropType<IconValue>;
  1102. default: string;
  1103. };
  1104. collapseIcon: {
  1105. type: PropType<IconValue>;
  1106. default: string;
  1107. };
  1108. hideActions: BooleanConstructor;
  1109. focusable: BooleanConstructor;
  1110. static: BooleanConstructor;
  1111. ripple: {
  1112. type: PropType<RippleDirectiveBinding["value"]>;
  1113. default: boolean;
  1114. };
  1115. readonly: BooleanConstructor;
  1116. }, vue.ExtractPropTypes<{
  1117. height: (StringConstructor | NumberConstructor)[];
  1118. maxHeight: (StringConstructor | NumberConstructor)[];
  1119. maxWidth: (StringConstructor | NumberConstructor)[];
  1120. minHeight: (StringConstructor | NumberConstructor)[];
  1121. minWidth: (StringConstructor | NumberConstructor)[];
  1122. width: (StringConstructor | NumberConstructor)[];
  1123. class: PropType<ClassValue>;
  1124. style: {
  1125. type: PropType<vue.StyleValue>;
  1126. default: null;
  1127. };
  1128. color: StringConstructor;
  1129. expandIcon: {
  1130. type: PropType<IconValue>;
  1131. default: string;
  1132. };
  1133. collapseIcon: {
  1134. type: PropType<IconValue>;
  1135. default: string;
  1136. };
  1137. hideActions: BooleanConstructor;
  1138. focusable: BooleanConstructor;
  1139. static: BooleanConstructor;
  1140. ripple: {
  1141. type: PropType<RippleDirectiveBinding["value"]>;
  1142. default: boolean;
  1143. };
  1144. readonly: BooleanConstructor;
  1145. }>>;
  1146. type VExpansionPanelTitle = InstanceType<typeof VExpansionPanelTitle>;
  1147. export { VExpansionPanel, VExpansionPanelText, VExpansionPanelTitle, VExpansionPanels };