@ilo-org/twig 0.17.0 → 0.17.1
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/dist/components/accordion/accordion.behavior.js +1 -0
- package/dist/components/accordion/accordion.css +1 -0
- package/dist/components/accordion/accordion.twig +16 -0
- package/dist/components/accordion/accordion.wingsuit.yml +77 -0
- package/dist/components/accordion-item/accordion-item.twig +22 -0
- package/dist/components/breadcrumb/breadcrumb.behavior.js +1 -0
- package/dist/components/breadcrumb/breadcrumb.css +1 -0
- package/dist/components/breadcrumb/breadcrumb.twig +43 -0
- package/dist/components/breadcrumb/breadcrumb.wingsuit.yml +36 -0
- package/dist/components/button/button.css +1 -0
- package/dist/components/button/button.twig +23 -0
- package/dist/components/button/button.wingsuit.yml +114 -0
- package/dist/components/callout/callout.behavior.js +1 -0
- package/dist/components/callout/callout.css +1 -0
- package/dist/components/callout/callout.twig +41 -0
- package/dist/components/callout/callout.wingsuit.yml +72 -0
- package/dist/components/card/card.css +1 -0
- package/dist/components/card/card.twig +24 -0
- package/dist/components/card/card.wingsuit.yml +227 -0
- package/dist/components/card_data/card_data.twig +101 -0
- package/dist/components/card_data/card_data.wingsuit.yml +135 -0
- package/dist/components/card_detail/card_detail.twig +37 -0
- package/dist/components/card_detail/card_detail.wingsuit.yml +71 -0
- package/dist/components/card_factlist/card_factlist.twig +21 -0
- package/dist/components/card_factlist/card_factlist.wingsuit.yml +46 -0
- package/dist/components/card_feature/card_feature.twig +39 -0
- package/dist/components/card_feature/card_feature.wingsuit.yml +80 -0
- package/dist/components/card_multilink/card_multilink.twig +45 -0
- package/dist/components/card_multilink/card_multilink.wingsuit.yml +91 -0
- package/dist/components/card_promo/card_promo.twig +35 -0
- package/dist/components/card_promo/card_promo.wingsuit.yml +71 -0
- package/dist/components/card_stat/card_stat.twig +24 -0
- package/dist/components/card_stat/card_stat.wingsuit.yml +44 -0
- package/dist/components/card_text/card_text.twig +35 -0
- package/dist/components/card_text/card_text.wingsuit.yml +57 -0
- package/dist/components/cardgroup/cardgroup.css +1 -0
- package/dist/components/cardgroup/cardgroup.twig +46 -0
- package/dist/components/cardgroup/cardgroup.wingsuit.yml +158 -0
- package/dist/components/checkbox/checkbox.css +1 -0
- package/dist/components/checkbox/checkbox.twig +17 -0
- package/dist/components/checkbox/checkbox.wingsuit.yml +83 -0
- package/dist/components/container/container.css +1 -0
- package/dist/components/contextmenu/contextmenu.css +1 -0
- package/dist/components/contextmenu/contextmenu.twig +12 -0
- package/dist/components/contextmenu/contextmenu.wingsuit.yml +24 -0
- package/dist/components/credit/credit.css +1 -0
- package/dist/components/datacard/datacard.css +1 -0
- package/dist/components/datepicker/datepicker.css +1 -0
- package/dist/components/datepicker/datepicker.twig +20 -0
- package/dist/components/datepicker/datepicker.wingsuit.yml +72 -0
- package/dist/components/detailcard/detailcard.css +1 -0
- package/dist/components/dropdown/dropdown.css +1 -0
- package/dist/components/dropdown/dropdown.twig +22 -0
- package/dist/components/dropdown/dropdown.wingsuit.yml +100 -0
- package/dist/components/empty/empty.css +1 -0
- package/dist/components/factlistcard/factlistcard.css +1 -0
- package/dist/components/featurecard/featurecard.css +1 -0
- package/dist/components/fieldset/fieldset.css +1 -0
- package/dist/components/fieldset/fieldset.twig +70 -0
- package/dist/components/file-upload/file-upload.css +1 -0
- package/dist/components/fileupload/fileupload.behavior.js +1 -0
- package/dist/components/fileupload/fileupload.twig +20 -0
- package/dist/components/fileupload/fileupload.wingsuit.yml +94 -0
- package/dist/components/footer/footer.css +1 -0
- package/dist/components/footer/footer.twig +63 -0
- package/dist/components/footer/footer.wingsuit.yml +106 -0
- package/dist/components/form/form.css +1 -0
- package/dist/components/form/form.twig +19 -0
- package/dist/components/form/form.wingsuit.yml +205 -0
- package/dist/components/formcontrol/formcontrol.css +1 -0
- package/dist/components/formcontrol/formcontrol.twig +89 -0
- package/dist/components/heading/heading.css +1 -0
- package/dist/components/hero/hero.css +1 -0
- package/dist/components/hero/hero.twig +65 -0
- package/dist/components/hero/hero.wingsuit.yml +182 -0
- package/dist/components/herocard/herocard.css +1 -0
- package/dist/components/herocard/herocard.twig +30 -0
- package/dist/components/herocard/herocard.wingsuit.yml +71 -0
- package/dist/components/icon/icon.behavior.js +1 -0
- package/dist/components/icon/icon.css +1 -0
- package/dist/components/icon/icon.twig +4 -0
- package/dist/components/icon/icon.wingsuit.yml +29 -0
- package/dist/components/image/image.css +1 -0
- package/dist/components/image/image.twig +29 -0
- package/dist/components/image/image.wingsuit.yml +57 -0
- package/dist/components/input/input.css +1 -0
- package/dist/components/input/input.twig +10 -0
- package/dist/components/link/link.css +1 -0
- package/dist/components/link/link.twig +8 -0
- package/dist/components/link/link.wingsuit.yml +36 -0
- package/dist/components/linklist/linklist.behavior.js +1 -0
- package/dist/components/linklist/linklist.css +1 -0
- package/dist/components/linklist/linklist.twig +26 -0
- package/dist/components/linklist/linklist.wingsuit.yml +55 -0
- package/dist/components/list/list.css +1 -0
- package/dist/components/list/list.twig +35 -0
- package/dist/components/list/list.wingsuit.yml +60 -0
- package/dist/components/list-item/list-item.twig +6 -0
- package/dist/components/list-item/list-item.wingsuit.yml +19 -0
- package/dist/components/loading/loading.behavior.js +1 -0
- package/dist/components/loading/loading.css +1 -0
- package/dist/components/loading/loading.twig +8 -0
- package/dist/components/loading/loading.wingsuit.yml +39 -0
- package/dist/components/localnav/localnav.twig +86 -0
- package/dist/components/localnav/localnav.wingsuit.yml +88 -0
- package/dist/components/logo/logo.css +1 -0
- package/dist/components/logogrid/logogrid.css +1 -0
- package/dist/components/logogrid/logogrid.twig +17 -0
- package/dist/components/logogrid/logogrid.wingsuit.yml +45 -0
- package/dist/components/modal/modal.behavior.js +1 -0
- package/dist/components/modal/modal.css +1 -0
- package/dist/components/modal/modal.twig +20 -0
- package/dist/components/modal/modal.wingsuit.yml +61 -0
- package/dist/components/multilinkcard/multilinkcard.css +1 -0
- package/dist/components/navigation/navigation.behavior.js +1 -0
- package/dist/components/navigation/navigation.css +1 -0
- package/dist/components/navigation/navigation.twig +171 -0
- package/dist/components/navigation/navigation.wingsuit.yml +126 -0
- package/dist/components/notification/notification.behavior.js +1 -0
- package/dist/components/notification/notification.css +1 -0
- package/dist/components/notification/notification.twig +18 -0
- package/dist/components/notification/notification.wingsuit.yml +59 -0
- package/dist/components/numberpicker/numberpicker.twig +16 -0
- package/dist/components/numberpicker/numberpicker.wingsuit.yml +91 -0
- package/dist/components/pagination/pagination.css +1 -0
- package/dist/components/pagination/pagination.twig +49 -0
- package/dist/components/pagination/pagination.wingsuit.yml +75 -0
- package/dist/components/picture/picture.twig +21 -0
- package/dist/components/polyfill/polyfill.twig +10 -0
- package/dist/components/profile/profile.css +1 -0
- package/dist/components/profile/profile.twig +26 -0
- package/dist/components/profile/profile.wingsuit.yml +46 -0
- package/dist/components/promocard/promocard.css +1 -0
- package/dist/components/radio/radio.css +1 -0
- package/dist/components/radio/radio.twig +23 -0
- package/dist/components/radio/radio.wingsuit.yml +83 -0
- package/dist/components/readmore/readmore.behavior.js +1 -0
- package/dist/components/readmore/readmore.css +1 -0
- package/dist/components/readmore/readmore.twig +16 -0
- package/dist/components/readmore/readmore.wingsuit.yml +37 -0
- package/dist/components/richtext/richtext.css +1 -0
- package/dist/components/richtext/richtext.twig +6 -0
- package/dist/components/richtext/richtext.wingsuit.yml +13 -0
- package/dist/components/search/search.behavior.js +1 -0
- package/dist/components/search/search.twig +31 -0
- package/dist/components/search/search.wingsuit.yml +89 -0
- package/dist/components/searchfield/searchfield.css +1 -0
- package/dist/components/socialmedia/socialmedia.css +1 -0
- package/dist/components/socialmedia/socialmedia.twig +17 -0
- package/dist/components/socialmedia/socialmedia.wingsuit.yml +59 -0
- package/dist/components/statcard/statcard.css +1 -0
- package/dist/components/table/table.behavior.js +1 -0
- package/dist/components/table/table.css +1 -0
- package/dist/components/table/table.twig +39 -0
- package/dist/components/table/table.wingsuit.yml +112 -0
- package/dist/components/tableofcontents/tableofcontents.behavior.js +1 -0
- package/dist/components/tableofcontents/tableofcontents.css +1 -0
- package/dist/components/tableofcontents/tableofcontents.twig +47 -0
- package/dist/components/tableofcontents/tableofcontents.wingsuit.yml +44 -0
- package/dist/components/tabs/tabs.behavior.js +1 -0
- package/dist/components/tabs/tabs.css +1 -0
- package/dist/components/tabs/tabs.twig +26 -0
- package/dist/components/tabs/tabs.wingsuit.yml +169 -0
- package/dist/components/tag/tag.behavior.js +1 -0
- package/dist/components/tag/tag.css +1 -0
- package/dist/components/tag/tag.twig +30 -0
- package/dist/components/tag/tag.wingsuit.yml +43 -0
- package/dist/components/tags/tags.twig +15 -0
- package/dist/components/tags/tags.wingsuit.yml +45 -0
- package/dist/components/textarea/textarea.css +1 -0
- package/dist/components/textarea/textarea.twig +14 -0
- package/dist/components/textarea/textarea.wingsuit.yml +126 -0
- package/dist/components/textcard/textcard.css +1 -0
- package/dist/components/textinput/textinput.css +1 -0
- package/dist/components/textinput/textinput.twig +14 -0
- package/dist/components/textinput/textinput.wingsuit.yml +86 -0
- package/dist/components/toggle/toggle.css +1 -0
- package/dist/components/toggle/toggle.twig +36 -0
- package/dist/components/toggle/toggle.wingsuit.yml +94 -0
- package/dist/components/tooltip/tooltip.behavior.js +1 -0
- package/dist/components/tooltip/tooltip.css +1 -0
- package/dist/components/tooltip/tooltip.twig +14 -0
- package/dist/components/tooltip/tooltip.wingsuit.yml +53 -0
- package/dist/components/video/video.behavior.js +16 -0
- package/dist/components/video/video.css +1 -0
- package/dist/components/video/video.twig +18 -0
- package/dist/components/video/video.wingsuit.yml +82 -0
- package/dist/components/videoplayer/videoplayer.twig +8 -0
- package/dist/global/styles.css +2 -0
- package/package.json +13 -9
- package/.browserslistrc +0 -4
- package/.eslintrc.js +0 -25
- package/.stylelintignore +0 -9
- package/.stylelintrc +0 -19
- package/.turbo/turbo-build:lib.log +0 -71
- package/CHANGELOG.md +0 -1036
- package/apps/storybook/assets.js +0 -10
- package/apps/storybook/main.js +0 -27
- package/apps/storybook/manager-head.html +0 -92
- package/apps/storybook/manager.js +0 -7
- package/apps/storybook/patterns/colors.stories.mdx +0 -23
- package/apps/storybook/patterns/intro.stories.mdx +0 -184
- package/apps/storybook/patterns/typeset.stories.mdx +0 -32
- package/apps/storybook/patterns/welcome.stories.mdx +0 -33
- package/apps/storybook/preview-body.html +0 -4
- package/apps/storybook/preview-head.html +0 -5
- package/apps/storybook/preview.js +0 -36
- package/apps/storybook/styles.scss +0 -25
- package/apps/storybook/theme.js +0 -46
- package/apps/storybook/welcome.scss +0 -131
- package/babel.config.js +0 -16
- package/copystyles.js +0 -16
- package/copytemplates.js +0 -27
- package/images/fao-logo.svg +0 -195
- package/images/favicon.ico +0 -0
- package/images/hero.jpg +0 -0
- package/images/ilo-dg.jpg +0 -0
- package/images/ilo-headquarters.jpg +0 -0
- package/images/large.jpg +0 -0
- package/images/logo_en_horizontal_blue.svg +0 -893
- package/images/media-file-poster.jpg +0 -0
- package/images/medium.jpg +0 -0
- package/images/publication.jpg +0 -0
- package/images/small.jpg +0 -0
- package/images/twig.svg +0 -6
- package/images/unhcr-logo.svg +0 -1
- package/images/unicef-logo.png +0 -0
- package/images/video-example.mp4 +0 -0
- package/images/wfp-logo.svg +0 -1
- package/images/who-logo.svg +0 -1
- package/images/youtube-video-poster.avif +0 -0
- package/importprefix.js +0 -20
- package/importsvgs.js +0 -5
- package/jest.config.js +0 -18
- package/postcss.config.js +0 -6
- package/rollup.config.js +0 -31
- package/wingsuit.config.js +0 -28
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
{#
|
|
2
|
+
PAGINATION COMPONENT
|
|
3
|
+
#}
|
|
4
|
+
<div class="ilo--pagination icon icon--{{type}}">
|
|
5
|
+
<div class="ilo--pagination--previous-set">
|
|
6
|
+
<a
|
|
7
|
+
class="ilo--pagination--first-page ilo--pagination--link {% if currentPage == 0 %}ilo--pagination--disable{% endif %}"
|
|
8
|
+
href="{{ firstPageUrl }}"
|
|
9
|
+
title="{{ firstPageTitle }}"
|
|
10
|
+
>
|
|
11
|
+
{{ firstPageTitle }}
|
|
12
|
+
</a>
|
|
13
|
+
|
|
14
|
+
<a
|
|
15
|
+
class="ilo--pagination--prev-page ilo--pagination--link {% if currentPage == 0 %}ilo--pagination--disable{% endif %}"
|
|
16
|
+
href="{{ prevPageUrl }}"
|
|
17
|
+
title="{{ prevPageTitle }}"
|
|
18
|
+
>
|
|
19
|
+
{{ prevPageTitle }}
|
|
20
|
+
</a>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<p class="ilo--pagination--page">
|
|
24
|
+
{% set currentPageZeroIndex = currentPage * 1 %}
|
|
25
|
+
{% set currentPageIndex = currentPageZeroIndex + 1 %}
|
|
26
|
+
|
|
27
|
+
<span>{{currentPageIndex}}</span>
|
|
28
|
+
<span>{{pageCountPreposition}}</span>
|
|
29
|
+
<span>{{totalPages}}</span>
|
|
30
|
+
</p>
|
|
31
|
+
|
|
32
|
+
<div class="ilo--next-set">
|
|
33
|
+
<a
|
|
34
|
+
class="ilo--pagination--next-page ilo--pagination--link {% if currentPageIndex == totalPages %}ilo--pagination--disable{% endif %}"
|
|
35
|
+
href="{{ nextPageUrl }}"
|
|
36
|
+
title="{{ nextPageTitle }}"
|
|
37
|
+
>
|
|
38
|
+
{{ nextPageTitle }}
|
|
39
|
+
</a>
|
|
40
|
+
|
|
41
|
+
<a
|
|
42
|
+
class="ilo--pagination--last-page ilo--pagination--link {% if currentPageIndex == totalPages %}ilo--pagination--disable{% endif %}"
|
|
43
|
+
href="{{ lastPageUrl }}"
|
|
44
|
+
title="{{ lastPageTitle }}"
|
|
45
|
+
>
|
|
46
|
+
{{ lastPageTitle }}
|
|
47
|
+
</a>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
pagination:
|
|
2
|
+
namespace: Components/Navigation
|
|
3
|
+
use: "@components/pagination/pagination.twig"
|
|
4
|
+
label: Pagination
|
|
5
|
+
description: The Pagination component breaks content into pages for easier navigation with intuitive controls like 'Previous' and 'Next' buttons.
|
|
6
|
+
fields:
|
|
7
|
+
currentPage:
|
|
8
|
+
type: numeric
|
|
9
|
+
label: Current page
|
|
10
|
+
description: current page number that the user is on, zero-indexed
|
|
11
|
+
required: true
|
|
12
|
+
preview: 0
|
|
13
|
+
escape: false
|
|
14
|
+
firstPageUrl:
|
|
15
|
+
type: string
|
|
16
|
+
label: First Page link
|
|
17
|
+
description: Link to the first page
|
|
18
|
+
required: true
|
|
19
|
+
preview: "http://www.google.com?s=first"
|
|
20
|
+
firstPageTitle:
|
|
21
|
+
type: string
|
|
22
|
+
label: First Page Title
|
|
23
|
+
description: Title label for the first page
|
|
24
|
+
required: true
|
|
25
|
+
preview: "First"
|
|
26
|
+
lastPageUrl:
|
|
27
|
+
type: string
|
|
28
|
+
label: Last Page link
|
|
29
|
+
description: Link to the last page
|
|
30
|
+
required: true
|
|
31
|
+
preview: "http://www.google.com?s=last"
|
|
32
|
+
lastPageTitle:
|
|
33
|
+
type: string
|
|
34
|
+
label: Last Page Title
|
|
35
|
+
description: Title label for the last page
|
|
36
|
+
required: true
|
|
37
|
+
preview: "Last"
|
|
38
|
+
nextPageUrl:
|
|
39
|
+
type: string
|
|
40
|
+
label: Next Page link
|
|
41
|
+
description: Link to the next page
|
|
42
|
+
required: true
|
|
43
|
+
preview: "http://www.google.com?s=next"
|
|
44
|
+
nextPageTitle:
|
|
45
|
+
type: string
|
|
46
|
+
label: Next Page Title
|
|
47
|
+
description: Title label for the next page
|
|
48
|
+
required: true
|
|
49
|
+
preview: "Next"
|
|
50
|
+
prevPageUrl:
|
|
51
|
+
type: string
|
|
52
|
+
label: Prev Page link
|
|
53
|
+
description: Link to the prev page
|
|
54
|
+
required: true
|
|
55
|
+
preview: "http://www.google.com?s=prev"
|
|
56
|
+
prevPageTitle:
|
|
57
|
+
type: string
|
|
58
|
+
label: Prev Page Title
|
|
59
|
+
description: Title label for the prev page
|
|
60
|
+
required: true
|
|
61
|
+
preview: "Previous"
|
|
62
|
+
pageCountPreposition:
|
|
63
|
+
type: string
|
|
64
|
+
label: Page Count Preposition
|
|
65
|
+
description: Linking word for the page count
|
|
66
|
+
required: true
|
|
67
|
+
preview: "of"
|
|
68
|
+
totalPages:
|
|
69
|
+
type: numeric
|
|
70
|
+
label: Total Pages
|
|
71
|
+
description: The number of total pages
|
|
72
|
+
required: true
|
|
73
|
+
preview: 8
|
|
74
|
+
escape: false
|
|
75
|
+
visibility: storybook
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{#
|
|
2
|
+
PICTURE COMPONENT
|
|
3
|
+
#}
|
|
4
|
+
{% if image.url is iterable %}
|
|
5
|
+
<picture>
|
|
6
|
+
{% for img in image.url|reverse %}
|
|
7
|
+
{% if loop.length == 1 or loop.last == false %}
|
|
8
|
+
{% if img.breakpoint matches '/^\\d+$/' %}
|
|
9
|
+
<source srcset="{{img.src}}" media="(min-width: {{img.breakpoint}}px)">
|
|
10
|
+
{% else %}
|
|
11
|
+
<source srcset="{{img.src}}" media="{{img.breakpoint}}">
|
|
12
|
+
{% endif %}
|
|
13
|
+
{% endif %}
|
|
14
|
+
{% endfor %}
|
|
15
|
+
<img class="ilo--{{class}}--picture" src="{{image.url|reverse|last.src}}" alt="{{image.alt}}" {% if image.loading %} loading="{{ image.loading }}" {% endif %}>
|
|
16
|
+
</picture>
|
|
17
|
+
{% else %}
|
|
18
|
+
<picture>
|
|
19
|
+
<img class="ilo--{{class}}--picture" src="{{image.url}}" alt="{{image.alt}}" {% if image.loading %} loading="{{ image.loading }}" {% endif %}>
|
|
20
|
+
</picture>
|
|
21
|
+
{% endif %}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
{#
|
|
2
|
+
POLYFILL COMPONENT
|
|
3
|
+
|
|
4
|
+
This component is specifically to make this polyfill work correctly in Wingsuit. To use this in the context of Drupal, Wordpress, etc, consider using the approach documented at https://github.com/GoogleChromeLabs/container-query-polyfill
|
|
5
|
+
#}
|
|
6
|
+
<script>
|
|
7
|
+
if (!("container" in document.documentElement.style)) {
|
|
8
|
+
import("https://unpkg.com/container-query-polyfill@^0.2.0");
|
|
9
|
+
}
|
|
10
|
+
</script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.ilo--profile{display:grid;grid-template-columns:min-content 1fr;grid-template-rows:minmax(64px,auto) auto;max-width:18.3815648446rem;width:100%}.ilo--profile--avatar{grid-row:1;border-radius:50%}.ilo--profile figcaption{grid-row:1;grid-column-end:-1}.ilo--profile--figcaption--content,.ilo--profile figcaption{box-sizing:border-box;display:flex;flex-flow:column;justify-content:center;align-items:start}.ilo--profile--figcaption--content{width:100%;position:relative}.ilo--profile--figcaption--content:after{content:"";position:absolute;bottom:-12px;width:100%;border-bottom:2px solid #edf0f2}.ilo--profile--name{font-family:Overpass,Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif}.ilo--profile--description,.ilo--profile--role{font-family:Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif}.ilo--profile--description{grid-row:2;grid-column:1/-1}.ilo--profile--link{font-family:Overpass,Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;grid-column:1/-1}.ilo--profile--link a{text-decoration:none;color:#230050;display:inline-block}.ilo--profile--link--label{display:flex;flex-flow:row nowrap;align-items:center}.ilo--profile--link--label:after{position:relative;bottom:.0535905681rem;height:1.2861736334rem;width:1.2861736334rem;margin-inline-start:.4287245445rem;content:"";background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23230050' d='M8.638 19.996l-.988-.988L14.657 12 7.65 4.992l.988-.989 7.505 7.5a.702.702 0 0 1 0 .995l-7.505 7.498z'/%3E%3C/svg%3E")}[dir=rtl] .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23230050' d='M7.9 12.5l-.2-.2c0-.1-.1-.2-.1-.3s0-.2.1-.3c0-.1.1-.2.2-.2L15.4 4l1 1-7 7 7 7-1 1-7.5-7.5z'/%3E%3C/svg%3E")}.ilo--profile--link a:focus .ilo--profile--link--label,.ilo--profile--link a:hover .ilo--profile--link--label{color:#1e2dbe;outline:0}.ilo--profile--link a:focus .ilo--profile--link--label:after,.ilo--profile--link a:hover .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E2DBE' d='M8.638 19.996l-.988-.988L14.657 12 7.65 4.992l.988-.989 7.505 7.5a.702.702 0 0 1 0 .995l-7.505 7.498z'/%3E%3C/svg%3E")}[dir=rtl] .ilo--profile--link a:focus .ilo--profile--link--label:after,[dir=rtl] .ilo--profile--link a:hover .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E2DBE' d='M7.9 12.5l-.2-.2c0-.1-.1-.2-.1-.3s0-.2.1-.3c0-.1.1-.2.2-.2L15.4 4l1 1-7 7 7 7-1 1-7.5-7.5z'/%3E%3C/svg%3E")}.ilo--profile__theme__dark{color:#edf0f2}.ilo--profile__theme__dark .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EDF0F2' d='M8.638 19.996l-.988-.988L14.657 12 7.65 4.992l.988-.989 7.505 7.5a.702.702 0 0 1 0 .995l-7.505 7.498z'/%3E%3C/svg%3E")}[dir=rtl] .ilo--profile__theme__dark .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EDF0F2' d='M7.9 12.5l-.2-.2c0-.1-.1-.2-.1-.3s0-.2.1-.3c0-.1.1-.2.2-.2L15.4 4l1 1-7 7 7 7-1 1-7.5-7.5z'/%3E%3C/svg%3E")}.ilo--profile__theme__dark .ilo--profile--link a{color:#edf0f2}.ilo--profile__theme__dark .ilo--profile--link a:focus .ilo--profile--link--label,.ilo--profile__theme__dark .ilo--profile--link a:hover .ilo--profile--link--label{color:#05d2d2;outline:0}.ilo--profile__theme__dark .ilo--profile--link a:focus .ilo--profile--link--label:after,.ilo--profile__theme__dark .ilo--profile--link a:hover .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2305D2D2' d='M8.638 19.996l-.988-.988L14.657 12 7.65 4.992l.988-.989 7.505 7.5a.702.702 0 0 1 0 .995l-7.505 7.498z'/%3E%3C/svg%3E")}[dir=rtl] .ilo--profile__theme__dark .ilo--profile--link a:focus .ilo--profile--link--label:after,[dir=rtl] .ilo--profile__theme__dark .ilo--profile--link a:hover .ilo--profile--link--label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2305D2D2' d='M7.9 12.5l-.2-.2c0-.1-.1-.2-.1-.3s0-.2.1-.3c0-.1.1-.2.2-.2L15.4 4l1 1-7 7 7 7-1 1-7.5-7.5z'/%3E%3C/svg%3E")}.ilo--profile__size__large .ilo--profile--avatar{width:3.4297963558rem;height:3.4297963558rem;margin-inline-end:.857449089rem}.ilo--profile__size__large .ilo--profile--name{font-weight:700;font-size:16px;letter-spacing:normal;line-height:23.36px}.ilo--profile__size__large .ilo--profile--description,.ilo--profile__size__large .ilo--profile--role{font-size:14.93px;letter-spacing:normal;line-height:20.3px}.ilo--profile__size__large .ilo--profile--description{padding-block-start:1.0718113612rem}.ilo--profile__size__large .ilo--profile--link{font-size:16px;letter-spacing:normal;line-height:23.36px;padding-block-start:1.2861736334rem}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{# profile.twig #}
|
|
2
|
+
|
|
3
|
+
{% set defaultAlt = "Photo of " ~ name %}
|
|
4
|
+
<figure class="ilo--profile ilo--profile__theme__{{theme|default("light")}} ilo--profile__size__{{size|default("large")}}">
|
|
5
|
+
{% if avatar %}
|
|
6
|
+
<img class="ilo--profile--avatar" src="{{avatar}}" alt="{{alt|default(defaultAlt)}}">
|
|
7
|
+
{% endif %}
|
|
8
|
+
<figcaption>
|
|
9
|
+
<div class="ilo--profile--figcaption--content">
|
|
10
|
+
<div class="ilo--profile--name">{{name}}</div>
|
|
11
|
+
{% if role %}
|
|
12
|
+
<div class="ilo--profile--role">{{role}}</div>
|
|
13
|
+
{% endif %}
|
|
14
|
+
</div>
|
|
15
|
+
</figcaption>
|
|
16
|
+
{% if description %}
|
|
17
|
+
<p class="ilo--profile--description">{{description}}</p>
|
|
18
|
+
{% endif %}
|
|
19
|
+
{% if link and link.url and link.label %}
|
|
20
|
+
<div class="ilo--profile--link">
|
|
21
|
+
<a href={{link.url}} target="__blank" rel="noopener noreferrer">
|
|
22
|
+
<span class="ilo--profile--link--label">{{link.label}}</span>
|
|
23
|
+
</a>
|
|
24
|
+
</div>
|
|
25
|
+
{% endif %}
|
|
26
|
+
</figure>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
profile:
|
|
2
|
+
namespace: Components/Content
|
|
3
|
+
use: "@components/profile/profile.twig"
|
|
4
|
+
label: Profile
|
|
5
|
+
description: The Profile component is used to display information about a person.
|
|
6
|
+
fields:
|
|
7
|
+
avatar:
|
|
8
|
+
type: string
|
|
9
|
+
label: Avatar
|
|
10
|
+
description: The avatar for the profile
|
|
11
|
+
required: true
|
|
12
|
+
preview: "/images/ilo-dg.jpg"
|
|
13
|
+
description:
|
|
14
|
+
type: string
|
|
15
|
+
label: Description
|
|
16
|
+
description: An optional plain-text description (e.g. a short bio)
|
|
17
|
+
preview: "Gilbert F. Houngbo was elected as the ILO’s 11th Director-General by the organization’s Governing Body in March 2022. "
|
|
18
|
+
link:
|
|
19
|
+
type: object
|
|
20
|
+
label: Link
|
|
21
|
+
description: An optional url and label for a link associated with the profile
|
|
22
|
+
preview:
|
|
23
|
+
label: "Learn more"
|
|
24
|
+
url: "https://www.ilo.org"
|
|
25
|
+
name:
|
|
26
|
+
type: string
|
|
27
|
+
label: Name
|
|
28
|
+
description: The name of the person associated with the profile
|
|
29
|
+
preview: "Gilbert F. Houngbo"
|
|
30
|
+
required: true
|
|
31
|
+
role:
|
|
32
|
+
type: string
|
|
33
|
+
label: Role
|
|
34
|
+
description: An optional plain-text field indicating the person's role in the organization
|
|
35
|
+
preview: "ILO Director-General"
|
|
36
|
+
settings:
|
|
37
|
+
theme:
|
|
38
|
+
type: select
|
|
39
|
+
label: Theme
|
|
40
|
+
description: The theme for the profile styles
|
|
41
|
+
required: false
|
|
42
|
+
options:
|
|
43
|
+
light: Light
|
|
44
|
+
dark: Dark
|
|
45
|
+
preview: "light"
|
|
46
|
+
visibility: storybook
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ilo--card--wrapper__type__promo{--max-width:33.9764201501rem}.ilo--card--wrapper__type__promo__size__narrow{--max-width:18.3815648446rem}@media screen and (max-width:609px){.ilo--card--wrapper__type__promo__size__narrow{--max-width:100%}}.ilo--card--wrapper__type__promo__size__standard{--max-width:33.9764201501rem}.ilo--card--wrapper__type__promo__size__wide{--max-width:49.3033226152rem}.ilo--card--wrapper__type__promo__size__fluid{--max-width:100%}.ilo--card__type__promo{padding:2.1436227224rem 1.2861736334rem;width:100%}@media screen and (min-width:610px){.ilo--card__type__promo{padding:2.5723472669rem}}@media screen and (min-width:1024px){.ilo--card__type__promo{padding:3.4297963558rem 3.8585209003rem}}.ilo--card__type__promo .ilo--card--title{margin-bottom:.6430868167rem}.ilo--card__type__promo.ilo--card__size__standard{padding:2.5723472669rem}.ilo--card__type__promo.ilo--card__size__standard.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 87px) 0,100% 48px,100% 100%,0 100%)}[dir=rtl] .ilo--card__type__promo.ilo--card__size__standard.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 87px) 0,100% 48px,100% 100%,0 100%);clip-path:polygon(87px 0,100% 0,100% 100%,0 100%,0 48px)}.ilo--card__type__promo.ilo--card__size__fluid,.ilo--card__type__promo.ilo--card__size__wide{padding:3.4297963558rem 3.8585209003rem}.ilo--card__type__promo.ilo--card__size__fluid.ilo--card__cornercut,.ilo--card__type__promo.ilo--card__size__wide.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 116px) 0,100% 64px,100% 100%,0 100%)}[dir=rtl] .ilo--card__type__promo.ilo--card__size__fluid.ilo--card__cornercut,[dir=rtl] .ilo--card__type__promo.ilo--card__size__wide.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 116px) 0,100% 64px,100% 100%,0 100%);clip-path:polygon(116px 0,100% 0,100% 100%,0 100%,0 64px)}.ilo--card__type__promo.ilo--card__size__narrow{padding:2.1436227224rem 1.2861736334rem}.ilo--card__type__promo.ilo--card__size__narrow.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 72px) 0,100% 40px,100% 100%,0 100%)}[dir=rtl] .ilo--card__type__promo.ilo--card__size__narrow.ilo--card__cornercut{clip-path:polygon(0 0,calc(100% - 72px) 0,100% 40px left,100% 100%,0 100%)}.ilo--card__type__promo.ilo--card__size__narrow .ilo--card--title{font-size:29.16px;letter-spacing:-.035em;line-height:36.45px;margin-bottom:.4287245445rem}@media screen and (min-width:610px){.ilo--card__type__promo.ilo--card__size__narrow .ilo--card--title{font-size:36.45px;letter-spacing:-.035em;line-height:43.74px}}.ilo--card__type__promo.ilo--card__size__narrow .ilo--card--intro{font-size:16px;letter-spacing:normal;line-height:23.36px}.ilo--card__type__promo.ilo--card__theme__light:not(:hover) .ilo--card--title{color:#2d2d2d;transition-property:color;transition-duration:.15s;transition-timing-function:ease-out}.ilo--card__type__promo .ilo--card--title{font-size:29.16px;letter-spacing:-.035em;line-height:36.45px}@media screen and (min-width:610px){.ilo--card__type__promo .ilo--card--title{font-size:36.45px;letter-spacing:-.035em;line-height:43.74px}}.ilo--card__type__promo .ilo--card--intro{font-size:16px;letter-spacing:normal;line-height:23.36px;margin-bottom:1.7148981779rem}@media screen and (min-width:610px){.ilo--card__type__promo .ilo--card--intro{font-size:18.66px;letter-spacing:normal;line-height:27.24px}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ilo--radio{border:none;display:grid;margin:0;position:relative;place-content:center}.ilo--radio,.ilo--radio input{height:1.2861736334rem;width:1.2861736334rem;cursor:pointer}.ilo--radio input{appearance:none;border-radius:50%}.ilo--radio--control:before{border:.2143622722rem solid #b8c4cc;border-radius:50%;height:.9646302251rem;left:.1607717042rem;top:.1607717042rem;width:.9646302251rem;z-index:1}.ilo--radio--control:after,.ilo--radio--control:before{content:"";background-color:#b8c4cc;position:absolute;pointer-events:none}.ilo--radio--control:after{border-radius:50%;height:1.2861736334rem;left:0;top:0;width:1.2861736334rem;z-index:0}input:checked+.ilo--radio--control:before{background-color:#ebf5fd;border-color:#230050}input:checked+.ilo--radio--control:after{background-color:#230050}input:focus+.ilo--radio--control:after{background-color:#ffcd2d}input:disabled+.ilo--radio--control:after,input:disabled+.ilo--radio--control:before{opacity:.45}.ilo--radio__error .ilo--radio--control:after,input:invalid+.ilo--radio--control:after{background-color:#fa3c4b}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{# checkbox.twig #}
|
|
2
|
+
|
|
3
|
+
{% extends "@components/form/formcontrol.twig" %}
|
|
4
|
+
|
|
5
|
+
{% set baseClass = (prefix is defined ? prefix ~ "--radio" : "--radio") %}
|
|
6
|
+
{% set controlClass = baseClass ~ "--control" %}
|
|
7
|
+
|
|
8
|
+
{% set errorClass = baseClass ~ "__error" %}
|
|
9
|
+
|
|
10
|
+
{% set radioClasses = [baseClass, class] %}
|
|
11
|
+
|
|
12
|
+
{% if error is defined and error %}
|
|
13
|
+
{% set radioClasses = radioClasses|merge([errorClass]) %}
|
|
14
|
+
{% endif %}
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
{% block formfield %}
|
|
18
|
+
<div class="{{ radioClasses|join(" ") }}">
|
|
19
|
+
<input id="{{ id is defined ? id : name }}" name="{{ name }}" type="radio" {% if defaultChecked is defined and defaultChecked %} defaultchecked {% endif %} {% if checked is defined and checked %} checked {% endif %} {% if ariaDescribedBy is defined %} aria-describedby="{{ ariaDescribedBy }}" {% endif %} {% if checked is defined and checked %} checked {% endif %} value="{{ value }}" {% if disabled is defined and disabled %} disabled {% endif %} {% if required is defined and required %} required {% endif %}/>
|
|
20
|
+
<span class="{{ controlClass }}"></span>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
{% endblock %}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
radio:
|
|
2
|
+
namespace: Components/Forms
|
|
3
|
+
use: "@components/radio/radio.twig"
|
|
4
|
+
label: Radio
|
|
5
|
+
description: The Radio component provides users with a switch they can use to
|
|
6
|
+
turn a single option on or off or alternate between multiple
|
|
7
|
+
different states.
|
|
8
|
+
visibility: storybook
|
|
9
|
+
fields:
|
|
10
|
+
label:
|
|
11
|
+
type: text
|
|
12
|
+
label: Label
|
|
13
|
+
description: The label for the form element.
|
|
14
|
+
preview: "Do you agree to these terms?"
|
|
15
|
+
tooltip:
|
|
16
|
+
type: string
|
|
17
|
+
description: The tooltip for the form element.
|
|
18
|
+
helper:
|
|
19
|
+
type: text
|
|
20
|
+
label: Helper Text
|
|
21
|
+
description: The helper text for the form element.
|
|
22
|
+
id:
|
|
23
|
+
type: text
|
|
24
|
+
label: ID
|
|
25
|
+
description: The ID of the input.
|
|
26
|
+
name:
|
|
27
|
+
type: text
|
|
28
|
+
label: Name
|
|
29
|
+
description: The name of the input.
|
|
30
|
+
class:
|
|
31
|
+
type: text
|
|
32
|
+
label: Class
|
|
33
|
+
description: The class of the form field.
|
|
34
|
+
preview: radio
|
|
35
|
+
default: ""
|
|
36
|
+
value:
|
|
37
|
+
type: text
|
|
38
|
+
label: Value
|
|
39
|
+
description: The value of the input.
|
|
40
|
+
preview: "1"
|
|
41
|
+
settings:
|
|
42
|
+
defaultSelected:
|
|
43
|
+
type: boolean
|
|
44
|
+
label: Default Selected
|
|
45
|
+
description: The default selected state of the form element.
|
|
46
|
+
preview: false
|
|
47
|
+
labelPlacement:
|
|
48
|
+
type: select
|
|
49
|
+
label: Label Placement
|
|
50
|
+
description: The placement of the label for the form element.
|
|
51
|
+
preview: "end"
|
|
52
|
+
options:
|
|
53
|
+
start: start
|
|
54
|
+
end: end
|
|
55
|
+
top: top
|
|
56
|
+
bottom: bottom
|
|
57
|
+
labelSize:
|
|
58
|
+
type: select
|
|
59
|
+
label: Label Size
|
|
60
|
+
description: The size of the label for the form element.
|
|
61
|
+
preview: "small"
|
|
62
|
+
options:
|
|
63
|
+
small: small
|
|
64
|
+
medium: medium
|
|
65
|
+
large: large
|
|
66
|
+
disabled:
|
|
67
|
+
type: boolean
|
|
68
|
+
label: Disabled
|
|
69
|
+
description: The disabled state of the form element.
|
|
70
|
+
preview: false
|
|
71
|
+
default: false
|
|
72
|
+
required:
|
|
73
|
+
type: boolean
|
|
74
|
+
label: Required
|
|
75
|
+
description: The required state of the form element.
|
|
76
|
+
preview: false
|
|
77
|
+
default: false
|
|
78
|
+
error:
|
|
79
|
+
type: boolean
|
|
80
|
+
label: Error
|
|
81
|
+
description: Adds an error state to the form control.
|
|
82
|
+
preview: false
|
|
83
|
+
default: false
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function t(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,e(r.key),r)}}var n="click",i=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=t,this.prefix=this.element.dataset.prefix,this.openclass="".concat(this.prefix,"--read-more--open"),this.buttonopenclass="".concat(this.prefix,"--read-more--button--open"),this.fulltext=this.element.dataset.fulltext,this.excerpt=this.element.dataset.excerpt,this.buttonlabel={closed:this.element.dataset.closed,opened:this.element.dataset.opened},this.init()},(i=[{key:"init",value:function(){return this.cacheDomReferences().setupHandlers().enable(),this}},{key:"cacheDomReferences",value:function(){return this.ReadMoreButton=this.element.querySelector(".".concat(this.prefix,"--read-more--button")),this.RichText=this.element.querySelector(".".concat(this.prefix,"--richtext")),this}},{key:"setupHandlers",value:function(){return this.onClick=this.onClick.bind(this),this}},{key:"enable",value:function(){var e=this;return this.ReadMoreButton.addEventListener(n,(function(){return e.onClick()})),this}},{key:"onClick",value:function(){return this.element.classList.contains(this.openclass)?(this.RichText.innerHTML=this.excerpt,this.ReadMoreButton.innerHTML=this.buttonlabel.closed):(this.RichText.innerHTML=this.fulltext,this.ReadMoreButton.innerHTML=this.buttonlabel.opened),this.element.classList.toggle(this.openclass),this.ReadMoreButton.classList.toggle(this.buttonopenclass),this}}])&&t(e.prototype,i),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,r}();Drupal.behaviors.readmore={attach:function(){Array.prototype.forEach.call(document.querySelectorAll('[data-loadcomponent="ReadMore"]'),(function(e){e.dataset.jsProcessed||(new i(e),e.dataset.jsProcessed=!0)}))}}}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.ilo--read-more--button{background:transparent;border:none;border-top:2px solid #ebf5fd;color:#230050;font-family:Overpass,Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;height:3.0010718114rem;margin-top:1.7148981779rem;padding:.857449089rem 1.5005359057rem .857449089rem 0;position:relative;text-align:left;width:auto;font-size:16px;letter-spacing:-.02em;line-height:21.6px}.ilo--read-more--button:after{background-repeat:no-repeat;content:"";display:inline-block;height:1.2861736334rem;position:absolute;right:.1071811361rem;top:50%;transform:translateY(-50%);transform-origin:center center;width:1.2861736334rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23230050' d='M12 16.78l-8-8 1.455-1.56L12 13.767l6.546-6.545L20 8.779l-8 8z'/%3E%3C/svg%3E")}.ilo--read-more--button:hover{background:#ebf5fd;border-top:2px solid #1e2dbe;color:#1e2dbe;cursor:pointer;transition-property:color,background-color,border-color;transition-duration:.15s;transition-timing-function:ease-out}.ilo--read-more--button:hover:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E2DBE' d='M12 16.78l-8-8 1.455-1.56L12 13.767l6.546-6.545L20 8.779l-8 8z'/%3E%3C/svg%3E")}.ilo--read-more--button--open:after{transform:translateY(-50%) rotateX(180deg);transform-origin:center center}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{#
|
|
2
|
+
READ MORE COMPONENT
|
|
3
|
+
#}
|
|
4
|
+
{% set content = excerpt %}
|
|
5
|
+
{% set btnlabel = buttonlabel.closed %}
|
|
6
|
+
{% if openatstart is defined and openatstart == 'true' %}
|
|
7
|
+
{% set content = fulltext %}
|
|
8
|
+
{% set btnlabel = buttonlabel.opened %}
|
|
9
|
+
{% endif %}
|
|
10
|
+
|
|
11
|
+
<div class="ilo--read-more" data-excerpt="{{excerpt|escape}}" data-fulltext="{{fulltext|escape}}" data-closed="{{buttonlabel.closed}}" data-opened="{{buttonlabel.opened}}" data-loadcomponent="ReadMore" data-prefix="ilo">
|
|
12
|
+
{% include "@components/richtext/richtext.twig" with {
|
|
13
|
+
content: content,
|
|
14
|
+
} %}
|
|
15
|
+
<button class="ilo--read-more--button">{{btnlabel}}</button>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
readmore:
|
|
2
|
+
namespace: Components/User Interface
|
|
3
|
+
use: "@components/readmore/readmore.twig"
|
|
4
|
+
label: Read More
|
|
5
|
+
description: A component for displaying rich text as entered in a WYSIWYG editor.
|
|
6
|
+
fields:
|
|
7
|
+
buttonlabel:
|
|
8
|
+
type: object
|
|
9
|
+
label: Button Label
|
|
10
|
+
description: labels for the two states of button
|
|
11
|
+
required: true
|
|
12
|
+
preview:
|
|
13
|
+
closed: Read More
|
|
14
|
+
opened: Close
|
|
15
|
+
excerpt:
|
|
16
|
+
type: string
|
|
17
|
+
label: Excerpt
|
|
18
|
+
description: HTML content
|
|
19
|
+
preview: "<p>Underlying the ILO’s work is the importance of cooperation between governments and employers’ and workers’ organizations in fostering social and economic progress. The ILO aims to ensure that it serves the needs of working women and men by bringing together governments, employers and workers to set labour standards, develop policies and devise programmes.</p>"
|
|
20
|
+
required: true
|
|
21
|
+
fulltext:
|
|
22
|
+
type: string
|
|
23
|
+
label: Full Text
|
|
24
|
+
description: HTML content
|
|
25
|
+
preview: "<p>Underlying the ILO’s work is the importance of cooperation between governments and employers’ and workers’ organizations in fostering social and economic progress. The ILO aims to ensure that it serves the needs of working women and men by bringing together governments, employers and workers to set labour standards, develop policies and devise programmes.</p> <p>The very structure of the ILO, where workers and employers together have an equal voice with governments in its deliberations, shows social dialogue in action. It ensures that the views of the social partners are closely reflected in ILO labour standards, policies and programmes.</p> <p>The ILO encourages this tripartism within its constituents - employers , workers and member States , by promoting a social dialogue between trade unions and employers in formulating, and where appropriate, implementing national policy on social, economic, and many other issues.</p>."
|
|
26
|
+
required: true
|
|
27
|
+
settings:
|
|
28
|
+
openatstart:
|
|
29
|
+
type: select
|
|
30
|
+
label: Open At Start
|
|
31
|
+
description: should the read more be open at page load?
|
|
32
|
+
options:
|
|
33
|
+
"true": "true"
|
|
34
|
+
"false": "false"
|
|
35
|
+
preview: "false"
|
|
36
|
+
required: true
|
|
37
|
+
visibility: storybook
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@charset "UTF-8";.ilo--richtext{font-family:Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;font-weight:400;font-size:18.66px;letter-spacing:normal;line-height:27.24px}.ilo--richtext a{background:transparent;color:#230050;font-size:inherit;font-weight:inherit;line-height:inherit;text-decoration:underline;text-underline-offset:.3215434084rem;text-decoration-thickness:.0803858521rem;padding-bottom:.2143622722rem}.ilo--richtext a:visited{background:transparent;color:#960a55}.ilo--richtext a:hover{background:#fff;color:#1e2dbe;text-decoration-thickness:3px}.ilo--richtext a:active,.ilo--richtext a:focus{background:#ffcd2d;color:#230050;text-decoration-thickness:3px}.ilo--richtext a--dark{background:transparent;color:#edf0f2}.ilo--richtext a--dark:visited{background:transparent;color:#b8c4cc}.ilo--richtext a--dark:hover{background:#fff;color:#1e2dbe;text-decoration-thickness:3px}.ilo--richtext a--dark:active,.ilo--richtext a--dark:focus{background:#ffcd2d;color:#230050;text-decoration-thickness:3px}.ilo--richtext a--footer{font-size:11.94px;letter-spacing:normal;line-height:16.24px;background:transparent;color:#6d6d6d}.ilo--richtext a--footer:visited{background:transparent;color:#960a55}.ilo--richtext a--footer:hover{background:#fff;color:#1e2dbe;text-decoration-thickness:3px}.ilo--richtext a--footer:active,.ilo--richtext a--footer:focus{background:#ffcd2d;color:#230050;text-decoration-thickness:3px}.ilo--richtext img{width:100%}.ilo--richtext p{margin-bottom:1.2861736334rem}.ilo--richtext blockquote+hr,.ilo--richtext dl+hr,.ilo--richtext dl+img,.ilo--richtext ol+hr,.ilo--richtext ol+img,.ilo--richtext p+blockquote,.ilo--richtext p+figure,.ilo--richtext p+hr,.ilo--richtext p+iframe,.ilo--richtext p+img,.ilo--richtext ul+hr,.ilo--richtext ul+img{margin-top:2.7675813769rem}.ilo--richtext article,.ilo--richtext figure,.ilo--richtext iframe{margin-bottom:3.0010718114rem}.ilo--richtext figure{width:100%}.ilo--richtext figcaption{border-left:3px solid #b8c4cc;color:#6d6d6d;font-weight:400;margin-top:.857449089rem;padding-left:.4287245445rem;font-size:14.93px;letter-spacing:-.02em;line-height:20.16px}.ilo--richtext em,.ilo--richtext i{font-style:italic}.ilo--richtext b,.ilo--richtext strong{font-weight:700}.ilo--richtext hr{background-color:#edf0f2;border:none;height:.2143622722rem;margin-bottom:3.0010718114rem}.ilo--richtext h1,.ilo--richtext h2,.ilo--richtext h3,.ilo--richtext h4,.ilo--richtext h5{font-family:Overpass,Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;font-weight:700;margin-top:3.0010718114rem}.ilo--richtext h1{margin-bottom:.6830690456rem;font-size:36px;letter-spacing:-.035em;line-height:43.2px}.ilo--richtext h2{margin-bottom:.8565309039rem;font-size:28px;letter-spacing:-.035em;line-height:35px}.ilo--richtext h3{margin-bottom:.5741425509rem;font-size:24px;letter-spacing:-.035em;line-height:30px}.ilo--richtext h4{margin-bottom:.7188906752rem;font-size:18px;letter-spacing:-.02em;line-height:23.4px}.ilo--richtext h5{margin-bottom:.8175044291rem;font-size:16px;letter-spacing:-.02em;line-height:21.6px}.ilo--richtext blockquote{background-color:#edf0f2;background-position:100% 0;background-repeat:no-repeat;background-size:3.8585209003rem 2.1436227224rem;display:block;font-family:Overpass,Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;margin:1.2861736334rem 0 2.1436227224rem;padding:4.0728831726rem 0 1.9292604502rem 1.7148981779rem;position:relative;width:fit-content;clip-path:polygon(0 0,calc(100% - 72px) 0,100% 40px,100% 100%,0 100%)}.ilo--richtext blockquote p{color:#960a55;font-weight:300;margin-bottom:1.2861736334rem;padding:0 2.5723472669rem 0 0;position:relative;font-size:29.16px;letter-spacing:-.035em;line-height:36.45px}.ilo--richtext blockquote p:after{background-repeat:no-repeat;bottom:0;content:"";display:inline-block;height:1.0718113612rem;position:absolute;right:0;transform:scaleX(-1);width:1.4201500536rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 65 48'%3E%3Cpath fill='%23960A55' d='M38.688 0v18.963c0 14.634 9.574 26.372 23.053 29.037l2.564-5.515c-6.238-2.357-10.251-11.145-10.251-16.821h10.251V0H38.688zM0 0v18.963C0 33.597 9.62 45.343 23.107 48l2.557-5.515c-6.255-2.357-10.267-11.152-10.267-16.821h10.22V0H0z'/%3E%3C/svg%3E")}.ilo--richtext blockquote cite{color:#6d6d6d;font-weight:400;font-size:14.93px;letter-spacing:-.02em;line-height:20.16px}.ilo--richtext blockquote:before{background-repeat:no-repeat;content:"";display:inline-block;height:2.1436227224rem;left:0;position:absolute;width:2.8403001072rem;top:0;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 65 48'%3E%3Cpath fill='%23960A55' d='M38.688 0v18.963c0 14.634 9.574 26.372 23.053 29.037l2.564-5.515c-6.238-2.357-10.251-11.145-10.251-16.821h10.251V0H38.688zM0 0v18.963C0 33.597 9.62 45.343 23.107 48l2.557-5.515c-6.255-2.357-10.267-11.152-10.267-16.821h10.22V0H0z'/%3E%3C/svg%3E")}.ilo--richtext ol{counter-reset:a}.ilo--richtext ol li{counter-increment:a;display:table}.ilo--richtext ol li:before{content:counter(a) ".";display:table-cell;text-align:right;padding-inline-end:.4287245445rem}.ilo--richtext ul li{position:relative;padding-inline-start:1.2861736334rem}.ilo--richtext ul li:before{content:"";position:absolute;height:.7502679528rem;width:.6430868167rem;top:.3215434084rem;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 12.4'%3E%3Cpath fill='%23B8C4CC' d='M10.8 6.4L0 .4v12l10.8-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;left:0;right:0}[dir=rtl] .ilo--richtext ul li:before{transform:rotate(180deg)}@media screen and (min-width:610px){.ilo--richtext ul li:before{top:.3751339764rem}}.ilo--richtext li{font-size:16px;letter-spacing:normal;line-height:23.36px;font-family:Noto Sans,Noto Sans CJK JP,Yu Gothic,Hiragino Sans,TakaoPGothic,PingFang SC,Microsoft YaHei,微软雅黑,sans-serif;margin-bottom:.857449089rem}.ilo--richtext li b,.ilo--richtext li strong{font-weight:700;letter-spacing:-.02em}@media screen and (min-width:610px){.ilo--richtext,.ilo--richtext li{font-size:18.66px;letter-spacing:normal;line-height:27.24px}.ilo--richtext h1,.ilo--richtext h2,.ilo--richtext h3,.ilo--richtext h4,.ilo--richtext h5{margin-top:3.4297963558rem}.ilo--richtext h1{margin-bottom:.8520418857rem;font-size:44px;letter-spacing:-.035em;line-height:50.6px}.ilo--richtext h2{margin-bottom:1.1117935901rem;font-size:36px;letter-spacing:-.035em;line-height:43.2px}.ilo--richtext h3{margin-bottom:.8565309039rem;font-size:28px;letter-spacing:-.035em;line-height:35px}.ilo--richtext h4{margin-bottom:1.0028670954rem;font-size:24px;letter-spacing:-.035em;line-height:30px}.ilo--richtext h5{margin-bottom:1.1476152197rem;font-size:18px;letter-spacing:-.02em;line-height:23.4px}.ilo--richtext p{margin-bottom:.9381095829rem}.ilo--richtext blockquote+hr,.ilo--richtext dl+hr,.ilo--richtext dl+img,.ilo--richtext ol+hr,.ilo--richtext ol+img,.ilo--richtext p+blockquote,.ilo--richtext p+figure,.ilo--richtext p+hr,.ilo--richtext p+iframe,.ilo--richtext p+img,.ilo--richtext ul+hr,.ilo--richtext ul+img{margin-top:3.0817323053rem}.ilo--richtext hr{margin-bottom:4.0728831726rem}.ilo--richtext figure{width:100%;margin-bottom:3.0817323053rem}.ilo--richtext blockquote{background-size:4.6087888532rem 2.5723472669rem;margin:1.7148981779rem 0 4.0728831726rem;padding:3.4297963558rem 0 2.5723472669rem 2.5723472669rem;clip-path:polygon(0 0,calc(100% - 86px) 0,100% 48px,100% 100%,0 100%)}.ilo--richtext blockquote p{margin-bottom:1.2861736334rem;padding:0 2.5723472669rem 0 0;position:relative;font-size:36.45px;letter-spacing:-.035em;line-height:43.74px}.ilo--richtext blockquote p:after{height:1.2861736334rem;width:1.7148981779rem}.ilo--richtext blockquote:before{height:2.5723472669rem;width:3.4297963558rem}}[dir=rtl] .ilo--richtext figcaption{border-left:none;border-right:3px solid #b8c4cc;padding-left:0;padding-right:.4287245445rem}[dir=rtl] .ilo--richtext blockquote{background-position:-1px -1px;padding:3.0010718114rem 1.7148981779rem 1.9292604502rem 0;clip-path:polygon(0 0,calc(100% - 72px) 0,100% 40px,100% 100%,0 100%);clip-path:polygon(72px 0,100% 0,100% 100%,0 100%,0 40px)}[dir=rtl] .ilo--richtext blockquote p{padding:0 0 0 2.5723472669rem}[dir=rtl] .ilo--richtext blockquote p:after{left:0;right:auto;transform:scaleX(1)}[dir=rtl] .ilo--richtext blockquote:before{left:auto;right:0;transform:scaleX(-1)}@media screen and (min-width:610px){[dir=rtl] .ilo--richtext blockquote{padding:3.2154340836rem 2.5723472669rem 2.5723472669rem 0}[dir=rtl] .ilo--richtext blockquote blockquote{clip-path:polygon(0 0,calc(100% - 86px) 0,100% 48px,100% 100%,0 100%);clip-path:polygon(86px 0,100% 0,100% 100%,0 100%,0 48px)}}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
richtext:
|
|
2
|
+
namespace: Components/Content
|
|
3
|
+
use: "@components/richtext/richtext.twig"
|
|
4
|
+
label: Rich Text
|
|
5
|
+
description: A component for displaying rich text as entered in a WYSIWYG editor.
|
|
6
|
+
fields:
|
|
7
|
+
content:
|
|
8
|
+
type: string
|
|
9
|
+
label: Content
|
|
10
|
+
description: HTML content
|
|
11
|
+
preview: "<h2>International Labour Organization</h2> <p>The <b>International Labour Organization</b> (<b>ILO</b>) is a <a href='https://www.un.org'>United Nations</a> agency whose mandate is to advance social and economic justice by setting international labour standards. Founded in October 1919 under the League of Nations, it is the first and oldest specialised agency of the UN. The ILO has 187 member states: 186 out of 193 UN member states plus the Cook Islands.</p> <p>Whereas also the failure of any nation to adopt humane conditions of labour is an obstacle in the way of other nations which desire to improve the conditions in their own countries.</p> <figure><img alt='placeholder image' class='right' src='/images/ilo-headquarters.jpg'><figcaption>The ILO's headquarters in Geneva, Switzerland. ©Steiner SA</figcaption></figure> <h3>ILO Constitution</h3> <p>The driving forces for the ILO's creation arose from security, humanitarian, political and economic considerations.</p> <blockquote> <p>The fundamental ideas that forged the ILO one hundred and three years ago still underpin the global pledge to leave no one behind.</p> <cite>ILO Director-General Gilbert F. Houngbo</cite> </blockquote> Reflecting these ideas, the Preamble of the ILO Constitution states:</p> <ol> <li>Whereas universal and lasting peace can be established only if it is based upon social justice;</li> <li>And whereas conditions of labour exist involving such injustice, hardship and privation to large numbers of people as to produce unrest so great that the peace and harmony of the world are imperilled; and an improvement of those conditions is urgently required;</li> <li>Whereas also the failure of any nation to adopt humane conditions of labour is an obstacle in the way of other nations which desire to improve the conditions in their own countries.</li> </ol>"
|
|
12
|
+
required: true
|
|
13
|
+
visibility: storybook
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var i=n.call(e,t||"default");if("object"!=typeof i)return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}function t(t,n){for(var i=0;i<n.length;i++){var r=n[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,e(r.key),r)}}var n="click",i=function(){return e=function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.element=t,this.multipleExpanded=!1,this.init()},(i=[{key:"init",value:function(){return this.cacheDomReferences().setupHandlers().enable(),this}},{key:"cacheDomReferences",value:function(){return this.searchButton=this.element.querySelector(".ilo--searchfield--clear-button"),this.searchInputField=this.element.querySelector(".ilo--input"),this}},{key:"setupHandlers",value:function(){return this.onClick=this.onClick.bind(this),this.KeyPressHandler=this.onKeyPress.bind(this),this}},{key:"enable",value:function(){return this.searchButton.addEventListener(n,this.onClick.bind(this)),this.searchInputField.addEventListener("keyup",this.onKeyPress.bind(this,this.searchButton)),this}},{key:"onClick",value:function(e){this.searchInputField.value="",this.searchButton.classList.remove("show")}},{key:"onKeyPress",value:function(e,t){""!==t.target.value.trim()?this.searchButton.classList.add("show"):this.searchButton.classList.remove("show")}}])&&t(e.prototype,i),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e;var e,i,r}();Drupal.behaviors.search={attach:function(){Array.prototype.forEach.call(document.querySelectorAll('[data-loadcomponent="Search"]'),(function(e){e.dataset.jsProcessed||(new i(e),e.dataset.jsProcessed=!0)}))}}}));
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{# dropdown.twig #}
|
|
2
|
+
|
|
3
|
+
{% extends "@components/form/formcontrol.twig" %}
|
|
4
|
+
|
|
5
|
+
{% set baseClass = prefix ~ "--searchfield" %}
|
|
6
|
+
{% set searchClass = [baseClass, class] %}
|
|
7
|
+
{% set inputClass = prefix ~ "--input" %}
|
|
8
|
+
{% set buttonClass = baseClass ~ "--button" %}
|
|
9
|
+
{% set fieldSetClass = prefix ~ "--fieldset" %}
|
|
10
|
+
{% set clearButtonClass = baseClass ~ "--clear-button" %}
|
|
11
|
+
|
|
12
|
+
{% if error %}
|
|
13
|
+
{% set inputClass = inputClass|merge([baseClass ~ "__error"]) %}
|
|
14
|
+
{% endif %}
|
|
15
|
+
|
|
16
|
+
{% block formfield %}
|
|
17
|
+
<div data-loadcomponent="Search" class="{{ searchClass|join(" ") }}" {% if style %} style={{ style }} {% endif %}>
|
|
18
|
+
<div class="{{fieldSetClass}}">
|
|
19
|
+
<input name="{{name}}" type="{{type}}" class="{{ inputClass }}{% if error %} error{% endif %}" {% if placeholder %} placeholder="{{placeholder}}" {% endif %} {% if disabled %} disabled {% endif %} {% if required %} required {% endif %} id="{% if id %}{{id}}{% else %}{{name}}{% endif %}"/>
|
|
20
|
+
<span class="{{clearButtonClass}}" >
|
|
21
|
+
{% include "@components/icon/icon.twig" with {
|
|
22
|
+
"name": "Close",
|
|
23
|
+
"size": "24",
|
|
24
|
+
"color": "#230050"
|
|
25
|
+
} %}
|
|
26
|
+
</span>
|
|
27
|
+
</div>
|
|
28
|
+
<input class="{{ buttonClass }}" type="submit"/>
|
|
29
|
+
|
|
30
|
+
</div>
|
|
31
|
+
{% endblock %}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
searchfield:
|
|
2
|
+
namespace: Components/Forms
|
|
3
|
+
use: "@components/search/search.twig"
|
|
4
|
+
label: Search
|
|
5
|
+
description: A component for displaying a search field.
|
|
6
|
+
visibility: storybook
|
|
7
|
+
fields:
|
|
8
|
+
label:
|
|
9
|
+
type: text
|
|
10
|
+
label: Label
|
|
11
|
+
description: The label for the form element.
|
|
12
|
+
tooltip:
|
|
13
|
+
type: string
|
|
14
|
+
description: The tooltip for the form element.
|
|
15
|
+
helper:
|
|
16
|
+
type: text
|
|
17
|
+
label: Helper Text
|
|
18
|
+
description: The helper text for the form element.
|
|
19
|
+
id:
|
|
20
|
+
type: text
|
|
21
|
+
label: ID
|
|
22
|
+
description: The ID of the text input.
|
|
23
|
+
name:
|
|
24
|
+
type: text
|
|
25
|
+
label: Name
|
|
26
|
+
description: The name of the text input.
|
|
27
|
+
placeholder:
|
|
28
|
+
type: text
|
|
29
|
+
label: Placeholder
|
|
30
|
+
description: The placeholder of the text input.
|
|
31
|
+
preview: Search for something
|
|
32
|
+
class:
|
|
33
|
+
type: text
|
|
34
|
+
label: Class
|
|
35
|
+
description: The class of the text input.
|
|
36
|
+
preview: textinput
|
|
37
|
+
default: ""
|
|
38
|
+
style:
|
|
39
|
+
type: text
|
|
40
|
+
label: Style
|
|
41
|
+
description: The style of the text input.
|
|
42
|
+
preview: "width: 100%"
|
|
43
|
+
default: ""
|
|
44
|
+
pattern:
|
|
45
|
+
type: text
|
|
46
|
+
label: Pattern
|
|
47
|
+
description: The pattern of the text input.
|
|
48
|
+
preview: textinput``
|
|
49
|
+
default: ""
|
|
50
|
+
settings:
|
|
51
|
+
labelPlacement:
|
|
52
|
+
type: select
|
|
53
|
+
label: Label Placement
|
|
54
|
+
description: The placement of the label for the form element.
|
|
55
|
+
preview: "top"
|
|
56
|
+
default: "top"
|
|
57
|
+
options:
|
|
58
|
+
start: start
|
|
59
|
+
end: end
|
|
60
|
+
top: top
|
|
61
|
+
bottom: bottom
|
|
62
|
+
labelSize:
|
|
63
|
+
type: select
|
|
64
|
+
label: Label Size
|
|
65
|
+
description: The size of the label for the form element.
|
|
66
|
+
preview: "medium"
|
|
67
|
+
default: "medium"
|
|
68
|
+
options:
|
|
69
|
+
small: small
|
|
70
|
+
medium: medium
|
|
71
|
+
large: large
|
|
72
|
+
disabled:
|
|
73
|
+
type: boolean
|
|
74
|
+
label: Disabled
|
|
75
|
+
description: The disabled state of the text input.
|
|
76
|
+
preview: false
|
|
77
|
+
default: false
|
|
78
|
+
required:
|
|
79
|
+
type: boolean
|
|
80
|
+
label: Required
|
|
81
|
+
description: The required state of the text input.
|
|
82
|
+
preview: false
|
|
83
|
+
default: false
|
|
84
|
+
error:
|
|
85
|
+
type: boolean
|
|
86
|
+
label: Error
|
|
87
|
+
description: Adds an error state to the form control.
|
|
88
|
+
preview: false
|
|
89
|
+
default: false
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.ilo--searchfield{display:flex}.ilo--searchfield .ilo--fieldset{position:relative;width:100%}.ilo--searchfield .ilo--input{padding-inline-end:3.0010718114rem}.ilo--searchfield--button{background-color:#edf0f2;background-position:50%;background-repeat:no-repeat;background-size:1.2861736334rem 1.2861736334rem;border-bottom:.1071811361rem solid #b8c4cc;border-left:0 solid #b8c4cc;border-right:.1071811361rem solid #b8c4cc;border-top:.1071811361rem solid #b8c4cc;height:2.5723472669rem;width:2.4651661308rem;text-indent:-9999px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23230050' d='M16.707 15.257a6.85 6.85 0 0 0 1.4-4.2 7 7 0 0 0-7-7.1 7.1 7.1 0 0 0 0 14.2 6.64 6.64 0 0 0 4.2-1.4l3 3a1 1 0 0 0 1.4 0 1 1 0 0 0 0-1.4l-3-3.1zm-5.6.8a5 5 0 0 1-5.1-5 5.1 5.1 0 0 1 10.2 0 4.999 4.999 0 0 1-5.1 5z'/%3E%3C/svg%3E")}.ilo--searchfield--button:focus{background-color:#ebf5fd;cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231E2DBE' d='M16.707 15.257a6.85 6.85 0 0 0 1.4-4.2 7 7 0 0 0-7-7.1 7.1 7.1 0 0 0 0 14.2 6.64 6.64 0 0 0 4.2-1.4l3 3a1 1 0 0 0 1.4 0 1 1 0 0 0 0-1.4l-3-3.1zm-5.6.8a5 5 0 0 1-5.1-5 5.1 5.1 0 0 1 10.2 0 4.999 4.999 0 0 1-5.1 5z'/%3E%3C/svg%3E")}.ilo--searchfield--button:active{background-color:#1e2dbe;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23EBF5FD' d='M16.707 15.257a6.85 6.85 0 0 0 1.4-4.2 7 7 0 0 0-7-7.1 7.1 7.1 0 0 0 0 14.2 6.64 6.64 0 0 0 4.2-1.4l3 3a1 1 0 0 0 1.4 0 1 1 0 0 0 0-1.4l-3-3.1zm-5.6.8a5 5 0 0 1-5.1-5 5.1 5.1 0 0 1 10.2 0 4.999 4.999 0 0 1-5.1 5z'/%3E%3C/svg%3E")}.haslabel .ilo--searchfield--button{margin-top:1.5005359057rem}.ilo--searchfield--button:disabled{opacity:.45;pointer-events:none}.ilo--searchfield--clear-button{display:none;align-items:center;cursor:pointer}.ilo--searchfield--clear-button.show{display:inline;position:absolute;top:12px;right:2%}.ilo--searchfield [type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}[dir=rtl] .ilo--searchfield .ilo--searchfield--button{border-left:.1071811361rem solid #b8c4cc;border-right:0}[dir=rtl] .ilo--searchfield .ilo--searchfield--clear-button.show{right:95%}
|