element-plus
Version:
A Component Library for Vue 3
1 lines • 2.65 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../../packages/hooks/use-intermediate-render/index.ts"],"sourcesContent":["import { nextTick, unref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\n\nexport type UseDelayedRenderProps = {\n indicator: Ref<boolean>\n intermediateIndicator: Ref<boolean>\n shouldSetIntermediate?: (step: 'show' | 'hide') => boolean\n beforeShow?: () => void\n beforeHide?: () => void\n afterShow?: () => void\n afterHide?: () => void\n}\n\nexport const useDelayedRender = ({\n indicator,\n intermediateIndicator,\n shouldSetIntermediate = () => true,\n beforeShow,\n afterShow,\n afterHide,\n beforeHide,\n}: UseDelayedRenderProps) => {\n watch(\n () => unref(indicator),\n (val) => {\n if (val) {\n beforeShow?.()\n nextTick(() => {\n if (!unref(indicator)) return\n if (shouldSetIntermediate('show')) {\n intermediateIndicator.value = true\n }\n })\n } else {\n beforeHide?.()\n nextTick(() => {\n if (unref(indicator)) return\n\n if (shouldSetIntermediate('hide')) {\n intermediateIndicator.value = false\n }\n })\n }\n }\n )\n\n // because we don't always set the value ourselves, so that we\n // simply watch the value's state, then invoke the corresponding hook.\n watch(\n () => intermediateIndicator.value,\n (val) => {\n if (val) {\n afterShow?.()\n } else {\n afterHide?.()\n }\n }\n )\n}\n"],"names":[],"mappings":";;AAcO,MAAM,mBAAmB,CAAC;AAAA,EAC/B,SAAA;AAAA,EACA,qBAAA;AAAA,EACA,wBAAwB,MAAM,IAAA;AAAA,EAC9B,UAAA;AAAA,EACA,SAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AACF,CAA6B,KAAA;AAC3B,EAAA,KAAA;AAAA,IACE,MAAM,MAAM,SAAS,CAAA;AAAA,IACrB,CAAC,GAAQ,KAAA;AACP,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,EAAA,CAAA;AACA,QAAA,QAAA,CAAS,MAAM;AACb,UAAI,IAAA,CAAC,MAAM,SAAS,CAAA;AAAG,YAAA,OAAA;AACvB,UAAI,IAAA,qBAAA,CAAsB,MAAM,CAAG,EAAA;AACjC,YAAA,qBAAA,CAAsB,KAAQ,GAAA,IAAA,CAAA;AAAA,WAChC;AAAA,SACD,CAAA,CAAA;AAAA,OACI,MAAA;AACL,QAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,EAAA,CAAA;AACA,QAAA,QAAA,CAAS,MAAM;AACb,UAAA,IAAI,MAAM,SAAS,CAAA;AAAG,YAAA,OAAA;AAEtB,UAAI,IAAA,qBAAA,CAAsB,MAAM,CAAG,EAAA;AACjC,YAAA,qBAAA,CAAsB,KAAQ,GAAA,KAAA,CAAA;AAAA,WAChC;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,KACF;AAAA,GACF,CAAA;AAIA,EAAA,KAAA;AAAA,IACE,MAAM,qBAAsB,CAAA,KAAA;AAAA,IAC5B,CAAC,GAAQ,KAAA;AACP,MAAA,IAAI,GAAK,EAAA;AACP,QAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,EAAA,CAAA;AAAA,OACK,MAAA;AACL,QAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,EAAA,CAAA;AAAA,OACF;AAAA,KACF;AAAA,GACF,CAAA;AACF;;;;"}