Skip to content
Merged
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
55ff9c5
docs: readme update
lukasz-hycom Nov 4, 2025
2c1aebb
docs: adding Product dropdown to main navigation
lukasz-hycom Nov 4, 2025
182e9ab
docs(pages): adding product page with basic structure
lukasz-hycom Nov 4, 2025
6bb0d59
feat(docs): updating homepage components
lukasz-hycom Nov 5, 2025
2c62150
feat(docs): adding HomepageStartersSection component
lukasz-hycom Nov 6, 2025
922b475
feat(docs): add HomepageFeaturesSection component with icons and feat…
lukasz-hycom Nov 7, 2025
9795287
feat(docs): add coding rules and conventions for Docusaurus documenta…
lukasz-hycom Nov 7, 2025
ef43623
feat(docs): add Star icon and enhance HeroBannerSection with badge su…
lukasz-hycom Nov 7, 2025
9a790a0
feat(docs): introduce FeatureCard component and refactor GuidesSectio…
lukasz-hycom Nov 7, 2025
869445f
feat(docs): add new icons and FeatureCardsList component to enhance p…
lukasz-hycom Nov 7, 2025
61b48c9
refactor(docs): update class names for consistency and improve layout…
lukasz-hycom Nov 7, 2025
70b7f00
refactor(docs): replace FeatureCardsList with FeatureTileList
lukasz-hycom Nov 7, 2025
540cd73
feat(docs): add technical capabilities section to product features page
lukasz-hycom Nov 11, 2025
3a79bc1
feat(docs): integrate FooterSection and enhance layout on product fea…
lukasz-hycom Nov 11, 2025
6cd322b
feat(docs): enhance BenefitsSection with description on product start…
lukasz-hycom Nov 11, 2025
7603e1b
feat(docs): implement integrations page layout with HeroBannerSection…
lukasz-hycom Nov 11, 2025
8db493a
feat(docs): add 'transparent' option to borderColor in BenefitCard
lukasz-hycom Nov 12, 2025
b1a4f61
feat(docs): add CopyCommandButton component
lukasz-hycom Nov 12, 2025
78a2b0c
refactor(docs): reorganize layout structure in product pages and enha…
lukasz-hycom Nov 12, 2025
ef5275c
feat(docs): add FeaturesListWithImage component
lukasz-hycom Nov 12, 2025
a89bb66
feat(docs): implement Accordion component using Radix UI
lukasz-hycom Nov 12, 2025
7a2f4df
feat(docs): add StarterInfoSection component and integrate it into pr…
lukasz-hycom Nov 13, 2025
1b526a2
fix(docs): update links in HomepageStartersSection
lukasz-hycom Nov 13, 2025
5cd100e
feat(docs): enhance Badge component with additional variants and icon…
lukasz-hycom Nov 14, 2025
07d576b
feat(docs): add IntegrationsBlocks component and update integrations …
lukasz-hycom Nov 14, 2025
32a6e3a
fix(docs): remove TODO comment from contact link in ProductStarters c…
lukasz-hycom Nov 14, 2025
8d03fad
feat(docs): add containerWidth prop to HeroBannerSection
lukasz-hycom Nov 14, 2025
cdab936
fix(docs): correct casing of link labels and update FeaturesListWithI…
lukasz-hycom Nov 14, 2025
c6e0d54
feat(docs): add SubscribeSection component for email subscription fun…
lukasz-hycom Nov 14, 2025
021fe22
fix(docs): update starter images to improve text visibility
lukasz-hycom Nov 14, 2025
02f8831
fix(docs): content changes pt. 1
jan-jagoda Nov 14, 2025
b5ed828
feat(docs): enhance FeaturesListWithImage with animations
lukasz-hycom Nov 14, 2025
401120f
feat(docs): add new SVG icons for user and stack tiles
lukasz-hycom Nov 14, 2025
04c27e5
fix(docs): refine container width logic in HeroBannerSection
lukasz-hycom Nov 14, 2025
0f92974
fix(docs): content changes pt. 2
jan-jagoda Nov 17, 2025
8729192
fix(docs): adjust image styling in FeaturesListWithImage
lukasz-hycom Nov 17, 2025
05021f0
feat(docs): add Accordion component into FeaturesListWithImage
lukasz-hycom Nov 17, 2025
d5b2c7c
fix(docs): update feature images and remove deprecated assets
lukasz-hycom Nov 17, 2025
bd5dd2e
fix(docs): content changes pt. 3
jan-jagoda Nov 17, 2025
ea3444b
feat(docs): enhance dropdown navigation with new styles and link options
lukasz-hycom Nov 18, 2025
856c45d
Merge branch 'main' of https://github.com/o2sdev/openselfservice into…
lukasz-hycom Nov 18, 2025
83d1413
chore(deps): add peer dependencies to multiple packages in package-lo…
lukasz-hycom Nov 18, 2025
12ecc65
feat(docs): update navbar icons and styles
lukasz-hycom Nov 18, 2025
368d8ff
fix(docs): update GitHub link in homepage
lukasz-hycom Nov 18, 2025
46f073f
feat(docs): add integration icons
lukasz-hycom Nov 18, 2025
8f227b4
fix(docs): content related fixes
jan-jagoda Nov 19, 2025
cf7dbc8
chore(docs): update customer and digital portal images
lukasz-hycom Nov 19, 2025
172de1c
refactor(docs): remove TODO comments
lukasz-hycom Nov 19, 2025
7ee5e5e
updated package-lock
marcinkrasowski Nov 19, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions apps/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,3 @@ $ GIT_USER=<Your GitHub username> npm run deploy
```

If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch.



25 changes: 19 additions & 6 deletions apps/docs/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -335,6 +335,25 @@ const config: Config = {
items: hideDocs
? undefined
: [
{
type: 'dropdown',
label: 'Product',
position: 'left',
items: [
{
label: 'Features',
to: 'product/features',
},
{
label: 'Starters',
to: 'product/starters',
},
{
label: 'Integrations',
to: 'product/integrations',
},
],
},
{
type: 'dropdown',
label: 'Developers',
Expand Down Expand Up @@ -396,12 +415,6 @@ const config: Config = {
label: 'Partners',
to: '/partners',
},
{
to: '/dxp',
label: 'DXP Starter',
position: 'left',
},

{
type: 'search',
position: 'right',
Expand Down
1 change: 1 addition & 0 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
"@mdx-js/react": "^3.1.1",
"@vercel/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0",
"@radix-ui/react-accordion": "^1.2.12",
"clsx": "^2.1.1",
"docusaurus-plugin-image-zoom": "^3.0.1",
"docusaurus-plugin-sass": "^0.2.6",
Expand Down
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/ArrowLeftRightGreenTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions apps/docs/src/assets/icons/ArrowRight.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/BanGreenTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/Blocks.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/BlocksPurpleTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/CircleUser.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/FileSearch.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/GaugePurpleTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/LayersPurpleTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 7 additions & 0 deletions apps/docs/src/assets/icons/LayoutDashboardGreenTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/Rocket.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/ScalingGreenTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/Star.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/TicketX.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions apps/docs/src/assets/icons/Wallet.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions apps/docs/src/assets/icons/WaypointsPurpleTile.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
30 changes: 30 additions & 0 deletions apps/docs/src/components/Accordion/Accordion.module.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
@keyframes accordion-down {
from {
height: 0;
}
to {
height: var(--radix-accordion-content-height);
}
}

@keyframes accordion-up {
from {
height: var(--radix-accordion-content-height);
}
to {
height: 0;
}
}

.accordionContent {
overflow: hidden;
transition: all 0.2s ease-out;

&[data-state='closed'] {
animation: accordion-up 0.2s ease-out;
}

&[data-state='open'] {
animation: accordion-down 0.2s ease-out;
}
}
99 changes: 99 additions & 0 deletions apps/docs/src/components/Accordion/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
import * as AccordionPrimitive from '@radix-ui/react-accordion';
import clsx from 'clsx';
import React, { type ReactNode } from 'react';

import ChevronDownIcon from '@site/src/assets/icons/ChevronDown.svg';
import { BodyBold } from '@site/src/components/Typography';

import styles from './Accordion.module.scss';

export interface AccordionItem {
title: string;
content: ReactNode;
value: string;
}

export interface AccordionProps {
items: AccordionItem[];
type?: 'single' | 'multiple';
defaultValue?: string;
className?: string;
}

const AccordionRoot: React.FC<AccordionProps> = ({ items, type = 'single', defaultValue, className }) => {
if (type === 'single') {
return (
<AccordionPrimitive.Root
type="single"
defaultValue={defaultValue}
collapsible
className={clsx('flex flex-col items-start w-full', className)}
>
{items.map((item) => (
<AccordionItem key={item.value} value={item.value}>
<AccordionTrigger>{item.title}</AccordionTrigger>
<AccordionContent>{item.content}</AccordionContent>
</AccordionItem>
))}
</AccordionPrimitive.Root>
);
}

return (
<AccordionPrimitive.Root
type="multiple"
defaultValue={defaultValue ? [defaultValue] : undefined}
className={clsx('flex flex-col items-start w-full', className)}
>
{items.map((item) => (
<AccordionItem key={item.value} value={item.value}>
<AccordionTrigger>{item.title}</AccordionTrigger>
<AccordionContent>{item.content}</AccordionContent>
</AccordionItem>
))}
</AccordionPrimitive.Root>
);
};

const AccordionItem: React.FC<{
children: ReactNode;
value: string;
className?: string;
}> = ({ children, value, className }) => {
return (
<AccordionPrimitive.Item value={value} className={clsx('border-b border-white w-full', className)}>
{children}
</AccordionPrimitive.Item>
);
};

const AccordionTrigger: React.FC<{
children: ReactNode;
className?: string;
}> = ({ children, className }) => {
return (
<AccordionPrimitive.Trigger
className={clsx(
'flex flex-1 items-center justify-between py-4 px-0 cursor-pointer text-white bg-transparent border-none transition-all w-full',
'data-[state=open]:[&_svg]:rotate-180',
className,
)}
>
<BodyBold className="mb-0!">{children}</BodyBold>
<ChevronDownIcon className="h-4 w-4 shrink-0 transition-transform duration-200" />
</AccordionPrimitive.Trigger>
);
};

const AccordionContent: React.FC<{
children: ReactNode;
className?: string;
}> = ({ children, className }) => {
return (
<AccordionPrimitive.Content className={clsx(styles.accordionContent, className)}>
<div className="pb-4 pt-0">{children}</div>
</AccordionPrimitive.Content>
);
};

export default AccordionRoot;
Loading