mirror of
https://github.com/langgenius/dify.git
synced 2026-09-02 06:03:18 +08:00
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# @langgenius/dify-ui
|
|
|
|
This file owns the package boundary and routes detailed contracts. Start from the [package index],
|
|
then read only the guide for the contract being changed.
|
|
|
|
## Package boundary
|
|
|
|
- Keep this an independent primitive package. Do not import from application packages or depend on
|
|
routing, i18n, application state, schemas, data fetching, or business APIs.
|
|
- Prefer `@base-ui/react` when it owns the required headless behavior. Style primitives with `cva`,
|
|
`cn`, and Dify design tokens. Keep one primitive per `src/<name>/` folder with optional colocated
|
|
stories and tests.
|
|
- Prefer Base UI data attributes and CSS variables for visual states. Do not mirror primitive state
|
|
in React solely to add classes.
|
|
- When an upstream API or selector contract is unclear, read the current official Base UI
|
|
documentation and installed `@base-ui/react` declarations before coding.
|
|
|
|
## Contract owners
|
|
|
|
- Imports, exports, naming, public types, generics, and anatomy: [Public API authoring]
|
|
- Button and icon-only action behavior: [Button contract] and [Icon Button contract]
|
|
- Compound input behavior: [Input Group contract]
|
|
- Form structure and labels: [Forms]
|
|
- Picker choice and typed values: [Selection]
|
|
- Portals, layering, and floating-surface semantics: [Overlays]
|
|
- Tailwind integration and radius mapping: [Styling]
|
|
- Package test ownership and setup: [Testing and development]
|
|
|
|
A component needs a local README only when it owns a substantial Dify-specific contract that its
|
|
types, stories, and upstream documentation do not express. Do not create one for completeness.
|
|
|
|
[Button contract]: src/button/README.md
|
|
[Forms]: docs/forms.md
|
|
[Icon Button contract]: src/icon-button/README.md
|
|
[Input Group contract]: src/input-group/README.md
|
|
[Overlays]: docs/overlays.md
|
|
[Public API authoring]: docs/authoring.md
|
|
[Selection]: docs/selection.md
|
|
[Styling]: docs/styling.md
|
|
[Testing and development]: docs/testing.md
|
|
[package index]: README.md
|