@teja-app/ui 0.0.9 → 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/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/index.cjs +3452 -13752
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3425 -13725
- 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,23 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type ResolvedTheme } from './applyTheme';
|
|
3
|
+
import { type TejaThemeConfig, type ThemeMode } from './presets';
|
|
4
|
+
export interface ThemeProviderProps {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
/** Overrides for the canonical defaults. Merged shallowly. */
|
|
7
|
+
defaults?: Partial<TejaThemeConfig>;
|
|
8
|
+
/** localStorage key for persistence. Defaults to `teja:theme`. */
|
|
9
|
+
storageKey?: string;
|
|
10
|
+
/** When true, skip localStorage entirely (useful for SSR / Storybook). */
|
|
11
|
+
noPersist?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ThemeContextValue {
|
|
14
|
+
config: TejaThemeConfig;
|
|
15
|
+
/** Current resolved mode after `system` is collapsed against the OS pref. */
|
|
16
|
+
resolved: ResolvedTheme;
|
|
17
|
+
setConfig: (next: Partial<TejaThemeConfig>) => void;
|
|
18
|
+
setMode: (mode: ThemeMode) => void;
|
|
19
|
+
reset: () => void;
|
|
20
|
+
}
|
|
21
|
+
export declare function ThemeProvider({ children, defaults, storageKey, noPersist, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export declare function useTheme(): ThemeContextValue;
|
|
23
|
+
//# sourceMappingURL=ThemeProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/theme/ThemeProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAInB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,6EAA6E;IAC7E,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IACpD,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAmBD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,QAAQ,EACR,UAAwB,EACxB,SAAiB,GAClB,EAAE,kBAAkB,2CAqEpB;AAED,wBAAgB,QAAQ,IAAI,iBAAiB,CAM5C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* applyTheme — pure-DOM function that writes CSS variable overrides onto
|
|
3
|
+
* documentElement based on a TejaThemeConfig. Called by ThemeProvider on
|
|
4
|
+
* every config change. Safe to call in any order (later calls fully override
|
|
5
|
+
* earlier ones because we always start from the full preset set).
|
|
6
|
+
*
|
|
7
|
+
* Lives outside the React tree so the dev TweaksPanel and tests can call it
|
|
8
|
+
* directly.
|
|
9
|
+
*/
|
|
10
|
+
import { type TejaThemeConfig, type ThemeMode } from './presets';
|
|
11
|
+
export type ResolvedTheme = 'light' | 'dark';
|
|
12
|
+
/**
|
|
13
|
+
* Resolves a ThemeMode against the OS preference. Pure — does not subscribe.
|
|
14
|
+
* ThemeProvider owns the matchMedia listener and re-invokes applyTheme.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveThemeMode(mode: ThemeMode): ResolvedTheme;
|
|
17
|
+
/**
|
|
18
|
+
* Writes every preset's vars onto :root in deterministic layer order:
|
|
19
|
+
* 1. surface (bg/borders/dividers)
|
|
20
|
+
* 2. primary brand
|
|
21
|
+
* 3. AI accent
|
|
22
|
+
* 4. radius
|
|
23
|
+
* 5. font + display + tracking
|
|
24
|
+
* 6. density-scaled spacing tokens
|
|
25
|
+
*
|
|
26
|
+
* Dark-mode variants from each preset are merged on top of the light variant
|
|
27
|
+
* when resolved === 'dark'.
|
|
28
|
+
*
|
|
29
|
+
* Sets `data-theme="light"|"dark"` on <html> so token sheets (`tokens.css`)
|
|
30
|
+
* and downstream selectors can react.
|
|
31
|
+
*/
|
|
32
|
+
export declare function applyTheme(config: TejaThemeConfig): ResolvedTheme;
|
|
33
|
+
//# sourceMappingURL=applyTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTheme.d.ts","sourceRoot":"","sources":["../../src/theme/applyTheme.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EASL,KAAK,eAAe,EACpB,KAAK,SAAS,EACf,MAAM,WAAW,CAAC;AAEnB,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,SAAS,GAAG,aAAa,CAU/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,aAAa,CA8CjE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AIBadge — pill that marks AI-touched content.
|
|
4
|
+
* Ported from design/components/ai.jsx.
|
|
5
|
+
*
|
|
6
|
+
* Tones:
|
|
7
|
+
* - `default` / `draft`: solid soft pill (AI-drafted content)
|
|
8
|
+
* - `suggestion`: dashed border (unconfirmed AI proposal)
|
|
9
|
+
* - `confirmed`: success-soft (clinician approved)
|
|
10
|
+
* - `working`: animated sparkle (in progress)
|
|
11
|
+
* - `locked`: muted surface with lock glyph (feature gated)
|
|
12
|
+
*/
|
|
13
|
+
export type AIBadgeTone = 'default' | 'draft' | 'suggestion' | 'confirmed' | 'working' | 'locked';
|
|
14
|
+
export interface AIBadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
15
|
+
tone?: AIBadgeTone;
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
testId?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function AIBadge({ tone, children, style, testId, ...rest }: AIBadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
//# sourceMappingURL=AIBadge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIBadge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIBadge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3F;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GACnB,SAAS,GACT,OAAO,GACP,YAAY,GACZ,WAAW,GACX,SAAS,GACT,QAAQ,CAAC;AAEb,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACrF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA2BD,wBAAgB,OAAO,CAAC,EACtB,IAAgB,EAChB,QAAe,EACf,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,YAAY,2CAiCd"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AICard — card surface with an iridescent AI border.
|
|
4
|
+
* Ported from design/components/ai.jsx. Uses a double-background trick
|
|
5
|
+
* (`padding-box` fill + `border-box` gradient) so the gradient sits on the
|
|
6
|
+
* border only. Background defaults to the AI-tint surface; pass `style` to
|
|
7
|
+
* override or change the inner color.
|
|
8
|
+
*/
|
|
9
|
+
export interface AICardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
10
|
+
/** Inner padding in pixels. Defaults to 18. */
|
|
11
|
+
padding?: number;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
testId?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function AICard({ padding, children, className, style, testId, ...rest }: AICardProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=AICard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AICard.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AICard.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3F;;;;;;GAMG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACnF,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,MAAM,CAAC,EACrB,OAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,WAAW,2CAkBb"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface AIChipProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
testId?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function AIChip({ children, style, testId, ...rest }: AIChipProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
//# sourceMappingURL=AIChip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIChip.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIChip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI7D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,2CA2BvE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AIComposeButton — primary AI action with gradient fill.
|
|
4
|
+
* Ported from design/components/ai.jsx. Use for the main "Compose with AI"
|
|
5
|
+
* affordance on a screen. For inline suggestion chips use `<AIChip>`.
|
|
6
|
+
*/
|
|
7
|
+
export type AIComposeButtonSize = 'sm' | 'md';
|
|
8
|
+
export interface AIComposeButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
9
|
+
size?: AIComposeButtonSize;
|
|
10
|
+
children?: ReactNode;
|
|
11
|
+
testId?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare const AIComposeButton: import("react").ForwardRefExoticComponent<AIComposeButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
14
|
+
//# sourceMappingURL=AIComposeButton.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIComposeButton.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIComposeButton.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAIlG;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,eAAe,oHAqC3B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AIGhostText — inline ghost suggestion (e.g. inside a textarea/composer).
|
|
4
|
+
* Ported from design/components/ai.jsx. Visually italic, AI-tinted, with a
|
|
5
|
+
* trailing Tab affordance to hint at completion.
|
|
6
|
+
*/
|
|
7
|
+
export interface AIGhostTextProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
8
|
+
text: ReactNode;
|
|
9
|
+
/** Key affordance text inside the trailing chip. Defaults to "Tab". */
|
|
10
|
+
hint?: ReactNode;
|
|
11
|
+
testId?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function AIGhostText({ text, hint, style, testId, ...rest }: AIGhostTextProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=AIGhostText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIGhostText.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIGhostText.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE;;;;GAIG;AACH,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACzD,IAAI,EAAE,SAAS,CAAC;IAChB,uEAAuE;IACvE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,IAAY,EACZ,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAiClB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AISectionHeader — section heading for AI-authored panels.
|
|
4
|
+
* Ported from design/components/ai.jsx. Renders a small gradient tile,
|
|
5
|
+
* an uppercase eyebrow (default "Teja AI"), a title, and an optional
|
|
6
|
+
* right-side `action` slot.
|
|
7
|
+
*/
|
|
8
|
+
export interface AISectionHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'title' | 'children'> {
|
|
9
|
+
title: ReactNode;
|
|
10
|
+
eyebrow?: ReactNode;
|
|
11
|
+
action?: ReactNode;
|
|
12
|
+
testId?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function AISectionHeader({ title, eyebrow, action, style, testId, ...rest }: AISectionHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
//# sourceMappingURL=AISectionHeader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AISectionHeader.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AISectionHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAItE;;;;;GAKG;AACH,MAAM,WAAW,oBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAClE,KAAK,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,OAAmB,EACnB,MAAM,EACN,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,oBAAoB,2CA6CtB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* 4-point sparkle glyph used as the AI accent in callouts and pills.
|
|
4
|
+
* Renders inline; inherits color from the parent unless `color` is set.
|
|
5
|
+
*/
|
|
6
|
+
export interface AISparkleProps {
|
|
7
|
+
size?: number;
|
|
8
|
+
color?: string;
|
|
9
|
+
style?: CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
export declare function AISparkle({ size, color, style, }: AISparkleProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AISparkle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AISparkle.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AISparkle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,EACxB,IAAS,EACT,KAAsB,EACtB,KAAK,GACN,EAAE,cAAc,2CAgBhB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AIWorking — animated pill that signals an in-progress AI task.
|
|
4
|
+
* Ported from design/components/ai.jsx. The label uses a shimmering text
|
|
5
|
+
* gradient driven by the `teja-ai-shimmer` keyframes injected on first use.
|
|
6
|
+
*/
|
|
7
|
+
export interface AIWorkingProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
8
|
+
label?: ReactNode;
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function AIWorking({ label, style, testId, ...rest }: AIWorkingProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=AIWorking.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIWorking.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AIWorking.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3F;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACtF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,SAAS,CAAC,EACxB,KAA2B,EAC3B,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,cAAc,2CAsBhB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { type IconName } from './Icon';
|
|
3
|
+
/**
|
|
4
|
+
* Alert — inline contextual banner.
|
|
5
|
+
*
|
|
6
|
+
* Ported from design/components/primitives.jsx. Four tones —
|
|
7
|
+
* `danger`, `warning`, `success`, `info` — each driving the background,
|
|
8
|
+
* border, default icon, and accent color via theme tokens.
|
|
9
|
+
*/
|
|
10
|
+
export type AlertTone = 'danger' | 'warning' | 'success' | 'info';
|
|
11
|
+
export interface AlertProps {
|
|
12
|
+
tone?: AlertTone;
|
|
13
|
+
/** Override the default tone-derived icon name. */
|
|
14
|
+
icon?: IconName;
|
|
15
|
+
title?: ReactNode;
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
/** data-testid forwarded to the root. */
|
|
18
|
+
testId?: string;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
}
|
|
21
|
+
export declare function Alert({ tone, icon, title, children, testId, style, }: AlertProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=Alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Alert.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Alert.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAoClE,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mDAAmD;IACnD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,KAAK,CAAC,EACpB,IAAa,EACb,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,MAAM,EACN,KAAK,GACN,EAAE,UAAU,2CA2CZ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type SidebarProps } from './Sidebar';
|
|
3
|
+
import { type TopBarProps } from './TopBar';
|
|
4
|
+
export interface AppShellProps extends Pick<SidebarProps, 'nav' | 'activeId' | 'collapsed' | 'onToggle' | 'features' | 'workspace' | 'user' | 'onItemClick' | 'onUserClick' | 'onWorkspaceClick' | 'footerExtras'> {
|
|
5
|
+
/** Slot passed straight to TopBar. */
|
|
6
|
+
topBar?: TopBarProps;
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
/** Hide the topbar entirely (use for full-bleed screens). */
|
|
9
|
+
hideTopBar?: boolean;
|
|
10
|
+
/** Render the TopBar search slot. Defaults to true; pass false to suppress
|
|
11
|
+
* it (overrides any `searchSlot` on `topBar`). */
|
|
12
|
+
search?: boolean;
|
|
13
|
+
testId?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function AppShell({ nav, activeId, collapsed, onToggle, features, workspace, user, onItemClick, onUserClick, onWorkspaceClick, footerExtras, topBar, hideTopBar, search, children, testId, }: AppShellProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=AppShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AppShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAEpD,MAAM,WAAW,aACf,SAAQ,IAAI,CACV,YAAY,EACV,KAAK,GACL,UAAU,GACV,WAAW,GACX,UAAU,GACV,UAAU,GACV,WAAW,GACX,MAAM,GACN,aAAa,GACb,aAAa,GACb,kBAAkB,GAClB,cAAc,CACjB;IACD,sCAAsC;IACtC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;IACpB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;sDACkD;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,EACvB,GAAG,EACH,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,UAAU,EACV,MAAM,EACN,QAAQ,EACR,MAAM,GACP,EAAE,aAAa,2CAsDf"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* AskTeja — global AI search affordance in the top bar.
|
|
4
|
+
* Ported from design/components/ai.jsx. Renders the iridescent AI border
|
|
5
|
+
* via the shared `teja-ai-border` class. The visible content is a
|
|
6
|
+
* non-functional placeholder + keyboard hint; the actual command palette
|
|
7
|
+
* is wired up by the host app.
|
|
8
|
+
*/
|
|
9
|
+
export interface AskTejaProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
10
|
+
width?: number;
|
|
11
|
+
placeholder?: ReactNode;
|
|
12
|
+
/** Keyboard shortcut hint shown on the right. Defaults to "⌘J". */
|
|
13
|
+
shortcut?: ReactNode;
|
|
14
|
+
testId?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function AskTeja({ width, placeholder, shortcut, className, style, testId, ...rest }: AskTejaProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=AskTeja.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AskTeja.d.ts","sourceRoot":"","sources":["../../../src/theme/components/AskTeja.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK3F;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAW,EACX,WAAqF,EACrF,QAAe,EACf,SAAS,EACT,KAAK,EACL,MAAM,EACN,GAAG,IAAI,EACR,EAAE,YAAY,2CA8Cd"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
export interface AvatarProps {
|
|
3
|
+
name: string;
|
|
4
|
+
/** Pixel size; defaults to 28. */
|
|
5
|
+
size?: number;
|
|
6
|
+
/** Palette index 0-5. When omitted, derived from the name. */
|
|
7
|
+
idx?: number;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function Avatar({ name, size, idx, style, testId }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA8B3C,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,IAAS,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,WAAW,2CAwB1E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export type BadgeTone = 'neutral' | 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'ai';
|
|
3
|
+
export type BadgeSize = 'sm' | 'md';
|
|
4
|
+
export interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
|
|
5
|
+
tone?: BadgeTone;
|
|
6
|
+
size?: BadgeSize;
|
|
7
|
+
/** Show a leading colored dot. */
|
|
8
|
+
dot?: boolean;
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Forwarded as `data-testid` for e2e selectors. */
|
|
11
|
+
'data-testid'?: string;
|
|
12
|
+
/** Alias of `data-testid` to keep the API uniform across primitives. */
|
|
13
|
+
testId?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function Badge({ tone, size, dot, children, style, testId, 'data-testid': dataTestId, ...rest }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,MAAM,MAAM,SAAS,GACjB,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,QAAQ,GACR,MAAM,GACN,IAAI,CAAC;AACT,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC;AA4BpC,MAAM,WAAW,UAAW,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC;IACnF,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kCAAkC;IAClC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,KAAK,CAAC,EACpB,IAAgB,EAChB,IAAW,EACX,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,aAAa,EAAE,UAAU,EACzB,GAAG,IAAI,EACR,EAAE,UAAU,2CAsCZ"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Teja brand mark — a 4-facet diamond in pink/purple/red/orange.
|
|
4
|
+
* Source: /assets/teja-logo.svg.
|
|
5
|
+
*/
|
|
6
|
+
export interface TejaMarkProps {
|
|
7
|
+
size?: number;
|
|
8
|
+
style?: CSSProperties;
|
|
9
|
+
testId?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function TejaMark({ size, style, testId }: TejaMarkProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export interface TejaLogoProps {
|
|
13
|
+
size?: number;
|
|
14
|
+
/** When false, only renders the mark (no wordmark). */
|
|
15
|
+
showWord?: boolean;
|
|
16
|
+
testId?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare function TejaLogo({ size, showWord, testId }: TejaLogoProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=Brand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Brand.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Brand.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,2CA6BnE;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,EAAE,IAAS,EAAE,QAAe,EAAE,MAAM,EAAE,EAAE,aAAa,2CAuB7E"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type IconName } from './Icon';
|
|
3
|
+
export type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'danger' | 'soft';
|
|
4
|
+
export type ButtonSize = 'sm' | 'md' | 'lg';
|
|
5
|
+
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
6
|
+
variant?: ButtonVariant;
|
|
7
|
+
size?: ButtonSize;
|
|
8
|
+
/** Leading icon name from the Teja icon set. */
|
|
9
|
+
icon?: IconName;
|
|
10
|
+
/** Trailing icon name. */
|
|
11
|
+
iconRight?: IconName;
|
|
12
|
+
/** Stretch to fill container width. */
|
|
13
|
+
full?: boolean;
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
/** Forwarded as `data-testid` on the `<button>` element. */
|
|
16
|
+
testId?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAQ,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,OAAO,GACP,QAAQ,GACR,MAAM,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAqC5C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,gDAAgD;IAChD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,MAAM,2GAgDjB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface CardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
3
|
+
/** Inner padding in pixels. Defaults to 20. */
|
|
4
|
+
padding?: number;
|
|
5
|
+
children?: ReactNode;
|
|
6
|
+
/** Forwarded as `data-testid` on the root div. */
|
|
7
|
+
testId?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function Card({ padding, children, style, testId, ...rest }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
//# sourceMappingURL=Card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtE,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACjF,+CAA+C;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,IAAI,CAAC,EAAE,OAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS,2CAajF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { CSSProperties, InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Checkbox — visually styled to match the BAA/terms block in
|
|
4
|
+
* design/screens/register.jsx. The native input is visually hidden but
|
|
5
|
+
* focusable; clicking the wrapping label toggles state.
|
|
6
|
+
*
|
|
7
|
+
* `tone="block"` renders the full surface-1 card variant with body text.
|
|
8
|
+
* `tone="inline"` is a compact form-row checkbox.
|
|
9
|
+
*/
|
|
10
|
+
export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
11
|
+
/** Inline label or block body. When omitted, renders only the box (for table cells). */
|
|
12
|
+
label?: ReactNode;
|
|
13
|
+
tone?: 'block' | 'inline';
|
|
14
|
+
/** Custom outer style for the wrapping label. */
|
|
15
|
+
containerStyle?: CSSProperties;
|
|
16
|
+
/**
|
|
17
|
+
* Test ID — applied to the wrapping `<label>` as the root. The native
|
|
18
|
+
* input gets `${testId}-input`, the styled square gets `${testId}-square`.
|
|
19
|
+
*/
|
|
20
|
+
testId?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function Checkbox({ label, tone, containerStyle, checked, testId, ...inputProps }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=Checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3E;;;;;;;GAOG;AACH,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpE,wFAAwF;IACxF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC1B,iDAAiD;IACjD,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAe,EACf,cAAc,EACd,OAAO,EACP,MAAM,EACN,GAAG,UAAU,EACd,EAAE,aAAa,2CA2Ef"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Chip — filter pill that toggles on/off in a toolbar.
|
|
4
|
+
* Ported from design/components/patterns.jsx. Active state pulls a soft
|
|
5
|
+
* tonal fill from one of the design tokens.
|
|
6
|
+
*
|
|
7
|
+
* For an *AI-suggestion* chip with a dashed border, use `<AIChip>` instead.
|
|
8
|
+
*/
|
|
9
|
+
export type ChipTone = 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'ai';
|
|
10
|
+
export interface ChipProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
11
|
+
active?: boolean;
|
|
12
|
+
/** Numeric count shown after the label (tabular-nums). */
|
|
13
|
+
count?: number;
|
|
14
|
+
tone?: ChipTone;
|
|
15
|
+
children?: ReactNode;
|
|
16
|
+
testId?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare const Chip: import("react").ForwardRefExoticComponent<ChipProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
//# sourceMappingURL=Chip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAsB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElG;;;;;;GAMG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAAC;AAEpF,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,IAAI,yGA+Cf,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type FieldChromeProps, type TejaOption } from './fieldShell';
|
|
2
|
+
export interface ComboboxProps extends FieldChromeProps {
|
|
3
|
+
items: TejaOption[];
|
|
4
|
+
value: string | null;
|
|
5
|
+
/** Called with `null` when the value is cleared. */
|
|
6
|
+
onChange?: (value: string | null) => void;
|
|
7
|
+
/** Placeholder shown when no value is selected. Defaults to 'Search…'. */
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
/** When false, behaves like a non-filtering listbox. Defaults to true. */
|
|
10
|
+
searchable?: boolean;
|
|
11
|
+
/** Server-side search hook; called on every input change. */
|
|
12
|
+
onSearch?: (query: string) => void;
|
|
13
|
+
/** Shows a loading row instead of options. */
|
|
14
|
+
isLoading?: boolean;
|
|
15
|
+
/** Text for the loading row. Defaults to 'Loading…'. */
|
|
16
|
+
loadingText?: string;
|
|
17
|
+
/** Text for the empty state. Defaults to 'No results'. */
|
|
18
|
+
emptyText?: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Combobox — searchable single-select built on Headless UI v2 `Combobox`.
|
|
22
|
+
*
|
|
23
|
+
* Ported from `design/components/inputs.jsx`. Trigger is the theme 36px control
|
|
24
|
+
* box with a leading `search` icon, a text input, a clear `x` button when a
|
|
25
|
+
* value is selected, and a chevron. The panel uses `--surface-0` + `--shadow-pop`
|
|
26
|
+
* with the selected row marked by a `check` in `--primary`.
|
|
27
|
+
*/
|
|
28
|
+
export declare function Combobox({ items, value, onChange, placeholder, searchable, onSearch, isLoading, loadingText, emptyText, label, hint, error, required, full, disabled, testId, }: ComboboxProps): import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Combobox.tsx"],"names":[],"mappings":"AAUA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAChB,MAAM,cAAc,CAAC;AAGtB,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyBD;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,WAAuB,EACvB,UAAiB,EACjB,QAAQ,EACR,SAAiB,EACjB,WAAwB,EACxB,SAAwB,EACxB,KAAK,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,IAAW,EACX,QAAgB,EAChB,MAAM,GACP,EAAE,aAAa,2CA+Jf"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import { type ModalProps } from './Modal';
|
|
3
|
+
import { type DrawerProps } from './Drawer';
|
|
4
|
+
/**
|
|
5
|
+
* Back-compat size token used by the legacy @teja-app/ui Modal/Drawer API.
|
|
6
|
+
* Call-sites pass `size="sm"|"md"|"lg"`; the theme primitives instead take
|
|
7
|
+
* `variant`/`maxWidth` (Modal) or `width` (Drawer).
|
|
8
|
+
*/
|
|
9
|
+
export type CompatSize = 'sm' | 'md' | 'lg';
|
|
10
|
+
export interface CompatModalProps extends Partial<ModalProps> {
|
|
11
|
+
/** Legacy alias for `open`. */
|
|
12
|
+
isOpen?: boolean;
|
|
13
|
+
/** Legacy size token → maps to max-width (sm 420 / md 640 / lg 760). */
|
|
14
|
+
size?: CompatSize;
|
|
15
|
+
/** Accepted for legacy source-compat (no-op; close button always renders when a title is present). */
|
|
16
|
+
showCloseButton?: boolean;
|
|
17
|
+
/** Accepted for legacy source-compat (overlay click always closes). */
|
|
18
|
+
closeOnOverlay?: boolean;
|
|
19
|
+
onClose: () => void;
|
|
20
|
+
children?: ReactNode;
|
|
21
|
+
}
|
|
22
|
+
export declare function Modal({ isOpen, open, size, maxWidth, variant, showCloseButton, closeOnOverlay, ...rest }: CompatModalProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export interface CompatDrawerProps extends Partial<DrawerProps> {
|
|
24
|
+
/** Legacy alias for `open`. */
|
|
25
|
+
isOpen?: boolean;
|
|
26
|
+
/** Legacy size token → maps to width (sm 420 / md 520 / lg 760). */
|
|
27
|
+
size?: CompatSize;
|
|
28
|
+
/** Legacy convenience: title text rendered into an auto DrawerHeader. */
|
|
29
|
+
title?: ReactNode;
|
|
30
|
+
onClose: () => void;
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
}
|
|
33
|
+
export declare function Drawer({ isOpen, open, size, width, title, header, footer, onClose, testId, ...rest }: CompatDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
34
|
+
//# sourceMappingURL=Compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Compat.d.ts","sourceRoot":"","sources":["../../../src/theme/components/Compat.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAmB5C,MAAM,WAAW,gBAAiB,SAAQ,OAAO,CAAC,UAAU,CAAC;IAC3D,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,wEAAwE;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,sGAAsG;IACtG,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,uEAAuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,KAAK,CAAC,EACpB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EAEP,eAAe,EACf,cAAc,EACd,GAAG,IAAI,EACR,EAAE,gBAAgB,2CAmBlB;AAOD,MAAM,WAAW,iBAAkB,SAAQ,OAAO,CAAC,WAAW,CAAC;IAC7D,+BAA+B;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oEAAoE;IACpE,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,yEAAyE;IACzE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAaD,wBAAgB,MAAM,CAAC,EACrB,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,OAAO,EACP,MAAM,EACN,GAAG,IAAI,EACR,EAAE,iBAAiB,2CA2BnB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* ConfirmDialog — confirmation prompt built on the theme Modal.
|
|
4
|
+
*
|
|
5
|
+
* Prop names are IDENTICAL to the app's legacy ConfirmDialog
|
|
6
|
+
* (frontend/src/pages/Clients/components/ConfirmDialog.tsx) so call-sites can
|
|
7
|
+
* swap their import to `@teja-app/ui/theme` without code changes:
|
|
8
|
+
* `isOpen, onClose, onConfirm, title, message, confirmText?, cancelText?,
|
|
9
|
+
* variant: 'danger'|'warning'|'info', isLoading?, confirmTestId?, cancelTestId?`.
|
|
10
|
+
*/
|
|
11
|
+
export type ConfirmDialogVariant = 'danger' | 'warning' | 'info';
|
|
12
|
+
export interface ConfirmDialogProps {
|
|
13
|
+
/** Controls whether the dialog is open. */
|
|
14
|
+
isOpen: boolean;
|
|
15
|
+
/** Fired on cancel, overlay click, Escape, and close button. */
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
/** Fired when the confirm button is pressed. */
|
|
18
|
+
onConfirm: () => void;
|
|
19
|
+
/** Dialog title — a clear question (e.g. "Delete this note?"). */
|
|
20
|
+
title: string;
|
|
21
|
+
/** Body message explaining the consequences. */
|
|
22
|
+
message: ReactNode;
|
|
23
|
+
/** Confirm button label. Default "Confirm". */
|
|
24
|
+
confirmText?: string;
|
|
25
|
+
/** Cancel button label. Default "Cancel". */
|
|
26
|
+
cancelText?: string;
|
|
27
|
+
/** Affects confirm button styling. Default `danger`. */
|
|
28
|
+
variant?: ConfirmDialogVariant;
|
|
29
|
+
/** Disables both buttons and shows a loading confirm. */
|
|
30
|
+
isLoading?: boolean;
|
|
31
|
+
/** data-testid for the confirm button. */
|
|
32
|
+
confirmTestId?: string;
|
|
33
|
+
/** data-testid for the cancel button. */
|
|
34
|
+
cancelTestId?: string;
|
|
35
|
+
/** Forwarded as `data-testid` on the Modal root. */
|
|
36
|
+
testId?: string;
|
|
37
|
+
}
|
|
38
|
+
export declare function ConfirmDialog({ isOpen, onClose, onConfirm, title, message, confirmText, cancelText, variant, isLoading, confirmTestId, cancelTestId, testId, }: ConfirmDialogProps): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
//# sourceMappingURL=ConfirmDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/theme/components/ConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;;;GAQG;AACH,MAAM,MAAM,oBAAoB,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAQjE,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,gEAAgE;IAChE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gDAAgD;IAChD,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,EAAE,SAAS,CAAC;IACnB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yCAAyC;IACzC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,OAAO,EACP,SAAS,EACT,KAAK,EACL,OAAO,EACP,WAAuB,EACvB,UAAqB,EACrB,OAAkB,EAClB,SAAiB,EACjB,aAAa,EACb,YAAY,EACZ,MAAM,GACP,EAAE,kBAAkB,2CAkCpB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ComboboxProps } from './Combobox';
|
|
2
|
+
/**
|
|
3
|
+
* CountryPicker — searchable country select over the bundled ISO-3166 list.
|
|
4
|
+
* Pass `items` to override (e.g. a tenant-restricted list).
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* <CountryPicker label="Country" value={country} onChange={setCountry} />
|
|
8
|
+
*/
|
|
9
|
+
export interface CountryPickerProps extends Omit<ComboboxProps, 'items'> {
|
|
10
|
+
/** Override the bundled country list. */
|
|
11
|
+
items?: ComboboxProps['items'];
|
|
12
|
+
}
|
|
13
|
+
export declare function CountryPicker({ items, placeholder, ...rest }: CountryPickerProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=CountryPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CountryPicker.d.ts","sourceRoot":"","sources":["../../../src/theme/components/CountryPicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAG1D;;;;;;GAMG;AACH,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;IACtE,yCAAyC;IACzC,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,EAC5B,KAAqB,EACrB,WAA8B,EAC9B,GAAG,IAAI,EACR,EAAE,kBAAkB,2CAEpB"}
|