@primereact/mcp 11.1.0 → 11.2.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 (178) hide show
  1. package/data/llms/headless/components/accordion/api.json +9 -9
  2. package/data/llms/headless/components/animateonscroll/api.json +2 -2
  3. package/data/llms/headless/components/autocomplete/api.json +33 -33
  4. package/data/llms/headless/components/avatar/api.json +1 -1
  5. package/data/llms/headless/components/carousel/api.json +15 -15
  6. package/data/llms/headless/components/checkbox/api.json +18 -18
  7. package/data/llms/headless/components/collapsible/api.json +14 -14
  8. package/data/llms/headless/components/compare/api.json +3 -3
  9. package/data/llms/headless/components/contextmenu/api.json +2 -2
  10. package/data/llms/headless/components/datatable/api.json +19 -19
  11. package/data/llms/headless/components/dataview/api.json +3 -3
  12. package/data/llms/headless/components/datepicker/api.json +43 -43
  13. package/data/llms/headless/components/dialog/api.json +19 -19
  14. package/data/llms/headless/components/divider/api.json +3 -3
  15. package/data/llms/headless/components/drawer/api.json +13 -13
  16. package/data/llms/headless/components/fieldset/api.json +9 -9
  17. package/data/llms/headless/components/fileupload/api.json +5 -5
  18. package/data/llms/headless/components/focustrap/api.json +4 -4
  19. package/data/llms/headless/components/gallery/api.json +23 -23
  20. package/data/llms/headless/components/inplace/api.json +3 -3
  21. package/data/llms/headless/components/inputcolor/api.json +6 -6
  22. package/data/llms/headless/components/inputcolor.md +0 -1
  23. package/data/llms/headless/components/inputnumber/api.json +8 -8
  24. package/data/llms/headless/components/inputotp/api.json +7 -7
  25. package/data/llms/headless/components/inputpassword/api.json +4 -4
  26. package/data/llms/headless/components/inputpassword.md +3 -3
  27. package/data/llms/headless/components/inputtags/api.json +8 -8
  28. package/data/llms/headless/components/inputtext/api.json +1 -1
  29. package/data/llms/headless/components/knob/api.json +18 -18
  30. package/data/llms/headless/components/listbox/api.json +27 -27
  31. package/data/llms/headless/components/menu/api.json +10 -10
  32. package/data/llms/headless/components/message/api.json +1 -1
  33. package/data/llms/headless/components/metergroup/api.json +3 -3
  34. package/data/llms/headless/components/motion/api.json +1 -1
  35. package/data/llms/headless/components/navigationmenu/api.json +5 -5
  36. package/data/llms/headless/components/orderlist/api.json +5 -5
  37. package/data/llms/headless/components/organizationchart/api.json +6 -6
  38. package/data/llms/headless/components/paginator/api.json +5 -5
  39. package/data/llms/headless/components/panel/api.json +9 -9
  40. package/data/llms/headless/components/picklist/api.json +5 -5
  41. package/data/llms/headless/components/popover/api.json +16 -16
  42. package/data/llms/headless/components/positioner/api.json +7 -7
  43. package/data/llms/headless/components/progressbar/api.json +3 -3
  44. package/data/llms/headless/components/progressspinner/api.json +3 -3
  45. package/data/llms/headless/components/radiobutton/api.json +16 -16
  46. package/data/llms/headless/components/rating/api.json +5 -5
  47. package/data/llms/headless/components/scrollarea/api.json +6 -6
  48. package/data/llms/headless/components/select/api.json +34 -34
  49. package/data/llms/headless/components/sidebar/api.json +60 -60
  50. package/data/llms/headless/components/sidebar.md +4 -2
  51. package/data/llms/headless/components/slider/api.json +3 -3
  52. package/data/llms/headless/components/speeddial/api.json +4 -4
  53. package/data/llms/headless/components/splitter/api.json +5 -5
  54. package/data/llms/headless/components/stepper/api.json +13 -13
  55. package/data/llms/headless/components/styleclass/api.json +1 -1
  56. package/data/llms/headless/components/tabs/api.json +17 -17
  57. package/data/llms/headless/components/terminal/api.json +1 -1
  58. package/data/llms/headless/components/toast/api.json +4 -4
  59. package/data/llms/headless/components/togglebutton/api.json +27 -3
  60. package/data/llms/headless/components/toggleswitch/api.json +3 -3
  61. package/data/llms/headless/components/tooltip/api.json +17 -17
  62. package/data/llms/headless/components/tree/api.json +20 -20
  63. package/data/llms/headless/components/tree.md +1 -0
  64. package/data/llms/headless/components/treetable/api.json +19 -19
  65. package/data/llms/hooks/use-filter.md +2 -2
  66. package/data/llms/hooks/use-tree-filter.md +3 -1
  67. package/data/llms/llms-full.txt +485 -229
  68. package/data/llms/primitive/components/accordion/api.json +39 -39
  69. package/data/llms/primitive/components/animateonscroll/api.json +5 -5
  70. package/data/llms/primitive/components/autocomplete/api.json +105 -105
  71. package/data/llms/primitive/components/avatar/api.json +14 -14
  72. package/data/llms/primitive/components/badge/api.json +6 -6
  73. package/data/llms/primitive/components/breadcrumb/api.json +27 -27
  74. package/data/llms/primitive/components/button/api.json +8 -8
  75. package/data/llms/primitive/components/buttongroup/api.json +3 -3
  76. package/data/llms/primitive/components/card/api.json +24 -24
  77. package/data/llms/primitive/components/carousel/api.json +28 -28
  78. package/data/llms/primitive/components/checkbox/api.json +14 -14
  79. package/data/llms/primitive/components/checkboxgroup/api.json +5 -5
  80. package/data/llms/primitive/components/chip/api.json +19 -19
  81. package/data/llms/primitive/components/collapsible/api.json +18 -18
  82. package/data/llms/primitive/components/compare/api.json +18 -18
  83. package/data/llms/primitive/components/contextmenu/api.json +150 -1141
  84. package/data/llms/primitive/components/datatable/api.json +215 -164
  85. package/data/llms/primitive/components/dataview/api.json +17 -17
  86. package/data/llms/primitive/components/datepicker/api.json +230 -230
  87. package/data/llms/primitive/components/dialog/api.json +63 -63
  88. package/data/llms/primitive/components/divider/api.json +3 -3
  89. package/data/llms/primitive/components/drawer/api.json +47 -47
  90. package/data/llms/primitive/components/fieldset/api.json +31 -31
  91. package/data/llms/primitive/components/fileupload/api.json +53 -53
  92. package/data/llms/primitive/components/floatlabel/api.json +3 -3
  93. package/data/llms/primitive/components/focustrap/api.json +7 -7
  94. package/data/llms/primitive/components/gallery/api.json +91 -91
  95. package/data/llms/primitive/components/iconfield/api.json +7 -7
  96. package/data/llms/primitive/components/iftalabel/api.json +3 -3
  97. package/data/llms/primitive/components/inplace/api.json +18 -18
  98. package/data/llms/primitive/components/inputcolor/api.json +51 -51
  99. package/data/llms/primitive/components/inputnumber/api.json +10 -10
  100. package/data/llms/primitive/components/inputotp/api.json +12 -12
  101. package/data/llms/primitive/components/inputpassword/api.json +7 -7
  102. package/data/llms/primitive/components/inputtags/api.json +6 -6
  103. package/data/llms/primitive/components/inputtext/api.json +4 -4
  104. package/data/llms/primitive/components/knob/api.json +19 -19
  105. package/data/llms/primitive/components/label/api.json +3 -3
  106. package/data/llms/primitive/components/listbox/api.json +57 -57
  107. package/data/llms/primitive/components/menu/api.json +87 -279
  108. package/data/llms/primitive/components/message/api.json +22 -22
  109. package/data/llms/primitive/components/metergroup/api.json +27 -27
  110. package/data/llms/primitive/components/navigationmenu/api.json +8 -8
  111. package/data/llms/primitive/components/paginator/api.json +43 -43
  112. package/data/llms/primitive/components/panel/api.json +34 -34
  113. package/data/llms/primitive/components/popover/api.json +67 -67
  114. package/data/llms/primitive/components/portal/api.json +4 -4
  115. package/data/llms/primitive/components/progressbar/api.json +22 -22
  116. package/data/llms/primitive/components/progressspinner/api.json +18 -18
  117. package/data/llms/primitive/components/radiobutton/api.json +16 -16
  118. package/data/llms/primitive/components/rating/api.json +20 -20
  119. package/data/llms/primitive/components/scrollarea/api.json +23 -23
  120. package/data/llms/primitive/components/select/api.json +95 -95
  121. package/data/llms/primitive/components/sidebar/api.json +88 -88
  122. package/data/llms/primitive/components/sidebar.md +2 -1
  123. package/data/llms/primitive/components/skeleton/api.json +3 -3
  124. package/data/llms/primitive/components/slider/api.json +22 -22
  125. package/data/llms/primitive/components/speeddial/api.json +22 -22
  126. package/data/llms/primitive/components/splitter/api.json +18 -18
  127. package/data/llms/primitive/components/stepper/api.json +64 -64
  128. package/data/llms/primitive/components/tabs/api.json +51 -51
  129. package/data/llms/primitive/components/tag/api.json +3 -3
  130. package/data/llms/primitive/components/terminal/api.json +44 -44
  131. package/data/llms/primitive/components/textarea/api.json +4 -4
  132. package/data/llms/primitive/components/timeline/api.json +27 -27
  133. package/data/llms/primitive/components/toast/api.json +48 -48
  134. package/data/llms/primitive/components/togglebutton/api.json +10 -10
  135. package/data/llms/primitive/components/togglebuttongroup/api.json +5 -5
  136. package/data/llms/primitive/components/toggleswitch/api.json +12 -12
  137. package/data/llms/primitive/components/toolbar/api.json +15 -15
  138. package/data/llms/primitive/components/tooltip/api.json +52 -52
  139. package/data/llms/primitive/components/tree/api.json +73 -73
  140. package/data/llms/primitive/components/visuallyhidden/api.json +3 -3
  141. package/data/llms/primitive/guides/migration/updating-to-v11.md +2 -2
  142. package/data/llms/styled/add-ons/designer/ci.md +7 -7
  143. package/data/llms/styled/add-ons/uikit/guide/v3.md +1 -0
  144. package/data/llms/styled/components/button/api.json +8 -8
  145. package/data/llms/styled/components/carousel.md +65 -0
  146. package/data/llms/styled/components/datatable.md +94 -84
  147. package/data/llms/styled/components/floatlabel/api.json +3 -3
  148. package/data/llms/styled/components/fluid/api.json +3 -3
  149. package/data/llms/styled/components/iconfield/api.json +7 -7
  150. package/data/llms/styled/components/iftalabel/api.json +3 -3
  151. package/data/llms/styled/components/inputcolor.md +3 -0
  152. package/data/llms/styled/components/inputgroup/api.json +7 -7
  153. package/data/llms/styled/components/label/api.json +3 -3
  154. package/data/llms/styled/components/organizationchart/api.json +33 -33
  155. package/data/llms/styled/components/rating/api.json +11 -11
  156. package/data/llms/styled/components/select.md +6 -0
  157. package/data/llms/styled/components/sidebar.md +12 -8
  158. package/data/llms/styled/components/tree.md +5 -0
  159. package/data/llms/styled/components/treetable.md +171 -62
  160. package/data/llms/styled/guides/configuration.md +25 -0
  161. package/data/llms/styled/guides/migration/updating-to-v11.md +2 -2
  162. package/data/llms/styled/guides/theming/tailwind.md +25 -0
  163. package/data/llms/tailwind/components/button/api.json +8 -8
  164. package/data/llms/tailwind/components/datatable.md +33 -42
  165. package/data/llms/tailwind/components/inputgroup.md +0 -1
  166. package/data/llms/tailwind/components/select.md +3 -0
  167. package/data/llms/tailwind/components/sidebar.md +16 -11
  168. package/data/manifest.json +773 -778
  169. package/data/mcp-data.json +5 -29
  170. package/dist/index.d.ts +7 -2
  171. package/dist/index.js +1 -1
  172. package/package.json +9 -8
  173. package/data/llms/headless/guides/misc/locale.md +0 -280
  174. package/data/llms/primitive/guides/misc/locale.md +0 -280
  175. package/data/llms/styled/guides/installation/configuration.md +0 -135
  176. package/data/llms/styled/guides/misc/locale.md +0 -280
  177. package/data/llms/tailwind/guides/misc/locale.md +0 -280
  178. package/data/llms/tailwind/guides/theming/guide.md +0 -179
