@rojaostudio/ds 1.0.2 → 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 (356) 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 -93
  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 +67 -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 -90
  15. package/dist/components/badge.d.ts +30 -41
  16. package/dist/components/badge.js +13 -110
  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 +38 -56
  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 +45 -108
  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 +31 -46
  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 +87 -81
  43. package/dist/components/chip-input.d.ts +46 -20
  44. package/dist/components/chip-input.js +172 -176
  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 -62
  49. package/dist/components/choice-carousel.d.ts +9 -0
  50. package/dist/components/choice-carousel.js +28 -44
  51. package/dist/components/choice-preview-card.d.ts +10 -20
  52. package/dist/components/choice-preview-card.js +12 -40
  53. package/dist/components/color-input.d.ts +36 -11
  54. package/dist/components/color-input.js +131 -59
  55. package/dist/components/combobox.d.ts +60 -57
  56. package/dist/components/combobox.js +210 -213
  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 +41 -68
  63. package/dist/components/copy-field.d.ts +10 -5
  64. package/dist/components/copy-field.js +24 -29
  65. package/dist/components/currency-input.d.ts +25 -11
  66. package/dist/components/currency-input.js +29 -65
  67. package/dist/components/danger-zone.d.ts +10 -1
  68. package/dist/components/danger-zone.js +14 -18
  69. package/dist/components/data-table-header.d.ts +13 -2
  70. package/dist/components/data-table-header.js +114 -190
  71. package/dist/components/date-picker.d.ts +31 -32
  72. package/dist/components/date-picker.js +119 -254
  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 +57 -89
  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 -58
  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 -51
  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 -61
  93. package/dist/components/floating-stepper.d.ts +7 -18
  94. package/dist/components/floating-stepper.js +27 -55
  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 +44 -64
  111. package/dist/components/image-crop-modal.d.ts +3 -3
  112. package/dist/components/image-crop-modal.js +32 -39
  113. package/dist/components/image-upload.d.ts +21 -29
  114. package/dist/components/image-upload.js +55 -259
  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 +104 -137
  121. package/dist/components/insight-card.d.ts +25 -9
  122. package/dist/components/insight-card.js +42 -27
  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 -27
  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 -137
  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 -34
  185. package/dist/components/page-skeleton.d.ts +15 -21
  186. package/dist/components/page-skeleton.js +28 -25
  187. package/dist/components/pagination.d.ts +32 -22
  188. package/dist/components/pagination.js +78 -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 +75 -64
  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 +30 -131
  197. package/dist/components/pricing-card.d.ts +9 -25
  198. package/dist/components/pricing-card.js +9 -40
  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 +6 -22
  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 +45 -103
  211. package/dist/components/row-actions.d.ts +5 -0
  212. package/dist/components/row-actions.js +27 -34
  213. package/dist/components/saving-bar-context.d.ts +0 -5
  214. package/dist/components/saving-bar-context.js +16 -40
  215. package/dist/components/saving-bar.d.ts +26 -11
  216. package/dist/components/saving-bar.js +50 -65
  217. package/dist/components/section-card.d.ts +18 -4
  218. package/dist/components/section-card.js +29 -50
  219. package/dist/components/section-header.d.ts +8 -12
  220. package/dist/components/section-header.js +5 -10
  221. package/dist/components/select.d.ts +44 -16
  222. package/dist/components/select.js +83 -154
  223. package/dist/components/selectable-card.d.ts +11 -19
  224. package/dist/components/selectable-card.js +4 -28
  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 +10 -23
  229. package/dist/components/settings-list.d.ts +10 -12
  230. package/dist/components/settings-list.js +7 -19
  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 -37
  237. package/dist/components/slider.d.ts +21 -23
  238. package/dist/components/slider.js +59 -64
  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 +34 -37
  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 +18 -16
  251. package/dist/components/summary-bar.d.ts +20 -20
  252. package/dist/components/summary-bar.js +13 -55
  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 +59 -58
  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 -91
  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 +185 -203
  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 +19 -86
  271. package/dist/components/toggle-card.d.ts +11 -2
  272. package/dist/components/toggle-card.js +8 -77
  273. package/dist/components/toggle-group.d.ts +21 -59
  274. package/dist/components/toggle-group.js +31 -80
  275. package/dist/components/toggle.d.ts +19 -9
  276. package/dist/components/toggle.js +16 -61
  277. package/dist/components/tooltip.d.ts +25 -12
  278. package/dist/components/tooltip.js +15 -88
  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 -24
  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/targets/native/components/index.d.ts +0 -2
  295. package/dist/targets/native/components/index.js +0 -4
  296. package/dist/targets/native/preset.cjs +0 -1
  297. package/dist/targets/native/theme.css +58 -60
  298. package/dist/targets/native/theme.d.ts +58 -60
  299. package/dist/targets/native/theme.js +58 -60
  300. package/package.json +34 -12
  301. package/styles/_primitives.generated.css +40 -0
  302. package/styles/base.css +12 -18
  303. package/styles/rds/components-styles.css +11365 -0
  304. package/styles/rds/components.css +993 -0
  305. package/styles/rds/foundation.css +74 -0
  306. package/styles/rds/theme.css +261 -0
  307. package/styles/rds.css +6 -0
  308. package/styles/themes/rojao.css +46 -53
  309. package/dist/components/blocker-card.d.ts +0 -42
  310. package/dist/components/blocker-card.js +0 -54
  311. package/dist/components/bottom-sheet.d.ts +0 -31
  312. package/dist/components/bottom-sheet.js +0 -127
  313. package/dist/components/chat-bubble.d.ts +0 -16
  314. package/dist/components/chat-bubble.js +0 -56
  315. package/dist/components/chips.d.ts +0 -22
  316. package/dist/components/chips.js +0 -101
  317. package/dist/components/copilot-hint.d.ts +0 -18
  318. package/dist/components/copilot-hint.js +0 -72
  319. package/dist/components/divider.d.ts +0 -20
  320. package/dist/components/divider.js +0 -50
  321. package/dist/components/empty-state.d.ts +0 -48
  322. package/dist/components/empty-state.js +0 -94
  323. package/dist/components/form-card-header.d.ts +0 -13
  324. package/dist/components/form-card-header.js +0 -16
  325. package/dist/components/label.d.ts +0 -16
  326. package/dist/components/label.js +0 -48
  327. package/dist/components/menu.d.ts +0 -50
  328. package/dist/components/menu.js +0 -83
  329. package/dist/components/modal.d.ts +0 -25
  330. package/dist/components/modal.js +0 -86
  331. package/dist/components/notice.d.ts +0 -50
  332. package/dist/components/notice.js +0 -121
  333. package/dist/components/page-tabs.d.ts +0 -35
  334. package/dist/components/page-tabs.js +0 -68
  335. package/dist/components/paywall-banner.d.ts +0 -37
  336. package/dist/components/paywall-banner.js +0 -58
  337. package/dist/components/paywall.d.ts +0 -44
  338. package/dist/components/paywall.js +0 -65
  339. package/dist/components/phone-frame.d.ts +0 -9
  340. package/dist/components/phone-frame.js +0 -19
  341. package/dist/components/pix-icon.d.ts +0 -8
  342. package/dist/components/search.d.ts +0 -30
  343. package/dist/components/search.js +0 -86
  344. package/dist/components/themed.d.ts +0 -36
  345. package/dist/components/themed.js +0 -23
  346. package/dist/components/toaster.d.ts +0 -84
  347. package/dist/components/toaster.js +0 -290
  348. package/dist/components/use-dismiss.d.ts +0 -9
  349. package/dist/components/use-dismiss.js +0 -28
  350. package/dist/components/use-focus-trap.d.ts +0 -5
  351. package/dist/components/use-focus-trap.js +0 -54
  352. package/dist/targets/native/components/paywall-banner.d.ts +0 -11
  353. package/dist/targets/native/components/paywall-banner.js +0 -55
  354. package/dist/targets/native/components/paywall.d.ts +0 -18
  355. package/dist/targets/native/components/paywall.js +0 -71
  356. /package/dist/{components/pix-icon.js → icons/pix.js} +0 -0
