// Copyright 2025 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
import type { Meta } from '@storybook/react';
import React, { useState } from 'react';
import { ExperimentalAxoSegmentedControl } from './AxoSegmentedControl.dom.js';
import { tw } from './tw.dom.js';
export default {
title: 'Axo/AxoSegmentedControl (Experimental)',
} satisfies Meta;
function Template(props: {
variant: ExperimentalAxoSegmentedControl.Variant;
width: ExperimentalAxoSegmentedControl.RootWidth;
itemWidth: ExperimentalAxoSegmentedControl.ItemWidth;
longNames?: boolean;
includeBadges?: boolean;
}) {
const [value, setValue] = useState('inbox');
return (
<>
{`variant=${props.variant}, `}
{`width=${props.width}, `}
{`itemWidth=${props.itemWidth}`}
{
if (newValue != null) {
setValue(newValue);
}
}}
>
{props.longNames && 'Really Really Long Name For '}
Inbox
{props.includeBadges && (
)}
{props.longNames && 'Really Really Long Name For '}
Drafts
{props.includeBadges && (
)}
Sent
{props.includeBadges && (
)}
>
);
}
function TemplateVariants(props: {
longNames?: boolean;
includeBadges?: boolean;
}) {
return (
);
}
export function Basic(): React.JSX.Element {
return ;
}
export function LongNames(): React.JSX.Element {
return ;
}
export function WithBadges(): React.JSX.Element {
return ;
}
export function LongNamesWithBadges(): React.JSX.Element {
return ;
}