diff --git a/packages/storybook/CONTRIBUTING.md b/packages/storybook/CONTRIBUTING.md
index 9086c8dff5..d7ec756aa8 100644
--- a/packages/storybook/CONTRIBUTING.md
+++ b/packages/storybook/CONTRIBUTING.md
@@ -46,11 +46,15 @@ import * as componentNameStories from './component-name.stories';
-## Appearances
+## Usage
-## Appearance Variants
+## Styling
-## Usage
+### Appearances
+
+### Appearance Variants
+
+### Sizing
## Examples
@@ -79,6 +83,8 @@ Note: if linking in a story via a native or Nimble anchor component, use the fol
Link
```
+Linking to headings within a document doesn't work very well, i.e. `./page#some-heading`; avoid using links to specific headings and instead link to the page and refer to the section using **Bold**, i.e. `See **Some Heading** on [Page](./page)`.
+
All other Markdown formatting is supported. See any [Markdown Cheatsheet](https://www.markdownguide.org/cheat-sheet/) for more information.
### Testing
diff --git a/packages/storybook/src/nimble/anchor-button/anchor-button.mdx b/packages/storybook/src/nimble/anchor-button/anchor-button.mdx
index ef99e23ba3..0658b77bea 100644
--- a/packages/storybook/src/nimble/anchor-button/anchor-button.mdx
+++ b/packages/storybook/src/nimble/anchor-button/anchor-button.mdx
@@ -20,6 +20,8 @@ An anchor button is a component with the visual appearance of a button, but it n
+## Styling
+
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/anchor-button/anchor-button.stories.ts b/packages/storybook/src/nimble/anchor-button/anchor-button.stories.ts
index 5892314b4f..66d8266908 100644
--- a/packages/storybook/src/nimble/anchor-button/anchor-button.stories.ts
+++ b/packages/storybook/src/nimble/anchor-button/anchor-button.stories.ts
@@ -8,6 +8,7 @@ import {
ButtonAppearanceVariant
} from '@ni/nimble-components/dist/esm/patterns/button/types';
import {
+ appearanceDescription,
appearanceVariantDescription,
contentHiddenDescription,
endIconDescription,
@@ -56,7 +57,8 @@ const metadata: Meta = {
},
appearance: {
options: Object.keys(ButtonAppearance),
- control: { type: 'radio' }
+ control: { type: 'radio' },
+ description: appearanceDescription
},
appearanceVariant: {
name: 'appearance-variant',
diff --git a/packages/storybook/src/nimble/anchor-tabs/anchor-tabs.mdx b/packages/storybook/src/nimble/anchor-tabs/anchor-tabs.mdx
index 0a343ce09d..50bfd9f5ae 100644
--- a/packages/storybook/src/nimble/anchor-tabs/anchor-tabs.mdx
+++ b/packages/storybook/src/nimble/anchor-tabs/anchor-tabs.mdx
@@ -14,9 +14,7 @@ tab panels hosted on the same page.
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/anchor/anchor.mdx b/packages/storybook/src/nimble/anchor/anchor.mdx
index 5c9218105c..2deb5598d5 100644
--- a/packages/storybook/src/nimble/anchor/anchor.mdx
+++ b/packages/storybook/src/nimble/anchor/anchor.mdx
@@ -10,9 +10,7 @@ Per [W3C](https://www.w3.org/WAI/ARIA/apg/patterns/link/), an anchor/link widget
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/anchored-region/anchored-region.mdx b/packages/storybook/src/nimble/anchored-region/anchored-region.mdx
index f83c1237d8..409b585dd3 100644
--- a/packages/storybook/src/nimble/anchored-region/anchored-region.mdx
+++ b/packages/storybook/src/nimble/anchored-region/anchored-region.mdx
@@ -17,9 +17,7 @@ available space, or even resize itself based on that space.
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/banner/banner.mdx b/packages/storybook/src/nimble/banner/banner.mdx
index d91cdf1ff5..a86d1ad469 100644
--- a/packages/storybook/src/nimble/banner/banner.mdx
+++ b/packages/storybook/src/nimble/banner/banner.mdx
@@ -16,9 +16,7 @@ should be spaced apart using the {bannerGapSize.cssCustomProperty}
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/breadcrumb/breadcrumb.mdx b/packages/storybook/src/nimble/breadcrumb/breadcrumb.mdx
index c685b8efd5..e4be7375c9 100644
--- a/packages/storybook/src/nimble/breadcrumb/breadcrumb.mdx
+++ b/packages/storybook/src/nimble/breadcrumb/breadcrumb.mdx
@@ -15,9 +15,7 @@ for information on using this component in Angular with RouterLink directives.
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/button/button.mdx b/packages/storybook/src/nimble/button/button.mdx
index bff8d0996d..637f641421 100644
--- a/packages/storybook/src/nimble/button/button.mdx
+++ b/packages/storybook/src/nimble/button/button.mdx
@@ -1,6 +1,7 @@
import { Canvas, Meta, Controls, Title } from '@storybook/blocks';
import ContentHiddenDocs from '../patterns/button/content-hidden-docs.mdx';
import StylingDocs from '../patterns/button/styling-docs.mdx';
+import ComponentApisLink from '../../docs/component-apis-link.mdx';
import { buttonTag } from '@ni/nimble-components/dist/esm/button';
import { anchorButtonTag } from '@ni/nimble-components/dist/esm/anchor-button';
import * as buttonStories from './button.stories';
@@ -15,17 +16,27 @@ action, or performing a delete operation.
If you want a button that triggers navigation to a URL, use the instead.
+
+## API
+
+
+
+## Styling
+
-## Sizing
+### Sizing
Nimble Buttons are currently always 32px tall. Designs exist for other sizes; if you need these in an application, please comment on [Configurable height for nimble controls (#610)](https://github.com/ni/nimble/issues/610).
-## Accessibility
+{/* ## Usage */}
+
+{/* ## Examples */}
-Please work with your designer and ensure you have a 4.5:1
-contrast ratio text to background.
+## Accessibility
+
+{/* ## Resources */}
diff --git a/packages/storybook/src/nimble/button/button.stories.ts b/packages/storybook/src/nimble/button/button.stories.ts
index dd30654a08..517695c513 100644
--- a/packages/storybook/src/nimble/button/button.stories.ts
+++ b/packages/storybook/src/nimble/button/button.stories.ts
@@ -10,9 +10,10 @@ import {
appearanceVariantDescription,
contentHiddenDescription,
endIconDescription,
- iconDescription
+ iconDescription,
+ textContentDescription
} from '../patterns/button/doc-strings';
-import { createUserSelectedThemeStory } from '../../utilities/storybook';
+import { apiCategory, createUserSelectedThemeStory, disabledDescription } from '../../utilities/storybook';
interface ButtonArgs {
label: string;
@@ -22,6 +23,7 @@ interface ButtonArgs {
icon: boolean;
contentHidden: boolean;
endIcon: boolean;
+ click: undefined;
}
const metadata: Meta = {
@@ -36,22 +38,45 @@ const metadata: Meta = {
appearance: {
options: Object.keys(ButtonAppearance),
control: { type: 'radio' },
- description: appearanceDescription
+ description: appearanceDescription,
+ table: { category: apiCategory.attributes }
},
appearanceVariant: {
name: 'appearance-variant',
options: Object.keys(ButtonAppearanceVariant),
control: { type: 'radio' },
- description: appearanceVariantDescription
+ description: appearanceVariantDescription,
+ table: { category: apiCategory.attributes }
},
contentHidden: {
- description: contentHiddenDescription
+ name: 'content-hidden',
+ description: contentHiddenDescription,
+ table: { category: apiCategory.attributes }
+ },
+ disabled: {
+ description: disabledDescription({ componentName: 'button' }),
+ table: { category: apiCategory.attributes }
+ },
+ label: {
+ name: 'default',
+ description: textContentDescription({ componentName: 'button' }),
+ table: { category: apiCategory.slots }
},
icon: {
- description: iconDescription
+ name: 'start',
+ description: iconDescription,
+ table: { category: apiCategory.slots }
},
endIcon: {
- description: endIconDescription
+ name: 'end',
+ description: endIconDescription,
+ table: { category: apiCategory.slots }
+ },
+ click: {
+ description:
+ 'Fires when the button is activated by either keyboard or mouse.',
+ table: { category: apiCategory.events },
+ control: false
}
},
// prettier-ignore
diff --git a/packages/storybook/src/nimble/card-button/card-button.mdx b/packages/storybook/src/nimble/card-button/card-button.mdx
index 444da47f97..9c4b43ae3f 100644
--- a/packages/storybook/src/nimble/card-button/card-button.mdx
+++ b/packages/storybook/src/nimble/card-button/card-button.mdx
@@ -1,5 +1,6 @@
import { Canvas, Meta, Controls, Title } from '@storybook/blocks';
import { NimbleCardButton } from './card-button.react';
+import { anchorButtonTag } from '@ni/nimble-components/dist/esm/anchor-button';
import { cardButtonTag } from '@ni/nimble-components/dist/esm/card-button';
import { buttonTag } from '@ni/nimble-components/dist/esm/button';
import * as cardButtonStories from './card-button.stories';
@@ -10,14 +11,17 @@ import * as cardButtonStories from './card-button.stories';
The is a button that is designed to contain arbitrary content that is specified by a client
application. The is intended to be larger and more prominent on a page than the standard .
+If you want a button that triggers navigation to a URL, use the instead.
+
Note: The styling for the "Color" theme is not complete.
-
-{/* ## Appearances */}
+## API
+
+
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/card-button/card-button.stories.ts b/packages/storybook/src/nimble/card-button/card-button.stories.ts
index 969e1db76e..9eaac9e7b9 100644
--- a/packages/storybook/src/nimble/card-button/card-button.stories.ts
+++ b/packages/storybook/src/nimble/card-button/card-button.stories.ts
@@ -3,11 +3,13 @@ import { withActions } from '@storybook/addon-actions/decorator';
import type { HtmlRenderer, Meta, StoryObj } from '@storybook/html';
import { bodyFont } from '@ni/nimble-components/dist/esm/theme-provider/design-tokens';
import { cardButtonTag } from '@ni/nimble-components/dist/esm/card-button';
-import { createUserSelectedThemeStory } from '../../utilities/storybook';
+import { apiCategory, createUserSelectedThemeStory, disabledDescription } from '../../utilities/storybook';
interface CardButtonArgs {
disabled: boolean;
selected: boolean;
+ content: string;
+ click: undefined;
}
const metadata: Meta = {
@@ -52,6 +54,28 @@ const metadata: Meta = {
args: {
disabled: false,
selected: false
+ },
+ argTypes: {
+ disabled: {
+ description: disabledDescription({ componentName: 'card button' }),
+ table: { category: apiCategory.attributes }
+ },
+ selected: {
+ description: 'Styles the card button to indicate it is selected.',
+ table: { category: apiCategory.attributes }
+ },
+ content: {
+ name: 'default',
+ description: 'The card button allows arbitrary HTML child content in its default slot.',
+ table: { category: apiCategory.slots },
+ control: false
+ },
+ click: {
+ description:
+ 'Fires when the card button is activated by either keyboard or mouse.',
+ table: { category: apiCategory.events },
+ control: false
+ }
}
};
diff --git a/packages/storybook/src/nimble/card/card.mdx b/packages/storybook/src/nimble/card/card.mdx
index ba31748dc1..2e853a035b 100644
--- a/packages/storybook/src/nimble/card/card.mdx
+++ b/packages/storybook/src/nimble/card/card.mdx
@@ -12,9 +12,7 @@ application. The is intended for grouping related content
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/checkbox/checkbox.mdx b/packages/storybook/src/nimble/checkbox/checkbox.mdx
index 42e970a5e5..51ebc12fe1 100644
--- a/packages/storybook/src/nimble/checkbox/checkbox.mdx
+++ b/packages/storybook/src/nimble/checkbox/checkbox.mdx
@@ -10,9 +10,7 @@ Per [W3C](https://www.w3.org/WAI/ARIA/apg/patterns/checkbox/) - The dual-state c
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/combobox/combobox.mdx b/packages/storybook/src/nimble/combobox/combobox.mdx
index f348f7e44c..671bbfe789 100644
--- a/packages/storybook/src/nimble/combobox/combobox.mdx
+++ b/packages/storybook/src/nimble/combobox/combobox.mdx
@@ -9,9 +9,7 @@ import { listOptionTag } from '@ni/nimble-components/dist/esm/list-option/';
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/dialog/dialog.mdx b/packages/storybook/src/nimble/dialog/dialog.mdx
index ced58cc43e..aa90633baa 100644
--- a/packages/storybook/src/nimble/dialog/dialog.mdx
+++ b/packages/storybook/src/nimble/dialog/dialog.mdx
@@ -11,11 +11,9 @@ By default, the first focusable control gets focus when the dialog is opened. To
-{/* ## Appearances */}
+## Styling
-{/* ## Appearance Variants */}
-
-## Sizing
+### Sizing
The dialog size can be customized by modyfing the width, height and max-height properties of `nimble-dialog::part(control)`.
diff --git a/packages/storybook/src/nimble/dialog/dialog.stories.ts b/packages/storybook/src/nimble/dialog/dialog.stories.ts
index d2e49248ee..014120e1d7 100644
--- a/packages/storybook/src/nimble/dialog/dialog.stories.ts
+++ b/packages/storybook/src/nimble/dialog/dialog.stories.ts
@@ -61,7 +61,7 @@ const content = {
const sizeDescription = `
Size of a nimble dialog.
-See the Sizing section of the Usage Docs for information on controlling the size of the dialog.
+See the **Sizing** section for information on controlling the size of the dialog.
`;
const widths = {
diff --git a/packages/storybook/src/nimble/drawer/drawer.mdx b/packages/storybook/src/nimble/drawer/drawer.mdx
index cd8e8ce1f7..47694b8bda 100644
--- a/packages/storybook/src/nimble/drawer/drawer.mdx
+++ b/packages/storybook/src/nimble/drawer/drawer.mdx
@@ -9,9 +9,7 @@ Specialized dialog designed to slide in from either side of the page. Typically
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/icon-base/icons.mdx b/packages/storybook/src/nimble/icon-base/icons.mdx
index 9d28224419..4bde23a753 100644
--- a/packages/storybook/src/nimble/icon-base/icons.mdx
+++ b/packages/storybook/src/nimble/icon-base/icons.mdx
@@ -10,9 +10,7 @@ Nimble icons can be slotted into other components or used independently. Each ic
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/menu-button/menu-button.mdx b/packages/storybook/src/nimble/menu-button/menu-button.mdx
index 08cf0a8795..4c6bd38af4 100644
--- a/packages/storybook/src/nimble/menu-button/menu-button.mdx
+++ b/packages/storybook/src/nimble/menu-button/menu-button.mdx
@@ -19,6 +19,8 @@ often styled as a typical push button with a downward pointing arrow or triangle
+## Styling
+
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/menu-button/menu-button.stories.ts b/packages/storybook/src/nimble/menu-button/menu-button.stories.ts
index 9fb157afb4..ab8f172717 100644
--- a/packages/storybook/src/nimble/menu-button/menu-button.stories.ts
+++ b/packages/storybook/src/nimble/menu-button/menu-button.stories.ts
@@ -17,12 +17,14 @@ import {
appearanceVariantDescription,
contentHiddenDescription,
endIconDescription,
- iconDescription
+ iconDescription,
+ textContentDescription
} from '../patterns/button/doc-strings';
import {
apiCategory,
createUserSelectedThemeStory,
- disableStorybookZoomTransform
+ disableStorybookZoomTransform,
+ disabledDescription
} from '../../utilities/storybook';
interface MenuButtonArgs {
@@ -36,8 +38,8 @@ interface MenuButtonArgs {
disabled: boolean;
contentHidden: boolean;
menuPosition: string;
- toggle: () => void;
- beforetoggle: () => void;
+ toggle: undefined;
+ beforetoggle: undefined;
}
const metadata: Meta = {
@@ -54,8 +56,7 @@ const metadata: Meta = {
argTypes: {
label: {
name: 'default',
- description:
- 'The text content of the button. This will be hidden when `content-hidden` is set but should always be provided; see the `Accessibility` section for more info.',
+ description: textContentDescription({ componentName: 'menu button' }),
table: { category: apiCategory.slots }
},
icon: {
@@ -94,7 +95,7 @@ const metadata: Meta = {
},
disabled: {
control: { type: 'boolean' },
- description: 'Disables the button.',
+ description: disabledDescription({ componentName: 'menu button' }),
table: { category: apiCategory.attributes }
},
contentHidden: {
diff --git a/packages/storybook/src/nimble/menu/menu.stories.ts b/packages/storybook/src/nimble/menu/menu.stories.ts
index 648e45d320..1f647052b2 100644
--- a/packages/storybook/src/nimble/menu/menu.stories.ts
+++ b/packages/storybook/src/nimble/menu/menu.stories.ts
@@ -27,7 +27,7 @@ interface MenuItemArgsBase {
}
interface MenuItemArgs extends MenuItemArgsBase {
- change: () => void;
+ change: undefined;
}
interface AnchorMenuItemArgs {
diff --git a/packages/storybook/src/nimble/number-field/number-field.mdx b/packages/storybook/src/nimble/number-field/number-field.mdx
index 4090916277..36afea60a9 100644
--- a/packages/storybook/src/nimble/number-field/number-field.mdx
+++ b/packages/storybook/src/nimble/number-field/number-field.mdx
@@ -10,9 +10,7 @@ Similar to a single line text box but only used for numeric data. The controls a
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/patterns/button/doc-strings.ts b/packages/storybook/src/nimble/patterns/button/doc-strings.ts
index e57b09b90a..80975f0332 100644
--- a/packages/storybook/src/nimble/patterns/button/doc-strings.ts
+++ b/packages/storybook/src/nimble/patterns/button/doc-strings.ts
@@ -1,8 +1,10 @@
-import { iconDescription as baseIconDescription } from '../../../utilities/storybook';
+import { textContentDescription as baseTextContentDescription, iconDescription as baseIconDescription } from '../../../utilities/storybook';
-export const appearanceDescription = 'This attribute affects the appearance of the button.';
+export const textContentDescription = (options: { componentName: string }): string => `${baseTextContentDescription(options)} This will be hidden when \`content-hidden\` is set but should always be provided; see the **Accessibility** section for more info.`;
-export const appearanceVariantDescription = 'This attribute has no effect on buttons with a `ghost` appearance. There is no `accent` appearance-variant for the `color` UI.';
+export const appearanceDescription = 'This attribute affects the appearance of the button. See the **Styling** section for more information.';
+
+export const appearanceVariantDescription = 'This attribute configures additional variations of the button appearance. It has no effect on buttons with a `ghost` appearance. There is no `accent` appearance-variant for the `color` UI. See the **Styling** section for more information.';
export const contentHiddenDescription = 'When set, this attribute hides the text and end icon, leaving only the start icon visible.';
diff --git a/packages/storybook/src/nimble/patterns/button/styling-docs.mdx b/packages/storybook/src/nimble/patterns/button/styling-docs.mdx
index c031de3688..ba64a4b374 100644
--- a/packages/storybook/src/nimble/patterns/button/styling-docs.mdx
+++ b/packages/storybook/src/nimble/patterns/button/styling-docs.mdx
@@ -1,7 +1,5 @@
import { NimbleIconKey } from '../../icons/key.react';
-## Styling
-
### Appearances
These are the standard styling options for the button. Each should be considered for use before employing an appearance variant.
diff --git a/packages/storybook/src/nimble/radio-group/radio-group.mdx b/packages/storybook/src/nimble/radio-group/radio-group.mdx
index 31341c0112..544a458456 100644
--- a/packages/storybook/src/nimble/radio-group/radio-group.mdx
+++ b/packages/storybook/src/nimble/radio-group/radio-group.mdx
@@ -9,9 +9,7 @@ Per [W3C](https://www.w3.org/WAI/ARIA/apg/patterns/radio/) - A radio group is a
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/select/select.mdx b/packages/storybook/src/nimble/select/select.mdx
index 92fcac0987..1c2287f794 100644
--- a/packages/storybook/src/nimble/select/select.mdx
+++ b/packages/storybook/src/nimble/select/select.mdx
@@ -11,9 +11,7 @@ Select is a control for selecting amongst a set of options. Its value comes from
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/switch/switch.mdx b/packages/storybook/src/nimble/switch/switch.mdx
index 6af17a85a0..4a7c671fe0 100644
--- a/packages/storybook/src/nimble/switch/switch.mdx
+++ b/packages/storybook/src/nimble/switch/switch.mdx
@@ -15,9 +15,7 @@ pressed or not pressed and can optionally allow for a partially pressed state.
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/table-column/date-text/table-column-date-text.mdx b/packages/storybook/src/nimble/table-column/date-text/table-column-date-text.mdx
index e89f003143..9c51364f77 100644
--- a/packages/storybook/src/nimble/table-column/date-text/table-column-date-text.mdx
+++ b/packages/storybook/src/nimble/table-column/date-text/table-column-date-text.mdx
@@ -13,9 +13,7 @@ The column is used to display date-time fie
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
## Usage
diff --git a/packages/storybook/src/nimble/table-column/number-text/table-column-number-text.mdx b/packages/storybook/src/nimble/table-column/number-text/table-column-number-text.mdx
index 76c67644cb..a19b40e98f 100644
--- a/packages/storybook/src/nimble/table-column/number-text/table-column-number-text.mdx
+++ b/packages/storybook/src/nimble/table-column/number-text/table-column-number-text.mdx
@@ -20,9 +20,7 @@ based on the value of the `lang` token, which can be set via the [nimble-theme-p
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
## Usage
diff --git a/packages/storybook/src/nimble/table-column/text/table-column-text.mdx b/packages/storybook/src/nimble/table-column/text/table-column-text.mdx
index cd7e9d7e63..e7e2dc5eca 100644
--- a/packages/storybook/src/nimble/table-column/text/table-column-text.mdx
+++ b/packages/storybook/src/nimble/table-column/text/table-column-text.mdx
@@ -13,9 +13,7 @@ The column is used to display string fields as
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
## Usage
diff --git a/packages/storybook/src/nimble/table/table.mdx b/packages/storybook/src/nimble/table/table.mdx
index b27bb4acc6..8d9ffd430d 100644
--- a/packages/storybook/src/nimble/table/table.mdx
+++ b/packages/storybook/src/nimble/table/table.mdx
@@ -49,12 +49,10 @@ The expected usage of the dynamically loaded hierarchy is as follows:
- the table will not render delayed hierarchy state (loading or expandable) if the table's `parentIdFieldName` is not configured; however, the options will remain cached within the table if the `parentIdFieldName` becomes `undefined`, and that cached configuration will render in the table if the table's `parentIdFieldName` is changed back to a non-`undefined` value
- calling `setData` will clear options associated with IDs that are no longer present in the data
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
-
## Styling
+### Sizing
+
The should be sized explicitly or sized to fill the space of a parent container. The does not currently support being styled with `height: auto`. The ability to auto size the table is tracked with [issue 1624](https://github.com/ni/nimble/issues/1624).
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/tabs/tabs.mdx b/packages/storybook/src/nimble/tabs/tabs.mdx
index 25c6d23dc6..7d56916cbd 100644
--- a/packages/storybook/src/nimble/tabs/tabs.mdx
+++ b/packages/storybook/src/nimble/tabs/tabs.mdx
@@ -18,9 +18,7 @@ If you want a sequence of tabs that navigate to different URLs, use the Anchor T
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/text-area/text-area.mdx b/packages/storybook/src/nimble/text-area/text-area.mdx
index c2be0e2104..5dff1d0092 100644
--- a/packages/storybook/src/nimble/text-area/text-area.mdx
+++ b/packages/storybook/src/nimble/text-area/text-area.mdx
@@ -12,9 +12,7 @@ If you configure your text area to be resizable (with the `resize` attribute) in
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/text-field/text-field.mdx b/packages/storybook/src/nimble/text-field/text-field.mdx
index 961d6bd800..3a0ca2a25c 100644
--- a/packages/storybook/src/nimble/text-field/text-field.mdx
+++ b/packages/storybook/src/nimble/text-field/text-field.mdx
@@ -10,9 +10,7 @@ A single-line text field.
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/toggle-button/toggle-button.mdx b/packages/storybook/src/nimble/toggle-button/toggle-button.mdx
index d2d731a7b7..391718a8c7 100644
--- a/packages/storybook/src/nimble/toggle-button/toggle-button.mdx
+++ b/packages/storybook/src/nimble/toggle-button/toggle-button.mdx
@@ -9,13 +9,16 @@ import * as toggleButtonStories from './toggle-button.stories';
Per [W3C](https://www.w3.org/WAI/ARIA/apg/patterns/button/) - A toggle button is a two-state button
that can be either off (not pressed) or on (pressed). For example, a button labeled mute in an audio player could
-indicate that sound is muted by setting the pressed state true. Important: it is critical the label on a toggle does
-not change when its state changes. In this example, when the pressed state is true, the label remains "Mute" so a
-screen reader would say something like "Mute toggle button pressed".
+indicate that sound is muted by setting the pressed state true.
+
+## API
+
+## Styling
+
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/toggle-button/toggle-button.stories.ts b/packages/storybook/src/nimble/toggle-button/toggle-button.stories.ts
index 5f59da141f..abe63e6893 100644
--- a/packages/storybook/src/nimble/toggle-button/toggle-button.stories.ts
+++ b/packages/storybook/src/nimble/toggle-button/toggle-button.stories.ts
@@ -10,9 +10,10 @@ import {
appearanceVariantDescription,
contentHiddenDescription,
endIconDescription,
- iconDescription
+ iconDescription,
+ textContentDescription
} from '../patterns/button/doc-strings';
-import { createUserSelectedThemeStory } from '../../utilities/storybook';
+import { apiCategory, createUserSelectedThemeStory, disabledDescription } from '../../utilities/storybook';
interface ToggleButtonArgs {
label: string;
@@ -23,8 +24,13 @@ interface ToggleButtonArgs {
icon: boolean;
contentHidden: boolean;
endIcon: boolean;
+ change: undefined;
}
+const contentDescription = textContentDescription({ componentName: 'toggle button' });
+
+const defaultSlotDescription = `${contentDescription} The content should remain the same whether the toggle button is pressed or not.`;
+
const metadata: Meta = {
title: 'Components/Toggle Button',
decorators: [withActions],
@@ -35,24 +41,49 @@ const metadata: Meta = {
},
argTypes: {
appearance: {
- options: Object.values(ButtonAppearance),
+ options: Object.keys(ButtonAppearance),
control: { type: 'radio' },
- description: appearanceDescription
+ description: appearanceDescription,
+ table: { category: apiCategory.attributes }
},
appearanceVariant: {
name: 'appearance-variant',
options: Object.keys(ButtonAppearanceVariant),
control: { type: 'radio' },
- description: appearanceVariantDescription
+ description: appearanceVariantDescription,
+ table: { category: apiCategory.attributes }
},
contentHidden: {
- description: contentHiddenDescription
+ name: 'content-hidden',
+ description: contentHiddenDescription,
+ table: { category: apiCategory.attributes }
+ },
+ disabled: {
+ description: disabledDescription({ componentName: 'toggle button' }),
+ table: { category: apiCategory.attributes }
+ },
+ checked: {
+ description: 'Whether the toggle button is pressed (on) or not pressed (off).',
+ table: { category: apiCategory.attributes }
+ },
+ label: {
+ name: 'default',
+ description: defaultSlotDescription,
+ table: { category: apiCategory.slots }
},
icon: {
- description: iconDescription
+ name: 'start',
+ description: iconDescription,
+ table: { category: apiCategory.slots }
},
endIcon: {
- description: endIconDescription
+ name: 'end',
+ description: endIconDescription,
+ table: { category: apiCategory.slots }
+ },
+ change: {
+ description: 'Fires when the toggle button is pressed via mouse or keyboard.',
+ table: { category: apiCategory.events }
}
},
// prettier-ignore
diff --git a/packages/storybook/src/nimble/toolbar/toolbar.mdx b/packages/storybook/src/nimble/toolbar/toolbar.mdx
index 98c58c23c6..b42fa79ccc 100644
--- a/packages/storybook/src/nimble/toolbar/toolbar.mdx
+++ b/packages/storybook/src/nimble/toolbar/toolbar.mdx
@@ -22,9 +22,7 @@ nimble-toolbar::part(positioning-region) {
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/tooltip/tooltip.mdx b/packages/storybook/src/nimble/tooltip/tooltip.mdx
index 0572f2e2ad..dc7f08ad19 100644
--- a/packages/storybook/src/nimble/tooltip/tooltip.mdx
+++ b/packages/storybook/src/nimble/tooltip/tooltip.mdx
@@ -11,9 +11,7 @@ It is recommended to set up aria-describedby, an accessibility feature that sets
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/tree-view/tree-view.mdx b/packages/storybook/src/nimble/tree-view/tree-view.mdx
index 385c00a6fa..453b36ef63 100644
--- a/packages/storybook/src/nimble/tree-view/tree-view.mdx
+++ b/packages/storybook/src/nimble/tree-view/tree-view.mdx
@@ -20,9 +20,7 @@ which navigate to a url upon activation. Both types of tree items support icons
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/nimble/wafer-map/wafer-map.mdx b/packages/storybook/src/nimble/wafer-map/wafer-map.mdx
index 222df68921..d182259ef2 100644
--- a/packages/storybook/src/nimble/wafer-map/wafer-map.mdx
+++ b/packages/storybook/src/nimble/wafer-map/wafer-map.mdx
@@ -10,9 +10,7 @@ A wafer map is a component for visualizing data from the manufacture of semicond
-{/* ## Appearances */}
-
-{/* ## Appearance Variants */}
+{/* ## Styling */}
{/* ## Usage */}
diff --git a/packages/storybook/src/utilities/storybook.ts b/packages/storybook/src/utilities/storybook.ts
index 439fc977db..bec10d629e 100644
--- a/packages/storybook/src/utilities/storybook.ts
+++ b/packages/storybook/src/utilities/storybook.ts
@@ -170,5 +170,5 @@ export const apiCategory = {
} as const;
export const iconDescription = 'Set `slot="start"` to include an icon before the text content.';
-export const disabledDescription = (options: { componentName: string }): string => `Disables the ${options.componentName}.`;
+export const disabledDescription = (options: { componentName: string }): string => `Styles the ${options.componentName} as disabled and prevents focus and user interaction.`;
export const textContentDescription = (options: { componentName: string }): string => `The text content of the ${options.componentName}.`;