@peerbots/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/.changeset/README.md +8 -0
  2. package/.changeset/config.json +11 -0
  3. package/.github/workflows/publish.yml +42 -0
  4. package/.github/workflows/storybook.yml +46 -0
  5. package/.storybook/main.ts +28 -0
  6. package/.storybook/preview.ts +22 -0
  7. package/README.md +9 -0
  8. package/dist/index.css +1 -0
  9. package/dist/index.d.mts +704 -0
  10. package/dist/index.d.ts +704 -0
  11. package/dist/index.js +5 -0
  12. package/dist/index.mjs +5 -0
  13. package/package.json +60 -0
  14. package/src/charts/DistributionBarChart.stories.tsx +41 -0
  15. package/src/charts/DistributionBarChart.tsx +170 -0
  16. package/src/charts/DistributionHistogram.stories.tsx +56 -0
  17. package/src/charts/DistributionHistogram.tsx +193 -0
  18. package/src/charts/index.ts +10 -0
  19. package/src/global.d.ts +1 -0
  20. package/src/helpers/SEO.tsx +41 -0
  21. package/src/index.ts +6 -0
  22. package/src/styles/theme.css +60 -0
  23. package/src/ui/Alert.stories.tsx +41 -0
  24. package/src/ui/Alert.tsx +72 -0
  25. package/src/ui/Anchor.stories.tsx +25 -0
  26. package/src/ui/Anchor.tsx +32 -0
  27. package/src/ui/AuthFormUI.stories.tsx +67 -0
  28. package/src/ui/AuthFormUI.tsx +217 -0
  29. package/src/ui/BasePanel.stories.tsx +36 -0
  30. package/src/ui/BasePanel.tsx +59 -0
  31. package/src/ui/Button.stories.tsx +108 -0
  32. package/src/ui/Button.tsx +121 -0
  33. package/src/ui/Checkbox.stories.tsx +61 -0
  34. package/src/ui/Checkbox.tsx +45 -0
  35. package/src/ui/Collapsible.stories.tsx +91 -0
  36. package/src/ui/Collapsible.tsx +52 -0
  37. package/src/ui/Colors.stories.tsx +67 -0
  38. package/src/ui/Dialog.stories.tsx +29 -0
  39. package/src/ui/Dialog.tsx +56 -0
  40. package/src/ui/Dropdown.tsx +66 -0
  41. package/src/ui/Field.stories.tsx +181 -0
  42. package/src/ui/Field.tsx +108 -0
  43. package/src/ui/Icon.stories.tsx +192 -0
  44. package/src/ui/Icon.tsx +42 -0
  45. package/src/ui/IconRegistry.tsx +189 -0
  46. package/src/ui/Input.stories.tsx +67 -0
  47. package/src/ui/Input.tsx +43 -0
  48. package/src/ui/Label.stories.tsx +42 -0
  49. package/src/ui/Label.tsx +26 -0
  50. package/src/ui/NumberField.stories.tsx +86 -0
  51. package/src/ui/NumberField.tsx +116 -0
  52. package/src/ui/Popover.tsx +42 -0
  53. package/src/ui/Select.stories.tsx +74 -0
  54. package/src/ui/Select.tsx +122 -0
  55. package/src/ui/Separator.stories.tsx +61 -0
  56. package/src/ui/Separator.tsx +28 -0
  57. package/src/ui/SettingsPanel.stories.tsx +83 -0
  58. package/src/ui/SettingsPanel.tsx +81 -0
  59. package/src/ui/Skeleton.stories.tsx +43 -0
  60. package/src/ui/Skeleton.tsx +15 -0
  61. package/src/ui/Slider.stories.tsx +140 -0
  62. package/src/ui/Slider.tsx +95 -0
  63. package/src/ui/SliderWithNumberField.stories.tsx +101 -0
  64. package/src/ui/SliderWithNumberField.tsx +88 -0
  65. package/src/ui/Switch.stories.tsx +81 -0
  66. package/src/ui/Switch.tsx +60 -0
  67. package/src/ui/TabRadio.stories.tsx +153 -0
  68. package/src/ui/TabRadio.tsx +68 -0
  69. package/src/ui/TabSelection.stories.tsx +44 -0
  70. package/src/ui/TabSelection.tsx +91 -0
  71. package/src/ui/TextArea.stories.tsx +64 -0
  72. package/src/ui/TextArea.tsx +24 -0
  73. package/src/ui/Tooltip.stories.tsx +84 -0
  74. package/src/ui/Tooltip.tsx +61 -0
  75. package/src/ui/Typography.stories.tsx +87 -0
  76. package/src/ui/Typography.tsx +80 -0
  77. package/src/ui/index.ts +28 -0
  78. package/src/ui/utils.ts +6 -0
  79. package/tsconfig.json +12 -0
  80. package/vitest.config.ts +36 -0
  81. package/vitest.shims.d.ts +1 -0
