@ledgerhq/lumen-ui-react 0.0.65 → 0.0.66

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 (49) hide show
  1. package/dist/index.js +66 -59
  2. package/dist/lib/Components/Subheader/Subheader.d.ts +60 -24
  3. package/dist/lib/Components/Subheader/Subheader.d.ts.map +1 -1
  4. package/dist/lib/Components/Subheader/Subheader.js +66 -36
  5. package/dist/lib/Components/Subheader/index.d.ts +1 -1
  6. package/dist/lib/Components/Subheader/index.d.ts.map +1 -1
  7. package/dist/lib/Components/Subheader/types.d.ts +52 -6
  8. package/dist/lib/Components/Subheader/types.d.ts.map +1 -1
  9. package/dist/lib/Symbols/Icons/Asterisk.d.ts +26 -0
  10. package/dist/lib/Symbols/Icons/Asterisk.d.ts.map +1 -0
  11. package/dist/lib/Symbols/Icons/Asterisk.js +28 -0
  12. package/dist/lib/Symbols/Icons/Bell.js +1 -1
  13. package/dist/lib/Symbols/Icons/BellFill.d.ts +26 -0
  14. package/dist/lib/Symbols/Icons/BellFill.d.ts.map +1 -0
  15. package/dist/lib/Symbols/Icons/BellFill.js +25 -0
  16. package/dist/lib/Symbols/Icons/BellNotification.js +1 -1
  17. package/dist/lib/Symbols/Icons/CreditCardFill.d.ts +26 -0
  18. package/dist/lib/Symbols/Icons/CreditCardFill.d.ts.map +1 -0
  19. package/dist/lib/Symbols/Icons/CreditCardFill.js +25 -0
  20. package/dist/lib/Symbols/Icons/Delete.js +1 -1
  21. package/dist/lib/Symbols/Icons/Exchange.js +1 -1
  22. package/dist/lib/Symbols/Icons/ExchangeFill.d.ts +26 -0
  23. package/dist/lib/Symbols/Icons/ExchangeFill.d.ts.map +1 -0
  24. package/dist/lib/Symbols/Icons/ExchangeFill.js +41 -0
  25. package/dist/lib/Symbols/Icons/ExpandLeft.d.ts +26 -0
  26. package/dist/lib/Symbols/Icons/ExpandLeft.d.ts.map +1 -0
  27. package/dist/lib/Symbols/Icons/ExpandLeft.js +28 -0
  28. package/dist/lib/Symbols/Icons/ExpandRight.d.ts +26 -0
  29. package/dist/lib/Symbols/Icons/ExpandRight.d.ts.map +1 -0
  30. package/dist/lib/Symbols/Icons/ExpandRight.js +28 -0
  31. package/dist/lib/Symbols/Icons/Home.js +1 -1
  32. package/dist/lib/Symbols/Icons/HomeFill.d.ts +26 -0
  33. package/dist/lib/Symbols/Icons/HomeFill.d.ts.map +1 -0
  34. package/dist/lib/Symbols/Icons/HomeFill.js +25 -0
  35. package/dist/lib/Symbols/Icons/LifeRingFill.d.ts +26 -0
  36. package/dist/lib/Symbols/Icons/LifeRingFill.d.ts.map +1 -0
  37. package/dist/lib/Symbols/Icons/LifeRingFill.js +25 -0
  38. package/dist/lib/Symbols/Icons/P2p.js +1 -1
  39. package/dist/lib/Symbols/Icons/Signature.js +1 -1
  40. package/dist/lib/Symbols/Icons/Spacerocket.js +1 -1
  41. package/dist/lib/Symbols/Icons/Tools.js +1 -1
  42. package/dist/lib/Symbols/Icons/TransferVertical.js +1 -1
  43. package/dist/lib/Symbols/Icons/Trash.js +1 -1
  44. package/dist/lib/Symbols/Icons/WarningFill.js +1 -1
  45. package/dist/lib/Symbols/index.d.ts +8 -0
  46. package/dist/lib/Symbols/index.d.ts.map +1 -1
  47. package/dist/lib/Symbols/index.js +474 -458
  48. package/dist/package.json +1 -1
  49. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1,51 +1,51 @@
1
- import { Languages as o } from "./i18n/languages.js";
1
+ import { Languages as t } from "./i18n/languages.js";
2
2
  import { AddressInput as n } from "./lib/Components/AddressInput/AddressInput.js";
3
3
  import { AmountInput as p } from "./lib/Components/AmountInput/AmountInput.js";
4
4
  import { Banner as u } from "./lib/Components/Banner/Banner.js";
5
5
  import { BaseInput as l } from "./lib/Components/BaseInput/BaseInput.js";
