@cloudflare/kumo 1.7.0 → 1.9.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 (174) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/ai/component-registry.json +146 -70
  3. package/ai/component-registry.md +178 -46
  4. package/ai/schemas.ts +11 -8
  5. package/dist/.build-complete +1 -1
  6. package/dist/ai/schemas.d.ts +54 -44
  7. package/dist/ai/schemas.d.ts.map +1 -1
  8. package/dist/banner-BKDBfLHA.js +75 -0
  9. package/dist/banner-BKDBfLHA.js.map +1 -0
  10. package/dist/catalog.js +1 -1
  11. package/dist/{checkbox-Dt8iSNOg.js → checkbox-CfFoTNFI.js} +60 -60
  12. package/dist/checkbox-CfFoTNFI.js.map +1 -0
  13. package/dist/{clipboard-text-CeoyR28P.js → clipboard-text-1d0rHIhb.js} +24 -24
  14. package/dist/{clipboard-text-CeoyR28P.js.map → clipboard-text-1d0rHIhb.js.map} +1 -1
  15. package/dist/{combobox-BIC-YZ2L.js → combobox-vnvi22pn.js} +83 -61
  16. package/dist/combobox-vnvi22pn.js.map +1 -0
  17. package/dist/{command-palette-D3MNR7w9.js → command-palette-B80cqB7K.js} +2 -2
  18. package/dist/{command-palette-D3MNR7w9.js.map → command-palette-B80cqB7K.js.map} +1 -1
  19. package/dist/components/banner.js +1 -1
  20. package/dist/components/checkbox.js +1 -1
  21. package/dist/components/clipboard-text.js +1 -1
  22. package/dist/components/combobox.js +1 -1
  23. package/dist/components/command-palette.js +1 -1
  24. package/dist/components/dialog.js +1 -1
  25. package/dist/components/dropdown.js +1 -1
  26. package/dist/components/field.js +1 -1
  27. package/dist/components/flow.js +1472 -1412
  28. package/dist/components/flow.js.map +1 -1
  29. package/dist/components/input.js +3 -3
  30. package/dist/components/label.js +1 -1
  31. package/dist/components/link.js +1 -1
  32. package/dist/components/menubar.js +1 -1
  33. package/dist/components/meter.js +1 -1
  34. package/dist/components/pagination.js +1 -1
  35. package/dist/components/popover.js +1 -1
  36. package/dist/components/radio.js +1 -1
  37. package/dist/components/select.js +1 -1
  38. package/dist/components/sensitive-input.js +1 -1
  39. package/dist/components/switch.js +1 -1
  40. package/dist/components/table.js +1 -1
  41. package/dist/components/tabs.js +1 -1
  42. package/dist/components/toast.js +2 -2
  43. package/dist/components/tooltip.js +1 -1
  44. package/dist/{dialog-toS9krNF.js → dialog-C4BIM-74.js} +6 -6
  45. package/dist/{dialog-toS9krNF.js.map → dialog-C4BIM-74.js.map} +1 -1
  46. package/dist/dropdown-CfS4QcSR.js +295 -0
  47. package/dist/dropdown-CfS4QcSR.js.map +1 -0
  48. package/dist/{field-DCq04TgZ.js → field-B8xISAuX.js} +5 -5
  49. package/dist/{field-DCq04TgZ.js.map → field-B8xISAuX.js.map} +1 -1
  50. package/dist/index.js +29 -29
  51. package/dist/{input-CCR8NGG7.js → input-DCzpefuq.js} +3 -3
  52. package/dist/{input-CCR8NGG7.js.map → input-DCzpefuq.js.map} +1 -1
  53. package/dist/{input-area-DU2Yvp_t.js → input-area-DCaAN9nG.js} +3 -3
  54. package/dist/{input-area-DU2Yvp_t.js.map → input-area-DCaAN9nG.js.map} +1 -1
  55. package/dist/{input-group-C365-qBq.js → input-group-BbaVpJnA.js} +2 -2
  56. package/dist/{input-group-C365-qBq.js.map → input-group-BbaVpJnA.js.map} +1 -1
  57. package/dist/{label-zjtV7oXa.js → label-Cd6nCDWj.js} +2 -2
  58. package/dist/{label-zjtV7oXa.js.map → label-Cd6nCDWj.js.map} +1 -1
  59. package/dist/{link-C8pUZ4Q-.js → link-DJq9RWpK.js} +11 -11
  60. package/dist/{link-C8pUZ4Q-.js.map → link-DJq9RWpK.js.map} +1 -1
  61. package/dist/{menubar-D7WvAf6x.js → menubar-Chchzst0.js} +2 -2
  62. package/dist/{menubar-D7WvAf6x.js.map → menubar-Chchzst0.js.map} +1 -1
  63. package/dist/{meter-jQGKS1z4.js → meter-Wk7_EhaO.js} +4 -4
  64. package/dist/{meter-jQGKS1z4.js.map → meter-Wk7_EhaO.js.map} +1 -1
  65. package/dist/pagination-DFHoZwPJ.js +208 -0
  66. package/dist/pagination-DFHoZwPJ.js.map +1 -0
  67. package/dist/{popover-syU1104E.js → popover-D20xpmdk.js} +22 -20
  68. package/dist/{popover-syU1104E.js.map → popover-D20xpmdk.js.map} +1 -1
  69. package/dist/primitives/accordion.js +1 -1
  70. package/dist/primitives/alert-dialog.js +1 -1
  71. package/dist/primitives/autocomplete.js +1 -1
  72. package/dist/primitives/avatar.js +1 -1
  73. package/dist/primitives/button.js +1 -1
  74. package/dist/primitives/checkbox-group.js +1 -1
  75. package/dist/primitives/checkbox.js +1 -1
  76. package/dist/primitives/collapsible.js +1 -1
  77. package/dist/primitives/combobox.js +1 -1
  78. package/dist/primitives/context-menu.js +1 -1
  79. package/dist/primitives/csp-provider.js +6 -0
  80. package/dist/primitives/csp-provider.js.map +1 -0
  81. package/dist/primitives/dialog.js +1 -1
  82. package/dist/primitives/direction-provider.js +1 -1
  83. package/dist/primitives/drawer.js +6 -0
  84. package/dist/primitives/drawer.js.map +1 -0
  85. package/dist/primitives/field.js +1 -1
  86. package/dist/primitives/fieldset.js +2 -2
  87. package/dist/primitives/form.js +1 -1
  88. package/dist/primitives/input.js +1 -1
  89. package/dist/primitives/menu.js +1 -1
  90. package/dist/primitives/menubar.js +1 -1
  91. package/dist/primitives/meter.js +1 -1
  92. package/dist/primitives/navigation-menu.js +2 -2
  93. package/dist/primitives/number-field.js +1 -1
  94. package/dist/primitives/popover.js +1 -1
  95. package/dist/primitives/preview-card.js +2 -2
  96. package/dist/primitives/progress.js +2 -2
  97. package/dist/primitives/radio-group.js +1 -1
  98. package/dist/primitives/radio.js +2 -2
  99. package/dist/primitives/scroll-area.js +1 -1
  100. package/dist/primitives/select.js +1 -1
  101. package/dist/primitives/separator.js +1 -1
  102. package/dist/primitives/slider.js +1 -1
  103. package/dist/primitives/switch.js +1 -1
  104. package/dist/primitives/tabs.js +1 -1
  105. package/dist/primitives/toast.js +1 -1
  106. package/dist/primitives/toggle-group.js +1 -1
  107. package/dist/primitives/toggle.js +1 -1
  108. package/dist/primitives/toolbar.js +1 -1
  109. package/dist/primitives/tooltip.js +1 -1
  110. package/dist/primitives.js +31 -29
  111. package/dist/{radio-CWMtSx65.js → radio-ibVa4Y8a.js} +18 -18
  112. package/dist/{radio-CWMtSx65.js.map → radio-ibVa4Y8a.js.map} +1 -1
  113. package/dist/{schemas-DbIwo0ET.js → schemas-CdpAeJKO.js} +278 -275
  114. package/dist/{schemas-DbIwo0ET.js.map → schemas-CdpAeJKO.js.map} +1 -1
  115. package/dist/{select-G6JqBVkg.js → select-DtcT1zGm.js} +21 -21
  116. package/dist/{select-G6JqBVkg.js.map → select-DtcT1zGm.js.map} +1 -1
  117. package/dist/{sensitive-input-DNFpycoy.js → sensitive-input-DHDRZRC7.js} +4 -4
  118. package/dist/{sensitive-input-DNFpycoy.js.map → sensitive-input-DHDRZRC7.js.map} +1 -1
  119. package/dist/src/components/banner/banner.d.ts +28 -11
  120. package/dist/src/components/banner/banner.d.ts.map +1 -1
  121. package/dist/src/components/checkbox/checkbox.d.ts.map +1 -1
  122. package/dist/src/components/combobox/combobox.d.ts +4 -1
  123. package/dist/src/components/combobox/combobox.d.ts.map +1 -1
  124. package/dist/src/components/dropdown/dropdown.d.ts +26 -16
  125. package/dist/src/components/dropdown/dropdown.d.ts.map +1 -1
  126. package/dist/src/components/flow/connectors.d.ts +3 -1
  127. package/dist/src/components/flow/connectors.d.ts.map +1 -1
  128. package/dist/src/components/flow/diagram.d.ts +1 -0
  129. package/dist/src/components/flow/diagram.d.ts.map +1 -1
  130. package/dist/src/components/flow/node.d.ts +5 -1
  131. package/dist/src/components/flow/node.d.ts.map +1 -1
  132. package/dist/src/components/flow/parallel.d.ts +10 -2
  133. package/dist/src/components/flow/parallel.d.ts.map +1 -1
  134. package/dist/src/components/pagination/pagination.d.ts +134 -13
  135. package/dist/src/components/pagination/pagination.d.ts.map +1 -1
  136. package/dist/src/components/popover/popover.d.ts +7 -1
  137. package/dist/src/components/popover/popover.d.ts.map +1 -1
  138. package/dist/src/components/toast/toast.d.ts +4 -4
  139. package/dist/src/components/toast/toast.d.ts.map +1 -1
  140. package/dist/src/components/tooltip/tooltip.d.ts +1 -1
  141. package/dist/src/components/tooltip/tooltip.d.ts.map +1 -1
  142. package/dist/src/primitives/csp-provider.d.ts +13 -0
  143. package/dist/src/primitives/csp-provider.d.ts.map +1 -0
  144. package/dist/src/primitives/drawer.d.ts +13 -0
  145. package/dist/src/primitives/drawer.d.ts.map +1 -0
  146. package/dist/src/primitives/index.d.ts +2 -0
  147. package/dist/src/primitives/index.d.ts.map +1 -1
  148. package/dist/styles/kumo-standalone.css +1 -1
  149. package/dist/{switch-CmsZ4z-g.js → switch-DrbaX2iC.js} +15 -15
  150. package/dist/{switch-CmsZ4z-g.js.map → switch-DrbaX2iC.js.map} +1 -1
  151. package/dist/{table-Dc0AGcLV.js → table-CH9KC36S.js} +2 -2
  152. package/dist/{table-Dc0AGcLV.js.map → table-CH9KC36S.js.map} +1 -1
  153. package/dist/{tabs-BpD1iUiz.js → tabs-B-Fxc6Zo.js} +2 -2
  154. package/dist/{tabs-BpD1iUiz.js.map → tabs-B-Fxc6Zo.js.map} +1 -1
  155. package/dist/{toast-BrR0pjLE.js → toast-DUYp3EtH.js} +6 -6
  156. package/dist/{toast-BrR0pjLE.js.map → toast-DUYp3EtH.js.map} +1 -1
  157. package/dist/{tooltip-daVJYtXY.js → tooltip-D-KwZQDV.js} +2 -2
  158. package/dist/{tooltip-daVJYtXY.js.map → tooltip-D-KwZQDV.js.map} +1 -1
  159. package/dist/vendor-base-ui-Bsg5ebHI.js +22806 -0
  160. package/dist/vendor-base-ui-Bsg5ebHI.js.map +1 -0
  161. package/dist/{vendor-utils-DD8jNJwD.js → vendor-utils-DKXfkDYu.js} +100 -101
  162. package/dist/vendor-utils-DKXfkDYu.js.map +1 -0
  163. package/package.json +10 -2
  164. package/dist/banner-4fkH6Sbt.js +0 -51
  165. package/dist/banner-4fkH6Sbt.js.map +0 -1
  166. package/dist/checkbox-Dt8iSNOg.js.map +0 -1
  167. package/dist/combobox-BIC-YZ2L.js.map +0 -1
  168. package/dist/dropdown-BquiYKKC.js +0 -263
  169. package/dist/dropdown-BquiYKKC.js.map +0 -1
  170. package/dist/pagination-BN80iKY6.js +0 -100
  171. package/dist/pagination-BN80iKY6.js.map +0 -1
  172. package/dist/vendor-base-ui-9w7J6BvW.js +0 -20448
  173. package/dist/vendor-base-ui-9w7J6BvW.js.map +0 -1
  174. package/dist/vendor-utils-DD8jNJwD.js.map +0 -1
