@deadragdoll/reactnu 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +151 -0
  3. package/dist/appHost/NuAppHostProvider.d.ts +6 -0
  4. package/dist/appHost/appHostContext.d.ts +26 -0
  5. package/dist/components/Button/Button.d.ts +13 -0
  6. package/dist/components/Button/index.d.ts +1 -0
  7. package/dist/components/CheckBox/CheckBox.d.ts +14 -0
  8. package/dist/components/CheckBox/index.d.ts +1 -0
  9. package/dist/components/ComboBox/ComboBox.d.ts +23 -0
  10. package/dist/components/ComboBox/index.d.ts +1 -0
  11. package/dist/components/CommandButton/CommandButton.d.ts +17 -0
  12. package/dist/components/CommandButton/index.d.ts +1 -0
  13. package/dist/components/CrtGlitch/CrtGlitch.d.ts +23 -0
  14. package/dist/components/CrtGlitch/index.d.ts +1 -0
  15. package/dist/components/Dashboard/Dashboard.d.ts +25 -0
  16. package/dist/components/Dashboard/index.d.ts +1 -0
  17. package/dist/components/Desktop/Desktop.d.ts +6 -0
  18. package/dist/components/Desktop/index.d.ts +1 -0
  19. package/dist/components/Dropdown/Dropdown.d.ts +19 -0
  20. package/dist/components/Dropdown/index.d.ts +1 -0
  21. package/dist/components/Frame/Frame.d.ts +24 -0
  22. package/dist/components/Frame/index.d.ts +1 -0
  23. package/dist/components/Glyph/NuGlyph.d.ts +6 -0
  24. package/dist/components/Glyph/index.d.ts +1 -0
  25. package/dist/components/Info/Info.d.ts +13 -0
  26. package/dist/components/Info/index.d.ts +1 -0
  27. package/dist/components/ListBox/ListBox.d.ts +23 -0
  28. package/dist/components/ListBox/index.d.ts +1 -0
  29. package/dist/components/ListBox/internals/ListBoxCategoryView.d.ts +6 -0
  30. package/dist/components/ListBox/internals/ListBoxCheckControl.d.ts +8 -0
  31. package/dist/components/ListBox/internals/ListBoxGroupView.d.ts +17 -0
  32. package/dist/components/ListBox/internals/ListBoxItemView.d.ts +18 -0
  33. package/dist/components/ListBox/internals/helpers.d.ts +5 -0
  34. package/dist/components/ListBox/internals/renderLabel.d.ts +2 -0
  35. package/dist/components/ListBox/internals/types.d.ts +27 -0
  36. package/dist/components/ListView/ListView.d.ts +27 -0
  37. package/dist/components/ListView/index.d.ts +1 -0
  38. package/dist/components/ListView/internals/ListViewCheckControl.d.ts +8 -0
  39. package/dist/components/ListView/internals/ListViewRow.d.ts +18 -0
  40. package/dist/components/ListView/internals/helpers.d.ts +5 -0
  41. package/dist/components/ListView/internals/types.d.ts +17 -0
  42. package/dist/components/MainMenu/MainMenu.d.ts +8 -0
  43. package/dist/components/MainMenu/MainMenu.types.d.ts +23 -0
  44. package/dist/components/MainMenu/index.d.ts +3 -0
  45. package/dist/components/MainMenu/internals/MainMenuList.d.ts +12 -0
  46. package/dist/components/MainMenu/menuState.d.ts +40 -0
  47. package/dist/components/MaskedField/MaskedField.d.ts +13 -0
  48. package/dist/components/MaskedField/index.d.ts +2 -0
  49. package/dist/components/MaskedField/textMask.d.ts +8 -0
  50. package/dist/components/Memo/Memo.d.ts +14 -0
  51. package/dist/components/Memo/index.d.ts +1 -0
  52. package/dist/components/PageControl/PageControl.d.ts +20 -0
  53. package/dist/components/PageControl/index.d.ts +1 -0
  54. package/dist/components/Panel/Panel.d.ts +11 -0
  55. package/dist/components/Panel/index.d.ts +1 -0
  56. package/dist/components/PopupMenu/PopupMenu.d.ts +22 -0
  57. package/dist/components/PopupMenu/index.d.ts +2 -0
  58. package/dist/components/PopupMenu/usePopupMenu.d.ts +12 -0
  59. package/dist/components/ProgressBar/ProgressBar.d.ts +17 -0
  60. package/dist/components/ProgressBar/index.d.ts +1 -0
  61. package/dist/components/PropertyGrid/PropertyGrid.d.ts +38 -0
  62. package/dist/components/PropertyGrid/index.d.ts +1 -0
  63. package/dist/components/RadioGroup/RadioButton.d.ts +9 -0
  64. package/dist/components/RadioGroup/RadioGroup.d.ts +21 -0
  65. package/dist/components/RadioGroup/index.d.ts +2 -0
  66. package/dist/components/ReportCell/ReportCell.d.ts +6 -0
  67. package/dist/components/ReportCell/index.d.ts +1 -0
  68. package/dist/components/SearchBox/SearchBox.d.ts +23 -0
  69. package/dist/components/SearchBox/index.d.ts +1 -0
  70. package/dist/components/SpinBox/SpinBox.d.ts +16 -0
  71. package/dist/components/SpinBox/index.d.ts +1 -0
  72. package/dist/components/Splitter/Splitter.d.ts +15 -0
  73. package/dist/components/Splitter/index.d.ts +1 -0
  74. package/dist/components/Stack/Stack.d.ts +13 -0
  75. package/dist/components/Stack/index.d.ts +1 -0
  76. package/dist/components/TextField/TextField.d.ts +12 -0
  77. package/dist/components/TextField/index.d.ts +1 -0
  78. package/dist/components/TickBar/TickBar.d.ts +22 -0
  79. package/dist/components/TickBar/index.d.ts +1 -0
  80. package/dist/components/ToolBar/ToolBar.d.ts +25 -0
  81. package/dist/components/ToolBar/index.d.ts +1 -0
  82. package/dist/components/TreeListView/TreeListView.d.ts +33 -0
  83. package/dist/components/TreeListView/index.d.ts +1 -0
  84. package/dist/components/TreeListView/internals/TreeListViewRow.d.ts +28 -0
  85. package/dist/components/TreeListView/internals/helpers.d.ts +14 -0
  86. package/dist/components/TreeListView/internals/types.d.ts +32 -0
  87. package/dist/components/TreeView/TreeView.d.ts +26 -0
  88. package/dist/components/TreeView/index.d.ts +1 -0
  89. package/dist/components/TreeView/internals/TreeViewItem.d.ts +21 -0
  90. package/dist/components/TreeView/internals/helpers.d.ts +5 -0
  91. package/dist/components/TreeView/internals/types.d.ts +10 -0
  92. package/dist/components/View/NuView.d.ts +10 -0
  93. package/dist/components/View/index.d.ts +1 -0
  94. package/dist/components/Window/StatusBarItem.d.ts +7 -0
  95. package/dist/components/Window/Window.d.ts +41 -0
  96. package/dist/components/Window/WindowTitleButton.d.ts +17 -0
  97. package/dist/components/Window/index.d.ts +5 -0
  98. package/dist/components/Window/internals/WindowStatusBar.d.ts +8 -0
  99. package/dist/components/Window/internals/WindowTitleBar.d.ts +10 -0
  100. package/dist/components/Window/useWindowTitleButtons.d.ts +12 -0
  101. package/dist/components/Window/windowMenuContext.d.ts +3 -0
  102. package/dist/components/_shared/ControlOpener.d.ts +18 -0
  103. package/dist/components/_shared/portalPositioning.d.ts +16 -0
  104. package/dist/components/_shared/slotProps.d.ts +867 -0
  105. package/dist/components/_shared/themePortal.d.ts +2 -0
  106. package/dist/components/_shared/treeData.d.ts +19 -0
  107. package/dist/components/_shared/usePopupPosition.d.ts +40 -0
  108. package/dist/index.cjs +9848 -0
  109. package/dist/index.d.ts +45 -0
  110. package/dist/index.js +9885 -0
  111. package/dist/styles.css +3644 -0
  112. package/dist/theme/NuThemeProvider.d.ts +26 -0
  113. package/dist/theme/themeContext.d.ts +15 -0
  114. package/dist/theme/themes.d.ts +49 -0
  115. package/dist/utils/renderMnemonicText.d.ts +10 -0
  116. package/dist/windowing/AppBarHost.d.ts +6 -0
  117. package/dist/windowing/AppBarItem.d.ts +587 -0
  118. package/dist/windowing/NuWindowProvider.d.ts +9 -0
  119. package/dist/windowing/WindowBar.d.ts +13 -0
  120. package/dist/windowing/dialogHelpers.d.ts +1793 -0
  121. package/dist/windowing/internals/MdiWindowPickerDialog.d.ts +10 -0
  122. package/dist/windowing/mdiMenu.d.ts +3 -0
  123. package/dist/windowing/windowContext.d.ts +18 -0
  124. package/dist/windowing/windowing.constants.d.ts +1 -0
  125. package/dist/windowing/windowing.types.d.ts +54 -0
  126. package/docs/API_REFERENCE.md +150 -0
  127. package/docs/ARCHITECTURE.md +170 -0
  128. package/docs/AppBarHost.md +22 -0
  129. package/docs/AppBarItem.md +22 -0
  130. package/docs/Button.md +24 -0
  131. package/docs/COMPONENT_INDEX.md +64 -0
  132. package/docs/CONTRIBUTOR_GUIDE.md +393 -0
  133. package/docs/CheckBox.md +30 -0
  134. package/docs/ComboBox.md +41 -0
  135. package/docs/CommandButton.md +45 -0
  136. package/docs/CrtGlitch.md +49 -0
  137. package/docs/Dashboard.md +73 -0
  138. package/docs/Desktop.md +27 -0
  139. package/docs/DialogHelpers.md +85 -0
  140. package/docs/Dropdown.md +44 -0
  141. package/docs/Frame.md +38 -0
  142. package/docs/GETTING_STARTED.md +110 -0
  143. package/docs/Glyph.md +29 -0
  144. package/docs/Info.md +51 -0
  145. package/docs/ListBox.md +35 -0
  146. package/docs/ListView.md +62 -0
  147. package/docs/MainMenu.md +36 -0
  148. package/docs/MaskedField.md +124 -0
  149. package/docs/Memo.md +32 -0
  150. package/docs/NuAppHostProvider.md +28 -0
  151. package/docs/NuThemeProvider.md +64 -0
  152. package/docs/NuView.md +58 -0
  153. package/docs/NuWindowProvider.md +81 -0
  154. package/docs/PageControl.md +28 -0
  155. package/docs/Panel.md +23 -0
  156. package/docs/PopupMenu.md +42 -0
  157. package/docs/ProgressBar.md +33 -0
  158. package/docs/PropertyGrid.md +63 -0
  159. package/docs/RadioGroup.md +36 -0
  160. package/docs/ReportCell.md +27 -0
  161. package/docs/SLOT_CUSTOMIZATION.md +85 -0
  162. package/docs/STORYBOOK.md +96 -0
  163. package/docs/SearchBox.md +41 -0
  164. package/docs/SpinBox.md +25 -0
  165. package/docs/Splitter.md +91 -0
  166. package/docs/Stack.md +26 -0
  167. package/docs/StatusBarItem.md +31 -0
  168. package/docs/TOKEN_CHECKLIST.md +122 -0
  169. package/docs/TextField.md +27 -0
  170. package/docs/TickBar.md +57 -0
  171. package/docs/ToolBar.md +51 -0
  172. package/docs/TreeListView.md +84 -0
  173. package/docs/TreeView.md +53 -0
  174. package/docs/Window.md +53 -0
  175. package/docs/WindowBar.md +24 -0
  176. package/package.json +47 -0
