diff --git a/package.json b/package.json
index 5c37848609..4e81e0d01b 100644
--- a/package.json
+++ b/package.json
@@ -84,8 +84,8 @@
"@types/node": "20.12.11",
"@types/react": "18.3.2",
"@types/react-dom": "18.3.0",
- "@typescript-eslint/eslint-plugin": "7.8.0",
- "@typescript-eslint/parser": "7.8.0",
+ "@typescript-eslint/eslint-plugin": "7.9.0",
+ "@typescript-eslint/parser": "7.9.0",
"@web/test-runner": "0.18.2",
"@web/test-runner-commands": "0.9.0",
"@web/test-runner-playwright": "0.11.0",
@@ -123,9 +123,9 @@
"stylelint-config-standard-scss": "13.1.0",
"stylelint-scss": "6.3.0",
"ts-lit-plugin": "2.0.2",
- "tsx": "4.10.1",
+ "tsx": "4.10.2",
"typescript": "5.4.5",
- "typescript-eslint": "7.8.0",
+ "typescript-eslint": "7.9.0",
"vite": "5.2.11",
"vite-plugin-dts": "3.9.1"
},
diff --git a/scripts/docs_generate.ts b/scripts/docs_generate.ts
index 6297886f5b..24e29fae2b 100644
--- a/scripts/docs_generate.ts
+++ b/scripts/docs_generate.ts
@@ -5,7 +5,12 @@
import fs from 'fs';
import { customElementsManifestToMarkdown } from '@custom-elements-manifest/to-markdown';
-import type { Attribute, CustomElement, Package } from 'custom-elements-manifest/schema';
+import type {
+ Attribute,
+ ClassDeclaration,
+ CustomElement,
+ Package,
+} from 'custom-elements-manifest/schema';
import * as glob from 'glob';
// eslint-disable-next-line @typescript-eslint/naming-convention
import MagicString from 'magic-string';
@@ -125,6 +130,26 @@ async function updateComponentReadme(
}
const manifest: Package = JSON.parse(fs.readFileSync(manifestFilePath, 'utf-8'));
+
+type ExtendedClassDeclaration = ClassDeclaration & {
+ cssProperties: { name: string }[];
+ events: { name: string }[];
+ members: { name: string }[];
+ slots: { name: string }[];
+};
+
+manifest.modules.forEach((module) => {
+ module.declarations
+ ?.filter((declaration): declaration is ExtendedClassDeclaration => declaration.kind === 'class')
+ .forEach((declaration) =>
+ ['members', 'slots', 'cssProperties', 'events'].forEach((type) =>
+ (declaration[type as keyof ExtendedClassDeclaration] as { name: string }[])?.sort((a, b) =>
+ a.name.localeCompare(b.name),
+ ),
+ ),
+ );
+});
+
const markdown: string = customElementsManifestToMarkdown(manifest, {
headingOffset: -1, // Default heading is '###'
private: 'details', // We use 'details' because it's the only way to remove 'protected' members from the tables. We remove details section later.
diff --git a/src/components/accordion/readme.md b/src/components/accordion/readme.md
index fc18e8f4d8..2176d3cb03 100644
--- a/src/components/accordion/readme.md
+++ b/src/components/accordion/readme.md
@@ -52,9 +52,9 @@ In the following example, all the `sbb-expansion-panel-header` would be wrapped
| Name | Attribute | Privacy | Type | Default | Description |
| ------------ | ------------- | ------- | ----------------------- | ------- | ----------------------------------------------------------------------------------------- |
-| `titleLevel` | `title-level` | public | `SbbTitleLevel \| null` | `null` | The heading level for the sbb-expansion-panel-headers within the component. |
| `multi` | `multi` | public | `boolean` | `false` | Whether more than one sbb-expansion-panel can be open at the same time. |
| `size` | `size` | public | `'s' \| 'l'` | `'l'` | Size variant, either l or s; overrides the size on any projected `sbb-expansion-panel`. ` |
+| `titleLevel` | `title-level` | public | `SbbTitleLevel \| null` | `null` | The heading level for the sbb-expansion-panel-headers within the component. |
## Slots
diff --git a/src/components/action-group/__snapshots__/action-group.spec.snap.js b/src/components/action-group/__snapshots__/action-group.spec.snap.js
index b20e5791f8..14aa4f73ff 100644
--- a/src/components/action-group/__snapshots__/action-group.spec.snap.js
+++ b/src/components/action-group/__snapshots__/action-group.spec.snap.js
@@ -30,9 +30,7 @@ snapshots["sbb-action-group renders renders - Dom"] =
href="https://github.com/lyne-design-system/lyne-components"
icon-name="chevron-small-left-small"
icon-placement="start"
- role="link"
size="m"
- tabindex="0"
>
Link
@@ -60,13 +58,7 @@ snapshots["sbb-action-group renders A11y tree Chrome"] =
},
{
"role": "link",
- "name": "Link",
- "children": [
- {
- "role": "link",
- "name": "Link"
- }
- ]
+ "name": "Link"
}
]
}
@@ -87,13 +79,7 @@ snapshots["sbb-action-group renders A11y tree Firefox"] =
{
"role": "link",
"name": "Link",
- "children": [
- {
- "role": "link",
- "name": "Link",
- "value": "https://github.com/lyne-design-system/lyne-components"
- }
- ]
+ "value": "https://github.com/lyne-design-system/lyne-components"
}
]
}
diff --git a/src/components/action-group/readme.md b/src/components/action-group/readme.md
index 5d4946f875..53bec0cf50 100644
--- a/src/components/action-group/readme.md
+++ b/src/components/action-group/readme.md
@@ -123,10 +123,10 @@ The values for `align-group` and `align-self` for the various allocations are as
| Name | Attribute | Privacy | Type | Default | Description |
| ---------------- | ----------------- | ------- | ------------------------------------------- | -------------- | ----------------------------------------------------------------------------------------------------------------------- |
| `alignGroup` | `align-group` | public | `'start' \| 'center' \| 'stretch' \| 'end'` | `'start'` | Set the slotted `