plantasia.space-design 0.1.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 (292) hide show
  1. package/README.md +108 -0
  2. package/dist/accordion.d.ts +9 -0
  3. package/dist/accordion.js +16 -0
  4. package/dist/accordion.js.map +1 -0
  5. package/dist/alert-dialog.d.ts +16 -0
  6. package/dist/alert-dialog.js +31 -0
  7. package/dist/alert-dialog.js.map +1 -0
  8. package/dist/alert.d.ts +12 -0
  9. package/dist/alert.js +13 -0
  10. package/dist/alert.js.map +1 -0
  11. package/dist/arrow/arrow-audio-segment.d.ts +13 -0
  12. package/dist/arrow/arrow-audio-segment.js +14 -0
  13. package/dist/arrow/arrow-audio-segment.js.map +1 -0
  14. package/dist/arrow/arrow-knob.d.ts +35 -0
  15. package/dist/arrow/arrow-knob.js +10 -0
  16. package/dist/arrow/arrow-knob.js.map +1 -0
  17. package/dist/arrow/arrow-param.d.ts +34 -0
  18. package/dist/arrow/arrow-param.js +10 -0
  19. package/dist/arrow/arrow-param.js.map +1 -0
  20. package/dist/arrow/arrow-slider.d.ts +66 -0
  21. package/dist/arrow/arrow-slider.js +12 -0
  22. package/dist/arrow/arrow-slider.js.map +1 -0
  23. package/dist/arrow/index.d.ts +5 -0
  24. package/dist/arrow/index.js +26 -0
  25. package/dist/arrow/index.js.map +1 -0
  26. package/dist/avatar.d.ts +41 -0
  27. package/dist/avatar.js +14 -0
  28. package/dist/avatar.js.map +1 -0
  29. package/dist/badge.d.ts +12 -0
  30. package/dist/badge.js +11 -0
  31. package/dist/badge.js.map +1 -0
  32. package/dist/breadcrumb.d.ts +35 -0
  33. package/dist/breadcrumb.js +21 -0
  34. package/dist/breadcrumb.js.map +1 -0
  35. package/dist/button.d.ts +14 -0
  36. package/dist/button.js +13 -0
  37. package/dist/button.js.map +1 -0
  38. package/dist/calendar.d.ts +12 -0
  39. package/dist/calendar.js +13 -0
  40. package/dist/calendar.js.map +1 -0
  41. package/dist/card.d.ts +11 -0
  42. package/dist/card.js +21 -0
  43. package/dist/card.js.map +1 -0
  44. package/dist/carousel.d.ts +23 -0
  45. package/dist/carousel.js +19 -0
  46. package/dist/carousel.js.map +1 -0
  47. package/dist/chart.d.ts +42 -0
  48. package/dist/chart.js +20 -0
  49. package/dist/chart.js.map +1 -0
  50. package/dist/checkbox.d.ts +6 -0
  51. package/dist/checkbox.js +10 -0
  52. package/dist/checkbox.js.map +1 -0
  53. package/dist/chunk-2DGDTPIQ.js +45 -0
  54. package/dist/chunk-2DGDTPIQ.js.map +1 -0
  55. package/dist/chunk-4JJRMUKQ.js +38 -0
  56. package/dist/chunk-4JJRMUKQ.js.map +1 -0
  57. package/dist/chunk-56ACNCZS.js +251 -0
  58. package/dist/chunk-56ACNCZS.js.map +1 -0
  59. package/dist/chunk-56WZ35NY.js +44 -0
  60. package/dist/chunk-56WZ35NY.js.map +1 -0
  61. package/dist/chunk-5VAJAIF6.js +362 -0
  62. package/dist/chunk-5VAJAIF6.js.map +1 -0
  63. package/dist/chunk-7O5CLHR3.js +730 -0
  64. package/dist/chunk-7O5CLHR3.js.map +1 -0
  65. package/dist/chunk-AY7NLSQQ.js +143 -0
  66. package/dist/chunk-AY7NLSQQ.js.map +1 -0
  67. package/dist/chunk-BRLBKYOJ.js +13 -0
  68. package/dist/chunk-BRLBKYOJ.js.map +1 -0
  69. package/dist/chunk-BTGFCSAG.js +232 -0
  70. package/dist/chunk-BTGFCSAG.js.map +1 -0
  71. package/dist/chunk-CO3JJD7S.js +39 -0
  72. package/dist/chunk-CO3JJD7S.js.map +1 -0
  73. package/dist/chunk-DD6FE3UB.js +29 -0
  74. package/dist/chunk-DD6FE3UB.js.map +1 -0
  75. package/dist/chunk-EEJP3IMH.js +118 -0
  76. package/dist/chunk-EEJP3IMH.js.map +1 -0
  77. package/dist/chunk-FBARHYTA.js +130 -0
  78. package/dist/chunk-FBARHYTA.js.map +1 -0
  79. package/dist/chunk-FGCEHEYC.js +218 -0
  80. package/dist/chunk-FGCEHEYC.js.map +1 -0
  81. package/dist/chunk-FJRXRUWK.js +38 -0
  82. package/dist/chunk-FJRXRUWK.js.map +1 -0
  83. package/dist/chunk-FK3FW3MS.js +87 -0
  84. package/dist/chunk-FK3FW3MS.js.map +1 -0
  85. package/dist/chunk-GDVKZYBE.js +121 -0
  86. package/dist/chunk-GDVKZYBE.js.map +1 -0
  87. package/dist/chunk-GNOFZATA.js +230 -0
  88. package/dist/chunk-GNOFZATA.js.map +1 -0
  89. package/dist/chunk-GOEGCA6O.js +103 -0
  90. package/dist/chunk-GOEGCA6O.js.map +1 -0
  91. package/dist/chunk-I2ZMIGGK.js +155 -0
  92. package/dist/chunk-I2ZMIGGK.js.map +1 -0
  93. package/dist/chunk-I5W4ISIK.js +110 -0
  94. package/dist/chunk-I5W4ISIK.js.map +1 -0
  95. package/dist/chunk-JYJSA2N3.js +133 -0
  96. package/dist/chunk-JYJSA2N3.js.map +1 -0
  97. package/dist/chunk-K4VSSERN.js +30 -0
  98. package/dist/chunk-K4VSSERN.js.map +1 -0
  99. package/dist/chunk-K53N642V.js +47 -0
  100. package/dist/chunk-K53N642V.js.map +1 -0
  101. package/dist/chunk-MFMMQ5MW.js +22 -0
  102. package/dist/chunk-MFMMQ5MW.js.map +1 -0
  103. package/dist/chunk-N2DQHPF6.js +111 -0
  104. package/dist/chunk-N2DQHPF6.js.map +1 -0
  105. package/dist/chunk-NVUEC55O.js +111 -0
  106. package/dist/chunk-NVUEC55O.js.map +1 -0
  107. package/dist/chunk-OODTVBCR.js +24 -0
  108. package/dist/chunk-OODTVBCR.js.map +1 -0
  109. package/dist/chunk-Q2ZTDTTO.js +52 -0
  110. package/dist/chunk-Q2ZTDTTO.js.map +1 -0
  111. package/dist/chunk-QDMRHLIP.js +249 -0
  112. package/dist/chunk-QDMRHLIP.js.map +1 -0
  113. package/dist/chunk-QDSX4B5H.js +31 -0
  114. package/dist/chunk-QDSX4B5H.js.map +1 -0
  115. package/dist/chunk-QFCNKPCX.js +63 -0
  116. package/dist/chunk-QFCNKPCX.js.map +1 -0
  117. package/dist/chunk-QK66LYNP.js +34 -0
  118. package/dist/chunk-QK66LYNP.js.map +1 -0
  119. package/dist/chunk-QR3MQNAG.js +73 -0
  120. package/dist/chunk-QR3MQNAG.js.map +1 -0
  121. package/dist/chunk-RCOVE3WM.js +200 -0
  122. package/dist/chunk-RCOVE3WM.js.map +1 -0
  123. package/dist/chunk-RDCYYXP4.js +84 -0
  124. package/dist/chunk-RDCYYXP4.js.map +1 -0
  125. package/dist/chunk-SI26LBRL.js +135 -0
  126. package/dist/chunk-SI26LBRL.js.map +1 -0
  127. package/dist/chunk-SI7JPFRI.js +38 -0
  128. package/dist/chunk-SI7JPFRI.js.map +1 -0
  129. package/dist/chunk-TUWIDKQI.js +186 -0
  130. package/dist/chunk-TUWIDKQI.js.map +1 -0
  131. package/dist/chunk-TV4RRR2U.js +70 -0
  132. package/dist/chunk-TV4RRR2U.js.map +1 -0
  133. package/dist/chunk-UMN2QEMQ.js +45 -0
  134. package/dist/chunk-UMN2QEMQ.js.map +1 -0
  135. package/dist/chunk-WH72OGEI.js +97 -0
  136. package/dist/chunk-WH72OGEI.js.map +1 -0
  137. package/dist/chunk-Y6VRFXEY.js +40 -0
  138. package/dist/chunk-Y6VRFXEY.js.map +1 -0
  139. package/dist/chunk-Z4YXDT66.js +57 -0
  140. package/dist/chunk-Z4YXDT66.js.map +1 -0
  141. package/dist/chunk-ZWIZWLL5.js +124 -0
  142. package/dist/chunk-ZWIZWLL5.js.map +1 -0
  143. package/dist/chunk-ZXFM4XML.js +71 -0
  144. package/dist/chunk-ZXFM4XML.js.map +1 -0
  145. package/dist/collapsible.d.ts +33 -0
  146. package/dist/collapsible.js +13 -0
  147. package/dist/collapsible.js.map +1 -0
  148. package/dist/command.d.ts +84 -0
  149. package/dist/command.js +27 -0
  150. package/dist/command.js.map +1 -0
  151. package/dist/dialog.d.ts +21 -0
  152. package/dist/dialog.js +28 -0
  153. package/dist/dialog.js.map +1 -0
  154. package/dist/drawer.d.ts +15 -0
  155. package/dist/drawer.js +28 -0
  156. package/dist/drawer.js.map +1 -0
  157. package/dist/dropdown-menu.d.ts +74 -0
  158. package/dist/dropdown-menu.js +39 -0
  159. package/dist/dropdown-menu.js.map +1 -0
  160. package/dist/filter-group.d.ts +27 -0
  161. package/dist/filter-group.js +14 -0
  162. package/dist/filter-group.js.map +1 -0
  163. package/dist/form.d.ts +27 -0
  164. package/dist/form.js +25 -0
  165. package/dist/form.js.map +1 -0
  166. package/dist/four-corner-card.d.ts +35 -0
  167. package/dist/four-corner-card.js +9 -0
  168. package/dist/four-corner-card.js.map +1 -0
  169. package/dist/hover-card.d.ts +8 -0
  170. package/dist/hover-card.js +14 -0
  171. package/dist/hover-card.js.map +1 -0
  172. package/dist/index.d.ts +73 -0
  173. package/dist/index.js +430 -0
  174. package/dist/index.js.map +1 -0
  175. package/dist/input.d.ts +27 -0
  176. package/dist/input.js +9 -0
  177. package/dist/input.js.map +1 -0
  178. package/dist/kbd.d.ts +5 -0
  179. package/dist/kbd.js +10 -0
  180. package/dist/kbd.js.map +1 -0
  181. package/dist/label.d.ts +25 -0
  182. package/dist/label.js +10 -0
  183. package/dist/label.js.map +1 -0
  184. package/dist/pagination.d.ts +22 -0
  185. package/dist/pagination.js +22 -0
  186. package/dist/pagination.js.map +1 -0
  187. package/dist/popover.d.ts +11 -0
  188. package/dist/popover.js +16 -0
  189. package/dist/popover.js.map +1 -0
  190. package/dist/progress.d.ts +6 -0
  191. package/dist/progress.js +10 -0
  192. package/dist/progress.js.map +1 -0
  193. package/dist/radio-group.d.ts +7 -0
  194. package/dist/radio-group.js +12 -0
  195. package/dist/radio-group.js.map +1 -0
  196. package/dist/scroll-area.d.ts +7 -0
  197. package/dist/scroll-area.js +12 -0
  198. package/dist/scroll-area.js.map +1 -0
  199. package/dist/select.d.ts +13 -0
  200. package/dist/select.js +20 -0
  201. package/dist/select.js.map +1 -0
  202. package/dist/separator.d.ts +28 -0
  203. package/dist/separator.js +10 -0
  204. package/dist/separator.js.map +1 -0
  205. package/dist/sheet.d.ts +78 -0
  206. package/dist/sheet.js +24 -0
  207. package/dist/sheet.js.map +1 -0
  208. package/dist/skeleton.d.ts +5 -0
  209. package/dist/skeleton.js +9 -0
  210. package/dist/skeleton.js.map +1 -0
  211. package/dist/slider.d.ts +6 -0
  212. package/dist/slider.js +10 -0
  213. package/dist/slider.js.map +1 -0
  214. package/dist/sonner.d.ts +6 -0
  215. package/dist/sonner.js +9 -0
  216. package/dist/sonner.js.map +1 -0
  217. package/dist/switch.d.ts +6 -0
  218. package/dist/switch.js +10 -0
  219. package/dist/switch.js.map +1 -0
  220. package/dist/table.d.ts +12 -0
  221. package/dist/table.js +24 -0
  222. package/dist/table.js.map +1 -0
  223. package/dist/tabs.d.ts +12 -0
  224. package/dist/tabs.js +16 -0
  225. package/dist/tabs.js.map +1 -0
  226. package/dist/toggle-group.d.ts +11 -0
  227. package/dist/toggle-group.js +13 -0
  228. package/dist/toggle-group.js.map +1 -0
  229. package/dist/toggle.d.ts +12 -0
  230. package/dist/toggle.js +12 -0
  231. package/dist/toggle.js.map +1 -0
  232. package/dist/two-corner-card.d.ts +40 -0
  233. package/dist/two-corner-card.js +9 -0
  234. package/dist/two-corner-card.js.map +1 -0
  235. package/dist/utils.d.ts +9 -0
  236. package/dist/utils.js +8 -0
  237. package/dist/utils.js.map +1 -0
  238. package/package.json +87 -0
  239. package/src/index.css +9 -0
  240. package/src/react/accordion.tsx +66 -0
  241. package/src/react/alert-dialog.tsx +157 -0
  242. package/src/react/alert.tsx +66 -0
  243. package/src/react/arrow/arrow-audio-segment.tsx +197 -0
  244. package/src/react/arrow/arrow-knob.tsx +462 -0
  245. package/src/react/arrow/arrow-param.tsx +278 -0
  246. package/src/react/arrow/arrow-slider.tsx +891 -0
  247. package/src/react/arrow/index.ts +7 -0
  248. package/src/react/avatar.tsx +99 -0
  249. package/src/react/badge.tsx +46 -0
  250. package/src/react/breadcrumb.tsx +152 -0
  251. package/src/react/button.tsx +115 -0
  252. package/src/react/calendar.tsx +213 -0
  253. package/src/react/card.tsx +92 -0
  254. package/src/react/carousel.tsx +258 -0
  255. package/src/react/chart.tsx +353 -0
  256. package/src/react/checkbox.tsx +32 -0
  257. package/src/react/collapsible.tsx +70 -0
  258. package/src/react/command.tsx +155 -0
  259. package/src/react/dialog.tsx +122 -0
  260. package/src/react/drawer.tsx +135 -0
  261. package/src/react/dropdown-menu.tsx +334 -0
  262. package/src/react/filter-group.tsx +76 -0
  263. package/src/react/form.tsx +167 -0
  264. package/src/react/four-corner-card.tsx +138 -0
  265. package/src/react/hover-card.tsx +44 -0
  266. package/src/react/index.ts +61 -0
  267. package/src/react/input.tsx +68 -0
  268. package/src/react/kbd.tsx +19 -0
  269. package/src/react/label.tsx +43 -0
  270. package/src/react/pagination.tsx +107 -0
  271. package/src/react/popover.tsx +35 -0
  272. package/src/react/progress.tsx +31 -0
  273. package/src/react/radio-group.tsx +45 -0
  274. package/src/react/scroll-area.tsx +48 -0
  275. package/src/react/select.tsx +122 -0
  276. package/src/react/separator.tsx +53 -0
  277. package/src/react/sheet.tsx +217 -0
  278. package/src/react/skeleton.tsx +14 -0
  279. package/src/react/slider.tsx +63 -0
  280. package/src/react/sonner.tsx +31 -0
  281. package/src/react/switch.tsx +31 -0
  282. package/src/react/table.tsx +116 -0
  283. package/src/react/tabs.tsx +123 -0
  284. package/src/react/toggle-group.tsx +166 -0
  285. package/src/react/toggle.tsx +54 -0
  286. package/src/react/two-corner-card.tsx +266 -0
  287. package/src/react/utils.ts +10 -0
  288. package/src/styles/base.css +89 -0
  289. package/src/styles/effects.css +218 -0
  290. package/src/styles/entity-frames.css +186 -0
  291. package/src/styles/fonts.css +9 -0
  292. package/src/tokens.css +133 -0
