@nadicodeai/ui 0.10.2 → 0.11.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.
Files changed (99) hide show
  1. package/AGENTS.md +23 -135
  2. package/README.md +39 -110
  3. package/dist/components/action-band.d.ts +5 -3
  4. package/dist/components/action-band.d.ts.map +1 -1
  5. package/dist/components/action-band.js +35 -21
  6. package/dist/components/agent-chat.d.ts.map +1 -1
  7. package/dist/components/agent-chat.js +1 -1
  8. package/dist/components/agent-composer.d.ts.map +1 -1
  9. package/dist/components/agent-composer.js +1 -1
  10. package/dist/components/ai-elements/terminal.d.ts.map +1 -1
  11. package/dist/components/ai-elements/terminal.js +8 -8
  12. package/dist/components/artifact-panel.d.ts.map +1 -1
  13. package/dist/components/artifact-panel.js +5 -5
  14. package/dist/components/bento.d.ts +14 -3
  15. package/dist/components/bento.d.ts.map +1 -1
  16. package/dist/components/bento.js +26 -5
  17. package/dist/components/brand.d.ts.map +1 -1
  18. package/dist/components/brand.js +29 -3
  19. package/dist/components/contact.d.ts +22 -10
  20. package/dist/components/contact.d.ts.map +1 -1
  21. package/dist/components/contact.js +34 -12
  22. package/dist/components/diff-count.js +1 -1
  23. package/dist/components/faq-item.js +2 -2
  24. package/dist/components/faq.d.ts +4 -1
  25. package/dist/components/faq.d.ts.map +1 -1
  26. package/dist/components/faq.js +5 -2
  27. package/dist/components/feature-grid.d.ts +23 -0
  28. package/dist/components/feature-grid.d.ts.map +1 -0
  29. package/dist/components/feature-grid.js +33 -0
  30. package/dist/components/feature-rows.d.ts +23 -0
  31. package/dist/components/feature-rows.d.ts.map +1 -0
  32. package/dist/components/feature-rows.js +27 -0
  33. package/dist/components/footer.d.ts +18 -12
  34. package/dist/components/footer.d.ts.map +1 -1
  35. package/dist/components/footer.js +32 -20
  36. package/dist/components/hero.d.ts +28 -0
  37. package/dist/components/hero.d.ts.map +1 -0
  38. package/dist/components/hero.js +45 -0
  39. package/dist/components/integration-flow.d.ts +36 -0
  40. package/dist/components/integration-flow.d.ts.map +1 -0
  41. package/dist/components/integration-flow.js +36 -0
  42. package/dist/components/live-demo.d.ts +31 -0
  43. package/dist/components/live-demo.d.ts.map +1 -0
  44. package/dist/components/live-demo.js +30 -0
  45. package/dist/components/logo-band.d.ts +12 -2
  46. package/dist/components/logo-band.d.ts.map +1 -1
  47. package/dist/components/logo-band.js +16 -1
  48. package/dist/components/logo-tile.d.ts.map +1 -1
  49. package/dist/components/logo-tile.js +5 -2
  50. package/dist/components/nav-bar.d.ts +14 -8
  51. package/dist/components/nav-bar.d.ts.map +1 -1
  52. package/dist/components/nav-bar.js +19 -13
  53. package/dist/components/pricing-card.d.ts +10 -15
  54. package/dist/components/pricing-card.d.ts.map +1 -1
  55. package/dist/components/pricing-card.js +18 -29
  56. package/dist/components/pricing.d.ts +11 -14
  57. package/dist/components/pricing.d.ts.map +1 -1
  58. package/dist/components/pricing.js +5 -15
  59. package/dist/components/quote-card.d.ts +10 -2
  60. package/dist/components/quote-card.d.ts.map +1 -1
  61. package/dist/components/quote-card.js +15 -3
  62. package/dist/components/security-grid.d.ts +25 -0
  63. package/dist/components/security-grid.d.ts.map +1 -0
  64. package/dist/components/security-grid.js +31 -0
  65. package/dist/components/stat-block.d.ts +9 -5
  66. package/dist/components/stat-block.d.ts.map +1 -1
  67. package/dist/components/stat-block.js +12 -6
  68. package/dist/components/statement.d.ts +32 -0
  69. package/dist/components/statement.d.ts.map +1 -0
  70. package/dist/components/statement.js +40 -0
  71. package/dist/components/stats-band.d.ts +6 -2
  72. package/dist/components/stats-band.d.ts.map +1 -1
  73. package/dist/components/stats-band.js +10 -3
  74. package/dist/components/status-dot.js +4 -4
  75. package/dist/components/steps.d.ts +34 -0
  76. package/dist/components/steps.d.ts.map +1 -0
  77. package/dist/components/steps.js +40 -0
  78. package/dist/components/team-grid.d.ts +27 -0
  79. package/dist/components/team-grid.d.ts.map +1 -0
  80. package/dist/components/team-grid.js +30 -0
  81. package/dist/components/testimonials.d.ts +39 -12
  82. package/dist/components/testimonials.d.ts.map +1 -1
  83. package/dist/components/testimonials.js +46 -13
  84. package/dist/components/texture-strip.d.ts +22 -0
  85. package/dist/components/texture-strip.d.ts.map +1 -0
  86. package/dist/components/texture-strip.js +29 -0
  87. package/dist/index.d.ts +10 -0
  88. package/dist/index.d.ts.map +1 -1
  89. package/dist/index.js +10 -0
  90. package/dist/styles/globals.css +174 -300
  91. package/docs/agent-work-surfaces.md +6 -5
  92. package/docs/agents/nadicodeai-ui.md +42 -273
  93. package/docs/consuming-cross-repo.md +26 -33
  94. package/docs/contract.md +43 -0
  95. package/docs/migration/nadia-consumer-readiness.md +5 -10
  96. package/docs/terminal-tui-semantics.md +142 -181
  97. package/llms.txt +49 -84
  98. package/package.json +2 -3
  99. package/skills/nadicodeai-ui/SKILL.md +6 -34
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ import { SeamGrid } from "./seam-grid.js";
4
+ /**
5
+ * team-grid — the "the people" roster (V5 B17).
6
+ *
7
+ * A three-column wall of `TeamMember` cells over the gap-as-seam grid (`SeamGrid`
8
+ * owns every divider once; the cells are borderless fills). Each member reads
9
+ * avatar → role → name → line, top-aligned.
10
+ *
11
+ * SINGLE-OWNER SEAM: the holding `SeamGrid` paints the brand line behind the cells
12
+ * and leaves a 1px guide gap, so no cell draws a competing border.
13
+ *
14
+ * INVERTED CELL: the non-human team member renders as a dark surface cell inside an
15
+ * otherwise light section. This is expressed with an ancestor `.dark` class ON THE
16
+ * CELL ROOT (`variant="inverted"`) — an accepted ancestor-class remap, NOT a `dark:`
17
+ * utility. Every colour must flip from that cell-local `.dark`: the cell composes
18
+ * semantic roles (`bg-card`, `text-foreground`, `text-muted-foreground`) and the
19
+ * canonical `--nc-link-deep` pair for the verde accent. Token-only.
20
+ */
21
+ function TeamGrid({ className, ...props }) {
22
+ return (_jsx(SeamGrid, { "data-slot": "team-grid", className: cn("h-full grid-cols-1 sm:grid-cols-2 lg:grid-cols-3", className), ...props }));
23
+ }
24
+ function TeamMember({ className, variant = "default", avatar, role, name, children, ...props }) {
25
+ return (_jsxs("div", { "data-slot": "team-member", "data-variant": variant, className: cn("grid min-h-[250px] min-w-0 content-start gap-3 p-[clamp(24px,3vw,40px)] bg-card text-foreground",
26
+ // inverted: a dark cell inside a light section via a local `.dark` boundary
27
+ // (ancestor-class remap, not a `dark:` utility). Same roles, dark values.
28
+ variant === "inverted" && "dark", className), ...props, children: [avatar ? (_jsx("span", { "data-slot": "team-member-avatar", "aria-hidden": "true", className: "flex size-13 items-center justify-center rounded-full bg-success/15 text-lg font-semibold text-[var(--nc-link-deep)]", children: avatar })) : null, role ? (_jsx("span", { "data-slot": "team-member-role", className: "font-mono text-[10px] uppercase tracking-[0.13em] text-[var(--nc-link-deep)]", children: role })) : null, name ? (_jsx("h3", { "data-slot": "team-member-name", className: "text-[17px] font-semibold text-foreground", children: name })) : null, children ? (_jsx("p", { "data-slot": "team-member-line", className: "text-sm text-muted-foreground", children: children })) : null] }));
29
+ }
30
+ export { TeamGrid, TeamMember };
@@ -1,21 +1,48 @@
1
1
  import * as React from "react";