@@ -59,7 +59,7 @@ Small status label for categorizing or highlighting content.
59
59
 
60
60
  ### Banner
61
61
 
62
- Full-width message bar for informational, warning, or error notices.
62
+ Full-width message bar for informational, warning, or error notices. Supports structured title/description for i18n, or simple children for basic usage.
63
63
 
64
64
  **Type:** component
65
65
 
@@ -70,10 +70,13 @@ Full-width message bar for informational, warning, or error notices.
70
70
  **Props:**
71
71
 
72
72
  - `icon`: ReactNode
73
- Icon element rendered before the banner text (e.g. from `@phosphor-icons/react`).
73
+ Icon element rendered before the banner content (e.g. from `@phosphor-icons/react`).
74
+ - `title`: string
75
+ Primary heading text for the banner. Use for i18n string injection.
76
+ - `description`: ReactNode
77
+ Secondary description text displayed below the title. Use for i18n string injection.
74
78
  - `text`: string
75
79
  - `children`: ReactNode
76
- Banner message content. Accepts strings or custom React elements.
77
80
  - `variant`: enum [default: default]
78
81
  - `"default"`: Informational banner for general messages
79
82
  - `"alert"`: Warning banner for cautionary messages
@@ -83,38 +86,70 @@ Full-width message bar for informational, warning, or error notices.
83
86
 
