From 50461f4d6ea6d17f50dd52d7533866f2de134883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 3 Jun 2024 10:20:25 +0200 Subject: [PATCH 01/14] Feat(web-twig): Introduce unstable_EmptyState component #DS-1308 --- .../components/UNSTABLE_EmptyState/README.md | 20 +++++ .../UNSTABLE_EmptyState.stories.twig | 9 ++ .../UNSTABLE_EmptyState.twig | 83 ++++++++++++++++++ .../UNSTABLE_EmptyStateSnapshotTest.php | 11 +++ .../__fixtures__/UNSTABLE_EmptyState.twig | 12 +++ .../UNSTABLE_EmptyState.twig.snap.html | 33 +++++++ .../stories/EmptyStateDefault.twig | 48 ++++++++++ .../twig-components/unstable_EmptyState.twig | 1 + .../unstable-emptystate-chromium-linux.png | Bin 0 -> 56862 bytes 9 files changed, 217 insertions(+) create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.stories.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__fixtures__/UNSTABLE_EmptyState.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig create mode 100644 packages/web-twig/src/Resources/twig-components/unstable_EmptyState.twig create mode 100644 tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md new file mode 100644 index 0000000000..02672ae544 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md @@ -0,0 +1,20 @@ +# UNSTABLE EmptyState + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. + +The `UNSTABLE_EmptyState` component is used to separate content in a layout. + +```twig + +``` + +## API + +The components accept [additional attributes][readme-additional-attributes]. +If you need more control over the styling of a component, you can use [style props][readme-style-props] +and [escape hatches][readme-escape-hatches]. + +[readme-additional-attributes]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#additional-attributes +[readme-escape-hatches]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#escape-hatches +[readme-style-props]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#style-props diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.stories.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.stories.twig new file mode 100644 index 0000000000..24aa29fa37 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.stories.twig @@ -0,0 +1,9 @@ +{% extends 'layout/plain.html.twig' %} + +{% block content %} + + + {% include '@components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig' %} + + +{% endblock %} diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig new file mode 100644 index 0000000000..674dd799c6 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig @@ -0,0 +1,83 @@ +{# API #} +{%- set props = props | default([]) -%} +{%- set _buttonPrimaryText = props.buttonPrimaryText | default(null) -%} +{%- set _buttonPrimaryUrl = props.buttonPrimaryUrl | default(null) -%} +{%- set _buttonSecondaryText = props.buttonSecondaryText | default(null) -%} +{%- set _buttonSecondaryUrl = props.buttonSecondaryUrl | default(null) -%} +{%- set _description = props.description -%} +{%- set _headingElementType = props.headingElementType | default('h2') -%} +{%- set _iconName = props.iconName | default(null) -%} +{%- set _linkText = props.linkText | default(null) -%} +{%- set _linkUrl = props.linkUrl | default(null) -%} +{%- set _title = props.title -%} + +{# Class names #} +{%- set _rootClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState' -%} +{%- set _headingClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__heading' -%} +{%- set _contentClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__content' -%} +{%- set _buttonsClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__buttons' -%} +{%- set _wrapperClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__wrapper' -%} +{%- set _iconWrapperClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__icon' -%} + +{# Miscellaneous #} +{%- set _styleProps = useStyleProps(props) -%} +{%- set _classNames = [ _rootClassName, _styleProps.className ] -%} + +
+
+ {% if _iconName %} +
+ +
+ {% endif %} +
+ + {{ _title }} + + {{ _description | raw }} +
+
+ {% if block('content') is not empty %} +
+ {% block content %}{% endblock %} +
+ {% else %} + {% if _buttonPrimaryUrl or _buttonSecondaryUrl %} +
+ {% if _buttonPrimaryText and _buttonPrimaryUrl %} + + {{ _buttonPrimaryText }} + + {% endif %} + {% if _buttonSecondaryText and _buttonSecondaryUrl %} + + {{ _buttonSecondaryText }} + + {% endif %} +
+ {% endif %} + {% if _linkUrl and _linkText %} + + {{ _linkText }} + + {% endif %} + {% endif %} +
diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php new file mode 100644 index 0000000000..e9347af94b --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php @@ -0,0 +1,11 @@ + + diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html new file mode 100644 index 0000000000..9c492ff58c --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html @@ -0,0 +1,33 @@ + + + + + + + +
+
+
+ +
+ +
+

+ Empty State Title +

+ +

+ Look somewhere else +

+
+
+ + + Link to something +
+ + diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig new file mode 100644 index 0000000000..6cc120e928 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig @@ -0,0 +1,48 @@ + + Custom content + + + + + + + Action + + + + + + + + diff --git a/packages/web-twig/src/Resources/twig-components/unstable_EmptyState.twig b/packages/web-twig/src/Resources/twig-components/unstable_EmptyState.twig new file mode 100644 index 0000000000..0d70950711 --- /dev/null +++ b/packages/web-twig/src/Resources/twig-components/unstable_EmptyState.twig @@ -0,0 +1 @@ +{% extends '@spirit/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig' %} diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..8e233288307637edda35f067ab3c0bb5b3b62e27 GIT binary patch literal 56862 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 literal 0 HcmV?d00001 From e1426ce352bc86dc100e48992f7f1dfd382f69e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 3 Jun 2024 10:20:41 +0200 Subject: [PATCH 02/14] Feat(web): Introduce unstable_EmptyState component #DS-1308 --- .../components/UNSTABLE_EmptyState/README.md | 4 + .../_UNSTABLE_EmptyState.scss | 47 +++++++++ .../UNSTABLE_EmptyState/_theme.scss | 12 +++ .../components/UNSTABLE_EmptyState/index.html | 90 ++++++++++++++++++ .../components/UNSTABLE_EmptyState/index.scss | 1 + packages/web/src/scss/components/index.scss | 1 + .../unstable-emptystate-chromium-linux.png | Bin 56862 -> 53217 bytes 7 files changed, 155 insertions(+) create mode 100644 packages/web/src/scss/components/UNSTABLE_EmptyState/README.md create mode 100644 packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss create mode 100644 packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss create mode 100644 packages/web/src/scss/components/UNSTABLE_EmptyState/index.html create mode 100644 packages/web/src/scss/components/UNSTABLE_EmptyState/index.scss diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md b/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md new file mode 100644 index 0000000000..585afa5856 --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md @@ -0,0 +1,4 @@ +# UNSTABLE EmptyState + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss b/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss new file mode 100644 index 0000000000..5da2738970 --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss @@ -0,0 +1,47 @@ +@use 'sass:map'; +@use 'theme' as theme; +@use '../../tools/breakpoint'; + +.UNSTABLE_EmptyState { + display: flex; + flex-direction: column; + gap: theme.$root-gap; + align-items: center; + padding-block: theme.$root-padding-block; + + @include breakpoint.up(map.get(theme.$breakpoints, desktop)) { + padding-block: theme.$root-padding-block-desktop; + } +} + +.UNSTABLE_EmptyState__heading { + margin-bottom: theme.$heading-margin-bottom; +} + +.UNSTABLE_EmptyState__buttons { + display: flex; + flex-direction: column; + gap: theme.$buttons-gap; + justify-content: center; + width: 100%; + + @include breakpoint.up(map.get(theme.$breakpoints, tablet)) { + flex-direction: row; + } +} + +.UNSTABLE_EmptyState__wrapper { + display: flex; + flex-direction: column; + gap: theme.$wrapper-gap; + align-self: stretch; + align-items: center; +} + +.UNSTABLE_EmptyState__icon { + display: flex; + align-items: center; + padding: theme.$icon-padding; + border: 1px solid theme.$icon-border-color; + border-radius: theme.$icon-border-radius; +} diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss b/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss new file mode 100644 index 0000000000..903bed8f36 --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss @@ -0,0 +1,12 @@ +@use '@tokens' as tokens; + +$breakpoints: tokens.$breakpoints; +$root-gap: tokens.$space-700; +$root-padding-block: tokens.$space-800; +$root-padding-block-desktop: tokens.$space-900; +$heading-margin-bottom: tokens.$space-500; +$buttons-gap: tokens.$space-600; +$wrapper-gap: tokens.$space-600; +$icon-padding: tokens.$space-500; +$icon-border-radius: tokens.$radius-200; +$icon-border-color: tokens.$border-secondary-default; diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html new file mode 100644 index 0000000000..c03c96228e --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html @@ -0,0 +1,90 @@ +{{#> web/layout/plain }} + +
+

Default

+
+ +
+
+
+ +
+
+

Empty State Title

+

Look somewhere else

+
+
+
Custom content
+
+ + +
+
+
+ +
+
+

Empty State Title

+

Look somewhere else

+
+
+
+ Action + Action +
+ Link to something +
+ +
+
+
+ +
+
+

Empty State Title

+

Look somewhere else

+
+
+
+ Action +
+
+ +
+
+
+ +
+
+

Empty State Title

+

Look somewhere else

+
+
+ Link to something +
+ +
+
+
+ +
+
+

Empty State Title

+

Look somewhere else

+
+
+
+ +
+
+
+

Empty State Title

+

Look somewhere else

+
+
+
+ +
+
+ +{{/web/layout/plain }} diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.scss b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.scss new file mode 100644 index 0000000000..c604ead06c --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.scss @@ -0,0 +1 @@ +@forward 'UNSTABLE_EmptyState'; diff --git a/packages/web/src/scss/components/index.scss b/packages/web/src/scss/components/index.scss index 77e4c00ed6..a64d8d913b 100644 --- a/packages/web/src/scss/components/index.scss +++ b/packages/web/src/scss/components/index.scss @@ -26,4 +26,5 @@ @forward 'Tooltip'; @forward 'UNSTABLE_Avatar'; @forward 'UNSTABLE_Divider'; +@forward 'UNSTABLE_EmptyState'; @forward 'UNSTABLE_Slider'; diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png index 8e233288307637edda35f067ab3c0bb5b3b62e27..574bacb446beadde7e35de903ce9f7b59981f114 100644 GIT binary patch literal 53217 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 From 07b7211184369d3dcc08e7089feb092289732774 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Wed, 19 Jun 2024 12:14:49 +0200 Subject: [PATCH 03/14] Refactor(web-twig): Update UNSTABLE_EmptyState according to design #DS-1311 --- .../UNSTABLE_ActionLayoutSnapshotTest.php | 9 ++ .../UNSTABLE_EmptyState.twig.snap.html | 39 +++++++ .../components/UNSTABLE_EmptyState/README.md | 16 --- .../UNSTABLE_EmptyState.twig | 83 ++------------ .../UNSTABLE_EmptyStateSection.twig | 20 ++++ .../UNSTABLE_EmptyStateSnapshotTest.php | 4 +- .../__fixtures__/UNSTABLE_EmptyState.twig | 36 ++++-- .../UNSTABLE_EmptyState.twig.snap.html | 32 +++--- .../stories/EmptyStateDefault.twig | 92 +++++++-------- .../unstable_EmptyStateSection.twig | 1 + .../components/UNSTABLE_EmptyState/index.html | 108 +++++++----------- .../unstable-emptystate-chromium-linux.png | Bin 53217 -> 41834 bytes 12 files changed, 211 insertions(+), 229 deletions(-) create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayoutSnapshotTest.php create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.twig create mode 100644 packages/web-twig/src/Resources/twig-components/unstable_EmptyStateSection.twig diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayoutSnapshotTest.php b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayoutSnapshotTest.php new file mode 100644 index 0000000000..195b086f24 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayoutSnapshotTest.php @@ -0,0 +1,9 @@ + + + + + + + +
+
+
+ +
+
+ +
+

+ Headline +

+ +

+ In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic + elements +