2
2
  /**
3
- * testimonials — credibility row of customer quotes (replaces the retired
4
- * `sections/testimonials.css` + its coupled `quote-card` cells).
3
+ * testimonials — credibility surface for customer quotes.
5
4
  *
6
- * Two modes, both seam-single-owner:
7
- * - single (no `columns`): one full-width `QuoteCard` centered with a comfortable
8
- * measure; the card is borderless so it adds NO seam.
9
- * - grid (`columns=2|3`): a wall of `QuoteCard`s in the gap-as-seam grid — the
10
- * grid owns every divider once (`gap-px bg-border`). `surface="ink"` flips only
11
- * the seam colour, never its weight.
5
+ * Three modes, all seam-single-owner:
6
+ * - single (no `columns`, no `aside`): one full-width `QuoteCard` centered with a
7
+ * comfortable measure; the card is borderless so it adds NO seam.
8
+ * - grid (`columns=2|3`): a wall of `QuoteCard`s in the gap-as-seam grid — the grid
9
+ * owns every divider once (`gap-px bg-border`). `surface="ink"` flips only the
10
+ * seam colour, never its weight.
11
+ * - record (`aside`): the featured 7fr / 5fr split (V5 B13) — a big quote beside a
12
+ * side record card (`TestimonialRecord`). This split uses a whitespace gap, not a
13
+ * hairline, so it introduces NO structural seam; the frame/lane/row perimeter is
14
+ * still owned by the kept geometry layer.
12
15
  *
13
- * The frame/lane/row perimeter is owned by the kept geometry layer; this owns no
14
- * frame math, no marker, no perimeter line. Token-only; no `dark:` styling.
16
+ * The `TestimonialRecord` slot reuses the status-row idiom (a mono line with a tint
17
+ * state pill) through `TestimonialRecordRow` children, so consumers do not import any
18
+ * live-demo internals. No fake proof: absent rows/status render nothing.
19
+ *
20
+ * Token-only; no `dark:` styling.
15
21
  */
