@stackone/malachite 0.58.0 → 0.59.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/dist/index.d.ts CHANGED
@@ -13,6 +13,13 @@ export declare const Accordion: default_2.FC<AccordionProps>;
13
13
  declare interface AccordionBaseProps {
14
14
  className?: string;
15
15
  children?: default_2.ReactNode;
16
+ /**
17
+ * Visual style. `default` is the flat list row (arrow leading, row dividers,
18
+ * hover background). `sunken` draws the section as a sunken card (dimmed
19
+ * rounded container, arrow pinned right, no dividers/hover) — used for stacked
20
+ * detail sections in side panels and detail pages (see `CollapsibleSection`).
21
+ */
22
+ variant?: 'default' | 'sunken';
16
23
  /**
17
24
  * Content pinned to the right of the header, OUTSIDE the toggle button — so it may
18
25
  * be interactive (e.g. a Checkbox) without nesting a button inside a button.
@@ -270,6 +277,21 @@ export declare interface CheckboxProps {
270
277
  id?: string;
271
278
  }
272
279
 
280
+ /**
281
+ * Text clamped to `lines`, revealing the full text on hover / keyboard focus when
282
+ * `expandOnHover`. Pure CSS; `line-height` is fixed at 1.5 so the collapsed max-height
283
+ * matches `lines` exactly for the animation. The expanded state caps at 1000px, so this
284
+ * is for short blurbs — longer content clips rather than a scrollable component.
285
+ */
286
+ export declare const ClampText: default_2.FC<ClampTextProps>;
287
+
288
+ export declare interface ClampTextProps {
289
+ children: default_2.ReactNode;
290
+ lines?: number;
291
+ expandOnHover?: boolean;
292
+ className?: string;
293
+ }
294
+
273
295
  export declare const CodeBlock: default_2.FC<CodeBlockProps>;
274
296
 
275
297
  declare interface CodeBlockProps {
@@ -287,6 +309,13 @@ declare interface CodeBlockProps {
287
309
  height?: string | number;
288
310
  /** Enable copy functionality */
289
311
  enableCopy?: boolean;
312
+ /** Wrap long lines instead of scrolling horizontally */
313
+ wrapLines?: boolean;
314
+ /**
315
+ * Highlight the code with this language's grammar. Deliberately yaml-only for now;
316
+ * widen the union as grammars are registered in CodeBlockHighlighter.
317
+ */
318
+ language?: 'yaml';
290
319
  }
291
320
 
292
321
  declare interface CodeTextProps {
@@ -300,6 +329,18 @@ declare interface CodeTextProps {
300
329
  style?: default_2.CSSProperties;
301
330
  }
302
331
 
332
+ export declare const CollapsibleSection: default_2.FC<CollapsibleSectionProps>;
333
+
334
+ export declare interface CollapsibleSectionProps {
335
+ title: string;
336
+ subtitle?: string;
337
+ defaultExpanded?: boolean;
338
+ isExpanded?: boolean;
339
+ onToggle?: (expanded: boolean) => void;
340
+ className?: string;
341
+ children: default_2.ReactNode;
342
+ }
343
+
303
344
  export declare const Confetti: default_2.FC<ConfettiProps>;
304
345
 
305
346
  export declare interface ConfettiProps {
@@ -658,6 +699,21 @@ declare type InputType = 'text' | 'password' | 'number' | 'email' | 'tel' | 'url
658
699
 
659
700
  declare type InputVariant = 'default' | 'ghost';
660
701
 
702
+ export declare const KeyValueList: default_2.FC<KeyValueListProps> & {
703
+ Row: typeof Row;
704
+ };
705
+
706
+ export declare interface KeyValueListProps {
707
+ className?: string;
708
+ children: default_2.ReactNode;
709
+ }
710
+
711
+ export declare interface KeyValueListRowProps {
712
+ label: default_2.ReactNode;
713
+ className?: string;
714
+ children: default_2.ReactNode;
715
+ }
716
+
661
717
  export declare const Link: default_2.FC<LinkProps>;
662
718
 
663
719
  export declare interface LinkProps {
@@ -749,6 +805,10 @@ export declare interface MalachiteTheme {
749
805
  /** @deprecated No longer read by any component — glass surfaces derive from `sunkenBackground` (see `glassSurface.ts`). */
750
806
  footerGlassBackground: string;
751
807
  };
808
+ overlay: {
809
+ /** Dimming layer drawn behind modal overlays (e.g. SidePanel). */
810
+ scrim: string;
811
+ };
752
812
  alert: {
753
813
  info: {
754
814
  background: string;
@@ -1121,6 +1181,7 @@ export declare interface PartialMalachiteTheme {
1121
1181
  shadowColor?: string;
1122
1182
  shadowOpacity?: number;
1123
1183
  card?: Partial<MalachiteTheme['colors']['card']>;
1184
+ overlay?: Partial<MalachiteTheme['colors']['overlay']>;
1124
1185
  alert?: Partial<MalachiteTheme['colors']['alert']>;
1125
1186
  tooltip?: Partial<MalachiteTheme['colors']['tooltip']>;
1126
1187
  primary?: Partial<MalachiteTheme['colors']['primary']>;
@@ -1218,6 +1279,8 @@ export declare interface RadioProps {
1218
1279
  */
1219
1280
  export declare function resetTheme(): void;
1220
1281
 
1282
+ declare const Row: default_2.FC<KeyValueListRowProps>;
1283
+
1221
1284
  export declare type RowVariant = 'success' | 'warning' | 'error' | 'info';
1222
1285
 
1223
1286
  export declare const Search: default_2.FC<SearchProps>;
@@ -1266,6 +1329,57 @@ declare interface ShadowEscapeProps {
1266
1329
  className?: string;
1267
1330
  }
1268
1331
 
1332
+ /**
1333
+ * A right-hand slide-in overlay panel (drawer) for inspecting or editing an entity
1334
+ * without leaving the page. Portals to `document.body`, locks background scroll and
1335
+ * traps keyboard focus while open (restoring both on close), dismisses on ESC
1336
+ * (topmost open overlay only), overlay click or the close button, and exposes header
1337
+ * (back/icon/title/subtitle/extra), scrollable body and optional footer slots.
1338
+ */
1339
+ export declare const SidePanel: default_2.FC<SidePanelProps>;
1340
+
1341
+ export declare const SidePanelNavFooter: default_2.FC<SidePanelNavFooterProps>;
1342
+
1343
+ export declare interface SidePanelNavFooterProps {
1344
+ onNavigateUp?: () => void;
1345
+ onNavigateDown?: () => void;
1346
+ canNavigateUp?: boolean;
1347
+ canNavigateDown?: boolean;
1348
+ actions?: default_2.ReactNode;
1349
+ className?: string;
1350
+ }
1351
+
1352
+ export declare interface SidePanelProps {
1353
+ open: boolean;
1354
+ /** Dismiss handler — close button, ESC, or overlay click. */
1355
+ onClose: () => void;
1356
+ title: default_2.ReactNode;
1357
+ /** Secondary text, inline after the title. */
1358
+ subtitle?: default_2.ReactNode;
1359
+ /** Content at the end of the title row, after the subtitle (e.g. a status tag). */
1360
+ titleExtra?: default_2.ReactNode;
1361
+ /** Block paragraph below the title row, spanning the header width. */
1362
+ description?: default_2.ReactNode;
1363
+ /** Divider under the header. Default: false. */
1364
+ headerDivider?: boolean;
1365
+ /** Leading header slot, typically a logo or icon. */
1366
+ icon?: default_2.ReactNode;
1367
+ /** Content pinned right in the header, before the close button. */
1368
+ headerExtra?: default_2.ReactNode;
1369
+ footer?: default_2.ReactNode;
1370
+ /** Renders a back button before the header icon. */
1371
+ onBack?: () => void;
1372
+ /** Maximum panel width. Default: 1080. */
1373
+ maxWidth?: number | string;
1374
+ /** Accessible dialog name; required when `title` isn't a plain string. */
1375
+ 'aria-label'?: string;
1376
+ /** ID of a visible element naming the dialog (alternative to `aria-label`). */
1377
+ 'aria-labelledby'?: string;
1378
+ /** Whether the body gets default padding. Default: true. */
1379
+ bodyPadding?: boolean;
1380
+ children: default_2.ReactNode;
1381
+ }
1382
+
1269
1383
  export declare const Skeleton: {
1270
1384
  Button: default_2.FC<SkeletonButtonProps>;
1271
1385
  Input: default_2.FC<SkeletonInputProps>;