@robosophy/ui-react 1.0.1 → 3.0.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.
package/AGENTS.md CHANGED
@@ -30,14 +30,14 @@ The main barrel (`@robosophy/ui-react`) loads all components including PrimeReac
30
30
  PrimeReact apps:
31
31
 
32
32
  ```tsx
33
- import { PrimeReactProvider } from "primereact/api";
33
+ import { PrimeReactProvider } from "@primereact/core";
34
34
  import RobosophyPreset from "@robosophy/prime-theme";
35
35
  import "@robosophy/prime-theme/prime.css";
36
36
  import "@robosophy/ui-react/styles.css";
37
37
 
38
38
  function MyApp({ Component, pageProps }) {
39
39
  return (
40
- <PrimeReactProvider value={{ theme: { preset: RobosophyPreset } }}>
40
+ <PrimeReactProvider theme={{ preset: RobosophyPreset }}>
41
41
  <Component {...pageProps} />
42
42
  </PrimeReactProvider>
43
43
  );
package/README.md CHANGED
@@ -32,14 +32,14 @@ If your app uses PrimeReact, configure the Robosophy preset and load its tokens/
32
32
 
33
33
  ```tsx
34
34
  // app/layout.tsx or pages/_app.tsx
35
- import { PrimeReactProvider } from "primereact/api";
35
+ import { PrimeReactProvider } from "@primereact/core";
36
36
  import RobosophyPreset from "@robosophy/prime-theme";
37
37
  import "@robosophy/prime-theme/prime.css";
38
38
  import "@robosophy/ui-react/styles.css";
39
39
 
