@foris/avocado-not-front 8.4.0 → 8.5.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.
@@ -1,8 +1,12 @@
1
1
  import { type FC } from 'react';
2
- import { DrawerNotFrontProps } from '../../types';
3
- interface DrawerNotFrontExtendedProps extends DrawerNotFrontProps {
2
+ import type { DrawerNotFrontProps } from '../../types';
3
+ /** Builder context is supplied by the registry, never by the component JSON. */
4
+ export interface DrawerNotFrontExtendedProps extends DrawerNotFrontProps {
5
+ /** Flow that owns visibility, entries and action dispatch. */
4
6
  userFlow: string;
7
+ /** Page used when nested components request another UI. */
5
8
  pageId: string;
6
9
  }
10
+ /** Adapts optional JSON chrome while preserving the legacy flow-controlled lifecycle. */
7
11
  declare const DrawerNotFront: FC<DrawerNotFrontExtendedProps>;
8
12
  export default DrawerNotFront;
@@ -0,0 +1,4 @@
1
+ import type { DrawerHeaderConfig } from '../../../../../avocado-suite/drawer-types';
2
+ import type { DrawerHeaderNotFrontConfig } from '../../../types';
3
+ /** Resolves JSON chrome using the same action scope as body/footer buttons. */
4
+ export declare function useDrawerHeader(userFlow: string, pageId: string, config?: DrawerHeaderNotFrontConfig): DrawerHeaderConfig | undefined;
@@ -0,0 +1,3 @@
1
+ import type { DrawerNotFrontSlot } from '../../../types';
2
+ /** Builds a slot without wrappers or reserved space for empty component lists. */
3
+ export declare function useDrawerSlot(userFlow: string, pageId: string, content?: DrawerNotFrontSlot): string | import("react/jsx-runtime").JSX.Element[] | undefined;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { NotFrontComponent } from '../../types/components.type';
2
3
  interface TableRowActionProps {
3
4
  userFlow: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  type UseAvailableHeightArgs = {
2
3
  enabled: boolean;
3
4
  };
@@ -1,9 +1,11 @@
1
- import type { AccordionProps, ButtonProps, CardAccordionProps, CardNotificationProps, CheckboxProps, ContextualNavigationItem, DataCardPaletteIndex, DataCardV2HeaderStyle, DataCardV2Status, DividerProps, DrawerProps, DropzoneUploadStatus, FileUploadProps, HeadingProps, HeaderNavigationBackground, HeaderNavigationVisual, LinkProps, ModalProps, PillProps, PreviewerMarkdownProps, RoundButtonProps, SelectProps, SwitchProps, TableColumn, TableProps, TabsProps, TextareaProps, TextFieldProps, TextProps } from '../../../avocado-suite';
1
+ import type { AccordionProps, ButtonProps, CardAccordionProps, CardNotificationProps, CheckboxProps, ContextualNavigationItem, DataCardPaletteIndex, DataCardV2HeaderStyle, DataCardV2Status, DividerProps, DropzoneUploadStatus, FileUploadProps, HeadingProps, HeaderNavigationBackground, HeaderNavigationVisual, LinkProps, ModalProps, PillProps, PreviewerMarkdownProps, RoundButtonProps, SelectProps, SwitchProps, TableColumn, TableProps, TabsProps, TextareaProps, TextFieldProps, TextProps } from '../../../avocado-suite';
2
+ import type { DrawerProps, DrawerHeaderConfig } from '../../../avocado-suite/drawer-types';
2
3
  import type { AiAgentTheme, ChatPanelTranslations, SuggestionType, SupportedLocale } from '../../../ai-agent';
3
4
  import type { TooltipCoverageConfig } from '../components/chart/chart.types';
4
5
  import type { ChartSeriesConfig, ChartYAxisConfig } from '../components/chart/chart.types';
5
6
  import { NotFrontActionType, NotFrontBaseProps, NotFrontDataSource, NotFrontDataSourceChart, NotFrontDataSourceRest, NotFrontDataSourceSelect, NotFrontDataSourceTable, NotFrontDependency } from './componentsCore.type';
6
7
  import type { TablePillVariant } from '../utils/pillVariant.util';
8
+ import type { IconTypes } from '../../../avocado-icons';
7
9
  /**
8
10
  * Suite `Box`: single `content` slot; `darkMode` is derived in the wrapper.
9
11
  */
@@ -171,6 +173,12 @@ export interface ButtonNotFrontProps extends NotFrontBaseProps, ButtonProps {
171
173
  leftIcon?: ButtonProps['leftIcon'];
172
174
  /** Suite `Button` right icon. */
173
175
  rightIcon?: ButtonProps['rightIcon'];
176
+ /** Accessible name for buttons without visible content. */
177
+ 'aria-label'?: string;
178
+ /** Native tooltip for the action. */
179
+ title?: string;
180
+ /** Optional class passed to the suite button. */
181
+ className?: string;
174
182
  }
175
183
  /**
176
184
  * Interface for the props used in the CardNotificationNotFront component.
@@ -709,15 +717,50 @@ export interface ToastNotFrontProps extends NotFrontBaseProps {
709
717
  */
710
718
  variant: 'success' | 'error' | 'warning' | 'info';
711
719
  }
712
- /**
713
- * Interface for the props used in the DrawerNotFront component.
714
- */
715
- export interface DrawerNotFrontProps extends NotFrontBaseProps, Omit<DrawerProps, 'children' | 'header' | 'footer' | 'isOpen' | 'onClose'> {
720
+ /** Text or registered JSON components; never a React element or callback. */
721
+ export type DrawerNotFrontSlot = string | NotFrontComponent[];
722
+ /** Leading action executed by the existing flow-scoped button action pipeline. */
723
+ export interface DrawerHeaderActionNotFront extends Omit<ButtonActionFields, 'actionType'> {
724
+ /** Icon shown before the header identity. */
725
+ icon: IconTypes;
726
+ /** Localized accessible name and tooltip. */
727
+ label: string;
728
+ /** Keeps the action visible but prevents interaction. */
729
+ disabled?: boolean;
730
+ /** Action supported by the shared button runner. */
731
+ actionType: Exclude<NotFrontActionType, 'GO_TO_NEXT_UI_WITHOUT_LOADING' | 'AUTOCLOSE_AND_REDIRECT'>;
732
+ }
733
+ /** Structured header with JSON-safe replacements for the suite's custom slots. */
734
+ export interface DrawerHeaderNotFrontConfig extends Omit<DrawerHeaderConfig, 'metadata' | 'badges' | 'controls' | 'pills' | 'context' | 'toolbar' | 'leadingAction'> {
735
+ /** Supporting identity text or components. */
736
+ metadata?: DrawerNotFrontSlot;
737
+ /** Status components beside the metadata. */
738
+ badges?: DrawerNotFrontSlot;
739
+ /** Desktop controls in a row. Single-icon buttons without text use the suite header control size. */
740
+ controls?: NotFrontComponent[];
741
+ /** Wrapping components below the identity. */
742
+ pills?: NotFrontComponent[];
743
+ /** Custom summary content below the description. */
744
+ context?: DrawerNotFrontSlot;
745
+ /** Actions in a wrapping row below the context, available on desktop and mobile. */
746
+ toolbar?: NotFrontComponent[];
747
+ /** Optional leading action; callbacks are resolved inside not-front. */
748
+ leadingAction?: DrawerHeaderActionNotFront;
749
+ }
750
+ /** Backward-compatible JSON Drawer; visibility and cleanup belong to the flow store. */
751
+ export interface DrawerNotFrontProps extends NotFrontBaseProps, Pick<DrawerProps, 'closeOnOverlayClick' | 'bodyPadding' | 'size' | 'contentWidth' | 'contentClassName' | 'className' | 'origin' | 'accessibleLabel' | 'heightGap' | 'expansion'> {
752
+ /** Existing builder registry key. */
716
753
  component: 'drawer';
754
+ /** @deprecated Use expansion.defaultExpanded for interactive expansion. Without expansion, this remains a fixed state. */
755
+ isExpanded?: DrawerProps['isExpanded'];
717
756
  /**
718
757
  * The content to be rendered in the header section of the drawer.
719
758
  */
720
759
  header?: string | NotFrontComponent[];
760
+ /** Optional structured header; takes precedence over header and headerExtra. */
761
+ headerConfig?: DrawerHeaderNotFrontConfig;
762
+ /** Extra legacy header content; use headerConfig slots for new payloads. */
763
+ headerExtra?: DrawerNotFrontSlot;
721
764
  /**
722
765
  * The content to be rendered in the body section of the drawer.
723
766
  */
@@ -726,6 +769,8 @@ export interface DrawerNotFrontProps extends NotFrontBaseProps, Omit<DrawerProps
726
769
  * The content to be rendered in the footer section of the drawer.
727
770
  */
728
771
  footer?: NotFrontComponent[];
772
+ /** Independent supporting content below footer; also renders without footer. */
773
+ footerMessage?: DrawerNotFrontSlot;
729
774
  }
730
775
  /**
731
776
  * Interface for the props used in the AccordionNotFront component.