84
87
  **Colors (kumo tokens used):**
85
88
 
86
- `bg-kumo-danger`, `bg-kumo-danger-tint`, `bg-kumo-info`, `bg-kumo-info-tint`, `bg-kumo-warning`, `bg-kumo-warning-tint`, `border-kumo-danger`, `border-kumo-info`, `border-kumo-warning`, `text-kumo-danger`, `text-kumo-link`, `text-kumo-warning`
89
+ `bg-kumo-danger`, `bg-kumo-danger-tint`, `bg-kumo-info`, `bg-kumo-info-tint`, `bg-kumo-warning`, `bg-kumo-warning-tint`, `border-kumo-danger`, `border-kumo-info`, `border-kumo-warning`, `text-kumo-danger`, `text-kumo-info`, `text-kumo-warning`
87
90
 
88
91
  **Examples:**
89
92
 
90
93
  ```tsx
91
94
  <div className="space-y-3">
92
- <Banner>This is an informational banner.</Banner>
93
- <Banner variant="alert">This is an alert banner.</Banner>
94
- <Banner variant="error">This is an error banner.</Banner>
95
+ <Banner
96
+ icon={<Info weight="fill" />}
97
+ title="Update available"
98
+ description="A new version is ready to install."
99
+ />
100
+ <Banner
101
+ icon={<Warning weight="fill" />}
102
+ variant="alert"
103
+ title="Session expiring"
104
+ description="Your session will expire in 5 minutes."
105
+ />
106
+ <Banner
107
+ icon={<WarningCircle weight="fill" />}
108
+ variant="error"
109
+ title="Save failed"
110
+ description="We couldn't save your changes. Please try again."
111
+ />
95
112
  </div>
96
113
  ```
