From f6a978689675706ce6ff52ed8be3443b2494d6d0 Mon Sep 17 00:00:00 2001 From: Martin Leblanc <m26lebla@uwaterloo.ca> Date: Thu, 18 Aug 2022 12:04:36 -0400 Subject: [PATCH] ISTWCMS-5721: rebase continue for mailman --- src/patterns/04-components/_index.scss | 2 ++ .../{form-item.scss => _form-item.scss} | 28 +++++++-------- .../04-components/form-item/form-item.twig | 4 +-- .../form-item/form-item~submit.yml | 15 ++++++++ .../_mailman-subscription.scss | 31 ++++++++++++++++ .../mailman-subscription.md | 10 ++++++ .../mailman-subscription.twig | 35 +++++++++++++++++++ .../mailman-subscription.yml | 5 +++ 8 files changed, 113 insertions(+), 17 deletions(-) rename src/patterns/04-components/form-item/{form-item.scss => _form-item.scss} (94%) create mode 100644 src/patterns/04-components/form-item/form-item~submit.yml create mode 100644 src/patterns/04-components/mailman-subscription/_mailman-subscription.scss create mode 100644 src/patterns/04-components/mailman-subscription/mailman-subscription.md create mode 100644 src/patterns/04-components/mailman-subscription/mailman-subscription.twig create mode 100644 src/patterns/04-components/mailman-subscription/mailman-subscription.yml diff --git a/src/patterns/04-components/_index.scss b/src/patterns/04-components/_index.scss index 992faf75..5c8064d6 100644 --- a/src/patterns/04-components/_index.scss +++ b/src/patterns/04-components/_index.scss @@ -19,6 +19,7 @@ @forward 'facebook/facebook'; @forward 'facts-and-figures/facts-and-figures'; @forward 'filters/filters'; +@forward 'form-item/form-item'; @forward 'google_maps/google_maps'; @forward 'instagram/instagram'; @forward 'icon/icon'; @@ -26,6 +27,7 @@ @forward 'image/image'; @forward 'image-gallery/image-gallery'; @forward 'mailchimp/mailchimp'; +@forward 'mailman-subscription/mailman-subscription'; @forward 'menu/menu'; @forward 'message/message'; @forward 'menu/menu--header/menu--header'; diff --git a/src/patterns/04-components/form-item/form-item.scss b/src/patterns/04-components/form-item/_form-item.scss similarity index 94% rename from src/patterns/04-components/form-item/form-item.scss rename to src/patterns/04-components/form-item/_form-item.scss index 375a9d89..57f51598 100644 --- a/src/patterns/04-components/form-item/form-item.scss +++ b/src/patterns/04-components/form-item/_form-item.scss @@ -43,21 +43,21 @@ content: '*'; } -.form-item__box, -.form-item__color, +.form-item--box, +.form-item--color, .form-item__date, -.form-item__email, -.form-item__month, -.form-item__number, -.form-item__password, -.form-item__search, -.form-item__select, -.form-item__tel, -.form-item__text, -.form-item__textarea, -.form-item__time, -.form-item__url, -.form-item__week { +.form-item--email, +.form-item--month, +.form-item--number, +.form-item--password, +.form-item--search, +.form-item--select, +.form-item--tel, +.form-item--text, +.form-item--textarea, +.form-item--time, +.form-item--url, +.form-item--week { //appearance: none; //border-color: var(--gray-3); //border-style: solid; diff --git a/src/patterns/04-components/form-item/form-item.twig b/src/patterns/04-components/form-item/form-item.twig index bd729510..846574ff 100644 --- a/src/patterns/04-components/form-item/form-item.twig +++ b/src/patterns/04-components/form-item/form-item.twig @@ -1,5 +1,3 @@ -{{ attach_library('ohana/form-item') }} - {% set classes = [ 'form-item', type ? 'form-item--' ~ type|clean_class, @@ -41,7 +39,7 @@ </div> {% endif %} - {{ children }} + {{ children | raw }} {% if suffix %} <span class="form-item__suffix">{{ suffix }}</span> diff --git a/src/patterns/04-components/form-item/form-item~submit.yml b/src/patterns/04-components/form-item/form-item~submit.yml new file mode 100644 index 00000000..aabfe7be --- /dev/null +++ b/src/patterns/04-components/form-item/form-item~submit.yml @@ -0,0 +1,15 @@ +--- +type: 'submit' +name: 'submit' +errors: '' +is_disabled: false +is_required: false +is_full_width: false +label_display: 'before' +label: '<label class="form-item__label" for="edit-submit">Submit</label>' +description_display: 'after' +description: + content: 'The description for this form field' +prefix: '' +suffix: '' +children: '<input type="submit" value="Submit" class="uw-input uw-input--submit button--medium">' diff --git a/src/patterns/04-components/mailman-subscription/_mailman-subscription.scss b/src/patterns/04-components/mailman-subscription/_mailman-subscription.scss new file mode 100644 index 00000000..5c8ca037 --- /dev/null +++ b/src/patterns/04-components/mailman-subscription/_mailman-subscription.scss @@ -0,0 +1,31 @@ +@use '../../01-core' as *; + +.uw-mailman { + form { + @include uw-contained-width-reset(); + width: 100%; + } + + &__label { + display: block; + margin-bottom: var(--size-xs); + } + + &__email { + display: grid; + gap: var(--size-xs); + grid-template-columns: auto var(--size-12); + + @media(min-width: $screen-md) { + grid-template-columns: auto var(--size-18); + } + + .uw-input { + width: 100%; + } + } + + &__servername { + text-align: center; + } +} diff --git a/src/patterns/04-components/mailman-subscription/mailman-subscription.md b/src/patterns/04-components/mailman-subscription/mailman-subscription.md new file mode 100644 index 00000000..6f3135c2 --- /dev/null +++ b/src/patterns/04-components/mailman-subscription/mailman-subscription.md @@ -0,0 +1,10 @@ +--- +el: .uw-mailman +title: Mailman +--- + +__Variables:__ +* mailman: [array] Variables for mailman. + * server: [string] Mailman server url. + * servername: [string] Mailman server name. + * uniqueid: [string] Unique id of the mailman component. diff --git a/src/patterns/04-components/mailman-subscription/mailman-subscription.twig b/src/patterns/04-components/mailman-subscription/mailman-subscription.twig new file mode 100644 index 00000000..0114c156 --- /dev/null +++ b/src/patterns/04-components/mailman-subscription/mailman-subscription.twig @@ -0,0 +1,35 @@ +{% set children = '<input type="email" id="uw-mailman__input-' ~ mailman.uniqueid ~ '" name="email" class="uw-input">' %} + +<div id="uw-mailman-{{ mailman.uniqueid }}" class="uw-mailman"> + <form action="//{{ mailman.server }}/mailman/subscribe/{{ mailman.servername }}"> + <div class="uw-mailman__label"> + <label for="uw-mailman__input-{{ mailman.uniqueid }}" class="uw-mailman__label--email">Email address:</label> + </div> + <div class="uw-mailman__email"> + {% include '@components/form-item/form-item.twig' with { + type: 'email', + name: 'email', + errors: '', + is_disabled: false, + is_required: true, + is_full_width: true, + label_display: 'before', + prefix: '', + suffix: '', + children: children + } %} + {% include '@components/form-item/form-item.twig' with { + type: 'submit', + name: 'submit', + errors: '', + is_disabled: false, + is_required: false, + is_full_width: true, + label_display: 'before', + prefix: '', + suffix: '', + children: '<input type="submit" value="Subscribe" class="uw-input uw-input--submit button--medium">' + } %} + </div> + </form> +</div> diff --git a/src/patterns/04-components/mailman-subscription/mailman-subscription.yml b/src/patterns/04-components/mailman-subscription/mailman-subscription.yml new file mode 100644 index 00000000..5c98ae38 --- /dev/null +++ b/src/patterns/04-components/mailman-subscription/mailman-subscription.yml @@ -0,0 +1,5 @@ +mailman: + server: 'lists.uwaterloo.ca (a.k.a. mailman.uwaterloo.ca)' + servername: 'uwweb' + uniqueid: '1111111' + classes: 'uw-input--submit button--medium' -- GitLab