Skip to content

Update Docoff to v0.9.1 and remove propTypes in favor of TypeScript types (#771) - #772

Merged
bedrich-schindler merged 3 commits into
masterfrom
maintenance/771
Oct 12, 2026
Merged

bedrich-schindler merged 3 commits into
masterfrom
maintenance/771

Conversation

@bedrich-schindler

@bedrich-schindler bedrich-schindler commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

Docoff v0.9.1 reads props of components from TypeScript types, so the API tables in the docs are rendered from the Props types and propTypes are not needed anymore.

  • Docoff v0.9.1 is loaded, every API table names the component, or the type, it is rendered for, and types that are of no use to the reader of the docs are overridden by the @docoffOverrideType tag.
  • The URL the docs are deployed at is passed to Docoff as its basePath option, which replaces the workaround for --docoff-preview-css: absolute paths break subdirectory deployments docoff#50.
  • Types imported by components are looked up in the bundled type declarations (Look up relative imports in a single file set by resolveRelativeImports docoff#57), which are copied to the docs when they are deployed, so that Docoff does not try the imported files one by one. Locally, the imported files are downloaded, so the types are always up to date.
  • API tables use the full width and wrap types between words only.
  • propTypes are removed from all components and prop-types is not a peer dependency anymore.

Replaces #764.

Closes #771

@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-12 20:50 UTC

@bedrich-schindler bedrich-schindler changed the title Update Docoff to v0.8.0 and remove propTypes in favor of TypeScript types (#771) Update Docoff to v0.9.0 and remove propTypes in favor of TypeScript types (#771) Oct 8, 2026
@bedrich-schindler
bedrich-schindler added this pull request to stack #774 October 8, 2026 08:50
Docoff newly reads props from TypeScript types and requires the name of the component, or of the type, the API table is rendered for. Types that are of no use to the reader of the docs are overridden by the `@docoffOverrideType` tag.

The URL the docs are deployed at is passed to Docoff as its `basePath` option, so that both the sources of components and the preview CSS are found in subdirectory deployments (e.g. PR previews). The workaround that set `--docoff-preview-css` by a script is not needed anymore.

Types imported by components are looked up in the bundled type declarations, which are copied to the docs when they are deployed, so that Docoff does not try the files the imports can point to one by one. Locally, the imported files are downloaded, so the types are always up to date.
@bedrich-schindler bedrich-schindler changed the title Update Docoff to v0.9.0 and remove propTypes in favor of TypeScript types (#771) Update Docoff to v0.9.1 and remove propTypes in favor of TypeScript types (#771) Oct 8, 2026
@mbohal
mbohal requested a balanced review from Copilot October 12, 2026 15:30

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Repository documentation and reviewer guidance still contain contradictory PropTypes instructions.

2 open findings
What changed in this PR

Migrates API documentation to Docoff v0.9.1 and TypeScript prop types while removing runtime PropTypes.

Changes:

  • Removes component PropTypes and related dependencies.
  • Configures Docoff base paths, bundled declarations, and API table names.
  • Updates documentation styling and deployment workflows.
File Description
src/​providers/​translations/​TranslationsProvider.tsx Removes PropTypes.
src/​providers/​globalProps/​withGlobalProps.tsx Removes ref PropTypes.
src/​providers/​globalProps/​GlobalPropsProvider.tsx Removes PropTypes.
src/​docs/​getting-started/​installation.md Updates peer dependencies.
src/​docs/​_assets/​stylesheets/​extra.css Updates API table layout.
src/​docs/​_assets/​js/​setupDocoff.js Configures Docoff paths and declarations.
src/​components/​Toolbar/​ToolbarItem.tsx Removes PropTypes.
src/​components/​Toolbar/​ToolbarGroup.tsx Removes PropTypes.
src/​components/​Toolbar/​Toolbar.tsx Removes PropTypes.
src/​components/​Toolbar/​README.md Names Docoff API targets.
src/​components/​Toggle/​Toggle.tsx Removes PropTypes.
src/​components/​Toggle/​README.md Names Docoff API target.
src/​components/​TextLink/​TextLink.tsx Removes PropTypes.
src/​components/​TextLink/​README.md Names Docoff API target.
src/​components/​TextField/​TextField.tsx Removes PropTypes.
src/​components/​TextField/​README.md Names Docoff API target.
src/​components/​TextArea/​TextArea.tsx Removes PropTypes.
src/​components/​TextArea/​README.md Names Docoff API target.
src/​components/​Text/​Text.tsx Removes PropTypes.
src/​components/​Text/​README.md Names Docoff API target.
src/​components/​Tabs/​TabsItem.tsx Removes PropTypes.
src/​components/​Tabs/​Tabs.tsx Removes PropTypes.
src/​components/​Tabs/​README.md Names Docoff API targets.
src/​components/​Table/​Table.tsx Removes PropTypes.
src/​components/​Table/​README.md Names Docoff API target.
src/​components/​Table/​_components/​TableHeaderCell/​TableHeaderCell.tsx Removes PropTypes.
src/​components/​Table/​_components/​TableBodyCell/​TableBodyCell.tsx Removes PropTypes.
src/​components/​SelectField/​SelectField.tsx Removes PropTypes.
src/​components/​SelectField/​README.md Names Docoff API target.
src/​components/​SelectField/​_components/​Option/​Option.tsx Removes PropTypes.
src/​components/​ScrollView/​ScrollView.tsx Removes PropTypes.
src/​components/​ScrollView/​README.md Names Docoff API target.
src/​components/​Radio/​README.md Names Docoff API target.
src/​components/​Radio/​Radio.tsx Removes PropTypes.
src/​components/​Popover/​README.md Names Docoff API targets.
src/​components/​Popover/​PopoverWrapper.tsx Removes PropTypes.
src/​components/​Popover/​Popover.tsx Removes PropTypes.
src/​components/​Paper/​README.md Names Docoff API target.
src/​components/​Paper/​Paper.tsx Removes PropTypes.
src/​components/​Modal/​README.md Names Docoff API targets.
src/​components/​Modal/​ModalTitle.tsx Removes PropTypes.
src/​components/​Modal/​ModalHeader.tsx Removes PropTypes.
src/​components/​Modal/​ModalFooter.tsx Removes PropTypes.
src/​components/​Modal/​ModalContent.tsx Removes PropTypes.
src/​components/​Modal/​ModalCloseButton.tsx Removes PropTypes.
src/​components/​Modal/​ModalBody.tsx Removes PropTypes.
src/​components/​Modal/​Modal.tsx Removes PropTypes.
src/​components/​InputGroup/​README.md Names Docoff API target.
src/​components/​InputGroup/​InputGroup.tsx Removes PropTypes.
src/​components/​Grid/​README.md Names Docoff API targets.
src/​components/​Grid/​GridSpan.tsx Removes PropTypes.
src/​components/​Grid/​Grid.types.ts Overrides displayed tag type.
src/​components/​Grid/​Grid.tsx Removes PropTypes infrastructure.
src/​components/​FormLayout/​README.md Names Docoff API targets.
src/​components/​FormLayout/​FormLayoutCustomField.tsx Removes PropTypes.
src/​components/​FormLayout/​FormLayout.types.ts Overrides displayed width type.
src/​components/​FormLayout/​FormLayout.tsx Removes PropTypes.
src/​components/​FileInputField/​README.md Names Docoff API target.
src/​components/​FileInputField/​FileInputField.tsx Removes PropTypes.
src/​components/​CheckboxField/​README.md Names Docoff API target.
src/​components/​CheckboxField/​CheckboxField.tsx Removes PropTypes.
src/​components/​Card/​README.md Names Docoff API targets.
src/​components/​Card/​CardFooter.tsx Removes PropTypes.
src/​components/​Card/​CardBody.tsx Removes PropTypes.
src/​components/​Card/​Card.tsx Removes PropTypes.
src/​components/​ButtonGroup/​README.md Names Docoff API target.
src/​components/​ButtonGroup/​ButtonGroup.tsx Removes PropTypes.
src/​components/​Button/​README.md Names Docoff API target.
src/​components/​Button/​Button.tsx Removes PropTypes.
src/​components/​Badge/​README.md Names Docoff API target.
src/​components/​Badge/​Badge.tsx Removes PropTypes.
src/​components/​Alert/​README.md Names Docoff API target.
src/​components/​Alert/​Alert.tsx Removes PropTypes.
README.md Updates installation requirements.
package.json Removes PropTypes dependencies.
package-lock.json Updates resolved dependencies.
mkdocs.yml Loads Docoff v0.9.1.
.github/​workflows/​release-management.yml Copies bundled declarations for deployment.
.github/​workflows/​pull-request-preview.yml Copies declarations into previews.
.claude/​rules/​frontend.md Makes TypeScript JSDoc the API source.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread .claude/rules/frontend.md
Comment thread README.md
The docs read props from TypeScript types, so `propTypes` are not needed anymore. As the library does not use the `prop-types` package anymore, it is not a peer dependency anymore
@bedrich-schindler
bedrich-schindler merged commit ebc596f into master Oct 12, 2026
14 checks passed
@bedrich-schindler
bedrich-schindler deleted the maintenance/771 branch October 12, 2026 20:50

This branch was successfully deployed

1 active deployment
pr-preview/pr-772 — a8585a1d Deployed Oct 12, 2026 by bedrich-schindler via Deploy PR Preview #133
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update Docoff to v0.9.1 and document props from TypeScript types

3 participants