97
114
 
98
115
  ```tsx
99
- <Banner>This is an informational banner.</Banner>
116
+ <Banner
117
+ icon={<Info weight="fill" />}
118
+ title="Update available"
119
+ description="A new version is ready to install."
120
+ />
100
121
  ```
101
122
 
102
123
  ```tsx
103
- <Banner variant="alert">Your session will expire soon.</Banner>
124
+ <Banner
125
+ icon={<Warning weight="fill" />}
126
+ variant="alert"
127
+ title="Session expiring"
128
+ description="Your session will expire in 5 minutes."
129
+ />
104
130
  ```
105
131
 
106
132
  ```tsx
107
- <Banner icon={<WarningCircle />} variant="alert">
108
- Review your billing information.
109
- </Banner>
133
+ <Banner
134
+ icon={<Info weight="fill" />}
135
+ title="Your changes have been saved."
136
+ />
110
137
  ```
111
138
 
112
139
  ```tsx
113
- <Banner icon={<Info />}>
114
- <Text DANGEROUS_className="text-inherit">
115
- This banner supports <strong>custom content</strong> with Text.
116
- </Text>
117
- </Banner>
140
+ <Banner
141
+ icon={<Info weight="fill" />}
142
+ title="Custom content supported"
143
+ description={
144
+ <Text DANGEROUS_className="text-inherit">
145
+ This banner supports <strong>custom content</strong> with Text.
146
+ </Text>
147
+ }
148
+ />
149
+ ```
150
+
151
+ ```tsx
152
+ <Banner icon={<Info />}>This is a simple banner using children.</Banner>
118
153
  ```
