@omnifyjp/ui 1.0.2 → 2.0.1

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 (456) hide show
  1. package/dist/{chunk-TJMK2KBE.js → chunk-2BRCVWXR.js} +3 -3
  2. package/dist/chunk-2BRCVWXR.js.map +1 -0
  3. package/dist/{chunk-RQNZDWY3.js → chunk-33QLY6GI.js} +2 -2
  4. package/dist/chunk-33QLY6GI.js.map +1 -0
  5. package/dist/{chunk-NPL2R5LD.js → chunk-3V6NS4EQ.js} +5 -5
  6. package/dist/chunk-3V6NS4EQ.js.map +1 -0
  7. package/dist/{chunk-G7HTZBUR.js → chunk-47TUWE63.js} +3 -3
  8. package/dist/chunk-47TUWE63.js.map +1 -0
  9. package/dist/{chunk-75WZR6HF.js → chunk-4AGNE75K.js} +4 -4
  10. package/dist/chunk-4AGNE75K.js.map +1 -0
  11. package/dist/chunk-4NBDYSSQ.js +90 -0
  12. package/dist/chunk-4NBDYSSQ.js.map +1 -0
  13. package/dist/{chunk-FRKG7JQY.js → chunk-5AGUCELC.js} +2 -2
  14. package/dist/chunk-5AGUCELC.js.map +1 -0
  15. package/dist/{chunk-A3BB5ZOC.js → chunk-5SAUUOCN.js} +2 -2
  16. package/dist/chunk-5SAUUOCN.js.map +1 -0
  17. package/dist/{chunk-2TUWDXAC.js → chunk-5WOCEAZG.js} +3 -3
  18. package/dist/chunk-5WOCEAZG.js.map +1 -0
  19. package/dist/{chunk-2C2HRGM7.js → chunk-6W5FYOXQ.js} +3 -3
  20. package/dist/chunk-6W5FYOXQ.js.map +1 -0
  21. package/dist/{chunk-ZHEKDP5X.js → chunk-6Z6NRIQ2.js} +3 -3
  22. package/dist/chunk-6Z6NRIQ2.js.map +1 -0
  23. package/dist/{chunk-BAQWGQJG.js → chunk-7KZ7CVRN.js} +3 -3
  24. package/dist/chunk-7KZ7CVRN.js.map +1 -0
  25. package/dist/{chunk-C34KSTWA.js → chunk-7NMNLY7F.js} +2 -2
  26. package/dist/chunk-7NMNLY7F.js.map +1 -0
  27. package/dist/{chunk-55E7D2HR.js → chunk-BOV3Q2JH.js} +2 -2
  28. package/dist/chunk-BOV3Q2JH.js.map +1 -0
  29. package/dist/{chunk-34ARZSNP.js → chunk-CECQY5LL.js} +2 -2
  30. package/dist/chunk-CECQY5LL.js.map +1 -0
  31. package/dist/{chunk-JRU2QX7T.js → chunk-CLYBVDEQ.js} +2 -2
  32. package/dist/chunk-CLYBVDEQ.js.map +1 -0
  33. package/dist/{chunk-TGYQ3AKH.js → chunk-CNS3OMZ7.js} +2 -2
  34. package/dist/chunk-CNS3OMZ7.js.map +1 -0
  35. package/dist/{chunk-C5NZAOA7.js → chunk-CSYH7P6N.js} +2 -2
  36. package/dist/chunk-CSYH7P6N.js.map +1 -0
  37. package/dist/{chunk-USIHM7FV.js → chunk-DEKVLLTL.js} +2 -2
  38. package/dist/chunk-DEKVLLTL.js.map +1 -0
  39. package/dist/{chunk-Z2QAABLM.js → chunk-DXKFFJIE.js} +2 -2
  40. package/dist/chunk-DXKFFJIE.js.map +1 -0
  41. package/dist/{chunk-IAWKX5W4.js → chunk-DXZZURPN.js} +2 -2
  42. package/dist/chunk-DXZZURPN.js.map +1 -0
  43. package/dist/{chunk-XOJJBNDX.js → chunk-EAY3QSID.js} +2 -2
  44. package/dist/chunk-EAY3QSID.js.map +1 -0
  45. package/dist/{chunk-7XH3MGBR.js → chunk-EBV2XEHD.js} +5 -5
  46. package/dist/chunk-EBV2XEHD.js.map +1 -0
  47. package/dist/{chunk-P3M5TZD2.js → chunk-EYJ7TJIX.js} +2 -2
  48. package/dist/chunk-EYJ7TJIX.js.map +1 -0
  49. package/dist/{chunk-67YUL2ZS.js → chunk-FTNPOZGK.js} +2 -2
  50. package/dist/chunk-FTNPOZGK.js.map +1 -0
  51. package/dist/{chunk-JXGRW2MR.js → chunk-GR7T5QHL.js} +2 -2
  52. package/dist/chunk-GR7T5QHL.js.map +1 -0
  53. package/dist/{chunk-WS6E7HBT.js → chunk-HDTHGIQR.js} +3 -3
  54. package/dist/chunk-HDTHGIQR.js.map +1 -0
  55. package/dist/{chunk-LMT327XH.js → chunk-HEQVBUJO.js} +2 -2
  56. package/dist/chunk-HEQVBUJO.js.map +1 -0
  57. package/dist/{chunk-VVYSAGB3.js → chunk-I6PJSYBI.js} +3 -3
  58. package/dist/chunk-I6PJSYBI.js.map +1 -0
  59. package/dist/{chunk-35DNN46W.js → chunk-ITTPI2Z3.js} +3 -3
  60. package/dist/chunk-ITTPI2Z3.js.map +1 -0
  61. package/dist/{chunk-JAJMM32I.js → chunk-IXEPDTUE.js} +3 -3
  62. package/dist/chunk-IXEPDTUE.js.map +1 -0
  63. package/dist/{chunk-PGWNOZDX.js → chunk-KCUSO3CK.js} +2 -2
  64. package/dist/chunk-KCUSO3CK.js.map +1 -0
  65. package/dist/{chunk-QB3UWRZH.js → chunk-KJAXKHJ2.js} +3 -3
  66. package/dist/chunk-KJAXKHJ2.js.map +1 -0
  67. package/dist/{chunk-7IRLBU2I.js → chunk-LA4L3QIK.js} +3 -3
  68. package/dist/chunk-LA4L3QIK.js.map +1 -0
  69. package/dist/{chunk-NNJTKHCE.js → chunk-LTGCKJX7.js} +2 -2
  70. package/dist/chunk-LTGCKJX7.js.map +1 -0
  71. package/dist/{chunk-JJSVA3TH.js → chunk-LUYTKHGS.js} +2 -2
  72. package/dist/chunk-LUYTKHGS.js.map +1 -0
  73. package/dist/{chunk-6GWVQB3Q.js → chunk-MVYSUWSD.js} +3 -3
  74. package/dist/chunk-MVYSUWSD.js.map +1 -0
  75. package/dist/{chunk-YBMEQZX7.js → chunk-N5BNNKBR.js} +2 -2
  76. package/dist/chunk-N5BNNKBR.js.map +1 -0
  77. package/dist/{chunk-35U6QG4P.js → chunk-N6OUJIQD.js} +2 -2
  78. package/dist/chunk-N6OUJIQD.js.map +1 -0
  79. package/dist/{chunk-R2CDE5DO.js → chunk-NWVMNWOH.js} +2 -2
  80. package/dist/chunk-NWVMNWOH.js.map +1 -0
  81. package/dist/{chunk-NU56GKGM.js → chunk-ORTPKXBI.js} +2 -2
  82. package/dist/chunk-ORTPKXBI.js.map +1 -0
  83. package/dist/{chunk-FLWMT4DB.js → chunk-PJZ7D36X.js} +2 -2
  84. package/dist/chunk-PJZ7D36X.js.map +1 -0
  85. package/dist/{chunk-CUZR4JWM.js → chunk-PYB6RRA5.js} +3 -3
  86. package/dist/chunk-PYB6RRA5.js.map +1 -0
  87. package/dist/{chunk-BRSM3SZP.js → chunk-QGU4BRMO.js} +2 -2
  88. package/dist/chunk-QGU4BRMO.js.map +1 -0
  89. package/dist/{chunk-S6PDRGR5.js → chunk-RZZH57ZL.js} +2 -2
  90. package/dist/chunk-RZZH57ZL.js.map +1 -0
  91. package/dist/{chunk-EWBCV7VA.js → chunk-S73PGQD5.js} +2 -2
  92. package/dist/chunk-S73PGQD5.js.map +1 -0
  93. package/dist/{chunk-N47H4MHX.js → chunk-SAHHVJMQ.js} +3 -3
  94. package/dist/chunk-SAHHVJMQ.js.map +1 -0
  95. package/dist/{chunk-INLM7UJC.js → chunk-T65EBJUJ.js} +2 -2
  96. package/dist/chunk-T65EBJUJ.js.map +1 -0
  97. package/dist/{chunk-ZPMXRW2A.js → chunk-TPBRGO4D.js} +3 -3
  98. package/dist/chunk-TPBRGO4D.js.map +1 -0
  99. package/dist/{chunk-MJLFJPUG.js → chunk-V3S2AZKJ.js} +5 -5
  100. package/dist/chunk-V3S2AZKJ.js.map +1 -0
  101. package/dist/{chunk-MZ2P566X.js → chunk-VATNOBZ2.js} +3 -3
  102. package/dist/chunk-VATNOBZ2.js.map +1 -0
  103. package/dist/{chunk-JLTBUACL.js → chunk-VOLR236J.js} +2 -2
  104. package/dist/chunk-VOLR236J.js.map +1 -0
  105. package/dist/chunk-VPTIRPZW.js +75 -0
  106. package/dist/chunk-VPTIRPZW.js.map +1 -0
  107. package/dist/{chunk-WL4ZO2H3.js → chunk-W477ZR6B.js} +2 -2
  108. package/dist/chunk-W477ZR6B.js.map +1 -0
  109. package/dist/{chunk-3EOHW4QN.js → chunk-WJX6NKKF.js} +3 -3
  110. package/dist/chunk-WJX6NKKF.js.map +1 -0
  111. package/dist/{chunk-LTTNCAAA.js → chunk-XNUFKQYL.js} +3 -3
  112. package/dist/chunk-XNUFKQYL.js.map +1 -0
  113. package/dist/chunk-YN26HHZ4.js +71 -0
  114. package/dist/chunk-YN26HHZ4.js.map +1 -0
  115. package/dist/{chunk-ZYEGBF7G.js → chunk-YU23NDE4.js} +3 -3
  116. package/dist/chunk-YU23NDE4.js.map +1 -0
  117. package/dist/chunk-YU55YBID.js +144 -0
  118. package/dist/chunk-YU55YBID.js.map +1 -0
  119. package/dist/{chunk-F2ZJLKDP.js → chunk-YVCLIOMM.js} +2 -2
  120. package/dist/chunk-YVCLIOMM.js.map +1 -0
  121. package/dist/{chunk-7RMTPT6O.js → chunk-YYJVVYFS.js} +2 -2
  122. package/dist/chunk-YYJVVYFS.js.map +1 -0
  123. package/dist/chunk-ZUBW2ERW.js +70 -0
  124. package/dist/chunk-ZUBW2ERW.js.map +1 -0
  125. package/dist/components/display/accordion.js +4 -0
  126. package/dist/components/display/aspect-ratio.js +3 -0
  127. package/dist/components/display/avatar.js +4 -0
  128. package/dist/components/{badge.d.ts → display/badge.d.ts} +1 -1
  129. package/dist/components/display/badge.js +4 -0
  130. package/dist/components/display/card.js +4 -0
  131. package/dist/components/{carousel.d.ts → display/carousel.d.ts} +2 -2
  132. package/dist/components/display/carousel.js +5 -0
  133. package/dist/components/{chart.js → display/chart.js} +1 -1
  134. package/dist/components/display/chart.js.map +1 -0
  135. package/dist/components/{collapsible.js → display/collapsible.js} +1 -1
  136. package/dist/components/display/resizable.js +4 -0
  137. package/dist/components/display/scroll-area.js +4 -0
  138. package/dist/components/display/separator.js +4 -0
  139. package/dist/components/display/table.js +4 -0
  140. package/dist/components/display/toggle-group.js +5 -0
  141. package/dist/components/display/toggle.js +4 -0
  142. package/dist/components/domain/calendar/calendar-category-badge.js +5 -0
  143. package/dist/components/{calendar-event-chip.js → domain/calendar/calendar-event-chip.js} +1 -1
  144. package/dist/components/domain/calendar/calendar-event-chip.js.map +1 -0
  145. package/dist/components/{calendar-event-sheet.d.ts → domain/calendar/calendar-event-sheet.d.ts} +4 -1
  146. package/dist/components/{calendar-event-sheet.js → domain/calendar/calendar-event-sheet.js} +12 -8
  147. package/dist/components/domain/calendar/calendar-event-sheet.js.map +1 -0
  148. package/dist/components/{calendar-mini.d.ts → domain/calendar/calendar-mini.d.ts} +4 -1
  149. package/dist/components/{calendar-mini.js → domain/calendar/calendar-mini.js} +9 -5
  150. package/dist/components/domain/calendar/calendar-mini.js.map +1 -0
  151. package/dist/components/{calendar-toolbar.d.ts → domain/calendar/calendar-toolbar.d.ts} +4 -1
  152. package/dist/components/{calendar-toolbar.js → domain/calendar/calendar-toolbar.js} +10 -6
  153. package/dist/components/domain/calendar/calendar-toolbar.js.map +1 -0
  154. package/dist/components/domain/calendar/calendar.js +5 -0
  155. package/dist/components/domain/rbac/permission-grid.js +5 -0
  156. package/dist/components/domain/rbac/scope-tree.js +5 -0
  157. package/dist/components/domain/rbac/scope-type-badge.js +5 -0
  158. package/dist/components/domain/workflow/stage-type-badge.js +5 -0
  159. package/dist/components/domain/workflow/workflow-category-badge.js +5 -0
  160. package/dist/components/domain/workflow/workflow-diagram.js +5 -0
  161. package/dist/components/domain/workflow/workflow-status-badge.js +5 -0
  162. package/dist/components/domain/workflow/workflow-stepper.js +4 -0
  163. package/dist/components/{alert.d.ts → feedback/alert.d.ts} +1 -1
  164. package/dist/components/feedback/alert.js +4 -0
  165. package/dist/components/feedback/progress.js +4 -0
  166. package/dist/components/feedback/skeleton.js +4 -0
  167. package/dist/components/{button.d.ts → inputs/button.d.ts} +2 -2
  168. package/dist/components/inputs/button.js +4 -0
  169. package/dist/components/inputs/checkbox.js +4 -0
  170. package/dist/components/inputs/color-picker.js +9 -0
  171. package/dist/components/inputs/combobox.js +8 -0
  172. package/dist/components/{date-picker.d.ts → inputs/date-picker.d.ts} +2 -2
  173. package/dist/components/{date-picker.js → inputs/date-picker.js} +15 -8
  174. package/dist/components/inputs/date-picker.js.map +1 -0
  175. package/dist/components/inputs/file-upload.js +5 -0
  176. package/dist/components/{form.js → inputs/form.js} +2 -2
  177. package/dist/components/inputs/form.js.map +1 -0
  178. package/dist/components/inputs/input-otp.js +4 -0
  179. package/dist/components/inputs/input.d.ts +75 -0
  180. package/dist/components/inputs/input.js +6 -0
  181. package/dist/components/inputs/label.js +4 -0
  182. package/dist/components/{password-input.d.ts → inputs/password-input.d.ts} +2 -0
  183. package/dist/components/inputs/password-input.js +7 -0
  184. package/dist/components/inputs/radio-group.js +4 -0
  185. package/dist/components/inputs/rating.js +4 -0
  186. package/dist/components/{select.js → inputs/select.js} +2 -2
  187. package/dist/components/inputs/slider.js +4 -0
  188. package/dist/components/inputs/slug-input.js +8 -0
  189. package/dist/components/inputs/switch.js +4 -0
  190. package/dist/components/inputs/tag-input.js +5 -0
  191. package/dist/components/inputs/textarea.d.ts +67 -0
  192. package/dist/components/inputs/textarea.js +6 -0
  193. package/dist/{chunk-6DIDQ4TB.js → components/inputs/time-picker.js} +9 -7
  194. package/dist/components/inputs/time-picker.js.map +1 -0
  195. package/dist/components/inputs/translatable-field.d.ts +51 -0
  196. package/dist/components/inputs/translatable-field.js +4 -0
  197. package/dist/components/inputs/translatable-field.js.map +1 -0
  198. package/dist/components/layout/page-container.d.ts +96 -0
  199. package/dist/components/layout/page-container.js +5 -0
  200. package/dist/components/layout/page-container.js.map +1 -0
  201. package/dist/components/{breadcrumb.js → navigation/breadcrumb.js} +2 -2
  202. package/dist/components/{command.d.ts → navigation/command.d.ts} +1 -1
  203. package/dist/components/{command.js → navigation/command.js} +3 -3
  204. package/dist/components/{context-menu.js → navigation/context-menu.js} +2 -2
  205. package/dist/components/{dropdown-menu.js → navigation/dropdown-menu.js} +2 -2
  206. package/dist/components/{menubar.js → navigation/menubar.js} +2 -2
  207. package/dist/components/{navigation-menu.js → navigation/navigation-menu.js} +2 -2
  208. package/dist/components/{pagination.d.ts → navigation/pagination.d.ts} +2 -2
  209. package/dist/components/{pagination.js → navigation/pagination.js} +3 -3
  210. package/dist/components/navigation/tabs.js +4 -0
  211. package/dist/components/{alert-dialog.js → overlay/alert-dialog.js} +3 -3
  212. package/dist/components/{dialog.js → overlay/dialog.js} +2 -2
  213. package/dist/components/{drawer.js → overlay/drawer.js} +2 -2
  214. package/dist/components/{hover-card.js → overlay/hover-card.js} +2 -2
  215. package/dist/components/overlay/popover.js +4 -0
  216. package/dist/components/overlay/sheet.js +4 -0
  217. package/dist/components/overlay/sonner.js +3 -0
  218. package/dist/components/overlay/tooltip.js +4 -0
  219. package/dist/index.d.ts +84 -83
  220. package/dist/index.js +62 -60
  221. package/dist/providers/ui-provider.d.ts +96 -0
  222. package/dist/providers/ui-provider.js +3 -0
  223. package/dist/providers/ui-provider.js.map +1 -0
  224. package/package.json +13 -8
  225. package/dist/chunk-2C2HRGM7.js.map +0 -1
  226. package/dist/chunk-2TUWDXAC.js.map +0 -1
  227. package/dist/chunk-34ARZSNP.js.map +0 -1
  228. package/dist/chunk-35DNN46W.js.map +0 -1
  229. package/dist/chunk-35U6QG4P.js.map +0 -1
  230. package/dist/chunk-3EOHW4QN.js.map +0 -1
  231. package/dist/chunk-3VU56V66.js +0 -41
  232. package/dist/chunk-3VU56V66.js.map +0 -1
  233. package/dist/chunk-55E7D2HR.js.map +0 -1
  234. package/dist/chunk-67YUL2ZS.js.map +0 -1
  235. package/dist/chunk-6DIDQ4TB.js.map +0 -1
  236. package/dist/chunk-6GWVQB3Q.js.map +0 -1
  237. package/dist/chunk-75WZR6HF.js.map +0 -1
  238. package/dist/chunk-7IRLBU2I.js.map +0 -1
  239. package/dist/chunk-7RMTPT6O.js.map +0 -1
  240. package/dist/chunk-7XH3MGBR.js.map +0 -1
  241. package/dist/chunk-A3BB5ZOC.js.map +0 -1
  242. package/dist/chunk-BAQWGQJG.js.map +0 -1
  243. package/dist/chunk-BRSM3SZP.js.map +0 -1
  244. package/dist/chunk-C34KSTWA.js.map +0 -1
  245. package/dist/chunk-C5NZAOA7.js.map +0 -1
  246. package/dist/chunk-CUZR4JWM.js.map +0 -1
  247. package/dist/chunk-EWBCV7VA.js.map +0 -1
  248. package/dist/chunk-F2ZJLKDP.js.map +0 -1
  249. package/dist/chunk-FLWMT4DB.js.map +0 -1
  250. package/dist/chunk-FRKG7JQY.js.map +0 -1
  251. package/dist/chunk-G7HTZBUR.js.map +0 -1
  252. package/dist/chunk-IAWKX5W4.js.map +0 -1
  253. package/dist/chunk-INLM7UJC.js.map +0 -1
  254. package/dist/chunk-JAJMM32I.js.map +0 -1
  255. package/dist/chunk-JJSVA3TH.js.map +0 -1
  256. package/dist/chunk-JLTBUACL.js.map +0 -1
  257. package/dist/chunk-JRU2QX7T.js.map +0 -1
  258. package/dist/chunk-JXGRW2MR.js.map +0 -1
  259. package/dist/chunk-LMT327XH.js.map +0 -1
  260. package/dist/chunk-LTTNCAAA.js.map +0 -1
  261. package/dist/chunk-MJLFJPUG.js.map +0 -1
  262. package/dist/chunk-MZ2P566X.js.map +0 -1
  263. package/dist/chunk-N47H4MHX.js.map +0 -1
  264. package/dist/chunk-NNJTKHCE.js.map +0 -1
  265. package/dist/chunk-NPL2R5LD.js.map +0 -1
  266. package/dist/chunk-NU56GKGM.js.map +0 -1
  267. package/dist/chunk-P3M5TZD2.js.map +0 -1
  268. package/dist/chunk-PGWNOZDX.js.map +0 -1
  269. package/dist/chunk-QB3UWRZH.js.map +0 -1
  270. package/dist/chunk-R2CDE5DO.js.map +0 -1
  271. package/dist/chunk-RQNZDWY3.js.map +0 -1
  272. package/dist/chunk-S6PDRGR5.js.map +0 -1
  273. package/dist/chunk-TGYQ3AKH.js.map +0 -1
  274. package/dist/chunk-TJMK2KBE.js.map +0 -1
  275. package/dist/chunk-USIHM7FV.js.map +0 -1
  276. package/dist/chunk-VVYSAGB3.js.map +0 -1
  277. package/dist/chunk-WD5KZE25.js +0 -25
  278. package/dist/chunk-WD5KZE25.js.map +0 -1
  279. package/dist/chunk-WL4ZO2H3.js.map +0 -1
  280. package/dist/chunk-WS6E7HBT.js.map +0 -1
  281. package/dist/chunk-XOJJBNDX.js.map +0 -1
  282. package/dist/chunk-YBMEQZX7.js.map +0 -1
  283. package/dist/chunk-Z2QAABLM.js.map +0 -1
  284. package/dist/chunk-ZHEKDP5X.js.map +0 -1
  285. package/dist/chunk-ZPMXRW2A.js.map +0 -1
  286. package/dist/chunk-ZYEGBF7G.js.map +0 -1
  287. package/dist/components/accordion.js +0 -4
  288. package/dist/components/alert.js +0 -4
  289. package/dist/components/aspect-ratio.js +0 -3
  290. package/dist/components/avatar.js +0 -4
  291. package/dist/components/badge.js +0 -4
  292. package/dist/components/button.js +0 -4
  293. package/dist/components/calendar-category-badge.js +0 -5
  294. package/dist/components/calendar-event-chip.js.map +0 -1
  295. package/dist/components/calendar-event-sheet.js.map +0 -1
  296. package/dist/components/calendar-mini.js.map +0 -1
  297. package/dist/components/calendar-toolbar.js.map +0 -1
  298. package/dist/components/calendar.js +0 -5
  299. package/dist/components/card.js +0 -4
  300. package/dist/components/carousel.js +0 -5
  301. package/dist/components/chart.js.map +0 -1
  302. package/dist/components/checkbox.js +0 -4
  303. package/dist/components/color-picker.js +0 -7
  304. package/dist/components/combobox.js +0 -8
  305. package/dist/components/date-picker.js.map +0 -1
  306. package/dist/components/file-upload.js +0 -5
  307. package/dist/components/form.js.map +0 -1
  308. package/dist/components/input-otp.js +0 -4
  309. package/dist/components/input.d.ts +0 -38
  310. package/dist/components/input.js +0 -4
  311. package/dist/components/label.js +0 -4
  312. package/dist/components/password-input.js +0 -5
  313. package/dist/components/permission-grid.js +0 -5
  314. package/dist/components/popover.js +0 -4
  315. package/dist/components/progress.js +0 -4
  316. package/dist/components/radio-group.js +0 -4
  317. package/dist/components/rating.js +0 -4
  318. package/dist/components/resizable.js +0 -4
  319. package/dist/components/scope-tree.js +0 -5
  320. package/dist/components/scope-type-badge.js +0 -5
  321. package/dist/components/scroll-area.js +0 -4
  322. package/dist/components/separator.js +0 -4
  323. package/dist/components/sheet.js +0 -4
  324. package/dist/components/skeleton.js +0 -4
  325. package/dist/components/slider.js +0 -4
  326. package/dist/components/slug-input.js +0 -6
  327. package/dist/components/sonner.js +0 -3
  328. package/dist/components/stage-type-badge.js +0 -5
  329. package/dist/components/switch.js +0 -4
  330. package/dist/components/table.js +0 -4
  331. package/dist/components/tabs.js +0 -4
  332. package/dist/components/tag-input.js +0 -5
  333. package/dist/components/textarea.d.ts +0 -21
  334. package/dist/components/textarea.js +0 -4
  335. package/dist/components/time-picker.js +0 -8
  336. package/dist/components/time-picker.js.map +0 -1
  337. package/dist/components/toggle-group.js +0 -5
  338. package/dist/components/toggle.js +0 -4
  339. package/dist/components/tooltip.js +0 -4
  340. package/dist/components/workflow-category-badge.js +0 -5
  341. package/dist/components/workflow-diagram.js +0 -5
  342. package/dist/components/workflow-status-badge.js +0 -5
  343. package/dist/components/workflow-stepper.js +0 -4
  344. /package/dist/components/{accordion.d.ts → display/accordion.d.ts} +0 -0
  345. /package/dist/components/{accordion.js.map → display/accordion.js.map} +0 -0
  346. /package/dist/components/{aspect-ratio.d.ts → display/aspect-ratio.d.ts} +0 -0
  347. /package/dist/components/{aspect-ratio.js.map → display/aspect-ratio.js.map} +0 -0
  348. /package/dist/components/{avatar.d.ts → display/avatar.d.ts} +0 -0
  349. /package/dist/components/{avatar.js.map → display/avatar.js.map} +0 -0
  350. /package/dist/components/{badge.js.map → display/badge.js.map} +0 -0
  351. /package/dist/components/{card.d.ts → display/card.d.ts} +0 -0
  352. /package/dist/components/{card.js.map → display/card.js.map} +0 -0
  353. /package/dist/components/{carousel.js.map → display/carousel.js.map} +0 -0
  354. /package/dist/components/{chart.d.ts → display/chart.d.ts} +0 -0
  355. /package/dist/components/{collapsible.d.ts → display/collapsible.d.ts} +0 -0
  356. /package/dist/components/{collapsible.js.map → display/collapsible.js.map} +0 -0
  357. /package/dist/components/{resizable.d.ts → display/resizable.d.ts} +0 -0
  358. /package/dist/components/{resizable.js.map → display/resizable.js.map} +0 -0
  359. /package/dist/components/{scroll-area.d.ts → display/scroll-area.d.ts} +0 -0
  360. /package/dist/components/{scroll-area.js.map → display/scroll-area.js.map} +0 -0
  361. /package/dist/components/{separator.d.ts → display/separator.d.ts} +0 -0
  362. /package/dist/components/{separator.js.map → display/separator.js.map} +0 -0
  363. /package/dist/components/{table.d.ts → display/table.d.ts} +0 -0
  364. /package/dist/components/{table.js.map → display/table.js.map} +0 -0
  365. /package/dist/components/{toggle-group.d.ts → display/toggle-group.d.ts} +0 -0
  366. /package/dist/components/{toggle-group.js.map → display/toggle-group.js.map} +0 -0
  367. /package/dist/components/{toggle.d.ts → display/toggle.d.ts} +0 -0
  368. /package/dist/components/{toggle.js.map → display/toggle.js.map} +0 -0
  369. /package/dist/components/{calendar-category-badge.d.ts → domain/calendar/calendar-category-badge.d.ts} +0 -0
  370. /package/dist/components/{calendar-category-badge.js.map → domain/calendar/calendar-category-badge.js.map} +0 -0
  371. /package/dist/components/{calendar-event-chip.d.ts → domain/calendar/calendar-event-chip.d.ts} +0 -0
  372. /package/dist/components/{calendar.d.ts → domain/calendar/calendar.d.ts} +0 -0
  373. /package/dist/components/{calendar.js.map → domain/calendar/calendar.js.map} +0 -0
  374. /package/dist/components/{permission-grid.d.ts → domain/rbac/permission-grid.d.ts} +0 -0
  375. /package/dist/components/{permission-grid.js.map → domain/rbac/permission-grid.js.map} +0 -0
  376. /package/dist/components/{scope-tree.d.ts → domain/rbac/scope-tree.d.ts} +0 -0
  377. /package/dist/components/{scope-tree.js.map → domain/rbac/scope-tree.js.map} +0 -0
  378. /package/dist/components/{scope-type-badge.d.ts → domain/rbac/scope-type-badge.d.ts} +0 -0
  379. /package/dist/components/{scope-type-badge.js.map → domain/rbac/scope-type-badge.js.map} +0 -0
  380. /package/dist/components/{stage-type-badge.d.ts → domain/workflow/stage-type-badge.d.ts} +0 -0
  381. /package/dist/components/{stage-type-badge.js.map → domain/workflow/stage-type-badge.js.map} +0 -0
  382. /package/dist/components/{workflow-category-badge.d.ts → domain/workflow/workflow-category-badge.d.ts} +0 -0
  383. /package/dist/components/{workflow-category-badge.js.map → domain/workflow/workflow-category-badge.js.map} +0 -0
  384. /package/dist/components/{workflow-diagram.d.ts → domain/workflow/workflow-diagram.d.ts} +0 -0
  385. /package/dist/components/{workflow-diagram.js.map → domain/workflow/workflow-diagram.js.map} +0 -0
  386. /package/dist/components/{workflow-status-badge.d.ts → domain/workflow/workflow-status-badge.d.ts} +0 -0
  387. /package/dist/components/{workflow-status-badge.js.map → domain/workflow/workflow-status-badge.js.map} +0 -0
  388. /package/dist/components/{workflow-stepper.d.ts → domain/workflow/workflow-stepper.d.ts} +0 -0
  389. /package/dist/components/{workflow-stepper.js.map → domain/workflow/workflow-stepper.js.map} +0 -0
  390. /package/dist/components/{alert.js.map → feedback/alert.js.map} +0 -0
  391. /package/dist/components/{progress.d.ts → feedback/progress.d.ts} +0 -0
  392. /package/dist/components/{progress.js.map → feedback/progress.js.map} +0 -0
  393. /package/dist/components/{skeleton.d.ts → feedback/skeleton.d.ts} +0 -0
  394. /package/dist/components/{skeleton.js.map → feedback/skeleton.js.map} +0 -0
  395. /package/dist/components/{button.js.map → inputs/button.js.map} +0 -0
  396. /package/dist/components/{checkbox.d.ts → inputs/checkbox.d.ts} +0 -0
  397. /package/dist/components/{checkbox.js.map → inputs/checkbox.js.map} +0 -0
  398. /package/dist/components/{color-picker.d.ts → inputs/color-picker.d.ts} +0 -0
  399. /package/dist/components/{color-picker.js.map → inputs/color-picker.js.map} +0 -0
  400. /package/dist/components/{combobox.d.ts → inputs/combobox.d.ts} +0 -0
  401. /package/dist/components/{combobox.js.map → inputs/combobox.js.map} +0 -0
  402. /package/dist/components/{file-upload.d.ts → inputs/file-upload.d.ts} +0 -0
  403. /package/dist/components/{file-upload.js.map → inputs/file-upload.js.map} +0 -0
  404. /package/dist/components/{form.d.ts → inputs/form.d.ts} +0 -0
  405. /package/dist/components/{input-otp.d.ts → inputs/input-otp.d.ts} +0 -0
  406. /package/dist/components/{input-otp.js.map → inputs/input-otp.js.map} +0 -0
  407. /package/dist/components/{input.js.map → inputs/input.js.map} +0 -0
  408. /package/dist/components/{label.d.ts → inputs/label.d.ts} +0 -0
  409. /package/dist/components/{label.js.map → inputs/label.js.map} +0 -0
  410. /package/dist/components/{password-input.js.map → inputs/password-input.js.map} +0 -0
  411. /package/dist/components/{radio-group.d.ts → inputs/radio-group.d.ts} +0 -0
  412. /package/dist/components/{radio-group.js.map → inputs/radio-group.js.map} +0 -0
  413. /package/dist/components/{rating.d.ts → inputs/rating.d.ts} +0 -0
  414. /package/dist/components/{rating.js.map → inputs/rating.js.map} +0 -0
  415. /package/dist/components/{select.d.ts → inputs/select.d.ts} +0 -0
  416. /package/dist/components/{select.js.map → inputs/select.js.map} +0 -0
  417. /package/dist/components/{slider.d.ts → inputs/slider.d.ts} +0 -0
  418. /package/dist/components/{slider.js.map → inputs/slider.js.map} +0 -0
  419. /package/dist/components/{slug-input.d.ts → inputs/slug-input.d.ts} +0 -0
  420. /package/dist/components/{slug-input.js.map → inputs/slug-input.js.map} +0 -0
  421. /package/dist/components/{switch.d.ts → inputs/switch.d.ts} +0 -0
  422. /package/dist/components/{switch.js.map → inputs/switch.js.map} +0 -0
  423. /package/dist/components/{tag-input.d.ts → inputs/tag-input.d.ts} +0 -0
  424. /package/dist/components/{tag-input.js.map → inputs/tag-input.js.map} +0 -0
  425. /package/dist/components/{textarea.js.map → inputs/textarea.js.map} +0 -0
  426. /package/dist/components/{time-picker.d.ts → inputs/time-picker.d.ts} +0 -0
  427. /package/dist/components/{breadcrumb.d.ts → navigation/breadcrumb.d.ts} +0 -0
  428. /package/dist/components/{breadcrumb.js.map → navigation/breadcrumb.js.map} +0 -0
  429. /package/dist/components/{command.js.map → navigation/command.js.map} +0 -0
  430. /package/dist/components/{context-menu.d.ts → navigation/context-menu.d.ts} +0 -0
  431. /package/dist/components/{context-menu.js.map → navigation/context-menu.js.map} +0 -0
  432. /package/dist/components/{dropdown-menu.d.ts → navigation/dropdown-menu.d.ts} +0 -0
  433. /package/dist/components/{dropdown-menu.js.map → navigation/dropdown-menu.js.map} +0 -0
  434. /package/dist/components/{menubar.d.ts → navigation/menubar.d.ts} +0 -0
  435. /package/dist/components/{menubar.js.map → navigation/menubar.js.map} +0 -0
  436. /package/dist/components/{navigation-menu.d.ts → navigation/navigation-menu.d.ts} +0 -0
  437. /package/dist/components/{navigation-menu.js.map → navigation/navigation-menu.js.map} +0 -0
  438. /package/dist/components/{pagination.js.map → navigation/pagination.js.map} +0 -0
  439. /package/dist/components/{tabs.d.ts → navigation/tabs.d.ts} +0 -0
  440. /package/dist/components/{tabs.js.map → navigation/tabs.js.map} +0 -0
  441. /package/dist/components/{alert-dialog.d.ts → overlay/alert-dialog.d.ts} +0 -0
  442. /package/dist/components/{alert-dialog.js.map → overlay/alert-dialog.js.map} +0 -0
  443. /package/dist/components/{dialog.d.ts → overlay/dialog.d.ts} +0 -0
  444. /package/dist/components/{dialog.js.map → overlay/dialog.js.map} +0 -0
  445. /package/dist/components/{drawer.d.ts → overlay/drawer.d.ts} +0 -0
  446. /package/dist/components/{drawer.js.map → overlay/drawer.js.map} +0 -0
  447. /package/dist/components/{hover-card.d.ts → overlay/hover-card.d.ts} +0 -0
  448. /package/dist/components/{hover-card.js.map → overlay/hover-card.js.map} +0 -0
  449. /package/dist/components/{popover.d.ts → overlay/popover.d.ts} +0 -0
  450. /package/dist/components/{popover.js.map → overlay/popover.js.map} +0 -0
  451. /package/dist/components/{sheet.d.ts → overlay/sheet.d.ts} +0 -0
  452. /package/dist/components/{sheet.js.map → overlay/sheet.js.map} +0 -0
  453. /package/dist/components/{sonner.d.ts → overlay/sonner.d.ts} +0 -0
  454. /package/dist/components/{sonner.js.map → overlay/sonner.js.map} +0 -0
  455. /package/dist/components/{tooltip.d.ts → overlay/tooltip.d.ts} +0 -0
  456. /package/dist/components/{tooltip.js.map → overlay/tooltip.js.map} +0 -0