@@ -1,34 +1,59 @@
1
1
  import "../chunk-ORMEWXMH.js";
2
2
  import { Alert } from "./alert.js";
3
+ import { AlertDialog } from "./alert-dialog.js";
4
+ import { HoverCard } from "./hover-card.js";
5
+ import { Dialog, DialogClose } from "./dialog.js";
6
+ import { Sheet, SheetClose } from "./sheet.js";
7
+ import { Drawer, DrawerClose } from "./drawer.js";
8
+ import {
9
+ DropdownMenu,
10
+ DropdownMenuItem,
11
+ DropdownMenuRadioGroup,
12
+ DropdownMenuRadioItem,
13
+ DropdownMenuSeparator
14
+ } from "./dropdown-menu.js";
15
+ import { ContextMenu, ContextMenuItem, ContextMenuSeparator } from "./context-menu.js";
16
+ import { Command, CommandGroup, CommandItem } from "./command.js";
3
17
  import { FilterChip, FilterChipGroup } from "./filter-chip.js";
4
18
  import { DataTableHeader, FilterDropdown } from "./data-table-header.js";
5
- import { Button, buttonVariants } from "./button.js";
6
- import { Badge } from "./badge.js";
7
- import { Card, CardHeader, CardTitle, CardBody, CardFooter } from "./card.js";
19
+ import { Button } from "./button.js";
20
+ import { Badge, formatBadgeValue } from "./badge.js";
21
+ import { Status } from "./status.js";
22
+ import { Delta } from "./delta.js";
23
+ import { Progress } from "./progress.js";
24
+ import { StarRating } from "./star-rating.js";
25
+ import { Card, CardHeader, CardContent, CardFooter } from "./card.js";
26
+ import { Tile } from "./tile.js";
27
+ import { Kbd, KbdGroup } from "./kbd.js";
28
+ import { Sparkline } from "./sparkline.js";
29
+ import { Chart } from "./chart.js";
30
+ import { Carousel, CarouselPlaceholder } from "./carousel.js";
31
+ import { Item, ItemGroup } from "./item.js";
32
+ import { Pricing, PricingPlan } from "./pricing.js";
8
33
  import { PricingCard } from "./pricing-card.js";
