@chainberry/ui-components 1.0.0 → 1.0.1

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/README.md CHANGED
@@ -1,7 +1,12 @@
1
1
  # @chainberry/ui-components
2
2
 
3
- Chainberry navigation UI components — React + Tailwind. Ported from the
4
- original Storybook prototype into a publishable, self-contained library.
3
+ Chainberry navigation UI components — React + Tailwind. Ships a self-contained
4
+ stylesheet, so consumers need no Tailwind setup.
5
+
6
+ The components are authored and maintained in the `react-app/` package (rendered
7
+ in its Storybook). This package is a thin **publish barrel** that re-exports,
8
+ builds, and versions them — `react-app/src/components` is the single source of
9
+ truth.
5
10
 
6
11
  ## Install
7
12
 
@@ -28,21 +33,29 @@ export function Sidebar() {
28
33
  }
29
34
  ```
30
35
 
31
- The stylesheet is fully self-contained (compiled Tailwind + design tokens) — you
32
- do **not** need Tailwind configured in the consuming app.
33
-
34
36
  ### Theming
35
37
 
36
38
  Tokens are CSS variables. Light values live on `:root`; add the `.dark` class to
37
39
  an ancestor (e.g. `<html class="dark">`) to switch to the dark palette.
38
40
 
41
+ ### About the stylesheet
42
+
43
+ `styles.css` bundles Tailwind Preflight (the global CSS reset) plus the design
44
+ tokens and the utility classes the components use — the same baseline the
45
+ components were designed against. Import it once at your app root. The Geist
46
+ webfont is not bundled; `--font-sans` falls back to the system sans stack
47
+ (supply Geist yourself to match the design).
48
+
39
49
  ### Exports
40
50
 
41
51
  - **Organism:** `NavDrawer`
42
52
  - **Molecules:** `NavItem`, `NavGroup`
43
- - **Atoms:** `NavBadge`, `NavIcon`, `NavLabel`, `Logo`, `SectionHeading`
44
- - **Data/types:** `PRIMARY_NAV`, `FULL_NAV`, `NAV_PRESETS`, `ICONS`, `ICON_NAMES`,
45
- and types `NavItemConfig`, `NavGroupConfig`, `IconName`, `NavPreset`.
53
+ - **Atoms:** `Badge`, `NavIcon`, `NavLabel`, `Logo`, `SectionHeading`
54
+ - **shadcn UI:** `Button`, `buttonVariants`
55
+ - **Data/helpers:** `PRIMARY_NAV`, `FULL_NAV`, `NAV_PRESETS`, `NAV_ITEMS`,
56
+ `findNavItem`, `ICONS`, `ICON_NAMES`
57
+ - **Types:** `NavItemConfig`, `NavGroupConfig`, `NavPreset`, `BadgeVariant`,
58
+ `NavItemProps`, `IconName`
46
59
 
47
60
  Custom navigation:
48
61
 
@@ -56,18 +69,38 @@ const config: NavGroupConfig[] = [
56
69
  <NavDrawer config={config} activeId="home" />;
57
70
  ```
58
71
 
72
+ ## 1.0.1
73
+
74
+ A non-breaking patch over 1.0.0 — the components are now sourced from the
75
+ canonical `react-app` build:
76
+
77
+ - Adds `Button` / `buttonVariants` (pulls `radix-ui` + `class-variance-authority`).
78
+ - Adds `NAV_ITEMS` and `findNavItem` helpers.
79
+ - `NavBadge` was renamed to **`Badge`** (`NavBadgeVariant` → `BadgeVariant`).
80
+ The old names remain exported as **deprecated aliases** (`NavBadge`,
81
+ `NavBadgeVariant`, `NavBadgeProps`), so 1.0.0 code keeps working — migrate to
82
+ `Badge` when convenient; the aliases go away in the next major.
83
+ - `styles.css` still ships Preflight, matching 1.0.0.
84
+
59
85
  ## Develop
60
86
 
87
+ The build consumes the canonical components from `../../react-app/src` via the
88
+ `@` alias — no code lives in this package except the barrel and the stylesheet.
89
+
61
90
  ```sh
62
91
  npm install
63
- npm run storybook # explore components
64
- npm run build # dist/ (ESM + CJS + d.ts + styles.css)
92
+ npm run build # dist/ (ESM + CJS + .d.ts + styles.css)
93
+ npm run build:js # ESM + CJS + bundled types only
94
+ npm run build:css # dist/styles.css only
65
95
  npm run typecheck
66
96
  ```
67
97
 
98
+ To iterate on a component, edit it in `react-app/src/components` (its Storybook
99
+ shows it live), then rebuild here.
100
+
68
101
  ## Publish
69
102
 
