DisabledContext.js 478 B

12345678910111213
  1. import { computed, inject, ref, provide } from 'vue';
  2. const DisabledContextKey = Symbol('DisabledContextKey');
  3. export const useInjectDisabled = () => {
  4. return inject(DisabledContextKey, ref(undefined));
  5. };
  6. export const useProviderDisabled = disabled => {
  7. const parentDisabled = useInjectDisabled();
  8. provide(DisabledContextKey, computed(() => {
  9. var _a;
  10. return (_a = disabled.value) !== null && _a !== void 0 ? _a : parentDisabled.value;
  11. }));
  12. return disabled;
  13. };