UNPKG

@gouvfr/dsfr-roller

Version:

Le module `dsfr-roller` permet de publier le site de documentation du Système de Design de l’État - DSFR

40 lines (35 loc) 1.12 kB
import { Component } from '../component.js'; import yaml from 'yaml'; class Button extends Component { constructor (data) { super(data, 'button'); } get ejsPath () { return 'src/dsfr/component/button/template/ejs/button.ejs'; } async format () { const index = [, , 'secondary', 'tertiary', 'tertiary-no-outline'].indexOf(this.data.kind); const url = this.data.url ?? this.data.href; const blank = Boolean(this.data.blank) || /^(http|www)/.test(url); const classes = ['fr-mb-6v']; classes.push(...(this.data.classes || [])); return { markup: url ? 'a' : this.data.markup, kind: index > -1 ? index : parseInt(this.data.kind), size: this.data.size, label: this.data.label ?? this.data.text, title: this.data.title, id: this.data.id, href: url, type: this.data.type, blank, self: !blank || Boolean(this.data.self), disabled: this.data.disabled, classes: classes, attributes: this.data.attributes, icon: this.data.icon, iconPlace: this.data['icon-place'], } } } export { Button };