@acvl/frontend-components 0.0.75 → 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
@@ -2960,6 +2960,21 @@ interface DetailPageV2Props {
2960
2960
  responsiveTo?: DetailFormProps["responsiveTo"];
2961
2961
  /** @see DetailFormProps.containerBreakpoints */
2962
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;
2963
2978
  slots?: {
2964
2979
  button?: ReactNode;
2965
2980
  /**
@@ -3099,6 +3114,20 @@ interface MainLayoutPageHeaderProps extends PageHeaderProps {
3099
3114
  fullScreen?: boolean;
3100
3115
  detachedPages?: DetachedPage[];
3101
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;
3102
3131
  }
3103
3132
 
3104
3133
  /**
@@ -3401,6 +3430,49 @@ declare const PageBadgeHostContext: React.Context<PageBadgeHost | null>;
3401
3430
  /** El hueco de la insignia del encabezado, o `null` si no hay ninguno arriba. */
3402
3431
  declare const usePageBadgeHost: () => PageBadgeHost | null;
3403
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
+
3404
3476
  /**
3405
3477
  * Contenido por defecto de cada snack dentro de `ObjectProgressStack`.
3406
3478
  * Muestra una barra de progreso (determinada si `progress` viene definido,
@@ -3657,5 +3729,5 @@ interface UseColorModeResult {
3657
3729
  }
3658
3730
  declare function useColorMode(): UseColorModeResult;
3659
3731
 
3660
- 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 };
3661
- 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.75",
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",