16
- declare function Testimonials({ className, columns, surface, children, ...props }: React.ComponentProps<"div"> & {
22
+ declare function Testimonials({ className, columns, surface, aside, children, ...props }: React.ComponentProps<"div"> & {
17
23
  columns?: 2 | 3;
18
24
  surface?: "canvas" | "ink";
25
+ /** the side record card; presence switches to the featured 7fr / 5fr split */
26
+ aside?: React.ReactNode;
27
+ }): React.JSX.Element;
28
+ /**
29
+ * TestimonialRecord — the side record card in the featured split. A soft, bordered
30
+ * card (its own perimeter, not a structural seam) with an optional mono `tag` over a
31
+ * stack of `TestimonialRecordRow` children.
32
+ */
33
+ declare function TestimonialRecord({ className, tag, children, ...props }: React.ComponentProps<"div"> & {
34
+ tag?: React.ReactNode;
35
+ }): React.JSX.Element;
36
+ /**
37
+ * TestimonialRecordRow — one status line in the record card: a mono label with an
38
+ * optional trailing state pill (done = green soft/deep, waiting = amber soft/deep —
39
+ * the AA-clearing status-tag idiom, a deep-ink label on a soft same-hue ground). The
40
+ * inter-row hairline is owned here (`border-t`, dropped on the first row). No fake
41
+ * proof: an absent `status` renders no pill.
42
+ */
43
+ declare function TestimonialRecordRow({ className, state, status, children, ...props }: React.ComponentProps<"div"> & {
44
+ state?: "done" | "waiting";
45
+ status?: React.ReactNode;
19
46
  }): React.JSX.Element;
20
- export { Testimonials };
47
+ export { Testimonials, TestimonialRecord, TestimonialRecordRow };
21
48
  //# sourceMappingURL=testimonials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testimonials.d.ts","sourceRoot":"","sources":["../../src/components/testimonials.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;GAaG;AAEH,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,OAAO,EACP,OAAkB,EAClB,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CAC5B,qBA6BA;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"testimonials.d.ts","sourceRoot":"","sources":["../../src/components/testimonials.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,OAAO,EACP,OAAkB,EAClB,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAChB,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CACzB,qBAiDA;AAED;;;;GAIG;AACH,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,GAAG,EACH,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBAkBzD;AAED;;;;;;GAMG;AACH,iBAAS,oBAAoB,CAAC,EAC5B,SAAS,EACT,KAAc,EACd,MAAM,EACN,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,qBA4BxF;AAED,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,25 +1,58 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "../lib/utils.js";
3
3
  import { SeamGrid } from "./seam-grid.js";
4
4
  /**
5
- * testimonials — credibility row of customer quotes (replaces the retired
6
- * `sections/testimonials.css` + its coupled `quote-card` cells).
5
+ * testimonials — credibility surface for customer quotes.
7
6
  *
8
- * Two modes, both seam-single-owner:
9
- * - single (no `columns`): one full-width `QuoteCard` centered with a comfortable
10
- * measure; the card is borderless so it adds NO seam.
11
- * - grid (`columns=2|3`): a wall of `QuoteCard`s in the gap-as-seam grid — the
12
- * grid owns every divider once (`gap-px bg-border`). `surface="ink"` flips only
13
- * the seam colour, never its weight.
7
+ * Three modes, all seam-single-owner:
8
+ * - single (no `columns`, no `aside`): one full-width `QuoteCard` centered with a
9
+ * comfortable measure; the card is borderless so it adds NO seam.
10
+ * - grid (`columns=2|3`): a wall of `QuoteCard`s in the gap-as-seam grid — the grid
11
+ * owns every divider once (`gap-px bg-border`). `surface="ink"` flips only the
12
+ * seam colour, never its weight.
13
+ * - record (`aside`): the featured 7fr / 5fr split (V5 B13) — a big quote beside a
14
+ * side record card (`TestimonialRecord`). This split uses a whitespace gap, not a
15
+ * hairline, so it introduces NO structural seam; the frame/lane/row perimeter is
16
+ * still owned by the kept geometry layer.
14
17
  *
15
- * The frame/lane/row perimeter is owned by the kept geometry layer; this owns no
16
- * frame math, no marker, no perimeter line. Token-only; no `dark:` styling.
18
+ * The `TestimonialRecord` slot reuses the status-row idiom (a mono line with a tint
19
+ * state pill) through `TestimonialRecordRow` children, so consumers do not import any
20
+ * live-demo internals. No fake proof: absent rows/status render nothing.
21
+ *
22
+ * Token-only; no `dark:` styling.
17
23
  */
18
- function Testimonials({ className, columns, surface = "canvas", children, ...props }) {
24
+ function Testimonials({ className, columns, surface = "canvas", aside, children, ...props }) {
25
+ if (aside) {
26
+ // featured record mode — big quote (7fr) beside the record card (5fr). The gap
27
+ // is whitespace, never a hairline, so this owns no structural seam.
28
+ return (_jsxs("div", { "data-slot": "testimonials", "data-layout": "record", "data-surface": surface, className: cn("grid grid-cols-1 items-center gap-x-[clamp(32px,5vw,72px)] gap-y-10 lg:grid-cols-[7fr_5fr]", className), ...props, children: [_jsx("div", { className: "min-w-0", children: children }), _jsx("div", { className: "min-w-0", children: aside })] }));
29
+ }
19
30
  if (!columns) {
20
31
  // single featured mode — the lone card is centered; no grid, no seam.
21
32
  return (_jsx("div", { "data-slot": "testimonials", "data-surface": surface, className: cn("flex h-full items-center justify-center", className), ...props, children: _jsx("div", { className: "w-full max-w-[760px]", children: children }) }));
22
33
  }
23
34
  return (_jsx(SeamGrid, { "data-slot": "testimonials", surface: surface, className: cn("h-full", columns === 2 ? "grid-cols-1 sm:grid-cols-2" : "grid-cols-1 sm:grid-cols-2 lg:grid-cols-3", className), ...props, children: children }));
24
35
  }
25
- export { Testimonials };
36
+ /**
37
+ * TestimonialRecord — the side record card in the featured split. A soft, bordered
38
+ * card (its own perimeter, not a structural seam) with an optional mono `tag` over a
39
+ * stack of `TestimonialRecordRow` children.
40
+ */
41
+ function TestimonialRecord({ className, tag, children, ...props }) {
42
+ return (_jsxs("div", { "data-slot": "testimonial-record", className: cn("grid content-start rounded-md border border-border bg-muted p-5", className), ...props, children: [tag ? (_jsx("span", { "data-slot": "testimonial-record-tag", className: "mb-2 font-mono text-[11px] uppercase tracking-[0.12em] text-muted-foreground", children: tag })) : null, children] }));
43
+ }
44
+ /**
45
+ * TestimonialRecordRow — one status line in the record card: a mono label with an
46
+ * optional trailing state pill (done = green soft/deep, waiting = amber soft/deep —
47
+ * the AA-clearing status-tag idiom, a deep-ink label on a soft same-hue ground). The
48
+ * inter-row hairline is owned here (`border-t`, dropped on the first row). No fake
49
+ * proof: an absent `status` renders no pill.
50
+ */
51
+ function TestimonialRecordRow({ className, state = "done", status, children, ...props }) {
52
+ return (_jsxs("div", { "data-slot": "testimonial-record-row", "data-state": state, className: cn("flex items-center justify-between gap-3 border-t border-border py-2.5 font-mono text-[11.5px] first:border-t-0", className), ...props, children: [_jsx("span", { className: "min-w-0 text-muted-foreground", children: children }), status ? (_jsx("span", { className: cn("shrink-0 rounded-sm px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-[0.04em]",
53
+ // Soft-ground + deep-ink feedback pairs (the status-tag / live-demo idiom):
54
+ // a solid hue on a same-hue 15% tint fails AA (≈2.5:1 / 1.4:1). success uses
55
+ // the link family (there is no success-deep token), warning its own soft/deep.
56
+ state === "done" && "bg-[var(--nc-link-bg-soft)] text-[var(--nc-link-deep)]", state === "waiting" && "bg-[var(--nc-warning-soft)] text-[var(--nc-warning-deep)]"), children: status })) : null] }));
57
+ }
58
+ export { Testimonials, TestimonialRecord, TestimonialRecordRow };
@@ -0,0 +1,22 @@
1
+ import * as React from "react";
2
+ /**
3
+ * texture-strip — a 40px full-bleed separator band (V5 B05).
4
+ *
5
+ * A thin horizontal divider that carries a dotted radial texture and a hairline
6
+ * on its top and bottom edges. The dots and their spacing are owned once by the
7
+ * design-system `nc-dotted-field` primitive (`radial-gradient(var(--nc-line)…)`
8
+ * over `var(--nc-canvas)`), so no raw gradient or colour lives in this component
9
+ * — only the band geometry (height, flex centring) is inline. Token-only; no
10
+ * `dark:` styling.
11
+ *
12
+ * Children remain an open composition slot. `TextureStripChip` remains as a
13
+ * deprecated compatibility export for consumers of the 0.10 package surface.
14
+ */
15
+ declare function TextureStrip({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
16
+ /**
17
+ * @deprecated Pass any child to `TextureStrip` and style it for the owning
18
+ * surface. This wrapper remains exported to preserve the public 0.10 API.
19
+ */
20
+ declare function TextureStripChip({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
21
+ export { TextureStrip, TextureStripChip };
22
+ //# sourceMappingURL=texture-strip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texture-strip.d.ts","sourceRoot":"","sources":["../../src/components/texture-strip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;;;;;;;;;;;GAYG;AAEH,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAazE;AAED;;;GAGG;AACH,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,qBAW9E;AAED,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from "../lib/utils.js";
3
+ /**
4
+ * texture-strip — a 40px full-bleed separator band (V5 B05).
5
+ *
6
+ * A thin horizontal divider that carries a dotted radial texture and a hairline
7
+ * on its top and bottom edges. The dots and their spacing are owned once by the
8
+ * design-system `nc-dotted-field` primitive (`radial-gradient(var(--nc-line)…)`
9
+ * over `var(--nc-canvas)`), so no raw gradient or colour lives in this component
10
+ * — only the band geometry (height, flex centring) is inline. Token-only; no
11
+ * `dark:` styling.
12
+ *
13
+ * Children remain an open composition slot. `TextureStripChip` remains as a
14
+ * deprecated compatibility export for consumers of the 0.10 package surface.
15
+ */
16
+ function TextureStrip({ className, ...props }) {
17
+ return (_jsx("div", { "data-slot": "texture-strip", className: cn(
18
+ // Both the semantic background and the raw `--nc-*` tokens used by
19
+ // `nc-dotted-field` remap under any `.dark` ancestor.
20
+ "nc-dotted-field flex h-10 items-center justify-center border-y border-border bg-background", className), ...props }));
21
+ }
22
+ /**
23
+ * @deprecated Pass any child to `TextureStrip` and style it for the owning
24
+ * surface. This wrapper remains exported to preserve the public 0.10 API.
25
+ */
26
+ function TextureStripChip({ className, ...props }) {
27
+ return (_jsx("span", { "data-slot": "texture-strip-chip", className: cn("nc-type-caption-mono rounded-full border border-border bg-background px-3 py-1 text-muted-foreground uppercase", className), ...props }));
28
+ }
29
+ export { TextureStrip, TextureStripChip };
package/dist/index.d.ts CHANGED
@@ -58,6 +58,8 @@ export * from "./components/expandable-block";
58
58
  export * from "./components/fact-cell";
59
59
  export * from "./components/faq";
60
60
  export * from "./components/faq-item";
61
+ export * from "./components/feature-grid";
62
+ export * from "./components/feature-rows";
61
63
  export * from "./components/feedback-state";
62
64
  export * from "./components/field";
63
65
  export * from "./components/file-type-icon";
@@ -66,16 +68,19 @@ export * from "./components/footer";
66
68
  export * from "./components/form";
67
69
  export * from "./components/glyph-spinner";
68
70
  export * from "./components/handoff-banner";
71
+ export * from "./components/hero";
69
72
  export * from "./components/hero-split";
70
73
  export * from "./components/hover-card";
71
74
  export * from "./components/input";
72
75
  export * from "./components/input-group";
73
76
  export * from "./components/input-otp";
74
77
  export * from "./components/installer-shell";
78
+ export * from "./components/integration-flow";
75
79
  export * from "./components/item";
76
80
  export * from "./components/kbd";
77
81
  export * from "./components/label";
78
82
  export * from "./components/label-system";
83
+ export * from "./components/live-demo";
79
84
  export * from "./components/logo-band";
80
85
  export * from "./components/logo-tile";
81
86
  export * from "./components/marker";
@@ -103,6 +108,7 @@ export * from "./components/run-timeline";
103
108
  export * from "./components/scroll-area";
104
109
  export * from "./components/seam-grid";
105
110
  export * from "./components/section-intro";
111
+ export * from "./components/security-grid";
106
112
  export * from "./components/select";
107
113
  export * from "./components/separator";
108
114
  export * from "./components/settings-section";
@@ -115,14 +121,18 @@ export * from "./components/sonner";
115
121
  export * from "./components/spinner";
116
122
  export * from "./components/stat-block";
117
123
  export * from "./components/state-notice";
124
+ export * from "./components/statement";
118
125
  export * from "./components/stats-band";
119
126
  export * from "./components/status-dot";
120
127
  export * from "./components/status-row";
128
+ export * from "./components/steps";
121
129
  export * from "./components/switch";
122
130
  export * from "./components/table";
123
131
  export * from "./components/tabs";
132
+ export * from "./components/team-grid";
124
133
  export * from "./components/testimonials";
125
134
  export * from "./components/textarea";
135
+ export * from "./components/texture-strip";
126
136
  export * from "./components/theme-mode-switcher";
127
137
  export * from "./components/toggle";
128
138
  export * from "./components/toggle-group";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -58,6 +58,8 @@ export * from "./components/expandable-block.js";
58
58
  export * from "./components/fact-cell.js";
59
59
  export * from "./components/faq.js";
60
60
  export * from "./components/faq-item.js";
61
+ export * from "./components/feature-grid.js";
62
+ export * from "./components/feature-rows.js";
61
63
  export * from "./components/feedback-state.js";
62
64
  export * from "./components/field.js";
63
65
  export * from "./components/file-type-icon.js";
@@ -66,16 +68,19 @@ export * from "./components/footer.js";
66
68
  export * from "./components/form.js";
67
69
  export * from "./components/glyph-spinner.js";
68
70
  export * from "./components/handoff-banner.js";
71
+ export * from "./components/hero.js";
69
72
  export * from "./components/hero-split.js";
70
73
  export * from "./components/hover-card.js";
71
74
  export * from "./components/input.js";
72
75
  export * from "./components/input-group.js";
73
76
  export * from "./components/input-otp.js";
74
77
  export * from "./components/installer-shell.js";
78
+ export * from "./components/integration-flow.js";
75
79
  export * from "./components/item.js";
76
80
  export * from "./components/kbd.js";
77
81
  export * from "./components/label.js";
78
82
  export * from "./components/label-system.js";
83
+ export * from "./components/live-demo.js";
79
84
  export * from "./components/logo-band.js";
80
85
  export * from "./components/logo-tile.js";
81
86
  export * from "./components/marker.js";
@@ -103,6 +108,7 @@ export * from "./components/run-timeline.js";
103
108
  export * from "./components/scroll-area.js";
104
109
  export * from "./components/seam-grid.js";
105
110
  export * from "./components/section-intro.js";
111
+ export * from "./components/security-grid.js";
106
112
  export * from "./components/select.js";
107
113
  export * from "./components/separator.js";
108
114
  export * from "./components/settings-section.js";
@@ -115,14 +121,18 @@ export * from "./components/sonner.js";
115
121
  export * from "./components/spinner.js";
116
122
  export * from "./components/stat-block.js";
117
123
  export * from "./components/state-notice.js";
124
+ export * from "./components/statement.js";
118
125
  export * from "./components/stats-band.js";
119
126
  export * from "./components/status-dot.js";
120
127
  export * from "./components/status-row.js";
128
+ export * from "./components/steps.js";
121
129
  export * from "./components/switch.js";
122
130
  export * from "./components/table.js";
123
131
  export * from "./components/tabs.js";
132
+ export * from "./components/team-grid.js";
124
133
  export * from "./components/testimonials.js";
125
134
  export * from "./components/textarea.js";
135
+ export * from "./components/texture-strip.js";
126
136
  export * from "./components/theme-mode-switcher.js";
127
137
  export * from "./components/toggle.js";
128
138
  export * from "./components/toggle-group.js";