diff --git a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.fusion b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.fusion new file mode 100644 index 000000000..ce024b408 --- /dev/null +++ b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.fusion @@ -0,0 +1,48 @@ +prototype(Neos.Presentation:Tag) < prototype(Neos.Fusion:Component) { + + @styleguide { + title = "Tag" + props { + text = 'Tag Text' + href = '#link' + } + useCases { + numbered.props { + text = 'Tag Text' + number = 42 + href = '#link' + } + } + } + + @propTypes { + text = ${PropTypes.string.isRequired} + href = ${PropTypes.anyOf(PropTypes.string)} + number = ${PropTypes.integer} + disabled = ${PropTypes.boolean} + } + + text = null + href = null + number = null + + attributes = Neos.Fusion:DataStructure + class = null + + renderer = Neos.Fusion:Tag { + tagName = 'a' + attributes { + @apply.attributes = ${props.attributes} + class = ${AtomicFusion.classNames( + 'n-tag', + 'display-body-md', + props.class + )} + href = ${props.href} + } + content = afx` + {props.text} + {props.number} + ` + } +} diff --git a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.pcss b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.pcss new file mode 100644 index 000000000..fe5a129be --- /dev/null +++ b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Atom/Tag/Tag.pcss @@ -0,0 +1,23 @@ +.n-tag { + @apply inline-block; + + span { + @apply inline-flex h-9 px-3 bg-darkblue text-white flex flex-col justify-center text-center; + } + + &:hover span { + @apply bg-accent-purple; + } + + span:only-child { + @apply rounded; + } + + span:first-child { + @apply mr-[2px] rounded-tl rounded-bl; + } + + span:last-child { + @apply rounded-tr rounded-br; + } +} diff --git a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Module/Teaser.fusion b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Module/Teaser.fusion index 8925e7e18..db46023fa 100644 --- a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Module/Teaser.fusion +++ b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Module/Teaser.fusion @@ -3,6 +3,7 @@ prototype(Neos.Presentation:Module.Teaser) < prototype(Neos.Fusion:Component) { @styleguide { title = "Teaser" props { + variant = 'default' headline.text = 'Ready for Neos CMS?' primaryLink.text = 'Try Neos now' primaryLink.icon = Neos.Presentation:Icon { @@ -14,6 +15,34 @@ prototype(Neos.Presentation:Module.Teaser) < prototype(Neos.Fusion:Component) { uri = 'https://source.unsplash.com/random/800x600' } } + useCases { + imageBackgroundWithFreeContent.props { + variant = 'imageBackground' + headline.text = 'Find your nearest Neos Partner' + content = afx` + + + + + + + + + ` + image.imageSource = Sitegeist.Kaleidoscope:ResourceImageSource { + package = 'Neos.Presentation' + path = 'Assets/Styleguide/teaser/EuropaNeosMap.svg' + } + secondaryLink { + text = 'All Service Providers' + icon = Neos.Presentation:Icon { + name = 'pixel-chevron-right' + class = 'h-6' + } + href = '#' + } + } + } } @propTypes { @@ -34,27 +63,40 @@ prototype(Neos.Presentation:Module.Teaser) < prototype(Neos.Fusion:Component) { } } + variant = 'default' + image = null + headline = null + description = null + content = null + primaryLink = null + secondaryLink = null + renderer = afx` -
- - - - - - -
- - -
+
+
+ + + + + + {props.content} + + + +
+ + +
+
- - +
+
` diff --git a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.fusion b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.fusion new file mode 100644 index 000000000..e6f1619a4 --- /dev/null +++ b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.fusion @@ -0,0 +1,72 @@ +prototype(Neos.Presentation:TagGroup) < prototype(Neos.Fusion:Component) { + + @styleguide { + title = "Tag Group" + props { + variant = 'default' + content = Neos.Fusion:Join { + tag1 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Numquam amet tempora' + } + tag2 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Labore eius neque non' + } + tag3 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Non velit dolore' + } + } + } + useCases { + list.props { + variant = 'list' + content = Neos.Fusion:Join { + tag1 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Numquam amet tempora' + } + tag2 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Labore eius neque non' + } + tag3 = Sitegeist.Monocle:Preview.Prototype { + prototypeName = 'Neos.Presentation:Tag' + useCase = 'numbered' + props.text = 'Non velit dolore' + } + } + } + } + } + + @propTypes { + variant = ${PropTypes.string.isRequired} + } + + variant = 'default' + content = null + + attributes = Neos.Fusion:DataStructure + class = null + + renderer = Neos.Fusion:Tag { + attributes { + @apply.attributes = ${props.attributes} + class = ${AtomicFusion.classNames( + 'n-tag-group', + { + 'n-tag-group--list': props.variant == 'list' + }, + props.class + )} + } + content = ${props.content} + } +} diff --git a/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.pcss b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.pcss new file mode 100644 index 000000000..4e80043b2 --- /dev/null +++ b/DistributionPackages/Neos.Presentation/Resources/Private/Fusion/Molecule/TagGroup/TagGroup.pcss @@ -0,0 +1,7 @@ +.n-tag-group { + @apply flex flex-wrap items-start gap-1; +} + +.n-tag-group--list { + @apply flex-col; +} diff --git a/DistributionPackages/Neos.Presentation/Resources/Public/Assets/Styleguide/teaser/EuropaNeosMap.svg b/DistributionPackages/Neos.Presentation/Resources/Public/Assets/Styleguide/teaser/EuropaNeosMap.svg new file mode 100644 index 000000000..3601d1a7d --- /dev/null +++ b/DistributionPackages/Neos.Presentation/Resources/Public/Assets/Styleguide/teaser/EuropaNeosMap.svg @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +