@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
@@ -0,0 +1,73 @@
1
+ "use client";
2
+ import {
3
+ __objRest,
4
+ __spreadProps,
5
+ __spreadValues
6
+ } from "../chunk-ORMEWXMH.js";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { announce } from "./internal/announce.js";
9
+ import { CloseIcon } from "./internal/icons.js";
10
+ function Chip(_a) {
11
+ var _b = _a, {
12
+ children,
13
+ icon,
14
+ onRemove,
15
+ removeLabel,
16
+ removedMessage,
17
+ disabled,
18
+ className
19
+ } = _b, rest = __objRest(_b, [
20
+ "children",
21
+ "icon",
22
+ "onRemove",
23
+ "removeLabel",
24
+ "removedMessage",
25
+ "disabled",
26
+ "className"
27
+ ]);
28
+ const text = typeof children === "string" || typeof children === "number" ? String(children) : void 0;
29
+ function remove(event) {
30
+ if (disabled || !onRemove) return;
31
+ const next = neighbourRemove(event.currentTarget);
32
+ onRemove();
33
+ const message = removedMessage != null ? removedMessage : text ? `${text} removido` : void 0;
34
+ if (message) announce(message);
35
+ requestAnimationFrame(() => next == null ? void 0 : next.focus());
36
+ }
37
+ return /* @__PURE__ */ jsxs(
38
+ "span",
39
+ __spreadProps(__spreadValues({}, rest), {
40
+ role: disabled ? "group" : rest.role,
41
+ "aria-disabled": disabled || void 0,
42
+ className: ["rds-chip", onRemove && "rds-chip--removable", disabled && "rds-chip--disabled", className].filter(Boolean).join(" "),
43
+ children: [
44
+ icon && /* @__PURE__ */ jsx("span", { className: "rds-chip__icon", "aria-hidden": "true", children: icon }),
45
+ /* @__PURE__ */ jsx("span", { className: "rds-chip__label", children }),
46
+ onRemove && /* @__PURE__ */ jsx(
47
+ "button",
48
+ {
49
+ type: "button",
50
+ className: "rds-chip__remove",
51
+ "aria-label": removeLabel != null ? removeLabel : `Remover ${text != null ? text : ""}`.trim(),
52
+ "aria-disabled": disabled || void 0,
53
+ onClick: remove,
54
+ children: /* @__PURE__ */ jsx("span", { className: "rds-chip__remove-icon", "aria-hidden": "true", children: /* @__PURE__ */ jsx(CloseIcon, {}) })
55
+ }
56
+ )
57
+ ]
58
+ })
59
+ );
60
+ }
61
+ function neighbourRemove(own) {
62
+ var _a, _b, _c, _d;
63
+ const chip = own.closest(".rds-chip");
64
+ const list = (_a = chip == null ? void 0 : chip.closest('ul, ol, [role="list"]')) != null ? _a : chip == null ? void 0 : chip.parentElement;
65
+ if (!list) return null;
66
+ const all = Array.from(list.querySelectorAll('.rds-chip__remove:not([aria-disabled="true"])'));
67
+ const index = all.indexOf(own);
68
+ if (index === -1) return (_b = all[0]) != null ? _b : null;
69
+ return (_d = (_c = all[index + 1]) != null ? _c : all[index - 1]) != null ? _d : null;
70
+ }
71
+ export {
72
+ Chip
73
+ };
@@ -1,16 +1,13 @@
1
1
  import * as react from 'react';
2
- import { ReactNode } from 'react';
2
+ import { ChoiceCardProps } from './internal/choice-card.js';
3
+ export { ChoiceCardGroup, ChoiceCardGroupProps, ChoiceCardLayout } from './internal/choice-card.js';
3
4
 