119
154
 
120
155
 
@@ -387,7 +422,7 @@ Checkbox component
387
422
 
388
423
  **Colors (kumo tokens used):**
389
424
 
390
- `bg-kumo-base`, `bg-kumo-contrast`, `border-kumo-line`, `ring-kumo-danger`, `ring-kumo-line`, `ring-kumo-ring`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-inverse`, `text-kumo-subtle`
425
+ `bg-kumo-base`, `bg-kumo-contrast`, `border-kumo-line`, `ring-kumo-contrast`, `ring-kumo-danger`, `ring-kumo-line`, `ring-kumo-ring`, `text-kumo-danger`, `text-kumo-default`, `text-kumo-inverse`, `text-kumo-subtle`
391
426
 
392
427
  **Styling:**
393
428
 
@@ -1221,17 +1256,7 @@ Group sub-component
1221
1256
 
1222
1257
  #### Combobox.List
1223
1258
 
1224
- A container for combobox items. Supports render prop for custom item rendering. Renders a `<div>` element.
1225
-
1226
- Props:
1227
- - `children`: ReactNode | ((item: T, index: number) => ReactNode) - Items to render, or a function that receives each item and returns a node
1228
-
1229
- Usage:
1230
- ```tsx
1231
- <Combobox.List>
1232
- {(item) => <Combobox.Item value={item}>{item.label}</Combobox.Item>}
1233
- </Combobox.List>
1234
- ```
1259
+ List sub-component
1235
1260
 
1236
1261
  #### Combobox.Collection
1237
1262
 
@@ -2176,7 +2201,7 @@ Close sub-component
2176
2201
 
2177
2202
  ### DropdownMenu
2178
2203
 
2179
- DropdownMenu — accessible dropdown menu anchored to a trigger. Compound component: `DropdownMenu` (Root), `.Trigger`, `.Content`, `.Item`, `.CheckboxItem`, `.RadioGroup`, `.RadioItem`, `.RadioItemIndicator`, `.Sub`, `.SubTrigger`, `.SubContent`, `.Label`, `.Separator`, `.Shortcut`, `.Group`. Built on `@base-ui/react/menu`.
2204
+ DropdownMenu — accessible dropdown menu anchored to a trigger. Compound component: `DropdownMenu` (Root), `.Trigger`, `.Content`, `.Item`, `.LinkItem`, `.CheckboxItem`, `.RadioGroup`, `.RadioItem`, `.RadioItemIndicator`, `.Sub`, `.SubTrigger`, `.SubContent`, `.Label`, `.Separator`, `.Shortcut`, `.Group`. Built on `@base-ui/react/menu`.
2180
2205
 
2181
2206
  **Type:** component
2182
2207
 
@@ -2226,6 +2251,10 @@ Content sub-component
2226
2251
 
2227
2252
  Item sub-component
2228
2253
 
2254
+ #### DropdownMenu.LinkItem
2255
+
2256
+ LinkItem sub-component
2257
+
2229
2258
  #### DropdownMenu.CheckboxItem
2230
2259
 
2231
2260
  CheckboxItem sub-component
@@ -3270,7 +3299,7 @@ Progress bar showing a measured value within a known range (e.g. quota usage).
3270
3299
 
3271
3300
  ### Pagination
3272
3301
 
3273
- Page navigation controls with page count display.
3302
+ Pagination component
3274
3303
 
3275
3304
  **Type:** component
3276
3305
 
@@ -3280,9 +3309,6 @@ Page navigation controls with page count display.
3280
3309
 
3281
3310
  **Props:**
3282
3311
 
3283
- - `controls`: enum [default: full]
3284
- - `"full"`: Full pagination controls with first, previous, page input, next, and last buttons
3285
- - `"simple"`: Simple pagination controls with only previous and next buttons
3286
3312
  - `setPage`: (page: number) => void (required)
3287
3313
  Callback when page changes
3288
3314
  - `page`: number
@@ -3291,16 +3317,62 @@ Page navigation controls with page count display.
3291
3317
  Number of items displayed per page.
3292
3318
  - `totalCount`: number
3293
3319
  Total number of items across all pages.
3320
+ - `className`: string
3321
+ Additional CSS classes for the container
3322
+ - `children`: ReactNode
3323
+ Compound component children for custom layouts. Use Pagination.Info, Pagination.PageSize, Pagination.Controls, and Pagination.Separator.
3324
+ - `controls`: enum [default: full]
3325
+ - `"full"`: Full pagination controls with first, previous, page input, next, and last buttons
3326
+ - `"simple"`: Simple pagination controls with only previous and next buttons
3294
3327
  - `text`: object
3295
- Method to provide custom pagination text
3296
3328
 
3297
3329
  **Colors (kumo tokens used):**
3298
3330
 
3299
- `text-kumo-strong`
3331
+ `border-kumo-line`, `text-kumo-strong`
3300
3332
 
3301
3333
  **Styling:**
3302
3334
 
3303
3335
 
3336
+ **Sub-Components:**
3337
+
3338
+ This is a compound component. Use these sub-components:
3339
+
3340
+ #### Pagination.Info
3341
+
3342
+ Info sub-component
3343
+
3344
+ Props:
3345
+ - `children`: (props: {
3346
+ - `page`: number (required)
3347
+ - `perPage`: number
3348
+ - `totalCount`: number
3349
+ - `pageShowingRange`: string (required)
3350
+
3351
+ #### Pagination.PageSize
3352
+
3353
+ PageSize sub-component
3354
+
3355
+ Props:
3356
+ - `value`: number (required)
3357
+ - `options`: number[]
3358
+ - `label`: ReactNode
3359
+ - `className`: string
3360
+
3361
+ #### Pagination.Controls
3362
+
3363
+ Controls sub-component
3364
+
3365
+ Props:
3366
+ - `className`: string
3367
+
3368
+ #### Pagination.Separator
3369
+
3370
+ Separator sub-component
3371
+
3372
+ Props:
3373
+ - `className`: string
3374
+
3375
+
3304
3376
  **Examples:**
3305
3377
 
3306
3378
  ```tsx
