@epilot/spark-ui 1.0.0-alpha.1 → 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 +79 -49
  542. package/dist/index.cjs +0 -303
  543. package/dist/index.cjs.map +0 -1
  544. package/dist/index.css +0 -1
  545. package/dist/index.d.cts +0 -75
  546. package/dist/index.d.ts +0 -75
  547. package/dist/index.js +0 -255
  548. package/dist/index.js.map +0 -1
  549. package/dist/styles.js +0 -1
@@ -0,0 +1,79 @@
1
+ "use client";
2
+ import { MaterialSymbol } from "../icons/material-symbol.js";
3
+ import { SectionTitle, StateValue } from "./typography.js";
4
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
+ //#region src/components/money-saved-block.tsx
6
+ const MoneySavedContainer = ({ children, ariaLabel = "Money saved today" }) => {
7
+ return /* @__PURE__ */ jsx("div", {
8
+ "aria-label": ariaLabel,
9
+ className: "flex items-center justify-between gap-4",
10
+ children
11
+ });
12
+ };
13
+ const MoneySavedContent = ({ children }) => {
14
+ return /* @__PURE__ */ jsx("div", {
15
+ className: "flex flex-col gap-1",
16
+ children
17
+ });
18
+ };
19
+ const MoneySavedTitle = ({ children }) => {
20
+ return /* @__PURE__ */ jsx(SectionTitle, { children });
21
+ };
22
+ const MoneySavedValue = ({ children }) => {
23
+ return /* @__PURE__ */ jsx(StateValue, { children });
24
+ };
25
+ const MoneySavedDelta = ({ children }) => {
26
+ return /* @__PURE__ */ jsxs("span", {
27
+ className: "flex items-end gap-1 text-sm text-base-success-solid",
28
+ children: [/* @__PURE__ */ jsx(MaterialSymbol, {
29
+ className: "rotate-180 text-[14px]",
30
+ name: "swap_vert"
31
+ }), /* @__PURE__ */ jsx("span", {
32
+ className: "tabular-nums",
33
+ children
34
+ })]
35
+ });
36
+ };
37
+ const MoneySavedGaugeContainer = ({ children }) => {
38
+ return /* @__PURE__ */ jsx("div", {
39
+ className: "relative top-2 flex flex-col items-end gap-1",
40
+ children
41
+ });
42
+ };
43
+ const MoneySavedGaugeContent = ({ autarkyProgress, autarkyLabel, autarkyCaption = "Autarky", gaugeWidth, gaugeHeight, gaugeArcPath, gaugeStrokeWidth }) => {
44
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
45
+ /* @__PURE__ */ jsxs("svg", {
46
+ className: "h-[44px] w-[76px]",
47
+ viewBox: `0 0 ${gaugeWidth} ${gaugeHeight}`,
48
+ "aria-hidden": "true",
49
+ children: [/* @__PURE__ */ jsx("path", {
50
+ d: gaugeArcPath,
51
+ fill: "none",
52
+ stroke: "var(--gray-a5)",
53
+ strokeWidth: gaugeStrokeWidth,
54
+ strokeLinecap: "round",
55
+ pathLength: 1
56
+ }), /* @__PURE__ */ jsx("path", {
57
+ d: gaugeArcPath,
58
+ fill: "none",
59
+ stroke: "var(--green-a9)",
60
+ strokeWidth: gaugeStrokeWidth,
61
+ strokeLinecap: "round",
62
+ pathLength: 1,
63
+ strokeDasharray: `${autarkyProgress} 1`
64
+ })]
65
+ }),
66
+ /* @__PURE__ */ jsx("span", {
67
+ className: "absolute inset-0 flex items-center justify-center text-sm font-semibold text-gray",
68
+ children: autarkyLabel
69
+ }),
70
+ /* @__PURE__ */ jsx("span", {
71
+ className: "mx-auto text-xs text-gray-light",
72
+ children: autarkyCaption
73
+ })
74
+ ] });
75
+ };
76
+ //#endregion
77
+ export { MoneySavedContainer, MoneySavedContent, MoneySavedDelta, MoneySavedGaugeContainer, MoneySavedGaugeContent, MoneySavedTitle, MoneySavedValue };
78
+
79
+ //# sourceMappingURL=money-saved-block.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"money-saved-block.js","names":[],"sources":["../../src/components/money-saved-block.tsx"],"sourcesContent":["import { MaterialSymbol } from '../icons/material-symbol'\nimport { SectionTitle, StateValue } from './typography'\n\nconst MoneySavedContainer = ({\n children,\n ariaLabel = 'Money saved today',\n}: {\n children: React.ReactNode\n /** Override the accessible label for the container. Defaults to `\"Money saved today\"`. */\n ariaLabel?: string\n}) => {\n return (\n <div\n aria-label={ariaLabel}\n className=\"flex items-center justify-between gap-4\"\n >\n {children}\n </div>\n )\n}\n\nconst MoneySavedContent = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"flex flex-col gap-1\">{children}</div>\n}\n\nconst MoneySavedTitle = ({ children }: { children: React.ReactNode }) => {\n return <SectionTitle>{children}</SectionTitle>\n}\n\nconst MoneySavedValue = ({ children }: { children: React.ReactNode }) => {\n return <StateValue>{children}</StateValue>\n}\n\nconst MoneySavedDelta = ({ children }: { children: React.ReactNode }) => {\n return (\n <span className=\"flex items-end gap-1 text-sm text-base-success-solid\">\n <MaterialSymbol className=\"rotate-180 text-[14px]\" name=\"swap_vert\" />\n <span className=\"tabular-nums\">{children}</span>\n </span>\n )\n}\n\nconst MoneySavedGaugeContainer = ({\n children,\n}: {\n children: React.ReactNode\n}) => {\n return (\n <div className=\"relative top-2 flex flex-col items-end gap-1\">\n {children}\n </div>\n )\n}\n\nconst MoneySavedGaugeContent = ({\n autarkyProgress,\n autarkyLabel,\n autarkyCaption = 'Autarky',\n gaugeWidth,\n gaugeHeight,\n gaugeArcPath,\n gaugeStrokeWidth,\n}: {\n autarkyProgress: number\n autarkyLabel: string\n /** Override the caption shown beneath the gauge. Defaults to `\"Autarky\"`. */\n autarkyCaption?: React.ReactNode\n gaugeWidth: number\n gaugeHeight: number\n gaugeArcPath: string\n gaugeStrokeWidth: number\n}) => {\n return (\n <>\n <svg\n className=\"h-[44px] w-[76px]\"\n viewBox={`0 0 ${gaugeWidth} ${gaugeHeight}`}\n aria-hidden=\"true\"\n >\n <path\n d={gaugeArcPath}\n fill=\"none\"\n stroke=\"var(--gray-a5)\"\n strokeWidth={gaugeStrokeWidth}\n strokeLinecap=\"round\"\n pathLength={1}\n />\n <path\n d={gaugeArcPath}\n fill=\"none\"\n stroke=\"var(--green-a9)\"\n strokeWidth={gaugeStrokeWidth}\n strokeLinecap=\"round\"\n pathLength={1}\n strokeDasharray={`${autarkyProgress} 1`}\n />\n </svg>\n <span className=\"absolute inset-0 flex items-center justify-center text-sm font-semibold text-gray\">\n {autarkyLabel}\n </span>\n <span className=\"mx-auto text-xs text-gray-light\">{autarkyCaption}</span>\n </>\n )\n}\n\nexport {\n MoneySavedContainer,\n MoneySavedContent,\n MoneySavedTitle,\n MoneySavedValue,\n MoneySavedDelta,\n MoneySavedGaugeContainer,\n MoneySavedGaugeContent,\n}\n"],"mappings":";;;;;AAGA,MAAM,uBAAuB,EAC3B,UACA,YAAY,0BAKR;AACJ,QACE,oBAAC,OAAD;EACE,cAAY;EACZ,WAAU;EAET;EACG,CAAA;;AAIV,MAAM,qBAAqB,EAAE,eAA8C;AACzE,QAAO,oBAAC,OAAD;EAAK,WAAU;EAAuB;EAAe,CAAA;;AAG9D,MAAM,mBAAmB,EAAE,eAA8C;AACvE,QAAO,oBAAC,cAAD,EAAe,UAAwB,CAAA;;AAGhD,MAAM,mBAAmB,EAAE,eAA8C;AACvE,QAAO,oBAAC,YAAD,EAAa,UAAsB,CAAA;;AAG5C,MAAM,mBAAmB,EAAE,eAA8C;AACvE,QACE,qBAAC,QAAD;EAAM,WAAU;YAAhB,CACE,oBAAC,gBAAD;GAAgB,WAAU;GAAyB,MAAK;GAAc,CAAA,EACtE,oBAAC,QAAD;GAAM,WAAU;GAAgB;GAAgB,CAAA,CAC3C;;;AAIX,MAAM,4BAA4B,EAChC,eAGI;AACJ,QACE,oBAAC,OAAD;EAAK,WAAU;EACZ;EACG,CAAA;;AAIV,MAAM,0BAA0B,EAC9B,iBACA,cACA,iBAAiB,WACjB,YACA,aACA,cACA,uBAUI;AACJ,QACE,qBAAA,UAAA,EAAA,UAAA;EACE,qBAAC,OAAD;GACE,WAAU;GACV,SAAS,OAAO,WAAW,GAAG;GAC9B,eAAY;aAHd,CAKE,oBAAC,QAAD;IACE,GAAG;IACH,MAAK;IACL,QAAO;IACP,aAAa;IACb,eAAc;IACd,YAAY;IACZ,CAAA,EACF,oBAAC,QAAD;IACE,GAAG;IACH,MAAK;IACL,QAAO;IACP,aAAa;IACb,eAAc;IACd,YAAY;IACZ,iBAAiB,GAAG,gBAAgB;IACpC,CAAA,CACE;;EACN,oBAAC,QAAD;GAAM,WAAU;aACb;GACI,CAAA;EACP,oBAAC,QAAD;GAAM,WAAU;aAAmC;GAAsB,CAAA;EACxE,EAAA,CAAA"}
@@ -0,0 +1,44 @@
1
+ "use client";
2
+ const require_chunk = require("../chunk-aJGBMT86.cjs");
3
+ require("../utils/chars.cjs");
4
+ let react = require("react");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ let _number_flow_react = require("@number-flow/react");
7
+ _number_flow_react = require_chunk.__toESM(_number_flow_react);
8
+ //#region src/components/number-flow.tsx
9
+ function subscribeToDocumentLang(onChange) {
10
+ if (typeof document === "undefined") return () => {};
11
+ const observer = new MutationObserver(onChange);
12
+ observer.observe(document.documentElement, {
13
+ attributes: true,
14
+ attributeFilter: ["lang"]
15
+ });
16
+ return () => observer.disconnect();
17
+ }
18
+ function getDocumentLang() {
19
+ return typeof document === "undefined" ? void 0 : document.documentElement.lang || void 0;
20
+ }
21
+ function useDocumentLang() {
22
+ return (0, react.useSyncExternalStore)(subscribeToDocumentLang, getDocumentLang, () => void 0);
23
+ }
24
+ function withTrailingSeparator(suffix) {
25
+ if (!suffix || /^\s/.test(suffix)) return suffix;
26
+ return ` ${suffix}`;
27
+ }
28
+ function withLeadingSeparator(prefix) {
29
+ if (!prefix || /\s$/.test(prefix)) return prefix;
30
+ return `${prefix} `;
31
+ }
32
+ function NumberFlow({ locales, prefix, suffix, ...props }) {
33
+ const documentLang = useDocumentLang();
34
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_number_flow_react.default, {
35
+ locales: locales ?? documentLang,
36
+ prefix: withLeadingSeparator(prefix),
37
+ suffix: withTrailingSeparator(suffix),
38
+ ...props
39
+ });
40
+ }
41
+ //#endregion
42
+ module.exports = NumberFlow;
43
+
44
+ //# sourceMappingURL=number-flow.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-flow.cjs","names":["BaseNumberFlow"],"sources":["../../src/components/number-flow.tsx"],"sourcesContent":["import BaseNumberFlow, { type NumberFlowProps } from '@number-flow/react'\nimport { useSyncExternalStore } from 'react'\nimport { NARROW_NBSP } from '../utils/chars'\n\nfunction subscribeToDocumentLang(onChange: () => void) {\n if (typeof document === 'undefined') return () => {}\n const observer = new MutationObserver(onChange)\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['lang'],\n })\n return () => observer.disconnect()\n}\n\nfunction getDocumentLang() {\n return typeof document === 'undefined'\n ? undefined\n : document.documentElement.lang || undefined\n}\n\nfunction useDocumentLang() {\n return useSyncExternalStore(\n subscribeToDocumentLang,\n getDocumentLang,\n () => undefined,\n )\n}\n\nfunction withTrailingSeparator(suffix?: string) {\n if (!suffix || /^\\s/.test(suffix)) return suffix\n return `${NARROW_NBSP}${suffix}`\n}\n\nfunction withLeadingSeparator(prefix?: string) {\n if (!prefix || /\\s$/.test(prefix)) return prefix\n return `${prefix}${NARROW_NBSP}`\n}\n\nexport default function NumberFlow({\n locales,\n prefix,\n suffix,\n ...props\n}: NumberFlowProps) {\n const documentLang = useDocumentLang()\n return (\n <BaseNumberFlow\n locales={locales ?? documentLang}\n prefix={withLeadingSeparator(prefix)}\n suffix={withTrailingSeparator(suffix)}\n {...props}\n />\n )\n}\n\nexport type { Format, NumberFlowProps } from '@number-flow/react'\n"],"mappings":";;;;;;;;AAIA,SAAS,wBAAwB,UAAsB;AACrD,KAAI,OAAO,aAAa,YAAa,cAAa;CAClD,MAAM,WAAW,IAAI,iBAAiB,SAAS;AAC/C,UAAS,QAAQ,SAAS,iBAAiB;EACzC,YAAY;EACZ,iBAAiB,CAAC,OAAO;EAC1B,CAAC;AACF,cAAa,SAAS,YAAY;;AAGpC,SAAS,kBAAkB;AACzB,QAAO,OAAO,aAAa,cACvB,KAAA,IACA,SAAS,gBAAgB,QAAQ,KAAA;;AAGvC,SAAS,kBAAkB;AACzB,SAAA,GAAA,MAAA,sBACE,yBACA,uBACM,KAAA,EACP;;AAGH,SAAS,sBAAsB,QAAiB;AAC9C,KAAI,CAAC,UAAU,MAAM,KAAK,OAAO,CAAE,QAAO;AAC1C,QAAO,IAAiB;;AAG1B,SAAS,qBAAqB,QAAiB;AAC7C,KAAI,CAAC,UAAU,MAAM,KAAK,OAAO,CAAE,QAAO;AAC1C,QAAO,GAAG;;AAGZ,SAAwB,WAAW,EACjC,SACA,QACA,QACA,GAAG,SACe;CAClB,MAAM,eAAe,iBAAiB;AACtC,QACE,iBAAA,GAAA,kBAAA,KAACA,mBAAAA,SAAD;EACE,SAAS,WAAW;EACpB,QAAQ,qBAAqB,OAAO;EACpC,QAAQ,sBAAsB,OAAO;EACrC,GAAI;EACJ,CAAA"}
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import { n as NumberFlow, r as NumberFlowProps, t as Format } from "../number-flow-DMJouddg.cjs";
4
+ export { Format, NumberFlowProps, NumberFlow as default };
@@ -0,0 +1,4 @@
1
+ "use client";
2
+
3
+ import { n as NumberFlow, r as NumberFlowProps, t as Format } from "../number-flow-DSbucQ_K.js";
4
+ export { Format, NumberFlowProps, NumberFlow as default };
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import "../utils/chars.js";
3
+ import { useSyncExternalStore } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import BaseNumberFlow from "@number-flow/react";
6
+ //#region src/components/number-flow.tsx
7
+ function subscribeToDocumentLang(onChange) {
8
+ if (typeof document === "undefined") return () => {};
9
+ const observer = new MutationObserver(onChange);
10
+ observer.observe(document.documentElement, {
11
+ attributes: true,
12
+ attributeFilter: ["lang"]
13
+ });
14
+ return () => observer.disconnect();
15
+ }
16
+ function getDocumentLang() {
17
+ return typeof document === "undefined" ? void 0 : document.documentElement.lang || void 0;
18
+ }
19
+ function useDocumentLang() {
20
+ return useSyncExternalStore(subscribeToDocumentLang, getDocumentLang, () => void 0);
21
+ }
22
+ function withTrailingSeparator(suffix) {
23
+ if (!suffix || /^\s/.test(suffix)) return suffix;
24
+ return ` ${suffix}`;
25
+ }
26
+ function withLeadingSeparator(prefix) {
27
+ if (!prefix || /\s$/.test(prefix)) return prefix;
28
+ return `${prefix} `;
29
+ }
30
+ function NumberFlow({ locales, prefix, suffix, ...props }) {
31
+ const documentLang = useDocumentLang();
32
+ return /* @__PURE__ */ jsx(BaseNumberFlow, {
33
+ locales: locales ?? documentLang,
34
+ prefix: withLeadingSeparator(prefix),
35
+ suffix: withTrailingSeparator(suffix),
36
+ ...props
37
+ });
38
+ }
39
+ //#endregion
40
+ export { NumberFlow as default };
41
+
42
+ //# sourceMappingURL=number-flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-flow.js","names":[],"sources":["../../src/components/number-flow.tsx"],"sourcesContent":["import BaseNumberFlow, { type NumberFlowProps } from '@number-flow/react'\nimport { useSyncExternalStore } from 'react'\nimport { NARROW_NBSP } from '../utils/chars'\n\nfunction subscribeToDocumentLang(onChange: () => void) {\n if (typeof document === 'undefined') return () => {}\n const observer = new MutationObserver(onChange)\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: ['lang'],\n })\n return () => observer.disconnect()\n}\n\nfunction getDocumentLang() {\n return typeof document === 'undefined'\n ? undefined\n : document.documentElement.lang || undefined\n}\n\nfunction useDocumentLang() {\n return useSyncExternalStore(\n subscribeToDocumentLang,\n getDocumentLang,\n () => undefined,\n )\n}\n\nfunction withTrailingSeparator(suffix?: string) {\n if (!suffix || /^\\s/.test(suffix)) return suffix\n return `${NARROW_NBSP}${suffix}`\n}\n\nfunction withLeadingSeparator(prefix?: string) {\n if (!prefix || /\\s$/.test(prefix)) return prefix\n return `${prefix}${NARROW_NBSP}`\n}\n\nexport default function NumberFlow({\n locales,\n prefix,\n suffix,\n ...props\n}: NumberFlowProps) {\n const documentLang = useDocumentLang()\n return (\n <BaseNumberFlow\n locales={locales ?? documentLang}\n prefix={withLeadingSeparator(prefix)}\n suffix={withTrailingSeparator(suffix)}\n {...props}\n />\n )\n}\n\nexport type { Format, NumberFlowProps } from '@number-flow/react'\n"],"mappings":";;;;;;AAIA,SAAS,wBAAwB,UAAsB;AACrD,KAAI,OAAO,aAAa,YAAa,cAAa;CAClD,MAAM,WAAW,IAAI,iBAAiB,SAAS;AAC/C,UAAS,QAAQ,SAAS,iBAAiB;EACzC,YAAY;EACZ,iBAAiB,CAAC,OAAO;EAC1B,CAAC;AACF,cAAa,SAAS,YAAY;;AAGpC,SAAS,kBAAkB;AACzB,QAAO,OAAO,aAAa,cACvB,KAAA,IACA,SAAS,gBAAgB,QAAQ,KAAA;;AAGvC,SAAS,kBAAkB;AACzB,QAAO,qBACL,yBACA,uBACM,KAAA,EACP;;AAGH,SAAS,sBAAsB,QAAiB;AAC9C,KAAI,CAAC,UAAU,MAAM,KAAK,OAAO,CAAE,QAAO;AAC1C,QAAO,IAAiB;;AAG1B,SAAS,qBAAqB,QAAiB;AAC7C,KAAI,CAAC,UAAU,MAAM,KAAK,OAAO,CAAE,QAAO;AAC1C,QAAO,GAAG;;AAGZ,SAAwB,WAAW,EACjC,SACA,QACA,QACA,GAAG,SACe;CAClB,MAAM,eAAe,iBAAiB;AACtC,QACE,oBAAC,gBAAD;EACE,SAAS,WAAW;EACpB,QAAQ,qBAAqB,OAAO;EACpC,QAAQ,sBAAsB,OAAO;EACrC,GAAI;EACJ,CAAA"}
@@ -0,0 +1,36 @@
1
+ "use client";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("../chunk-aJGBMT86.cjs");
4
+ const require_icons_material_symbol = require("../icons/material-symbol.cjs");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ let class_variance_authority = require("class-variance-authority");
7
+ //#region src/components/on-off-button.tsx
8
+ function OnOffButton({ disabled, isOn, onClick, className }) {
9
+ const handleClick = (event) => {
10
+ event.stopPropagation();
11
+ onClick();
12
+ };
13
+ const onOfButtonClassName = (0, class_variance_authority.cva)("focus-visible:ring-primary inline-flex size-9 min-w-9 cursor-pointer items-center justify-center justify-self-end rounded-[max(var(--spark-rounded-md),var(--spark-rounded-full))] transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60", { variants: { isOn: {
14
+ true: "bg-base-success-soft text-success hover:bg-base-success-soft/80",
15
+ false: "border border-gray text-gray-light hover:bg-base-gray-soft"
16
+ } } });
17
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
18
+ "aria-label": isOn ? "Turn off" : "Turn on",
19
+ "aria-pressed": isOn,
20
+ className: onOfButtonClassName({
21
+ isOn,
22
+ className
23
+ }),
24
+ disabled,
25
+ onClick: handleClick,
26
+ type: "button",
27
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons_material_symbol.MaterialSymbol, {
28
+ className: "block text-[16px]! leading-none",
29
+ name: "power_settings_new"
30
+ })
31
+ });
32
+ }
33
+ //#endregion
34
+ exports.OnOffButton = OnOffButton;
35
+
36
+ //# sourceMappingURL=on-off-button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-off-button.cjs","names":["MaterialSymbol"],"sources":["../../src/components/on-off-button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { MouseEvent } from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\n\ninterface OnOffButtonProps {\n isOn: boolean\n disabled?: boolean\n onClick: () => void\n className?: string\n}\n\nexport function OnOffButton({\n disabled,\n isOn,\n onClick,\n className,\n}: OnOffButtonProps) {\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n onClick()\n }\n\n const onOfButtonClassName = cva(\n 'focus-visible:ring-primary inline-flex size-9 min-w-9 cursor-pointer items-center justify-center justify-self-end rounded-[max(var(--spark-rounded-md),var(--spark-rounded-full))] transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60',\n {\n variants: {\n isOn: {\n true: 'bg-base-success-soft text-success hover:bg-base-success-soft/80',\n false: 'border border-gray text-gray-light hover:bg-base-gray-soft',\n },\n },\n },\n )\n\n return (\n <button\n aria-label={isOn ? 'Turn off' : 'Turn on'}\n aria-pressed={isOn}\n className={onOfButtonClassName({ isOn, className })}\n disabled={disabled}\n onClick={handleClick}\n type=\"button\"\n >\n <MaterialSymbol\n className=\"block text-[16px]! leading-none\"\n name=\"power_settings_new\"\n />\n </button>\n )\n}\n"],"mappings":";;;;;;;AAWA,SAAgB,YAAY,EAC1B,UACA,MACA,SACA,aACmB;CACnB,MAAM,eAAe,UAAyC;AAC5D,QAAM,iBAAiB;AACvB,WAAS;;CAGX,MAAM,uBAAA,GAAA,yBAAA,KACJ,wSACA,EACE,UAAU,EACR,MAAM;EACJ,MAAM;EACN,OAAO;EACR,EACF,EACF,CACF;AAED,QACE,iBAAA,GAAA,kBAAA,KAAC,UAAD;EACE,cAAY,OAAO,aAAa;EAChC,gBAAc;EACd,WAAW,oBAAoB;GAAE;GAAM;GAAW,CAAC;EACzC;EACV,SAAS;EACT,MAAK;YAEL,iBAAA,GAAA,kBAAA,KAACA,8BAAAA,gBAAD;GACE,WAAU;GACV,MAAK;GACL,CAAA;EACK,CAAA"}
@@ -0,0 +1,20 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/on-off-button.d.ts
6
+ interface OnOffButtonProps {
7
+ isOn: boolean;
8
+ disabled?: boolean;
9
+ onClick: () => void;
10
+ className?: string;
11
+ }
12
+ declare function OnOffButton({
13
+ disabled,
14
+ isOn,
15
+ onClick,
16
+ className
17
+ }: OnOffButtonProps): _$react_jsx_runtime0.JSX.Element;
18
+ //#endregion
19
+ export { OnOffButton };
20
+ //# sourceMappingURL=on-off-button.d.cts.map
@@ -0,0 +1,20 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/on-off-button.d.ts
6
+ interface OnOffButtonProps {
7
+ isOn: boolean;
8
+ disabled?: boolean;
9
+ onClick: () => void;
10
+ className?: string;
11
+ }
12
+ declare function OnOffButton({
13
+ disabled,
14
+ isOn,
15
+ onClick,
16
+ className
17
+ }: OnOffButtonProps): _$react_jsx_runtime0.JSX.Element;
18
+ //#endregion
19
+ export { OnOffButton };
20
+ //# sourceMappingURL=on-off-button.d.ts.map
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { MaterialSymbol } from "../icons/material-symbol.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { cva } from "class-variance-authority";
5
+ //#region src/components/on-off-button.tsx
6
+ function OnOffButton({ disabled, isOn, onClick, className }) {
7
+ const handleClick = (event) => {
8
+ event.stopPropagation();
9
+ onClick();
10
+ };
11
+ const onOfButtonClassName = cva("focus-visible:ring-primary inline-flex size-9 min-w-9 cursor-pointer items-center justify-center justify-self-end rounded-[max(var(--spark-rounded-md),var(--spark-rounded-full))] transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60", { variants: { isOn: {
12
+ true: "bg-base-success-soft text-success hover:bg-base-success-soft/80",
13
+ false: "border border-gray text-gray-light hover:bg-base-gray-soft"
14
+ } } });
15
+ return /* @__PURE__ */ jsx("button", {
16
+ "aria-label": isOn ? "Turn off" : "Turn on",
17
+ "aria-pressed": isOn,
18
+ className: onOfButtonClassName({
19
+ isOn,
20
+ className
21
+ }),
22
+ disabled,
23
+ onClick: handleClick,
24
+ type: "button",
25
+ children: /* @__PURE__ */ jsx(MaterialSymbol, {
26
+ className: "block text-[16px]! leading-none",
27
+ name: "power_settings_new"
28
+ })
29
+ });
30
+ }
31
+ //#endregion
32
+ export { OnOffButton };
33
+
34
+ //# sourceMappingURL=on-off-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"on-off-button.js","names":[],"sources":["../../src/components/on-off-button.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority'\nimport type { MouseEvent } from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\n\ninterface OnOffButtonProps {\n isOn: boolean\n disabled?: boolean\n onClick: () => void\n className?: string\n}\n\nexport function OnOffButton({\n disabled,\n isOn,\n onClick,\n className,\n}: OnOffButtonProps) {\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n event.stopPropagation()\n onClick()\n }\n\n const onOfButtonClassName = cva(\n 'focus-visible:ring-primary inline-flex size-9 min-w-9 cursor-pointer items-center justify-center justify-self-end rounded-[max(var(--spark-rounded-md),var(--spark-rounded-full))] transition-colors focus-visible:ring-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-60',\n {\n variants: {\n isOn: {\n true: 'bg-base-success-soft text-success hover:bg-base-success-soft/80',\n false: 'border border-gray text-gray-light hover:bg-base-gray-soft',\n },\n },\n },\n )\n\n return (\n <button\n aria-label={isOn ? 'Turn off' : 'Turn on'}\n aria-pressed={isOn}\n className={onOfButtonClassName({ isOn, className })}\n disabled={disabled}\n onClick={handleClick}\n type=\"button\"\n >\n <MaterialSymbol\n className=\"block text-[16px]! leading-none\"\n name=\"power_settings_new\"\n />\n </button>\n )\n}\n"],"mappings":";;;;;AAWA,SAAgB,YAAY,EAC1B,UACA,MACA,SACA,aACmB;CACnB,MAAM,eAAe,UAAyC;AAC5D,QAAM,iBAAiB;AACvB,WAAS;;CAGX,MAAM,sBAAsB,IAC1B,wSACA,EACE,UAAU,EACR,MAAM;EACJ,MAAM;EACN,OAAO;EACR,EACF,EACF,CACF;AAED,QACE,oBAAC,UAAD;EACE,cAAY,OAAO,aAAa;EAChC,gBAAc;EACd,WAAW,oBAAoB;GAAE;GAAM;GAAW,CAAC;EACzC;EACV,SAAS;EACT,MAAK;YAEL,oBAAC,gBAAD;GACE,WAAU;GACV,MAAK;GACL,CAAA;EACK,CAAA"}
@@ -0,0 +1,68 @@
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/onboarding-layout.tsx
7
+ const OnboardingLayout = ({ className, ...rest }) => {
8
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
9
+ className: (0, cnfast.cn)("flex flex-col gap-6", className),
10
+ ...rest
11
+ });
12
+ };
13
+ /**
14
+ * Top section: typically wraps the title row, optional description, and a
15
+ * progress bar.
16
+ */
17
+ const OnboardingLayoutHeader = ({ className, ...rest }) => {
18
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
19
+ className: (0, cnfast.cn)("flex flex-col gap-3 pt-4", className),
20
+ ...rest
21
+ });
22
+ };
23
+ /** Text-only group inside the header (title row + description). */
24
+ const OnboardingLayoutHeading = ({ className, ...rest }) => {
25
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
26
+ className: (0, cnfast.cn)("flex flex-col gap-1", className),
27
+ ...rest
28
+ });
29
+ };
30
+ /** Row that holds the title on the left and (optionally) a step badge on the right. */
31
+ const OnboardingLayoutTitleRow = ({ className, ...rest }) => {
32
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
33
+ className: (0, cnfast.cn)("flex items-center justify-between", className),
34
+ ...rest
35
+ });
36
+ };
37
+ const OnboardingLayoutTitle = ({ className, ...rest }) => {
38
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
39
+ className: (0, cnfast.cn)("text-lg font-bold text-gray", className),
40
+ ...rest
41
+ });
42
+ };
43
+ const OnboardingLayoutDescription = ({ className, ...rest }) => {
44
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
45
+ className: (0, cnfast.cn)("text-sm text-gray-light", className),
46
+ ...rest
47
+ });
48
+ };
49
+ /**
50
+ * Bottom action row. Use with `justify-between`-aware children — typically a
51
+ * back action on the left and a cancel/primary action on the right.
52
+ */
53
+ const OnboardingLayoutFooter = ({ className, ...rest }) => {
54
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
55
+ className: (0, cnfast.cn)("flex items-center justify-between", className),
56
+ ...rest
57
+ });
58
+ };
59
+ //#endregion
60
+ exports.OnboardingLayout = OnboardingLayout;
61
+ exports.OnboardingLayoutDescription = OnboardingLayoutDescription;
62
+ exports.OnboardingLayoutFooter = OnboardingLayoutFooter;
63
+ exports.OnboardingLayoutHeader = OnboardingLayoutHeader;
64
+ exports.OnboardingLayoutHeading = OnboardingLayoutHeading;
65
+ exports.OnboardingLayoutTitle = OnboardingLayoutTitle;
66
+ exports.OnboardingLayoutTitleRow = OnboardingLayoutTitleRow;
67
+
68
+ //# sourceMappingURL=onboarding-layout.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-layout.cjs","names":[],"sources":["../../src/components/onboarding-layout.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nconst OnboardingLayout = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-6', className)} {...rest} />\n}\n\n/**\n * Top section: typically wraps the title row, optional description, and a\n * progress bar.\n */\nconst OnboardingLayoutHeader = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-3 pt-4', className)} {...rest} />\n}\n\n/** Text-only group inside the header (title row + description). */\nconst OnboardingLayoutHeading = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-1', className)} {...rest} />\n}\n\n/** Row that holds the title on the left and (optionally) a step badge on the right. */\nconst OnboardingLayoutTitleRow = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn('flex items-center justify-between', className)}\n {...rest}\n />\n )\n}\n\nconst OnboardingLayoutTitle = ({\n className,\n ...rest\n}: React.ComponentProps<'h2'>) => {\n return (\n <h2 className={cn('text-lg font-bold text-gray', className)} {...rest} />\n )\n}\n\nconst OnboardingLayoutDescription = ({\n className,\n ...rest\n}: React.ComponentProps<'p'>) => {\n return <p className={cn('text-sm text-gray-light', className)} {...rest} />\n}\n\n/**\n * Bottom action row. Use with `justify-between`-aware children — typically a\n * back action on the left and a cancel/primary action on the right.\n */\nconst OnboardingLayoutFooter = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn('flex items-center justify-between', className)}\n {...rest}\n />\n )\n}\n\nexport {\n OnboardingLayout,\n OnboardingLayoutHeader,\n OnboardingLayoutHeading,\n OnboardingLayoutTitleRow,\n OnboardingLayoutTitle,\n OnboardingLayoutDescription,\n OnboardingLayoutFooter,\n}\n"],"mappings":";;;;;;AAEA,MAAM,oBAAoB,EACxB,WACA,GAAG,WAC8B;AACjC,QAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,YAAA,GAAA,OAAA,IAAc,uBAAuB,UAAU;EAAE,GAAI;EAAQ,CAAA;;;;;;AAO3E,MAAM,0BAA0B,EAC9B,WACA,GAAG,WAC8B;AACjC,QAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,YAAA,GAAA,OAAA,IAAc,4BAA4B,UAAU;EAAE,GAAI;EAAQ,CAAA;;;AAIhF,MAAM,2BAA2B,EAC/B,WACA,GAAG,WAC8B;AACjC,QAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,YAAA,GAAA,OAAA,IAAc,uBAAuB,UAAU;EAAE,GAAI;EAAQ,CAAA;;;AAI3E,MAAM,4BAA4B,EAChC,WACA,GAAG,WAC8B;AACjC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,YAAA,GAAA,OAAA,IAAc,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA;;AAIN,MAAM,yBAAyB,EAC7B,WACA,GAAG,WAC6B;AAChC,QACE,iBAAA,GAAA,kBAAA,KAAC,MAAD;EAAI,YAAA,GAAA,OAAA,IAAc,+BAA+B,UAAU;EAAE,GAAI;EAAQ,CAAA;;AAI7E,MAAM,+BAA+B,EACnC,WACA,GAAG,WAC4B;AAC/B,QAAO,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAG,YAAA,GAAA,OAAA,IAAc,2BAA2B,UAAU;EAAE,GAAI;EAAQ,CAAA;;;;;;AAO7E,MAAM,0BAA0B,EAC9B,WACA,GAAG,WAC8B;AACjC,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,YAAA,GAAA,OAAA,IAAc,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA"}
@@ -0,0 +1,46 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/onboarding-layout.d.ts
6
+ declare const OnboardingLayout: ({
7
+ className,
8
+ ...rest
9
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
10
+ /**
11
+ * Top section: typically wraps the title row, optional description, and a
12
+ * progress bar.
13
+ */
14
+ declare const OnboardingLayoutHeader: ({
15
+ className,
16
+ ...rest
17
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
18
+ /** Text-only group inside the header (title row + description). */
19
+ declare const OnboardingLayoutHeading: ({
20
+ className,
21
+ ...rest
22
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
23
+ /** Row that holds the title on the left and (optionally) a step badge on the right. */
24
+ declare const OnboardingLayoutTitleRow: ({
25
+ className,
26
+ ...rest
27
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
28
+ declare const OnboardingLayoutTitle: ({
29
+ className,
30
+ ...rest
31
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
32
+ declare const OnboardingLayoutDescription: ({
33
+ className,
34
+ ...rest
35
+ }: React.ComponentProps<"p">) => _$react_jsx_runtime0.JSX.Element;
36
+ /**
37
+ * Bottom action row. Use with `justify-between`-aware children — typically a
38
+ * back action on the left and a cancel/primary action on the right.
39
+ */
40
+ declare const OnboardingLayoutFooter: ({
41
+ className,
42
+ ...rest
43
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
44
+ //#endregion
45
+ export { OnboardingLayout, OnboardingLayoutDescription, OnboardingLayoutFooter, OnboardingLayoutHeader, OnboardingLayoutHeading, OnboardingLayoutTitle, OnboardingLayoutTitleRow };
46
+ //# sourceMappingURL=onboarding-layout.d.cts.map
@@ -0,0 +1,46 @@
1
+ "use client";
2
+
3
+ import * as _$react_jsx_runtime0 from "react/jsx-runtime";
4
+
5
+ //#region src/components/onboarding-layout.d.ts
6
+ declare const OnboardingLayout: ({
7
+ className,
8
+ ...rest
9
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
10
+ /**
11
+ * Top section: typically wraps the title row, optional description, and a
12
+ * progress bar.
13
+ */
14
+ declare const OnboardingLayoutHeader: ({
15
+ className,
16
+ ...rest
17
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
18
+ /** Text-only group inside the header (title row + description). */
19
+ declare const OnboardingLayoutHeading: ({
20
+ className,
21
+ ...rest
22
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
23
+ /** Row that holds the title on the left and (optionally) a step badge on the right. */
24
+ declare const OnboardingLayoutTitleRow: ({
25
+ className,
26
+ ...rest
27
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
28
+ declare const OnboardingLayoutTitle: ({
29
+ className,
30
+ ...rest
31
+ }: React.ComponentProps<"h2">) => _$react_jsx_runtime0.JSX.Element;
32
+ declare const OnboardingLayoutDescription: ({
33
+ className,
34
+ ...rest
35
+ }: React.ComponentProps<"p">) => _$react_jsx_runtime0.JSX.Element;
36
+ /**
37
+ * Bottom action row. Use with `justify-between`-aware children — typically a
38
+ * back action on the left and a cancel/primary action on the right.
39
+ */
40
+ declare const OnboardingLayoutFooter: ({
41
+ className,
42
+ ...rest
43
+ }: React.ComponentProps<"div">) => _$react_jsx_runtime0.JSX.Element;
44
+ //#endregion
45
+ export { OnboardingLayout, OnboardingLayoutDescription, OnboardingLayoutFooter, OnboardingLayoutHeader, OnboardingLayoutHeading, OnboardingLayoutTitle, OnboardingLayoutTitleRow };
46
+ //# sourceMappingURL=onboarding-layout.d.ts.map
@@ -0,0 +1,60 @@
1
+ "use client";
2
+ import { cn } from "../utils/cn.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/components/onboarding-layout.tsx
5
+ const OnboardingLayout = ({ className, ...rest }) => {
6
+ return /* @__PURE__ */ jsx("div", {
7
+ className: cn("flex flex-col gap-6", className),
8
+ ...rest
9
+ });
10
+ };
11
+ /**
12
+ * Top section: typically wraps the title row, optional description, and a
13
+ * progress bar.
14
+ */
15
+ const OnboardingLayoutHeader = ({ className, ...rest }) => {
16
+ return /* @__PURE__ */ jsx("div", {
17
+ className: cn("flex flex-col gap-3 pt-4", className),
18
+ ...rest
19
+ });
20
+ };
21
+ /** Text-only group inside the header (title row + description). */
22
+ const OnboardingLayoutHeading = ({ className, ...rest }) => {
23
+ return /* @__PURE__ */ jsx("div", {
24
+ className: cn("flex flex-col gap-1", className),
25
+ ...rest
26
+ });
27
+ };
28
+ /** Row that holds the title on the left and (optionally) a step badge on the right. */
29
+ const OnboardingLayoutTitleRow = ({ className, ...rest }) => {
30
+ return /* @__PURE__ */ jsx("div", {
31
+ className: cn("flex items-center justify-between", className),
32
+ ...rest
33
+ });
34
+ };
35
+ const OnboardingLayoutTitle = ({ className, ...rest }) => {
36
+ return /* @__PURE__ */ jsx("h2", {
37
+ className: cn("text-lg font-bold text-gray", className),
38
+ ...rest
39
+ });
40
+ };
41
+ const OnboardingLayoutDescription = ({ className, ...rest }) => {
42
+ return /* @__PURE__ */ jsx("p", {
43
+ className: cn("text-sm text-gray-light", className),
44
+ ...rest
45
+ });
46
+ };
47
+ /**
48
+ * Bottom action row. Use with `justify-between`-aware children — typically a
49
+ * back action on the left and a cancel/primary action on the right.
50
+ */
51
+ const OnboardingLayoutFooter = ({ className, ...rest }) => {
52
+ return /* @__PURE__ */ jsx("div", {
53
+ className: cn("flex items-center justify-between", className),
54
+ ...rest
55
+ });
56
+ };
57
+ //#endregion
58
+ export { OnboardingLayout, OnboardingLayoutDescription, OnboardingLayoutFooter, OnboardingLayoutHeader, OnboardingLayoutHeading, OnboardingLayoutTitle, OnboardingLayoutTitleRow };
59
+
60
+ //# sourceMappingURL=onboarding-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"onboarding-layout.js","names":[],"sources":["../../src/components/onboarding-layout.tsx"],"sourcesContent":["import { cn } from '../utils/cn'\n\nconst OnboardingLayout = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-6', className)} {...rest} />\n}\n\n/**\n * Top section: typically wraps the title row, optional description, and a\n * progress bar.\n */\nconst OnboardingLayoutHeader = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-3 pt-4', className)} {...rest} />\n}\n\n/** Text-only group inside the header (title row + description). */\nconst OnboardingLayoutHeading = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return <div className={cn('flex flex-col gap-1', className)} {...rest} />\n}\n\n/** Row that holds the title on the left and (optionally) a step badge on the right. */\nconst OnboardingLayoutTitleRow = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn('flex items-center justify-between', className)}\n {...rest}\n />\n )\n}\n\nconst OnboardingLayoutTitle = ({\n className,\n ...rest\n}: React.ComponentProps<'h2'>) => {\n return (\n <h2 className={cn('text-lg font-bold text-gray', className)} {...rest} />\n )\n}\n\nconst OnboardingLayoutDescription = ({\n className,\n ...rest\n}: React.ComponentProps<'p'>) => {\n return <p className={cn('text-sm text-gray-light', className)} {...rest} />\n}\n\n/**\n * Bottom action row. Use with `justify-between`-aware children — typically a\n * back action on the left and a cancel/primary action on the right.\n */\nconst OnboardingLayoutFooter = ({\n className,\n ...rest\n}: React.ComponentProps<'div'>) => {\n return (\n <div\n className={cn('flex items-center justify-between', className)}\n {...rest}\n />\n )\n}\n\nexport {\n OnboardingLayout,\n OnboardingLayoutHeader,\n OnboardingLayoutHeading,\n OnboardingLayoutTitleRow,\n OnboardingLayoutTitle,\n OnboardingLayoutDescription,\n OnboardingLayoutFooter,\n}\n"],"mappings":";;;;AAEA,MAAM,oBAAoB,EACxB,WACA,GAAG,WAC8B;AACjC,QAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,uBAAuB,UAAU;EAAE,GAAI;EAAQ,CAAA;;;;;;AAO3E,MAAM,0BAA0B,EAC9B,WACA,GAAG,WAC8B;AACjC,QAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,4BAA4B,UAAU;EAAE,GAAI;EAAQ,CAAA;;;AAIhF,MAAM,2BAA2B,EAC/B,WACA,GAAG,WAC8B;AACjC,QAAO,oBAAC,OAAD;EAAK,WAAW,GAAG,uBAAuB,UAAU;EAAE,GAAI;EAAQ,CAAA;;;AAI3E,MAAM,4BAA4B,EAChC,WACA,GAAG,WAC8B;AACjC,QACE,oBAAC,OAAD;EACE,WAAW,GAAG,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA;;AAIN,MAAM,yBAAyB,EAC7B,WACA,GAAG,WAC6B;AAChC,QACE,oBAAC,MAAD;EAAI,WAAW,GAAG,+BAA+B,UAAU;EAAE,GAAI;EAAQ,CAAA;;AAI7E,MAAM,+BAA+B,EACnC,WACA,GAAG,WAC4B;AAC/B,QAAO,oBAAC,KAAD;EAAG,WAAW,GAAG,2BAA2B,UAAU;EAAE,GAAI;EAAQ,CAAA;;;;;;AAO7E,MAAM,0BAA0B,EAC9B,WACA,GAAG,WAC8B;AACjC,QACE,oBAAC,OAAD;EACE,WAAW,GAAG,qCAAqC,UAAU;EAC7D,GAAI;EACJ,CAAA"}
@@ -0,0 +1,50 @@
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
+ const require_components_button = require("./button.cjs");
6
+ const require_components_typography = require("./typography.cjs");
7
+ let react = require("react");
8
+ react = require_chunk.__toESM(react);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
10
+ let _base_ui_react_merge_props = require("@base-ui/react/merge-props");
11
+ let _base_ui_react_use_render = require("@base-ui/react/use-render");
12
+ let cnfast = require("cnfast");
13
+ //#region src/components/page-header.tsx
14
+ const PageHeader = react.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("header", {
15
+ ref,
16
+ className: (0, cnfast.cn)("grid grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-3", className),
17
+ ...props
18
+ }));
19
+ PageHeader.displayName = "PageHeader";
20
+ const PageHeaderBackButton = react.forwardRef(({ children, className, "aria-label": ariaLabel = "Back", ...props }, ref) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_button.Button, {
21
+ ref,
22
+ size: "icon-small",
23
+ styleVariant: "ghost",
24
+ color: "neutral",
25
+ type: "button",
26
+ "aria-label": ariaLabel,
27
+ className: (0, cnfast.cn)("col-start-1 justify-self-start", className),
28
+ ...props,
29
+ children: children ?? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_icons_material_symbol.MaterialSymbol, { name: "chevron_left" })
30
+ }));
31
+ PageHeaderBackButton.displayName = "PageHeaderBackButton";
32
+ const PageHeaderTitle = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_components_typography.PageTitle, {
33
+ className: (0, cnfast.cn)("col-start-2 justify-self-center text-center", className),
34
+ ...props
35
+ });
36
+ const PageHeaderActions = ({ className, render, ...props }) => {
37
+ return (0, _base_ui_react_use_render.useRender)({
38
+ defaultTagName: "div",
39
+ render,
40
+ props: (0, _base_ui_react_merge_props.mergeProps)({ className: (0, cnfast.cn)("col-start-3 flex size-10 shrink-0 items-center justify-self-end", className) }, props)
41
+ });
42
+ };
43
+ PageHeaderActions.displayName = "PageHeaderActions";
44
+ //#endregion
45
+ exports.PageHeader = PageHeader;
46
+ exports.PageHeaderActions = PageHeaderActions;
47
+ exports.PageHeaderBackButton = PageHeaderBackButton;
48
+ exports.PageHeaderTitle = PageHeaderTitle;
49
+
50
+ //# sourceMappingURL=page-header.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-header.cjs","names":["React","Button","MaterialSymbol","PageTitle"],"sources":["../../src/components/page-header.tsx"],"sourcesContent":["import { mergeProps } from '@base-ui/react/merge-props'\nimport { useRender } from '@base-ui/react/use-render'\nimport * as React from 'react'\nimport { MaterialSymbol } from '../icons/material-symbol'\nimport { cn } from '../utils/cn'\nimport { Button, type ButtonProps } from './button'\nimport { PageTitle } from './typography'\n\nconst PageHeader = React.forwardRef<\n HTMLElement,\n React.HTMLAttributes<HTMLElement>\n>(({ className, ...props }, ref) => (\n <header\n ref={ref}\n className={cn(\n 'grid grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-3',\n className,\n )}\n {...props}\n />\n))\nPageHeader.displayName = 'PageHeader'\n\nconst PageHeaderBackButton = React.forwardRef<\n HTMLButtonElement,\n Omit<ButtonProps, 'size' | 'styleVariant' | 'color'>\n>(\n (\n { children, className, 'aria-label': ariaLabel = 'Back', ...props },\n ref,\n ) => (\n <Button\n ref={ref}\n size=\"icon-small\"\n styleVariant=\"ghost\"\n color=\"neutral\"\n type=\"button\"\n aria-label={ariaLabel}\n className={cn('col-start-1 justify-self-start', className)}\n {...props}\n >\n {children ?? <MaterialSymbol name=\"chevron_left\" />}\n </Button>\n ),\n)\nPageHeaderBackButton.displayName = 'PageHeaderBackButton'\n\nconst PageHeaderTitle = ({\n className,\n ...props\n}: React.ComponentProps<'h2'>) => (\n <PageTitle\n className={cn('col-start-2 justify-self-center text-center', className)}\n {...props}\n />\n)\n\ntype PageHeaderActionsProps = useRender.ComponentProps<'div'>\n\nconst PageHeaderActions = ({\n className,\n render,\n ...props\n}: PageHeaderActionsProps) => {\n return useRender({\n defaultTagName: 'div',\n render,\n props: mergeProps<'div'>(\n {\n className: cn(\n 'col-start-3 flex size-10 shrink-0 items-center justify-self-end',\n className,\n ),\n },\n props,\n ),\n })\n}\nPageHeaderActions.displayName = 'PageHeaderActions'\n\nexport { PageHeader, PageHeaderActions, PageHeaderBackButton, PageHeaderTitle }\nexport type { PageHeaderActionsProps }\n"],"mappings":";;;;;;;;;;;;;AAQA,MAAM,aAAaA,MAAM,YAGtB,EAAE,WAAW,GAAG,SAAS,QAC1B,iBAAA,GAAA,kBAAA,KAAC,UAAD;CACO;CACL,YAAA,GAAA,OAAA,IACE,wEACA,UACD;CACD,GAAI;CACJ,CAAA,CACF;AACF,WAAW,cAAc;AAEzB,MAAM,uBAAuBA,MAAM,YAK/B,EAAE,UAAU,WAAW,cAAc,YAAY,QAAQ,GAAG,SAC5D,QAEA,iBAAA,GAAA,kBAAA,KAACC,0BAAAA,QAAD;CACO;CACL,MAAK;CACL,cAAa;CACb,OAAM;CACN,MAAK;CACL,cAAY;CACZ,YAAA,GAAA,OAAA,IAAc,kCAAkC,UAAU;CAC1D,GAAI;WAEH,YAAY,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,gBAAD,EAAgB,MAAK,gBAAiB,CAAA;CAC5C,CAAA,CAEZ;AACD,qBAAqB,cAAc;AAEnC,MAAM,mBAAmB,EACvB,WACA,GAAG,YAEH,iBAAA,GAAA,kBAAA,KAACC,8BAAAA,WAAD;CACE,YAAA,GAAA,OAAA,IAAc,+CAA+C,UAAU;CACvE,GAAI;CACJ,CAAA;AAKJ,MAAM,qBAAqB,EACzB,WACA,QACA,GAAG,YACyB;AAC5B,SAAA,GAAA,0BAAA,WAAiB;EACf,gBAAgB;EAChB;EACA,QAAA,GAAA,2BAAA,YACE,EACE,YAAA,GAAA,OAAA,IACE,mEACA,UACD,EACF,EACD,MACD;EACF,CAAC;;AAEJ,kBAAkB,cAAc"}