@@ -97,6 +97,31 @@ import { Select } from '@primereact/ui/select'; // themed, opt out with `unstyle
97
97
  import { Select } from 'primereact/select'; // unstyled by construction
98
98
  ```
99
99
 
100
+ ## Preflight
101
+
102
+ Preflight resets the browser defaults on the native elements PrimeReact renders, such as `button`, `input`, `ul`, `table`, `img` and the heading tags. It removes the margins, borders, font inheritance and list styling browsers apply by default, so a component's own styles are the only ones in effect. It is on by default.
103
+
104
+ The reset only applies to elements PrimeReact renders itself, scoped through the `data-scope` attribute each component sets. A `<button>` or `<ul>` outside a PrimeReact component keeps its normal browser defaults.
105
+
106
+ Turn it off with the `preflight` property on the provider:
107
+
108
+ ```tsx showLineNumbers {6}
109
+ import { PrimeReactProvider } from '@primereact/core';
110
+ ...
111
+
112
+ ReactDOM.createRoot(document.getElementById('root')).render(
113
+ <React.StrictMode>
114
+ <PrimeReactProvider preflight={false}>
115
+ <App />
116
+ </PrimeReactProvider>
117
+ </React.StrictMode>
118
+ );
119
+ ```
120
+
121
+ Turn it off in a project that already resets these elements, for example with Tailwind's own preflight, normalize.css or Bootstrap's reboot.
122
+
123
+ An application that loads Tailwind through a cascade layer needs the `primeui` layer declared before the `tailwindcss` import. The reset lives in `primeui.base`, a layer nested inside `primeui`, so declaring `primeui` alone is enough to position both the reset and the theme; a separate `primeui-base` declaration does not reach it and the reset ends up overriding the theme instead. This is also the layer name `theme.options.cssLayer` wraps component styles in when enabled (`primeui` by default, or the name passed to it), so an application already using that option has already declared the layer it needs. See the [Tailwind guide](/docs/styled/guides/theming/tailwind) for the declaration and why the order matters.
124
+
100
125
  ## PassThrough
101
126
 
102
127
  Defines the shared pass through properties per component type. Visit the [Pass Through Props](/docs/passthrough) documentation for more information.
@@ -171,7 +171,7 @@ Tokens follow the [Design Tokens Format Module](https://www.designtokens.org/tr/
171
171
 
172
172
  ### Moving existing customizations
173
173
 
174
- | v10 | Where it goes in v11 |
174
+ | v10 | Where it goes in v11 |
175
175
  | ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
176
176
  | A SASS theme built from `theme.scss` | Variable overrides become token overrides in a preset. A rewrite, but usually a much shorter file, since a preset only lists what differs from the base. |
177
177
  | CSS overrides against `p-*` classes | Still work. The class names survived. Keep them as the fallback, since a token reaches every component that uses it while a selector reaches one. |
@@ -190,7 +190,7 @@ v10 had one way to get unstyled components: the `unstyled` flag, set globally or
190
190
  | `<PrimeReactProvider unstyled>` | The whole application is styled by something else |
191
191
  | `unstyled` on a component | Most of the app is themed, one screen is not |
192
192
  | Import from `primereact` | Building a design system on the primitives, with no theme layer in the bundle |
193
- | Import from `@primereact/headless` | Hand-written markup as well as hand-written styling |
193
+ | Import from `@primereact/headless` | Hand-written markup as well as hand-written styling |
194
194
 
195
195
  The last two are the difference from v10. There, unstyled mode meant the styled component with its class generation switched off, so the theming layer still shipped. In v11 the layers are separate packages, so importing from `primereact` means the styles never enter the bundle at all.
196
196
 
@@ -48,6 +48,31 @@ In the CSS file that contains the tailwindcss import, add the `tailwindcss-prime
48
48
  @import 'tailwindcss-primeui';
