@epilot/spark-ui 1.0.0-alpha.2 → 1.0.0-alpha.3

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 (549) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +2 -0
  3. package/README.md +7 -1
  4. package/dist/chunk-aJGBMT86.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 +45 -0
  8. package/dist/components/accordion.d.ts +45 -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 +63 -0
  14. package/dist/components/alert-dialog.d.ts +63 -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 +67 -0
  20. package/dist/components/attachment.d.ts +67 -0
  21. package/dist/components/attachment.js +108 -0
  22. package/dist/components/attachment.js.map +1 -0
  23. package/dist/components/badge.cjs +20 -0
  24. package/dist/components/badge.cjs.map +1 -0
  25. package/dist/components/badge.d.cts +12 -0
  26. package/dist/components/badge.d.ts +12 -0
  27. package/dist/components/badge.js +17 -0
  28. package/dist/components/badge.js.map +1 -0
  29. package/dist/components/bar-chart.cjs +519 -0
  30. package/dist/components/bar-chart.cjs.map +1 -0
  31. package/dist/components/bar-chart.d.cts +83 -0
  32. package/dist/components/bar-chart.d.ts +83 -0
  33. package/dist/components/bar-chart.js +517 -0
  34. package/dist/components/bar-chart.js.map +1 -0
  35. package/dist/components/battery-progress-row.cjs +140 -0
  36. package/dist/components/battery-progress-row.cjs.map +1 -0
  37. package/dist/components/battery-progress-row.d.cts +78 -0
  38. package/dist/components/battery-progress-row.d.ts +78 -0
  39. package/dist/components/battery-progress-row.js +129 -0
  40. package/dist/components/battery-progress-row.js.map +1 -0
  41. package/dist/components/breadcrumbs.cjs +65 -0
  42. package/dist/components/breadcrumbs.cjs.map +1 -0
  43. package/dist/components/breadcrumbs.d.cts +44 -0
  44. package/dist/components/breadcrumbs.d.ts +44 -0
  45. package/dist/components/breadcrumbs.js +58 -0
  46. package/dist/components/breadcrumbs.js.map +1 -0
  47. package/dist/components/bubble.cjs +84 -0
  48. package/dist/components/bubble.cjs.map +1 -0
  49. package/dist/components/bubble.d.cts +41 -0
  50. package/dist/components/bubble.d.ts +41 -0
  51. package/dist/components/bubble.js +78 -0
  52. package/dist/components/bubble.js.map +1 -0
  53. package/dist/components/button.cjs +54 -0
  54. package/dist/components/button.cjs.map +1 -0
  55. package/dist/components/button.d.cts +34 -0
  56. package/dist/components/button.d.ts +34 -0
  57. package/dist/components/button.js +50 -0
  58. package/dist/components/button.js.map +1 -0
  59. package/dist/components/calendar.cjs +58 -0
  60. package/dist/components/calendar.cjs.map +1 -0
  61. package/dist/components/calendar.d.cts +17 -0
  62. package/dist/components/calendar.d.ts +17 -0
  63. package/dist/components/calendar.js +55 -0
  64. package/dist/components/calendar.js.map +1 -0
  65. package/dist/components/callout.cjs +95 -0
  66. package/dist/components/callout.cjs.map +1 -0
  67. package/dist/components/callout.d.cts +39 -0
  68. package/dist/components/callout.d.ts +39 -0
  69. package/dist/components/callout.js +88 -0
  70. package/dist/components/callout.js.map +1 -0
  71. package/dist/components/card.cjs +86 -0
  72. package/dist/components/card.cjs.map +1 -0
  73. package/dist/components/card.d.cts +28 -0
  74. package/dist/components/card.d.ts +28 -0
  75. package/dist/components/card.js +76 -0
  76. package/dist/components/card.js.map +1 -0
  77. package/dist/components/chart.cjs +93 -0
  78. package/dist/components/chart.cjs.map +1 -0
  79. package/dist/components/chart.d.cts +83 -0
  80. package/dist/components/chart.d.ts +83 -0
  81. package/dist/components/chart.js +88 -0
  82. package/dist/components/chart.js.map +1 -0
  83. package/dist/components/checkbox.cjs +37 -0
  84. package/dist/components/checkbox.cjs.map +1 -0
  85. package/dist/components/checkbox.d.cts +22 -0
  86. package/dist/components/checkbox.d.ts +22 -0
  87. package/dist/components/checkbox.js +34 -0
  88. package/dist/components/checkbox.js.map +1 -0
  89. package/dist/components/circular-gauge.cjs +74 -0
  90. package/dist/components/circular-gauge.cjs.map +1 -0
  91. package/dist/components/circular-gauge.d.cts +38 -0
  92. package/dist/components/circular-gauge.d.ts +38 -0
  93. package/dist/components/circular-gauge.js +71 -0
  94. package/dist/components/circular-gauge.js.map +1 -0
  95. package/dist/components/day-of-week-picker.cjs +123 -0
  96. package/dist/components/day-of-week-picker.cjs.map +1 -0
  97. package/dist/components/day-of-week-picker.d.cts +39 -0
  98. package/dist/components/day-of-week-picker.d.ts +39 -0
  99. package/dist/components/day-of-week-picker.js +119 -0
  100. package/dist/components/day-of-week-picker.js.map +1 -0
  101. package/dist/components/device-card.cjs +118 -0
  102. package/dist/components/device-card.cjs.map +1 -0
  103. package/dist/components/device-card.d.cts +71 -0
  104. package/dist/components/device-card.d.ts +71 -0
  105. package/dist/components/device-card.js +104 -0
  106. package/dist/components/device-card.js.map +1 -0
  107. package/dist/components/dialog.cjs +115 -0
  108. package/dist/components/dialog.cjs.map +1 -0
  109. package/dist/components/dialog.d.cts +45 -0
  110. package/dist/components/dialog.d.ts +45 -0
  111. package/dist/components/dialog.js +103 -0
  112. package/dist/components/dialog.js.map +1 -0
  113. package/dist/components/donut-chart.cjs +71 -0
  114. package/dist/components/donut-chart.cjs.map +1 -0
  115. package/dist/components/donut-chart.d.cts +22 -0
  116. package/dist/components/donut-chart.d.ts +22 -0
  117. package/dist/components/donut-chart.js +69 -0
  118. package/dist/components/donut-chart.js.map +1 -0
  119. package/dist/components/drawer.cjs +95 -0
  120. package/dist/components/drawer.cjs.map +1 -0
  121. package/dist/components/drawer.d.cts +46 -0
  122. package/dist/components/drawer.d.ts +46 -0
  123. package/dist/components/drawer.js +83 -0
  124. package/dist/components/drawer.js.map +1 -0
  125. package/dist/components/dropdown-menu.cjs +165 -0
  126. package/dist/components/dropdown-menu.cjs.map +1 -0
  127. package/dist/components/dropdown-menu.d.cts +93 -0
  128. package/dist/components/dropdown-menu.d.ts +93 -0
  129. package/dist/components/dropdown-menu.js +148 -0
  130. package/dist/components/dropdown-menu.js.map +1 -0
  131. package/dist/components/empty-state.cjs +35 -0
  132. package/dist/components/empty-state.cjs.map +1 -0
  133. package/dist/components/empty-state.d.cts +22 -0
  134. package/dist/components/empty-state.d.ts +22 -0
  135. package/dist/components/empty-state.js +33 -0
  136. package/dist/components/empty-state.js.map +1 -0
  137. package/dist/components/energy-bar-chart.cjs +23 -0
  138. package/dist/components/energy-bar-chart.cjs.map +1 -0
  139. package/dist/components/energy-bar-chart.d.cts +43 -0
  140. package/dist/components/energy-bar-chart.d.ts +43 -0
  141. package/dist/components/energy-bar-chart.js +21 -0
  142. package/dist/components/energy-bar-chart.js.map +1 -0
  143. package/dist/components/energy-breakdown.cjs +81 -0
  144. package/dist/components/energy-breakdown.cjs.map +1 -0
  145. package/dist/components/energy-breakdown.d.cts +26 -0
  146. package/dist/components/energy-breakdown.d.ts +26 -0
  147. package/dist/components/energy-breakdown.js +79 -0
  148. package/dist/components/energy-breakdown.js.map +1 -0
  149. package/dist/components/energy-history-chart.cjs +56 -0
  150. package/dist/components/energy-history-chart.cjs.map +1 -0
  151. package/dist/components/energy-history-chart.d.cts +58 -0
  152. package/dist/components/energy-history-chart.d.ts +58 -0
  153. package/dist/components/energy-history-chart.js +54 -0
  154. package/dist/components/energy-history-chart.js.map +1 -0
  155. package/dist/components/feed-in-hero.cjs +56 -0
  156. package/dist/components/feed-in-hero.cjs.map +1 -0
  157. package/dist/components/feed-in-hero.d.cts +33 -0
  158. package/dist/components/feed-in-hero.d.ts +33 -0
  159. package/dist/components/feed-in-hero.js +51 -0
  160. package/dist/components/feed-in-hero.js.map +1 -0
  161. package/dist/components/field.cjs +257 -0
  162. package/dist/components/field.cjs.map +1 -0
  163. package/dist/components/field.d.cts +104 -0
  164. package/dist/components/field.d.ts +104 -0
  165. package/dist/components/field.js +243 -0
  166. package/dist/components/field.js.map +1 -0
  167. package/dist/components/icon.cjs +35 -0
  168. package/dist/components/icon.cjs.map +1 -0
  169. package/dist/components/icon.d.cts +27 -0
  170. package/dist/components/icon.d.ts +27 -0
  171. package/dist/components/icon.js +32 -0
  172. package/dist/components/icon.js.map +1 -0
  173. package/dist/components/info-block.cjs +75 -0
  174. package/dist/components/info-block.cjs.map +1 -0
  175. package/dist/components/info-block.d.cts +20 -0
  176. package/dist/components/info-block.d.ts +20 -0
  177. package/dist/components/info-block.js +65 -0
  178. package/dist/components/info-block.js.map +1 -0
  179. package/dist/components/input-group.cjs +164 -0
  180. package/dist/components/input-group.cjs.map +1 -0
  181. package/dist/components/input-group.d.cts +32 -0
  182. package/dist/components/input-group.d.ts +32 -0
  183. package/dist/components/input-group.js +158 -0
  184. package/dist/components/input-group.js.map +1 -0
  185. package/dist/components/input-otp.cjs +113 -0
  186. package/dist/components/input-otp.cjs.map +1 -0
  187. package/dist/components/input-otp.d.cts +22 -0
  188. package/dist/components/input-otp.d.ts +22 -0
  189. package/dist/components/input-otp.js +111 -0
  190. package/dist/components/input-otp.js.map +1 -0
  191. package/dist/components/input.cjs +112 -0
  192. package/dist/components/input.cjs.map +1 -0
  193. package/dist/components/input.d.cts +21 -0
  194. package/dist/components/input.d.ts +21 -0
  195. package/dist/components/input.js +109 -0
  196. package/dist/components/input.js.map +1 -0
  197. package/dist/components/label.cjs +18 -0
  198. package/dist/components/label.cjs.map +1 -0
  199. package/dist/components/label.d.cts +10 -0
  200. package/dist/components/label.d.ts +10 -0
  201. package/dist/components/label.js +15 -0
  202. package/dist/components/label.js.map +1 -0
  203. package/dist/components/layout.cjs +15 -0
  204. package/dist/components/layout.cjs.map +1 -0
  205. package/dist/components/layout.d.cts +12 -0
  206. package/dist/components/layout.d.ts +13 -0
  207. package/dist/components/layout.js +14 -0
  208. package/dist/components/layout.js.map +1 -0
  209. package/dist/components/line-chart.cjs +310 -0
  210. package/dist/components/line-chart.cjs.map +1 -0
  211. package/dist/components/line-chart.d.cts +71 -0
  212. package/dist/components/line-chart.d.ts +71 -0
  213. package/dist/components/line-chart.js +307 -0
  214. package/dist/components/line-chart.js.map +1 -0
  215. package/dist/components/list.cjs +132 -0
  216. package/dist/components/list.cjs.map +1 -0
  217. package/dist/components/list.d.cts +72 -0
  218. package/dist/components/list.d.ts +72 -0
  219. package/dist/components/list.js +122 -0
  220. package/dist/components/list.js.map +1 -0
  221. package/dist/components/marker.cjs +52 -0
  222. package/dist/components/marker.cjs.map +1 -0
  223. package/dist/components/marker.d.cts +29 -0
  224. package/dist/components/marker.d.ts +29 -0
  225. package/dist/components/marker.js +46 -0
  226. package/dist/components/marker.js.map +1 -0
  227. package/dist/components/message-scroller.cjs +73 -0
  228. package/dist/components/message-scroller.cjs.map +1 -0
  229. package/dist/components/message-scroller.d.cts +39 -0
  230. package/dist/components/message-scroller.d.ts +39 -0
  231. package/dist/components/message-scroller.js +62 -0
  232. package/dist/components/message-scroller.js.map +1 -0
  233. package/dist/components/message.cjs +60 -0
  234. package/dist/components/message.cjs.map +1 -0
  235. package/dist/components/message.d.cts +36 -0
  236. package/dist/components/message.d.ts +36 -0
  237. package/dist/components/message.js +52 -0
  238. package/dist/components/message.js.map +1 -0
  239. package/dist/components/metering-row.cjs +43 -0
  240. package/dist/components/metering-row.cjs.map +1 -0
  241. package/dist/components/metering-row.d.cts +32 -0
  242. package/dist/components/metering-row.d.ts +32 -0
  243. package/dist/components/metering-row.js +38 -0
  244. package/dist/components/metering-row.js.map +1 -0
  245. package/dist/components/money-saved-block.cjs +87 -0
  246. package/dist/components/money-saved-block.cjs.map +1 -0
  247. package/dist/components/money-saved-block.d.cts +57 -0
  248. package/dist/components/money-saved-block.d.ts +57 -0
  249. package/dist/components/money-saved-block.js +79 -0
  250. package/dist/components/money-saved-block.js.map +1 -0
  251. package/dist/components/number-flow.cjs +44 -0
  252. package/dist/components/number-flow.cjs.map +1 -0
  253. package/dist/components/number-flow.d.cts +4 -0
  254. package/dist/components/number-flow.d.ts +4 -0
  255. package/dist/components/number-flow.js +42 -0
  256. package/dist/components/number-flow.js.map +1 -0
  257. package/dist/components/on-off-button.cjs +36 -0
  258. package/dist/components/on-off-button.cjs.map +1 -0
  259. package/dist/components/on-off-button.d.cts +20 -0
  260. package/dist/components/on-off-button.d.ts +20 -0
  261. package/dist/components/on-off-button.js +34 -0
  262. package/dist/components/on-off-button.js.map +1 -0
  263. package/dist/components/onboarding-layout.cjs +68 -0
  264. package/dist/components/onboarding-layout.cjs.map +1 -0
  265. package/dist/components/onboarding-layout.d.cts +46 -0
  266. package/dist/components/onboarding-layout.d.ts +46 -0
  267. package/dist/components/onboarding-layout.js +60 -0
  268. package/dist/components/onboarding-layout.js.map +1 -0
  269. package/dist/components/page-header.cjs +50 -0
  270. package/dist/components/page-header.cjs.map +1 -0
  271. package/dist/components/page-header.d.cts +26 -0
  272. package/dist/components/page-header.d.ts +26 -0
  273. package/dist/components/page-header.js +44 -0
  274. package/dist/components/page-header.js.map +1 -0
  275. package/dist/components/page-spinner.cjs +19 -0
  276. package/dist/components/page-spinner.cjs.map +1 -0
  277. package/dist/components/page-spinner.d.cts +14 -0
  278. package/dist/components/page-spinner.d.ts +14 -0
  279. package/dist/components/page-spinner.js +17 -0
  280. package/dist/components/page-spinner.js.map +1 -0
  281. package/dist/components/period-tabs.cjs +79 -0
  282. package/dist/components/period-tabs.cjs.map +1 -0
  283. package/dist/components/period-tabs.d.cts +51 -0
  284. package/dist/components/period-tabs.d.ts +51 -0
  285. package/dist/components/period-tabs.js +73 -0
  286. package/dist/components/period-tabs.js.map +1 -0
  287. package/dist/components/popover.cjs +62 -0
  288. package/dist/components/popover.cjs.map +1 -0
  289. package/dist/components/popover.d.cts +29 -0
  290. package/dist/components/popover.d.ts +29 -0
  291. package/dist/components/popover.js +56 -0
  292. package/dist/components/popover.js.map +1 -0
  293. package/dist/components/power-history-chart.cjs +358 -0
  294. package/dist/components/power-history-chart.cjs.map +1 -0
  295. package/dist/components/power-history-chart.d.cts +54 -0
  296. package/dist/components/power-history-chart.d.ts +54 -0
  297. package/dist/components/power-history-chart.js +355 -0
  298. package/dist/components/power-history-chart.js.map +1 -0
  299. package/dist/components/power-history.cjs +115 -0
  300. package/dist/components/power-history.cjs.map +1 -0
  301. package/dist/components/power-history.d.cts +42 -0
  302. package/dist/components/power-history.d.ts +43 -0
  303. package/dist/components/power-history.js +114 -0
  304. package/dist/components/power-history.js.map +1 -0
  305. package/dist/components/power-network.cjs +530 -0
  306. package/dist/components/power-network.cjs.map +1 -0
  307. package/dist/components/power-network.d.cts +77 -0
  308. package/dist/components/power-network.d.ts +77 -0
  309. package/dist/components/power-network.js +523 -0
  310. package/dist/components/power-network.js.map +1 -0
  311. package/dist/components/progress.cjs +34 -0
  312. package/dist/components/progress.cjs.map +1 -0
  313. package/dist/components/progress.d.cts +17 -0
  314. package/dist/components/progress.d.ts +17 -0
  315. package/dist/components/progress.js +31 -0
  316. package/dist/components/progress.js.map +1 -0
  317. package/dist/components/radio-card-group.cjs +69 -0
  318. package/dist/components/radio-card-group.cjs.map +1 -0
  319. package/dist/components/radio-card-group.d.cts +21 -0
  320. package/dist/components/radio-card-group.d.ts +21 -0
  321. package/dist/components/radio-card-group.js +65 -0
  322. package/dist/components/radio-card-group.js.map +1 -0
  323. package/dist/components/radio.cjs +34 -0
  324. package/dist/components/radio.cjs.map +1 -0
  325. package/dist/components/radio.d.cts +21 -0
  326. package/dist/components/radio.d.ts +21 -0
  327. package/dist/components/radio.js +30 -0
  328. package/dist/components/radio.js.map +1 -0
  329. package/dist/components/reparent.cjs +55 -0
  330. package/dist/components/reparent.cjs.map +1 -0
  331. package/dist/components/reparent.d.cts +29 -0
  332. package/dist/components/reparent.d.ts +29 -0
  333. package/dist/components/reparent.js +49 -0
  334. package/dist/components/reparent.js.map +1 -0
  335. package/dist/components/sankey-chart.cjs +221 -0
  336. package/dist/components/sankey-chart.cjs.map +1 -0
  337. package/dist/components/sankey-chart.d.cts +58 -0
  338. package/dist/components/sankey-chart.d.ts +58 -0
  339. package/dist/components/sankey-chart.js +218 -0
  340. package/dist/components/sankey-chart.js.map +1 -0
  341. package/dist/components/schedule-editor.cjs +82 -0
  342. package/dist/components/schedule-editor.cjs.map +1 -0
  343. package/dist/components/schedule-editor.d.cts +25 -0
  344. package/dist/components/schedule-editor.d.ts +25 -0
  345. package/dist/components/schedule-editor.js +72 -0
  346. package/dist/components/schedule-editor.js.map +1 -0
  347. package/dist/components/schedule-list.cjs +110 -0
  348. package/dist/components/schedule-list.cjs.map +1 -0
  349. package/dist/components/schedule-list.d.cts +29 -0
  350. package/dist/components/schedule-list.d.ts +29 -0
  351. package/dist/components/schedule-list.js +99 -0
  352. package/dist/components/schedule-list.js.map +1 -0
  353. package/dist/components/scroll-area.cjs +53 -0
  354. package/dist/components/scroll-area.cjs.map +1 -0
  355. package/dist/components/scroll-area.d.cts +26 -0
  356. package/dist/components/scroll-area.d.ts +26 -0
  357. package/dist/components/scroll-area.js +44 -0
  358. package/dist/components/scroll-area.js.map +1 -0
  359. package/dist/components/select.cjs +136 -0
  360. package/dist/components/select.cjs.map +1 -0
  361. package/dist/components/select.d.cts +63 -0
  362. package/dist/components/select.d.ts +63 -0
  363. package/dist/components/select.js +124 -0
  364. package/dist/components/select.js.map +1 -0
  365. package/dist/components/separator.cjs +38 -0
  366. package/dist/components/separator.cjs.map +1 -0
  367. package/dist/components/separator.d.cts +13 -0
  368. package/dist/components/separator.d.ts +13 -0
  369. package/dist/components/separator.js +35 -0
  370. package/dist/components/separator.js.map +1 -0
  371. package/dist/components/series-legend.cjs +39 -0
  372. package/dist/components/series-legend.cjs.map +1 -0
  373. package/dist/components/series-legend.d.cts +31 -0
  374. package/dist/components/series-legend.d.ts +31 -0
  375. package/dist/components/series-legend.js +37 -0
  376. package/dist/components/series-legend.js.map +1 -0
  377. package/dist/components/sheet.cjs +102 -0
  378. package/dist/components/sheet.cjs.map +1 -0
  379. package/dist/components/sheet.d.cts +46 -0
  380. package/dist/components/sheet.d.ts +46 -0
  381. package/dist/components/sheet.js +90 -0
  382. package/dist/components/sheet.js.map +1 -0
  383. package/dist/components/skeleton.cjs +24 -0
  384. package/dist/components/skeleton.cjs.map +1 -0
  385. package/dist/components/skeleton.d.cts +24 -0
  386. package/dist/components/skeleton.d.ts +24 -0
  387. package/dist/components/skeleton.js +21 -0
  388. package/dist/components/skeleton.js.map +1 -0
  389. package/dist/components/slider.cjs +276 -0
  390. package/dist/components/slider.cjs.map +1 -0
  391. package/dist/components/slider.d.cts +150 -0
  392. package/dist/components/slider.d.ts +150 -0
  393. package/dist/components/slider.js +266 -0
  394. package/dist/components/slider.js.map +1 -0
  395. package/dist/components/smart-toggle-button.cjs +28 -0
  396. package/dist/components/smart-toggle-button.cjs.map +1 -0
  397. package/dist/components/smart-toggle-button.d.cts +18 -0
  398. package/dist/components/smart-toggle-button.d.ts +18 -0
  399. package/dist/components/smart-toggle-button.js +26 -0
  400. package/dist/components/smart-toggle-button.js.map +1 -0
  401. package/dist/components/solar-forecast-chart.cjs +105 -0
  402. package/dist/components/solar-forecast-chart.cjs.map +1 -0
  403. package/dist/components/solar-forecast-chart.d.cts +66 -0
  404. package/dist/components/solar-forecast-chart.d.ts +66 -0
  405. package/dist/components/solar-forecast-chart.js +99 -0
  406. package/dist/components/solar-forecast-chart.js.map +1 -0
  407. package/dist/components/sortable-list.cjs +69 -0
  408. package/dist/components/sortable-list.cjs.map +1 -0
  409. package/dist/components/sortable-list.d.cts +46 -0
  410. package/dist/components/sortable-list.d.ts +46 -0
  411. package/dist/components/sortable-list.js +67 -0
  412. package/dist/components/sortable-list.js.map +1 -0
  413. package/dist/components/spinner.cjs +42 -0
  414. package/dist/components/spinner.cjs.map +1 -0
  415. package/dist/components/spinner.d.cts +15 -0
  416. package/dist/components/spinner.d.ts +15 -0
  417. package/dist/components/spinner.js +39 -0
  418. package/dist/components/spinner.js.map +1 -0
  419. package/dist/components/stat-card.cjs +58 -0
  420. package/dist/components/stat-card.cjs.map +1 -0
  421. package/dist/components/stat-card.d.cts +36 -0
  422. package/dist/components/stat-card.d.ts +36 -0
  423. package/dist/components/stat-card.js +50 -0
  424. package/dist/components/stat-card.js.map +1 -0
  425. package/dist/components/stepper.cjs +79 -0
  426. package/dist/components/stepper.cjs.map +1 -0
  427. package/dist/components/stepper.d.cts +33 -0
  428. package/dist/components/stepper.d.ts +33 -0
  429. package/dist/components/stepper.js +76 -0
  430. package/dist/components/stepper.js.map +1 -0
  431. package/dist/components/switch.cjs +22 -0
  432. package/dist/components/switch.cjs.map +1 -0
  433. package/dist/components/switch.d.cts +28 -0
  434. package/dist/components/switch.d.ts +28 -0
  435. package/dist/components/switch.js +20 -0
  436. package/dist/components/switch.js.map +1 -0
  437. package/dist/components/tabs.cjs +175 -0
  438. package/dist/components/tabs.cjs.map +1 -0
  439. package/dist/components/tabs.d.cts +45 -0
  440. package/dist/components/tabs.d.ts +45 -0
  441. package/dist/components/tabs.js +167 -0
  442. package/dist/components/tabs.js.map +1 -0
  443. package/dist/components/theme.cjs +6 -0
  444. package/dist/components/theme.d.cts +38 -0
  445. package/dist/components/theme.d.ts +38 -0
  446. package/dist/components/theme.js +4 -0
  447. package/dist/components/thumbnail.cjs +54 -0
  448. package/dist/components/thumbnail.cjs.map +1 -0
  449. package/dist/components/thumbnail.d.cts +34 -0
  450. package/dist/components/thumbnail.d.ts +34 -0
  451. package/dist/components/thumbnail.js +51 -0
  452. package/dist/components/thumbnail.js.map +1 -0
  453. package/dist/components/time-picker.cjs +55 -0
  454. package/dist/components/time-picker.cjs.map +1 -0
  455. package/dist/components/time-picker.d.cts +41 -0
  456. package/dist/components/time-picker.d.ts +41 -0
  457. package/dist/components/time-picker.js +51 -0
  458. package/dist/components/time-picker.js.map +1 -0
  459. package/dist/components/toast.cjs +99 -0
  460. package/dist/components/toast.cjs.map +1 -0
  461. package/dist/components/toast.d.cts +18 -0
  462. package/dist/components/toast.d.ts +18 -0
  463. package/dist/components/toast.js +95 -0
  464. package/dist/components/toast.js.map +1 -0
  465. package/dist/components/tooltip.cjs +75 -0
  466. package/dist/components/tooltip.cjs.map +1 -0
  467. package/dist/components/tooltip.d.cts +47 -0
  468. package/dist/components/tooltip.d.ts +47 -0
  469. package/dist/components/tooltip.js +67 -0
  470. package/dist/components/tooltip.js.map +1 -0
  471. package/dist/components/typography.cjs +52 -0
  472. package/dist/components/typography.cjs.map +1 -0
  473. package/dist/components/typography.d.cts +32 -0
  474. package/dist/components/typography.d.ts +32 -0
  475. package/dist/components/typography.js +45 -0
  476. package/dist/components/typography.js.map +1 -0
  477. package/dist/hooks/use-container-width.cjs +22 -0
  478. package/dist/hooks/use-container-width.cjs.map +1 -0
  479. package/dist/hooks/use-container-width.d.cts +7 -0
  480. package/dist/hooks/use-container-width.d.ts +7 -0
  481. package/dist/hooks/use-container-width.js +20 -0
  482. package/dist/hooks/use-container-width.js.map +1 -0
  483. package/dist/icons/index.cjs +7 -0
  484. package/dist/icons/index.d.cts +4 -0
  485. package/dist/icons/index.d.ts +4 -0
  486. package/dist/icons/index.js +3 -0
  487. package/dist/icons/material-symbol.cjs +105 -0
  488. package/dist/icons/material-symbol.cjs.map +1 -0
  489. package/dist/icons/material-symbol.d.cts +23 -0
  490. package/dist/icons/material-symbol.d.ts +23 -0
  491. package/dist/icons/material-symbol.js +100 -0
  492. package/dist/icons/material-symbol.js.map +1 -0
  493. package/dist/input-box-variants-BMDdwvqg.cjs +40 -0
  494. package/dist/input-box-variants-BMDdwvqg.cjs.map +1 -0
  495. package/dist/input-box-variants-Dr1K7uYE.js +28 -0
  496. package/dist/input-box-variants-Dr1K7uYE.js.map +1 -0
  497. package/dist/number-flow-DMJouddg.d.cts +15 -0
  498. package/dist/number-flow-DSbucQ_K.d.ts +15 -0
  499. package/dist/styles/index.css +223 -0
  500. package/dist/styles/internal.css +5 -0
  501. package/dist/styles/material-symbol.css +22 -0
  502. package/dist/styles/spark-default.css +883 -0
  503. package/dist/styles/theme.css +542 -0
  504. package/dist/styles/utilities.css +557 -0
  505. package/dist/theme-B3WtiByA.js +574 -0
  506. package/dist/theme-B3WtiByA.js.map +1 -0
  507. package/dist/theme-C9_OSe0S.cjs +592 -0
  508. package/dist/theme-C9_OSe0S.cjs.map +1 -0
  509. package/dist/theme-types-DoROIXpi.d.ts +30 -0
  510. package/dist/theme-types-r20EJfEC.d.cts +30 -0
  511. package/dist/tones-DjgKOX3s.d.cts +8 -0
  512. package/dist/tones-DyCkL71h.d.ts +8 -0
  513. package/dist/utils/build-sankey-nodes.cjs +59 -0
  514. package/dist/utils/build-sankey-nodes.cjs.map +1 -0
  515. package/dist/utils/build-sankey-nodes.d.cts +27 -0
  516. package/dist/utils/build-sankey-nodes.d.ts +27 -0
  517. package/dist/utils/build-sankey-nodes.js +58 -0
  518. package/dist/utils/build-sankey-nodes.js.map +1 -0
  519. package/dist/utils/chars.cjs +18 -0
  520. package/dist/utils/chars.cjs.map +1 -0
  521. package/dist/utils/chars.d.cts +10 -0
  522. package/dist/utils/chars.d.ts +10 -0
  523. package/dist/utils/chars.js +14 -0
  524. package/dist/utils/chars.js.map +1 -0
  525. package/dist/utils/cn.cjs +10 -0
  526. package/dist/utils/cn.d.cts +4 -0
  527. package/dist/utils/cn.d.ts +4 -0
  528. package/dist/utils/cn.js +3 -0
  529. package/dist/utils/date-mask.cjs +45 -0
  530. package/dist/utils/date-mask.cjs.map +1 -0
  531. package/dist/utils/date-mask.d.cts +17 -0
  532. package/dist/utils/date-mask.d.ts +17 -0
  533. package/dist/utils/date-mask.js +41 -0
  534. package/dist/utils/date-mask.js.map +1 -0
  535. package/dist/utils/format.cjs +57 -0
  536. package/dist/utils/format.cjs.map +1 -0
  537. package/dist/utils/format.d.cts +23 -0
  538. package/dist/utils/format.d.ts +23 -0
  539. package/dist/utils/format.js +47 -0
  540. package/dist/utils/format.js.map +1 -0
  541. package/package.json +78 -63
  542. package/dist/index.cjs +0 -1631
  543. package/dist/index.cjs.map +0 -1
  544. package/dist/index.css +0 -1
  545. package/dist/index.d.cts +0 -299
  546. package/dist/index.d.ts +0 -299
  547. package/dist/index.js +0 -1518
  548. package/dist/index.js.map +0 -1
  549. package/dist/styles.js +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","names":["Sonner"],"sources":["../../src/components/toast.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\nimport { Toaster as Sonner, toast, type ToasterProps } from 'sonner'\nimport {\n MaterialSymbol,\n type MaterialSymbolIconName,\n} from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\nimport { Spinner } from './spinner'\n\n// sonner's icon slot is a fixed 16px box that does not scale, so the glyphs\n// are pinned to 16px rather than the usual --spark-scaling formula\nconst TOAST_ICONS: Record<\n 'success' | 'info' | 'warning' | 'error',\n { name: MaterialSymbolIconName; className: string }\n> = {\n success: { name: 'check_circle', className: 'text-success-light' },\n info: { name: 'info', className: 'text-info-light' },\n warning: { name: 'warning', className: 'text-warning-light' },\n error: { name: 'cancel', className: 'text-error-light' },\n}\n\nconst ICONS: ToasterProps['icons'] = Object.fromEntries(\n Object.entries(TOAST_ICONS).map(([type, icon]) => [\n type,\n <MaterialSymbol\n className={cn(\n 'inline-flex shrink-0 items-center [--spark-icon-size:16px]',\n icon.className,\n )}\n key={type}\n name={icon.name}\n />,\n ]),\n)\n// decorative: the toast itself announces the loading message, so the spinner\n// must not add its own status live region; `flex` kills the inline baseline\n// gap that pushes it off-center inside sonner's loader wrapper\nICONS.loading = (\n <Spinner\n aria-hidden=\"true\"\n className=\"flex text-gray-11\"\n label=\"\"\n role=\"presentation\"\n size=\"sm\"\n />\n)\n\nconst STYLE_VARS = {\n '--normal-bg': 'var(--color-gray-2)',\n '--normal-text': 'var(--color-gray-12)',\n '--normal-border': 'var(--color-gray-a1)',\n '--border-radius': 'var(--radius-lg)',\n // sonner's own gray scale (close button, cancel button) — remapped so it\n // follows the spark theme instead of sonner's hardcoded light-only values\n '--gray1': 'var(--color-gray-1)',\n '--gray2': 'var(--color-gray-2)',\n '--gray3': 'var(--color-gray-3)',\n '--gray4': 'var(--color-gray-4)',\n '--gray5': 'var(--color-gray-5)',\n '--gray11': 'var(--color-gray-11)',\n '--gray12': 'var(--color-gray-12)',\n // close button on the top-right corner (sonner defaults to top-left in ltr)\n '--toast-close-button-start': 'unset',\n '--toast-close-button-end': '0',\n '--toast-close-button-transform': 'translate(35%, -35%)',\n // rich-color palette — opaque radix steps (bg 2, text 11) so floating\n // toasts don't let page content bleed through the way alpha `-soft`\n // tokens would; borders off per design\n '--success-bg': 'var(--color-green-2)',\n '--success-border': 'transparent',\n '--success-text': 'var(--color-green-11)',\n '--info-bg': 'var(--color-blue-2)',\n '--info-border': 'transparent',\n '--info-text': 'var(--color-blue-11)',\n '--warning-bg': 'var(--color-orange-2)',\n '--warning-border': 'transparent',\n '--warning-text': 'var(--color-orange-11)',\n '--error-bg': 'var(--color-red-2)',\n '--error-border': 'transparent',\n '--error-text': 'var(--color-red-11)',\n} as React.CSSProperties\n\nconst CLASS_NAMES = {\n // sonner hardcodes the description color (#3f3f3f) and its styles are\n // unlayered, so only important utilities win; typed rich toasts restore\n // the tinted inherit (untyped toasts carry data-rich-colors too, so the\n // guard needs both attributes)\n description:\n 'text-gray-11! [[data-rich-colors=true][data-type]_&]:text-inherit!',\n actionButton:\n 'bg-spark-9! text-spark-contrast! hover:bg-spark-10! rounded-md!',\n cancelButton: 'bg-gray-a3! text-gray-12! hover:bg-gray-a4! rounded-md!',\n}\n\n// consumer props merge with (not replace) the spark theming — React itself\n// would wholesale-replace object props like `style`\nconst Toaster = ({\n className,\n closeButton = true,\n icons,\n richColors = true,\n style,\n toastOptions,\n ...props\n}: ToasterProps) => (\n <Sonner\n className={cn('toaster group', className)}\n closeButton={closeButton}\n icons={{ ...ICONS, ...icons }}\n richColors={richColors}\n style={{ ...STYLE_VARS, ...style }}\n toastOptions={{\n ...toastOptions,\n classNames: { ...CLASS_NAMES, ...toastOptions?.classNames },\n }}\n {...props}\n />\n)\n\nexport { Toaster, toast }\nexport type { ToasterProps }\n"],"mappings":";;;;;;;;;AAuBA,MAAM,QAA+B,OAAO,YAC1C,OAAO,QAAQ;CAPf,SAAS;EAAE,MAAM;EAAgB,WAAW;EAAsB;CAClE,MAAM;EAAE,MAAM;EAAQ,WAAW;EAAmB;CACpD,SAAS;EAAE,MAAM;EAAW,WAAW;EAAsB;CAC7D,OAAO;EAAE,MAAM;EAAU,WAAW;EAAoB;CAI9B,CAAC,CAAC,KAAK,CAAC,MAAM,UAAU,CAChD,MACA,oBAAC,gBAAD;CACE,WAAW,GACT,8DACA,KAAK,UACN;CAED,MAAM,KAAK;CACX,EAFK,KAEL,CACH,CAAC,CACH;AAID,MAAM,UACJ,oBAAC,SAAD;CACE,eAAY;CACZ,WAAU;CACV,OAAM;CACN,MAAK;CACL,MAAK;CACL,CAAA;AAGJ,MAAM,aAAa;CACjB,eAAe;CACf,iBAAiB;CACjB,mBAAmB;CACnB,mBAAmB;CAGnB,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,WAAW;CACX,YAAY;CACZ,YAAY;CAEZ,8BAA8B;CAC9B,4BAA4B;CAC5B,kCAAkC;CAIlC,gBAAgB;CAChB,oBAAoB;CACpB,kBAAkB;CAClB,aAAa;CACb,iBAAiB;CACjB,eAAe;CACf,gBAAgB;CAChB,oBAAoB;CACpB,kBAAkB;CAClB,cAAc;CACd,kBAAkB;CAClB,gBAAgB;CACjB;AAED,MAAM,cAAc;CAKlB,aACE;CACF,cACE;CACF,cAAc;CACf;AAID,MAAM,WAAW,EACf,WACA,cAAc,MACd,OACA,aAAa,MACb,OACA,cACA,GAAG,YAEH,oBAACA,WAAD;CACE,WAAW,GAAG,iBAAiB,UAAU;CAC5B;CACb,OAAO;EAAE,GAAG;EAAO,GAAG;EAAO;CACjB;CACZ,OAAO;EAAE,GAAG;EAAY,GAAG;EAAO;CAClC,cAAc;EACZ,GAAG;EACH,YAAY;GAAE,GAAG;GAAa,GAAG,cAAc;GAAY;EAC5D;CACD,GAAI;CACJ,CAAA"}
