@openproject/primer-view-components
Version:
ViewComponents of the Primer Design System for OpenProject
71 lines (70 loc) • 3.53 kB
JavaScript
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var _DangerDialogFormHelperElement_instances, _DangerDialogFormHelperElement_reset;
import { controller, target, attr } from '@github/catalyst';
const SUBMIT_BUTTON_SELECTOR = 'input[type=submit],button[type=submit],button[data-submit-dialog-id]';
let DangerDialogFormHelperElement = class DangerDialogFormHelperElement extends HTMLElement {
constructor() {
super(...arguments);
_DangerDialogFormHelperElement_instances.add(this);
this.confirmationLiveMessageChecked = '';
this.confirmationLiveMessageUnchecked = '';
}
get form() {
return this.querySelector('form');
}
get submitButton() {
return this.querySelector(SUBMIT_BUTTON_SELECTOR);
}
connectedCallback() {
// makes the custom element behave as if it doesn't exist in the DOM structure, passing all
// styles directly to its children.
this.style.display = 'contents';
if (this.form) {
this.form.style.display = 'contents';
}
__classPrivateFieldGet(this, _DangerDialogFormHelperElement_instances, "m", _DangerDialogFormHelperElement_reset).call(this);
}
toggle() {
if (!this.checkbox || !this.submitButton)
return;
const enabled = this.checkbox.checked;
this.submitButton.disabled = !enabled;
if (this.liveRegion) {
const message = enabled ? this.confirmationLiveMessageChecked : this.confirmationLiveMessageUnchecked;
this.liveRegion.announce(message, { politeness: 'assertive' });
}
}
};
_DangerDialogFormHelperElement_instances = new WeakSet();
_DangerDialogFormHelperElement_reset = function _DangerDialogFormHelperElement_reset() {
this.toggle();
};
__decorate([
target
], DangerDialogFormHelperElement.prototype, "checkbox", void 0);
__decorate([
target
], DangerDialogFormHelperElement.prototype, "liveRegion", void 0);
__decorate([
attr
], DangerDialogFormHelperElement.prototype, "confirmationLiveMessageChecked", void 0);
__decorate([
attr
], DangerDialogFormHelperElement.prototype, "confirmationLiveMessageUnchecked", void 0);
DangerDialogFormHelperElement = __decorate([
controller
], DangerDialogFormHelperElement);
if (!window.customElements.get('danger-dialog-form-helper')) {
window.DangerDialogFormHelperElement = DangerDialogFormHelperElement;
window.customElements.define('danger-dialog-form-helper', DangerDialogFormHelperElement);
}