@sesamehr/react-design-system 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/dist/Display/Badge/index.d.ts +1 -1
  2. package/dist/Display/CalendarDate/CalendarDate.d.ts +11 -0
  3. package/dist/Display/CalendarDate/index.d.ts +15 -0
  4. package/dist/Display/Chip/Chip.d.ts +8 -0
  5. package/dist/Display/Chip/index.d.ts +19 -0
  6. package/dist/Display/NumberFlow/NumberFlow.d.ts +20 -0
  7. package/dist/Display/NumberFlow/index.d.ts +41 -0
  8. package/dist/Display/PointMarker/PointMarker.d.ts +8 -0
  9. package/dist/Display/PointMarker/index.d.ts +18 -0
  10. package/dist/Display/Tag/Tag.d.ts +19 -0
  11. package/dist/Display/Tag/index.d.ts +2 -0
  12. package/dist/Feedback/Progress/Progress.d.ts +8 -0
  13. package/dist/Feedback/Progress/index.d.ts +2 -0
  14. package/dist/Layout/Card/Card.d.ts +5 -0
  15. package/dist/Layout/Card/index.d.ts +21 -0
  16. package/dist/Layout/CardStack/CardStack.d.ts +7 -0
  17. package/dist/Layout/CardStack/index.d.ts +37 -0
  18. package/dist/Locale/LocaleProvider/LocaleProvider.d.ts +17 -0
  19. package/dist/Locale/index.d.ts +3 -0
  20. package/dist/Locale/useLocale.d.ts +28 -0
  21. package/dist/Navigation/PageControl/PageControl.d.ts +22 -0
  22. package/dist/Navigation/PageControl/index.d.ts +25 -0
  23. package/dist/Navigation/ToggleTabs/ToggleTabs.d.ts +6 -0
  24. package/dist/Navigation/ToggleTabs/ToggleTabsContent.d.ts +3 -0
  25. package/dist/Navigation/ToggleTabs/ToggleTabsList.d.ts +3 -0
  26. package/dist/Navigation/ToggleTabs/ToggleTabsTrigger.d.ts +3 -0
  27. package/dist/Navigation/ToggleTabs/index.d.ts +4 -0
  28. package/dist/main.d.ts +12 -2
  29. package/dist/react-design-system.css +1 -1
  30. package/dist/react-design-system.js +7801 -6551
  31. package/dist/react-design-system.umd.cjs +42 -37
  32. package/package.json +3 -1
  33. package/src/assets/styles/theme-v3.css +42 -0
  34. package/dist/Navigation/Tabs/Tabs.d.ts +0 -6
  35. package/dist/Navigation/Tabs/TabsContent.d.ts +0 -3
  36. package/dist/Navigation/Tabs/TabsList.d.ts +0 -3
  37. package/dist/Navigation/Tabs/TabsTrigger.d.ts +0 -3
  38. package/dist/Navigation/Tabs/index.d.ts +0 -4
@@ -1,6 +1,6 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  export { Badge, type BadgeProps } from './Badge.tsx';
3
3
  export declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
4
+ variant?: "default" | "destructive" | "outline" | "secondary" | "brand" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
6
  export type BadgeVariants = VariantProps<typeof badgeVariants>;
