@rojaostudio/ds 1.0.1 → 2.0.0-next.0

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 (403) hide show
  1. package/README.md +75 -13
  2. package/dist/compat/generate.d.ts +0 -1
  3. package/dist/components/accordion.d.ts +30 -20
  4. package/dist/components/accordion.js +31 -87
  5. package/dist/components/action-bar.d.ts +24 -0
  6. package/dist/components/action-bar.js +55 -0
  7. package/dist/components/alert-dialog.d.ts +31 -0
  8. package/dist/components/alert-dialog.js +43 -0
  9. package/dist/components/alert.d.ts +31 -19
  10. package/dist/components/alert.js +74 -65
  11. package/dist/components/attachment.d.ts +37 -0
  12. package/dist/components/attachment.js +76 -0
  13. package/dist/components/avatar.d.ts +43 -36
  14. package/dist/components/avatar.js +59 -83
  15. package/dist/components/badge.d.ts +30 -41
  16. package/dist/components/badge.js +16 -106
  17. package/dist/components/banner.d.ts +27 -0
  18. package/dist/components/banner.js +66 -0
  19. package/dist/components/benefits.d.ts +30 -0
  20. package/dist/components/benefits.js +32 -0
  21. package/dist/components/breadcrumb.d.ts +25 -18
  22. package/dist/components/breadcrumb.js +40 -48
  23. package/dist/components/browser.d.ts +18 -0
  24. package/dist/components/browser.js +32 -0
  25. package/dist/components/bubble.d.ts +29 -0
  26. package/dist/components/bubble.js +33 -0
  27. package/dist/components/button-group.d.ts +19 -0
  28. package/dist/components/button-group.js +20 -0
  29. package/dist/components/button.d.ts +47 -20
  30. package/dist/components/button.js +51 -107
  31. package/dist/components/calendar.d.ts +29 -0
  32. package/dist/components/calendar.js +149 -0
  33. package/dist/components/card.d.ts +47 -19
  34. package/dist/components/card.js +38 -38
  35. package/dist/components/carousel.d.ts +28 -0
  36. package/dist/components/carousel.js +130 -0
  37. package/dist/components/chart.d.ts +49 -0
  38. package/dist/components/chart.js +258 -0
  39. package/dist/components/checkbox-group.d.ts +16 -0
  40. package/dist/components/checkbox-group.js +13 -0
  41. package/dist/components/checkbox.d.ts +25 -10
  42. package/dist/components/checkbox.js +86 -67
  43. package/dist/components/chip-input.d.ts +46 -20
  44. package/dist/components/chip-input.js +171 -158
  45. package/dist/components/chip.d.ts +28 -0
  46. package/dist/components/chip.js +73 -0
  47. package/dist/components/choice-card.d.ts +10 -13
  48. package/dist/components/choice-card.js +11 -56
  49. package/dist/components/choice-carousel.d.ts +9 -0
  50. package/dist/components/choice-carousel.js +67 -78
  51. package/dist/components/choice-preview-card.d.ts +10 -20
  52. package/dist/components/choice-preview-card.js +13 -30
  53. package/dist/components/color-input.d.ts +36 -11
  54. package/dist/components/color-input.js +139 -61
  55. package/dist/components/combobox.d.ts +60 -57
  56. package/dist/components/combobox.js +215 -196
  57. package/dist/components/command.d.ts +58 -0
  58. package/dist/components/command.js +177 -0
  59. package/dist/components/contact.d.ts +23 -0
  60. package/dist/components/contact.js +32 -0
  61. package/dist/components/context-menu.d.ts +34 -26
  62. package/dist/components/context-menu.js +43 -66
  63. package/dist/components/copy-field.d.ts +10 -5
  64. package/dist/components/copy-field.js +25 -27
  65. package/dist/components/currency-input.d.ts +25 -11
  66. package/dist/components/currency-input.js +39 -67
  67. package/dist/components/danger-zone.d.ts +10 -1
  68. package/dist/components/danger-zone.js +20 -14
  69. package/dist/components/data-table-header.d.ts +13 -2
  70. package/dist/components/data-table-header.js +143 -169
  71. package/dist/components/date-picker.d.ts +31 -32
  72. package/dist/components/date-picker.js +126 -242
  73. package/dist/components/delta.d.ts +26 -0
  74. package/dist/components/delta.js +24 -0
  75. package/dist/components/dialog.d.ts +21 -0
  76. package/dist/components/dialog.js +16 -0
  77. package/dist/components/drawer.d.ts +15 -23
  78. package/dist/components/drawer.js +56 -76
  79. package/dist/components/dropdown-menu.d.ts +63 -0
  80. package/dist/components/dropdown-menu.js +62 -0
  81. package/dist/components/dropzone.d.ts +10 -4
  82. package/dist/components/dropzone.js +30 -55
  83. package/dist/components/empty.d.ts +29 -0
  84. package/dist/components/empty.js +42 -0
  85. package/dist/components/fab.d.ts +29 -6
  86. package/dist/components/fab.js +51 -39
  87. package/dist/components/faq.d.ts +21 -0
  88. package/dist/components/faq.js +24 -0
  89. package/dist/components/file-input.d.ts +56 -0
  90. package/dist/components/file-input.js +244 -0
  91. package/dist/components/filter-chip.d.ts +34 -47
  92. package/dist/components/filter-chip.js +61 -57
  93. package/dist/components/floating-stepper.d.ts +7 -18
  94. package/dist/components/floating-stepper.js +17 -35
  95. package/dist/components/footer.d.ts +36 -0
  96. package/dist/components/footer.js +38 -0
  97. package/dist/components/form-actions.d.ts +28 -0
  98. package/dist/components/form-actions.js +24 -0
  99. package/dist/components/google-account-chooser.d.ts +25 -0
  100. package/dist/components/google-account-chooser.js +44 -0
  101. package/dist/components/google-button.d.ts +26 -0
  102. package/dist/components/google-button.js +38 -0
  103. package/dist/components/google-consent.d.ts +23 -0
  104. package/dist/components/google-consent.js +28 -0
  105. package/dist/components/google-sign-in.d.ts +26 -0
  106. package/dist/components/google-sign-in.js +36 -0
  107. package/dist/components/hover-card.d.ts +30 -0
  108. package/dist/components/hover-card.js +55 -0
  109. package/dist/components/icon-button.d.ts +41 -11
  110. package/dist/components/icon-button.js +47 -61
  111. package/dist/components/image-crop-modal.d.ts +3 -3
  112. package/dist/components/image-crop-modal.js +66 -52
  113. package/dist/components/image-upload.d.ts +21 -29
  114. package/dist/components/image-upload.js +59 -219
  115. package/dist/components/index.d.ts +105 -49
  116. package/dist/components/index.js +190 -68
  117. package/dist/components/input-otp.d.ts +35 -0
  118. package/dist/components/input-otp.js +119 -0
  119. package/dist/components/input.d.ts +23 -17
  120. package/dist/components/input.js +103 -108
  121. package/dist/components/insight-card.d.ts +25 -9
  122. package/dist/components/insight-card.js +45 -19
  123. package/dist/components/internal/announce.d.ts +3 -0
  124. package/dist/components/internal/announce.js +20 -0
  125. package/dist/components/internal/block.d.ts +15 -0
  126. package/dist/components/internal/block.js +14 -0
  127. package/dist/components/internal/button.d.ts +23 -0
  128. package/dist/components/internal/button.js +30 -0
  129. package/dist/components/internal/choice-card.d.ts +52 -0
  130. package/dist/components/internal/choice-card.js +117 -0
  131. package/dist/components/internal/choice.d.ts +25 -0
  132. package/dist/components/internal/choice.js +44 -0
  133. package/dist/components/internal/dates.d.ts +17 -0
  134. package/dist/components/internal/dates.js +59 -0
  135. package/dist/components/internal/field.d.ts +66 -0
  136. package/dist/components/internal/field.js +105 -0
  137. package/dist/components/internal/fieldset.d.ts +25 -0
  138. package/dist/components/internal/fieldset.js +56 -0
  139. package/dist/components/internal/focus-after.d.ts +3 -0
  140. package/dist/components/internal/focus-after.js +13 -0
  141. package/dist/components/internal/google.d.ts +47 -0
  142. package/dist/components/internal/google.js +73 -0
  143. package/dist/components/internal/icons.d.ts +108 -0
  144. package/dist/components/internal/icons.js +316 -0
  145. package/dist/components/internal/menu.d.ts +16 -0
  146. package/dist/components/internal/menu.js +14 -0
  147. package/dist/components/internal/modal.d.ts +50 -0
  148. package/dist/components/internal/modal.js +85 -0
  149. package/dist/components/internal/option-content.d.ts +10 -0
  150. package/dist/components/internal/option-content.js +13 -0
  151. package/dist/components/internal/radio-context.d.ts +16 -0
  152. package/dist/components/internal/radio-context.js +6 -0
  153. package/dist/components/internal/toggle.d.ts +7 -0
  154. package/dist/components/internal/toggle.js +13 -0
  155. package/dist/components/internal/use-listbox.d.ts +56 -0
  156. package/dist/components/internal/use-listbox.js +69 -0
  157. package/dist/components/internal/whatsapp.d.ts +8 -0
  158. package/dist/components/internal/whatsapp.js +12 -0
  159. package/dist/components/item.d.ts +32 -0
  160. package/dist/components/item.js +35 -0
  161. package/dist/components/kbd.d.ts +17 -0
  162. package/dist/components/kbd.js +18 -0
  163. package/dist/components/listbox.d.ts +34 -0
  164. package/dist/components/listbox.js +114 -0
  165. package/dist/components/marker.d.ts +24 -0
  166. package/dist/components/marker.js +28 -0
  167. package/dist/components/media-tile.d.ts +17 -14
  168. package/dist/components/media-tile.js +19 -24
  169. package/dist/components/message-scroller.d.ts +20 -0
  170. package/dist/components/message-scroller.js +108 -0
  171. package/dist/components/message.d.ts +33 -0
  172. package/dist/components/message.js +23 -0
  173. package/dist/components/navigation-menu.d.ts +42 -0
  174. package/dist/components/navigation-menu.js +30 -0
  175. package/dist/components/newsletter.d.ts +27 -0
  176. package/dist/components/newsletter.js +75 -0
  177. package/dist/components/number-input.d.ts +60 -0
  178. package/dist/components/number-input.js +234 -0
  179. package/dist/components/option-tile.d.ts +20 -19
  180. package/dist/components/option-tile.js +52 -131
  181. package/dist/components/page-header.d.ts +31 -0
  182. package/dist/components/page-header.js +25 -0
  183. package/dist/components/page-shell.d.ts +11 -1
  184. package/dist/components/page-shell.js +8 -27
  185. package/dist/components/page-skeleton.d.ts +15 -21
  186. package/dist/components/page-skeleton.js +37 -4
  187. package/dist/components/pagination.d.ts +32 -22
  188. package/dist/components/pagination.js +83 -76
  189. package/dist/components/password-input.d.ts +26 -0
  190. package/dist/components/password-input.js +112 -0
  191. package/dist/components/phone-input.d.ts +12 -8
  192. package/dist/components/phone-input.js +77 -47
  193. package/dist/components/phone.d.ts +27 -0
  194. package/dist/components/phone.js +35 -0
  195. package/dist/components/popover.d.ts +25 -36
  196. package/dist/components/popover.js +32 -129
  197. package/dist/components/pricing-card.d.ts +9 -25
  198. package/dist/components/pricing-card.js +9 -25
  199. package/dist/components/pricing.d.ts +48 -0
  200. package/dist/components/pricing.js +64 -0
  201. package/dist/components/progress.d.ts +30 -0
  202. package/dist/components/progress.js +57 -0
  203. package/dist/components/qr-display.d.ts +11 -6
  204. package/dist/components/qr-display.js +8 -19
  205. package/dist/components/questionnaire.d.ts +42 -0
  206. package/dist/components/questionnaire.js +107 -0
  207. package/dist/components/radio-group.d.ts +21 -0
  208. package/dist/components/radio-group.js +40 -0
  209. package/dist/components/radio.d.ts +15 -29
  210. package/dist/components/radio.js +46 -87
  211. package/dist/components/row-actions.d.ts +5 -0
  212. package/dist/components/row-actions.js +57 -56
  213. package/dist/components/saving-bar-context.d.ts +0 -5
  214. package/dist/components/saving-bar-context.js +16 -34
  215. package/dist/components/saving-bar.d.ts +26 -11
  216. package/dist/components/saving-bar.js +53 -65
  217. package/dist/components/section-card.d.ts +18 -4
  218. package/dist/components/section-card.js +26 -39
  219. package/dist/components/section-header.d.ts +8 -12
  220. package/dist/components/section-header.js +7 -2
  221. package/dist/components/select.d.ts +44 -16
  222. package/dist/components/select.js +85 -135
  223. package/dist/components/selectable-card.d.ts +11 -19
  224. package/dist/components/selectable-card.js +4 -21
  225. package/dist/components/separator.d.ts +20 -0
  226. package/dist/components/separator.js +19 -0
  227. package/dist/components/setting-row.d.ts +11 -15
  228. package/dist/components/setting-row.js +11 -14
  229. package/dist/components/settings-list.d.ts +10 -12
  230. package/dist/components/settings-list.js +9 -17
  231. package/dist/components/sheet.d.ts +21 -0
  232. package/dist/components/sheet.js +16 -0
  233. package/dist/components/sidebar.d.ts +79 -0
  234. package/dist/components/sidebar.js +111 -0
  235. package/dist/components/skeleton.d.ts +14 -20
  236. package/dist/components/skeleton.js +8 -36
  237. package/dist/components/slider.d.ts +21 -23
  238. package/dist/components/slider.js +65 -56
  239. package/dist/components/sparkline.d.ts +19 -0
  240. package/dist/components/sparkline.js +32 -0
  241. package/dist/components/spinner.d.ts +16 -8
  242. package/dist/components/spinner.js +35 -32
  243. package/dist/components/star-rating.d.ts +22 -0
  244. package/dist/components/star-rating.js +25 -0
  245. package/dist/components/stat.d.ts +33 -0
  246. package/dist/components/stat.js +29 -0
  247. package/dist/components/status.d.ts +27 -0
  248. package/dist/components/status.js +34 -0
  249. package/dist/components/step-progress.d.ts +13 -6
  250. package/dist/components/step-progress.js +20 -17
  251. package/dist/components/summary-bar.d.ts +20 -20
  252. package/dist/components/summary-bar.js +13 -50
  253. package/dist/components/switch.d.ts +20 -0
  254. package/dist/components/switch.js +46 -0
  255. package/dist/components/table.d.ts +56 -17
  256. package/dist/components/table.js +65 -59
  257. package/dist/components/tabs.d.ts +67 -0
  258. package/dist/components/tabs.js +56 -0
  259. package/dist/components/testimonial.d.ts +30 -0
  260. package/dist/components/testimonial.js +36 -0
  261. package/dist/components/textarea.d.ts +11 -16
  262. package/dist/components/textarea.js +55 -75
  263. package/dist/components/tile.d.ts +24 -0
  264. package/dist/components/tile.js +21 -0
  265. package/dist/components/time-picker.d.ts +40 -25
  266. package/dist/components/time-picker.js +191 -189
  267. package/dist/components/toast.d.ts +63 -0
  268. package/dist/components/toast.js +132 -0
  269. package/dist/components/toggle-card-compact.d.ts +15 -5
  270. package/dist/components/toggle-card-compact.js +22 -81
  271. package/dist/components/toggle-card.d.ts +11 -2
  272. package/dist/components/toggle-card.js +9 -70
  273. package/dist/components/toggle-group.d.ts +21 -59
  274. package/dist/components/toggle-group.js +31 -74
  275. package/dist/components/toggle.d.ts +19 -9
  276. package/dist/components/toggle.js +20 -55
  277. package/dist/components/tooltip.d.ts +25 -12
  278. package/dist/components/tooltip.js +16 -84
  279. package/dist/components/top-navigation.d.ts +33 -0
  280. package/dist/components/top-navigation.js +85 -0
  281. package/dist/components/typing-indicator.d.ts +6 -0
  282. package/dist/components/typing-indicator.js +3 -21
  283. package/dist/components/whatsapp-chat.d.ts +28 -0
  284. package/dist/components/whatsapp-chat.js +95 -0
  285. package/dist/components/whatsapp-message.d.ts +22 -0
  286. package/dist/components/whatsapp-message.js +34 -0
  287. package/dist/components/whatsapp-notification.d.ts +27 -0
  288. package/dist/components/whatsapp-notification.js +73 -0
  289. package/dist/components/whatsapp-template.d.ts +42 -0
  290. package/dist/components/whatsapp-template.js +69 -0
  291. package/dist/icons/index.d.ts +2 -0
  292. package/dist/icons/index.js +2 -0
  293. package/dist/icons/pix.d.ts +16 -0
  294. package/dist/icons/pix.js +29 -0
  295. package/dist/targets/native/components/accordion.js +31 -25
  296. package/dist/targets/native/components/alert.js +22 -16
  297. package/dist/targets/native/components/avatar.js +36 -29
  298. package/dist/targets/native/components/badge.js +4 -3
  299. package/dist/targets/native/components/button.js +11 -4
  300. package/dist/targets/native/components/card.js +2 -1
  301. package/dist/targets/native/components/checkbox.js +18 -15
  302. package/dist/targets/native/components/chips.js +19 -16
  303. package/dist/targets/native/components/choice-card.js +29 -23
  304. package/dist/targets/native/components/context-menu.js +13 -9
  305. package/dist/targets/native/components/currency-input.js +28 -25
  306. package/dist/targets/native/components/danger-zone.js +10 -4
  307. package/dist/targets/native/components/date-picker.js +86 -70
  308. package/dist/targets/native/components/divider.js +3 -2
  309. package/dist/targets/native/components/empty-state.js +6 -1
  310. package/dist/targets/native/components/fab.js +32 -26
  311. package/dist/targets/native/components/filter-chip.js +9 -8
  312. package/dist/targets/native/components/form-field.js +20 -10
  313. package/dist/targets/native/components/form-screen.js +50 -45
  314. package/dist/targets/native/components/google-icon.js +31 -25
  315. package/dist/targets/native/components/icon-button.js +6 -4
  316. package/dist/targets/native/components/icon.js +2 -1
  317. package/dist/targets/native/components/image-upload.js +59 -50
  318. package/dist/targets/native/components/index.d.ts +0 -2
  319. package/dist/targets/native/components/index.js +0 -4
  320. package/dist/targets/native/components/input.js +41 -34
  321. package/dist/targets/native/components/list-item.js +29 -23
  322. package/dist/targets/native/components/menu.js +12 -10
  323. package/dist/targets/native/components/modal.js +41 -32
  324. package/dist/targets/native/components/radio.js +19 -16
  325. package/dist/targets/native/components/search.js +41 -38
  326. package/dist/targets/native/components/select.js +71 -63
  327. package/dist/targets/native/components/sheet.js +36 -30
  328. package/dist/targets/native/components/skeleton.js +6 -5
  329. package/dist/targets/native/components/slider.js +51 -43
  330. package/dist/targets/native/components/spinner.js +2 -1
  331. package/dist/targets/native/components/stepper.js +14 -9
  332. package/dist/targets/native/components/switch.js +15 -14
  333. package/dist/targets/native/components/text.js +2 -1
  334. package/dist/targets/native/components/textarea.js +2 -1
  335. package/dist/targets/native/components/theme.js +2 -1
  336. package/dist/targets/native/components/toaster.js +24 -21
  337. package/dist/targets/native/index.d.ts +1 -1
  338. package/dist/targets/native/index.js +1 -3
  339. package/dist/targets/native/preset.cjs +0 -1
  340. package/dist/targets/native/theme.css +58 -60
  341. package/dist/targets/native/theme.d.ts +58 -60
  342. package/dist/targets/native/theme.js +58 -60
  343. package/package.json +35 -16
  344. package/styles/_primitives.generated.css +40 -0
  345. package/styles/base.css +15 -21
  346. package/styles/rds/components-styles.css +11365 -0
  347. package/styles/rds/components.css +993 -0
  348. package/styles/rds/foundation.css +74 -0
  349. package/styles/rds/theme.css +261 -0
  350. package/styles/rds.css +6 -0
  351. package/styles/themes/rojao.css +46 -53
  352. package/brand/rojao-black-on-white.png +0 -0
  353. package/brand/rojao-black.png +0 -0
  354. package/brand/rojao-white-on-black.png +0 -0
  355. package/brand/rojao-white.png +0 -0
  356. package/dist/components/blocker-card.d.ts +0 -42
  357. package/dist/components/blocker-card.js +0 -45
  358. package/dist/components/bottom-sheet.d.ts +0 -31
  359. package/dist/components/bottom-sheet.js +0 -120
  360. package/dist/components/chat-bubble.d.ts +0 -16
  361. package/dist/components/chat-bubble.js +0 -55
  362. package/dist/components/chips.d.ts +0 -22
  363. package/dist/components/chips.js +0 -94
  364. package/dist/components/copilot-hint.d.ts +0 -18
  365. package/dist/components/copilot-hint.js +0 -63
  366. package/dist/components/divider.d.ts +0 -20
  367. package/dist/components/divider.js +0 -47
  368. package/dist/components/empty-state.d.ts +0 -48
  369. package/dist/components/empty-state.js +0 -91
  370. package/dist/components/form-card-header.d.ts +0 -13
  371. package/dist/components/form-card-header.js +0 -8
  372. package/dist/components/label.d.ts +0 -16
  373. package/dist/components/label.js +0 -43
  374. package/dist/components/menu.d.ts +0 -50
  375. package/dist/components/menu.js +0 -80
  376. package/dist/components/modal.d.ts +0 -25
  377. package/dist/components/modal.js +0 -71
  378. package/dist/components/notice.d.ts +0 -50
  379. package/dist/components/notice.js +0 -103
  380. package/dist/components/page-tabs.d.ts +0 -35
  381. package/dist/components/page-tabs.js +0 -55
  382. package/dist/components/paywall-banner.d.ts +0 -37
  383. package/dist/components/paywall-banner.js +0 -42
  384. package/dist/components/paywall.d.ts +0 -44
  385. package/dist/components/paywall.js +0 -55
  386. package/dist/components/phone-frame.d.ts +0 -9
  387. package/dist/components/phone-frame.js +0 -18
  388. package/dist/components/pix-icon.d.ts +0 -8
  389. package/dist/components/pix-icon.js +0 -24
  390. package/dist/components/search.d.ts +0 -30
  391. package/dist/components/search.js +0 -81
  392. package/dist/components/themed.d.ts +0 -36
  393. package/dist/components/themed.js +0 -22
  394. package/dist/components/toaster.d.ts +0 -84
  395. package/dist/components/toaster.js +0 -284
  396. package/dist/components/use-dismiss.d.ts +0 -9
  397. package/dist/components/use-dismiss.js +0 -28
  398. package/dist/components/use-focus-trap.d.ts +0 -5
  399. package/dist/components/use-focus-trap.js +0 -54
  400. package/dist/targets/native/components/paywall-banner.d.ts +0 -11
  401. package/dist/targets/native/components/paywall-banner.js +0 -46
  402. package/dist/targets/native/components/paywall.d.ts +0 -18
  403. package/dist/targets/native/components/paywall.js +0 -61
