@jameskabz/nextcraft-ui 0.6.3 → 0.6.5

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 (369) hide show
  1. package/dist/components/craft-alert.cjs +69 -0
  2. package/dist/components/craft-alert.cjs.map +1 -0
  3. package/dist/components/craft-alert.d.cts +16 -0
  4. package/dist/components/craft-alert.d.ts +16 -0
  5. package/dist/components/craft-alert.js +45 -0
  6. package/dist/components/craft-alert.js.map +1 -0
  7. package/dist/components/craft-badge.cjs +54 -0
  8. package/dist/components/craft-badge.cjs.map +1 -0
  9. package/dist/components/craft-badge.d.cts +12 -0
  10. package/dist/components/craft-badge.d.ts +12 -0
  11. package/dist/components/craft-badge.js +30 -0
  12. package/dist/components/craft-badge.js.map +1 -0
  13. package/dist/components/craft-button.cjs +66 -0
  14. package/dist/components/craft-button.cjs.map +1 -0
  15. package/dist/components/craft-button.d.cts +15 -0
  16. package/dist/components/craft-button.d.ts +15 -0
  17. package/dist/components/craft-button.js +42 -0
  18. package/dist/components/craft-button.js.map +1 -0
  19. package/dist/components/craft-card.cjs +63 -0
  20. package/dist/components/craft-card.cjs.map +1 -0
  21. package/dist/components/craft-card.d.cts +13 -0
  22. package/dist/components/craft-card.d.ts +13 -0
  23. package/dist/components/craft-card.js +39 -0
  24. package/dist/components/craft-card.js.map +1 -0
  25. package/dist/components/craft-checkbox.cjs +103 -0
  26. package/dist/components/craft-checkbox.cjs.map +1 -0
  27. package/dist/components/craft-checkbox.d.cts +16 -0
  28. package/dist/components/craft-checkbox.d.ts +16 -0
  29. package/dist/components/craft-checkbox.js +69 -0
  30. package/dist/components/craft-checkbox.js.map +1 -0
  31. package/dist/components/craft-command-palette.cjs +134 -0
  32. package/dist/components/craft-command-palette.cjs.map +1 -0
  33. package/dist/components/craft-command-palette.d.cts +28 -0
  34. package/dist/components/craft-command-palette.d.ts +28 -0
  35. package/dist/components/craft-command-palette.js +100 -0
  36. package/dist/components/craft-command-palette.js.map +1 -0
  37. package/dist/components/craft-confirm-dialog.cjs +114 -0
  38. package/dist/components/craft-confirm-dialog.cjs.map +1 -0
  39. package/dist/components/craft-confirm-dialog.d.cts +21 -0
  40. package/dist/components/craft-confirm-dialog.d.ts +21 -0
  41. package/dist/components/craft-confirm-dialog.js +80 -0
  42. package/dist/components/craft-confirm-dialog.js.map +1 -0
  43. package/dist/components/craft-create-edit-drawer.cjs +112 -0
  44. package/dist/components/craft-create-edit-drawer.cjs.map +1 -0
  45. package/dist/components/craft-create-edit-drawer.d.cts +28 -0
  46. package/dist/components/craft-create-edit-drawer.d.ts +28 -0
  47. package/dist/components/craft-create-edit-drawer.js +78 -0
  48. package/dist/components/craft-create-edit-drawer.js.map +1 -0
  49. package/dist/components/craft-currency-input.cjs +68 -0
  50. package/dist/components/craft-currency-input.cjs.map +1 -0
  51. package/dist/components/craft-currency-input.d.cts +14 -0
  52. package/dist/components/craft-currency-input.d.ts +14 -0
  53. package/dist/components/craft-currency-input.js +34 -0
  54. package/dist/components/craft-currency-input.js.map +1 -0
  55. package/dist/components/craft-data-table.cjs +407 -0
  56. package/dist/components/craft-data-table.cjs.map +1 -0
  57. package/dist/components/craft-data-table.d.cts +58 -0
  58. package/dist/components/craft-data-table.d.ts +58 -0
  59. package/dist/{chunk-ZRV4Y374.js → components/craft-data-table.js} +30 -239
  60. package/dist/components/craft-data-table.js.map +1 -0
  61. package/dist/components/craft-date-picker.cjs +226 -0
  62. package/dist/components/craft-date-picker.cjs.map +1 -0
  63. package/dist/components/craft-date-picker.d.cts +17 -0
  64. package/dist/components/craft-date-picker.d.ts +17 -0
  65. package/dist/components/craft-date-picker.js +192 -0
  66. package/dist/components/craft-date-picker.js.map +1 -0
  67. package/dist/components/craft-drawer.cjs +126 -0
  68. package/dist/components/craft-drawer.cjs.map +1 -0
  69. package/dist/components/craft-drawer.d.cts +19 -0
  70. package/dist/components/craft-drawer.d.ts +19 -0
  71. package/dist/components/craft-drawer.js +92 -0
  72. package/dist/components/craft-drawer.js.map +1 -0
  73. package/dist/components/craft-dropdown-menu.cjs +127 -0
  74. package/dist/components/craft-dropdown-menu.cjs.map +1 -0
  75. package/dist/components/craft-dropdown-menu.d.cts +28 -0
  76. package/dist/components/craft-dropdown-menu.d.ts +28 -0
  77. package/dist/components/craft-dropdown-menu.js +93 -0
  78. package/dist/components/craft-dropdown-menu.js.map +1 -0
  79. package/dist/components/craft-empty-state.cjs +58 -0
  80. package/dist/components/craft-empty-state.cjs.map +1 -0
  81. package/dist/components/craft-empty-state.d.cts +14 -0
  82. package/dist/components/craft-empty-state.d.ts +14 -0
  83. package/dist/components/craft-empty-state.js +34 -0
  84. package/dist/components/craft-empty-state.js.map +1 -0
  85. package/dist/components/craft-error-state.cjs +60 -0
  86. package/dist/components/craft-error-state.cjs.map +1 -0
  87. package/dist/components/craft-error-state.d.cts +15 -0
  88. package/dist/components/craft-error-state.d.ts +15 -0
  89. package/dist/components/craft-error-state.js +36 -0
  90. package/dist/components/craft-error-state.js.map +1 -0
  91. package/dist/components/craft-filter-bar.cjs +76 -0
  92. package/dist/components/craft-filter-bar.cjs.map +1 -0
  93. package/dist/components/craft-filter-bar.d.cts +18 -0
  94. package/dist/components/craft-filter-bar.d.ts +18 -0
  95. package/dist/components/craft-filter-bar.js +52 -0
  96. package/dist/components/craft-filter-bar.js.map +1 -0
  97. package/dist/components/craft-form-builder.cjs +330 -0
  98. package/dist/components/craft-form-builder.cjs.map +1 -0
  99. package/dist/components/craft-form-builder.d.cts +57 -0
  100. package/dist/components/craft-form-builder.d.ts +57 -0
  101. package/dist/components/craft-form-builder.js +301 -0
  102. package/dist/components/craft-form-builder.js.map +1 -0
  103. package/dist/components/craft-form-field.cjs +301 -0
  104. package/dist/components/craft-form-field.cjs.map +1 -0
  105. package/dist/components/craft-form-field.d.cts +30 -0
  106. package/dist/components/craft-form-field.d.ts +30 -0
  107. package/dist/components/craft-form-field.js +280 -0
  108. package/dist/components/craft-form-field.js.map +1 -0
  109. package/dist/components/craft-form.cjs +114 -0
  110. package/dist/components/craft-form.cjs.map +1 -0
  111. package/dist/components/craft-form.d.cts +27 -0
  112. package/dist/components/craft-form.d.ts +27 -0
  113. package/dist/components/craft-form.js +80 -0
  114. package/dist/components/craft-form.js.map +1 -0
  115. package/dist/components/craft-icon.cjs +102 -0
  116. package/dist/components/craft-icon.cjs.map +1 -0
  117. package/dist/components/craft-icon.d.cts +19 -0
  118. package/dist/components/craft-icon.d.ts +19 -0
  119. package/dist/{chunk-FEFH5O5K.js → components/craft-icon.js} +31 -13
  120. package/dist/components/craft-icon.js.map +1 -0
  121. package/dist/components/craft-input.cjs +78 -0
  122. package/dist/components/craft-input.cjs.map +1 -0
  123. package/dist/components/craft-input.d.cts +19 -0
  124. package/dist/components/craft-input.d.ts +19 -0
  125. package/dist/{chunk-7SKDTIEK.js → components/craft-input.js} +5 -10
  126. package/dist/components/craft-input.js.map +1 -0
  127. package/dist/components/craft-link.cjs +70 -0
  128. package/dist/components/craft-link.cjs.map +1 -0
  129. package/dist/components/craft-link.d.cts +14 -0
  130. package/dist/components/craft-link.d.ts +14 -0
  131. package/dist/components/craft-link.js +36 -0
  132. package/dist/components/craft-link.js.map +1 -0
  133. package/dist/components/craft-loading-state.cjs +64 -0
  134. package/dist/components/craft-loading-state.cjs.map +1 -0
  135. package/dist/components/craft-loading-state.d.cts +13 -0
  136. package/dist/components/craft-loading-state.d.ts +13 -0
  137. package/dist/components/craft-loading-state.js +40 -0
  138. package/dist/components/craft-loading-state.js.map +1 -0
  139. package/dist/components/craft-modal.cjs +174 -0
  140. package/dist/components/craft-modal.cjs.map +1 -0
  141. package/dist/components/craft-modal.d.cts +19 -0
  142. package/dist/components/craft-modal.d.ts +19 -0
  143. package/dist/components/craft-modal.js +140 -0
  144. package/dist/components/craft-modal.js.map +1 -0
  145. package/dist/components/craft-number-input.cjs +63 -0
  146. package/dist/components/craft-number-input.cjs.map +1 -0
  147. package/dist/components/craft-number-input.d.cts +12 -0
  148. package/dist/components/craft-number-input.d.ts +12 -0
  149. package/dist/components/craft-number-input.js +29 -0
  150. package/dist/components/craft-number-input.js.map +1 -0
  151. package/dist/components/craft-pagination.cjs +130 -0
  152. package/dist/components/craft-pagination.cjs.map +1 -0
  153. package/dist/components/craft-pagination.d.cts +19 -0
  154. package/dist/components/craft-pagination.d.ts +19 -0
  155. package/dist/components/craft-pagination.js +106 -0
  156. package/dist/components/craft-pagination.js.map +1 -0
  157. package/dist/components/craft-popover.cjs +123 -0
  158. package/dist/components/craft-popover.cjs.map +1 -0
  159. package/dist/components/craft-popover.d.cts +20 -0
  160. package/dist/components/craft-popover.d.ts +20 -0
  161. package/dist/components/craft-popover.js +89 -0
  162. package/dist/components/craft-popover.js.map +1 -0
  163. package/dist/components/craft-select.cjs +84 -0
  164. package/dist/components/craft-select.cjs.map +1 -0
  165. package/dist/components/craft-select.d.cts +12 -0
  166. package/dist/components/craft-select.d.ts +12 -0
  167. package/dist/components/craft-select.js +50 -0
  168. package/dist/components/craft-select.js.map +1 -0
  169. package/dist/components/craft-skeleton.cjs +45 -0
  170. package/dist/components/craft-skeleton.cjs.map +1 -0
  171. package/dist/components/craft-skeleton.d.cts +10 -0
  172. package/dist/components/craft-skeleton.d.ts +10 -0
  173. package/dist/components/craft-skeleton.js +21 -0
  174. package/dist/components/craft-skeleton.js.map +1 -0
  175. package/dist/components/craft-stat-card.cjs +67 -0
  176. package/dist/components/craft-stat-card.cjs.map +1 -0
  177. package/dist/components/craft-stat-card.d.cts +17 -0
  178. package/dist/components/craft-stat-card.d.ts +17 -0
  179. package/dist/components/craft-stat-card.js +43 -0
  180. package/dist/components/craft-stat-card.js.map +1 -0
  181. package/dist/components/craft-submit-button.cjs +71 -0
  182. package/dist/components/craft-submit-button.cjs.map +1 -0
  183. package/dist/components/craft-submit-button.d.cts +13 -0
  184. package/dist/components/craft-submit-button.d.ts +13 -0
  185. package/dist/components/craft-submit-button.js +47 -0
  186. package/dist/components/craft-submit-button.js.map +1 -0
  187. package/dist/components/craft-switch.cjs +82 -0
  188. package/dist/components/craft-switch.cjs.map +1 -0
  189. package/dist/components/craft-switch.d.cts +14 -0
  190. package/dist/components/craft-switch.d.ts +14 -0
  191. package/dist/components/craft-switch.js +48 -0
  192. package/dist/components/craft-switch.js.map +1 -0
  193. package/dist/components/craft-table-toolbar.cjs +79 -0
  194. package/dist/components/craft-table-toolbar.cjs.map +1 -0
  195. package/dist/components/craft-table-toolbar.d.cts +19 -0
  196. package/dist/components/craft-table-toolbar.d.ts +19 -0
  197. package/dist/components/craft-table-toolbar.js +55 -0
  198. package/dist/components/craft-table-toolbar.js.map +1 -0
  199. package/dist/components/craft-tabs.cjs +105 -0
  200. package/dist/components/craft-tabs.cjs.map +1 -0
  201. package/dist/components/craft-tabs.d.cts +19 -0
  202. package/dist/components/craft-tabs.d.ts +19 -0
  203. package/dist/components/craft-tabs.js +71 -0
  204. package/dist/components/craft-tabs.js.map +1 -0
  205. package/dist/components/craft-textarea.cjs +69 -0
  206. package/dist/components/craft-textarea.cjs.map +1 -0
  207. package/dist/components/craft-textarea.d.cts +12 -0
  208. package/dist/components/craft-textarea.d.ts +12 -0
  209. package/dist/components/craft-textarea.js +35 -0
  210. package/dist/components/craft-textarea.js.map +1 -0
  211. package/dist/components/craft-toast.cjs +98 -0
  212. package/dist/components/craft-toast.cjs.map +1 -0
  213. package/dist/components/craft-toast.d.cts +24 -0
  214. package/dist/components/craft-toast.d.ts +24 -0
  215. package/dist/components/craft-toast.js +63 -0
  216. package/dist/components/craft-toast.js.map +1 -0
  217. package/dist/components/craft-tooltip.cjs +75 -0
  218. package/dist/components/craft-tooltip.cjs.map +1 -0
  219. package/dist/components/craft-tooltip.d.cts +13 -0
  220. package/dist/components/craft-tooltip.d.ts +13 -0
  221. package/dist/components/craft-tooltip.js +41 -0
  222. package/dist/components/craft-tooltip.js.map +1 -0
  223. package/dist/components/forms/types.cjs +17 -0
  224. package/dist/components/forms/types.cjs.map +1 -0
  225. package/dist/components/forms/types.d.cts +7 -0
  226. package/dist/components/forms/types.d.ts +7 -0
  227. package/dist/components/forms/types.js +1 -0
  228. package/dist/components/forms/types.js.map +1 -0
  229. package/dist/components/glass-card.cjs +64 -0
  230. package/dist/components/glass-card.cjs.map +1 -0
  231. package/dist/components/glass-card.d.cts +12 -0
  232. package/dist/components/glass-card.d.ts +12 -0
  233. package/dist/components/glass-card.js +40 -0
  234. package/dist/components/glass-card.js.map +1 -0
  235. package/dist/components/layout/app-shell.cjs +49 -0
  236. package/dist/components/layout/app-shell.cjs.map +1 -0
  237. package/dist/components/layout/app-shell.d.cts +10 -0
  238. package/dist/components/layout/app-shell.d.ts +10 -0
  239. package/dist/components/layout/app-shell.js +25 -0
  240. package/dist/components/layout/app-shell.js.map +1 -0
  241. package/dist/components/layout/app-template.cjs +104 -0
  242. package/dist/components/layout/app-template.cjs.map +1 -0
  243. package/dist/components/layout/app-template.d.cts +19 -0
  244. package/dist/components/layout/app-template.d.ts +19 -0
  245. package/dist/components/layout/app-template.js +70 -0
  246. package/dist/components/layout/app-template.js.map +1 -0
  247. package/dist/components/layout/auth-layout.cjs +65 -0
  248. package/dist/components/layout/auth-layout.cjs.map +1 -0
  249. package/dist/components/layout/auth-layout.d.cts +12 -0
  250. package/dist/components/layout/auth-layout.d.ts +12 -0
  251. package/dist/components/layout/auth-layout.js +41 -0
  252. package/dist/components/layout/auth-layout.js.map +1 -0
  253. package/dist/components/layout/breadcrumbs.cjs +39 -0
  254. package/dist/components/layout/breadcrumbs.cjs.map +1 -0
  255. package/dist/components/layout/breadcrumbs.d.cts +13 -0
  256. package/dist/components/layout/breadcrumbs.d.ts +13 -0
  257. package/dist/components/layout/breadcrumbs.js +15 -0
  258. package/dist/components/layout/breadcrumbs.js.map +1 -0
  259. package/dist/components/layout/container.cjs +45 -0
  260. package/dist/components/layout/container.cjs.map +1 -0
  261. package/dist/components/layout/container.d.cts +9 -0
  262. package/dist/components/layout/container.d.ts +9 -0
  263. package/dist/components/layout/container.js +21 -0
  264. package/dist/components/layout/container.js.map +1 -0
  265. package/dist/components/layout/grid.cjs +47 -0
  266. package/dist/components/layout/grid.cjs.map +1 -0
  267. package/dist/components/layout/grid.d.cts +10 -0
  268. package/dist/components/layout/grid.d.ts +10 -0
  269. package/dist/components/layout/grid.js +23 -0
  270. package/dist/components/layout/grid.js.map +1 -0
  271. package/dist/components/layout/layout-config.cjs +78 -0
  272. package/dist/components/layout/layout-config.cjs.map +1 -0
  273. package/dist/components/layout/layout-config.d.cts +92 -0
  274. package/dist/components/layout/layout-config.d.ts +92 -0
  275. package/dist/components/layout/layout-config.js +54 -0
  276. package/dist/components/layout/layout-config.js.map +1 -0
  277. package/dist/components/layout/page-header.cjs +52 -0
  278. package/dist/components/layout/page-header.cjs.map +1 -0
  279. package/dist/components/layout/page-header.d.cts +11 -0
  280. package/dist/components/layout/page-header.d.ts +11 -0
  281. package/dist/components/layout/page-header.js +28 -0
  282. package/dist/components/layout/page-header.js.map +1 -0
  283. package/dist/components/layout/sidebar.cjs +64 -0
  284. package/dist/components/layout/sidebar.cjs.map +1 -0
  285. package/dist/components/layout/sidebar.d.cts +17 -0
  286. package/dist/components/layout/sidebar.d.ts +17 -0
  287. package/dist/components/layout/sidebar.js +40 -0
  288. package/dist/components/layout/sidebar.js.map +1 -0
  289. package/dist/components/layout/top-nav.cjs +49 -0
  290. package/dist/components/layout/top-nav.cjs.map +1 -0
  291. package/dist/components/layout/top-nav.d.cts +11 -0
  292. package/dist/components/layout/top-nav.d.ts +11 -0
  293. package/dist/components/layout/top-nav.js +25 -0
  294. package/dist/components/layout/top-nav.js.map +1 -0
  295. package/dist/components/layout/types.cjs +29 -0
  296. package/dist/components/layout/types.cjs.map +1 -0
  297. package/dist/components/layout/types.d.cts +12 -0
  298. package/dist/components/layout/types.d.ts +12 -0
  299. package/dist/components/layout/types.js +5 -0
  300. package/dist/components/layout/types.js.map +1 -0
  301. package/dist/components/table/types.cjs +17 -0
  302. package/dist/components/table/types.cjs.map +1 -0
  303. package/dist/components/table/types.d.cts +7 -0
  304. package/dist/components/table/types.d.ts +7 -0
  305. package/dist/components/table/types.js +1 -0
  306. package/dist/components/table/types.js.map +1 -0
  307. package/dist/components/theme-switcher.cjs +72 -0
  308. package/dist/components/theme-switcher.cjs.map +1 -0
  309. package/dist/components/theme-switcher.d.cts +9 -0
  310. package/dist/components/theme-switcher.d.ts +9 -0
  311. package/dist/components/theme-switcher.js +48 -0
  312. package/dist/components/theme-switcher.js.map +1 -0
  313. package/dist/craft/components.cjs +64 -1779
  314. package/dist/craft/components.cjs.map +1 -1
  315. package/dist/craft/components.d.cts +36 -369
  316. package/dist/craft/components.d.ts +36 -369
  317. package/dist/craft/components.js +31 -42
  318. package/dist/craft/components.js.map +1 -1
  319. package/dist/craft/forms.cjs +6 -1347
  320. package/dist/craft/forms.cjs.map +1 -1
  321. package/dist/craft/forms.d.cts +7 -101
  322. package/dist/craft/forms.d.ts +7 -101
  323. package/dist/craft/forms.js +3 -8
  324. package/dist/craft/forms.js.map +1 -1
  325. package/dist/craft/layout.cjs +20 -374
  326. package/dist/craft/layout.cjs.map +1 -1
  327. package/dist/craft/layout.d.cts +12 -170
  328. package/dist/craft/layout.d.ts +12 -170
  329. package/dist/craft/layout.js +10 -14
  330. package/dist/craft/layout.js.map +1 -1
  331. package/dist/craft/table.cjs +8 -632
  332. package/dist/craft/table.cjs.map +1 -1
  333. package/dist/craft/table.d.cts +7 -99
  334. package/dist/craft/table.d.ts +7 -99
  335. package/dist/craft/table.js +4 -8
  336. package/dist/craft/table.js.map +1 -1
  337. package/dist/craft/theme.cjs +5 -137
  338. package/dist/craft/theme.cjs.map +1 -1
  339. package/dist/craft/theme.d.cts +3 -9
  340. package/dist/craft/theme.d.ts +3 -9
  341. package/dist/craft/theme.js +2 -6
  342. package/dist/craft/theme.js.map +1 -1
  343. package/dist/index.cjs +103 -3426
  344. package/dist/index.cjs.map +1 -1
  345. package/dist/index.d.cts +50 -6
  346. package/dist/index.d.ts +50 -6
  347. package/dist/index.js +50 -70
  348. package/dist/index.js.map +1 -1
  349. package/dist/utils/cn.cjs +31 -0
  350. package/dist/utils/cn.cjs.map +1 -0
  351. package/dist/utils/cn.d.cts +3 -0
  352. package/dist/utils/cn.d.ts +3 -0
  353. package/dist/{chunk-VQ6T3HIX.js → utils/cn.js} +1 -3
  354. package/dist/utils/cn.js.map +1 -0
  355. package/package.json +6 -1
  356. package/dist/chunk-6F7FN2ZF.js +0 -671
  357. package/dist/chunk-6F7FN2ZF.js.map +0 -1
  358. package/dist/chunk-7Q4Z47HT.js +0 -657
  359. package/dist/chunk-7Q4Z47HT.js.map +0 -1
  360. package/dist/chunk-7SKDTIEK.js.map +0 -1
  361. package/dist/chunk-FEFH5O5K.js.map +0 -1
  362. package/dist/chunk-M2EKVXB6.js +0 -127
  363. package/dist/chunk-M2EKVXB6.js.map +0 -1
  364. package/dist/chunk-SBLIF6UU.js +0 -1029
  365. package/dist/chunk-SBLIF6UU.js.map +0 -1
  366. package/dist/chunk-VQ6T3HIX.js.map +0 -1
  367. package/dist/chunk-YVZL4GET.js +0 -328
  368. package/dist/chunk-YVZL4GET.js.map +0 -1
  369. package/dist/chunk-ZRV4Y374.js.map +0 -1
