@epilot/spark-ui 0.10.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 (629) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +2 -0
  3. package/README.md +32 -0
  4. package/dist/chunk-DY84GLCh.cjs +29 -0
  5. package/dist/components/accordion.cjs +57 -0
  6. package/dist/components/accordion.cjs.map +1 -0
  7. package/dist/components/accordion.d.cts +44 -0
  8. package/dist/components/accordion.d.ts +44 -0
  9. package/dist/components/accordion.js +51 -0
  10. package/dist/components/accordion.js.map +1 -0
  11. package/dist/components/alert-dialog.cjs +137 -0
  12. package/dist/components/alert-dialog.cjs.map +1 -0
  13. package/dist/components/alert-dialog.d.cts +62 -0
  14. package/dist/components/alert-dialog.d.ts +62 -0
  15. package/dist/components/alert-dialog.js +123 -0
  16. package/dist/components/alert-dialog.js.map +1 -0
  17. package/dist/components/attachment.cjs +119 -0
  18. package/dist/components/attachment.cjs.map +1 -0
  19. package/dist/components/attachment.d.cts +65 -0
  20. package/dist/components/attachment.d.ts +65 -0
  21. package/dist/components/attachment.js +108 -0
  22. package/dist/components/attachment.js.map +1 -0
  23. package/dist/components/avatar.cjs +56 -0
  24. package/dist/components/avatar.cjs.map +1 -0
  25. package/dist/components/avatar.d.cts +26 -0
  26. package/dist/components/avatar.d.ts +26 -0
  27. package/dist/components/avatar.js +52 -0
  28. package/dist/components/avatar.js.map +1 -0
  29. package/dist/components/badge.cjs +25 -0
  30. package/dist/components/badge.cjs.map +1 -0
  31. package/dist/components/badge.d.cts +16 -0
  32. package/dist/components/badge.d.ts +16 -0
  33. package/dist/components/badge.js +22 -0
  34. package/dist/components/badge.js.map +1 -0
  35. package/dist/components/bar-chart.cjs +584 -0
  36. package/dist/components/bar-chart.cjs.map +1 -0
  37. package/dist/components/bar-chart.d.cts +102 -0
  38. package/dist/components/bar-chart.d.ts +102 -0
  39. package/dist/components/bar-chart.js +583 -0
  40. package/dist/components/bar-chart.js.map +1 -0
  41. package/dist/components/battery-progress-row.cjs +133 -0
  42. package/dist/components/battery-progress-row.cjs.map +1 -0
  43. package/dist/components/battery-progress-row.d.cts +77 -0
  44. package/dist/components/battery-progress-row.d.ts +77 -0
  45. package/dist/components/battery-progress-row.js +123 -0
  46. package/dist/components/battery-progress-row.js.map +1 -0
  47. package/dist/components/breadcrumbs.cjs +64 -0
  48. package/dist/components/breadcrumbs.cjs.map +1 -0
  49. package/dist/components/breadcrumbs.d.cts +42 -0
  50. package/dist/components/breadcrumbs.d.ts +42 -0
  51. package/dist/components/breadcrumbs.js +58 -0
  52. package/dist/components/breadcrumbs.js.map +1 -0
  53. package/dist/components/bubble.cjs +84 -0
  54. package/dist/components/bubble.cjs.map +1 -0
  55. package/dist/components/bubble.d.cts +39 -0
  56. package/dist/components/bubble.d.ts +39 -0
  57. package/dist/components/bubble.js +78 -0
  58. package/dist/components/bubble.js.map +1 -0
  59. package/dist/components/button-group.cjs +72 -0
  60. package/dist/components/button-group.cjs.map +1 -0
  61. package/dist/components/button-group.d.cts +29 -0
  62. package/dist/components/button-group.d.ts +29 -0
  63. package/dist/components/button-group.js +64 -0
  64. package/dist/components/button-group.js.map +1 -0
  65. package/dist/components/button.cjs +58 -0
  66. package/dist/components/button.cjs.map +1 -0
  67. package/dist/components/button.d.cts +29 -0
  68. package/dist/components/button.d.ts +29 -0
  69. package/dist/components/button.js +54 -0
  70. package/dist/components/button.js.map +1 -0
  71. package/dist/components/calendar.cjs +59 -0
  72. package/dist/components/calendar.cjs.map +1 -0
  73. package/dist/components/calendar.d.cts +20 -0
  74. package/dist/components/calendar.d.ts +20 -0
  75. package/dist/components/calendar.js +56 -0
  76. package/dist/components/calendar.js.map +1 -0
  77. package/dist/components/callout.cjs +95 -0
  78. package/dist/components/callout.cjs.map +1 -0
  79. package/dist/components/callout.d.cts +42 -0
  80. package/dist/components/callout.d.ts +42 -0
  81. package/dist/components/callout.js +88 -0
  82. package/dist/components/callout.js.map +1 -0
  83. package/dist/components/card.cjs +100 -0
  84. package/dist/components/card.cjs.map +1 -0
  85. package/dist/components/card.d.cts +34 -0
  86. package/dist/components/card.d.ts +34 -0
  87. package/dist/components/card.js +90 -0
  88. package/dist/components/card.js.map +1 -0
  89. package/dist/components/chart.cjs +110 -0
  90. package/dist/components/chart.cjs.map +1 -0
  91. package/dist/components/chart.d.cts +92 -0
  92. package/dist/components/chart.d.ts +92 -0
  93. package/dist/components/chart.js +104 -0
  94. package/dist/components/chart.js.map +1 -0
  95. package/dist/components/checkbox.cjs +44 -0
  96. package/dist/components/checkbox.cjs.map +1 -0
  97. package/dist/components/checkbox.d.cts +26 -0
  98. package/dist/components/checkbox.d.ts +26 -0
  99. package/dist/components/checkbox.js +41 -0
  100. package/dist/components/checkbox.js.map +1 -0
  101. package/dist/components/circular-gauge.cjs +74 -0
  102. package/dist/components/circular-gauge.cjs.map +1 -0
  103. package/dist/components/circular-gauge.d.cts +37 -0
  104. package/dist/components/circular-gauge.d.ts +37 -0
  105. package/dist/components/circular-gauge.js +71 -0
  106. package/dist/components/circular-gauge.js.map +1 -0
  107. package/dist/components/day-of-week-picker.cjs +123 -0
  108. package/dist/components/day-of-week-picker.cjs.map +1 -0
  109. package/dist/components/day-of-week-picker.d.cts +39 -0
  110. package/dist/components/day-of-week-picker.d.ts +39 -0
  111. package/dist/components/day-of-week-picker.js +119 -0
  112. package/dist/components/day-of-week-picker.js.map +1 -0
  113. package/dist/components/device-card.cjs +118 -0
  114. package/dist/components/device-card.cjs.map +1 -0
  115. package/dist/components/device-card.d.cts +70 -0
  116. package/dist/components/device-card.d.ts +70 -0
  117. package/dist/components/device-card.js +104 -0
  118. package/dist/components/device-card.js.map +1 -0
  119. package/dist/components/dialog.cjs +115 -0
  120. package/dist/components/dialog.cjs.map +1 -0
  121. package/dist/components/dialog.d.cts +44 -0
  122. package/dist/components/dialog.d.ts +44 -0
  123. package/dist/components/dialog.js +103 -0
  124. package/dist/components/dialog.js.map +1 -0
  125. package/dist/components/donut-chart.cjs +70 -0
  126. package/dist/components/donut-chart.cjs.map +1 -0
  127. package/dist/components/donut-chart.d.cts +20 -0
  128. package/dist/components/donut-chart.d.ts +20 -0
  129. package/dist/components/donut-chart.js +69 -0
  130. package/dist/components/donut-chart.js.map +1 -0
  131. package/dist/components/drawer.cjs +95 -0
  132. package/dist/components/drawer.cjs.map +1 -0
  133. package/dist/components/drawer.d.cts +45 -0
  134. package/dist/components/drawer.d.ts +45 -0
  135. package/dist/components/drawer.js +83 -0
  136. package/dist/components/drawer.js.map +1 -0
  137. package/dist/components/dropdown-menu.cjs +165 -0
  138. package/dist/components/dropdown-menu.cjs.map +1 -0
  139. package/dist/components/dropdown-menu.d.cts +92 -0
  140. package/dist/components/dropdown-menu.d.ts +92 -0
  141. package/dist/components/dropdown-menu.js +148 -0
  142. package/dist/components/dropdown-menu.js.map +1 -0
  143. package/dist/components/empty-state.cjs +41 -0
  144. package/dist/components/empty-state.cjs.map +1 -0
  145. package/dist/components/empty-state.d.cts +26 -0
  146. package/dist/components/empty-state.d.ts +26 -0
  147. package/dist/components/empty-state.js +41 -0
  148. package/dist/components/empty-state.js.map +1 -0
  149. package/dist/components/energy-bar-chart.cjs +23 -0
  150. package/dist/components/energy-bar-chart.cjs.map +1 -0
  151. package/dist/components/energy-bar-chart.d.cts +43 -0
  152. package/dist/components/energy-bar-chart.d.ts +43 -0
  153. package/dist/components/energy-bar-chart.js +22 -0
  154. package/dist/components/energy-bar-chart.js.map +1 -0
  155. package/dist/components/energy-breakdown.cjs +80 -0
  156. package/dist/components/energy-breakdown.cjs.map +1 -0
  157. package/dist/components/energy-breakdown.d.cts +24 -0
  158. package/dist/components/energy-breakdown.d.ts +24 -0
  159. package/dist/components/energy-breakdown.js +79 -0
  160. package/dist/components/energy-breakdown.js.map +1 -0
  161. package/dist/components/energy-history-chart.cjs +63 -0
  162. package/dist/components/energy-history-chart.cjs.map +1 -0
  163. package/dist/components/energy-history-chart.d.cts +64 -0
  164. package/dist/components/energy-history-chart.d.ts +64 -0
  165. package/dist/components/energy-history-chart.js +62 -0
  166. package/dist/components/energy-history-chart.js.map +1 -0
  167. package/dist/components/feed-in-hero.cjs +55 -0
  168. package/dist/components/feed-in-hero.cjs.map +1 -0
  169. package/dist/components/feed-in-hero.d.cts +32 -0
  170. package/dist/components/feed-in-hero.d.ts +32 -0
  171. package/dist/components/feed-in-hero.js +51 -0
  172. package/dist/components/feed-in-hero.js.map +1 -0
  173. package/dist/components/field.cjs +257 -0
  174. package/dist/components/field.cjs.map +1 -0
  175. package/dist/components/field.d.cts +103 -0
  176. package/dist/components/field.d.ts +103 -0
  177. package/dist/components/field.js +243 -0
  178. package/dist/components/field.js.map +1 -0
  179. package/dist/components/icon.cjs +35 -0
  180. package/dist/components/icon.cjs.map +1 -0
  181. package/dist/components/icon.d.cts +26 -0
  182. package/dist/components/icon.d.ts +26 -0
  183. package/dist/components/icon.js +32 -0
  184. package/dist/components/icon.js.map +1 -0
  185. package/dist/components/info-block.cjs +75 -0
  186. package/dist/components/info-block.cjs.map +1 -0
  187. package/dist/components/info-block.d.cts +19 -0
  188. package/dist/components/info-block.d.ts +19 -0
  189. package/dist/components/info-block.js +65 -0
  190. package/dist/components/info-block.js.map +1 -0
  191. package/dist/components/input-group.cjs +165 -0
  192. package/dist/components/input-group.cjs.map +1 -0
  193. package/dist/components/input-group.d.cts +27 -0
  194. package/dist/components/input-group.d.ts +27 -0
  195. package/dist/components/input-group.js +159 -0
  196. package/dist/components/input-group.js.map +1 -0
  197. package/dist/components/input-otp.cjs +112 -0
  198. package/dist/components/input-otp.cjs.map +1 -0
  199. package/dist/components/input-otp.d.cts +24 -0
  200. package/dist/components/input-otp.d.ts +24 -0
  201. package/dist/components/input-otp.js +111 -0
  202. package/dist/components/input-otp.js.map +1 -0
  203. package/dist/components/input.cjs +113 -0
  204. package/dist/components/input.cjs.map +1 -0
  205. package/dist/components/input.d.cts +14 -0
  206. package/dist/components/input.d.ts +14 -0
  207. package/dist/components/input.js +110 -0
  208. package/dist/components/input.js.map +1 -0
  209. package/dist/components/label.cjs +18 -0
  210. package/dist/components/label.cjs.map +1 -0
  211. package/dist/components/label.d.cts +10 -0
  212. package/dist/components/label.d.ts +10 -0
  213. package/dist/components/label.js +15 -0
  214. package/dist/components/label.js.map +1 -0
  215. package/dist/components/layout.cjs +14 -0
  216. package/dist/components/layout.cjs.map +1 -0
  217. package/dist/components/layout.d.cts +11 -0
  218. package/dist/components/layout.d.ts +12 -0
  219. package/dist/components/layout.js +14 -0
  220. package/dist/components/layout.js.map +1 -0
  221. package/dist/components/line-chart.cjs +538 -0
  222. package/dist/components/line-chart.cjs.map +1 -0
  223. package/dist/components/line-chart.d.cts +90 -0
  224. package/dist/components/line-chart.d.ts +90 -0
  225. package/dist/components/line-chart.js +536 -0
  226. package/dist/components/line-chart.js.map +1 -0
  227. package/dist/components/list.cjs +132 -0
  228. package/dist/components/list.cjs.map +1 -0
  229. package/dist/components/list.d.cts +71 -0
  230. package/dist/components/list.d.ts +71 -0
  231. package/dist/components/list.js +122 -0
  232. package/dist/components/list.js.map +1 -0
  233. package/dist/components/marker.cjs +52 -0
  234. package/dist/components/marker.cjs.map +1 -0
  235. package/dist/components/marker.d.cts +27 -0
  236. package/dist/components/marker.d.ts +27 -0
  237. package/dist/components/marker.js +46 -0
  238. package/dist/components/marker.js.map +1 -0
  239. package/dist/components/message-scroller.cjs +73 -0
  240. package/dist/components/message-scroller.cjs.map +1 -0
  241. package/dist/components/message-scroller.d.cts +38 -0
  242. package/dist/components/message-scroller.d.ts +38 -0
  243. package/dist/components/message-scroller.js +62 -0
  244. package/dist/components/message-scroller.js.map +1 -0
  245. package/dist/components/message.cjs +60 -0
  246. package/dist/components/message.cjs.map +1 -0
  247. package/dist/components/message.d.cts +35 -0
  248. package/dist/components/message.d.ts +35 -0
  249. package/dist/components/message.js +52 -0
  250. package/dist/components/message.js.map +1 -0
  251. package/dist/components/metering-row.cjs +42 -0
  252. package/dist/components/metering-row.cjs.map +1 -0
  253. package/dist/components/metering-row.d.cts +31 -0
  254. package/dist/components/metering-row.d.ts +31 -0
  255. package/dist/components/metering-row.js +38 -0
  256. package/dist/components/metering-row.js.map +1 -0
  257. package/dist/components/money-saved-block.cjs +86 -0
  258. package/dist/components/money-saved-block.cjs.map +1 -0
  259. package/dist/components/money-saved-block.d.cts +55 -0
  260. package/dist/components/money-saved-block.d.ts +55 -0
  261. package/dist/components/money-saved-block.js +79 -0
  262. package/dist/components/money-saved-block.js.map +1 -0
  263. package/dist/components/number-flow.cjs +44 -0
  264. package/dist/components/number-flow.cjs.map +1 -0
  265. package/dist/components/number-flow.d.cts +4 -0
  266. package/dist/components/number-flow.d.ts +4 -0
  267. package/dist/components/number-flow.js +42 -0
  268. package/dist/components/number-flow.js.map +1 -0
  269. package/dist/components/on-off-button.cjs +35 -0
  270. package/dist/components/on-off-button.cjs.map +1 -0
  271. package/dist/components/on-off-button.d.cts +18 -0
  272. package/dist/components/on-off-button.d.ts +18 -0
  273. package/dist/components/on-off-button.js +34 -0
  274. package/dist/components/on-off-button.js.map +1 -0
  275. package/dist/components/onboarding-layout.cjs +67 -0
  276. package/dist/components/onboarding-layout.cjs.map +1 -0
  277. package/dist/components/onboarding-layout.d.cts +44 -0
  278. package/dist/components/onboarding-layout.d.ts +44 -0
  279. package/dist/components/onboarding-layout.js +60 -0
  280. package/dist/components/onboarding-layout.js.map +1 -0
  281. package/dist/components/page-header.cjs +50 -0
  282. package/dist/components/page-header.cjs.map +1 -0
  283. package/dist/components/page-header.d.cts +25 -0
  284. package/dist/components/page-header.d.ts +25 -0
  285. package/dist/components/page-header.js +44 -0
  286. package/dist/components/page-header.js.map +1 -0
  287. package/dist/components/page-spinner.cjs +18 -0
  288. package/dist/components/page-spinner.cjs.map +1 -0
  289. package/dist/components/page-spinner.d.cts +12 -0
  290. package/dist/components/page-spinner.d.ts +12 -0
  291. package/dist/components/page-spinner.js +17 -0
  292. package/dist/components/page-spinner.js.map +1 -0
  293. package/dist/components/period-tabs.cjs +78 -0
  294. package/dist/components/period-tabs.cjs.map +1 -0
  295. package/dist/components/period-tabs.d.cts +50 -0
  296. package/dist/components/period-tabs.d.ts +50 -0
  297. package/dist/components/period-tabs.js +73 -0
  298. package/dist/components/period-tabs.js.map +1 -0
  299. package/dist/components/pill.cjs +62 -0
  300. package/dist/components/pill.cjs.map +1 -0
  301. package/dist/components/pill.d.cts +29 -0
  302. package/dist/components/pill.d.ts +29 -0
  303. package/dist/components/pill.js +59 -0
  304. package/dist/components/pill.js.map +1 -0
  305. package/dist/components/popover.cjs +62 -0
  306. package/dist/components/popover.cjs.map +1 -0
  307. package/dist/components/popover.d.cts +28 -0
  308. package/dist/components/popover.d.ts +28 -0
  309. package/dist/components/popover.js +56 -0
  310. package/dist/components/popover.js.map +1 -0
  311. package/dist/components/power-history-chart.cjs +498 -0
  312. package/dist/components/power-history-chart.cjs.map +1 -0
  313. package/dist/components/power-history-chart.d.cts +71 -0
  314. package/dist/components/power-history-chart.d.ts +71 -0
  315. package/dist/components/power-history-chart.js +496 -0
  316. package/dist/components/power-history-chart.js.map +1 -0
  317. package/dist/components/power-history.cjs +114 -0
  318. package/dist/components/power-history.cjs.map +1 -0
  319. package/dist/components/power-history.d.cts +40 -0
  320. package/dist/components/power-history.d.ts +41 -0
  321. package/dist/components/power-history.js +114 -0
  322. package/dist/components/power-history.js.map +1 -0
  323. package/dist/components/power-network.cjs +562 -0
  324. package/dist/components/power-network.cjs.map +1 -0
  325. package/dist/components/power-network.d.cts +80 -0
  326. package/dist/components/power-network.d.ts +80 -0
  327. package/dist/components/power-network.js +556 -0
  328. package/dist/components/power-network.js.map +1 -0
  329. package/dist/components/progress.cjs +34 -0
  330. package/dist/components/progress.cjs.map +1 -0
  331. package/dist/components/progress.d.cts +17 -0
  332. package/dist/components/progress.d.ts +17 -0
  333. package/dist/components/progress.js +31 -0
  334. package/dist/components/progress.js.map +1 -0
  335. package/dist/components/radio-card-group.cjs +94 -0
  336. package/dist/components/radio-card-group.cjs.map +1 -0
  337. package/dist/components/radio-card-group.d.cts +21 -0
  338. package/dist/components/radio-card-group.d.ts +21 -0
  339. package/dist/components/radio-card-group.js +90 -0
  340. package/dist/components/radio-card-group.js.map +1 -0
  341. package/dist/components/radio.cjs +41 -0
  342. package/dist/components/radio.cjs.map +1 -0
  343. package/dist/components/radio.d.cts +32 -0
  344. package/dist/components/radio.d.ts +32 -0
  345. package/dist/components/radio.js +37 -0
  346. package/dist/components/radio.js.map +1 -0
  347. package/dist/components/reparent.cjs +55 -0
  348. package/dist/components/reparent.cjs.map +1 -0
  349. package/dist/components/reparent.d.cts +28 -0
  350. package/dist/components/reparent.d.ts +28 -0
  351. package/dist/components/reparent.js +49 -0
  352. package/dist/components/reparent.js.map +1 -0
  353. package/dist/components/sankey-chart.cjs +187 -0
  354. package/dist/components/sankey-chart.cjs.map +1 -0
  355. package/dist/components/sankey-chart.d.cts +66 -0
  356. package/dist/components/sankey-chart.d.ts +66 -0
  357. package/dist/components/sankey-chart.js +185 -0
  358. package/dist/components/sankey-chart.js.map +1 -0
  359. package/dist/components/schedule-editor.cjs +82 -0
  360. package/dist/components/schedule-editor.cjs.map +1 -0
  361. package/dist/components/schedule-editor.d.cts +25 -0
  362. package/dist/components/schedule-editor.d.ts +25 -0
  363. package/dist/components/schedule-editor.js +72 -0
  364. package/dist/components/schedule-editor.js.map +1 -0
  365. package/dist/components/schedule-list.cjs +110 -0
  366. package/dist/components/schedule-list.cjs.map +1 -0
  367. package/dist/components/schedule-list.d.cts +29 -0
  368. package/dist/components/schedule-list.d.ts +29 -0
  369. package/dist/components/schedule-list.js +99 -0
  370. package/dist/components/schedule-list.js.map +1 -0
  371. package/dist/components/scroll-area.cjs +53 -0
  372. package/dist/components/scroll-area.cjs.map +1 -0
  373. package/dist/components/scroll-area.d.cts +24 -0
  374. package/dist/components/scroll-area.d.ts +24 -0
  375. package/dist/components/scroll-area.js +44 -0
  376. package/dist/components/scroll-area.js.map +1 -0
  377. package/dist/components/segmented-control.cjs +44 -0
  378. package/dist/components/segmented-control.cjs.map +1 -0
  379. package/dist/components/segmented-control.d.cts +32 -0
  380. package/dist/components/segmented-control.d.ts +32 -0
  381. package/dist/components/segmented-control.js +40 -0
  382. package/dist/components/segmented-control.js.map +1 -0
  383. package/dist/components/select.cjs +136 -0
  384. package/dist/components/select.cjs.map +1 -0
  385. package/dist/components/select.d.cts +62 -0
  386. package/dist/components/select.d.ts +62 -0
  387. package/dist/components/select.js +124 -0
  388. package/dist/components/select.js.map +1 -0
  389. package/dist/components/separator.cjs +38 -0
  390. package/dist/components/separator.cjs.map +1 -0
  391. package/dist/components/separator.d.cts +13 -0
  392. package/dist/components/separator.d.ts +13 -0
  393. package/dist/components/separator.js +35 -0
  394. package/dist/components/separator.js.map +1 -0
  395. package/dist/components/series-legend.cjs +38 -0
  396. package/dist/components/series-legend.cjs.map +1 -0
  397. package/dist/components/series-legend.d.cts +29 -0
  398. package/dist/components/series-legend.d.ts +29 -0
  399. package/dist/components/series-legend.js +37 -0
  400. package/dist/components/series-legend.js.map +1 -0
  401. package/dist/components/sheet.cjs +102 -0
  402. package/dist/components/sheet.cjs.map +1 -0
  403. package/dist/components/sheet.d.cts +45 -0
  404. package/dist/components/sheet.d.ts +45 -0
  405. package/dist/components/sheet.js +90 -0
  406. package/dist/components/sheet.js.map +1 -0
  407. package/dist/components/skeleton.cjs +23 -0
  408. package/dist/components/skeleton.cjs.map +1 -0
  409. package/dist/components/skeleton.d.cts +23 -0
  410. package/dist/components/skeleton.d.ts +23 -0
  411. package/dist/components/skeleton.js +21 -0
  412. package/dist/components/skeleton.js.map +1 -0
  413. package/dist/components/slider.cjs +263 -0
  414. package/dist/components/slider.cjs.map +1 -0
  415. package/dist/components/slider.d.cts +136 -0
  416. package/dist/components/slider.d.ts +136 -0
  417. package/dist/components/slider.js +253 -0
  418. package/dist/components/slider.js.map +1 -0
  419. package/dist/components/smart-toggle-button.cjs +27 -0
  420. package/dist/components/smart-toggle-button.cjs.map +1 -0
  421. package/dist/components/smart-toggle-button.d.cts +16 -0
  422. package/dist/components/smart-toggle-button.d.ts +16 -0
  423. package/dist/components/smart-toggle-button.js +26 -0
  424. package/dist/components/smart-toggle-button.js.map +1 -0
  425. package/dist/components/solar-forecast-chart.cjs +109 -0
  426. package/dist/components/solar-forecast-chart.cjs.map +1 -0
  427. package/dist/components/solar-forecast-chart.d.cts +77 -0
  428. package/dist/components/solar-forecast-chart.d.ts +77 -0
  429. package/dist/components/solar-forecast-chart.js +104 -0
  430. package/dist/components/solar-forecast-chart.js.map +1 -0
  431. package/dist/components/sortable-list.cjs +68 -0
  432. package/dist/components/sortable-list.cjs.map +1 -0
  433. package/dist/components/sortable-list.d.cts +45 -0
  434. package/dist/components/sortable-list.d.ts +45 -0
  435. package/dist/components/sortable-list.js +67 -0
  436. package/dist/components/sortable-list.js.map +1 -0
  437. package/dist/components/spinner.cjs +42 -0
  438. package/dist/components/spinner.cjs.map +1 -0
  439. package/dist/components/spinner.d.cts +15 -0
  440. package/dist/components/spinner.d.ts +15 -0
  441. package/dist/components/spinner.js +39 -0
  442. package/dist/components/spinner.js.map +1 -0
  443. package/dist/components/stat-card.cjs +57 -0
  444. package/dist/components/stat-card.cjs.map +1 -0
  445. package/dist/components/stat-card.d.cts +34 -0
  446. package/dist/components/stat-card.d.ts +34 -0
  447. package/dist/components/stat-card.js +50 -0
  448. package/dist/components/stat-card.js.map +1 -0
  449. package/dist/components/stepper.cjs +79 -0
  450. package/dist/components/stepper.cjs.map +1 -0
  451. package/dist/components/stepper.d.cts +33 -0
  452. package/dist/components/stepper.d.ts +33 -0
  453. package/dist/components/stepper.js +76 -0
  454. package/dist/components/stepper.js.map +1 -0
  455. package/dist/components/switch.cjs +26 -0
  456. package/dist/components/switch.cjs.map +1 -0
  457. package/dist/components/switch.d.cts +32 -0
  458. package/dist/components/switch.d.ts +32 -0
  459. package/dist/components/switch.js +25 -0
  460. package/dist/components/switch.js.map +1 -0
  461. package/dist/components/tabs.cjs +178 -0
  462. package/dist/components/tabs.cjs.map +1 -0
  463. package/dist/components/tabs.d.cts +44 -0
  464. package/dist/components/tabs.d.ts +44 -0
  465. package/dist/components/tabs.js +170 -0
  466. package/dist/components/tabs.js.map +1 -0
  467. package/dist/components/textarea.cjs +128 -0
  468. package/dist/components/textarea.cjs.map +1 -0
  469. package/dist/components/textarea.d.cts +15 -0
  470. package/dist/components/textarea.d.ts +15 -0
  471. package/dist/components/textarea.js +125 -0
  472. package/dist/components/textarea.js.map +1 -0
  473. package/dist/components/theme.cjs +122 -0
  474. package/dist/components/theme.cjs.map +1 -0
  475. package/dist/components/theme.d.cts +36 -0
  476. package/dist/components/theme.d.ts +36 -0
  477. package/dist/components/theme.js +118 -0
  478. package/dist/components/theme.js.map +1 -0
  479. package/dist/components/thumbnail.cjs +54 -0
  480. package/dist/components/thumbnail.cjs.map +1 -0
  481. package/dist/components/thumbnail.d.cts +33 -0
  482. package/dist/components/thumbnail.d.ts +33 -0
  483. package/dist/components/thumbnail.js +51 -0
  484. package/dist/components/thumbnail.js.map +1 -0
  485. package/dist/components/time-picker.cjs +105 -0
  486. package/dist/components/time-picker.cjs.map +1 -0
  487. package/dist/components/time-picker.d.cts +43 -0
  488. package/dist/components/time-picker.d.ts +43 -0
  489. package/dist/components/time-picker.js +101 -0
  490. package/dist/components/time-picker.js.map +1 -0
  491. package/dist/components/toast.cjs +192 -0
  492. package/dist/components/toast.cjs.map +1 -0
  493. package/dist/components/toast.d.cts +59 -0
  494. package/dist/components/toast.d.ts +59 -0
  495. package/dist/components/toast.js +188 -0
  496. package/dist/components/toast.js.map +1 -0
  497. package/dist/components/tooltip.cjs +85 -0
  498. package/dist/components/tooltip.cjs.map +1 -0
  499. package/dist/components/tooltip.d.cts +48 -0
  500. package/dist/components/tooltip.d.ts +48 -0
  501. package/dist/components/tooltip.js +77 -0
  502. package/dist/components/tooltip.js.map +1 -0
  503. package/dist/components/typography.cjs +51 -0
  504. package/dist/components/typography.cjs.map +1 -0
  505. package/dist/components/typography.d.cts +30 -0
  506. package/dist/components/typography.d.ts +30 -0
  507. package/dist/components/typography.js +45 -0
  508. package/dist/components/typography.js.map +1 -0
  509. package/dist/generate-radix-colors-Bw-RYaV4.d.cts +33 -0
  510. package/dist/generate-radix-colors-Bw-RYaV4.d.ts +33 -0
  511. package/dist/hooks/use-chart-zoom.cjs +236 -0
  512. package/dist/hooks/use-chart-zoom.cjs.map +1 -0
  513. package/dist/hooks/use-chart-zoom.d.cts +53 -0
  514. package/dist/hooks/use-chart-zoom.d.ts +53 -0
  515. package/dist/hooks/use-chart-zoom.js +234 -0
  516. package/dist/hooks/use-chart-zoom.js.map +1 -0
  517. package/dist/hooks/use-container-width.cjs +21 -0
  518. package/dist/hooks/use-container-width.cjs.map +1 -0
  519. package/dist/hooks/use-container-width.d.cts +7 -0
  520. package/dist/hooks/use-container-width.d.ts +7 -0
  521. package/dist/hooks/use-container-width.js +20 -0
  522. package/dist/hooks/use-container-width.js.map +1 -0
  523. package/dist/hooks/use-reduced-motion.cjs +21 -0
  524. package/dist/hooks/use-reduced-motion.cjs.map +1 -0
  525. package/dist/hooks/use-reduced-motion.d.cts +7 -0
  526. package/dist/hooks/use-reduced-motion.d.ts +7 -0
  527. package/dist/hooks/use-reduced-motion.js +20 -0
  528. package/dist/hooks/use-reduced-motion.js.map +1 -0
  529. package/dist/icons/index.cjs +7 -0
  530. package/dist/icons/index.d.cts +4 -0
  531. package/dist/icons/index.d.ts +4 -0
  532. package/dist/icons/index.js +3 -0
  533. package/dist/icons/material-symbol.cjs +104 -0
  534. package/dist/icons/material-symbol.cjs.map +1 -0
  535. package/dist/icons/material-symbol.d.cts +21 -0
  536. package/dist/icons/material-symbol.d.ts +21 -0
  537. package/dist/icons/material-symbol.js +100 -0
  538. package/dist/icons/material-symbol.js.map +1 -0
  539. package/dist/lib/accent-colors.cjs +14 -0
  540. package/dist/lib/accent-colors.cjs.map +1 -0
  541. package/dist/lib/accent-colors.d.cts +8 -0
  542. package/dist/lib/accent-colors.d.ts +8 -0
  543. package/dist/lib/accent-colors.js +13 -0
  544. package/dist/lib/accent-colors.js.map +1 -0
  545. package/dist/lib/accent-theme.cjs +130 -0
  546. package/dist/lib/accent-theme.cjs.map +1 -0
  547. package/dist/lib/accent-theme.d.cts +35 -0
  548. package/dist/lib/accent-theme.d.ts +35 -0
  549. package/dist/lib/accent-theme.js +122 -0
  550. package/dist/lib/accent-theme.js.map +1 -0
  551. package/dist/lib/generate-radix-colors.cjs +364 -0
  552. package/dist/lib/generate-radix-colors.cjs.map +1 -0
  553. package/dist/lib/generate-radix-colors.d.cts +4 -0
  554. package/dist/lib/generate-radix-colors.d.ts +4 -0
  555. package/dist/lib/generate-radix-colors.js +357 -0
  556. package/dist/lib/generate-radix-colors.js.map +1 -0
  557. package/dist/lib/input-box-variants.cjs +30 -0
  558. package/dist/lib/input-box-variants.cjs.map +1 -0
  559. package/dist/lib/input-box-variants.d.cts +10 -0
  560. package/dist/lib/input-box-variants.d.ts +10 -0
  561. package/dist/lib/input-box-variants.js +28 -0
  562. package/dist/lib/input-box-variants.js.map +1 -0
  563. package/dist/lib/theme-types.cjs +1 -0
  564. package/dist/lib/theme-types.d.cts +4 -0
  565. package/dist/lib/theme-types.d.ts +4 -0
  566. package/dist/lib/theme-types.js +2 -0
  567. package/dist/lib/tones.cjs +14 -0
  568. package/dist/lib/tones.cjs.map +1 -0
  569. package/dist/lib/tones.d.cts +8 -0
  570. package/dist/lib/tones.d.ts +8 -0
  571. package/dist/lib/tones.js +13 -0
  572. package/dist/lib/tones.js.map +1 -0
  573. package/dist/number-flow-Bch81ixZ.d.cts +14 -0
  574. package/dist/number-flow-Bch81ixZ.d.ts +14 -0
  575. package/dist/styles/index.css +447 -0
  576. package/dist/styles/internal.css +5 -0
  577. package/dist/styles/material-symbol.css +22 -0
  578. package/dist/styles/spark-default.css +980 -0
  579. package/dist/styles/theme.css +623 -0
  580. package/dist/styles/utilities.css +557 -0
  581. package/dist/theme-types-8wjgiNA_.d.cts +29 -0
  582. package/dist/theme-types-8wjgiNA_.d.ts +29 -0
  583. package/dist/utils/build-sankey-nodes.cjs +72 -0
  584. package/dist/utils/build-sankey-nodes.cjs.map +1 -0
  585. package/dist/utils/build-sankey-nodes.d.cts +27 -0
  586. package/dist/utils/build-sankey-nodes.d.ts +27 -0
  587. package/dist/utils/build-sankey-nodes.js +71 -0
  588. package/dist/utils/build-sankey-nodes.js.map +1 -0
  589. package/dist/utils/chars.cjs +18 -0
  590. package/dist/utils/chars.cjs.map +1 -0
  591. package/dist/utils/chars.d.cts +10 -0
  592. package/dist/utils/chars.d.ts +10 -0
  593. package/dist/utils/chars.js +14 -0
  594. package/dist/utils/chars.js.map +1 -0
  595. package/dist/utils/chart-scale.cjs +54 -0
  596. package/dist/utils/chart-scale.cjs.map +1 -0
  597. package/dist/utils/chart-scale.d.cts +29 -0
  598. package/dist/utils/chart-scale.d.ts +29 -0
  599. package/dist/utils/chart-scale.js +51 -0
  600. package/dist/utils/chart-scale.js.map +1 -0
  601. package/dist/utils/chart-time-ticks.cjs +35 -0
  602. package/dist/utils/chart-time-ticks.cjs.map +1 -0
  603. package/dist/utils/chart-time-ticks.d.cts +7 -0
  604. package/dist/utils/chart-time-ticks.d.ts +7 -0
  605. package/dist/utils/chart-time-ticks.js +34 -0
  606. package/dist/utils/chart-time-ticks.js.map +1 -0
  607. package/dist/utils/chart-zoom.cjs +84 -0
  608. package/dist/utils/chart-zoom.cjs.map +1 -0
  609. package/dist/utils/chart-zoom.d.cts +14 -0
  610. package/dist/utils/chart-zoom.d.ts +14 -0
  611. package/dist/utils/chart-zoom.js +77 -0
  612. package/dist/utils/chart-zoom.js.map +1 -0
  613. package/dist/utils/cn.cjs +9 -0
  614. package/dist/utils/cn.d.cts +4 -0
  615. package/dist/utils/cn.d.ts +4 -0
  616. package/dist/utils/cn.js +3 -0
  617. package/dist/utils/date-mask.cjs +45 -0
  618. package/dist/utils/date-mask.cjs.map +1 -0
  619. package/dist/utils/date-mask.d.cts +17 -0
  620. package/dist/utils/date-mask.d.ts +17 -0
  621. package/dist/utils/date-mask.js +41 -0
  622. package/dist/utils/date-mask.js.map +1 -0
  623. package/dist/utils/format.cjs +57 -0
  624. package/dist/utils/format.cjs.map +1 -0
  625. package/dist/utils/format.d.cts +23 -0
  626. package/dist/utils/format.d.ts +23 -0
  627. package/dist/utils/format.js +47 -0
  628. package/dist/utils/format.js.map +1 -0
  629. package/package.json +109 -0