+
+ +
+ +
+ + +
+ + diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md index 02672ae544..585afa5856 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md @@ -2,19 +2,3 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. - -The `UNSTABLE_EmptyState` component is used to separate content in a layout. - -```twig - -``` - -## API - -The components accept [additional attributes][readme-additional-attributes]. -If you need more control over the styling of a component, you can use [style props][readme-style-props] -and [escape hatches][readme-escape-hatches]. - -[readme-additional-attributes]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#additional-attributes -[readme-escape-hatches]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#escape-hatches -[readme-style-props]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/README.md#style-props diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig index 674dd799c6..7b46ff4e7d 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.twig @@ -1,83 +1,20 @@ {# API #} {%- set props = props | default([]) -%} -{%- set _buttonPrimaryText = props.buttonPrimaryText | default(null) -%} -{%- set _buttonPrimaryUrl = props.buttonPrimaryUrl | default(null) -%} -{%- set _buttonSecondaryText = props.buttonSecondaryText | default(null) -%} -{%- set _buttonSecondaryUrl = props.buttonSecondaryUrl | default(null) -%} -{%- set _description = props.description -%} -{%- set _headingElementType = props.headingElementType | default('h2') -%} -{%- set _iconName = props.iconName | default(null) -%} -{%- set _linkText = props.linkText | default(null) -%} -{%- set _linkUrl = props.linkUrl | default(null) -%} -{%- set _title = props.title -%} {# Class names #} {%- set _rootClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState' -%} -{%- set _headingClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__heading' -%} -{%- set _contentClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__content' -%} -{%- set _buttonsClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__buttons' -%} -{%- set _wrapperClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__wrapper' -%} -{%- set _iconWrapperClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__icon' -%} {# Miscellaneous #} {%- set _styleProps = useStyleProps(props) -%} {%- set _classNames = [ _rootClassName, _styleProps.className ] -%} -
-
- {% if _iconName %} -
- -
- {% endif %} -
- - {{ _title }} - - {{ _description | raw }} -
-
- {% if block('content') is not empty %} -
- {% block content %}{% endblock %} -
- {% else %} - {% if _buttonPrimaryUrl or _buttonSecondaryUrl %} -
- {% if _buttonPrimaryText and _buttonPrimaryUrl %} - - {{ _buttonPrimaryText }} - - {% endif %} - {% if _buttonSecondaryText and _buttonSecondaryUrl %} - - {{ _buttonSecondaryText }} - - {% endif %} -
- {% endif %} - {% if _linkUrl and _linkText %} - - {{ _linkText }} - - {% endif %} - {% endif %} -
+{%- set _renderedContent %} + {% block content %}{% endblock %} +{% endset -%} + +{% embed "@spirit/stack.twig" with { props: props | merge({ + UNSAFE_className: _classNames | join(' '), + UNSAFE_style: _styleProps.style, +}) } %} + {% block content %}{{ _renderedContent }}{% endblock %} +{% endembed %} diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.twig new file mode 100644 index 0000000000..bea351ffd5 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.twig @@ -0,0 +1,20 @@ +{# API #} +{%- set props = props | default([]) -%} + +{# Class names #} +{%- set _rootClassName = _spiritClassPrefix ~ 'UNSTABLE_EmptyState__section' -%} + +{# Miscellaneous #} +{%- set _styleProps = useStyleProps(props) -%} +{%- set _classNames = [ _rootClassName, _styleProps.className ] -%} + +{%- set _renderedContent %} + {% block content %}{% endblock %} +{% endset -%} + +{% embed "@spirit/stack.twig" with { props: props | merge({ + UNSAFE_className: _classNames | join(' '), + UNSAFE_style: _styleProps.style, +}) } %} + {% block content %}{{ _renderedContent }}{% endblock %} +{% endembed %} diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php index e9347af94b..a3b54d3408 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSnapshotTest.php @@ -6,6 +6,4 @@ use Lmc\SpiritWebTwigBundle\AbstractComponentSnapshotTest; -class UNSTABLE_EmptyStateSnapshotTest extends AbstractComponentSnapshotTest -{ -} +class UNSTABLE_EmptyStateSnapshotTest extends AbstractComponentSnapshotTest {} diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__fixtures__/UNSTABLE_EmptyState.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__fixtures__/UNSTABLE_EmptyState.twig index a1f29dae4e..091e02505e 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__fixtures__/UNSTABLE_EmptyState.twig +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__fixtures__/UNSTABLE_EmptyState.twig @@ -1,12 +1,26 @@ - + + +
+ +
+
+ + + Headline + + In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements + + + + Action + Action + + + + Link to something + +
diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html index 9c492ff58c..c8e9d2caca 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/__tests__/__snapshots__/UNSTABLE_EmptyState.twig.snap.html @@ -5,29 +5,35 @@ -
-
-
+
+
+
+
+ +
+

+ Headline +

-
-

- Empty State Title -

+

+ In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic + elements +

+
-

- Look somewhere else -

+ - diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig index 6cc120e928..e6ffc02065 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig @@ -1,48 +1,48 @@ - - Custom content - + + +
+ +
+
+ + Headline + In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements + + + + Action + Action + + + + Link to something + +
- + + +
+ +
+
+ + Headline + In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements + + + + Action + Action + + +
- - - Action - - - - - - - - + + Custom content only + diff --git a/packages/web-twig/src/Resources/twig-components/unstable_EmptyStateSection.twig b/packages/web-twig/src/Resources/twig-components/unstable_EmptyStateSection.twig new file mode 100644 index 0000000000..d268a32001 --- /dev/null +++ b/packages/web-twig/src/Resources/twig-components/unstable_EmptyStateSection.twig @@ -0,0 +1 @@ +{% extends '@spirit/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.twig' %} diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html index c03c96228e..f4b4416dc5 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html @@ -4,85 +4,59 @@

Default

-
-
-
- +
+
+
+ +
-
-

Empty State Title

-

Look somewhere else

+
+

Headline

+

In publishing and graphic design, lorem ipsum is common + placeholder text used to demonstrate the graphic elements +

-
-
Custom content
-
- - -
-
-
- + -
-

Empty State Title

-

Look somewhere else

+
-
- Action - Action -
- Link to something -
-
-
-
- +
+
+
+ +
-
-

Empty State Title

-

Look somewhere else

+
+

Headline

+

In publishing and graphic design, lorem ipsum is common + placeholder text used to demonstrate the graphic elements +

-
-
- Action -
-
- -
-
-
- -
-
-

Empty State Title

-

Look somewhere else

-
-
- Link to something -
- -
-
-
- -
-
-

Empty State Title

-

Look somewhere else

+
-
-
-
-
-

Empty State Title

-

Look somewhere else

-
+
+ Custom content only
-
diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png index 574bacb446beadde7e35de903ce9f7b59981f114..2bbf696ed5027f272b2d508ce11aa27768a97409 100644 GIT binary patch literal 41834 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

fG=H`}N%o0u}K#TdYf7}B6f_8r@h5A%Hfj^2e; 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 a&Yh1IQl-xvJpdS*>E3PiTRDmk|NLKn?l+hK literal 53217 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 Date: Wed, 19 Jun 2024 12:15:23 +0200 Subject: [PATCH 04/14] Refactor(web): Update UNSTABLE_EmptyState according to design #DS-1311 --- .../_UNSTABLE_EmptyState.scss | 36 ++------ .../UNSTABLE_EmptyState/_theme.scss | 10 +-- .../components/UNSTABLE_EmptyState/index.html | 83 +++++++++---------- 3 files changed, 45 insertions(+), 84 deletions(-) diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss b/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss index 5da2738970..b1b4f4417b 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/_UNSTABLE_EmptyState.scss @@ -5,43 +5,19 @@ .UNSTABLE_EmptyState { display: flex; flex-direction: column; - gap: theme.$root-gap; align-items: center; - padding-block: theme.$root-padding-block; + padding: theme.$root-padding; + text-align: center; @include breakpoint.up(map.get(theme.$breakpoints, desktop)) { - padding-block: theme.$root-padding-block-desktop; + padding: theme.$root-padding-desktop; } } -.UNSTABLE_EmptyState__heading { - margin-bottom: theme.$heading-margin-bottom; -} - -.UNSTABLE_EmptyState__buttons { - display: flex; - flex-direction: column; - gap: theme.$buttons-gap; - justify-content: center; - width: 100%; - - @include breakpoint.up(map.get(theme.$breakpoints, tablet)) { - flex-direction: row; - } -} - -.UNSTABLE_EmptyState__wrapper { +.UNSTABLE_EmptyState__section { display: flex; flex-direction: column; - gap: theme.$wrapper-gap; - align-self: stretch; align-items: center; -} - -.UNSTABLE_EmptyState__icon { - display: flex; - align-items: center; - padding: theme.$icon-padding; - border: 1px solid theme.$icon-border-color; - border-radius: theme.$icon-border-radius; + width: 100%; + max-width: 400px; } diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss b/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss index 903bed8f36..7b259e65fc 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/_theme.scss @@ -1,12 +1,6 @@ @use '@tokens' as tokens; $breakpoints: tokens.$breakpoints; -$root-gap: tokens.$space-700; -$root-padding-block: tokens.$space-800; -$root-padding-block-desktop: tokens.$space-900; -$heading-margin-bottom: tokens.$space-500; +$root-padding: tokens.$space-1000 tokens.$space-700; +$root-padding-desktop: tokens.$space-1000 tokens.$space-800; $buttons-gap: tokens.$space-600; -$wrapper-gap: tokens.$space-600; -$icon-padding: tokens.$space-500; -$icon-border-radius: tokens.$radius-200; -$icon-border-color: tokens.$border-secondary-default; diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html index f4b4416dc5..0941a9d07e 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html @@ -4,59 +4,50 @@

Default

-
-
-
- -
-
-
-

Headline

-

In publishing and graphic design, lorem ipsum is common - placeholder text used to demonstrate the graphic elements -

-
-
- -
-
Link to something +
+ +
+
+
+

Headline

+

In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements

+
+
+
+ +
-
-
-
- -
+
+
+
+
-
-

Headline

-

In publishing and graphic design, lorem ipsum is common - placeholder text used to demonstrate the graphic elements -

-
-
- +
+
+

Headline

+

In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements

+
+
+
+
-
- Custom content only -
+
+ Custom content only +
From c635bf099f53b4a9ae5a60a1e5640559a092dc61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Wed, 19 Jun 2024 12:16:43 +0200 Subject: [PATCH 05/14] Feat(web-twig): Introduce ActionLayout component #DS-1311 --- .../components/UNSTABLE_ActionLayout/README.md | 4 ++++ .../UNSTABLE_ActionLayout.stories.twig | 9 +++++++++ .../UNSTABLE_ActionLayout.twig | 6 ++++++ .../__fixtures__/UNSTABLE_ActionLayout.twig | 5 +++++ .../UNSTABLE_ActionLayout.twig.snap.html | 12 ++++++++++++ .../stories/ActionLayoutDefault.twig | 4 ++++ .../twig-components/unstable_ActionLayout.twig | 1 + .../unstable-actionlayout-chromium-linux.png | Bin 0 -> 11981 bytes 8 files changed, 41 insertions(+) create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.stories.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__fixtures__/UNSTABLE_ActionLayout.twig create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__snapshots__/UNSTABLE_ActionLayout.twig.snap.html create mode 100644 packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig create mode 100644 packages/web-twig/src/Resources/twig-components/unstable_ActionLayout.twig create mode 100644 tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-actionlayout-chromium-linux.png diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md new file mode 100644 index 0000000000..2ce89438cd --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md @@ -0,0 +1,4 @@ +# UNSTABLE ActionLayout + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.stories.twig b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.stories.twig new file mode 100644 index 0000000000..d27f54607b --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.stories.twig @@ -0,0 +1,9 @@ +{% extends 'layout/plain.html.twig' %} + +{% block content %} + + + {% include '@components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig' %} + + +{% endblock %} diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.twig b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.twig new file mode 100644 index 0000000000..2c8009631a --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.twig @@ -0,0 +1,6 @@ +{# Class names #} +{%- set _rootClassName = _spiritClassPrefix ~ 'UNSTABLE_ActionLayout' -%} + +
+ {% block content %}{% endblock %} +
diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__fixtures__/UNSTABLE_ActionLayout.twig b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__fixtures__/UNSTABLE_ActionLayout.twig new file mode 100644 index 0000000000..a316267379 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__fixtures__/UNSTABLE_ActionLayout.twig @@ -0,0 +1,5 @@ + + + Primary Button + Secondary Button + diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__snapshots__/UNSTABLE_ActionLayout.twig.snap.html b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__snapshots__/UNSTABLE_ActionLayout.twig.snap.html new file mode 100644 index 0000000000..71497e2d33 --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/__tests__/__snapshots__/UNSTABLE_ActionLayout.twig.snap.html @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig new file mode 100644 index 0000000000..cdcdd5bb4e --- /dev/null +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig @@ -0,0 +1,4 @@ + + Primary Button + Secondary Button + diff --git a/packages/web-twig/src/Resources/twig-components/unstable_ActionLayout.twig b/packages/web-twig/src/Resources/twig-components/unstable_ActionLayout.twig new file mode 100644 index 0000000000..a71cf46acc --- /dev/null +++ b/packages/web-twig/src/Resources/twig-components/unstable_ActionLayout.twig @@ -0,0 +1 @@ +{% extends '@spirit/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.twig' %} diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-actionlayout-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-actionlayout-chromium-linux.png new file mode 100644 index 0000000000000000000000000000000000000000..b63d0d11a8811497c2825e8c591d98ed3583a6c4 GIT binary patch literal 11981 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 Date: Wed, 19 Jun 2024 12:16:53 +0200 Subject: [PATCH 06/14] Feat(web): Introduce ActionLayout component #DS-1311 --- .../components/UNSTABLE_ActionLayout/README.md | 4 ++++ .../_UNSTABLE_ActionLayout.scss | 15 +++++++++++++++ .../components/UNSTABLE_ActionLayout/_theme.scss | 4 ++++ .../components/UNSTABLE_ActionLayout/index.html | 15 +++++++++++++++ .../components/UNSTABLE_ActionLayout/index.scss | 1 + packages/web/src/scss/components/index.scss | 1 + 6 files changed, 40 insertions(+) create mode 100644 packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md create mode 100644 packages/web/src/scss/components/UNSTABLE_ActionLayout/_UNSTABLE_ActionLayout.scss create mode 100644 packages/web/src/scss/components/UNSTABLE_ActionLayout/_theme.scss create mode 100644 packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html create mode 100644 packages/web/src/scss/components/UNSTABLE_ActionLayout/index.scss diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md b/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md new file mode 100644 index 0000000000..2ce89438cd --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md @@ -0,0 +1,4 @@ +# UNSTABLE ActionLayout + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/_UNSTABLE_ActionLayout.scss b/packages/web/src/scss/components/UNSTABLE_ActionLayout/_UNSTABLE_ActionLayout.scss new file mode 100644 index 0000000000..58e6a14a9b --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/_UNSTABLE_ActionLayout.scss @@ -0,0 +1,15 @@ +@use 'sass:map'; +@use 'theme' as theme; +@use '../../tools/breakpoint'; + +.UNSTABLE_ActionLayout { + display: flex; + flex-direction: column; + gap: theme.$root-gap; + justify-content: center; + width: 100%; + + @include breakpoint.up(map.get(theme.$breakpoints, tablet)) { + flex-direction: row-reverse; + } +} diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/_theme.scss b/packages/web/src/scss/components/UNSTABLE_ActionLayout/_theme.scss new file mode 100644 index 0000000000..207541aafd --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/_theme.scss @@ -0,0 +1,4 @@ +@use '@tokens' as tokens; + +$breakpoints: tokens.$breakpoints; +$root-gap: tokens.$space-600; diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html new file mode 100644 index 0000000000..256645326b --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html @@ -0,0 +1,15 @@ +{{#> web/layout/plain }} + +
+

Default

+ +
+ +{{/web/layout/plain }} diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.scss b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.scss new file mode 100644 index 0000000000..8af6f29576 --- /dev/null +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.scss @@ -0,0 +1 @@ +@forward 'UNSTABLE_ActionLayout'; diff --git a/packages/web/src/scss/components/index.scss b/packages/web/src/scss/components/index.scss index a64d8d913b..d43de63aef 100644 --- a/packages/web/src/scss/components/index.scss +++ b/packages/web/src/scss/components/index.scss @@ -24,6 +24,7 @@ @forward 'TextField'; @forward 'Toast'; @forward 'Tooltip'; +@forward 'UNSTABLE_ActionLayout'; @forward 'UNSTABLE_Avatar'; @forward 'UNSTABLE_Divider'; @forward 'UNSTABLE_EmptyState'; From 951e8dd546f504bbd5a35d23660a7680078dc3dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Wed, 19 Jun 2024 15:14:09 +0200 Subject: [PATCH 07/14] Feat(web-react): Introduce ActionLayout component #DS-1309 --- packages/web-react/scripts/entryPoints.js | 1 + .../UNSTABLE_ActionLayout/README.md | 4 +++ .../UNSTABLE_ActionLayout.tsx | 19 ++++++++++ .../__tests__/UNSTABLE_ActionLayout.test.tsx | 27 ++++++++++++++ .../useActionLayoutStyleProps.test.ts | 11 ++++++ .../demo/ActionLayoutDefault.tsx | 16 +++++++++ .../UNSTABLE_ActionLayout/demo/index.tsx | 12 +++++++ .../UNSTABLE_ActionLayout/index.html | 1 + .../components/UNSTABLE_ActionLayout/index.ts | 3 ++ .../stories/UNSTABLE_ActionLayout.stories.tsx | 36 +++++++++++++++++++ .../useActionLayoutStyleProps.ts | 20 +++++++++++ packages/web-react/src/types/actionLayout.ts | 3 ++ 12 files changed, 153 insertions(+) create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/README.md create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayout.test.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/useActionLayoutStyleProps.test.ts create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/demo/ActionLayoutDefault.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/demo/index.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/index.html create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/index.ts create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/stories/UNSTABLE_ActionLayout.stories.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_ActionLayout/useActionLayoutStyleProps.ts create mode 100644 packages/web-react/src/types/actionLayout.ts diff --git a/packages/web-react/scripts/entryPoints.js b/packages/web-react/scripts/entryPoints.js index 5b6fd38449..a00b37a578 100644 --- a/packages/web-react/scripts/entryPoints.js +++ b/packages/web-react/scripts/entryPoints.js @@ -45,6 +45,7 @@ const entryPoints = [ { dirs: ['components', 'TextFieldBase'] }, { dirs: ['components', 'Toast'] }, { dirs: ['components', 'Tooltip'] }, + { dirs: ['components', 'UNSTABLE_ActionLayout'] }, { dirs: ['components', 'UNSTABLE_Avatar'] }, { dirs: ['components', 'UNSTABLE_Divider'] }, { dirs: ['components', 'UNSTABLE_Slider'] }, diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md b/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md new file mode 100644 index 0000000000..2ce89438cd --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md @@ -0,0 +1,4 @@ +# UNSTABLE ActionLayout + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.tsx b/packages/web-react/src/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.tsx new file mode 100644 index 0000000000..6b0c1e1765 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/UNSTABLE_ActionLayout.tsx @@ -0,0 +1,19 @@ +import classNames from 'classnames'; +import React, { ReactElement } from 'react'; +import { useStyleProps } from '../../hooks'; +import { SpiritActionLayoutProps } from '../../types/actionLayout'; +import { useActionLayoutStyleProps } from './useActionLayoutStyleProps'; + +export const UNSTABLE_ActionLayout = (props: SpiritActionLayoutProps): ReactElement => { + const { children, ...restProps } = props; + const { classProps, props: modifiedProps } = useActionLayoutStyleProps(restProps); + const { styleProps, props: otherProps } = useStyleProps(modifiedProps); + + return ( +
+ {children} +
+ ); +}; + +export default UNSTABLE_ActionLayout; diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayout.test.tsx b/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayout.test.tsx new file mode 100644 index 0000000000..e55477ae2d --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/UNSTABLE_ActionLayout.test.tsx @@ -0,0 +1,27 @@ +import '@testing-library/jest-dom'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; +import { classNamePrefixProviderTest } from '../../../../tests/providerTests/classNamePrefixProviderTest'; +import { restPropsTest } from '../../../../tests/providerTests/restPropsTest'; +import { stylePropsTest } from '../../../../tests/providerTests/stylePropsTest'; +import UNSTABLE_ActionLayout from '../UNSTABLE_ActionLayout'; + +describe('UNSTABLE_ActionLayout', () => { + classNamePrefixProviderTest(UNSTABLE_ActionLayout, 'UNSTABLE_ActionLayout'); + + stylePropsTest(UNSTABLE_ActionLayout); + + restPropsTest(UNSTABLE_ActionLayout, 'div'); + + beforeEach(() => { + render(Content); + }); + + it('should render content', () => { + expect(screen.getByText('Content')).toBeInTheDocument(); + }); + + it('should render children', () => { + expect(screen.getByText('Content')).toHaveClass('UNSTABLE_ActionLayout'); + }); +}); diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/useActionLayoutStyleProps.test.ts b/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/useActionLayoutStyleProps.test.ts new file mode 100644 index 0000000000..bd5a7701be --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/__tests__/useActionLayoutStyleProps.test.ts @@ -0,0 +1,11 @@ +import { renderHook } from '@testing-library/react'; +import { useActionLayoutStyleProps } from '../useActionLayoutStyleProps'; + +describe('useActionLayoutStyleProps', () => { + it('should return defaults', () => { + const props = {}; + const { result } = renderHook(() => useActionLayoutStyleProps(props)); + + expect(result.current.classProps.root).toBe('UNSTABLE_ActionLayout'); + }); +}); diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/ActionLayoutDefault.tsx b/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/ActionLayoutDefault.tsx new file mode 100644 index 0000000000..bf8884d638 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/ActionLayoutDefault.tsx @@ -0,0 +1,16 @@ +import React from 'react'; +import { ButtonLink } from '../../Button'; +import { UNSTABLE_ActionLayout } from '../index'; + +const ActionLayoutDefault = () => ( + + + Primary Action + + + Secondary Action + + +); + +export default ActionLayoutDefault; diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/index.tsx b/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/index.tsx new file mode 100644 index 0000000000..0f71f08083 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/demo/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import DocsSection from '../../../../docs/DocsSections'; +import ActionLayoutDefault from './ActionLayoutDefault'; + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + + + , +); diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/index.html b/packages/web-react/src/components/UNSTABLE_ActionLayout/index.html new file mode 100644 index 0000000000..23972ef557 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/index.html @@ -0,0 +1 @@ +{{> web-react/demo}} diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/index.ts b/packages/web-react/src/components/UNSTABLE_ActionLayout/index.ts new file mode 100644 index 0000000000..db68ba9893 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/index.ts @@ -0,0 +1,3 @@ +export { default as UNSTABLE_ActionLayout } from './UNSTABLE_ActionLayout'; +export * from './UNSTABLE_ActionLayout'; +export * from './useActionLayoutStyleProps'; diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/stories/UNSTABLE_ActionLayout.stories.tsx b/packages/web-react/src/components/UNSTABLE_ActionLayout/stories/UNSTABLE_ActionLayout.stories.tsx new file mode 100644 index 0000000000..54d5e781cf --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/stories/UNSTABLE_ActionLayout.stories.tsx @@ -0,0 +1,36 @@ +import { Markdown } from '@storybook/blocks'; +import type { Meta, StoryObj } from '@storybook/react'; +import React from 'react'; +import { ButtonLink } from '../../Button'; +import ReadMe from '../README.md'; +import { UNSTABLE_ActionLayout } from '..'; + +const meta: Meta = { + title: 'Experimental/UNSTABLE_ActionLayout', + component: UNSTABLE_ActionLayout, + parameters: { + docs: { + page: () => {ReadMe}, + }, + }, + argTypes: {}, + args: { + children: ( + <> + + Primary Action + + + Secondary Action + + + ), + }, +}; + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + name: 'UNSTABLE_ActionLayout', +}; diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/useActionLayoutStyleProps.ts b/packages/web-react/src/components/UNSTABLE_ActionLayout/useActionLayoutStyleProps.ts new file mode 100644 index 0000000000..d7dd415cdf --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/useActionLayoutStyleProps.ts @@ -0,0 +1,20 @@ +import { useClassNamePrefix } from '../../hooks'; +import { SpiritActionLayoutProps } from '../../types/actionLayout'; + +export interface ActionLayoutStyles { + classProps: { + root: string; + }; + props: T; +} + +export function useActionLayoutStyleProps(props: SpiritActionLayoutProps): ActionLayoutStyles { + const actionLayoutClass = useClassNamePrefix('UNSTABLE_ActionLayout'); + + return { + classProps: { + root: actionLayoutClass, + }, + props, + }; +} diff --git a/packages/web-react/src/types/actionLayout.ts b/packages/web-react/src/types/actionLayout.ts new file mode 100644 index 0000000000..89a7f0dcc3 --- /dev/null +++ b/packages/web-react/src/types/actionLayout.ts @@ -0,0 +1,3 @@ +import { ChildrenProps, StyleProps } from './shared'; + +export interface SpiritActionLayoutProps extends ChildrenProps, StyleProps {} From 5c4fbf6e01e5e95e9e9a65e4a9e7880a29671918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Wed, 19 Jun 2024 15:15:11 +0200 Subject: [PATCH 08/14] Feat(web-react): Introduce EmptyState component #DS-1309 --- packages/web-react/scripts/entryPoints.js | 1 + .../components/UNSTABLE_EmptyState/README.md | 4 ++ .../UNSTABLE_EmptyState.tsx | 24 +++++++ .../UNSTABLE_EmptyStateSection.tsx | 24 +++++++ .../__tests__/UNSTABLE_EmptyState.test.tsx | 27 +++++++ .../UNSTABLE_EmptyStateSection.test.tsx | 27 +++++++ .../__tests__/useEmptyStateStyleProps.test.ts | 12 ++++ .../demo/EmptyStateDefault.tsx | 67 ++++++++++++++++++ .../UNSTABLE_EmptyState/demo/index.tsx | 12 ++++ .../components/UNSTABLE_EmptyState/index.html | 1 + .../components/UNSTABLE_EmptyState/index.ts | 5 ++ .../stories/UNSTABLE_EmptyState.stories.tsx | 57 +++++++++++++++ .../useEmptyStateStyleProps.ts | 23 ++++++ packages/web-react/src/types/emptyState.ts | 4 ++ .../web-chromium-linux.png | Bin 79426 -> 86028 bytes .../web-react-chromium-linux.png | Bin 85900 -> 91880 bytes 16 files changed, 288 insertions(+) create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/README.md create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyState.test.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSection.test.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/useEmptyStateStyleProps.test.ts create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/demo/index.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/index.html create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/index.ts create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/stories/UNSTABLE_EmptyState.stories.tsx create mode 100644 packages/web-react/src/components/UNSTABLE_EmptyState/useEmptyStateStyleProps.ts create mode 100644 packages/web-react/src/types/emptyState.ts diff --git a/packages/web-react/scripts/entryPoints.js b/packages/web-react/scripts/entryPoints.js index a00b37a578..a16c5945c7 100644 --- a/packages/web-react/scripts/entryPoints.js +++ b/packages/web-react/scripts/entryPoints.js @@ -48,6 +48,7 @@ const entryPoints = [ { dirs: ['components', 'UNSTABLE_ActionLayout'] }, { dirs: ['components', 'UNSTABLE_Avatar'] }, { dirs: ['components', 'UNSTABLE_Divider'] }, + { dirs: ['components', 'UNSTABLE_EmptyState'] }, { dirs: ['components', 'UNSTABLE_Slider'] }, { dirs: ['components', 'VisuallyHidden'] }, ]; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/README.md b/packages/web-react/src/components/UNSTABLE_EmptyState/README.md new file mode 100644 index 0000000000..585afa5856 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/README.md @@ -0,0 +1,4 @@ +# UNSTABLE EmptyState + +⚠️ This component is UNSTABLE. It may significantly change at any point in the future. +Please use it with caution. diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.tsx new file mode 100644 index 0000000000..3cdf3e1109 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyState.tsx @@ -0,0 +1,24 @@ +import classNames from 'classnames'; +import React, { ReactElement } from 'react'; +import { useStyleProps } from '../../hooks'; +import { SpiritEmptyStateProps } from '../../types/emptyState'; +import { Stack } from '../Stack'; +import { useEmptyStateStyleProps } from './useEmptyStateStyleProps'; + +export const UNSTABLE_EmptyState = (props: SpiritEmptyStateProps): ReactElement => { + const { children, ...restProps } = props; + const { classProps, props: modifiedProps } = useEmptyStateStyleProps(restProps); + const { styleProps, props: otherProps } = useStyleProps(modifiedProps); + + return ( + + {children} + + ); +}; + +export default UNSTABLE_EmptyState; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.tsx new file mode 100644 index 0000000000..c9d1504dd1 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/UNSTABLE_EmptyStateSection.tsx @@ -0,0 +1,24 @@ +import classNames from 'classnames'; +import React, { ReactElement } from 'react'; +import { useStyleProps } from '../../hooks'; +import { SpiritEmptyStateProps } from '../../types/emptyState'; +import { Stack } from '../Stack'; +import { useEmptyStateStyleProps } from './useEmptyStateStyleProps'; + +export const UNSTABLE_EmptyStateSection = (props: SpiritEmptyStateProps): ReactElement => { + const { children, ...restProps } = props; + const { classProps, props: modifiedProps } = useEmptyStateStyleProps(restProps); + const { styleProps, props: otherProps } = useStyleProps(modifiedProps); + + return ( + + {children} + + ); +}; + +export default UNSTABLE_EmptyStateSection; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyState.test.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyState.test.tsx new file mode 100644 index 0000000000..b83382ddc3 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyState.test.tsx @@ -0,0 +1,27 @@ +import '@testing-library/jest-dom'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; +import { classNamePrefixProviderTest } from '../../../../tests/providerTests/classNamePrefixProviderTest'; +import { restPropsTest } from '../../../../tests/providerTests/restPropsTest'; +import { stylePropsTest } from '../../../../tests/providerTests/stylePropsTest'; +import UNSTABLE_EmptyState from '../UNSTABLE_EmptyState'; + +describe('UNSTABLE_EmptyState', () => { + classNamePrefixProviderTest(UNSTABLE_EmptyState, 'UNSTABLE_EmptyState'); + + stylePropsTest(UNSTABLE_EmptyState); + + restPropsTest(UNSTABLE_EmptyState, 'div'); + + beforeEach(() => { + render(Content); + }); + + it('should have default classname', () => { + expect(screen.getByText('Content')).toHaveClass('UNSTABLE_EmptyState'); + }); + + it('should render children', () => { + expect(screen.getByText('Content')).toBeInTheDocument(); + }); +}); diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSection.test.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSection.test.tsx new file mode 100644 index 0000000000..554af1129e --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/UNSTABLE_EmptyStateSection.test.tsx @@ -0,0 +1,27 @@ +import '@testing-library/jest-dom'; +import { render, screen } from '@testing-library/react'; +import React from 'react'; +import { classNamePrefixProviderTest } from '../../../../tests/providerTests/classNamePrefixProviderTest'; +import { restPropsTest } from '../../../../tests/providerTests/restPropsTest'; +import { stylePropsTest } from '../../../../tests/providerTests/stylePropsTest'; +import { UNSTABLE_EmptyStateSection } from '..'; + +describe('UNSTABLE_EmptyStateSection', () => { + classNamePrefixProviderTest(UNSTABLE_EmptyStateSection, 'UNSTABLE_EmptyState__section'); + + stylePropsTest(UNSTABLE_EmptyStateSection); + + restPropsTest(UNSTABLE_EmptyStateSection, 'div'); + + beforeEach(() => { + render(Content); + }); + + it('should have default classname', () => { + expect(screen.getByText('Content')).toHaveClass('UNSTABLE_EmptyState__section'); + }); + + it('should render children', () => { + expect(screen.getByText('Content')).toBeInTheDocument(); + }); +}); diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/useEmptyStateStyleProps.test.ts b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/useEmptyStateStyleProps.test.ts new file mode 100644 index 0000000000..742d5c3c2a --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/__tests__/useEmptyStateStyleProps.test.ts @@ -0,0 +1,12 @@ +import { renderHook } from '@testing-library/react'; +import { useEmptyStateStyleProps } from '../useEmptyStateStyleProps'; + +describe('useEmptyStateStyleProps', () => { + it('should return defaults', () => { + const props = {}; + const { result } = renderHook(() => useEmptyStateStyleProps(props)); + + expect(result.current.classProps.root).toBe('UNSTABLE_EmptyState'); + expect(result.current.classProps.section).toBe('UNSTABLE_EmptyState__section'); + }); +}); diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx new file mode 100644 index 0000000000..ce5fb83ab7 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx @@ -0,0 +1,67 @@ +import React from 'react'; +import { ButtonLink } from '../../Button'; +import { Heading } from '../../Heading'; +import { Link } from '../../Link'; +import { Text } from '../../Text'; +import { UNSTABLE_ActionLayout } from '../../UNSTABLE_ActionLayout'; +import UNSTABLE_EmptyState from '../UNSTABLE_EmptyState'; +import UNSTABLE_EmptyStateSection from '../UNSTABLE_EmptyStateSection'; + +const EmptyStateDefault = () => ( + + +
+ + + + +
+ Placeholder + Replace me with your own component +
+
+
+ + + Headline + + + In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic + elements + + + + + + Action + + + Action + + + + + Link to something + +
+); + +export default EmptyStateDefault; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/demo/index.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/index.tsx new file mode 100644 index 0000000000..7a0ab5a8ce --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/index.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import ReactDOM from 'react-dom/client'; +import DocsSection from '../../../../docs/DocsSections'; +import EmptyStateDefault from './EmptyStateDefault'; + +ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render( + + + + + , +); diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/index.html b/packages/web-react/src/components/UNSTABLE_EmptyState/index.html new file mode 100644 index 0000000000..23972ef557 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/index.html @@ -0,0 +1 @@ +{{> web-react/demo}} diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/index.ts b/packages/web-react/src/components/UNSTABLE_EmptyState/index.ts new file mode 100644 index 0000000000..cdef182eec --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/index.ts @@ -0,0 +1,5 @@ +export { default as UNSTABLE_EmptyState } from './UNSTABLE_EmptyState'; +export { default as UNSTABLE_EmptyStateSection } from './UNSTABLE_EmptyStateSection'; +export * from './UNSTABLE_EmptyState'; +export * from './UNSTABLE_EmptyStateSection'; +export * from './useEmptyStateStyleProps'; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/stories/UNSTABLE_EmptyState.stories.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/stories/UNSTABLE_EmptyState.stories.tsx new file mode 100644 index 0000000000..3d6fedde4a --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/stories/UNSTABLE_EmptyState.stories.tsx @@ -0,0 +1,57 @@ +import { Markdown } from '@storybook/blocks'; +import type { Meta, StoryObj } from '@storybook/react'; +import React from 'react'; +import { ButtonLink } from '../../Button'; +import { Heading } from '../../Heading'; +import { Link } from '../../Link'; +import { Text } from '../../Text'; +import { UNSTABLE_ActionLayout } from '../../UNSTABLE_ActionLayout'; +import ReadMe from '../README.md'; +import { UNSTABLE_EmptyStateSection, UNSTABLE_EmptyState } from '..'; + +const meta: Meta = { + title: 'Experimental/UNSTABLE_EmptyState', + component: UNSTABLE_EmptyState, + parameters: { + docs: { + page: () => {ReadMe}, + }, + }, + argTypes: {}, + args: { + spacing: 'space-700', + children: ( + <> + + + Headline + + + In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic + elements + + + + + + Action + + + Action + + + + + Link to something + + + ), + }, +}; + +export default meta; +type Story = StoryObj; + +export const Playground: Story = { + name: 'UNSTABLE_EmptyState', +}; diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/useEmptyStateStyleProps.ts b/packages/web-react/src/components/UNSTABLE_EmptyState/useEmptyStateStyleProps.ts new file mode 100644 index 0000000000..439e6f3d79 --- /dev/null +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/useEmptyStateStyleProps.ts @@ -0,0 +1,23 @@ +import { useClassNamePrefix } from '../../hooks'; +import { SpiritEmptyStateProps } from '../../types/emptyState'; + +export interface EmptyStateStyles { + classProps: { + root: string; + section: string; + }; + props: T; +} + +export function useEmptyStateStyleProps(props: SpiritEmptyStateProps): EmptyStateStyles { + const emptyStateClass = useClassNamePrefix('UNSTABLE_EmptyState'); + const sectionClass = `${emptyStateClass}__section`; + + return { + classProps: { + root: emptyStateClass, + section: sectionClass, + }, + props, + }; +} diff --git a/packages/web-react/src/types/emptyState.ts b/packages/web-react/src/types/emptyState.ts new file mode 100644 index 0000000000..89f204e710 --- /dev/null +++ b/packages/web-react/src/types/emptyState.ts @@ -0,0 +1,4 @@ +import { ChildrenProps, StyleProps } from './shared'; +import { SpiritStackProps } from './stack'; + +export interface SpiritEmptyStateProps extends ChildrenProps, SpiritStackProps, StyleProps {} diff --git a/tests/e2e/demo-homepages.spec.ts-snapshots/web-chromium-linux.png b/tests/e2e/demo-homepages.spec.ts-snapshots/web-chromium-linux.png index 702601230a35ec4cfc72c0d090041e06bb8606d4..4c83d258f96deb5ec786bf3b1d8ffe689b5c0b2f 100644 GIT binary patch delta 16756 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

Mp zwmQa18E9w_p*#p=?D(GZp*CBkx@9rw#+87lNs(g;P68YwleWH1fGC2hdK7w`zR?53 zB>1RBeVHs^fH89O0Gt(9;m|+>6^Df}6Nm1g4lW-LqJ()|nJT+ff*tSKbxaw4Xq0!( zzc8{xi#)8Sr?h7b4_Eyxn_PJ}t+S$PgN@de0q*J20Hnxm8e#IdgOT|K>rx?95#3!D z(a5d{gtlCTX?|G2&5ibG&@(5hj@mmUj9$6sYk*$b>h-Ds z<;*2|rKRcda@)f!qF$u<12UGj}gE+8rtC5T9aF!rm;;f^%bKcgL$1MHu(=OweL zRlM#*YMCjh91Q_NxO9jqa<*4}W?pXhW6EK`T&A6m%mjMK5ZB?lx`~*tK(;9?Zmq=B zi7rpg8+!mv!8UHQpAmu5DBX?#lT)|5NjGKY`k_K?yIE+8%YscnTWFM2#FGt*#XA$8~qR)^N&vTdt~aQygkPu}kIoY#&(u4mL^~ z8;O<>XS--yn~ofN18sDUp~k_+I6!l%u-fLrp&42P94`iMl1ARQ{bc=PHE^Fq^_9~- zIv0RwT2&Cc8!0jU!99bY?I(YP6RgUas&oKUwSEv19Mrc(8m^+0F%lWy77$;z9#1nC zTRPpam>|hy!_uE#@a^Sc$7#|?e!IumfCum%#-dF@vc@|RH&vXWFKjXFFPnf$Cy2(E z+*x*OU;6?uoQ=C0bT{H6X;8Zh$sK=gMyg9e z078HoXgrYEM7xO_A+d0gFrt+n9({So@5!;H_DlWYKFWKX8%AMfUL?rl;d3z~g{z}k z7M|mv6a|y#EA+^SG*?w6JXBQ)Dn!?98Za}X-0!H1p`-bZrb^UeXztEc0ZJHkx_>5~t2y6p~e)~37T^@Ek1 zl4M-bgn7vQ4zBUgn+rW2r}%8QvG@pw*2nrUxP0Y?MpU!HA4Gq2t~@f3%kp`r{x*X? z$;^FB(D|8gXLtm5`EbEsQLGMaWiBgFV!rLgsOsuk)MSr+r%;GEg0>cW(ps*YAC~EK zZIQ+T>S|f+*F=B4p>!b1d8jK*2a0sqlhJu!t1#<()6fj`-EX|Kr3S#i5=yc6-oB7e zPa(HGeUiBpkJUp#4nc0=RhihloSs>wBb4*{v@+nSz`i&^WHvSKNrRSMgB~j0uIUc% zz!s^o+x#7n7$jK=Yk=R_4CzH*zPCwS+gUw@!?_F|UT~CYqANAnWZs(bi7OzcN)6{? zlsoW<&^VNS)gzkxfEaMY(BC+5<^&rn5Hb$vyH5lPSTnO>D#@AIIjU}nC3%Sr(z>Vo z8zRs#ub1Br^kasXZA(o@%|V4()Aa^y5w0uAQ!cu0^J{5aU}0Nh5NTcAk#*Vm@I?K+ z+tk6CST>6xm-xht(M=-L&-AH)HMex)PrYPb34ow1RE6u91O~qV!1c)Ktc|=}ES)WC z{#w^3GjD;?;t8j|PtAHfSX1Ia4@9c*xGoM?wAvCQEXZ$ngQMiwWx2RS*Mf|~)v0QH zWQThAi&eEbJFutDENp`YdTwkkl7AEB8iW8fI_S$y(WxKcw%)711>4saU(Dr;+Yo`Y zKSl0&*hc18oJ#b&P%?N=rl_rdc7Kdx?5JvWsWFKiBy%1+skqNY`eMGrvC+pCGl=}k zSp8=6=`ynizeEvfP-WwD@Vp`k-IWIewUXkA`bq}=X50R&0uD>>l612Ug@n2*@2A8+ zi@XMP(;8`w9u^}i;G&{lJ7}j}NXa?2a4>q^e8}ZlPS+G7jG6o!@VG zcc^H#*S}iq_G&~TGA^wJ`H&6FF(KyYFX1#U=pX10jnC!hX6yq@`Adw8on3I4YjVaV zw8U|MCgXHj%9>NuPG~Y+M-s`X&Gy6*JUBL5cQ)Rp#pl-idA$T5Eq6#EyQ%9ETjRC( z0cOT`W19Sm&j#xr;1i1@IYT4pzF05P3*V+0{bF^q?WMxpfC3Helx&Vtw~sRH6QX_A zKn`6zGA%w6^}^H4Oi^=6`Kwl6hQOnzk#K3TV0q&*$`V@g?E~%Now9g+8_fBxml`O+ zYBDckC5Cy|nN=*u=7mt`+bk$2_qLl9NK2EGvrDdE<;u!hWTe5a3N+PlWW^a;x7T~4 zg;Xwz&#R7{Qhc_Au*$k){VRhk@JhCYt=`}>w1T*t4dYE_i2Ty^W%oip7sFY=5QRtA zJgqPONLgHLKTG%cZCI=4@zE-_<(Lo{X~M|E@dJnB!{tc>s1tEIf8&Db3O)R`nv;38 zunIzn^>c1mSXGs~pU;7%h%R=qUxN8JifsdBrXLVayxNL)4;Sfu^HcE{_oCcKhSwo8 zh+BX8(vXB$|54ez!47#uYvBurDQr2JAh!;NANG(M*Z)i>z-lZ0=$g$0z`%iA7Mm3m zIpcb1(2*ZT_8MMlfU6mmWKuquBPuGf_6&&GeqBpway#$5OG;`JSjYQ|o?3iR6_4)H zGaQZpb4JkwUb>h+@LYPTM#C&+u+OkKtcCl_O)AKV_j#Qkj38Hdcx=O zvaT;5p$0F6I(-J#>ZWCB(YQn2xPu-T+AYR{K_VS zW&OJgD53MOv++m8^6toYVpm3QEh>5KXJo$wkMB@XVlW1EyaQ!0GB*ay(}2Vzzb5HTnTL5nE?0 zIW;L@BtfC!ui+di&bt5D9U#SW_Kl|>U3_;sGNP@LpGjcliN@YWVRUd0d-$ku`kpUZ z9XiUU5xCi8u;Fe#?M>urGRzq+65?}uVM`wMdb-K|c(dyaVjM4iv58xECfZsyexvsD zqr)(i?W|fUS}zSu9>ZUgXHy9E-S6x<^gv;&KDVs;_UQDs&L=JXDP;%oW1;M}*dbPU zMwiOvI9qeaIGW8A-T9$-sF;0yT?$%0tgroZ= z{%q}4+htyIWgrvL%yQ57JV~Zd?VHxw7M6SGAClMJdt_(+HGVK$R|%rJN~7YCFJV=t z1*+}S6vWigsCdW@HrKMlWl{L||YVU*tn1 zV|1Fh#W&|P{g;Ttm#TKRvrg?^#LazhH7onW1@SpglAh^rZFPf&N=cG3e(`5>alga4 zf|S&puGARg4%j`+F33bJuScyIH+~4-n zNm*8DjZKbe=8tqUsvnkZ(ejJvXU8`f)8`;K{WE4o2Z=Az8-(zkYcHngBfU4@@ND~f z)wnY3=NnhW)K7@< z)_H7FM0_~;;eQ;I0{r>XPK^6{|cu8e*~~>_{)bBz)Jz-*YFql)i@!)MQZop&vkTk z6ci?xk+A9*E`W>wKFtRGEb+b#B6?yOD$L~Pt5cYmm@-t-ecru$mueG81+GT@>uT1> zMJ?8d?EOnY2M4aR-!1pZRBJGy zl$bok6H7|eN^>Y-u8l8q?-;ZE1eV4#JkZ0CZdxQ_>1s9nW${RBOUtjA;j?^Q*pX~X zFZnNo&lRowng6Q>`z1OycR5|y#(*?130QhHy3t^%)?7O^_L`(l4OUK(5| zSoLwL0&E1>7wyRd%eA$&rOt#N7$qeowM-SzpHwHWjK_iCPV7?S5U_~|SI9l8X3}cV zoQrgF;gUyoq)c*7&iy1-<&KuUD`50-GR=eZAM;6W((N@Eyj0Yup1o-{V2^HxKR@yR ze%W~-lnJZW{f|b+EKK1&$8GRcVIY$Uo5=oUbMOeB`Yo1;F9z(77Nu4QdwP*DQ;CE&kmkK{aa$e*}r^Qn1eD5GXFXZWdDqJ>(jT#5}Fh-v_h$jGN{ZmT5r zB*&$6OhMfwzwbfpuUsbzDcMwb?L#X)pSF^kiGQvAai7V3AfN>ZpEYLnm7L)g74ew& zh<;svO<{x(&jb&r@*ev@SFU&8e6f zh-pm}k##9(w^;Z2MK7Q~Dt6bu$4EX8C2)>G`{KF9Rjlq^7%sdT1jwE-n~qAOqe|5p zB&OwkgOoQsNN~3ELfCs<0sd?dL|Urd(YkE%@W@gG)o2;jL(lget(|Uh!S|#%g6wrF zF=})w<`2sg*g5$n#mXAQD2efOGHz|VU-BO@pO!dPaAhO&JmTf|@r9CKA=5uHrhlJ7 z4WQt@5eNM(bLypTdS?I+CbHbOcYcC^*OlooGrRwI-Ak&FlP5gLt+6JlKFQDv=BDMn zgXcUJRPd4ZG6{{4(_ZWR(NBhlAZz+D;H)aeUjwNQDs@)q1)J>vN34dsvVZ^gEBj_nxxeg4Sc+(Tt(+tDb%2l@yo zkoC-MI1nJaZEexddpOEDXWqT|&7JrknG@}c-45fzL17%mEhSUId4On`v)rWy&&9!E zX|1G!tk_sy^$uZS=;e&iVK;8!nSCjpboen>737DjHlQJH;N*<)*B!jr7-ZhVk_M3= zQG3JlC??HV5Ih0VW{jZwagm$%_`apzkjVjv;ZUA(=PxbTYAw{j!mBn$XOB@dge2H z>}X-z#U@*f4NF!Xrx3c9_JTnA`auN@x$;d1B$DK3XTU?J8yk;nRXzgp6+bP7i;>Dl zo{uY0)xmHQX=XmwEBkhp05iMYP;Z zhcV9@=mq4#`T&rd%+md-k!i4cfG`E zsUlXiD(re3?7$q;abNn`lV@Gyp+AAK0OEnpM_HPtno0jnz?jbNCJaU*cakNbvl*@D zwK}3hQ51u=oxP?JR+VgEAgh}*sG^cJDtyqBqI(xY&6f5>-)JFFwLEkJ>J#3>D$o|; z0`dq^b)6R`z(NOnBcbKlVin6nL%nN0MV`8*V-*Va+A>d z*=nN`>8#8b10vN|gFc87-c1p@7$a~9qKR>cs@xW-`d^{jOwyn)Z)*Svizb4+BoSY% zhr}x@Fw216i8EL2XtCpZr1$!5g>^(#N5gE*>nrwI1D5yZ29{CBmaRpH-rieFNMJaA zksF{xR7E%*%y5rPhn-T(1!$p{!?FS-imlIQ1R@W0rq)9)2<;s#NfQYC%`Q+zS5OZo zEQ2OxIkz7MopL;y^T!uo!8wdx?~}T@$kKAMgHYKe^7Xcl(PA^^K`cUxY8LpPtrstm4pm@1HU`?y5sDdzXqkh} zT2aX7ueo9eV8|%Qu^G?CW#+oQ60ZkQKzN>BzeUTIFa$vAZf#<^_)NLBOQjRzn@vJo zf1O)FSQtV$^d1~5OAWo&$^Ze*;q*rBX~|Mb$G95DnWbRqGRi?~8%~OMpfplWFuJSnwd%-t7; z=E6b#hVuU0v1A-;%=a%Z76!K88mV^+uKEv|D7jk+AJg6GO4M3f8FIJkv^*Yj{5@R! zxKtrW0s!kj(K_@8TPKZVf9X^HC_&gqTk5Xn<%?9Zoid&6^8DN$Pb2ah8h}R>raUM< z^Oalmou)fK-w7%YDi|gt`BL0eoV=oMG(Pk+MNy0Z`_YDtYUV-OXY7Y=&g7Vg@^e6@ zJOiXStkGI&kXkvMS=zK>g{8~Hb#a`$nAH)oILxY4{?1bjW;)<#j6~GCgR=EldHa)!4)Z&%>&jmX6UlqP4(`a^6k#vHj?q@j4UKQS)*! zIbaWifInGweeTK?rocnBEpPJc4#%s^$4y2!+KOv+NiNfQ?ScNd5y6@drT% zf}0%2<|^)wfU}@qbCgEI$eWIq9^q;Ut5x1fQs#+@T|DBY!X>Jgl`k#$B*e#eYLH{>Mn{nxzrvK=2pdX7D^frw@eoKqlE=LPU_pWrc@u+LKT z>R3|928kZ1N$K{n!1x{7uFALS;|a#~ri`sm1>5nHfwBZdo#doC`GUh)=V>-hgZMz^ zqX&IkZdZc5v*R9u18U$zg#PiCYi9>_u$*B@=N{7&u(KaXEuW;<i#dEphtTzQYAS;PD2ctTX3>fo*!UPnRFY0RyY1cv2GBf|}ebh21v-(J6C3 zUx>PXv-bYX&heemP%5dn)Lr%Mymd-z5*4)kJIv3RN%@$`CVXu-vijZUWp8=0EzvBs4}X0)_V5ZwKGv4(L;%0gh?`g z!>+cwYM7HbBp0!4uoEeg@Kw}+Qd{oM|f zMO!fgT0f~bGEDc9$-|#P1h)w~$d&+w*iHYFy5@8l4JkS1ByGzrra`?@13R3@l7P;x z^kxBR9@-jfMiG{!T?dhn^>)mFsCxd(RR+VX0co?ym_i_KT8zS4ZK7~C?PysnkSbQNA z50mgD{uM7zjKB_*);APT3LEGds5KP?)$ZA?PUUx>oJbXEzvI!Z2hLlV)oB0$u=7Lh z1c_8@YI&VM`QdLThW|hg|I>4-(El=iU30?A7+4msTeRIPqk}!W1HDOj7YNP)!<2r5 zJsVCQ6#r%L{5OaMP^R=r!WLxKpFVvmR%h}MT;?~D^gBpmx#s5+8WEwYq_kVc2D3_$ zefI2A_Wnt5SE?O=H7Kb;(E8S`Tkw~K8oUyxCm=+E? zd)H<&GNMj`^}l1i|Clz1{yuJAnl$Hil3uRCfqeReyb{ZAC&Nwdj;8)PV(_nb^grn5 zll=F;PH+Excng73?*HtV{RfZoFFgtL|GY*2x!ZvL)0zMO-PTb1ZGind9?TK#89xuB VGq0#mgGYx+iOY#)J=S~se*ne5!}$OJ delta 8495 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 W>T(+uGk#<$Jy6qDExh~k_5T7Ef=0Li diff --git a/tests/e2e/demo-homepages.spec.ts-snapshots/web-react-chromium-linux.png b/tests/e2e/demo-homepages.spec.ts-snapshots/web-react-chromium-linux.png index 91b99b2e6649859885fb5b761ee886ce6ec36e9d..9a7ef6de90bad41c13e283e5256ff2f55a3e356a 100644 GIT binary patch delta 22898 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 S`@RFC!GZ%0e_4%={`L=%i;CC) delta 14555 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 DrZk1X From 425ed82077e9281e832d1f5b27e8df1115f1b451 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 24 Jun 2024 11:39:57 +0200 Subject: [PATCH 09/14] Docs(web-twig): Add documentation and demo for EmptyState component #DS-1310 --- .../components/UNSTABLE_EmptyState/README.md | 62 +++++++++++++++++++ .../stories/EmptyStateDefault.twig | 36 +++-------- 2 files changed, 71 insertions(+), 27 deletions(-) diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md index 585afa5856..12246a234a 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/README.md @@ -2,3 +2,65 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +EmptyState component should be included at the error pages or empty state pages as the carrier of an information and links to elsewhere. + +EmptyState component is a composition of the following components: + +- [UNSTABLE_EmptyState](#unstable-emptystate) + - [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) + +## UNSTABLE EmptyState + +The `UNSTABLE_EmptyState` component is a main container responsible for positioning the [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) components or content. + +```twig + + + +``` + +### API + +This component is based on the [Stack][stack] component and accepts all its properties. For more information, see the [Stack component API][stack-api]. + +## UNSTABLE EmptyStateSection + +The `UNSTABLE_EmptyStateSection` component is a container for the content of each section. + +```twig + + + +``` + +### API + +The component is based on the [Stack][stack] component and accepts all its properties. For more information, see the [Stack component API][stack-api]. + +[stack]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-twig/src/Resources/components/Stack/README.md +[stack-api]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-twig/src/Resources/components/Stack/README.md#api + +## Full Example + +```twig + + + + + + Heading + Description + + + + Primary Action + Secondary Action + + + + Link to something + + + +``` diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig index e6ffc02065..47d01c0cd3 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig +++ b/packages/web-twig/src/Resources/components/UNSTABLE_EmptyState/stories/EmptyStateDefault.twig @@ -1,7 +1,14 @@ -

- +
+ + + + +
+ Placeholder + Replace me with your own component +
@@ -21,28 +28,3 @@ Link to something - - - -
- -
-
- - Headline - In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements - - - - Action - Action - - -
- - - Custom content only - From e586f2f69d81a4a14a98cc44dfe589e516d3e55b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 24 Jun 2024 11:40:22 +0200 Subject: [PATCH 10/14] Docs(web-twig): Add documentation and demo for ActionLayout component #DS-1310 --- .../UNSTABLE_ActionLayout/README.md | 20 +++++++++++++++++++ .../stories/ActionLayoutDefault.twig | 4 ++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md index 2ce89438cd..c7849cad7d 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/README.md @@ -2,3 +2,23 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +ActionLayout component is a container component that is used to position action components in a predefined layout. + +- For desktop and tablet views, actions are positioned in a horizontal direction with reverse order. +- For mobile view, actions are positioned in a vertical layout and are stretched to the full width of the container. + +```twig + + + +``` + +## Full Example + +```twig + + Primary Action + Secondary Action + +``` diff --git a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig index cdcdd5bb4e..5b16df59d0 100644 --- a/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig +++ b/packages/web-twig/src/Resources/components/UNSTABLE_ActionLayout/stories/ActionLayoutDefault.twig @@ -1,4 +1,4 @@ - Primary Button - Secondary Button + Primary Action + Secondary Action From 8ebd3241bd287e513e5223adc9ab7163d2e51756 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 24 Jun 2024 14:28:52 +0200 Subject: [PATCH 11/14] Docs(web): Add documentation and demo for EmptyState component #DS-1310 --- packages/demo/scss/index.scss | 20 +++++++ .../components/UNSTABLE_EmptyState/README.md | 52 ++++++++++++++++++ .../components/UNSTABLE_EmptyState/index.html | 48 ++++++---------- .../unstable-emptystate-chromium-linux.png | Bin 41834 -> 32144 bytes 4 files changed, 88 insertions(+), 32 deletions(-) diff --git a/packages/demo/scss/index.scss b/packages/demo/scss/index.scss index 82b5c14ca0..8f7a57db6b 100644 --- a/packages/demo/scss/index.scss +++ b/packages/demo/scss/index.scss @@ -61,6 +61,26 @@ white-space: normal; } +.docs-Placeholder { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + padding: 3rem 1.5rem; + text-align: center; + gap: 2rem; + border: 1px dashed #3eac98; + background: #fff; +} + +.docs-Placeholder__text { + display: flex; + flex-direction: column; + color: #3eac98; + gap: 0.5rem; +} + @media (min-width: 768px) { .docs-TileLink { padding: 1.5rem; diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md b/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md index 585afa5856..7f32e8412a 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/README.md @@ -2,3 +2,55 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +EmptyState component should be included at the error pages or empty state pages as the carrier of an information and links to elsewhere. + +EmptyState component is a composition of the following components: + +- [UNSTABLE_EmptyState](#unstable-emptystate) + - [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) + +## UNSTABLE EmptyState + +The `UNSTABLE_EmptyState` component is a main container responsible for positioning the [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) components or content. + +```html +
+ +
+``` + +This component is based on the [Stack][stack] component and accepts all its variants. For more information about `Stack` usage options, see the [Stack documentation][stack]. + +## UNSTABLE EmptyStateSection + +The `UNSTABLE_EmptyStateSection` component is a container for the content of each section. + +```html +
+ +
+``` + +This component is based on the [Stack][stack] component and accepts all its variants. For more information about `Stack` usage options, see the [Stack documentation][stack]. + +[stack]: https://github.com/lmc-eu/spirit-design-system/blob/dependencies/major-monorepo-storybook/packages/web/src/scss/components/Stack/README.md + +## Full Example + +```html +
+``` diff --git a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html index 0941a9d07e..ebead8d278 100644 --- a/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html +++ b/packages/web/src/scss/components/UNSTABLE_EmptyState/index.html @@ -4,49 +4,33 @@

Default

-
- -
-
-
-

Headline

-

In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements

-
-
-
- Action - Action -
-
- -
-
-
-
+ + + +
+
Placeholder
+

Replace me with your own component

-
+

Headline

-

In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements

+

+ In publishing and graphic design, lorem ipsum is common placeholder text used to demonstrate the graphic elements +

-
- -
- Custom content only +
diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-emptystate-chromium-linux.png index 2bbf696ed5027f272b2d508ce11aa27768a97409..136cde82a979e9652b27b7ff502c143eb88c39c9 100644 GIT binary patch literal 32144 zcmeFZXIRr)(=Qx#D~ckb2+}toMXFMzD}ta1h)8cDy@U>-gCc?;AksTXlNO|Rq5@Jw z3mro5E%eY5-WBhy_ul8ZpX>c}&hz0ME-w?wKeJ}dn)aKS<-4a!awNpm#1IICy3yZmY64|Ui| zEFOQ?J%ROu?fF*`cKTg%CwH;4W0-@n1QcogwnT$*$?zXwX^1aPlHWLiB?!b$;)*YU z9mv~zkaL9B8>dg*AiTaf|Hli$t1sjKWe-edz)mUN+LV6wP`x}R+ss&|vLYsXe2yRs zNPPGTnJ+1=NHyEuQ=}kkL@Tmikn3ipMg=_W+kFj0FfJfW95>CGJ#(!rhR1Zf3Mbal z*{LDrpeKfHrWbY5)$z6)cp|JZXjMc>Aa@T{O@GRDbiK~j^ETE&if$--a9dg8&SzW9 z!?2V{_s!6Nlfuf3#`-Ls7^OjWTu=*EryQwQDX&xSG4k94A{p@^Ho@RerqIyKIQPBE zhaN-(q5`4#?0cAZ5>6{P(i8kU1N?jpsj$r(-e_+lWkk}5T(i?+cj1DfqPCIW@f?N$ zK3c0LGltfUcnLE&A?POrvRgTR%Jm*5c|18;J%L+{4f|xes(8zRtVp{6Fgn=WzLI7z z)*pCBIawr+yRxd;uP#@QpW5%2IxYty8F8?;STZv>St!Fw<-*|<;Zg`3 zcFOOZQ=pB`3O7rp$)lW{v;MM-_g_Jobq0@BRP607+}x)9Z?2ihnwS{c+Z);!W!D4* z)aW3&RZ+dXrpB6F0|QfrWQJ*FE-Jduo;_2~;wB>cBlZa^bogbF@xq)%yK{5CmZ81H zqlYf#d&Q;sx;lG%J2yiJtli^JTe#JoyuPk1>6(%qa8y!Q3vU{%x`;SF;`AxDwUZQ? z3n86{k9{f1&DGYqMn-YC?^VK3zraI8L`3GcWQ*~t-=R6$Q_m|~`ErM8YpjsIBIPM= zPMA|N5pjEJ;R6>FRJ+1`6+cWm<{TigSic+Qw%6{ij2WYyT*&5T)0d|faH}pq{$7~k zc{oMHb8sKO+do){$2G)TmGX^yZ-zOpSEpa7zeSMZS2fg$$X9GvA{oWieC|S=VXzl2 zdFVmK*qxOG!Ijk|jf562JhB4gb65fRVe~uMn;T5Vqc{aoh0%FFCo#g_+r4>;SVjUZ z2r>zOYRH%`gj!Tnr?a)aCN`Oo$?fb}Qi<)O*Wa1QHtk>uj)Qc($A_)q56)R66rfAz z7*e>ehD!=Nr`&OqM)sIKNxp5g^@fK|G_Yl!u7-j~E2{uAo{4Jj!XNq@NLfgo90Z?m zg-JN%Ka!M=xxB`!^{_@rMUhXEu=?ckk`JXh*#*)IMZ9LlCIJC&Jr8$#ck;Q&?49kk z>K04Z^+eybph%@Qrgbou3miU`FQ#U&6Z}?(1tnP%?sp^{2VZHDT_Cx9xS&%w8t_3mg6VfPkao1BRMdBokkTLCS@a^+BPbdYC~9J-V`qnH0ajHoAr;NivoBK;Et`gNa7F@ z6fpPgPCa|GPS#BQ+7F4A2#u1!A?xxib_N28?$ZLn5Kpf4QZJEQwY=$%SE2Np5e|3O zK4Li7IdXl5@)O6Jy-$t@^gQC>AZ~y)6*7GwN{R{-RVTjXV|gALq%h$Gw`%~5WaPs;vG@ZQeoQI<^u5y|3MJz7yubTq}<=@CV{4~AC{TBLhG^wYov zFca=#+t5?c%M!eESOD&!E#@xu321}aJs4StEv#-B@VkpP-MKi=n ztn4l%_eVQ!Z7tha3ni?zUs&M%gXo-jyI^+K&-lSTvg>{6SzA+S$-4!mX14V)hNGVB zl(1MK$D?uFNSJ%0Q=EiRe7U&Em^suC7hMn#n)C(X)&Ewp=giw(dVY((HCRfha=w|I zpz?=xGSqPW@!DaCv+(7UgZqt4TU%lnGt-5@mhcGs!rCM62C4W6l(LT^J2z)nTPt** z<|hk--*%HvC2#MP#OPu$D@Uzjw(&_xWih0k@l_iW?GD@9dAYgSEXK-<6x$ zylcGu`YpM+IQYcGV1YKOU7^x`eq*|N?QQL{v%948+FS!4Qokl0UGBggw^!4I(F^s} zdrr3W#2Ti1dDU)TBtC<~QR91zOfS`!gQss#c$Up+On5__>8Dg3a?F46Dw2D3Jf-QA<3TACZlA`F{BY zqczlbrs=75mxaDZ35bJgxhIr!Jo=vV8p;v^%?)T|z3E}&W=cJ_9H%=MkKd{>!*9$Q zNsjA}w0~A7OR2-|Mc%0pIKJj=GqIlMQ)|HgW6e8oG1(cJ3v-nF z?jB_!?@POig`T>}${tr;?2levY>~I+?K%{O!{JKp9efE%4^E$<(X-QjXnJ2I98p+^ zGu0-Lf}qQMA(semzV=&D3_^a!8@mFs|Chc1k^EnmrTtH4t9O_5K$-<>K*VKpTi4)J z$f(MWuLUDnnG&+4rp@_6PF(KCWopX|Ozfp5q@yyTQm$*L1+~QIIEp7BQR+V7Ix4J8 zoU9Wom}wzL^z=?I6PXs@6lL0aa>;;ClJ+xprr_oYx~VCzlOLH2#M?5)Q?X*B?ne@p z7FwS7Lj$>PNTk;(e>KukPwYUFhlj~21#gmiFE^_Nl<)+#95rO`UAp99dbB*$@tn*J zJKyT{ni>Da5xu^1lg!Pr<<0%HaNhOdN^U_F8GWj|rmiwO?H6ve9wGM+P3lyEYy{MG-L9=Abv%n6{j{(oiGLNgmc+ANl2E zW;fT*n7ORp!R(JWWs?TCq@&MuEcZDY>aLoxkp{LT#@1tDOC|d|Q*O=Jpq6|k35GSH z7p-y3j$vzL;c;{x;^SVEfGmb?oRJBT^{QUzj(W#7AyTR*ll8FqIBO8O!kg$e^Ob^( zilKk0s-9UW`(|w|EF$o|W&e8DnTNItik|je56P(L$#897@6@0oz@C!=FA;}$f<1dt zwRWv*ax&o_Xd@(?rl(d*v&##}!;|k%VMr4k_=LBMxH)BR{*cU)jWJXB}md=-rb>Z?ZUa z750JNQNL(ubQ8nTMhg#FTu=Q`gv7Z)(ddChsa^F|A+or>tZmHUrHNRly?$JRtnm}$ z0LsIVTxavON>}^=dLp=`dqb#@gj!=oGYI*_%k;>SZ0Q>9<~lMWY%W8pXjhDEiT=uA zPoNIi+U8jiQX6enrZunA6z`M6pGQi0G+ZTnx3i@u;9^?vfHN=O_{RvZ?9CRW(Qu=O zC7nW(T2zF(H!D+e=e(fm!gFnIBlQkSvJ$_U9~Pwj644Myj8XBhwfi8*o<}xp=Qk%J zA@Nf2*CFio!~#Df(3RLzf1zdmuaMMKz3Gb(BrTE{5_z8RPjvHnNW2K)`M*b}v%+%8 zH;7WtrfQw?y(;|eXDW8%G~xRnbX2ln7a*w*OHM;rPTz*GKheSYkF!90ssAELSo6W3 zkTbro5y1(+Kd8Jw@o#4Q`#wt7DL^2Ce=U2@5Gd*{&nZZsxjH0O=5OGhoJqX)_XmxN zUkEfHZ@*pw>o!u(F6y0zeD2AI+u~_#Q2*gr=6Y`YlUm3)uSA=~&Xc+zX#uHxr zOeZhBq5=yK#X70~lZf+)>3`IbN+F_wT|XBzt0iKlkoHNfWP-G z-uO-3{u&qI17F6!B91~QZQO8Cz_{9^w%flPzGb`P%fs=B%&_v>+dO+E5kxk%yOpng z9v^}E8+c?bv_dKucD+*l((aMo4N8Tp^{=RwU!3#(F-83X0(t*klI;@2_YTn0d#_Z9 zPnDkkOEkXUXV65;dZ*!OB6qxie9ftUfAGChvrgfwpz&v`myeEwg?{PVt9DlVhTG3a zg#Y}d_~tp~dQbYm0YkK}5{}z$U@@e?KUvVSNXuXp!IGW7gB&VwAACLknxI7DL^mKW z%(-`Za!jI^J9?+tc_-eyPJAJ(%v+-HV7$o@9M3Fn!Be51ILGcDZM|7StvN!KUa7X2{DphDW;`5l$D4qr&N3A^F`$O zUk3KT3Lm4WZ9OotuBoc7CkShVk|j&VjCQonZY<-GgB8H+wQn@X=(|6{P(xC+9AOUY z6jy%A)%~3Rir#DKvVPIKT)8p1N)fGqo1>l{bOY1KK#Ah^Nv*j6K_Wj7Gd?N5_+xOB zzr^eB@STuHvIkNbH#?@3G$0UN;_Q3Ccsv4NfZg~q=3xt~&L+Wrb2at$X;i?3SS|k; zs)o!qY-cO!Mt@FD(EWDlU)~~L{%#uVLgicdyvWyn^_7}{a$9AIh1JPe-AJF^rsrDR z%D767j)s-8`$m3a;?%)F;1WA%Ixj!6Wv!8amX4^FB{-3_sC&shi4ociT(H-5Y- zaF6k|`uwWvRQZrKNLfZ>!nbrM!d1q-cdbEuJUWtWSV$SFkYdhEM&=d_AQ;B)+~ryx z9&e~c!Zq|={oc5{N`R;qma_ow**8}wXiuZj2gp6cec|nLH2(9r+C4K6G%Q&B={(QS z;G?;3UD(w{S`}&0DGn}mb!YagjZlqToOy{^xbR4rhj83?&Rl|gHPK`5Kv96SPb1P> zHpAu+of2LQGB2Hao282R-PQ~Pi0?Oo=}m!*1{j&>P)hh#$6h~$Mf`RKAy6K^;tnX` zy?iOe`r|2@fSP*~KlQrtRyXh#c^>Lt`c03lR?F`RV{1frHu!1;TJ?oknk%p*<}+#& zO$~$hRZL`6y_kUNGMN%qX_BA;s|-Fxvz<{J&F2>z+p!zOE5=@ztFS5bIJ_Qido^?g zm^|Yzlm6!2!)jw~w(VGYw#3h95r+ZDDX#dBrK=pNTFM~}2H^UL}2qOwYgWxiF#5kF!itTViPJnAm2@?$3xPBHag1>t6q53BGAboE=sx1tE2a6!TLFI>|2D0+{?u>1Q?|w_{llr>jgEj5OlZDw2PkB!MfYC;@V3AM397(S zQpoMQ5lB;1%{hqqKh$s6k0K&vZBuy^7_sUhU11t;47 zU|OF07QwszD}4T{+Uo+nBL*f(MnCSZaSB5Gk5H$Ydg`7bNQHg}OhR7ZpI?0ScgXpb zuzVFHTS~|&;PO&g0lkpoBsRB zf96fE+Z_J>m3xNExn2K|4`B6YQ-s{J1OA)SX;w|b9v}~15cud-2>!=c{Nq;Ydw(6x z#|T2NrQ29NIauLVTVd4?^f2wzl*C=}wuV+~gDNh(rm00y;1jC}?hf>dySn+rF0UxI zI-XOAW{a%cK-`B*Oi||T+ls1Nw^uoG&jIgypKxg1D>NVM1j}!-(RMs8s2OkSS$aqB zmtDU0sqPs6J&ylin2ArIcFpOlD+zJMOjBKo!qaQ}&? zNg%`utQ~+`-8*s-ekFc>>8%-c`CpzR950xIiE5lRjgKXIH3tG5sf4Fp(}r<2~}@)7q)5^G}Mpkr(T^GDOTI5 z(>rt(O|Y^l;oF>TYpl%pRLhZ97M0yq*%AtKUN&^G%dbHdcF`Vm4X2CDWqR}2sD7#$ z1NoGMnRe5j-uG6)g_%yud9D2NKVf0v1tYjms=T%(?Q@bAHf~E}MjkG@;s)w^{ojNq zNxkIs9r#WB5$GaTNhvv*aR$k`;7UK8XIBB6l%ZAIkL#Tm{r-x$UrBfx(Wsu;7e!jK z8DEM&*+7)IZ+UvQ2OS4FteN;{9$I^Mf=pobam~g+_q&m?ye3l*LoBwYmuF}qN=vj>bBVr$OQ1ZKVOzSIXznQq^vb22>KgOu(_-_krwIQ4re;UJ2`0}ZUAK0=6SN)%Cz3p9=CHm}bDLyY#%8Nbj zEwb3wdMan@&oGHmXsCq-FPmRox(Un-8NZz^bF=8r3fR*(ipFl=?V&RZMJN+5Sq0gPL+aSuj4{jd#ELbL4> zUhLj+5Fhm0U=#8_-s8c1ynRo7h>Mpk`hE}xr=<Tu=xX6T0QX`x$EHj?(^XU1rjkEQo;~8lU1u_ zvk490O=A*<`=w-LI0~Zu;-t`_c}7WR_*#$+$ex^zXL=@O>x#+)JSy-~ZIBNRj^*cY z$dt$u5*YZ}DTu%FL&ZT5ULNeB!b;i|+H><{jDZ~@TQ^TiLRt-VpUXiH`f*a$3X1QM zPjIMp5<($ths1`3sq^w>BPOvx`A5!kjx_@Y>}~Dbyf~rF#%nqVua_$@#BlwHadqGN z%7BqWYsS?phDU3!!cxQRcdiR3;jM*(syF>xWZc5Pts zhH!HV-evVqf_=@0)^dMu(9xM$vQ8GZJd7;YTOAFQ2biqFHd#QNsd|c~N<hmD#t{XEl9l!|%}yI6`DI$FYJv0b2my^X z0ht9Ofpq7SoS4!Js|&scVsTJViw%GwX>JXwK}$@dDKs>>zOB>KE6pp|sG5|SMqQ85 z&>*UIb4{?CD9N45g%0HRetewAGK4NMH7<}dG?6tlar+#gfm6P1nM>T0|1%#aWUpyv zPb)#5?|$B5Na91%lgm?5$_M(PC4TM+=his^#tj;uhPqhDr$T>!3)Dftk1wMg34jT! zO3J_Uva1AKK`0adP7ME1h)M01|D6~9F2vj>WY-C*SAW-eekRZ{Set)P1?&ABpLu$t zKlk6%|Cx3QE-3$_C`JrWE9zIuNMP+Zk=VYhlHV-;lZeS?^KVXO{{_9gT#W}oadsCj zZ3uL|DDKusF~DvgYMNUDU3w((8X~I;_C<#D<3`M40)kZ|P-jlzQ|>BmZ~cdIJ%Xk82*ZY|a3v*s4X zIb2aCn(!4G_a14__;gGp#I3-|U2OZ}4ezNKRjexnQff|!tU^$9gGKdod?> ztB?GcYaW){EKC^>l))(`m2tL3yg*SdoE3?p2!>xzt1{PWexP6hz&JAj zAAO6lnPy?h$gU--8>~#NO=p9Z8AKCOWIYWJ+;zdzDo1L z*}O)}k^)IeGrl;}Qj8?XY)=v;s##dRwSF`7e4ZT-tAw`11{CvnyDfL;`85L*de`zU z@%;hY-UI_GTkb_{V5C;A!O$*lm8Z_*+*@!m8dkh1qn~QLeWp6(<3Zm|!tQ&@IB%ZJ+Au6G{%NhCM{ms_ybiK9H+;NWC5Nq*G_D2hrvN#Zvh53>OVtY{VU~89 zeP`}?t#~`f&>RHSzuK!m#S^MD!J5ck0AIaMzIpG7fiT;G0{yw&6Zp!(dy-=uN7$n| zeID%nF+SH$W|nxCX^z92Et!DkFmk zRsBP~>DE@LSU{x*E5*EI{ecdt+4j)q(DlxFe>NkOLJ;uDWZ}F@O|0az_z$#Fti=!H z5MK*!z2odkqGjlBU0q~nvg%49cG|viWkg$s;zyIWovT^l3DwDV zPo{KJk1pwlob!%@{Q(n?P+q>Pon|CXE@sS`+aNJWB03^mTlcn5u93Iw0Z@J5el1vJ znRO~S3v!RA`@VJJzZFP$QA=j!MW7}~p<$b(pl{H>PFi|PWE|P*_QE_PaJ60jaH}uP zz=dIPd3L8MN3+Ba<=Z{bFJu+fdX7Gx160qE;~{I1IlW2$6*Yu|P?AcMv8{D|;jDJH68( zkIb57T)KZ?RvC6G5`5wrtT5L$ro#0=p9{3O4qYU@dE&!s1}M!()>P(xuEM&~X)@TfhG#&rtc+r+8LY4A?_V%^hssxf@bULBjw&=a~$oHtSaVgi;_y`e*UfNUS~jQ z1CX_IcDhQ&P%_%w>=L7uyRu%IJW;mAFSLQxIk}TF2H>JRE&$0g;aoM7Hf;G0lr7=> zHm}b@gabi^8#qgk7pP*D_7lOq(X&Urs`{%^Bde2|x@vB>Ii0PaH-qR7vN!N2;dBFV z3IWB>%7phwEize1$TppX!a`TSh^mY$7hUO)Yhw`_3uxa63LO>dG|++TRHZ^7v)NSH`fLANQ)Y){aC+-PkW{} z-^shUEmeK5HNeuw>*{_`(dJ^>(;T|uC9OTIoW8cqz{DhC!s0AUL)pJ6qx4qDTi3=^ z`%w?*7fbobQd)V--oby%wTAfohYg_<(IVce%1KQZccO`}m+M~vK)PpkbAtRvw7Ryy z&DE=BFAY9Yj0z}SzRdKpC-=Yr7{X~iw2ypfN`KBm*6cnohmn4S$Q;W^pFJ{!S-h@< zC+gEm?t+!d&kfI;IUO(YYp<-YZy~I9&8%B68je*)#f%+KNP~-(AjDDr z3~?h+Ul8Kt#Zr80ME9kqUjWgF40y09xD4uc_fvPR{*dl#`A z;|a-5;%r_o%&o|%u25I;GH2#ji;gvn;uq7irvJZ#)%$)x3hI zEYS9KsX^ z%hS@9B(eJ1i5e<F0oAnyWn$b*_Z}|$cFTi}U8MpgFV3~^A2t+HPV&)8LoPWN#^2tc>|X*E7J#_7INRjP z@JpRf0L`>@eKD)VEFEBYcUPtrUm1=lD4RJtsJy~uH#_oCSBlNGgzTSNo+zbrZJyYimUOa!OZSM!F`MfJsEYIlpW@@nCi=Ls^Vu=P4H z0HL-p9hAqx|2TLe2z_`&w^G~|R2IU?9gX;5gXG|B&13gC+30+8oES%ElPmb*OHDS2 z;h?+_l*<9Wh5)r1gNGk+*(G9FeR>~H+3)XwUub+iHn?Xyo)R~0;-a!%O$K-BV4Q+p zHqIJqq?iGgs&__OX7+{p@?59SWv5-cE2uU{wys$-;ZL>Y@=SvX%v2n zXve{6o;_;lcYGpb^S_D&r0tVGcFeJ_9EEuF-1mmSpny$CXill7q)0v1mdJ-Zd>~oU zc0#<>n`L3KWlv3g<$ak!P#_|B^e?C(7!PEyjk7&ic~vmMl1v`{DlPols8eV=vd>#I z6B^UIoa;k3fgPWs({6P4n!K^bD!YrRwuhT{(7#FpEq(xi%H*0v~cu^t+y#(Y=oZfV^yG@|2jXu%0~ua;!Yc}6$*&KjuOJj|dA zM#dYc)Pri|tsXs|1K1yCL;>nC2SKG4dz^)(_nC#O+`R`CH6KYd8>eG?D;u)xn;Ujv z4FJqmx>OSC=91#Y3Ye?ieBu?3xE;Y@&?plRIamF&JoU311ZFRwV8E&_uTouU&cy9* z0b9l9C131)gCz zAopJVRaFKn0GJCl#x7psRrdFn18>fG^>h7CVg$=9yXDPqex?}M7)t`O_Lj}JEKz>i${3Mgv|I)>-?{^pQ z7rg)3eId*d{+F{!+~EOjTL@I&WOOYosO9rqil(&?*|0c{OfJIWxZ+|PS3grRzMKe6 zn*5C3B#@`mHz$6v@Xz{eMO;(_%xP$h4pAA(h zxM-rY3Zbu2X7*x;e^jH{G%Kj3Mp$_rjAaERt+-^fy=wubN5agVeb*0Y&O4?pFpAf} z{K;Uv#=`OO>%e2TuZt=LBX#yKRt_&_%g%zPce9+cC#TCOp?*FK^Lndni8`oj5L3UI zcqJT+7XW9w0-7w*i6Tr)VK9cf0CIr&K^{pjO&NMHKd7Fa4BDh9@b%j9jik#U_ephW}+)*<1$$sAd8X+fIksG=uBH<;u92| z7p}9>2cVpWs64P`|FcrpE?tob%hX(5f{gL=JQpAO+wMA+)4?7>K`k4BiyG%bhm(?b zz@BA{|5a`U2+vENLDKdh# zZ12cfb`Dwu48&gFF00wM`F|sZ|05%YBiF(}5T(hMXdL5(2+#tz0K5$3(ktK~32)y1 zPfj%d@44dVI}fk@^b(ncG`rTdqz7)$a3{2ymJo_Y5Yc_lC1G%dB(Q}}mDL&3n=>D_ zM=xG$iZUfz8qeGYztmrOJYX|YyfDc~7I)jSF}1!<)_9yUSQUkmodws=u2Ydo9=$Ut z9Ifpi9$sp`t{^5;Q8%y)E;Ob)^wt1*?rfqDNu<_?*_b41n)-;pHcu-NuFlEWB;4K; z{bLeZgXP+H&k1}J@Yej4>rz|4oYIeXEsZ)4!R-pROnvh3+}!2T_fG&OgM>T;t(MfP zqh=bP1J|ifHhQ8YGy?Z9+90p{MhMBeR0&AaBF)6ah;7Zq_2$GrzPRm~!6>Sv~! zYsNekViIgcTz6cNF>%8pJ}DKc;Hp}h@a~GJb;pDxzVT&|uF5wM*@%5EorBy%zAPHU z=1t^J6eH_dH>G=N7&_2jphp!cUeoi-983!zKeBaH^NI;8kEZ6=9&3&*O`ObyU@EM2 z_%O^7tv8vf4i1dWI>F7P!EzCB=c%oZ^zzz71-@=!e$H%eHYhMUbB%Z6U;#nFrT+;^ z;CnuRf%1Ax?eS_MjV2K5!v{dDH_*juR-_D4T8_v~)od#$KWr*SJ9hO7dQVwdYH4W- zKYrZhJys{Y*HQ#qK>FZw*koqsVB>?m7%$kk{u6{N?}E?|C8m;VG@Gn^_zj2M_M%#OrJX_Z#4p9hx; z4H>_&DW$k=h51NQ!jEZ>#~0uD3=kl`2}3a8=riorR>% z5%Ry($+a~T1N^ifY{jOVgDbx@|F|>YgqK-NN9G|Zji~8RcWfw~y3No|Aupobc7ARt zhnt+7qTka_MM)pO%UfxI1wGMVf(yNu=Ij~^?(M4B7sX^ReED`p+$R}^hAjpnO}BUV z_UvGzbRO~w2%~_B+Wi^QQj&UYydKj2`)famG4$id?HqZz-a|!JV}XWD&-7I`8^Xj2 zeZDEy$bn?+k7Q6I^?f}&d=Pr;T3Ndl#_c$V|H3<};o%hTI;UO%MA$J}G}oW;%O0~au;q&z-=D$I($c!S1YaN_e%#e2N)5|JO@=4a(~G#d zt$kv;#&ffucHtm9W#|jk16-wbu^BJacYUPLBuu(k;f2Ak=-Q#yFGGAOUiq9rAWygV zw#L59wtHY=^|xoI^wHJ$1p~+I_jKG$;NJ4Ik9T*Kml#>j=X@?MoUTHOwIS8ro|6kX#~k0;p8y{z~!H{f@7^YU}6W0O_1)hQ^ht}e`|!u%qG zEiz3^R0?$ZYr7ovfSR}+oGoZ*ScBQtKa3=NmlkLj`1u!j0dIcdB*Je9BhiG{pF`T< zl`uArN7Nl%3j4I&aNAp`E?kM@W}5$1>DNvqic59Gfle93#QUe8$(%jA)SE|c!KAnJ z7$bk}{D-H~3i9%3McX6q8@fhqrq_C3tWQLd4#)AE;TJmcw~S5A2toKB#a|Fh>#uc< z3B%#w=fhb-AoxG`z|(22p?Sz(vjCdqt0Q7YQy)K#p^vXyIcST)4szFy_AWB^qEHji z3FnQ<3nLz=(k_{1WN`a?e}z3dN$pxe@^5{0owtK0&(8~-Y5HWGT*Oks0r_wS?1Ma- z(`Q25ealH@eZ8^jqDX;+%lz2xC|>%!goFf!BTAw@W^g7Z7 z?R?g{^INSyYzvqrqJLOAzgB%Qe`hF^R=)^WvRwYJ#$l+u(A&>hgGX7EP zI;3_N2=pmAYgfEZU2*oicbnA(h}`Lyxa9#5(<}Ysw3N7$=;-DPHLp=J7-VO4RT`#5 zmY4MB7fh}TeHjesZAW0naPFP2Q)0LTg!!YQ$LdZdSE?==ys69A&iNk8=qJu;?D+1M z5u0V%;R0O^Y)$G$`ZG27Q}3}2#;7(ob8Wo$PM2Upg)FC9nO7~Fmr(D(h$w1)q}h3G zV6DkYSp2;E>ijaF*Z0c)gbKC7)!{tH0PAe?!B-DzNNK&PX{TqO9;SEFiI!T!+xyTP zh!S&T^-&moO;vSA?7shAdTM5JYstL3oBHD?k4H+4V8N^*tfAD&R*yvJnCY^W&f7~Z zZhjJ6u|Zdv8QP2&scqvWs+U$)%yg>u3@s0DL2U<%AEgt1x3pv-QW@9QEy*pKT%kQi z>R#)*c9?*NDQIby+HQXHO-2hgbhwN-Qinc&;_iOw7s)Zj{gPQx}O zue$XR?Ny3$({a+_^4cXI;kyE*K4CTw-@aX`zyKZD*-RScQqYpO>bES*vVZQhlXEfV znW}1LOd7Aj-htDT3KuA?!YD?>wNkdLKA_y@^Rpu90X=ikxH_k~tz9V}N#oR#h?)8a za-)0ncHSpEVl*_2jZK_`Jo;4wHCEYypFf+d2%|kVHY!4__@QtUT}rs_3ZI?%%(>lj zdxslK+moaL@5!ZO5yPUz9vh>6*C9FgA-B~2mDOpha>5t#kKVMynh zw?g?EawD=`X(>P0Sm&M2mkv6v%@-JDcTrPQyI7!lYb>L56?z@sJ0(_&y~2*}&`++Y zm0<$(9!NLTC!M7G+?%W|%r-92J-VIgZF%I1UFqSzDXHov#V#MgLW2tA>e;2YEv zcRe=7R;!V$^pi>NEDcnxHJ{1uGAMN$4$~GIE<2fI^K$o+H2!eqlg{Wsp0KULBe(0> zQAI_~FlYo1Hpfdwe|tuILVupCQnH{h69w2L{5;4)yStb!dbK-k+qV8MA{*jT-y}WRSULIm1k{`ARaf8xSL(y+kyz4gJ1H|C;f zgpaU`tSl^yGNYy#9UU#xQ3TKKet$v4ok0uUM@M(soR=eWhftKfr1;O-;WUrR3RN>{iMN3Q@^@8JT;C=_@TOm-N~!-t)^lDqZv*H_d$Blw7ql zI5~cDxg_wHPYN#Em z2j`D27%b%QIXVlOJ)_}!DmCy16_tgz@a@}Iq-V($+wYz%JWET+Qz&ocA0%n7uFlBF zc-X|g26e2Bap=^D`0*rR9J+D-nvoHrx-0;DRH@?Uu60q!Q_ZeAbcQ%AkX$68&Z5@jVSxwhU0TC+L)bwI3^rX5kVrjc#M4{LF zy+cwp5VvL7NP51N(zQ=%Ua`P&5i=f!(kEEtwJe&i5ous8dT_PK$MF$c>o!!B(J)?` ztA`j}lSG%b1~TbIn&X8D?vut24ZiWreE(>pn3eY?E4z7Z6W*sF2O!_{y~_45r){5) zPc$pCDUURUgFNW{Nph!Cit+npDVm4PjprG;I?5!9Tbf!oW1B z4r_?VF88@388x-EEVrT_DrsE4cJLt^mr4K^z~KP>-u;JDGpXvUAMuKidW^D*xp+SGAbOR9Le`-Z9nFj@>R5k7Cdn!Kjo_J>(AN2L~=Mon$A9yYc*S!t-c(s^^NLU&5 zQDw40Zl*pt9A!W&P=5p8nyaWIyf#+wyh##-55TQ@bS4NaF;JtmhFk2w%$4}Fa9-F$ zVhr>=q~(oH>Z#Pmr4hLEm)!(U9D3$eIy=+II_X{mrCKPtya4!iiltM|i=8#kd{&Lg_%$ zkYjh)n$s>ur)vGB=EQh-PtQzt*Rl1o@Q;TNw-HIzQ!#Xf24Orb79tNtmq+UqtaZoU zpABYvl5*?K=b4ofmnCc2tgf)-+a0GQYS>uVlv5DqtEEfQfkE`^qZ+*1>^cw6r?r1W zqDqaO)}l{-7{I*vCASxx`IpdTs@A&4r6Lz4Qw|FRI?z%D9ZMAE1j&ieiE-N!tzl{g zpMNF7G<% zDnFWr`)(fbqLDHM>H%-wHnH5Stg60Y<~ptNY8yI`Wq^eny}jJ#0(E%Y2IAT(6j~-; z%&B9)dEpzc{#}vCPE@v?V}YE)qiR}aIu;f-DU!=YxB1(5a}Xl|aUVY(a@~|sR_?0n z@S)F-3iC@?DV6uuES?79Wpja|GP`CYBSC=A>_F13t~pr%OVT%h|28BhU`W0l_GfQE z9<$4Nc*q^CYFM05s9SNiC)Sg&>k#{YZ@P69z=jBoqNxDN>D@mT_w2=}$Kqnis;S>OZS(@O~eO7;Z<=tJ1j+Kb^baWJ|Vu`#VNRg!dioXfB^e~y3op&E~$-VmMm}; zpAUE@bg8JQ)%P(asb%dJch9nC8)cjPa5~wW@np}aV1)chxD%H8v{om30I0QRLRpS> z&P!LBSzKzfp9j`@ELCzhlKmh#djHLvJ#I<%kJR8mZjXVhFf8q5Iu#)4UUXIa@+sH>bNa`{Xc4d zUi=H(a{X0g{f`g$!smGm%Dg7<9|x-TNX)o&i!mELgPdyx&mymVpIvyAR*!%{2$yK@ zX*72x)_9L1GMwRF4e4yk6SW?g-N)CY1Ha1M4-vz{#X3h9&#re6FSG-VU zc5qmHrQH7ze;OiBV0V`1&Yh*bI$scoul6b%vbUC9|2RmywPMZFFnrGUaf&3chg=GIKw`O%DNI|j+3k$V?qxxT9_nSz;Izyaq#V^i~B&Jw@P5L@P&bqO6FekQ<$;qI}(-Nx3m9l0bi zC-Y(5=D2Y6sPYP{;S3dk1$K7uIIC5R+=*_9n@;I7wb5peUNdIks2%C_ScQ)p02~TM0Xe&|ib7Xt-(Y+>Kw>jhC#a?%O)QK)!;M#Xeg+3bIKJSXmuq_%eLQ~M3)#Dl@Oh{zCd$E z2c7piz$00EzPg!H*has~ZKdHdRAF=&K78DclegTe39EAJsVK~DRn*Dn^@rPVHW-4R872f#h^>Q)WZd5!Y%D1lJryuK9`CJO6tcB0Cw z_QX95sQ3H-+WYRHrnj}-*il4KDbjbgqSBQTI%rUlE+8OX>4YXV5Fn_4NLP^Fg%IgN z=z*XjBE9$Cdna_rUD^Ab^PMyIoIBs0b7#JpGdIH@j1$RP>$leXKF{+$>x}^mYX#EM z+Vc4wr*?Hs{RC~Z)BUO?)af3>|NvDcaN=nFV)xPjDVb5M_>2o4TTAE$t> zj8w~5^k=D^I*7f-+-g|i*wR5KB~fg@u(P5}!UGbz|5;H^P(y=vvO^kL9;$ZGWU(P0 zVbnM4UZP>~{P}yAUplS62`WU%M7oNmlBm*Gp~EL3j@Yx1DaF|nvf|V%aZyn>tA>!f zpF!dr|L_4(TwzlEjrD-4Cue_gf7Dge3*aN(Dw`v4VB)dGxm08fvFh2sgtD_Nsi|)7V zo;#CQng{r+lX;H_vtu8Oyd_flzmP19JVi}S^8`EHzrH7={Y1QdIkzj1&mx?lW>ZM) zwd*&eW4M*OPb@tJ29+#H-DBn)m!-S4)M+w@jXU<1*zh;d9A%_ru)fe)xC6#o@2Yac z`(U(NsHM0RgjQr+>5=P5*!h3};rQZqrROC_rc$Tl#y@v2T%Bzh)Fg(4s%3RAROE_V z{tSz);j*3TY{Z^h?{=ocSnFh5 z^U*>V3?^^|ew#K>phcydTf0a9yfgpezQFGSs=O}!CV>1kD=8c1=Bi2Y^72YU; zb>+X##zk!50g=zM)ngZP5VyvK=Efnddvz%;U#4@ZA*noba|4CqJVB?0?-(}L0Zz?= zy9%1Y>YAj)xRRb8GEUZokr|+g>t7jQMX<^h*0f5;NpldwgfzMU(gCMCPBz19745PZ z6CXR{*+i1{u+O-8bCZx%2-fDjpgG8Sq0HL>p~DF6f`mGts;DMazYh=3%Fma{vA4hF z-=WLZE)A^+R;!EUe^t*vwJAB6*=RKu+d|%sHWo?;cbpn@cgB-O@P1E;=zka<(@gXWIYPqdJRKmh@ z9*|&Say>{CGCYRpjl){NsDQ!)&W4^f_p;#C{S6Gwr`5TF*eJP2au&QDYnmVC$rGn% zE9_L-~Az za!<0=b-|IzEkh8B)sV{8_m9oC89kXl$_u&Y0~D{l7ccDieBWtt;qti5UVLx?Pldx) z{n`cBFz|$aMt^9(t4?C%xN);&Rq)Fj|APg0L9Z-LTuI>}V*3ymecT}}`1i!hWp6Qz zZ_vQnaK?UBtiHIkt~Du{w3y{nH5@hUF(_o6<t*U$brZOe4=GHi1ixOH=pe4Q+Sv{J`fMMziEujAUzY_fi!nEa=cJiD~r> zpL`|hKq&;7@(+qIVPu#+<$dU}YBrXZl5gG`78u~*O7_D#&h^PRb78o)m!`Ri*4;em z#$ak#K7Az>`Swal&qGsN_Eja@q%;0xf$Hvh&`+ub#nN(V)W%a?jF-870*n1f`J$yg z|54vFonbtw4FIxxk7k$V#(?svpe!1QeKfE?OkBci7YYv8|UK2EJ19~m& zxPtppCW@YAW3S5|Ma7Ka2%olczTjs(^@_mlJyPgC%cg0wl#4%+ti1R0XM+L`=Is#; zuy#*pC%BnbM@5n--`;K{jH(({O3r4>M{-AzobQbWj5Y@b2Go}%=P>o;dn`4T_bX~A zkro$*rn3RW$tP0U0&?9-)uSReOR1O*sIQ|5Z&G#{c+P+x+Z{+xM+l_&afev~_e#RNlhY$^a*f z4?U1@CRz1JOSkv{8|jCnbpEzd0P;E~C+CQ=-UTSj(lT224*pR$SL^_YKzzx>;kisu zV&BfD`2@tZ5d#T>ql2g-t;VK{bNy1BV!%lM&;+Z@0Drpma+H9ImFpKcBU}L_FL2t! zlBG9snWNX38JkJ23ji`$_JA{U#X~Q?yz{1Ntgr z=vJWfqnQNH_F!zBQ*f3qQCMmaEwF6)FBm1i*C&_BiM{JLRn`$*`r@Y}9)(#BE_p5g znVIjZ&T5V;6CNG6IPq#kFOIjNvlh`>a{`09Z=d`ImW&2|IP3EW@~TonK?R8Y#sG*C zQw!@kIaPgR6=LHh`UdHg@8(z6!Kw}pw08E78%cg|{p)_#;>*jfG0p5^I{-QI4@>SF z92gih-?T^a3P$`Fp;CgiHgpt9u*xwoB-0#D_(jOh=Oi1p?2K?&Sy|oXip(u0T5m@c zC+EmM$?n8Gk|@>%o0UHL{n*Sx_7O%s;YXIdi8#ryh;0w06yV0xo(!y41|-s z(e2g>eZVa73TCYv(?QRT9`dZIJ(+BgN|L1hW4O1UpREOb^dR8XI>k zdz_G$m;Yn9XUJY^Hw^>4i^uu^74;i()kP`!jvaBvwwv2ydtvB4#a;Iveg0O30D1X% z*Co65^!6WWHGVYsODsUFS?e650U43qWu-0E%qcS&V1BLqrTL|~JKnW%WxKoL!d^eA z4$_MfZGU-nGfem?C>--OOzl+s^vt0v}?oNTg3Bs z6&y1sRV|g~^f#TIogyoJ7;GDJ2UZ)a#j9mAR5{yrS@x7qQsRL3P%$nvF(&3({@{K# z7hg}lUE=w)w|X(LM}<43oVc0uP=F5?bO=MC!i~hOtu6$yRl;?3!28Z4OqPD?VcEDW zSLEjHHlOp5dursh9(nvP3nq`P^M@;4mbP?cWo!6sby3>6zyE>Jfg}T%T+jZ|P2{S~ zH6hpUg*u$WgQXvsMz^Y&S(paE?5@k!5C@TLQttb^Ew)h@p7aqQTDq<`6oU}(@WDe~ zz3TZ9AOC7weQw*&TG<#FnWW51eeKOgj8fy@`o8s&Ajtu&?QW!6uUp<#SQ3V;W*dfs z5=#<(%$|g&#Cl^qaMmLBiPfI94TVov`4U5urAYN<0Unpwz5n5<745s!Kw=z{NiQdAJxnqx%uQaE&Lsb zt9(YJ%~{#A;u2yj63#`ot0!i6Rts?joKrp*A@@#@&%wxJ4eyxVvinuJ-1Lh4)+i4m zvlO4nDJiciA3Yd|ehU160~#IIAcqHvqYR~~F7>Y;oZy5gGDPq%jV>=N-SC}jFYxkl zO^nVNykoWX*eX{5w!NEYOHbBe9qsIDeyXCFSk!xJ#U@v7wkBwF4qDeOm~{}l7c?br zwZ<`Dri&EjPytmCwWEqf?*wkM#<&r~DmhP>BjjH9!?JT!3GYXTzOTv`MVH5+&j8t1HFe$s%E!4wr_} zs)>JLh7mw3U4DvE;zb%+#wH)Lu3@r{C4>QC2k9~aYmRn7Ff%irhtghn$Y_CGh~!qh ztW7a)*h4gXkj|GVlw+jr)Lf|*vH-#;AW!`&ZnchV2bWl-+>hZ33Rwig@fSi>B8!5x z)B_0Q;{$yV5i8xlU;o{Y#_TvCNBvS0ZM}fk@iw|`lAWGk#{JmX)VU}zBqTO7Gq*U> z+?H{cq~GG=a0n=SvyH4yKB8Kf z76;v96qtaXGuCWkW|kT7jY-U)iWYw3p8-)~AqVJS&3cpk9RYuWQlWQhSpp?t!J(XH zFH$|E=x1i&?<_F_y;1*wRoxBa>3$KM$0w$C8yh$-tEn;M>ywB(rwq+66*mPQ&x`TPV#VG70s;K=^9Mhu0ovP|ar(M#OYQV^RTqz35g!;-l!0k!?X1WM2?#aG2`+C8 z2RMtkp!Tz8Jun#=V4vtzIF4lKbh=Q^mWfLwiXshn6d;h>P@q`766yFCD!L7T3U zeZO&X?%_C%fMQw&knip=b?M5Pi>srzREfc?;%*>`SeM#`sbw9WIw_}=;5adK##*sa zshRddEpQdk=jxQM_Zr+)=mtV%D;C{p-S>HnA$89(!+;>+;CMS1i!DVTgfbr^(>Z|V zdOQ)oDqB-CIdQdQWrX1h)6Al#@}FZb12+=Z9wA14*|+X%HufApe&r*3RkTS2j8$8)!Q#h{w5u7sel(Z1U1fM<4AKyh zlHHx99?^YeWsH>csxi_U6l!(77Rw#|flA5Eba0BhDHc2FQ&aPs3?Ydy0}8eF8n1%| zGd8ovsr*>iy~Q6RJ?1M#^%~~QI#pJSRk*q(8ygs3l8o^LZT_QXOnrh7id&|?S-n+8rrn`O<Wj!gx+0;M zMWx6h@7%25kYFxU*u3aAkS5+IV4DRNcpYdja2YhSFBYLb+Qh+wvMc1CElA?`1j z%G3T51TsSVS7~=m_%T2-5Xk?uZ|MKg81CF&IY|a)ySuxuUcE|5Nr{PxnaIPK78Dk4 ztgWqWZ3zhqHrCC&P`lf>!+N|q(EJjUMU&;>)2|nW(8cZlx|GXelM{%ihkRw0Pu0o} z!k-1pc}p5tPy?>=@$s>-vGw%y)EcPNUtwisrKP21VHrx7kEk>s`|>%4O>oBl(YlBq zi`X+g+hp;mix(lk&e^>N>Y3cVd#{3mg7WkE=S8@!t*woWj2IZA!2m1m@Xn*qj(pb_ z?RP1W%ls=`VDL9UaQ#i@&6_upl9GY=z$?u)HP>(7zMZefig(R^+2Ed?Kyb&FfrhD- zAIQ7n@LfQ__&~lZ7}(yfv-9cXgYFZ!(~w{6;Lm{9zv&DcvjuF^^YV6KS+*OcPF!qM zNeK^ml)q$rCino}*6tw{PJWNf2E0}-%$a{Ou39BLJYunQnKn&5vA-1e2CsL&clXi$ zmvwxxWFsY%epz}=Qc}P>@fy?IDhVBqiPiDv6lC}JV{i_EKxoNswUh^s6&2&FoIz>a zm*x|YHb{>yc01IhVOyG>eJQ)Yj5JqH`px%FTQAbpxvjTTL`0Z(Dtz=J>Ow6xQMX@D z=K}N%+=y=!`K*qL**Ca9fXe-}mg3V5HB~*h8+X%9 zp%3u;#m=K`4c{vjbb1Rh%jwbc2$x>_85r9^ccZ0QDjg-{-uT1?@}&CK5AH*MygT+1 zS?==!?kd2wfh=uq^K$jL#*7(F0M&}usrS?NUF4{i>~$K9r+@NBSTujgJB4Hvb+#NG z;f)vCx7?lkk)GbYX%2Kk3Mj|`+BQR;2X?Ot3fetfti$F;>j0-;&_I-%A5-J#`KvvT z-sToJ|2p9{vg1)2Gn4Y7y|2!Cnc+GNpz4jE%Vx=5#x|CscC~Nk`b41*IJ9R8yiD4h zi*X;rQS)|VZ?E4no|wQ$V?ez=pMAJI#Qsd!=e{x*z&5K~z!1n=hP-PhqCX~7lEO^j z?*PJo#2sl3vme|$_!fL(cgRQ^b#YG!dbhp1pOa7exFIC|fFz3EidF_i(KwiD(m6n6 z&qG`ED_D}>$9(+AWAJQ6*ygFRdbkH;Z(rH2Vz1qj^vm5}{4#^Ode*v^c9*;v@(mc^ z=^#~Cyj*XKqAK>R46?d;Atv=T8mBt~e|L%@UpFomJ(Qz{M->a49UDlZ(+XupAWUgl zE}PjIFKK*B)5&F$A|%?|zR0thMA%!~8T0sl*29Fy7JMj3eNFSpE;5i?njK+my1QlO zTOP135!q0jxuX&`zlpiXQ+((!^))WC;XL#rk+`V6c{qpn^Oo_{R}uvNL$dgBFW}|W z4^B-R8;}?zxj(M<6_(Q&11BGl&g0ISWT4~U$B3FWeP;G%t8|%oT!V5s$tF2eVlf(> zCdU&mEKAW|`C-(^-+OVO#O0?QC||_n6O@${;$SPA+;Zq@_lcK4JM&4Bjt5Oiewu@f zOwFG}@IHP}h4ch(2J&Cf%Q?U709B%TM#k$_S+=*nYy?jOiuQ~Vi3@)4&auH`DW#C$ znbqCgeiFe-aweM+d6K(A)MX&14TeM%?*qzqm=%`;{)1ntt2ZM&mWC&Bat zMFd&JQo?AygZA5<_m6yOs@abOO>k;H2l26S&tl?t$h>>~@S)|4(Bj9%*`!dKi7|{d z{2drb%_kEU+Z=?4*83hUXP1qaj_=fKbEVvrC_W^_iBDsBYrOTn_Ex->hfz@u4o+Xf zRF!m*yJa-LbMP)>ed>H^nyvRtZA!Msk^|~F*8}7|TJ*2LMF({mW}cmZ{9+}8)WBFS zm{tX8ucMeb!o1}&ywYt?9Yq^uG&}%*2k;r3Vy7?W*z+GEF$Mg`Ube~0C-0T#$2`Iir#f}cDoiGgS5p=|y~`0+G`7jO!XM)kA%s7$MT zzG1m6V~o*6M7S?aTpCCm4p2Zg1N-ge3=P7_Mq8kb2!X6AwqMf~0Bn{R9-efp)NHYZ zRZaBx3+Px;sC~ez01L4UH#(3BCbWH8dn-`!0=pk*ng7X3D zL)|Glsb3C+#p0K-;{SBkmYn2O2;jQIjIUA5@uO%Ai=emsIsP$QykZSCqT-(yAek!>~2 zCy+1#UEkHpqK-F1HD=?FR`uqwd%O02G+Hy}=n+jn8YG(xc%qI@U-ESd5{l}lMhxup zVr4$bD$ZZ+f>W4WPs@=Sb>HBT<}5ENHuFJ5VmOwWyXfJE;DSs0rOQBs`(vFnEZufv zgQ79i6BXqZk7ZWO^kw$SqCq-2_USk?*zR+V0*azyKbqdboeN>Dc5UPbO9;e^%W&X{ zpn$d`PbedV$9*;MDk;_nds-IG<~N^Fi=Q7F`;+$CPZWroY(dAVdiy#mjX zTC;fhAbo37QgUNfM#ZYoL0zFC&d2)#G|F3gsxhphiMc0#=Ny%WdM8?f6iqYX?v}n4 zGv{8j@9zGwxzF9$u_5l1HwAQtdR2rVSGRf=-BoSYS+uof=0Qz2`i{JDfkgKtVVgx1 z_&yD*6sAGRm@yiO=!R1`?Cxgv?YcpK^riaT^4`vbL$&M&Dgep_Z_(4{;hWXcqEK69 z9ZmJ}poDI-NIGsLb5}7LA!iA=>B4bFp;>m zBI$lC$|E_sAsd}{9vZicie+Rz57jz!H63p`0_8@KlX4e(E}|~OY{na~{MUVHdRJry z+@^fHy77jQg2d{H((9YZ!<)WyqlH!$)fHi~Mwj%;7S4`3o`&4+r;V!v{i;*&RLrog z#oqjP$hh!uCKe`yspZ_#+23Ag@19Kv4Lupm4pF?5R_y=2fgrxrKQRD#pdKe@uM@KM61; zMOEt1UuaqK$sj{W@cO^AWq|+ik6P%Ie`KVlv$L~G98ZCN$ zIwv7h)ZlTyX9o!P{{8#41`h-1X=$g%$3OJuGWCAe5}mHpWa{~>JH!FV!(%`m?xEdK zsI%wJ8C9bb7r*L&zX*Pl5*6+1>=eu&3|$%e+0j(=asj3I3}n`ka$5(`(bw%dXBWc7 zp%(&vtF5a$clz|{GiPdl{Gdhhas)+2M*92vW3kxSSRH8?bx@#A(d<|zb7@Uv7X0%H zl{tV!`H#9=B}!es)NfWzLm+=Kr8s`$Z6hzwe+q;7Z{6P*xq)xd*DrJO?wJO7^MF&Z zF1PQ!H8qINBgo_Y@0od14OU$ht;}G{oghm!${RaAb+<@_M3?d;xEdzM+TEf~-$T@C zab;Of)w#bHWP(I&Gn$PpHeVq~qo=`%sd!}*P#?WN95s-X=S_?QrOzdllvK)hghV+x zFwgP4C*89uzs^!YUR?m!YI?L9CKcP3(io2=m`x|L_ITcftESSxPghasd91~d zA}r`{-sD9bY}xE55e&CWH8Q&wSh0Ld)ou^zlAnC5wQ}>1noeLz*VGmNz@@5|)VR&JE>Ck<4-U$R!WzQ;=)YU&|d_gk~Vli0NXI1k*eNsZM z%2_B>!{1%V3+1&wu#<7mGqX*0Yzb9=bJ30daJ}i_$n;Q!2!bZ{DQ~~iTD}K0eehhe zt(4*po38iNkM||b2{t*@285A=1NI$nk@}2}<=ZND(kMrTOdqt_DPEmwC-=kegKL+DJSIgQ>7g+gK;M zY%Z|b?W6VwRg)Imx1^foOshu=v*SEsyC>f&_C7tT%-)VG80%`52&v3AUw%QV&Gw2D zX6h&@r}<=iqzj%xWO!7T;w?_jOzvCM!UA{ZdOoA$`Ku{WmrIcQr~TmTFD8-fZ+%&- z(RvrY3YIQq8Fg>geKbnL!FQlkCN5~_-oOA36tcl)H9!AB zA#zKd_lGvn!`zo=_Scimm0yXeaoo_a@TdlPSQtrr@DaI_IkrCAU5&FfYN;P@n_iqf zTE(Pe<`?IQw(UOva*I}3c$#Tx`usOvP!DKvg@J=~``Ajq=Nlh9Gd!^T<*hF@c$cT= z0~&Tun|Xc*G(%4>#;B4xM&pPo%N=27zMVS;^`!_>Ul6r#FK_^RcMGwfl+k}qxC$fj z8AM>8m%#G4<{B=L{^RRCRf-SWts#W?V^I#@J6*l48om(|pYSI0!IZ=AjcIAipChg1RSZ<39;;u|U@J=}E{L)2>x&U@}2_*I{6HYj=V9cy<9 zv)LuD(i9xxM-wDRwZXZXS~MxG40x-E(J~1ZB=m^Hn!~ zmb+j3d-jKxJ=_-_P|7iL-_l!@2ulWPgMy6K%*>9DES1r)#8GmCQF2wJnb<9VDGPq9 zDE+dl*HpmG&PuC4RKc1bw{99#c*snKXRYL6l$19ITEP=kp6lPkH%nAWHo(@`8wS3D zU7(uUhn~;}F-yw{K%8qMskI`^rP?oDZPe;+sWVELY^o>G0)65zB|T6o9b_DMyG9}&S-WV_`DTi zmtw45m^G?qik^2Whf@ry(|7KpMXeWCl)V$g4dB2d z6guv-0WO`kUcJNllmKg(2-9XH&G)80OF#{qM>3(lZBz8 z<5OQyLtlWjQkW~r9uXm*#?;*tMsgk=pIp4e>Qsy~kVLfgO)nZ%>w$wA4mWtYBXYYkgn^_06QP=uX8+(1Oe?ojja(_Mssp2HLqys6(Z%*x5 zD0-{^tkrgO34Ky~wu)l$=zdLo6`r0f;!d3)_gI;`!6Cfdlq=Et{d#k72tt!$>ji_N|tN(m5Iy z8VCe(PWkae9SGz!_;_lS`XqRZ>wRMh-cESvC_y15-B*_&kZTa-hY$38Q&w>{ftLo^ zTQJ2RBq)(|cLv-v@8{PO&~pW7wM`Q!=hQINpnc4UpJ;fo671H5s63k>_EJ79!B zo?|7mH_E+z7dh0RQ>=oJQ9(n)7;JhK%(F6EACdp5H2Y>NQHZkyx>jubHR4eS&}7m6)g?S8as?M`8U zJ~2*2*ZJKd(^7s8S^O|@qWU->O?+s`K7#As%>m-b*01V&oWaJ$X|a|3>(ZWG{y3)(gFmeQ2F)YJ>rQuY^ zkW(PZ=kaA|bpoHH{ZsV!dVky3gu}T)B*zNOb4hLE^CQHZjj*}67o?jlk!DLNI5s(j-Z^&$uuf}nyY;4(cS?ILEh9D4VQU2Q_ zKC_A9M=BETxm_l=T@P*Sk;duW_YannH$)pWl7bMXvVOZ`%H{L3cx9#Ff@PtQfv?y8g;mg+1O_He7E-&Q<0+?tm?a2c;j=2ytm z$qYnU#d-**@*n+9CGOqp6DI|OUEMqfgs2*5z1`do?OF*{YvX4*JG(lAM!shH$EiTW zHX6_Lq@bVp8~BZoBC@E0#&R8U<;x6p&$JM;L_oHYsRbF@`o zzmC;9Ba-s->8D?#kfYnoJYvj^7@6C^b1 zU8s?urkq0lmBF=>uC`CAy=%gdarD#q6SQ_-Jv~aLV|8%^^B#-(p@m~Sjw-6#6m|HG zxX~eTENoui7i3sY56$YERowqQ3@8}JWGx-LU4m+Y05c<-AdV`&ZkO({kFfrWY=ZMd zNO0sQ8T{B>VT~a#ynU-f+O**gy$G_zCqksx zo!X;=rGX^u_JMhXJ!N&7Hkd~6#Uas-u_d#!@CFMhUP;N7Q@?ZmrH5zEf72EbN!LhC zirpTjW7}CC(7!b@+MS^7*`&x*h(LLi^9x8tNl&HtE zQZgg2asHM-XP4#7bTIvdkXdv}k+;Az_!4Q2U))K3w7SOd27YtR=eTHjaIAZX%ark% zMN!_df`^A!pOC~7rXM7W!9$mhIPZS+@ANA_{&P+G+fo5JZDIdZt&a60rGNu5+67}1 zV;auqGt-rL>3cp)?~atBKsw=ksBJPjNV~woyu>#?(DVWHeAEo{Gqg6yE2*?cj@Q4U?4Gj$y%1ftk(9iSIjT<-SCOW&iwibCHki!LD zkfJjkz@h8fg@b%?D*1Z${rP2OZtQIQRxRL{l}MyM&m})k0SM%{k%F#Y7(tkF6zk%fm~ww1Dtp}E;jbX3%!@eOLyOb}^ugMrqgoNjq&35T!@jqf^V21v~2XFzM- zl$?OP{K3h?)As#4r)q89;PQqjdc1+Gg;hW0?`?A1qaa#4GOeXuQ5gbhyBsACCMYx~ za0|D46bc|o!_maTa3q^QY-Jf~8QPGvS(E?vXAbV*a*3(K;>i<`4;Ki(C$4DRS@vkO z+5AQ;Ph7hN(QzwJPh>7v1PU%xYUar!=JOOEAut$>G*WlEg*s8tTxHGB7NP6g1Nf_6J z>M4kP4rOX*uC+X zHGz%u;xH=vyPwVrCQBS-WM+2!0g)HlqfEkfTm%PBT}6fDK1D2)a8a$zcRNBcmEd^h zrZ+p{cS^c7e$Uv~=HD~+K_~yvy4{9Kq6Gh|Af&9Uj2@b)HIS#Xe=s6S=lDby)4U&t zhKC+2jQ>$5=7|6iLUg0L0)fEhNcbVc;}cG#KYdxZOJc)2qKog>+>>OfyGdDY)u%w1 zevfr`ldFWq0Ay)+e2kZ4UnPt8_A;J;tXn8T&Op9>P^r1cfvfDxe@OX${Dz#ErzE&Q z0%Zno-v;=>Qd&ID(@k8P@0=N!JF->a8OoIzztN3d{`L_9;rT+j40!z)N%UezTN{t0 z7fXn5iFJk1;_{uLx^IQi03)5thvsfJu4z20y4~*B2EE;&i3~9fq{XS zV&Dvmzt8YBI5>EH-4&ciRJ1%$&NDEu4kWem@*77dAs_T9c#Ma`IpFe*p|9;scrNF?3h72;bX8Xz@kUhE^l(>Ysxw$FBJ8Ff)hO8YCIzOw- z!D4ixoDpDqfpx)N%7_0iDirb$n3y==v)f4kShJ$&!Sj&#$Md-I4P>S?QawF%d$G3! zFezRMvxAx4=zg1E`oTgyLSLqnxuN^^_DCUo>>{*c|BGFt)Y@521DEmRdAtc{Q*T54 zn5h{FCN=dd$%Biled7FT31H>s!>1tM;BlB<5MEEOghr+x;+MTRgKdxn`6t(LRCI=p zW7mTh$8xOX{+Qe{EGd~NGohZEp5-|`i3^3-%xuY1_w8m`JC_IvPwdfhUSx>l_%~tNNY94YIiG@Xk*B(sv&5n3zrpTfl zcA{uPpwt&w*vB!o69DGxBm+w5wRk^UyIu+v#m;j17|5z~Ww>iWz(k;&(0M5@Y?I9EpS31#9Xw&MAP>q-IU2U3K2!e)rjd};k`Bx+3 z;^a=Bf?SgTOY-GdstkN;cAr*?1w2x(Q6H83oyiul$lYCN7zybh<~TeDB(35Ay2pO* zhwI;Er7NSt-ft5I%rmv9>H0{GT%)^em!L9%hfReK>cNzsQqp`36FPMF2NWfk-fXn8 zq#vbF&3BzOj_#nEIF@fg&G`m4R%ozQ*(XxAarSIf`o5n*VS(m%u*07NF?Y=e%(lOr zk!n_-?Ohi9^2*C9jMHf1uWF7V=iUZqinQa)bdiPr%IxammWz7{2oLhQ{X7lX(hI_XtdI!U1Gw{@U;RI+2K&>s5z>Ts4};@ z=t_=WOU$=8-k*G?Nc9m@O8+^pI09%KyIz3lj}(rzV{~eZjxcr+y^BV!yXR>j@>7pM zhQG!jF8-*ZBRN4xV>BbX+(XULwC7nmh;mxaPXS`~Q-gW-%`~B!Y38+Fp_N7#931Q( zFkVR73=N0=__2ka9FwJt@g!w&s)21$=(!UcGoyYJ7Q1pp8iG&w)Ca9ZDrS|Hmz903 zsCM6qj}0;rx2uEA>EwT}JPOs>omriHYGrqUjUo9%;@(Pg2asOQa!yarz>n}c$4n`; zN`F8yv?hHh*dsXqt#Z_PCq&e6kc@u{m}DT(-N*mJ5oR8MJ$S%r@o@ z+sz%}!*DoSK?1)*6Y`ueApHLQdznIgFFx&Qe60^$&iBdEk@b*)0q3)4b1Jp6u#G!b z_xoGm{+ov(ZFzZK0YB*R)$cGQ`?vAu?xx9 zdp1>|BP4`%ap}I1bQxr#K+3)gUSGf6=%u{>zh?`SHy>#r_ol4DJ9`=h&5=S`#k7Vc zBe1?srAfg#@6-7ZHV5BVrq%fF@4`4ZgQKIhciQ9l;spz9C7cfQw#RT< z8mVYk;?#}Cp$~Mr2{F&+8<{(8&;0rMsd?Gyaz4n1Q@@$sY}FubgV-d&-9SF45aeSYWlbwE*ao>?D(5^?tw7&mZS<#t?D9>t~)?Weo z_VQ4Hq}}Y7i_PJ7Rq_0I@oFDUyPX~?Ivc?!U*}raiUkC-4cX=Vq#UM*AQ|iDYdQZ| z=Va_ac!cv>akE5NcZ{Dph`Or#NYQ}L&>NFC#n@i$U~=rfJPb1L8>NRs`9`qiYRz{e zBM7V+vDz6|i*`K9$qf<)0cWk5R^dI`4aT@jz=+^@vGDD^S6STV`&9QNV;B1omaPVY z+es*CIlB0g(RGlp0kDiTa8c70o@ z!Kt?s;Z`dW<2!y&ny@G!zMk1x&SbMj^{4f@Wq8iW2*oU?tC!i2M+a8`{KVK# z*7_XDrS{gtOj#IKn&bzK`*Rp z2Ghr1o?q(j`HQh|LD)jJw>BV|E?F*c)3dGVC;$Ad-Njx5BB%3ML%&sTSj*0eO6a24 zbbn%X^?Qw11b-l)`po~h1w_pfClmcr9m)QWo+&qEa|z#PxSbBpZ*J#d&^A>szhwZu zbaLjvx36f)j(=EIEk9jKtdMS0nw~P4>99J4QVq27@>{(LUgnZaqZ*h zN1!%>HvMu_ipwBiK^$R1Bv{D0e;XW8rk=v(D>Uw!1&w{NTmGeaN4BY-Nf;2n{^}qz z&WC7%85SnvyE}~-H8{+$OgK`CJhw6&aJbG14I|*OMYu{)k&V)OY!?{4yvZ6%-WJRf zRnZn|usIH`_GY6Vx2`>B?U*+^K1Ie{VukuR%WuDwnd7v}97p0NVEy$lR=b@z__uM3 zNEJKXR?ZxFRi5?{YSd5&$Tm>w9(#SN$c}X`*PNXz%&csq4axzEo(b6pSC>S+`sao6 z!0Fboj2L_uz^xj|Rkta!`D&kRr=16ruUKByMra6T2uS&)NOt1Sj3CDL_&zuHo%G8` zrK6teN8UkQ1#!s6!@RzOVt?X&pfb#xM_^LD*%~iEo4C1FO^>pY^6kLwFIV9Yn|ju! zGwZ<)C*R`?U{C7306AP<(z{5H+@AM{xUGV(KBf?P@%39zARjbYB=U0W%M5B2kpNRo z_V#+3h&v2ukxD%{gNxOpo$=TdncU$7yP6u*<0V7tXO50zXr*D%1R-v2?v-DNKxSfN zt7aYN+(2AqH zr0pxND3BsJA9a2B@&)9Yzy1Qar_qz+x+$aERyPh5xe(bmgKdWo6{Jm)Jr9O+(-e1> zb2`0Hsu)=0om5mZeHQ`^1F8bqZ{8QXT^NvfAzB-4R!_i{!5+Sd<-4xK zcwuC+-ne;nRmik9^I&%Qz97k>%I?uaMYFo&gWd-6pXJ_N%Uy^ZqqXgKe@ z%ej?G_A2b{8oY&@Oh{dh#a72bb;BVYsfHEyBQl=d7QC7&Qd9*OLv`RqX;fAa!J zo8UsJY0k%UanEs@US;dYTcrEzz>W=kluQMqw;cCaHX!S6vqZ4;`&k>L1Ezh(U}Af;d<}B zu}}Ji*b!`J3VIK-GvUSY1KX}beS!T#^k%bO;YguUIwiBgvQ6ra1(AgY@$t~Gu8#PD z5+gyYQ%gH)n$8Bfw+getK}1LSsxkQ)=H^s}T=`7B&|_%6S~FlyM^C+dh67 z8Qk;`zx=j*VP&95NO1Hr@8-Z-h;)Dybkh{ks&$#Tbnj|AdDj~N8=%ZYHY&Q@D+4>Ox%m>!cnX!ny37!3dlZ0$)IZn$`X z*=wn#>kQJtYCtY)YSutmsyj83x&Nr4BeO1m^&|vC*&tsraHQXMCKZAGz=tzaw_%?! zeq%!W)PZs`$O=B7th?V~Xt9436~aG!^`8Irxya^KN2NfKLE@6A{=?bju2CQM!~K}= zM_wEb15EvL2g{@1CMOpYf3Z=W2jv<+f4#0a?Lb*SOv8=VP_@J72geG4iKoigq?KnW zpajiQQb5@f6uhpKywiI0P{;(mG)$Xt2XB$76?i9)yev3c1-@fu^jgbYt6s8TL?XNL z>W_C8bw5UWWaqxU@umb<=>gb#LD*xCiPo%KwfjE%1*z)GJ+}eefMzD%4s64Cv5K#a zl)eiK#Bha*i49QVPWt6Nz-#5 z-dg;^UfLiG$l+T450OKlL{7->$XOa{P=EgX`HppQFg>Vy!j12s73115Ih?S%wK1a6 zm*+d6)-Pv&`2GD^%QKpL&|1r4dv*?Sf3({|8j!XO;xCJGMeYz1gD@Wed+h4C9F=wl z*H{?xyZ*lXs}KJPp2(kNJ2kinh%&#plDK$q0{#VvBd!&@7SilaX>tGj*k3%cg#(+;f|=7+2PK6_1fL}I(C=}#w~Jt0HpD}#YIWg zc=a?{Lu&2e@_EwS7Gu8L{esrpR6ENT(m&h|*ucEC=)Me%^%1TQz|#;22`*yA#FX1EAo?h_MZYf>>96`GWoxGi<j2wnuS zj-A--iUp*(1`cPca0X*yvhpN&b|xO9gHq1F>WyrkTtJY?#QlBrD z?)+KUH1WCZggMAV8EGePjrLz;U>(hzQ`*&qVaTe4z7J`84hYp;vkSF~VXJh!df}9(gT}ZupUXr^u7bl@P zVF7`hr3f0G&CSgd@L5(44$7glr)w%@J~nbLyzpV}7KdE=Lxtjf3;D%>W>Ot?swPfG zBjfaQhXl{~`$&k34>=oyGKg7v=%b=y>54;JP?N{1_sX<(o6FJ%1zv8^6x^ zFyZ?Rz>3R#a4L4Co&f-OaO^i%MAdo?X|&l`z$|SnMPWY@-;jF0w4SC7ESjbT4CUGG>B(D&ay!syJytNg z%I5FsX!BXG+YBXhM+%#z^QiR9jwc7KuU!n_LLeY(FNg~|=o5KNu!3_HH@R*#bKe}R zA!ld~cb{9SGX!QkXl7fU1Q4G=>QEhazB-A+4K&TREs1(GklhFs!dF+rb4N9?x=-!x z`OYa(Z>;}}In6)xo>}JGSf}Ih<{)i+>GEKWLb>AF#ExI})8S@bBl!~jZ~d{HR;(3L#Sece|!lI%-W>Y1dxyukfeT~Mj<*frp(SnJ=V~O zH=s+ur(bVWIN7Teq1bQttykmJ8+(bPpo5-ieHlO~t`%1ArO#g_8ud)2zmO6&J9BRBzV&BsYEVrPHgE0+ z_$Gf#s#ppvQq|<$!@vq(#-0S1!yV?-%7XZMl3&!G-YB_;Ta&4DT5{pQ3j4$J>Jb=f ze=5VzbU8X?geYE+OMJKfGQPolTfx!Pw0PbL$&l!L-%j(D_dS+~`LQ|v=0e{$h1c)0 zsDtq%EtOSNjBD&1ZsCa5V&aoVj-O8VJ-Q3!i>aktMoR`GMWz6XGVDzJx99Mj4 z7bgTE@)GQ6Ctj`syaIq|ORrpgg(j!B?Z{z|Xlpo=APc~M8>BUbgX8l2f3h1RJmG&O zHsfan%-VO%9^1wnFMBk#oLe?BP9!6df2V`+$d5YZis#HyQ?sp1lCR^iNJ&2e6lRfW{87CcKmNjm}vG7 zN+_2V6I^&5R3M~*0^|J-D@N|^9#RZw_vEMtf*Hsn%;{V3K3sB0&HiVjenV%hlwY?D z*e;cCgf5K~JI{4gbI1iPAI24eqEJgq3xGRb?mU@U7jX=qd#>!H?3*SY%KXkT@6V(y ztF$fZX!^7O0;J1af7<;Qn7;5H0D!&g&e33O?-CHE{kWUKk9Yob8o?kyVXC6Ar5%1W z;Zo50RE$NPGBXb;{$DrTot%yn~Yq@^W`?AXz0-c&(%v&{}JxuFtI!6qJ&alfZUiGw?F19x!X|w_xGL9*d^a#-z6n z`=N9b`o8I!onKxd zN?_OiJ9E3Wldc0|G&JaSM@@oxt*vucfj&Sm*4-9?z~qLqX#w>G>N3BPk65un1Wa}z zOO@D*9b9FTy^*xLJH3<4k0wt&wFo?TrQnn-(T}zXfktl%Ujt7CYsJLfYE}sU^DJ$x z_ttKjMWi>|oz31HFDsR}&b*IdVUNKcoiAW!xPNiUaI@U;5C!!ein!{%pvaezedG9}E|bUR2;$UMre9QdRC^wbFK z8z2lXUSt52tvjt$x7@!#oC3H)g1eJ8jbh%M%WgGIM+e?=!pMpWX+-*P$aq#%B^(Sq#SlkvWj6@>XJs51-PpZH}!8?!^Qv$H84M+weRahJ-egVVsqupng7M|pI8Ht$Im zhJI4}BYE72_c7S(KK_v zCY6qVg^f16299hZJ1G)W3AIg3@I$L?X4A7;Kib-CX9)E^f$T4^qa}@K(`s)^pm@Z! zCmeZdk$ERNX?624cRZ>{lMO07(}+5Y8Ru5OzU-K*=ermX&{N;zIRWG%e(be z3g#GimI+vF2MC7vtcFu<$rHZgxuj84X0E_{fsA!&H6e#74 zgePbmx>wSFt_xVgIT!+)caljK>j>J#)_0God?7MDe$eGBIq0NJ(-ko0dlSIpTsEVNM|ItsR67B8%AZl5hky`L>DL0Z*;RmDgC-U^XcOQ`nRpFQTX#!@*#{r#B-Iz2zZKA5T7 z9yf9dl0@-=9A}>U_D1Lrz%hs$%ugv~~JD5fm4S2(lqC;C#ch1G5|$jhsBGV4^2%Efx&8HW8-gMQ%pyf45|n? z3$RFmw;H%7%DFX-Yn^P6DvSX>OFY4e;x3s=%`|Qs8zw|{+mQi>_C#%H7;q1B-1DD~ zgTDk$COI=HZ^uFCvJJK_1SpyRif6>OlI8|VS1R#;MuipWmXikD(l3>l$9M}EVx3&q z(sYu!gM>jX$aU@e4S-)kmHW?ag0rJzit`*c{?=-EmHo09*urW7q4x%g{~C@8$hQ6^Z!|S zCBc|djeF@s1TvcuZNlNw);jR2?YMZa5bA;D1&h73G>Y6BQ8j#{{>dFQARvu#xvIGi z@G+MAGY(V%2LL(QV1NFbI@Y_ncJOoq`w1{M6J(xNiy3fBaQ^#xlr4Mu3t*LD1}s>M z=RXuXiiZjaBEYl~d+z=Fh)Ac27glzh#RdW<-g7<^o-PxL#-Kv-g_w|~1BrL$`q!11 z?BWaB+Msq*QCV>b8tdl4y5Bqi(g?ydMVH+fJ9Zjb5U^@i3q_%gi`|>;wl2R34ne5D z1%;7ydo7n4I$DIIQ6WlcqHjiyd7uT4kt~CS zh3cTMiel_olK2l;_cngWI)X)oQW0^`%{HkO=k77U9rx7v+ z4_^!b^!sLa2?6_9qtG!APm@d&KT>?Cc;vl<@@d@##R{Nb>OXw(nrP2hUS8{pSB(E8 zR$$WFIiN?Ksl}rrC9Pkmr~IxO8iqlbf<}<#e&v}nI~BxEhvB?8`L7Rx6sZDpr;`FeRWPw4%UhRp+gPY9yCUdK`BQu%T0Lh zlil1aO1lmzDm8I=r+0l_Kupx&c*SBJ-MD6vO;s+6zd2VO3yJzOp%)E7{P@` zic5$(=#_Too!|%%D@tE_3e1VNzykL2N9)j#BI|499aI2sFz`gJ^t!kLE2{%jSFsVY zAhoy)2;jnIWV2Cu09n7nY^w{xkjUemCniQ`Ie*-^e#gnq%8obqSDm9WX!OA}qzziv zxC_7l&LJ2dS%RV~Sh~bR_llJd(V^nS2N}-zqTN%Fm(Mn+?*c2fTSZl=Rtv24dn48` zsMcSW=ibe%-Tw(L0z*$QeUC+h%E;vZj4M&cJK!Smo^Bu)6z#^f_8bAwd^JZ0VZQ_{ zL({Xq#P1490Rcys2cSz6oj>b3i^@%lurAZ zjg7N2IXyJgfBJ)>!(8$jL3Wc(?2ASGa?-y=liBt;T0C5Ta(wl~z3B?rExdl+;(!X^ zB>lB$%fpE?)>%o;BZMXpP|?wSEx3TSJ(&;Y%>Np!?UaIj?c`rTN`!>y(3UC!pRQ5a zvyLcM@!A@cqj{z8V$)A%vC6L%PbAlp%S5f6e$^;Z_l*^5PdKNN_qNh1AN)%^)~zFZ z6yO>0E;6nB#R%}r{a#}w7IGHR%jGq|#11S2|5~svA6Bbc^?GhmwD?0fS3SMzDSn78 zN+^}rykc?QDqKl3i7+(?{nVLnsZ`}~{4Aai%=|SiTlhD6;6Lmt_ZvMSi&DQLax?1; z&_Y4`VTG_kXTvXaLrRU)#H+MH8HzI;xRtc~M4W|$xVT0RPq_s`fAEtb4yqk$=$n!v zB1>NKFM-o!=_9H^O0@?>W|7{B)&Xzbb$@HPU7+gDZwHg;>?23cBg(O_w?BA|Al zsSVHtqjJ}hZ6|%;w)Dqytec;sW2;RBZAn5F8cL@?WGNk7)wi;?Hy*FAkP}o_i?te4 znKLM_TWtFE>)xEODn)6fPn6mS|wq|Bpfaz&5?Lz3u7dwz0F*wcOA_$H9HHeECudDTsVQ!4PEBSV~4+UEkXB z@bQuGWIX+;wzf7s-NJw<<*{Nu9=nz9K1DdCkO0i+e>+kuUvKPSu&cXUh&4U({FDdU z|7kn~GNSNb5%2%)(>WXl8qfHddQneC@&obs%ePh?|D^cSM{<7y-$SdJl6pgzW6t2c ziC>y337%c%+`y@M4(ny`NYPxTuGG}7YOJJ8Yk6e$2+P<(!x_(hkHmHFZa``xPefFp z^k56->&$kI@Lzv<)GC5*ic=I=a}5YIAY1eC+KT3YG~E3=8wlUcW)A+MvM8+HpryOrWlYVyUr38KI9WcNuHY?JQXY>>u`P5q7HULD~oC zS_^|sZGafh%&Zo|^Cy+Cd9I^YceC5m4(m9aY0Sr%(!IT7&qFmmM^p5?IeDdDpSmwQ zr?8)004Z3gJOm=vbCil>0u4VqyTsr!&lh3jDy=P}`6?nyf& zaG#hw-grMEBHY8v`(5PQ8ovbsFu`l$u`Iy);Isuw0eYSl^wZNjtRj@zIE#sx8^6)o z)ZCgNw8X;5=5aKX3Q8|2V@O0|YHHbl(gp8V=iFzG=GjR z{m&Bp%=h$Uo3)0SHoI7###PMsY59m*`zsY-fP4$nFYYOpg zisE0b+CQo@TOlhv5lhZ7GH}xf9byPs;- zOItO!Y;Qpz^kYDNYh#K`ktu%rj?V(6H==WERKkT1bSO=J(8v|NdqsLD8JISBEtPP4 zN0Y@dO3T9~`;&b$pyTw|WxEYgZUf5F;(5e{DHte-sf`z#mvS7;Nr36@Z;7aJpRG#f zrju}ZGC|%CHwusEa+zP&+1qFqrRzyAI?@oUH%I#or zR+!%1T2WVp`=Slb&EUrUCKt$uA;l3pt)~uXI6*J*edaL>>W$I9i5Ll1u@^5Rka4NS zPQPvJ!WO6JW=%cxlcmE=4nTn%?I>Fm!+%vE|LOLgWnEvJfa0IRnEe&$B7FB?mIV&V(uVz+Yn; zE`=?GUh_2>xAC*^DQ9r_>-u)Jr0k;u3@njL#h;#mLpb>MRj`L_(tvFLp>>yS|G(9K~R$Fa1$LB;0gvz#B{W5W-%%iMIv#OkJ}ZH0rw)F0o@24&+-&LAdQNSoy- zk>e6{dueQAx$g*r=2r@0facv0L#OX6P;1vfB~4fz$P2VhSh3Xv@|sb)S~o+&7fE-_qA>bL*XkUB{kb;?Ky*iBWyWsO)lU9L%J5g z=+4dV7=EXfA$sVcA6c8A0lXHSl(x=I9j(W0K(9p5P5TG?U3>`H94CikEjr| zm06*Gf*ZRkLV{0pGaruZi6z6!ZcD6TE92;YjCSZ!yAgT{64S`dVH;L8G$wH6jjr!s}6C(H-evdOcG!A-d>vM`0yn?DpmZ&%wAK| zAQhYmD!?kb4X>B#;uuF0Lw6WrDh|5IyurTA7r9{S+lNy}Fxb0WYcfKdZac3mp<$s2F+h0K+C%(jF)qLnA@+4;9}HJ9qc2*`4I0@0IZ=V)MW>g(Yj>QC9x|K zhgl$zo#l)#o}f5~b(-s|ge*+6?Bm8#t=MgWI+3K~M;z(M{m%K*;=bq7C;HFYViv5b zw46x{^r+qNQ!(e1G*ry$7fgg6kvoWNMqgm* z^v~tDTG&zL(A{`$cENo_gGRlbu55Rv2!|q(d zE8g7H@<`Fnl$J?jD>?q-$B!rf`b$ut6BmBzXYun#Lk9WN86uJf8Yn$$6$zW%rkhT# z1$4$HMv0?FCZUS;q6kda2rnlu??bjEljdW5wZ^7RZK5ua8B(#4V1Xo~~3E+C*_4U8x z_xN8RqtVpj;*|>*qKEZo9WGqB5E&Vnge&~=8rB`VW$-KxbTCj5>5Gu4s3VxI?M~t-@N@nwy$reAmBCOjr~f zEO-g-hi7GFMS&KwuU1Zuj$gk7xK{i35nkuIjGccwFe~qMIx+k;te%gt#nTbLoU#R7Ll9fv+2u)%-6|h5FyHwR&(~Yw^00(_= zp>SW9w<9Lrj6TAcayQu}x0>hX2AAheG*TiWBMS8!I`hs8Iu!}%u6`a|YQWX$77nTt z`bWk(1@?1f;ihTzUJ3Nid&dyBWK9j>ayt1yVLh}sT`K8&*j>)#ZD7!4uZQp3gNa&U zt8|xkNcddgRkZIT1_qP%e%Qm>`CDUV2z5oNXujbkuTjlZLmoz0@?A&ma_pO|-1BCr zoI9c`>p{ic=a#R$S%)*$k-n|@q@z9EzPRXhRRv@b<7giF$I)^|n%9&q5k;f>%Jfwk z$rZW|+|r|J#iN2`8wX%yprhG!=e?V$)T-X9k-$GcSY}?lDh=A>X9d9YP71nh{S>V? zckvAzTzi|O)0b(EH+(j=5|#32q*f2d_y07qY^$z>NM7?3HBL2^?zmZ{bL3BI@b~YgyIZtHwUFv%N#= zW2vd<%^JoJMmctSQf3`p9O`0{HPg(3*4w^gQMyM`@UaF7=Y7)agp#FgROF6>1#I1S z8C5J4xqGgVM8kP#erET0H?#l|h?4LZ<}sCBOQ`orYep=3|CVVYR&@mgx? z)1p_XrVI@=_O@H>(u#NU+D1l=>au~r@YZX8VTB)Wx-GbZzf@MVbt_Oqmzogfrg_!Fy?xa-%U1s04sKZt%zs@X9rr|Um_Vej4 z>wk;AsVk+dre-YSml&clhOqO{$l@htHsVhC^+n0#OVGY6K2lT#V}!mAAX+t+?If8Ta(v;a|Z#% z*dfRvs%LLd6HHv>fVbyZo(9b?zZGqlTq(x($GjTU+KB8ZgIwD1fybIV(7+n+m9=5# z5>~SE@*j!p>W-_30J;G9lL=QPx51Cih4GvFN6Qv=mBLd5|HaLnEgu56J zntD}zDcgD;YZDu ztB%6sTdJkUV5BV0)+Gk*O4JvwvfE9g9zA?Cu?Zh4-#B<<&0$a~fO~KbB7fos<5S4D zQRVgz7eV84aPP54)>?~YZV3InwRO@vR~=IUg2B!G@Mbf!zkUqbRg%BD4BM^1neV`B z5H$q``*)6#fp%V2#G9ITe31EEffTnGVotpwbzO&Agw!g=dnTgyVXh$=ez~brjXHC1 z<&N!c4=O}a@hqndjWl;@``}NJdeB|omQLwR9^p04Uf&c^pz1Wb6ExSOsz|3CeY@Y% z#_3jY*!xKJCr4x7V_BOScH;~tHcW&vfC1($s)h#exV8lDRjLxRE(<+_c=9%>* z>>jCkJr4#y3gFBIxUu@4)Z_or-g`$iopYC}bJsd|{nkDFq0W4P zd_Qe}_OqY8pG`jr;paWOqUpYbb)*o|MKtsvm?RJSv*zWNmuNpeK+)H4)WW=9-*My! zI}(SjokD4!U$S&^h#&I93Ti!43=0*PTwEp!_NQey&F{%k4^@8oXr$SN8;jD(^L)Tp z_sYG!3Y(k#A<(EGMyK}lS1bGB@rM=|8nuvq@W)1kLbX=;)D$+}J}c{>SryOG91>A5 za!9@V>;3Zq#g5Y6t)k$r%v{a9UEd%wTt@#fji*@AQ2Os`(uI*OM-Z+jHfuBLl9CV+ z!n*=9k?5!O?a_=ob@zToxaXTJl3V&=M_9Aj<|gv1xc6?IZc6QzWTGrr_3Ery^~tCS z7svxpB)Ru&xy4pm4!~}rZX-7xtShdtA z?oTL1XuZfY+s9{rLFA5yZQoS9kRo%B%%vQqN%E1yN7(JhBps+?ip&7VbS4AXg*C6W zw-n@F6TFh9`3$q6(a$5FNBZ#$RrB(A80Yp-zMB(P1nA*=pF684UzwOZDNo#_)l}_Q zQLW0V-Fy54h766$t_^aH>7fSpzRa{Za=5~H-&wkIIxMI07hSFsoH^R(-y9c=GoK#H zY-Ts}aM-}+N~pP{A;I(F)`J`FVuNbB>N~!69jkOP_SAcy@0X?$l>)^3UO$7g1E|o( zQQ2fOcJS$XZ`lZW_5fbMmt*jA>%dOM+RP8@9XT{8#NBPY15$Q5(3FMgR29EB!J&ea z(}yx%uOg3)!koVM_UOQu!|B+?Aki=0dlXJu$VQ7P*1!Z|MYOsbF;`K-pgH5hI6UxW z@RRVD3-tJZM2Y_UMTr<|#Pt7PmCpa!a{tLKcOzl|f+_c(*EclS77atz8Yno$t4H1Z zdOkwAPa!KS%lQdNkzx`1Doqmy7@982bFR`whS{3w`*FQ(Z5IL?loRsczX2aXn(=42 zJw1aM4tEpC&F(5PT%4PGVs8Gf^_O;4pDpB0j`DJX-bW~4wCgix&YY>MtGgy8HEn(X zK%az!#N&q$l6v_|yXr`iOyZgZ_@bcSdHVF}4G{^DBVyDwoci^od>{C5uCCgkw8fwl zb~7^jnY19YACzu5m)mgWt5FnpfFUeya-F`qgmO{tHZ2+A7#nCaj+~E3e!#O?2k*T3*KHAX*O`I!)Xq&oMaq*=8?V})hrYWa2e34h^lOiUkz3Zjg{ z;^jvyHemgU6jZEFYlK=AZfj9S4NdIA6Rkim3MP* z>Rm{cu&p|#bZ}1Cf3V!!jOU*kR)?hHm$no2Ua~pF_`S7yL23s_nZzrTfKLXbti_mO zXJsEn;6y%XtXwIH6fw~RH}P;d9^l>IkNq{%*Ga2K6*uHa8U^2L1!#)QkQ`$y1`yqH-1g-gPxqRa@-Wv5XKS9tGdyiEo$Za0O@WBnubhuA>G@9Qu=1C~j-z zssOP5tY#=jrROgzdBBcJX*Vi;RGZQp3vqBSD4=_kkWfvnXlSjK8&HOIEH3>Gw*5ia zU*ZCORo<8k_x9MB=;+`1j_$i1v2U7Po$fp^9C2GtE@AJk!bQmq%b%GQIY*hEm+=0& z;dP459DRA%2J`hGz=R6&LM)AKyiY|NB}DCl*iA5F0jHuLCGhN(M0t3KtjeDHveG_0J& z<$sNDb$qYmnmMSWO&R@i68;}=chzKVp&~<&9$FF0*3Hyj{R*F|wW4(d{)7VyR;MCo z!VHe5P=pXF6E^xcM*QUAuj-=R45bvtw+Vq^8qnERN$p`+n2QYkJ0>jy0|T3);f;-r z3ej84d=rzCV2mOnbpCnjPaQeQ&E03~W~#^M&jvQGtLxIQPdN49?`Y5SKhN;-@tr%@ z(A+G@YRAmVT2fS0l$+aB3n_x8 z$H(D4o@f2Q6XBP)wW-2zfHqdPw6co4X#ubHZ#Ffx&z75;``EtQ2Sau|drz3Q13<3Bpk}*2?%Kuh!{Xc2N|M$D@HcgCuwrLiPR33$9ydq5W;J?|p zQ>3h;)lH+1_fTxJ#vgnWVcYe04KVPL03#UQmS?iIAQM5S|BS=tI(j_@$1oZtsgF2 za%(#eiU2P&2NL9wE1)>RqMMbljT2COg_@#8 zNv3J3FkkXsxhzN>);9{78ym=e)mm;=46>1z?IKV^+bSjQ*^mTRPWfqG4R_0{zSv^F zOU`NW+1Y~sRIuWfa+`sfxWfsSqc65ZIo*w19s!v@im!$Vx+thnDu~*_RYC|~o%;A0 z1gPzfq<1m0Ct*^|x+Y!(#JVpWR~%jQ9{i*(lC6uze=|?-^y*1*wHq*G?n>7Q;uIOa zlg3|ge^bd9(Ghb6A{P%5dHP}tfxQmVxV!AVV3w_UTZ^$!jtr|*rgi>kH??^W&}XOt zu7s)r@&M4{f8_!&`v9l_ptWlJj`k3S+P3Xp6<=8 zmnk=D>@P?zp)xh+No@LZgp28%`HXNCY$nh{gA_RKDJA?QkDl zFHwf;#qsoMuB0qB_sNa|1RWn-g|*iN<=*dSV6K zpWJ;V+i?2$mmkZoM#ZjqGvubOGp>}kf4~Jva(9nOJMS%n-b3gshA0a@*-jEp>H8Ni zfTe|m$fWg=EORQHP#u{ip^f|pfK&xi{Td8LpWKh~LGhfVu~?KDUhlY5X;e&2^= z;C|ix8xm5^pYPZI80+CMqP*qlkoYc9-gEuh`7=|gA|r-mj=}QIZyh%Sgpcl9LyFE; z?epV4c7)&mn&>#dyQLi5EBFY|D$^RRW5>I!- z2Lwa4=6r7%OIU)uj5n^6JnSw}k#qmNl^Q2XTPRZ}W6m_GDRTftFZV``dWS$I4~Sf= z93%U!uN$oToeSHXf(;y#mi9Jxxl5}mT=N-q_-dzdMO^D{Yr<2=MQ7gL2JtD2gCut) zzo9{tUFwu1s~&2Kg3m~Hh`o9UngQtBn^vXy;52`USv8$+2UZ)1G@089SknZGBu%@( zPzPtjCy;uTWkxsWzC4))_G`e=W_lakWfy^gzVuV)zN&pzU~Fc=SBv>QV!!=n@yH^G zT{vdjJ3)&@FSC}vw_aB6z!)~}=4FOG*!-JGdHl!!ZcNJaxO}hK1P&HtTl@I&3uf`y zey>(t#}Tv{^XDEM)^5ZLIMfDj@j{L7b(po5;Fk(Zaz0m_?3!LCd%w4tsX3(Tw0rdy zP1a(~T8HV>UU1)<1odd;UhBQlqbHZ9%2;p?a(<*yC^zzF13^vD7qe7}yn>DW?7Q#W zQi5J+g0#yTmRga`#~!()mJ-dPbg}YS(~-@!;PynF9nVkx0w32M8D~~@)TCpzxqJHk zWoI>7oD(f;A0R%)=N))&-I=MKlNAv$JuFgf`{nC=Uxt)+Z0mg$FHwJ*>7CcIUHI|c zQYHD>Ye6poL?vx@5$(RDkk_# zbHUNabiff~T46=yr>DY>gB}G&MK*TH&X(Tp_E9s37iFJ58Tg~NbLVdulc4qa!5ovd zl#~k?xWC!6O)1OGT25k}97hx+{f-9rihGe{$MP*f%?kQ*^kqGG@%rnX$NHLx#-_UD zBZ{)?$nqz|VW=S(85%Bj>T3tt&;GGfJhaG|U3V*8aSxk}vK`Z?F~10x=geEHee+xfMrnezrT;Fm*`GFg5-Yq#g-#XA8 z6sHWU{IniEU7p_@OCDOCiT4JgcxSl>u=Zvp4vk$}*6Is`^ADW_9QyFYfQIoyhf>9i zA>lYYVNazWhWtLyWVp~-cp{(jbKFX9i+eb~3XXJo;6>NV*3EA$@qRqwu5Sa;BiNft zP+8*XNAIZV=umtWq?cn-;hgO;dk`v?piry=>eH(Z*ukrdLY zyk7E|mxYhPA{!?{`;0b&{6{c@A_`Aj3FBYCC#va7%j7{>Mnhn!5A_aIdjVt;JkVt^ zC;**4aNNI55{=Pb_>E` z<=XhYerwe+;pNVgJs-Bx9~3#$mrQg(1dw!e3+kw#v`*(_;*%Y-iwV!=U#hLEv$mL0nUi~>k4B&rMab~iy=|gg?teqpVrD{Y^ zBtq0lSIEqLb-@d^L%K!Sij8{0)sh?WhIqe^0uI@xLnY)U4F#UT64mCzcMj&@S|4qB z#iraF>qs}ut1yq@?e|7`b^0}`CpvV0GL30eh#l9|blVS= znwsF~9WU8nDIo(**10=LtY?+9`T=w_Yuehf%m&mO>DK_7g)C^6`**^2hvM_MkjZ3a zB~fAK3+}CUSf?h!)4Cx!vks)Tam7C|v^)zO<tpv=9Z3bMp(y3W4i1j~Ie(HX~(aXLaITm!S|1CFTbxs{<-5EPVcopU=;ao2DB} z)#e`+n;}Z~Ce;L=MDN$Tp!SbRgeb$QD1CkX6Fi_Z&vy&aRhZU@6g`IU_DYGC6(7y} z7-jwFk!GoMck=ymvStU>xqHy22fd#I3NQ>%x*>IZ&6@s;0K1(iHK{agMkFYLDRKl)))&Sl?g zp1?MnT`;K7fB2)?F2d*6(9Kh}I_V|bN5tuo+oG2I|JTt1Y+vPeOFFmNlgnIGi5cS+ z1s%6$I#RmcH{7-z=^lI^q z+lJKlCNP3^-L?(NQv37|#>K!10fOsQE?YJAAYfJ7Q!Aj}mu6^ySa{+@Z=$E0_ax&b z!wH@Pgz?sIdI70Q>hbCN#lfKEg4lWX>{+P5H7Ktc%D6XK#4?NUDovF2ptYy|oSD!} z@$Zbpc)wSh*L-^SNlb{@u3c4NA}_711-RkwN|NQ_+N|Z19W{m<_N4r?;pG-Ez7S@@ zR`6&kGc5EtZb`SdXYyMflCX>9Jwcz2+dXdUmXd-SpP9!kxvwqBf!Gf&vEb_@H84!1 ztzAv3G}($PCVFZbPtE81}t_s9E}&BXNB=RWg1-sJSUmJpWO{n1|E(S!@8) zbB3(>TS8reLQYyM}^tE|_xE|cs;(Qtv z)kA9=G!V;kdD5B%k7{QiPt{j8Epa99PH^J(=D^sVm;SdJ>l}xQBrl#X1)O9bT`zg0 zVQ~=oWZ8NWL_)*?w*D?|6}u-#_1Qkh=o>j|0_9+Df(n{6nL++&ag0z6MoR7#v0$4Y&zm%5L+L|&lh(kNPup`2ITE6f|`BYYIn z$fi*8T4Pv2Dfp%aBF{z8+NOJR(kyRHUNDN+A z)P%AYW+&okgWRsjW+^+7M0Dxd2eppaQ8qq)wf|gTf{nHGx=VQ*g92JyT zu&ueWmo&!-3Rb?~zjUUku`7Nc3067uX(m3p{gN%^C<%A9-)YqiQDwGdP9S2r5vI`Q)u2O2yCoQ zb!4ZkM}z*d?5Q8v{{Ft?T*1Yj*pArN*N1gI903NsMvV~OWn+N znUv|!-iQ$wak?jn92UbTYN%}eRz_AWB}FKq}w=uiSwLQr@W7S<_1o$}u{ zHahs%cU?AiU}|E8=ske>hpf~@QNv17KZfF7T)b#>h5JWkP;_*(dC$aEJZP_2J6R7D z4+ZY@cD-sJBkOGnD9TM56R;=)WWzA)H9kxZ@nwLNrDB73Ur{`s|lj-PP4=PXb+|XD$c(gf)j`yfCzle%Q&QdB?%=%hE6Xs2iwhxSG)W0VTtni{v0(Z zWQA*tAiL~My8OvE$m&5?7yP0e-R2UY%v6iop4LGzxoMeKrV+aT_C9vQN?cT+#`gPJ zofn&}y4W&8i3R<8hl8PRw!V4ixCI_Lge|x!qr%8uPKifjOiUDhv1efN>9JC&ri(ES zF+O0gQacRp*PuT-m0fPoyE8oX(0U--giFR~1OT0^H^(3ZH8p275~1i~+7ROML5Omv z4Y%2{Ry~B9ed72+xSkt`$GKAjz_oLC7#KEAjwyQb`keG|iSf`LH(L%~Us`@dYKK{c z7ugRY?-_a|5ra{g&HTSbtV(@L^imH(bYH779HsdAE=m&Q2VlmIXB!Swd$U7xNor$g zCmgh_=1CKieW^nl^EV%woAaqDF+U@W*TOr7a`uk3bUSy1A9IPiK!Da4lL!K)!o_K+ zJEBs$2y*cyE{jdFgpZ#LLHX?a$C3gEMf{+Z_&Y9sK3ZB>)xd$@X~z*XpbS-3rl#=F zoq_Hruc&7BDQiG;1;esuYj1NeR+^4g(ceP5pc4{QFDk0$SO&M8+a1I(P<0TYdlM8k zfG0}F=U4@~6N(m-dT>eEYUL!F{qTBQF|3@S$T0LJRMv>f9-A}7VbbP4_P)1;1|41V zZgBA{Yw-8JJ2sEJwid{Hz=%#>Jc$DlP$fT%$G6hKd#OT=ssJk5&rltbdqGL(pcbZ0)76 zcF=vLdEyoffMX{7!-qn9YQwir4<{o|n7!RU`^0Bj%d@t=vujPZGFe4#y4U*8cZ_p# zJ0R0xO5`B|G>Rrmz4kEWpVmC$25c!`CE~=AqWwr#vsokSF?aXS-dpid!1oqQcSMxf zPIKyHp4_1No0Ab&?H~-v%wSC)u#%OhTR3ud9cMtAD;Kmx)Hw101xobmBAv1|?`8G{ z_)}$+okQ?_#MP%!JTlUQ9*&sRre^WFhD?Eew8S(jdhK*>BdM=j}`GI#m| zCEIz}esACRKqrjk$OHI(iP4WH1%}7?>N0;m)UpzIeP7A6?3oKhHUiGtVy1QqDDAD~ z6PHI+8eWC4SC7IB-MoUaZ8y!-3_v*0pQ8XA-o^v;raH$EVUrqb!soAW0PX@YBreW{ zMU|lK4)Me6v1!dbnP{=DotRzrN|@lEiHY>>l+pvbr~&JYWI=wze}i`Zx|wP&wh%}U zS0Dly-qINVOz$Ba7n5)hvDGy_2|iS9ajkKT)Pq_TKPKl+L3OVKCRZLFvK;Hj}Wpu8uuF17Zq1-sNa&{zN0}5eR2VnCoXK_xaA6`YD5X-AVmlqU%ZAcM>+Uwl!rGjhnQw5%L`T*_yna6AI6=5MCE zIf|{!U3cO_jpNmw9yv``#XRUMsmV#y<&jxy1dGy*7q|-TD3xd$2Qmn+nYmah6vMY-nW64#WI2l-PG$2;CkT|Ozj zSvTfG{7bL%aTgTfWDOU(0iQa5w;hlozkoWU{0Ybwwu!YvyxF6rmXo0-FnA@6!~-<@ zimxwxp~tLq&PV%`m*nNgfeqQcXLmIK&}(aGBQkIBi64@;ximaHfRIs>aaT&??|TOp!CLX%pdOoZ^rr?Av zv?w_zG~ZvjH&K0ac&Mu@_p04jl~I!*(BgF)DIP0zk*vk~4N*qmr?gmr`}j$5H`D3439iSRvKlTpRjHE=8bsCjV}g&b72a^q=3#mc6vrw2mfPadW889+ zl=>qnore{Bvvl3s!=<`);<52EfHPEMDb$bYV|QcSsfDL!9slUS9+D}s0Wn*BFhqR* zu#Xd~619>QH;+2lJ7h(*CrBaY_3TP$LjF%6%tq+o&Y`)f4BI}o-1F~&qyjs4Xt!`M z=+y}Y-~Lps>f*v&{pI#vVzs@bJsg_DQHmXFDQXFqy_XGG~H(M z2;KM4(Zh$2aZfJdY#bAoP|A?a%d6l!qnY+rT z{>&Y^2<mQG_ENBNDujc*Waw6?Ju~JZZ?2(1+PT*@uX$jFJPgI;tnHDl+H&3)G-YRZWmXX_njL19p^nJXncNCznYus z3%v88cQKqg!WvualZxu<-JwwP$2vcxX1n%-j{DMQ=Y*+rvbGzky4?d&*^klD$p&Sg zEe}Q2v~yiO0pLh8xweoxsHoB(Fy22msWL1wGPBD!AjKw@aU^zk|C8_N?)jVVsQ9B>)$8dR0xENHHn1X5 zzLEvt^L6(CNiu?zIko#C?$PQ?D!M{;^d%dF%d$sOCd2FoG&rewg;y^N&DV8gyGuwY zzB-J>LZb@=51W2l5C7)V_tx#eZg@~KlDmn0%G0gt336grWM$oy38v^84s^W0c=!I%Xd;##%y)6*xsnbD?=FIhY>SQ+#=DW1aW*IP0RStc*pObkJ3+Qtq7 z^CWJ_NOb<4kw$dh6S8n}Fy(T~iQZwqGM6r3BJJ;^bk%Nd0cQcZ9m>_f*+?#p9ys{> z?*~{U?H!C!ISlcteNEc!D!9^L zOZ$#%lHDEP`TX4wX-%!!_<7)KJ0Pmr&r% zq_}EUtBcfLUGvD)?zSz0&RaI3p18yEu*!07G{|cTkB%N%_N#VrYg=BJRv%Yf=b{?C8K^yd`f^_zxXy_`>HcHY_av>X2k)(VrPC6k zB--=A6Zlu|Z2b6Rh(9@jv-QsOXKM(y<#| z%Jp(jSw~y)g&d#lc=PF@!~I>qi|_i)V2a#0DK^cL#`edqP71Y!x4FG+Het2}e@vl_ zTxL+VDxlP_4%lDz;#P_%_lQ%4uS%dpgoQ(BRznC+^`x0flvv_c*Sdh&No3pe8=WDQ z6g`UTP`4M;C+D)=oX@#6zP7bt46PKl7S^VXu$~0!=vfuylkM%@EbL+??(OwRsi)OT z95|vPGo88>OWa$rg6;h>F|jHpP)R~SD_sesoIwcJVtC)T*sXFM761U{!afGe(>o7Zj-GHCq{sAWEEw{P4k*7QNH4j8e5X!AIK3k_Iyp zXzV`y`bCG)GUm&^{gh|N5|W|t97|GL4o=z-s_9KO7d%&0Vic<{n+uVblfgmvb!Y;M1++jmu zj~R(f;qkug|0B~n%&(D$x*{Ony7#2_1|cXYNam#L6Xwt6RxiArIP>&Iat(yY*D_K{!{D~OVFDtgWOzo!(k2iGi9Zvk7+e8p^Juy`(~b!wZlwqwsY2j z50Q~G)3Z?uM(C_8dsx3dyMCA|9gE6T>mAr5q?F>Ti1{70vGN7;|FP`Lo7@Wm2~dkzi8b7MH+Dx6%{R}Dt+Mz z2?_D>m=v|x!otFR3khghLh-CX<>kemv%+g7-{;*QMib|GddsL~O0*nv>UxVQ3zJMz zQht7Zi|I}#nS?+8{8LaX<*}uurM0y+^cp8QXG9(o)`k957xZ&~4ph^KkrGdrRx7Fo zf(;8t2}k|z*9NZ(h;n88u_KKMp!WSkE;DV-EiLoC>F>8N`XIrYsvZx&eWoqCAen;Q z+P+1kOgigLVYb&*A}aU6miX<&^EXYfmpVFf7Id_2hK7cuq@;|>2QquC9Al@qzf^4E z7FtYyW0EKrQ`6IBB+BIF%a?_gm*$eOWHd+IStg-7|CQxgRw+2`H0@CqBFZ$3t(} zP1?Uhc?`c}rJP4|H=APS!f~YBY*zc|%Csc5d?uxf;)e0wNM?V@mZ1j>)q`5w=04kj zjG~aJ3X8ky%3D2M)vc;1cEu)x!VOqihnY~I3b>s|$9er$676`sr2X$3mWz6LVawet zci+A};@QlUn_UX`hR}F>I`5RIL5yyu74vvHyMR3{v{i4)msB6;HP)u#V~}lFG?0L> zpTWQ9k{tDl6>(R}cN&q1#u4}J3sPhb^dRJK%A^dWS1J{xw7WaL-EcNB7|PSbKK=Ql zl^vyD)_$CYX(SR*llJeErg3bF*HY=}tRdbrt#MxBR_#lr)+5BdJ}c9D77g;(TuAJF zS{dX8>|%xZ)|#to~`yaSflPMd9AUCkVvLc{-Snn@ApXx?k#uB80rTZ)m zHfycwvY(kz4L*q&p}wF%`&=RK&5S;>8e(xVI#I7%is?Dw_lHbEX66sNROo(J{hz85 zZt7(jdy#9yK7s0n8&lp3g`6;igR<%KQrH~yD^(Ba={*Us7@veHc?_S8YF)eXg}3CIHvhE=xb)F z>ajeE=LH45CM(mA@Nz(QPoT2&5hDX-qHSflD>Gkk;?}duLPG)ayw^sRNk8k)90x

fG=H`}N%o0u}K#TdYf7}B6f_8r@h5A%Hfj^2e; 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 a&Yh1IQl-xvJpdS*>E3PiTRDmk|NLKn?l+hK From ab8b0d76503818673912024535ae2d3ba45c100a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 24 Jun 2024 14:29:17 +0200 Subject: [PATCH 12/14] Docs(web): Add documentation and demo for ActionLayout component #DS-1310 --- .../UNSTABLE_ActionLayout/README.md | 20 ++++++++++++++++++ .../UNSTABLE_ActionLayout/index.html | 7 +++--- .../unstable-actionlayout-chromium-linux.png | Bin 11981 -> 12145 bytes 3 files changed, 23 insertions(+), 4 deletions(-) diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md b/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md index 2ce89438cd..a2078308a7 100644 --- a/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/README.md @@ -2,3 +2,23 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +ActionLayout component is a container component that is used to position action components in a predefined layout. + +- For desktop and tablet views, actions are positioned in a horizontal direction with reverse order. +- For mobile view, actions are positioned in a vertical layout and are stretched to the full width of the container. + +```html +

+ +
+``` + +## Full Example + +```html +
+``` diff --git a/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html index 256645326b..9ffefd468a 100644 --- a/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html +++ b/packages/web/src/scss/components/UNSTABLE_ActionLayout/index.html @@ -1,12 +1,11 @@ {{#> web/layout/plain }} -
-

Default

+

Default

diff --git a/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-actionlayout-chromium-linux.png b/tests/e2e/demo-components-compare.spec.ts-snapshots/unstable-actionlayout-chromium-linux.png index b63d0d11a8811497c2825e8c591d98ed3583a6c4..b5b8496ece0885d60c1ef32a26c5bddd3aa001b7 100644 GIT binary patch literal 12145 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 P@VVgZ_Rs2{gYW(?j+sY< literal 11981 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 Date: Mon, 24 Jun 2024 14:29:31 +0200 Subject: [PATCH 13/14] Docs(web-react): Add documentation and demo for ActionLayout component #DS-1310 --- .../UNSTABLE_ActionLayout/README.md | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md b/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md index 2ce89438cd..f4aa1a0293 100644 --- a/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md +++ b/packages/web-react/src/components/UNSTABLE_ActionLayout/README.md @@ -2,3 +2,27 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +ActionLayout component is a container component that is used to position action components in a predefined layout. + +- For desktop and tablet views, actions are positioned in a horizontal direction with reverse order. +- For mobile view, actions are positioned in a vertical layout and are stretched to the full width of the container. + +```jsx + + + +``` + +## Full Example + +```jsx + + + Primary Action + + + Secondary Action + + +``` From 2b11515bd63114c810a07bef982ff9a7feb1742d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C4=8Curda?= Date: Mon, 24 Jun 2024 14:29:40 +0200 Subject: [PATCH 14/14] Docs(web-react): Add documentation and demo for EmptyState component #DS-1310 --- .../components/UNSTABLE_EmptyState/README.md | 65 +++++++++++++++++++ .../demo/EmptyStateDefault.tsx | 17 +---- 2 files changed, 67 insertions(+), 15 deletions(-) diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/README.md b/packages/web-react/src/components/UNSTABLE_EmptyState/README.md index 585afa5856..262303f8d0 100644 --- a/packages/web-react/src/components/UNSTABLE_EmptyState/README.md +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/README.md @@ -2,3 +2,68 @@ ⚠️ This component is UNSTABLE. It may significantly change at any point in the future. Please use it with caution. + +EmptyState component should be included in the error pages or empty state pages as the carrier of information and links to elsewhere. + +EmptyState component is a composition of the following components: + +- [UNSTABLE_EmptyState](#unstable-emptystate) + - [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) + +## UNSTABLE EmptyState + +The `UNSTABLE_EmptyState` component is a main container responsible for positioning the [UNSTABLE_EmptyStateSection](#unstable-emptystatesection) components or content. + +```jsx + + + +``` + +### API + +The component is based on the [Stack][stack] component and accepts all its properties. For more information, see the [Stack component API][stack-api]. + +## UNSTABLE EmptyStateSection + +The `UNSTABLE_EmptyStateSection` component is a container for the content of each section. + +```jsx + + + +``` + +### API + +The component is based on the [Stack][stack] component and accepts all its properties. For more information, see the [Stack component API][stack-api]. + +[stack]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/src/components/Stack/README.md +[stack-api]: https://github.com/lmc-eu/spirit-design-system/blob/main/packages/web-react/src/components/Stack/README.md#api + +## Full Example + +```jsx + + + + + + Heading + Description + + + + + Primary Action + + + Secondary Action + + + + + Link to something + + +``` diff --git a/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx index ce5fb83ab7..a5a385be3d 100644 --- a/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx +++ b/packages/web-react/src/components/UNSTABLE_EmptyState/demo/EmptyStateDefault.tsx @@ -10,20 +10,7 @@ import UNSTABLE_EmptyStateSection from '../UNSTABLE_EmptyStateSection'; const EmptyStateDefault = () => ( -
+
( strokeDasharray="4 4" /> -
+
Placeholder Replace me with your own component