@@ -0,0 +1,8 @@
1
+ export { Combobox, MultiCombobox } from '../../chunk-3V6NS4EQ.js';
2
+ import '../../chunk-MVYSUWSD.js';
3
+ import '../../chunk-YVCLIOMM.js';
4
+ import '../../chunk-7NMNLY7F.js';
5
+ import '../../chunk-BOV3Q2JH.js';
6
+ import '../../chunk-DGPY4WP3.js';
7
+ //# sourceMappingURL=combobox.js.map
8
+ //# sourceMappingURL=combobox.js.map
@@ -30,7 +30,7 @@ interface DatePickerProps {
30
30
  * />
31
31
  * ```
32
32
  */
33
- declare function DatePicker({ value, onChange, placeholder, className, disabled, locale, }: DatePickerProps): react_jsx_runtime.JSX.Element;
33
+ declare function DatePicker({ value, onChange, placeholder, className, disabled, locale: localeProp, }: DatePickerProps): react_jsx_runtime.JSX.Element;
34
34
  interface DateRangePickerProps {
35
35
  /** Currently selected date range with `from` and optional `to`. */
36
36
  value?: {
@@ -66,6 +66,6 @@ interface DateRangePickerProps {
66
66
  * />
67
67
  * ```
68
68
  */
69
- declare function DateRangePicker({ value, onChange, placeholder, className, disabled, locale, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
69
+ declare function DateRangePicker({ value, onChange, placeholder, className, disabled, locale: localeProp, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
70
70
 
71
71
  export { DatePicker, DateRangePicker };
@@ -1,7 +1,8 @@
1
- import { Popover, PopoverTrigger, PopoverContent } from '../chunk-C34KSTWA.js';
2
- import { Calendar as Calendar$1 } from '../chunk-QB3UWRZH.js';
3
- import { Button } from '../chunk-55E7D2HR.js';
4
- import { cn } from '../chunk-DGPY4WP3.js';
1
+ import { Popover, PopoverTrigger, PopoverContent } from '../../chunk-7NMNLY7F.js';
2
+ import { useDateFnsLocale } from '../../chunk-VPTIRPZW.js';
3
+ import { Calendar as Calendar$1 } from '../../chunk-KJAXKHJ2.js';
4
+ import { Button } from '../../chunk-BOV3Q2JH.js';
5
+ import { cn } from '../../chunk-DGPY4WP3.js';
5
6
  import { format } from 'date-fns';
6
7
  import { Calendar } from 'lucide-react';
7
8
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
@@ -12,8 +13,10 @@ function DatePicker({
12
13
  placeholder = "Select date",
13
14
  className,
14
15
  disabled,
15
- locale
16
+ locale: localeProp
16
17
  }) {
18
+ const contextLocale = useDateFnsLocale();
19
+ const locale = localeProp ?? contextLocale;
17
20
  return /* @__PURE__ */ jsxs(Popover, { children: [
18
21
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
19
22
  Button,
@@ -37,7 +40,8 @@ function DatePicker({
37
40
  mode: "single",
38
41
  selected: value,
39
42
  onSelect: onChange,
40
- autoFocus: true
43
+ autoFocus: true,
44
+ locale
41
45
  }
42
46
  ) })
43
47
  ] });
@@ -48,8 +52,10 @@ function DateRangePicker({
48
52
  placeholder = "Select date range",
49
53
  className,
50
54
  disabled,
51
- locale
55
+ locale: localeProp
52
56
  }) {
57
+ const contextLocale = useDateFnsLocale();
58
+ const locale = localeProp ?? contextLocale;
53
59
  return /* @__PURE__ */ jsxs(Popover, { children: [
54
60
  /* @__PURE__ */ jsx(PopoverTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
55
61
  Button,
@@ -79,7 +85,8 @@ function DateRangePicker({
79
85
  selected: value,
80
86
  onSelect: onChange,
81
87
  numberOfMonths: 2,
82
- autoFocus: true
88
+ autoFocus: true,
89
+ locale
83
90
  }
84
91
  ) })
85
92
  ] });
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/inputs/date-picker.tsx"],"names":["CalendarIcon","Calendar"],"mappings":"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","file":"date-picker.js","sourcesContent":["import { format } from \"date-fns\";\nimport { Calendar as CalendarIcon } from \"lucide-react\";\nimport type { Locale } from \"date-fns\";\n\nimport { cn } from \"../../lib/utils\";\nimport { useDateFnsLocale } from \"../../providers/ui-provider\";\nimport { Button } from \"./button\";\nimport { Calendar } from \"../domain/calendar/calendar\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../overlay/popover\";\n\ninterface DatePickerProps {\n /** Currently selected date. */\n value?: Date;\n /** Callback fired when a date is selected or cleared. */\n onChange?: (date: Date | undefined) => void;\n /** Placeholder text shown when no date is selected. */\n placeholder?: string;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the date picker is disabled. */\n disabled?: boolean;\n /** date-fns Locale object for date formatting (e.g., `ja` for Japanese). */\n locale?: Locale;\n}\n\n/**\n * Single date picker with a calendar popover.\n * Displays the selected date formatted with date-fns and opens a calendar on click.\n *\n * @example\n * ```tsx\n * const [date, setDate] = useState<Date>();\n *\n * <DatePicker\n * value={date}\n * onChange={setDate}\n * placeholder=\"Pick a date\"\n * />\n * ```\n */\nexport function DatePicker({\n value,\n onChange,\n placeholder = \"Select date\",\n className,\n disabled,\n locale: localeProp,\n}: DatePickerProps) {\n const contextLocale = useDateFnsLocale() as Locale | undefined;\n const locale = localeProp ?? contextLocale;\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start text-left font-normal\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {value ? format(value, \"PPP\", locale ? { locale } : undefined) : <span>{placeholder}</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n selected={value}\n onSelect={onChange}\n autoFocus\n locale={locale}\n />\n </PopoverContent>\n </Popover>\n );\n}\n\ninterface DateRangePickerProps {\n /** Currently selected date range with `from` and optional `to`. */\n value?: { from: Date | undefined; to?: Date | undefined };\n /** Callback fired when the date range changes. */\n onChange?: (range: { from: Date | undefined; to?: Date | undefined } | undefined) => void;\n /** Placeholder text shown when no range is selected. */\n placeholder?: string;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the date range picker is disabled. */\n disabled?: boolean;\n /** date-fns Locale object for date formatting (e.g., `ja` for Japanese). */\n locale?: Locale;\n}\n\n/**\n * Date range picker with a two-month calendar popover.\n * Allows selecting a start and end date displayed as a range string.\n *\n * @example\n * ```tsx\n * const [range, setRange] = useState<{ from: Date | undefined; to?: Date }>();\n *\n * <DateRangePicker\n * value={range}\n * onChange={setRange}\n * placeholder=\"Select date range\"\n * />\n * ```\n */\nexport function DateRangePicker({\n value,\n onChange,\n placeholder = \"Select date range\",\n className,\n disabled,\n locale: localeProp,\n}: DateRangePickerProps) {\n const contextLocale = useDateFnsLocale() as Locale | undefined;\n const locale = localeProp ?? contextLocale;\n\n return (\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start text-left font-normal\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <CalendarIcon className=\"mr-2 h-4 w-4\" />\n {value?.from ? (\n value.to ? (\n <>\n {format(value.from, \"PPP\", locale ? { locale } : undefined)} -{\" \"}\n {format(value.to, \"PPP\", locale ? { locale } : undefined)}\n </>\n ) : (\n format(value.from, \"PPP\", locale ? { locale } : undefined)\n )\n ) : (\n <span>{placeholder}</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n selected={value}\n onSelect={onChange}\n numberOfMonths={2}\n autoFocus\n locale={locale}\n />\n </PopoverContent>\n </Popover>\n );\n}\n"]}
@@ -0,0 +1,5 @@
1
+ export { FileUpload } from '../../chunk-47TUWE63.js';
2
+ import '../../chunk-BOV3Q2JH.js';
3
+ import '../../chunk-DGPY4WP3.js';
4
+ //# sourceMappingURL=file-upload.js.map
5
+ //# sourceMappingURL=file-upload.js.map
@@ -1,5 +1,5 @@
1
- import { Label } from '../chunk-P3M5TZD2.js';
2
- import { cn } from '../chunk-DGPY4WP3.js';
1
+ import { Label } from '../../chunk-EYJ7TJIX.js';
2
+ import { cn } from '../../chunk-DGPY4WP3.js';
3
3
  import * as React from 'react';
4
4
  import { Slot } from '@radix-ui/react-slot';
5
5
  import { FormProvider, Controller, useFormContext, useFormState } from 'react-hook-form';
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/inputs/form.tsx"],"names":[],"mappings":"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","file":"form.js","sourcesContent":["import * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport {\n Controller,\n FormProvider,\n useFormContext,\n useFormState,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n} from \"react-hook-form\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Label } from \"./label\";\n\n/**\n * Form provider component built on react-hook-form's FormProvider.\n * Wraps form fields and provides form context for validation, error display, and accessibility.\n *\n * @example\n * ```tsx\n * const form = useForm({ defaultValues: { email: \"\" } });\n *\n * <Form {...form}>\n * <form onSubmit={form.handleSubmit(onSubmit)}>\n * <FormField\n * control={form.control}\n * name=\"email\"\n * render={({ field }) => (\n * <FormItem>\n * <FormLabel>Email</FormLabel>\n * <FormControl>\n * <Input placeholder=\"you@example.com\" {...field} />\n * </FormControl>\n * <FormDescription>Your work email address.</FormDescription>\n * <FormMessage />\n * </FormItem>\n * )}\n * />\n * <Button type=\"submit\">Submit</Button>\n * </form>\n * </Form>\n * ```\n */\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue,\n);\n\n/** Connects a form field to react-hook-form's Controller and provides field context. */\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\n/**\n * Hook that returns field state, IDs, and error information for the current form field.\n * Must be used within a `FormField` component.\n */\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\");\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue,\n);\n\n/** Container for a single form field, grouping label, control, description, and message. */\nfunction FormItem({ className, ...props }: React.ComponentProps<\"div\">) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn(\"grid gap-2\", className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\n/** Label for a form field that turns red on validation error. */\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn(\"data-[error=true]:text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\n/** Slot wrapper that wires up aria attributes for the form control. */\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\n/** Helper text displayed below the form control. */\nfunction FormDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** Displays the validation error message for the form field. */\nfunction FormMessage({ className, ...props }: React.ComponentProps<\"p\">) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? \"\") : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn(\"text-destructive text-sm\", className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};"]}
@@ -0,0 +1,4 @@
1
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot } from '../../chunk-33QLY6GI.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=input-otp.js.map
4
+ //# sourceMappingURL=input-otp.js.map
@@ -0,0 +1,75 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+ import { TranslatableConfig, TranslatableValue } from '../../providers/ui-provider.js';
5
+ import 'react/jsx-runtime';
6
+
7
+ declare const inputVariants: (props?: ({
8
+ size?: "default" | "xs" | "sm" | "lg" | "xl" | null | undefined;
9
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
10
+ type InputSize = VariantProps<typeof inputVariants>['size'];
11
+ type NativeInputProps = Omit<React.ComponentProps<'input'>, 'value' | 'onChange' | 'size'>;
12
+ interface StandardInputProps extends NativeInputProps {
13
+ size?: InputSize;
14
+ /** Translatable mode disabled (default). */
15
+ translatable?: never;
16
+ value?: string;
17
+ onChange?: React.ChangeEventHandler<HTMLInputElement>;
18
+ }
19
+ interface TranslatableInputProps extends NativeInputProps {
20
+ size?: InputSize;
21
+ /**
22
+ * Enable locale-switching tabs on this input.
23
+ * - `true` — inherit UIProvider's locale config
24
+ * - `object` — override locales/defaultLocale/fallbackLocale per field
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Uses UIProvider config
29
+ * <Input translatable value={val} onChange={setVal} />
30
+ *
31
+ * // Custom per-field config
32
+ * <Input
33
+ * translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
34
+ * value={val}
35
+ * onChange={setVal}
36
+ * />
37
+ * ```
38
+ */
39
+ translatable: TranslatableConfig;
40
+ value?: TranslatableValue;
41
+ onChange?: (value: TranslatableValue) => void;
42
+ /**
43
+ * Per-locale validation errors. Truthy string = that locale is invalid.
44
+ * The active locale's error is forwarded as `aria-invalid` on the input;
45
+ * all locale tabs with errors show a red dot indicator.
46
+ *
47
+ * @example `{ en: 'Required', vi: 'Too long (120/100)' }`
48
+ */
49
+ errors?: Partial<Record<string, string>>;
50
+ }
51
+ type InputProps = StandardInputProps | TranslatableInputProps;
52
+ /**
53
+ * Text input component with multiple size variants.
54
+ * Supports translatable mode via the `translatable` prop.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * // Standard
59
+ * <Input placeholder="Enter text..." />
60
+ * <Input size="sm" value={val} onChange={(e) => setVal(e.target.value)} />
61
+ *
62
+ * // Translatable — uses UIProvider's locale config
63
+ * <Input translatable value={val} onChange={setVal} />
64
+ *
65
+ * // Translatable — custom config
66
+ * <Input
67
+ * translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
68
+ * value={val}
69
+ * onChange={setVal}
70
+ * />
71
+ * ```
72
+ */
73
+ declare const Input: React.ForwardRefExoticComponent<(Omit<StandardInputProps, "ref"> | Omit<TranslatableInputProps, "ref">) & React.RefAttributes<HTMLInputElement>>;
74
+
75
+ export { Input, type InputProps, inputVariants };
@@ -0,0 +1,6 @@
1
+ export { Input, inputVariants } from '../../chunk-4NBDYSSQ.js';
2
+ import '../../chunk-YU55YBID.js';
3
+ import '../../chunk-VPTIRPZW.js';
4
+ import '../../chunk-DGPY4WP3.js';
5
+ //# sourceMappingURL=input.js.map
6
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1,4 @@
1
+ export { Label } from '../../chunk-EYJ7TJIX.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=label.js.map
4
+ //# sourceMappingURL=label.js.map
@@ -2,6 +2,8 @@ import * as React from 'react';
2
2
  import { VariantProps } from 'class-variance-authority';
3
3
  import { inputVariants } from './input.js';
4
4
  import 'class-variance-authority/types';
5
+ import '../../providers/ui-provider.js';
6
+ import 'react/jsx-runtime';
5
7
 
6
8
  interface PasswordInputProps extends Omit<React.ComponentProps<"input">, "type" | "size">, VariantProps<typeof inputVariants> {
7
9
  }
@@ -0,0 +1,7 @@
1
+ export { PasswordInput } from '../../chunk-HDTHGIQR.js';
2
+ import '../../chunk-4NBDYSSQ.js';
3
+ import '../../chunk-YU55YBID.js';
4
+ import '../../chunk-VPTIRPZW.js';
5
+ import '../../chunk-DGPY4WP3.js';
6
+ //# sourceMappingURL=password-input.js.map
7
+ //# sourceMappingURL=password-input.js.map
@@ -0,0 +1,4 @@
1
+ export { RadioGroup, RadioGroupItem } from '../../chunk-QGU4BRMO.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=radio-group.js.map
4
+ //# sourceMappingURL=radio-group.js.map
@@ -0,0 +1,4 @@
1
+ export { Rating } from '../../chunk-N6OUJIQD.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=rating.js.map
4
+ //# sourceMappingURL=rating.js.map
@@ -1,4 +1,4 @@
1
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from '../chunk-NNJTKHCE.js';
2
- import '../chunk-DGPY4WP3.js';
1
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from '../../chunk-LTGCKJX7.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
3
  //# sourceMappingURL=select.js.map
4
4
  //# sourceMappingURL=select.js.map
@@ -0,0 +1,4 @@
1
+ export { Slider } from '../../chunk-S73PGQD5.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=slider.js.map
4
+ //# sourceMappingURL=slider.js.map
@@ -0,0 +1,8 @@
1
+ export { SlugInput, generateSlug } from '../../chunk-4AGNE75K.js';
2
+ import '../../chunk-4NBDYSSQ.js';
3
+ import '../../chunk-YU55YBID.js';
4
+ import '../../chunk-EYJ7TJIX.js';
5
+ import '../../chunk-VPTIRPZW.js';
6
+ import '../../chunk-DGPY4WP3.js';
7
+ //# sourceMappingURL=slug-input.js.map
8
+ //# sourceMappingURL=slug-input.js.map
@@ -0,0 +1,4 @@
1
+ export { Switch } from '../../chunk-EAY3QSID.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=switch.js.map
4
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1,5 @@
1
+ export { TagInput } from '../../chunk-I6PJSYBI.js';
2
+ import '../../chunk-5SAUUOCN.js';
3
+ import '../../chunk-DGPY4WP3.js';
4
+ //# sourceMappingURL=tag-input.js.map
5
+ //# sourceMappingURL=tag-input.js.map
@@ -0,0 +1,67 @@
1
+ import * as React from 'react';
2
+ import { TranslatableConfig, TranslatableValue } from '../../providers/ui-provider.js';
3
+ import 'react/jsx-runtime';
4
+
5
+ type NativeTextareaProps = Omit<React.ComponentProps<'textarea'>, 'value' | 'onChange'>;
6
+ interface StandardTextareaProps extends NativeTextareaProps {
7
+ /** Translatable mode disabled (default). */
8
+ translatable?: never;
9
+ value?: string;
10
+ onChange?: React.ChangeEventHandler<HTMLTextAreaElement>;
11
+ }
12
+ interface TranslatableTextareaProps extends NativeTextareaProps {
13
+ /**
14
+ * Enable locale-switching tabs on this textarea.
15
+ * - `true` — inherit UIProvider's locale config
16
+ * - `object` — override locales/defaultLocale/fallbackLocale per field
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // Uses UIProvider config
21
+ * <Textarea translatable value={val} onChange={setVal} />
22
+ *
23
+ * // Custom per-field config
24
+ * <Textarea
25
+ * translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
26
+ * value={val}
27
+ * onChange={setVal}
28
+ * />
29
+ * ```
30
+ */
31
+ translatable: TranslatableConfig;
32
+ value?: TranslatableValue;
33
+ onChange?: (value: TranslatableValue) => void;
34
+ /**
35
+ * Per-locale validation errors. Truthy string = that locale is invalid.
36
+ * The active locale's error is forwarded as `aria-invalid` on the textarea;
37
+ * all locale tabs with errors show a red dot indicator.
38
+ *
39
+ * @example `{ en: 'Required', vi: 'Too long (120/100)' }`
40
+ */
41
+ errors?: Partial<Record<string, string>>;
42
+ }
43
+ type TextareaProps = StandardTextareaProps | TranslatableTextareaProps;
44
+ /**
45
+ * Multi-line text input with auto-sizing via `field-sizing-content`.
46
+ * Supports translatable mode via the `translatable` prop.
47
+ *
48
+ * @example
49
+ * ```tsx
50
+ * // Standard
51
+ * <Textarea placeholder="Enter a description..." />
52
+ * <Textarea value={content} onChange={(e) => setContent(e.target.value)} />
53
+ *
54
+ * // Translatable — uses UIProvider's locale config
55
+ * <Textarea translatable value={val} onChange={setVal} />
56
+ *
57
+ * // Translatable — custom config
58
+ * <Textarea
59
+ * translatable={{ locales: { en: 'English', vi: 'Tiếng Việt' }, fallbackLocale: 'en' }}
60
+ * value={val}
61
+ * onChange={setVal}
62
+ * />
63
+ * ```
64
+ */
65
+ declare const Textarea: React.ForwardRefExoticComponent<(Omit<StandardTextareaProps, "ref"> | Omit<TranslatableTextareaProps, "ref">) & React.RefAttributes<HTMLTextAreaElement>>;
66
+
67
+ export { Textarea, type TextareaProps };
@@ -0,0 +1,6 @@
1
+ export { Textarea } from '../../chunk-ZUBW2ERW.js';
2
+ import '../../chunk-YU55YBID.js';
3
+ import '../../chunk-VPTIRPZW.js';
4
+ import '../../chunk-DGPY4WP3.js';
5
+ //# sourceMappingURL=textarea.js.map
6
+ //# sourceMappingURL=textarea.js.map
@@ -1,8 +1,10 @@
1
- import { ScrollArea } from './chunk-JJSVA3TH.js';
2
- import { Input } from './chunk-3VU56V66.js';
3
- import { Popover, PopoverTrigger, PopoverContent } from './chunk-C34KSTWA.js';
4
- import { Button } from './chunk-55E7D2HR.js';
5
- import { cn } from './chunk-DGPY4WP3.js';
1
+ import { Input } from '../../chunk-4NBDYSSQ.js';
2
+ import '../../chunk-YU55YBID.js';
3
+ import { Popover, PopoverTrigger, PopoverContent } from '../../chunk-7NMNLY7F.js';
4
+ import '../../chunk-VPTIRPZW.js';
5
+ import { ScrollArea } from '../../chunk-LUYTKHGS.js';
6
+ import { Button } from '../../chunk-BOV3Q2JH.js';
7
+ import { cn } from '../../chunk-DGPY4WP3.js';
6
8
  import * as React from 'react';
7
9
  import { Clock } from 'lucide-react';
8
10
  import { jsxs, jsx } from 'react/jsx-runtime';
@@ -127,5 +129,5 @@ function TimeInput({
127
129
  }
128
130
 
129
131
  export { TimeInput, TimePicker };
130
- //# sourceMappingURL=chunk-6DIDQ4TB.js.map
131
- //# sourceMappingURL=chunk-6DIDQ4TB.js.map
132
+ //# sourceMappingURL=time-picker.js.map
133
+ //# sourceMappingURL=time-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/inputs/time-picker.tsx"],"names":[],"mappings":"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","file":"time-picker.js","sourcesContent":["import * as React from \"react\";\nimport { Clock } from \"lucide-react\";\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { Popover, PopoverContent, PopoverTrigger } from \"../overlay/popover\";\nimport { ScrollArea } from \"../display/scroll-area\";\n\ninterface TimePickerProps {\n /** Currently selected time in `\"HH:mm\"` format (e.g., `\"14:30\"`). */\n value?: string;\n /** Callback fired when a time is selected. Receives a `\"HH:mm\"` string. */\n onChange?: (time: string) => void;\n /** Placeholder text shown when no time is selected. */\n placeholder?: string;\n /** Additional CSS class for the trigger button. */\n className?: string;\n /** Whether the time picker is disabled. */\n disabled?: boolean;\n /** Use 24-hour format (0-23). When false, shows 12-hour (1-12). Defaults to `true`. */\n format24h?: boolean;\n}\n\n/**\n * Time picker with a scrollable hour/minute popover.\n * Opens a two-column dropdown for selecting hours and minutes.\n *\n * @example\n * ```tsx\n * const [time, setTime] = useState<string>();\n *\n * <TimePicker\n * value={time}\n * onChange={setTime}\n * placeholder=\"Select time\"\n * format24h\n * />\n * ```\n */\nexport function TimePicker({\n value,\n onChange,\n placeholder = \"Chọn giờ\",\n className,\n disabled,\n format24h = true,\n}: TimePickerProps) {\n const [open, setOpen] = React.useState(false);\n\n const hours = format24h\n ? Array.from({ length: 24 }, (_, i) => i.toString().padStart(2, \"0\"))\n : Array.from({ length: 12 }, (_, i) => (i + 1).toString().padStart(2, \"0\"));\n\n const minutes = Array.from({ length: 60 }, (_, i) =>\n i.toString().padStart(2, \"0\")\n );\n\n const [selectedHour, selectedMinute] = value?.split(\":\") || [\"\", \"\"];\n\n const handleHourSelect = (hour: string) => {\n const newTime = `${hour}:${selectedMinute || \"00\"}`;\n onChange?.(newTime);\n };\n\n const handleMinuteSelect = (minute: string) => {\n const newTime = `${selectedHour || \"00\"}:${minute}`;\n onChange?.(newTime);\n setOpen(false);\n };\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n disabled={disabled}\n className={cn(\n \"w-full justify-start\",\n !value && \"text-muted-foreground\",\n className\n )}\n >\n <Clock className=\"mr-2 h-4 w-4\" />\n {value || placeholder}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <div className=\"flex\">\n {/* Hours */}\n <ScrollArea className=\"h-60 w-20 border-r\">\n <div className=\"p-1\">\n {hours.map((hour) => (\n <button\n key={hour}\n type=\"button\"\n onClick={() => handleHourSelect(hour)}\n className={cn(\n \"w-full px-3 py-2 text-sm rounded hover:bg-accent transition-colors text-center\",\n selectedHour === hour && \"bg-primary/10 text-primary font-semibold\"\n )}\n >\n {hour}\n </button>\n ))}\n </div>\n </ScrollArea>\n\n {/* Minutes */}\n <ScrollArea className=\"h-60 w-20\">\n <div className=\"p-1\">\n {minutes.map((minute) => (\n <button\n key={minute}\n type=\"button\"\n onClick={() => handleMinuteSelect(minute)}\n className={cn(\n \"w-full px-3 py-2 text-sm rounded hover:bg-accent transition-colors text-center\",\n selectedMinute === minute && \"bg-primary/10 text-primary font-semibold\"\n )}\n >\n {minute}\n </button>\n ))}\n </div>\n </ScrollArea>\n </div>\n </PopoverContent>\n </Popover>\n );\n}\n\ninterface TimeInputProps {\n /** Current time value in `\"HH:mm\"` format. */\n value?: string;\n /** Callback fired on blur with a valid `\"HH:mm\"` string. */\n onChange?: (time: string) => void;\n /** Additional CSS class for the input wrapper. */\n className?: string;\n /** Whether the input is disabled. */\n disabled?: boolean;\n}\n\n/**\n * Inline text input for typing a time value directly.\n * Automatically formats input as `HH:mm` and validates on blur.\n *\n * @example\n * ```tsx\n * const [time, setTime] = useState(\"09:00\");\n *\n * <TimeInput value={time} onChange={setTime} />\n * ```\n */\nexport function TimeInput({\n value = \"\",\n onChange,\n className,\n disabled,\n}: TimeInputProps) {\n const [localValue, setLocalValue] = React.useState(value);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n let input = e.target.value.replace(/\\D/g, \"\"); // Remove non-digits\n\n if (input.length >= 2) {\n const hours = parseInt(input.substring(0, 2));\n if (hours > 23) input = \"23\" + input.substring(2);\n }\n\n if (input.length >= 4) {\n const minutes = parseInt(input.substring(2, 4));\n if (minutes > 59) input = input.substring(0, 2) + \"59\";\n }\n\n // Format as HH:mm\n if (input.length >= 2) {\n input = input.substring(0, 2) + \":\" + input.substring(2, 4);\n }\n\n setLocalValue(input);\n };\n\n const handleBlur = () => {\n // Validate and format\n const parts = localValue.split(\":\");\n if (parts.length === 2 && parts[0].length === 2 && parts[1].length === 2) {\n onChange?.(localValue);\n } else {\n setLocalValue(value);\n }\n };\n\n return (\n <div className=\"relative\">\n <Input\n type=\"text\"\n value={localValue}\n onChange={handleChange}\n onBlur={handleBlur}\n placeholder=\"00:00\"\n maxLength={5}\n disabled={disabled}\n className={cn(\"pr-10\", className)}\n />\n <Clock className=\"absolute right-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground\" />\n </div>\n );\n}\n"]}
@@ -0,0 +1,51 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+ import { UILocaleConfig, TranslatableValue, LocaleCode } from '../../providers/ui-provider.js';
4
+
5
+ interface TranslatableRenderProps {
6
+ /** Active locale code, e.g. `'en'` */
7
+ locale: LocaleCode;
8
+ /** String value for the active locale */
9
+ value: string;
10
+ /** Call with the new string to update the active locale's value */
11
+ onChange: (value: string) => void;
12
+ /** Fallback value shown as placeholder when the active locale is empty */
13
+ fallbackPlaceholder: string | undefined;
14
+ /** True when the active locale has a truthy entry in `errors` */
15
+ hasError: boolean;
16
+ }
17
+ interface TranslatableFieldProps {
18
+ config: UILocaleConfig;
19
+ value: TranslatableValue;
20
+ onChange: (value: TranslatableValue) => void;
21
+ /** Render the actual input. Receives locale-scoped value/onChange. */
22
+ children: (props: TranslatableRenderProps) => ReactNode;
23
+ className?: string;
24
+ /**
25
+ * Per-locale validation errors. A truthy string for a locale code marks that
26
+ * locale as invalid: its tab dot turns red and `hasError` is `true` in the
27
+ * render props when that locale is active.
28
+ *
29
+ * @example `{ en: '', vi: 'Too long' }` — only VI has an error
30
+ */
31
+ errors?: Partial<Record<string, string>>;
32
+ }
33
+ /**
34
+ * Wraps any text input with a locale switcher tab bar.
35
+ * Used internally by `Input` and `Textarea` when `translatable` prop is set.
36
+ *
37
+ * When more than 3 locales are configured, overflow locales are collapsed into
38
+ * a dropdown button to prevent the tab bar from overflowing.
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * <TranslatableField config={localeConfig} value={val} onChange={setVal} errors={{ vi: 'Too long' }}>
43
+ * {({ value, onChange, fallbackPlaceholder, hasError }) => (
44
+ * <input aria-invalid={hasError || undefined} value={value} onChange={(e) => onChange(e.target.value)} />
45
+ * )}
46
+ * </TranslatableField>
47
+ * ```
48
+ */
49
+ declare function TranslatableField({ config, value, onChange, children, className, errors, }: TranslatableFieldProps): react_jsx_runtime.JSX.Element;
50
+
51
+ export { TranslatableField, type TranslatableRenderProps, TranslatableValue };
@@ -0,0 +1,4 @@
1
+ export { TranslatableField } from '../../chunk-YU55YBID.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
+ //# sourceMappingURL=translatable-field.js.map
4
+ //# sourceMappingURL=translatable-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"translatable-field.js"}
@@ -0,0 +1,96 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ interface PageContainerProps {
5
+ /**
6
+ * Page title
7
+ */
8
+ title?: string;
9
+ /**
10
+ * Subtitle or description below title
11
+ */
12
+ subtitle?: string;
13
+ /**
14
+ * Extra content (buttons, actions) displayed on the right side of header
15
+ */
16
+ extra?: ReactNode;
17
+ /**
18
+ * Main page content
19
+ */
20
+ children: ReactNode;
21
+ /**
22
+ * Footer content displayed at the bottom
23
+ */
24
+ footer?: ReactNode;
25
+ /**
26
+ * Sidebar content displayed on left or right
27
+ */
28
+ sidebar?: ReactNode;
29
+ /**
30
+ * Sidebar position
31
+ * @default 'right'
32
+ */
33
+ sidebarPosition?: 'left' | 'right';
34
+ /**
35
+ * Sidebar width
36
+ * @default 'w-80'
37
+ */
38
+ sidebarWidth?: string;
39
+ /**
40
+ * Layout variant
41
+ * - 'standard': Default padded layout with header
42
+ * - 'full': Full width, no padding (for boards, gantt)
43
+ * - 'split': Layout with sidebar inside page
44
+ * @default 'standard'
45
+ */
46
+ variant?: 'standard' | 'full' | 'split';
47
+ /**
48
+ * Custom container className
49
+ */
50
+ className?: string;
51
+ /**
52
+ * Custom content className
53
+ */
54
+ contentClassName?: string;
55
+ /**
56
+ * Show separator below header
57
+ * @default true for standard variant
58
+ */
59
+ showHeaderSeparator?: boolean;
60
+ }
61
+ /**
62
+ * PageContainer - Flexible page layout component
63
+ *
64
+ * @example
65
+ * // Standard layout with title and actions
66
+ * <PageContainer
67
+ * title="Dashboard"
68
+ * subtitle="Overview of all projects"
69
+ * extra={<Button>Create</Button>}
70
+ * >
71
+ * <div>Content here</div>
72
+ * </PageContainer>
73
+ *
74
+ * @example
75
+ * // Split layout with right sidebar
76
+ * <PageContainer
77
+ * title="Task Detail"
78
+ * variant="split"
79
+ * sidebar={<CommentSection />}
80
+ * sidebarPosition="right"
81
+ * >
82
+ * <div>Main content</div>
83
+ * </PageContainer>
84
+ *
85
+ * @example
86
+ * // Full width layout (no padding)
87
+ * <PageContainer variant="full">
88
+ * <KanbanBoard />
89
+ * </PageContainer>
90
+ */
91
+ declare function PageContainer({ title, subtitle, extra, children, footer, sidebar, sidebarPosition, sidebarWidth, variant, className, contentClassName, showHeaderSeparator, }: PageContainerProps): react_jsx_runtime.JSX.Element;
92
+ declare function StandardPageContainer(props: Omit<PageContainerProps, 'variant'>): react_jsx_runtime.JSX.Element;
93
+ declare function SplitPageContainer(props: Omit<PageContainerProps, 'variant'>): react_jsx_runtime.JSX.Element;
94
+ declare function FullWidthPageContainer(props: Omit<PageContainerProps, 'variant' | 'title' | 'subtitle' | 'extra'>): react_jsx_runtime.JSX.Element;
95
+
96
+ export { FullWidthPageContainer, PageContainer, type PageContainerProps, SplitPageContainer, StandardPageContainer };
@@ -0,0 +1,5 @@
1
+ export { FullWidthPageContainer, PageContainer, SplitPageContainer, StandardPageContainer } from '../../chunk-YN26HHZ4.js';
2
+ import '../../chunk-KCUSO3CK.js';
3
+ import '../../chunk-DGPY4WP3.js';
4
+ //# sourceMappingURL=page-container.js.map
5
+ //# sourceMappingURL=page-container.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"page-container.js"}
@@ -1,4 +1,4 @@
1
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../chunk-7RMTPT6O.js';
2
- import '../chunk-DGPY4WP3.js';
1
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from '../../chunk-YYJVVYFS.js';
2
+ import '../../chunk-DGPY4WP3.js';
3
3
  //# sourceMappingURL=breadcrumb.js.map
4
4
  //# sourceMappingURL=breadcrumb.js.map
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
3
  import { Command as Command$1 } from 'cmdk';
4
- import { Dialog } from './dialog.js';
4
+ import { Dialog } from '../overlay/dialog.js';
5
5
  import '@radix-ui/react-dialog';
6
6
 
7
7
  /**
@@ -1,5 +1,5 @@
1
- export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from '../chunk-6GWVQB3Q.js';
2
- import '../chunk-F2ZJLKDP.js';
3
- import '../chunk-DGPY4WP3.js';
1
+ export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from '../../chunk-MVYSUWSD.js';
2
+ import '../../chunk-YVCLIOMM.js';
3
+ import '../../chunk-DGPY4WP3.js';
4
4
  //# sourceMappingURL=command.js.map
5
5
  //# sourceMappingURL=command.js.map