UNPKG

@public-ui/components

Version:

Contains all web components that belong to KoliBri - The accessible HTML-Standard.

151 lines (145 loc) 5.14 kB
/*! * KoliBri - The accessible HTML-Standard */ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client'; import { K as KolAlertFc } from './Alert.js'; import './common.js'; import { a as watchValidator, b as watchBoolean, s as setState } from './prop.validators.js'; import { v as validateHasCloser } from './has-closer.js'; import { v as validateLabel } from './label.js'; import { d as dispatchDomEvent, K as KolEvent } from './events.js'; import { w as watchHeadingLevel } from './validation.js'; const alertTypeOptions = ['default', 'info', 'success', 'warning', 'error']; const isAlertTypePropType = (value) => { return typeof value === 'string' && alertTypeOptions.includes(value); }; const validateAlertType = (component, value) => { watchValidator(component, '_type', isAlertTypePropType, new Set(alertTypeOptions), value); }; const alertVariantOptions = ['card', 'msg']; const isAlertVariantPropType = (value) => { return typeof value === 'string' && alertVariantOptions.includes(value); }; const validateAlertVariant = (component, value) => { watchValidator(component, '_variant', isAlertVariantPropType, new Set(alertVariantOptions), value); }; const KolAlertWc$1 = proxyCustomElement(class KolAlertWc extends HTMLElement { constructor(registerHost) { super(); if (registerHost !== false) { this.__registerHost(); } this.close = () => { var _a, _b; (_b = (_a = this._on) === null || _a === void 0 ? void 0 : _a.onClose) === null || _b === void 0 ? void 0 : _b.call(_a, new Event('Close')); if (this.host) { dispatchDomEvent(this.host, KolEvent.close); } }; this.handleAlertTimeout = () => { this.validateAlert(false); }; this._alert = false; this._hasCloser = false; this._level = 0; this._type = 'default'; this._variant = 'msg'; this.state = { _level: 0, }; this.validateOnValue = (value) => typeof value === 'object' && value !== null && typeof value.onClose === 'function'; } render() { const { _alert, _hasCloser, _label, _level, _type, _variant } = this.state; const props = { alert: _alert, hasCloser: _hasCloser, label: _label, level: _level, type: _type, variant: _variant, onCloserClick: this.close, onAlertTimeout: this.handleAlertTimeout, }; return (h(KolAlertFc, Object.assign({ key: 'ab90b52cbda1d61514c3acd292d0bd6d91f0c9d5' }, props), h("slot", { key: '6a7e2a89cfabde71c1140d4cf5de28e99bc09ef4' }))); } validateAlert(value) { watchBoolean(this, '_alert', value); } validateHasCloser(value) { validateHasCloser(this, value); } validateLabel(value) { validateLabel(this, value); } validateLevel(value) { watchHeadingLevel(this, value); } validateOn(value) { if (this.validateOnValue(value)) { setState(this, '_on', { onClose: value.onClose, }); } } validateType(value) { validateAlertType(this, value); } validateVariant(value) { validateAlertVariant(this, value); } componentWillLoad() { this.validateAlert(this._alert); this.validateHasCloser(this._hasCloser); this.validateLabel(this._label); this.validateLevel(this._level); this.validateOn(this._on); this.validateType(this._type); this.validateVariant(this._variant); } get host() { return this; } static get watchers() { return { "_alert": ["validateAlert"], "_hasCloser": ["validateHasCloser"], "_label": ["validateLabel"], "_level": ["validateLevel"], "_on": ["validateOn"], "_type": ["validateType"], "_variant": ["validateVariant"] }; } }, [260, "kol-alert-wc", { "_alert": [4], "_hasCloser": [4, "_has-closer"], "_label": [1], "_level": [2], "_on": [16], "_type": [1], "_variant": [1], "state": [32] }, undefined, { "_alert": ["validateAlert"], "_hasCloser": ["validateHasCloser"], "_label": ["validateLabel"], "_level": ["validateLevel"], "_on": ["validateOn"], "_type": ["validateType"], "_variant": ["validateVariant"] }]); function defineCustomElement$1() { if (typeof customElements === "undefined") { return; } const components = ["kol-alert-wc"]; components.forEach(tagName => { switch (tagName) { case "kol-alert-wc": if (!customElements.get(tagName)) { customElements.define(tagName, KolAlertWc$1); } break; } }); } const KolAlertWc = KolAlertWc$1; const defineCustomElement = defineCustomElement$1; export { KolAlertWc, defineCustomElement }; //# sourceMappingURL=kol-alert-wc.js.map //# sourceMappingURL=kol-alert-wc.js.map