@stackone/malachite 0.68.0 → 0.69.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
@@ -127,7 +127,7 @@ declare interface AlertProps {
127
127
  onToggle?: (expanded: boolean) => void;
128
128
  }
129
129
 
130
- declare type AlertType = 'info' | 'success' | 'error' | 'warning';
130
+ export declare type AlertType = 'info' | 'success' | 'error' | 'warning';
131
131
 
132
132
  export declare const AppLogo: default_2.FC<AppLogoProps>;
133
133
 
@@ -223,9 +223,25 @@ declare interface BaseSkeletonProps {
223
223
  className?: string;
224
224
  }
225
225
 
226
+ export declare interface BreadcrumbLink {
227
+ name: default_2.ReactNode;
228
+ url?: string;
229
+ isRoot?: boolean;
230
+ }
231
+
232
+ export declare const Breadcrumbs: default_2.FC<BreadcrumbsProps>;
233
+
234
+ export declare interface BreadcrumbsProps {
235
+ links: BreadcrumbLink[];
236
+ actions?: PageAction[];
237
+ renderLink?: RenderBreadcrumbLink;
238
+ className?: string;
239
+ style?: default_2.CSSProperties;
240
+ }
241
+
226
242
  export declare const buildActionBarMenuItems: (buttons: ActionBarItem[]) => ActionMenuItem[];
227
243
 
228
- export declare const Button: default_2.ForwardRefExoticComponent<ButtonProps & default_2.RefAttributes<HTMLButtonElement>>;
244
+ export declare const Button: default_2.ForwardRefExoticComponent<ButtonProps & default_2.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
229
245
 
230
246
  declare interface ButtonDefinition {
231
247
  label: string;
@@ -276,14 +292,18 @@ declare interface ButtonProps extends default_2.ButtonHTMLAttributes<HTMLButtonE
276
292
  tooltipPlacement?: 'top' | 'bottom' | 'left' | 'right';
277
293
  iconOnly?: boolean;
278
294
  children?: default_2.ReactNode;
279
- onClick?: default_2.MouseEventHandler<HTMLButtonElement>;
295
+ onClick?: default_2.MouseEventHandler<HTMLButtonElement & HTMLAnchorElement>;
296
+ /** Renders the button as a real anchor, so a link action is never an <a> nested in a <button>. */
297
+ href?: string;
298
+ target?: default_2.HTMLAttributeAnchorTarget;
299
+ rel?: string;
280
300
  }
281
301
 
282
- declare type ButtonRadius = 'md' | 'lg' | 'xl';
302
+ export declare type ButtonRadius = 'md' | 'lg' | 'xl';
283
303
 
284
- declare type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large';
304
+ export declare type ButtonSize = 'xsmall' | 'small' | 'medium' | 'large';
285
305
 
286
- declare type ButtonVariant = 'filled' | 'outline' | 'destructive' | 'success' | 'warning' | 'error' | 'ghost' | 'no-style';
306
+ export declare type ButtonVariant = 'filled' | 'outline' | 'destructive' | 'success' | 'warning' | 'error' | 'ghost' | 'no-style';
287
307
 
288
308
  export declare const Card: default_2.FC<CardProps>;
289
309
 
@@ -660,6 +680,21 @@ declare interface EllipsisTextProps {
660
680
  style?: default_2.CSSProperties;
661
681
  }
662
682
 
683
+ export declare interface EmptyLayoutProps {
684
+ title?: string;
685
+ children: default_2.ReactNode;
686
+ centered?: boolean;
687
+ uniformPadding?: boolean;
688
+ headerActions?: default_2.ReactNode;
689
+ background?: default_2.ReactNode;
690
+ /** Demotes the default `main` landmark — pass e.g. `region` when the app owns its own. */
691
+ role?: default_2.AriaRole;
692
+ 'aria-label'?: string;
693
+ 'aria-labelledby'?: string;
694
+ className?: string;
695
+ style?: default_2.CSSProperties;
696
+ }
697
+
663
698
  export declare const Flex: default_2.FC<FlexProps>;
