vocs 2.0.5 → 2.0.6

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.
@@ -1,5 +1,16 @@
1
1
  import type { Config } from './config.js';
2
+ export type SidebarItemBadge = string | {
3
+ /** Text displayed inside the badge. */
4
+ text: string;
5
+ /** Visual variant. Defaults to `'info'`. */
6
+ variant?: 'note' | 'info' | 'warning' | 'danger' | 'tip' | 'success' | undefined;
7
+ };
2
8
  export type SidebarItem<strict extends boolean = false> = {
9
+ /**
10
+ * Badge rendered to the right of the item text.
11
+ * Pass a string for a default `info` badge, or an object to pick a variant.
12
+ */
13
+ badge?: SidebarItemBadge | undefined;
3
14
  /** Whether or not to disable the sidebar item. */
4
15
  disabled?: boolean | undefined;
5
16
  /** Whether to open the link in a new tab. */
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/internal/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,OAAO,GAAG,KAAK,IAAI;IACxD,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,iDAAiD;IACjD,KAAK,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;IACvC,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,GAAG,CAAC,MAAM,SAAS,IAAI,GACpB;IACE,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,GACD;IACE,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAC,CAAA;AAEN,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAU1E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;EAoDjE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,OAAY,GAAG,MAAM,CAajF;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,OAAO,GAAG;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../src/internal/sidebar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN;IACE,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,GAAG,SAAS,CAAA;CACjF,CAAA;AAEL,MAAM,MAAM,WAAW,CAAC,MAAM,SAAS,OAAO,GAAG,KAAK,IAAI;IACxD;;;OAGG;IACH,KAAK,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;IACpC,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,iDAAiD;IACjD,KAAK,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;IACvC,sCAAsC;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,GAAG,CAAC,MAAM,SAAS,IAAI,GACpB;IACE,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,GACD;IACE,8DAA8D;IAC9D,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC/B,0DAA0D;IAC1D,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC1B,CAAC,CAAA;AAEN,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC9B,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,CAU1E;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;EAoDjE;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,MAAM,CAAC,OAAY,GAAG,MAAM,CAajF;AAED,yBAAiB,MAAM,CAAC;IACtB,KAAY,OAAO,GAAG;QACpB,UAAU,CAAC,EAAE,MAAM,CAAA;KACpB,CAAA;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../src/internal/sidebar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../src/internal/sidebar.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/react/internal/Sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAY9B,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,2CA6B3C;AAiBD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,KAAK,GAAG;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;QACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;KAClD,CAAA;CACF"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/react/internal/Sidebar.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAa9B,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,2CA6B3C;AAiBD,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,KAAK,GAAG;QAClB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,UAAU,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;QACrC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;KAClD,CAAA;CACF"}
@@ -8,6 +8,7 @@ import LucideArrowUpRight from '~icons/lucide/arrow-up-right';
8
8
  import LucideChevronRight from '~icons/lucide/chevron-right';
9
9
  import * as Path from '../../internal/path.js';
10
10
  import * as Sidebar_core from '../../internal/sidebar.js';
11
+ import { Badge } from '../Badge.js';
11
12
  import { Link } from '../Link.js';
12
13
  import { useSidebar } from '../useSidebar.js';
13
14
  const maxDepth = 5;
@@ -22,9 +23,14 @@ function BackLink(props) {
22
23
  return (_jsxs(Link, { className: "vocs:flex vocs:items-center vocs:gap-1.5 vocs:text-secondary vocs:hover:text-heading vocs:mb-4 vocs:-ml-0.5", "data-v-sidebar-back-link": true, onClick: onNavigate, to: "/", children: [_jsx(LucideArrowLeft, { className: "vocs:size-4" }), _jsx("span", { children: "Back" })] }));
23
24
  }
24
25
  /** @internal */
26
+ function ItemBadge(props) {
27
+ const badge = typeof props.badge === 'string' ? { text: props.badge } : props.badge;
28
+ return (_jsx(Badge, { className: "vocs:shrink-0 vocs:ml-2", "data-v-sidebar-item-badge": true, variant: badge.variant ?? 'info', children: badge.text }));
29
+ }
30
+ /** @internal */
25
31
  // biome-ignore lint/correctness/noUnusedVariables: _
26
32
  function Item(props) {
27
- const { condensed = false, depth = 0, disabled, external, link, onNavigate, scrollRef, text, } = props;
33
+ const { badge, condensed = false, depth = 0, disabled, external, link, onNavigate, scrollRef, text, } = props;
28
34
  const { path } = useRouter();
29
35
  const isExternal = external ?? Path.isExternal(link);
30
36
  const active = React.useMemo(() => (isExternal ? false : Path.matches(path, link)), [path, link, isExternal]);
@@ -56,10 +62,10 @@ function Item(props) {
56
62
  }, [link, path, scrollRef]);