6
6
  import { Button as f } from "./lib/Components/Button/Button.js";
7
- import { BaseButton as I } from "./lib/Components/Button/BaseButton.js";
8
- import { CardButton as g } from "./lib/Components/CardButton/CardButton.js";
9
- import { Checkbox as s } from "./lib/Components/Checkbox/Checkbox.js";
10
- import { Dialog as M, DialogBody as d, DialogContent as C, DialogFooter as D, DialogTrigger as b } from "./lib/Components/Dialog/Dialog.js";
11
- import { DialogHeader as h } from "./lib/Components/Dialog/DialogHeader/DialogHeader.js";
7
+ import { BaseButton as T } from "./lib/Components/Button/BaseButton.js";
8
+ import { CardButton as c } from "./lib/Components/CardButton/CardButton.js";
9
+ import { Checkbox as d } from "./lib/Components/Checkbox/Checkbox.js";
10
+ import { Dialog as b, DialogBody as h, DialogContent as M, DialogFooter as L, DialogTrigger as C } from "./lib/Components/Dialog/Dialog.js";
11
+ import { DialogHeader as B } from "./lib/Components/Dialog/DialogHeader/DialogHeader.js";
12
12
  import { Divider as v } from "./lib/Components/Divider/Divider.js";
13
- import { IconButton as G } from "./lib/Components/IconButton/IconButton.js";
14
- import { InteractiveIcon as y } from "./lib/Components/InteractiveIcon/InteractiveIcon.js";
15
- import { Link as w } from "./lib/Components/Link/Link.js";
13
+ import { IconButton as w } from "./lib/Components/IconButton/IconButton.js";
14
+ import { InteractiveIcon as P } from "./lib/Components/InteractiveIcon/InteractiveIcon.js";
15
+ import { Link as y } from "./lib/Components/Link/Link.js";
16
16
  import { ListItem as H, ListItemContent as j, ListItemDescription as q, ListItemIcon as z, ListItemLeading as E, ListItemSpot as J, ListItemTitle as K, ListItemTrailing as N, ListItemTruncate as O } from "./lib/Components/ListItem/ListItem.js";
17
- import { Menu as U, MenuCheckboxItem as V, MenuContent as W, MenuGroup as X, MenuItem as Y, MenuLabel as Z, MenuPortal as _, MenuRadioGroup as $, MenuRadioItem as ee, MenuSeparator as te, MenuSub as oe, MenuSubContent as re, MenuSubTrigger as ne, MenuTrigger as ie } from "./lib/Components/Menu/Menu.js";
17
+ import { Menu as U, MenuCheckboxItem as V, MenuContent as W, MenuGroup as X, MenuItem as Y, MenuLabel as Z, MenuPortal as _, MenuRadioGroup as $, MenuRadioItem as ee, MenuSeparator as oe, MenuSub as te, MenuSubContent as re, MenuSubTrigger as ne, MenuTrigger as ie } from "./lib/Components/Menu/Menu.js";
18
18
  import { SearchInput as me } from "./lib/Components/SearchInput/SearchInput.js";