@@ -0,0 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.cjs';
4
+
5
+ type CraftStatTrend = "up" | "down" | "neutral";
6
+ type CraftStatCardProps = React.HTMLAttributes<HTMLDivElement> & {
7
+ label: React.ReactNode;
8
+ value: React.ReactNode;
9
+ delta?: React.ReactNode;
10
+ trend?: CraftStatTrend;
11
+ icon?: React.ReactNode;
12
+ footer?: React.ReactNode;
13
+ tone?: ThemeName;
14
+ };
15
+ declare function CraftStatCard({ label, value, delta, trend, icon, footer, tone, className, ...props }: CraftStatCardProps): react_jsx_runtime.JSX.Element;
16
+
17
+ export { CraftStatCard, type CraftStatCardProps };
@@ -0,0 +1,17 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.js';
4
+
5
+ type CraftStatTrend = "up" | "down" | "neutral";
6
+ type CraftStatCardProps = React.HTMLAttributes<HTMLDivElement> & {
7
+ label: React.ReactNode;
8
+ value: React.ReactNode;
9
+ delta?: React.ReactNode;
10
+ trend?: CraftStatTrend;
11
+ icon?: React.ReactNode;
12
+ footer?: React.ReactNode;
13
+ tone?: ThemeName;
14
+ };
15
+ declare function CraftStatCard({ label, value, delta, trend, icon, footer, tone, className, ...props }: CraftStatCardProps): react_jsx_runtime.JSX.Element;
16
+
17
+ export { CraftStatCard, type CraftStatCardProps };
@@ -0,0 +1,43 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@/utils/cn";
3
+ import { CraftCard } from "@/components/craft-card";
4
+ const trendClasses = {
5
+ up: "text-emerald-300",
6
+ down: "text-rose-300",
7
+ neutral: "text-[rgb(var(--nc-fg-muted))]"
8
+ };
9
+ function CraftStatCard({
10
+ label,
11
+ value,
12
+ delta,
13
+ trend = "neutral",
14
+ icon,
15
+ footer,
16
+ tone,
17
+ className,
18
+ ...props
19
+ }) {
20
+ return /* @__PURE__ */ jsxs(
21
+ CraftCard,
22
+ {
23
+ className: cn("space-y-3", className),
24
+ tone,
25
+ ...props,
26
+ children: [
27
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
28
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: label }),
29
+ icon && /* @__PURE__ */ jsx("div", { className: "text-[rgb(var(--nc-fg-soft))]", children: icon })
30
+ ] }),
31
+ /* @__PURE__ */ jsx("p", { className: "text-3xl font-semibold", children: value }),
32
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between text-xs", children: [
33
+ delta && /* @__PURE__ */ jsx("span", { className: trendClasses[trend], children: delta }),
34
+ footer && /* @__PURE__ */ jsx("span", { className: "text-[rgb(var(--nc-fg-muted))]", children: footer })
35
+ ] })
36
+ ]
37
+ }
38
+ );
39
+ }
40
+ export {
41
+ CraftStatCard
42
+ };
43
+ //# sourceMappingURL=craft-stat-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-stat-card.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftCard } from \"@/components/craft-card\";\n\ntype CraftStatTrend = \"up\" | \"down\" | \"neutral\";\n\nexport type CraftStatCardProps = React.HTMLAttributes<HTMLDivElement> & {\n label: React.ReactNode;\n value: React.ReactNode;\n delta?: React.ReactNode;\n trend?: CraftStatTrend;\n icon?: React.ReactNode;\n footer?: React.ReactNode;\n tone?: ThemeName;\n};\n\nconst trendClasses: Record<CraftStatTrend, string> = {\n up: \"text-emerald-300\",\n down: \"text-rose-300\",\n neutral: \"text-[rgb(var(--nc-fg-muted))]\",\n};\n\nexport function CraftStatCard({\n label,\n value,\n delta,\n trend = \"neutral\",\n icon,\n footer,\n tone,\n className,\n ...props\n}: CraftStatCardProps) {\n return (\n <CraftCard\n className={cn(\"space-y-3\", className)}\n tone={tone}\n {...props}\n >\n <div className=\"flex items-center justify-between\">\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">{label}</p>\n {icon && <div className=\"text-[rgb(var(--nc-fg-soft))]\">{icon}</div>}\n </div>\n <p className=\"text-3xl font-semibold\">{value}</p>\n <div className=\"flex items-center justify-between text-xs\">\n {delta && <span className={trendClasses[trend]}>{delta}</span>}\n {footer && <span className=\"text-[rgb(var(--nc-fg-muted))]\">{footer}</span>}\n </div>\n </CraftCard>\n );\n}\n"],"mappings":"AAyCM,SACE,KADF;AAvCN,SAAS,UAAU;AAEnB,SAAS,iBAAiB;AAc1B,MAAM,eAA+C;AAAA,EACnD,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,SAAS;AACX;AAEO,SAAS,cAAc;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,aAAa,SAAS;AAAA,MACpC;AAAA,MACC,GAAG;AAAA,MAEJ;AAAA,6BAAC,SAAI,WAAU,qCACb;AAAA,8BAAC,OAAE,WAAU,0CAA0C,iBAAM;AAAA,UAC5D,QAAQ,oBAAC,SAAI,WAAU,iCAAiC,gBAAK;AAAA,WAChE;AAAA,QACA,oBAAC,OAAE,WAAU,0BAA0B,iBAAM;AAAA,QAC7C,qBAAC,SAAI,WAAU,6CACZ;AAAA,mBAAS,oBAAC,UAAK,WAAW,aAAa,KAAK,GAAI,iBAAM;AAAA,UACtD,UAAU,oBAAC,UAAK,WAAU,kCAAkC,kBAAO;AAAA,WACtE;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ "use client";
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
+ var craft_submit_button_exports = {};
21
+ __export(craft_submit_button_exports, {
22
+ CraftSubmitButton: () => CraftSubmitButton
23
+ });
24
+ module.exports = __toCommonJS(craft_submit_button_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_react_hook_form = require("react-hook-form");
27
+ var import_cn = require("@/utils/cn");
28
+ function CraftSubmitButton({
29
+ className,
30
+ tone,
31
+ loading,
32
+ loadingLabel = "Submitting...",
33
+ disableWhenInvalid = true,
34
+ disabled,
35
+ children,
36
+ ...props
37
+ }) {
38
+ var _a, _b, _c, _d;
39
+ const form = (0, import_react_hook_form.useFormContext)();
40
+ const isSubmitting = (_b = loading != null ? loading : (_a = form == null ? void 0 : form.formState) == null ? void 0 : _a.isSubmitting) != null ? _b : false;
41
+ const isValid = (_d = (_c = form == null ? void 0 : form.formState) == null ? void 0 : _c.isValid) != null ? _d : true;
42
+ const isDisabled = disabled || isSubmitting || disableWhenInvalid && !isValid;
43
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
44
+ "button",
45
+ {
46
+ type: "submit",
47
+ className: (0, import_cn.cn)(
48
+ "relative inline-flex items-center justify-center gap-2 rounded-xl px-6 py-2 text-sm font-semibold",
49
+ "bg-linear-to-br from-[rgb(var(--nc-accent-1))] via-[rgb(var(--nc-accent-2))] to-[rgb(var(--nc-accent-3))]",
50
+ "text-white shadow-[0_12px_30px_rgb(var(--nc-accent-1)/0.35)]",
51
+ "transition-all duration-200",
52
+ "hover:shadow-[0_16px_36px_rgb(var(--nc-accent-1)/0.5)] hover:scale-[1.02] active:scale-[0.98]",
53
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[rgb(var(--nc-accent-1)/0.6)]",
54
+ "disabled:opacity-60 disabled:cursor-not-allowed disabled:hover:scale-100",
55
+ className
56
+ ),
57
+ "data-nc-theme": tone,
58
+ disabled: isDisabled,
59
+ ...props,
60
+ children: [
61
+ isSubmitting && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "inline-flex h-4 w-4 animate-spin rounded-full border-2 border-white/60 border-t-white" }),
62
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: isSubmitting ? loadingLabel : children })
63
+ ]
64
+ }
65
+ );
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ CraftSubmitButton
70
+ });
71
+ //# sourceMappingURL=craft-submit-button.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-submit-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\n\nexport type CraftSubmitButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n tone?: ThemeName;\n loading?: boolean;\n loadingLabel?: React.ReactNode;\n disableWhenInvalid?: boolean;\n};\n\nexport function CraftSubmitButton({\n className,\n tone,\n loading,\n loadingLabel = \"Submitting...\",\n disableWhenInvalid = true,\n disabled,\n children,\n ...props\n}: CraftSubmitButtonProps) {\n const form = useFormContext();\n const isSubmitting = loading ?? form?.formState?.isSubmitting ?? false;\n const isValid = form?.formState?.isValid ?? true;\n const isDisabled =\n disabled || isSubmitting || (disableWhenInvalid && !isValid);\n\n return (\n <button\n type=\"submit\"\n className={cn(\n \"relative inline-flex items-center justify-center gap-2 rounded-xl px-6 py-2 text-sm font-semibold\",\n \"bg-linear-to-br from-[rgb(var(--nc-accent-1))] via-[rgb(var(--nc-accent-2))] to-[rgb(var(--nc-accent-3))]\",\n \"text-white shadow-[0_12px_30px_rgb(var(--nc-accent-1)/0.35)]\",\n \"transition-all duration-200\",\n \"hover:shadow-[0_16px_36px_rgb(var(--nc-accent-1)/0.5)] hover:scale-[1.02] active:scale-[0.98]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[rgb(var(--nc-accent-1)/0.6)]\",\n \"disabled:opacity-60 disabled:cursor-not-allowed disabled:hover:scale-100\",\n className\n )}\n data-nc-theme={tone}\n disabled={isDisabled}\n {...props}\n >\n {isSubmitting && (\n <span className=\"inline-flex h-4 w-4 animate-spin rounded-full border-2 border-white/60 border-t-white\" />\n )}\n <span>{isSubmitting ? loadingLabel : children}</span>\n </button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCI;AA7BJ,6BAA+B;AAE/B,gBAAmB;AAUZ,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2B;AAxB3B;AAyBE,QAAM,WAAO,uCAAe;AAC5B,QAAM,gBAAe,kCAAW,kCAAM,cAAN,mBAAiB,iBAA5B,YAA4C;AACjE,QAAM,WAAU,wCAAM,cAAN,mBAAiB,YAAjB,YAA4B;AAC5C,QAAM,aACJ,YAAY,gBAAiB,sBAAsB,CAAC;AAEtD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MACf,UAAU;AAAA,MACT,GAAG;AAAA,MAEH;AAAA,wBACC,4CAAC,UAAK,WAAU,yFAAwF;AAAA,QAE1G,4CAAC,UAAM,yBAAe,eAAe,UAAS;AAAA;AAAA;AAAA,EAChD;AAEJ;","names":[]}
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.cjs';
4
+
5
+ type CraftSubmitButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
6
+ tone?: ThemeName;
7
+ loading?: boolean;
8
+ loadingLabel?: React.ReactNode;
9
+ disableWhenInvalid?: boolean;
10
+ };
11
+ declare function CraftSubmitButton({ className, tone, loading, loadingLabel, disableWhenInvalid, disabled, children, ...props }: CraftSubmitButtonProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { CraftSubmitButton, type CraftSubmitButtonProps };
@@ -0,0 +1,13 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.js';
4
+
5
+ type CraftSubmitButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {
6
+ tone?: ThemeName;
7
+ loading?: boolean;
8
+ loadingLabel?: React.ReactNode;
9
+ disableWhenInvalid?: boolean;
10
+ };
11
+ declare function CraftSubmitButton({ className, tone, loading, loadingLabel, disableWhenInvalid, disabled, children, ...props }: CraftSubmitButtonProps): react_jsx_runtime.JSX.Element;
12
+
13
+ export { CraftSubmitButton, type CraftSubmitButtonProps };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useFormContext } from "react-hook-form";
4
+ import { cn } from "@/utils/cn";
5
+ function CraftSubmitButton({
6
+ className,
7
+ tone,
8
+ loading,
9
+ loadingLabel = "Submitting...",
10
+ disableWhenInvalid = true,
11
+ disabled,
12
+ children,
13
+ ...props
14
+ }) {
15
+ var _a, _b, _c, _d;
16
+ const form = useFormContext();
17
+ const isSubmitting = (_b = loading != null ? loading : (_a = form == null ? void 0 : form.formState) == null ? void 0 : _a.isSubmitting) != null ? _b : false;
18
+ const isValid = (_d = (_c = form == null ? void 0 : form.formState) == null ? void 0 : _c.isValid) != null ? _d : true;
19
+ const isDisabled = disabled || isSubmitting || disableWhenInvalid && !isValid;
20
+ return /* @__PURE__ */ jsxs(
21
+ "button",
22
+ {
23
+ type: "submit",
24
+ className: cn(
25
+ "relative inline-flex items-center justify-center gap-2 rounded-xl px-6 py-2 text-sm font-semibold",
26
+ "bg-linear-to-br from-[rgb(var(--nc-accent-1))] via-[rgb(var(--nc-accent-2))] to-[rgb(var(--nc-accent-3))]",
27
+ "text-white shadow-[0_12px_30px_rgb(var(--nc-accent-1)/0.35)]",
28
+ "transition-all duration-200",
29
+ "hover:shadow-[0_16px_36px_rgb(var(--nc-accent-1)/0.5)] hover:scale-[1.02] active:scale-[0.98]",
30
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[rgb(var(--nc-accent-1)/0.6)]",
31
+ "disabled:opacity-60 disabled:cursor-not-allowed disabled:hover:scale-100",
32
+ className
33
+ ),
34
+ "data-nc-theme": tone,
35
+ disabled: isDisabled,
36
+ ...props,
37
+ children: [
38
+ isSubmitting && /* @__PURE__ */ jsx("span", { className: "inline-flex h-4 w-4 animate-spin rounded-full border-2 border-white/60 border-t-white" }),
39
+ /* @__PURE__ */ jsx("span", { children: isSubmitting ? loadingLabel : children })
40
+ ]
41
+ }
42
+ );
43
+ }
44
+ export {
45
+ CraftSubmitButton
46
+ };
47
+ //# sourceMappingURL=craft-submit-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-submit-button.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\n\nexport type CraftSubmitButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement> & {\n tone?: ThemeName;\n loading?: boolean;\n loadingLabel?: React.ReactNode;\n disableWhenInvalid?: boolean;\n};\n\nexport function CraftSubmitButton({\n className,\n tone,\n loading,\n loadingLabel = \"Submitting...\",\n disableWhenInvalid = true,\n disabled,\n children,\n ...props\n}: CraftSubmitButtonProps) {\n const form = useFormContext();\n const isSubmitting = loading ?? form?.formState?.isSubmitting ?? false;\n const isValid = form?.formState?.isValid ?? true;\n const isDisabled =\n disabled || isSubmitting || (disableWhenInvalid && !isValid);\n\n return (\n <button\n type=\"submit\"\n className={cn(\n \"relative inline-flex items-center justify-center gap-2 rounded-xl px-6 py-2 text-sm font-semibold\",\n \"bg-linear-to-br from-[rgb(var(--nc-accent-1))] via-[rgb(var(--nc-accent-2))] to-[rgb(var(--nc-accent-3))]\",\n \"text-white shadow-[0_12px_30px_rgb(var(--nc-accent-1)/0.35)]\",\n \"transition-all duration-200\",\n \"hover:shadow-[0_16px_36px_rgb(var(--nc-accent-1)/0.5)] hover:scale-[1.02] active:scale-[0.98]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[rgb(var(--nc-accent-1)/0.6)]\",\n \"disabled:opacity-60 disabled:cursor-not-allowed disabled:hover:scale-100\",\n className\n )}\n data-nc-theme={tone}\n disabled={isDisabled}\n {...props}\n >\n {isSubmitting && (\n <span className=\"inline-flex h-4 w-4 animate-spin rounded-full border-2 border-white/60 border-t-white\" />\n )}\n <span>{isSubmitting ? loadingLabel : children}</span>\n </button>\n );\n}\n"],"mappings":";AAgCI,SAiBI,KAjBJ;AA7BJ,SAAS,sBAAsB;AAE/B,SAAS,UAAU;AAUZ,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA2B;AAxB3B;AAyBE,QAAM,OAAO,eAAe;AAC5B,QAAM,gBAAe,kCAAW,kCAAM,cAAN,mBAAiB,iBAA5B,YAA4C;AACjE,QAAM,WAAU,wCAAM,cAAN,mBAAiB,YAAjB,YAA4B;AAC5C,QAAM,aACJ,YAAY,gBAAiB,sBAAsB,CAAC;AAEtD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MACf,UAAU;AAAA,MACT,GAAG;AAAA,MAEH;AAAA,wBACC,oBAAC,UAAK,WAAU,yFAAwF;AAAA,QAE1G,oBAAC,UAAM,yBAAe,eAAe,UAAS;AAAA;AAAA;AAAA,EAChD;AAEJ;","names":[]}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var craft_switch_exports = {};
30
+ __export(craft_switch_exports, {
31
+ CraftSwitch: () => CraftSwitch
32
+ });
33
+ module.exports = __toCommonJS(craft_switch_exports);
34
+ var import_jsx_runtime = require("react/jsx-runtime");
35
+ var React = __toESM(require("react"), 1);
36
+ var import_cn = require("@/utils/cn");
37
+ const CraftSwitch = React.forwardRef(
38
+ ({ className, tone, label, ...props }, ref) => {
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
40
+ "label",
41
+ {
42
+ className: (0, import_cn.cn)(
43
+ "inline-flex items-center gap-3 text-sm text-[rgb(var(--nc-fg))]",
44
+ props.disabled ? "opacity-60" : "cursor-pointer",
45
+ className
46
+ ),
47
+ "data-nc-theme": tone,
48
+ children: [
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", { ref, type: "checkbox", className: "peer sr-only", ...props }),
50
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
51
+ "span",
52
+ {
53
+ className: (0, import_cn.cn)(
54
+ "relative h-6 w-11 rounded-full border-2 border-[rgb(var(--nc-border)/0.35)] bg-[rgb(var(--nc-surface)/0.08)]",
55
+ "transition-all duration-200",
56
+ "peer-focus-visible:ring-2 peer-focus-visible:ring-[rgb(var(--nc-accent-1)/0.5)]",
57
+ "peer-checked:border-[rgb(var(--nc-accent-1)/0.6)] peer-checked:bg-[rgb(var(--nc-accent-1)/0.25)]"
58
+ ),
59
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
60
+ "span",
61
+ {
62
+ className: (0, import_cn.cn)(
63
+ "absolute left-0.5 top-0.5 h-4 w-4 rounded-full bg-[rgb(var(--nc-surface-muted)/0.9)]",
64
+ "transition-all duration-200",
65
+ "peer-checked:translate-x-5 peer-checked:bg-[rgb(var(--nc-surface-muted))]"
66
+ )
67
+ }
68
+ )
69
+ }
70
+ ),
71
+ label && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: label })
72
+ ]
73
+ }
74
+ );
75
+ }
76
+ );
77
+ CraftSwitch.displayName = "CraftSwitch";
78
+ // Annotate the CommonJS export names for ESM import in node:
79
+ 0 && (module.exports = {
80
+ CraftSwitch
81
+ });
82
+ //# sourceMappingURL=craft-switch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-switch.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\n\nexport type CraftSwitchProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n> & {\n tone?: ThemeName;\n label?: React.ReactNode;\n};\n\nexport const CraftSwitch = React.forwardRef<HTMLInputElement, CraftSwitchProps>(\n ({ className, tone, label, ...props }, ref) => {\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-3 text-sm text-[rgb(var(--nc-fg))]\",\n props.disabled ? \"opacity-60\" : \"cursor-pointer\",\n className\n )}\n data-nc-theme={tone}\n >\n <input ref={ref} type=\"checkbox\" className=\"peer sr-only\" {...props} />\n <span\n className={cn(\n \"relative h-6 w-11 rounded-full border-2 border-[rgb(var(--nc-border)/0.35)] bg-[rgb(var(--nc-surface)/0.08)]\",\n \"transition-all duration-200\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-[rgb(var(--nc-accent-1)/0.5)]\",\n \"peer-checked:border-[rgb(var(--nc-accent-1)/0.6)] peer-checked:bg-[rgb(var(--nc-accent-1)/0.25)]\"\n )}\n >\n <span\n className={cn(\n \"absolute left-0.5 top-0.5 h-4 w-4 rounded-full bg-[rgb(var(--nc-surface-muted)/0.9)]\",\n \"transition-all duration-200\",\n \"peer-checked:translate-x-5 peer-checked:bg-[rgb(var(--nc-surface-muted))]\"\n )}\n />\n </span>\n {label && <span>{label}</span>}\n </label>\n );\n }\n);\n\nCraftSwitch.displayName = \"CraftSwitch\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgBM;AAhBN,YAAuB;AAEvB,gBAAmB;AAWZ,MAAM,cAAc,MAAM;AAAA,EAC/B,CAAC,EAAE,WAAW,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ;AAC7C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,MAAM,WAAW,eAAe;AAAA,UAChC;AAAA,QACF;AAAA,QACA,iBAAe;AAAA,QAEf;AAAA,sDAAC,WAAM,KAAU,MAAK,YAAW,WAAU,gBAAgB,GAAG,OAAO;AAAA,UACrE;AAAA,YAAC;AAAA;AAAA,cACC,eAAW;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,eAAW;AAAA,oBACT;AAAA,oBACA;AAAA,oBACA;AAAA,kBACF;AAAA;AAAA,cACF;AAAA;AAAA,UACF;AAAA,UACC,SAAS,4CAAC,UAAM,iBAAM;AAAA;AAAA;AAAA,IACzB;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;","names":[]}
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.cjs';
3
+ import 'react/jsx-runtime';
4
+
5
+ type CraftSwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
6
+ tone?: ThemeName;
7
+ label?: React.ReactNode;
8
+ };
9
+ declare const CraftSwitch: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
10
+ tone?: ThemeName;
11
+ label?: React.ReactNode;
12
+ } & React.RefAttributes<HTMLInputElement>>;
13
+
14
+ export { CraftSwitch, type CraftSwitchProps };
@@ -0,0 +1,14 @@
1
+ import * as React from 'react';
2
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.js';
3
+ import 'react/jsx-runtime';
4
+
5
+ type CraftSwitchProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
6
+ tone?: ThemeName;
7
+ label?: React.ReactNode;
8
+ };
9
+ declare const CraftSwitch: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
10
+ tone?: ThemeName;
11
+ label?: React.ReactNode;
12
+ } & React.RefAttributes<HTMLInputElement>>;
13
+
14
+ export { CraftSwitch, type CraftSwitchProps };
@@ -0,0 +1,48 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "@/utils/cn";
4
+ const CraftSwitch = React.forwardRef(
5
+ ({ className, tone, label, ...props }, ref) => {
6
+ return /* @__PURE__ */ jsxs(
7
+ "label",
8
+ {
9
+ className: cn(
10
+ "inline-flex items-center gap-3 text-sm text-[rgb(var(--nc-fg))]",
11
+ props.disabled ? "opacity-60" : "cursor-pointer",
12
+ className
13
+ ),
14
+ "data-nc-theme": tone,
15
+ children: [
16
+ /* @__PURE__ */ jsx("input", { ref, type: "checkbox", className: "peer sr-only", ...props }),
17
+ /* @__PURE__ */ jsx(
18
+ "span",
19
+ {
20
+ className: cn(
21
+ "relative h-6 w-11 rounded-full border-2 border-[rgb(var(--nc-border)/0.35)] bg-[rgb(var(--nc-surface)/0.08)]",
22
+ "transition-all duration-200",
23
+ "peer-focus-visible:ring-2 peer-focus-visible:ring-[rgb(var(--nc-accent-1)/0.5)]",
24
+ "peer-checked:border-[rgb(var(--nc-accent-1)/0.6)] peer-checked:bg-[rgb(var(--nc-accent-1)/0.25)]"
25
+ ),
26
+ children: /* @__PURE__ */ jsx(
27
+ "span",
28
+ {
29
+ className: cn(
30
+ "absolute left-0.5 top-0.5 h-4 w-4 rounded-full bg-[rgb(var(--nc-surface-muted)/0.9)]",
31
+ "transition-all duration-200",
32
+ "peer-checked:translate-x-5 peer-checked:bg-[rgb(var(--nc-surface-muted))]"
33
+ )
34
+ }
35
+ )
36
+ }
37
+ ),
38
+ label && /* @__PURE__ */ jsx("span", { children: label })
39
+ ]
40
+ }
41
+ );
42
+ }
43
+ );
44
+ CraftSwitch.displayName = "CraftSwitch";
45
+ export {
46
+ CraftSwitch
47
+ };
48
+ //# sourceMappingURL=craft-switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-switch.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\n\nexport type CraftSwitchProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n> & {\n tone?: ThemeName;\n label?: React.ReactNode;\n};\n\nexport const CraftSwitch = React.forwardRef<HTMLInputElement, CraftSwitchProps>(\n ({ className, tone, label, ...props }, ref) => {\n return (\n <label\n className={cn(\n \"inline-flex items-center gap-3 text-sm text-[rgb(var(--nc-fg))]\",\n props.disabled ? \"opacity-60\" : \"cursor-pointer\",\n className\n )}\n data-nc-theme={tone}\n >\n <input ref={ref} type=\"checkbox\" className=\"peer sr-only\" {...props} />\n <span\n className={cn(\n \"relative h-6 w-11 rounded-full border-2 border-[rgb(var(--nc-border)/0.35)] bg-[rgb(var(--nc-surface)/0.08)]\",\n \"transition-all duration-200\",\n \"peer-focus-visible:ring-2 peer-focus-visible:ring-[rgb(var(--nc-accent-1)/0.5)]\",\n \"peer-checked:border-[rgb(var(--nc-accent-1)/0.6)] peer-checked:bg-[rgb(var(--nc-accent-1)/0.25)]\"\n )}\n >\n <span\n className={cn(\n \"absolute left-0.5 top-0.5 h-4 w-4 rounded-full bg-[rgb(var(--nc-surface-muted)/0.9)]\",\n \"transition-all duration-200\",\n \"peer-checked:translate-x-5 peer-checked:bg-[rgb(var(--nc-surface-muted))]\"\n )}\n />\n </span>\n {label && <span>{label}</span>}\n </label>\n );\n }\n);\n\nCraftSwitch.displayName = \"CraftSwitch\";\n"],"mappings":"AAgBM,SAQE,KARF;AAhBN,YAAY,WAAW;AAEvB,SAAS,UAAU;AAWZ,MAAM,cAAc,MAAM;AAAA,EAC/B,CAAC,EAAE,WAAW,MAAM,OAAO,GAAG,MAAM,GAAG,QAAQ;AAC7C,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,MAAM,WAAW,eAAe;AAAA,UAChC;AAAA,QACF;AAAA,QACA,iBAAe;AAAA,QAEf;AAAA,8BAAC,WAAM,KAAU,MAAK,YAAW,WAAU,gBAAgB,GAAG,OAAO;AAAA,UACrE;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AAAA,cAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAW;AAAA,oBACT;AAAA,oBACA;AAAA,oBACA;AAAA,kBACF;AAAA;AAAA,cACF;AAAA;AAAA,UACF;AAAA,UACC,SAAS,oBAAC,UAAM,iBAAM;AAAA;AAAA;AAAA,IACzB;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;","names":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var craft_table_toolbar_exports = {};
20
+ __export(craft_table_toolbar_exports, {
21
+ CraftTableToolbar: () => CraftTableToolbar
22
+ });
23
+ module.exports = __toCommonJS(craft_table_toolbar_exports);
24
+ var import_jsx_runtime = require("react/jsx-runtime");
25
+ var import_cn = require("@/utils/cn");
26
+ var import_craft_input = require("@/components/craft-input");
27
+ function CraftTableToolbar({
28
+ title,
29
+ description,
30
+ searchValue,
31
+ onSearchChange,
32
+ searchPlaceholder = "Search table...",
33
+ actions,
34
+ filters,
35
+ bulkActions,
36
+ tone,
37
+ className
38
+ }) {
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
40
+ "div",
41
+ {
42
+ className: (0, import_cn.cn)(
43
+ "rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl",
44
+ className
45
+ ),
46
+ "data-nc-theme": tone,
47
+ children: [
48
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-wrap items-center justify-between gap-4", children: [
49
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { children: [
50
+ title && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h3", { className: "text-lg font-semibold", children: title }),
51
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
52
+ ] }),
53
+ actions && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex items-center gap-3", children: actions })
54
+ ] }),
55
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-4 grid gap-4 lg:grid-cols-[minmax(0,1fr)_auto]", children: [
56
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
57
+ import_craft_input.CraftInput,
58
+ {
59
+ type: "search",
60
+ placeholder: searchPlaceholder,
61
+ value: searchValue != null ? searchValue : "",
62
+ onChange: (event) => onSearchChange == null ? void 0 : onSearchChange(event.target.value),
63
+ tone
64
+ }
65
+ ),
66
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-wrap items-center gap-3", children: [
67
+ filters,
68
+ bulkActions
69
+ ] })
70
+ ] })
71
+ ]
72
+ }
73
+ );
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ CraftTableToolbar
78
+ });
79
+ //# sourceMappingURL=craft-table-toolbar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-table-toolbar.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\n\nexport type CraftTableToolbarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n actions?: React.ReactNode;\n filters?: React.ReactNode;\n bulkActions?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftTableToolbar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search table...\",\n actions,\n filters,\n bulkActions,\n tone,\n className,\n}: CraftTableToolbarProps) {\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n <div className=\"mt-4 grid gap-4 lg:grid-cols-[minmax(0,1fr)_auto]\">\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n <div className=\"flex flex-wrap items-center gap-3\">\n {filters}\n {bulkActions}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCQ;AAtCR,gBAAmB;AAEnB,yBAA2B;AAepB,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MAEf;AAAA,qDAAC,SAAI,WAAU,qDACb;AAAA,uDAAC,SACE;AAAA,qBAAS,4CAAC,QAAG,WAAU,yBAAyB,iBAAM;AAAA,YACtD,eACC,4CAAC,OAAE,WAAU,0CACV,uBACH;AAAA,aAEJ;AAAA,UACC,WAAW,4CAAC,SAAI,WAAU,2BAA2B,mBAAQ;AAAA,WAChE;AAAA,QACA,6CAAC,SAAI,WAAU,qDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAa;AAAA,cACb,OAAO,oCAAe;AAAA,cACtB,UAAU,CAAC,UAAU,iDAAiB,MAAM,OAAO;AAAA,cACnD;AAAA;AAAA,UACF;AAAA,UACA,6CAAC,SAAI,WAAU,qCACZ;AAAA;AAAA,YACA;AAAA,aACH;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.cjs';
4
+
5
+ type CraftTableToolbarProps = {
6
+ title?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ searchValue?: string;
9
+ onSearchChange?: (value: string) => void;
10
+ searchPlaceholder?: string;
11
+ actions?: React.ReactNode;
12
+ filters?: React.ReactNode;
13
+ bulkActions?: React.ReactNode;
14
+ tone?: ThemeName;
15
+ className?: string;
16
+ };
17
+ declare function CraftTableToolbar({ title, description, searchValue, onSearchChange, searchPlaceholder, actions, filters, bulkActions, tone, className, }: CraftTableToolbarProps): react_jsx_runtime.JSX.Element;
18
+
19
+ export { CraftTableToolbar, type CraftTableToolbarProps };
@@ -0,0 +1,19 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.js';
4
+
5
+ type CraftTableToolbarProps = {
6
+ title?: React.ReactNode;
7
+ description?: React.ReactNode;
8
+ searchValue?: string;
9
+ onSearchChange?: (value: string) => void;
10
+ searchPlaceholder?: string;
11
+ actions?: React.ReactNode;
12
+ filters?: React.ReactNode;
13
+ bulkActions?: React.ReactNode;
14
+ tone?: ThemeName;
15
+ className?: string;
16
+ };
17
+ declare function CraftTableToolbar({ title, description, searchValue, onSearchChange, searchPlaceholder, actions, filters, bulkActions, tone, className, }: CraftTableToolbarProps): react_jsx_runtime.JSX.Element;
18
+
19
+ export { CraftTableToolbar, type CraftTableToolbarProps };
@@ -0,0 +1,55 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { cn } from "@/utils/cn";
3
+ import { CraftInput } from "@/components/craft-input";
4
+ function CraftTableToolbar({
5
+ title,
6
+ description,
7
+ searchValue,
8
+ onSearchChange,
9
+ searchPlaceholder = "Search table...",
10
+ actions,
11
+ filters,
12
+ bulkActions,
13
+ tone,
14
+ className
15
+ }) {
16
+ return /* @__PURE__ */ jsxs(
17
+ "div",
18
+ {
19
+ className: cn(
20
+ "rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl",
21
+ className
22
+ ),
23
+ "data-nc-theme": tone,
24
+ children: [
25
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-between gap-4", children: [
26
+ /* @__PURE__ */ jsxs("div", { children: [
27
+ title && /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold", children: title }),
28
+ description && /* @__PURE__ */ jsx("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
29
+ ] }),
30
+ actions && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-3", children: actions })
31
+ ] }),
32
+ /* @__PURE__ */ jsxs("div", { className: "mt-4 grid gap-4 lg:grid-cols-[minmax(0,1fr)_auto]", children: [
33
+ /* @__PURE__ */ jsx(
34
+ CraftInput,
35
+ {
36
+ type: "search",
37
+ placeholder: searchPlaceholder,
38
+ value: searchValue != null ? searchValue : "",
39
+ onChange: (event) => onSearchChange == null ? void 0 : onSearchChange(event.target.value),
40
+ tone
41
+ }
42
+ ),
43
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-3", children: [
44
+ filters,
45
+ bulkActions
46
+ ] })
47
+ ] })
48
+ ]
49
+ }
50
+ );
51
+ }
52
+ export {
53
+ CraftTableToolbar
54
+ };
55
+ //# sourceMappingURL=craft-table-toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-table-toolbar.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftInput } from \"@/components/craft-input\";\n\nexport type CraftTableToolbarProps = {\n title?: React.ReactNode;\n description?: React.ReactNode;\n searchValue?: string;\n onSearchChange?: (value: string) => void;\n searchPlaceholder?: string;\n actions?: React.ReactNode;\n filters?: React.ReactNode;\n bulkActions?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n};\n\nexport function CraftTableToolbar({\n title,\n description,\n searchValue,\n onSearchChange,\n searchPlaceholder = \"Search table...\",\n actions,\n filters,\n bulkActions,\n tone,\n className,\n}: CraftTableToolbarProps) {\n return (\n <div\n className={cn(\n \"rounded-3xl border border-[rgb(var(--nc-border)/0.3)] bg-[rgb(var(--nc-surface)/0.12)] p-4 text-[rgb(var(--nc-fg))] shadow-[0_12px_36px_rgba(0,0,0,0.2)] backdrop-blur-2xl\",\n className\n )}\n data-nc-theme={tone}\n >\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n <div>\n {title && <h3 className=\"text-lg font-semibold\">{title}</h3>}\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-3\">{actions}</div>}\n </div>\n <div className=\"mt-4 grid gap-4 lg:grid-cols-[minmax(0,1fr)_auto]\">\n <CraftInput\n type=\"search\"\n placeholder={searchPlaceholder}\n value={searchValue ?? \"\"}\n onChange={(event) => onSearchChange?.(event.target.value)}\n tone={tone}\n />\n <div className=\"flex flex-wrap items-center gap-3\">\n {filters}\n {bulkActions}\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":"AAwCQ,SACY,KADZ;AAtCR,SAAS,UAAU;AAEnB,SAAS,kBAAkB;AAepB,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA2B;AACzB,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA,iBAAe;AAAA,MAEf;AAAA,6BAAC,SAAI,WAAU,qDACb;AAAA,+BAAC,SACE;AAAA,qBAAS,oBAAC,QAAG,WAAU,yBAAyB,iBAAM;AAAA,YACtD,eACC,oBAAC,OAAE,WAAU,0CACV,uBACH;AAAA,aAEJ;AAAA,UACC,WAAW,oBAAC,SAAI,WAAU,2BAA2B,mBAAQ;AAAA,WAChE;AAAA,QACA,qBAAC,SAAI,WAAU,qDACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAa;AAAA,cACb,OAAO,oCAAe;AAAA,cACtB,UAAU,CAAC,UAAU,iDAAiB,MAAM,OAAO;AAAA,cACnD;AAAA;AAAA,UACF;AAAA,UACA,qBAAC,SAAI,WAAU,qCACZ;AAAA;AAAA,YACA;AAAA,aACH;AAAA,WACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}