9
34
  import { Checkbox } from "./checkbox.js";
10
- import { Drawer } from "./drawer.js";
35
+ import { CheckboxGroup } from "./checkbox-group.js";
11
36
  import { Input } from "./input.js";
12
- import { Modal } from "./modal.js";
37
+ import { PasswordInput } from "./password-input.js";
13
38
  import { Radio } from "./radio.js";
14
- import { Select } from "./select.js";
39
+ import { RadioGroup } from "./radio-group.js";
40
+ import { Select, SelectItem } from "./select.js";
15
41
  import { Spinner } from "./spinner.js";
16
42
  import { Skeleton } from "./skeleton.js";
17
43
  import { StepProgress } from "./step-progress.js";
18
- import { EmptyState } from "./empty-state.js";
44
+ import { Empty } from "./empty.js";
19
45
  import { InsightCard } from "./insight-card.js";
20
46
  import { SectionCard } from "./section-card.js";
21
47
  import { SectionHeader } from "./section-header.js";
22
48
  import { FloatingStepper } from "./floating-stepper.js";
49
+ import { Stat } from "./stat.js";
23
50
  import { SummaryBar } from "./summary-bar.js";
24
51
  import { ToggleCard } from "./toggle-card.js";
25
- import { PixIcon } from "./pix-icon.js";
26
52
  import { ToggleCardCompact } from "./toggle-card-compact.js";
27
53
  import { ChipInput } from "./chip-input.js";
28
- import { FormCardHeader } from "./form-card-header.js";
29
54
  import { CopyField } from "./copy-field.js";
30
55
  import { QRDisplay } from "./qr-display.js";
31
- import { ChoiceCard } from "./choice-card.js";
56
+ import { ChoiceCard, ChoiceCardGroup } from "./choice-card.js";
32
57
  import { OptionTile, OptionTileGrid } from "./option-tile.js";
33
58
  import { SelectableCard } from "./selectable-card.js";
34
59
  import { ChoicePreviewCard } from "./choice-preview-card.js";
@@ -36,165 +61,262 @@ import { SettingRow } from "./setting-row.js";
36
61
  import { SettingsList } from "./settings-list.js";
37
62
  import { Dropzone } from "./dropzone.js";
38
63
  import { MediaTile } from "./media-tile.js";
39
- import { ChatBubble } from "./chat-bubble.js";
64
+ import { Attachment } from "./attachment.js";
65
+ import { Bubble } from "./bubble.js";
66
+ import { Marker } from "./marker.js";
67
+ import { Message } from "./message.js";
68
+ import { MessageScroller } from "./message-scroller.js";
69
+ import { Questionnaire } from "./questionnaire.js";
40
70
  import { TypingIndicator } from "./typing-indicator.js";
41
71
  import { ChoiceCarousel } from "./choice-carousel.js";
42
- import { PageTabs } from "./page-tabs.js";
72
+ import { Tabs, TabsList, TabsTrigger, TabsContent } from "./tabs.js";
73
+ import { PageHeader } from "./page-header.js";
74
+ import { Sidebar, SidebarItem, SidebarSection, SidebarSeparator } from "./sidebar.js";
75
+ import { NavigationMenu } from "./navigation-menu.js";
43
76
  import { SavingBar } from "./saving-bar.js";
