@sfperusacdev/sf-ui 0.3.3 → 0.3.4

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.
@@ -34,5 +34,8 @@ export type DetailSidePanelProps = {
34
34
  items?: DetailSidePanelSecondaryItem[];
35
35
  width?: number | string;
36
36
  className?: string;
37
+ /** Si se pasa, el panel recibe el foco con su nombre al montarse y cada vez que cambia (otro registro): así Escape y
38
+ * Tab quedan en la ficha recién abierta. Sin la prop, el panel no mueve el foco. */
39
+ focusKey?: string;
37
40
  };
38
- export declare const DetailSidePanel: ({ title, onClose, headerAction, icon, iconSize, heading, badge, rows, align, actions, sectionTitle, items, width, className, }: DetailSidePanelProps) => import('react').JSX.Element;
41
+ export declare const DetailSidePanel: ({ title, onClose, headerAction, icon, iconSize, heading, badge, rows, align, actions, sectionTitle, items, width, className, focusKey, }: DetailSidePanelProps) => import('react').JSX.Element;
@@ -17,14 +17,21 @@ export type ProtectedExit = {
17
17
  };
18
18
  export type UnsavedChangesProviderProps = {
19
19
  children: ReactNode;
20
+ /**
21
+ * Frena Atrás y Adelante del navegador mientras haya cambios, con la misma pregunta; «Descartar cambios» hace el
22
+ * movimiento pedido. No depende del enrutador de la app: usa la Navigation API, que avisa antes de que cambie la URL
23
+ * (Chrome y Edge ≥ 102). Sin ella, o si el navegador no deja cancelar ese movimiento, no frena: queda el aviso al
24
+ * recargar. No se combina con un bloqueador del enrutador que haga lo mismo.
25
+ */
26
+ guardHistory?: boolean;
20
27
  };
21
28
  /**
22
29
  * Un solo lugar que sabe qué capturas tienen cambios sin guardar y una sola pregunta para salir de ellas. Las
23
30
  * pantallas registran su captura con `useUnsavedChanges`; los cierres, cambios de registro y el adaptador del
24
31
  * enrutador de la app piden salir con `useProtectedExit().protect`. Mientras haya cambios, recargar o cerrar la
25
- * pestaña muestra el aviso nativo del navegador.
32
+ * pestaña muestra el aviso nativo del navegador, y con `guardHistory` también preguntan Atrás y Adelante.
26
33
  */
27
- export declare const UnsavedChangesProvider: ({ children }: UnsavedChangesProviderProps) => import('react').JSX.Element;
34
+ export declare const UnsavedChangesProvider: ({ children, guardHistory }: UnsavedChangesProviderProps) => import('react').JSX.Element;
28
35
  /**
29
36
  * Registra una captura mientras `dirty` sea verdadero; al guardar, descartar o desmontar se borra sola. Un ámbito por
30
37
  * captura visible (la ficha, una edición en línea, un paso): dos capturas abiertas son dos ámbitos.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sfperusacdev/sf-ui",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "SF UI — librería de componentes React (inputs, tablas, hooks) para aplicaciones SF Perú.",
5
5
  "type": "module",
6
6
  "main": "./dist/sf-ui.umd.cjs",