isLabelWithInternallyDisabledControl.js 716 B

12345678910111213141516171819202122
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isLabelWithInternallyDisabledControl = isLabelWithInternallyDisabledControl;
  6. var _isDisabled = require("./isDisabled");
  7. var _isElementType = require("./isElementType");
  8. // Absolutely NO events fire on label elements that contain their control
  9. // if that control is disabled. NUTS!
  10. // no joke. There are NO events for: <label><input disabled /><label>
  11. function isLabelWithInternallyDisabledControl(element) {
  12. if (!(0, _isElementType.isElementType)(element, 'label')) {
  13. return false;
  14. }
  15. const control = element.control;
  16. return Boolean(control && element.contains(control) && (0, _isDisabled.isDisabled)(control));
  17. }