package/README.md ADDED
@@ -0,0 +1,108 @@
1
+ # plantasia.space-design
2
+
3
+ Shared design system for **plantasia.space** — *Home for Regenerative Music*.
4
+
5
+ This repo is the source of the `plantasia.space-design` npm package: design tokens,
6
+ base styles, brand effects, and (next) React UI components, shared by every
7
+ Plantasia Space frontend. React-first, framework-agnostic — no Next.js, SSR-only,
8
+ or package-manager assumptions.
9
+
10
+ Tracked by Linear epic **PLA-174** (parent: ORB-41 visual/React refactor).
11
+
12
+ ## What's inside
13
+
14
+ | Path | What |
15
+ |---|---|
16
+ | `src/tokens.css` | All design tokens as plain CSS custom properties (light + `.dark`). Zero-build consumption. |
17
+ | `src/styles/fonts.css` | Brand webfonts: Orbit (titles), Inter (body), JetBrains Mono. |
18
+ | `src/styles/base.css` | Portable base styles (backgrounds, type, cursors, scrollbars). |
19
+ | `src/styles/effects.css` | Brand interactions: corner-bracket hovers, tab legs, segmented groups, filter rings, glass surfaces, motion. |
20
+ | `src/styles/entity-frames.css` | Entity shapes: circle (xPlorer), square (Track), diamond (Collection), hexagon (Orbiter), bordered rect (Entangled World). |
21
+ | `src/index.css` | Everything-in barrel import. |
22
+ | `src/react/` | *(coming — PLA-246)* React components extracted from `plantasia.space-root`. |
23
+ | `playground/` | Vite + React app: the developer UI kit (`cd playground && npm i && npm run dev` → http://localhost:5180). |
24
+ | `docs/DESIGN.md` | Design-language reference (component patterns, spacing, voice). |
25
+ | `docs/brand.md` | Platform, entity, and voice/tone context. |
26
+ | `archive/` | Pre-package material (static previews, Babel prototype, old token file). Superseded; kept for reference. |
27
+
28
+ > **Doc drift warning:** `docs/DESIGN.md` and `docs/brand.md` still describe the older
29
+ > teal/pink brand accents. Production (and `src/tokens.css`, extracted from the
30
+ > production app) uses the monochrome white/black palette — `--xplorer-col-1: #fff`,
31
+ > `--xplorer-col-2: #000`. Trust the tokens; the docs' color sections await a pass.
32
+
33
+ ## Consuming
34
+
35
+ ### Vanilla app, no build step
36
+
37
+ ```html
38
+ <link rel="stylesheet" href=".../plantasia.space-design/src/index.css" />
39
+ <!-- or just the tokens during migration: -->
40
+ <link rel="stylesheet" href=".../plantasia.space-design/src/tokens.css" />
41
+ ```
42
+
43
+ ### Bundled app (Vite, Next.js, anything)
44
+
45
+ ```js
46
+ import 'plantasia.space-design/tokens.css'; // tokens only
47
+ import 'plantasia.space-design/index.css'; // the full visual language
48
+ import 'plantasia.space-design/styles/entity-frames.css'; // à la carte
49
+ ```
50
+
51
+ ### Tailwind v4 host (plantasia.space-root)
52
+
53
+ Keep your `@theme inline` block mapping the tokens into Tailwind; import the token
54
+ file first:
55
+
56
+ ```css
57
+ @import 'tailwindcss';
58
+ @import 'plantasia.space-design/tokens.css';
59
+ /* app-local @theme inline { --color-background: var(--background); … } */
60
+ ```
61
+
62
+ When the React components land, Tailwind hosts also add
63
+ `@source "../node_modules/plantasia.space-design";` so component classes generate.
64
+
65
+ ### Theming contract
66
+
67
+ - Light is the default; dark ships as a `.dark` class on `<html>` (or any subtree).
68
+ - Hosts may override any token at runtime by writing the custom property —
69
+ this is how the root app's theme-config and EW Studio's `studioTheme.js` already
70
+ work. Brand primitives to override first: `--xplorer-col-1`, `--xplorer-col-2`;
71
+ everything semantic derives from those two plus the neutral scale.
72
+ - Fonts: hosts may keep loading the same Google Fonts via `<link>` in their own
73
+ head (as the Next.js app does) instead of `styles/fonts.css` — token names are
74
+ the contract, not the loader.
75
+
76
+ ## Developing
77
+
78
+ CSS-only for now — no build, no dependencies. Edit `src/`, version with semver.
79
+ The React build (tsup → ESM + d.ts) arrives with PLA-246.
80
+
81
+ ## Local testing — link, don't publish
82
+
83
+ **Nothing goes to npm until a first version has been tested inside the real apps.**
84
+ All sibling apps live next to this repo under `ps-fe/`, so they consume the local
85
+ package directly while developing:
86
+
87
+ ```sh
88
+ # from the consuming app (orbiters, entangled-worlds-preview, plantasia.space-root):
89
+ npm install --no-save ../plantasia.space-design
90
+ ```
91
+
92
+ `--no-save` keeps the app's `package.json` and lockfile untouched (deploys/CI are
93
+ unaffected); the install symlinks `node_modules/plantasia.space-design` to this
94
+ folder, so package edits show up in the app's dev server live. Re-run the command
95
+ after a fresh `npm install` in the app (a clean install drops the unlisted link).
96
+
97
+ When a version is proven inside at least one app, publishing is a deliberate,
98
+ separate step: `npm publish` (public npm, unscoped — same flow as
99
+ `entangled-worlds-orbiters-shared`), then consumers switch to a real semver
100
+ dependency.
101
+
102
+ ## Consumers & migration state
103
+
104
+ | App | State |
105
+ |---|---|
106
+ | `plantasia.space-root` (Next 15) | Source of the extracted tokens/components; migrates to consume them in PLA-247. |
107
+ | `orbiters` (vanilla + Vite) | Adopts `tokens.css` + alias block in ORB-75. |
108
+ | `entangled-worlds-preview` (vanilla + Vite) | Bridges `--studio-theme-*` onto these tokens in ORB-76. |
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
3
+
4
+ declare function Accordion({ ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): React.JSX.Element;
5
+ declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): React.JSX.Element;
6
+ declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): React.JSX.Element;
7
+ declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): React.JSX.Element;
8
+
9
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
@@ -0,0 +1,16 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Accordion,
5
+ AccordionContent,
6
+ AccordionItem,
7
+ AccordionTrigger
8
+ } from "./chunk-ZXFM4XML.js";
9
+ import "./chunk-BRLBKYOJ.js";
10
+ export {
11
+ Accordion,
12
+ AccordionContent,
13
+ AccordionItem,
14
+ AccordionTrigger
15
+ };
16
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,16 @@
1
+ import * as React from 'react';
2
+ import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
3
+
4
+ declare function AlertDialog({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Root>): React.JSX.Element;
5
+ declare function AlertDialogTrigger({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>): React.JSX.Element;
6
+ declare function AlertDialogPortal({ ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Portal>): React.JSX.Element;
7
+ declare function AlertDialogOverlay({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>): React.JSX.Element;
8
+ declare function AlertDialogContent({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Content>): React.JSX.Element;
9
+ declare function AlertDialogHeader({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
+ declare function AlertDialogFooter({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+ declare function AlertDialogTitle({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Title>): React.JSX.Element;
12
+ declare function AlertDialogDescription({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Description>): React.JSX.Element;
13
+ declare function AlertDialogAction({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Action>): React.JSX.Element;
14
+ declare function AlertDialogCancel({ className, ...props }: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>): React.JSX.Element;
15
+
16
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger };
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ AlertDialog,
5
+ AlertDialogAction,
6
+ AlertDialogCancel,
7
+ AlertDialogContent,
8
+ AlertDialogDescription,
9
+ AlertDialogFooter,
10
+ AlertDialogHeader,
11
+ AlertDialogOverlay,
12
+ AlertDialogPortal,
13
+ AlertDialogTitle,
14
+ AlertDialogTrigger
15
+ } from "./chunk-I2ZMIGGK.js";
16
+ import "./chunk-FK3FW3MS.js";
17
+ import "./chunk-BRLBKYOJ.js";
18
+ export {
19
+ AlertDialog,
20
+ AlertDialogAction,
21
+ AlertDialogCancel,
22
+ AlertDialogContent,
23
+ AlertDialogDescription,
24
+ AlertDialogFooter,
25
+ AlertDialogHeader,
26
+ AlertDialogOverlay,
27
+ AlertDialogPortal,
28
+ AlertDialogTitle,
29
+ AlertDialogTrigger
30
+ };
31
+ //# sourceMappingURL=alert-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,12 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const alertVariants: (props?: ({
6
+ variant?: "default" | "destructive" | null | undefined;
7
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
8
+ declare function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps<typeof alertVariants>): React.JSX.Element;
9
+ declare function AlertTitle({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
10
+ declare function AlertDescription({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
11
+
12
+ export { Alert, AlertDescription, AlertTitle };
package/dist/alert.js ADDED
@@ -0,0 +1,13 @@
1
+ "use client";
2
+ import {
3
+ Alert,
4
+ AlertDescription,
5
+ AlertTitle
6
+ } from "./chunk-QR3MQNAG.js";
7
+ import "./chunk-BRLBKYOJ.js";
8
+ export {
9
+ Alert,
10
+ AlertDescription,
11
+ AlertTitle
12
+ };
13
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,13 @@
1
+ import * as React from 'react';
2
+
3
+ interface ArrowAudioSegmentProps {
4
+ startSec: number;
5
+ endSec: number;
6
+ onStartSecChange: (value: number) => void;
7
+ onEndSecChange: (value: number) => void;
8
+ trackDurationSec?: number | null;
9
+ }
10
+ declare function formatTimeLabel(seconds: number): string;
11
+ declare function ArrowAudioSegment({ startSec, endSec, onStartSecChange, onEndSecChange, trackDurationSec, }: ArrowAudioSegmentProps): React.JSX.Element;
12
+
13
+ export { ArrowAudioSegment, formatTimeLabel };
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ ArrowAudioSegment,
5
+ formatTimeLabel
6
+ } from "../chunk-TUWIDKQI.js";
7
+ import "../chunk-7O5CLHR3.js";
8
+ import "../chunk-56WZ35NY.js";
9
+ import "../chunk-BRLBKYOJ.js";
10
+ export {
11
+ ArrowAudioSegment,
12
+ formatTimeLabel
13
+ };
14
+ //# sourceMappingURL=arrow-audio-segment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+
3
+ type Tracking = "rel" | "abs";
4
+ type KnobProps = {
5
+ className?: string;
6
+ value?: number;
7
+ defaultValue?: number;
8
+ min?: number;
9
+ max?: number;
10
+ step?: number;
11
+ log?: boolean;
12
+ /**
13
+ * Semicolon-separated colors for the knob visuals.
14
+ * Index mapping (five positions):
15
+ * 0: needle + fill color
16
+ * 1: compass-rose outline color
17
+ * 2: background circle fill color (use 'transparent' to disable)
18
+ * 3: reserved (unused)
19
+ * 4: reserved (unused)
20
+ * Example: "#e00;#333;transparent;#777;#555"
21
+ */
22
+ colors?: string;
23
+ sensitivity?: number;
24
+ tracking?: Tracking;
25
+ showLabel?: boolean;
26
+ tooltip?: boolean;
27
+ onChange?: (value: number) => void;
28
+ onValueChange?: (value: number) => void;
29
+ format?: (x: number) => string;
30
+ "aria-label"?: string;
31
+ "aria-labelledby"?: string;
32
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">;
33
+ declare function Knob({ className, value, defaultValue, min, max, step, log, colors, sensitivity, tracking, showLabel, tooltip, onChange, onValueChange, format, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: KnobProps): React.JSX.Element;
34
+
35
+ export { Knob, type KnobProps };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Knob
5
+ } from "../chunk-5VAJAIF6.js";
6
+ import "../chunk-BRLBKYOJ.js";
7
+ export {
8
+ Knob
9
+ };
10
+ //# sourceMappingURL=arrow-knob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,34 @@
1
+ import * as React from 'react';
2
+
3
+ type ParamProps = {
4
+ className?: string;
5
+ id?: string;
6
+ name?: string;
7
+ value?: number;
8
+ defaultValue?: number;
9
+ min?: number;
10
+ max?: number;
11
+ step?: number;
12
+ precision?: number;
13
+ log?: boolean;
14
+ showInfinityAtMin?: boolean;
15
+ editable?: boolean;
16
+ label?: React.ReactNode;
17
+ format?: (x: number) => string;
18
+ onChange?: (value: number) => void;
19
+ onValueChange?: (value: number) => void;
20
+ /**
21
+ * Optional semicolon-separated colors for the value display.
22
+ * Index mapping (five positions):
23
+ * 0: text color
24
+ * 1: background color
25
+ * 2: border color
26
+ * 3: reserved
27
+ * 4: reserved
28
+ * Example: "var(--color-foreground);var(--color-background);var(--color-border);#777;#555"
29
+ */
30
+ colors?: string;
31
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">;
32
+ declare function Param({ className, id, name, value, defaultValue, min, max, step, precision, log, showInfinityAtMin, editable, label, format, onChange, onValueChange, colors, ...rest }: ParamProps): React.JSX.Element;
33
+
34
+ export { Param, type ParamProps };
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Param
5
+ } from "../chunk-BTGFCSAG.js";
6
+ import "../chunk-BRLBKYOJ.js";
7
+ export {
8
+ Param
9
+ };
10
+ //# sourceMappingURL=arrow-param.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,66 @@
1
+ import * as React from 'react';
2
+
3
+ type Direction = "horz" | "vert";
4
+ type Tracking = "rel" | "abs";
5
+ type SliderProps = {
6
+ className?: string;
7
+ value?: number;
8
+ defaultValue?: number;
9
+ min?: number;
10
+ max?: number;
11
+ step?: number;
12
+ direction?: Direction;
13
+ log?: boolean;
14
+ /**
15
+ * Semicolon-separated colors for the slider visuals.
16
+ * Index mapping (five positions):
17
+ * 0: filled track (progress) color
18
+ * 1: base track (unfilled) color
19
+ * 2: knob fill color
20
+ * 3: knob border (stroke) color
21
+ * 4: reserved (unused)
22
+ * Example: "#e00;#333;#fff;#777;#555"
23
+ */
24
+ colors?: string;
25
+ sensitivity?: number;
26
+ pointerSize?: number;
27
+ tracking?: Tracking;
28
+ showLabel?: boolean;
29
+ tooltip?: boolean;
30
+ onChange?: (value: number) => void;
31
+ onValueChange?: (value: number) => void;
32
+ format?: (x: number) => string;
33
+ "aria-label"?: string;
34
+ "aria-labelledby"?: string;
35
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">;
36
+ declare function Slider({ className, value, defaultValue, min, max, step, direction, log, colors, sensitivity, pointerSize, tracking, showLabel, tooltip, onChange, onValueChange, format, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: SliderProps): React.JSX.Element;
37
+ type SegmentSliderProps = {
38
+ className?: string;
39
+ min?: number;
40
+ max?: number;
41
+ step?: number;
42
+ /** Segment in-point value */
43
+ start: number;
44
+ /** Segment out-point value */
45
+ end: number;
46
+ /** Playhead / current-position value */
47
+ playhead?: number;
48
+ /** Minimum distance enforced between start and end (same units as min/max) */
49
+ minSegmentWidth?: number;
50
+ /**
51
+ * Semicolon-separated colors (5 slots):
52
+ * 0: segment fill 1: base track
53
+ * 2: start thumb 3: end thumb 4: playhead
54
+ * Example: "#e00;#333;#e66;#a00;#fff"
55
+ */
56
+ colors?: string;
57
+ pointerSize?: number;
58
+ onStartChange?: (value: number) => void;
59
+ onEndChange?: (value: number) => void;
60
+ onPlayheadChange?: (value: number) => void;
61
+ showPlayhead?: boolean;
62
+ "aria-label"?: string;
63
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange">;
64
+ declare function SegmentSlider({ className, min, max, step, start, end, playhead, minSegmentWidth, colors, pointerSize, onStartChange, onEndChange, onPlayheadChange, showPlayhead, "aria-label": ariaLabel, ...rest }: SegmentSliderProps): React.JSX.Element;
65
+
66
+ export { SegmentSlider, type SegmentSliderProps, Slider };
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ SegmentSlider,
5
+ Slider
6
+ } from "../chunk-7O5CLHR3.js";
7
+ import "../chunk-BRLBKYOJ.js";
8
+ export {
9
+ SegmentSlider,
10
+ Slider
11
+ };
12
+ //# sourceMappingURL=arrow-slider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,5 @@
1
+ export { Knob, KnobProps } from './arrow-knob.js';
2
+ export { SegmentSlider, SegmentSliderProps, Slider } from './arrow-slider.js';
3
+ export { Param, ParamProps } from './arrow-param.js';
4
+ export { ArrowAudioSegment, formatTimeLabel } from './arrow-audio-segment.js';
5
+ import 'react';
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import {
3
+ ArrowAudioSegment,
4
+ formatTimeLabel
5
+ } from "../chunk-TUWIDKQI.js";
6
+ import {
7
+ Knob
8
+ } from "../chunk-5VAJAIF6.js";
9
+ import {
10
+ Param
11
+ } from "../chunk-BTGFCSAG.js";
12
+ import {
13
+ SegmentSlider,
14
+ Slider
15
+ } from "../chunk-7O5CLHR3.js";
16
+ import "../chunk-56WZ35NY.js";
17
+ import "../chunk-BRLBKYOJ.js";
18
+ export {
19
+ ArrowAudioSegment,
20
+ Knob,
21
+ Param,
22
+ SegmentSlider,
23
+ Slider,
24
+ formatTimeLabel
25
+ };
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
3
+
4
+ /**
5
+ * Avatar component built on Radix UI's Avatar primitive.
6
+ * Displays a user or entity avatar with customizable appearance.
7
+ *
8
+ * @param {Object} props - Component props
9
+ * @param {string} [props.className] - Additional CSS classes
10
+ * @param {number} [props.size] - Size of the avatar in pixels
11
+ * @returns {JSX.Element} The avatar root component
12
+ */
13
+ declare function Avatar({ className, size, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root> & {
14
+ size?: number;
15
+ }): React.JSX.Element;
16
+ /**
17
+ * Avatar image component used within the Avatar.
18
+ * Displays the actual image for the avatar.
19
+ *
20
+ * @param {Object} props - Component props
21
+ * @param {string} [props.className] - Additional CSS classes
22
+ * @returns {JSX.Element} The avatar image component
23
+ */
24
+ declare const AvatarImage: React.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React.RefAttributes<HTMLImageElement>, "ref"> & React.RefAttributes<HTMLImageElement>>;
25
+ /**
26
+ * Avatar fallback component used when the image fails to load.
27
+ * Displays a placeholder or user initials as fallback content.
28
+ *
29
+ * @param {Object} props - Component props
30
+ * @param {string} [props.className] - Additional CSS classes
31
+ * @returns {JSX.Element} The avatar fallback component
32
+ *
33
+ * @example
34
+ * <Avatar>
35
+ * <AvatarImage src="/avatars/user.jpg" alt="User" />
36
+ * <AvatarFallback>JD</AvatarFallback>
37
+ * </Avatar>
38
+ */
39
+ declare function AvatarFallback({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Fallback>): React.JSX.Element;
40
+
41
+ export { Avatar, AvatarFallback, AvatarImage };
package/dist/avatar.js ADDED
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ "use client";
3
+ import {
4
+ Avatar,
5
+ AvatarFallback,
6
+ AvatarImage
7
+ } from "./chunk-QFCNKPCX.js";
8
+ import "./chunk-BRLBKYOJ.js";
9
+ export {
10
+ Avatar,
11
+ AvatarFallback,
12
+ AvatarImage
13
+ };
14
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,12 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const badgeVariants: (props?: ({
6
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
7
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
8
+ declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
9
+ asChild?: boolean;
10
+ }): React.JSX.Element;
11
+
12
+ export { Badge, badgeVariants };
package/dist/badge.js ADDED
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import {
3
+ Badge,
4
+ badgeVariants
5
+ } from "./chunk-K53N642V.js";
6
+ import "./chunk-BRLBKYOJ.js";
7
+ export {
8
+ Badge,
9
+ badgeVariants
10
+ };
11
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,35 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Root navigation component for breadcrumbs.
5
+ * Provides semantic structure and accessibility attributes.
6
+ *
7
+ * @param {Object} props - Component props
8
+ * @returns {JSX.Element} The breadcrumb navigation component
9
+ */
10
+ declare function Breadcrumb({ ...props }: React.ComponentProps<"nav">): React.JSX.Element;
11
+ /**
12
+ * Container for breadcrumb items.
13
+ * Renders an ordered list with proper styling.
14
+ *
15
+ * @param {Object} props - Component props
16
+ * @param {string} [props.className] - Additional CSS classes
17
+ * @returns {JSX.Element} The breadcrumb list component
18
+ */
19
+ declare function BreadcrumbList({ className, ...props }: React.ComponentProps<"ol">): React.JSX.Element;
20
+ /**
21
+ * Individual breadcrumb item container.
22
+ *
23
+ * @param {Object} props - Component props
24
+ * @param {string} [props.className] - Additional CSS classes
25
+ * @returns {JSX.Element} The breadcrumb item component
26
+ */
27
+ declare function BreadcrumbItem({ className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
28
+ declare function BreadcrumbLink({ asChild, className, ...props }: React.ComponentProps<"a"> & {
29
+ asChild?: boolean;
30
+ }): React.JSX.Element;
31
+ declare function BreadcrumbPage({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
32
+ declare function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<"li">): React.JSX.Element;
33
+ declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
34
+
35
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator };
@@ -0,0 +1,21 @@
1
+ "use client";
2
+ import {
3
+ Breadcrumb,
4
+ BreadcrumbEllipsis,
5
+ BreadcrumbItem,
6
+ BreadcrumbLink,
7
+ BreadcrumbList,
8
+ BreadcrumbPage,
9
+ BreadcrumbSeparator
10
+ } from "./chunk-I5W4ISIK.js";
11
+ import "./chunk-BRLBKYOJ.js";
12
+ export {
13
+ Breadcrumb,
14
+ BreadcrumbEllipsis,
15
+ BreadcrumbItem,
16
+ BreadcrumbLink,
17
+ BreadcrumbList,
18
+ BreadcrumbPage,
19
+ BreadcrumbSeparator
20
+ };
21
+ //# sourceMappingURL=breadcrumb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,14 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const buttonVariants: (props?: ({
6
+ variant?: "link" | "default" | "destructive" | "destructiveFilled" | "success" | "successOutlined" | "outline" | "outlineAccent" | "secondary" | "ghost" | null | undefined;
7
+ size?: "default" | "icon" | "sm" | "lg" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ declare function Button({ className, variant, size, asChild, children, ...props }: Omit<React.ComponentProps<'button'>, 'size'> & VariantProps<typeof buttonVariants> & {
10
+ asChild?: boolean;
11
+ }): React.JSX.Element;
12
+ declare function ButtonGroup({ className, ...props }: React.ComponentProps<'div'>): React.JSX.Element;
13
+
14
+ export { Button, ButtonGroup, buttonVariants };