19
- import { Select as xe, SelectContent as le, SelectGroup as ae, SelectItem as fe, SelectItemText as Te, SelectLabel as Ie, SelectSeparator as ce, SelectTrigger as ge } from "./lib/Components/Select/Select.js";
20
- import { Skeleton as se } from "./lib/Components/Skeleton/Skeleton.js";
21
- import { Spot as Me } from "./lib/Components/Spot/Spot.js";
22
- import { Subheader as Ce } from "./lib/Components/Subheader/Subheader.js";
23
- import { Switch as be } from "./lib/Components/Switch/Switch.js";
24
- import { Tag as he } from "./lib/Components/Tag/Tag.js";
25
- import { TextInput as ve } from "./lib/Components/TextInput/TextInput.js";
26
- import { Tile as Ge, TileContent as Pe, TileDescription as ye, TileSecondaryAction as Re, TileSpot as we, TileTitle as Fe } from "./lib/Components/Tile/Tile.js";
27
- import { Tooltip as je, TooltipContent as qe, TooltipProvider as ze, TooltipTrigger as Ee } from "./lib/Components/Tooltip/Tooltip.js";
28
- import { ThemeProvider as Ke, useTheme as Ne } from "./lib/Components/ThemeProvider/ThemeProvider.js";
19
+ import { Select as ae, SelectContent as le, SelectGroup as xe, SelectItem as fe, SelectItemText as Se, SelectLabel as Te, SelectSeparator as Ie, SelectTrigger as ce } from "./lib/Components/Select/Select.js";
20
+ import { Skeleton as de } from "./lib/Components/Skeleton/Skeleton.js";
21
+ import { Spot as be } from "./lib/Components/Spot/Spot.js";
22
+ import { Subheader as Me, SubheaderAction as Le, SubheaderCount as Ce, SubheaderDescription as De, SubheaderInfo as Be, SubheaderRow as ke, SubheaderShowMore as ve, SubheaderTitle as Ae } from "./lib/Components/Subheader/Subheader.js";
23
+ import { Switch as Ge } from "./lib/Components/Switch/Switch.js";
24
+ import { Tag as Re } from "./lib/Components/Tag/Tag.js";
25
+ import { TextInput as Fe } from "./lib/Components/TextInput/TextInput.js";
26
+ import { Tile as je, TileContent as qe, TileDescription as ze, TileSecondaryAction as Ee, TileSpot as Je, TileTitle as Ke } from "./lib/Components/Tile/Tile.js";
27
+ import { Tooltip as Oe, TooltipContent as Qe, TooltipProvider as Ue, TooltipTrigger as Ve } from "./lib/Components/Tooltip/Tooltip.js";
28
+ import { ThemeProvider as Xe, useTheme as Ye } from "./lib/Components/ThemeProvider/ThemeProvider.js";
29
29
  export {
30
30
  n as AddressInput,
31
31
  p as AmountInput,
32
32
  u as Banner,
33
- I as BaseButton,
33
+ T as BaseButton,
34
34
  l as BaseInput,
35
35
  f as Button,
36
- g as CardButton,
37
- s as Checkbox,
38
- M as Dialog,
39
- d as DialogBody,
40
- C as DialogContent,
41
- D as DialogFooter,
42
- h as DialogHeader,
43
- b as DialogTrigger,
36
+ c as CardButton,
37
+ d as Checkbox,
38
+ b as Dialog,
39
+ h as DialogBody,
40
+ M as DialogContent,
41
+ L as DialogFooter,
42
+ B as DialogHeader,
43
+ C as DialogTrigger,
44
44
  v as Divider,
45
- G as IconButton,
46
- y as InteractiveIcon,
47
- o as Languages,
48
- w as Link,
45
+ w as IconButton,
46
+ P as InteractiveIcon,
47
+ t as Languages,
48
+ y as Link,
49
49
  H as ListItem,
50
50
  j as ListItemContent,
51
51
  q as ListItemDescription,
@@ -64,36 +64,43 @@ export {
64
64
  _ as MenuPortal,
65
65
  $ as MenuRadioGroup,
66
66
  ee as MenuRadioItem,
67
- te as MenuSeparator,
68
- oe as MenuSub,
67
+ oe as MenuSeparator,
68
+ te as MenuSub,
69
69
  re as MenuSubContent,
70
70
  ne as MenuSubTrigger,
71
71
  ie as MenuTrigger,
72
72
  me as SearchInput,
73
- xe as Select,
73
+ ae as Select,
74
74
  le as SelectContent,
75
- ae as SelectGroup,
75
+ xe as SelectGroup,
76
76
  fe as SelectItem,
77
- Te as SelectItemText,
78
- Ie as SelectLabel,
79
- ce as SelectSeparator,
80
- ge as SelectTrigger,
81
- se as Skeleton,
82
- Me as Spot,
83
- Ce as Subheader,
84
- be as Switch,
85
- he as Tag,
86
- ve as TextInput,
87
- Ke as ThemeProvider,
88
- Ge as Tile,
89
- Pe as TileContent,
90
- ye as TileDescription,
91
- Re as TileSecondaryAction,
92
- we as TileSpot,
93
- Fe as TileTitle,
94
- je as Tooltip,
95
- qe as TooltipContent,
96
- ze as TooltipProvider,
97
- Ee as TooltipTrigger,
98
- Ne as useTheme
77
+ Se as SelectItemText,
78
+ Te as SelectLabel,
79
+ Ie as SelectSeparator,
80
+ ce as SelectTrigger,
81
+ de as Skeleton,
82
+ be as Spot,
83
+ Me as Subheader,
84
+ Le as SubheaderAction,
85
+ Ce as SubheaderCount,
86
+ De as SubheaderDescription,
87
+ Be as SubheaderInfo,
88
+ ke as SubheaderRow,
89
+ ve as SubheaderShowMore,
90
+ Ae as SubheaderTitle,
91
+ Ge as Switch,
92
+ Re as Tag,
93
+ Fe as TextInput,
94
+ Xe as ThemeProvider,
95
+ je as Tile,
96
+ qe as TileContent,
97
+ ze as TileDescription,
98
+ Ee as TileSecondaryAction,
99
+ Je as TileSpot,
100
+ Ke as TileTitle,
101
+ Oe as Tooltip,
102
+ Qe as TooltipContent,
103
+ Ue as TooltipProvider,
104
+ Ve as TooltipTrigger,
105
+ Ye as useTheme
99
106
  };
@@ -1,6 +1,39 @@
1
- import { SubheaderActionProps, SubheaderInfoProps, SubheaderProps } from './types';
1
+ import { default as React } from 'react';
2
+ import { SubheaderActionProps, SubheaderCountProps, SubheaderDescriptionProps, SubheaderInfoProps, SubheaderProps, SubheaderRowProps, SubheaderShowMoreProps, SubheaderTitleProps } from './types';
2
3
  /**
3
- * A subheader component for displaying section titles with optional informational tooltips and action elements.
4
+ * Title component for the Subheader. Displays the main heading.
5
+ */
6
+ export declare const SubheaderTitle: ({ children }: SubheaderTitleProps) => import("react/jsx-runtime").JSX.Element;
7
+ /**
8
+ * Row component for the Subheader. Layout container to horizontally align title, count, hint, and action.
9
+ * Can optionally be interactive with an onClick handler.
10
+ */
11
+ export declare const SubheaderRow: ({ children, onClick, className, ...props }: SubheaderRowProps) => import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * Count component for the Subheader. Displays a formatted number.
14
+ */
15
+ export declare const SubheaderCount: ({ value, format }: SubheaderCountProps) => import("react/jsx-runtime").JSX.Element;
16
+ /**
17
+ * Info component for the Subheader. Displays an information icon that can be wrapped in a Tooltip.
18
+ */
19
+ export declare const SubheaderInfo: React.ForwardRefExoticComponent<Omit<SubheaderInfoProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
20
+ /**
21
+ * ShowMore component for the Subheader. Displays a static chevron right icon to indicate expandable content.
22
+ * Position this after SubheaderCount and before other elements.
23
+ */
24
+ export declare const SubheaderShowMore: ({ className }: SubheaderShowMoreProps) => import("react/jsx-runtime").JSX.Element;
25
+ /**
26
+ * Description component for the Subheader. Displays descriptive text below the title row.
27
+ */
28
+ export declare const SubheaderDescription: ({ children, }: SubheaderDescriptionProps) => import("react/jsx-runtime").JSX.Element;
29
+ /**
30
+ * Action component for the Subheader. Displays an interactive text button.
31
+ * Automatically positions itself at the end of the row using ml-auto.
32
+ */
33
+ export declare const SubheaderAction: ({ children, onClick, className, ...props }: SubheaderActionProps) => import("react/jsx-runtime").JSX.Element;
34
+ /**
35
+ * A subheader component for displaying section titles with optional count, hints, descriptions, and action elements.
36
+ * Uses a composable API where you explicitly nest sub-components to define the layout.
4
37
  *
5
38
  * @see {@link https://ldls.vercel.app/?path=/docs/misc-subheader-overview--docs Storybook}
6
39
  * @see {@link https://ldls.vercel.app/?path=/docs/misc-subheader-implementation--docs#dos-and-donts Guidelines}
@@ -9,33 +42,36 @@ import { SubheaderActionProps, SubheaderInfoProps, SubheaderProps } from './type
9
42
  * Do not use it to modify the subheader's core appearance (colors, padding, etc).
10
43
  *
11
44
  * @example
12
- * import { Subheader } from '@ledgerhq/lumen-ui-react';
13
- *
14
- * // Basic subheader with title only
15
- * <Subheader title="Section Title" />
45
+ * // Simple subheader without row
46
+ * <Subheader>
47
+ * <SubheaderTitle>Section Title</SubheaderTitle>
48
+ * <SubheaderDescription>Description text</SubheaderDescription>
49
+ * </Subheader>
16
50
  *
17
- * // Complete subheader with all features
18
- * <Subheader title="Section Title">
19
- * <Subheader.Info>
51
+ * @example
52
+ * // Subheader with row for horizontal layout
53
+ * <Subheader>
54
+ * <SubheaderRow>
55
+ * <SubheaderTitle>Section Title</SubheaderTitle>
56
+ * <SubheaderCount value={30} />
20
57
  * <Tooltip>
21
- * <TooltipTrigger asChild>
22
- * <Information
23
- * size={12}
24
- * className="shrink-0 text-muted"
25
- * aria-label="More information"
26
- * />
58
+ * <TooltipTrigger>
59
+ * <SubheaderInfo />
27
60
  * </TooltipTrigger>
28
61
  * <TooltipContent>Additional information</TooltipContent>
29
62
  * </Tooltip>
30
- * </Subheader.Info>
31
- * <Subheader.Action>
32
- * <Link href="/action" appearance="accent" size="sm">Action</Link>
33
- * </Subheader.Action>
63
+ * </SubheaderRow>
64
+ * <SubheaderDescription>Description text</SubheaderDescription>
65
+ * </Subheader>
66
+ *
67
+ * @example
68
+ * // Interactive row with action
69
+ * <Subheader>
70
+ * <SubheaderRow onClick={handleClick}>
71
+ * <SubheaderTitle>Accounts</SubheaderTitle>
72
+ * <SubheaderCount value={12} />
73
+ * </SubheaderRow>
34
74
  * </Subheader>
35
75
  */
36
- export declare const Subheader: {
37
- ({ className, title, children, ...props }: SubheaderProps): import("react/jsx-runtime").JSX.Element;
38
- Info: ({ children }: SubheaderInfoProps) => import("react/jsx-runtime").JSX.Element;
39
- Action: ({ children }: SubheaderActionProps) => import("react/jsx-runtime").JSX.Element;
40
- };
76
+ export declare const Subheader: ({ className, children, ...props }: SubheaderProps) => import("react/jsx-runtime").JSX.Element;
41
77
  //# sourceMappingURL=Subheader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Subheader.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/Subheader.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,cAAc,EACf,MAAM,SAAS,CAAC;AAgBjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,SAAS;+CAKnB,cAAc;yBAlDoB,kBAAkB;2BAOhB,oBAAoB;CA2E1D,CAAC"}
1
+ {"version":3,"file":"Subheader.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/Subheader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,cAAc,mBAAmB,4CAE/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,4CAK1B,iBAAiB,4CAgBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,mBAAmB,mBAAmB,4CAGpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,2GAiBxB,CAAC;AAGH;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,eAAe,sBAAsB,4CAMtE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,eAElC,yBAAyB,4CAE3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,4CAK7B,oBAAoB,4CAWtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,eAAO,MAAM,SAAS,GAAI,mCAIvB,cAAc,4CAMhB,CAAC"}
@@ -1,39 +1,69 @@
1
- import { jsxs as s, jsx as i } from "react/jsx-runtime";
2
- import { cn as p } from "../../../libs/utils-shared/dist/index.js";
3
- import o from "react";
4
- const a = ({ children: e }) => /* @__PURE__ */ i("div", { className: "flex shrink-0 items-center", children: e }), c = ({ children: e }) => /* @__PURE__ */ i("div", { className: "flex shrink-0 items-center", children: e }), h = ({
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { cn as a } from "../../../libs/utils-shared/dist/index.js";
3
+ import s from "react";
4
+ import { Information as i } from "../../Symbols/Icons/Information.js";
5
+ import { ChevronRight as c } from "../../Symbols/Icons/ChevronRight.js";
6
+ import { InteractiveIcon as m } from "../InteractiveIcon/InteractiveIcon.js";
7
+ const S = ({ children: e }) => /* @__PURE__ */ r("h2", { className: "min-w-0 truncate heading-4-semi-bold", children: e }), N = ({
8
+ children: e,
9
+ onClick: t,
10
+ className: n,
11
+ ...o
12
+ }) => /* @__PURE__ */ r(
13
+ t ? "button" : "div",
14
+ {
15
+ className: a(
16
+ "flex items-center gap-4",
17
+ t && "cursor-pointer",
18
+ n
19
+ ),
20
+ onClick: t,
21
+ ...o,
22
+ children: e
23
+ }
24
+ ), y = ({ value: e, format: t }) => {
25
+ const n = t ? t(e) : `(${e})`;
26
+ return /* @__PURE__ */ r("span", { className: "shrink-0 body-2 text-muted", children: n });
27
+ }, d = s.forwardRef(({ iconType: e = "stroked", className: t, ...n }, o) => /* @__PURE__ */ r("span", { className: "flex shrink-0 items-center", children: /* @__PURE__ */ r(
28
+ m,
29
+ {
30
+ ref: o,
31
+ iconType: e,
32
+ className: t,
33
+ "aria-label": "More information",
34
+ ...n,
35
+ children: /* @__PURE__ */ r(i, { size: 16 })
36
+ }
37
+ ) }));
38
+ d.displayName = "SubheaderInfo";
39
+ const I = ({ className: e }) => /* @__PURE__ */ r("span", { className: a("shrink-0 self-center text-muted", e), children: /* @__PURE__ */ r(c, { size: 16 }) }), g = ({
40
+ children: e
41
+ }) => /* @__PURE__ */ r("p", { className: "body-3 text-muted", children: e }), v = ({
42
+ children: e,
43
+ onClick: t,
44
+ className: n,
45
+ ...o
46
+ }) => /* @__PURE__ */ r(
47
+ "button",
48
+ {
49
+ type: "button",
50
+ onClick: t,
51
+ className: a("ml-auto shrink-0 pl-8 body-2 text-interactive", n),
52
+ ...o,
53
+ children: e
54
+ }
55
+ ), w = ({
5
56
  className: e,
6
- title: m,
7
- children: f,
8
- ...d
9
- }) => {
10
- const l = o.Children.toArray(f), t = l.filter(
11
- (n) => o.isValidElement(n) && n.type === a
12
- ), r = l.filter(
13
- (n) => o.isValidElement(n) && n.type === c
14
- );
15
- if (t.length > 1)
16
- throw new Error("Subheader can only have one Info slot");
17
- if (r.length > 1)
18
- throw new Error("Subheader can only have one Action slot");
19
- const u = t.length > 0 ? t[0] : null, S = r.length > 0 ? r[0] : null;
20
- return /* @__PURE__ */ s(
21
- "div",
22
- {
23
- className: p("flex items-center justify-between gap-8", e),
24
- ...d,
25
- children: [
26
- /* @__PURE__ */ s("div", { className: "flex min-w-0 items-center gap-2", children: [
27
- /* @__PURE__ */ i("h2", { className: "min-w-0 truncate heading-5-semi-bold", children: m }),
28
- u
29
- ] }),
30
- S
31
- ]
32
- }
33
- );
34
- };
35
- h.Info = a;
36
- h.Action = c;
57
+ children: t,
58
+ ...n
59
+ }) => /* @__PURE__ */ r("div", { className: a("flex flex-col gap-4", e), ...n, children: t });
37
60
  export {
38
- h as Subheader
61
+ w as Subheader,
62
+ v as SubheaderAction,
63
+ y as SubheaderCount,
64
+ g as SubheaderDescription,
65
+ d as SubheaderInfo,
66
+ N as SubheaderRow,
67
+ I as SubheaderShowMore,
68
+ S as SubheaderTitle
39
69
  };
@@ -1,3 +1,3 @@
1
- export { Subheader } from './Subheader';
1
+ export { Subheader, SubheaderRow, SubheaderTitle, SubheaderCount, SubheaderInfo, SubheaderShowMore, SubheaderDescription, SubheaderAction, } from './Subheader';
2
2
  export * from './types';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,eAAe,GAChB,MAAM,aAAa,CAAC;AACrB,cAAc,SAAS,CAAC"}
@@ -1,17 +1,63 @@
1
1
  export type SubheaderProps = {
2
2
  /**
3
- * The title of the subheader.
4
- */
5
- title: string;
6
- /**
7
- * The children of the subheader, which can include Subheader.Info and Subheader.Action slots.
3
+ * The children of the subheader, which should include SubheaderRow, SubheaderTitle, SubheaderDescription, etc.
8
4
  */
9
5
  children?: React.ReactNode;
10
6
  } & Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>;
11
- export type SubheaderInfoProps = {
7
+ export type SubheaderRowProps = {
8
+ /**
9
+ * The children of the subheader row.
10
+ */
11
+ children: React.ReactNode;
12
+ /**
13
+ * Optional click handler to make the row interactive.
14
+ */
15
+ onClick?: () => void;
16
+ } & Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'onClick'>;
17
+ export type SubheaderTitleProps = {
18
+ /**
19
+ * The title text of the subheader.
20
+ */
21
+ children: string;
22
+ };
23
+ export type SubheaderCountProps = {
24
+ /**
25
+ * The count value to display.
26
+ */
27
+ value: number;
28
+ /**
29
+ * Optional formatter function to customize the display.
30
+ * Defaults to (n) => `(${n})`
31
+ */
32
+ format?: (value: number) => string;
33
+ };
34
+ export type SubheaderInfoProps = Omit<React.ComponentProps<typeof import('../InteractiveIcon').InteractiveIcon>, 'children' | 'iconType'> & {
35
+ /**
36
+ * The visual style of the icon button.
37
+ * Defaults to 'stroked'.
38
+ */
39
+ iconType?: 'filled' | 'stroked';
40
+ };
41
+ export type SubheaderDescriptionProps = {
42
+ /**
43
+ * The description text to display below the title row.
44
+ */
12
45
  children: React.ReactNode;
13
46
  };
14
47
  export type SubheaderActionProps = {
48
+ /**
49
+ * The action element to display (e.g., button text).
50
+ */
15
51
  children: React.ReactNode;
52
+ /**
53
+ * Click handler for the action.
54
+ */
55
+ onClick: () => void;
56
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'children' | 'onClick'>;
57
+ export type SubheaderShowMoreProps = {
58
+ /**
59
+ * Optional className for custom styling.
60
+ */
61
+ className?: string;
16
62
  };
17
63
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/lib/Components/Subheader/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG;IAC3B;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAEpE,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,KAAK,CAAC,cAAc,CAAC,cAAc,oBAAoB,EAAE,eAAe,CAAC,EACzE,UAAU,GAAG,UAAU,CACxB,GAAG;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,CAAC;AAEhF,MAAM,MAAM,sBAAsB,GAAG;IACnC;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Asterisk icon component.
3
+ *
4
+ * This icon component is automatically generated from SVG files and uses the createIcon utility
5
+ * to create a consistent icon interface. It supports all standard SVG props and additional
6
+ * size variants defined in the Icon component.
7
+ *
8
+ * @see {@link https://ldls.vercel.app/?path=/story/symbols-interface-icons--icon&args=name:Asterisk Storybook}
9
+ *
10
+ * @component
11
+ * @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
12
+ * @param {string} [className] - Additional CSS classes to apply to the icon.
13
+ * @param {React.SVGProps<SVGSVGElement>} [...props] - All standard SVG element props.
14
+ *
15
+ * @example
16
+ * // Basic usage with default size (24px)
17
+ * import { Asterisk } from '@ledgerhq/lumen-ui-react/symbols';
18
+ *
19
+ * <Asterisk />
20
+ *
21
+ * @example
22
+ * // With custom size and className
23
+ * <Asterisk size={40} className="text-warning" />
24
+ */
25
+ export declare const Asterisk: import('react').ForwardRefExoticComponent<Omit<Omit<import('../../Components/Icon').IconProps, "children">, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
26
+ //# sourceMappingURL=Asterisk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Asterisk.d.ts","sourceRoot":"","sources":["../../../../src/lib/Symbols/Icons/Asterisk.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,QAAQ,oKAiBpB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import o from "../../Components/Icon/createIcon.js";
3
+ const i = o(
4
+ "Asterisk",
5
+ /* @__PURE__ */ r(
6
+ "svg",
7
+ {
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ width: "1em",
10
+ height: "1em",
11
+ fill: "currentColor",
12
+ viewBox: "0 0 16 16",
13
+ children: /* @__PURE__ */ r(
14
+ "path",
15
+ {
16
+ stroke: "currentColor",
17
+ strokeLinecap: "round",
18
+ strokeLinejoin: "round",
19
+ strokeWidth: 1.3,
20
+ d: "M2 7.99h12m-9 4.974 6-9.948m0 10L5 3.067"
21
+ }
22
+ )
23
+ }
24
+ )
25
+ );
26
+ export {
27
+ i as Asterisk
28
+ };
@@ -17,7 +17,7 @@ const c = r(
17
17
  strokeLinecap: "round",
18
18
  strokeLinejoin: "round",
19
19
  strokeWidth: 1.3,
20
- d: "M6 12v.167c0 1.1.893 2 2 2 1.1 0 2-.9 2-2V12m2-2.833 1.133 1.133c.12.12.194.293.194.467v.553c0 .367-.3.667-.667.667H3.327a.664.664 0 0 1-.667-.667v-.56a.66.66 0 0 1 .193-.473l1.134-1.14V6.313c0-2.213 1.786-4 4-4 2.206 0 4 1.787 4 4z"
20
+ d: "M6 11.427v.74c0 1.1.893 2 2 2 1.1 0 2-.9 2-2v-.727m2-2.273 1.133 1.133c.12.12.194.293.194.467v-.007c0 .367-.3.667-.667.667H3.327a.664.664 0 0 1-.667-.667.66.66 0 0 1 .193-.473l1.134-1.14V6.313c0-2.213 1.786-4 4-4 2.206 0 4 1.787 4 4z"
21
21
  }
22
22
  )
23
23
  }
@@ -0,0 +1,26 @@
1
+ /**
2
+ * BellFill icon component.
3
+ *
4
+ * This icon component is automatically generated from SVG files and uses the createIcon utility
5
+ * to create a consistent icon interface. It supports all standard SVG props and additional
6
+ * size variants defined in the Icon component.
7
+ *
8
+ * @see {@link https://ldls.vercel.app/?path=/story/symbols-interface-icons--icon&args=name:BellFill Storybook}
9
+ *
10
+ * @component
11
+ * @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
12
+ * @param {string} [className] - Additional CSS classes to apply to the icon.
13
+ * @param {React.SVGProps<SVGSVGElement>} [...props] - All standard SVG element props.
14
+ *
15
+ * @example
16
+ * // Basic usage with default size (24px)
17
+ * import { BellFill } from '@ledgerhq/lumen-ui-react/symbols';
18
+ *
19
+ * <BellFill />
20
+ *
21
+ * @example
22
+ * // With custom size and className
23
+ * <BellFill size={40} className="text-warning" />
24
+ */
25
+ export declare const BellFill: import('react').ForwardRefExoticComponent<Omit<Omit<import('../../Components/Icon').IconProps, "children">, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
26
+ //# sourceMappingURL=BellFill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BellFill.d.ts","sourceRoot":"","sources":["../../../../src/lib/Symbols/Icons/BellFill.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,QAAQ,oKAcpB,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { jsx as l } from "react/jsx-runtime";
2
+ import r from "../../Components/Icon/createIcon.js";
3
+ const t = r(
4
+ "BellFill",
5
+ /* @__PURE__ */ l(
6
+ "svg",
7
+ {
8
+ xmlns: "http://www.w3.org/2000/svg",
9
+ width: "1em",
10
+ height: "1em",
11
+ fill: "currentColor",
12
+ viewBox: "0 0 16 16",
13
+ children: /* @__PURE__ */ l(
14
+ "path",
15
+ {
16
+ fill: "currentColor",
17
+ d: "M10.353 13.379A2.65 2.65 0 0 1 8 14.816a2.65 2.65 0 0 1-2.354-1.437zM7.987 1.664a4.65 4.65 0 0 1 4.65 4.647l.011 2.585.945.945.086.095c.187.228.296.522.298.824v.007l-.001.006a1.32 1.32 0 0 1-1.316 1.304h-2.01v.002h-5.3v-.002H3.328A1.316 1.316 0 0 1 2.01 10.76c0-.346.13-.68.384-.933l.943-.95V6.314a4.645 4.645 0 0 1 4.65-4.649"
18
+ }
19
+ )
20
+ }
21
+ )
22
+ );
23
+ export {
24
+ t as BellFill
25
+ };
@@ -41,7 +41,7 @@ const t = r(
41
41
  strokeLinecap: "round",
42
42
  strokeLinejoin: "round",
43
43
  strokeWidth: 1.3,
44
- d: "M6 12v.167c0 1.1.893 2 2 2 1.1 0 2-.9 2-2V12m2-2.833 1.133 1.133c.12.12.194.293.194.467v.553c0 .367-.3.667-.667.667H3.327a.664.664 0 0 1-.667-.667v-.56a.66.66 0 0 1 .193-.473l1.134-1.14V6.313c0-2.213 1.786-4 4-4 2.207 0 4 1.787 4 4z"
44
+ d: "M6 11.427v.74c0 1.1.893 2 2 2 1.1 0 2-.9 2-2v-.727m2-2.273 1.133 1.133c.12.12.194.293.194.467v-.007c0 .367-.3.667-.667.667H3.327a.664.664 0 0 1-.667-.667.66.66 0 0 1 .193-.473l1.134-1.14V6.313c0-2.213 1.786-4 4-4 2.206 0 4 1.787 4 4z"
45
45
  }
46
46
  ) })
