desy-html 6.1.0 → 6.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/docs/_global.head.njk +1 -2
- package/docs/_include.template-header.njk +0 -4
- package/docs/_macro.example-render.njk +11 -9
- package/docs/ds/_ds.example.header.njk +0 -6
- package/docs/ds/_ds.example.menu-navigation.njk +1 -1
- package/docs/ds/_ds.example.menubar-variaciones.njk +1 -2
- package/docs/ds/_ds.macro.code-snippet.njk +6 -4
- package/docs/examples-header-2.html +5 -0
- package/docs/examples-header-advanced-2.html +5 -0
- package/docs/index.html +24 -2
- package/package.json +1 -1
- package/src/css/component.form-group.css +1 -0
- package/src/js/aria/accordion.js +24 -17
- package/src/js/aria/collapsible.js +35 -0
- package/src/js/aria/disclosureMenu.js +1 -2
- package/src/js/aria/tabs.js +43 -1
- package/src/js/aria/toggle.js +25 -0
- package/src/js/aria/treeitem.js +11 -20
- package/src/js/desy-html.js +10 -1
- package/src/js/index.js +12 -0
- package/src/templates/components/accordion/_examples.accordion.njk +1 -1
- package/src/templates/components/accordion/_template.accordion.njk +6 -34
- package/src/templates/components/accordion-history/_template.accordion-history.njk +13 -30
- package/src/templates/components/button/_styles.button.css +7 -0
- package/src/templates/components/button-loader/_styles.button-loader.css +6 -0
- package/src/templates/components/checkboxes/_styles.checkboxes.css +7 -0
- package/src/templates/components/checkboxes/_template.checkboxes.njk +4 -8
- package/src/templates/components/collapsible/_template.collapsible.njk +7 -13
- package/src/templates/components/dropdown/_styles.dropdown.css +9 -2
- package/src/templates/components/footer/_examples.footer.njk +2 -2
- package/src/templates/components/footer/_template.footer.njk +1 -1
- package/src/templates/components/header/_examples.header-2.njk +536 -0
- package/src/templates/components/header/_examples.header.njk +0 -33
- package/src/templates/components/header/_template.header.njk +2 -2
- package/src/templates/components/header-advanced/_examples.header-advanced-2.njk +911 -0
- package/src/templates/components/header-advanced/_examples.header-advanced.njk +108 -48
- package/src/templates/components/header-advanced/_template.header-advanced.njk +34 -14
- package/src/templates/components/header-advanced/params.header-advanced.yaml +61 -1
- package/src/templates/components/header-mini/_template.header-mini.njk +3 -3
- package/src/templates/components/input/_styles.input.css +7 -0
- package/src/templates/components/item/_examples.item.njk +25 -0
- package/src/templates/components/item/_template.item.njk +1 -1
- package/src/templates/components/item/params.item.yaml +4 -0
- package/src/templates/components/listbox/_styles.listbox.css +12 -4
- package/src/templates/components/menu-navigation/_styles.menu-navigation.css +7 -0
- package/src/templates/components/menu-navigation/_template.menu-navigation.njk +3 -3
- package/src/templates/components/menu-navigation/params.menu-navigation.yaml +0 -5
- package/src/templates/components/menubar/_examples.menubar.njk +1 -1
- package/src/templates/components/menubar/_styles.menubar.css +12 -4
- package/src/templates/components/notification/_template.notification.njk +3 -11
- package/src/templates/components/pagination/_examples.pagination.njk +60 -0
- package/src/templates/components/pagination/_template.pagination.njk +16 -2
- package/src/templates/components/pagination/params.pagination.yaml +49 -0
- package/src/templates/components/radios/_styles.radios.css +7 -0
- package/src/templates/components/radios/_template.radios.njk +4 -8
- package/src/templates/components/select/_styles.select.css +8 -0
- package/src/templates/components/table-advanced/_template.table-advanced.njk +5 -4
- package/src/templates/components/tabs/_examples.tabs.njk +35 -1
- package/src/templates/components/tabs/_styles.tabs.css +0 -17
- package/src/templates/components/tabs/_template.tabs.njk +4 -4
- package/src/templates/components/tabs/params.tabs.yaml +5 -1
- package/src/templates/components/toggle/_examples.toggle.njk +2 -2
- package/src/templates/components/toggle/_template.toggle.njk +7 -28
- package/src/templates/components/tree/_styles.tree.css +8 -0
- package/src/templates/components/tree/_template.tree.njk +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<!-- header-mini -->
|
|
2
2
|
<div {%- if params.classes %} class="{{ params.classes }}"{% endif %} {%- for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}>
|
|
3
3
|
<div {%- if params.containerClasses %} class="{{ params.containerClasses }}"{% endif %}>
|
|
4
|
-
<div class="bg-
|
|
4
|
+
<div class="bg-white border-b border-neutral-base">
|
|
5
5
|
<div class="flex items-center px-base {% if params.hasContainer != false %}container mx-auto{% endif %}">
|
|
6
|
-
<a href="{{ params.homepageUrl | default('https://www.aragon.es/') }}" class="inline-block pt-2.5 pb-2 text-black focus:outline-none focus:shadow-outline-black"
|
|
7
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 32" width="117" height="26" class="inline-block fill-current" aria-label="Gobierno de Aragón
|
|
6
|
+
<a href="{{ params.homepageUrl | default('https://www.aragon.es/') }}" class="inline-block pt-2.5 pb-2 text-black focus:outline-none focus:shadow-outline-black">
|
|
7
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144 32" width="117" height="26" class="inline-block fill-current" aria-label="Gobierno de Aragón. Ir a aragon.es" role="img"><defs><clipPath id="b-logo-expanded"><path fill="gold" d="M0 0h31.509v31.495H0z"/></clipPath><clipPath id="a-logo-expanded"><path d="M0 0h144v32H0z"/></clipPath></defs><g clip-path="url(#a-logo-expanded)"><path fill="gold" d="M0 .205h31.509V31.7H0z"/><g clip-path="url(#b-logo-expanded)" transform="translate(0 .205)"><g fill="#dd171b" fill-rule="evenodd"><path d="m31.509 6.048-7.568 1.515a14.545 14.545 0 0 1-7.905-1.025 15.04 15.04 0 0 0-5-1.817 12.536 12.536 0 0 0-3.535-.011l-5.051.9c-.8.156-1.639.3-2.453.434V.315A7.1 7.1 0 0 1 3.888.226a9.926 9.926 0 0 1 2.085.936 17.6 17.6 0 0 0 4.293 1.962 13.92 13.92 0 0 0 6.6-.034l4.728-.858 4.939-.892 4.97-1.024ZM6.602 24.229a14.592 14.592 0 0 1 9.555 1.014 12.178 12.178 0 0 0 8.307 1.5l7.044-1.271v5.706a8.247 8.247 0 0 1-3.008.256 6.4 6.4 0 0 1-1.594-.457l-3.657-1.917a12.217 12.217 0 0 0-7.092-.825L1.026 31.011 0 31.177v-5.706l1.26-.256 3.312-.613c.669-.123 1.371-.245 2.029-.379ZM-.003 15.077v-4.391l13.027-2.377a15.5 15.5 0 0 1 9.11 1.638 12.535 12.535 0 0 0 8.474.925l.9-.189v4.391l-2.874-1.639a12.286 12.286 0 0 0-6.835-1.014l-8.006 1.46c-.959.179-2.877.524-2.877.524l-7.292 1.349a5.152 5.152 0 0 1-3.627-.677ZM31.509 16.583v4.324L18.6 23.282a15.5 15.5 0 0 1-9.11-1.638 12.532 12.532 0 0 0-8.474-.925l-1.015.19v-4.324l2.988 1.572a12.291 12.291 0 0 0 6.835 1.014l8.006-1.46c.959-.178 2.877-.524 2.877-.524l7.292-1.349a5.142 5.142 0 0 1 3.51.745Z"/></g></g><path d="M38.2 28.807v-8.551h1.393c2.893 0 4.478 1.522 4.478 4.286 0 2.829-1.521 4.265-4.5 4.265Zm10.4-11.4v14.294h9.47v-2.893h-6.277v-3.257h6.214v-2.893h-6.214v-2.379h6.277v-2.871Zm21.751 0-5.206 14.294h3.385l1.542-4.35h4.371l1.521 4.35h3.45L74.1 17.407Zm1.885 2.956-1.328 4.223h2.679Zm42.341 4.03h-3.192v4.5a4.206 4.206 0 0 1-1.371.193 4.251 4.251 0 0 1-4.242-4.5 4.443 4.443 0 0 1 4.735-4.65 7.481 7.481 0 0 1 4.071 1.243v-3.257a11.674 11.674 0 0 0-4.349-.857c-4.628 0-7.841 3.107-7.841 7.564 0 4.393 3.149 7.372 7.841 7.372a12.977 12.977 0 0 0 4.349-.75Zm16.132.129a7.424 7.424 0 1 0-7.391 7.436 7.122 7.122 0 0 0 7.393-7.436Zm-7.456-4.458c-2.4 0-4.006 1.822-4.006 4.5s1.65 4.5 4.071 4.5c2.4 0 3.985-1.8 3.985-4.5s-1.627-4.501-4.048-4.501Zm8.689-2.657v14.294h3.257v-9.108l5.762 9.108h3.021V17.407h-3.256v8.889l-5.532-8.889ZM46.922 7.33h-3.193v4.5a4.335 4.335 0 0 1-5.613-4.307 4.443 4.443 0 0 1 4.735-4.65 7.487 7.487 0 0 1 4.071 1.243V.859a11.674 11.674 0 0 0-4.35-.858c-4.628 0-7.841 3.107-7.841 7.565 0 4.393 3.15 7.371 7.841 7.371a12.99 12.99 0 0 0 4.35-.75Zm16.116.128a7.424 7.424 0 1 0-7.392 7.436 7.122 7.122 0 0 0 7.396-7.436Zm-7.456-4.457c-2.4 0-4.006 1.821-4.006 4.5s1.65 4.5 4.071 4.5c2.4 0 3.985-1.8 3.985-4.5s-1.626-4.5-4.047-4.5ZM64.107.344v14.293h5.914c3.15 0 4.992-1.565 4.992-4.243a3.717 3.717 0 0 0-2.978-3.728 3.133 3.133 0 0 0 1.95-2.936c.021-2.272-1.521-3.386-4.606-3.386Zm4.757 5.336c1.393 0 1.95-.386 1.95-1.35 0-.921-.536-1.264-2.057-1.264h-1.393V5.68Zm.429 6.043c1.585 0 2.271-.493 2.271-1.651 0-1.2-.707-1.671-2.4-1.671h-1.8v3.322ZM78.879.344h-3.192v14.293h3.192Zm1.39 0v14.293h9.47v-2.893h-6.278V8.487h6.214V5.594h-6.214V3.216h6.278V.345Zm50.463 7.114a7.424 7.424 0 1 0-7.392 7.436 7.122 7.122 0 0 0 7.395-7.436Zm-7.456-4.457c-2.4 0-4.006 1.821-4.006 4.5s1.65 4.5 4.071 4.5c2.4 0 3.985-1.8 3.985-4.5s-1.626-4.5-4.047-4.5ZM97.917 24.585l-1.35-4.223-1.328 4.223ZM83.249 31.7v-5.872h.407c2.057 0 2.271.214 3.642 3.75a7.159 7.159 0 0 0 .3.729l.278.664a6.4 6.4 0 0 0 .343.729h4.641l1.543-4.35h4.371l1.521 4.35h3.45l-5.314-14.294h-3.749L90.46 28.997c-.3-.622-.642-1.371-1.04-2.291a3.042 3.042 0 0 0-1.907-2.014 3.416 3.416 0 0 0 2.614-3.429c0-2.571-1.693-3.857-5.1-3.857H79.97V31.7Zm0-8.572h1.414c1.371 0 2.057-.493 2.057-1.521s-.622-1.478-2.014-1.478h-1.457Zm11.156-8.492V8.764h.407c2.057 0 2.271.214 3.642 3.75a6.982 6.982 0 0 0 .3.729l.278.665a6.37 6.37 0 0 0 .342.729h6.432l.018-9.169 5.745 9.169h3.021V.344h-3.256l.014 8.769-5.542-8.769h-3.257v13.3a29.76 29.76 0 0 1-1.975-4 3.043 3.043 0 0 0-1.907-2.014 3.415 3.415 0 0 0 2.614-3.428c0-2.572-1.693-3.857-5.1-3.857h-5.054v14.293Zm0-8.572h1.412c1.371 0 2.056-.493 2.056-1.521s-.621-1.478-2.013-1.478h-1.457Zm-59.44 11.342V31.7h4.778c4.842 0 7.692-2.657 7.692-7.158 0-4.479-2.914-7.136-7.863-7.136Z" fill="#161615" fill-rule="evenodd"/></g></svg>
|
|
8
8
|
</a>
|
|
9
9
|
{{ params.customNavigationHtml | safe if params.customNavigationHtml }}
|
|
10
10
|
</div>
|
|
@@ -184,6 +184,31 @@
|
|
|
184
184
|
"caller": '<ul class="flex flex-wrap gap-sm"><li><button id="b-6a" class=" c-button c-button--sm c-button--transparent " aria-labelledby="b-6a t6">Eliminar</button></li><li><button id="b-6b" class="c-button c-button--sm c-button--transparent" aria-labelledby="b-6b t6">Editar</button></li></ul>'
|
|
185
185
|
}
|
|
186
186
|
},
|
|
187
|
+
{
|
|
188
|
+
"name": "with icon type document vertical aligned on top",
|
|
189
|
+
"description": "icon.containerClasses = self-start h-full mr-base",
|
|
190
|
+
"data": {
|
|
191
|
+
"title": {
|
|
192
|
+
"text": "Resolución de años anteriores",
|
|
193
|
+
"attributes": {
|
|
194
|
+
"id": "t3"
|
|
195
|
+
}
|
|
196
|
+
},
|
|
197
|
+
"content":{
|
|
198
|
+
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
|
|
199
|
+
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
|
|
200
|
+
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
|
|
201
|
+
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
|
|
202
|
+
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
|
|
203
|
+
proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
|
|
204
|
+
},
|
|
205
|
+
"icon": {
|
|
206
|
+
"type": "document",
|
|
207
|
+
"containerClasses": "self-start h-full mr-base"
|
|
208
|
+
},
|
|
209
|
+
"caller": '<ul class="flex flex-wrap gap-sm"><li><button id="b-3a" class=" c-button c-button--sm c-button--transparent " aria-labelledby="b-3a t3">Eliminar</button></li><li><button id="b-3b" class="c-button c-button--sm c-button--transparent" aria-labelledby="b-3b t3">Editar</button></li></ul>'
|
|
210
|
+
}
|
|
211
|
+
},
|
|
187
212
|
{
|
|
188
213
|
"name": "draggable and with icon type document",
|
|
189
214
|
"data": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
{% endif %}
|
|
14
14
|
{% if params.icon %}
|
|
15
|
-
<div class="self-center h-full mr-base">
|
|
15
|
+
<div class="{% if params.icon.containerClasses %}{{ params.icon.containerClasses }}{% else %}self-center h-full mr-base{% endif %}">
|
|
16
16
|
{% if params.icon.html %}
|
|
17
17
|
{{ params.icon.html | safe }}
|
|
18
18
|
{% elseif params.icon.type == 'document' %}
|
|
@@ -75,6 +75,10 @@ params:
|
|
|
75
75
|
type: string
|
|
76
76
|
required: false
|
|
77
77
|
description: Predefined icon types are `document`, `link`, `clipboard`
|
|
78
|
+
- name: containerClasses
|
|
79
|
+
type: string
|
|
80
|
+
required: false
|
|
81
|
+
description: Classes applied to the parent div of icon. Useful to vertical align the icon.
|
|
78
82
|
- name: isDraggable
|
|
79
83
|
type: boolean
|
|
80
84
|
required: false
|
|
@@ -94,6 +94,13 @@
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
|
|
97
|
+
.c-listbox--base {
|
|
98
|
+
@apply px-3;
|
|
99
|
+
@apply py-2;
|
|
100
|
+
@apply text-base;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
|
|
97
104
|
.c-listbox--sm {
|
|
98
105
|
@apply px-2;
|
|
99
106
|
@apply py-1;
|
|
@@ -183,20 +190,21 @@
|
|
|
183
190
|
|
|
184
191
|
|
|
185
192
|
.c-listbox--header {
|
|
186
|
-
@apply bg-
|
|
193
|
+
@apply bg-transparent;
|
|
187
194
|
@apply border-none;
|
|
188
195
|
@apply rounded-none;
|
|
189
196
|
@apply shadow-none;
|
|
190
197
|
@apply font-normal;
|
|
191
198
|
@apply text-sm;
|
|
192
|
-
@apply text-
|
|
199
|
+
@apply text-black;
|
|
193
200
|
|
|
194
201
|
&:hover:not(disabled),
|
|
195
202
|
&.ds-hover:not(disabled) {
|
|
196
|
-
@apply bg-
|
|
203
|
+
@apply bg-transparent;
|
|
197
204
|
@apply border-none;
|
|
198
205
|
@apply shadow-none;
|
|
199
|
-
@apply text-
|
|
206
|
+
@apply text-black;
|
|
207
|
+
@apply underline;
|
|
200
208
|
}
|
|
201
209
|
|
|
202
210
|
&[disabled],
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{#- If an id 'prefix' is not passed, fall back to using the name attribute
|
|
2
|
-
instead.
|
|
2
|
+
instead. -#}
|
|
3
3
|
{% set idPrefix = params.idPrefix if params.idPrefix else "menu-nav-item" %}
|
|
4
4
|
|
|
5
5
|
{#- fieldset is false by default -#}
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
{% set subId = "sub-" + id %}
|
|
32
32
|
<li class="relative">
|
|
33
33
|
{% if item.href %}
|
|
34
|
-
<a {%- if id %} id="{{ id }}"{% endif %} href="{{ item.href }}" class="c-menu-navigation__button {%- if item.disabled %} c-menu-navigation__button--disabled{% endif %} {%- if item.active %} c-menu-navigation__button--primary{% endif %} {%- if item.active %} c-menu-navigation__button--has-selection{% endif %} {%- if item.classes %} {{ item.classes }}{% endif %}" {%- if item.title %} title="{{ item.title }}"{% endif %}{%- if item.active %} aria-current="page"{% endif %} {% if item.disabled %} tabindex="-1"{% endif %} {% if item.target %} target="{{ item.target }}"{% endif %}{%- for attribute, value in item.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>
|
|
34
|
+
<a {%- if id %} id="{{ id }}"{% endif %} href="{{ item.href }}" class="c-menu-navigation__button {%- if item.disabled %} c-menu-navigation__button--disabled{% endif %} {%- if item.active %} c-menu-navigation__button--primary{% endif %} {%- if item.active %} c-menu-navigation__button--has-selection{% endif %} {%- if item.classes %} {{ item.classes }}{% endif %}" {%- if item.title %} title="{{ item.title }}"{% endif %}{%- if item.active %} aria-current="page"{% endif %} {% if item.disabled %} role="link" aria-disabled="true" tabindex="-1"{% endif %} {% if item.target %} target="{{ item.target }}"{% endif %}{%- for attribute, value in item.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>
|
|
35
35
|
<span class="inline-flex self-center max-w-xs align-middle truncate pointer-events-none">{{ item.html | safe if item.html else item.text }}</span>
|
|
36
36
|
</a>
|
|
37
37
|
{% else %}
|
|
38
38
|
<button {%- if item.sub %} aria-expanded="true" aria-controls="{{ id }}-sub-list"{% endif %}
|
|
39
39
|
{%- if id %} id="{{ id }}"{% endif %} class="c-menu-navigation__button {%- if item.disabled %} c-menu-navigation__button--disabled{% endif %} {%- if item.active %} c-menu-navigation__button--primary{% endif %} {%- if item.active %} c-menu-navigation__button--has-selection{% endif %} {%- if item.classes %} {{ item.classes }}{% endif %}" {%- if item.title %} title="{{ item.title }}"{% endif %} {% if item.disabled %} aria-disabled="true" tabindex="-1"{% endif %} {%- for attribute, value in item.attributes %} {{ attribute }}="{{ value }}"{% endfor -%}>
|
|
40
|
-
<span class="inline-flex self-center max-w-xs align-middle truncate pointer-events-none">{{ item.html | safe if item.html else item.text }}</span>
|
|
40
|
+
{% if item.active %}<span class="sr-only">Item activo: </span>{% endif %}<span class="inline-flex self-center max-w-xs align-middle truncate pointer-events-none">{{ item.html | safe if item.html else item.text }}</span>
|
|
41
41
|
{# Indentation is intentional to output HTML nicely #}
|
|
42
42
|
{{- iconHtml | safe | trim | indent(2, true) if iconHtml -}}
|
|
43
43
|
</button>
|
|
@@ -28,11 +28,6 @@ params:
|
|
|
28
28
|
type: string
|
|
29
29
|
required: false
|
|
30
30
|
description: Specific id attribute for the item. If omitted, then idPrefix option will be applied.
|
|
31
|
-
- name: hint
|
|
32
|
-
type: object
|
|
33
|
-
required: false
|
|
34
|
-
description: Provide hint to each nav item.
|
|
35
|
-
isComponent: true
|
|
36
31
|
- name: expanded
|
|
37
32
|
type: boolean
|
|
38
33
|
required: false
|
|
@@ -129,6 +129,13 @@
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
|
|
132
|
+
.c-menubar__button--base {
|
|
133
|
+
@apply px-3;
|
|
134
|
+
@apply py-2;
|
|
135
|
+
@apply text-base;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
|
|
132
139
|
.c-menubar__button--sm {
|
|
133
140
|
@apply px-2;
|
|
134
141
|
@apply py-1;
|
|
@@ -218,20 +225,21 @@
|
|
|
218
225
|
|
|
219
226
|
|
|
220
227
|
.c-menubar__button--header {
|
|
221
|
-
@apply bg-
|
|
228
|
+
@apply bg-transparent;
|
|
222
229
|
@apply border-none;
|
|
223
230
|
@apply rounded-none;
|
|
224
231
|
@apply shadow-none;
|
|
225
232
|
@apply font-normal;
|
|
226
233
|
@apply text-sm;
|
|
227
|
-
@apply text-
|
|
234
|
+
@apply text-black;
|
|
228
235
|
|
|
229
236
|
&:hover:not(disabled),
|
|
230
237
|
&.ds-hover:not(disabled) {
|
|
231
|
-
@apply bg-
|
|
238
|
+
@apply bg-transparent;
|
|
232
239
|
@apply border-none;
|
|
233
240
|
@apply shadow-none;
|
|
234
|
-
@apply text-
|
|
241
|
+
@apply text-black;
|
|
242
|
+
@apply underline;
|
|
235
243
|
}
|
|
236
244
|
|
|
237
245
|
&[disabled],
|
|
@@ -1,13 +1,5 @@
|
|
|
1
1
|
<!-- notification -->
|
|
2
|
-
<div
|
|
3
|
-
x-show="isOpen"
|
|
4
|
-
x-transition:enter="transition ease-out duration-100 transform"
|
|
5
|
-
x-transition:enter-start="opacity-0 scale-y-95"
|
|
6
|
-
x-transition:enter-end="opacity-100 scale-y-100"
|
|
7
|
-
x-transition:leave="transition ease-in duration-75 transform"
|
|
8
|
-
x-transition:leave-start="opacity-100 scale-y-100"
|
|
9
|
-
x-transition:leave-end="opacity-0 scale-y-95"
|
|
10
|
-
id="{{ params.id }}" class="c-notification {%- if params.classes %} {{ params.classes }}{% elseif params.type=="success" %} c-notification--success{% elseif params.type=="alert" %} c-notification--alert{% elseif params.type=="info" %} c-notification--primary{% else %} c-notification--primary{% endif %}"
|
|
2
|
+
<div id="{{ params.id }}" class="c-notification {%- if params.classes %} {{ params.classes }}{% elseif params.type=="success" %} c-notification--success{% elseif params.type=="alert" %} c-notification--alert{% elseif params.type=="info" %} c-notification--primary{% else %} c-notification--primary{% endif %}"
|
|
11
3
|
{%- for attribute, value in params.attributes %} {{attribute}}="{{value}}"{% endfor %}>
|
|
12
4
|
{% if params.icon or params.type %}
|
|
13
5
|
<div class="h-full mr-base">
|
|
@@ -66,11 +58,11 @@
|
|
|
66
58
|
</div>
|
|
67
59
|
{% if params.isDismissible %}
|
|
68
60
|
<div class="absolute top-0 right-0 p-sm">
|
|
69
|
-
<button
|
|
61
|
+
<button class="p-sm focus:bg-warning-base focus:border-warning-base focus:shadow-outline-black focus:text-black focus:outline-none" aria-label="X: Cerrar notificación">
|
|
70
62
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 140 140" width="1em" height="1em" class="w-4 h-4" aria-hidden="true" role="presentation"><path d="M85.91 71.77a2.5 2.5 0 010-3.54l46.16-46.16a10 10 0 10-14.14-14.14L71.77 54.09a2.5 2.5 0 01-3.54 0L22.07 7.93A10 10 0 007.93 22.07l46.16 46.16a2.5 2.5 0 010 3.54L7.93 117.93a10 10 0 0014.14 14.14l46.16-46.16a2.5 2.5 0 013.54 0l46.16 46.16a10 10 0 0014.14-14.14z" fill="currentColor"/></svg>
|
|
71
63
|
</button>
|
|
72
64
|
</div>
|
|
73
65
|
{% endif %}
|
|
74
66
|
</div>
|
|
75
67
|
</div>
|
|
76
|
-
<!-- /notification -->
|
|
68
|
+
<!-- /notification -->
|
|
@@ -160,5 +160,65 @@
|
|
|
160
160
|
"aria-label": "Paginación"
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"name": "with itemsListbox",
|
|
166
|
+
"data": {
|
|
167
|
+
"id": "with-items-listbox",
|
|
168
|
+
"idPrefix": "with-items-listbox",
|
|
169
|
+
"totalItems": "64",
|
|
170
|
+
"itemsPerPage": "10",
|
|
171
|
+
"hasSelect": true,
|
|
172
|
+
"itemsListbox": {
|
|
173
|
+
"items": [
|
|
174
|
+
{
|
|
175
|
+
"text": "10",
|
|
176
|
+
"active": true
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"text": "25"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"text": "50"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"text": "75"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"text": "100"
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
"items": [
|
|
193
|
+
{
|
|
194
|
+
"href": "#",
|
|
195
|
+
"text": 1
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
"href": "#",
|
|
199
|
+
"text": 2,
|
|
200
|
+
"active": true
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"href": "#",
|
|
204
|
+
"text": 3
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"href": "#",
|
|
208
|
+
"text": 4
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"href": "#",
|
|
212
|
+
"text": 5
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"href": "#",
|
|
216
|
+
"text": 6
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"attributes": {
|
|
220
|
+
"aria-label": "Paginación"
|
|
221
|
+
}
|
|
222
|
+
}
|
|
163
223
|
}
|
|
164
224
|
] %}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{% from "../button/_macro.button.njk" import componentButton %}
|
|
2
2
|
{% from "components/listbox/_macro.listbox.njk" import componentListbox %}
|
|
3
3
|
|
|
4
|
+
|
|
4
5
|
{#- If an id 'prefix' is not passed, fall back to using a default one
|
|
5
6
|
instead -#}
|
|
6
7
|
{% set idPrefix = params.idPrefix if params.idPrefix else "pagination-item" %}
|
|
@@ -75,7 +76,7 @@
|
|
|
75
76
|
{% set nextSuffix %}
|
|
76
77
|
{% if (((activePosition + 2) | int + 1) * params.itemsPerPage | int) < ( params.totalItems | int ) %}<span class="sr-only">: Página {{ activePosition + 2 }} con los resultados del {{ (activePosition + 1) | int * params.itemsPerPage | int }} al {% if (((activePosition + 1) | int + 1) * params.itemsPerPage | int) > ( params.totalItems | int ) %}{{ params.totalItems }}{% else %}{{ ((activePosition + 1) | int + 1) * params.itemsPerPage | int }}{% endif %}</span>{% endif %}
|
|
77
78
|
{% endset %}
|
|
78
|
-
<div id="{{ params.id }}" class="lg:flex lg:flex-wrap lg:
|
|
79
|
+
<div id="{{ params.id }}" class="lg:flex lg:flex-wrap lg:items-center lg:gap-base{%- if params.containerClasses %} {{ params.containerClasses }}{% endif %}">
|
|
79
80
|
{% if params.hasSelect %}
|
|
80
81
|
<p class="w-full mb-xs text-sm text-neutral-dark">
|
|
81
82
|
Selecciona una página para cargar datos
|
|
@@ -120,7 +121,20 @@
|
|
|
120
121
|
</ul>
|
|
121
122
|
</nav>
|
|
122
123
|
{% endif %}
|
|
123
|
-
|
|
124
|
+
{% if params.itemsListbox %}
|
|
125
|
+
<div class="block relative -top-xs lg:ml-auto text-sm text-neutral-dark">
|
|
126
|
+
{{ componentListbox({
|
|
127
|
+
"id": "items-listbox-" + idPrefix,
|
|
128
|
+
"text": params.itemsPerPage,
|
|
129
|
+
"label": params.itemsListbox.label if params.itemsListbox.label else { "text": "Items por página: ", "classes": "inline-block align-middle mb-0" },
|
|
130
|
+
"doesChangeButtonText": true,
|
|
131
|
+
"classesContainer": "flex flex-wrap items-center gap-xs",
|
|
132
|
+
"classes": "c-listbox--sm c-listbox--transparent",
|
|
133
|
+
"items": params.itemsListbox.items
|
|
134
|
+
}) }}
|
|
135
|
+
</div>
|
|
136
|
+
{% endif %}
|
|
137
|
+
<p class="block relative -top-xs lg:ml-auto text-sm text-neutral-dark">
|
|
124
138
|
<span class="sr-only">Posición de paginación: </span>{{ activePosition | int * params.itemsPerPage | int }} - {{ (activePosition | int + 1) * params.itemsPerPage | int }} de {{ params.totalItems }}
|
|
125
139
|
</p>
|
|
126
140
|
</div>
|
|
@@ -39,6 +39,55 @@ params:
|
|
|
39
39
|
type: string
|
|
40
40
|
required: false
|
|
41
41
|
description: Text for the previous button. Defaults to "Siguiente".
|
|
42
|
+
- name: itemsListbox
|
|
43
|
+
type: object
|
|
44
|
+
required: false
|
|
45
|
+
description: Options for a listbox component to choose number of items per page.
|
|
46
|
+
- name: label
|
|
47
|
+
type: object
|
|
48
|
+
required: true
|
|
49
|
+
description: Label text or HTML by specifying value for either text or html keys.
|
|
50
|
+
- name: text
|
|
51
|
+
type: string
|
|
52
|
+
required: true
|
|
53
|
+
description: If `html` is set, this is not required. Text for the button. If `html` is provided, the `text` argument will be ignored.
|
|
54
|
+
- name: html
|
|
55
|
+
type: string
|
|
56
|
+
required: true
|
|
57
|
+
description: If `text` is set, this is not required. HTML for the button. If `html` is provided, the `text` argument will be ignored.
|
|
58
|
+
- name: classes
|
|
59
|
+
type: string
|
|
60
|
+
required: false
|
|
61
|
+
description: Classes to add to the element that acts as label.
|
|
62
|
+
- name: items
|
|
63
|
+
type: array
|
|
64
|
+
required: true
|
|
65
|
+
description: Array of items objects.
|
|
66
|
+
params:
|
|
67
|
+
- name: text
|
|
68
|
+
type: string
|
|
69
|
+
required: true
|
|
70
|
+
description: If `html` is set, this is not required. Text to use within each item. If `html` is provided, the `text` argument will be ignored.
|
|
71
|
+
- name: html
|
|
72
|
+
type: string
|
|
73
|
+
required: true
|
|
74
|
+
description: If `text` is set, this is not required. HTML to use within each item. If `html` is provided, the `text` argument will be ignored.
|
|
75
|
+
- name: id
|
|
76
|
+
type: string
|
|
77
|
+
required: false
|
|
78
|
+
description: Specific id attribute for the item. If omitted, then idPrefix option will be applied.
|
|
79
|
+
- name: active
|
|
80
|
+
type: boolean
|
|
81
|
+
required: false
|
|
82
|
+
description: If true, item will be active.
|
|
83
|
+
- name: classes
|
|
84
|
+
type: string
|
|
85
|
+
required: false
|
|
86
|
+
description: Classes to add to the item.
|
|
87
|
+
- name: attributes
|
|
88
|
+
type: object
|
|
89
|
+
required: false
|
|
90
|
+
description: HTML attributes (for example data attributes) to add to the item.
|
|
42
91
|
- name: items
|
|
43
92
|
type: array
|
|
44
93
|
required: true
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
5
|
@layer components {
|
|
6
|
+
.c-radios--base {
|
|
7
|
+
input[type="radio"] {
|
|
8
|
+
@apply w-6;
|
|
9
|
+
@apply h-6;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
6
13
|
.c-radios--sm {
|
|
7
14
|
input[type="radio"] {
|
|
8
15
|
@apply w-base !important;
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
visuallyHiddenText: params.errorMessage.visuallyHiddenText
|
|
44
44
|
}) | indent(2) | trim }}
|
|
45
45
|
{% endif %}
|
|
46
|
-
<div
|
|
46
|
+
<div class="c-radios {%- if params.classes %} {{ params.classes }}{% endif %}"
|
|
47
47
|
{%- for attribute, value in params.attributes %} {{ attribute }}="{{ value }}"{% endfor %}>
|
|
48
48
|
{% for item in params.items %}
|
|
49
49
|
{% if item %}
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
<div>
|
|
69
69
|
<div class="relative flex items-start py-base">
|
|
70
70
|
<div class="flex items-center mx-sm">
|
|
71
|
-
<input
|
|
71
|
+
<input class="w-6 h-6 text-primary-base transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-base disabled:border-neutral-base text-primary-base" id="{{ id }}" name="{{ params.name }}" type="radio" value="{{ item.value }}"
|
|
72
72
|
{{-" checked" if item.checked }}
|
|
73
73
|
{{-" disabled" if item.disabled }}
|
|
74
74
|
{%- if item.conditional.html %} data-aria-controls="{{ conditionalId }}"{% endif -%}
|
|
@@ -97,11 +97,7 @@
|
|
|
97
97
|
</div>
|
|
98
98
|
</div>
|
|
99
99
|
{% if item.conditional.html %}
|
|
100
|
-
<div
|
|
101
|
-
x-transition:enter="transition ease-out duration-100 transform"
|
|
102
|
-
x-transition:enter-start="opacity-0 scale-95"
|
|
103
|
-
x-transition:enter-end="opacity-100 scale-100"
|
|
104
|
-
class="mb-lg ml-5 pt-sm pb-base pl-6 origin-top-left border-l-2 border-primary-base" id="{{ conditionalId }}">
|
|
100
|
+
<div class="mb-lg ml-5 pt-sm pb-base pl-6 origin-top-left border-l-2 border-primary-base" id="{{ conditionalId }}">
|
|
105
101
|
{{ item.conditional.html | safe }}
|
|
106
102
|
</div>
|
|
107
103
|
{% endif %}
|
|
@@ -129,4 +125,4 @@
|
|
|
129
125
|
{{ innerHtml | trim | safe }}
|
|
130
126
|
{% endif %}
|
|
131
127
|
</div>
|
|
132
|
-
<!-- /radios -->
|
|
128
|
+
<!-- /radios -->
|
|
@@ -84,10 +84,11 @@
|
|
|
84
84
|
"items": item.select.items,
|
|
85
85
|
"describedBy": idHeader,
|
|
86
86
|
"disabled": item.select.disabled,
|
|
87
|
-
"classes": item.select.classes if item.select.classes else "c-select--sm w-full",
|
|
87
|
+
"classes": item.select.classes if item.select.classes else "c-select--sm w-full mt-0",
|
|
88
88
|
"attributes": item.select.attributes
|
|
89
89
|
}) }}
|
|
90
90
|
{% endif %}
|
|
91
|
+
{% if item.select and item.hasFilter %}<div class="pb-sm"></div>{% endif %}
|
|
91
92
|
{% if item.hasFilter %}
|
|
92
93
|
{{ componentSearchbar({
|
|
93
94
|
"formGroup": {
|
|
@@ -114,14 +115,14 @@
|
|
|
114
115
|
{% for row in params.rows %}
|
|
115
116
|
{%- set idCheckbox = idPrefix + "-checkbox-" + loop.index0 -%}
|
|
116
117
|
{% if row %}
|
|
117
|
-
<tr
|
|
118
|
+
<tr class="border-t border-b border-neutral-base hover:bg-neutral-lighter">
|
|
118
119
|
{% if params.hasCheckboxes %}
|
|
119
120
|
<td class="px-base py-sm {%- if params.checkboxesClasses %} {{ params.checkboxesClasses }}{% endif %}" tabindex="-1">
|
|
120
121
|
<div class="c-checkboxes c-checkboxes--sm">
|
|
121
122
|
<div>
|
|
122
123
|
<div class="relative flex items-start">
|
|
123
124
|
<div class="flex items-center mx-sm">
|
|
124
|
-
<input
|
|
125
|
+
<input class="w-6 h-6 transition duration-150 ease-in-out border-black focus:border-black focus:shadow-outline-focus-input focus:ring-4 focus:ring-offset-0 focus:ring-warning-base disabled:bg-neutral-light disabled:border-neutral-base text-primary-base" id="{{ idCheckbox }}" name="{{ idCheckbox }}" type="checkbox" value="table-checkbox">
|
|
125
126
|
</div>
|
|
126
127
|
<div class="pt-0.5 leading-5">
|
|
127
128
|
<label class="sr-only block text-sm -mt-1" for="{{ idCheckbox }}">Selecciona fila {{ loop.index + 1 }}</label>
|
|
@@ -161,4 +162,4 @@
|
|
|
161
162
|
{% else %}
|
|
162
163
|
{{ innerHtml | trim | safe }}
|
|
163
164
|
{% endif %}
|
|
164
|
-
<!-- /table-advanced -->
|
|
165
|
+
<!-- /table-advanced -->
|
|
@@ -135,6 +135,40 @@
|
|
|
135
135
|
]
|
|
136
136
|
}
|
|
137
137
|
},
|
|
138
|
+
{
|
|
139
|
+
"name": "with active item",
|
|
140
|
+
"data": {
|
|
141
|
+
"tablistAriaLabel": "Tab example",
|
|
142
|
+
"idPrefix": "tab-example-active",
|
|
143
|
+
"items": [
|
|
144
|
+
{
|
|
145
|
+
"text": "Tab 1",
|
|
146
|
+
"panel": {
|
|
147
|
+
"html": "<p><strong>Panel 1</strong>. Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio?</p>"
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"text": "Tab 2",
|
|
152
|
+
"active": true,
|
|
153
|
+
"panel": {
|
|
154
|
+
"html": "<p><strong>Panel 2</strong>. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio? Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur.</p>"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"text": "Tab 3",
|
|
159
|
+
"panel": {
|
|
160
|
+
"html": "<p><strong>Panel 3</strong>. Provident animi dolor veniam, et quas consequuntur. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio? Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur.</p>"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"text": "Tab 4",
|
|
165
|
+
"panel": {
|
|
166
|
+
"html": "<p><strong>Panel 4</strong>. Reiciendis eius in, nostrum porro? Quaerat, temporibus, optio? Lorem ipsum dolor sit, amet, consectetur adipisicing elit. Est quis exercitationem, nesciunt nulla quisquam temporibus. Provident animi dolor veniam, et quas consequuntur.</p>"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
},
|
|
138
172
|
{
|
|
139
173
|
"name": "with classes applied",
|
|
140
174
|
"description": "Show code to display the classes applied in html",
|
|
@@ -233,4 +267,4 @@
|
|
|
233
267
|
]
|
|
234
268
|
}
|
|
235
269
|
}
|
|
236
|
-
] %}
|
|
270
|
+
] %}
|
|
@@ -7,21 +7,4 @@
|
|
|
7
7
|
@apply -mb-0.5;
|
|
8
8
|
}
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
.c-tabs__link {
|
|
12
|
-
&[aria-selected="true"] {
|
|
13
|
-
@apply lg:bg-white;
|
|
14
|
-
@apply lg:border-neutral-base;
|
|
15
|
-
@apply lg:border-b-0;
|
|
16
|
-
@apply lg:rounded-t;
|
|
17
|
-
@apply no-underline;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
&:focus span{
|
|
21
|
-
@apply bg-warning-base;
|
|
22
|
-
@apply shadow-outline-focus;
|
|
23
|
-
@apply text-black;
|
|
24
|
-
@apply outline-none;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
10
|
}
|
|
@@ -23,12 +23,12 @@
|
|
|
23
23
|
{% if item %}
|
|
24
24
|
{% set id = item.id if item.id else idPrefix + "-" + loop.index %}
|
|
25
25
|
{% set tabPanelId = "tab-" + id %}
|
|
26
|
-
<button class="c-tabs__link relative flex items-center py-sm lg:px-lg lg:py-base border
|
|
27
|
-
{%- if item.disabled %} opacity-50 pointer-events-none{% endif -%}"
|
|
26
|
+
<button class="c-tabs__link group relative flex items-center py-sm lg:px-lg lg:py-base border text-black hover:text-primary-base underline truncate focus:outline-none border-transparent
|
|
27
|
+
{%- if item.disabled %} opacity-50 pointer-events-none{% endif -%} {%- if item.active %} c-tabs__link--is-active{% endif %}"
|
|
28
28
|
role="tab" aria-selected="{% if loop.index == 1 %}true{% else %}false{% endif %}" aria-controls="{{ tabPanelId }}" id="{{ id }}" {%- if loop.index > 1 or item.disabled %} tabindex="-1"{% endif %}
|
|
29
29
|
{%- if item.disabled %} disabled="disabled" aria-disabled="true"{% endif -%}
|
|
30
30
|
{%- for attribute, value in item.attributes %} {{attribute}}="{{value}}"{% endfor %}>
|
|
31
|
-
<span class="flex items-center pointer-events-none">
|
|
31
|
+
<span class="flex items-center pointer-events-none group-focus:bg-warning-base group-focus:shadow-outline-focus group-focus:outline-none">
|
|
32
32
|
{{ item.html | safe if item.html else item.text }}
|
|
33
33
|
</span>
|
|
34
34
|
</button>
|
|
@@ -65,4 +65,4 @@
|
|
|
65
65
|
{% endif %}
|
|
66
66
|
{% endfor %}
|
|
67
67
|
</div>
|
|
68
|
-
<!-- /tabs -->
|
|
68
|
+
<!-- /tabs -->
|