@krizaka/ui 2.5.0 → 2.6.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 (222) hide show
  1. package/README.md +44 -1
  2. package/dist/action-bar.d.ts +38 -0
  3. package/dist/action-bar.js +52 -0
  4. package/dist/action-bar.js.map +1 -0
  5. package/dist/argument-card.d.ts +67 -0
  6. package/dist/argument-card.js +69 -0
  7. package/dist/argument-card.js.map +1 -0
  8. package/dist/audio-player.js +1 -1
  9. package/dist/block-link-BAg4eoZk.d.ts +12 -0
  10. package/dist/blocks.css +529 -0
  11. package/dist/button.js +5 -94
  12. package/dist/button.js.map +1 -1
  13. package/dist/card-grid.d.ts +42 -0
  14. package/dist/card-grid.js +47 -0
  15. package/dist/card-grid.js.map +1 -0
  16. package/dist/chunk-2AGSO3WH.js +20 -0
  17. package/dist/chunk-2AGSO3WH.js.map +1 -0
  18. package/dist/chunk-AB5D3KBG.js +37 -0
  19. package/dist/chunk-AB5D3KBG.js.map +1 -0
  20. package/dist/{chunk-YX6CNVJA.js → chunk-CPA5CF35.js} +1 -1
  21. package/dist/chunk-CPA5CF35.js.map +1 -0
  22. package/dist/chunk-K3SWZXYT.js +92 -0
  23. package/dist/chunk-K3SWZXYT.js.map +1 -0
  24. package/dist/{chunk-XUMJA5ZI.js → chunk-X6TW3X6Y.js} +2 -2
  25. package/dist/chunk-XCBVFMNV.js +41 -0
  26. package/dist/{chunk-YX6CNVJA.js.map → chunk-XCBVFMNV.js.map} +1 -1
  27. package/dist/chunk-XVLWVTQA.js +28 -0
  28. package/dist/chunk-XVLWVTQA.js.map +1 -0
  29. package/dist/chunk-Z6FUPB3Q.js +102 -0
  30. package/dist/chunk-Z6FUPB3Q.js.map +1 -0
  31. package/dist/code-block.d.ts +42 -0
  32. package/dist/code-block.js +202 -0
  33. package/dist/code-block.js.map +1 -0
  34. package/dist/combobox.js +2 -2
  35. package/dist/cta-panel.d.ts +23 -0
  36. package/dist/cta-panel.js +20 -0
  37. package/dist/cta-panel.js.map +1 -0
  38. package/dist/data-table.js +1 -1
  39. package/dist/date-picker.js +1 -1
  40. package/dist/decision-list.d.ts +34 -0
  41. package/dist/decision-list.js +67 -0
  42. package/dist/decision-list.js.map +1 -0
  43. package/dist/file-upload.js +1 -1
  44. package/dist/filter-bar.js +1 -1
  45. package/dist/link-card.d.ts +35 -0
  46. package/dist/link-card.js +46 -0
  47. package/dist/link-card.js.map +1 -0
  48. package/dist/mascot-quote.d.ts +42 -0
  49. package/dist/mascot-quote.js +267 -0
  50. package/dist/mascot-quote.js.map +1 -0
  51. package/dist/media-capture.js +1 -1
  52. package/dist/motion.css +25 -1
  53. package/dist/page-hero.d.ts +44 -0
  54. package/dist/page-hero.js +41 -0
  55. package/dist/page-hero.js.map +1 -0
  56. package/dist/page.d.ts +116 -0
  57. package/dist/page.js +17 -0
  58. package/dist/page.js.map +1 -0
  59. package/dist/pagination.js +25 -44
  60. package/dist/pagination.js.map +1 -1
  61. package/dist/pointer-light.d.ts +20 -0
  62. package/dist/pointer-light.js +12 -0
  63. package/dist/pointer-light.js.map +1 -0
  64. package/dist/search-field.js +1 -1
  65. package/dist/section-backdrop.js +4 -22
  66. package/dist/section-backdrop.js.map +1 -1
  67. package/dist/tag-input.js +2 -2
  68. package/dist/terminal-replay.d.ts +68 -0
  69. package/dist/terminal-replay.js +231 -0
  70. package/dist/terminal-replay.js.map +1 -0
  71. package/dist/toc.d.ts +23 -0
  72. package/dist/toc.js +39 -0
  73. package/dist/toc.js.map +1 -0
  74. package/dist/video-player.js +1 -1
  75. package/package.json +192 -7
  76. package/registry/action-bar.json +205 -0
  77. package/registry/alert.json +1 -1
  78. package/registry/argument-card.json +327 -0
  79. package/registry/audio-player.json +2 -2
  80. package/registry/avatar.json +1 -1
  81. package/registry/badge.json +1 -1
  82. package/registry/button.json +5 -5
  83. package/registry/card-grid.json +221 -0
  84. package/registry/card.json +3 -3
  85. package/registry/checkbox.json +1 -1
  86. package/registry/chip-link.json +1 -1
  87. package/registry/chip.json +1 -1
  88. package/registry/code-block.json +262 -0
  89. package/registry/combobox.json +2 -2
  90. package/registry/command.json +1 -1
  91. package/registry/confirm-button.json +3 -3
  92. package/registry/countdown.json +1 -1
  93. package/registry/cta-panel.json +154 -0
  94. package/registry/data-table.json +2 -2
  95. package/registry/date-picker.json +2 -2
  96. package/registry/decision-list.json +144 -0
  97. package/registry/dialog.json +1 -1
  98. package/registry/dropdown-menu.json +1 -1
  99. package/registry/empty-state.json +1 -1
  100. package/registry/examples/action-bar/buttons.d.ts +4 -0
  101. package/registry/examples/action-bar/buttons.js +22 -0
  102. package/registry/examples/action-bar/buttons.tsx +17 -0
  103. package/registry/examples/action-bar/icons.d.ts +4 -0
  104. package/registry/examples/action-bar/icons.js +24 -0
  105. package/registry/examples/action-bar/icons.tsx +23 -0
  106. package/registry/examples/argument-card/building-block.d.ts +4 -0
  107. package/registry/examples/argument-card/building-block.js +29 -0
  108. package/registry/examples/argument-card/building-block.tsx +29 -0
  109. package/registry/examples/argument-card/grid.d.ts +4 -0
  110. package/registry/examples/argument-card/grid.js +17 -0
  111. package/registry/examples/argument-card/grid.tsx +19 -0
  112. package/registry/examples/argument-card/unfold.d.ts +4 -0
  113. package/registry/examples/argument-card/unfold.js +26 -0
  114. package/registry/examples/argument-card/unfold.tsx +21 -0
  115. package/registry/examples/card-grid/products.d.ts +4 -0
  116. package/registry/examples/card-grid/products.js +16 -0
  117. package/registry/examples/card-grid/products.tsx +13 -0
  118. package/registry/examples/card-grid/reveal.d.ts +4 -0
  119. package/registry/examples/card-grid/reveal.js +13 -0
  120. package/registry/examples/card-grid/reveal.tsx +16 -0
  121. package/registry/examples/code-block/build-tools.d.ts +4 -0
  122. package/registry/examples/code-block/build-tools.js +30 -0
  123. package/registry/examples/code-block/build-tools.tsx +25 -0
  124. package/registry/examples/code-block/file.d.ts +4 -0
  125. package/registry/examples/code-block/file.js +17 -0
  126. package/registry/examples/code-block/file.tsx +13 -0
  127. package/registry/examples/cta-panel/discuss.d.ts +4 -0
  128. package/registry/examples/cta-panel/discuss.js +31 -0
  129. package/registry/examples/cta-panel/discuss.tsx +23 -0
  130. package/registry/examples/decision-list/product.d.ts +4 -0
  131. package/registry/examples/decision-list/product.js +35 -0
  132. package/registry/examples/decision-list/product.tsx +30 -0
  133. package/registry/examples/link-card/docs-hub.d.ts +4 -0
  134. package/registry/examples/link-card/docs-hub.js +18 -0
  135. package/registry/examples/link-card/docs-hub.tsx +20 -0
  136. package/registry/examples/link-card/external.d.ts +4 -0
  137. package/registry/examples/link-card/external.js +22 -0
  138. package/registry/examples/link-card/external.tsx +16 -0
  139. package/registry/examples/link-card/stack.d.ts +4 -0
  140. package/registry/examples/link-card/stack.js +26 -0
  141. package/registry/examples/link-card/stack.tsx +21 -0
  142. package/registry/examples/mascot-quote/callout.d.ts +4 -0
  143. package/registry/examples/mascot-quote/callout.js +11 -0
  144. package/registry/examples/mascot-quote/callout.tsx +10 -0
  145. package/registry/examples/mascot-quote/inline.d.ts +4 -0
  146. package/registry/examples/mascot-quote/inline.js +11 -0
  147. package/registry/examples/mascot-quote/inline.tsx +10 -0
  148. package/registry/examples/page/backdrop.d.ts +4 -0
  149. package/registry/examples/page/backdrop.js +23 -0
  150. package/registry/examples/page/backdrop.tsx +18 -0
  151. package/registry/examples/page/facts.d.ts +4 -0
  152. package/registry/examples/page/facts.js +24 -0
  153. package/registry/examples/page/facts.tsx +21 -0
  154. package/registry/examples/page/frame.d.ts +4 -0
  155. package/registry/examples/page/frame.js +15 -0
  156. package/registry/examples/page/frame.tsx +17 -0
  157. package/registry/examples/page/sections.d.ts +4 -0
  158. package/registry/examples/page/sections.js +14 -0
  159. package/registry/examples/page/sections.tsx +15 -0
  160. package/registry/examples/page-hero/building-block.d.ts +4 -0
  161. package/registry/examples/page-hero/building-block.js +24 -0
  162. package/registry/examples/page-hero/building-block.tsx +20 -0
  163. package/registry/examples/page-hero/hub.d.ts +4 -0
  164. package/registry/examples/page-hero/hub.js +21 -0
  165. package/registry/examples/page-hero/hub.tsx +15 -0
  166. package/registry/examples/pointer-light/list.d.ts +4 -0
  167. package/registry/examples/pointer-light/list.js +16 -0
  168. package/registry/examples/pointer-light/list.tsx +14 -0
  169. package/registry/examples/terminal-replay/at-rest.d.ts +4 -0
  170. package/registry/examples/terminal-replay/at-rest.js +32 -0
  171. package/registry/examples/terminal-replay/at-rest.tsx +26 -0
  172. package/registry/examples/terminal-replay/session.d.ts +4 -0
  173. package/registry/examples/terminal-replay/session.js +34 -0
  174. package/registry/examples/terminal-replay/session.tsx +28 -0
  175. package/registry/examples/toc/reading-page.d.ts +4 -0
  176. package/registry/examples/toc/reading-page.js +21 -0
  177. package/registry/examples/toc/reading-page.tsx +21 -0
  178. package/registry/field.json +1 -1
  179. package/registry/file-upload.json +2 -2
  180. package/registry/filter-bar.json +2 -2
  181. package/registry/glow-card.json +1 -1
  182. package/registry/image-cropper.json +1 -1
  183. package/registry/index.json +241 -1
  184. package/registry/iso.json +1 -1
  185. package/registry/kbd.json +1 -1
  186. package/registry/link-card.json +279 -0
  187. package/registry/loader.json +1 -1
  188. package/registry/marquee.json +1 -1
  189. package/registry/mascot-quote.json +191 -0
  190. package/registry/mascots.json +1 -1
  191. package/registry/media-capture.json +4 -4
  192. package/registry/meter.json +1 -1
  193. package/registry/nav-bar.json +1 -1
  194. package/registry/number-ticker.json +1 -1
  195. package/registry/page-header.json +1 -1
  196. package/registry/page-hero.json +254 -0
  197. package/registry/page.json +497 -0
  198. package/registry/pagination.json +2 -2
  199. package/registry/pointer-light.json +119 -0
  200. package/registry/popover.json +1 -1
  201. package/registry/progress.json +1 -1
  202. package/registry/radio-group.json +1 -1
  203. package/registry/search-field.json +2 -2
  204. package/registry/section-backdrop.json +1 -1
  205. package/registry/separator.json +1 -1
  206. package/registry/skeleton.json +3 -3
  207. package/registry/slider.json +1 -1
  208. package/registry/slot.json +1 -1
  209. package/registry/spinner.json +1 -1
  210. package/registry/stat.json +1 -1
  211. package/registry/stepper.json +1 -1
  212. package/registry/switch.json +1 -1
  213. package/registry/tabs.json +1 -1
  214. package/registry/tag-input.json +1 -1
  215. package/registry/terminal-replay.json +317 -0
  216. package/registry/theme.json +1 -1
  217. package/registry/toast.json +1 -1
  218. package/registry/toc.json +157 -0
  219. package/registry/tooltip.json +1 -1
  220. package/registry/video-player.json +4 -4
  221. package/registry/video-trimmer.json +3 -3
  222. /package/dist/{chunk-XUMJA5ZI.js.map → chunk-X6TW3X6Y.js.map} +0 -0
