@acvl/frontend-components 0.0.74 → 0.0.76

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/dist/index.d.ts CHANGED
@@ -2026,13 +2026,29 @@ interface AutocompleteOption {
2026
2026
  label: string;
2027
2027
  }
2028
2028
 
2029
+ /**
2030
+ * Props que el consumidor escribe en `fieldProps` pensando en "el campo" pero que
2031
+ * son del `TextField` que dibuja `renderInput`, no del `Autocomplete`.
2032
+ *
2033
+ * MUI sólo reenvía a `renderInput` `id`, `disabled`, `size`, `fullWidth` e
2034
+ * `InputProps`; lo demás se quedaba en el nodo raíz del `Autocomplete` —sin
2035
+ * efecto y sin aviso—, así que un `fieldProps: { helperText: "…" }` no se veía
2036
+ * por ningún lado. Se reparten antes del spread para que lleguen a su sitio.
2037
+ */
2038
+ declare const TEXT_FIELD_KEYS: readonly ["helperText", "placeholder", "required", "margin"];
2039
+ type TextFieldOnlyProps = Pick<TextFieldProps$1, (typeof TEXT_FIELD_KEYS)[number]>;
2040
+ type AutocompleteFieldProps = Partial<AutocompleteProps<any, any, any, any>> & TextFieldOnlyProps;
2029
2041
  interface ControlledAutocompleteProps {
2030
2042
  name: string;
2031
2043
  label?: string;
2032
2044
  /** Control de react-hook-form; lo inyecta el `EditField` o el panel de filtros. */
2033
2045
  control?: any;
2034
- /** Props que se pasan tal cual al `Autocomplete` (ganan sobre las de aquí). */
2035
- fieldProps?: Partial<AutocompleteProps<any, any, any, any>>;
2046
+ /**
2047
+ * Props del campo (ganan sobre las de aquí). Las del `Autocomplete` van tal
2048
+ * cual; las que son del `TextField` (`helperText`, `placeholder`, `required`,
2049
+ * `margin`) se enrutan solas al input, que es donde se ven.
2050
+ */
2051
+ fieldProps?: AutocompleteFieldProps;
2036
2052
  extraProps?: {
2037
2053
  /** Selección múltiple con casillas y chips. Por defecto, simple. */
2038
2054
  multiple?: boolean;
@@ -2048,7 +2064,10 @@ interface ControlledAutocompleteProps {
2048
2064
  minChars?: number;
2049
2065
  /** Fila de "seleccionar todo" en el modo múltiple. Por defecto, sí. */
2050
2066
  selectAll?: boolean;
2051
- /** Quita el hueco reservado para el mensaje de error debajo del campo. */
2067
+ /**
2068
+ * Quita el hueco reservado para el mensaje de error debajo del campo. No
2069
+ * afecta al `helperText` de `fieldProps`: si hay texto de ayuda, se ve.
2070
+ */
2052
2071
  disableHT?: boolean;
2053
2072
  };
2054
2073
  }
@@ -2941,6 +2960,21 @@ interface DetailPageV2Props {
2941
2960
  responsiveTo?: DetailFormProps["responsiveTo"];
2942
2961
  /** @see DetailFormProps.containerBreakpoints */
2943
2962
  containerBreakpoints?: DetailFormProps["containerBreakpoints"];
2963
+ /**
2964
+ * Deja el renglón del título —con el estado y la barra de acciones— pegado al tope mientras
2965
+ * se scrollea la ficha. Las migas se recogen al llegar arriba, así que lo que se queda es
2966
+ * sólo lo que hace falta tener a la mano.
2967
+ *
2968
+ * Encendido por defecto: una ficha es larga y sus acciones viven arriba, así que sin esto
2969
+ * editar o abrir el historial obliga a volver al principio. Vale igual capturando —ahí lo
2970
+ * que queda a la mano es Guardar y Cancelar—, que es la otra mitad del mismo problema.
2971
+ *
2972
+ * Apagarlo tiene sentido en una ficha corta, donde el encabezado nunca se va. Se ignora
2973
+ * cuando no hay renglón de título donde poner las acciones (pantalla completa, o un
2974
+ * `pageHeader` propio que no lo reserve): ahí vuelven a la esquina flotante de siempre.
2975
+ * @default true
2976
+ */
2977
+ stickyHeader?: boolean;
2944
2978
  slots?: {
2945
2979
  button?: ReactNode;
2946
2980
  /**
@@ -3080,6 +3114,20 @@ interface MainLayoutPageHeaderProps extends PageHeaderProps {
3080
3114
  fullScreen?: boolean;
3081
3115
  detachedPages?: DetachedPage[];
3082
3116
  documentTitleSuffix?: string;
3117
+ /**
3118
+ * El padding horizontal del panel de contenido, que el `MainLayout` le pasa tal cual.
3119
+ *
3120
+ * Hace falta aquí para el encabezado pegado: la banda tiene que llegar a los bordes del
3121
+ * panel para tapar lo que pasa por debajo, y ese padding es lo que hay que descontar.
3122
+ * @see MainLayoutProps.contentPaddingX
3123
+ */
3124
+ contentPaddingX?: number | string;
3125
+ /**
3126
+ * El fondo del panel de contenido, también del `MainLayout`. Pegada, la banda se pinta de
3127
+ * ese color: es el suelo por el que el contenido se desliza, no una tarjeta encima de él.
3128
+ * @see MainLayoutProps.pageBackgroundColor
3129
+ */
3130
+ pageBackgroundColor?: string;
3083
3131
  }
3084
3132
 
3085
3133
  /**
@@ -3382,6 +3430,49 @@ declare const PageBadgeHostContext: React.Context<PageBadgeHost | null>;
3382
3430
  /** El hueco de la insignia del encabezado, o `null` si no hay ninguno arriba. */
3383
3431
  declare const usePageBadgeHost: () => PageBadgeHost | null;
3384
3432
 
3433
+ interface StickyPageHeaderHost {
3434
+ /** Si la página que está montada pidió que el renglón del título se quede arriba. */
3435
+ fijo: boolean;
3436
+ /**
3437
+ * La página se anota al montarse y se borra al irse. Se lleva un padrón y no un booleano
3438
+ * suelto porque al cambiar de ruta las dos páginas coexisten un instante —React desmonta la
3439
+ * vieja después de montar la nueva—, y con un solo valor la que se va apagaría lo que acaba
3440
+ * de pedir la que llega.
3441
+ */
3442
+ registrar: (id: string, pedido: boolean) => void;
3443
+ }
3444
+ /**
3445
+ * Cómo una página le dice al encabezado que se quede pegado arriba.
3446
+ *
3447
+ * Va por contexto y no por prop del `MainLayout` porque la decisión es de la página, no del
3448
+ * cascarón: una ficha quiere el título y sus acciones siempre a la mano, y una vista de lista
3449
+ * —que ya scrollea dentro del DataGrid— no gana nada con ellos. Es el mismo viaje que hacen las
3450
+ * acciones y el estado del registro (ver `PageActionsHostContext`), en sentido contrario: allá
3451
+ * la página manda contenido al encabezado, aquí le manda una decisión.
3452
+ *
3453
+ * Fuera de un `MainLayout` el contexto es `null` y no pasa nada: el encabezado de ese proyecto
3454
+ * se queda como estaba.
3455
+ */
3456
+ declare const StickyPageHeaderContext: React.Context<StickyPageHeaderHost | null>;
3457
+ /** Lo lee el encabezado para saber si le toca pegarse. */
3458
+ declare const useStickyPageHeaderHost: () => StickyPageHeaderHost | null;
3459
+ /**
3460
+ * Pide, desde una página, que el renglón del título se quede pegado al tope mientras se scrollea.
3461
+ *
3462
+ * useStickyPageHeader(true);
3463
+ *
3464
+ * El pedido se retira solo al desmontarse la página, así que la siguiente ruta arranca con el
3465
+ * encabezado como lo haya pedido ella. Pasar `false` es no pedir nada —sirve para apagarlo desde
3466
+ * una prop sin romper el orden de los hooks—.
3467
+ *
3468
+ * Pedirlo cambia además cómo se mide el área de trabajo: en vez de quedarse en el hueco visible
3469
+ * crece con su contenido, como un documento. No es un efecto colateral sino la condición de que
3470
+ * la banda se quede pegada en todo el largo —`position: sticky` no se despega de su bloque
3471
+ * contenedor—, pero conviene saberlo: una página que necesite el alto repartido para que su
3472
+ * tabla scrollee por dentro (`<Base height={1}>`) no es candidata a encabezado pegado.
3473
+ */
3474
+ declare const useStickyPageHeader: (pedido: boolean) => void;
3475
+
3385
3476
  /**
3386
3477
  * Contenido por defecto de cada snack dentro de `ObjectProgressStack`.
3387
3478
  * Muestra una barra de progreso (determinada si `progress` viene definido,
@@ -3638,5 +3729,5 @@ interface UseColorModeResult {
3638
3729
  }
3639
3730
  declare function useColorMode(): UseColorModeResult;
3640
3731
 
3641
- export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, ChipCell, ConfirmDialog, ContentLayout, ControlledAddressAutocomplete, ControlledAmountWithCurrency, ControlledAutocomplete, ControlledColor, ControlledDate$1 as ControlledDate, ControlledDate as ControlledDate_v2, ControlledDropdown, ControlledFileField$1 as ControlledFileField, ControlledFileField as ControlledFileField_v2, FileUploadBox as ControlledFileUploadBox, ControlledNumber, ControlledPhoneNumber, ControlledSelect$1 as ControlledSelect, ControlledSelect as ControlledSelect_v2, ControlledSlider as ControlledSimpleSlider, ControlledSlider$1 as ControlledSlider, ControlledSwitch, ControlledText, ControlledTimePicker, ControlledToggleButtons, CoverPage, CreateButtonBase, CreateButtonWithMenuOptions, CrudDropdown, CustomNoRows, DEFAULT_FORM_BREAKPOINTS, DEFAULT_PAGINATION, DeleteButton, DeleteConfirmationDialog, DetailFormDialog as DetailFormDialog_v2, DetailFormDrawer as DetailFormDrawer_v2, DetailForm as DetailForm_v2, DetailPage$1 as DetailPage, DetailPage as DetailPage_v2, DrawerGrid as DrawerGrid_v2, EditButton, ExportCSV$1 as ExportCSV, ExportCSV as ExportCSV_v2, ExtraButtons, FORM_CONTAINER_NAME, GlobalSearch, HEADER_CONTAINER, HEADER_NARROW, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PAGE_SIZE_OPTIONS, PageActionsHostContext, PageBadgeHostContext, PageInfo, PageInfoHostContext, Panel, PollingCountdownChip, PulseDot, RESPONSIVE_ACTION_MODES, ResponsiveActions, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StyledMenu, Tabs, Transitions, TrueFalse, UncontrolledText, changeTitle, closeProgressSnack, composeGridProps, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, headerContainerSx, _default as headerReducer, manualCacheRefresh, mergeSettings, openProgressSnack, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, resolveStatusColor, setErrors, _default$1 as snackProgressReducer, statusColors, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useMutationHandler, useNavigation, usePageActionsHost, usePageBadgeHost, usePageInfoHost, useServerGrid, useSidePanelHost, valueLabel };
3642
- export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, AutocompleteOption, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledAutocompleteProps, ControlledInput, CustomFilterDef, CustomToolbarProps, DeleteGridColumnsProps$1 as DeleteGridColumnsProps, DetachedPage, DetailExtraButton, DetailFormApi, DetailFormConfig, DetailFormController, DetailFormDialogProps, DetailFormDrawerNavigation, DetailFormDrawerProps, DetailFormProps, DetailFormStatus, DetailPageV2Props, DetailRenderProps, DrawerGridDrawerConfig, DrawerGridEditConfig, DrawerGridProps, EditGridColumnsProps, EditReadOnlyFields, ExportCSVProps as ExportCSVProps_v2, FieldFilter, FieldProps$1 as FieldProps, FieldValidationProps, FilterInput, FormBreakpoint, FormGridSxOptions, GlobalSearchOption, GlobalSearchProps, GridArgs, GridColDefPropsOverrides, GridLayerContribution, GridLayerId, GridLayerMap, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MyDataGridProps, MyGridFilterModel, MyTab, MyTabProps, NotificationItemProps, NotificationsApi, NotificationsBellProps, PageActionsHost, PageBadgeHost, PageInfoHost, PageInfoProps, PageType, PanelProps, PollingCountdownChipProps, ProgressStatusProps, PulseDotProps, ResponsiveAction, ResponsiveActionsMode, ResponsiveActionsProps, RowsSnapshot, ServerGridArgs, ServerGridCreateApi, ServerGridDataApi, ServerGridDeleteApi, ServerGridEditApi, ServerGridEditToggleApi, ServerGridHandle, ServerGridProps, ServerGridSnapshot, ServerGridState, SidePanelHost, StatusColor, UseColorModeResult, UseServerGridOptions };
3732
+ export { APIContext, APIProvider, AccountMenuContent, ActiveCell, ActiveIcon, Base, ButtonWithDrawer, COLOR_SCHEME_SELECTOR, CSVUpload, ChipCell, ConfirmDialog, ContentLayout, ControlledAddressAutocomplete, ControlledAmountWithCurrency, ControlledAutocomplete, ControlledColor, ControlledDate$1 as ControlledDate, ControlledDate as ControlledDate_v2, ControlledDropdown, ControlledFileField$1 as ControlledFileField, ControlledFileField as ControlledFileField_v2, FileUploadBox as ControlledFileUploadBox, ControlledNumber, ControlledPhoneNumber, ControlledSelect$1 as ControlledSelect, ControlledSelect as ControlledSelect_v2, ControlledSlider as ControlledSimpleSlider, ControlledSlider$1 as ControlledSlider, ControlledSwitch, ControlledText, ControlledTimePicker, ControlledToggleButtons, CoverPage, CreateButtonBase, CreateButtonWithMenuOptions, CrudDropdown, CustomNoRows, DEFAULT_FORM_BREAKPOINTS, DEFAULT_PAGINATION, DeleteButton, DeleteConfirmationDialog, DetailFormDialog as DetailFormDialog_v2, DetailFormDrawer as DetailFormDrawer_v2, DetailForm as DetailForm_v2, DetailPage$1 as DetailPage, DetailPage as DetailPage_v2, DrawerGrid as DrawerGrid_v2, EditButton, ExportCSV$1 as ExportCSV, ExportCSV as ExportCSV_v2, ExtraButtons, FORM_CONTAINER_NAME, GlobalSearch, HEADER_CONTAINER, HEADER_NARROW, HistorialDrawer, KpiCard, LAYER_ORDER, ListPage, Loadable, LoadingComponent, Logo, MainDrawer, MainDrawer$1 as MainDrawer_v2, MainLayout, MenuItemWithLoading, ModuleCard, MoreOptions, MyGridEditSingleSelect, NavigationContext, NavigationProvider, NormalOrIcon, NotAllowed, NotFound, NotificationItem, NotificationsBell, ObjectProgressStack, PAGE_SIZE_OPTIONS, PageActionsHostContext, PageBadgeHostContext, PageInfo, PageInfoHostContext, Panel, PollingCountdownChip, PulseDot, RESPONSIVE_ACTION_MODES, ResponsiveActions, SIDE_PANEL_WIDTH_VAR, SaveCancelButton, ServerGrid as ServerGrid_v2, SidePanelHostContext, StatusBadge, StickyPageHeaderContext, StyledMenu, Tabs, Transitions, TrueFalse, UncontrolledText, changeTitle, closeProgressSnack, composeGridProps, deleteColumn$1 as deleteColumn, deleteColumn as deleteColumn_v2, editColumn, filterQuery, formContainerSx, formGridSx, formParser, headerContainerSx, _default as headerReducer, manualCacheRefresh, mergeSettings, openProgressSnack, query, renderChipCell, renderEditCellWithErrorTooltip, resolveChipOption, resolveInitialState, resolveStatusColor, setErrors, _default$1 as snackProgressReducer, statusColors, tags, theme, togglableFields, updateProgressSnackData, useAPI, useColorMode, useDetailForm, useHasPermission, useHasPermission_v2, useKeyboardShortcut, useMutationHandler, useNavigation, usePageActionsHost, usePageBadgeHost, usePageInfoHost, useServerGrid, useSidePanelHost, useStickyPageHeader, useStickyPageHeaderHost, valueLabel };
3733
+ export type { APIcontextProps, AccountMenuContentProps, AccountMenuItem, AddressValue, AppTheme, AutocompleteOption, ChipCellProps, ChipColor, ChipOption, ColorMode, ComoOpcionesProps, ConfirmDialogProps, ControlledAutocompleteProps, ControlledInput, CustomFilterDef, CustomToolbarProps, DeleteGridColumnsProps$1 as DeleteGridColumnsProps, DetachedPage, DetailExtraButton, DetailFormApi, DetailFormConfig, DetailFormController, DetailFormDialogProps, DetailFormDrawerNavigation, DetailFormDrawerProps, DetailFormProps, DetailFormStatus, DetailPageV2Props, DetailRenderProps, DrawerGridDrawerConfig, DrawerGridEditConfig, DrawerGridProps, EditGridColumnsProps, EditReadOnlyFields, ExportCSVProps as ExportCSVProps_v2, FieldFilter, FieldProps$1 as FieldProps, FieldValidationProps, FilterInput, FormBreakpoint, FormGridSxOptions, GlobalSearchOption, GlobalSearchProps, GridArgs, GridColDefPropsOverrides, GridLayerContribution, GridLayerId, GridLayerMap, JSONFormProps, JSONParserProps, KeyboardShortcut, KpiCardProps, MainDrawerV2Props, MainLayoutFooterConfig, MainLayoutPageHeaderProps, MainLayoutProps, MainLayoutSidebarFooterProps, MyDataGridProps, MyGridFilterModel, MyTab, MyTabProps, NotificationItemProps, NotificationsApi, NotificationsBellProps, PageActionsHost, PageBadgeHost, PageInfoHost, PageInfoProps, PageType, PanelProps, PollingCountdownChipProps, ProgressStatusProps, PulseDotProps, ResponsiveAction, ResponsiveActionsMode, ResponsiveActionsProps, RowsSnapshot, ServerGridArgs, ServerGridCreateApi, ServerGridDataApi, ServerGridDeleteApi, ServerGridEditApi, ServerGridEditToggleApi, ServerGridHandle, ServerGridProps, ServerGridSnapshot, ServerGridState, SidePanelHost, StatusColor, StickyPageHeaderHost, UseColorModeResult, UseServerGridOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acvl/frontend-components",
3
- "version": "0.0.74",
3
+ "version": "0.0.76",
4
4
  "description": "Component library for ACV frontend projects.",
5
5
  "homepage": "https://github.com/ACV-Logistics/acv-frontend-components#readme",
6
6
  "access": "public",