index.d.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { EpPropFinalized, ExtractPropType } from "../../utils/vue/props/types.js";
  2. import "../../utils/index.js";
  3. import * as vue from "vue";
  4. import { ExtractPropTypes, ExtractPublicPropTypes, Ref } from "vue";
  5. //#region ../../packages/hooks/use-model-toggle/index.d.ts
  6. declare const _prop: EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], never, never, null, false>;
  7. declare const _event: {
  8. readonly type: vue.PropType<(val: boolean) => void>;
  9. readonly required: false;
  10. readonly validator: ((val: unknown) => boolean) | undefined;
  11. __epPropKey: true;
  12. };
  13. type UseModelTogglePropsRaw<T extends string> = { [K in T]: typeof _prop } & { [K in `onUpdate:${T}`]: typeof _event };
  14. type UseModelTogglePropsGeneric<T extends string> = { [K in T]: ExtractPropType<typeof _prop> } & { [K in `onUpdate:${T}`]: ExtractPropType<typeof _event> };
  15. declare const createModelToggleComposable: <T extends string>(name: T) => {
  16. useModelToggle: ({
  17. indicator,
  18. toggleReason,
  19. shouldHideWhenRouteChanges,
  20. shouldProceed,
  21. onShow,
  22. onHide
  23. }: ModelToggleParams) => {
  24. hide: (event?: Event) => void;
  25. show: (event?: Event) => void;
  26. toggle: () => void;
  27. hasUpdateHandler: vue.ComputedRef<boolean>;
  28. };
  29. useModelToggleProps: UseModelTogglePropsRaw<T>;
  30. useModelToggleEmits: `update:${T}`[];
  31. };
  32. declare const useModelToggle: ({
  33. indicator,
  34. toggleReason,
  35. shouldHideWhenRouteChanges,
  36. shouldProceed,
  37. onShow,
  38. onHide
  39. }: ModelToggleParams) => {
  40. hide: (event?: Event) => void;
  41. show: (event?: Event) => void;
  42. toggle: () => void;
  43. hasUpdateHandler: vue.ComputedRef<boolean>;
  44. }, useModelToggleProps: UseModelTogglePropsRaw<"modelValue">, useModelToggleEmits: "update:modelValue"[];
  45. type UseModelToggleProps = ExtractPropTypes<typeof useModelToggleProps>;
  46. type UseModelTogglePropsPublic = ExtractPublicPropTypes<typeof useModelToggleProps>;
  47. type ModelToggleParams = {
  48. indicator: Ref<boolean>;
  49. toggleReason?: Ref<Event | undefined>;
  50. shouldHideWhenRouteChanges?: Ref<boolean>;
  51. shouldProceed?: () => boolean;
  52. onShow?: (event?: Event) => void;
  53. onHide?: (event?: Event) => void;
  54. };
  55. //#endregion
  56. export { ModelToggleParams, UseModelToggleProps, UseModelTogglePropsGeneric, UseModelTogglePropsPublic, UseModelTogglePropsRaw, createModelToggleComposable, useModelToggle, useModelToggleEmits, useModelToggleProps };