70
103
  ```sh
71
- npm login # must be a member of the @chainberry npm org
72
- npm publish # runs the build via prepublishOnly; access: public
104
+ npm login # must be a member of the @chainberry npm org
105
+ npm publish # runs the build via prepublishOnly; access: public
73
106
  ```
package/dist/index.cjs CHANGED
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A=require("react/jsx-runtime"),n=(...e)=>e.filter(Boolean).join(" "),g={count:"ml-auto rounded-lg bg-cb-blue px-1.5 py-px text-[10px] font-bold text-white",soon:"ml-auto rounded-md bg-cb-orange-soft px-1.5 py-[1.5px] text-[9.5px] font-bold tracking-[0.04em] text-cb-soon",ext:"ml-auto text-xs text-cb-faint"};function c({variant:e="count",value:o}){return A.jsx("span",{className:n(g[e]??g.count),children:e==="soon"?"SOON":e==="ext"?"↗":String(o??"")})}function p({text:e="Label"}){return A.jsx("span",{className:"flex-1 truncate",children:e})}const u={grid:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="7" height="7" rx="1.5"/><rect x="14" y="3" width="7" height="7" rx="1.5"/><rect x="3" y="14" width="7" height="7" rx="1.5"/><rect x="14" y="14" width="7" height="7" rx="1.5"/></svg>',checkc:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M8.5 12.5l2.5 2.5 4.5-5"/></svg>',swap:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 7h13M14 4l3 3-3 3M20 17H7M10 14l-3 3 3 3"/></svg>',shield:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z"/></svg>',wallet:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="6" width="18" height="13" rx="2.5"/><path d="M3 10h18M16 15h2"/></svg>',down:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 4v11M7 10l5 5 5-5M5 20h14"/></svg>',up:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 20V9M7 14l5-5 5 5M5 4h14"/></svg>',convert:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M20 12a8 8 0 1 1-2.3-5.7M20 3v5h-5"/></svg>',transfer:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 8h14M15 5l3 3-3 3M20 16H6M9 13l-3 3 3 3"/></svg>',autoflow:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M17 2l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 22l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3"/></svg>',book:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3V4z"/><path d="M5 17a3 3 0 0 1 3-3h11"/></svg>',invoice:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 3h9l4 4v14H6z"/><path d="M14 3v5h5M9 12h6M9 16h6"/></svg>',payout:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 6h10M4 12h7M4 18h10M17 9l4 3-4 3M21 12h-7"/></svg>',bank:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 9l9-5 9 5M4 9v9M20 9v9M8 12v6M12 12v6M16 12v6M3 21h18"/></svg>',chart:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 20V6M4 20h16M9 16v-5M14 16V8M19 16v-3"/></svg>',code:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 8l-5 4 5 4M16 8l5 4-5 4M13 5l-3 14"/></svg>',widget:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="4" width="18" height="16" rx="2.5"/><path d="M3 9h18M9 9v11"/></svg>',org:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="4" y="3" width="16" height="18" rx="2"/><path d="M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2"/></svg>',users:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="9" cy="8.5" r="3.5"/><path d="M3 20c.8-3.2 3.2-5 6-5s5.2 1.8 6 5M16 5.5a3.5 3.5 0 0 1 0 6M17.5 15.2c2 .7 3 2.2 3.5 4.8"/></svg>',list:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01"/></svg>',card:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="5" width="18" height="14" rx="2.5"/><path d="M3 10h18M7 15h4"/></svg>',help:'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="9"/><path d="M9.5 9.5A2.5 2.5 0 1 1 12 12.5v1M12 17h.01"/></svg>'},N=Object.keys(u);function m({name:e="grid",active:o=!1}){return A.jsx("span",{className:n("shrink-0 [&_svg]:h-[18px] [&_svg]:w-[18px]",o?"opacity-100 text-cb-text":"opacity-75"),dangerouslySetInnerHTML:{__html:u[e]??""}})}const k="data:image/png;base64,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";function f({src:e=k,alt:o="Chainberry",href:a,collapsed:t=!1}){const s=A.jsx("img",{src:e,alt:o,className:t?"h-[22px] w-[22px] object-cover object-left":"h-6 w-auto"}),r=n("flex items-center",t&&"justify-center");return a?A.jsx("a",{href:a,className:r,children:s}):A.jsx("span",{className:r,children:s})}function w({label:e="Section"}){return A.jsx("h6",{className:"mx-2.5 mt-2 mb-1 text-[11px] font-semibold uppercase tracking-[0.09em] text-cb-faint",children:e})}function h({id:e,label:o,icon:a,active:t=!1,collapsed:s=!1,badge:r,soon:d=!1,ext:l,onNavigate:i}){const v=n("group flex w-full items-center rounded-lg text-[14.5px] transition-colors",s?"justify-center gap-0 px-0 py-2":"gap-2.5 px-2.5 py-[7px] text-left mb-px",t?"bg-cb-seg text-cb-text font-medium":"font-normal text-cb-muted hover:bg-cb-seg hover:text-cb-ink2"),x=A.jsxs(A.Fragment,{children:[A.jsx(m,{name:a,active:t}),!s&&A.jsxs(A.Fragment,{children:[A.jsx(p,{text:o}),d?A.jsx(c,{variant:"soon"}):l?A.jsx(c,{variant:"ext"}):r!=null?A.jsx(c,{variant:"count",value:r}):null]})]});return l?A.jsx("a",{href:l,target:"_blank",rel:"noopener",className:v,title:o,children:x}):A.jsx("button",{type:"button","data-nav":e,className:v,title:o,onClick:i?()=>i(e):void 0,children:x})}function B({label:e,items:o=[],activeId:a,collapsed:t=!1,onNavigate:s}){return A.jsxs("div",{className:n("mb-[7px]",t&&"mb-1 border-b border-cb-line pb-1 last:border-b-0"),children:[!t&&e&&A.jsx(w,{label:e}),o.map(r=>A.jsx(h,{...r,active:r.id===a,collapsed:t,onNavigate:s},r.id))]})}const z=[{label:"Overview",items:[{id:"dashboard",label:"Dashboard",icon:"grid"},{id:"approvals",label:"Approval Required",icon:"checkc",badge:3}]},{label:"Transactions",items:[{id:"transactions",label:"All Transactions",icon:"swap"},{id:"actionreq",label:"Action Required",icon:"shield",badge:2}]},{label:"Treasury",items:[{id:"wallets",label:"Wallets",icon:"wallet"},{id:"deposit",label:"Deposit",icon:"down"},{id:"withdraw",label:"Withdraw",icon:"up"},{id:"conversion",label:"Convert",icon:"convert"},{id:"itransfer",label:"Internal Transfer",icon:"transfer"},{id:"autotransfer",label:"Automatic Transfers",icon:"autoflow"},{id:"addressbook",label:"Address Book",icon:"book"}]},{label:"Payments",items:[{id:"invoices",label:"Invoices",icon:"invoice"},{id:"payouts",label:"Payouts",icon:"payout"}]},{label:"Banking",items:[{id:"banking",label:"Banking",icon:"bank",soon:!0}]},{label:"Reports",items:[{id:"reports",label:"Reports",icon:"chart"}]},{label:"Developers",items:[{id:"devhub",label:"Developer Hub",icon:"code"},{id:"checkout",label:"Checkout Widget",icon:"widget"},{id:"devdocs",label:"Developer Docs",icon:"book",ext:"#"}]},{label:"Administration",items:[{id:"organization",label:"Organization",icon:"org"},{id:"users",label:"Users & Roles",icon:"users"},{id:"audit",label:"Audit Log",icon:"list"},{id:"billing",label:"Billing & Usage",icon:"card"}]},{label:"Help",items:[{id:"help",label:"Help & Support",icon:"help"}]}],b=[{label:"Overview",items:[{id:"dashboard",label:"Dashboard",icon:"grid"}]},{label:"Transactions",items:[{id:"transactions",label:"All Transactions",icon:"swap"}]},{label:"Treasury",items:[{id:"wallets",label:"Wallets",icon:"wallet"},{id:"deposit",label:"Deposit",icon:"down"},{id:"withdraw",label:"Withdraw",icon:"up"},{id:"conversion",label:"Convert",icon:"convert"},{id:"itransfer",label:"Internal Transfer",icon:"transfer"}]},{label:"Reports",items:[{id:"reports",label:"Reports",icon:"chart"}]},{label:"Developers",items:[{id:"devhub",label:"Developer Hub",icon:"code"},{id:"devdocs",label:"Developer Docs",icon:"book",ext:"#"}]},{label:"Administration",items:[{id:"organization",label:"Organization",icon:"org"},{id:"users",label:"Users & Roles",icon:"users"},{id:"billing",label:"Billing & Usage",icon:"card"}]}],T={primary:b,full:z};function C({config:e,preset:o="primary",activeId:a="dashboard",collapsed:t=!1,logoSrc:s,onNavigate:r}){const d=e??T[o]??b;return A.jsxs("aside",{className:n("flex h-full shrink-0 flex-col overflow-y-auto bg-cb-sidebar border-r border-cb-line",t?"w-[62px] px-[9px] pt-[14px] pb-2.5":"w-[260px] px-2.5 pt-[18px] pb-2.5"),children:[A.jsx("div",{className:n("mb-1 flex items-center pb-2.5",t?"justify-center px-0":"px-2.5"),children:A.jsx(f,{src:s,collapsed:t})}),d.map((l,i)=>A.jsx(B,{...l,activeId:a,collapsed:t,onNavigate:r},l.label||i))]})}exports.FULL_NAV=z;exports.ICONS=u;exports.ICON_NAMES=N;exports.Logo=f;exports.NAV_PRESETS=T;exports.NavBadge=c;exports.NavDrawer=C;exports.NavGroup=B;exports.NavIcon=m;exports.NavItem=h;exports.NavLabel=p;exports.PRIMARY_NAV=b;exports.SectionHeading=w;
2
- //# sourceMappingURL=index.cjs.map
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("clsx"),t=require("tailwind-merge"),n=require("react/jsx-runtime");require("react");let r=require("class-variance-authority"),i=require("radix-ui");function a(...n){return(0,t.twMerge)((0,e.clsx)(n))}var o={count:`ml-auto rounded-lg bg-cb-blue px-1.5 py-px text-[10px] font-bold text-white`,soon:`ml-auto rounded-md bg-cb-orange-soft px-1.5 py-[1.5px] text-[9.5px] font-bold tracking-[0.04em] text-cb-soon`,ext:`ml-auto text-xs text-cb-faint`};function s({variant:e=`count`,value:t}){let r=e===`soon`?`SOON`:e===`ext`?`↗`:String(t??``);return(0,n.jsx)(`span`,{className:a(o[e]),children:r})}function c({text:e=`Label`}){return(0,n.jsx)(`span`,{className:`flex-1 truncate`,children:e})}var l={grid:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`rect`,{x:`3`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,n.jsx)(`rect`,{x:`14`,y:`3`,width:`7`,height:`7`,rx:`1.5`}),(0,n.jsx)(`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1.5`}),(0,n.jsx)(`rect`,{x:`14`,y:`14`,width:`7`,height:`7`,rx:`1.5`})]}),checkc:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,n.jsx)(`path`,{d:`M8.5 12.5l2.5 2.5 4.5-5`})]}),swap:(0,n.jsx)(`path`,{d:`M4 7h13M14 4l3 3-3 3M20 17H7M10 14l-3 3 3 3`}),shield:(0,n.jsx)(`path`,{d:`M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z`}),wallet:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`rect`,{x:`3`,y:`6`,width:`18`,height:`13`,rx:`2.5`}),(0,n.jsx)(`path`,{d:`M3 10h18M16 15h2`})]}),down:(0,n.jsx)(`path`,{d:`M12 4v11M7 10l5 5 5-5M5 20h14`}),up:(0,n.jsx)(`path`,{d:`M12 20V9M7 14l5-5 5 5M5 4h14`}),convert:(0,n.jsx)(`path`,{d:`M20 12a8 8 0 1 1-2.3-5.7M20 3v5h-5`}),transfer:(0,n.jsx)(`path`,{d:`M4 8h14M15 5l3 3-3 3M20 16H6M9 13l-3 3 3 3`}),autoflow:(0,n.jsx)(`path`,{d:`M17 2l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 22l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3`}),book:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`path`,{d:`M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3V4z`}),(0,n.jsx)(`path`,{d:`M5 17a3 3 0 0 1 3-3h11`})]}),invoice:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`path`,{d:`M6 3h9l4 4v14H6z`}),(0,n.jsx)(`path`,{d:`M14 3v5h5M9 12h6M9 16h6`})]}),payout:(0,n.jsx)(`path`,{d:`M4 6h10M4 12h7M4 18h10M17 9l4 3-4 3M21 12h-7`}),bank:(0,n.jsx)(`path`,{d:`M3 9l9-5 9 5M4 9v9M20 9v9M8 12v6M12 12v6M16 12v6M3 21h18`}),chart:(0,n.jsx)(`path`,{d:`M4 20V6M4 20h16M9 16v-5M14 16V8M19 16v-3`}),code:(0,n.jsx)(`path`,{d:`M8 8l-5 4 5 4M16 8l5 4-5 4M13 5l-3 14`}),widget:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`rect`,{x:`3`,y:`4`,width:`18`,height:`16`,rx:`2.5`}),(0,n.jsx)(`path`,{d:`M3 9h18M9 9v11`})]}),org:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`rect`,{x:`4`,y:`3`,width:`16`,height:`18`,rx:`2`}),(0,n.jsx)(`path`,{d:`M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2`})]}),users:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`circle`,{cx:`9`,cy:`8.5`,r:`3.5`}),(0,n.jsx)(`path`,{d:`M3 20c.8-3.2 3.2-5 6-5s5.2 1.8 6 5M16 5.5a3.5 3.5 0 0 1 0 6M17.5 15.2c2 .7 3 2.2 3.5 4.8`})]}),list:(0,n.jsx)(`path`,{d:`M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01`}),card:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`rect`,{x:`3`,y:`5`,width:`18`,height:`14`,rx:`2.5`}),(0,n.jsx)(`path`,{d:`M3 10h18M7 15h4`})]}),help:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`9`}),(0,n.jsx)(`path`,{d:`M9.5 9.5A2.5 2.5 0 1 1 12 12.5v1M12 17h.01`})]})},u=l,d=Object.keys(l);function f({name:e=`grid`,active:t=!1}){return(0,n.jsx)(`span`,{className:a(`shrink-0 [&_svg]:h-[18px] [&_svg]:w-[18px]`,t?`opacity-100 text-cb-text`:`opacity-75`),children:(0,n.jsx)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,children:u[e]})})}var p=`data:image/png;base64,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`;function m({src:e=p,alt:t=`Chainberry`,href:r,collapsed:i=!1}){let o=(0,n.jsx)(`img`,{src:e,alt:t,className:i?`h-[22px] w-[22px] object-cover object-left`:`h-6 w-auto`}),s=a(`flex items-center`,i&&`justify-center`);return r?(0,n.jsx)(`a`,{href:r,className:s,children:o}):(0,n.jsx)(`span`,{className:s,children:o})}function h({label:e=`Section`}){return(0,n.jsx)(`h6`,{className:`mx-2.5 mt-2 mb-1 text-[11px] font-semibold uppercase tracking-[0.09em] text-cb-faint`,children:e})}function g({id:e,label:t,icon:r,active:i=!1,collapsed:o=!1,badge:l,soon:u=!1,ext:d,onNavigate:p}){let m=a(`group flex w-full items-center rounded-lg text-[14.5px] transition-colors`,o?`justify-center gap-0 px-0 py-2`:`gap-2.5 px-2.5 py-[7px] text-left mb-px`,i?`bg-cb-seg text-cb-text font-medium`:`font-normal text-cb-muted hover:bg-cb-seg hover:text-cb-ink2`),h=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(f,{name:r,active:i}),!o&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c,{text:t}),u?(0,n.jsx)(s,{variant:`soon`}):d?(0,n.jsx)(s,{variant:`ext`}):l==null?null:(0,n.jsx)(s,{variant:`count`,value:l})]})]});return d?(0,n.jsx)(`a`,{href:d,target:`_blank`,rel:`noopener`,title:t,className:m,children:h}):(0,n.jsx)(`button`,{type:`button`,"data-nav":e,title:t,className:m,onClick:()=>p?.(e),children:h})}function _({label:e,items:t=[],activeId:r,collapsed:i=!1,onNavigate:o}){return(0,n.jsxs)(`div`,{className:a(`mb-[7px]`,i&&`mb-1 border-b border-cb-line pb-1 last:border-b-0`),children:[!i&&e&&(0,n.jsx)(h,{label:e}),t.map(e=>(0,n.jsx)(g,{...e,active:e.id===r,collapsed:i,onNavigate:o},e.id))]})}var v=[{label:`Overview`,items:[{id:`dashboard`,label:`Dashboard`,icon:`grid`},{id:`approvals`,label:`Approval Required`,icon:`checkc`,badge:3}]},{label:`Transactions`,items:[{id:`transactions`,label:`All Transactions`,icon:`swap`},{id:`actionreq`,label:`Action Required`,icon:`shield`,badge:2}]},{label:`Treasury`,items:[{id:`wallets`,label:`Wallets`,icon:`wallet`},{id:`deposit`,label:`Deposit`,icon:`down`},{id:`withdraw`,label:`Withdraw`,icon:`up`},{id:`conversion`,label:`Convert`,icon:`convert`},{id:`itransfer`,label:`Internal Transfer`,icon:`transfer`},{id:`autotransfer`,label:`Automatic Transfers`,icon:`autoflow`},{id:`addressbook`,label:`Address Book`,icon:`book`}]},{label:`Payments`,items:[{id:`invoices`,label:`Invoices`,icon:`invoice`},{id:`payouts`,label:`Payouts`,icon:`payout`}]},{label:`Banking`,items:[{id:`banking`,label:`Banking`,icon:`bank`,soon:!0}]},{label:`Reports`,items:[{id:`reports`,label:`Reports`,icon:`chart`}]},{label:`Developers`,items:[{id:`devhub`,label:`Developer Hub`,icon:`code`},{id:`checkout`,label:`Checkout Widget`,icon:`widget`},{id:`devdocs`,label:`Developer Docs`,icon:`book`,ext:`#`}]},{label:`Administration`,items:[{id:`organization`,label:`Organization`,icon:`org`},{id:`users`,label:`Users & Roles`,icon:`users`},{id:`audit`,label:`Audit Log`,icon:`list`},{id:`billing`,label:`Billing & Usage`,icon:`card`}]},{label:`Help`,items:[{id:`help`,label:`Help & Support`,icon:`help`}]}],y=[{label:`Overview`,items:[{id:`dashboard`,label:`Dashboard`,icon:`grid`}]},{label:`Transactions`,items:[{id:`transactions`,label:`All Transactions`,icon:`swap`}]},{label:`Treasury`,items:[{id:`wallets`,label:`Wallets`,icon:`wallet`},{id:`deposit`,label:`Deposit`,icon:`down`},{id:`withdraw`,label:`Withdraw`,icon:`up`},{id:`conversion`,label:`Convert`,icon:`convert`},{id:`itransfer`,label:`Internal Transfer`,icon:`transfer`}]},{label:`Reports`,items:[{id:`reports`,label:`Reports`,icon:`chart`}]},{label:`Developers`,items:[{id:`devhub`,label:`Developer Hub`,icon:`code`},{id:`devdocs`,label:`Developer Docs`,icon:`book`,ext:`#`}]},{label:`Administration`,items:[{id:`organization`,label:`Organization`,icon:`org`},{id:`users`,label:`Users & Roles`,icon:`users`},{id:`billing`,label:`Billing & Usage`,icon:`card`}]}],b={primary:y,full:v},x=Object.fromEntries(v.flatMap(e=>e.items).map(e=>[e.id,e]));function S(e){return x[e]}function C({config:e,preset:t=`primary`,activeId:r=`dashboard`,collapsed:i=!1,logoSrc:o,onNavigate:s}){let c=e||b[t]||y;return(0,n.jsxs)(`aside`,{className:a(`flex h-full shrink-0 flex-col overflow-y-auto bg-cb-sidebar border-r border-cb-line`,i?`w-[62px] px-[9px] pt-[14px] pb-2.5`:`w-[260px] px-2.5 pt-[18px] pb-2.5`),children:[(0,n.jsx)(`div`,{className:a(`mb-1 flex items-center pb-2.5`,i?`justify-center px-0`:`px-2.5`),children:(0,n.jsx)(m,{src:o,collapsed:i})}),c.map((e,t)=>(0,n.jsx)(_,{...e,activeId:r,collapsed:i,onNavigate:s},e.label||t))]})}var w=(0,r.cva)(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,icon:`size-8`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function T({className:e,variant:t=`default`,size:r=`default`,asChild:o=!1,...s}){return(0,n.jsx)(o?i.Slot.Root:`button`,{"data-slot":`button`,"data-variant":t,"data-size":r,className:a(w({variant:t,size:r,className:e})),...s})}exports.Badge=s,exports.NavBadge=s,exports.Button=T,exports.FULL_NAV=v,exports.ICONS=u,exports.ICON_NAMES=d,exports.Logo=m,exports.NAV_ITEMS=x,exports.NAV_PRESETS=b,exports.NavDrawer=C,exports.NavGroup=_,exports.NavIcon=f,exports.NavItem=g,exports.NavLabel=c,exports.PRIMARY_NAV=y,exports.SectionHeading=h,exports.buttonVariants=w,exports.findNavItem=S;
package/dist/index.d.ts CHANGED
@@ -1,149 +1,77 @@
1
- import { JSX } from 'react';
2
-
3
- /** FULL_NAV the complete app navigation. */
4
- export declare const FULL_NAV: NavGroupConfig[];
5
-
6
- /** Icon names, handy for control lists / selects. */
7
- export declare const ICON_NAMES: IconName[];
8
-
9
- /** Valid icon keys for the nav components. */
10
- export declare type IconName = keyof typeof ICONS;
11
-
12
- export declare const ICONS: {
13
- readonly grid: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1.5\"/></svg>";
14
- readonly checkc: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M8.5 12.5l2.5 2.5 4.5-5\"/></svg>";
15
- readonly swap: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 7h13M14 4l3 3-3 3M20 17H7M10 14l-3 3 3 3\"/></svg>";
16
- readonly shield: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 3l8 3v6c0 5-3.5 8-8 9-4.5-1-8-4-8-9V6l8-3z\"/></svg>";
17
- readonly wallet: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"6\" width=\"18\" height=\"13\" rx=\"2.5\"/><path d=\"M3 10h18M16 15h2\"/></svg>";
18
- readonly down: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/></svg>";
19
- readonly up: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/></svg>";
20
- readonly convert: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M20 12a8 8 0 1 1-2.3-5.7M20 3v5h-5\"/></svg>";
21
- readonly transfer: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 8h14M15 5l3 3-3 3M20 16H6M9 13l-3 3 3 3\"/></svg>";
22
- readonly autoflow: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M17 2l4 4-4 4M3 11V9a4 4 0 0 1 4-4h14M7 22l-4-4 4-4M21 13v2a4 4 0 0 1-4 4H3\"/></svg>";
23
- readonly book: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3V4z\"/><path d=\"M5 17a3 3 0 0 1 3-3h11\"/></svg>";
24
- readonly invoice: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M6 3h9l4 4v14H6z\"/><path d=\"M14 3v5h5M9 12h6M9 16h6\"/></svg>";
25
- readonly payout: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 6h10M4 12h7M4 18h10M17 9l4 3-4 3M21 12h-7\"/></svg>";
26
- readonly bank: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M3 9l9-5 9 5M4 9v9M20 9v9M8 12v6M12 12v6M16 12v6M3 21h18\"/></svg>";
27
- readonly chart: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M4 20V6M4 20h16M9 16v-5M14 16V8M19 16v-3\"/></svg>";
28
- readonly code: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M8 8l-5 4 5 4M16 8l5 4-5 4M13 5l-3 14\"/></svg>";
29
- readonly widget: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2.5\"/><path d=\"M3 9h18M9 9v11\"/></svg>";
30
- readonly org: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"2\"/><path d=\"M9 7h2M13 7h2M9 11h2M13 11h2M9 15h2M13 15h2\"/></svg>";
31
- readonly users: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"9\" cy=\"8.5\" r=\"3.5\"/><path d=\"M3 20c.8-3.2 3.2-5 6-5s5.2 1.8 6 5M16 5.5a3.5 3.5 0 0 1 0 6M17.5 15.2c2 .7 3 2.2 3.5 4.8\"/></svg>";
32
- readonly list: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M8 6h13M8 12h13M8 18h13M3.5 6h.01M3.5 12h.01M3.5 18h.01\"/></svg>";
33
- readonly card: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2.5\"/><path d=\"M3 10h18M7 15h4\"/></svg>";
34
- readonly help: "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M9.5 9.5A2.5 2.5 0 1 1 12 12.5v1M12 17h.01\"/></svg>";
35
- };
36
-
37
- export declare function Logo({ src, alt, href, collapsed }: LogoProps): JSX.Element;
38
-
39
- export declare interface LogoProps {
40
- /** Image source (defaults to the Chainberry mark). */
41
- src?: string;
42
- alt?: string;
43
- /** Optional link wrapping the mark. */
44
- href?: string;
45
- /** Mini-rail sizing. */
46
- collapsed?: boolean;
47
- }
48
-
49
- /** Named presets, for app wiring and control selects. */
50
- export declare const NAV_PRESETS: {
51
- readonly primary: NavGroupConfig[];
52
- readonly full: NavGroupConfig[];
53
- };
54
-
55
- export declare function NavBadge({ variant, value }: NavBadgeProps): JSX.Element;
56
-
57
- export declare interface NavBadgeProps {
58
- variant?: NavBadgeVariant;
59
- /** Text for the count variant; ignored by soon/ext. */
60
- value?: string | number;
61
- }
62
-
63
- export declare type NavBadgeVariant = "count" | "soon" | "ext";
64
-
65
- export declare function NavDrawer({ config, preset, activeId, collapsed, logoSrc, onNavigate, }: NavDrawerProps): JSX.Element;
66
-
67
- export declare interface NavDrawerProps {
68
- /** Explicit nav config; overrides `preset`. */
69
- config?: NavGroupConfig[];
70
- preset?: NavPreset;
71
- activeId?: string;
72
- collapsed?: boolean;
73
- /** Override the logo image. */
74
- logoSrc?: string;
75
- onNavigate?: (id: string) => void;
76
- }
77
-
78
- export declare function NavGroup({ label, items, activeId, collapsed, onNavigate, }: NavGroupProps): JSX.Element;
79
-
80
- /** A titled group of nav items. */
81
- export declare interface NavGroupConfig {
82
- /** Section heading (hidden when the drawer is collapsed). */
83
- label: string;
84
- items: NavItemConfig[];
85
- }
86
-
87
- export declare interface NavGroupProps {
88
- /** Section heading (hidden when collapsed). */
89
- label?: string;
90
- items?: NavItemConfig[];
91
- /** Id of the active item. */
92
- activeId?: string;
93
- /** Icon-only rail. */
94
- collapsed?: boolean;
95
- onNavigate?: (id: string) => void;
96
- }
97
-
98
- export declare function NavIcon({ name, active }: NavIconProps): JSX.Element;
99
-
100
- export declare interface NavIconProps {
101
- name?: IconName;
102
- /** Full-opacity + text color when active. */
103
- active?: boolean;
104
- }
105
-
106
- export declare function NavItem({ id, label, icon, active, collapsed, badge, soon, ext, onNavigate, }: NavItemProps): JSX.Element;
107
-
108
- /** A single navigation entry. */
109
- export declare interface NavItemConfig {
110
- /** Stable key + route id. */
111
- id: string;
112
- /** Visible label text. */
113
- label: string;
114
- /** Icon key (see ICONS). */
115
- icon: IconName;
116
- /** Count pill shown on the trailing edge. */
117
- badge?: number;
118
- /** Renders a "SOON" tag instead of a badge. */
119
- soon?: boolean;
120
- /** External URL → renders as an anchor with a ↗ indicator. */
121
- ext?: string;
122
- }
123
-
124
- export declare interface NavItemProps extends NavItemConfig {
125
- /** Active/selected styling. */
126
- active?: boolean;
127
- /** Icon-only rail. */
128
- collapsed?: boolean;
129
- onNavigate?: (id: string) => void;
130
- }
131
-
132
- export declare function NavLabel({ text }: NavLabelProps): JSX.Element;
133
-
134
- export declare interface NavLabelProps {
135
- text?: string;
136
- }
137
-
138
- export declare type NavPreset = keyof typeof NAV_PRESETS;
139
-
140
- /** PRIMARY_NAV — trimmed navigation. */
141
- export declare const PRIMARY_NAV: NavGroupConfig[];
142
-
143
- export declare function SectionHeading({ label }: SectionHeadingProps): JSX.Element;
144
-
145
- export declare interface SectionHeadingProps {
146
- label?: string;
147
- }
1
+ import { Badge } from '../../../react-app/src/components/nav/Badge';
2
+ import { BadgeVariant } from '../../../react-app/src/components/nav/Badge';
3
+ import { Button } from '../../../react-app/src/components/ui/button';
4
+ import { buttonVariants } from '../../../react-app/src/components/ui/button';
5
+ import { ComponentProps } from '../../../react-app/node_modules/@types/react';
6
+ import { findNavItem } from '../../../react-app/src/components/nav/navConfig';
7
+ import { FULL_NAV } from '../../../react-app/src/components/nav/navConfig';
8
+ import { ICON_NAMES } from '../../../react-app/src/components/nav/icons';
9
+ import { IconName } from '../../../react-app/src/components/nav/icons';
10
+ import { ICONS } from '../../../react-app/src/components/nav/icons';
11
+ import { Logo } from '../../../react-app/src/components/nav/Logo';
12
+ import { NAV_ITEMS } from '../../../react-app/src/components/nav/navConfig';
13
+ import { NAV_PRESETS } from '../../../react-app/src/components/nav/navConfig';
14
+ import { NavDrawer } from '../../../react-app/src/components/nav/NavDrawer';
15
+ import { NavGroup } from '../../../react-app/src/components/nav/NavGroup';
16
+ import { NavGroupConfig } from '../../../react-app/src/components/nav/navConfig';
17
+ import { NavIcon } from '../../../react-app/src/components/nav/NavIcon';
18
+ import { NavItem } from '../../../react-app/src/components/nav/NavItem';
19
+ import { NavItemConfig } from '../../../react-app/src/components/nav/navConfig';
20
+ import { NavItemProps } from '../../../react-app/src/components/nav/NavItem';
21
+ import { NavLabel } from '../../../react-app/src/components/nav/NavLabel';
22
+ import { NavPreset } from '../../../react-app/src/components/nav/navConfig';
23
+ import { PRIMARY_NAV } from '../../../react-app/src/components/nav/navConfig';
24
+ import { SectionHeading } from '../../../react-app/src/components/nav/SectionHeading';
25
+
26
+ export { Badge }
27
+ export { Badge as NavBadge }
28
+
29
+ export { BadgeVariant }
30
+ export { BadgeVariant as NavBadgeVariant }
31
+
32
+ export { Button }
33
+
34
+ export { buttonVariants }
35
+
36
+ export { findNavItem }
37
+
38
+ export { FULL_NAV }
39
+
40
+ export { ICON_NAMES }
41
+
42
+ export { IconName }
43
+
44
+ export { ICONS }
45
+
46
+ export { Logo }
47
+
48
+ export { NAV_ITEMS }
49
+
50
+ export { NAV_PRESETS }
51
+
52
+ /** @deprecated use the props of `Badge` instead. */
53
+ export declare type NavBadgeProps = ComponentProps<typeof Badge>;
54
+
55
+ export { NavDrawer }
56
+
57
+ export { NavGroup }
58
+
59
+ export { NavGroupConfig }
60
+
61
+ export { NavIcon }
62
+
63
+ export { NavItem }
64
+
65
+ export { NavItemConfig }
66
+
67
+ export { NavItemProps }
68
+
69
+ export { NavLabel }
70
+
71
+ export { NavPreset }
72
+
73
+ export { PRIMARY_NAV }
74
+
75
+ export { SectionHeading }
148
76
 
149
77
  export { }