Andrey Antukh
ee7bb5589d
✨ Add Label component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
6436e18074
✨ Add PanelTitle component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
c22c45384b
✨ Add Avatar component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
b5803871a7
✨ Add Loader component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
fcc29f2152
✨ Add Swatch component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
828dcb3a96
✨ Add RawSvg component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
425a140a44
✨ Add IconButton component to @penpot/ui
2026-04-08 15:46:13 +02:00
Andrey Antukh
42ea5def4f
✨ Bootstrap @penpot/ui TypeScript component library with DS migrations
...
- Configure @penpot/ui package with full tooling: ESLint 9, Stylelint,
Prettier, Vitest, Storybook (react-vite), vite-plugin-dts, React Compiler
- Add AGENTS.md with architecture overview, conventions, and migration table
- Fix Storybook react-docgen TypeScript parse error by removing empty .babelrc
that disabled Babel's built-in typescript plugin
- Fix vite.config.mts for @vitejs/plugin-react v6 (reactCompilerPreset())
- Fix tsconfig.storybook.json (remove emitDecoratorMetadata without decorator)
- Add shared SCSS foundations: _borders, _sizes, _utils, typography
- Migrate Text, Heading (foundations/typography) with stories and tests
- Migrate Icon (foundations/assets) with full iconIds catalogue and stories
- Migrate Cta (product) with stories and tests
- Migrate Button (buttons) with polymorphic anchor/button rendering,
4 variants, optional icon, and onRef callback; add _buttons.scss partial
- All checks passing: lint, check-fmt, typecheck, test (41 tests)
2026-04-08 15:46:13 +02:00
Andrey Antukh
61d319eaac
⬆️ Update dependencies ( #8867 )
...
* ⬆️ Update deps
* ⬆️ Update storybook dependencies
* ⬆️ Update dependencies
* 🐛 Fix invalid var() usage on SCSS variable in numeric_input
* ⬆️ Update deps
2026-04-07 21:35:00 +02:00
Andrey Antukh
8928e274fc
Merge remote-tracking branch 'origin/main' into staging
2026-03-24 18:01:38 +01:00
Andrey Antukh
56f1fcdb53
🐛 Fix crash when pasting image into text editor
...
When pasting an image (with no text content) into the text editor,
Draft.js calls handlePastedText with null/empty text. The previous fix
guarded splitTextIntoTextBlocks against null, but insertText still
attempted to build a fragment from an empty block array, causing
Modifier.replaceWithFragment to crash with 'Cannot read properties of
undefined (reading getLength)'.
Fix insertText to return the original state unchanged when there are no
text blocks to insert. Also guard handle-pasted-text in the ClojureScript
editor to skip the insert-text call entirely when text is nil or empty.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 13:00:28 +00:00
Andrey Antukh
d863c7065f
🐛 Fix null text crash on paste in text editor
...
The splitTextIntoTextBlocks function in @penpot/draft-js called
.split() on the text parameter without a null check. When pasting
content without text data (e.g., images only), Draft.js passes null
to handlePastedText, causing a TypeError.
Signed-off-by: Andrey Antukh <niwi@niwi.nz>
2026-03-24 13:49:28 +01:00
Andrey Antukh
0de482da9d
⬆️ Update pnpm to 10.31.0 across all submodules ( #8549 )
2026-03-10 10:03:05 +01:00
Florian Schroedl
375608b44b
⬆️ Update tokenscript interpreter to 0.26.0 and add CSS color schemas
...
Regenerate schemas.js with preset:cssColors to support CSS color constants.
2026-02-12 14:14:45 +01:00
Juanfran
45d04942cc
✨ Add example ui storybook
2026-02-10 08:29:24 +01:00
Andrey Antukh
17935443df
✨ Move all tokenscript related adaptations to a separared package
2026-02-05 09:45:55 +01:00
Andrey Antukh
1246250198
🎉 Migrate to PNPM frontend module
2026-01-22 13:55:41 +01:00
Andrey Antukh
b77712ce73
✨ Move frontend/vendor to frontend/packages
2025-12-23 13:10:58 +01:00