44
77
  import { SavingBarProvider, SavingBarRoot, usePageSavingBar } from "./saving-bar-context.js";
45
- import { FABProvider, FABRoot, useFAB, usePageFAB } from "./fab.js";
46
- import { Table, TableHead, TableBody, TableRow, Th, Td } from "./table.js";
78
+ import { FAB, FABProvider, FABRoot, useFAB, usePageFAB } from "./fab.js";
79
+ import { Table, TableHeader, TableBody, TableRow, TableHead, TableCell, TableStatus } from "./table.js";
47
80
  import { Textarea } from "./textarea.js";
48
81
  import { Toggle } from "./toggle.js";
82
+ import { Switch } from "./switch.js";
49
83
  import { Tooltip } from "./tooltip.js";
50
- import { Toaster, ToastVisual, toast } from "./toaster.js";
51
- import { Divider } from "./divider.js";
52
- import { Avatar, AvatarGroup } from "./avatar.js";
84
+ import { Toaster, ToastView, toast, useToast, toastClassName } from "./toast.js";
85
+ import { Separator } from "./separator.js";
86
+ import { Avatar, AvatarGroup, initials } from "./avatar.js";
53
87
  import { IconButton } from "./icon-button.js";
54
- import { Breadcrumb, homeItem } from "./breadcrumb.js";
55
- import { Pagination } from "./pagination.js";
56
- import { Label } from "./label.js";
57
- import { Popover } from "./popover.js";
58
- import { Menu, MenuItem, MenuSeparator, MenuLabel } from "./menu.js";
59
- import { Search } from "./search.js";
60
- import { ToggleGroup } from "./toggle-group.js";
88
+ import { ButtonGroup } from "./button-group.js";
89
+ import { ActionBar } from "./action-bar.js";
90
+ import { FormActions } from "./form-actions.js";
91
+ import { Breadcrumb } from "./breadcrumb.js";
92
+ import { Pagination, pageItems } from "./pagination.js";
93
+ import { Popover, PopoverClose } from "./popover.js";
94
+ import { ToggleGroup, ToggleGroupItem } from "./toggle-group.js";
61
95
  import { Accordion, AccordionItem } from "./accordion.js";
62
96
  import { Slider } from "./slider.js";
63
- import { BottomSheet } from "./bottom-sheet.js";
64
- import { ContextMenu } from "./context-menu.js";
97
+ import { Listbox, ListboxOption } from "./listbox.js";
98
+ import { Calendar } from "./calendar.js";
99
+ import { FileInput, formatFileSize } from "./file-input.js";
100
+ import { NumberInput } from "./number-input.js";
101
+ import { InputOTP } from "./input-otp.js";
65
102
  import { Combobox } from "./combobox.js";
66
103
  import { DatePicker } from "./date-picker.js";
67
- import { TimePicker } from "./time-picker.js";
68
- import { Chip } from "./chips.js";
69
- import { BlockerCard } from "./blocker-card.js";
70
- import { PaywallBanner } from "./paywall-banner.js";
71
- import { PaywallContent, PaywallState, PaywallModal } from "./paywall.js";
104
+ import { TimePicker, parseTime, formatTime } from "./time-picker.js";
105
+ import { Chip } from "./chip.js";
72
106
  import { PageSkeleton, CardsSkeleton } from "./page-skeleton.js";
73
107
  import { CurrencyInput } from "./currency-input.js";
74
- import { ColorInput } from "./color-input.js";
108
+ import { ColorInput, normalizeHex } from "./color-input.js";
75
109
  import { ImageUpload } from "./image-upload.js";
76
110
  import { ImageCropModal } from "./image-crop-modal.js";
77
111
  import { PhoneInput } from "./phone-input.js";
78
112
  import { RowActions } from "./row-actions.js";
79
113
  import { PageShell } from "./page-shell.js";
80
114
  import { DangerZone, DangerZoneItem } from "./danger-zone.js";