47
47
  ] }),
@@ -0,0 +1,26 @@
1
+ /**
2
+ * CreditCardFill icon component.
3
+ *
4
+ * This icon component is automatically generated from SVG files and uses the createIcon utility
5
+ * to create a consistent icon interface. It supports all standard SVG props and additional
6
+ * size variants defined in the Icon component.
7
+ *
8
+ * @see {@link https://ldls.vercel.app/?path=/story/symbols-interface-icons--icon&args=name:CreditCardFill Storybook}
9
+ *
10
+ * @component
11
+ * @param {16 | 20 | 24 | 40 | 48 | 56} [size=24] - The size of the icon in pixels.
12
+ * @param {string} [className] - Additional CSS classes to apply to the icon.
13
+ * @param {React.SVGProps<SVGSVGElement>} [...props] - All standard SVG element props.
14
+ *
15
+ * @example
16
+ * // Basic usage with default size (24px)
17
+ * import { CreditCardFill } from '@ledgerhq/lumen-ui-react/symbols';
18
+ *
19
+ * <CreditCardFill />
20
+ *
21
+ * @example
22
+ * // With custom size and className
23
+ * <CreditCardFill size={40} className="text-warning" />
24
+ */
25
+ export declare const CreditCardFill: import('react').ForwardRefExoticComponent<Omit<Omit<import('../../Components/Icon').IconProps, "children">, "ref"> & import('react').RefAttributes<SVGSVGElement>>;
26
+ //# sourceMappingURL=CreditCardFill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CreditCardFill.d.ts","sourceRoot":"","sources":["../../../../src/lib/Symbols/Icons/CreditCardFill.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,cAAc,oKAc1B,CAAC"}