@jameskabz/nextcraft-ui 0.6.4 → 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 (332) 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/components/craft-data-table.js +373 -0
  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/components/craft-icon.js +67 -0
  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/components/craft-input.js +44 -0
  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.d.cts +36 -369
  314. package/dist/craft/components.d.ts +36 -369
  315. package/dist/craft/forms.d.cts +7 -101
  316. package/dist/craft/forms.d.ts +7 -101
  317. package/dist/craft/layout.d.cts +12 -170
  318. package/dist/craft/layout.d.ts +12 -170
  319. package/dist/craft/table.d.cts +7 -99
  320. package/dist/craft/table.d.ts +7 -99
  321. package/dist/craft/theme.d.cts +3 -9
  322. package/dist/craft/theme.d.ts +3 -9
  323. package/dist/index.d.cts +50 -6
  324. package/dist/index.d.ts +50 -6
  325. package/dist/styles.css +31 -0
  326. package/dist/utils/cn.cjs +31 -0
  327. package/dist/utils/cn.cjs.map +1 -0
  328. package/dist/utils/cn.d.cts +3 -0
  329. package/dist/utils/cn.d.ts +3 -0
  330. package/dist/utils/cn.js +7 -0
  331. package/dist/utils/cn.js.map +1 -0
  332. package/package.json +1 -1
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var craft_confirm_dialog_exports = {};
31
+ __export(craft_confirm_dialog_exports, {
32
+ CraftConfirmDialog: () => CraftConfirmDialog
33
+ });
34
+ module.exports = __toCommonJS(craft_confirm_dialog_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var React = __toESM(require("react"), 1);
37
+ var import_cn = require("@/utils/cn");
38
+ var import_craft_modal = require("@/components/craft-modal");
39
+ var import_craft_button = require("@/components/craft-button");
40
+ function CraftConfirmDialog({
41
+ open,
42
+ defaultOpen = false,
43
+ onOpenChange,
44
+ tone,
45
+ title = "Confirm action",
46
+ description,
47
+ confirmLabel = "Confirm",
48
+ cancelLabel = "Cancel",
49
+ onConfirm,
50
+ trigger,
51
+ className,
52
+ confirmVariant = "solid"
53
+ }) {
54
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
55
+ const isControlled = typeof open === "boolean";
56
+ const isOpen = isControlled ? open : uncontrolledOpen;
57
+ const setOpen = React.useCallback(
58
+ (next) => {
59
+ if (!isControlled) setUncontrolledOpen(next);
60
+ onOpenChange == null ? void 0 : onOpenChange(next);
61
+ },
62
+ [isControlled, onOpenChange]
63
+ );
64
+ const [isLoading, setIsLoading] = React.useState(false);
65
+ const handleConfirm = async () => {
66
+ if (!onConfirm) {
67
+ setOpen(false);
68
+ return;
69
+ }
70
+ setIsLoading(true);
71
+ await onConfirm();
72
+ setIsLoading(false);
73
+ setOpen(false);
74
+ };
75
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
76
+ import_craft_modal.CraftModal,
77
+ {
78
+ open: isOpen,
79
+ onOpenChange: setOpen,
80
+ trigger,
81
+ title,
82
+ description,
83
+ tone,
84
+ className: (0, import_cn.cn)("max-w-md", className),
85
+ footer: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-wrap items-center justify-end gap-3", children: [
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
87
+ import_craft_button.CraftButton,
88
+ {
89
+ type: "button",
90
+ variant: "ghost",
91
+ onClick: () => setOpen(false),
92
+ children: cancelLabel
93
+ }
94
+ ),
95
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
96
+ import_craft_button.CraftButton,
97
+ {
98
+ type: "button",
99
+ variant: confirmVariant,
100
+ disabled: isLoading,
101
+ onClick: handleConfirm,
102
+ children: isLoading ? "Working..." : confirmLabel
103
+ }
104
+ )
105
+ ] }),
106
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
107
+ }
108
+ );
109
+ }
110
+ // Annotate the CommonJS export names for ESM import in node:
111
+ 0 && (module.exports = {
112
+ CraftConfirmDialog
113
+ });
114
+ //# sourceMappingURL=craft-confirm-dialog.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-confirm-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftModal } from \"@/components/craft-modal\";\nimport { CraftButton } from \"@/components/craft-button\";\n\nexport type CraftConfirmDialogProps = {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n tone?: ThemeName;\n title?: React.ReactNode;\n description?: React.ReactNode;\n confirmLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n onConfirm?: () => void | Promise<void>;\n trigger?: React.ReactNode;\n className?: string;\n confirmVariant?: \"solid\" | \"gradient\" | \"outline\";\n};\n\nexport function CraftConfirmDialog({\n open,\n defaultOpen = false,\n onOpenChange,\n tone,\n title = \"Confirm action\",\n description,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n onConfirm,\n trigger,\n className,\n confirmVariant = \"solid\",\n}: CraftConfirmDialogProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const isControlled = typeof open === \"boolean\";\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange]\n );\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n setOpen(false);\n return;\n }\n setIsLoading(true);\n await onConfirm();\n setIsLoading(false);\n setOpen(false);\n };\n\n return (\n <CraftModal\n open={isOpen}\n onOpenChange={setOpen}\n trigger={trigger}\n title={title}\n description={description}\n tone={tone}\n className={cn(\"max-w-md\", className)}\n footer={\n <div className=\"flex flex-wrap items-center justify-end gap-3\">\n <CraftButton\n type=\"button\"\n variant=\"ghost\"\n onClick={() => setOpen(false)}\n >\n {cancelLabel}\n </CraftButton>\n <CraftButton\n type=\"button\"\n variant={confirmVariant}\n disabled={isLoading}\n onClick={handleConfirm}\n >\n {isLoading ? \"Working...\" : confirmLabel}\n </CraftButton>\n </div>\n }\n >\n <div className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </div>\n </CraftModal>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyEQ;AAvER,YAAuB;AAEvB,gBAAmB;AAEnB,yBAA2B;AAC3B,0BAA4B;AAiBrB,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAA4B;AAC1B,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,WAAW;AAC1E,QAAM,eAAe,OAAO,SAAS;AACrC,QAAM,SAAS,eAAe,OAAO;AAErC,QAAM,UAAU,MAAM;AAAA,IACpB,CAAC,SAAkB;AACjB,UAAI,CAAC,aAAc,qBAAoB,IAAI;AAC3C,mDAAe;AAAA,IACjB;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAEA,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AAEtD,QAAM,gBAAgB,YAAY;AAChC,QAAI,CAAC,WAAW;AACd,cAAQ,KAAK;AACb;AAAA,IACF;AACA,iBAAa,IAAI;AACjB,UAAM,UAAU;AAChB,iBAAa,KAAK;AAClB,YAAQ,KAAK;AAAA,EACf;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAW,cAAG,YAAY,SAAS;AAAA,MACnC,QACE,6CAAC,SAAI,WAAU,iDACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,SAAS,MAAM,QAAQ,KAAK;AAAA,YAE3B;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,SAAS;AAAA,YAER,sBAAY,eAAe;AAAA;AAAA,QAC9B;AAAA,SACF;AAAA,MAGF,sDAAC,SAAI,WAAU,0CACZ,uBACH;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,21 @@
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 CraftConfirmDialogProps = {
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ onOpenChange?: (open: boolean) => void;
9
+ tone?: ThemeName;
10
+ title?: React.ReactNode;
11
+ description?: React.ReactNode;
12
+ confirmLabel?: React.ReactNode;
13
+ cancelLabel?: React.ReactNode;
14
+ onConfirm?: () => void | Promise<void>;
15
+ trigger?: React.ReactNode;
16
+ className?: string;
17
+ confirmVariant?: "solid" | "gradient" | "outline";
18
+ };
19
+ declare function CraftConfirmDialog({ open, defaultOpen, onOpenChange, tone, title, description, confirmLabel, cancelLabel, onConfirm, trigger, className, confirmVariant, }: CraftConfirmDialogProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { CraftConfirmDialog, type CraftConfirmDialogProps };
@@ -0,0 +1,21 @@
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 CraftConfirmDialogProps = {
6
+ open?: boolean;
7
+ defaultOpen?: boolean;
8
+ onOpenChange?: (open: boolean) => void;
9
+ tone?: ThemeName;
10
+ title?: React.ReactNode;
11
+ description?: React.ReactNode;
12
+ confirmLabel?: React.ReactNode;
13
+ cancelLabel?: React.ReactNode;
14
+ onConfirm?: () => void | Promise<void>;
15
+ trigger?: React.ReactNode;
16
+ className?: string;
17
+ confirmVariant?: "solid" | "gradient" | "outline";
18
+ };
19
+ declare function CraftConfirmDialog({ open, defaultOpen, onOpenChange, tone, title, description, confirmLabel, cancelLabel, onConfirm, trigger, className, confirmVariant, }: CraftConfirmDialogProps): react_jsx_runtime.JSX.Element;
20
+
21
+ export { CraftConfirmDialog, type CraftConfirmDialogProps };
@@ -0,0 +1,80 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { cn } from "@/utils/cn";
5
+ import { CraftModal } from "@/components/craft-modal";
6
+ import { CraftButton } from "@/components/craft-button";
7
+ function CraftConfirmDialog({
8
+ open,
9
+ defaultOpen = false,
10
+ onOpenChange,
11
+ tone,
12
+ title = "Confirm action",
13
+ description,
14
+ confirmLabel = "Confirm",
15
+ cancelLabel = "Cancel",
16
+ onConfirm,
17
+ trigger,
18
+ className,
19
+ confirmVariant = "solid"
20
+ }) {
21
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
22
+ const isControlled = typeof open === "boolean";
23
+ const isOpen = isControlled ? open : uncontrolledOpen;
24
+ const setOpen = React.useCallback(
25
+ (next) => {
26
+ if (!isControlled) setUncontrolledOpen(next);
27
+ onOpenChange == null ? void 0 : onOpenChange(next);
28
+ },
29
+ [isControlled, onOpenChange]
30
+ );
31
+ const [isLoading, setIsLoading] = React.useState(false);
32
+ const handleConfirm = async () => {
33
+ if (!onConfirm) {
34
+ setOpen(false);
35
+ return;
36
+ }
37
+ setIsLoading(true);
38
+ await onConfirm();
39
+ setIsLoading(false);
40
+ setOpen(false);
41
+ };
42
+ return /* @__PURE__ */ jsx(
43
+ CraftModal,
44
+ {
45
+ open: isOpen,
46
+ onOpenChange: setOpen,
47
+ trigger,
48
+ title,
49
+ description,
50
+ tone,
51
+ className: cn("max-w-md", className),
52
+ footer: /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-3", children: [
53
+ /* @__PURE__ */ jsx(
54
+ CraftButton,
55
+ {
56
+ type: "button",
57
+ variant: "ghost",
58
+ onClick: () => setOpen(false),
59
+ children: cancelLabel
60
+ }
61
+ ),
62
+ /* @__PURE__ */ jsx(
63
+ CraftButton,
64
+ {
65
+ type: "button",
66
+ variant: confirmVariant,
67
+ disabled: isLoading,
68
+ onClick: handleConfirm,
69
+ children: isLoading ? "Working..." : confirmLabel
70
+ }
71
+ )
72
+ ] }),
73
+ children: /* @__PURE__ */ jsx("div", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description })
74
+ }
75
+ );
76
+ }
77
+ export {
78
+ CraftConfirmDialog
79
+ };
80
+ //# sourceMappingURL=craft-confirm-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-confirm-dialog.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftModal } from \"@/components/craft-modal\";\nimport { CraftButton } from \"@/components/craft-button\";\n\nexport type CraftConfirmDialogProps = {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n tone?: ThemeName;\n title?: React.ReactNode;\n description?: React.ReactNode;\n confirmLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n onConfirm?: () => void | Promise<void>;\n trigger?: React.ReactNode;\n className?: string;\n confirmVariant?: \"solid\" | \"gradient\" | \"outline\";\n};\n\nexport function CraftConfirmDialog({\n open,\n defaultOpen = false,\n onOpenChange,\n tone,\n title = \"Confirm action\",\n description,\n confirmLabel = \"Confirm\",\n cancelLabel = \"Cancel\",\n onConfirm,\n trigger,\n className,\n confirmVariant = \"solid\",\n}: CraftConfirmDialogProps) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const isControlled = typeof open === \"boolean\";\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange]\n );\n\n const [isLoading, setIsLoading] = React.useState(false);\n\n const handleConfirm = async () => {\n if (!onConfirm) {\n setOpen(false);\n return;\n }\n setIsLoading(true);\n await onConfirm();\n setIsLoading(false);\n setOpen(false);\n };\n\n return (\n <CraftModal\n open={isOpen}\n onOpenChange={setOpen}\n trigger={trigger}\n title={title}\n description={description}\n tone={tone}\n className={cn(\"max-w-md\", className)}\n footer={\n <div className=\"flex flex-wrap items-center justify-end gap-3\">\n <CraftButton\n type=\"button\"\n variant=\"ghost\"\n onClick={() => setOpen(false)}\n >\n {cancelLabel}\n </CraftButton>\n <CraftButton\n type=\"button\"\n variant={confirmVariant}\n disabled={isLoading}\n onClick={handleConfirm}\n >\n {isLoading ? \"Working...\" : confirmLabel}\n </CraftButton>\n </div>\n }\n >\n <div className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </div>\n </CraftModal>\n );\n}\n"],"mappings":";AAyEQ,SACE,KADF;AAvER,YAAY,WAAW;AAEvB,SAAS,UAAU;AAEnB,SAAS,kBAAkB;AAC3B,SAAS,mBAAmB;AAiBrB,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR;AAAA,EACA,eAAe;AAAA,EACf,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAA4B;AAC1B,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,WAAW;AAC1E,QAAM,eAAe,OAAO,SAAS;AACrC,QAAM,SAAS,eAAe,OAAO;AAErC,QAAM,UAAU,MAAM;AAAA,IACpB,CAAC,SAAkB;AACjB,UAAI,CAAC,aAAc,qBAAoB,IAAI;AAC3C,mDAAe;AAAA,IACjB;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAEA,QAAM,CAAC,WAAW,YAAY,IAAI,MAAM,SAAS,KAAK;AAEtD,QAAM,gBAAgB,YAAY;AAChC,QAAI,CAAC,WAAW;AACd,cAAQ,KAAK;AACb;AAAA,IACF;AACA,iBAAa,IAAI;AACjB,UAAM,UAAU;AAChB,iBAAa,KAAK;AAClB,YAAQ,KAAK;AAAA,EACf;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,GAAG,YAAY,SAAS;AAAA,MACnC,QACE,qBAAC,SAAI,WAAU,iDACb;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,SAAS,MAAM,QAAQ,KAAK;AAAA,YAE3B;AAAA;AAAA,QACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAS;AAAA,YACT,UAAU;AAAA,YACV,SAAS;AAAA,YAER,sBAAY,eAAe;AAAA;AAAA,QAC9B;AAAA,SACF;AAAA,MAGF,8BAAC,SAAI,WAAU,0CACZ,uBACH;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var craft_create_edit_drawer_exports = {};
31
+ __export(craft_create_edit_drawer_exports, {
32
+ CraftCreateEditDrawer: () => CraftCreateEditDrawer
33
+ });
34
+ module.exports = __toCommonJS(craft_create_edit_drawer_exports);
35
+ var import_jsx_runtime = require("react/jsx-runtime");
36
+ var React = __toESM(require("react"), 1);
37
+ var import_react_hook_form = require("react-hook-form");
38
+ var import_cn = require("@/utils/cn");
39
+ var import_craft_drawer = require("@/components/craft-drawer");
40
+ var import_craft_button = require("@/components/craft-button");
41
+ var import_craft_submit_button = require("@/components/craft-submit-button");
42
+ function CraftCreateEditDrawer({
43
+ mode = "create",
44
+ form,
45
+ onSubmit,
46
+ open,
47
+ defaultOpen = false,
48
+ onOpenChange,
49
+ trigger,
50
+ title,
51
+ description,
52
+ submitLabel,
53
+ cancelLabel = "Cancel",
54
+ tone,
55
+ className,
56
+ children,
57
+ footer,
58
+ disableSubmitWhenInvalid = true,
59
+ closeOnSubmit = true,
60
+ side = "right"
61
+ }) {
62
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
63
+ const isControlled = typeof open === "boolean";
64
+ const isOpen = isControlled ? open : uncontrolledOpen;
65
+ const setOpen = React.useCallback(
66
+ (next) => {
67
+ if (!isControlled) setUncontrolledOpen(next);
68
+ onOpenChange == null ? void 0 : onOpenChange(next);
69
+ },
70
+ [isControlled, onOpenChange]
71
+ );
72
+ const formId = React.useId();
73
+ const handleSubmit = form.handleSubmit(async (values) => {
74
+ await onSubmit(values);
75
+ if (closeOnSubmit) setOpen(false);
76
+ });
77
+ const resolvedTitle = title != null ? title : mode === "create" ? "Create item" : "Edit item";
78
+ const resolvedSubmitLabel = submitLabel != null ? submitLabel : mode === "create" ? "Create" : "Save changes";
79
+ const footerContent = footer != null ? footer : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex flex-wrap items-center justify-end gap-3", children: [
80
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_craft_button.CraftButton, { type: "button", variant: "ghost", onClick: () => setOpen(false), children: cancelLabel }),
81
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
82
+ import_craft_submit_button.CraftSubmitButton,
83
+ {
84
+ form: formId,
85
+ disableWhenInvalid: disableSubmitWhenInvalid,
86
+ children: resolvedSubmitLabel
87
+ }
88
+ )
89
+ ] });
90
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_react_hook_form.FormProvider, { ...form, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
91
+ import_craft_drawer.CraftDrawer,
92
+ {
93
+ open: isOpen,
94
+ onOpenChange: setOpen,
95
+ trigger,
96
+ title: resolvedTitle,
97
+ tone,
98
+ side,
99
+ className: (0, import_cn.cn)("flex flex-col", className),
100
+ footer: footerContent,
101
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("form", { id: formId, onSubmit: handleSubmit, className: "space-y-5", children: [
102
+ description && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description }),
103
+ children
104
+ ] })
105
+ }
106
+ ) });
107
+ }
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ CraftCreateEditDrawer
111
+ });
112
+ //# sourceMappingURL=craft-create-edit-drawer.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-create-edit-drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { FormProvider, type FieldValues, type UseFormReturn } from \"react-hook-form\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftDrawer } from \"@/components/craft-drawer\";\nimport { CraftButton } from \"@/components/craft-button\";\nimport { CraftSubmitButton } from \"@/components/craft-submit-button\";\n\nexport type CraftCreateEditDrawerProps<TValues extends FieldValues> = {\n mode?: \"create\" | \"edit\";\n form: UseFormReturn<TValues>;\n onSubmit: (values: TValues) => void | Promise<void>;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n trigger?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n submitLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n disableSubmitWhenInvalid?: boolean;\n closeOnSubmit?: boolean;\n side?: \"left\" | \"right\";\n};\n\nexport function CraftCreateEditDrawer<TValues extends FieldValues>({\n mode = \"create\",\n form,\n onSubmit,\n open,\n defaultOpen = false,\n onOpenChange,\n trigger,\n title,\n description,\n submitLabel,\n cancelLabel = \"Cancel\",\n tone,\n className,\n children,\n footer,\n disableSubmitWhenInvalid = true,\n closeOnSubmit = true,\n side = \"right\",\n}: CraftCreateEditDrawerProps<TValues>) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const isControlled = typeof open === \"boolean\";\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange]\n );\n\n const formId = React.useId();\n\n const handleSubmit = form.handleSubmit(async (values) => {\n await onSubmit(values);\n if (closeOnSubmit) setOpen(false);\n });\n\n const resolvedTitle = title ?? (mode === \"create\" ? \"Create item\" : \"Edit item\");\n const resolvedSubmitLabel =\n submitLabel ?? (mode === \"create\" ? \"Create\" : \"Save changes\");\n\n const footerContent = footer ?? (\n <div className=\"flex flex-wrap items-center justify-end gap-3\">\n <CraftButton type=\"button\" variant=\"ghost\" onClick={() => setOpen(false)}>\n {cancelLabel}\n </CraftButton>\n <CraftSubmitButton\n form={formId}\n disableWhenInvalid={disableSubmitWhenInvalid}\n >\n {resolvedSubmitLabel}\n </CraftSubmitButton>\n </div>\n );\n\n return (\n <FormProvider {...form}>\n <CraftDrawer\n open={isOpen}\n onOpenChange={setOpen}\n trigger={trigger}\n title={resolvedTitle}\n tone={tone}\n side={side}\n className={cn(\"flex flex-col\", className)}\n footer={footerContent}\n >\n <form id={formId} onSubmit={handleSubmit} className=\"space-y-5\">\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n {children}\n </form>\n </CraftDrawer>\n </FormProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4EI;AA1EJ,YAAuB;AACvB,6BAAmE;AAEnE,gBAAmB;AAEnB,0BAA4B;AAC5B,0BAA4B;AAC5B,iCAAkC;AAuB3B,SAAS,sBAAmD;AAAA,EACjE,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,OAAO;AACT,GAAwC;AACtC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,WAAW;AAC1E,QAAM,eAAe,OAAO,SAAS;AACrC,QAAM,SAAS,eAAe,OAAO;AAErC,QAAM,UAAU,MAAM;AAAA,IACpB,CAAC,SAAkB;AACjB,UAAI,CAAC,aAAc,qBAAoB,IAAI;AAC3C,mDAAe;AAAA,IACjB;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAEA,QAAM,SAAS,MAAM,MAAM;AAE3B,QAAM,eAAe,KAAK,aAAa,OAAO,WAAW;AACvD,UAAM,SAAS,MAAM;AACrB,QAAI,cAAe,SAAQ,KAAK;AAAA,EAClC,CAAC;AAED,QAAM,gBAAgB,wBAAU,SAAS,WAAW,gBAAgB;AACpE,QAAM,sBACJ,oCAAgB,SAAS,WAAW,WAAW;AAEjD,QAAM,gBAAgB,0BACpB,6CAAC,SAAI,WAAU,iDACb;AAAA,gDAAC,mCAAY,MAAK,UAAS,SAAQ,SAAQ,SAAS,MAAM,QAAQ,KAAK,GACpE,uBACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,oBAAoB;AAAA,QAEnB;AAAA;AAAA,IACH;AAAA,KACF;AAGF,SACE,4CAAC,uCAAc,GAAG,MAChB;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,eAAW,cAAG,iBAAiB,SAAS;AAAA,MACxC,QAAQ;AAAA,MAER,uDAAC,UAAK,IAAI,QAAQ,UAAU,cAAc,WAAU,aACjD;AAAA,uBACC,4CAAC,OAAE,WAAU,0CACV,uBACH;AAAA,QAED;AAAA,SACH;AAAA;AAAA,EACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
4
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.cjs';
5
+
6
+ type CraftCreateEditDrawerProps<TValues extends FieldValues> = {
7
+ mode?: "create" | "edit";
8
+ form: UseFormReturn<TValues>;
9
+ onSubmit: (values: TValues) => void | Promise<void>;
10
+ open?: boolean;
11
+ defaultOpen?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
13
+ trigger?: React.ReactNode;
14
+ title?: React.ReactNode;
15
+ description?: React.ReactNode;
16
+ submitLabel?: React.ReactNode;
17
+ cancelLabel?: React.ReactNode;
18
+ tone?: ThemeName;
19
+ className?: string;
20
+ children?: React.ReactNode;
21
+ footer?: React.ReactNode;
22
+ disableSubmitWhenInvalid?: boolean;
23
+ closeOnSubmit?: boolean;
24
+ side?: "left" | "right";
25
+ };
26
+ declare function CraftCreateEditDrawer<TValues extends FieldValues>({ mode, form, onSubmit, open, defaultOpen, onOpenChange, trigger, title, description, submitLabel, cancelLabel, tone, className, children, footer, disableSubmitWhenInvalid, closeOnSubmit, side, }: CraftCreateEditDrawerProps<TValues>): react_jsx_runtime.JSX.Element;
27
+
28
+ export { CraftCreateEditDrawer, type CraftCreateEditDrawerProps };
@@ -0,0 +1,28 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+ import { FieldValues, UseFormReturn } from 'react-hook-form';
4
+ import { a as ThemeName } from '../theme-context-EVI9PfKv.js';
5
+
6
+ type CraftCreateEditDrawerProps<TValues extends FieldValues> = {
7
+ mode?: "create" | "edit";
8
+ form: UseFormReturn<TValues>;
9
+ onSubmit: (values: TValues) => void | Promise<void>;
10
+ open?: boolean;
11
+ defaultOpen?: boolean;
12
+ onOpenChange?: (open: boolean) => void;
13
+ trigger?: React.ReactNode;
14
+ title?: React.ReactNode;
15
+ description?: React.ReactNode;
16
+ submitLabel?: React.ReactNode;
17
+ cancelLabel?: React.ReactNode;
18
+ tone?: ThemeName;
19
+ className?: string;
20
+ children?: React.ReactNode;
21
+ footer?: React.ReactNode;
22
+ disableSubmitWhenInvalid?: boolean;
23
+ closeOnSubmit?: boolean;
24
+ side?: "left" | "right";
25
+ };
26
+ declare function CraftCreateEditDrawer<TValues extends FieldValues>({ mode, form, onSubmit, open, defaultOpen, onOpenChange, trigger, title, description, submitLabel, cancelLabel, tone, className, children, footer, disableSubmitWhenInvalid, closeOnSubmit, side, }: CraftCreateEditDrawerProps<TValues>): react_jsx_runtime.JSX.Element;
27
+
28
+ export { CraftCreateEditDrawer, type CraftCreateEditDrawerProps };
@@ -0,0 +1,78 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { FormProvider } from "react-hook-form";
5
+ import { cn } from "@/utils/cn";
6
+ import { CraftDrawer } from "@/components/craft-drawer";
7
+ import { CraftButton } from "@/components/craft-button";
8
+ import { CraftSubmitButton } from "@/components/craft-submit-button";
9
+ function CraftCreateEditDrawer({
10
+ mode = "create",
11
+ form,
12
+ onSubmit,
13
+ open,
14
+ defaultOpen = false,
15
+ onOpenChange,
16
+ trigger,
17
+ title,
18
+ description,
19
+ submitLabel,
20
+ cancelLabel = "Cancel",
21
+ tone,
22
+ className,
23
+ children,
24
+ footer,
25
+ disableSubmitWhenInvalid = true,
26
+ closeOnSubmit = true,
27
+ side = "right"
28
+ }) {
29
+ const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);
30
+ const isControlled = typeof open === "boolean";
31
+ const isOpen = isControlled ? open : uncontrolledOpen;
32
+ const setOpen = React.useCallback(
33
+ (next) => {
34
+ if (!isControlled) setUncontrolledOpen(next);
35
+ onOpenChange == null ? void 0 : onOpenChange(next);
36
+ },
37
+ [isControlled, onOpenChange]
38
+ );
39
+ const formId = React.useId();
40
+ const handleSubmit = form.handleSubmit(async (values) => {
41
+ await onSubmit(values);
42
+ if (closeOnSubmit) setOpen(false);
43
+ });
44
+ const resolvedTitle = title != null ? title : mode === "create" ? "Create item" : "Edit item";
45
+ const resolvedSubmitLabel = submitLabel != null ? submitLabel : mode === "create" ? "Create" : "Save changes";
46
+ const footerContent = footer != null ? footer : /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center justify-end gap-3", children: [
47
+ /* @__PURE__ */ jsx(CraftButton, { type: "button", variant: "ghost", onClick: () => setOpen(false), children: cancelLabel }),
48
+ /* @__PURE__ */ jsx(
49
+ CraftSubmitButton,
50
+ {
51
+ form: formId,
52
+ disableWhenInvalid: disableSubmitWhenInvalid,
53
+ children: resolvedSubmitLabel
54
+ }
55
+ )
56
+ ] });
57
+ return /* @__PURE__ */ jsx(FormProvider, { ...form, children: /* @__PURE__ */ jsx(
58
+ CraftDrawer,
59
+ {
60
+ open: isOpen,
61
+ onOpenChange: setOpen,
62
+ trigger,
63
+ title: resolvedTitle,
64
+ tone,
65
+ side,
66
+ className: cn("flex flex-col", className),
67
+ footer: footerContent,
68
+ children: /* @__PURE__ */ jsxs("form", { id: formId, onSubmit: handleSubmit, className: "space-y-5", children: [
69
+ description && /* @__PURE__ */ jsx("p", { className: "text-sm text-[rgb(var(--nc-fg-muted))]", children: description }),
70
+ children
71
+ ] })
72
+ }
73
+ ) });
74
+ }
75
+ export {
76
+ CraftCreateEditDrawer
77
+ };
78
+ //# sourceMappingURL=craft-create-edit-drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-create-edit-drawer.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { FormProvider, type FieldValues, type UseFormReturn } from \"react-hook-form\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\nimport { CraftDrawer } from \"@/components/craft-drawer\";\nimport { CraftButton } from \"@/components/craft-button\";\nimport { CraftSubmitButton } from \"@/components/craft-submit-button\";\n\nexport type CraftCreateEditDrawerProps<TValues extends FieldValues> = {\n mode?: \"create\" | \"edit\";\n form: UseFormReturn<TValues>;\n onSubmit: (values: TValues) => void | Promise<void>;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n trigger?: React.ReactNode;\n title?: React.ReactNode;\n description?: React.ReactNode;\n submitLabel?: React.ReactNode;\n cancelLabel?: React.ReactNode;\n tone?: ThemeName;\n className?: string;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n disableSubmitWhenInvalid?: boolean;\n closeOnSubmit?: boolean;\n side?: \"left\" | \"right\";\n};\n\nexport function CraftCreateEditDrawer<TValues extends FieldValues>({\n mode = \"create\",\n form,\n onSubmit,\n open,\n defaultOpen = false,\n onOpenChange,\n trigger,\n title,\n description,\n submitLabel,\n cancelLabel = \"Cancel\",\n tone,\n className,\n children,\n footer,\n disableSubmitWhenInvalid = true,\n closeOnSubmit = true,\n side = \"right\",\n}: CraftCreateEditDrawerProps<TValues>) {\n const [uncontrolledOpen, setUncontrolledOpen] = React.useState(defaultOpen);\n const isControlled = typeof open === \"boolean\";\n const isOpen = isControlled ? open : uncontrolledOpen;\n\n const setOpen = React.useCallback(\n (next: boolean) => {\n if (!isControlled) setUncontrolledOpen(next);\n onOpenChange?.(next);\n },\n [isControlled, onOpenChange]\n );\n\n const formId = React.useId();\n\n const handleSubmit = form.handleSubmit(async (values) => {\n await onSubmit(values);\n if (closeOnSubmit) setOpen(false);\n });\n\n const resolvedTitle = title ?? (mode === \"create\" ? \"Create item\" : \"Edit item\");\n const resolvedSubmitLabel =\n submitLabel ?? (mode === \"create\" ? \"Create\" : \"Save changes\");\n\n const footerContent = footer ?? (\n <div className=\"flex flex-wrap items-center justify-end gap-3\">\n <CraftButton type=\"button\" variant=\"ghost\" onClick={() => setOpen(false)}>\n {cancelLabel}\n </CraftButton>\n <CraftSubmitButton\n form={formId}\n disableWhenInvalid={disableSubmitWhenInvalid}\n >\n {resolvedSubmitLabel}\n </CraftSubmitButton>\n </div>\n );\n\n return (\n <FormProvider {...form}>\n <CraftDrawer\n open={isOpen}\n onOpenChange={setOpen}\n trigger={trigger}\n title={resolvedTitle}\n tone={tone}\n side={side}\n className={cn(\"flex flex-col\", className)}\n footer={footerContent}\n >\n <form id={formId} onSubmit={handleSubmit} className=\"space-y-5\">\n {description && (\n <p className=\"text-sm text-[rgb(var(--nc-fg-muted))]\">\n {description}\n </p>\n )}\n {children}\n </form>\n </CraftDrawer>\n </FormProvider>\n );\n}\n"],"mappings":";AA4EI,SACE,KADF;AA1EJ,YAAY,WAAW;AACvB,SAAS,oBAA0D;AAEnE,SAAS,UAAU;AAEnB,SAAS,mBAAmB;AAC5B,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAuB3B,SAAS,sBAAmD;AAAA,EACjE,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,OAAO;AACT,GAAwC;AACtC,QAAM,CAAC,kBAAkB,mBAAmB,IAAI,MAAM,SAAS,WAAW;AAC1E,QAAM,eAAe,OAAO,SAAS;AACrC,QAAM,SAAS,eAAe,OAAO;AAErC,QAAM,UAAU,MAAM;AAAA,IACpB,CAAC,SAAkB;AACjB,UAAI,CAAC,aAAc,qBAAoB,IAAI;AAC3C,mDAAe;AAAA,IACjB;AAAA,IACA,CAAC,cAAc,YAAY;AAAA,EAC7B;AAEA,QAAM,SAAS,MAAM,MAAM;AAE3B,QAAM,eAAe,KAAK,aAAa,OAAO,WAAW;AACvD,UAAM,SAAS,MAAM;AACrB,QAAI,cAAe,SAAQ,KAAK;AAAA,EAClC,CAAC;AAED,QAAM,gBAAgB,wBAAU,SAAS,WAAW,gBAAgB;AACpE,QAAM,sBACJ,oCAAgB,SAAS,WAAW,WAAW;AAEjD,QAAM,gBAAgB,0BACpB,qBAAC,SAAI,WAAU,iDACb;AAAA,wBAAC,eAAY,MAAK,UAAS,SAAQ,SAAQ,SAAS,MAAM,QAAQ,KAAK,GACpE,uBACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC,MAAM;AAAA,QACN,oBAAoB;AAAA,QAEnB;AAAA;AAAA,IACH;AAAA,KACF;AAGF,SACE,oBAAC,gBAAc,GAAG,MAChB;AAAA,IAAC;AAAA;AAAA,MACC,MAAM;AAAA,MACN,cAAc;AAAA,MACd;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA,WAAW,GAAG,iBAAiB,SAAS;AAAA,MACxC,QAAQ;AAAA,MAER,+BAAC,UAAK,IAAI,QAAQ,UAAU,cAAc,WAAU,aACjD;AAAA,uBACC,oBAAC,OAAE,WAAU,0CACV,uBACH;AAAA,QAED;AAAA,SACH;AAAA;AAAA,EACF,GACF;AAEJ;","names":[]}
@@ -0,0 +1,68 @@
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_currency_input_exports = {};
30
+ __export(craft_currency_input_exports, {
31
+ CraftCurrencyInput: () => CraftCurrencyInput
32
+ });
33
+ module.exports = __toCommonJS(craft_currency_input_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 CraftCurrencyInput = React.forwardRef(({ className, tone, currencySymbol = "$", ...props }, ref) => {
38
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "relative w-full", "data-nc-theme": tone, children: [
39
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-[rgb(var(--nc-fg-soft))]", children: currencySymbol }),
40
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
41
+ "input",
42
+ {
43
+ ref,
44
+ type: "text",
45
+ inputMode: "decimal",
46
+ className: (0, import_cn.cn)(
47
+ "w-full rounded-2xl border-2 bg-[rgb(var(--nc-surface)/0.08)] text-[rgb(var(--nc-fg))] backdrop-blur-xl",
48
+ "shadow-[inset_0_2px_8px_rgba(0,0,0,0.3)]",
49
+ "focus:outline-none focus:ring-4",
50
+ "transition-all duration-300",
51
+ "disabled:opacity-50 disabled:cursor-not-allowed",
52
+ "border-[rgb(var(--nc-border)/0.35)]",
53
+ "focus:border-[rgb(var(--nc-accent-1)/0.8)] focus:ring-[rgb(var(--nc-accent-1)/0.3)]",
54
+ "placeholder:text-[rgb(var(--nc-fg-soft))]",
55
+ "px-5 py-3 pl-9 text-base",
56
+ className
57
+ ),
58
+ ...props
59
+ }
60
+ )
61
+ ] });
62
+ });
63
+ CraftCurrencyInput.displayName = "CraftCurrencyInput";
64
+ // Annotate the CommonJS export names for ESM import in node:
65
+ 0 && (module.exports = {
66
+ CraftCurrencyInput
67
+ });
68
+ //# sourceMappingURL=craft-currency-input.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/components/craft-currency-input.tsx"],"sourcesContent":["import * as React from \"react\";\n\nimport { cn } from \"@/utils/cn\";\nimport type { ThemeName } from \"@/theme/theme-context\";\n\nexport type CraftCurrencyInputProps = Omit<\n React.InputHTMLAttributes<HTMLInputElement>,\n \"type\"\n> & {\n tone?: ThemeName;\n currencySymbol?: string;\n};\n\nexport const CraftCurrencyInput = React.forwardRef<\n HTMLInputElement,\n CraftCurrencyInputProps\n>(({ className, tone, currencySymbol = \"$\", ...props }, ref) => {\n return (\n <div className=\"relative w-full\" data-nc-theme={tone}>\n <span className=\"pointer-events-none absolute left-4 top-1/2 -translate-y-1/2 text-[rgb(var(--nc-fg-soft))]\">\n {currencySymbol}\n </span>\n <input\n ref={ref}\n type=\"text\"\n inputMode=\"decimal\"\n className={cn(\n \"w-full rounded-2xl border-2 bg-[rgb(var(--nc-surface)/0.08)] text-[rgb(var(--nc-fg))] backdrop-blur-xl\",\n \"shadow-[inset_0_2px_8px_rgba(0,0,0,0.3)]\",\n \"focus:outline-none focus:ring-4\",\n \"transition-all duration-300\",\n \"disabled:opacity-50 disabled:cursor-not-allowed\",\n \"border-[rgb(var(--nc-border)/0.35)]\",\n \"focus:border-[rgb(var(--nc-accent-1)/0.8)] focus:ring-[rgb(var(--nc-accent-1)/0.3)]\",\n \"placeholder:text-[rgb(var(--nc-fg-soft))]\",\n \"px-5 py-3 pl-9 text-base\",\n className\n )}\n {...props}\n />\n </div>\n );\n});\n\nCraftCurrencyInput.displayName = \"CraftCurrencyInput\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAkBI;AAlBJ,YAAuB;AAEvB,gBAAmB;AAWZ,MAAM,qBAAqB,MAAM,WAGtC,CAAC,EAAE,WAAW,MAAM,iBAAiB,KAAK,GAAG,MAAM,GAAG,QAAQ;AAC9D,SACE,6CAAC,SAAI,WAAU,mBAAkB,iBAAe,MAC9C;AAAA,gDAAC,UAAK,WAAU,8FACb,0BACH;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,WAAU;AAAA,QACV,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACC,GAAG;AAAA;AAAA,IACN;AAAA,KACF;AAEJ,CAAC;AAED,mBAAmB,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 CraftCurrencyInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
6
+ tone?: ThemeName;
7
+ currencySymbol?: string;
8
+ };
9
+ declare const CraftCurrencyInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
10
+ tone?: ThemeName;
11
+ currencySymbol?: string;
12
+ } & React.RefAttributes<HTMLInputElement>>;
13
+
14
+ export { CraftCurrencyInput, type CraftCurrencyInputProps };
@@ -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 CraftCurrencyInputProps = Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
6
+ tone?: ThemeName;
7
+ currencySymbol?: string;
8
+ };
9
+ declare const CraftCurrencyInput: React.ForwardRefExoticComponent<Omit<React.InputHTMLAttributes<HTMLInputElement>, "type"> & {
10
+ tone?: ThemeName;
11
+ currencySymbol?: string;
12
+ } & React.RefAttributes<HTMLInputElement>>;
13
+
14
+ export { CraftCurrencyInput, type CraftCurrencyInputProps };