81
- import { Themed, themeClass } from "./themed.js";
82
- import { PhoneFrame } from "./phone-frame.js";
83
- import { CopilotHint } from "./copilot-hint.js";
84
- import { Notice } from "./notice.js";
115
+ import { Banner } from "./banner.js";
116
+ import { Benefits, BenefitsItem } from "./benefits.js";
117
+ import { Contact } from "./contact.js";
118
+ import { FAQ } from "./faq.js";
119
+ import { Footer, FooterColumn } from "./footer.js";
120
+ import { Newsletter } from "./newsletter.js";
121
+ import { Testimonial, TestimonialItem } from "./testimonial.js";
122
+ import { TopNavigation } from "./top-navigation.js";
123
+ import { Phone } from "./phone.js";
124
+ import { Browser } from "./browser.js";
125
+ import { GoogleButton } from "./google-button.js";
126
+ import { GoogleSignIn } from "./google-sign-in.js";
127
+ import { GoogleConsent } from "./google-consent.js";
128
+ import { GoogleAccountChooser } from "./google-account-chooser.js";
129
+ import { WhatsAppChat } from "./whatsapp-chat.js";
130
+ import { WhatsAppMessage } from "./whatsapp-message.js";
131
+ import { WhatsAppNotification } from "./whatsapp-notification.js";
132
+ import { WhatsAppTemplate, WhatsAppTemplateButton } from "./whatsapp-template.js";
85
133
  export {
86
134
  Accordion,
87
135
  AccordionItem,
136
+ ActionBar,
88
137
  Alert,
138
+ AlertDialog,
139
+ Attachment,
89
140
  Avatar,
90
141
  AvatarGroup,
91
142
  Badge,
92
- BlockerCard,
93
- BottomSheet,
143
+ Banner,
144
+ Benefits,
145
+ BenefitsItem,
94
146
  Breadcrumb,
147
+ Browser,
148
+ Bubble,
95
149
  Button,
150
+ ButtonGroup,
151
+ Calendar,
96
152
  Card,
97
- CardBody,
153
+ CardContent,
98
154
  CardFooter,
99
155
  CardHeader,
100
- CardTitle,
101
156
  CardsSkeleton,
102
- ChatBubble,
157
+ Carousel,
158
+ CarouselPlaceholder,
159
+ Chart,
103
160
  Checkbox,
161
+ CheckboxGroup,
104
162
  Chip,
105
163
  ChipInput,
106
164
  ChoiceCard,
165
+ ChoiceCardGroup,
107
166
  ChoiceCarousel,
108
167
  ChoicePreviewCard,
109
168
  ColorInput,
110
169
  Combobox,
170
+ Command,
171
+ CommandGroup,
172
+ CommandItem,
173
+ Contact,
111
174
  ContextMenu,
112
- CopilotHint,
175
+ ContextMenuItem,
176
+ ContextMenuSeparator,
113
177
  CopyField,
114
178
  CurrencyInput,
115
179
  DangerZone,
116
180
  DangerZoneItem,
117
181
  DataTableHeader,
118
182
  DatePicker,
119
- Divider,
183
+ Delta,
184
+ Dialog,
185
+ DialogClose,
120
186
  Drawer,
187
+ DrawerClose,
188
+ DropdownMenu,
189
+ DropdownMenuItem,
190
+ DropdownMenuRadioGroup,
191
+ DropdownMenuRadioItem,
192
+ DropdownMenuSeparator,
121
193
  Dropzone,
122
- EmptyState,
194
+ Empty,
195
+ FAB,
123
196
  FABProvider,
124
197
  FABRoot,
198
+ FAQ,
199
+ FileInput,
125
200
  FilterChip,
126
201
  FilterChipGroup,
127
202
  FilterDropdown,
128
203
  FloatingStepper,
129
- FormCardHeader,
204
+ Footer,
205
+ FooterColumn,
206
+ FormActions,
207
+ GoogleAccountChooser,
208
+ GoogleButton,
209
+ GoogleConsent,
210
+ GoogleSignIn,
211
+ HoverCard,
130
212
  IconButton,
131
213
  ImageCropModal,
132
214
  ImageUpload,
133
215
  Input,
216
+ InputOTP,
134
217
  InsightCard,
135
- Label,
218
+ Item,
219
+ ItemGroup,
220
+ Kbd,
221
+ KbdGroup,
222
+ Listbox,
223
+ ListboxOption,
224
+ Marker,
136
225
  MediaTile,
137
- Menu,
138
- MenuItem,
139
- MenuLabel,
140
- MenuSeparator,
141
- Modal,
142
- Notice,
226
+ Message,
227
+ MessageScroller,
228
+ NavigationMenu,
229
+ Newsletter,
230
+ NumberInput,
143
231
  OptionTile,
144
232
  OptionTileGrid,
233
+ PageHeader,
145
234
  PageShell,
146
235
  PageSkeleton,
147
- PageTabs,
148
236
  Pagination,
149
- PaywallBanner,
150
- PaywallContent,
151
- PaywallModal,
152
- PaywallState,
153
- PhoneFrame,
237
+ PasswordInput,
238
+ Phone,
154
239
  PhoneInput,
155
- PixIcon,
156
240
  Popover,
241
+ PopoverClose,
242
+ Pricing,
157
243
  PricingCard,
244
+ PricingPlan,
245
+ Progress,
158
246
  QRDisplay,
247
+ Questionnaire,
159
248
  Radio,
249
+ RadioGroup,
160
250
  RowActions,
161
251
  SavingBar,
162
252
  SavingBarProvider,
163
253
  SavingBarRoot,
164
- Search,
165
254
  SectionCard,
166
255
  SectionHeader,
167
256
  Select,
257
+ SelectItem,
168
258
  SelectableCard,
259
+ Separator,
169
260
  SettingRow,
170
261
  SettingsList,
262
+ Sheet,
263
+ SheetClose,
264
+ Sidebar,
265
+ SidebarItem,
266
+ SidebarSection,
267
+ SidebarSeparator,
171
268
  Skeleton,
172
269
  Slider,
270
+ Sparkline,
173
271
  Spinner,
272
+ StarRating,
273
+ Stat,
274
+ Status,
174
275
  StepProgress,
175
276
  SummaryBar,
277
+ Switch,
176
278
  Table,
177
279
  TableBody,
280
+ TableCell,
178
281
  TableHead,
282
+ TableHeader,
179
283
  TableRow,
180
- Td,
284
+ TableStatus,
285
+ Tabs,
286
+ TabsContent,
287
+ TabsList,
288
+ TabsTrigger,
289
+ Testimonial,
290
+ TestimonialItem,
181
291
  Textarea,
182
- Th,
183
- Themed,
292
+ Tile,
184
293
  TimePicker,
185
- ToastVisual,
294
+ ToastView,
186
295
  Toaster,
187
296
  Toggle,
188
297
  ToggleCard,
189
298
  ToggleCardCompact,
190
299
  ToggleGroup,
300
+ ToggleGroupItem,
191
301
  Tooltip,
302
+ TopNavigation,
192
303
  TypingIndicator,
193
- buttonVariants,
194
- homeItem,
195
- themeClass,
304
+ WhatsAppChat,
305
+ WhatsAppMessage,
306
+ WhatsAppNotification,
307
+ WhatsAppTemplate,
308
+ WhatsAppTemplateButton,
309
+ formatBadgeValue,
310
+ formatFileSize,
311
+ formatTime,
312
+ initials,
313
+ normalizeHex,
314
+ pageItems,
315
+ parseTime,
196
316
  toast,
317
+ toastClassName,
197
318
  useFAB,
198
319
  usePageFAB,
199
- usePageSavingBar
320
+ usePageSavingBar,
321
+ useToast
200
322
  };