49
49
  ```
50
50
 
51
+ ### Cascade layer
52
+
53
+ PrimeReact resets the browser defaults on the native elements it renders (preflight, see the [configuration guide](/docs/styled/guides/configuration)), and those rules live in `primeui.base`, a cascade layer nested under `primeui`. A CSS layer is ordered where its name is first declared, not where its rules are written, so when `tailwindcss` declares its layers first, `primeui` ends up after them and the reset wins over utility classes.
54
+
55
+ This only shows up in server-rendered apps, and only before hydration: PrimeReact injects the layer declaration at runtime, which lands after the application's own CSS on the first server-rendered response. Utility classes meant to override the reset lose until the client takes over, so the first paint is visibly wrong and corrects itself once React hydrates.
56
+
57
+ Fix the order by declaring the layer above the `tailwindcss` import:
58
+
59
+ ```css
60
+ @layer primeui;
61
+
62
+ @import 'tailwindcss';
63
+ @import 'tailwindcss-primeui';
64
+ ```
65
+
66
+ Declaring `primeui` is enough on its own: `primeui.base`, where the reset lives, is nested inside it, and a nested layer's order is fixed by its parent's. Declaring it after the `tailwindcss` import does nothing, since the order is already fixed by then. This applies to any framework that declares its own layers, not just Tailwind.
67
+
68
+ An application with `theme.options.cssLayer` enabled has already declared this layer: that option wraps PrimeReact's component styles, variables and global style in a layer named `primeui` by default, or in whatever name is passed to it (`{ name: 'myui' }` produces `myui`), and `@layer primeui;` covers the reset and that layer with the same line.
69
+
70
+ Where Tailwind's own preflight is already in use, or another reset such as normalize.css or Bootstrap's reboot, turn off PrimeReact's instead of maintaining two resets:
71
+
72
+ ```tsx
73
+ <PrimeReactProvider preflight={false}>
74
+ ```
75
+
51
76
  ### Tailwind v3
52
77
 
53
78
  Use the plugins option in your Tailwind config file to configure the plugin.
@@ -37,19 +37,19 @@
37
37
  },
38
38
  {
39
39
  "name": "style",
40
- "type": "CSSProperties | ((instance?: ButtonInstance) => CSSProperties)",
40
+ "type": "CSSProperties | ((instance?: ButtonInstance) => undefined | CSSProperties)",
41
41
  "default": "",
42
42
  "description": "The style to apply to the component."
43
43
  },
44
44
  {
45
45
  "name": "className",
46
- "type": "string | ((instance?: ButtonInstance) => string)",
46
+ "type": "string | ((instance?: ButtonInstance) => undefined | string)",
47
47
  "default": "",
48
48
  "description": "The class name to apply to the component."
49
49
  },
50
50
  {
51
51
  "name": "as",
52
- "type": "string | number | bigint | boolean | ComponentClass<any, any> | FunctionComponent<any> | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode, any, any> | ReactPortal | Promise<AwaitedReactNode>",
52
+ "type": "null | string | number | bigint | boolean | ComponentClass<any, any> | FunctionComponent<any> | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode, any, any> | ReactPortal | Promise<AwaitedReactNode>",
53
53
  "default": "",
54
54
  "description": "The component type to render."
55
55
  },
@@ -128,31 +128,31 @@
128
128
  {
129
129
  "name": "plain",
130
130
  "type": "boolean",
131
- "default": "",
131
+ "default": "false",
132
132
  "description": "Whether to show the Button with a plain style."
133
133
  },
134
134
  {
135
135
  "name": "rounded",
136
136
  "type": "boolean",
137
- "default": "",
137
+ "default": "false",
138
138
  "description": "Whether to show the Button with a rounded style."
139
139
  },
140
140
  {
141
141
  "name": "raised",
142
142
  "type": "boolean",
143
- "default": "",
143
+ "default": "false",
144
144
  "description": "Whether to show the Button with a raised style."
145
145
  },
146
146
  {
147
147
  "name": "iconOnly",
148
148
  "type": "boolean",
149
- "default": "",
149
+ "default": "false",
150
150
  "description": "Whether to show the Button with a borderless style."
151
151
  },
152
152
  {
153
153
  "name": "fluid",
154
154
  "type": "boolean",
155
- "default": "",
155
+ "default": "false",
156
156
  "description": "Whether to show the Button with a fluid width."
157
157
  },
158
158
  {
@@ -63,7 +63,7 @@ export default function Preview() {
63
63
  </DataTableTHeadRow>
64
64
  </DataTableTHead>
65
65
  <DataTableTBody>
66
- {({ item }: { item: any }) => (
66
+ {({ item }: { item: Product }) => (
67
67
  <DataTableRow key={item.id}>
68
68
  <DataTableCell>
69
69
  <div className="flex items-center gap-3">
@@ -247,7 +247,7 @@ export default function BasicDemo() {
247
247
  </DataTableTHeadRow>
248
248
  </DataTableTHead>
249
249
  <DataTableTBody>
250
- {({ item }: { item: any }) => (
250
+ {({ item }: { item: Product }) => (
251
251
  <DataTableRow key={item.id}>
252
252
  <DataTableCell>
253
253
  <div className="flex items-center gap-3">
@@ -337,7 +337,7 @@ function ProductTable({ stripedRows, showGridlines, size }: { stripedRows?: bool
337
337
  </DataTableTHeadRow>
338
338
  </DataTableTHead>
339
339
  <DataTableTBody>
340
- {({ item }: { item: any }) => (
340
+ {({ item }: { item: Product }) => (
341
341
  <DataTableRow key={item.id}>
342
342
  <DataTableCell>
343
343
  <span className="font-medium">{item.name}</span>
@@ -464,7 +464,7 @@ export default function SingleSelectionDemo() {
464
464
  </DataTableTHeadRow>
465
465
  </DataTableTHead>
466
466
  <DataTableTBody>
467
- {({ item }: { item: any }) => (
467
+ {({ item }: { item: Product }) => (
468
468
  <DataTableRow key={item.id}>
469
469
  <DataTableCell>
470
470
  <div className="flex items-center gap-3">
@@ -634,7 +634,7 @@ export default function MultipleSelectionDemo() {
634
634
  </DataTableTHeadRow>
635
635
  </DataTableTHead>
636
636
  <DataTableTBody>
637
- {({ item }: { item: any }) => (
637
+ {({ item }: { item: Product }) => (
638
638
  <DataTableRow key={item.id}>
639
639
  <DataTableCell>
640
640
  <div className="flex items-center gap-3">
@@ -783,7 +783,7 @@ export default function CheckboxSelectionDemo() {
783
783
  </DataTableTHeadRow>
784
784
  </DataTableTHead>
785
785
  <DataTableTBody>
786
- {({ item }: { item: any }) => (
786
+ {({ item }: { item: Customer }) => (
787
787
  <DataTableRow key={item.id}>
788
788
  <DataTableCell>
789
789
  <PRDataTable.Selection>
@@ -909,7 +909,7 @@ export default function KeyboardDemo() {
909
909
  </DataTableTHeadRow>
910
910
  </DataTableTHead>
911
911
  <DataTableTBody>
912
- {({ item }: { item: any }) => (
912
+ {({ item }: { item: Product }) => (
913
913
  <DataTableRow key={item.id}>
914
914
  <DataTableCell>
915
915
  <div className="flex items-center gap-3">
@@ -1081,7 +1081,7 @@ export default function SortDemo() {
1081
1081
  </DataTableTHeadRow>
1082
1082
  </DataTableTHead>
1083
1083
  <DataTableTBody>
1084
- {({ item }: { item: any }) => (
1084
+ {({ item }: { item: Product }) => (
1085
1085
  <DataTableRow key={item.id}>
1086
1086
  <DataTableCell>
1087
1087
  <div className="flex items-center gap-3">
@@ -1252,7 +1252,7 @@ export default function MultiSortDemo() {
1252
1252
  </DataTableTHeadRow>
1253
1253
  </DataTableTHead>
1254
1254
  <DataTableTBody>
1255
- {({ item }: { item: any }) => (
1255
+ {({ item }: { item: Product }) => (
1256
1256
  <DataTableRow key={item.id}>
1257
1257
  <DataTableCell>
1258
1258
  <div className="flex items-center gap-3">
@@ -1423,7 +1423,7 @@ export default function PresortDemo() {
1423
1423
  </DataTableTHeadRow>
1424
1424
  </DataTableTHead>
1425
1425
  <DataTableTBody>
1426
- {({ item }: { item: any }) => (
1426
+ {({ item }: { item: Product }) => (
1427
1427
  <DataTableRow key={item.id}>
1428
1428
  <DataTableCell>
1429
1429
  <div className="flex items-center gap-3">
@@ -1599,7 +1599,7 @@ export default function PresortMultiDemo() {
1599
1599
  </DataTableTHeadRow>
1600
1600
  </DataTableTHead>
1601
1601
  <DataTableTBody>
1602
- {({ item }: { item: any }) => (
1602
+ {({ item }: { item: Product }) => (
1603
1603
  <DataTableRow key={item.id}>
1604
1604
  <DataTableCell>
1605
1605
  <div className="flex items-center gap-3">
@@ -1724,7 +1724,7 @@ export default function PaginationDemo() {
1724
1724
  </DataTableTHeadRow>
1725
1725
  </DataTableTHead>
1726
1726
  <DataTableTBody>
1727
- {({ item }: { item: any }) => (
1727
+ {({ item }: { item: Product }) => (
1728
1728
  <DataTableRow key={item.id}>
1729
1729
  <DataTableCell>
1730
1730
  <span className="font-medium">{item.name}</span>
@@ -1846,7 +1846,7 @@ export default function ScrollHorizontalDemo() {
1846
1846
  </DataTableTHeadRow>
1847
1847
  </DataTableTHead>
1848
1848
  <DataTableTBody>
1849
- {({ item }: { item: any }) => (
1849
+ {({ item }: { item: Customer }) => (
1850
1850
  <DataTableRow key={item.id}>
1851
1851
  <DataTableCell>{item.id}</DataTableCell>
1852
1852
  <DataTableCell>
@@ -1971,7 +1971,7 @@ export default function ScrollFrozenColumnsMultiDemo() {
1971
1971
  </DataTableTHeadRow>
1972
1972
  </DataTableTHead>
1973
1973
  <DataTableTBody>
1974
- {({ item }: { item: any }) => (
1974
+ {({ item }: { item: Customer }) => (
1975
1975
  <DataTableRow key={String(item.id)}>
1976
1976
  <DataTableCell frozen>
1977
1977
  <span className="text-xs text-surface-500 dark:text-surface-400 tabular-nums">#{String(item.id)}</span>
@@ -2089,6 +2089,7 @@ export default function ScrollFrozenRowsDemo() {
2089
2089
  const toggleLock = React.useCallback((id: number) => {
2090
2090
  setLockedIds((prev) => {
2091
2091
  if (prev.includes(id)) return prev.filter((x) => x !== id);
2092
+
2092
2093
  if (prev.length >= 2) return prev;
2093
2094
 
2094
2095
  return [...prev, id];
@@ -2145,7 +2146,7 @@ export default function ScrollFrozenRowsDemo() {
2145
2146
  );
2146
2147
  }, []);
2147
2148
 
2148
- const tbodyRender = React.useCallback(({ item }: { item: any }) => renderRow(item as Customer), [renderRow]);
2149
+ const tbodyRender = React.useCallback(({ item }: { item: Customer }) => renderRow(item as Customer), [renderRow]);
2149
2150
 
2150
2151
  return (
2151
2152
  <div className="w-full">
@@ -2313,7 +2314,7 @@ export default function ExpansionDemo() {
2313
2314
  </DataTableTHeadRow>
2314
2315
  </DataTableTHead>
2315
2316
  <DataTableTBody>
2316
- {({ item }: { item: any }) => (
2317
+ {({ item }: { item: Product }) => (
2317
2318
  <React.Fragment key={item.id}>
2318
2319
  <DataTableRow>
2319
2320
  <DataTableCell>
@@ -2438,18 +2439,6 @@ import {
2438
2439
  import { Tag } from '@/components/ui/tag';
2439
2440
  import * as React from 'react';
2440
2441
 
2441
- const statusSeverity: Record<string, 'success' | 'warn' | 'danger'> = {
2442
- INSTOCK: 'success',
2443
- LOWSTOCK: 'warn',
2444
- OUTOFSTOCK: 'danger'
2445
- };
2446
-
2447
- const statusLabel: Record<string, string> = {
2448
- INSTOCK: 'In Stock',
2449
- LOWSTOCK: 'Low Stock',
2450
- OUTOFSTOCK: 'Out of Stock'
2451
- };
2452
-
2453
2442
  export default function ResizeDemo() {
2454
2443
  const [products, setProducts] = React.useState<Product[]>([]);
2455
2444
 
@@ -2484,7 +2473,7 @@ export default function ResizeDemo() {
2484
2473
  </DataTableTHeadRow>
2485
2474
  </DataTableTHead>
2486
2475
  <DataTableTBody>
2487
- {({ item }: { item: any }) => (
2476
+ {({ item }: { item: Product }) => (
2488
2477
  <DataTableRow key={item.id}>
2489
2478
  <DataTableCell>
2490
2479
  <div className="flex items-center gap-3">
@@ -2611,7 +2600,7 @@ export default function ResizeExpandDemo() {
2611
2600
  </DataTableTHeadRow>
2612
2601
  </DataTableTHead>
2613
2602
  <DataTableTBody>
2614
- {({ item }: { item: any }) => (
2603
+ {({ item }: { item: Product }) => (
2615
2604
  <DataTableRow key={item.id}>
2616
2605
  <DataTableCell>
2617
2606
  <div className="flex items-center gap-3">
@@ -2789,7 +2778,7 @@ export default function ReorderDemo() {
2789
2778
  </DataTableTHeadRow>
2790
2779
  </DataTableTHead>
2791
2780
  <DataTableTBody key={columns.map((c) => c.field).join(',')}>
2792
- {({ item }: { item: any }) => (
2781
+ {({ item }: { item: Product }) => (
2793
2782
  <DataTableRow key={item.id}>
2794
2783
  {columns.map((col) => (
2795
2784
  <DataTableCell key={col.field}>{renderCell(col.field, item)}</DataTableCell>
@@ -2905,7 +2894,7 @@ export default function RowReorderDemo() {
2905
2894
  </DataTableTHeadRow>
2906
2895
  </DataTableTHead>
2907
2896
  <DataTableTBody>
2908
- {({ item, index }: { item: any; index: number }) => (
2897
+ {({ item, index }: { item: Product; index: number }) => (
2909
2898
  <DataTableRow key={item.id}>
2910
2899
  <DataTableCell>
2911
2900
  <DataTableRowReorder rowIndex={index} className="cursor-grab text-surface-400 hover:text-surface-600">
@@ -3067,7 +3056,7 @@ export default function ColumnGroupDemo() {
3067
3056
  </DataTableTHeadRow>
3068
3057
  </DataTableTHead>
3069
3058
  <DataTableTBody>
3070
- {({ item }: { item: any }) => (
3059
+ {({ item }: { item: Sale }) => (
3071
3060
  <DataTableRow key={item.id}>
3072
3061
  <DataTableCell>
3073
3062
  <span className="font-medium">{item.product}</span>
@@ -3252,7 +3241,7 @@ export default function ColumnGroupFilterSortDemo() {
3252
3241
  {({ value, onChange }: DataTableFilterInstance) => (
3253
3242
  <InputText
3254
3243
  value={(value as string) ?? ''}
3255
- onChange={(e: any) => onChange(e, e.target.value)}
3244
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) => onChange(e, e.target.value)}
3256
3245
  placeholder="Search"
3257
3246
  size="small"
3258
3247
  fluid
@@ -3266,7 +3255,9 @@ export default function ColumnGroupFilterSortDemo() {
3266
3255
  {({ value, onChange }: DataTableFilterInstance) => (
3267
3256
  <InputText
3268
3257
  value={(value as string) ?? ''}
3269
- onChange={(e: any) => onChange(e, e.target.value ? Number(e.target.value) : null, 'gte')}
3258
+ onChange={(e: React.ChangeEvent<HTMLInputElement>) =>
3259
+ onChange(e, e.target.value ? Number(e.target.value) : null, 'gte')
3260
+ }
3270
3261
  placeholder="≥"
3271
3262
  size="small"
3272
3263
  fluid
@@ -3279,7 +3270,7 @@ export default function ColumnGroupFilterSortDemo() {
3279
3270
  </DataTableTHeadRow>
3280
3271
  </DataTableTHead>
3281
3272
  <DataTableTBody>
3282
- {({ item }: { item: any }) => (
3273
+ {({ item }: { item: Sale }) => (
3283
3274
  <DataTableRow key={item.id}>
3284
3275
  <DataTableCell>
3285
3276
  <span className="font-medium">{item.product}</span>
@@ -3402,7 +3393,7 @@ export default function FilterDemo() {
3402
3393
  </DataTableTHeadRow>
3403
3394
  </DataTableTHead>
3404
3395
  <DataTableTBody>
3405
- {({ item }: { item: any }) => (
3396
+ {({ item }: { item: Product }) => (
3406
3397
  <DataTableRow key={item.id}>
3407
3398
  <DataTableCell>
3408
3399
  <span className="font-medium">{item.name}</span>
@@ -3489,7 +3480,7 @@ export default function TemplateDemo() {
3489
3480
  </DataTableTHeadRow>
3490
3481
  </DataTableTHead>
3491
3482
  <DataTableTBody>
3492
- {({ item }: { item: any }) => (
3483
+ {({ item }: { item: Product }) => (
3493
3484
  <DataTableRow key={item.id}>
3494
3485
  <DataTableCell>
3495
3486
  <div className="flex items-center gap-3">
@@ -3611,7 +3602,7 @@ export default function ExportDemo() {
3611
3602
  </DataTableTHeadRow>
3612
3603
  </DataTableTHead>
3613
3604
  <DataTableTBody>
3614
- {({ item }: { item: any }) => (
3605
+ {({ item }: { item: Product }) => (
3615
3606
  <DataTableRow key={item.id}>
3616
3607
  <DataTableCell>
3617
3608
  <div className="flex items-center gap-3">
@@ -3755,7 +3746,7 @@ export default function LoadingOverlayDemo() {
3755
3746
  </DataTableTHeadRow>
3756
3747
  </DataTableTHead>
3757
3748
  <DataTableTBody>
3758
- {({ item }: { item: any }) => (
3749
+ {({ item }: { item: Product }) => (
3759
3750
  <DataTableRow key={item.id}>
3760
3751
  <DataTableCell>
3761
3752
  <div className="flex items-center gap-3">
@@ -3886,7 +3877,7 @@ export default function LoadingSkeletonDemo() {
3886
3877
  </DataTableTHeadRow>
3887
3878
  </DataTableTHead>
3888
3879
  <DataTableTBody>
3889
- {({ item }: { item: any }) =>
3880
+ {({ item }: { item: Product }) =>
3890
3881
  isLoading ? (
3891
3882
  <DataTableRow key={item.id}>
3892
3883
  <DataTableCell>
@@ -3992,7 +3983,7 @@ export default function EmptyDemo() {
3992
3983
  </DataTableTHeadRow>
3993
3984
  </DataTableTHead>
3994
3985
  <DataTableTBody>
3995
- {({ item }: { item: any }) => (
3986
+ {({ item }: { item: Record<string, unknown> }) => (
3996
3987
  <DataTableRow key={String(item.id)}>
3997
3988
  <DataTableCell>{String(item.name)}</DataTableCell>
3998
3989
  <DataTableCell>{String(item.category)}</DataTableCell>
@@ -246,7 +246,6 @@ Checkbox and RadioButton components can be combined with an input element under
246
246
 
247
247
  ```tsx