57
63
  if (link && !disabled) {
58
64
  if (isExternal)
59
- return (_jsx("a", { className: Item.className, "data-condensed": condensed && depth > 1, "data-link": true, "data-v-sidebar-item": true, href: link, ref: itemRef, target: "_blank", rel: "noopener noreferrer", onClick: onNavigate, children: _jsxs("span", { className: "vocs:inline-flex vocs:items-center vocs:gap-1", children: [text, _jsx(LucideArrowUpRight, { className: "vocs:size-3" })] }) }));
60
- return (_jsx(Link, { className: Item.className, "data-condensed": condensed && depth > 1, "data-link": true, "data-v-sidebar-item": true, to: link, ref: itemRef, onClick: onNavigate, ...(active && { 'data-active': true }), children: text }));
65
+ return (_jsxs("a", { className: Item.className, "data-condensed": condensed && depth > 1, "data-link": true, "data-v-sidebar-item": true, href: link, ref: itemRef, target: "_blank", rel: "noopener noreferrer", onClick: onNavigate, children: [_jsxs("span", { className: "vocs:inline-flex vocs:items-center vocs:gap-1 vocs:min-w-0 vocs:truncate", children: [text, _jsx(LucideArrowUpRight, { className: "vocs:size-3 vocs:shrink-0" })] }), badge && _jsx(ItemBadge, { badge: badge })] }));
66
+ return (_jsxs(Link, { className: Item.className, "data-condensed": condensed && depth > 1, "data-link": true, "data-v-sidebar-item": true, to: link, ref: itemRef, onClick: onNavigate, ...(active && { 'data-active': true }), children: [_jsx("span", { className: "vocs:min-w-0 vocs:truncate", children: text }), badge && _jsx(ItemBadge, { badge: badge })] }));
61
67
  }
62
- return (_jsx("div", { "aria-disabled": disabled, className: Item.className, "data-condensed": condensed && depth > 1, "data-link": link ? true : undefined, "data-v-sidebar-item": true, ref: itemRef, children: text }));
68
+ return (_jsxs("div", { "aria-disabled": disabled, className: Item.className, "data-condensed": condensed && depth > 1, "data-link": link ? true : undefined, "data-v-sidebar-item": true, ref: itemRef, children: [_jsx("span", { className: "vocs:min-w-0 vocs:truncate", children: text }), badge && _jsx(ItemBadge, { badge: badge })] }));
63
69
  }