@@ -0,0 +1,17 @@
1
+ import { ReactNode } from "react";
2
+ export type ListViewRowBase = {
3
+ id: string;
4
+ checked?: boolean;
5
+ className?: string;
6
+ disabled?: boolean;
7
+ selected?: boolean;
8
+ };
9
+ export type ListViewColumn<T extends ListViewRowBase> = {
10
+ align?: "start" | "center" | "end";
11
+ className?: string;
12
+ field?: keyof T;
13
+ id: string;
14
+ renderCell?: (row: T) => ReactNode;
15
+ title: string;
16
+ width?: string;
17
+ };
@@ -0,0 +1,8 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { MainMenuItem, MainMenuNode } from "./MainMenu.types";
3
+ export type MainMenuProps = HTMLAttributes<HTMLDivElement> & {
4
+ items: MainMenuNode[];
5
+ onItemSelect?: (item: MainMenuItem) => void;
6
+ uncheckedShape?: "box" | "none";
7
+ };
8
+ export declare function MainMenu({ className, items, onItemSelect, uncheckedShape, ...props }: MainMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,23 @@
1
+ export type MainMenuFlags = {
2
+ checkable?: boolean;
3
+ checked?: boolean;
4
+ disabled?: boolean;
5
+ hidden?: boolean;
6
+ };
7
+ export type MainMenuDivider = {
8
+ hidden?: boolean;
9
+ id: string;
10
+ type: "divider";
11
+ };
12
+ export type MainMenuItem = MainMenuFlags & {
13
+ id: string;
14
+ items?: MainMenuNode[];
15
+ modifier?: string;
16
+ onSelect?: () => void;
17
+ shortcut?: string;
18
+ text: string;
19
+ type?: "item";
20
+ };
21
+ export type MainMenuNode = MainMenuItem | MainMenuDivider;
22
+ export declare function isMainMenuDivider(item: MainMenuNode): item is MainMenuDivider;
23
+ export declare function isMainMenuItem(item: MainMenuNode): item is MainMenuItem;
@@ -0,0 +1,3 @@
1
+ export * from "./MainMenu";
2
+ export * from "./MainMenu.types";
3
+ export * from "./menuState";
@@ -0,0 +1,12 @@
1
+ import { MainMenuItem, MainMenuNode } from "../MainMenu.types";
2
+ type MainMenuListProps = {
3
+ activePath: string[];
4
+ items: MainMenuNode[];
5
+ level: number;
6
+ onActivateItem: (item: MainMenuItem, level: number) => void;
7
+ onHoverItem: (item: MainMenuItem, level: number) => void;
8
+ rootVariant?: "bar" | "popup";
9
+ uncheckedShape?: "box" | "none";
10
+ };
11
+ export declare function MainMenuList({ activePath, items, level, onActivateItem, onHoverItem, rootVariant, uncheckedShape }: MainMenuListProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,40 @@
1
+ import { Dispatch, SetStateAction } from "react";
2
+ import { MainMenuItem, MainMenuFlags, MainMenuNode } from "./MainMenu.types";
3
+ export type MainMenuItemPatch = Partial<Omit<MainMenuItem, "id" | "type">>;
4
+ export type MainMenuStateValue = {
5
+ mainMenu: MainMenuNode[];
6
+ setMainMenu: Dispatch<SetStateAction<MainMenuNode[]>>;
7
+ setMenuItem: (id: string, patch: MainMenuItemPatch) => void;
8
+ setMenuFlags: (id: string, flags: MainMenuFlags) => void;
9
+ setMenuDisabled: (id: string, disabled: boolean) => void;
10
+ enableMenuItem: (id: string) => void;
11
+ disableMenuItem: (id: string) => void;
12
+ setMenuHidden: (id: string, hidden: boolean) => void;
13
+ showMenuItem: (id: string) => void;
14
+ hideMenuItem: (id: string) => void;
15
+ setMenuChecked: (id: string, checked: boolean) => void;
16
+ checkMenuItem: (id: string) => void;
17
+ uncheckMenuItem: (id: string) => void;
18
+ toggleMenuChecked: (id: string) => void;
19
+ setMenuCheckable: (id: string, checkable: boolean) => void;
20
+ setSubmenuTree: (id: string, items: MainMenuNode[]) => void;
21
+ };
22
+ export declare function hasVisibleMainMenuItems(items: MainMenuNode[]): boolean;
23
+ export declare function useMainMenuState(initialMainMenu?: MainMenuNode[]): {
24
+ mainMenu: MainMenuNode[];
25
+ setMainMenu: Dispatch<SetStateAction<MainMenuNode[]>>;
26
+ setMenuItem: (id: string, patch: MainMenuItemPatch) => void;
27
+ setMenuFlags: (id: string, flags: MainMenuFlags) => void;
28
+ setMenuDisabled: (id: string, disabled: boolean) => void;
29
+ enableMenuItem: (id: string) => void;
30
+ disableMenuItem: (id: string) => void;
31
+ setMenuHidden: (id: string, hidden: boolean) => void;
32
+ showMenuItem: (id: string) => void;
33
+ hideMenuItem: (id: string) => void;
34
+ setMenuChecked: (id: string, checked: boolean) => void;
35
+ checkMenuItem: (id: string) => void;
36
+ uncheckMenuItem: (id: string) => void;
37
+ toggleMenuChecked: (id: string) => void;
38
+ setMenuCheckable: (id: string, checkable: boolean) => void;
39
+ setSubmenuTree: (id: string, items: MainMenuNode[]) => void;
40
+ };
@@ -0,0 +1,13 @@
1
+ import { InputHTMLAttributes } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type MaskedFieldSlot = "root" | "label" | "slot" | "bracket" | "inputShell" | "input" | "hint";
4
+ export type MaskedFieldProps = Omit<InputHTMLAttributes<HTMLInputElement>, "type"> & {
5
+ debounceMs?: number;
6
+ label: string;
7
+ hint?: string;
8
+ mask: string;
9
+ onDebouncedChange?: (value: string) => void;
10
+ slotClassNames?: SlotCustomizationProps<MaskedFieldSlot>["slotClassNames"];
11
+ slotStyles?: SlotCustomizationProps<MaskedFieldSlot>["slotStyles"];
12
+ };
13
+ export declare function MaskedField({ "aria-invalid": ariaInvalid, className, debounceMs, defaultValue, hint, id, label, mask, onChange, onDebouncedChange, placeholder, slotClassNames, slotStyles, value, style, ...props }: MaskedFieldProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from "./MaskedField";
2
+ export { getMaskedFieldState } from "./textMask";
@@ -0,0 +1,8 @@
1
+ export declare function applyTextMask(mask: string, rawValue: string): string;
2
+ export declare function getTextMaskInputMode(mask: string): "numeric" | undefined;
3
+ export declare function isTextMaskComplete(mask: string, rawValue: string): boolean;
4
+ export declare function getMaskedFieldState(mask: string, rawValue: string): {
5
+ formattedValue: string;
6
+ isComplete: boolean;
7
+ isInvalid: boolean;
8
+ };
@@ -0,0 +1,14 @@
1
+ import { CSSProperties, TextareaHTMLAttributes } from "react";
2
+ type MemoScroll = "auto" | "x" | "y" | "both" | "hidden";
3
+ export type MemoProps = Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "children"> & {
4
+ background?: CSSProperties["background"];
5
+ content?: string;
6
+ fill?: boolean;
7
+ focusBackground?: CSSProperties["background"];
8
+ focusTextColor?: CSSProperties["color"];
9
+ onValueChange?: (value: string) => void;
10
+ scroll?: MemoScroll;
11
+ textColor?: CSSProperties["color"];
12
+ };
13
+ export declare function Memo({ background, className, content, defaultValue, fill, focusBackground, focusTextColor, onChange, onValueChange, scroll, style, textColor, value, ...props }: MemoProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./Memo";
@@ -0,0 +1,20 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type PageControlSlot = "root" | "tabs" | "tab" | "panel";
4
+ export type PageControlPage = {
5
+ content: ReactNode;
6
+ disabled?: boolean;
7
+ id: string;
8
+ label: string;
9
+ };
10
+ export type PageControlProps = Omit<HTMLAttributes<HTMLDivElement>, "onChange"> & {
11
+ activePageId?: string;
12
+ defaultActivePageId?: string;
13
+ fill?: boolean;
14
+ onActivePageChange?: (page: PageControlPage) => void;
15
+ pages: PageControlPage[];
16
+ slotClassNames?: SlotCustomizationProps<PageControlSlot>["slotClassNames"];
17
+ slotStyles?: SlotCustomizationProps<PageControlSlot>["slotStyles"];
18
+ };
19
+ export declare function PageControl({ activePageId: activePageIdProp, className, defaultActivePageId, fill, onActivePageChange, pages, slotClassNames, slotStyles, ...props }: PageControlProps): import("react/jsx-runtime").JSX.Element;
20
+ export { PageControl as Tabs };
@@ -0,0 +1 @@
1
+ export * from "./PageControl";
@@ -0,0 +1,11 @@
1
+ import { HTMLAttributes, PropsWithChildren } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type PanelSlot = "root" | "header" | "body" | "footer";
4
+ export type PanelProps = PropsWithChildren<HTMLAttributes<HTMLElement> & {
5
+ footer?: string;
6
+ inset?: boolean;
7
+ slotClassNames?: SlotCustomizationProps<PanelSlot>["slotClassNames"];
8
+ slotStyles?: SlotCustomizationProps<PanelSlot>["slotStyles"];
9
+ title?: string;
10
+ }>;
11
+ export declare function Panel({ children, className, footer, inset, slotClassNames, slotStyles, title, ...props }: PanelProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./Panel";
@@ -0,0 +1,22 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { MainMenuItem, MainMenuNode } from "../MainMenu/MainMenu.types";
3
+ export type PopupMenuPointAnchor = {
4
+ type: "point";
5
+ x: number;
6
+ y: number;
7
+ };
8
+ export type PopupMenuElementAnchor = {
9
+ element: HTMLElement;
10
+ type: "element";
11
+ };
12
+ export type PopupMenuAnchor = PopupMenuPointAnchor | PopupMenuElementAnchor;
13
+ export type PopupMenuProps = Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> & {
14
+ anchor: PopupMenuAnchor | null;
15
+ defaultOpen?: boolean;
16
+ items: MainMenuNode[];
17
+ onItemSelect?: (item: MainMenuItem) => void;
18
+ onOpenChange?: (open: boolean) => void;
19
+ open?: boolean;
20
+ uncheckedShape?: "box" | "none";
21
+ };
22
+ export declare function PopupMenu({ anchor, className, defaultOpen, items, onItemSelect, onOpenChange, open, style: styleProp, uncheckedShape, ...props }: PopupMenuProps): import("react").ReactPortal | null;
@@ -0,0 +1,2 @@
1
+ export * from "./PopupMenu";
2
+ export * from "./usePopupMenu";
@@ -0,0 +1,12 @@
1
+ import { MouseEvent } from "react";
2
+ import { PopupMenuAnchor } from "./PopupMenu";
3
+ export declare function usePopupMenu(): {
4
+ anchor: PopupMenuAnchor | null;
5
+ close: () => void;
6
+ open: boolean;
7
+ openAtElement: (element: HTMLElement) => void;
8
+ openAtPoint: (x: number, y: number) => void;
9
+ openFromClick: (event: MouseEvent<HTMLElement>) => void;
10
+ openFromContextMenu: (event: MouseEvent<HTMLElement>) => void;
11
+ setOpen: import("react").Dispatch<import("react").SetStateAction<boolean>>;
12
+ };
@@ -0,0 +1,17 @@
1
+ import { CSSProperties, HTMLAttributes, ReactNode } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type ProgressBarSlot = "root" | "label" | "track" | "fill" | "value" | "hint";
4
+ export type ProgressBarProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
5
+ hint?: string;
6
+ indeterminate?: boolean;
7
+ label?: string;
8
+ max?: number;
9
+ min?: number;
10
+ showValue?: boolean;
11
+ slotClassNames?: SlotCustomizationProps<ProgressBarSlot>["slotClassNames"];
12
+ slotStyles?: SlotCustomizationProps<ProgressBarSlot>["slotStyles"];
13
+ trackBackground?: CSSProperties["background"];
14
+ value?: number;
15
+ valueRenderer?: (percent: number, value: number, min: number, max: number) => ReactNode;
16
+ };
17
+ export declare function ProgressBar({ className, hint, indeterminate, label, max, min, showValue, slotClassNames, slotStyles, style, trackBackground, value, valueRenderer, ...props }: ProgressBarProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./ProgressBar";
@@ -0,0 +1,38 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ type PropertyGridItemEntry = {
3
+ content: ReactNode;
4
+ disabled?: boolean;
5
+ hint?: string;
6
+ id: string;
7
+ label: string;
8
+ type?: "item";
9
+ };
10
+ type PropertyGridGroupEntry = {
11
+ children: PropertyGridEntry[];
12
+ disabled?: boolean;
13
+ expanded?: boolean;
14
+ id: string;
15
+ label: string;
16
+ summary?: ReactNode;
17
+ type: "group";
18
+ };
19
+ type PropertyGridSectionEntry = {
20
+ id: string;
21
+ title: string;
22
+ type: "section";
23
+ };
24
+ export type PropertyGridEntry = PropertyGridItemEntry | PropertyGridGroupEntry | PropertyGridSectionEntry;
25
+ export type PropertyGridProps = HTMLAttributes<HTMLDivElement> & {
26
+ activeId?: string;
27
+ bordered?: boolean;
28
+ defaultActiveId?: string;
29
+ defaultExpandedIds?: string[];
30
+ entries: PropertyGridEntry[];
31
+ expandedIds?: string[];
32
+ fill?: boolean;
33
+ labelWidth?: string;
34
+ onActiveIdChange?: (activeId: string) => void;
35
+ onExpandedIdsChange?: (expandedIds: string[]) => void;
36
+ };
37
+ export declare function PropertyGrid({ activeId: activeIdProp, bordered, className, defaultActiveId, defaultExpandedIds, entries, expandedIds: expandedIdsProp, fill, labelWidth, onActiveIdChange, onExpandedIdsChange, style, ...props }: PropertyGridProps): import("react/jsx-runtime").JSX.Element;
38
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./PropertyGrid";
@@ -0,0 +1,9 @@
1
+ import { ChangeEvent, InputHTMLAttributes } from "react";
2
+ export type RadioButtonProps = Omit<InputHTMLAttributes<HTMLInputElement>, "checked" | "defaultChecked" | "onChange" | "type"> & {
3
+ checked?: boolean;
4
+ defaultChecked?: boolean;
5
+ hint?: string;
6
+ label: string;
7
+ onCheckedChange?: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
8
+ };
9
+ export declare function RadioButton({ checked, className, defaultChecked, disabled, hint, id, label, onCheckedChange, ...props }: RadioButtonProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type RadioGroupSlot = "root" | "label" | "options" | "hint";
4
+ export type RadioOption = {
5
+ disabled?: boolean;
6
+ hint?: string;
7
+ label: string;
8
+ value: string;
9
+ };
10
+ export type RadioGroupProps = Omit<HTMLAttributes<HTMLFieldSetElement>, "onChange"> & {
11
+ defaultValue?: string;
12
+ hint?: string;
13
+ label?: string;
14
+ name?: string;
15
+ onValueChange?: (value: string) => void;
16
+ options: RadioOption[];
17
+ slotClassNames?: SlotCustomizationProps<RadioGroupSlot>["slotClassNames"];
18
+ slotStyles?: SlotCustomizationProps<RadioGroupSlot>["slotStyles"];
19
+ value?: string;
20
+ };
21
+ export declare function RadioGroup({ className, defaultValue, hint, label, name, onValueChange, options, slotClassNames, slotStyles, style, value, ...props }: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from "./RadioButton";
2
+ export * from "./RadioGroup";
@@ -0,0 +1,6 @@
1
+ import { HTMLAttributes } from "react";
2
+ export type ReportCellProps = HTMLAttributes<HTMLSpanElement> & {
3
+ align?: "start" | "center" | "end";
4
+ tone?: "default" | "muted" | "accent" | "danger" | "success";
5
+ };
6
+ export declare function ReportCell({ align, className, tone, ...props }: ReportCellProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./ReportCell";
@@ -0,0 +1,23 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ export type SearchBoxProps<T> = Omit<HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & {
3
+ dataProvider: (query: string) => Promise<T[]>;
4
+ debounceMs?: number;
5
+ defaultQuery?: string;
6
+ disabled?: boolean;
7
+ emptyText?: string;
8
+ errorText?: string;
9
+ getItemDetails?: (item: T) => ReactNode;
10
+ getItemDisabled?: (item: T) => boolean;
11
+ getItemId: (item: T, index: number) => string;
12
+ getItemText: (item: T) => string;
13
+ hint?: string;
14
+ idleText?: string;
15
+ label: string;
16
+ loadingText?: string;
17
+ minQueryLength?: number;
18
+ onItemSelect?: (item: T) => void;
19
+ onQueryChange?: (query: string) => void;
20
+ placeholder?: string;
21
+ query?: string;
22
+ };
23
+ export declare function SearchBox<T>({ className, dataProvider, debounceMs, defaultQuery, disabled, emptyText, errorText, getItemDetails, getItemDisabled, getItemId, getItemText, hint, idleText, label, loadingText, minQueryLength, onItemSelect, onQueryChange, placeholder, query: queryProp, style, ...props }: SearchBoxProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./SearchBox";
@@ -0,0 +1,16 @@
1
+ import { InputHTMLAttributes } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type SpinBoxSlot = "root" | "label" | "slot" | "bracket" | "inputShell" | "input" | "controls" | "button" | "hint";
4
+ export type SpinBoxProps = Omit<InputHTMLAttributes<HTMLInputElement>, "defaultValue" | "type" | "value"> & {
5
+ defaultValue?: number;
6
+ hint?: string;
7
+ label: string;
8
+ max?: number;
9
+ min?: number;
10
+ onValueChange?: (value: number) => void;
11
+ slotClassNames?: SlotCustomizationProps<SpinBoxSlot>["slotClassNames"];
12
+ slotStyles?: SlotCustomizationProps<SpinBoxSlot>["slotStyles"];
13
+ step?: number;
14
+ value?: number;
15
+ };
16
+ export declare function SpinBox({ className, defaultValue, disabled, hint, id, label, max, min, onBlur, onChange, onKeyDown, onValueChange, slotClassNames, slotStyles, step, style, value, ...props }: SpinBoxProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./SpinBox";
@@ -0,0 +1,15 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ type SplitterOrientation = "vertical" | "horizontal";
3
+ export type SplitterProps = Omit<HTMLAttributes<HTMLDivElement>, "children"> & {
4
+ defaultValue?: number;
5
+ first: ReactNode;
6
+ max?: number;
7
+ min?: number;
8
+ onValueChange?: (value: number) => void;
9
+ orientation?: SplitterOrientation;
10
+ saveId?: string;
11
+ second: ReactNode;
12
+ value?: number;
13
+ };
14
+ export declare function Splitter({ className, defaultValue, first, max, min, onValueChange, orientation, saveId, second, style, value, ...props }: SplitterProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./Splitter";
@@ -0,0 +1,13 @@
1
+ import { HTMLAttributes } from "react";
2
+ type StackDirection = "row" | "column";
3
+ type StackGap = "sm" | "md" | "lg";
4
+ type StackAlign = "start" | "center" | "end" | "stretch";
5
+ type StackJustify = "start" | "center" | "end" | "space-between" | "space-around";
6
+ export type StackProps = HTMLAttributes<HTMLDivElement> & {
7
+ align?: StackAlign;
8
+ direction?: StackDirection;
9
+ gap?: StackGap;
10
+ justify?: StackJustify;
11
+ };
12
+ export declare function Stack({ align, children, className, direction, gap, justify, style, ...props }: StackProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1 @@
1
+ export * from "./Stack";
@@ -0,0 +1,12 @@
1
+ import { InputHTMLAttributes } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type TextFieldSlot = "root" | "label" | "slot" | "bracket" | "inputShell" | "input" | "hint";
4
+ export type TextFieldProps = InputHTMLAttributes<HTMLInputElement> & {
5
+ debounceMs?: number;
6
+ label: string;
7
+ hint?: string;
8
+ onDebouncedChange?: (value: string) => void;
9
+ slotClassNames?: SlotCustomizationProps<TextFieldSlot>["slotClassNames"];
10
+ slotStyles?: SlotCustomizationProps<TextFieldSlot>["slotStyles"];
11
+ };
12
+ export declare function TextField({ className, debounceMs, defaultValue, hint, id, label, onChange, onDebouncedChange, placeholder, slotClassNames, slotStyles, type, value, ...props }: TextFieldProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./TextField";
@@ -0,0 +1,22 @@
1
+ import { HTMLAttributes, ReactNode } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ export type TickBarSlot = "root" | "label" | "slot" | "track" | "rail" | "ticks" | "tick" | "thumb" | "value" | "hint";
4
+ export type TickBarProps = Omit<HTMLAttributes<HTMLDivElement>, "children" | "onChange"> & {
5
+ defaultValue?: number;
6
+ disabled?: boolean;
7
+ fill?: boolean;
8
+ hint?: string;
9
+ label?: string;
10
+ max?: number;
11
+ min?: number;
12
+ orientation?: "horizontal" | "vertical";
13
+ onValueChange?: (value: number) => void;
14
+ showValue?: boolean;
15
+ slotClassNames?: SlotCustomizationProps<TickBarSlot>["slotClassNames"];
16
+ slotStyles?: SlotCustomizationProps<TickBarSlot>["slotStyles"];
17
+ step?: number;
18
+ tickCount?: number;
19
+ value?: number;
20
+ valueRenderer?: (value: number, min: number, max: number) => ReactNode;
21
+ };
22
+ export declare function TickBar({ className, defaultValue, disabled, fill, hint, id, label, max, min, orientation, onKeyDown, onValueChange, showValue, slotClassNames, slotStyles, step, style, tickCount, value, valueRenderer, ...props }: TickBarProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./TickBar";
@@ -0,0 +1,25 @@
1
+ import { HTMLAttributes } from "react";
2
+ import { SlotCustomizationProps } from "../_shared/slotProps";
3
+ import { CommandButtonProps } from "../CommandButton/CommandButton";
4
+ import { MainMenuItem, MainMenuNode } from "../MainMenu/MainMenu.types";
5
+ export type ToolBarProps = HTMLAttributes<HTMLDivElement> & {
6
+ fill?: boolean;
7
+ slotClassNames?: SlotCustomizationProps<"root">["slotClassNames"];
8
+ slotStyles?: SlotCustomizationProps<"root">["slotStyles"];
9
+ wrap?: boolean;
10
+ };
11
+ export type ToolButtonSlot = "button" | "icon" | "label" | "caret";
12
+ export type ToolButtonProps = Omit<CommandButtonProps, "menuItems" | "onMenuItemSelect" | "uncheckedShape" | "slotClassNames" | "slotStyles"> & {
13
+ slotClassNames?: SlotCustomizationProps<ToolButtonSlot>["slotClassNames"];
14
+ slotStyles?: SlotCustomizationProps<ToolButtonSlot>["slotStyles"];
15
+ };
16
+ export type ToolSeparatorProps = HTMLAttributes<HTMLDivElement> & SlotCustomizationProps<"separator">;
17
+ export type ToolDropButtonProps = ToolButtonProps & {
18
+ menuItems?: MainMenuNode[];
19
+ onMenuItemSelect?: (item: MainMenuItem) => void;
20
+ uncheckedShape?: "box" | "none";
21
+ };
22
+ export declare function ToolBar({ children, className, fill, slotClassNames, slotStyles, wrap, ...props }: ToolBarProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function ToolButton({ className, slotClassNames, slotStyles, ...props }: ToolButtonProps): import("react/jsx-runtime").JSX.Element;
24
+ export declare function ToolDropButton({ className, menuItems, onMenuItemSelect, slotClassNames, slotStyles, uncheckedShape, ...props }: ToolDropButtonProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function ToolSeparator({ className, ...props }: ToolSeparatorProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from "./ToolBar";
@@ -0,0 +1,33 @@
1
+ import { ForwardedRef, HTMLAttributes, RefAttributes } from "react";
2
+ import { TreeListColumn, TreeListGetCellContent, TreeListItemBase } from "./internals/types";
3
+ export type { TreeListCellContext, TreeListColumn, TreeListGetCellContent, TreeListItemBase } from "./internals/types";
4
+ export type TreeListViewHandle = {
5
+ activateItem: (itemId: string) => void;
6
+ collapseItem: (itemId: string) => void;
7
+ expandItem: (itemId: string) => void;
8
+ focus: () => void;
9
+ getActiveItemId: () => string | null;
10
+ scrollToItem: (itemId: string) => void;
11
+ toggleItemCheck: (itemId: string) => void;
12
+ };
13
+ export type TreeListViewProps<T extends TreeListItemBase<T>> = Omit<HTMLAttributes<HTMLDivElement>, "onSelect"> & {
14
+ activeItemId?: string;
15
+ checkedIds?: string[];
16
+ columns: TreeListColumn<T>[];
17
+ data: T[];
18
+ dataVersion?: number;
19
+ defaultActiveItemId?: string;
20
+ defaultExpandedIds?: string[];
21
+ emptyText?: string;
22
+ expandedIds?: string[];
23
+ getCellContent?: TreeListGetCellContent<T>;
24
+ onActiveItemChange?: (item: T) => void;
25
+ onExpandedIdsChange?: (expandedIds: string[]) => void;
26
+ onItemCheckChange?: (item: T, checked: boolean) => void;
27
+ onItemDoubleClick?: (item: T) => void;
28
+ onItemSelect?: (item: T) => void;
29
+ selectedId?: string;
30
+ uncheckedShape?: "box" | "none";
31
+ };
32
+ declare function TreeListViewInner<T extends TreeListItemBase<T>>({ activeItemId: activeItemIdProp, checkedIds, className, columns, data, dataVersion, defaultActiveItemId, defaultExpandedIds, emptyText, expandedIds, getCellContent, onActiveItemChange, onExpandedIdsChange, onItemCheckChange, onItemDoubleClick, onItemSelect, selectedId, uncheckedShape, ...props }: TreeListViewProps<T>, ref: ForwardedRef<TreeListViewHandle>): import("react/jsx-runtime").JSX.Element;
33
+ export declare const TreeListView: <T extends TreeListItemBase<T>>(props: TreeListViewProps<T> & RefAttributes<TreeListViewHandle>) => ReturnType<typeof TreeListViewInner>;
@@ -0,0 +1 @@
1
+ export * from "./TreeListView";
@@ -0,0 +1,28 @@
1
+ import { TreeListColumn, TreeListGetCellContent, TreeListItemBase } from "./types";
2
+ type TreeListViewRowProps<T extends TreeListItemBase<T>> = {
3
+ activeItemId: string | null;
4
+ checkedIds?: string[];
5
+ columns: TreeListColumn<T>[];
6
+ depth: number;
7
+ expandedIdSet: Set<string>;
8
+ getCellContent?: TreeListGetCellContent<T>;
9
+ guideMask: boolean[];
10
+ guideOffsets: number[];
11
+ hasNextSibling: boolean;
12
+ item: T;
13
+ onActivateItem: (item: T, itemId: string) => void;
14
+ onDoubleClickItem?: (item: T) => void;
15
+ onToggleItemCheck?: (item: T, checked: boolean) => void;
16
+ onToggleItemExpanded: (item: T, expanded: boolean) => void;
17
+ originOffset: number;
18
+ registerItemRef: (itemId: string, node: HTMLDivElement | null) => void;
19
+ rowIndexMap: Map<string, number>;
20
+ selectedItemId: string | null;
21
+ templateColumns: string;
22
+ treeColumnId: string | null;
23
+ treeId: string;
24
+ uncheckedShape: "box" | "none";
25
+ };
26
+ declare function TreeListViewRowInner<T extends TreeListItemBase<T>>({ activeItemId, checkedIds, columns, depth, expandedIdSet, getCellContent, guideMask, guideOffsets, hasNextSibling, item, onActivateItem, onDoubleClickItem, onToggleItemCheck, onToggleItemExpanded, originOffset, registerItemRef, rowIndexMap, selectedItemId, templateColumns, treeColumnId, treeId, uncheckedShape }: TreeListViewRowProps<T>): import("react/jsx-runtime").JSX.Element;
27
+ export declare const TreeListViewRow: typeof TreeListViewRowInner;
28
+ export {};
@@ -0,0 +1,14 @@
1
+ import { ReactNode } from "react";
2
+ import { TreeListColumn, TreeListItemBase, VisibleTreeListItem } from "./types";
3
+ export declare function collectExpandedTreeListIds<T extends TreeListItemBase<T>>(items: T[]): string[];
4
+ export declare function findSelectedTreeListItemId<T extends TreeListItemBase<T>>(items: T[]): string | null;
5
+ export declare function findTreeListItemById<T extends TreeListItemBase<T>>(items: T[], targetId: string): T | null;
6
+ export declare function collectVisibleTreeListItems<T extends TreeListItemBase<T>>(items: T[], expandedIds: Set<string>, depth?: number, guideMask?: boolean[], parentId?: string | null): VisibleTreeListItem<T>[];
7
+ export declare function getTreeListTemplateColumns<T extends TreeListItemBase<T>>(columns: TreeListColumn<T>[], { autoColumnWidths, userColumnWidths }?: {
8
+ autoColumnWidths?: Record<string, number>;
9
+ userColumnWidths?: Record<string, number>;
10
+ }): string;
11
+ export declare function getTreeListTreeColumnId<T extends TreeListItemBase<T>>(columns: TreeListColumn<T>[]): string;
12
+ export declare function getTreeListCellAlign<T extends TreeListItemBase<T>>(column: TreeListColumn<T>, columnIndex: number): "center" | "left" | "right";
13
+ export declare function getTreeListHeaderAlign<T extends TreeListItemBase<T>>(column: TreeListColumn<T>, columnIndex: number): "center" | "left" | "right";
14
+ export declare function renderTreeListCellValue<T extends TreeListItemBase<T>>(item: T, column: TreeListColumn<T>): ReactNode;