@@ -0,0 +1,35 @@
1
+ import * as react from 'react';
2
+ import { ComponentPropsWithRef, ReactNode } from 'react';
3
+
4
+ type InputOTPLength = 4 | 6;
5
+ interface InputOTPProps extends Omit<ComponentPropsWithRef<'input'>, 'type' | 'maxLength' | 'pattern' | 'value' | 'defaultValue' | 'children' | 'size'> {
6
+ /** The field's name, such as "Código de verificação" (Figma: `showLabel` + `label`). Without it, pass aria-label. */
7
+ label?: ReactNode;
8
+ /** 4 or 6 digits (Figma: `length`). */
9
+ length?: InputOTPLength;
10
+ /** A dash in the middle of the 6-digit code (Figma: `showSeparator`). On by default; a 4-digit code has none. */
11
+ showSeparator?: boolean;
12
+ /** Where the code went, without the full address: a masked e-mail or phone (Figma: `showHint` + `hint`). */
13
+ hint?: ReactNode;
14
+ /** The code was refused (Figma: `error`): the boxes turn red. The digits stay, so the person can fix one. */
15
+ error?: boolean;
16
+ /** What went wrong and what to do. Replaces the hint and turns the error state on. */
17
+ errorMessage?: ReactNode;
18
+ /** Controlled: the digits typed so far. */
19
+ value?: string;
20
+ /** Uncontrolled: the digits at first. */
21
+ defaultValue?: string;
22
+ /** Called with the digits on every change (letters are dropped). */
23
+ onValueChange?: (value: string) => void;
24
+ /** Called once all the digits are in. */
25
+ onComplete?: (value: string) => void;
26
+ }
27
+ /**
28
+ * InputOTP — Figma [RDS] Forms/InputOTP. The verification code: one box per digit. One real
29
+ * <input autocomplete="one-time-code" inputmode="numeric"> lies over the boxes, so pasting the whole code and the
30
+ * SMS autofill just work, each digit moves on by itself, and Backspace takes the last one back. Disabled is the
31
+ * native one. Styles: input-otp.css.
32
+ */
33
+ declare function InputOTP({ label, length, showSeparator, hint, error, errorMessage, value, defaultValue, onValueChange, onComplete, id, disabled, className, style, onChange, onFocus, onBlur, onSelect, ...input }: InputOTPProps): react.JSX.Element;
34
+
35
+ export { InputOTP, type InputOTPLength, type InputOTPProps };
@@ -0,0 +1,119 @@
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 { useState } from "react";
9
+ import { hasContent, useFieldIds, warnIfUnlabelled } from "./internal/field.js";
10
+ function InputOTP(_a) {
11
+ var _b = _a, {
12
+ label,
13
+ length = 6,
14
+ showSeparator = true,
15
+ hint,
16
+ error,
17
+ errorMessage,
18
+ value,
19
+ defaultValue = "",
20
+ onValueChange,
21
+ onComplete,
22
+ id,
23
+ disabled,
24
+ className,
25
+ style,
26
+ onChange,
27
+ onFocus,
28
+ onBlur,
29
+ onSelect
30
+ } = _b, input = __objRest(_b, [
31
+ "label",
32
+ "length",
33
+ "showSeparator",
34
+ "hint",
35
+ "error",
36
+ "errorMessage",
37
+ "value",
38
+ "defaultValue",
39
+ "onValueChange",
40
+ "onComplete",
41
+ "id",
42
+ "disabled",
43
+ "className",
44
+ "style",
45
+ "onChange",
46
+ "onFocus",
47
+ "onBlur",
48
+ "onSelect"
49
+ ]);
50
+ warnIfUnlabelled("InputOTP", label, input["aria-label"], input["aria-labelledby"]);
51
+ const { controlId, hintId, errorId, invalid, describedBy } = useFieldIds(id, hint, error, errorMessage);
52
+ const [own, setOwn] = useState(defaultValue.replace(/\D/g, ""));
53
+ const [focused, setFocused] = useState(false);
54
+ const code = (value != null ? value : own).slice(0, length);
55
+ const split = showSeparator && length === 6 ? 3 : -1;
56
+ const active = focused ? Math.min(code.length, length - 1) : -1;
57
+ function change(event) {
58
+ const digits = event.target.value.replace(/\D/g, "").slice(0, length);
59
+ setOwn(digits);
60
+ onChange == null ? void 0 : onChange(event);
61
+ onValueChange == null ? void 0 : onValueChange(digits);
62
+ if (digits.length === length && digits !== code) onComplete == null ? void 0 : onComplete(digits);
63
+ }
64
+ return /* @__PURE__ */ jsxs(
65
+ "div",
66
+ {
67
+ className: ["rds-otp", invalid && "rds-otp--error", disabled && "rds-otp--disabled", className].filter(Boolean).join(" "),
68
+ style,
69
+ children: [
70
+ hasContent(label) && /* @__PURE__ */ jsx("label", { htmlFor: controlId, className: "rds-otp__label", children: label }),
71
+ /* @__PURE__ */ jsxs("div", { className: "rds-otp__slots", children: [
72
+ /* @__PURE__ */ jsx(
73
+ "input",
74
+ __spreadProps(__spreadValues({}, input), {
75
+ id: controlId,
76
+ className: "rds-otp__input",
77
+ type: "text",
78
+ inputMode: "numeric",
79
+ autoComplete: "one-time-code",
80
+ pattern: `\\d{${length}}`,
81
+ disabled,
82
+ "aria-invalid": invalid || void 0,
83
+ "aria-describedby": [describedBy, input["aria-describedby"]].filter(Boolean).join(" ") || void 0,
84
+ value: code,
85
+ onChange: change,
86
+ onFocus: (event) => {
87
+ setFocused(true);
88
+ onFocus == null ? void 0 : onFocus(event);
89
+ },
90
+ onBlur: (event) => {
91
+ setFocused(false);
92
+ onBlur == null ? void 0 : onBlur(event);
93
+ },
94
+ onSelect: (event) => {
95
+ const target = event.currentTarget;
96
+ if (target.selectionStart !== target.value.length) target.setSelectionRange(target.value.length, target.value.length);
97
+ onSelect == null ? void 0 : onSelect(event);
98
+ }
99
+ })
100
+ ),
101
+ Array.from({ length }, (_, i) => {
102
+ var _a2;
103
+ return /* @__PURE__ */ jsxs("span", { className: "rds-otp__group", "aria-hidden": "true", children: [
104
+ i === split && /* @__PURE__ */ jsx("span", { className: "rds-otp__separator", children: "\u2013" }),
105
+ /* @__PURE__ */ jsxs("span", { className: ["rds-otp__slot", i === active && "rds-otp__slot--active"].filter(Boolean).join(" "), children: [
106
+ (_a2 = code[i]) != null ? _a2 : "",
107
+ i === active && !code[i] && /* @__PURE__ */ jsx("span", { className: "rds-otp__caret" })
108
+ ] })
109
+ ] }, i);
110
+ })
111
+ ] }),
112
+ errorId ? /* @__PURE__ */ jsx("span", { id: errorId, className: "rds-otp__support rds-otp__error-message", children: errorMessage }) : hintId && /* @__PURE__ */ jsx("span", { id: hintId, className: "rds-otp__support rds-otp__hint", children: hint })
113
+ ]
114
+ }
115
+ );
116
+ }
117
+ export {
118
+ InputOTP
119
+ };
@@ -1,25 +1,31 @@
1
1
  import * as react from 'react';
