mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 05:50:35 +00:00
The paragraph language selects the CJK typesetting rules (line breaking, punctuation spacing, the default emphasis position and localized glyphs), but plugins could not read or set it. `lang` holds it as a BCP 47 tag, as the HTML `lang` attribute does; `null` or `''` removes it. On a text shape it applies to every paragraph and reports 'mixed' when they differ. On a text range it applies to the whole paragraphs the range touches: `update-text-range-attrs` now writes paragraph attrs such as the language there instead of copying them into spans. The tag pattern moves to `schema:text-language`, shared by the content schema and the plugin validator. AI-assisted-by: claude-opus-5-5
Penpot plugin-types
The @penpot/plugin-types package provides TypeScript type definitions for the Penpot Plugin API, making it easier to develop plugins for the Penpot design platform with full type safety and IDE support. It streamlines the development process by ensuring that your code is well-typed and less prone to errors.
Getting started
Installation
To add penpot's plugin-types to your project, use the following command:
npm install @penpot/plugin-types
Configuration
To ensure the typings work correctly in your project, update your tsconfig.json as follows:
"typeRoots": [
"./node_modules/@types",
"./node_modules/@penpot"
],
"types": ["plugin-types"],
Learn more
For more information on how to build plugins using the Penpot PLugin API, refer to the official documentation. You can also explore practical examples in the samples repository to see real-world implementations.