@@ -2,36 +2,20 @@
2
2
  import {
3
3
  __spreadValues
4
4
  } from "../chunk-ORMEWXMH.js";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
6
  import { useRef, useState } from "react";
6
- import { Upload, X } from "lucide-react";
7
- import { Button } from "./button.js";
8
- import { Tooltip } from "./tooltip.js";
7
+ import { FileInput } from "./file-input.js";
9
8
  import { ImageCropModal } from "./image-crop-modal.js";
10
9
  const DEFAULT_LABELS = {
11
10
  select: "Selecionar imagem",
12
11
  change: "Trocar imagem",
13
- remove: "Remover",
12
+ remove: "Remover imagem",
14
13
  uploading: "Enviando\u2026",
15
14
  dropTitle: "Arraste e solte uma imagem aqui",
16
15
  dropHint: "ou clique para selecionar do seu computador",
17
16
  aria: "\xC1rea de upload de imagem",
18
17
  error: "Erro ao fazer upload"
19
18
  };
20
- const BUTTON_PREVIEW = {
21
- logo: "h-16 w-auto max-w-[160px] object-contain rounded-(--radius-control) border border-stroke-default bg-surface-raised p-1",
22
- banner: "w-full h-auto rounded-(--radius-control) border border-stroke-default",
23
- square: "size-20 object-cover rounded-(--radius-control) border border-stroke-default"
24
- };
25
- const DROPZONE_PREVIEW = {
26
- logo: "max-h-36 w-auto max-w-full object-contain rounded-(--radius-control) border border-stroke-default bg-surface-raised p-2",
27
- banner: "w-full max-h-36 object-cover rounded-(--radius-control) border border-stroke-default shrink-0",
28
- square: "size-36 object-cover rounded-(--radius-control) border border-stroke-default shrink-0"
29
- };
30
- const TILE_BOX = {
31
- logo: "h-20 w-full max-w-[220px]",
32
- banner: "h-24 w-full max-w-xs",
33
- square: "size-28"
34
- };
35
19
  function ImageUpload({
36
20
  name,
37
21
  value,
@@ -39,232 +23,88 @@ function ImageUpload({
39
23
  onUpload,
40
24
  label,
41
25
  hint,
42
- aspect = "logo",
43
26
  accept = "image/jpeg,image/png,image/webp",
44
- className = "",
45
- variant = "button",
46
- previewClassName,
47
- previewWrapperClassName,
27
+ className,
48
28
  crop,
49
29
  labels
50
30
  }) {
51
31
  const L = __spreadValues(__spreadValues({}, DEFAULT_LABELS), labels);
52
- const inputRef = useRef(null);
32
+ const input = useRef(null);
53
33
  const [uploading, setUploading] = useState(false);
54
- const [dragging, setDragging] = useState(false);
55
34
  const [error, setError] = useState(null);
56
35
  const [pendingFile, setPendingFile] = useState(null);
57
- async function processFile(file) {
36
+ const reset = () => {
37
+ if (input.current) input.current.value = "";
38
+ };
39
+ async function upload(file) {
58
40
  setError(null);
59
41
  setUploading(true);
60
42
  try {
61
- const url = await onUpload(file);
62
- onChange(url);
43
+ onChange(await onUpload(file));
63
44
  } catch (err) {
64
45
  setError(err instanceof Error ? err.message : L.error);
65
46
  } finally {
66
47
  setUploading(false);
67
- if (inputRef.current) inputRef.current.value = "";
48
+ reset();
68
49
  }
69
50
  }
70
- async function selectFile(file) {
51
+ async function choose(files) {
52
+ const file = files[0];
53
+ if (!file) return;
71
54
  if (crop) {
72
55
  setError(null);
73
56
  setPendingFile(file);
74
57
  return;
75
58
  }
76
- await processFile(file);
77
- }
78
- async function handleCropConfirm(blob) {
79
- var _a;
80
- const base = pendingFile;
81
- setPendingFile(null);
82
- const name2 = ((_a = base == null ? void 0 : base.name) != null ? _a : "image").replace(/\.[^./\\]+$/, "") + ".jpg";
83
- await processFile(new File([blob], name2, { type: blob.type || "image/jpeg" }));
84
- }
85
- function handleCropCancel() {
86
- setPendingFile(null);
87
- if (inputRef.current) inputRef.current.value = "";
59
+ await upload(file);
88
60
  }
89
- async function handleFileInput(e) {
90
- var _a;
91
- const file = (_a = e.target.files) == null ? void 0 : _a[0];
92
- if (file) await selectFile(file);
93
- }
94
- async function handleDrop(e) {
95
- var _a;
96
- e.preventDefault();
97
- setDragging(false);
98
- const file = (_a = e.dataTransfer.files) == null ? void 0 : _a[0];
99
- if (file) await selectFile(file);
100
- }
101
- const cropModal = crop ? /* @__PURE__ */ React.createElement(
102
- ImageCropModal,
103
- {
104
- open: !!pendingFile,
105
- file: pendingFile,
106
- onCancel: handleCropCancel,
107
- onConfirm: handleCropConfirm,
108
- presets: crop.presets,
109
- minAspect: crop.minAspect,
110
- maxAspect: crop.maxAspect,
111
- maxSizeBytes: crop.maxSizeBytes,
112
- title: crop.title,
113
- confirmLabel: crop.confirmLabel
114
- }
115
- ) : null;
116
- const openPicker = () => {
117
- var _a;
118
- if (!uploading) (_a = inputRef.current) == null ? void 0 : _a.click();
119
- };
120
- const hiddenInputs = /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("input", { type: "hidden", name, value }), /* @__PURE__ */ React.createElement(
121
- "input",
122
- {
123
- ref: inputRef,
124
- type: "file",
125
- accept,
126
- onChange: handleFileInput,
127
- className: "hidden"
128
- }
129
- ));
130
- if (variant === "tile") {
131
- return /* @__PURE__ */ React.createElement("div", { className: ["space-y-2", className].join(" ") }, label && /* @__PURE__ */ React.createElement("p", { className: "text-label font-medium text-fg-primary" }, label), value ? (
132
- // Preenchido: o tile É o preview. Trocar/Remover são botões-ícone SEMPRE visíveis no
133
- // canto (não dependem de hover — a11y/baixa visão), sobre um scrim pra legibilidade.
134
- /* @__PURE__ */ React.createElement(
135
- "div",
136
- {
137
- className: [
138
- "relative overflow-hidden rounded-(--radius-control) border border-stroke-default bg-surface-raised",
139
- "flex items-center justify-center p-2",
140
- TILE_BOX[aspect],
141
- previewWrapperClassName
142
- ].filter(Boolean).join(" ")
143
- },
144
- /* @__PURE__ */ React.createElement("img", { src: value, alt: "preview", className: previewClassName != null ? previewClassName : "max-h-full max-w-full object-contain" }),
145
- /* @__PURE__ */ React.createElement("div", { className: "absolute top-1 right-1 flex gap-1" }, /* @__PURE__ */ React.createElement(Tooltip, { content: L.change }, /* @__PURE__ */ React.createElement(
146
- "button",
147
- {
148
- type: "button",
149
- "aria-label": L.change,
150
- onClick: openPicker,
151
- disabled: uploading,
152
- className: "flex items-center justify-center size-7 rounded-md bg-surface-default border border-stroke-default text-fg-secondary shadow-sm hover:bg-surface-raised hover:text-fg-primary disabled:opacity-50 transition-colors cursor-pointer"
153
- },
154
- /* @__PURE__ */ React.createElement(Upload, { size: 14 })
155
- )), /* @__PURE__ */ React.createElement(Tooltip, { content: L.remove }, /* @__PURE__ */ React.createElement(
156
- "button",
157
- {
158
- type: "button",
159
- "aria-label": L.remove,
160
- onClick: () => onChange(""),
161
- className: "flex items-center justify-center size-7 rounded-md bg-surface-default border border-stroke-default text-fg-secondary shadow-sm hover:bg-danger-soft hover:text-danger-text transition-colors cursor-pointer"
162
- },
163
- /* @__PURE__ */ React.createElement(X, { size: 14 })
164
- )))
165
- )
166
- ) : (
167
- // Vazio: o tile inteiro é o alvo de clique/drop.
168
- /* @__PURE__ */ React.createElement(
169
- "div",
170
- {
171
- role: "button",
172
- tabIndex: 0,
173
- "aria-label": label != null ? label : L.aria,
174
- onClick: openPicker,
175
- onKeyDown: (e) => {
176
- if (e.key === "Enter" || e.key === " ") {
177
- e.preventDefault();
178
- openPicker();
179
- }
180
- },
181
- onDragOver: (e) => {
182
- e.preventDefault();
183
- setDragging(true);
184
- },
185
- onDragLeave: () => setDragging(false),
186
- onDrop: handleDrop,
187
- className: [
188
- "rounded-(--radius-control) border-2 border-dashed cursor-pointer transition-colors p-2",
189
- "flex flex-col items-center justify-center gap-1.5 text-center",
190
- TILE_BOX[aspect],
191
- dragging ? "border-brand-primary bg-[color-mix(in_srgb,var(--brand-primary)_8%,transparent)]" : "border-stroke-default bg-surface-page hover:border-stroke-strong hover:bg-surface-raised"
192
- ].join(" ")
193
- },
194
- /* @__PURE__ */ React.createElement(Upload, { size: 18, className: "text-brand-primary shrink-0" }),
195
- /* @__PURE__ */ React.createElement("span", { className: "text-caption font-medium text-fg-secondary leading-tight" }, uploading ? L.uploading : L.select)
196
- )
197
- ), error && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-danger-text" }, error), hint && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-fg-muted" }, hint), hiddenInputs, cropModal);
198
- }
199
- if (variant === "dropzone") {
200
- return /* @__PURE__ */ React.createElement("div", { className: ["space-y-3", className].join(" ") }, label && /* @__PURE__ */ React.createElement("p", { className: "text-label font-medium text-fg-primary" }, label), /* @__PURE__ */ React.createElement(
201
- "div",
61
+ return /* @__PURE__ */ jsxs(Fragment, { children: [
62
+ /* @__PURE__ */ jsx(
63
+ FileInput,
202
64
  {
203
- role: "button",
204
- tabIndex: 0,
205
- "aria-label": label != null ? label : L.aria,
206
- onClick: openPicker,
207
- onKeyDown: (e) => {
208
- var _a;
209
- if (e.key === "Enter" || e.key === " ") (_a = inputRef.current) == null ? void 0 : _a.click();
210
- },
211
- onDragOver: (e) => {
212
- e.preventDefault();
213
- setDragging(true);
214
- },
215
- onDragLeave: () => setDragging(false),
216
- onDrop: handleDrop,
217
- className: [
218
- "rounded-(--radius-control) border-2 border-dashed cursor-pointer transition-colors p-4",
219
- dragging ? "border-brand-primary bg-[color-mix(in_srgb,var(--brand-primary)_8%,transparent)]" : "border-stroke-default bg-surface-page hover:border-stroke-strong hover:bg-surface-raised"
220
- ].join(" ")
221
- },
222
- value ? /* @__PURE__ */ React.createElement("div", { className: ["flex items-center justify-center transition-colors", previewWrapperClassName].filter(Boolean).join(" ") }, /* @__PURE__ */ React.createElement("img", { src: value, alt: "preview", className: previewClassName != null ? previewClassName : DROPZONE_PREVIEW[aspect] })) : /* @__PURE__ */ React.createElement("div", { className: "flex items-center justify-center py-4" }, /* @__PURE__ */ React.createElement("div", { className: "flex flex-col items-center gap-2 min-w-0" }, /* @__PURE__ */ React.createElement("div", { className: "size-10 rounded-full bg-[color-mix(in_srgb,var(--brand-primary)_10%,transparent)] flex items-center justify-center" }, /* @__PURE__ */ React.createElement(Upload, { size: 18, className: "text-brand-primary" })), /* @__PURE__ */ React.createElement("p", { className: "text-label font-medium text-fg-primary text-center" }, uploading ? L.uploading : L.dropTitle), /* @__PURE__ */ React.createElement("p", { className: "text-caption text-fg-muted text-center" }, L.dropHint)))
223
- ), /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ React.createElement(
224
- Button,
65
+ ref: input,
66
+ variant: "tile",
67
+ label,
68
+ "aria-label": label ? void 0 : L.aria,
69
+ hint,
70
+ errorMessage: error != null ? error : void 0,
71
+ accept,
72
+ preview: value,
73
+ tileText: uploading ? L.uploading : L.select,
74
+ replaceLabel: L.change,
75
+ clearLabel: L.remove,
76
+ disabled: uploading,
77
+ className,
78
+ onFiles: (files) => void choose(files),
79
+ onClear: () => onChange("")
80
+ }
81
+ ),
82
+ /* @__PURE__ */ jsx("input", { type: "hidden", name, value }),
83
+ crop && /* @__PURE__ */ jsx(
84
+ ImageCropModal,
225
85
  {
226
- type: "button",
227
- size: "sm",
228
- loading: uploading,
229
- onClick: () => {
86
+ open: !!pendingFile,
87
+ file: pendingFile,
88
+ onCancel: () => {
89
+ setPendingFile(null);
90
+ reset();
91
+ },
92
+ onConfirm: async (blob) => {
230
93
  var _a;
231
- return (_a = inputRef.current) == null ? void 0 : _a.click();
232
- }
233
- },
234
- value ? L.change : L.select
235
- ), value && /* @__PURE__ */ React.createElement(
236
- "button",
237
- {
238
- type: "button",
239
- onClick: () => onChange(""),
240
- className: "text-label text-fg-muted hover:text-danger-text transition-colors"
241
- },
242
- L.remove
243
- )), error && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-danger-text" }, error), hint && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-fg-muted" }, hint), hiddenInputs, cropModal);
244
- }
245
- return /* @__PURE__ */ React.createElement("div", { className: ["space-y-2", className].join(" ") }, label && /* @__PURE__ */ React.createElement("p", { className: "block text-caption font-medium text-fg-secondary" }, label), value && // eslint-disable-next-line @next/next/no-img-element
246
- /* @__PURE__ */ React.createElement("img", { src: value, alt: "preview", className: BUTTON_PREVIEW[aspect] }), /* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ React.createElement(
247
- Button,
248
- {
249
- type: "button",
250
- size: "sm",
251
- variant: "outline",
252
- onClick: () => {
253
- var _a;
254
- return (_a = inputRef.current) == null ? void 0 : _a.click();
255
- },
256
- disabled: uploading
257
- },
258
- uploading ? L.uploading : value ? L.change : L.select
259
- ), value && /* @__PURE__ */ React.createElement(
260
- "button",
261
- {
262
- type: "button",
263
- onClick: () => onChange(""),
264
- className: "text-caption text-fg-muted hover:text-danger-text transition-colors"
265
- },
266
- L.remove
267
- )), error && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-danger-text" }, error), hint && /* @__PURE__ */ React.createElement("p", { className: "text-caption text-fg-muted" }, hint), hiddenInputs, cropModal);
94
+ const base = pendingFile;
95
+ setPendingFile(null);
96
+ const fileName = ((_a = base == null ? void 0 : base.name) != null ? _a : "image").replace(/\.[^./\\]+$/, "") + ".jpg";
97
+ await upload(new File([blob], fileName, { type: blob.type || "image/jpeg" }));
98
+ },
99
+ presets: crop.presets,
100
+ minAspect: crop.minAspect,
101
+ maxAspect: crop.maxAspect,
102
+ maxSizeBytes: crop.maxSizeBytes,
103
+ title: crop.title,
104
+ confirmLabel: crop.confirmLabel
105
+ }
106
+ )
107
+ ] });
268
108
  }