40
40
  function MyApp({ Component, pageProps }) {
41
41
  return (
42
- <PrimeReactProvider value={{ theme: { preset: RobosophyPreset } }}>
42
+ <PrimeReactProvider theme={{ preset: RobosophyPreset }}>
43
43
  <Component {...pageProps} />
44
44
  </PrimeReactProvider>
45
45
  );
@@ -148,7 +148,7 @@ robosophyMaterialSymbols({
148
148
  For PrimeReact APIs that receive `icon` as a string, use the helper:
149
149
 
150
150
  ```tsx
151
- import { Button } from "primereact/button";
151
+ import { Button } from "@primereact/ui/button";
152
152
  import { rsPrimeIcon } from "@robosophy/ui-react";
153
153
 
154
154
  <Button label="Inicio" icon={rsPrimeIcon("home")} />
@@ -158,7 +158,7 @@ import { rsPrimeIcon } from "@robosophy/ui-react";
158
158
  For full control over props (fill, grade, etc.), use the `icon` slot:
159
159
 
160
160
  ```tsx
161
- import { Button } from "primereact/button";
161
+ import { Button } from "@primereact/ui/button";
162
162
  import { RsIcon } from "@robosophy/ui-react";
163
163
 
164
164
  <Button label="Favorito" icon={<RsIcon name="favorite" fill color="danger" />} />
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // src/components/RsSidebar/RsSidebar.tsx
6
6
  import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from "react";
7
- import { Menu } from "primereact/menu";
7
+ import { Menu } from "@primereact/ui/menu";
8
8
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
9
9
  var variantIconMap = {
10
10
  pc: "article",
@@ -82,22 +82,6 @@ var RsSidebar = forwardRef(
82
82
  },
83
83
  [navigateOnModuleSelect, onModuleSelect]
84
84
  );
85
- const moduleMenuItems = useMemo(
86
- () => modules.map((module) => {
87
- const isCurrent = module.active || module.text === displayedHeaderTitle;
88
- return {
89
- className: [
90
- "rs-sidebar__module-option",
91
- isCurrent ? "rs-sidebar__module-option--active" : "",
92
- module.disabled || isCurrent ? "rs-sidebar__module-option--disabled" : ""
93
- ].filter(Boolean).join(" "),
94
- command: () => selectModule(module),
95
- disabled: module.disabled || isCurrent,
96
- label: module.text
97
- };
98
- }),
99
- [modules, displayedHeaderTitle, selectModule]
100
- );
101
85
  const displayedItems = useMemo(
102
86
  () => activeParent ? (activeParent.children ?? []).filter(isVisible) : visibleItems,
103
87
  [activeParent, visibleItems]
@@ -281,16 +265,24 @@ var RsSidebar = forwardRef(
281
265
  if (!hasModuleSelector || !isModuleMenuOpen) {
282
266
  return null;
283
267
  }
284
- return /* @__PURE__ */ jsx(
285
- Menu,
286
- {
287
- className: "rs-sidebar__module-menu",
288
- model: moduleMenuItems,
289
- pt: {
290
- root: { role: "menu" }
291
- }
292
- }
293
- );
268
+ return /* @__PURE__ */ jsx(Menu.Root, { className: "rs-sidebar__module-menu", children: /* @__PURE__ */ jsx(Menu.List, { role: "menu", children: modules.map((module) => {
269
+ const isCurrent = module.active || module.text === displayedHeaderTitle;
270
+ return /* @__PURE__ */ jsx(
271
+ Menu.Item,
272
+ {
273
+ value: module.text,
274
+ className: [
275
+ "rs-sidebar__module-option",
276
+ isCurrent ? "rs-sidebar__module-option--active" : "",
277
+ module.disabled || isCurrent ? "rs-sidebar__module-option--disabled" : ""
278
+ ].filter(Boolean).join(" "),
279
+ disabled: module.disabled || isCurrent,
280
+ onSelect: () => selectModule(module),
281
+ children: module.text
282
+ },
283
+ module.text
284
+ );
285
+ }) }) });
294
286
  };
295
287
  const renderFooterContent = () => {
296
288
  if (typeof footer === "function") {
@@ -132,7 +132,7 @@
132
132
  line-height: 1;
133
133
  text-overflow: ellipsis;
134
134
  }
135
- .rs-sidebar__module-menu.p-menu {
135
+ .rs-sidebar__module-menu {
136
136
  background: var(--rs-sidebar-background);
137
137
  border: 1px solid var(--rs-sidebar-border);
138
138
  border-radius: 4px;
@@ -149,34 +149,30 @@
149
149
  gap: 0;
150
150
  padding: 0;
151
151
  }
152
- .rs-sidebar__module-option .p-menu-item-content {
152
+ .rs-sidebar__module-menu .rs-sidebar__module-option {
153
153
  color: var(--rs-sidebar-color);
154
154
  border-radius: 0;
155
- }
156
- .rs-sidebar__module-option .p-menu-item-link {
157
155
  font-family: inherit;
158
156
  font-size: inherit;
159
157
  line-height: 1;
160
158
  min-height: 38px;
161
159
  padding: 10px 14px;
162
160
  }
163
- .rs-sidebar__module-option:not(.p-disabled) .p-menu-item-content:hover,
164
- .rs-sidebar__module-option--active .p-menu-item-content {
161
+ .rs-sidebar__module-menu .rs-sidebar__module-option:not(.p-disabled):hover,
162
+ .rs-sidebar__module-menu .rs-sidebar__module-option--active {
165
163
  background: var(--rs-sidebar-hover);
166
164
  color: var(--rs-sidebar-color);
167
165
  }
168
- .rs-sidebar__module-option--disabled .p-menu-item-content {
166
+ .rs-sidebar__module-menu .rs-sidebar__module-option--disabled {
169
167
  color: var(--rs-sidebar-muted);
170
168
  cursor: not-allowed;
171
169
  }
172
- .rs-sidebar__module-option--disabled .p-menu-item-content:hover {
170
+ .rs-sidebar__module-menu .rs-sidebar__module-option--disabled:hover {
173
171
  background: transparent;
174
172
  }
175
- .rs-sidebar__module-option.p-focus .p-menu-item-content {
173
+ .rs-sidebar__module-menu .rs-sidebar__module-option.p-focus {
176
174
  background: var(--rs-sidebar-hover);
177
175
  color: var(--rs-sidebar-color);
178
- }
179
- .rs-sidebar__module-option.p-focus .p-menu-item-link {
180
176
  outline: 2px solid var(--rs-color-stroke-focused, #48a0d4);
181
177
  outline-offset: -2px;
182
178
  }
@@ -1,7 +1,7 @@
1
1
  // AUTO-GENERATED FILE. DO NOT EDIT MANUALLY.
2
2
  import {
3
3
  RsSidebar_default
4
- } from "../../chunk-AEWPQXHG.js";
4
+ } from "../../chunk-DA5JOU36.js";
5
5
  import "../../chunk-PEJOAJYL.js";
6
6
  import "../../chunk-D4ZW5VUU.js";
7
7
  export {
package/dist/index.css CHANGED
@@ -182,7 +182,7 @@
182
182
  line-height: 1;
183
183
  text-overflow: ellipsis;
184
184
  }
185
- .rs-sidebar__module-menu.p-menu {
185
+ .rs-sidebar__module-menu {
186
186
  background: var(--rs-sidebar-background);
187
187
  border: 1px solid var(--rs-sidebar-border);
188
188
  border-radius: 4px;
@@ -199,34 +199,30 @@
199
199
  gap: 0;
200
200
  padding: 0;
201
201
  }
202
- .rs-sidebar__module-option .p-menu-item-content {
202
+ .rs-sidebar__module-menu .rs-sidebar__module-option {
203
203
  color: var(--rs-sidebar-color);
204
204
  border-radius: 0;
205
- }
206
- .rs-sidebar__module-option .p-menu-item-link {
207
205
  font-family: inherit;
208
206
  font-size: inherit;
209
207
  line-height: 1;
210
208
  min-height: 38px;
211
209
  padding: 10px 14px;
212
210
  }
213
- .rs-sidebar__module-option:not(.p-disabled) .p-menu-item-content:hover,
214
- .rs-sidebar__module-option--active .p-menu-item-content {
211
+ .rs-sidebar__module-menu .rs-sidebar__module-option:not(.p-disabled):hover,
212
+ .rs-sidebar__module-menu .rs-sidebar__module-option--active {
215
213
  background: var(--rs-sidebar-hover);
216
214
  color: var(--rs-sidebar-color);
217
215
  }
218
- .rs-sidebar__module-option--disabled .p-menu-item-content {
216
+ .rs-sidebar__module-menu .rs-sidebar__module-option--disabled {
219
217
  color: var(--rs-sidebar-muted);
220
218
  cursor: not-allowed;
221
219
  }
222
- .rs-sidebar__module-option--disabled .p-menu-item-content:hover {
220
+ .rs-sidebar__module-menu .rs-sidebar__module-option--disabled:hover {
223
221
  background: transparent;
224
222
  }
225
- .rs-sidebar__module-option.p-focus .p-menu-item-content {
223
+ .rs-sidebar__module-menu .rs-sidebar__module-option.p-focus {
226
224
  background: var(--rs-sidebar-hover);
227
225
  color: var(--rs-sidebar-color);
228
- }
229
- .rs-sidebar__module-option.p-focus .p-menu-item-link {
230
226
  outline: 2px solid var(--rs-color-stroke-focused, #48a0d4);
231
227
  outline-offset: -2px;
232
228
  }
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // AUTO-GENERATED FILE. DO NOT EDIT MANUALLY.
2
2
  import {
3
3
  RsSidebar_default
4
- } from "./chunk-AEWPQXHG.js";
4
+ } from "./chunk-DA5JOU36.js";
5
5
  import {
6
6
  RsIcon_default,
7
7
  rsPrimeIcon
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robosophy/ui-react",
3
- "version": "1.0.1",
3
+ "version": "3.0.0",
4
4
  "private": false,
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -43,9 +43,9 @@
43
43
  "test": "vitest run"
44
44
  },
45
45
  "peerDependencies": {
46
- "primereact": ">=10",
47
- "react": ">=18",
48
- "react-dom": ">=18"
46
+ "@primereact/ui": ">=11",
47
+ "react": ">=19",
48
+ "react-dom": ">=19"
49
49
  },
50
50
  "peerDependenciesMeta": {
51
51
  "react": {
@@ -54,7 +54,7 @@
54
54
  "react-dom": {
55
55
  "optional": true
56
56
  },
57
- "primereact": {
57
+ "@primereact/ui": {
58
58
  "optional": true
59
59
  }
60
60
  },
@@ -62,6 +62,7 @@
62
62
  "@robosophy/tokens": "^1.0.4"
63
63
  },
64
64
  "devDependencies": {
65
+ "@primereact/ui": "^11.2.0",
65
66
  "@storybook/addon-docs": "^9.1.0",
66
67
  "@storybook/react": "^9.1.0",
67
68
  "@storybook/react-vite": "^9.1.0",
@@ -70,7 +71,7 @@
70
71
  "@types/react": "^19.1.0",
71
72
  "@types/react-dom": "^19.1.0",
72
73
  "jsdom": "^26.1.0",
73
- "primereact": "^10.9.6",
74
+ "primereact": "^11.2.0",
74
75
  "react": "^19.1.0",
75
76
  "react-dom": "^19.1.0",
76
77
  "storybook": "^9.1.0",