@@ -0,0 +1,51 @@
1
+ "use client";
2
+ import { cn } from "../utils/cn.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
+ //#region src/components/feed-in-hero.tsx
6
+ const FeedInHero = ({ className, ...rest }) => {
7
+ return /* @__PURE__ */ jsx("div", {
8
+ className: cn("flex flex-col items-center gap-1 rounded-2xl border border-gray p-5 text-center", className),
9
+ ...rest
10
+ });
11
+ };
12
+ /**
13
+ * Label row above the value. Lays out children in a flex row with a small
14
+ * gap so a tooltip / icon can sit alongside the label text.
15
+ */
16
+ const FeedInHeroLabel = ({ className, ...rest }) => {
17
+ return /* @__PURE__ */ jsx("div", {
18
+ className: cn("flex items-center gap-1.5 text-xs font-medium text-gray-light", className),
19
+ ...rest
20
+ });
21
+ };
22
+ const valueToneVariants = cva("text-4xl font-bold tabular-nums", {
23
+ variants: { tone: {
24
+ success: "text-success",
25
+ warning: "text-warning",
26
+ error: "text-error",
27
+ accent: "text-accent",
28
+ neutral: "text-gray"
29
+ } },
30
+ defaultVariants: { tone: "neutral" }
31
+ });
32
+ const FeedInHeroValue = ({ className, tone, ...rest }) => {
33
+ return /* @__PURE__ */ jsx("span", {
34
+ className: valueToneVariants({
35
+ tone,
36
+ className
37
+ }),
38
+ ...rest
39
+ });
40
+ };
41
+ /** Smaller-weight unit suffix that sits inline with the value (e.g. "W"). */
42
+ const FeedInHeroValueUnit = ({ className, ...rest }) => {
43
+ return /* @__PURE__ */ jsx("span", {
44
+ className: cn("text-2xl font-semibold", className),
45
+ ...rest
46
+ });
47
+ };
48
+ //#endregion
49
+ export { FeedInHero, FeedInHeroLabel, FeedInHeroValue, FeedInHeroValueUnit };
50
+
51
+ //# sourceMappingURL=feed-in-hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feed-in-hero.js","names":[],"sources":["../../src/components/feed-in-hero.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { Tone } from '../lib/tones'\nimport { cn } from '../utils/cn'\n\nconst FeedInHero = ({ className, ...rest }: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn(\n 'flex flex-col items-center gap-1 rounded-2xl border border-gray p-5 text-center',\n className,\n )}\n {...rest}\n />\n )\n}\n\n/**\n * Label row above the value. Lays out children in a flex row with a small\n * gap so a tooltip / icon can sit alongside the label text.\n */\nconst FeedInHeroLabel = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn(\n 'flex items-center gap-1.5 text-xs font-medium text-gray-light',\n className,\n )}\n {...rest}\n />\n )\n}\n\nconst valueToneVariants = cva('text-4xl font-bold tabular-nums', {\n variants: {\n tone: {\n success: 'text-success',\n warning: 'text-warning',\n error: 'text-error',\n accent: 'text-accent',\n neutral: 'text-gray',\n },\n },\n defaultVariants: {\n tone: 'neutral',\n },\n})\n\nconst FeedInHeroValue = ({\n className,\n tone,\n ...rest\n}: React.ComponentProps<'span'> & { tone?: Tone }) => {\n return <span className={valueToneVariants({ tone, className })} {...rest} />\n}\n\n/** Smaller-weight unit suffix that sits inline with the value (e.g. \"W\"). */\nconst FeedInHeroValueUnit = ({\n className,\n ...rest\n}: React.ComponentProps<'span'>) => {\n return <span className={cn('text-2xl font-semibold', className)} {...rest} />\n}\n\nexport { FeedInHero, FeedInHeroLabel, FeedInHeroValue, FeedInHeroValueUnit }\n"],"mappings":";;;;;AAIA,MAAM,cAAc,EAAE,WAAW,GAAG,WAAwC;CAC1E,OACE,oBAAC,OAAD;EACE,WAAW,GACT,mFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;;;;AAMA,MAAM,mBAAmB,EACvB,WACA,GAAG,WAC8B;CACjC,OACE,oBAAC,OAAD;EACE,WAAW,GACT,iEACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,MAAM,oBAAoB,IAAI,mCAAmC;CAC/D,UAAU,EACR,MAAM;EACJ,SAAS;EACT,SAAS;EACT,OAAO;EACP,QAAQ;EACR,SAAS;CACX,EACF;CACA,iBAAiB,EACf,MAAM,UACR;AACF,CAAC;AAED,MAAM,mBAAmB,EACvB,WACA,MACA,GAAG,WACiD;CACpD,OAAO,oBAAC,QAAD;EAAM,WAAW,kBAAkB;GAAE;GAAM;EAAU,CAAC;EAAG,GAAI;CAAO,CAAA;AAC7E;;AAGA,MAAM,uBAAuB,EAC3B,WACA,GAAG,WAC+B;CAClC,OAAO,oBAAC,QAAD;EAAM,WAAW,GAAG,0BAA0B,SAAS;EAAG,GAAI;CAAO,CAAA;AAC9E"}
@@ -0,0 +1,257 @@
1
+ "use client";
2
+ "use client";
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
4
+ const require_chunk = require("../chunk-DY84GLCh.cjs");
5
+ const require_components_separator = require("./separator.cjs");
6
+ const require_components_theme = require("./theme.cjs");
7
+ let react = require("react");
8
+ react = require_chunk.__toESM(react);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ let class_variance_authority = require("class-variance-authority");
11
+ let cnfast = require("cnfast");
12
+ //#region src/components/field.tsx
13
+ const FieldContext = react.createContext(null);
14
+ function useFieldContext() {
15
+ return react.useContext(FieldContext);
16
+ }
17
+ function useFieldControl(options) {
18
+ const field = useFieldContext();
19
+ const theme = require_components_theme.useTheme();
20
+ return {
21
+ field,
22
+ id: options?.id ?? field?.id,
23
+ ariaDescribedBy: [field?.hasDescription ? field.descriptionId : void 0, options?.ariaDescribedBy].filter(Boolean).join(" ") || void 0,
24
+ inputStyle: options?.variant ?? field?.inputStyle ?? theme.inputStyle ?? "soft",
25
+ inputColor: field?.inputColor ?? theme.inputColor ?? "brand"
26
+ };
27
+ }
28
+ function FieldSet({ className, ...props }) {
29
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("fieldset", {
30
+ "data-slot": "field-set",
31
+ className: (0, cnfast.cn)("flex flex-col gap-[calc(var(--spark-layout-gap)*4)]", className),
32
+ ...props
33
+ });
34
+ }
35
+ function FieldLegend({ className, variant = "legend", ...props }) {
36
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("legend", {
37
+ "data-slot": "field-legend",
38
+ "data-variant": variant,
39
+ className: (0, cnfast.cn)("mb-1.5 font-medium text-gray data-[variant=label]:text-sm data-[variant=legend]:text-base", className),
40
+ ...props
41
+ });
42
+ }
43
+ function FieldGroup({ className, ...props }) {
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
45
+ "data-slot": "field-group",
46
+ className: (0, cnfast.cn)("group/field-group flex w-full flex-col gap-[calc(var(--spark-layout-gap)*4)]", className),
47
+ ...props
48
+ });
49
+ }
50
+ const fieldVariants = (0, class_variance_authority.cva)("group/field relative flex w-full flex-col data-[invalid=true]:text-error-active", {
51
+ variants: {
52
+ labelPosition: {
53
+ inset: "gap-y-1 rounded-lg px-4 py-3",
54
+ outset: "gap-y-2"
55
+ },
56
+ inputStyle: {
57
+ soft: "",
58
+ surface: "",
59
+ outlined: "",
60
+ ghost: ""
61
+ },
62
+ inputColor: {
63
+ brand: "",
64
+ gray: ""
65
+ }
66
+ },
67
+ compoundVariants: [
68
+ {
69
+ labelPosition: "inset",
70
+ inputStyle: "soft",
71
+ inputColor: "brand",
72
+ class: "bg-input-base has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-input-base-hover"
73
+ },
74
+ {
75
+ labelPosition: "inset",
76
+ inputStyle: "soft",
77
+ inputColor: "gray",
78
+ class: "bg-base-gray-soft has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-gray-a4"
79
+ },
80
+ {
81
+ labelPosition: "inset",
82
+ inputStyle: "surface",
83
+ inputColor: "brand",
84
+ class: "border border-input bg-base-accent-surface"
85
+ },
86
+ {
87
+ labelPosition: "inset",
88
+ inputStyle: "surface",
89
+ inputColor: "gray",
90
+ class: "border border-input-gray bg-base-gray-surface"
91
+ },
92
+ {
93
+ labelPosition: "inset",
94
+ inputStyle: "outlined",
95
+ inputColor: "brand",
96
+ class: "border border-input"
97
+ },
98
+ {
99
+ labelPosition: "inset",
100
+ inputStyle: "outlined",
101
+ inputColor: "gray",
102
+ class: "border border-input-gray"
103
+ },
104
+ {
105
+ labelPosition: "inset",
106
+ inputStyle: "ghost",
107
+ class: "rounded-none px-0"
108
+ },
109
+ {
110
+ labelPosition: "inset",
111
+ inputStyle: ["soft", "surface"],
112
+ class: "data-[disabled=true]:bg-base-gray-soft data-[invalid=true]:bg-base-error-soft data-[invalid=true]:has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-red-a4"
113
+ },
114
+ {
115
+ labelPosition: "inset",
116
+ inputStyle: ["surface", "outlined"],
117
+ class: "data-[disabled=true]:border-input-disabled data-[invalid=true]:border-input-invalid"
118
+ }
119
+ ]
120
+ });
121
+ function Field({ className, labelPosition: labelPositionProp, inputStyle: inputStyleProp, inputColor: inputColorProp, ...props }) {
122
+ const id = (0, react.useId)();
123
+ const [hasDescription, setHasDescription] = react.useState(false);
124
+ const theme = require_components_theme.useTheme();
125
+ const labelPosition = labelPositionProp ?? theme.labelPosition ?? "inset";
126
+ const inputStyle = inputStyleProp ?? theme.inputStyle ?? "soft";
127
+ const inputColor = inputColorProp ?? theme.inputColor ?? "brand";
128
+ const value = react.useMemo(() => ({
129
+ id: `field-${id}`,
130
+ descriptionId: `field-${id}-description`,
131
+ hasDescription,
132
+ setHasDescription,
133
+ labelPosition,
134
+ inputStyle,
135
+ inputColor
136
+ }), [
137
+ id,
138
+ hasDescription,
139
+ labelPosition,
140
+ inputStyle,
141
+ inputColor
142
+ ]);
143
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FieldContext.Provider, {
144
+ value,
145
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
146
+ role: "group",
147
+ "data-slot": "field",
148
+ "data-label-position": labelPosition,
149
+ "data-input-style": inputStyle,
150
+ "data-input-color": inputColor,
151
+ className: (0, cnfast.cn)(fieldVariants({
152
+ labelPosition,
153
+ inputStyle,
154
+ inputColor
155
+ }), className),
156
+ ...props
157
+ })
158
+ });
159
+ }
160
+ function FieldContent({ className, ...props }) {
161
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
162
+ "data-slot": "field-content",
163
+ className: (0, cnfast.cn)("flex min-w-0 flex-1 flex-col gap-0.5 leading-snug", className),
164
+ ...props
165
+ });
166
+ }
167
+ function FieldLabel({ className, htmlFor, srOnly, ...props }) {
168
+ const field = useFieldContext();
169
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("label", {
170
+ "data-slot": "field-label",
171
+ className: (0, cnfast.cn)("text-sm leading-5 font-normal text-gray-light transition-all group-data-[invalid=true]/field:text-error-active! motion-reduce:transition-none", srOnly && "sr-only", className),
172
+ htmlFor: htmlFor ?? field?.id,
173
+ ...props
174
+ });
175
+ }
176
+ function FieldValue({ className, id, title, truncate, children, ...props }) {
177
+ const field = useFieldContext();
178
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
179
+ "data-slot": "field-value",
180
+ id: id ?? field?.id,
181
+ title: title ?? (truncate && typeof children === "string" ? children : void 0),
182
+ className: (0, cnfast.cn)("min-h-8 w-full text-base text-gray tabular-nums group-data-[disabled=true]/field:opacity-70", truncate ? "block truncate leading-8" : "inline-flex items-center wrap-anywhere whitespace-pre-wrap", className),
183
+ ...props,
184
+ children
185
+ });
186
+ }
187
+ function FieldTitle({ className, ...props }) {
188
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
189
+ "data-slot": "field-title",
190
+ className: (0, cnfast.cn)("flex w-fit items-center gap-2 text-sm font-medium text-gray", className),
191
+ ...props
192
+ });
193
+ }
194
+ function FieldDescription({ className, id, ...props }) {
195
+ const field = useFieldContext();
196
+ const setHasDescription = field?.setHasDescription;
197
+ react.useEffect(() => {
198
+ if (!setHasDescription) return;
199
+ setHasDescription(true);
200
+ return () => setHasDescription(false);
201
+ }, [setHasDescription]);
202
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
203
+ "data-slot": "field-description",
204
+ id: id ?? field?.descriptionId,
205
+ className: (0, cnfast.cn)("mt-0.5 text-sm leading-normal text-gray-light", className),
206
+ ...props
207
+ });
208
+ }
209
+ function FieldSeparator({ children, className, ...props }) {
210
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
211
+ "data-slot": "field-separator",
212
+ "data-content": !!children,
213
+ className: (0, cnfast.cn)("relative -my-2 h-5 text-sm", className),
214
+ ...props,
215
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_separator.Separator, { className: "absolute inset-0 top-1/2" }), children && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
216
+ className: "relative mx-auto block w-fit bg-(--spark-background) px-2 text-gray-light",
217
+ "data-slot": "field-separator-content",
218
+ children
219
+ })]
220
+ });
221
+ }
222
+ function FieldError({ className, children, errors, ...props }) {
223
+ const content = react.useMemo(() => {
224
+ if (children) return children;
225
+ if (!errors?.length) return null;
226
+ const unique = [...new Map(errors.map((error) => [error?.message, error])).values()];
227
+ if (unique.length === 1) return unique[0]?.message;
228
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
229
+ className: "ml-4 flex list-disc flex-col gap-1",
230
+ children: unique.map((error, index) => error?.message && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", { children: error.message }, index))
231
+ });
232
+ }, [children, errors]);
233
+ if (!content) return null;
234
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
235
+ role: "alert",
236
+ "data-slot": "field-error",
237
+ className: (0, cnfast.cn)("mt-0.5 text-sm font-normal text-error", className),
238
+ ...props,
239
+ children: content
240
+ });
241
+ }
242
+ //#endregion
243
+ exports.Field = Field;
244
+ exports.FieldContent = FieldContent;
245
+ exports.FieldDescription = FieldDescription;
246
+ exports.FieldError = FieldError;
247
+ exports.FieldGroup = FieldGroup;
248
+ exports.FieldLabel = FieldLabel;
249
+ exports.FieldLegend = FieldLegend;
250
+ exports.FieldSeparator = FieldSeparator;
251
+ exports.FieldSet = FieldSet;
252
+ exports.FieldTitle = FieldTitle;
253
+ exports.FieldValue = FieldValue;
254
+ exports.useFieldContext = useFieldContext;
255
+ exports.useFieldControl = useFieldControl;
256
+
257
+ //# sourceMappingURL=field.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field.cjs","names":["React","useTheme","Separator"],"sources":["../../src/components/field.tsx"],"sourcesContent":["'use client'\n\nimport { cva } from 'class-variance-authority'\nimport * as React from 'react'\nimport { useId } from 'react'\nimport type {\n SparkInputColor,\n SparkInputStyle,\n SparkLabelPosition,\n} from '../lib/theme-types'\nimport { cn } from '../utils/cn'\nimport { Separator } from './separator'\nimport { useTheme } from './theme'\n\ntype FieldContextValue = {\n id: string\n descriptionId: string\n hasDescription: boolean\n setHasDescription: (has: boolean) => void\n labelPosition: SparkLabelPosition\n inputStyle: SparkInputStyle\n inputColor: SparkInputColor\n}\n\nconst FieldContext = React.createContext<FieldContextValue | null>(null)\n\nexport function useFieldContext() {\n return React.useContext(FieldContext)\n}\n\n// Field→Theme→default resolution + id/aria-describedby wiring, shared by every\n// control that can sit inside a Field (Input, SelectTrigger, …) so they can't\n// drift on how a style/color/id resolves. `variant` is the control's own\n// per-instance override (already normalized — e.g. Input maps its 'none' to\n// undefined before calling this).\nexport function useFieldControl(options?: {\n id?: string\n ariaDescribedBy?: string\n variant?: SparkInputStyle\n}) {\n const field = useFieldContext()\n const theme = useTheme()\n const id = options?.id ?? field?.id\n const descriptionId = field?.hasDescription ? field.descriptionId : undefined\n const ariaDescribedBy =\n [descriptionId, options?.ariaDescribedBy].filter(Boolean).join(' ') ||\n undefined\n const inputStyle =\n options?.variant ?? field?.inputStyle ?? theme.inputStyle ?? 'soft'\n const inputColor = field?.inputColor ?? theme.inputColor ?? 'brand'\n return { field, id, ariaDescribedBy, inputStyle, inputColor }\n}\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<'fieldset'>) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\n 'flex flex-col gap-[calc(var(--spark-layout-gap)*4)]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = 'legend',\n ...props\n}: React.ComponentProps<'legend'> & { variant?: 'legend' | 'label' }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\n 'mb-1.5 font-medium text-gray data-[variant=label]:text-sm data-[variant=legend]:text-base',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n 'group/field-group flex w-full flex-col gap-[calc(var(--spark-layout-gap)*4)]',\n className,\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\n 'group/field relative flex w-full flex-col data-[invalid=true]:text-error-active',\n {\n variants: {\n labelPosition: {\n // inset puts label + input inside one shell, so the shell is the box\n // focus inside inset is the classic underline cue, not a shell ring\n inset: 'gap-y-1 rounded-lg px-4 py-3',\n outset: 'gap-y-2',\n },\n inputStyle: { soft: '', surface: '', outlined: '', ghost: '' },\n inputColor: { brand: '', gray: '' },\n },\n compoundVariants: [\n {\n labelPosition: 'inset',\n inputStyle: 'soft',\n inputColor: 'brand',\n class:\n 'bg-input-base has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-input-base-hover',\n },\n {\n labelPosition: 'inset',\n inputStyle: 'soft',\n inputColor: 'gray',\n class:\n 'bg-base-gray-soft has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-gray-a4',\n },\n {\n labelPosition: 'inset',\n inputStyle: 'surface',\n inputColor: 'brand',\n class: 'border border-input bg-base-accent-surface',\n },\n {\n labelPosition: 'inset',\n inputStyle: 'surface',\n inputColor: 'gray',\n class: 'border border-input-gray bg-base-gray-surface',\n },\n {\n labelPosition: 'inset',\n inputStyle: 'outlined',\n inputColor: 'brand',\n class: 'border border-input',\n },\n {\n labelPosition: 'inset',\n inputStyle: 'outlined',\n inputColor: 'gray',\n class: 'border border-input-gray',\n },\n // ghost inset = bare label + underlined input; the input carries the line\n {\n labelPosition: 'inset',\n inputStyle: 'ghost',\n class: 'rounded-none px-0',\n },\n // shared inset states: filled shells swap bg, bordered shells swap border\n // invalid hover deepens the error tint instead of falling back to accent\n {\n labelPosition: 'inset',\n inputStyle: ['soft', 'surface'],\n class:\n 'data-[disabled=true]:bg-base-gray-soft data-[invalid=true]:bg-base-error-soft data-[invalid=true]:has-[:is(input,textarea,[data-slot=select-trigger]):not(:disabled)]:hover:bg-red-a4',\n },\n {\n labelPosition: 'inset',\n inputStyle: ['surface', 'outlined'],\n class:\n 'data-[disabled=true]:border-input-disabled data-[invalid=true]:border-input-invalid',\n },\n ],\n },\n)\n\ninterface FieldProps extends React.ComponentProps<'div'> {\n labelPosition?: SparkLabelPosition\n inputStyle?: SparkInputStyle\n inputColor?: SparkInputColor\n}\n\nfunction Field({\n className,\n labelPosition: labelPositionProp,\n inputStyle: inputStyleProp,\n inputColor: inputColorProp,\n ...props\n}: FieldProps) {\n const id = useId()\n const [hasDescription, setHasDescription] = React.useState(false)\n // knobs are structural (they move the label / pick the box carrier), so they\n // resolve here via the <Theme> context; props override per instance\n const theme = useTheme()\n const labelPosition = labelPositionProp ?? theme.labelPosition ?? 'inset'\n const inputStyle = inputStyleProp ?? theme.inputStyle ?? 'soft'\n const inputColor = inputColorProp ?? theme.inputColor ?? 'brand'\n const value = React.useMemo<FieldContextValue>(\n () => ({\n id: `field-${id}`,\n descriptionId: `field-${id}-description`,\n hasDescription,\n setHasDescription,\n labelPosition,\n inputStyle,\n inputColor,\n }),\n [id, hasDescription, labelPosition, inputStyle, inputColor],\n )\n\n return (\n <FieldContext.Provider value={value}>\n <div\n role=\"group\"\n data-slot=\"field\"\n data-label-position={labelPosition}\n data-input-style={inputStyle}\n data-input-color={inputColor}\n className={cn(\n fieldVariants({ labelPosition, inputStyle, inputColor }),\n className,\n )}\n {...props}\n />\n </FieldContext.Provider>\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n 'flex min-w-0 flex-1 flex-col gap-0.5 leading-snug',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n htmlFor,\n srOnly,\n ...props\n}: React.ComponentProps<'label'> & { srOnly?: boolean }) {\n const field = useFieldContext()\n return (\n <label\n data-slot=\"field-label\"\n className={cn(\n // labels stay full-contrast even when disabled — the control itself\n // (dimmed text, gray shell) signals the state\n 'text-sm leading-5 font-normal text-gray-light transition-all group-data-[invalid=true]/field:text-error-active! motion-reduce:transition-none',\n // visually hidden but kept in the a11y tree (still names + focuses the control)\n srOnly && 'sr-only',\n className,\n )}\n htmlFor={htmlFor ?? field?.id}\n {...props}\n />\n )\n}\n\nfunction FieldValue({\n className,\n id,\n title,\n truncate,\n children,\n ...props\n}: React.ComponentProps<'div'> & { truncate?: boolean }) {\n const field = useFieldContext()\n return (\n <div\n data-slot=\"field-value\"\n id={id ?? field?.id}\n // truncated string values keep the full text reachable on hover\n title={\n title ??\n (truncate && typeof children === 'string' ? children : undefined)\n }\n className={cn(\n // values are content, not controls — disabled dims but stays ≥4.5:1\n 'min-h-8 w-full text-base text-gray tabular-nums group-data-[disabled=true]/field:opacity-70',\n truncate\n ? 'block truncate leading-8'\n : 'inline-flex items-center wrap-anywhere whitespace-pre-wrap',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-title\"\n className={cn(\n 'flex w-fit items-center gap-2 text-sm font-medium text-gray',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({\n className,\n id,\n ...props\n}: React.ComponentProps<'div'>) {\n const field = useFieldContext()\n const setHasDescription = field?.setHasDescription\n\n React.useEffect(() => {\n if (!setHasDescription) return\n setHasDescription(true)\n return () => setHasDescription(false)\n }, [setHasDescription])\n\n return (\n <div\n data-slot=\"field-description\"\n id={id ?? field?.descriptionId}\n className={cn('mt-0.5 text-sm leading-normal text-gray-light', className)}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn('relative -my-2 h-5 text-sm', className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"relative mx-auto block w-fit bg-(--spark-background) px-2 text-gray-light\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<'div'> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = React.useMemo(() => {\n if (children) return children\n if (!errors?.length) return null\n const unique = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n if (unique.length === 1) return unique[0]?.message\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {unique.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>,\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) return null\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn('mt-0.5 text-sm font-normal text-error', className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle,\n FieldValue,\n}\nexport type { FieldProps }\n"],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ "use client";
2
+
3
+ import { a as SparkLabelPosition, i as SparkInputStyle, r as SparkInputColor } from "../theme-types-8wjgiNA_.cjs";
4
+ import * as React$1 from "react";
5
+
6
+ //#region src/components/field.d.ts
7
+ type FieldContextValue = {
8
+ id: string;
9
+ descriptionId: string;
10
+ hasDescription: boolean;
11
+ setHasDescription: (has: boolean) => void;
12
+ labelPosition: SparkLabelPosition;
13
+ inputStyle: SparkInputStyle;
14
+ inputColor: SparkInputColor;
15
+ };
16
+ declare function useFieldContext(): FieldContextValue | null;
17
+ declare function useFieldControl(options?: {
18
+ id?: string;
19
+ ariaDescribedBy?: string;
20
+ variant?: SparkInputStyle;
21
+ }): {
22
+ field: FieldContextValue | null;
23
+ id: string | undefined;
24
+ ariaDescribedBy: string | undefined;
25
+ inputStyle: SparkInputStyle;
26
+ inputColor: SparkInputColor;
27
+ };
28
+ declare function FieldSet({
29
+ className,
30
+ ...props
31
+ }: React$1.ComponentProps<'fieldset'>): import("react/jsx-runtime").JSX.Element;
32
+ declare function FieldLegend({
33
+ className,
34
+ variant,
35
+ ...props
36
+ }: React$1.ComponentProps<'legend'> & {
37
+ variant?: 'legend' | 'label';
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ declare function FieldGroup({
40
+ className,
41
+ ...props
42
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
43
+ interface FieldProps extends React$1.ComponentProps<'div'> {
44
+ labelPosition?: SparkLabelPosition;
45
+ inputStyle?: SparkInputStyle;
46
+ inputColor?: SparkInputColor;
47
+ }
48
+ declare function Field({
49
+ className,
50
+ labelPosition: labelPositionProp,
51
+ inputStyle: inputStyleProp,
52
+ inputColor: inputColorProp,
53
+ ...props
54
+ }: FieldProps): import("react/jsx-runtime").JSX.Element;
55
+ declare function FieldContent({
56
+ className,
57
+ ...props
58
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
59
+ declare function FieldLabel({
60
+ className,
61
+ htmlFor,
62
+ srOnly,
63
+ ...props
64
+ }: React$1.ComponentProps<'label'> & {
65
+ srOnly?: boolean;
66
+ }): import("react/jsx-runtime").JSX.Element;
67
+ declare function FieldValue({
68
+ className,
69
+ id,
70
+ title,
71
+ truncate,
72
+ children,
73
+ ...props
74
+ }: React$1.ComponentProps<'div'> & {
75
+ truncate?: boolean;
76
+ }): import("react/jsx-runtime").JSX.Element;
77
+ declare function FieldTitle({
78
+ className,
79
+ ...props
80
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
81
+ declare function FieldDescription({
82
+ className,
83
+ id,
84
+ ...props
85
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
86
+ declare function FieldSeparator({
87
+ children,
88
+ className,
89
+ ...props
90
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
91
+ declare function FieldError({
92
+ className,
93
+ children,
94
+ errors,
95
+ ...props
96
+ }: React$1.ComponentProps<'div'> & {
97
+ errors?: Array<{
98
+ message?: string;
99
+ } | undefined>;
100
+ }): import("react/jsx-runtime").JSX.Element | null;
101
+ //#endregion
102
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldProps, FieldSeparator, FieldSet, FieldTitle, FieldValue, useFieldContext, useFieldControl };
103
+ //# sourceMappingURL=field.d.cts.map
@@ -0,0 +1,103 @@
1
+ "use client";
2
+
3
+ import { a as SparkLabelPosition, i as SparkInputStyle, r as SparkInputColor } from "../theme-types-8wjgiNA_.js";
4
+ import * as React$1 from "react";
5
+
6
+ //#region src/components/field.d.ts
7
+ type FieldContextValue = {
8
+ id: string;
9
+ descriptionId: string;
10
+ hasDescription: boolean;
11
+ setHasDescription: (has: boolean) => void;
12
+ labelPosition: SparkLabelPosition;
13
+ inputStyle: SparkInputStyle;
14
+ inputColor: SparkInputColor;
15
+ };
16
+ declare function useFieldContext(): FieldContextValue | null;
17
+ declare function useFieldControl(options?: {
18
+ id?: string;
19
+ ariaDescribedBy?: string;
20
+ variant?: SparkInputStyle;
21
+ }): {
22
+ field: FieldContextValue | null;
23
+ id: string | undefined;
24
+ ariaDescribedBy: string | undefined;
25
+ inputStyle: SparkInputStyle;
26
+ inputColor: SparkInputColor;
27
+ };
28
+ declare function FieldSet({
29
+ className,
30
+ ...props
31
+ }: React$1.ComponentProps<'fieldset'>): import("react/jsx-runtime").JSX.Element;
32
+ declare function FieldLegend({
33
+ className,
34
+ variant,
35
+ ...props
36
+ }: React$1.ComponentProps<'legend'> & {
37
+ variant?: 'legend' | 'label';
38
+ }): import("react/jsx-runtime").JSX.Element;
39
+ declare function FieldGroup({
40
+ className,
41
+ ...props
42
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
43
+ interface FieldProps extends React$1.ComponentProps<'div'> {
44
+ labelPosition?: SparkLabelPosition;
45
+ inputStyle?: SparkInputStyle;
46
+ inputColor?: SparkInputColor;
47
+ }
48
+ declare function Field({
49
+ className,
50
+ labelPosition: labelPositionProp,
51
+ inputStyle: inputStyleProp,
52
+ inputColor: inputColorProp,
53
+ ...props
54
+ }: FieldProps): import("react/jsx-runtime").JSX.Element;
55
+ declare function FieldContent({
56
+ className,
57
+ ...props
58
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
59
+ declare function FieldLabel({
60
+ className,
61
+ htmlFor,
62
+ srOnly,
63
+ ...props
64
+ }: React$1.ComponentProps<'label'> & {
65
+ srOnly?: boolean;
66
+ }): import("react/jsx-runtime").JSX.Element;
67
+ declare function FieldValue({
68
+ className,
69
+ id,
70
+ title,
71
+ truncate,
72
+ children,
73
+ ...props
74
+ }: React$1.ComponentProps<'div'> & {
75
+ truncate?: boolean;
76
+ }): import("react/jsx-runtime").JSX.Element;
77
+ declare function FieldTitle({
78
+ className,
79
+ ...props
80
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
81
+ declare function FieldDescription({
82
+ className,
83
+ id,
84
+ ...props
85
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
86
+ declare function FieldSeparator({
87
+ children,
88
+ className,
89
+ ...props
90
+ }: React$1.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
91
+ declare function FieldError({
92
+ className,
93
+ children,
94
+ errors,
95
+ ...props
96
+ }: React$1.ComponentProps<'div'> & {
97
+ errors?: Array<{
98
+ message?: string;
99
+ } | undefined>;
100
+ }): import("react/jsx-runtime").JSX.Element | null;
101
+ //#endregion
102
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldProps, FieldSeparator, FieldSet, FieldTitle, FieldValue, useFieldContext, useFieldControl };
103
+ //# sourceMappingURL=field.d.ts.map