@@ -0,0 +1,75 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_chunk = require("../chunk-aJGBMT86.cjs");
4
+ const require_icons_material_symbol = require("../icons/material-symbol.cjs");
5
+ let react = require("react");
6
+ react = require_chunk.__toESM(react);
7
+ let react_jsx_runtime = require("react/jsx-runtime");
8
+ let _base_ui_react_tooltip = require("@base-ui/react/tooltip");
9
+ let cnfast = require("cnfast");
10
+ //#region src/components/tooltip.tsx
11
+ const TooltipProvider = ({ delay = 0, ...props }) => {
12
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Provider, {
13
+ delay,
14
+ ...props
15
+ });
16
+ };
17
+ const TooltipPortal = ({ ...props }) => {
18
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Portal, {
19
+ "data-slot": "tooltip-portal",
20
+ ...props
21
+ });
22
+ };
23
+ const Tooltip = ({ ...props }) => {
24
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Root, { ...props });
25
+ };
26
+ const TooltipTrigger = ({ ...props }) => {
27
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Trigger, {
28
+ "data-slot": "tooltip-trigger",
29
+ ...props
30
+ });
31
+ };
32
+ const TooltipContent = ({ className, hideArrow = false, variant = "default", children, align, alignOffset, side, sideOffset = 4, ...props }) => {
33
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Positioner, {
34
+ align,
35
+ alignOffset,
36
+ className: "isolate z-50",
37
+ side,
38
+ sideOffset,
39
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(_base_ui_react_tooltip.Tooltip.Popup, {
40
+ "data-slot": "tooltip-content",
41
+ "data-variant": variant,
42
+ className: (0, cnfast.cn)("z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none text-balance transition-[opacity,scale,translate] duration-150", "data-starting-style:scale-95 data-starting-style:opacity-0", "data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1", "data-ending-style:opacity-0 data-ending-style:duration-0", "data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1", "data-[variant=destructive]:bg-error-a12 data-[variant=destructive]:text-error-1", className),
43
+ ...props,
44
+ children: [children, !hideArrow && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tooltip.Tooltip.Arrow, {
45
+ "data-variant": variant,
46
+ className: (0, cnfast.cn)("z-50 size-2.5 rotate-45 rounded-[2px]", "data-[side=bottom]:-top-[5px] data-[side=left]:-right-[5px] data-[side=right]:-left-[5px] data-[side=top]:-bottom-[5px]", "data-[variant=default]:bg-gray-12 data-[variant=default]:fill-gray-12", "data-[variant=destructive]:bg-error-12 data-[variant=destructive]:fill-error-12")
47
+ })]
48
+ })
49
+ }) });
50
+ };
51
+ const InfoTooltip = ({ content, label }) => {
52
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipTrigger, {
53
+ render: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
54
+ "aria-label": `About ${label}`,
55
+ className: "focus-visible:ring-primary inline-flex size-4 cursor-help items-center justify-center rounded-full text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none",
56
+ type: "button"
57
+ }),
58
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons_material_symbol.MaterialSymbol, {
59
+ className: "text-[14px]!",
60
+ name: "info"
61
+ })
62
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipContent, {
63
+ className: "max-w-xs whitespace-pre-line",
64
+ children: content
65
+ })] });
66
+ };
67
+ //#endregion
68
+ exports.InfoTooltip = InfoTooltip;
69
+ exports.Tooltip = Tooltip;
70
+ exports.TooltipContent = TooltipContent;
71
+ exports.TooltipPortal = TooltipPortal;
72
+ exports.TooltipProvider = TooltipProvider;
73
+ exports.TooltipTrigger = TooltipTrigger;
74
+
75
+ //# sourceMappingURL=tooltip.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.cjs","names":["TooltipPrimitive","MaterialSymbol"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport * as React from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none text-balance transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-error-a12 data-[variant=destructive]:text-error-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50 size-2.5 rotate-45 rounded-[2px]',\n // diamond arrow: overlap the popup edge on the anchor side\n 'data-[side=bottom]:-top-[5px] data-[side=left]:-right-[5px] data-[side=right]:-left-[5px] data-[side=top]:-bottom-[5px]',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:fill-gray-12',\n 'data-[variant=destructive]:bg-error-12 data-[variant=destructive]:fill-error-12',\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n}\n\nconst InfoTooltip = ({ content, label }: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={`About ${label}`}\n className=\"focus-visible:ring-primary inline-flex size-4 cursor-help items-center justify-center rounded-full text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <MaterialSymbol className=\"text-[14px]!\" name=\"info\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;AAC5D,QAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,UAAlB;EAAkC;EAAO,GAAI;EAAS,CAAA;;AAG/D,MAAM,iBAAiB,EACrB,GAAG,YACuD;AAC1D,QAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAK1E,MAAM,WAAW,EAAE,GAAG,YAA0B;AAC9C,QAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,MAAlB,EAAuB,GAAI,OAAS,CAAA;;AAG7C,MAAM,kBAAkB,EACtB,GAAG,YACwD;AAC3D,QAAO,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAY5E,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;AACzB,QACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,QAAlB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,iBAAA,GAAA,kBAAA,MAACA,uBAAAA,QAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,YAAA,GAAA,OAAA,IACE,6IAEA,8DACA,mNAEA,4DACA,wEACA,mFACA,UACD;GACD,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,iBAAA,GAAA,kBAAA,KAACA,uBAAAA,QAAiB,OAAlB;IACE,gBAAc;IACd,YAAA,GAAA,OAAA,IACE,yCAEA,2HACA,yEACA,kFACD;IACD,CAAA,CAEmB;;EACG,CAAA,EACN,CAAA;;AAS9B,MAAM,eAAe,EAAE,SAAS,YAA8B;AAC5D,QACE,iBAAA,GAAA,kBAAA,MAAC,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EACE,QACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;GACE,cAAY,SAAS;GACrB,WAAU;GACV,MAAK;GACL,CAAA;YAGJ,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,gBAAD;GAAgB,WAAU;GAAe,MAAK;GAAS,CAAA;EACxC,CAAA,EACjB,iBAAA,GAAA,kBAAA,KAAC,gBAAD;EAAgB,WAAU;YACvB;EACc,CAAA,CACT,EAAA,CAAA"}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+ import * as React$1 from "react";
5
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
6
+
7
+ //#region src/components/tooltip.d.ts
8
+ declare const TooltipProvider: ({
9
+ delay,
10
+ ...props
11
+ }: React$1.ComponentProps<typeof Tooltip$1.Provider>) => _$react_jsx_runtime0.JSX.Element;
12
+ declare const TooltipPortal: ({
13
+ ...props
14
+ }: React$1.ComponentProps<typeof Tooltip$1.Portal>) => _$react_jsx_runtime0.JSX.Element;
15
+ type TooltipProps = React$1.ComponentProps<typeof Tooltip$1.Root>;
16
+ declare const Tooltip: ({
17
+ ...props
18
+ }: TooltipProps) => _$react_jsx_runtime0.JSX.Element;
19
+ declare const TooltipTrigger: ({
20
+ ...props
21
+ }: React$1.ComponentProps<typeof Tooltip$1.Trigger>) => _$react_jsx_runtime0.JSX.Element;
22
+ type TooltipContentProps = React$1.ComponentProps<typeof Tooltip$1.Popup> & Pick<Tooltip$1.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'> & {
23
+ hideArrow?: boolean;
24
+ variant?: 'default' | 'destructive';
25
+ };
26
+ declare const TooltipContent: ({
27
+ className,
28
+ hideArrow,
29
+ variant,
30
+ children,
31
+ align,
32
+ alignOffset,
33
+ side,
34
+ sideOffset,
35
+ ...props
36
+ }: TooltipContentProps) => _$react_jsx_runtime0.JSX.Element;
37
+ interface InfoTooltipProps {
38
+ content: string;
39
+ label: string;
40
+ }
41
+ declare const InfoTooltip: ({
42
+ content,
43
+ label
44
+ }: InfoTooltipProps) => _$react_jsx_runtime0.JSX.Element;
45
+ //#endregion
46
+ export { InfoTooltip, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger };
47
+ //# sourceMappingURL=tooltip.d.cts.map
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import * as React$1 from "react";
4
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
5
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
6
+
7
+ //#region src/components/tooltip.d.ts
8
+ declare const TooltipProvider: ({
9
+ delay,
10
+ ...props
11
+ }: React$1.ComponentProps<typeof Tooltip$1.Provider>) => _$react_jsx_runtime0.JSX.Element;
12
+ declare const TooltipPortal: ({
13
+ ...props
14
+ }: React$1.ComponentProps<typeof Tooltip$1.Portal>) => _$react_jsx_runtime0.JSX.Element;
15
+ type TooltipProps = React$1.ComponentProps<typeof Tooltip$1.Root>;
16
+ declare const Tooltip: ({
17
+ ...props
18
+ }: TooltipProps) => _$react_jsx_runtime0.JSX.Element;
19
+ declare const TooltipTrigger: ({
20
+ ...props
21
+ }: React$1.ComponentProps<typeof Tooltip$1.Trigger>) => _$react_jsx_runtime0.JSX.Element;
22
+ type TooltipContentProps = React$1.ComponentProps<typeof Tooltip$1.Popup> & Pick<Tooltip$1.Positioner.Props, 'align' | 'alignOffset' | 'side' | 'sideOffset'> & {
23
+ hideArrow?: boolean;
24
+ variant?: 'default' | 'destructive';
25
+ };
26
+ declare const TooltipContent: ({
27
+ className,
28
+ hideArrow,
29
+ variant,
30
+ children,
31
+ align,
32
+ alignOffset,
33
+ side,
34
+ sideOffset,
35
+ ...props
36
+ }: TooltipContentProps) => _$react_jsx_runtime0.JSX.Element;
37
+ interface InfoTooltipProps {
38
+ content: string;
39
+ label: string;
40
+ }
41
+ declare const InfoTooltip: ({
42
+ content,
43
+ label
44
+ }: InfoTooltipProps) => _$react_jsx_runtime0.JSX.Element;
45
+ //#endregion
46
+ export { InfoTooltip, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger };
47
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { cn } from "../utils/cn.js";
3
+ import { MaterialSymbol } from "../icons/material-symbol.js";
4
+ import "react";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import { Tooltip as Tooltip$1 } from "@base-ui/react/tooltip";
7
+ //#region src/components/tooltip.tsx
8
+ const TooltipProvider = ({ delay = 0, ...props }) => {
9
+ return /* @__PURE__ */ jsx(Tooltip$1.Provider, {
10
+ delay,
11
+ ...props
12
+ });
13
+ };
14
+ const TooltipPortal = ({ ...props }) => {
15
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, {
16
+ "data-slot": "tooltip-portal",
17
+ ...props
18
+ });
19
+ };
20
+ const Tooltip = ({ ...props }) => {
21
+ return /* @__PURE__ */ jsx(Tooltip$1.Root, { ...props });
22
+ };
23
+ const TooltipTrigger = ({ ...props }) => {
24
+ return /* @__PURE__ */ jsx(Tooltip$1.Trigger, {
25
+ "data-slot": "tooltip-trigger",
26
+ ...props
27
+ });
28
+ };
29
+ const TooltipContent = ({ className, hideArrow = false, variant = "default", children, align, alignOffset, side, sideOffset = 4, ...props }) => {
30
+ return /* @__PURE__ */ jsx(Tooltip$1.Portal, { children: /* @__PURE__ */ jsx(Tooltip$1.Positioner, {
31
+ align,
32
+ alignOffset,
33
+ className: "isolate z-50",
34
+ side,
35
+ sideOffset,
36
+ children: /* @__PURE__ */ jsxs(Tooltip$1.Popup, {
37
+ "data-slot": "tooltip-content",
38
+ "data-variant": variant,
39
+ className: cn("z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none text-balance transition-[opacity,scale,translate] duration-150", "data-starting-style:scale-95 data-starting-style:opacity-0", "data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1", "data-ending-style:opacity-0 data-ending-style:duration-0", "data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1", "data-[variant=destructive]:bg-error-a12 data-[variant=destructive]:text-error-1", className),
40
+ ...props,
41
+ children: [children, !hideArrow && /* @__PURE__ */ jsx(Tooltip$1.Arrow, {
42
+ "data-variant": variant,
43
+ className: cn("z-50 size-2.5 rotate-45 rounded-[2px]", "data-[side=bottom]:-top-[5px] data-[side=left]:-right-[5px] data-[side=right]:-left-[5px] data-[side=top]:-bottom-[5px]", "data-[variant=default]:bg-gray-12 data-[variant=default]:fill-gray-12", "data-[variant=destructive]:bg-error-12 data-[variant=destructive]:fill-error-12")
44
+ })]
45
+ })
46
+ }) });
47
+ };
48
+ const InfoTooltip = ({ content, label }) => {
49
+ return /* @__PURE__ */ jsxs(Tooltip, { children: [/* @__PURE__ */ jsx(TooltipTrigger, {
50
+ render: /* @__PURE__ */ jsx("button", {
51
+ "aria-label": `About ${label}`,
52
+ className: "focus-visible:ring-primary inline-flex size-4 cursor-help items-center justify-center rounded-full text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none",
53
+ type: "button"
54
+ }),
55
+ children: /* @__PURE__ */ jsx(MaterialSymbol, {
56
+ className: "text-[14px]!",
57
+ name: "info"
58
+ })
59
+ }), /* @__PURE__ */ jsx(TooltipContent, {
60
+ className: "max-w-xs whitespace-pre-line",
61
+ children: content
62
+ })] });
63
+ };
64
+ //#endregion
65
+ export { InfoTooltip, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger };
66
+
67
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","names":["TooltipPrimitive"],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { Tooltip as TooltipPrimitive } from '@base-ui/react/tooltip'\nimport * as React from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\n\nconst TooltipProvider = ({\n delay = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) => {\n return <TooltipPrimitive.Provider delay={delay} {...props} />\n}\n\nconst TooltipPortal = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Portal>) => {\n return <TooltipPrimitive.Portal data-slot=\"tooltip-portal\" {...props} />\n}\n\ntype TooltipProps = React.ComponentProps<typeof TooltipPrimitive.Root>\n\nconst Tooltip = ({ ...props }: TooltipProps) => {\n return <TooltipPrimitive.Root {...props} />\n}\n\nconst TooltipTrigger = ({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) => {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\ntype TooltipContentProps = React.ComponentProps<typeof TooltipPrimitive.Popup> &\n Pick<\n TooltipPrimitive.Positioner.Props,\n 'align' | 'alignOffset' | 'side' | 'sideOffset'\n > & {\n hideArrow?: boolean\n variant?: 'default' | 'destructive'\n }\n\nconst TooltipContent = ({\n className,\n hideArrow = false,\n variant = 'default',\n children,\n align,\n alignOffset,\n side,\n sideOffset = 4,\n ...props\n}: TooltipContentProps) => {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n className=\"isolate z-50\"\n side={side}\n sideOffset={sideOffset}\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n data-variant={variant}\n className={cn(\n 'z-50 w-fit origin-(--transform-origin) rounded-lg p-2 text-xs leading-none text-balance transition-[opacity,scale,translate] duration-150',\n // enter: fade + zoom + a slight per-side slide (was animate-in)\n 'data-starting-style:scale-95 data-starting-style:opacity-0',\n 'data-[side=bottom]:data-starting-style:-translate-y-1 data-[side=left]:data-starting-style:translate-x-1 data-[side=right]:data-starting-style:-translate-x-1 data-[side=top]:data-starting-style:translate-y-1',\n // exit: instant (was data-[state=closed]:duration-0)\n 'data-ending-style:opacity-0 data-ending-style:duration-0',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:text-gray-1',\n 'data-[variant=destructive]:bg-error-a12 data-[variant=destructive]:text-error-1',\n className,\n )}\n {...props}\n >\n {children}\n {!hideArrow && (\n <TooltipPrimitive.Arrow\n data-variant={variant}\n className={cn(\n 'z-50 size-2.5 rotate-45 rounded-[2px]',\n // diamond arrow: overlap the popup edge on the anchor side\n 'data-[side=bottom]:-top-[5px] data-[side=left]:-right-[5px] data-[side=right]:-left-[5px] data-[side=top]:-bottom-[5px]',\n 'data-[variant=default]:bg-gray-12 data-[variant=default]:fill-gray-12',\n 'data-[variant=destructive]:bg-error-12 data-[variant=destructive]:fill-error-12',\n )}\n />\n )}\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n )\n}\n\ninterface InfoTooltipProps {\n content: string\n label: string\n}\n\nconst InfoTooltip = ({ content, label }: InfoTooltipProps) => {\n return (\n <Tooltip>\n <TooltipTrigger\n render={\n <button\n aria-label={`About ${label}`}\n className=\"focus-visible:ring-primary inline-flex size-4 cursor-help items-center justify-center rounded-full text-gray-light transition-colors hover:text-gray focus-visible:ring-2 focus-visible:outline-none\"\n type=\"button\"\n />\n }\n >\n <MaterialSymbol className=\"text-[14px]!\" name=\"info\" />\n </TooltipTrigger>\n <TooltipContent className=\"max-w-xs whitespace-pre-line\">\n {content}\n </TooltipContent>\n </Tooltip>\n )\n}\n\nexport {\n Tooltip,\n TooltipTrigger,\n TooltipContent,\n TooltipProvider,\n TooltipPortal,\n InfoTooltip,\n}\n"],"mappings":";;;;;;;AAKA,MAAM,mBAAmB,EACvB,QAAQ,GACR,GAAG,YACyD;AAC5D,QAAO,oBAACA,UAAiB,UAAlB;EAAkC;EAAO,GAAI;EAAS,CAAA;;AAG/D,MAAM,iBAAiB,EACrB,GAAG,YACuD;AAC1D,QAAO,oBAACA,UAAiB,QAAlB;EAAyB,aAAU;EAAiB,GAAI;EAAS,CAAA;;AAK1E,MAAM,WAAW,EAAE,GAAG,YAA0B;AAC9C,QAAO,oBAACA,UAAiB,MAAlB,EAAuB,GAAI,OAAS,CAAA;;AAG7C,MAAM,kBAAkB,EACtB,GAAG,YACwD;AAC3D,QAAO,oBAACA,UAAiB,SAAlB;EAA0B,aAAU;EAAkB,GAAI;EAAS,CAAA;;AAY5E,MAAM,kBAAkB,EACtB,WACA,YAAY,OACZ,UAAU,WACV,UACA,OACA,aACA,MACA,aAAa,GACb,GAAG,YACsB;AACzB,QACE,oBAACA,UAAiB,QAAlB,EAAA,UACE,oBAACA,UAAiB,YAAlB;EACS;EACM;EACb,WAAU;EACJ;EACM;YAEZ,qBAACA,UAAiB,OAAlB;GACE,aAAU;GACV,gBAAc;GACd,WAAW,GACT,6IAEA,8DACA,mNAEA,4DACA,wEACA,mFACA,UACD;GACD,GAAI;aAdN,CAgBG,UACA,CAAC,aACA,oBAACA,UAAiB,OAAlB;IACE,gBAAc;IACd,WAAW,GACT,yCAEA,2HACA,yEACA,kFACD;IACD,CAAA,CAEmB;;EACG,CAAA,EACN,CAAA;;AAS9B,MAAM,eAAe,EAAE,SAAS,YAA8B;AAC5D,QACE,qBAAC,SAAD,EAAA,UAAA,CACE,oBAAC,gBAAD;EACE,QACE,oBAAC,UAAD;GACE,cAAY,SAAS;GACrB,WAAU;GACV,MAAK;GACL,CAAA;YAGJ,oBAAC,gBAAD;GAAgB,WAAU;GAAe,MAAK;GAAS,CAAA;EACxC,CAAA,EACjB,oBAAC,gBAAD;EAAgB,WAAU;YACvB;EACc,CAAA,CACT,EAAA,CAAA"}
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../chunk-aJGBMT86.cjs");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ let cnfast = require("cnfast");
6
+ //#region src/components/typography.tsx
7
+ const PowerValue = ({ "aria-label": ariaLabel = "Live power draw reported by the device", ...props }) => {
8
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
9
+ className: "text-3xl font-bold text-gray tabular-nums",
10
+ "aria-label": ariaLabel,
11
+ ...props
12
+ });
13
+ };
14
+ const PageTitle = ({ className, ...props }) => {
15
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
16
+ className: (0, cnfast.cn)("text-xl font-bold wrap-break-word", className),
17
+ ...props
18
+ });
19
+ };
20
+ const SectionTitle = ({ className, ...props }) => {
21
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h3", {
22
+ className: (0, cnfast.cn)("text-base font-bold text-gray", className),
23
+ ...props
24
+ });
25
+ };
26
+ const SectionDescription = ({ className, ...props }) => {
27
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
28
+ className: (0, cnfast.cn)("text-sm text-gray-light", className),
29
+ ...props
30
+ });
31
+ };
32
+ const SectionSubtitle = ({ className, ...props }) => {
33
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h4", {
34
+ className: (0, cnfast.cn)("text-sm font-bold tracking-wider text-gray-light uppercase", className),
35
+ ...props
36
+ });
37
+ };
38
+ const StateValue = ({ className, ...props }) => {
39
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
40
+ className: (0, cnfast.cn)("text-xl font-black tabular-nums", className),
41
+ ...props
42
+ });
43
+ };
44
+ //#endregion
45
+ exports.PageTitle = PageTitle;
46
+ exports.PowerValue = PowerValue;
47
+ exports.SectionDescription = SectionDescription;
48
+ exports.SectionSubtitle = SectionSubtitle;
49
+ exports.SectionTitle = SectionTitle;
50
+ exports.StateValue = StateValue;
51
+
52
+ //# sourceMappingURL=typography.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.cjs","names":[],"sources":["../../src/components/typography.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nconst PowerValue = ({\n 'aria-label': ariaLabel = 'Live power draw reported by the device',\n ...props\n}: React.ComponentProps<'h2'>) => {\n return (\n <h2\n className=\"text-3xl font-bold text-gray tabular-nums\"\n aria-label={ariaLabel}\n {...props}\n />\n )\n}\n\nconst PageTitle = ({ className, ...props }: React.ComponentProps<'h2'>) => {\n return (\n <h2\n className={cn('text-xl font-bold wrap-break-word', className)}\n {...props}\n />\n )\n}\n\nconst SectionTitle = ({ className, ...props }: React.ComponentProps<'h2'>) => {\n return (\n <h3 className={cn('text-base font-bold text-gray', className)} {...props} />\n )\n}\n\nconst SectionDescription = ({\n className,\n ...props\n}: React.ComponentProps<'p'>) => {\n return <p className={cn('text-sm text-gray-light', className)} {...props} />\n}\n\nconst SectionSubtitle = ({\n className,\n ...props\n}: React.ComponentProps<'h3'>) => {\n return (\n <h4\n className={cn(\n 'text-sm font-bold tracking-wider text-gray-light uppercase',\n className,\n )}\n {...props}\n />\n )\n}\n\nconst StateValue = ({ className, ...props }: React.ComponentProps<'span'>) => {\n return (\n <span\n className={cn('text-xl font-black tabular-nums', className)}\n {...props}\n />\n )\n}\n\nexport {\n PowerValue,\n PageTitle,\n SectionTitle,\n SectionDescription,\n SectionSubtitle,\n StateValue,\n}\n"],"mappings":";;;;;;AAEA,MAAM,cAAc,EAClB,cAAc,YAAY,0CAC1B,GAAG,YAC6B;AAChC,QACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EACE,WAAU;EACV,cAAY;EACZ,GAAI;EACJ,CAAA;;AAIN,MAAM,aAAa,EAAE,WAAW,GAAG,YAAwC;AACzE,QACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EACE,YAAA,GAAA,OAAA,IAAc,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA;;AAIN,MAAM,gBAAgB,EAAE,WAAW,GAAG,YAAwC;AAC5E,QACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EAAI,YAAA,GAAA,OAAA,IAAc,iCAAiC,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhF,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAC4B;AAC/B,QAAO,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAG,YAAA,GAAA,OAAA,IAAc,2BAA2B,UAAU;EAAE,GAAI;EAAS,CAAA;;AAG9E,MAAM,mBAAmB,EACvB,WACA,GAAG,YAC6B;AAChC,QACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EACE,YAAA,GAAA,OAAA,IACE,8DACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,MAAM,cAAc,EAAE,WAAW,GAAG,YAA0C;AAC5E,QACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;EACE,YAAA,GAAA,OAAA,IAAc,mCAAmC,UAAU;EAC3D,GAAI;EACJ,CAAA"}
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/typography.d.ts
6
+ declare const PowerValue: ({
7
+ "aria-label": ariaLabel,
8
+ ...props
9
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
10
+ declare const PageTitle: ({
11
+ className,
12
+ ...props
13
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
14
+ declare const SectionTitle: ({
15
+ className,
16
+ ...props
17
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
18
+ declare const SectionDescription: ({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"p">) => _$react_jsx_runtime0.JSX.Element;
22
+ declare const SectionSubtitle: ({
23
+ className,
24
+ ...props
25
+ }: React.ComponentProps<"h3">) => _$react_jsx_runtime0.JSX.Element;
26
+ declare const StateValue: ({
27
+ className,
28
+ ...props
29
+ }: React.ComponentProps<"span">) => _$react_jsx_runtime0.JSX.Element;
30
+ //#endregion
31
+ export { PageTitle, PowerValue, SectionDescription, SectionSubtitle, SectionTitle, StateValue };
32
+ //# sourceMappingURL=typography.d.cts.map
@@ -0,0 +1,32 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/typography.d.ts
6
+ declare const PowerValue: ({
7
+ "aria-label": ariaLabel,
8
+ ...props
9
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
10
+ declare const PageTitle: ({
11
+ className,
12
+ ...props
13
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
14
+ declare const SectionTitle: ({
15
+ className,
16
+ ...props
17
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
18
+ declare const SectionDescription: ({
19
+ className,
20
+ ...props
21
+ }: React.ComponentProps<"p">) => _$react_jsx_runtime0.JSX.Element;
22
+ declare const SectionSubtitle: ({
23
+ className,
24
+ ...props
25
+ }: React.ComponentProps<"h3">) => _$react_jsx_runtime0.JSX.Element;
26
+ declare const StateValue: ({
27
+ className,
28
+ ...props
29
+ }: React.ComponentProps<"span">) => _$react_jsx_runtime0.JSX.Element;
30
+ //#endregion
31
+ export { PageTitle, PowerValue, SectionDescription, SectionSubtitle, SectionTitle, StateValue };
32
+ //# sourceMappingURL=typography.d.ts.map
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ import { cn } from "../utils/cn.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/typography.tsx
5
+ const PowerValue = ({ "aria-label": ariaLabel = "Live power draw reported by the device", ...props }) => {
6
+ return /* @__PURE__ */ jsx("h2", {
7
+ className: "text-3xl font-bold text-gray tabular-nums",
8
+ "aria-label": ariaLabel,
9
+ ...props
10
+ });
11
+ };
12
+ const PageTitle = ({ className, ...props }) => {
13
+ return /* @__PURE__ */ jsx("h2", {
14
+ className: cn("text-xl font-bold wrap-break-word", className),
15
+ ...props
16
+ });
17
+ };
18
+ const SectionTitle = ({ className, ...props }) => {
19
+ return /* @__PURE__ */ jsx("h3", {
20
+ className: cn("text-base font-bold text-gray", className),
21
+ ...props
22
+ });
23
+ };
24
+ const SectionDescription = ({ className, ...props }) => {
25
+ return /* @__PURE__ */ jsx("p", {
26
+ className: cn("text-sm text-gray-light", className),
27
+ ...props
28
+ });
29
+ };
30
+ const SectionSubtitle = ({ className, ...props }) => {
31
+ return /* @__PURE__ */ jsx("h4", {
32
+ className: cn("text-sm font-bold tracking-wider text-gray-light uppercase", className),
33
+ ...props
34
+ });
35
+ };
36
+ const StateValue = ({ className, ...props }) => {
37
+ return /* @__PURE__ */ jsx("span", {
38
+ className: cn("text-xl font-black tabular-nums", className),
39
+ ...props
40
+ });
41
+ };
42
+ //#endregion
43
+ export { PageTitle, PowerValue, SectionDescription, SectionSubtitle, SectionTitle, StateValue };
44
+
45
+ //# sourceMappingURL=typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.js","names":[],"sources":["../../src/components/typography.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nconst PowerValue = ({\n 'aria-label': ariaLabel = 'Live power draw reported by the device',\n ...props\n}: React.ComponentProps<'h2'>) => {\n return (\n <h2\n className=\"text-3xl font-bold text-gray tabular-nums\"\n aria-label={ariaLabel}\n {...props}\n />\n )\n}\n\nconst PageTitle = ({ className, ...props }: React.ComponentProps<'h2'>) => {\n return (\n <h2\n className={cn('text-xl font-bold wrap-break-word', className)}\n {...props}\n />\n )\n}\n\nconst SectionTitle = ({ className, ...props }: React.ComponentProps<'h2'>) => {\n return (\n <h3 className={cn('text-base font-bold text-gray', className)} {...props} />\n )\n}\n\nconst SectionDescription = ({\n className,\n ...props\n}: React.ComponentProps<'p'>) => {\n return <p className={cn('text-sm text-gray-light', className)} {...props} />\n}\n\nconst SectionSubtitle = ({\n className,\n ...props\n}: React.ComponentProps<'h3'>) => {\n return (\n <h4\n className={cn(\n 'text-sm font-bold tracking-wider text-gray-light uppercase',\n className,\n )}\n {...props}\n />\n )\n}\n\nconst StateValue = ({ className, ...props }: React.ComponentProps<'span'>) => {\n return (\n <span\n className={cn('text-xl font-black tabular-nums', className)}\n {...props}\n />\n )\n}\n\nexport {\n PowerValue,\n PageTitle,\n SectionTitle,\n SectionDescription,\n SectionSubtitle,\n StateValue,\n}\n"],"mappings":";;;;AAEA,MAAM,cAAc,EAClB,cAAc,YAAY,0CAC1B,GAAG,YAC6B;AAChC,QACE,oBAAC,MAAD;EACE,WAAU;EACV,cAAY;EACZ,GAAI;EACJ,CAAA;;AAIN,MAAM,aAAa,EAAE,WAAW,GAAG,YAAwC;AACzE,QACE,oBAAC,MAAD;EACE,WAAW,GAAG,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA;;AAIN,MAAM,gBAAgB,EAAE,WAAW,GAAG,YAAwC;AAC5E,QACE,oBAAC,MAAD;EAAI,WAAW,GAAG,iCAAiC,UAAU;EAAE,GAAI;EAAS,CAAA;;AAIhF,MAAM,sBAAsB,EAC1B,WACA,GAAG,YAC4B;AAC/B,QAAO,oBAAC,KAAD;EAAG,WAAW,GAAG,2BAA2B,UAAU;EAAE,GAAI;EAAS,CAAA;;AAG9E,MAAM,mBAAmB,EACvB,WACA,GAAG,YAC6B;AAChC,QACE,oBAAC,MAAD;EACE,WAAW,GACT,8DACA,UACD;EACD,GAAI;EACJ,CAAA;;AAIN,MAAM,cAAc,EAAE,WAAW,GAAG,YAA0C;AAC5E,QACE,oBAAC,QAAD;EACE,WAAW,GAAG,mCAAmC,UAAU;EAC3D,GAAI;EACJ,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../chunk-aJGBMT86.cjs");
4
+ let react = require("react");
5
+ //#region src/hooks/use-container-width.ts
6
+ function useContainerWidth() {
7
+ const ref = (0, react.useRef)(null);
8
+ const [width, setWidth] = (0, react.useState)(0);
9
+ (0, react.useEffect)(() => {
10
+ const el = ref.current;
11
+ if (!el) return;
12
+ const obs = new ResizeObserver(([entry]) => setWidth(entry?.contentRect.width ?? 0));
13
+ obs.observe(el);
14
+ setWidth(el.clientWidth);
15
+ return () => obs.disconnect();
16
+ }, []);
17
+ return [ref, width];
18
+ }
19
+ //#endregion
20
+ exports.useContainerWidth = useContainerWidth;
21
+
22
+ //# sourceMappingURL=use-container-width.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-container-width.cjs","names":[],"sources":["../../src/hooks/use-container-width.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nfunction useContainerWidth<T extends HTMLElement>(): [\n React.RefObject<T | null>,\n number,\n] {\n const ref = useRef<T | null>(null)\n const [width, setWidth] = useState(0)\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n\n const obs = new ResizeObserver(([entry]) =>\n setWidth(entry?.contentRect.width ?? 0),\n )\n obs.observe(el)\n setWidth(el.clientWidth)\n\n return () => obs.disconnect()\n }, [])\n\n return [ref, width]\n}\n\nexport { useContainerWidth }\n"],"mappings":";;;;;AAEA,SAAS,oBAGP;CACA,MAAM,OAAA,GAAA,MAAA,QAAuB,KAAK;CAClC,MAAM,CAAC,OAAO,aAAA,GAAA,MAAA,UAAqB,EAAE;AAErC,EAAA,GAAA,MAAA,iBAAgB;EACd,MAAM,KAAK,IAAI;AACf,MAAI,CAAC,GAAI;EAET,MAAM,MAAM,IAAI,gBAAgB,CAAC,WAC/B,SAAS,OAAO,YAAY,SAAS,EAAE,CACxC;AACD,MAAI,QAAQ,GAAG;AACf,WAAS,GAAG,YAAY;AAExB,eAAa,IAAI,YAAY;IAC5B,EAAE,CAAC;AAEN,QAAO,CAAC,KAAK,MAAM"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+
3
+ //#region src/hooks/use-container-width.d.ts
4
+ declare function useContainerWidth<T extends HTMLElement>(): [React.RefObject<T | null>, number];
5
+ //#endregion
6
+ export { useContainerWidth };
7
+ //# sourceMappingURL=use-container-width.d.cts.map
@@ -0,0 +1,7 @@
1
+ "use client";
2
+
3
+ //#region src/hooks/use-container-width.d.ts
4
+ declare function useContainerWidth<T extends HTMLElement>(): [React.RefObject<T | null>, number];
5
+ //#endregion
6
+ export { useContainerWidth };
7
+ //# sourceMappingURL=use-container-width.d.ts.map
@@ -0,0 +1,20 @@
1
+ "use client";
2
+ import { useEffect, useRef, useState } from "react";
3
+ //#region src/hooks/use-container-width.ts
4
+ function useContainerWidth() {
5
+ const ref = useRef(null);
6
+ const [width, setWidth] = useState(0);
7
+ useEffect(() => {
8
+ const el = ref.current;
9
+ if (!el) return;
10
+ const obs = new ResizeObserver(([entry]) => setWidth(entry?.contentRect.width ?? 0));
11
+ obs.observe(el);
12
+ setWidth(el.clientWidth);
13
+ return () => obs.disconnect();
14
+ }, []);
15
+ return [ref, width];
16
+ }
17
+ //#endregion
18
+ export { useContainerWidth };
19
+
20
+ //# sourceMappingURL=use-container-width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-container-width.js","names":[],"sources":["../../src/hooks/use-container-width.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react'\n\nfunction useContainerWidth<T extends HTMLElement>(): [\n React.RefObject<T | null>,\n number,\n] {\n const ref = useRef<T | null>(null)\n const [width, setWidth] = useState(0)\n\n useEffect(() => {\n const el = ref.current\n if (!el) return\n\n const obs = new ResizeObserver(([entry]) =>\n setWidth(entry?.contentRect.width ?? 0),\n )\n obs.observe(el)\n setWidth(el.clientWidth)\n\n return () => obs.disconnect()\n }, [])\n\n return [ref, width]\n}\n\nexport { useContainerWidth }\n"],"mappings":";;;AAEA,SAAS,oBAGP;CACA,MAAM,MAAM,OAAiB,KAAK;CAClC,MAAM,CAAC,OAAO,YAAY,SAAS,EAAE;AAErC,iBAAgB;EACd,MAAM,KAAK,IAAI;AACf,MAAI,CAAC,GAAI;EAET,MAAM,MAAM,IAAI,gBAAgB,CAAC,WAC/B,SAAS,OAAO,YAAY,SAAS,EAAE,CACxC;AACD,MAAI,QAAQ,GAAG;AACf,WAAS,GAAG,YAAY;AAExB,eAAa,IAAI,YAAY;IAC5B,EAAE,CAAC;AAEN,QAAO,CAAC,KAAK,MAAM"}
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const require_icons_material_symbol = require("./material-symbol.cjs");
4
+ exports.MaterialSymbol = require_icons_material_symbol.MaterialSymbol;
5
+ exports.materialSymbolIconNames = require_icons_material_symbol.materialSymbolIconNames;
6
+ exports.materialSymbolIconNamesString = require_icons_material_symbol.materialSymbolIconNamesString;
7
+ exports.materialSymbolIconNamesURL = require_icons_material_symbol.materialSymbolIconNamesURL;
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.cjs";
4
+ export { MaterialSymbol, type MaterialSymbolIconName, type MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import { MaterialSymbol, MaterialSymbolIconName, MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.js";
4
+ export { MaterialSymbol, type MaterialSymbolIconName, type MaterialSymbolProps, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import { MaterialSymbol, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL } from "./material-symbol.js";
3
+ export { MaterialSymbol, materialSymbolIconNames, materialSymbolIconNamesString, materialSymbolIconNamesURL };