64
70
  (function (Item) {
65
71
  Item.className = 'vocs:flex vocs:data-link:hover:text-heading vocs:not-data-link:cursor-default vocs:justify-between vocs:-mx-3 vocs:px-3 vocs:py-1.5 vocs:text-primary/80 vocs:-my-0.5 vocs:items-center vocs:rounded-md vocs:data-active:bg-accenta3 vocs:data-active:text-accent8! vocs:aria-disabled:opacity-60 vocs:aria-disabled:cursor-not-allowed vocs:aria-disabled:pointer-events-none vocs:data-[condensed=true]:text-[13px] vocs:data-[condensed=true]:py-[0.3rem]';
@@ -67,7 +73,7 @@ function Item(props) {
67
73
  /** @internal */
68
74
  // biome-ignore lint/correctness/noUnusedVariables: _
69
75
  function Section(props) {
70
- const { condensed = false, depth = 0, link, items, onNavigate, scrollRef, text } = props;
76
+ const { badge, condensed = false, depth = 0, link, items, onNavigate, scrollRef, text } = props;
71
77
  const { path } = useRouter();
72
78
  const groupLinkIsExternal = link ? Path.isExternal(link) : false;
73
79
  const groupLinkIsActive = React.useMemo(() => Boolean(link && !groupLinkIsExternal && Path.matches(path, link)), [groupLinkIsExternal, link, path]);
@@ -113,7 +119,7 @@ function Section(props) {
113
119
  if (items)
114
120
  return (_jsxs("section", { "data-collapsed": collapsed, "data-v-sidebar-section": true, children: [(() => {
115
121
  if (text && link)
116
- return (_jsxs("div", { className: depth > 0 ? Section.childHeaderClassName : Section.rootHeaderClassName, "data-condensed": condensed && depth > 1, "data-collapsed": collapsed, "data-collapsable": collapsable, "data-v-sidebar-section-header": true, ...(groupLinkIsActive && { 'data-active': true }), children: [_jsx(Link, { className: Section.headerLinkClassName, onClick: onNavigate, to: link, children: _jsxs("span", { className: "vocs:inline-flex vocs:items-center vocs:gap-1", children: [text, groupLinkIsExternal && _jsx(LucideArrowUpRight, { className: "vocs:size-3" })] }) }), collapsable && (_jsx("button", { "aria-expanded": !collapsed, "aria-label": `Toggle ${text} section`, className: "vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading", onClick: () => setCollapsed((x) => !x), type: "button", children: _jsx(LucideChevronRight, { className: "vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out", ...(!collapsed ? { 'data-collapsed': false } : {}) }) }))] }));
122
+ return (_jsxs("div", { className: depth > 0 ? Section.childHeaderClassName : Section.rootHeaderClassName, "data-condensed": condensed && depth > 1, "data-collapsed": collapsed, "data-collapsable": collapsable, "data-v-sidebar-section-header": true, ...(groupLinkIsActive && { 'data-active': true }), children: [_jsx(Link, { className: Section.headerLinkClassName, onClick: onNavigate, to: link, children: _jsxs("span", { className: "vocs:inline-flex vocs:items-center vocs:gap-1", children: [text, groupLinkIsExternal && _jsx(LucideArrowUpRight, { className: "vocs:size-3" })] }) }), badge && _jsx(ItemBadge, { badge: badge }), collapsable && (_jsx("button", { "aria-expanded": !collapsed, "aria-label": `Toggle ${text} section`, className: "vocs:ml-2 vocs:-mr-1 vocs:shrink-0 vocs:rounded-md vocs:p-1 vocs:text-secondary/80 vocs:hover:text-heading", onClick: () => setCollapsed((x) => !x), type: "button", children: _jsx(LucideChevronRight, { className: "vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out", ...(!collapsed ? { 'data-collapsed': false } : {}) }) }))] }));
117
123
  // Non-link item is a header.
118
124
  if (text)
119
125
  return (_jsxs("div", { className: depth > 0 ? Section.childHeaderClassName : Section.rootHeaderClassName, "data-condensed": condensed && depth > 1, "data-collapsed": collapsed, "data-collapsable": collapsable, "data-v-sidebar-section-header": true, ...(collapsable
@@ -123,7 +129,7 @@ function Section(props) {
123
129
  onClick: onCollapseInteraction,
124
130
  onKeyDown: onCollapseInteraction,
125
131
  }
126
- : {}), children: [text, collapsable && (_jsx("div", { className: "vocs:text-secondary/80", children: _jsx(LucideChevronRight, { className: "vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out", ...(!collapsed ? { 'data-collapsed': false } : {}) }) }))] }));
132
+ : {}), children: [_jsxs("span", { className: "vocs:inline-flex vocs:items-center vocs:min-w-0", children: [_jsx("span", { className: "vocs:truncate", children: text }), badge && _jsx(ItemBadge, { badge: badge })] }), collapsable && (_jsx("div", { className: "vocs:text-secondary/80", children: _jsx(LucideChevronRight, { className: "vocs:data-collapsed:rotate-90 vocs:transition-transform vocs:duration-200 vocs:ease-in-out", ...(!collapsed ? { 'data-collapsed': false } : {}) }) }))] }));
127
133
  // Empty header.
128
134
  return _jsx("div", { className: "vocs:h-[1em]", "data-empty": true });
129
135
  })(), !collapsed && (_jsx("div", { className: depth > 0 ? 'vocs:pl-4 vocs:border-l vocs:border-primary' : '', "data-v-sidebar-section-content": true, children: items.length > 0 &&
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/react/internal/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.js","sourceRoot":"","sources":["../../../src/react/internal/Sidebar.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vocs",
3
3
  "type": "module",
4
- "version": "2.0.5",
4
+ "version": "2.0.6",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "repository": {
@@ -130,6 +130,34 @@ describe('flatten', () => {
130
130
  ]
131
131
  `)
132
132
  })
133
+
134
+ test('preserves badge on flattened items', () => {
135
+ expect(
136
+ flatten([
137
+ { text: 'A', link: '/a', badge: 'New' },
138
+ {
139
+ text: 'Group',
140
+ items: [{ text: 'B', link: '/b', badge: { text: 'Beta', variant: 'warning' } }],
141
+ },
142
+ ]),
143
+ ).toMatchInlineSnapshot(`
144
+ [
145
+ {
146
+ "badge": "New",
147
+ "link": "/a",
148
+ "text": "A",
149
+ },
150
+ {
151
+ "badge": {
152
+ "text": "Beta",
153
+ "variant": "warning",
154
+ },
155
+ "link": "/b",
156
+ "text": "B",
157
+ },
158
+ ]
159
+ `)
160
+ })
133
161
  })
134
162
 
135
163
  describe('fromConfig', () => {
@@ -1,6 +1,20 @@
1
1
  import type { Config } from './config.js'
2
2
 
3
+ export type SidebarItemBadge =
4
+ | string
5
+ | {
6
+ /** Text displayed inside the badge. */
7
+ text: string
8
+ /** Visual variant. Defaults to `'info'`. */
9
+ variant?: 'note' | 'info' | 'warning' | 'danger' | 'tip' | 'success' | undefined
10
+ }
11
+
3
12
  export type SidebarItem<strict extends boolean = false> = {
13
+ /**
14
+ * Badge rendered to the right of the item text.
15
+ * Pass a string for a default `info` badge, or an object to pick a variant.
16
+ */
17
+ badge?: SidebarItemBadge | undefined
4
18
  /** Whether or not to disable the sidebar item. */
5
19
  disabled?: boolean | undefined
6
20
  /** Whether to open the link in a new tab. */
@@ -8,6 +8,7 @@ import LucideArrowUpRight from '~icons/lucide/arrow-up-right'
8
8
  import LucideChevronRight from '~icons/lucide/chevron-right'
9
9
  import * as Path from '../../internal/path.js'
10
10
  import * as Sidebar_core from '../../internal/sidebar.js'
11
+ import { Badge } from '../Badge.js'
11
12
  import { Link } from '../Link.js'
12
13
  import { useSidebar } from '../useSidebar.js'
13
14
 
@@ -67,10 +68,25 @@ export declare namespace Sidebar {
67
68
  }
68
69
  }
69
70
 
71
+ /** @internal */
72
+ function ItemBadge(props: { badge: Sidebar_core.SidebarItemBadge }) {
73
+ const badge = typeof props.badge === 'string' ? { text: props.badge } : props.badge
74
+ return (
75
+ <Badge
76
+ className="vocs:shrink-0 vocs:ml-2"
77
+ data-v-sidebar-item-badge
78
+ variant={badge.variant ?? 'info'}
79
+ >
80
+ {badge.text}
81
+ </Badge>
82
+ )
83
+ }
84
+
70
85
  /** @internal */
71
86
  // biome-ignore lint/correctness/noUnusedVariables: _
72
87
  function Item(props: Item.Props) {
73
88
  const {
89
+ badge,
74
90
  condensed = false,
75
91
  depth = 0,
76
92
  disabled,
@@ -133,10 +149,11 @@ function Item(props: Item.Props) {
133
149
  rel="noopener noreferrer"
134
150
  onClick={onNavigate}
135
151
  >
136
- <span className="vocs:inline-flex vocs:items-center vocs:gap-1">
152
+ <span className="vocs:inline-flex vocs:items-center vocs:gap-1 vocs:min-w-0 vocs:truncate">
137
153
  {text}
138
- <LucideArrowUpRight className="vocs:size-3" />
154
+ <LucideArrowUpRight className="vocs:size-3 vocs:shrink-0" />
139
155
  </span>
156
+ {badge && <ItemBadge badge={badge} />}
140
157
  </a>
141
158
  )
142
159
  return (
@@ -150,7 +167,8 @@ function Item(props: Item.Props) {
150
167
  onClick={onNavigate}
151
168
  {...(active && { 'data-active': true })}
152
169
  >
153
- {text}
170
+ <span className="vocs:min-w-0 vocs:truncate">{text}</span>
171
+ {badge && <ItemBadge badge={badge} />}
154
172
  </Link>
155
173
  )
156
174
  }
@@ -163,7 +181,8 @@ function Item(props: Item.Props) {
163
181
  data-v-sidebar-item
164
182
  ref={itemRef as never}
165
183
  >
166
- {text}
184
+ <span className="vocs:min-w-0 vocs:truncate">{text}</span>
185
+ {badge && <ItemBadge badge={badge} />}
167
186
  </div>
168
187
  )
169
188
  }
@@ -183,7 +202,7 @@ namespace Item {
183
202
  /** @internal */
184
203
  // biome-ignore lint/correctness/noUnusedVariables: _
185
204
  function Section(props: Section.Props) {
186
- const { condensed = false, depth = 0, link, items, onNavigate, scrollRef, text } = props
205
+ const { badge, condensed = false, depth = 0, link, items, onNavigate, scrollRef, text } = props
187
206
 
188
207
  const { path } = useRouter()
189
208
  const groupLinkIsExternal = link ? Path.isExternal(link) : false
@@ -250,6 +269,8 @@ function Section(props: Section.Props) {
250
269
  </span>
251
270
  </Link>
252
271
 
272
+ {badge && <ItemBadge badge={badge} />}
273
+
253
274
  {collapsable && (
254
275
  <button
255
276
  aria-expanded={!collapsed}
@@ -285,7 +306,10 @@ function Section(props: Section.Props) {
285
306
  }
286
307
  : {})}
287
308
  >
288
- {text}
309
+ <span className="vocs:inline-flex vocs:items-center vocs:min-w-0">
310
+ <span className="vocs:truncate">{text}</span>
311
+ {badge && <ItemBadge badge={badge} />}
312
+ </span>
289
313
 
290
314
  {collapsable && (
291
315
  <div className="vocs:text-secondary/80">