269
109
  export {
270
110
  ImageUpload
@@ -1,85 +1,141 @@
1
- export { Alert, AlertProps, AlertVariant } from './alert.js';
2
- export { FilterChip, FilterChipGroup, FilterChipGroupProps, FilterChipItem, FilterChipProps } from './filter-chip.js';
1
+ export { Alert, AlertProps, AlertTone } from './alert.js';
2
+ export { AlertDialog, AlertDialogProps, AlertDialogTone } from './alert-dialog.js';
3
+ export { HoverCard, HoverCardProps } from './hover-card.js';
4
+ export { Dialog, DialogClose, DialogProps, DialogSize } from './dialog.js';
5
+ export { Sheet, SheetClose, SheetProps, SheetSide } from './sheet.js';
6
+ export { Drawer, DrawerClose, DrawerProps } from './drawer.js';
7
+ export { DropdownMenu, DropdownMenuAlign, DropdownMenuItem, DropdownMenuItemProps, DropdownMenuItemTone, DropdownMenuProps, DropdownMenuRadioGroup, DropdownMenuRadioGroupProps, DropdownMenuRadioItem, DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuSide } from './dropdown-menu.js';
8
+ export { ContextMenu, ContextMenuItem, ContextMenuItemProps, ContextMenuItemTone, ContextMenuProps, ContextMenuSeparator } from './context-menu.js';
9
+ export { Command, CommandGroup, CommandGroupProps, CommandItem, CommandItemProps, CommandProps } from './command.js';
10
+ export { FilterChip, FilterChipGroup, FilterChipGroupProps, FilterChipProps } from './filter-chip.js';
3
11
  export { DataTableFilterDef, DataTableFilterOption, DataTableHeader, DataTableHeaderProps, DataTableHeaderSearch, DataTablePillDef, FilterDropdown } from './data-table-header.js';
4
- export { Button, ButtonColor, ButtonSize, ButtonVariant, buttonVariants } from './button.js';
5
- export { Badge, BadgeProps, BadgeVariant } from './badge.js';
6
- export { Card, CardBody, CardFooter, CardHeader, CardTitle } from './card.js';
12
+ export { Button, ButtonIconPosition, ButtonProps } from './button.js';
13
+ export { Badge, BadgeProps, BadgeTone, BadgeVariant, formatBadgeValue } from './badge.js';
14
+ export { Status, StatusProps, StatusSize, StatusTone, StatusVariant } from './status.js';
15
+ export { Delta, DeltaDirection, DeltaProps, DeltaTone } from './delta.js';
16
+ export { Progress, ProgressKind, ProgressProps, ProgressSize } from './progress.js';
17
+ export { StarRating, StarRatingProps, StarRatingSize } from './star-rating.js';
18
+ export { Card, CardContent, CardContentProps, CardFooter, CardFooterProps, CardHeader, CardHeaderProps, CardProps, CardSize, CardSurface } from './card.js';
19
+ export { Tile, TileProps, TileSize, TileTone, TileVariant } from './tile.js';
20
+ export { Kbd, KbdGroup, KbdGroupProps, KbdProps } from './kbd.js';
21
+ export { Sparkline, SparklineProps } from './sparkline.js';
22
+ export { Chart, ChartProps, ChartSeries, ChartType } from './chart.js';
23
+ export { Carousel, CarouselPlaceholder, CarouselProps } from './carousel.js';
24
+ export { Item, ItemGroup, ItemGroupProps, ItemProps, ItemSize, ItemVariant } from './item.js';
25
+ export { Pricing, PricingPlan, PricingPlanProps, PricingProps } from './pricing.js';
7
26
  export { PricingCard, PricingCardProps } from './pricing-card.js';
8
- export { Checkbox, CheckboxProps } from './checkbox.js';
9
- export { Drawer, DrawerProps } from './drawer.js';
27
+ export { Checkbox, CheckboxChecked, CheckboxProps } from './checkbox.js';
28
+ export { CheckboxGroup, CheckboxGroupProps } from './checkbox-group.js';
10
29
  export { Input, InputProps } from './input.js';
11
- export { Modal, ModalProps } from './modal.js';
30
+ export { PasswordInput, PasswordInputProps } from './password-input.js';
12
31
  export { Radio, RadioProps } from './radio.js';
13
- export { Select, SelectProps } from './select.js';
14
- export { Spinner, SpinnerProps } from './spinner.js';
15
- export { Skeleton, SkeletonProps } from './skeleton.js';
32
+ export { RadioGroup, RadioGroupProps } from './radio-group.js';
33
+ export { Select, SelectItem, SelectItemProps, SelectProps } from './select.js';
34
+ export { Spinner, SpinnerProps, SpinnerSize, SpinnerTone } from './spinner.js';
35
+ export { Skeleton, SkeletonProps, SkeletonShape } from './skeleton.js';
16
36
  export { StepProgress, StepProgressProps } from './step-progress.js';
17
- export { EmptyState, EmptyStateCta, EmptyStateIcon, EmptyStateProps } from './empty-state.js';
37
+ export { Empty, EmptyProps } from './empty.js';
18
38
  export { InsightCard, InsightCardProps, InsightCardType } from './insight-card.js';
19
39
  export { SectionCard, SectionCardProps } from './section-card.js';
20
40
  export { SectionHeader, SectionHeaderProps } from './section-header.js';
21
41
  export { FloatingStepper, FloatingStepperProps, FloatingStepperStep } from './floating-stepper.js';
22
- export { SummaryBar, SummaryBarItem, SummaryBarProps, SummaryBarTone } from './summary-bar.js';
42
+ export { Stat, StatProps, StatTone } from './stat.js';
43
+ export { SummaryBar, SummaryBarItem, SummaryBarLayout, SummaryBarProps, SummaryBarTone } from './summary-bar.js';
23
44
  export { ToggleCard, ToggleCardProps } from './toggle-card.js';
24
- export { PixIcon } from './pix-icon.js';
25
45
  export { ToggleCardCompact, ToggleCardCompactProps } from './toggle-card-compact.js';
26
- export { ChipInput, ChipInputProps, ChipItem } from './chip-input.js';
27
- export { FormCardHeader, FormCardHeaderProps } from './form-card-header.js';
46
+ export { ChipInput, ChipInputProps } from './chip-input.js';
28
47
  export { CopyField, CopyFieldProps } from './copy-field.js';
29
48
  export { QRDisplay, QRDisplayProps } from './qr-display.js';
30
- export { ChoiceCard, ChoiceCardProps } from './choice-card.js';
49
+ export { ChoiceCard } from './choice-card.js';
31
50
  export { OptionTile, OptionTileGrid, OptionTileGridProps, OptionTileItem, OptionTileProps } from './option-tile.js';
32
51
  export { SelectableCard, SelectableCardProps } from './selectable-card.js';
33
52
  export { ChoicePreviewCard, ChoicePreviewCardProps } from './choice-preview-card.js';
34
53
  export { SettingRow, SettingRowProps } from './setting-row.js';
35
54
  export { SettingsList, SettingsListProps } from './settings-list.js';
36
55
  export { Dropzone, DropzoneProps } from './dropzone.js';
37
- export { MediaTile, MediaTileProps } from './media-tile.js';
38
- export { ChatBubble, ChatBubbleProps, ChatBubbleState, ChatBubbleVariant } from './chat-bubble.js';
56
+ export { MediaTile, MediaTileAspect, MediaTileProps } from './media-tile.js';
57
+ export { Attachment, AttachmentOrientation, AttachmentProps, AttachmentStatus } from './attachment.js';
58
+ export { Bubble, BubbleAlign, BubbleProps, BubbleVariant } from './bubble.js';
59
+ export { Marker, MarkerProps, MarkerVariant } from './marker.js';
60
+ export { Message, MessageAlign, MessageProps } from './message.js';
61
+ export { MessageScroller, MessageScrollerProps } from './message-scroller.js';
62
+ export { Questionnaire, QuestionnaireAnswer, QuestionnaireProps } from './questionnaire.js';
39
63
  export { TypingIndicator, TypingIndicatorProps } from './typing-indicator.js';
40
64
  export { ChoiceCarousel, ChoiceCarouselProps } from './choice-carousel.js';
41
- export { PageTab, PageTabs, PageTabsProps } from './page-tabs.js';
42
- export { SavingBar, SavingBarProps } from './saving-bar.js';
65
+ export { Tabs, TabsContent, TabsContentProps, TabsList, TabsListProps, TabsProps, TabsTrigger, TabsTriggerProps } from './tabs.js';
66
+ export { PageHeader, PageHeaderHeading, PageHeaderProps } from './page-header.js';
67
+ export { Sidebar, SidebarHeader, SidebarItem, SidebarItemProps, SidebarProps, SidebarSection, SidebarSectionProps, SidebarSeparator, SidebarTone } from './sidebar.js';
68
+ export { NavigationMenu, NavigationMenuEntry, NavigationMenuLink, NavigationMenuLinkComponent, NavigationMenuProps } from './navigation-menu.js';
69
+ export { SavingBar, SavingBarProps, SavingBarStatus } from './saving-bar.js';
43
70
  export { SavingBarProvider, SavingBarRegistration, SavingBarRoot, usePageSavingBar } from './saving-bar-context.js';
44
- export { FABConfig, FABProvider, FABRoot, useFAB, usePageFAB } from './fab.js';
45
- export { Table, TableBody, TableHead, TableRow, Td, Th } from './table.js';
71
+ export { FAB, FABConfig, FABProps, FABProvider, FABRoot, useFAB, usePageFAB } from './fab.js';
72
+ export { Table, TableAlign, TableBody, TableCell, TableCellProps, TableHead, TableHeadProps, TableHeader, TableProps, TableRow, TableSort, TableStatus, TableStatusProps } from './table.js';
46
73
  export { Textarea, TextareaProps } from './textarea.js';
47
74
  export { Toggle, ToggleProps } from './toggle.js';
48
- export { Tooltip, TooltipProps } from './tooltip.js';
49
- export { ToastOptions, ToastPosition, ToastVariant, ToastVisual, ToastVisualProps, Toaster, ToasterProps, toast } from './toaster.js';
50
- export { Divider, DividerProps } from './divider.js';
51
- export { Avatar, AvatarGroup, AvatarGroupProps, AvatarProps, AvatarSize, AvatarStatus } from './avatar.js';
52
- export { IconButton, IconButtonColor, IconButtonProps, IconButtonSize, IconButtonVariant } from './icon-button.js';
53
- export { Breadcrumb, BreadcrumbItem, BreadcrumbProps, homeItem } from './breadcrumb.js';
54
- export { Pagination, PaginationProps } from './pagination.js';
55
- export { Label, LabelProps } from './label.js';
56
- export { Popover, PopoverPlacement, PopoverProps } from './popover.js';
57
- export { Menu, MenuItem, MenuItemProps, MenuLabel, MenuProps, MenuSeparator } from './menu.js';
58
- export { Search, SearchProps } from './search.js';
59
- export { ToggleGroup, ToggleGroupProps, ToggleOption } from './toggle-group.js';
75
+ export { Switch, SwitchProps } from './switch.js';
76
+ export { Tooltip, TooltipProps, TooltipSide } from './tooltip.js';
77
+ export { ToastFn, ToastOptions, ToastTone, ToastVariant, ToastView, ToastViewProps, Toaster, ToasterProps, toast, toastClassName, useToast } from './toast.js';
78
+ export { Separator, SeparatorOrientation, SeparatorProps } from './separator.js';
79
+ export { Avatar, AvatarGroup, AvatarGroupProps, AvatarGroupSize, AvatarProps, AvatarSize, AvatarType, AvatarVariant, initials } from './avatar.js';
80
+ export { IconButton, IconButtonProps } from './icon-button.js';
81
+ export { ButtonGroup, ButtonGroupOrientation, ButtonGroupProps } from './button-group.js';
82
+ export { ActionBar, ActionBarProps } from './action-bar.js';
83
+ export { FormActions, FormActionsLayout, FormActionsProps } from './form-actions.js';
84
+ export { Breadcrumb, BreadcrumbItem, BreadcrumbLinkComponent, BreadcrumbProps, BreadcrumbTone } from './breadcrumb.js';
85
+ export { Pagination, PaginationLinkComponent, PaginationProps, pageItems } from './pagination.js';
86
+ export { Popover, PopoverAlign, PopoverClose, PopoverProps, PopoverSide } from './popover.js';
87
+ export { ToggleGroup, ToggleGroupItem, ToggleGroupItemProps, ToggleGroupProps } from './toggle-group.js';
60
88
  export { Accordion, AccordionItem, AccordionItemProps, AccordionProps } from './accordion.js';
61
89
  export { Slider, SliderProps } from './slider.js';
62
- export { BottomSheet, BottomSheetProps } from './bottom-sheet.js';
63
- export { ContextMenu, ContextMenuProps } from './context-menu.js';
64
- export { Combobox, ComboboxOption, ComboboxProps } from './combobox.js';
90
+ export { Listbox, ListboxOption, ListboxOptionProps, ListboxProps } from './listbox.js';
91
+ export { Calendar, CalendarProps } from './calendar.js';
92
+ export { FileInput, FileInputProps, FileInputVariant, formatFileSize } from './file-input.js';
93
+ export { NumberInput, NumberInputProps, NumberInputStep } from './number-input.js';
94
+ export { InputOTP, InputOTPLength, InputOTPProps } from './input-otp.js';
95
+ export { Combobox, ComboboxMultipleProps, ComboboxOption, ComboboxProps, ComboboxSingleProps } from './combobox.js';
65
96
  export { DatePicker, DatePickerProps } from './date-picker.js';
66
- export { TimePicker, TimePickerProps } from './time-picker.js';
67
- export { Chip, ChipProps } from './chips.js';
68
- export { BlockerCard, BlockerCardProps, BlockerCardTone } from './blocker-card.js';
69
- export { PaywallBanner, PaywallBannerProps } from './paywall-banner.js';
70
- export { PaywallContent, PaywallContentProps, PaywallModal, PaywallModalProps, PaywallReason, PaywallState, PaywallStateProps } from './paywall.js';
97
+ export { TimeFormat, TimePicker, TimePickerProps, formatTime, parseTime } from './time-picker.js';
98
+ export { Chip, ChipProps } from './chip.js';
71
99
  export { CardsSkeleton, CardsSkeletonProps, PageSkeleton, PageSkeletonProps } from './page-skeleton.js';
72
100
  export { CurrencyInput, CurrencyInputProps } from './currency-input.js';
73
- export { ColorInput, ColorInputProps } from './color-input.js';
101
+ export { ColorInput, ColorInputProps, normalizeHex } from './color-input.js';
74
102
  export { ImageUpload, ImageUploadAspect, ImageUploadLabels, ImageUploadProps, ImageUploadVariant } from './image-upload.js';
75
103
  export { CropPreset, ImageCropModal, ImageCropModalProps } from './image-crop-modal.js';
76
104
  export { PhoneInput, PhoneInputProps } from './phone-input.js';
77
105
  export { RowActionItem, RowActions, RowActionsProps } from './row-actions.js';
78
106
  export { PageShell, PageShellBodyProps, PageShellHeaderProps, PageShellProps, PageShellWidth } from './page-shell.js';
79
107
  export { DangerZone, DangerZoneItem, DangerZoneItemProps, DangerZoneProps } from './danger-zone.js';
80
- export { Themed, ThemedProps, themeClass } from './themed.js';
81
- export { PhoneFrame, PhoneFrameProps } from './phone-frame.js';
82
- export { CopilotHint, CopilotHintPriority, CopilotHintProps } from './copilot-hint.js';
83
- export { Notice, NoticeIntent, NoticeProps, NoticeSeverity } from './notice.js';
108
+ export { Banner, BannerProps } from './banner.js';
109
+ export { Benefits, BenefitsItem, BenefitsItemProps, BenefitsProps } from './benefits.js';
110
+ export { Contact, ContactProps } from './contact.js';
111
+ export { FAQ, FAQProps } from './faq.js';
112
+ export { Footer, FooterColumn, FooterColumnProps, FooterProps } from './footer.js';
113
+ export { Newsletter, NewsletterProps } from './newsletter.js';
114
+ export { Testimonial, TestimonialItem, TestimonialItemProps, TestimonialProps } from './testimonial.js';
115
+ export { TopNavigation, TopNavigationProps } from './top-navigation.js';
116
+ export { Phone, PhonePlatform, PhoneProps } from './phone.js';
117
+ export { Browser, BrowserProps } from './browser.js';
118
+ export { GoogleButton, GoogleButtonProps, GoogleButtonShape, GoogleButtonTheme, GoogleButtonType } from './google-button.js';
119
+ export { GoogleSignIn, GoogleSignInProps, GoogleSignInStep } from './google-sign-in.js';
120
+ export { GoogleConsent, GoogleConsentProps } from './google-consent.js';
121
+ export { GoogleAccount, GoogleAccountChooser, GoogleAccountChooserProps } from './google-account-chooser.js';
122
+ export { WhatsAppChat, WhatsAppChatProps } from './whatsapp-chat.js';
123
+ export { WhatsAppMessage, WhatsAppMessageProps, WhatsAppMessageType } from './whatsapp-message.js';
124
+ export { WhatsAppNotification, WhatsAppNotificationProps } from './whatsapp-notification.js';
125
+ export { WhatsAppTemplate, WhatsAppTemplateButton, WhatsAppTemplateButtonProps, WhatsAppTemplateButtonStatus, WhatsAppTemplateButtonType, WhatsAppTemplateHeader, WhatsAppTemplateProps } from './whatsapp-template.js';
126
+ export { ButtonSize, ButtonTone, ButtonVariant } from './internal/button.js';
127
+ export { ChoiceCardGroup, ChoiceCardGroupProps, ChoiceCardLayout, ChoiceCardProps } from './internal/choice-card.js';
128
+ export { FieldLabelPosition } from './internal/field.js';
129
+ export { GoogleLayout } from './internal/google.js';
130
+ export { IsoDate } from './internal/dates.js';
131
+ export { ToggleVariant } from './internal/toggle.js';
132
+ export { WhatsAppPlatform } from './internal/whatsapp.js';
84
133
  import 'react';
85
- import 'lucide-react';
134
+ import '@radix-ui/react-dialog';
135
+ import './internal/modal.js';
136
+ import './internal/menu.js';
137
+ import './internal/fieldset.js';
138
+ import '@radix-ui/react-toggle';
139
+ import '@radix-ui/react-tooltip';
140
+ import '@radix-ui/react-popover';
141
+ import '@radix-ui/react-toggle-group';