@@ -0,0 +1,18 @@
1
+ "use client";
2
+
3
+ // registry/examples/link-card/docs-hub.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { CardGrid } from "@krizaka/ui/card-grid";
6
+ import { LinkCard } from "@krizaka/ui/link-card";
7
+ import { jsx } from "react/jsx-runtime";
8
+ var shortcuts = [
9
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev \u2014 then every command and option." },
10
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
11
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts \u2014 behind four gates." }
12
+ ];
13
+ function LinkCardDocsHub() {
14
+ return /* @__PURE__ */ jsx(CardGrid, { className: "w-full max-w-4xl", min: 260, reveal: false, children: shortcuts.map((s) => /* @__PURE__ */ jsx(LinkCard, { href: `#${s.id}`, icon: /* @__PURE__ */ jsx(ProductLogo, { id: s.logo, size: 24, animated: false }), title: s.title, description: s.text, cta: "Open" }, s.id)) });
15
+ }
16
+ export {
17
+ LinkCardDocsHub as default
18
+ };
@@ -0,0 +1,20 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { CardGrid } from "@krizaka/ui/card-grid";
3
+ import { LinkCard } from "@krizaka/ui/link-card";
4
+
5
+ const shortcuts = [
6
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev — then every command and option." },
7
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
8
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts — behind four gates." },
9
+ ] as const;
10
+
11
+ // The entry points of a documentation hub: compact cards, the whole card one link. The pointer lights the card it is on.
12
+ export default function LinkCardDocsHub() {
13
+ return (
14
+ <CardGrid className="w-full max-w-4xl" min={260} reveal={false}>
15
+ {shortcuts.map((s) => (
16
+ <LinkCard key={s.id} href={`#${s.id}`} icon={<ProductLogo id={s.logo} size={24} animated={false} />} title={s.title} description={s.text} cta="Open" />
17
+ ))}
18
+ </CardGrid>
19
+ );
20
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ // registry/examples/link-card/external.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { LinkCard } from "@krizaka/ui/link-card";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function LinkCardExternal() {
8
+ return /* @__PURE__ */ jsx(
9
+ LinkCard,
10
+ {
11
+ className: "max-w-sm",
12
+ href: "https://github.com/krizaka/krizaka-ui",
13
+ icon: /* @__PURE__ */ jsx(ProductLogo, { id: "krizaka", size: 24, animated: false }),
14
+ title: "krizaka-ui on GitHub",
15
+ description: "The sources, the issues, the discussions.",
16
+ cta: "Open the repository"
17
+ }
18
+ );
19
+ }
20
+ export {
21
+ LinkCardExternal as default
22
+ };
@@ -0,0 +1,16 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { LinkCard } from "@krizaka/ui/link-card";
3
+
4
+ // An absolute address opens in a new tab and wears the external mark instead of the arrow.
5
+ export default function LinkCardExternal() {
6
+ return (
7
+ <LinkCard
8
+ className="max-w-sm"
9
+ href="https://github.com/krizaka/krizaka-ui"
10
+ icon={<ProductLogo id="krizaka" size={24} animated={false} />}
11
+ title="krizaka-ui on GitHub"
12
+ description="The sources, the issues, the discussions."
13
+ cta="Open the repository"
14
+ />
15
+ );
16
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,26 @@
1
+ "use client";
2
+
3
+ // registry/examples/link-card/stack.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { LinkCard } from "@krizaka/ui/link-card";
6
+ import { Facts } from "@krizaka/ui/page";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function LinkCardStack() {
9
+ return /* @__PURE__ */ jsx(
10
+ LinkCard,
11
+ {
12
+ className: "max-w-sm",
13
+ layout: "stack",
14
+ href: "#orazaka",
15
+ icon: /* @__PURE__ */ jsx(ProductLogo, { id: "orazaka", size: 26, animated: false }),
16
+ meta: "Product",
17
+ title: "Orazaka",
18
+ description: "The sovereign AI engine: chat, image, video and voice on your own servers.",
19
+ extra: /* @__PURE__ */ jsx(Facts, { items: [{ label: "Self-hosted", tone: "ok" }, { label: "Apache-2.0" }] }),
20
+ cta: "Overview"
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ LinkCardStack as default
26
+ };
@@ -0,0 +1,21 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { LinkCard } from "@krizaka/ui/link-card";
3
+ import { Facts } from "@krizaka/ui/page";
4
+
5
+ // `layout="stack"`: the icon above the text, for a few large entry points (the products). `meta` names the category,
6
+ // `extra` carries facts — never another link: the card is one.
7
+ export default function LinkCardStack() {
8
+ return (
9
+ <LinkCard
10
+ className="max-w-sm"
11
+ layout="stack"
12
+ href="#orazaka"
13
+ icon={<ProductLogo id="orazaka" size={26} animated={false} />}
14
+ meta="Product"
15
+ title="Orazaka"
16
+ description="The sovereign AI engine: chat, image, video and voice on your own servers."
17
+ extra={<Facts items={[{ label: "Self-hosted", tone: "ok" }, { label: "Apache-2.0" }]} />}
18
+ cta="Overview"
19
+ />
20
+ );
21
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+
3
+ // registry/examples/mascot-quote/callout.tsx
4
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function MascotQuoteCallout() {
7
+ return /* @__PURE__ */ jsx(MascotQuote, { className: "max-w-2xl", variant: "callout", bird: "owl", mood: "welcome", label: "The owl's promise", children: "Every personal record stays in Qu\xE9bec, and you can read who touched it \u2014 Law 25, by design." });
8
+ }
9
+ export {
10
+ MascotQuoteCallout as default
11
+ };
@@ -0,0 +1,10 @@
1
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
2
+
3
+ // `callout`: a promise alone in a section — larger, the bird alive (its loop pauses off screen and under reduced motion).
4
+ export default function MascotQuoteCallout() {
5
+ return (
6
+ <MascotQuote className="max-w-2xl" variant="callout" bird="owl" mood="welcome" label="The owl's promise">
7
+ Every personal record stays in Québec, and you can read who touched it — Law 25, by design.
8
+ </MascotQuote>
9
+ );
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+
3
+ // registry/examples/mascot-quote/inline.tsx
4
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function MascotQuoteInline() {
7
+ return /* @__PURE__ */ jsx(MascotQuote, { className: "max-w-sm", bird: "falcon", label: "The falcon's rule", children: "Nothing crosses the walls: no prompt, no file, no metric." });
8
+ }
9
+ export {
10
+ MascotQuoteInline as default
11
+ };
@@ -0,0 +1,10 @@
1
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
2
+
3
+ // `inline`: a rule inside a card or beside a paragraph — small, the bird still (it hops once under the pointer).
4
+ export default function MascotQuoteInline() {
5
+ return (
6
+ <MascotQuote className="max-w-sm" bird="falcon" label="The falcon's rule">
7
+ Nothing crosses the walls: no prompt, no file, no metric.
8
+ </MascotQuote>
9
+ );
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,23 @@
1
+ "use client";
2
+
3
+ // registry/examples/page/backdrop.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { Section } from "@krizaka/ui/page";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function PageBackdrop() {
8
+ return /* @__PURE__ */ jsx(
9
+ Section,
10
+ {
11
+ id: "get-started",
12
+ className: "w-full",
13
+ backdrop: { direction: "up" },
14
+ eyebrow: "Get started",
15
+ title: "Install it in four lines",
16
+ lead: "Tokens, the Tailwind preset and the primitives \u2014 one version for the three.",
17
+ actions: /* @__PURE__ */ jsx(Button, { variant: "primary", children: "Read the guide" })
18
+ }
19
+ );
20
+ }
21
+ export {
22
+ PageBackdrop as default
23
+ };
@@ -0,0 +1,18 @@
1
+ import { Button } from "@krizaka/ui/button";
2
+ import { Section } from "@krizaka/ui/page";
3
+
4
+ // `backdrop`: the brand's colour transition behind a section (SectionBackdrop) — a closing call, the page's main moment.
5
+ // `actions` sit on the right of the heading (under it on a phone).
6
+ export default function PageBackdrop() {
7
+ return (
8
+ <Section
9
+ id="get-started"
10
+ className="w-full"
11
+ backdrop={{ direction: "up" }}
12
+ eyebrow="Get started"
13
+ title="Install it in four lines"
14
+ lead="Tokens, the Tailwind preset and the primitives — one version for the three."
15
+ actions={<Button variant="primary">Read the guide</Button>}
16
+ />
17
+ );
18
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+
3
+ // registry/examples/page/facts.tsx
4
+ import { Facts, Ticks } from "@krizaka/ui/page";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function PageFacts() {
7
+ return /* @__PURE__ */ jsxs("div", { className: "grid max-w-xl gap-4", children: [
8
+ /* @__PURE__ */ jsx(
9
+ Facts,
10
+ {
11
+ "aria-label": "Status",
12
+ items: [
13
+ { label: "Maven Central 0.1.0", tone: "ok", href: "https://central.sonatype.com/namespace/com.krizaka" },
14
+ { label: "Apache-2.0" },
15
+ { label: "Gradle plugin \u2014 in progress", tone: "wip" }
16
+ ]
17
+ }
18
+ ),
19
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: /* @__PURE__ */ jsx(Ticks, { children: "Every request carries a `requestId`; a failed message lands in `.dlq`, never lost." }) })
20
+ ] });
21
+ }
22
+ export {
23
+ PageFacts as default
24
+ };
@@ -0,0 +1,21 @@
1
+ import { Facts, Ticks } from "@krizaka/ui/page";
2
+
3
+ // `Facts`: a few mono words that say a state (published, in progress — said honestly). `Ticks`: a sentence from a
4
+ // message catalogue where words between backticks read as code.
5
+ export default function PageFacts() {
6
+ return (
7
+ <div className="grid max-w-xl gap-4">
8
+ <Facts
9
+ aria-label="Status"
10
+ items={[
11
+ { label: "Maven Central 0.1.0", tone: "ok", href: "https://central.sonatype.com/namespace/com.krizaka" },
12
+ { label: "Apache-2.0" },
13
+ { label: "Gradle plugin — in progress", tone: "wip" },
14
+ ]}
15
+ />
16
+ <p className="text-sm text-fg-secondary">
17
+ <Ticks>{"Every request carries a `requestId`; a failed message lands in `.dlq`, never lost."}</Ticks>
18
+ </p>
19
+ </div>
20
+ );
21
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,15 @@
1
+ "use client";
2
+
3
+ // registry/examples/page/frame.tsx
4
+ import { Page } from "@krizaka/ui/page";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function PageFrame() {
7
+ return /* @__PURE__ */ jsx("div", { className: "grid w-full gap-3", children: ["narrow", "default", "wide"].map((size) => /* @__PURE__ */ jsx(Page, { size, children: /* @__PURE__ */ jsxs("div", { className: "rounded-lg border border-dashed border-border-strong bg-surface-1 px-4 py-3 font-mono text-xs text-fg-secondary", children: [
8
+ 'size="',
9
+ size,
10
+ '"'
11
+ ] }) }, size)) });
12
+ }
13
+ export {
14
+ PageFrame as default
15
+ };
@@ -0,0 +1,17 @@
1
+ import { Page } from "@krizaka/ui/page";
2
+
3
+ // `Page` alone: the frame of a custom layout — centred, at most `--kz-page-max` wide, the gutters of the site.
4
+ // `narrow` for a reading column, `wide` for documentation with a sidebar.
5
+ export default function PageFrame() {
6
+ return (
7
+ <div className="grid w-full gap-3">
8
+ {(["narrow", "default", "wide"] as const).map((size) => (
9
+ <Page key={size} size={size}>
10
+ <div className="rounded-lg border border-dashed border-border-strong bg-surface-1 px-4 py-3 font-mono text-xs text-fg-secondary">
11
+ size=&quot;{size}&quot;
12
+ </div>
13
+ </Page>
14
+ ))}
15
+ </div>
16
+ );
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/page/sections.tsx
4
+ import { Section } from "@krizaka/ui/page";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function PageSections() {
7
+ return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
8
+ /* @__PURE__ */ jsx(Section, { id: "why", eyebrow: "Why", title: "Nothing leaves your servers", lead: "Inference runs on your hardware; nothing calls home.", spacing: "sm", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: "Local models by default, one governed pipeline, zero telemetry." }) }),
9
+ /* @__PURE__ */ jsx(Section, { id: "how", eyebrow: "How", title: "One pipeline, every request", spacing: "sm", divider: true, children: /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: "Every request crosses the same interceptors, in the same order." }) })
10
+ ] });
11
+ }
12
+ export {
13
+ PageSections as default
14
+ };
@@ -0,0 +1,15 @@
1
+ import { Section } from "@krizaka/ui/page";
2
+
3
+ // Sections on one rhythm, in one frame: the same edges at every width. The hairline (`divider`) is the transition.
4
+ export default function PageSections() {
5
+ return (
6
+ <div className="w-full">
7
+ <Section id="why" eyebrow="Why" title="Nothing leaves your servers" lead="Inference runs on your hardware; nothing calls home." spacing="sm">
8
+ <p className="text-sm text-fg-secondary">Local models by default, one governed pipeline, zero telemetry.</p>
9
+ </Section>
10
+ <Section id="how" eyebrow="How" title="One pipeline, every request" spacing="sm" divider>
11
+ <p className="text-sm text-fg-secondary">Every request crosses the same interceptors, in the same order.</p>
12
+ </Section>
13
+ </div>
14
+ );
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+
3
+ // registry/examples/page-hero/building-block.tsx
4
+ import { Mascot } from "@krizaka/ui/mascots";
5
+ import { Facts } from "@krizaka/ui/page";
6
+ import { PageHero } from "@krizaka/ui/page-hero";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function PageHeroBuildingBlock() {
9
+ return /* @__PURE__ */ jsx(
10
+ PageHero,
11
+ {
12
+ className: "w-full",
13
+ back: { href: "#open-source", label: "Open source" },
14
+ eyebrow: "Building block \xB7 Java",
15
+ title: "Krizaka Java",
16
+ lead: "The Spring Boot foundation every Krizaka service starts from: one parent, one BOM, starters that agree.",
17
+ aside: /* @__PURE__ */ jsx(Mascot, { bird: "duck", mood: "welcome", size: 112 }),
18
+ children: /* @__PURE__ */ jsx(Facts, { items: [{ label: "Maven Central 0.1.0", tone: "ok" }, { label: "Java 21" }, { label: "Apache-2.0" }] })
19
+ }
20
+ );
21
+ }
22
+ export {
23
+ PageHeroBuildingBlock as default
24
+ };
@@ -0,0 +1,20 @@
1
+ import { Mascot } from "@krizaka/ui/mascots";
2
+ import { Facts } from "@krizaka/ui/page";
3
+ import { PageHero } from "@krizaka/ui/page-hero";
4
+
5
+ // The first screen of a sub-page: the way back, where the reader is, the title, what the page gives — the facts under
6
+ // it and the page's bird beside it. Painted at once: never revealed.
7
+ export default function PageHeroBuildingBlock() {
8
+ return (
9
+ <PageHero
10
+ className="w-full"
11
+ back={{ href: "#open-source", label: "Open source" }}
12
+ eyebrow="Building block · Java"
13
+ title="Krizaka Java"
14
+ lead="The Spring Boot foundation every Krizaka service starts from: one parent, one BOM, starters that agree."
15
+ aside={<Mascot bird="duck" mood="welcome" size={112} />}
16
+ >
17
+ <Facts items={[{ label: "Maven Central 0.1.0", tone: "ok" }, { label: "Java 21" }, { label: "Apache-2.0" }]} />
18
+ </PageHero>
19
+ );
20
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,21 @@
1
+ "use client";
2
+
3
+ // registry/examples/page-hero/hub.tsx
4
+ import { PageHero } from "@krizaka/ui/page-hero";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function PageHeroHub() {
7
+ return /* @__PURE__ */ jsx(
8
+ PageHero,
9
+ {
10
+ className: "w-full",
11
+ align: "center",
12
+ backdrop: "plain",
13
+ eyebrow: "Documentation",
14
+ title: "Build with Krizaka",
15
+ lead: "The building blocks the products are made of, documented from their source."
16
+ }
17
+ );
18
+ }
19
+ export {
20
+ PageHeroHub as default
21
+ };
@@ -0,0 +1,15 @@
1
+ import { PageHero } from "@krizaka/ui/page-hero";
2
+
3
+ // A hub opens on its title alone, centred, on the brand's plain gradient.
4
+ export default function PageHeroHub() {
5
+ return (
6
+ <PageHero
7
+ className="w-full"
8
+ align="center"
9
+ backdrop="plain"
10
+ eyebrow="Documentation"
11
+ title="Build with Krizaka"
12
+ lead="The building blocks the products are made of, documented from their source."
13
+ />
14
+ );
15
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,16 @@
1
+ "use client";
2
+
3
+ // registry/examples/pointer-light/list.tsx
4
+ import { LinkCard } from "@krizaka/ui/link-card";
5
+ import { PointerLight } from "@krizaka/ui/pointer-light";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function PointerLightList() {
8
+ return /* @__PURE__ */ jsxs("div", { className: "flex w-full max-w-3xl flex-wrap gap-3", children: [
9
+ /* @__PURE__ */ jsx(LinkCard, { className: "flex-1 basis-56", href: "#tokens", title: "Tokens", description: "Every colour, radius and shadow." }),
10
+ /* @__PURE__ */ jsx(LinkCard, { className: "flex-1 basis-56", href: "#preset", title: "Tailwind preset", description: "The tokens as utilities." }),
11
+ /* @__PURE__ */ jsx(PointerLight, {})
12
+ ] });
13
+ }
14
+ export {
15
+ PointerLightList as default
16
+ };
@@ -0,0 +1,14 @@
1
+ import { LinkCard } from "@krizaka/ui/link-card";
2
+ import { PointerLight } from "@krizaka/ui/pointer-light";
3
+
4
+ // Any group of cards that is not a CardGrid (a flex row, a list): drop `PointerLight` inside it — it listens on its
5
+ // parent and lights the card the pointer is over (`[data-kz-light]`). Nothing on touch screens or under reduced motion.
6
+ export default function PointerLightList() {
7
+ return (
8
+ <div className="flex w-full max-w-3xl flex-wrap gap-3">
9
+ <LinkCard className="flex-1 basis-56" href="#tokens" title="Tokens" description="Every colour, radius and shadow." />
10
+ <LinkCard className="flex-1 basis-56" href="#preset" title="Tailwind preset" description="The tokens as utilities." />
11
+ <PointerLight />
12
+ </div>
13
+ );
14
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ // registry/examples/terminal-replay/at-rest.tsx
4
+ import { TerminalReplay } from "@krizaka/ui/terminal-replay";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function TerminalReplayAtRest() {
7
+ return /* @__PURE__ */ jsx(
8
+ TerminalReplay,
9
+ {
10
+ autoPlay: false,
11
+ label: "Terminal session: check the tools",
12
+ title: "~/projects \u2014 zsh",
13
+ playLabel: "Play",
14
+ pauseLabel: "Pause",
15
+ replayLabel: "Replay",
16
+ rows: 7,
17
+ steps: [
18
+ {
19
+ command: "node --version && git --version",
20
+ output: ["v22.12.0", "git version 2.47.1"]
21
+ },
22
+ {
23
+ command: "docker compose version",
24
+ output: [{ text: "Docker Compose version v2.31.0", tone: "success" }]
25
+ }
26
+ ]
27
+ }
28
+ );
29
+ }
30
+ export {
31
+ TerminalReplayAtRest as default
32
+ };
@@ -0,0 +1,26 @@
1
+ import { TerminalReplay } from "@krizaka/ui/terminal-replay";
2
+
3
+ // At rest: the whole session is there to read; it plays only when the reader presses play.
4
+ export default function TerminalReplayAtRest() {
5
+ return (
6
+ <TerminalReplay
7
+ autoPlay={false}
8
+ label="Terminal session: check the tools"
9
+ title="~/projects — zsh"
10
+ playLabel="Play"
11
+ pauseLabel="Pause"
12
+ replayLabel="Replay"
13
+ rows={7}
14
+ steps={[
15
+ {
16
+ command: "node --version && git --version",
17
+ output: ["v22.12.0", "git version 2.47.1"],
18
+ },
19
+ {
20
+ command: "docker compose version",
21
+ output: [{ text: "Docker Compose version v2.31.0", tone: "success" }],
22
+ },
23
+ ]}
24
+ />
25
+ );
26
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,34 @@
1
+ "use client";
2
+
3
+ // registry/examples/terminal-replay/session.tsx
4
+ import { TerminalReplay } from "@krizaka/ui/terminal-replay";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function TerminalReplaySession() {
7
+ return /* @__PURE__ */ jsx(
8
+ TerminalReplay,
9
+ {
10
+ label: "Terminal session: create, install, start",
11
+ title: "~/projects \u2014 zsh",
12
+ playLabel: "Play",
13
+ pauseLabel: "Pause",
14
+ replayLabel: "Replay",
15
+ copyLabel: "Copy commands",
16
+ copiedLabel: "Copied",
17
+ rows: 12,
18
+ steps: [
19
+ { command: "mkdir shop && cd shop", output: [] },
20
+ {
21
+ command: "npm install @krizaka/ui",
22
+ output: [{ text: "added 12 packages in 2s", tone: "success" }, { text: "found 0 vulnerabilities", tone: "muted" }]
23
+ },
24
+ {
25
+ command: "npm run dev",
26
+ output: [{ text: "\u25B2 Next.js 16", tone: "accent" }, "- Local: http://localhost:3000", { text: "\u2713 Ready in 1.4s", tone: "success" }]
27
+ }
28
+ ]
29
+ }
30
+ );
31
+ }
32
+ export {
33
+ TerminalReplaySession as default
34
+ };