664
699
 
665
700
  export declare enum FlexAlign {
@@ -1357,6 +1392,28 @@ declare type PaddingSize_2 = 'xsmall' | 'small' | 'medium' | 'large' | 'none';
1357
1392
 
1358
1393
  declare type PaddingSize_3 = 'default' | 'compact';
1359
1394
 
1395
+ export declare interface PageAction {
1396
+ label: string;
1397
+ /** Ignored when `href` is set. */
1398
+ onClick?: () => void;
1399
+ disabled?: boolean;
1400
+ variant?: ButtonVariant;
1401
+ icon?: default_2.ReactNode;
1402
+ href?: string;
1403
+ /** Defaults to `_blank`. */
1404
+ target?: '_self' | '_blank';
1405
+ tooltip?: string;
1406
+ tooltipPlacement?: 'top' | 'bottom' | 'left' | 'right';
1407
+ dividerBefore?: boolean;
1408
+ }
1409
+
1410
+ declare type PageContentGap = 'small' | 'medium' | 'large' | 'xlarge';
1411
+
1412
+ export declare const PageLayout: {
1413
+ Regular: FC<RegularLayoutProps>;
1414
+ Empty: FC<EmptyLayoutProps>;
1415
+ };
1416
+
1360
1417
  declare interface PageTitleProps {
1361
1418
  children: default_2.ReactNode;
1362
1419
  margin?: string;
@@ -1479,6 +1536,48 @@ export declare interface RadioProps {
1479
1536
  id?: string;
1480
1537
  }
1481
1538
 
1539
+ export declare interface RegularLayoutProps {
1540
+ breadcrumbLinks?: BreadcrumbLink[];
1541
+ breadcrumbActions?: PageAction[];
1542
+ renderLink?: RenderBreadcrumbLink;
1543
+ title?: default_2.ReactNode;
1544
+ titleSuffix?: default_2.ReactNode;
1545
+ subtitle?: string;
1546
+ description?: default_2.ReactNode;
1547
+ buttons?: PageAction[];
1548
+ /**
1549
+ * Hides the buttons and skeletons the title. `subtitle` and `description` are only
1550
+ * skeletoned when those props are also passed.
1551
+ */
1552
+ loading?: boolean;
1553
+ children: default_2.ReactNode;
1554
+ centered?: boolean;
1555
+ noPadding?: boolean;
1556
+ contentGap?: PageContentGap;
1557
+ alert?: {
1558
+ message: string;
1559
+ type?: AlertType;
1560
+ };
1561
+ /** Demotes the default `main` landmark — pass e.g. `region` when the app owns its own. */
1562
+ role?: default_2.AriaRole;
1563
+ 'aria-label'?: string;
1564
+ 'aria-labelledby'?: string;
1565
+ className?: string;
1566
+ style?: default_2.CSSProperties;
1567
+ }
1568
+
1569
+ /**
1570
+ * Renders a crumb or the back button through the app's own link component, spreading every
1571
+ * field onto it. A client-side-routed consumer MUST pass this, or navigation breaks.
1572
+ */
1573
+ declare type RenderBreadcrumbLink = (props: {
1574
+ href: string;
1575
+ children: default_2.ReactNode;
1576
+ className?: string;
1577
+ 'aria-current'?: 'page';
1578
+ 'aria-label'?: string;
1579
+ }) => default_2.ReactNode;
1580
+
1482
1581
  /**
1483
1582
  * Reset theme to default values
1484
1583
  */
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { A as s, c as t, d as o, e as r, f as i, g as n, B as l, h as p, i as d, j as T, k as c, l as m, m as S, n as u, o as h, p as g, q as C, r as y, D as w, s as x, t as B, u as F, F as A, v as f, w as v, x as L, y as b, z as k, E as P, G as z, H as D, I as M, K as R, L as I, J as N, M as V, N as j, O as q, P as E, Q as G, R as H, S as J, T as K, U as O, V as W, W as Q, X as U, Y as X, Z as Y, $ as Z, a0 as $, a1 as _, a2 as aa, a3 as ea, a4 as sa, a5 as ta, a6 as oa, a7 as ra, a8 as ia, a9 as na, aa as la, ab as pa, ac as da, ad as Ta, ae as ca, af as ma, ag as Sa, ah as ua, ai as ha, aj as ga, ak as Ca, al as ya, am as wa, an as xa, ao as Ba, ap as Fa, aq as Aa, ar as fa, as as va, at as La, au as ba, av as ka, aw as Pa, ax as za, ay as Da, az as Ma, aA as Ra, aB as Ia } from "./index-BRH2BT_r.js";
1
+ import { A as s, c as t, d as o, e as r, f as i, g as n, B as l, h as p, i as d, j as c, k as m, l as T, m as S, n as u, o as g, p as h, q as C, r as y, s as B, D as w, t as x, u as F, v as A, F as L, w as b, x as f, y as v, z as P, E as k, G as D, H as z, I as M, J as R, K as I, L as N, M as V, N as j, O as q, P as E, Q as G, R as H, S as J, T as K, U as O, V as W, W as Q, X as U, Y as X, Z as Y, $ as Z, a0 as $, a1 as _, a2 as aa, a3 as ea, a4 as sa, a5 as ta, a6 as oa, a7 as ra, a8 as ia, a9 as na, aa as la, ab as pa, ac as da, ad as ca, ae as ma, af as Ta, ag as Sa, ah as ua, ai as ga, aj as ha, ak as Ca, al as ya, am as Ba, an as wa, ao as xa, ap as Fa, aq as Aa, ar as La, as as ba, at as fa, au as va, av as Pa, aw as ka, ax as Da, ay as za, az as Ma, aA as Ra, aB as Ia, aC as Na, aD as Va } from "./index-CG9LBZIb.js";
2
2
  export {
3
3
  s as Accordion,
4
4
  t as ActionBar,
@@ -7,86 +7,88 @@ export {
7
7
  i as AppLogo,
8
8
  n as Avatar,
9
9
  l as BaseFormComponent,
10
- p as Button,
11
- d as ButtonList,
12
- T as Card,
13
- c as CardStrip,
14
- m as Checkbox,
15
- S as ClampText,
16
- u as CodeBlock,
10
+ p as Breadcrumbs,
11
+ d as Button,
12
+ c as ButtonList,
13
+ m as Card,
14
+ T as CardStrip,
15
+ S as Checkbox,
16
+ u as ClampText,
17
+ g as CodeBlock,
17
18
  h as CollapsibleSection,
18
- g as Confetti,
19
- C as ConnectionHeader,
20
- y as CustomIcons,
19
+ C as Confetti,
20
+ y as ConnectionHeader,
21
+ B as CustomIcons,
21
22
  w as DefinitionRow,
22
23
  x as Divider,
23
- B as DividerVariant,
24
- F as Dropdown,
25
- A as Flex,
26
- f as FlexAlign,
27
- v as FlexDirection,
28
- L as FlexGapSize,
29
- b as FlexJustify,
24
+ F as DividerVariant,
25
+ A as Dropdown,
26
+ L as Flex,
27
+ b as FlexAlign,
28
+ f as FlexDirection,
29
+ v as FlexGapSize,
30
+ P as FlexJustify,
30
31
  k as FooterLinks,
31
- P as FooterNav,
32
+ D as FooterNav,
32
33
  z as Form,
33
- D as FormItem,
34
- M as Input,
35
- R as KeyValueList,
36
- I as Link,
37
- N as LoadingBar,
38
- V as MalachiteContext,
39
- j as MultiSelect,
40
- q as NumberTag,
41
- E as OverflowRow,
42
- G as Padded,
43
- H as PaddingSize,
44
- J as PillButton,
45
- K as PreviewTree,
46
- O as PreviewTreeRow,
47
- W as Progress,
48
- Q as Radio,
49
- U as Search,
50
- X as SegmentedControl,
51
- Y as SelectableCard,
52
- Z as ShadowEscape,
53
- $ as SidePanel,
54
- _ as SidePanelNavFooter,
55
- aa as Skeleton,
56
- ea as Spacer,
57
- sa as SpacingSize,
58
- ta as Spinner,
59
- oa as SplitScreenLayout,
60
- ra as StatBadge,
61
- ia as Statistic,
62
- na as StatusBadge,
63
- la as Stepper,
64
- pa as Surface,
65
- da as SurfaceRow,
34
+ M as FormItem,
35
+ R as Input,
36
+ I as KeyValueList,
37
+ N as Link,
38
+ V as LoadingBar,
39
+ j as MalachiteContext,
40
+ q as MultiSelect,
41
+ E as NumberTag,
42
+ G as OverflowRow,
43
+ H as Padded,
44
+ J as PaddingSize,
45
+ K as PageLayout,
46
+ O as PillButton,
47
+ W as PreviewTree,
48
+ Q as PreviewTreeRow,
49
+ U as Progress,
50
+ X as Radio,
51
+ Y as Search,
52
+ Z as SegmentedControl,
53
+ $ as SelectableCard,
54
+ _ as ShadowEscape,
55
+ aa as SidePanel,
56
+ ea as SidePanelNavFooter,
57
+ sa as Skeleton,
58
+ ta as Spacer,
59
+ oa as SpacingSize,
60
+ ra as Spinner,
61
+ ia as SplitScreenLayout,
62
+ na as StatBadge,
63
+ la as Statistic,
64
+ pa as StatusBadge,
65
+ da as Stepper,
66
+ ca as Surface,
67
+ ma as SurfaceRow,
66
68
  Ta as Swatch,
67
- ca as Table,
68
- ma as Tabs,
69
- Sa as Tag,
70
- ua as TextArea,
71
- ha as ThemeScope,
72
- ga as Toggle,
73
- Ca as Toolbar,
74
- ya as Tooltip,
75
- wa as TruncatedTooltip,
76
- xa as Typography,
77
- Ba as WizardLayout,
78
- Fa as applyCustomTheme,
79
- Aa as applyDarkTheme,
69
+ Sa as Table,
70
+ ua as Tabs,
71
+ ga as Tag,
72
+ ha as TextArea,
73
+ Ca as ThemeScope,
74
+ ya as Toggle,
75
+ Ba as Toolbar,
76
+ wa as Tooltip,
77
+ xa as TruncatedTooltip,
78
+ Fa as Typography,
79
+ Aa as WizardLayout,
80
+ La as applyCustomTheme,
81
+ ba as applyDarkTheme,
80
82
  fa as applyLightTheme,
81
83
  va as applyTheme,
82
- La as applyThemeVars,
83
- ba as buildActionBarMenuItems,
84
- ka as darkTheme,
85
- Pa as defaultTheme,
86
- za as getCurrentTheme,
87
- Da as getCurrentThemeMode,
88
- Ma as initializeTheme,
89
- Ra as resetTheme,
90
- Ia as toggleTheme
84
+ Pa as applyThemeVars,
85
+ ka as buildActionBarMenuItems,
86
+ Da as darkTheme,
87
+ za as defaultTheme,
88
+ Ma as getCurrentTheme,
89
+ Ra as getCurrentThemeMode,
90
+ Ia as initializeTheme,
91
+ Na as resetTheme,
92
+ Va as toggleTheme
91
93
  };
92
94
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stackone/malachite",
3
- "version": "0.68.0",
3
+ "version": "0.69.0",
4
4
  "description": "StackOne's themeable React component library — Shadow DOM isolated, scoped Tailwind, theme-token driven.",
5
5
  "license": "MIT",
6
6
  "author": "StackOne",