@rfdtech/components 1.21.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +244 -74
- package/dist/adapters/context-adapter.d.ts +18 -0
- package/dist/adapters/context-adapter.d.ts.map +1 -0
- package/dist/adapters/next-adapter.d.ts +23 -0
- package/dist/adapters/next-adapter.d.ts.map +1 -0
- package/dist/adapters/react-router-adapter.d.ts +9 -0
- package/dist/adapters/react-router-adapter.d.ts.map +1 -0
- package/dist/adapters/registry.d.ts +19 -0
- package/dist/adapters/registry.d.ts.map +1 -0
- package/dist/components/app-header/AppHeader.d.ts +3 -2
- package/dist/components/app-header/AppHeader.d.ts.map +1 -1
- package/dist/components/app-header/AppHeaderNotificationItem.d.ts +3 -0
- package/dist/components/app-header/AppHeaderNotificationItem.d.ts.map +1 -0
- package/dist/components/app-header/AppHeaderProfile.d.ts +5 -0
- package/dist/components/app-header/AppHeaderProfile.d.ts.map +1 -1
- package/dist/components/app-header/index.d.ts +4 -2
- package/dist/components/app-header/index.d.ts.map +1 -1
- package/dist/components/app-layout/AppLayout.d.ts +6 -0
- package/dist/components/app-layout/AppLayout.d.ts.map +1 -1
- package/dist/components/app-layout/AppLayoutInner.d.ts +1 -0
- package/dist/components/app-layout/AppLayoutInner.d.ts.map +1 -1
- package/dist/components/app-switcher/AppIconTile.d.ts +10 -0
- package/dist/components/app-switcher/AppIconTile.d.ts.map +1 -0
- package/dist/components/app-switcher/AppSwitcher.d.ts +1 -1
- package/dist/components/app-switcher/AppSwitcher.d.ts.map +1 -1
- package/dist/components/app-switcher/AppSwitcherItem.d.ts.map +1 -1
- package/dist/components/app-switcher/IconPatterns.d.ts +8 -0
- package/dist/components/app-switcher/IconPatterns.d.ts.map +1 -0
- package/dist/components/app-switcher/SystemAppIcon.d.ts.map +1 -1
- package/dist/components/app-switcher/index.d.ts +2 -0
- package/dist/components/app-switcher/index.d.ts.map +1 -1
- package/dist/components/avatar/Avatar.d.ts.map +1 -1
- package/dist/components/bulk-import-modal/BulkImportModal.d.ts.map +1 -1
- package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts.map +1 -1
- package/dist/components/button/Button.d.ts +1 -1
- package/dist/components/button/Button.d.ts.map +1 -1
- package/dist/components/button/Spinner.d.ts.map +1 -1
- package/dist/components/combobox/Combobox.d.ts +4 -0
- package/dist/components/combobox/Combobox.d.ts.map +1 -0
- package/dist/components/combobox/Combobox.test.d.ts +2 -0
- package/dist/components/combobox/Combobox.test.d.ts.map +1 -0
- package/dist/components/combobox/index.d.ts +3 -0
- package/dist/components/combobox/index.d.ts.map +1 -0
- package/dist/components/country-selector/CountrySelector.d.ts +7 -0
- package/dist/components/country-selector/CountrySelector.d.ts.map +1 -1
- package/dist/components/country-selector/index.d.ts +1 -0
- package/dist/components/country-selector/index.d.ts.map +1 -1
- package/dist/components/date-range-selector/DateRangeSelector.d.ts +2 -2
- package/dist/components/date-range-selector/DateRangeSelector.d.ts.map +1 -1
- package/dist/components/date-range-selector/index.d.ts +1 -1
- package/dist/components/date-range-selector/index.d.ts.map +1 -1
- package/dist/components/date-selector/DateSelector.d.ts.map +1 -1
- package/dist/components/dropdown/Dropdown.d.ts +1 -1
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
- package/dist/components/export-button/ExportButton.d.ts +3 -0
- package/dist/components/export-button/ExportButton.d.ts.map +1 -0
- package/dist/components/export-button/ExportButton.test.d.ts +2 -0
- package/dist/components/export-button/ExportButton.test.d.ts.map +1 -0
- package/dist/components/export-button/index.d.ts +3 -0
- package/dist/components/export-button/index.d.ts.map +1 -0
- package/dist/components/launchpad/Launchpad.d.ts +4 -0
- package/dist/components/launchpad/Launchpad.d.ts.map +1 -0
- package/dist/components/launchpad/Launchpad.test.d.ts +2 -0
- package/dist/components/launchpad/Launchpad.test.d.ts.map +1 -0
- package/dist/components/launchpad/LaunchpadGridIcon.d.ts +2 -0
- package/dist/components/launchpad/LaunchpadGridIcon.d.ts.map +1 -0
- package/dist/components/launchpad/LaunchpadIconTile.d.ts +10 -0
- package/dist/components/launchpad/LaunchpadIconTile.d.ts.map +1 -0
- package/dist/components/launchpad/LaunchpadItem.d.ts +8 -0
- package/dist/components/launchpad/LaunchpadItem.d.ts.map +1 -0
- package/dist/components/launchpad/LaunchpadOverlays.d.ts +3 -0
- package/dist/components/launchpad/LaunchpadOverlays.d.ts.map +1 -0
- package/dist/components/launchpad/SystemLaunchpadIcon.d.ts +5 -0
- package/dist/components/launchpad/SystemLaunchpadIcon.d.ts.map +1 -0
- package/dist/components/launchpad/hooks/useLaunchpad.d.ts +3 -0
- package/dist/components/launchpad/hooks/useLaunchpad.d.ts.map +1 -0
- package/dist/components/launchpad/index.d.ts +10 -0
- package/dist/components/launchpad/index.d.ts.map +1 -0
- package/dist/components/metric-card/MetricCard.d.ts.map +1 -1
- package/dist/components/metric-card/index.d.ts +1 -1
- package/dist/components/metric-card/index.d.ts.map +1 -1
- package/dist/components/network-operator/NetworkOperator.d.ts +4 -0
- package/dist/components/network-operator/NetworkOperator.d.ts.map +1 -1
- package/dist/components/network-operator/index.d.ts +1 -0
- package/dist/components/network-operator/index.d.ts.map +1 -1
- package/dist/components/notice/Notice.d.ts +4 -0
- package/dist/components/notice/Notice.d.ts.map +1 -0
- package/dist/components/notice/Notice.test.d.ts +2 -0
- package/dist/components/notice/Notice.test.d.ts.map +1 -0
- package/dist/components/notice/index.d.ts +3 -0
- package/dist/components/notice/index.d.ts.map +1 -0
- package/dist/components/phone-number-input/PhoneNumberInput.d.ts.map +1 -1
- package/dist/components/popup/Popup.d.ts +15 -0
- package/dist/components/popup/Popup.d.ts.map +1 -0
- package/dist/components/popup/Popup.test.d.ts +2 -0
- package/dist/components/popup/Popup.test.d.ts.map +1 -0
- package/dist/components/popup/index.d.ts +3 -0
- package/dist/components/popup/index.d.ts.map +1 -0
- package/dist/components/profile-popover/ProfilePopover.d.ts +4 -0
- package/dist/components/profile-popover/ProfilePopover.d.ts.map +1 -0
- package/dist/components/profile-popover/ProfilePopover.test.d.ts +2 -0
- package/dist/components/profile-popover/ProfilePopover.test.d.ts.map +1 -0
- package/dist/components/profile-popover/index.d.ts +3 -0
- package/dist/components/profile-popover/index.d.ts.map +1 -0
- package/dist/components/role-select/RoleSelect.d.ts +4 -0
- package/dist/components/role-select/RoleSelect.d.ts.map +1 -0
- package/dist/components/role-select/RoleSelect.test.d.ts +2 -0
- package/dist/components/role-select/RoleSelect.test.d.ts.map +1 -0
- package/dist/components/role-select/index.d.ts +3 -0
- package/dist/components/role-select/index.d.ts.map +1 -0
- package/dist/components/section-header/SectionHeader.d.ts +7 -0
- package/dist/components/section-header/SectionHeader.d.ts.map +1 -0
- package/dist/components/section-header/SectionHeader.test.d.ts +2 -0
- package/dist/components/section-header/SectionHeader.test.d.ts.map +1 -0
- package/dist/components/section-header/index.d.ts +3 -0
- package/dist/components/section-header/index.d.ts.map +1 -0
- package/dist/components/sidebar/Sidebar.d.ts +3 -3
- package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/components/sidebar/SidebarContext.d.ts +6 -0
- package/dist/components/sidebar/SidebarContext.d.ts.map +1 -1
- package/dist/components/sidebar/index.d.ts +1 -1
- package/dist/components/sidebar/index.d.ts.map +1 -1
- package/dist/components/stepper/Stepper.d.ts +12 -0
- package/dist/components/stepper/Stepper.d.ts.map +1 -0
- package/dist/components/stepper/Stepper.test.d.ts +2 -0
- package/dist/components/stepper/Stepper.test.d.ts.map +1 -0
- package/dist/components/stepper/StepperContext.d.ts +4 -0
- package/dist/components/stepper/StepperContext.d.ts.map +1 -0
- package/dist/components/stepper/index.d.ts +3 -0
- package/dist/components/stepper/index.d.ts.map +1 -0
- package/dist/components/switch/Switch.d.ts +4 -0
- package/dist/components/switch/Switch.d.ts.map +1 -0
- package/dist/components/switch/Switch.test.d.ts +2 -0
- package/dist/components/switch/Switch.test.d.ts.map +1 -0
- package/dist/components/switch/index.d.ts +3 -0
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/table/Table.d.ts +3 -6
- package/dist/components/table/Table.d.ts.map +1 -1
- package/dist/components/table/TableHeader.d.ts +3 -10
- package/dist/components/table/TableHeader.d.ts.map +1 -1
- package/dist/components/table/TablePagination.d.ts.map +1 -1
- package/dist/components/table/index.d.ts +1 -1
- package/dist/components/table/index.d.ts.map +1 -1
- package/dist/components/tabs/Tabs.d.ts.map +1 -1
- package/dist/components/tabs/hooks/useTabsLineIndicator.d.ts.map +1 -1
- package/dist/components/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/components/theme/cletTheme.d.ts +11 -0
- package/dist/components/theme/cletTheme.d.ts.map +1 -0
- package/dist/components/theme/cletTheme.test-d.d.ts +2 -0
- package/dist/components/theme/cletTheme.test-d.d.ts.map +1 -0
- package/dist/components/theme/cletTheme.test.d.ts +2 -0
- package/dist/components/theme/cletTheme.test.d.ts.map +1 -0
- package/dist/components/theme/index.d.ts +3 -1
- package/dist/components/theme/index.d.ts.map +1 -1
- package/dist/components/timeline/Timeline.d.ts +8 -0
- package/dist/components/timeline/Timeline.d.ts.map +1 -0
- package/dist/components/timeline/Timeline.test.d.ts +2 -0
- package/dist/components/timeline/Timeline.test.d.ts.map +1 -0
- package/dist/components/timeline/index.d.ts +3 -0
- package/dist/components/timeline/index.d.ts.map +1 -0
- package/dist/components/upload-field/UploadField.d.ts +5 -0
- package/dist/components/upload-field/UploadField.d.ts.map +1 -1
- package/dist/components/upload-field/index.d.ts +2 -2
- package/dist/components/upload-field/index.d.ts.map +1 -1
- package/dist/contexts/router-adapter-context.d.ts +27 -0
- package/dist/contexts/router-adapter-context.d.ts.map +1 -0
- package/dist/generated/components.theme.d.ts +313 -0
- package/dist/generated/components.theme.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/useHasMounted.d.ts +10 -0
- package/dist/hooks/useHasMounted.d.ts.map +1 -0
- package/dist/hooks/useTableFilter.d.ts.map +1 -1
- package/dist/hooks/useTablePagination.d.ts.map +1 -1
- package/dist/hooks/useTableState.d.ts +1 -1
- package/dist/hooks/useTableState.d.ts.map +1 -1
- package/dist/index.cjs +85 -55
- package/dist/index.css +1 -1
- package/dist/index.d.ts +15 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19423 -31378
- package/dist/mcp/cli.js +75 -0
- package/dist/mcp/docs.js +122 -0
- package/dist/mcp/generated/components.json +3593 -0
- package/dist/mcp/generated/examples.json +1233 -0
- package/dist/mcp/generated/index.meta.json +252 -0
- package/dist/mcp/generated/rules.json +629 -0
- package/dist/mcp/generated/search.json +1618 -0
- package/dist/mcp/generated/tokens.json +1022 -0
- package/dist/mcp/index.js +337 -0
- package/dist/mcp/indexer.js +370 -0
- package/dist/mcp/installers/claude.js +37 -0
- package/dist/mcp/installers/codex.js +24 -0
- package/dist/mcp/installers/cursor.js +33 -0
- package/dist/mcp/installers/doctor.js +36 -0
- package/dist/mcp/installers/opencode.js +36 -0
- package/dist/mcp/installers/setup.js +34 -0
- package/dist/mcp/installers/util.js +41 -0
- package/dist/mcp/paths.js +63 -0
- package/dist/mcp/skill/SKILL.md +36 -0
- package/dist/mcp/skill/image-to-components.md +49 -0
- package/dist/next-index.d.ts +44 -0
- package/dist/next-index.d.ts.map +1 -0
- package/dist/next.cjs +282 -0
- package/dist/next.css +1 -0
- package/dist/next.d.ts +29 -0
- package/dist/next.js +37774 -0
- package/dist/types/app-header.d.ts +70 -10
- package/dist/types/app-header.d.ts.map +1 -1
- package/dist/types/app-switcher.d.ts +10 -1
- package/dist/types/app-switcher.d.ts.map +1 -1
- package/dist/types/avatar.d.ts +9 -0
- package/dist/types/avatar.d.ts.map +1 -1
- package/dist/types/combobox.d.ts +43 -0
- package/dist/types/combobox.d.ts.map +1 -0
- package/dist/types/country-selector.d.ts +4 -0
- package/dist/types/country-selector.d.ts.map +1 -1
- package/dist/types/date-range-selector.d.ts +11 -0
- package/dist/types/date-range-selector.d.ts.map +1 -1
- package/dist/types/dropdown.d.ts +8 -0
- package/dist/types/dropdown.d.ts.map +1 -1
- package/dist/types/export-button.d.ts +24 -0
- package/dist/types/export-button.d.ts.map +1 -0
- package/dist/types/launchpad.d.ts +79 -0
- package/dist/types/launchpad.d.ts.map +1 -0
- package/dist/types/metric-card.d.ts +7 -0
- package/dist/types/metric-card.d.ts.map +1 -1
- package/dist/types/network-operator.d.ts +8 -0
- package/dist/types/network-operator.d.ts.map +1 -1
- package/dist/types/notice.d.ts +24 -0
- package/dist/types/notice.d.ts.map +1 -0
- package/dist/types/popup.d.ts +43 -0
- package/dist/types/popup.d.ts.map +1 -0
- package/dist/types/profile-popover.d.ts +97 -0
- package/dist/types/profile-popover.d.ts.map +1 -0
- package/dist/types/role-select.d.ts +28 -0
- package/dist/types/role-select.d.ts.map +1 -0
- package/dist/types/router-adapter.d.ts +46 -0
- package/dist/types/router-adapter.d.ts.map +1 -0
- package/dist/types/section-header.d.ts +26 -0
- package/dist/types/section-header.d.ts.map +1 -0
- package/dist/types/sidebar.d.ts +16 -0
- package/dist/types/sidebar.d.ts.map +1 -1
- package/dist/types/stepper.d.ts +45 -0
- package/dist/types/stepper.d.ts.map +1 -0
- package/dist/types/switch.d.ts +24 -0
- package/dist/types/switch.d.ts.map +1 -0
- package/dist/types/table.d.ts +90 -1
- package/dist/types/table.d.ts.map +1 -1
- package/dist/types/tabs.d.ts +1 -1
- package/dist/types/tabs.d.ts.map +1 -1
- package/dist/types/theme.d.ts +28 -8
- package/dist/types/theme.d.ts.map +1 -1
- package/dist/types/timeline.d.ts +52 -0
- package/dist/types/timeline.d.ts.map +1 -0
- package/dist/types/upload-field.d.ts +23 -0
- package/dist/types/upload-field.d.ts.map +1 -1
- package/dist/utils/export.d.ts +15 -0
- package/dist/utils/export.d.ts.map +1 -0
- package/dist/utils/stringToColor.d.ts +25 -0
- package/dist/utils/stringToColor.d.ts.map +1 -1
- package/package.json +43 -7
- package/scripts/postinstall.mjs +40 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import type { ReactElement, ReactNode } from "react";
|
|
2
|
+
import type { RoleSelect } from "../components/role-select/RoleSelect";
|
|
3
|
+
import type { RoleSelectProps } from "./role-select";
|
|
4
|
+
export interface ProfilePopoverItem {
|
|
5
|
+
/** Leading icon, e.g. a lucide-react icon element */
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
/** Row label */
|
|
8
|
+
label: ReactNode;
|
|
9
|
+
/** Called when the row is clicked */
|
|
10
|
+
onClick?: () => void;
|
|
11
|
+
/** Renders the row in the destructive/danger color */
|
|
12
|
+
danger?: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** User shape for the `user`/`variant` header-style trigger — see `ProfilePopoverProps.user`. */
|
|
15
|
+
export interface AppUser {
|
|
16
|
+
name: string;
|
|
17
|
+
role: string;
|
|
18
|
+
email?: string;
|
|
19
|
+
avatar?: string;
|
|
20
|
+
initials: string;
|
|
21
|
+
}
|
|
22
|
+
export interface ProfilePopoverProps {
|
|
23
|
+
/**
|
|
24
|
+
* User's full name, shown next to the avatar and in the popover header.
|
|
25
|
+
* Omit when passing `user` instead — it's derived from `user.name`.
|
|
26
|
+
*/
|
|
27
|
+
fullName?: string;
|
|
28
|
+
/**
|
|
29
|
+
* User's email, shown under the full name in the popover header. Omit
|
|
30
|
+
* when passing `user` instead — it's derived from `user.email`.
|
|
31
|
+
*/
|
|
32
|
+
email?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Profile photo URL; falls back to initials when omitted or failing to
|
|
35
|
+
* load. Omit when passing `user` instead — it's derived from `user.avatar`.
|
|
36
|
+
*/
|
|
37
|
+
profilePhoto?: string;
|
|
38
|
+
/**
|
|
39
|
+
* User object (name, role, initials, optional email/avatar) — an
|
|
40
|
+
* alternative to `fullName`/`email`/`profilePhoto` that also builds the
|
|
41
|
+
* compact avatar + name/role + chevron trigger used in `AppHeader`
|
|
42
|
+
* (governed by `variant`), instead of the default avatar + name/email
|
|
43
|
+
* button row.
|
|
44
|
+
*/
|
|
45
|
+
user?: AppUser;
|
|
46
|
+
/**
|
|
47
|
+
* Trigger layout when `user` is passed. `"full"` shows avatar + name/role
|
|
48
|
+
* + chevron. `"avatar"` shows only the avatar (no name/role/chevron) —
|
|
49
|
+
* useful for compact headers. Both open the same popover.
|
|
50
|
+
*/
|
|
51
|
+
variant?: "full" | "avatar";
|
|
52
|
+
/** Custom trigger element — overrides the built-in trigger entirely (`user` or `fullName` based). */
|
|
53
|
+
trigger?: ReactNode;
|
|
54
|
+
/** Merged onto the built-in trigger element (ignored when `trigger` is passed). */
|
|
55
|
+
triggerClassName?: string;
|
|
56
|
+
/**
|
|
57
|
+
* Menu rows rendered below the header. Defaults to "My Profile",
|
|
58
|
+
* "Account Settings", and "Help and Support" (wired to `onMyProfile`,
|
|
59
|
+
* `onAccountSettings`, `onHelpAndSupport`) — pass `items` to replace them
|
|
60
|
+
* entirely.
|
|
61
|
+
*/
|
|
62
|
+
items?: ProfilePopoverItem[];
|
|
63
|
+
/** Called when the default "My Profile" row is clicked (ignored when `items` is passed) */
|
|
64
|
+
onMyProfile?: () => void;
|
|
65
|
+
/** Called when the default "Account Settings" row is clicked (ignored when `items` is passed) */
|
|
66
|
+
onAccountSettings?: () => void;
|
|
67
|
+
/** Called when the default "Help and Support" row is clicked (ignored when `items` is passed) */
|
|
68
|
+
onHelpAndSupport?: () => void;
|
|
69
|
+
/** Called when "Sign Out" is confirmed (or clicked immediately, if `noConfirmSignOut` is set) */
|
|
70
|
+
onSignOut?: () => void;
|
|
71
|
+
/** Skip the "Confirm Sign Out" dialog and call onSignOut immediately */
|
|
72
|
+
noConfirmSignOut?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Show shimmering skeleton placeholders instead of the header
|
|
75
|
+
* (avatar/name/email) and menu rows. The default trigger (when no
|
|
76
|
+
* custom `trigger` is passed) shimmers too. "Sign Out" stays interactive.
|
|
77
|
+
*/
|
|
78
|
+
loading?: boolean;
|
|
79
|
+
/** Accessible label announced while loading (default: "Loading profile") */
|
|
80
|
+
loadingLabel?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Extra composable content rendered directly below `items` — only a
|
|
83
|
+
* `RoleSelect` element is accepted. No divider renders between `items`
|
|
84
|
+
* and `children`; they sit in the same content block. A divider only
|
|
85
|
+
* separates the header from this block, and this block from "Sign Out".
|
|
86
|
+
*/
|
|
87
|
+
children?: ReactElement<RoleSelectProps, typeof RoleSelect>;
|
|
88
|
+
/** Popover placement side (default: "top") */
|
|
89
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
90
|
+
/** Popover placement alignment (default: "start") */
|
|
91
|
+
align?: "start" | "center" | "end";
|
|
92
|
+
/** Popover offset from the trigger (default: 8) */
|
|
93
|
+
sideOffset?: number;
|
|
94
|
+
/** Merged onto the popover content element */
|
|
95
|
+
className?: string;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=profile-popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profile-popover.d.ts","sourceRoot":"","sources":["../../src/types/profile-popover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,gBAAgB;IAChB,KAAK,EAAE,SAAS,CAAC;IACjB,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,iGAAiG;AACjG,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,qGAAqG;IACrG,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC7B,2FAA2F;IAC3F,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iGAAiG;IACjG,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,iGAAiG;IACjG,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,iGAAiG;IACjG,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,YAAY,CAAC,eAAe,EAAE,OAAO,UAAU,CAAC,CAAC;IAC5D,8CAA8C;IAC9C,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IACnC,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
+
export interface Role {
|
|
3
|
+
/** Unique identifier for the role */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Display name shown in the list */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Optional icon rendered before the name, in the list item and (when selected) the trigger */
|
|
8
|
+
icon?: ReactNode;
|
|
9
|
+
/** Whether the role is disabled */
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface RoleSelectProps {
|
|
13
|
+
/** Label shown on the dropdown trigger (default: "View as") */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Roles to display in the list */
|
|
16
|
+
roles: Role[];
|
|
17
|
+
/** Currently selected role id, shown with a filled radio dot */
|
|
18
|
+
selectedRole?: string;
|
|
19
|
+
/** Called when a role is selected (after confirmation, unless noConfirm is set) */
|
|
20
|
+
onClickRole: (role: Role) => void;
|
|
21
|
+
/** Skip the "Confirm Role Switch" dialog and call onClickRole immediately */
|
|
22
|
+
noConfirm?: boolean;
|
|
23
|
+
/** Additional CSS class for the root container */
|
|
24
|
+
className?: string;
|
|
25
|
+
/** Inline styles for the root container */
|
|
26
|
+
style?: CSSProperties;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=role-select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"role-select.d.ts","sourceRoot":"","sources":["../../src/types/role-select.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,MAAM,WAAW,IAAI;IACnB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,qCAAqC;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,gEAAgE;IAChE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mFAAmF;IACnF,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAClC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* URL search params adapater returned by `useRouterAdapter()`.
|
|
4
|
+
* Hooks and components use this instead of calling `useSearchParams` directly.
|
|
5
|
+
*
|
|
6
|
+
* The default implementation wraps react-router-dom.
|
|
7
|
+
* For Next.js, consumers provide a Next.js adapter via `RouterAdapterProvider`.
|
|
8
|
+
*/
|
|
9
|
+
export interface RouterSearchParams {
|
|
10
|
+
/** Current URL search params. Reactive — changes trigger re-renders. */
|
|
11
|
+
searchParams: URLSearchParams;
|
|
12
|
+
/**
|
|
13
|
+
* Update URL search params. Accepts either a fully-constructed
|
|
14
|
+
* `URLSearchParams` or a function that receives the current params.
|
|
15
|
+
*/
|
|
16
|
+
setSearchParams: (next: URLSearchParams | ((prev: URLSearchParams) => URLSearchParams), options?: {
|
|
17
|
+
replace?: boolean;
|
|
18
|
+
}) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Subscribe to external param changes (e.g. browser back/forward).
|
|
21
|
+
* Only needed by hooks using `useSyncExternalStore`.
|
|
22
|
+
*/
|
|
23
|
+
subscribe?: (onStoreChange: () => void) => () => void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Props accepted by the Link component in the router adapter.
|
|
27
|
+
*/
|
|
28
|
+
export interface RouterLinkProps {
|
|
29
|
+
to: string;
|
|
30
|
+
className?: string;
|
|
31
|
+
children?: ReactNode;
|
|
32
|
+
onClick?: (event: React.MouseEvent<HTMLAnchorElement>) => void;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
}
|
|
35
|
+
export type RouterLinkComponent = ComponentType<RouterLinkProps>;
|
|
36
|
+
/**
|
|
37
|
+
* Everything a consuming hook/component needs from the host router:
|
|
38
|
+
* search params + link rendering.
|
|
39
|
+
*/
|
|
40
|
+
export interface RouterAdapterValue {
|
|
41
|
+
searchParams: URLSearchParams;
|
|
42
|
+
setSearchParams: RouterSearchParams["setSearchParams"];
|
|
43
|
+
subscribe?: RouterSearchParams["subscribe"];
|
|
44
|
+
Link: RouterLinkComponent;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=router-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router-adapter.d.ts","sourceRoot":"","sources":["../../src/types/router-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IAClC,wEAAwE;IACxE,YAAY,EAAE,eAAe,CAAC;IAC9B;;;OAGG;IACH,eAAe,EAAE,CAChB,IAAI,EAAE,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,eAAe,KAAK,eAAe,CAAC,EACpE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,IAAI,CAAC;IACV;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;CACtD;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;IAC/D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;AAEjE;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,YAAY,EAAE,eAAe,CAAC;IAC9B,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACvD,SAAS,CAAC,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,EAAE,mBAAmB,CAAC;CAC1B"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { HTMLAttributes } from "react";
|
|
2
|
+
export interface SectionHeaderClassNames {
|
|
3
|
+
root?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface SectionHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
6
|
+
classNames?: SectionHeaderClassNames;
|
|
7
|
+
}
|
|
8
|
+
export interface SectionTitleClassNames {
|
|
9
|
+
title?: string;
|
|
10
|
+
}
|
|
11
|
+
export interface SectionTitleProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
12
|
+
classNames?: SectionTitleClassNames;
|
|
13
|
+
}
|
|
14
|
+
export interface SectionDescriptionClassNames {
|
|
15
|
+
description?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface SectionDescriptionProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
18
|
+
classNames?: SectionDescriptionClassNames;
|
|
19
|
+
}
|
|
20
|
+
export interface SectionActionsClassNames {
|
|
21
|
+
actions?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface SectionActionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
24
|
+
classNames?: SectionActionsClassNames;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=section-header.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"section-header.d.ts","sourceRoot":"","sources":["../../src/types/section-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,UAAU,CAAC,EAAE,uBAAuB,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IAC3E,UAAU,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED,MAAM,WAAW,4BAA4B;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,uBACf,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IAC5C,UAAU,CAAC,EAAE,4BAA4B,CAAC;CAC3C;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACzE,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC"}
|
package/dist/types/sidebar.d.ts
CHANGED
|
@@ -28,6 +28,8 @@ export interface SidebarNavClassNames {
|
|
|
28
28
|
}
|
|
29
29
|
export interface SidebarGroupClassNames {
|
|
30
30
|
group?: string;
|
|
31
|
+
groupToggle?: string;
|
|
32
|
+
groupContent?: string;
|
|
31
33
|
}
|
|
32
34
|
export interface SidebarGroupLabelClassNames {
|
|
33
35
|
groupLabel?: string;
|
|
@@ -56,6 +58,11 @@ export interface SidebarProviderProps {
|
|
|
56
58
|
export interface SidebarProps {
|
|
57
59
|
classNames?: SidebarClassNames;
|
|
58
60
|
className?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Visual style. "default" keeps the panel surface.
|
|
63
|
+
* "plain" makes the background transparent and adds a right border.
|
|
64
|
+
*/
|
|
65
|
+
variant?: "default" | "plain";
|
|
59
66
|
children: ReactNode;
|
|
60
67
|
}
|
|
61
68
|
export interface SidebarOverlayProps {
|
|
@@ -91,6 +98,7 @@ export interface SidebarContentProps {
|
|
|
91
98
|
export interface SidebarFooterProps {
|
|
92
99
|
classNames?: SidebarFooterClassNames;
|
|
93
100
|
className?: string;
|
|
101
|
+
/** Typically a `ProfilePopover` with the trigger row and menu content */
|
|
94
102
|
children: ReactNode;
|
|
95
103
|
}
|
|
96
104
|
export interface SidebarNavProps extends HTMLAttributes<HTMLElement> {
|
|
@@ -99,6 +107,10 @@ export interface SidebarNavProps extends HTMLAttributes<HTMLElement> {
|
|
|
99
107
|
children: ReactNode;
|
|
100
108
|
}
|
|
101
109
|
export interface SidebarGroupProps {
|
|
110
|
+
collapsible?: boolean;
|
|
111
|
+
defaultExpanded?: boolean;
|
|
112
|
+
expanded?: boolean;
|
|
113
|
+
onExpandedChange?: (expanded: boolean) => void;
|
|
102
114
|
classNames?: SidebarGroupClassNames;
|
|
103
115
|
className?: string;
|
|
104
116
|
children: ReactNode;
|
|
@@ -124,6 +136,10 @@ export interface SidebarLinkProps extends ButtonHTMLAttributes<HTMLButtonElement
|
|
|
124
136
|
icon?: ReactNode;
|
|
125
137
|
/** If provided, renders as a react-router `<Link>` with this path */
|
|
126
138
|
to?: string;
|
|
139
|
+
/** Render a shimmering skeleton placeholder instead of the icon/label, e.g. while nav items are still loading */
|
|
140
|
+
loading?: boolean;
|
|
141
|
+
/** Accessible label announced while loading (default: "Loading") */
|
|
142
|
+
loadingLabel?: string;
|
|
127
143
|
classNames?: SidebarLinkClassNames;
|
|
128
144
|
className?: string;
|
|
129
145
|
children: ReactNode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/types/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,yBAAyB;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/types/sidebar.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { HTMLAttributes, LiHTMLAttributes, OlHTMLAttributes, ReactNode } from "react";
|
|
2
|
+
export type StepState = "complete" | "active" | "upcoming";
|
|
3
|
+
export interface StepperClassNames {
|
|
4
|
+
root?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface StepperProps extends Omit<OlHTMLAttributes<HTMLOListElement>, "className"> {
|
|
7
|
+
value: number;
|
|
8
|
+
clickable?: boolean;
|
|
9
|
+
onValueChange?: (value: number) => void;
|
|
10
|
+
classNames?: StepperClassNames;
|
|
11
|
+
className?: string;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
export interface StepClassNames {
|
|
15
|
+
root?: string;
|
|
16
|
+
button?: string;
|
|
17
|
+
marker?: string;
|
|
18
|
+
number?: string;
|
|
19
|
+
check?: string;
|
|
20
|
+
connector?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface StepInternalProps {
|
|
23
|
+
__isLast?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface StepProps extends Omit<LiHTMLAttributes<HTMLLIElement>, "className">, StepInternalProps {
|
|
26
|
+
value: number;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
classNames?: StepClassNames;
|
|
29
|
+
className?: string;
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
}
|
|
32
|
+
export interface StepLabelClassNames {
|
|
33
|
+
root?: string;
|
|
34
|
+
}
|
|
35
|
+
export interface StepLabelProps extends Omit<HTMLAttributes<HTMLSpanElement>, "className"> {
|
|
36
|
+
classNames?: StepLabelClassNames;
|
|
37
|
+
className?: string;
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
export interface StepperContextValue {
|
|
41
|
+
value: number;
|
|
42
|
+
clickable: boolean;
|
|
43
|
+
onValueChange?: (value: number) => void;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=stepper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stepper.d.ts","sourceRoot":"","sources":["../../src/types/stepper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,YAAa,SAAQ,IAAI,CACxC,gBAAgB,CAAC,gBAAgB,CAAC,EAClC,WAAW,CACZ;IACC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EACxD,iBAAiB;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,WAAW,CAAC;IAC1D,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
export interface SwitchClassNames {
|
|
3
|
+
root?: string;
|
|
4
|
+
track?: string;
|
|
5
|
+
thumb?: string;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface SwitchProps {
|
|
9
|
+
checked?: boolean;
|
|
10
|
+
defaultChecked?: boolean;
|
|
11
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
12
|
+
label?: ReactNode;
|
|
13
|
+
labelPosition?: "left" | "right";
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
invalid?: boolean;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
name?: string;
|
|
18
|
+
value?: string;
|
|
19
|
+
id?: string;
|
|
20
|
+
"aria-label"?: string;
|
|
21
|
+
classNames?: SwitchClassNames;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=switch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"switch.d.ts","sourceRoot":"","sources":["../../src/types/switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/types/table.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { HTMLAttributes, InputHTMLAttributes, ReactNode } from "react";
|
|
1
|
+
import type { HTMLAttributes, InputHTMLAttributes, MouseEvent, ReactNode } from "react";
|
|
2
2
|
export interface TableColumn<T> {
|
|
3
3
|
id: string;
|
|
4
4
|
header: string;
|
|
@@ -73,14 +73,53 @@ export interface TableProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
73
73
|
paramPrefix: string;
|
|
74
74
|
height?: number;
|
|
75
75
|
}
|
|
76
|
+
export interface TableHeaderClassNames {
|
|
77
|
+
root?: string;
|
|
78
|
+
}
|
|
76
79
|
export interface TableHeaderProps extends HTMLAttributes<HTMLDivElement> {
|
|
80
|
+
classNames?: TableHeaderClassNames;
|
|
81
|
+
className?: string;
|
|
82
|
+
}
|
|
83
|
+
export interface TableActionsClassNames {
|
|
84
|
+
root?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface TableActionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
87
|
+
classNames?: TableActionsClassNames;
|
|
77
88
|
className?: string;
|
|
78
89
|
}
|
|
90
|
+
export interface TableContentClassNames {
|
|
91
|
+
root?: string;
|
|
92
|
+
empty?: string;
|
|
93
|
+
emptyIcon?: string;
|
|
94
|
+
emptyText?: string;
|
|
95
|
+
th?: string;
|
|
96
|
+
thLabel?: string;
|
|
97
|
+
sortIcon?: string;
|
|
98
|
+
checkboxCell?: string;
|
|
99
|
+
actionsCell?: string;
|
|
100
|
+
actionsTrigger?: string;
|
|
101
|
+
actionsMenu?: string;
|
|
102
|
+
actionsItem?: string;
|
|
103
|
+
actionsSectionLabel?: string;
|
|
104
|
+
skeleton?: string;
|
|
105
|
+
viewport?: string;
|
|
106
|
+
}
|
|
79
107
|
export interface TableContentProps<T = unknown> extends HTMLAttributes<HTMLDivElement> {
|
|
80
108
|
className?: string;
|
|
109
|
+
classNames?: TableContentClassNames;
|
|
110
|
+
/**
|
|
111
|
+
* Visual style of the table content wrapper.
|
|
112
|
+
* `"panel"` gives a faint recessed surface, subtle row dividers, and a
|
|
113
|
+
* border all around — suited for embedding inside tabs or cards.
|
|
114
|
+
*/
|
|
115
|
+
variant?: "default" | "panel";
|
|
81
116
|
columns?: TableColumn<T>[];
|
|
82
117
|
data?: T[];
|
|
83
118
|
rowKey?: (row: T) => string | number;
|
|
119
|
+
/** Icon (JSX/ReactNode) shown above the empty text when data is empty */
|
|
120
|
+
emptyIcon?: ReactNode;
|
|
121
|
+
/** Message shown when data is empty (defaults to "No results") */
|
|
122
|
+
emptyText?: string;
|
|
84
123
|
/** Show skeleton loading rows instead of data (default false) */
|
|
85
124
|
loading?: boolean;
|
|
86
125
|
/** Number of skeleton rows to show while loading (default 5) */
|
|
@@ -93,32 +132,82 @@ export interface TableContentProps<T = unknown> extends HTMLAttributes<HTMLDivEl
|
|
|
93
132
|
onSelectionChange?: (selectedIds: Set<string | number>) => void;
|
|
94
133
|
/** Row-level actions rendered as a kebab dropdown at the end of each row */
|
|
95
134
|
rowActions?: TableRowAction<T>[];
|
|
135
|
+
/**
|
|
136
|
+
* Bulk actions surfaced inside the row-actions menu (kebab click or
|
|
137
|
+
* right-click) as a "Bulk actions" section below the row's own actions —
|
|
138
|
+
* always includes a "Select all" / "Deselect all" toggle, with the rest of
|
|
139
|
+
* the list appearing once one or more rows are selected.
|
|
140
|
+
*/
|
|
141
|
+
bulkActions?: TableBulkAction[];
|
|
142
|
+
/**
|
|
143
|
+
* When true, also renders the `TableBulkActions` bar at the bottom of the
|
|
144
|
+
* table automatically, wired to the same `bulkActions`/`selectedIds` — no
|
|
145
|
+
* need to place `<TableBulkActions>` yourself as a sibling. When false
|
|
146
|
+
* (default), `bulkActions` only surface inside the row-actions menu.
|
|
147
|
+
*/
|
|
148
|
+
bulkActionsFooter?: boolean;
|
|
149
|
+
/** Called when a row is clicked (in addition to selection toggling, when `selectable` is set) */
|
|
150
|
+
onRowClick?: (row: T, event: MouseEvent<HTMLTableRowElement>) => void;
|
|
96
151
|
/** Row height in px. Set this to enable virtual scrolling. Parent <Table> must have a height set. */
|
|
97
152
|
virtualRowHeight?: number;
|
|
98
153
|
}
|
|
154
|
+
export interface TableFooterClassNames {
|
|
155
|
+
root?: string;
|
|
156
|
+
}
|
|
99
157
|
export interface TableFooterProps extends HTMLAttributes<HTMLDivElement> {
|
|
158
|
+
classNames?: TableFooterClassNames;
|
|
100
159
|
className?: string;
|
|
101
160
|
}
|
|
161
|
+
export interface TableSearchClassNames {
|
|
162
|
+
root?: string;
|
|
163
|
+
icon?: string;
|
|
164
|
+
input?: string;
|
|
165
|
+
clear?: string;
|
|
166
|
+
}
|
|
102
167
|
export interface TableSearchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "children"> {
|
|
103
168
|
placeholder?: string;
|
|
104
169
|
debounceMs?: number;
|
|
105
170
|
onSearch?: (value: string) => void;
|
|
171
|
+
classNames?: TableSearchClassNames;
|
|
106
172
|
className?: string;
|
|
107
173
|
}
|
|
174
|
+
export interface TableFilterClassNames {
|
|
175
|
+
root?: string;
|
|
176
|
+
trigger?: string;
|
|
177
|
+
badge?: string;
|
|
178
|
+
content?: string;
|
|
179
|
+
header?: string;
|
|
180
|
+
resetButton?: string;
|
|
181
|
+
fields?: string;
|
|
182
|
+
actions?: string;
|
|
183
|
+
applyButton?: string;
|
|
184
|
+
}
|
|
185
|
+
export type TableFilterVariant = "popover" | "spread";
|
|
108
186
|
export interface TableFilterProps {
|
|
109
187
|
children?: ReactNode;
|
|
110
188
|
onApply?: () => void;
|
|
111
189
|
onReset?: () => void;
|
|
112
190
|
applyLabel?: string;
|
|
113
191
|
resetLabel?: string;
|
|
192
|
+
/** "popover" (default) opens the fields in a popover panel. "spread" removes the popover and lays the fields out inline as a flex row. */
|
|
193
|
+
variant?: TableFilterVariant;
|
|
194
|
+
classNames?: TableFilterClassNames;
|
|
114
195
|
className?: string;
|
|
115
196
|
}
|
|
197
|
+
export interface TablePaginationClassNames {
|
|
198
|
+
root?: string;
|
|
199
|
+
results?: string;
|
|
200
|
+
pageSize?: string;
|
|
201
|
+
pages?: string;
|
|
202
|
+
ellipsis?: string;
|
|
203
|
+
}
|
|
116
204
|
export interface PaginationControlsProps {
|
|
117
205
|
totalPages: number;
|
|
118
206
|
totalItems?: number;
|
|
119
207
|
pageSizeOptions?: number[];
|
|
120
208
|
defaultPageSize?: number;
|
|
121
209
|
visiblePages?: number;
|
|
210
|
+
classNames?: TablePaginationClassNames;
|
|
122
211
|
className?: string;
|
|
123
212
|
}
|
|
124
213
|
//# sourceMappingURL=table.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/types/table.ts"],"names":[],"mappings":"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"}
|
package/dist/types/tabs.d.ts
CHANGED
package/dist/types/tabs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/types/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/types/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,aAAa,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEtD,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,WAAW,CAAC;IAC3E,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,aAAc,SAAQ,IAAI,CACzC,aAAa,CAAC,aAAa,EAC3B,WAAW,CACZ;IACC,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,aAAa,CAAC,gBAAgB,EAC9B,WAAW,CACZ;IACC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAC5C,aAAa,CAAC,gBAAgB,EAC9B,WAAW,CACZ;IACC,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/types/theme.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { CSSProperties, ReactNode } from "react";
|
|
2
|
-
|
|
3
|
-
export type
|
|
2
|
+
import type { CletComponentTokenMap, CletGlobalTokens } from "../generated/components.theme";
|
|
3
|
+
export type CletTheme = "light" | "dark" | "system";
|
|
4
|
+
export type ResolvedCletTheme = "light" | "dark";
|
|
4
5
|
export interface ThemeProviderProps {
|
|
5
|
-
theme?:
|
|
6
|
-
defaultTheme?:
|
|
7
|
-
onThemeChange?: (theme:
|
|
6
|
+
theme?: CletTheme;
|
|
7
|
+
defaultTheme?: CletTheme;
|
|
8
|
+
onThemeChange?: (theme: CletTheme) => void;
|
|
8
9
|
/** localStorage key for persisting theme across sessions. Omit for no persistence. */
|
|
9
10
|
storageKey?: string;
|
|
10
11
|
className?: string;
|
|
@@ -12,9 +13,28 @@ export interface ThemeProviderProps {
|
|
|
12
13
|
children: ReactNode;
|
|
13
14
|
}
|
|
14
15
|
export interface ThemeContextValue {
|
|
15
|
-
theme:
|
|
16
|
-
setTheme: (theme:
|
|
17
|
-
resolvedTheme:
|
|
16
|
+
theme: CletTheme;
|
|
17
|
+
setTheme: (theme: CletTheme) => void;
|
|
18
|
+
resolvedTheme: ResolvedCletTheme;
|
|
18
19
|
}
|
|
19
20
|
export type UseThemeReturn = ThemeContextValue;
|
|
21
|
+
export interface CletComponentThemeOverrides<T> {
|
|
22
|
+
/** Applied to both light and dark, per token — a token here is skipped if that mode sets its own value. */
|
|
23
|
+
all?: T;
|
|
24
|
+
light?: T;
|
|
25
|
+
dark?: T;
|
|
26
|
+
}
|
|
27
|
+
export type CletComponentThemeConfig = {
|
|
28
|
+
[K in keyof CletComponentTokenMap]?: CletComponentThemeOverrides<CletComponentTokenMap[K]>;
|
|
29
|
+
};
|
|
30
|
+
export interface CletThemeConfig {
|
|
31
|
+
/** --clet-* token overrides applied to both light and dark — per token, skipped if that mode sets its own value below. */
|
|
32
|
+
all?: CletGlobalTokens;
|
|
33
|
+
/** --clet-* token overrides applied under [data-clet-theme="light"] */
|
|
34
|
+
light?: CletGlobalTokens;
|
|
35
|
+
/** --clet-* token overrides applied under [data-clet-theme="dark"] */
|
|
36
|
+
dark?: CletGlobalTokens;
|
|
37
|
+
/** Per-component --clet-<component>-* token overrides, keyed by component name (e.g. AppHeader, Card). */
|
|
38
|
+
components?: CletComponentThemeConfig;
|
|
39
|
+
}
|
|
20
40
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../src/types/theme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAE7F,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEpD,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IAC3C,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACrC,aAAa,EAAE,iBAAiB,CAAC;CAClC;AAED,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAE/C,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C,2GAA2G;IAC3G,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,KAAK,CAAC,EAAE,CAAC,CAAC;IACV,IAAI,CAAC,EAAE,CAAC,CAAC;CACV;AAED,MAAM,MAAM,wBAAwB,GAAG;KACpC,CAAC,IAAI,MAAM,qBAAqB,CAAC,CAAC,EAAE,2BAA2B,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;CAC3F,CAAC;AAEF,MAAM,WAAW,eAAe;IAC9B,0HAA0H;IAC1H,GAAG,CAAC,EAAE,gBAAgB,CAAC;IACvB,uEAAuE;IACvE,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,sEAAsE;IACtE,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,0GAA0G;IAC1G,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACvC"}
|