248
248
  'use client';
249
- import { Check } from '@primeicons/react';
250
249
  import { Checkbox } from '@/components/ui/checkbox';
251
250
  import { InputGroup, InputGroupAddon } from '@/components/ui/inputgroup';
252
251
  import { InputText } from '@/components/ui/inputtext';
@@ -7,6 +7,7 @@ Select is used to choose an item from a collection of options.
7
7
  import { Select, SelectList, SelectOption, SelectPopup, SelectPortal, SelectPositioner, SelectTrigger, SelectValue } from '@/components/ui/select';
8
8
  import type { SelectValueChangeEvent } from 'primereact/select';
9
9
  import * as React from 'react';
10
+
10
11
  const languages = [
11
12
  { label: 'Select your language', value: '' },
12
13
  { label: 'English', value: 'en' },
@@ -112,6 +113,7 @@ Choose a single value from a dropdown list of options.
112
113
  import { Select, SelectList, SelectOption, SelectPopup, SelectPortal, SelectPositioner, SelectTrigger, SelectValue } from '@/components/ui/select';
113
114
  import type { SelectValueChangeEvent } from 'primereact/select';
114
115
  import * as React from 'react';
116
+
115
117
  const languages = [
116
118
  { label: 'Select your language', value: '' },
117
119
  { label: 'English', value: 'en' },
@@ -635,6 +637,7 @@ export default function GroupDemo() {
635
637
  <SelectList>
636
638
  {(() => {
637
639
  let index = 0;
640
+
638
641
  return jobCategories.flatMap((category) => [
639
642
  <SelectOption key={`group-${category.code}`} index={index++} group>
640
643
  {category.label}
@@ -49,9 +49,10 @@ import {
49
49
  Users
50
50
  } from '@primeicons/react';
51
51
  import * as React from 'react';
52
+ import type { IconProps } from '@primeicons/react/core';
52
53
 
53
54
  type NavItem = {
54
- icon: React.FC<any>;
55
+ icon: React.FC<IconProps>;
55
56
  label: string;
56
57
  isActive?: boolean;
57
58
  badge?: string;
@@ -331,9 +332,12 @@ import { ChevronDown } from '@primeicons/react/chevron-down';
331
332
  import { SelectValueChangeEvent } from 'primereact/select';
332
333
  import { ToggleButtonGroupValueChangeEvent } from 'primereact/togglebuttongroup';
333
334
  import * as React from 'react';
335
+ import type { CheckboxRootChangeEvent } from 'primereact/checkbox';
336
+ import type { IconProps } from '@primeicons/react/core';
337
+ import type { SidebarCollapsible, SidebarSide, SidebarVariant } from '@primereact/ui/sidebar';
334
338
 
335
339
  type NavItem = {
336
- icon: React.FC<any>;
340
+ icon: React.FC<IconProps>;
337
341
  label: string;
338
342
  isActive?: boolean;
339
343
  badge?: string;
@@ -382,9 +386,9 @@ const collapsibleOptions = [
382
386
  ];
383
387
 
384
388
  export default function VariantsDemo() {
385
- const [variant, setVariant] = React.useState<'sidebar' | 'floating' | 'inset'>('sidebar');
386
- const [collapsible, setCollapsible] = React.useState<'icon' | 'offcanvas' | 'none'>('icon');
387
- const [side, setSide] = React.useState<'left' | 'right'>('left');
389
+ const [variant, setVariant] = React.useState<SidebarVariant>('sidebar');
390
+ const [collapsible, setCollapsible] = React.useState<SidebarCollapsible>('icon');
391
+ const [side, setSide] = React.useState<SidebarSide>('left');
388
392
  const [overlay, setOverlay] = React.useState(false);
389
393
  const [openOnHover, setOpenOnHover] = React.useState(false);
390
394
  const [backdrop, setBackdrop] = React.useState(false);
@@ -394,7 +398,7 @@ export default function VariantsDemo() {
394
398
  <div className="flex flex-wrap items-center gap-4 mb-4">
395
399
  <Select
396
400
  value={variant}
397
- onValueChange={(e: SelectValueChangeEvent) => setVariant(e.value as any)}
401
+ onValueChange={(e: SelectValueChangeEvent) => setVariant(e.value as SidebarVariant)}
398
402
  options={variantOptions}
399
403
  optionLabel="label"
400
404
  optionValue="value"
@@ -413,7 +417,7 @@ export default function VariantsDemo() {
413
417
  </Select>
414
418
  <Select
415
419
  value={collapsible}
416
- onValueChange={(e: SelectValueChangeEvent) => setCollapsible(e.value as any)}
420
+ onValueChange={(e: SelectValueChangeEvent) => setCollapsible(e.value as SidebarCollapsible)}
417
421
  options={collapsibleOptions}
418
422
  optionLabel="label"
419
423
  optionValue="value"
@@ -440,19 +444,19 @@ export default function VariantsDemo() {
440
444
  <ToggleButton value="right">Right</ToggleButton>
441
445
  </ToggleButtonGroup>
442
446
  <div className="flex items-center gap-2">
443
- <Checkbox inputId="overlay-cb" checked={overlay} onCheckedChange={(e: any) => setOverlay(e.checked)} />
447
+ <Checkbox inputId="overlay-cb" checked={overlay} onCheckedChange={(e: CheckboxRootChangeEvent) => setOverlay(e.checked)} />
444
448
  <label htmlFor="overlay-cb" className="text-sm font-medium cursor-pointer">
445
449
  Overlay
446
450
  </label>
447
451
  </div>
448
452
  <div className="flex items-center gap-2">
449
- <Checkbox inputId="hover-cb" checked={openOnHover} onCheckedChange={(e: any) => setOpenOnHover(e.checked)} />
453
+ <Checkbox inputId="hover-cb" checked={openOnHover} onCheckedChange={(e: CheckboxRootChangeEvent) => setOpenOnHover(e.checked)} />
450
454
  <label htmlFor="hover-cb" className="text-sm font-medium cursor-pointer">
451
455
  Open on Hover
452
456
  </label>
453
457
  </div>
454
458
  <div className="flex items-center gap-2">
455
- <Checkbox inputId="backdrop-cb" checked={backdrop} onCheckedChange={(e: any) => setBackdrop(e.checked)} />
459
+ <Checkbox inputId="backdrop-cb" checked={backdrop} onCheckedChange={(e: CheckboxRootChangeEvent) => setBackdrop(e.checked)} />
456
460
  <label htmlFor="backdrop-cb" className="text-sm font-medium cursor-pointer">
457
461
  Backdrop
458
462
  </label>
@@ -1181,10 +1185,11 @@ import {
1181
1185
  SidebarTrigger
1182
1186
  } from '@/components/ui/sidebar';
1183
1187
  import { ChevronDown, Folder, Globe, Image, Sidebar as SidebarIcon, Video } from '@primeicons/react';
1188
+ import type { IconProps } from '@primeicons/react/core';
1184
1189
 
1185
1190
  type MenuItem = {
1186
1191
  label: string;
1187
- icon?: React.FC<any>;
1192
+ icon?: React.FC<IconProps>;
1188
1193
  isActive?: boolean;
1189
1194
  children?: MenuItem[];
1190
1195
  };