4
- interface ChoiceCardProps {
5
- selected: boolean;
6
- onClick: () => void;
7
- label: string;
8
- description?: string;
9
- icon?: ReactNode;
10
- disabled?: boolean;
11
- /** Override pontual (ex.: rounded-b-none quando há painel anexado embaixo). */
12
- className?: string;
13
- }
14
- declare function ChoiceCard({ selected, onClick, label, description, icon, disabled, className }: ChoiceCardProps): react.JSX.Element;
5
+ /**
6
+ * ChoiceCard — Figma [RDS] Content/ChoiceCard. A large single-choice option with icon, label and description, for
7
+ * when each option needs an explanation. Three layouts: row (the line with the radio), tile (a grid cell) and
8
+ * preview (an image on top). It is a native radio: Tab reaches the group, the arrows move and choose, Space
9
+ * chooses. Use it inside a ChoiceCardGroup (one chosen at a time). Styles: choice-card.css.
10
+ */
11
+ declare function ChoiceCard(props: ChoiceCardProps): react.JSX.Element;
15
12
 
16
- export { ChoiceCard, type ChoiceCardProps };
13
+ export { ChoiceCard, ChoiceCardProps };
@@ -1,60 +1,15 @@
1
1
  "use client";
2
- import "../chunk-ORMEWXMH.js";
3
- function ChoiceCard({ selected, onClick, label, description, icon, disabled = false, className = "" }) {
4
- return /* @__PURE__ */ React.createElement(
5
- "button",
6
- {
7
- type: "button",
8
- onClick,
9
- disabled,
10
- className: [
11
- "w-full flex items-center gap-4 px-4 py-4 rounded-(--radius-card) border text-left transition-all",
12
- selected ? "[border-color:var(--choice-card-border-active)] [background:var(--choice-card-bg-active)]" : "[border-color:var(--choice-card-border)] [background:var(--choice-card-bg)] hover:[border-color:var(--choice-card-border-hover)]",
13
- disabled ? "opacity-50 cursor-not-allowed" : "",
14
- className
15
- ].filter(Boolean).join(" ")
16
- },
17
- icon && /* @__PURE__ */ React.createElement(
18
- "div",
19
- {
20
- className: [
21
- "shrink-0 w-9 h-9 rounded-(--radius-card) flex items-center justify-center transition-colors",
22
- selected ? "[background:var(--choice-card-icon-bg-active)] [color:var(--choice-card-icon-active)]" : "[background:var(--choice-card-icon-bg)] [color:var(--choice-card-icon)]"
23
- ].join(" ")
24
- },
25
- icon
26
- ),
27
- /* @__PURE__ */ React.createElement("div", { className: "flex-1 min-w-0" }, /* @__PURE__ */ React.createElement(
28
- "p",
29
- {
30
- className: [
31
- "text-label font-semibold",
32
- selected ? "[color:var(--choice-card-label-active)]" : "[color:var(--choice-card-label)]"
33
- ].join(" ")
34
- },
35
- label
36
- ), description && /* @__PURE__ */ React.createElement(
37
- "p",
38
- {
39
- className: [
40
- "text-caption mt-0.5",
41
- selected ? "[color:var(--choice-card-description-active)]" : "[color:var(--choice-card-description)]"
42
- ].join(" ")
43
- },
44
- description
45
- )),
46
- /* @__PURE__ */ React.createElement(
47
- "div",
48
- {
49
- className: [
50
- "shrink-0 w-4 h-4 rounded-full border-2 flex items-center justify-center transition-colors",
51
- selected ? "[border-color:var(--choice-card-radio-border-active)]" : "[border-color:var(--choice-card-radio-border)]"
52
- ].join(" ")
53
- },
54
- selected && /* @__PURE__ */ React.createElement("div", { className: "w-2 h-2 rounded-full [background:var(--choice-card-radio-dot)]" })
55
- )
56
- );
2
+ import {
3
+ __spreadProps,
4
+ __spreadValues
5
+ } from "../chunk-ORMEWXMH.js";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import { ChoiceCardControl } from "./internal/choice-card.js";
8
+ import { ChoiceCardGroup } from "./internal/choice-card.js";
9
+ function ChoiceCard(props) {
10
+ return /* @__PURE__ */ jsx(ChoiceCardControl, __spreadProps(__spreadValues({}, props), { control: "radio" }));
57
11
  }
58
12
  export {
59
- ChoiceCard
13
+ ChoiceCard,
14
+ ChoiceCardGroup
60
15
  };
@@ -3,14 +3,23 @@ import { ReactNode } from 'react';
3
3
 
4
4
  interface ChoiceCarouselProps<T> {
5
5
  options: T[];
6
+ /** A stable key per option. */
6
7
  getKey: (option: T) => string;
8
+ /** Draws an option. Static content: the carousel item is the radio (or checkbox), so no button inside. */
7
9
  renderCard: (option: T, isSelected: boolean) => ReactNode;
8
10
  value: T | T[] | null;
9
11
  onChange: (value: T | T[]) => void;
12
+ /** Several at once (checkboxes) instead of one (radios). */
10
13
  multiple?: boolean;
14
+ /** The group's name for screen readers. */
11
15
  ariaLabel: string;
12
16
  isDisabled?: (option: T) => boolean;
13
17
  }
18
+ /**
19
+ * ChoiceCarousel — a horizontal, scroll-snapped row of options to pick one (radiogroup) or several (group of
20
+ * checkboxes); the options are drawn by `renderCard`. On a wide screen two outline IconButtons (with their Tooltips)
21
+ * scroll it by one option; the arrow keys do the same on the row. Styles: choice-carousel.css.
22
+ */
14
23
  declare function ChoiceCarousel<T>({ options, getKey, renderCard, value, onChange, multiple, ariaLabel, isDisabled, }: ChoiceCarouselProps<T>): react.JSX.Element;
15
24
 
16
25
  export { ChoiceCarousel, type ChoiceCarouselProps };
@@ -1,6 +1,10 @@
1
1
  "use client";
2
2
  import "../chunk-ORMEWXMH.js";
3
- import { useRef, useState, useEffect, useCallback } from "react";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ import { useRef, useState, useEffect, useCallback, useMemo } from "react";
5
+ import { IconButton } from "./icon-button.js";
6
+ import { ChevronLeftIcon, ChevronRightIcon } from "./internal/icons.js";
7
+ import { Tooltip } from "./tooltip.js";
4
8
  function ChoiceCarousel({
5
9
  options,
6
10
  getKey,
@@ -14,7 +18,7 @@ function ChoiceCarousel({
14
18
  const trackRef = useRef(null);
15
19
  const [canScrollLeft, setCanScrollLeft] = useState(false);
16
20
  const [canScrollRight, setCanScrollRight] = useState(false);
17
- const valueArray = multiple ? value != null ? value : [] : [];
21
+ const valueArray = useMemo(() => multiple ? value != null ? value : [] : [], [multiple, value]);
18
22
  const valueSingle = multiple ? null : value;
19
23
  const isSelected = useCallback(
20
24
  (option) => {
@@ -58,7 +62,7 @@ function ChoiceCarousel({
58
62
  const el = trackRef.current;
59
63
  if (!el) return;
60
64
  const cardWidth = (_b = (_a = el.firstElementChild) == null ? void 0 : _a.getBoundingClientRect().width) != null ? _b : 160;
61
- const gap = 12;
65
+ const gap = parseFloat(getComputedStyle(el).columnGap) || 0;
62
66
  el.scrollBy({ left: dir * (cardWidth + gap), behavior: "smooth" });
63
67
  };
64
68
  const handleKeyDown = (e) => {
@@ -70,84 +74,69 @@ function ChoiceCarousel({
70
74
  scrollByAmount(-1);
71
75
  }
72
76
  };
73
- return /* @__PURE__ */ React.createElement("div", { className: "relative w-full" }, /* @__PURE__ */ React.createElement(
74
- "button",
75
- {
76
- type: "button",
77
- "aria-label": "Anterior",
78
- onClick: () => scrollByAmount(-1),
79
- disabled: !canScrollLeft,
80
- className: "hidden md:flex absolute left-0 top-1/2 -translate-y-1/2 -translate-x-1/2 z-10 w-9 h-9 rounded-full items-center justify-center transition-opacity disabled:opacity-0 disabled:pointer-events-none",
81
- style: {
82
- background: "var(--choice-carousel-chevron-bg)",
83
- border: `1px solid var(--choice-carousel-chevron-border)`,
84
- color: "var(--choice-carousel-chevron-text)",
85
- boxShadow: "var(--shadow-md)"
77
+ return /* @__PURE__ */ jsxs("div", { className: "rds-choice-carousel", children: [
78
+ /* @__PURE__ */ jsx(Tooltip, { text: "Anterior", children: /* @__PURE__ */ jsx(
79
+ IconButton,
80
+ {
81
+ className: "rds-choice-carousel__arrow rds-choice-carousel__arrow--prev",
82
+ icon: /* @__PURE__ */ jsx(ChevronLeftIcon, {}),
83
+ label: "Anterior",
84
+ variant: "outline",
85
+ tone: "neutral",
86
+ onClick: () => scrollByAmount(-1),
87
+ disabled: !canScrollLeft,
88
+ tabIndex: -1
86
89
  }
87
- },
88
- /* @__PURE__ */ React.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.8" }, /* @__PURE__ */ React.createElement("path", { d: "M10 4l-4 4 4 4", strokeLinecap: "round", strokeLinejoin: "round" }))
89
- ), /* @__PURE__ */ React.createElement(
90
- "div",
91
- {
92
- ref: trackRef,
93
- role: multiple ? "group" : "radiogroup",
94
- "aria-label": ariaLabel,
95
- tabIndex: 0,
96
- onKeyDown: handleKeyDown,
97
- className: "flex overflow-x-auto scroll-smooth focus:outline-none",
98
- style: {
99
- gap: "var(--choice-carousel-gap)",
100
- scrollSnapType: "x mandatory",
101
- scrollbarWidth: "none",
102
- paddingBlock: 4
90
+ ) }),
91
+ /* @__PURE__ */ jsx(
92
+ "div",
93
+ {
94
+ ref: trackRef,
95
+ role: multiple ? "group" : "radiogroup",
96
+ "aria-label": ariaLabel,
97
+ tabIndex: 0,
98
+ onKeyDown: handleKeyDown,
99
+ className: "rds-choice-carousel__track",
100
+ children: options.map((option) => {
101
+ var _a;
102
+ const selected = isSelected(option);
103
+ const disabled = (_a = isDisabled == null ? void 0 : isDisabled(option)) != null ? _a : false;
104
+ return /* @__PURE__ */ jsx(
105
+ "div",
106
+ {
107
+ role: multiple ? "checkbox" : "radio",
108
+ "aria-checked": selected,
109
+ "aria-disabled": disabled || void 0,
110
+ tabIndex: disabled ? -1 : 0,
111
+ onClick: () => handleSelect(option),
112
+ onKeyDown: (e) => {
113
+ if (e.key === "Enter" || e.key === " ") {
114
+ e.preventDefault();
115
+ handleSelect(option);
116
+ }
117
+ },
118
+ className: "rds-choice-carousel__option",
119
+ children: renderCard(option, selected)
120
+ },
121
+ getKey(option)
122
+ );
123
+ })
103
124
  }
104
- },
105
- options.map((option) => {
106
- var _a;
107
- const selected = isSelected(option);
108
- const disabled = (_a = isDisabled == null ? void 0 : isDisabled(option)) != null ? _a : false;
109
- return /* @__PURE__ */ React.createElement(
110
- "div",
111
- {
112
- key: getKey(option),
113
- role: multiple ? "checkbox" : "radio",
114
- "aria-checked": selected,
115
- "aria-disabled": disabled,
116
- tabIndex: disabled ? -1 : 0,
117
- onClick: () => handleSelect(option),
118
- onKeyDown: (e) => {
119
- if (e.key === "Enter" || e.key === " ") {
120
- e.preventDefault();
121
- handleSelect(option);
122
- }
123
- },
124
- className: "shrink-0",
125
- style: {
126
- width: "var(--choice-carousel-card-width-mobile)",
127
- scrollSnapAlign: "start",
128
- cursor: disabled ? "not-allowed" : "pointer"
129
- }
130
- },
131
- renderCard(option, selected)
132
- );
133
- })
134
- ), /* @__PURE__ */ React.createElement(
135
- "button",
136
- {
137
- type: "button",
138
- "aria-label": "Pr\xF3ximo",
139
- onClick: () => scrollByAmount(1),
140
- disabled: !canScrollRight,
141
- className: "hidden md:flex absolute right-0 top-1/2 -translate-y-1/2 translate-x-1/2 z-10 w-9 h-9 rounded-full items-center justify-center transition-opacity disabled:opacity-0 disabled:pointer-events-none",
142
- style: {
143
- background: "var(--choice-carousel-chevron-bg)",
144
- border: `1px solid var(--choice-carousel-chevron-border)`,
145
- color: "var(--choice-carousel-chevron-text)",
146
- boxShadow: "var(--shadow-md)"
125
+ ),
126
+ /* @__PURE__ */ jsx(Tooltip, { text: "Pr\xF3ximo", children: /* @__PURE__ */ jsx(
127
+ IconButton,
128
+ {
129
+ className: "rds-choice-carousel__arrow rds-choice-carousel__arrow--next",
130
+ icon: /* @__PURE__ */ jsx(ChevronRightIcon, {}),
131
+ label: "Pr\xF3ximo",
132
+ variant: "outline",
133
+ tone: "neutral",
134
+ onClick: () => scrollByAmount(1),
135
+ disabled: !canScrollRight,
136
+ tabIndex: -1
147
137
  }
148
- },
149
- /* @__PURE__ */ React.createElement("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.8" }, /* @__PURE__ */ React.createElement("path", { d: "M6 4l4 4-4 4", strokeLinecap: "round", strokeLinejoin: "round" }))
150
- ));
138
+ ) })
139
+ ] });
151
140
  }
152
141
  export {
153
142
  ChoiceCarousel
@@ -1,37 +1,27 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode } from 'react';
3
3
 
4
- /**
5
- * ChoicePreviewCard — cartão de seleção VERTICAL: mini-preview (mockup/swatch/imagem) em
6
- * cima, label + descrição embaixo, check no selecionado. Para escolhas onde o rótulo não
7
- * basta e o usuário precisa VER a opção (layout da home, tema, densidade, modo).
8
- *
9
- * Quando usar cada "card clicável" do DS:
10
- * - ChoicePreviewCard — tile VERTICAL de preview selecionável (este).
11
- * - ChoiceCard — row HORIZONTAL com radio (escolha exclusiva textual).
12
- * - SelectableCard — clicável genérico (ação/navegação), button/a.
13
- * - ToggleCard — toggle dentro de card.
14
- * - MediaTile — thumbnail de navegação (sem estado selecionado).
15
- *
16
- * Estado selected é NEUTRO (stroke-focus), seguro no admin. A seleção única é gerenciada
17
- * pelo consumidor (map + selected/onSelect) — sem grupo no DS de propósito.
18
- */
4
+ /** @deprecated Use ChoiceCardProps. */
19
5
  interface ChoicePreviewCardProps {
20
6
  selected: boolean;
21
7
  onSelect: () => void;
22
- /** Mini-mockup/swatch/imagem no topo. */
8
+ /** The picture on top. */
23
9
  preview: ReactNode;
24
10
  label: string;
25
11
  description?: string;
26
- /** Bloqueado por gate de plano — mostra cadeado; o clique segue (consumidor abre paywall). */
12
+ /** Ignored: the ChoiceCard has no locked state. */
27
13
  locked?: boolean;
28
- /** Desabilitado (não-clicável). */
29
14
  disabled?: boolean;
30
- /** Selo no canto do preview (ex.: "PRO"). */
15
+ /** Ignored: the ChoiceCard has no badge on the picture. */
31
16
  badge?: ReactNode;
17
+ /** Ignored: the picture is always 16:9. */
32
18
  previewAspect?: 'square' | 'video' | 'wide';
33
19
  className?: string;
34
20
  }
35
- declare function ChoicePreviewCard({ selected, onSelect, preview, label, description, locked, disabled, badge, previewAspect, className, }: ChoicePreviewCardProps): react.JSX.Element;
21
+ /**
22
+ * @deprecated Use ChoiceCard with layout="preview" (Figma [RDS] Content/ChoiceCard). A thin wrapper over it: `label`
23
+ * is the children. It is a native radio now, not a toggle button; `locked`, `badge` and `previewAspect` are ignored.
24
+ */
25
+ declare function ChoicePreviewCard({ selected, onSelect, preview, label, description, disabled, className }: ChoicePreviewCardProps): react.JSX.Element;
36
26
 
37
27
  export { ChoicePreviewCard, type ChoicePreviewCardProps };
@@ -1,37 +1,20 @@
1
1
  "use client";
2
2
  import "../chunk-ORMEWXMH.js";
3
- import { Check, Lock } from "lucide-react";
4
- function ChoicePreviewCard({
5
- selected,
6
- onSelect,
7
- preview,
8
- label,
9
- description,
10
- locked = false,
11
- disabled = false,
12
- badge,
13
- previewAspect = "video",
14
- className = ""
15
- }) {
16
- const aspect = previewAspect === "square" ? "aspect-square" : previewAspect === "wide" ? "aspect-[2/1]" : "aspect-video";
17
- return /* @__PURE__ */ React.createElement(
18
- "button",
3
+ import { jsx } from "react/jsx-runtime";
4
+ import { ChoiceCard } from "./choice-card.js";
5
+ function ChoicePreviewCard({ selected, onSelect, preview, label, description, disabled, className }) {
6
+ return /* @__PURE__ */ jsx(
7
+ ChoiceCard,
19
8
  {
20
- type: "button",
21
- onClick: onSelect,
9
+ layout: "preview",
10
+ selected,
11
+ onSelect,
12
+ preview,
13
+ description,
22
14
  disabled,
23
- "aria-pressed": selected,
24
- className: [
25
- "relative w-full text-left rounded-(--radius-card) border p-2 transition-all",
26
- "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-stroke-focus",
27
- selected ? "border-2 border-stroke-focus bg-surface-raised" : "border border-stroke-default bg-surface-default hover:border-stroke-strong",
28
- disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer",
29
- className
30
- ].filter(Boolean).join(" ")
31
- },
32
- /* @__PURE__ */ React.createElement("div", { className: ["relative w-full overflow-hidden rounded-(--radius-card) ring-1 ring-inset ring-stroke-subtle", aspect].join(" ") }, preview, badge && /* @__PURE__ */ React.createElement("span", { className: "absolute top-1.5 left-1.5" }, badge), selected && /* @__PURE__ */ React.createElement("span", { className: "absolute bottom-1.5 right-1.5 size-5 rounded-full bg-stroke-focus text-surface-default flex items-center justify-center" }, /* @__PURE__ */ React.createElement(Check, { size: 12, strokeWidth: 3 })), locked && // TODO(DS): trocar por token de overlay (--choice-preview-overlay) — Patrick.
33
- /* @__PURE__ */ React.createElement("span", { className: "absolute inset-0 flex items-center justify-center bg-[rgba(0,0,0,0.55)]" }, /* @__PURE__ */ React.createElement(Lock, { size: 18, className: "text-white" }))),
34
- /* @__PURE__ */ React.createElement("div", { className: "px-1 pt-2" }, /* @__PURE__ */ React.createElement("div", { className: "text-sm font-medium text-fg-primary" }, label), description && /* @__PURE__ */ React.createElement("div", { className: "text-xs text-fg-muted mt-0.5 leading-snug" }, description))
15
+ className,
16
+ children: label
17
+ }
35
18
  );
36
19
  }
37
20
  export {
@@ -1,20 +1,45 @@
1
1
  import * as react from 'react';
2
+ import { CSSProperties } from 'react';
3
+ import { FieldTextProps } from './internal/field.js';
2
4
 
3
- interface ColorInputProps {
4
- /** Hex #RRGGBB. */
5
- value: string;
6
- /** Dispara apenas com hex válido, normalizado em UPPERCASE. */
7
- onChange: (hex: string) => void;
8
- size?: 'sm' | 'md';
5
+ interface ColorInputProps extends Omit<FieldTextProps, 'labelPosition'> {
6
+ /** Controlled: the colour, #RRGGBB (Figma: `value`). */
7
+ value?: string;
8
+ /** Uncontrolled: the colour at first. */
9
+ defaultValue?: string;
10
+ /** Called only with a valid #RRGGBB, in capitals: typed and confirmed, or chosen in the palette. */
11
+ onChange?: (hex: string) => void;
12
+ /**
13
+ * The colours the swatch's popover offers (#RRGGBB): the caller decides, usually the brand's. Without a palette the
14
+ * swatch opens the system's colour picker instead.
15
+ */
16
+ palette?: string[];
17
+ /** The palette's title. */
18
+ paletteTitle?: string;
19
+ /** The line under the palette. */
20
+ paletteCaption?: string;
21
+ /** The swatch's accessible name: it opens the palette (or the system's picker). */
22
+ pickLabel?: string;
23
+ /** The form field name: carries the hex. */
24
+ name?: string;
9
25
  disabled?: boolean;
26
+ id?: string;
10
27
  className?: string;
28
+ style?: CSSProperties;
29
+ /** The name when there is no visible label. */
11
30
  'aria-label'?: string;
31
+ 'aria-labelledby'?: string;
12
32
  }
33
+ /** "2563eb", "#2563eb" → "#2563EB"; anything else → null. */
34
+ declare function normalizeHex(text: string): string | null;
13
35
  /**
14
- * ColorInput — campo de cor único: swatch (abre o picker nativo) + hex
15
- * editável, no mesmo controle. Molécula sobre os tokens do Input: mesma
16
- * altura, borda, radius e anel de foco.
36
+ * ColorInput — Figma [RDS] Forms/ColorInput. One colour, chosen or typed: the swatch shows it and the hex beside it
37
+ * is editable (#RRGGBB, with or without #). The swatch opens a popover with the palette the caller passes (Figma:
38
+ * menu=open); without one, the system's colour picker. Enter or leaving the field confirms the hex; an invalid hex
39
+ * goes back to the last valid one. The swatch's colour is the person's data, not a token: it is the one inline
40
+ * style the DS allows (style.backgroundColor of the swatch and of each palette colour). Choosing among a few fixed
41
+ * colours without a hex is the ToggleGroup or the ChoiceCard. Styles: color-input.css and internal/field.css.
17
42
  */
18
- declare function ColorInput({ value, onChange, size, disabled, className, 'aria-label': ariaLabel, }: ColorInputProps): react.JSX.Element;
43
+ declare function ColorInput({ label, hint, error, errorMessage, required, value, defaultValue, onChange, palette, paletteTitle, paletteCaption, pickLabel, name, disabled, id, className, style, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledBy, }: ColorInputProps): react.JSX.Element;
19
44
 
20
- export { ColorInput, type ColorInputProps };
45
+ export { ColorInput, type ColorInputProps, normalizeHex };