2
- import { InputHTMLAttributes, ReactNode } from 'react';
2
+ import { ComponentPropsWithRef, ReactNode } from 'react';
3
+ import { FieldTextProps } from './internal/field.js';
4
+ export { FieldLabelPosition } from './internal/field.js';
3
5
 
4
- type InputSize = 'sm' | 'md' | 'lg';
5
- interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'prefix'> {
6
- label?: string;
7
- helper?: string;
8
- error?: string;
9
- size?: InputSize;
10
- required?: boolean;
11
- optional?: boolean;
12
- iconLeft?: ReactNode;
13
- iconRight?: ReactNode;
6
+ interface InputProps extends FieldTextProps, Omit<ComponentPropsWithRef<'input'>, 'prefix' | 'children' | 'size'> {
7
+ /** An icon on the left, such as a magnifier on a search (Figma: `showLeadingIcon` + `leadingIcon`). Decorative. */
8
+ leadingIcon?: ReactNode;
9
+ /** Text before the value, such as R$ (Figma: `showPrefix` + `prefix`). Not read with the value: if it matters, say it in the label. */
14
10
  prefix?: ReactNode;
11
+ /** Text after the value, such as kg (Figma: `showSuffix` + `suffix`). */
15
12
  suffix?: ReactNode;
13
+ /** A decorative icon on the right (Figma: `showTrailingIcon` + `trailingIcon`). Hidden while the clear button shows. */
14
+ trailingIcon?: ReactNode;
15
+ /** A clear button on the right while there is a value (Figma: `showClear`). Focus goes back to the field. */
16
16
  clearable?: boolean;
17
+ /** Called after the clear button empties the field (onChange fires too, with an empty value). */
17
18
  onClear?: () => void;
18
- /** Em type="password", mostra botão de revelar. default = true. */
19
- passwordReveal?: boolean;
20
- /** Conta caracteres (mostra "X/Y" se maxLength definido). */
21
- showCount?: boolean;
19
+ /** The clear button's accessible name. */
20
+ clearLabel?: string;
22
21
  }
23
- declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
22
+ /**
23
+ * Input — Figma [RDS] Forms/Input. A one-line text field with its own label, hint and error.
24
+ * email, tel, url, number and search are this Input with the right `type` and `autoComplete`; a search
25
+ * is a leading magnifier plus `clearable`, a currency a `prefix`. The value is the native one
26
+ * (Figma: `text`): `value` + `onChange`, or `defaultValue`. Disabled is the native one. Styles: input.css
27
+ * and internal/field.css.
28
+ */
29
+ declare function Input({ label, labelPosition, hint, error, errorMessage, required, leadingIcon, prefix, suffix, trailingIcon, clearable, onClear, clearLabel, id, disabled, className, style, onChange, ref, ...input }: InputProps): react.JSX.Element;
24
30
 
25
- export { Input, type InputProps, type InputSize };
31
+ export { Input, type InputProps };