@teja-app/ui 0.0.10 → 0.0.11
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.
- package/dist/index.cjs +3451 -13754
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3423 -13726
- package/dist/index.js.map +1 -1
- package/dist/style-D6av97Pw.cjs +10406 -0
- package/dist/style-D6av97Pw.cjs.map +1 -0
- package/dist/style-DyXPy-7b.js +10392 -0
- package/dist/style-DyXPy-7b.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +23 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/applyTheme.d.ts +33 -0
- package/dist/theme/applyTheme.d.ts.map +1 -0
- package/dist/theme/components/AIBadge.d.ts +20 -0
- package/dist/theme/components/AIBadge.d.ts.map +1 -0
- package/dist/theme/components/AICard.d.ts +16 -0
- package/dist/theme/components/AICard.d.ts.map +1 -0
- package/dist/theme/components/AIChip.d.ts +7 -0
- package/dist/theme/components/AIChip.d.ts.map +1 -0
- package/dist/theme/components/AIComposeButton.d.ts +14 -0
- package/dist/theme/components/AIComposeButton.d.ts.map +1 -0
- package/dist/theme/components/AIGhostText.d.ts +14 -0
- package/dist/theme/components/AIGhostText.d.ts.map +1 -0
- package/dist/theme/components/AISectionHeader.d.ts +15 -0
- package/dist/theme/components/AISectionHeader.d.ts.map +1 -0
- package/dist/theme/components/AISparkle.d.ts +12 -0
- package/dist/theme/components/AISparkle.d.ts.map +1 -0
- package/dist/theme/components/AIWorking.d.ts +12 -0
- package/dist/theme/components/AIWorking.d.ts.map +1 -0
- package/dist/theme/components/Alert.d.ts +22 -0
- package/dist/theme/components/Alert.d.ts.map +1 -0
- package/dist/theme/components/AppShell.d.ts +16 -0
- package/dist/theme/components/AppShell.d.ts.map +1 -0
- package/dist/theme/components/AskTeja.d.ts +17 -0
- package/dist/theme/components/AskTeja.d.ts.map +1 -0
- package/dist/theme/components/Avatar.d.ts +12 -0
- package/dist/theme/components/Avatar.d.ts.map +1 -0
- package/dist/theme/components/Badge.d.ts +16 -0
- package/dist/theme/components/Badge.d.ts.map +1 -0
- package/dist/theme/components/Brand.d.ts +19 -0
- package/dist/theme/components/Brand.d.ts.map +1 -0
- package/dist/theme/components/Button.d.ts +19 -0
- package/dist/theme/components/Button.d.ts.map +1 -0
- package/dist/theme/components/Card.d.ts +10 -0
- package/dist/theme/components/Card.d.ts.map +1 -0
- package/dist/theme/components/Checkbox.d.ts +23 -0
- package/dist/theme/components/Checkbox.d.ts.map +1 -0
- package/dist/theme/components/Chip.d.ts +19 -0
- package/dist/theme/components/Chip.d.ts.map +1 -0
- package/dist/theme/components/Combobox.d.ts +29 -0
- package/dist/theme/components/Combobox.d.ts.map +1 -0
- package/dist/theme/components/Compat.d.ts +34 -0
- package/dist/theme/components/Compat.d.ts.map +1 -0
- package/dist/theme/components/ConfirmDialog.d.ts +39 -0
- package/dist/theme/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/theme/components/CountryPicker.d.ts +14 -0
- package/dist/theme/components/CountryPicker.d.ts.map +1 -0
- package/dist/theme/components/DateInput.d.ts +30 -0
- package/dist/theme/components/DateInput.d.ts.map +1 -0
- package/dist/theme/components/Divider.d.ts +13 -0
- package/dist/theme/components/Divider.d.ts.map +1 -0
- package/dist/theme/components/Drawer.d.ts +52 -0
- package/dist/theme/components/Drawer.d.ts.map +1 -0
- package/dist/theme/components/EmptyState.d.ts +28 -0
- package/dist/theme/components/EmptyState.d.ts.map +1 -0
- package/dist/theme/components/FactList.d.ts +21 -0
- package/dist/theme/components/FactList.d.ts.map +1 -0
- package/dist/theme/components/Field.d.ts +35 -0
- package/dist/theme/components/Field.d.ts.map +1 -0
- package/dist/theme/components/FieldHint.d.ts +17 -0
- package/dist/theme/components/FieldHint.d.ts.map +1 -0
- package/dist/theme/components/Icon.d.ts +19 -0
- package/dist/theme/components/Icon.d.ts.map +1 -0
- package/dist/theme/components/IconButton.d.ts +17 -0
- package/dist/theme/components/IconButton.d.ts.map +1 -0
- package/dist/theme/components/KV.d.ts +26 -0
- package/dist/theme/components/KV.d.ts.map +1 -0
- package/dist/theme/components/LabelGroup.d.ts +15 -0
- package/dist/theme/components/LabelGroup.d.ts.map +1 -0
- package/dist/theme/components/LangSwitcher.d.ts +30 -0
- package/dist/theme/components/LangSwitcher.d.ts.map +1 -0
- package/dist/theme/components/MiniStat.d.ts +20 -0
- package/dist/theme/components/MiniStat.d.ts.map +1 -0
- package/dist/theme/components/Modal.d.ts +57 -0
- package/dist/theme/components/Modal.d.ts.map +1 -0
- package/dist/theme/components/MultiSelect.d.ts +38 -0
- package/dist/theme/components/MultiSelect.d.ts.map +1 -0
- package/dist/theme/components/PageHeader.d.ts +24 -0
- package/dist/theme/components/PageHeader.d.ts.map +1 -0
- package/dist/theme/components/Pagination.d.ts +10 -0
- package/dist/theme/components/Pagination.d.ts.map +1 -0
- package/dist/theme/components/PersonRow.d.ts +18 -0
- package/dist/theme/components/PersonRow.d.ts.map +1 -0
- package/dist/theme/components/RoleTile.d.ts +20 -0
- package/dist/theme/components/RoleTile.d.ts.map +1 -0
- package/dist/theme/components/SectionLabel.d.ts +20 -0
- package/dist/theme/components/SectionLabel.d.ts.map +1 -0
- package/dist/theme/components/SegmentedControl.d.ts +15 -0
- package/dist/theme/components/SegmentedControl.d.ts.map +1 -0
- package/dist/theme/components/Select.d.ts +24 -0
- package/dist/theme/components/Select.d.ts.map +1 -0
- package/dist/theme/components/SettingRow.d.ts +23 -0
- package/dist/theme/components/SettingRow.d.ts.map +1 -0
- package/dist/theme/components/Sidebar.d.ts +28 -0
- package/dist/theme/components/Sidebar.d.ts.map +1 -0
- package/dist/theme/components/SidebarNavItem.d.ts +31 -0
- package/dist/theme/components/SidebarNavItem.d.ts.map +1 -0
- package/dist/theme/components/Skeleton.d.ts +32 -0
- package/dist/theme/components/Skeleton.d.ts.map +1 -0
- package/dist/theme/components/Spinner.d.ts +26 -0
- package/dist/theme/components/Spinner.d.ts.map +1 -0
- package/dist/theme/components/Stat.d.ts +23 -0
- package/dist/theme/components/Stat.d.ts.map +1 -0
- package/dist/theme/components/StatePicker.d.ts +17 -0
- package/dist/theme/components/StatePicker.d.ts.map +1 -0
- package/dist/theme/components/Stepper.d.ts +23 -0
- package/dist/theme/components/Stepper.d.ts.map +1 -0
- package/dist/theme/components/Switch.d.ts +18 -0
- package/dist/theme/components/Switch.d.ts.map +1 -0
- package/dist/theme/components/TOTP6Cells.d.ts +49 -0
- package/dist/theme/components/TOTP6Cells.d.ts.map +1 -0
- package/dist/theme/components/Tabs.d.ts +33 -0
- package/dist/theme/components/Tabs.d.ts.map +1 -0
- package/dist/theme/components/Tag.d.ts +15 -0
- package/dist/theme/components/Tag.d.ts.map +1 -0
- package/dist/theme/components/TextInput.d.ts +24 -0
- package/dist/theme/components/TextInput.d.ts.map +1 -0
- package/dist/theme/components/Textarea.d.ts +17 -0
- package/dist/theme/components/Textarea.d.ts.map +1 -0
- package/dist/theme/components/TimeZonePicker.d.ts +14 -0
- package/dist/theme/components/TimeZonePicker.d.ts.map +1 -0
- package/dist/theme/components/TimelineRow.d.ts +27 -0
- package/dist/theme/components/TimelineRow.d.ts.map +1 -0
- package/dist/theme/components/ToolbarSearch.d.ts +8 -0
- package/dist/theme/components/ToolbarSearch.d.ts.map +1 -0
- package/dist/theme/components/TopBar.d.ts +35 -0
- package/dist/theme/components/TopBar.d.ts.map +1 -0
- package/dist/theme/components/ViewToggle.d.ts +24 -0
- package/dist/theme/components/ViewToggle.d.ts.map +1 -0
- package/dist/theme/components/aiStyles.d.ts +2 -0
- package/dist/theme/components/aiStyles.d.ts.map +1 -0
- package/dist/theme/components/fieldShell.d.ts +68 -0
- package/dist/theme/components/fieldShell.d.ts.map +1 -0
- package/dist/theme/components/index.d.ts +66 -0
- package/dist/theme/components/index.d.ts.map +1 -0
- package/dist/theme/data/countries.d.ts +8 -0
- package/dist/theme/data/countries.d.ts.map +1 -0
- package/dist/theme/data/index.d.ts +4 -0
- package/dist/theme/data/index.d.ts.map +1 -0
- package/dist/theme/data/regions.d.ts +8 -0
- package/dist/theme/data/regions.d.ts.map +1 -0
- package/dist/theme/data/timezones.d.ts +8 -0
- package/dist/theme/data/timezones.d.ts.map +1 -0
- package/dist/theme/fonts.d.ts +9 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/index.cjs +6168 -0
- package/dist/theme/index.cjs.map +1 -0
- package/dist/theme/index.d.ts +18 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +6168 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/presets.d.ts +370 -0
- package/dist/theme/presets.d.ts.map +1 -0
- package/dist/ui.css +159 -0
- package/package.json +6 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionLabel.d.ts","sourceRoot":"","sources":["../../../src/theme/components/SectionLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACzF,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAY,EACZ,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,iBAAiB,2CAqBnB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export interface SegmentedControlItem<T extends string = string> {
|
|
3
|
+
value: T;
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
export interface SegmentedControlProps<T extends string = string> {
|
|
7
|
+
items: ReadonlyArray<SegmentedControlItem<T>>;
|
|
8
|
+
value: T;
|
|
9
|
+
onChange?: (value: T) => void;
|
|
10
|
+
size?: 'sm' | 'md';
|
|
11
|
+
style?: CSSProperties;
|
|
12
|
+
testId?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function SegmentedControl<T extends string = string>({ items, value, onChange, size, style, testId, }: SegmentedControlProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=SegmentedControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/theme/components/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC7D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,SAAS,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC9D,KAAK,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,KAAK,EAAE,CAAC,CAAC;IACT,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EAC1D,KAAK,EACL,KAAK,EACL,QAAQ,EACR,IAAW,EACX,KAAK,EACL,MAAM,GACP,EAAE,qBAAqB,CAAC,CAAC,CAAC,2CAiD1B"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type TejaOption, type FieldChromeProps } from './fieldShell';
|
|
2
|
+
export interface SelectProps extends FieldChromeProps {
|
|
3
|
+
/** Selectable options. */
|
|
4
|
+
items: TejaOption[];
|
|
5
|
+
/** Current value, or `null` when nothing is selected. */
|
|
6
|
+
value: string | null;
|
|
7
|
+
onChange?: (value: string) => void;
|
|
8
|
+
/** Trigger text when no value is selected. Defaults to `Select…`. */
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
/** Panel placement relative to the trigger. Defaults to `bottom`. */
|
|
11
|
+
placement?: 'bottom' | 'top';
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Select — single-value dropdown (listbox) built on Headless UI v2 `Listbox`,
|
|
15
|
+
* restyled to the theme's "Clinical Calm" tokens. The trigger is a 36px control
|
|
16
|
+
* box (surface-0, strong border, r-md) that shows the selected label or the
|
|
17
|
+
* placeholder in `--ink-4`; the chevron rotates when open. The panel renders on
|
|
18
|
+
* `--surface-0` with `--shadow-pop`; the selected row shows a `check` Icon in
|
|
19
|
+
* `--primary` and the active row uses `--surface-2`.
|
|
20
|
+
*
|
|
21
|
+
* Ported from `design/components/inputs.jsx` (`Select`).
|
|
22
|
+
*/
|
|
23
|
+
export declare function Select({ items, value, onChange, placeholder, placement, label, hint, error, required, full, disabled, testId, }: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Select.tsx"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,0BAA0B;IAC1B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,yDAAyD;IACzD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qEAAqE;IACrE,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC9B;AAuDD;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAuB,EACvB,SAAoB,EACpB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAW,EACX,QAAQ,EACR,MAAM,GACP,EAAE,WAAW,2CAmGb"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type IconName } from './Icon';
|
|
3
|
+
/**
|
|
4
|
+
* SettingRow — preference row with optional icon, title, hint, and a
|
|
5
|
+
* right-side control. Ported from design/components/patterns.jsx.
|
|
6
|
+
*
|
|
7
|
+
* By default the right side is a `<Switch>` driven by `on` / `onChange`.
|
|
8
|
+
* Pass `control` to swap in any other control (segmented, select, button).
|
|
9
|
+
*/
|
|
10
|
+
export type SettingRowTone = 'default' | 'subtle';
|
|
11
|
+
export interface SettingRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title' | 'onChange'> {
|
|
12
|
+
icon?: IconName;
|
|
13
|
+
title: ReactNode;
|
|
14
|
+
hint?: ReactNode;
|
|
15
|
+
on?: boolean;
|
|
16
|
+
onChange?: (next: boolean) => void;
|
|
17
|
+
/** Replace the default Switch entirely. */
|
|
18
|
+
control?: ReactNode;
|
|
19
|
+
tone?: SettingRowTone;
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function SettingRow({ icon, title, hint, on, onChange, control, tone, style, testId, ...rest }: SettingRowProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=SettingRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingRow.d.ts","sourceRoot":"","sources":["../../../src/theme/components/SettingRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAG7C;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElD,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;IAC/E,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,2CAA2C;IAC3C,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,EAAE,EACF,QAAQ,EACR,OAAO,EACP,IAAgB,EAChB,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,eAAe,2CA8CjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type NavGroup } from './SidebarNavItem';
|
|
3
|
+
export interface SidebarWorkspace {
|
|
4
|
+
name: string;
|
|
5
|
+
detail?: string;
|
|
6
|
+
initials?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SidebarUser {
|
|
9
|
+
name: string;
|
|
10
|
+
role?: string;
|
|
11
|
+
paletteIdx?: number;
|
|
12
|
+
}
|
|
13
|
+
export interface SidebarProps {
|
|
14
|
+
nav: ReadonlyArray<NavGroup>;
|
|
15
|
+
activeId?: string | null;
|
|
16
|
+
collapsed?: boolean;
|
|
17
|
+
onToggle?: () => void;
|
|
18
|
+
features?: Record<string, boolean>;
|
|
19
|
+
workspace?: SidebarWorkspace;
|
|
20
|
+
user?: SidebarUser;
|
|
21
|
+
onItemClick?: (id: string) => void;
|
|
22
|
+
onUserClick?: () => void;
|
|
23
|
+
onWorkspaceClick?: () => void;
|
|
24
|
+
testId?: string;
|
|
25
|
+
footerExtras?: ReactNode;
|
|
26
|
+
}
|
|
27
|
+
export declare function Sidebar({ nav, activeId, collapsed: collapsedProp, onToggle, features, workspace, user, onItemClick, onUserClick, onWorkspaceClick, testId, footerExtras, }: SidebarProps): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
//# sourceMappingURL=Sidebar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,wBAAgB,OAAO,CAAC,EACtB,GAAG,EACH,QAAQ,EACR,SAAS,EAAE,aAAa,EACxB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,MAAM,EACN,YAAY,GACb,EAAE,YAAY,2CA6Jd"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type IconName } from './Icon';
|
|
3
|
+
export type NavBadgeTone = 'neutral' | 'primary' | 'danger' | 'ai';
|
|
4
|
+
export interface NavItem {
|
|
5
|
+
id: string;
|
|
6
|
+
label: string;
|
|
7
|
+
icon: IconName;
|
|
8
|
+
/** Marks the item as AI-themed (sparkle glyph, accent locks). */
|
|
9
|
+
ai?: boolean;
|
|
10
|
+
badge?: ReactNode;
|
|
11
|
+
badgeTone?: NavBadgeTone;
|
|
12
|
+
/** Feature flag key — when `features[feat] === false`, item locks. */
|
|
13
|
+
feat?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface NavGroup {
|
|
16
|
+
group: string;
|
|
17
|
+
items: NavItem[];
|
|
18
|
+
ai?: boolean;
|
|
19
|
+
/** Feature flag key that locks the entire group. */
|
|
20
|
+
feat?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface SidebarNavItemProps {
|
|
23
|
+
item: NavItem;
|
|
24
|
+
active: boolean;
|
|
25
|
+
collapsed: boolean;
|
|
26
|
+
features?: Record<string, boolean>;
|
|
27
|
+
onClick?: (id: string) => void;
|
|
28
|
+
testId?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function SidebarNavItem({ item, active, collapsed, features, onClick, testId, }: SidebarNavItemProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
//# sourceMappingURL=SidebarNavItem.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidebarNavItem.d.ts","sourceRoot":"","sources":["../../../src/theme/components/SidebarNavItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrE,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,iEAAiE;IACjE,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,sEAAsE;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAmBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,MAAM,EACN,SAAS,EACT,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE,mBAAmB,2CA2JrB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Skeleton — loading placeholder using theme surface tokens with a shimmer
|
|
4
|
+
* pulse. Ported from src/components/Skeleton to the theme system.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* <Skeleton variant="text" width="80%" />
|
|
8
|
+
* <Skeleton variant="circular" width={40} height={40} />
|
|
9
|
+
* <Skeleton variant="rectangular" width="100%" height={200} />
|
|
10
|
+
* <Skeleton variant="text" lines={3} />
|
|
11
|
+
*/
|
|
12
|
+
export type SkeletonVariant = 'text' | 'circular' | 'rectangular';
|
|
13
|
+
/** Inject the `tj-skeleton-pulse` keyframes once per document. Idempotent. */
|
|
14
|
+
export declare function ensureSkeletonStyles(): void;
|
|
15
|
+
export interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
|
|
16
|
+
/** Shape variant. Default `text`. */
|
|
17
|
+
variant?: SkeletonVariant;
|
|
18
|
+
/** Width (CSS value, or number → px). */
|
|
19
|
+
width?: string | number;
|
|
20
|
+
/** Height (CSS value, or number → px). */
|
|
21
|
+
height?: string | number;
|
|
22
|
+
/** Enable the shimmer pulse. Default `true`. */
|
|
23
|
+
animate?: boolean;
|
|
24
|
+
/** Number of stacked lines (text variant only). Default 1. */
|
|
25
|
+
lines?: number;
|
|
26
|
+
/** Screen-reader text. Default `Loading...`. */
|
|
27
|
+
label?: string;
|
|
28
|
+
/** Forwarded as `data-testid` on the root. */
|
|
29
|
+
testId?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const Skeleton: import("react").ForwardRefExoticComponent<SkeletonProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
32
|
+
//# sourceMappingURL=Skeleton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5E;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;AAIlE,8EAA8E;AAC9E,wBAAgB,oBAAoB,IAAI,IAAI,CAU3C;AAQD,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,cAAc,CAAC;IACnE,qCAAqC;IACrC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yCAAyC;IACzC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,QAAQ,0GA6FpB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type SVGAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Spinner — animated SVG loading indicator using theme tokens.
|
|
4
|
+
* Ported from src/components/Spinner to the theme system (inline styles +
|
|
5
|
+
* a `tj-spin` @keyframes injected once via `ensureSpinnerStyles`).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <Spinner size="md" color="primary" />
|
|
9
|
+
* <Spinner size="sm" color="current" label="Saving…" />
|
|
10
|
+
*/
|
|
11
|
+
export type SpinnerSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
12
|
+
export type SpinnerColor = 'current' | 'primary' | 'white';
|
|
13
|
+
/** Inject the `tj-spin` keyframes once per document. Idempotent. */
|
|
14
|
+
export declare function ensureSpinnerStyles(): void;
|
|
15
|
+
export interface SpinnerProps extends Omit<SVGAttributes<SVGSVGElement>, 'color'> {
|
|
16
|
+
/** Spinner size. Default `md`. */
|
|
17
|
+
size?: SpinnerSize;
|
|
18
|
+
/** Spinner color. Default `current` (inherits text color). */
|
|
19
|
+
color?: SpinnerColor;
|
|
20
|
+
/** Screen-reader label. Default `Loading`. */
|
|
21
|
+
label?: string;
|
|
22
|
+
/** Forwarded as `data-testid` on the root `<svg>`. */
|
|
23
|
+
testId?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const Spinner: import("react").ForwardRefExoticComponent<SpinnerProps & import("react").RefAttributes<SVGSVGElement>>;
|
|
26
|
+
//# sourceMappingURL=Spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AACpD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAiB3D,oEAAoE;AACpE,wBAAgB,mBAAmB,IAAI,IAAI,CAO1C;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACnD,kCAAkC;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,OAAO,wGAwClB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
export type StatTone = 'neutral' | 'primary' | 'success' | 'warning' | 'info' | 'danger' | 'ai';
|
|
3
|
+
export interface StatProps {
|
|
4
|
+
label: ReactNode;
|
|
5
|
+
value: ReactNode;
|
|
6
|
+
sub?: ReactNode;
|
|
7
|
+
/** Optional bullet badge shown beside `sub` (e.g., "+6"). */
|
|
8
|
+
delta?: ReactNode;
|
|
9
|
+
tone?: StatTone;
|
|
10
|
+
/** Adds a sparkle accent next to the label. */
|
|
11
|
+
ai?: boolean;
|
|
12
|
+
padding?: number;
|
|
13
|
+
style?: CSSProperties;
|
|
14
|
+
testId?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Stat — ported from design/components/patterns.jsx. Renders inside a
|
|
18
|
+
* Card; uses `flex-end` alignment so `value` and `sub` sit on the same
|
|
19
|
+
* line below the label. Tone colors the value; sub is always
|
|
20
|
+
* `var(--ink-3)`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function Stat({ label, value, sub, delta, tone, ai, padding, style, testId, }: StatProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=Stat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stat.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Stat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMtD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC;AAYhG,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,SAAS,CAAC;IACjB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,+CAA+C;IAC/C,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,EACL,GAAG,EACH,KAAK,EACL,IAAgB,EAChB,EAAE,EACF,OAAY,EACZ,KAAK,EACL,MAAM,GACP,EAAE,SAAS,2CAsEX"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ComboboxProps } from './Combobox';
|
|
2
|
+
/**
|
|
3
|
+
* StatePicker — searchable state/province select. Defaults to the regions of
|
|
4
|
+
* `country` (ISO code) from the bundled data; pass `items` to override.
|
|
5
|
+
* Countries without bundled sub-regions yield an empty list.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* <StatePicker label="State" country="US" value={state} onChange={setState} />
|
|
9
|
+
*/
|
|
10
|
+
export interface StatePickerProps extends Omit<ComboboxProps, 'items'> {
|
|
11
|
+
/** ISO-3166 country code selecting which region list to use. Default 'US'. */
|
|
12
|
+
country?: string;
|
|
13
|
+
/** Override the resolved region list. */
|
|
14
|
+
items?: ComboboxProps['items'];
|
|
15
|
+
}
|
|
16
|
+
export declare function StatePicker({ country, items, placeholder, ...rest }: StatePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=StatePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatePicker.d.ts","sourceRoot":"","sources":["../../../src/theme/components/StatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IACpE,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yCAAyC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,WAAW,CAAC,EAC1B,OAAc,EACd,KAAK,EACL,WAA4B,EAC5B,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAGlB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Horizontal mini-stepper used in the auth funnel (register → verify → setup).
|
|
3
|
+
* Each step is `{ label, active?, complete? }`. Visual states:
|
|
4
|
+
* - active: solid primary disc, ink-1 label
|
|
5
|
+
* - complete: solid primary disc with check (TODO if needed)
|
|
6
|
+
* - default: bordered disc, ink-3 label
|
|
7
|
+
*/
|
|
8
|
+
export interface StepperStep {
|
|
9
|
+
label: string;
|
|
10
|
+
active?: boolean;
|
|
11
|
+
complete?: boolean;
|
|
12
|
+
/** Override the auto-derived test id for this step. */
|
|
13
|
+
testId?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface StepperProps {
|
|
16
|
+
steps: StepperStep[];
|
|
17
|
+
/** Constrain total width. */
|
|
18
|
+
maxWidth?: number;
|
|
19
|
+
/** Test id applied to the root + auto-prefixed onto each step. */
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function Stepper({ steps, maxWidth, testId }: StepperProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=Stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Stepper.tsx"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,QAAc,EAAE,MAAM,EAAE,EAAE,YAAY,2CAkEtE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Switch — inline on/off toggle.
|
|
4
|
+
* Ported from design/components/primitives.jsx. Two sizes:
|
|
5
|
+
* - `sm` (30×18): for preference rows and dense forms.
|
|
6
|
+
* - `md` (44×24): for hero / master toggles.
|
|
7
|
+
*
|
|
8
|
+
* Controlled component — pass `on` + `onChange`.
|
|
9
|
+
*/
|
|
10
|
+
export type SwitchSize = 'sm' | 'md';
|
|
11
|
+
export interface SwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'value'> {
|
|
12
|
+
on?: boolean;
|
|
13
|
+
onChange?: (next: boolean) => void;
|
|
14
|
+
size?: SwitchSize;
|
|
15
|
+
testId?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare const Switch: import("react").ForwardRefExoticComponent<SwitchProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
18
|
+
//# sourceMappingURL=Switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,MAAM,OAAO,CAAC;AAElF;;;;;;;GAOG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAErC,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAC3E,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,2GAoDjB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { type FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* TOTP6Cells — 6 individually-focusable numeric cells for TOTP entry.
|
|
4
|
+
*
|
|
5
|
+
* Industry-standard 6-digit code without visual grouping (in contrast to the
|
|
6
|
+
* verify-email 8-cell OTP which groups 4-4). Per-cell visual states track:
|
|
7
|
+
* - empty neutral border, surface-1 fill
|
|
8
|
+
* - active next-cell-to-fill, primary border + ring + blinking caret
|
|
9
|
+
* - filled neutral border, surface-0 fill, ink-1 digit
|
|
10
|
+
* - verifying locked, ink-2 digit
|
|
11
|
+
* - verified success border/fill/digit
|
|
12
|
+
* - error danger border/fill, danger digit
|
|
13
|
+
*
|
|
14
|
+
* Behaviours:
|
|
15
|
+
* - Auto-focus first empty cell on mount.
|
|
16
|
+
* - Typing a digit auto-advances focus.
|
|
17
|
+
* - Backspace on an empty cell jumps back and clears the previous cell.
|
|
18
|
+
* - Paste anywhere strips non-digits and fills cells in order.
|
|
19
|
+
* - Fires onComplete(value) exactly once when all 6 cells hold a digit.
|
|
20
|
+
*
|
|
21
|
+
* The component is *controlled* via `value` (a 0–6 char numeric string). All
|
|
22
|
+
* onChange notifications report the joined string.
|
|
23
|
+
*/
|
|
24
|
+
export type TOTP6CellsState = 'default' | 'verifying' | 'verified' | 'error';
|
|
25
|
+
export interface TOTP6CellsProps {
|
|
26
|
+
/** 0–6 character numeric string. Non-digits / overflow are stripped. */
|
|
27
|
+
value: string;
|
|
28
|
+
/** Fired on every per-cell mutation; receives the joined value. */
|
|
29
|
+
onChange: (value: string) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Fired exactly once when the value reaches 6 digits. Refires only after the
|
|
32
|
+
* value drops below 6 and rises back to 6 (re-entry after error).
|
|
33
|
+
*/
|
|
34
|
+
onComplete?: (value: string) => void;
|
|
35
|
+
/** Visual state override (drives per-cell styling). */
|
|
36
|
+
state?: TOTP6CellsState;
|
|
37
|
+
/** Auto-focus the first empty cell on mount. Defaults to true. */
|
|
38
|
+
autoFocus?: boolean;
|
|
39
|
+
/** Disables all inputs. Combined with `state === 'verifying' | 'verified'`. */
|
|
40
|
+
disabled?: boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Root `data-testid` for the cell row. Each cell gets `${testId}-cell-${i}`.
|
|
43
|
+
* Defaults to `totp6`.
|
|
44
|
+
*/
|
|
45
|
+
testId?: string;
|
|
46
|
+
}
|
|
47
|
+
export declare const TOTP6Cells: FC<TOTP6CellsProps>;
|
|
48
|
+
export default TOTP6Cells;
|
|
49
|
+
//# sourceMappingURL=TOTP6Cells.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TOTP6Cells.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TOTP6Cells.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAEf;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE7E,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uDAAuD;IACvD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAkGD,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAuO1C,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type CSSProperties, type ReactNode } from 'react';
|
|
2
|
+
export type TabsDensity = 'default' | 'comfortable';
|
|
3
|
+
export interface TabsItem {
|
|
4
|
+
value: string;
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
/** Optional count chip shown after the label. */
|
|
7
|
+
count?: number;
|
|
8
|
+
/** Override the per-tab data-testid. Defaults to `tab-{value}`. */
|
|
9
|
+
testId?: string;
|
|
10
|
+
/** Disable interaction on a single tab. */
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface TabsProps {
|
|
14
|
+
items: ReadonlyArray<TabsItem>;
|
|
15
|
+
/** Currently active tab `value`. */
|
|
16
|
+
value: string;
|
|
17
|
+
/** Fired with the new tab `value`. */
|
|
18
|
+
onChange?: (value: string) => void;
|
|
19
|
+
/** `'comfortable'` adds vertical padding for header-band placement. */
|
|
20
|
+
density?: TabsDensity;
|
|
21
|
+
/** Optional ARIA label for the tablist. */
|
|
22
|
+
ariaLabel?: string;
|
|
23
|
+
style?: CSSProperties;
|
|
24
|
+
/** Forwarded as `data-testid` on the tablist root. */
|
|
25
|
+
testId?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Tabs — controlled underline tab strip with optional count chips and
|
|
29
|
+
* left/right arrow keyboard navigation.
|
|
30
|
+
* Source: design/components/patterns.jsx:42
|
|
31
|
+
*/
|
|
32
|
+
export declare function Tabs({ items, value, onChange, density, ariaLabel, style, testId, }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
//# sourceMappingURL=Tabs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Tabs.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AAEpD,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,uEAAuE;IACvE,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,EACnB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,OAAmB,EACnB,SAAS,EACT,KAAK,EACL,MAAM,GACP,EAAE,SAAS,2CAqIX"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface TagProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
3
|
+
/** Render the label using `var(--font-mono)`. Defaults to true (matches design). */
|
|
4
|
+
mono?: boolean;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
/** Forwarded as `data-testid`. */
|
|
7
|
+
testId?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Tag — tonal keyword chip with a faint surface background. Used in
|
|
11
|
+
* client-detail tag clouds, diagnosis lists, etc.
|
|
12
|
+
* Source: design/screens/client-detail.jsx:332
|
|
13
|
+
*/
|
|
14
|
+
export declare function Tag({ mono, children, style, testId, ...rest }: TagProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Tag.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,MAAM,WAAW,QAAS,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACjF,oFAAoF;IACpF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,GAAG,CAAC,EAAE,IAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,QAAQ,2CAmB9E"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type InputHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type FieldChromeProps } from './fieldShell';
|
|
3
|
+
import { type IconName } from './Icon';
|
|
4
|
+
/**
|
|
5
|
+
* TextInput — bare styled text input matching the design's input box. When a
|
|
6
|
+
* `label` is supplied it self-wraps in `<FieldShell>`; otherwise it renders the
|
|
7
|
+
* boxed control alone so it can sit inside a caller layout.
|
|
8
|
+
*
|
|
9
|
+
* Ported from `design/components/inputs.jsx` (TextInput) + `Field` chrome.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <TextInput label="Practice name" hint="Shown to clients" value={v} onChange={…} />
|
|
13
|
+
* <TextInput icon="search" placeholder="Search…" />
|
|
14
|
+
*/
|
|
15
|
+
export interface TextInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>, FieldChromeProps {
|
|
16
|
+
/** Leading icon inside the box. */
|
|
17
|
+
icon?: IconName;
|
|
18
|
+
/** Trailing slot inside the box (e.g., a Badge or clear button). */
|
|
19
|
+
trailing?: ReactNode;
|
|
20
|
+
/** Monospace input font. */
|
|
21
|
+
mono?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export declare const TextInput: import("react").ForwardRefExoticComponent<TextInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
24
|
+
//# sourceMappingURL=TextInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextInput.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TextInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EACzD,gBAAgB;IAClB,mCAAmC;IACnC,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,SAAS,6GAmErB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type TextareaHTMLAttributes } from 'react';
|
|
2
|
+
import { type FieldChromeProps } from './fieldShell';
|
|
3
|
+
/**
|
|
4
|
+
* Textarea — multi-line text input matching the design's input box. Self-wraps
|
|
5
|
+
* in `<FieldShell>` when a `label` is supplied.
|
|
6
|
+
*
|
|
7
|
+
* Ported from `design/components/patterns.jsx` (Textarea).
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* <Textarea label="Practice description" hint="Up to 400 characters" rows={3} />
|
|
11
|
+
*/
|
|
12
|
+
export interface TextareaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'rows'>, FieldChromeProps {
|
|
13
|
+
rows?: number;
|
|
14
|
+
mono?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare const Textarea: import("react").ForwardRefExoticComponent<TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
|
|
17
|
+
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,sBAAsB,EAC5B,MAAM,OAAO,CAAC;AAEf,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;GAQG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC,EAC/D,gBAAgB;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,+GAqEpB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ComboboxProps } from './Combobox';
|
|
2
|
+
/**
|
|
3
|
+
* TimeZonePicker — searchable IANA time-zone select over the bundled list
|
|
4
|
+
* (offset shown as each option's `sub`). Pass `items` to override.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* <TimeZonePicker label="Time zone" value={tz} onChange={setTz} />
|
|
8
|
+
*/
|
|
9
|
+
export interface TimeZonePickerProps extends Omit<ComboboxProps, 'items'> {
|
|
10
|
+
/** Override the bundled time-zone list. */
|
|
11
|
+
items?: ComboboxProps['items'];
|
|
12
|
+
}
|
|
13
|
+
export declare function TimeZonePicker({ items, placeholder, ...rest }: TimeZonePickerProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=TimeZonePicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeZonePicker.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TimeZonePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;GAMG;AACH,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IACvE,2CAA2C;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAsB,EACtB,WAAgC,EAChC,GAAG,IAAI,EACR,EAAE,mBAAmB,2CAErB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type IconName } from './Icon';
|
|
3
|
+
/**
|
|
4
|
+
* TimelineRow — one entry in a vertical activity log.
|
|
5
|
+
* Ported from design/screens/appointment-detail.jsx. Sits inside a parent
|
|
6
|
+
* with `position: relative` and (typically) a left rail border. Renders a
|
|
7
|
+
* 18×18 dot anchored at the parent's left rail (-18px from this row), with
|
|
8
|
+
* the title and meta to the right.
|
|
9
|
+
*
|
|
10
|
+
* `ai` swaps the icon for the brand AI sparkle and tints the `by` byline.
|
|
11
|
+
* `last` removes the bottom padding so the row hugs the timeline footer.
|
|
12
|
+
*/
|
|
13
|
+
export interface TimelineRowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children' | 'title'> {
|
|
14
|
+
/** Color for the dot ring and (non-AI) icon stroke. */
|
|
15
|
+
color?: string;
|
|
16
|
+
icon?: IconName;
|
|
17
|
+
title: ReactNode;
|
|
18
|
+
/** Actor or source — rendered before the dot separator. */
|
|
19
|
+
by?: ReactNode;
|
|
20
|
+
when?: ReactNode;
|
|
21
|
+
ai?: boolean;
|
|
22
|
+
/** Suppress bottom padding for the final row in a timeline. */
|
|
23
|
+
last?: boolean;
|
|
24
|
+
testId?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function TimelineRow({ color, icon, title, by, when, ai, last, style, testId, ...rest }: TimelineRowProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=TimelineRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineRow.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TimelineRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtE,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;;;;GASG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC;IAClE,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,2DAA2D;IAC3D,EAAE,CAAC,EAAE,SAAS,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,+DAA+D;IAC/D,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAwB,EACxB,IAAI,EACJ,KAAK,EACL,EAAE,EACF,IAAI,EACJ,EAAE,EACF,IAAI,EACJ,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,gBAAgB,2CA8ClB"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CSSProperties, InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface ToolbarSearchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'style'> {
|
|
3
|
+
width?: number | string;
|
|
4
|
+
containerStyle?: CSSProperties;
|
|
5
|
+
testId?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function ToolbarSearch({ width, containerStyle, testId, placeholder, ...inputProps }: ToolbarSearchProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=ToolbarSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToolbarSearch.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ToolbarSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAIhE,MAAM,WAAW,kBACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAW,EACX,cAAc,EACd,MAAM,EACN,WAAW,EACX,GAAG,UAAU,EACd,EAAE,kBAAkB,2CAmCpB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* A clickable breadcrumb crumb. Pass `onClick` to make a crumb navigate; the
|
|
4
|
+
* library stays router-agnostic — consumers wire navigation in `onClick`. The
|
|
5
|
+
* last crumb in a trail is always rendered as static text even if it has an
|
|
6
|
+
* `onClick`, since it represents the current page.
|
|
7
|
+
*/
|
|
8
|
+
export interface BreadcrumbItem {
|
|
9
|
+
label: ReactNode;
|
|
10
|
+
onClick?: () => void;
|
|
11
|
+
testId?: string;
|
|
12
|
+
}
|
|
13
|
+
export type BreadcrumbEntry = ReactNode | BreadcrumbItem;
|
|
14
|
+
export interface TopBarProps {
|
|
15
|
+
title?: ReactNode;
|
|
16
|
+
breadcrumb?: ReadonlyArray<BreadcrumbEntry>;
|
|
17
|
+
/**
|
|
18
|
+
* Custom node rendered in the left header region in place of the
|
|
19
|
+
* breadcrumb/title. Use for a header-band control such as a mode switcher
|
|
20
|
+
* (e.g. Communications). When provided, breadcrumb/title are not shown.
|
|
21
|
+
*/
|
|
22
|
+
headerLeft?: ReactNode;
|
|
23
|
+
actions?: ReactNode;
|
|
24
|
+
searchSlot?: ReactNode;
|
|
25
|
+
/** Render the search slot. Defaults to true; pass false to suppress it
|
|
26
|
+
* (e.g. secure-messaging surfaces that must not surface AI search). */
|
|
27
|
+
search?: boolean;
|
|
28
|
+
/** Show notification bell. Defaults to true. */
|
|
29
|
+
bell?: boolean;
|
|
30
|
+
hasNotifications?: boolean;
|
|
31
|
+
onBellClick?: () => void;
|
|
32
|
+
testId?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare function TopBar({ title, breadcrumb, headerLeft, actions, searchSlot, search, bell, hasNotifications, onBellClick, testId, }: TopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
//# sourceMappingURL=TopBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../../../src/theme/components/TopBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,cAAc,CAAC;AAUzD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC5C;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB;2EACuE;IACvE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAgED,wBAAgB,MAAM,CAAC,EACrB,KAAK,EACL,UAAU,EACV,UAAU,EACV,OAAO,EACP,UAAU,EACV,MAAa,EACb,IAAW,EACX,gBAAgB,EAChB,WAAW,EACX,MAAM,GACP,EAAE,WAAW,2CAkEb"}
|