@@ -0,0 +1,11 @@
1
+ export interface CalendarDateProps extends React.TimeHTMLAttributes<HTMLTimeElement> {
2
+ /** The day to show. The month abbreviation is derived from it. */
3
+ date: Date;
4
+ /** The selected day in a calendar */
5
+ active?: boolean;
6
+ /** Overrides the month abbreviation. See `monthFor` for when you want this. */
7
+ month?: React.ReactNode;
8
+ dataTestid: string;
9
+ }
10
+ /** CalendarDate — mirrors `@sesame/orxata-core` CalendarDate. */
11
+ export declare const CalendarDate: import('react').ForwardRefExoticComponent<CalendarDateProps & import('react').RefAttributes<HTMLTimeElement>>;
@@ -0,0 +1,15 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export { CalendarDate } from './CalendarDate.tsx';
3
+ export type { CalendarDateProps } from './CalendarDate.tsx';
4
+ /**
5
+ * Only the two fills vary, so only they live here — the box itself is the same
6
+ * 32px rounded square in both states and stays in the component's own styles.
7
+ *
8
+ * `active` is the selected day in a calendar, not a hover or a focus state.
9
+ * Both fills come off the brand ramp rather than `primary`, matching how the
10
+ * rest of v3 draws anything that has to read as the accent.
11
+ */
12
+ export declare const calendarDateVariants: (props?: ({
13
+ active?: boolean | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export type CalendarDateVariants = VariantProps<typeof calendarDateVariants>;
@@ -0,0 +1,8 @@
1
+ import { ChipVariants } from './index.ts';
2
+ export interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {
3
+ /** Which semantic colour it is tinted with */
4
+ tone?: ChipVariants['tone'];
5
+ dataTestid: string;
6
+ }
7
+ /** Chip — mirrors `@sesame/orxata-core` Chip. */
8
+ export declare const Chip: import('react').ForwardRefExoticComponent<ChipProps & import('react').RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,19 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export { Chip } from './Chip.tsx';
3
+ export type { ChipProps } from './Chip.tsx';
4
+ /**
5
+ * A chip is a piece of the user's own data — a value they picked, a label they
6
+ * applied. `Badge` is the system talking back: a status it assigned, a count it
7
+ * worked out. That is the line between the two, and it is why one is a soft
8
+ * tint and the other a solid fill.
9
+ *
10
+ * The tints are opacity over the semantic colour rather than a `-100` step,
11
+ * because no such token exists for `warning` or `destructive` and inventing one
12
+ * would put a colour in the theme that Figma has never seen. `Table` already
13
+ * tints this way. The pair also cannot drift: background and text come off the
14
+ * same token, so re-pointing `--success` moves both.
15
+ */
16
+ export declare const chipVariants: (props?: ({
17
+ tone?: "success" | "warning" | "neutral" | "brand" | "error" | null | undefined;
18
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
19
+ export type ChipVariants = VariantProps<typeof chipVariants>;
@@ -0,0 +1,20 @@
1
+ import { NumberFlowElement, Value } from '@number-flow/react';
2
+ import { NumberFlowConfig, NumberFlowPreset } from './index.ts';
3
+ export interface NumberFlowProps {
4
+ /**
5
+ * The number.
6
+ *
7
+ * Typed `number`, not `number | string`. The engine does accept a decimal
8
+ * string — `Intl` has parsed those since ES2023 — but both packages compile
9
+ * against the ES2022 lib, where `formatToParts` is typed `number | bigint`
10
+ * and the library's own `Value` therefore resolves to `number`. Widening it
11
+ * here would be a claim the compiler cannot back on either side.
12
+ */
13
+ value: Value;
14
+ /** A preset name, or a config object to bypass the presets entirely */
15
+ preset?: NumberFlowPreset | NumberFlowConfig;
16
+ className?: string;
17
+ dataTestid: string;
18
+ }
19
+ /** NumberFlow — mirrors `@sesame/orxata-core` NumberFlow. */
20
+ export declare const NumberFlow: import('react').ForwardRefExoticComponent<NumberFlowProps & import('react').RefAttributes<NumberFlowElement>>;
@@ -0,0 +1,41 @@
1
+ import { Format, Trend } from '@number-flow/react';
2
+ export { NumberFlow } from './NumberFlow.tsx';
3
+ export type { NumberFlowProps } from './NumberFlow.tsx';
4
+ /**
5
+ * The animation is not configurable, and that is the point.
6
+ *
7
+ * `@number-flow/react` exposes fourteen props — three separate `EffectTiming`
8
+ * objects among them. A design system that forwards all of them has not made a
9
+ * decision, it has moved one. So a caller says what *kind of number* this is
10
+ * and gets the formatting and the spin that go with it; the timings stay where
11
+ * the DS can change them once, for everybody.
12
+ *
13
+ * The escape hatch is the same prop rather than a second one: pass a config
14
+ * object instead of a preset name and it is used verbatim. Verbatim, not
15
+ * merged — a caller who has opted out of the presets should not have to
16
+ * subtract from one.
17
+ */
18
+ export type NumberFlowPreset = 'number' | 'currency' | 'percent' | 'compact' | 'time';
19
+ export interface NumberFlowConfig {
20
+ /**
21
+ * Passed to `Intl.NumberFormat`. This is the library's own narrowed type,
22
+ * not `Intl.NumberFormatOptions`: it drops `scientific` and `engineering`
23
+ * notation, which the engine cannot animate. Keeping its type means a caller
24
+ * reaching for one gets a compile error rather than a number that renders
25
+ * and never moves.
26
+ */
27
+ format?: Format;
28
+ /** Defaults to the browser's locale when omitted. */
29
+ locales?: Intl.LocalesArgument;
30
+ /** Which way digits spin. Omitted means "the direction the value moved". */
31
+ trend?: Trend;
32
+ /**
33
+ * Caps a digit by position — `0` is the ones place, `1` the tens. A capped
34
+ * digit loops within its range instead of through all ten.
35
+ */
36
+ digits?: Record<number, {
37
+ max?: number;
38
+ }>;
39
+ }
40
+ export declare const resolveNumberFlowPreset: (preset?: NumberFlowPreset | NumberFlowConfig) => NumberFlowConfig;
41
+ export declare const NUMBER_FLOW_PRESETS: NumberFlowPreset[];
@@ -0,0 +1,8 @@
1
+ import { PointMarkerVariants } from './index.ts';
2
+ export interface PointMarkerProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'> {
3
+ /** Colour of the centre dot */
4
+ color?: PointMarkerVariants['color'];
5
+ dataTestid: string;
6
+ }
7
+ /** PointMarker — mirrors `@sesame/orxata-core` PointMarker. */
8
+ export declare const PointMarker: import('react').ForwardRefExoticComponent<PointMarkerProps & import('react').RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,18 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export { PointMarker } from './PointMarker.tsx';
3
+ export type { PointMarkerProps } from './PointMarker.tsx';
4
+ /**
5
+ * A marker is a fixed 32px ring with an 8px dot inside it, and the dot's colour
6
+ * is the only thing the design varies. The values are category slots, not hue
7
+ * names: a caller marking "offices" picks a category and keeps meaning the same
8
+ * thing if the palette is re-pointed, which naming them `teal` or `amber` would
9
+ * not survive. The hue behind each slot lives in `--category-*` in the theme —
10
+ * the comments below say what it is today, and are the only thing that changes
11
+ * when design moves one.
12
+ *
13
+ * The ring never varies, so it lives in the component's own styles.
14
+ */
15
+ export declare const pointMarkerVariants: (props?: ({
16
+ color?: "category-1" | "category-2" | "category-3" | "category-4" | "category-5" | "category-6" | "category-7" | "category-8" | "category-9" | "category-10" | "category-11" | "category-12" | "category-13" | "category-14" | "category-15" | "category-16" | "category-17" | "category-18" | "category-19" | null | undefined;
17
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
18
+ export type PointMarkerVariants = VariantProps<typeof pointMarkerVariants>;
@@ -0,0 +1,19 @@
1
+ export interface TagProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
2
+ /**
3
+ * Whether it is picked.
4
+ *
5
+ * Tags get used the way tabs are — press one and it stays down — so this is
6
+ * a state the caller owns and tells us about, not something the browser
7
+ * knows. It is also what `aria-pressed` reports.
8
+ */
9
+ active?: boolean;
10
+ /**
11
+ * Whether it is being dragged.
12
+ *
13
+ * The only other state with nothing in CSS to hang it on.
14
+ */
15
+ dragged?: boolean;
16
+ dataTestid: string;
17
+ }
18
+ /** Tag — mirrors `@sesame/orxata-core` Tag. */
19
+ export declare const Tag: import('react').ForwardRefExoticComponent<TagProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,2 @@
1
+ export { Tag } from './Tag.tsx';
2
+ export type { TagProps } from './Tag.tsx';
@@ -0,0 +1,8 @@
1
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
2
+ export interface ProgressProps extends Omit<React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>, 'value'> {
3
+ /** How far along, 0 to 100 */
4
+ value?: number;
5
+ dataTestid: string;
6
+ }
7
+ /** Progress — mirrors `@sesame/orxata-core` Progress. */
8
+ export declare const Progress: import('react').ForwardRefExoticComponent<ProgressProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,2 @@
1
+ export { Progress } from './Progress.tsx';
2
+ export type { ProgressProps } from './Progress.tsx';
@@ -1,6 +1,11 @@
1
+ import { CardVariants } from './index.ts';
1
2
  export interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
2
3
  /** Render as the child element instead of a `<div>` (Radix Slot). */
3
4
  asChild?: boolean;
5
+ /** Which surface it is. `muted` is for a card that holds other cards. */
6
+ tone?: CardVariants['tone'];
7
+ /** Drops the border, the shadow and the glass — just the surface and its radius. */
8
+ flat?: boolean;
4
9
  dataTestid: string;
5
10
  }
6
11
  /**
@@ -1 +1,22 @@
1
+ import { VariantProps } from 'class-variance-authority';
1
2
  export { Card, type CardProps } from './Card.tsx';
3
+ /**
4
+ * Two things vary, and they are not the same thing.
5
+ *
6
+ * `tone` is which surface it is: white, or tinted for the case the white one
7
+ * cannot serve — a card that holds other cards. White on white needs a border
8
+ * around every row to read as separate things; a tinted surface lets the white
9
+ * ones separate on their own.
10
+ *
11
+ * `flat` is what it carries on top of that surface. They are kept apart
12
+ * because the combinations are all real: a white card over a tinted one, a
13
+ * white one lying flat inside it, a tinted panel with nothing on top.
14
+ *
15
+ * Only `tone` lives here. Elevation is a layered `box-shadow` with an inset
16
+ * highlight, which is not a utility class, so it stays in the component's
17
+ * styles keyed off `data-flat` rather than being bent into one.
18
+ */
19
+ export declare const cardVariants: (props?: ({
20
+ tone?: "default" | "muted" | null | undefined;
21
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
22
+ export type CardVariants = VariantProps<typeof cardVariants>;
@@ -0,0 +1,7 @@
1
+ export interface CardStackProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ /** Which card is in front, zero-based. The deck wraps, so any number works. */
3
+ index?: number;
4
+ dataTestid: string;
5
+ }
6
+ /** CardStack — mirrors `@sesame/orxata-core` CardStack. */
7
+ export declare const CardStack: import('react').ForwardRefExoticComponent<CardStackProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,37 @@
1
+ export { CardStack } from './CardStack.tsx';
2
+ export type { CardStackProps } from './CardStack.tsx';
3
+ /**
4
+ * How many cards a stack ever draws. A fourth peeking behind a third is
5
+ * indistinguishable, so a deck of forty draws the same as a deck of three.
6
+ */
7
+ export declare const CARD_STACK_DECK = 3;
8
+ /** How far each card shows below the one in front of it, in pixels. */
9
+ export declare const CARD_STACK_PEEK = 10;
10
+ /** How much narrower each card is than the one in front of it. */
11
+ export declare const CARD_STACK_SHRINK = 0.055;
12
+ /**
13
+ * Where a card at this depth sits.
14
+ *
15
+ * Anchored at the base by the CSS that goes with it — a card sinking and
16
+ * narrowing from its bottom edge reads as one behind, while the same card
17
+ * shrinking from its top edge reads as a smaller card sitting lower. Same
18
+ * numbers, different picture.
19
+ */
20
+ export declare const cardStackDepthTransform: (depth: number) => string;
21
+ /**
22
+ * Which cards are showing, front first, wrapping round the end.
23
+ *
24
+ * The deck is circular so that shuffling never runs out: past the last card the
25
+ * first is what comes up behind, and the stack keeps looking like a stack
26
+ * instead of thinning to nothing on the way to the end.
27
+ */
28
+ export declare const cardStackDeck: <T>(cards: T[], index: number) => T[];
29
+ /**
30
+ * Which way the deck moved, so the cards leave the way they came.
31
+ *
32
+ * A step of one forward is next and one back is previous, wrapping included —
33
+ * going from the last card to the first is still forward. Any bigger jump is
34
+ * treated as forward, because there is no honest answer and picking one keeps
35
+ * the motion from stalling.
36
+ */
37
+ export declare const cardStackDirection: (from: number, to: number, total: number) => "next" | "prev";
@@ -0,0 +1,17 @@
1
+ export interface LocaleProviderProps {
2
+ /**
3
+ * A BCP-47 language tag. Bare tags are fine — `es` is as valid as `es-ES`,
4
+ * and resolves the same month and weekday names.
5
+ *
6
+ * Omitted, every component follows the runtime's locale, which is the
7
+ * browser's. Provide it when the application lets a user pick a language
8
+ * separately from their browser settings, or the two will disagree.
9
+ */
10
+ locale?: string;
11
+ children?: React.ReactNode;
12
+ }
13
+ /** LocaleProvider — mirrors `@sesame/orxata-core` LocaleProvider. */
14
+ export declare const LocaleProvider: {
15
+ ({ locale, children }: LocaleProviderProps): import("react/jsx-runtime").JSX.Element;
16
+ displayName: string;
17
+ };
@@ -0,0 +1,3 @@
1
+ export { LocaleProvider } from './LocaleProvider/LocaleProvider.tsx';
2
+ export type { LocaleProviderProps } from './LocaleProvider/LocaleProvider.tsx';
3
+ export { LocaleContext, normalizeLocale, useLocale } from './useLocale.ts';
@@ -0,0 +1,28 @@
1
+ /**
2
+ * A language tag `Intl` will accept, or `undefined`.
3
+ *
4
+ * Two things go wrong with a locale handed in from an application, and both are
5
+ * silent until they are not:
6
+ *
7
+ * - `Intl` throws a `RangeError` on a structurally invalid tag, and `es_ES` —
8
+ * the Java and Rails spelling — is invalid. A locale read out of a backend
9
+ * would take down every component that formats anything.
10
+ * - a tag that is well-formed but unknown (`xx`) does not throw. `Intl` falls
11
+ * back to `en-US` on its own, which is the behaviour we want anyway.
12
+ *
13
+ * So the underscore spelling is repaired and anything still unusable becomes
14
+ * `undefined`, which every consumer reads as "follow the runtime". A bad locale
15
+ * costs you the browser's default, never an exception.
16
+ *
17
+ * Bare tags are fine and are what Sesame uses: `es` resolves the same month
18
+ * names and week info as `es-ES`. Only the regional defaults differ.
19
+ */
20
+ export declare const normalizeLocale: (locale?: string) => string | undefined;
21
+ export declare const LocaleContext: import('react').Context<string | undefined>;
22
+ /**
23
+ * The locale in force, or `undefined` when nothing provided one — which is the
24
+ * value `Intl` reads as "use the runtime's own". A component calling this works
25
+ * with or without a provider; without one it follows the browser, as it did
26
+ * before there was a provider at all.
27
+ */
28
+ export declare const useLocale: () => string | undefined;
@@ -0,0 +1,22 @@
1
+ export interface PageControlProps extends React.HTMLAttributes<HTMLDivElement> {
2
+ /** How many pages there are */
3
+ count: number;
4
+ /** Which one is showing, zero-based — the index you already have from the array */
5
+ index?: number;
6
+ /**
7
+ * Turns the dots into buttons.
8
+ *
9
+ * Off by default, because most of the time this only illustrates a position
10
+ * the carousel already controls, and seven focusable buttons that go nowhere
11
+ * are seven stops in the tab order for a picture. Turn it on and pass
12
+ * `onIndexChange`.
13
+ *
14
+ * Seven is the ceiling however many pages there are, because the row
15
+ * condenses — so this never floods the tab order.
16
+ */
17
+ interactive?: boolean;
18
+ onIndexChange?: (index: number) => void;
19
+ dataTestid: string;
20
+ }
21
+ /** PageControl — mirrors `@sesame/orxata-core` PageControl. */
22
+ export declare const PageControl: import('react').ForwardRefExoticComponent<PageControlProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,25 @@
1
+ export { PageControl } from './PageControl.tsx';
2
+ export type { PageControlProps } from './PageControl.tsx';
3
+ /** How many dots fit before the row starts condensing. */
4
+ export declare const PAGE_CONTROL_WINDOW = 7;
5
+ export type PageControlDotSize = 'small' | 'medium' | 'full';
6
+ export interface PageControlDot {
7
+ /** Which page it stands for, zero-based */
8
+ index: number;
9
+ size: PageControlDotSize;
10
+ }
11
+ /**
12
+ * Which dots to draw, and how big.
13
+ *
14
+ * Up to seven pages every dot is the same size and the row is the whole story.
15
+ * Past that a fixed-width window slides, and the dots at an edge with more
16
+ * pages behind them ramp down — 6px, then 4px — so the row reads as a view
17
+ * onto something longer rather than as a complete count. That ramp is the only
18
+ * thing telling a reader there is more, which is why it is on the side that
19
+ * has more and not on both.
20
+ *
21
+ * Dots are keyed by page rather than by position, so a window that slides by
22
+ * one reuses six of its seven elements and their size transition runs instead
23
+ * of being thrown away and re-mounted.
24
+ */
25
+ export declare const pageControlDots: (count: number, index: number) => PageControlDot[];
@@ -0,0 +1,6 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ export interface ToggleTabsProps extends React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> {
3
+ dataTestid: string;
4
+ }
5
+ /** ToggleTabs root — built on `@radix-ui/react-tabs`. */
6
+ export declare const ToggleTabs: import('react').ForwardRefExoticComponent<ToggleTabsProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ export type ToggleTabsContentProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
3
+ export declare const ToggleTabsContent: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ export type ToggleTabsListProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
3
+ export declare const ToggleTabsList: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & import('react').RefAttributes<HTMLDivElement>, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,3 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ export type ToggleTabsTriggerProps = React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>;
3
+ export declare const ToggleTabsTrigger: import('react').ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & import('react').RefAttributes<HTMLButtonElement>, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
@@ -0,0 +1,4 @@
1
+ export { ToggleTabs, type ToggleTabsProps } from './ToggleTabs.tsx';
2
+ export { ToggleTabsList, type ToggleTabsListProps } from './ToggleTabsList.tsx';
3
+ export { ToggleTabsTrigger, type ToggleTabsTriggerProps, } from './ToggleTabsTrigger.tsx';
4
+ export { ToggleTabsContent, type ToggleTabsContentProps, } from './ToggleTabsContent.tsx';
package/dist/main.d.ts CHANGED
@@ -6,21 +6,31 @@ export { TransitionSlideY as OxTransitionSlideY } from './Transitions/Transition
6
6
  export { TransitionExpand as OxTransitionExpand } from './Transitions/TransitionExpand/TransitionExpand.tsx';
7
7
  export { TransitionFlip as OxTransitionFlip } from './Transitions/TransitionFlip/TransitionFlip.tsx';
8
8
  export { Button as OxButton, buttonVariants, type ButtonVariants, } from './Button/index.ts';
9
- export { Card as OxCard } from './Layout/Card/index.ts';
9
+ export { Card as OxCard, cardVariants, type CardVariants, } from './Layout/Card/index.ts';
10
+ export { CardStack as OxCardStack, CARD_STACK_DECK, } from './Layout/CardStack/index.ts';
10
11
  export { Divider as OxDivider, type DividerProps, } from './Layout/Divider/index.ts';
11
12
  export { Resizable as OxResizable, ResizablePanel as OxResizablePanel, ResizableHandle as OxResizableHandle, } from './Layout/Resizable/index.ts';
13
+ export { LocaleProvider as OxLocaleProvider } from './Locale/index.ts';
14
+ export { normalizeLocale, useLocale } from './Locale/index.ts';
12
15
  export { AvatarRounded as OxAvatarRounded, AvatarSquare as OxAvatarSquare, avatarRoundedVariants, avatarSquareVariants, type AvatarRoundedVariants, type AvatarSize, type AvatarSquareVariants, type AvatarTone, } from './Display/Avatar/index.ts';
13
16
  export { AvatarGroup as OxAvatarGroup, type AvatarItem, } from './Display/AvatarGroup/index.ts';
14
17
  export { Badge as OxBadge, badgeVariants, type BadgeVariants, } from './Display/Badge/index.ts';
18
+ export { CalendarDate as OxCalendarDate, calendarDateVariants, type CalendarDateVariants, } from './Display/CalendarDate/index.ts';
19
+ export { NumberFlow as OxNumberFlow, resolveNumberFlowPreset, NUMBER_FLOW_PRESETS, type NumberFlowConfig, type NumberFlowPreset, } from './Display/NumberFlow/index.ts';
15
20
  export { PaymentCard as OxPaymentCard, paymentCardVariants, type PaymentCardVariants, type BadgeType, type CardData, } from './Display/PaymentCard/index.ts';
21
+ export { Tag as OxTag } from './Display/Tag/index.ts';
22
+ export { Chip as OxChip, chipVariants, type ChipVariants, } from './Display/Chip/index.ts';
23
+ export { PointMarker as OxPointMarker, pointMarkerVariants, type PointMarkerVariants, } from './Display/PointMarker/index.ts';
16
24
  export { StatusBadge as OxStatusBadge, statusBadgeVariants, indicatorVariants, type StatusBadgeVariants, } from './Feedback/StatusBadge/index.ts';
17
25
  export { Bullet as OxBullet, bulletVariants, type BulletVariants, } from './Feedback/Bullet/index.ts';
26
+ export { Progress as OxProgress } from './Feedback/Progress/index.ts';
18
27
  export { Alert as OxAlert, AlertClose as OxAlertClose, AlertDescription as OxAlertDescription, AlertIcon as OxAlertIcon, AlertTitle as OxAlertTitle, AlertToggle as OxAlertToggle, } from './Feedback/Alert/index.ts';
19
28
  export { Dialog as OxDialog, DialogContent as OxDialogContent, DialogTitle as OxDialogTitle, DialogDescription as OxDialogDescription, DialogOverlay as OxDialogOverlay, DialogTwoPanelContent as OxDialogTwoPanelContent, DialogTrigger as OxDialogTrigger, DialogClose as OxDialogClose, } from './Feedback/Dialog/index.ts';
20
29
  export { Tooltip as OxTooltip, TooltipContent as OxTooltipContent, } from './Feedback/Tooltip/index.ts';
21
30
  export { Popover as OxPopover, PopoverContent as OxPopoverContent, PopoverClose as OxPopoverClose, } from './Feedback/Popover/index.ts';
22
31
  export { Accordion as OxAccordion, AccordionItem as OxAccordionItem, AccordionTrigger as OxAccordionTrigger, AccordionContent as OxAccordionContent, } from './Navigation/Accordion/index.ts';
23
- export { Tabs as OxTabs, TabsList as OxTabsList, TabsTrigger as OxTabsTrigger, TabsContent as OxTabsContent, } from './Navigation/Tabs/index.ts';
32
+ export { ToggleTabs as OxToggleTabs, ToggleTabsList as OxToggleTabsList, ToggleTabsTrigger as OxToggleTabsTrigger, ToggleTabsContent as OxToggleTabsContent, } from './Navigation/ToggleTabs/index.ts';
33
+ export { PageControl as OxPageControl, pageControlDots, PAGE_CONTROL_WINDOW, type PageControlDot, type PageControlDotSize, } from './Navigation/PageControl/index.ts';
24
34
  export { Breadcrumb as OxBreadcrumb, BreadcrumbList as OxBreadcrumbList, BreadcrumbItem as OxBreadcrumbItem, BreadcrumbLink as OxBreadcrumbLink, BreadcrumbPage as OxBreadcrumbPage, BreadcrumbSeparator as OxBreadcrumbSeparator, BreadcrumbEllipsis as OxBreadcrumbEllipsis, } from './Navigation/Breadcrumb/index.ts';
25
35
  export { FieldGroup as OxFieldGroup, FieldLabel as OxFieldLabel, FieldMessage as OxFieldMessage, type FieldGroupProps, } from './Forms/Field/index.ts';
26
36
  export { InputGroup as OxInputGroup, InputText as OxInputText, InputNumber as OxInputNumber, InputNumberContent as OxInputNumberContent, InputNumberDecrement as OxInputNumberDecrement, InputNumberIncrement as OxInputNumberIncrement, InputNumberInput as OxInputNumberInput, InputPassword as OxInputPassword, InputPasswordInput as OxInputPasswordInput, InputPasswordToggle as OxInputPasswordToggle, useInputPassword, InputOtp as OxInputOtp, InputOtpGroup as OxInputOtpGroup, InputOtpSlot as OxInputOtpSlot, InputOtpSeparator as OxInputOtpSeparator, useInputOtp, Combobox as OxCombobox, ComboboxInput as OxComboboxInput, ComboboxChipsInput as OxComboboxChipsInput, ComboboxContent as OxComboboxContent, ComboboxItem as OxComboboxItem, ComboboxEmpty as OxComboboxEmpty, ComboboxGroup as OxComboboxGroup, ComboboxSeparator as OxComboboxSeparator, Select as OxSelect, SelectTrigger as OxSelectTrigger, SelectContent as OxSelectContent, SelectItem as OxSelectItem, SelectGroup as OxSelectGroup, SelectSeparator as OxSelectSeparator, Switch as OxSwitch, Checkbox as OxCheckbox, RadioButton as OxRadioButton, RadioGroup as OxRadioGroup, ToggleGroup as OxToggleGroup, ToggleLabel as OxToggleLabel, ToggleDescription as OxToggleDescription, SWITCH_SIZES, type InputNumberProps, type InputPasswordProps, type InputPasswordContext, type InputOtpProps, type InputOtpSlotProps, type InputOtpContext, type ComboboxProps, type SelectProps, type RadioGroupProps, type ToggleGroupProps, type ToggleLabelProps, type ToggleDescriptionProps, } from './Forms/Inputs/index.ts';