@@ -0,0 +1,704 @@
1
+ import * as _base_ui_react from '@base-ui/react';
2
+ import { Button as Button$1, Dialog as Dialog$1, Field as Field$1 } from '@base-ui/react';
3
+ import * as React$1 from 'react';
4
+ import React__default, { ReactNode, HTMLAttributes } from 'react';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import { ClassValue } from 'clsx';
7
+ import { Separator as Separator$1 } from '@base-ui/react/separator';
8
+
9
+ interface ButtonProps extends React__default.ButtonHTMLAttributes<HTMLButtonElement> {
10
+ variant?: "primary" | "secondary" | "danger" | "ghost" | "ghostly-danger";
11
+ size?: "sm" | "md" | "lg";
12
+ isLoading?: boolean;
13
+ leftIcon?: React__default.ReactNode;
14
+ rightIcon?: React__default.ReactNode;
15
+ render?: Button$1.Props["render"];
16
+ nativeButton?: boolean;
17
+ isIconOnly?: boolean;
18
+ }
19
+ declare const Button: React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
20
+
21
+ interface InputProps extends React__default.InputHTMLAttributes<HTMLInputElement> {
22
+ leftIcon?: React__default.ReactNode;
23
+ rightIcon?: React__default.ReactNode;
24
+ }
25
+ declare const Input: React__default.ForwardRefExoticComponent<InputProps & React__default.RefAttributes<HTMLInputElement>>;
26
+
27
+ interface SelectOption {
28
+ label: string;
29
+ value: string | number;
30
+ }
31
+ interface SelectProps {
32
+ options: (string | SelectOption)[];
33
+ value?: string | number;
34
+ defaultValue?: string | number;
35
+ onChange?: (value: string | number | null, event: Event) => void;
36
+ disabled?: boolean;
37
+ placeholder?: string;
38
+ className?: string;
39
+ id?: string;
40
+ onFocus?: React__default.FocusEventHandler<HTMLButtonElement>;
41
+ }
42
+ declare const Select: React__default.ForwardRefExoticComponent<SelectProps & React__default.RefAttributes<HTMLButtonElement>>;
43
+
44
+ interface HeadingProps extends React__default.HTMLAttributes<HTMLHeadingElement> {
45
+ level?: 1 | 2 | 3 | 4 | 5 | 6;
46
+ children?: React__default.ReactNode;
47
+ }
48
+ declare const Heading: ({ level, className, children, ...props }: HeadingProps) => React__default.DetailedReactHTMLElement<{
49
+ defaultChecked?: boolean | undefined;
50
+ defaultValue?: string | number | readonly string[] | undefined;
51
+ suppressContentEditableWarning?: boolean | undefined;
52
+ suppressHydrationWarning?: boolean | undefined;
53
+ accessKey?: string | undefined;
54
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
55
+ autoFocus?: boolean | undefined;
56
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
57
+ contextMenu?: string | undefined;
58
+ dir?: string | undefined;
59
+ draggable?: (boolean | "true" | "false") | undefined;
60
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
61
+ hidden?: boolean | undefined;
62
+ id?: string | undefined;
63
+ lang?: string | undefined;
64
+ nonce?: string | undefined;
65
+ slot?: string | undefined;
66
+ spellCheck?: (boolean | "true" | "false") | undefined;
67
+ style?: React__default.CSSProperties | undefined;
68
+ tabIndex?: number | undefined;
69
+ title?: string | undefined;
70
+ translate?: "yes" | "no" | undefined;
71
+ radioGroup?: string | undefined;
72
+ role?: React__default.AriaRole | undefined;
73
+ about?: string | undefined;
74
+ content?: string | undefined;
75
+ datatype?: string | undefined;
76
+ inlist?: any;
77
+ prefix?: string | undefined;
78
+ property?: string | undefined;
79
+ rel?: string | undefined;
80
+ resource?: string | undefined;
81
+ rev?: string | undefined;
82
+ typeof?: string | undefined;
83
+ vocab?: string | undefined;
84
+ autoCorrect?: string | undefined;
85
+ autoSave?: string | undefined;
86
+ color?: string | undefined;
87
+ itemProp?: string | undefined;
88
+ itemScope?: boolean | undefined;
89
+ itemType?: string | undefined;
90
+ itemID?: string | undefined;
91
+ itemRef?: string | undefined;
92
+ results?: number | undefined;
93
+ security?: string | undefined;
94
+ unselectable?: "on" | "off" | undefined;
95
+ popover?: "" | "auto" | "manual" | "hint" | undefined;
96
+ popoverTargetAction?: "toggle" | "show" | "hide" | undefined;
97
+ popoverTarget?: string | undefined;
98
+ inert?: boolean | undefined;
99
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
100
+ is?: string | undefined;
101
+ exportparts?: string | undefined;
102
+ part?: string | undefined;
103
+ "aria-activedescendant"?: string | undefined;
104
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
105
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
106
+ "aria-braillelabel"?: string | undefined;
107
+ "aria-brailleroledescription"?: string | undefined;
108
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
109
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
110
+ "aria-colcount"?: number | undefined;
111
+ "aria-colindex"?: number | undefined;
112
+ "aria-colindextext"?: string | undefined;
113
+ "aria-colspan"?: number | undefined;
114
+ "aria-controls"?: string | undefined;
115
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
116
+ "aria-describedby"?: string | undefined;
117
+ "aria-description"?: string | undefined;
118
+ "aria-details"?: string | undefined;
119
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
120
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
121
+ "aria-errormessage"?: string | undefined;
122
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
123
+ "aria-flowto"?: string | undefined;
124
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
125
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
126
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
127
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
128
+ "aria-keyshortcuts"?: string | undefined;
129
+ "aria-label"?: string | undefined;
130
+ "aria-labelledby"?: string | undefined;
131
+ "aria-level"?: number | undefined;
132
+ "aria-live"?: "off" | "assertive" | "polite" | undefined;
133
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
134
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
135
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
136
+ "aria-orientation"?: "horizontal" | "vertical" | undefined;
137
+ "aria-owns"?: string | undefined;
138
+ "aria-placeholder"?: string | undefined;
139
+ "aria-posinset"?: number | undefined;
140
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
141
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
142
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
143
+ "aria-required"?: (boolean | "true" | "false") | undefined;
144
+ "aria-roledescription"?: string | undefined;
145
+ "aria-rowcount"?: number | undefined;
146
+ "aria-rowindex"?: number | undefined;
147
+ "aria-rowindextext"?: string | undefined;
148
+ "aria-rowspan"?: number | undefined;
149
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
150
+ "aria-setsize"?: number | undefined;
151
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
152
+ "aria-valuemax"?: number | undefined;
153
+ "aria-valuemin"?: number | undefined;
154
+ "aria-valuenow"?: number | undefined;
155
+ "aria-valuetext"?: string | undefined;
156
+ dangerouslySetInnerHTML?: {
157
+ __html: string | TrustedHTML;
158
+ } | undefined;
159
+ onCopy?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
160
+ onCopyCapture?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
161
+ onCut?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
162
+ onCutCapture?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
163
+ onPaste?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
164
+ onPasteCapture?: React__default.ClipboardEventHandler<HTMLHeadingElement> | undefined;
165
+ onCompositionEnd?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
166
+ onCompositionEndCapture?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
167
+ onCompositionStart?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
168
+ onCompositionStartCapture?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
169
+ onCompositionUpdate?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
170
+ onCompositionUpdateCapture?: React__default.CompositionEventHandler<HTMLHeadingElement> | undefined;
171
+ onFocus?: React__default.FocusEventHandler<HTMLHeadingElement> | undefined;
172
+ onFocusCapture?: React__default.FocusEventHandler<HTMLHeadingElement> | undefined;
173
+ onBlur?: React__default.FocusEventHandler<HTMLHeadingElement> | undefined;
174
+ onBlurCapture?: React__default.FocusEventHandler<HTMLHeadingElement> | undefined;
175
+ onChange?: React__default.ChangeEventHandler<HTMLHeadingElement, Element> | undefined;
176
+ onChangeCapture?: React__default.ChangeEventHandler<HTMLHeadingElement, Element> | undefined;
177
+ onBeforeInput?: React__default.InputEventHandler<HTMLHeadingElement> | undefined;
178
+ onBeforeInputCapture?: React__default.InputEventHandler<HTMLHeadingElement> | undefined;
179
+ onInput?: React__default.InputEventHandler<HTMLHeadingElement> | undefined;
180
+ onInputCapture?: React__default.InputEventHandler<HTMLHeadingElement> | undefined;
181
+ onReset?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
182
+ onResetCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
183
+ onSubmit?: React__default.SubmitEventHandler<HTMLHeadingElement> | undefined;
184
+ onSubmitCapture?: React__default.SubmitEventHandler<HTMLHeadingElement> | undefined;
185
+ onInvalid?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
186
+ onInvalidCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
187
+ onLoad?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
188
+ onLoadCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
189
+ onError?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
190
+ onErrorCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
191
+ onKeyDown?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
192
+ onKeyDownCapture?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
193
+ onKeyPress?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
194
+ onKeyPressCapture?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
195
+ onKeyUp?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
196
+ onKeyUpCapture?: React__default.KeyboardEventHandler<HTMLHeadingElement> | undefined;
197
+ onAbort?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
198
+ onAbortCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
199
+ onCanPlay?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
200
+ onCanPlayCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
201
+ onCanPlayThrough?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
202
+ onCanPlayThroughCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
203
+ onDurationChange?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
204
+ onDurationChangeCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
205
+ onEmptied?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
206
+ onEmptiedCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
207
+ onEncrypted?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
208
+ onEncryptedCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
209
+ onEnded?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
210
+ onEndedCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
211
+ onLoadedData?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
212
+ onLoadedDataCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
213
+ onLoadedMetadata?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
214
+ onLoadedMetadataCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
215
+ onLoadStart?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
216
+ onLoadStartCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
217
+ onPause?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
218
+ onPauseCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
219
+ onPlay?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
220
+ onPlayCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
221
+ onPlaying?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
222
+ onPlayingCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
223
+ onProgress?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
224
+ onProgressCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
225
+ onRateChange?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
226
+ onRateChangeCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
227
+ onSeeked?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
228
+ onSeekedCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
229
+ onSeeking?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
230
+ onSeekingCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
231
+ onStalled?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
232
+ onStalledCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
233
+ onSuspend?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
234
+ onSuspendCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
235
+ onTimeUpdate?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
236
+ onTimeUpdateCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
237
+ onVolumeChange?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
238
+ onVolumeChangeCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
239
+ onWaiting?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
240
+ onWaitingCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
241
+ onAuxClick?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
242
+ onAuxClickCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
243
+ onClick?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
244
+ onClickCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
245
+ onContextMenu?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
246
+ onContextMenuCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
247
+ onDoubleClick?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
248
+ onDoubleClickCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
249
+ onDrag?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
250
+ onDragCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
251
+ onDragEnd?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
252
+ onDragEndCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
253
+ onDragEnter?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
254
+ onDragEnterCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
255
+ onDragExit?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
256
+ onDragExitCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
257
+ onDragLeave?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
258
+ onDragLeaveCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
259
+ onDragOver?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
260
+ onDragOverCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
261
+ onDragStart?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
262
+ onDragStartCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
263
+ onDrop?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
264
+ onDropCapture?: React__default.DragEventHandler<HTMLHeadingElement> | undefined;
265
+ onMouseDown?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
266
+ onMouseDownCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
267
+ onMouseEnter?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
268
+ onMouseLeave?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
269
+ onMouseMove?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
270
+ onMouseMoveCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
271
+ onMouseOut?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
272
+ onMouseOutCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
273
+ onMouseOver?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
274
+ onMouseOverCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
275
+ onMouseUp?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
276
+ onMouseUpCapture?: React__default.MouseEventHandler<HTMLHeadingElement> | undefined;
277
+ onSelect?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
278
+ onSelectCapture?: React__default.ReactEventHandler<HTMLHeadingElement> | undefined;
279
+ onTouchCancel?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
280
+ onTouchCancelCapture?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
281
+ onTouchEnd?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
282
+ onTouchEndCapture?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
283
+ onTouchMove?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
284
+ onTouchMoveCapture?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
285
+ onTouchStart?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
286
+ onTouchStartCapture?: React__default.TouchEventHandler<HTMLHeadingElement> | undefined;
287
+ onPointerDown?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
288
+ onPointerDownCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
289
+ onPointerMove?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
290
+ onPointerMoveCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
291
+ onPointerUp?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
292
+ onPointerUpCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
293
+ onPointerCancel?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
294
+ onPointerCancelCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
295
+ onPointerEnter?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
296
+ onPointerLeave?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
297
+ onPointerOver?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
298
+ onPointerOverCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
299
+ onPointerOut?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
300
+ onPointerOutCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
301
+ onGotPointerCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
302
+ onGotPointerCaptureCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
303
+ onLostPointerCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
304
+ onLostPointerCaptureCapture?: React__default.PointerEventHandler<HTMLHeadingElement> | undefined;
305
+ onScroll?: React__default.UIEventHandler<HTMLHeadingElement> | undefined;
306
+ onScrollCapture?: React__default.UIEventHandler<HTMLHeadingElement> | undefined;
307
+ onScrollEnd?: React__default.UIEventHandler<HTMLHeadingElement> | undefined;
308
+ onScrollEndCapture?: React__default.UIEventHandler<HTMLHeadingElement> | undefined;
309
+ onWheel?: React__default.WheelEventHandler<HTMLHeadingElement> | undefined;
310
+ onWheelCapture?: React__default.WheelEventHandler<HTMLHeadingElement> | undefined;
311
+ onAnimationStart?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
312
+ onAnimationStartCapture?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
313
+ onAnimationEnd?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
314
+ onAnimationEndCapture?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
315
+ onAnimationIteration?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
316
+ onAnimationIterationCapture?: React__default.AnimationEventHandler<HTMLHeadingElement> | undefined;
317
+ onToggle?: React__default.ToggleEventHandler<HTMLHeadingElement> | undefined;
318
+ onBeforeToggle?: React__default.ToggleEventHandler<HTMLHeadingElement> | undefined;
319
+ onTransitionCancel?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
320
+ onTransitionCancelCapture?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
321
+ onTransitionEnd?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
322
+ onTransitionEndCapture?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
323
+ onTransitionRun?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
324
+ onTransitionRunCapture?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
325
+ onTransitionStart?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
326
+ onTransitionStartCapture?: React__default.TransitionEventHandler<HTMLHeadingElement> | undefined;
327
+ className: string;
328
+ }, HTMLElement>;
329
+ interface TextProps extends React__default.HTMLAttributes<HTMLElement> {
330
+ variant?: "default" | "muted" | "error" | "small";
331
+ as?: React__default.ElementType;
332
+ children?: React__default.ReactNode;
333
+ }
334
+ declare const Text: ({ variant, as: Component, className, children, ...props }: TextProps) => React__default.ReactElement<any, string | React__default.JSXElementConstructor<any>>;
335
+ declare const TypographyList: ({ args }: {
336
+ args: Record<string, unknown>;
337
+ }) => react_jsx_runtime.JSX.Element;
338
+
339
+ /**
340
+ * Raw path data for icons, useful for non-React contexts (like PixiJS Graphics.svg)
341
+ */
342
+ declare const iconPaths: {
343
+ check: string;
344
+ x: string;
345
+ edit: string;
346
+ close: string;
347
+ plus: string;
348
+ arrowDown: string;
349
+ arrowUp: string;
350
+ clipboard: string;
351
+ cloudArrowUp: string;
352
+ arrowDownToLine: string;
353
+ folder: string;
354
+ arrowUpFromLine: string;
355
+ squares: string;
356
+ tableCells: string;
357
+ arrowsRightLeft: string;
358
+ document: string;
359
+ externalLink: string;
360
+ lock: string;
361
+ shoppingCart: string;
362
+ minus: string;
363
+ pencilSquare: string;
364
+ pencilSquareContinued: string;
365
+ chevronUpSmall: string;
366
+ chevronDownSmall: string;
367
+ chevronUpTable: string;
368
+ chevronDownTable: string;
369
+ speakerWave: string;
370
+ zap: string;
371
+ code: string;
372
+ questionMarkCircle: string;
373
+ search: string;
374
+ exclamationCircle: string;
375
+ exclamationTriangle: string;
376
+ checkCircle: string;
377
+ megaphone: string;
378
+ xCircle: string;
379
+ arrowsPointingIn: string;
380
+ arrowsPointingOut: string;
381
+ arrowPath: string;
382
+ arrowUturnLeft: string;
383
+ magnifyingGlassPlus: string;
384
+ arrowsUpDown: string;
385
+ envelope: string;
386
+ lockClosed: string;
387
+ userCircle: string;
388
+ arrowRightOnRectangle: string;
389
+ chevronRight: string;
390
+ arrowDownTray: string;
391
+ arrowUpTray: string;
392
+ import: string;
393
+ export: string;
394
+ home: string;
395
+ play: string;
396
+ };
397
+ /**
398
+ * Icons that are complex React nodes
399
+ */
400
+ declare const complexIcons: {
401
+ readonly eye: react_jsx_runtime.JSX.Element;
402
+ readonly google: react_jsx_runtime.JSX.Element;
403
+ };
404
+ type IconName = keyof typeof iconPaths | keyof typeof complexIcons;
405
+
406
+ interface IconProps extends React__default.SVGProps<SVGSVGElement> {
407
+ size?: "sm" | "md" | "lg" | "xl";
408
+ name?: IconName;
409
+ }
410
+ declare const Icon: React__default.ForwardRefExoticComponent<Omit<IconProps, "ref"> & React__default.RefAttributes<SVGSVGElement>>;
411
+
412
+ interface SliderProps {
413
+ min?: number;
414
+ max?: number;
415
+ step?: number;
416
+ value?: number;
417
+ defaultValue?: number;
418
+ disabled?: boolean;
419
+ onChange?: (value: number | number[], event: Event) => void;
420
+ className?: string;
421
+ name?: string;
422
+ icon?: React__default.ReactNode;
423
+ }
424
+ declare const Slider: React__default.ForwardRefExoticComponent<SliderProps & React__default.RefAttributes<HTMLDivElement>>;
425
+
426
+ interface SliderWithNumberFieldProps {
427
+ min?: number;
428
+ max?: number;
429
+ step?: number;
430
+ value?: number;
431
+ defaultValue?: number;
432
+ disabled?: boolean;
433
+ onChange?: (value: number, event: Event) => void;
434
+ className?: string;
435
+ inputWidth?: string;
436
+ }
437
+ declare const SliderWithNumberField: React__default.ForwardRefExoticComponent<SliderWithNumberFieldProps & React__default.RefAttributes<HTMLDivElement>>;
438
+
439
+ interface TooltipProps {
440
+ content: React__default.ReactNode;
441
+ children: React__default.ReactNode;
442
+ className?: string;
443
+ delay?: "normal" | "slow";
444
+ }
445
+ declare function Tooltip({ content, children, className, delay, }: TooltipProps): react_jsx_runtime.JSX.Element;
446
+ interface HelperTooltipProps {
447
+ content: React__default.ReactNode;
448
+ className?: string;
449
+ }
450
+ declare function HelperTooltip({ content, className }: HelperTooltipProps): react_jsx_runtime.JSX.Element;
451
+
452
+ declare function cn(...inputs: ClassValue[]): string;
453
+
454
+ interface DialogProps {
455
+ open?: boolean;
456
+ onOpenChange?: (open: boolean, event?: Event) => void;
457
+ trigger?: React__default.ReactNode;
458
+ children: React__default.ReactNode;
459
+ className?: string;
460
+ }
461
+ declare function Dialog({ open, onOpenChange, trigger, children, className, }: DialogProps): react_jsx_runtime.JSX.Element;
462
+ declare const DialogTitle: (props: React__default.ComponentProps<typeof Dialog$1.Title>) => react_jsx_runtime.JSX.Element;
463
+ declare const DialogDescription: (props: React__default.ComponentProps<typeof Dialog$1.Description>) => react_jsx_runtime.JSX.Element;
464
+ declare const DialogClose: (props: React__default.ComponentProps<typeof Dialog$1.Close>) => react_jsx_runtime.JSX.Element;
465
+
466
+ interface PopoverProps {
467
+ trigger: React__default.ReactNode;
468
+ children: React__default.ReactNode;
469
+ side?: "top" | "right" | "bottom" | "left";
470
+ align?: "start" | "center" | "end";
471
+ className?: string;
472
+ open?: boolean;
473
+ onOpenChange?: (open: boolean) => void;
474
+ }
475
+ declare function Popover({ trigger, children, side, align, className, open, onOpenChange, }: PopoverProps): react_jsx_runtime.JSX.Element;
476
+
477
+ interface DropdownProps {
478
+ trigger: React__default.ReactNode;
479
+ children: React__default.ReactNode;
480
+ align?: "start" | "center" | "end";
481
+ className?: string;
482
+ }
483
+ declare function Dropdown({ trigger, children, align, className, }: DropdownProps): react_jsx_runtime.JSX.Element;
484
+ declare const DropdownItem: React__default.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.ContextMenuItemProps, "ref"> & React__default.RefAttributes<HTMLElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
485
+ declare const DropdownSeparator: React__default.ForwardRefExoticComponent<Omit<Omit<_base_ui_react.SeparatorProps, "ref"> & React__default.RefAttributes<HTMLDivElement>, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
486
+
487
+ interface CollapsibleProps {
488
+ title: React__default.ReactNode;
489
+ children: React__default.ReactNode;
490
+ /** The variant of the trigger button */
491
+ variant?: ButtonProps["variant"];
492
+ /** The size of the trigger button */
493
+ size?: ButtonProps["size"];
494
+ defaultOpen?: boolean;
495
+ className?: string;
496
+ }
497
+ declare function Collapsible({ title, children, variant, size, defaultOpen, className, }: CollapsibleProps): react_jsx_runtime.JSX.Element;
498
+
499
+ interface SwitchProps extends React__default.AriaAttributes {
500
+ checked?: boolean;
501
+ defaultChecked?: boolean;
502
+ onChange?: (checked: boolean, event: Event) => void;
503
+ disabled?: boolean;
504
+ className?: string;
505
+ id?: string;
506
+ name?: string;
507
+ }
508
+ declare const Switch: React__default.ForwardRefExoticComponent<SwitchProps & React__default.RefAttributes<HTMLButtonElement>>;
509
+
510
+ interface LabelProps extends React__default.LabelHTMLAttributes<HTMLLabelElement> {
511
+ children: React__default.ReactNode;
512
+ tooltip?: string;
513
+ className?: string;
514
+ }
515
+ declare function Label({ children, tooltip, className, ...props }: LabelProps): react_jsx_runtime.JSX.Element;
516
+
517
+ interface BasePanelProps {
518
+ title: string;
519
+ children: ReactNode;
520
+ onClose?: () => void;
521
+ className?: string;
522
+ headerClassName?: string;
523
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
524
+ setPanel: (panel: string) => void;
525
+ }
526
+ declare function BasePanel({ title, children, onClose, className, headerClassName, headingLevel, setPanel }: BasePanelProps): react_jsx_runtime.JSX.Element;
527
+
528
+ interface TabRadioOption<T extends string> {
529
+ value: T;
530
+ label: ReactNode;
531
+ disabled?: boolean;
532
+ }
533
+ interface TabRadioProps<T extends string> {
534
+ options: readonly TabRadioOption<T>[];
535
+ value: T | undefined | null;
536
+ onChange: (value: T | undefined) => void;
537
+ className?: string;
538
+ variant?: "default" | "primary" | "danger";
539
+ "aria-label"?: string;
540
+ }
541
+ declare function TabRadio<T extends string>({ options, value, onChange, className, variant, "aria-label": ariaLabel, }: TabRadioProps<T>): react_jsx_runtime.JSX.Element;
542
+
543
+ interface NumberFieldProps {
544
+ value?: number | null;
545
+ defaultValue?: number;
546
+ min?: number;
547
+ max?: number;
548
+ step?: number;
549
+ onChange?: (value: number | null, event: Event) => void;
550
+ disabled?: boolean;
551
+ readOnly?: boolean;
552
+ className?: string;
553
+ id?: string;
554
+ placeholder?: string;
555
+ showButtons?: boolean;
556
+ }
557
+ declare const NumberField: React__default.ForwardRefExoticComponent<NumberFieldProps & React__default.RefAttributes<HTMLDivElement>>;
558
+
559
+ interface FieldProps extends Field$1.Root.Props {
560
+ label?: string;
561
+ description?: string;
562
+ error?: string;
563
+ tooltip?: string;
564
+ children: React__default.ReactNode;
565
+ icon?: React__default.ReactNode;
566
+ labelPlacement?: "top" | "left" | "right";
567
+ labelWeight?: "bold" | "normal";
568
+ }
569
+ /**
570
+ * A wrapper component that provides a label, description, and error message for form controls.
571
+ * Uses Base UI's Field primitives for accessibility.
572
+ */
573
+ declare const Field: React__default.ForwardRefExoticComponent<Omit<FieldProps, "ref"> & React__default.RefAttributes<HTMLDivElement>>;
574
+
575
+ type AnchorProps = React$1.AnchorHTMLAttributes<HTMLAnchorElement>;
576
+ declare const Anchor: React$1.ForwardRefExoticComponent<AnchorProps & React$1.RefAttributes<HTMLAnchorElement>>;
577
+
578
+ type TextAreaProps = React__default.TextareaHTMLAttributes<HTMLTextAreaElement>;
579
+ declare const TextArea: React__default.ForwardRefExoticComponent<TextAreaProps & React__default.RefAttributes<HTMLTextAreaElement>>;
580
+
581
+ type CheckboxProps = React__default.InputHTMLAttributes<HTMLInputElement>;
582
+ declare const Checkbox: React__default.ForwardRefExoticComponent<CheckboxProps & React__default.RefAttributes<HTMLButtonElement>>;
583
+
584
+ interface SettingsPanelProps {
585
+ /** The title of the section */
586
+ title?: ReactNode;
587
+ /** The content of the panel */
588
+ children: ReactNode;
589
+ /** Custom class for the panel wrapper */
590
+ className?: string;
591
+ /** Custom class for the content area */
592
+ contentClassName?: string;
593
+ /** Whether the panel is collapsible */
594
+ collapsible?: boolean;
595
+ /** Default state of the collapsible panel */
596
+ defaultOpen?: boolean;
597
+ /** The heading level for the title */
598
+ headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;
599
+ }
600
+ /**
601
+ * A standardized panel for settings sections.
602
+ * Provides a consistent look with white background, shadow, and rounded corners.
603
+ */
604
+ declare function SettingsPanel({ title, children, className, contentClassName, collapsible, defaultOpen, headingLevel, }: SettingsPanelProps): react_jsx_runtime.JSX.Element;
605
+
606
+ interface SeparatorProps extends React$1.ComponentPropsWithoutRef<typeof Separator$1> {
607
+ orientation?: "horizontal" | "vertical";
608
+ className?: string;
609
+ }
610
+ declare const Separator: React$1.ForwardRefExoticComponent<SeparatorProps & React$1.RefAttributes<HTMLDivElement>>;
611
+
612
+ interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
613
+ className?: string;
614
+ }
615
+ declare function Skeleton({ className, ...props }: SkeletonProps): react_jsx_runtime.JSX.Element;
616
+
617
+ type AuthFormMode = "signing up" | "signing in" | "resetting password";
618
+ interface AuthFormUIProps {
619
+ mode: AuthFormMode;
620
+ onModeChange: (mode: AuthFormMode) => void;
621
+ formAction: (payload: FormData) => void;
622
+ actionState: {
623
+ error: string;
624
+ message: string;
625
+ };
626
+ onGoogleSignIn?: () => void;
627
+ title?: React.ReactNode;
628
+ description?: React.ReactNode;
629
+ }
630
+ declare function AuthFormUI({ mode, onModeChange, formAction, actionState, onGoogleSignIn, title, description, }: AuthFormUIProps): react_jsx_runtime.JSX.Element;
631
+
632
+ type AlertLevel = "Error" | "Warning" | "Success" | "Info";
633
+ interface AlertAction {
634
+ name: string;
635
+ callback: () => void;
636
+ }
637
+ interface AlertUIProps {
638
+ level: AlertLevel;
639
+ message: React.ReactNode;
640
+ action?: AlertAction;
641
+ }
642
+ declare function Alert({ level, message, action }: AlertUIProps): react_jsx_runtime.JSX.Element;
643
+
644
+ interface TabItem {
645
+ id: string;
646
+ label: string;
647
+ onClose?: () => void;
648
+ onEdit?: () => void;
649
+ }
650
+ interface TabSelectionProps {
651
+ tabs: TabItem[];
652
+ activeTabId: string | null;
653
+ onTabClick: (id: string) => void;
654
+ onAddClick?: () => void;
655
+ className?: string;
656
+ }
657
+ declare function TabSelection({ tabs, activeTabId, onTabClick, onAddClick, className, }: TabSelectionProps): react_jsx_runtime.JSX.Element;
658
+
659
+ interface SEOProps {
660
+ title: string;
661
+ description?: string;
662
+ image?: string;
663
+ url?: string;
664
+ type?: string;
665
+ }
666
+ declare function SEO({ title, description, image, // Default image if one exists, customizable
667
+ url, type, }: SEOProps): react_jsx_runtime.JSX.Element;
668
+
669
+ interface DistributionBarData {
670
+ label: string;
671
+ count: number;
672
+ items?: string[];
673
+ fill?: string;
674
+ stroke?: string;
675
+ }
676
+ interface DistributionBarChartProps {
677
+ data: DistributionBarData[];
678
+ alt: string;
679
+ chartWidth?: number;
680
+ chartHeight?: number;
681
+ average?: number;
682
+ referenceLineValue?: number;
683
+ referenceLineLabel?: string;
684
+ label?: string;
685
+ }
686
+ declare function DistributionBarChart({ data, alt, chartWidth, chartHeight, average, referenceLineValue, referenceLineLabel, label, }: DistributionBarChartProps): react_jsx_runtime.JSX.Element | null;
687
+
688
+ interface DistributionHistogramData {
689
+ x: number;
690
+ text: string;
691
+ }
692
+ interface DistributionHistogramProps {
693
+ data: DistributionHistogramData[];
694
+ alt: string;
695
+ label: string;
696
+ average?: number;
697
+ referenceLineValue?: number;
698
+ referenceLineLabel?: string;
699
+ chartWidth?: number;
700
+ chartHeight?: number;
701
+ }
702
+ declare function DistributionHistogram({ data, alt, label, average, referenceLineValue, referenceLineLabel, chartWidth, chartHeight, }: DistributionHistogramProps): react_jsx_runtime.JSX.Element | null;
703
+
704
+ export { Alert, type AlertAction, type AlertLevel, type AlertUIProps, Anchor, type AnchorProps, type AuthFormMode, AuthFormUI, type AuthFormUIProps, BasePanel, type BasePanelProps, Button, type ButtonProps, Checkbox, type CheckboxProps, Collapsible, type CollapsibleProps, Dialog, DialogClose, DialogDescription, type DialogProps, DialogTitle, DistributionBarChart, type DistributionBarChartProps, type DistributionBarData, DistributionHistogram, type DistributionHistogramData, type DistributionHistogramProps, Dropdown, DropdownItem, type DropdownProps, DropdownSeparator, Field, type FieldProps, Heading, HelperTooltip, type HelperTooltipProps, Icon, type IconName, type IconProps, Input, type InputProps, Label, type LabelProps, NumberField, type NumberFieldProps, Popover, type PopoverProps, SEO, Select, type SelectOption, type SelectProps, Separator, type SeparatorProps, SettingsPanel, type SettingsPanelProps, Skeleton, type SkeletonProps, Slider, type SliderProps, SliderWithNumberField, type SliderWithNumberFieldProps, Switch, type SwitchProps, type TabItem, TabRadio, type TabRadioOption, type TabRadioProps, TabSelection, type TabSelectionProps, Text, TextArea, type TextAreaProps, Tooltip, type TooltipProps, TypographyList, cn };