Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
e3dbb19
Updating theming colours
gotpop Dec 12, 2025
ce7c49a
Updating mob block layout
gotpop Dec 12, 2025
8c805f6
Working on snippets
gotpop Dec 12, 2025
6b4920c
Working on var inheritance
gotpop Dec 12, 2025
e87625f
Working on var inheritance
gotpop Dec 16, 2025
edcbf35
Updating nav to be a popover
gotpop Dec 17, 2025
17acf34
Use popover api
gotpop Dec 17, 2025
ba2f804
Handle attributes progamatically
gotpop Dec 17, 2025
f0c34c0
Removing memo
gotpop Dec 17, 2025
cb27129
Using attr
gotpop Dec 17, 2025
30602b8
Formatting
gotpop Dec 17, 2025
27c8c6e
Customise popover starting style
gotpop Dec 17, 2025
61c9541
Updating popover menu
gotpop Dec 17, 2025
64d2a92
Adding stretch
gotpop Dec 17, 2025
da69e24
Prevent page overflow on mobile
gotpop Dec 17, 2025
f444b40
Setting body to inert
gotpop Dec 17, 2025
9257fa9
Updating button handling
gotpop Dec 17, 2025
33f3162
Rough version of state machine
gotpop Dec 17, 2025
57525fc
Removing forward ref
gotpop Dec 17, 2025
09f277c
Updating package versions
gotpop Dec 18, 2025
d3b7043
Component using popover state event
gotpop Dec 18, 2025
c80aa85
Updating ts
gotpop Dec 18, 2025
ee20e3c
Updating ts
gotpop Dec 18, 2025
27be3df
Remove null assertion
gotpop Dec 18, 2025
18b2cfe
Cleaning up use of types
gotpop Dec 18, 2025
deaa071
Updating breakpoints
gotpop Dec 18, 2025
6bcd3c1
Setting body to inert
gotpop Dec 18, 2025
2a14c56
Moving state logic to hook
gotpop Dec 18, 2025
fcf825c
Moving state logic to hook
gotpop Dec 18, 2025
1d69ac5
Moving state logic to hook
gotpop Dec 18, 2025
a6ac7b6
Refactor to use conditional wrapper
gotpop Dec 18, 2025
096d243
Allow null
gotpop Dec 18, 2025
0c26838
Refactor to use conditional wrapper
gotpop Dec 18, 2025
6f67527
IOS display bug
gotpop Dec 18, 2025
ffb9eac
Updating inert handling
gotpop Dec 19, 2025
38a9de3
Adding icon test
gotpop Dec 19, 2025
b6636fa
Using native imp
gotpop Dec 19, 2025
3fe088e
Updating popover nav
gotpop Dec 21, 2025
8e78b18
Updating offset to account for font metrics
gotpop Dec 29, 2025
479d619
Adding page to page animation
gotpop Dec 29, 2025
6511eef
Adding cross work nav transitions
gotpop Dec 30, 2025
97714c5
Formatting
gotpop Dec 30, 2025
2524d9f
Filter check
gotpop Dec 30, 2025
13e80e5
Filter out empty cats
gotpop Dec 30, 2025
f0e9fea
Filter out empty cats
gotpop Dec 30, 2025
1d3be97
Removing inline transitions
gotpop Dec 31, 2025
cce32c9
Updating next
gotpop Dec 31, 2025
846fa83
First working imp
gotpop Dec 31, 2025
9a08a89
First working imp
gotpop Dec 31, 2025
34d61d7
Transition cards not elements
gotpop Dec 31, 2025
953b1b0
Transition cards not elements
gotpop Dec 31, 2025
4eb6643
Adding next link to components
gotpop Jan 1, 2026
8228c7e
Using next link
gotpop Jan 1, 2026
3671eb8
Adding types
gotpop Jan 1, 2026
1100ba6
Loading eager
gotpop Jan 1, 2026
f174ccb
Partially working post to post transitions
gotpop Jan 1, 2026
31efd19
Removing transitions
gotpop Jan 1, 2026
409c5d6
Updating rich text block
gotpop Jan 2, 2026
205b426
Removing problematic scope
gotpop Jan 2, 2026
c856992
Removing problematic scope
gotpop Jan 2, 2026
6c93394
Removing problematic scope
gotpop Jan 2, 2026
b5665d5
Removing problematic scope
gotpop Jan 2, 2026
797b7e0
Update Storybook configuration to include builder options
gotpop Jan 2, 2026
e750a22
Removing SWC loader from webpack configuration
gotpop Jan 2, 2026
70fff6f
Removing SWC loader from webpack configuration
gotpop Jan 2, 2026
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
18 changes: 17 additions & 1 deletion apps/storybook/.storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@ const config: StorybookConfig = {
addons: [],
framework: {
name: "@storybook/nextjs",
options: {},
options: {
builder: {
useSWC: false,
},
},
},
features: {
experimentalRSC: true,
Expand All @@ -15,6 +19,18 @@ const config: StorybookConfig = {
reactDocgen: "react-docgen-typescript",
},
staticDirs: ["../public"],
webpackFinal: async (config) => {
// Remove SWC loader to fix Next.js 16 compatibility
if (config.module?.rules) {
config.module.rules = config.module.rules.filter((rule) => {
if (typeof rule === "object" && rule && "loader" in rule) {
return !rule.loader?.toString().includes("next-swc-loader")
}
return true
})
}
return config
},
}

export default config
9 changes: 8 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
"private": true,
"version": "0.1.0",
"description": "Design system monorepo for gotpop projects",
"workspaces": ["packages/*", "apps/*"],
"workspaces": [
"packages/*",
"apps/*"
],
"scripts": {
"build": "turbo run build",
"clean": "turbo run clean",
Expand Down Expand Up @@ -37,5 +40,9 @@
"tabWidth": 2,
"printWidth": 80,
"arrowParens": "always"
},
"dependencies": {
"@types/react": "19.2.3",
"@types/react-dom": "19.2.3"
}
}
10 changes: 3 additions & 7 deletions packages/storyblok/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,7 @@
"default": "./dist/utils/index.js"
}
},
"files": [
"dist/**/*",
"package.json",
"README.md"
],
"files": ["dist/**/*", "package.json", "README.md"],
"repository": {
"type": "git",
"url": "https://github.com/gotpop/system.git",
Expand All @@ -50,7 +46,7 @@
"publish:github": "npm version patch && yarn build && npm publish && cd ../.. && rm -f package-lock.json"
},
"dependencies": {
"@storyblok/react": "^5.0.0"
"@storyblok/react": "5.4.20"
},
"devDependencies": {
"@gotpop/system": "*",
Expand All @@ -60,6 +56,6 @@
"peerDependencies": {
"@gotpop/system": "*",
"next": ">=15.0.0",
"react": ">=19.0.0"
"react": ">=19.2.3"
}
}
14 changes: 7 additions & 7 deletions packages/system/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@gotpop/system",
"version": "0.1.248",
"version": "0.1.282",
"description": "React design system components for gotpop",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -69,26 +69,26 @@
},
"dependencies": {
"@next/font": "^14.2.15",
"@storyblok/react": "^5.4.18",
"react-dom": "19.2.0",
"motion": "^12.23.26",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-icons": "^5.4.0",
"react": "19.2.0",
"server-only": "^0.0.1",
"storyblok-rich-text-react-renderer": "^3.0.1"
},
"devDependencies": {
"@biomejs/biome": "^2.3.8",
"@gotpop/scripts": "^0.1.1",
"@types/node": "^20",
"@types/react-dom": "19.2.2",
"@types/react": "19.2.2",
"@types/react": "19.2.3",
"@types/react-dom": "19.2.3",
"chokidar-cli": "^3.0.0",
"concurrently": "^8.0.1",
"next": "16.0.0",
"prettier": "^3.6.2",
"typescript": "~5.7.0"
},
"peerDependencies": {
"react": ">=19.0.0"
"react": ">=19.2.3"
}
}
Original file line number Diff line number Diff line change
@@ -1,48 +1,57 @@
@scope (baseline-status) {
:scope {
--baseline-icon-limited-front: #f09409;
--baseline-icon-limited-back: #c6c6c6;
--baseline-icon-widely-front: #1ea446;
--baseline-icon-widely-back: #c4eed0;
--baseline-icon-newly-front: #1b6ef3;
--baseline-icon-newly-back: #a8c7fa;
--baseline-icon-no_data: #909090;

width: auto;
margin-bottom: var(--spacing-md);
grid-column: 1 / -1;

&:last-child {
margin-bottom: 0;
}
.baseline-status {
--baseline-icon-limited-front: #f09409;
--baseline-icon-limited-back: #c6c6c6;
--baseline-icon-widely-front: #1ea446;
--baseline-icon-widely-back: #c4eed0;
--baseline-icon-newly-front: #1b6ef3;
--baseline-icon-newly-back: #a8c7fa;
--baseline-icon-no_data: #909090;

width: auto;
margin-bottom: var(--spacing-md);
grid-column: 1 / -1;

&:last-child {
margin-bottom: 0;
}

details {
overflow: hidden;
}

summary {
.summary {
background: var(--light-100);
cursor: pointer;
list-style: none;
padding: var(--spacing-base);
display: block;
background-color: #f8f8f8;
width: 100%;
-webkit-appearance: none;
appearance: none;

&::-webkit-details-marker {
display: none;
}

&::marker {
display: none;
content: "";
}
}

.summary-content {
display: grid;
grid-template-columns: 1fr;
height: 9rem;
align-content: center;
gap: var(--spacing-base);
background-color: #f8f8f8;
width: 100%;

@media screen and (width >= 768px) {
gap: var(--spacing-xl);
height: 3rem;
grid-template-columns: 1fr auto;
}

&::-webkit-details-marker {
display: none;
}
}

.title {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,33 +48,35 @@ export function BaselineStatus({
return (
<CustomElement tag="baseline-status" className="baseline-status">
<details data-status={status}>
<summary>
<div className="title">
{normalizedName && (
<h4 className="feature-name">{normalizedName}</h4>
)}
</div>
<div className="feature-meta">
<BaselineIcon status={status} />
<strong>Baseline</strong>
<span>{label}</span>
{badgeText && <span className="baseline-badge">{badgeText}</span>}
</div>
<div className="baseline-status-browsers">
{browsers.map(({ key, label, support }) => {
const Icon =
browserIcons[key as keyof typeof browserIcons] || IconChrome
return (
<span
key={key}
className={`browser-icon browser-${key}`}
title={`${label}: ${support}`}
>
<Icon />
<SupportStatusIcon status={support} />
</span>
)
})}
<summary className="summary">
<div className="summary-content">
<div className="title">
{normalizedName && (
<h4 className="feature-name">{normalizedName}</h4>
)}
</div>
<div className="feature-meta">
<BaselineIcon status={status} />
<strong>Baseline</strong>
<span>{label}</span>
{badgeText && <span className="baseline-badge">{badgeText}</span>}
</div>
<div className="baseline-status-browsers">
{browsers.map(({ key, label, support }) => {
const Icon =
browserIcons[key as keyof typeof browserIcons] || IconChrome
return (
<span
key={key}
className={`browser-icon browser-${key}`}
title={`${label}: ${support}`}
>
<Icon />
<SupportStatusIcon status={support} />
</span>
)
})}
</div>
</div>
</summary>
<div className="content">
Expand Down
59 changes: 30 additions & 29 deletions packages/system/src/components/storyblok/Card/Card.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
"use client"

import Link from "next/link"
import { ViewTransition } from "react"
import type { ConfigStoryblok } from "../../../types/storyblok-components"
import {
getLinkPath,
Expand Down Expand Up @@ -32,35 +36,32 @@ export function Card({ blok, config }: CardProps) {
const formattedDate = formatDate(date)

return (
<CustomElement
tag="box-grid"
style={{
viewTransitionName: viewTransitionName,
}}
>
<div className="meta">
<Typography
tag="time"
variant="text-sm"
shade="charcoal"
dateTime={formattedDate}
className="margin-none"
>
{formattedDate}
<ViewTransition name={viewTransitionName}>
<CustomElement tag="box-grid">
<div className="meta">
<Typography
tag="time"
variant="text-sm"
shade="charcoal"
dateTime={formattedDate}
className="margin-none"
>
{formattedDate}
</Typography>
<Tags tags={tags} />
</div>
<Typography tag="h3" variant="text-xl" shade="dark">
<Link href={linkPath} className="title-link">
{title}
</Link>
</Typography>
<Typography tag="p" variant="text-base" shade="charcoal">
{description}
</Typography>
<Tags tags={tags} />
</div>
<Typography tag="h3" variant="text-xl" shade="dark">
<a href={linkPath} className="title-link">
{title}
</a>
</Typography>
<Typography tag="p" variant="text-base" shade="charcoal">
{description}
</Typography>
<a href={linkPath} className="link-simple">
Read more
</a>
</CustomElement>
<Link href={linkPath} className="link-simple">
Read more
</Link>
</CustomElement>
</ViewTransition>
)
}
Loading