@@ -3319,7 +3391,9 @@ Page navigation controls with page count display.
3319
3391
 
3320
3392
  ```tsx
3321
3393
  <Pagination
3322
- text={({ perPage }) => `Page ${page} - showing ${perPage} per page`}
3394
+ text={({ perPage }: { perPage?: number }) =>
3395
+ `Page ${page} - showing ${perPage} per page`
3396
+ }
3323
3397
  page={page}
3324
3398
  setPage={setPage}
3325
3399
  perPage={25}
@@ -3327,6 +3401,69 @@ Page navigation controls with page count display.
3327
3401
  />
3328
3402
  ```
3329
3403
 
3404
+ ```tsx
3405
+ <Pagination
3406
+ page={page}
3407
+ setPage={setPage}
3408
+ perPage={perPage}
3409
+ totalCount={500}
3410
+ >
3411
+ <Pagination.Info />
3412
+ <Pagination.Separator />
3413
+ <Pagination.PageSize
3414
+ value={perPage}
3415
+ onChange={(size) => {
3416
+ setPerPage(size);
3417
+ setPage(1);
3418
+ }}
3419
+ />
3420
+ <Pagination.Controls />
3421
+ </Pagination>
3422
+ ```
3423
+
3424
+ ```tsx
3425
+ <Pagination
3426
+ page={page}
3427
+ setPage={setPage}
3428
+ perPage={perPage}
3429
+ totalCount={200}
3430
+ >
3431
+ <Pagination.Info />
3432
+ <Pagination.Separator />
3433
+ <Pagination.PageSize
3434
+ value={perPage}
3435
+ onChange={(size) => {
3436
+ setPerPage(size);
3437
+ setPage(1);
3438
+ }}
3439
+ options={[10, 20, 50]}
3440
+ />
3441
+ <Pagination.Controls />
3442
+ </Pagination>
3443
+ ```
3444
+
3445
+ ```tsx
3446
+ <Pagination
3447
+ page={page}
3448
+ setPage={setPage}
3449
+ perPage={perPage}
3450
+ totalCount={500}
3451
+ >
3452
+ <Pagination.Info />
3453
+ <div className="flex items-center gap-2">
3454
+ <Pagination.Controls />
3455
+ <Pagination.Separator />
3456
+ <Pagination.PageSize
3457
+ value={perPage}
3458
+ onChange={(size) => {
3459
+ setPerPage(size);
3460
+ setPage(1);
3461
+ }}
3462
+ />
3463
+ </div>
3464
+ </Pagination>
3465
+ ```
3466
+
3330
3467
 
