mirror of
https://github.com/apache/superset.git
synced 2026-05-23 08:45:45 +00:00
Snapshots all four versioned Docusaurus sections at v6.1.0, cut from master after the version-cutting tooling (#39837), broken-internal- links fix (#40102), and user_docs rename (#40171) all landed. With the rename in place, all four sections now produce parallel-named files at the docs/ root (no more bare `versioned_docs/` outlier). Versioning behavior: lastVersion stays at current for every section, so the canonical URLs (/user-docs/..., /admin-docs/..., /developer-docs/..., /components/...) continue to render content from master. The current version is consistently labeled "Next" with an unreleased banner, and 6.1.0 is a historical pin accessible only via its explicit version segment. Component playground: previously disabled: true in versions-config.json, now enabled and versioned. Snapshot includes: - All MDX content for the four sections. - Auto-gen captured fresh: 74 database pages (engine spec metadata), ~1,800 API reference files (openapi.json), 59 component pages (Storybook stories). - Data imports frozen at cut time into snapshot-local _versioned_data/ dirs: user_docs_versioned_docs/version-6.1.0/_versioned_data/src/data/databases.json (canonical 80-database diagnostics from master, preserved by the generator's input-hash cache) admin_docs_versioned_docs/version-6.1.0/_versioned_data/data/countries.json admin_docs_versioned_docs/version-6.1.0/_versioned_data/static/feature-flags.json developer_docs_versioned_docs/version-6.1.0/_versioned_data/static/data/components.json - Import paths in deeply-nested files rewritten so they still resolve from one directory deeper inside the snapshot. - developer_docs/extensions/overview.md snapshot has the FIXED ./mcp.md form (from #40102), so the SPA-nav 404 isn't baked into the 6.1.0 version. Verified via full yarn build: exit 0, no broken links surfaced by onBrokenLinks: throw.
94 lines
2.6 KiB
Plaintext
94 lines
2.6 KiB
Plaintext
---
|
|
title: Extension Components
|
|
sidebar_label: Overview
|
|
sidebar_position: 1
|
|
---
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
# Extension Components
|
|
|
|
These UI components are available to Superset extension developers through the `@apache-superset/core/components` package. They provide a consistent look and feel with the rest of Superset and are designed to be used in extension panels, views, and other UI elements.
|
|
|
|
## Available Components
|
|
|
|
- [Alert](./alert.mdx)
|
|
|
|
## Usage
|
|
|
|
All components are exported from the `@apache-superset/core/components` package:
|
|
|
|
```tsx
|
|
import { Alert } from '@apache-superset/core/components';
|
|
|
|
export function MyExtensionPanel() {
|
|
return (
|
|
<Alert type="info">
|
|
Welcome to my extension!
|
|
</Alert>
|
|
);
|
|
}
|
|
```
|
|
|
|
## Adding New Components
|
|
|
|
Components in `@apache-superset/core/components` are automatically documented here. To add a new extension component:
|
|
|
|
1. Add the component to `superset-frontend/packages/superset-core/src/ui/components/`
|
|
2. Export it from `superset-frontend/packages/superset-core/src/ui/components/index.ts`
|
|
3. Create a Storybook story with an `Interactive` export:
|
|
|
|
```tsx
|
|
export default {
|
|
title: 'Extension Components/MyComponent',
|
|
component: MyComponent,
|
|
parameters: {
|
|
docs: {
|
|
description: {
|
|
component: 'Description of the component...',
|
|
},
|
|
},
|
|
},
|
|
};
|
|
|
|
export const InteractiveMyComponent = (args) => <MyComponent {...args} />;
|
|
|
|
InteractiveMyComponent.args = {
|
|
variant: 'primary',
|
|
disabled: false,
|
|
};
|
|
|
|
InteractiveMyComponent.argTypes = {
|
|
variant: {
|
|
control: { type: 'select' },
|
|
options: ['primary', 'secondary'],
|
|
},
|
|
disabled: {
|
|
control: { type: 'boolean' },
|
|
},
|
|
};
|
|
```
|
|
|
|
4. Run `yarn start` in `docs/` - the page generates automatically!
|
|
|
|
## Interactive Documentation
|
|
|
|
For interactive examples with controls, run Storybook locally — see the [Storybook documentation](/developer-docs/testing/storybook).
|