import {vlElement, define} from '/node_modules/vl-ui-core/dist/vl-core.js';
import '/node_modules/vl-ui-properties/dist/vl-properties.js';
import '/node_modules/vl-ui-typography/dist/vl-typography.js';
/**
* VlCookie
* @class
* @classdesc Cookie beschrijving
*
* @extends HTMLElement
* @mixes vlElement
*
* @see {@link https://www.github.com/milieuinfo/webcomponent-vl-ui-cookie-statement/releases/latest|Release notes}
* @see {@link https://www.github.com/milieuinfo/webcomponent-vl-ui-cookie-statement/issues|Issues}
* @see {@link https://webcomponenten.omgeving.vlaanderen.be/demo/vl-cookie.html|Demo}
*
*/
export class VlCookie extends vlElement(HTMLElement) {
constructor({title, name, purpose, domain, processor, validity} = {}) {
super(`
<style>
@import '/src/style.css';
@import '/node_modules/vl-ui-properties/dist/style.css';
</style>
`);
const nameTemplate = () => {
const _name = name || this.dataset.vlName;
if (Array.isArray(_name)) {
return `
<vl-typography>
<ul>
${_name.map((name) => `<li>${name}</li>`).join('')}
</ul>
</vl-typography>
`;
} else {
return _name;
}
};
this._element.insertAdjacentHTML('afterend', `
<vl-properties>
<h3>${title || this.dataset.vlTitle}</h3>
<dl is="vl-properties-list">
<dt is="vl-property-term">Naam</dt>
<dd is="vl-property-value">${nameTemplate()}</dd>
<dt is="vl-property-term">Doel</dt>
<dd is="vl-property-value">${purpose || this.dataset.vlPurpose}</dd>
<dt is="vl-property-term">Type</dt>
<dd is="vl-property-value">Cookie</dd>
<dt is="vl-property-term">Domein</dt>
<dd is="vl-property-value">${domain || this.dataset.vlDomain}</dd>
<dt is="vl-property-term">Verwerker</dt>
<dd is="vl-property-value">${processor || this.dataset.vlProcessor}</dd>
<dt is="vl-property-term">Geldigheid</dt>
<dd is="vl-property-value">${validity || this.dataset.vlValidity}</dd>
</dl>
</vl-properties>
`);
}
}
define('vl-cookie', VlCookie);