3331
3468
  ---
3332
3469
 
@@ -4656,20 +4793,15 @@ Accessible popup that shows additional information on hover/focus. Wrap your app
4656
4793
 
4657
4794
  **Props:**
4658
4795
 
4659
- - `align`: enum
4660
- Alignment on the axis perpendicular to `side`.
4661
- - `"start"` — Align to the start edge
4662
- - `"center"` — Center-aligned
4663
- - `"end"` — Align to the end edge
4664
- - `asChild`: boolean
4665
- When `true`, the trigger wraps the child element instead of adding a wrapper.
4666
- - `className`: string
4667
- Additional CSS classes merged via `cn()`.
4668
4796
  - `side`: enum [default: top]
4669
4797
  - `"top"`: Tooltip appears above the trigger
4670
4798
  - `"bottom"`: Tooltip appears below the trigger
4671
4799
  - `"left"`: Tooltip appears to the left of the trigger
4672
4800
  - `"right"`: Tooltip appears to the right of the trigger
4801
+ - `className`: string
4802
+ Additional CSS classes
4803
+ - `children`: ReactNode
4804
+ Child elements
4673
4805
  - `content`: ReactNode (required)
4674
4806
  Content to display in the tooltip
4675
4807
 
package/ai/schemas.ts CHANGED
@@ -117,9 +117,11 @@ export const BadgePropsSchema = z.object({
117
117
  });
118
118
 
119
119
  export const BannerPropsSchema = z.object({
120
- icon: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Icon element rendered before the banner text (e.g. from `@phosphor-icons/react`).
120
+ icon: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Icon element rendered before the banner content (e.g. from `@phosphor-icons/react`).
121
+ title: z.string().optional(), // Primary heading text for the banner. Use for i18n string injection.
122
+ description: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Secondary description text displayed below the title. Use for i18n string injection.
121
123
  text: z.string().optional(),
122
- children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Banner message content. Accepts strings or custom React elements.
124
+ children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(),
123
125
  variant: z.enum(["default", "alert", "error"]).optional(), // Visual style of the banner. - `"default"` — Informational blue banner for general messages - `"alert"` — Warning yellow banner for cautionary messages - `"error"` — Error red banner for critical issues
124
126
  className: z.string().optional(), // Additional CSS classes merged via `cn()`.
125
127
  });
@@ -585,12 +587,14 @@ export const MeterPropsSchema = z.object({
585
587
  });
586
588
 
587
589
  export const PaginationPropsSchema = z.object({
588
- controls: z.enum(["full", "simple"]).optional(),
589
590
  setPage: z.unknown(), // Callback when page changes
590
591
  page: z.number().optional(), // Current page number (1-indexed).
591
592
  perPage: z.number().optional(), // Number of items displayed per page.
592
593
  totalCount: z.number().optional(), // Total number of items across all pages.
593
- text: z.unknown().optional(), // Method to provide custom pagination text
594
+ className: z.string().optional(), // Additional CSS classes for the container
595
+ children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Compound component children for custom layouts. Use Pagination.Info, Pagination.PageSize, Pagination.Controls, and Pagination.Separator.
596
+ controls: z.enum(["full", "simple"]).optional(),
597
+ text: z.unknown().optional(),
594
598
  });
595
599
 
596
600
  export const PopoverPropsSchema = z.object({
@@ -713,10 +717,9 @@ export const ToastyPropsSchema = z.object({
713
717
  });
714
718
 
715
719
  export const TooltipPropsSchema = z.object({
716
- align: z.enum(["start", "center", "end"]).optional(), // Alignment on the axis perpendicular to `side`. - `"start"` — Align to the start edge - `"center"` — Center-aligned - `"end"` — Align to the end edge
717
- asChild: z.boolean().optional(), // When `true`, the trigger wraps the child element instead of adding a wrapper.
718
- className: z.string().optional(), // Additional CSS classes merged via `cn()`.
719
- side: z.enum(["top", "bottom", "left", "right"]).optional(), // Preferred side of the trigger to render the tooltip. - `"top"` — Tooltip appears above the trigger - `"bottom"` — Tooltip appears below the trigger - `"left"` — Tooltip appears to the left of the trigger - `"right"` — Tooltip appears to the right of the trigger
720
+ side: z.enum(["top", "bottom", "left", "right"]).optional(),
721
+ className: z.string().optional(), // Additional CSS classes
722
+ children: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]).optional(), // Child elements
720
723
  content: z.union([z.string(), z.number(), z.boolean(), z.null(), DynamicValueSchema]), // Content to display in the tooltip
721
724
  });
722
725
 
@@ -1 +1 @@
1
- 1771589636862
1
+ 1772046030470