@innovaccer/design-system 4.19.2 → 4.21.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.
Files changed (97) hide show
  1. package/CHANGELOG.md +136 -0
  2. package/css/dist/index.css +418 -236
  3. package/css/dist/index.css.map +1 -1
  4. package/css/src/ai-components/button.module.css +2 -2
  5. package/css/src/ai-components/chat.module.css +0 -13
  6. package/css/src/ai-components/chip.module.css +3 -2
  7. package/css/src/ai-components/iconButton.module.css +3 -4
  8. package/css/src/components/actionButton.module.css +1 -1
  9. package/css/src/components/actionCard.module.css +2 -3
  10. package/css/src/components/avatarGroup.module.css +1 -0
  11. package/css/src/components/avatarSelection.module.css +2 -1
  12. package/css/src/components/breadcrumbs.module.css +2 -1
  13. package/css/src/components/button.module.css +55 -35
  14. package/css/src/components/calendar.module.css +82 -28
  15. package/css/src/components/chatInput.module.css +1 -0
  16. package/css/src/components/checkbox.module.css +12 -15
  17. package/css/src/components/chip.module.css +32 -18
  18. package/css/src/components/collapsible.module.css +2 -2
  19. package/css/src/components/dropdown.module.css +1 -0
  20. package/css/src/components/horizontalNav.module.css +19 -7
  21. package/css/src/components/input.module.css +11 -9
  22. package/css/src/components/link.module.css +8 -15
  23. package/css/src/components/linkButton.module.css +4 -4
  24. package/css/src/components/listbox.module.css +8 -4
  25. package/css/src/components/metricInput.module.css +6 -4
  26. package/css/src/components/radio.module.css +16 -16
  27. package/css/src/components/segmentedControl.module.css +3 -3
  28. package/css/src/components/select.module.css +3 -10
  29. package/css/src/components/selectionCard.module.css +6 -4
  30. package/css/src/components/slider.module.css +20 -2
  31. package/css/src/components/spinner.module.css +3 -3
  32. package/css/src/components/stepper.module.css +7 -6
  33. package/css/src/components/switch.module.css +22 -2
  34. package/css/src/components/tabs.module.css +35 -10
  35. package/css/src/components/textarea.module.css +6 -5
  36. package/css/src/components/verticalNav.module.css +37 -7
  37. package/css/src/variables/index.css +3 -0
  38. package/dist/brotli/index.js +1 -1
  39. package/dist/brotli/index.js.br +0 -0
  40. package/dist/cjs/index.js +1 -1
  41. package/dist/core/accessibility/utils/useAccessibilityProps.d.ts +12 -4
  42. package/dist/core/components/atoms/_chip/index.d.ts +5 -1
  43. package/dist/core/components/atoms/avatar/Avatar.d.ts +1 -0
  44. package/dist/core/components/atoms/chip/Chip.d.ts +3 -0
  45. package/dist/core/components/atoms/dropdown/DropdownButton.d.ts +2 -0
  46. package/dist/core/components/atoms/dropdown/DropdownList.d.ts +1 -0
  47. package/dist/core/components/atoms/dropdown/option/index.d.ts +1 -0
  48. package/dist/core/components/atoms/icon/Icon.d.ts +1 -0
  49. package/dist/core/components/atoms/legend/Legend.d.ts +1 -1
  50. package/dist/core/components/atoms/multiSlider/Handle.d.ts +1 -1
  51. package/dist/core/components/atoms/multiSlider/SliderUtils.d.ts +1 -1
  52. package/dist/core/components/atoms/pills/Pills.d.ts +1 -0
  53. package/dist/core/components/atoms/popperWrapper/PopperWrapper.d.ts +1 -1
  54. package/dist/core/components/atoms/segmentedControl/SegmentedControlItem.d.ts +2 -0
  55. package/dist/core/components/atoms/spinner/Spinner.d.ts +2 -0
  56. package/dist/core/components/molecules/chipInput/ChipInput.d.ts +4 -0
  57. package/dist/core/components/molecules/fullscreenModal/FullscreenModal.d.ts +4 -0
  58. package/dist/core/components/molecules/modal/Modal.d.ts +8 -0
  59. package/dist/core/components/molecules/modal/ModalHeader.d.ts +1 -0
  60. package/dist/core/components/molecules/overlayFooter/OverlayFooter.d.ts +1 -0
  61. package/dist/core/components/molecules/overlayHeader/OverlayHeader.d.ts +1 -0
  62. package/dist/core/components/molecules/sidesheet/Sidesheet.d.ts +11 -0
  63. package/dist/core/components/molecules/stepper/Step.d.ts +3 -4
  64. package/dist/core/components/molecules/tabs/Tabs.d.ts +1 -0
  65. package/dist/core/components/organisms/calendar/Calendar.d.ts +2 -0
  66. package/dist/core/components/organisms/choiceList/ChoiceList.d.ts +7 -0
  67. package/dist/core/components/organisms/combobox/Combobox.d.ts +2 -0
  68. package/dist/core/components/organisms/combobox/trigger/ComboboxTrigger.d.ts +2 -0
  69. package/dist/core/components/organisms/combobox/trigger/MultiselectTrigger.d.ts +3 -0
  70. package/dist/core/components/organisms/datePicker/DatePicker.d.ts +2 -0
  71. package/dist/core/components/organisms/dateRangePicker/DateRangePicker.d.ts +2 -0
  72. package/dist/core/components/organisms/grid/Grid.d.ts +2 -0
  73. package/dist/core/components/organisms/horizontalNav/HorizontalNav.d.ts +3 -1
  74. package/dist/core/components/organisms/menu/Menu.d.ts +2 -0
  75. package/dist/core/components/organisms/menu/trigger/MenuTrigger.d.ts +1 -0
  76. package/dist/core/components/organisms/navigation/VerticalNavigation.d.ts +2 -0
  77. package/dist/core/components/organisms/pageHeader/PageHeader.d.ts +1 -0
  78. package/dist/core/components/organisms/select/SelectList.d.ts +1 -0
  79. package/dist/core/components/organisms/select/SelectOption.d.ts +1 -0
  80. package/dist/core/components/organisms/select/SelectTrigger.d.ts +1 -0
  81. package/dist/core/components/organisms/table/Table.d.ts +2 -0
  82. package/dist/core/components/organisms/timePicker/TimePicker.d.ts +1 -0
  83. package/dist/core/components/organisms/timePicker/TimePickerWithInput.d.ts +1 -0
  84. package/dist/core/components/organisms/timePicker/TimePickerWithSearch.d.ts +3 -0
  85. package/dist/core/components/organisms/verticalNav/MenuItem.d.ts +1 -0
  86. package/dist/core/components/organisms/verticalNav/utils.d.ts +20 -0
  87. package/dist/core/utils/Keys.d.ts +4 -0
  88. package/dist/core/utils/overlayHelper.d.ts +2 -0
  89. package/dist/esm/index.js +2049 -847
  90. package/dist/gzip/index.js +1 -1
  91. package/dist/gzip/index.js.gz +0 -0
  92. package/dist/index.js +1700 -521
  93. package/dist/index.js.map +1 -1
  94. package/dist/index.umd.css +418 -236
  95. package/dist/index.umd.js +1 -1
  96. package/dist/types/tsconfig.type.tsbuildinfo +163 -145
  97. package/package.json +1 -1
@@ -6,16 +6,24 @@ interface IProps {
6
6
  role?: AriaRoleType;
7
7
  tabIndex?: number;
8
8
  'aria-label'?: React.AriaAttributes['aria-label'];
9
+ 'aria-labelledby'?: React.AriaAttributes['aria-labelledby'];
10
+ 'aria-describedby'?: React.AriaAttributes['aria-describedby'];
11
+ 'aria-hidden'?: React.AriaAttributes['aria-hidden'];
9
12
  }
10
13
  declare const useAccessibilityProps: ({ onClick, onKeyDown, role, tabIndex, ...rest }: IProps) => {
14
+ 'aria-hidden'?: boolean | "false" | "true";
15
+ 'aria-describedby'?: string;
16
+ 'aria-labelledby'?: string;
17
+ 'aria-label'?: string;
18
+ onClick?: undefined;
19
+ role?: undefined;
20
+ tabIndex?: undefined;
21
+ onKeyDown?: undefined;
22
+ } | {
11
23
  onClick: (event: React.MouseEvent<HTMLElement>) => void;
12
24
  role: React.AriaRole;
13
25
  tabIndex: number;
14
26
  'aria-label': string | undefined;
15
27
  onKeyDown: (e: React.SyntheticEvent<HTMLElement>) => void;
16
- } | {
17
- role: React.AriaRole;
18
- tabIndex: number | undefined;
19
- 'aria-label': string | undefined;
20
28
  };
21
29
  export default useAccessibilityProps;
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- import { Name } from "../chip/Chip";
2
+ import { Name, ChipType } from "../chip/Chip";
3
3
  import { BaseProps } from "../../../utils/types";
4
4
  import { IconType, TChipSize } from "../../../common.type";
5
5
  export interface GenericChipProps extends BaseProps {
@@ -15,6 +15,10 @@ export interface GenericChipProps extends BaseProps {
15
15
  name: Name;
16
16
  maxWidth: string | number;
17
17
  size?: TChipSize;
18
+ type?: ChipType;
19
+ role?: string;
20
+ 'aria-label'?: string;
21
+ 'aria-labelledby'?: string;
18
22
  }
19
23
  export declare const GenericChip: {
20
24
  (props: GenericChipProps): React.JSX.Element;
@@ -16,6 +16,7 @@ export interface AvatarProps extends BaseProps {
16
16
  disabled?: boolean;
17
17
  role?: string;
18
18
  tabIndex?: number;
19
+ 'aria-label'?: string;
19
20
  presence?: TPresence;
20
21
  status?: React.ReactNode;
21
22
  strokeColor?: string;
@@ -18,6 +18,9 @@ export interface ChipProps extends BaseProps {
18
18
  onClick?: (name: Name) => void;
19
19
  name: Name;
20
20
  maxWidth?: string | number;
21
+ role?: React.AriaRole;
22
+ 'aria-label'?: string;
23
+ 'aria-labelledby'?: string;
21
24
  }
22
25
  export declare const Chip: {
23
26
  (props: ChipProps): React.JSX.Element;
@@ -10,6 +10,8 @@ export interface TriggerProps {
10
10
  disabled?: boolean;
11
11
  menu?: boolean;
12
12
  error?: boolean;
13
+ 'aria-label'?: string;
14
+ 'aria-labelledby'?: string;
13
15
  }
14
16
  export interface DropdownButtonProps extends TriggerProps {
15
17
  children?: React.ReactText;
@@ -48,6 +48,7 @@ export interface DropdownListProps extends TriggerAndOptionProps {
48
48
  popoverOptions?: PopoverOptions;
49
49
  searchPlaceholder?: string;
50
50
  scrollIndex?: number;
51
+ optionsAriaLabel?: string;
51
52
  }
52
53
  interface OptionsProps extends DropdownListProps, BaseProps {
53
54
  listOptions: OptionSchema[];
@@ -24,6 +24,7 @@ export interface OptionTypeProps {
24
24
  dataTest?: string;
25
25
  optionData: OptionSchema;
26
26
  selected: boolean;
27
+ menu?: boolean;
27
28
  appearance?: IconProps['appearance'];
28
29
  color?: TextProps['color'];
29
30
  index: number;
@@ -11,6 +11,7 @@ export interface IconProps extends BaseProps {
11
11
  onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
12
12
  children?: React.ReactNode;
13
13
  tabIndex?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>['tabIndex'];
14
+ 'aria-hidden'?: React.AriaAttributes['aria-hidden'];
14
15
  }
15
16
  export declare const Icon: {
16
17
  (props: IconProps): React.JSX.Element;
@@ -7,7 +7,7 @@ export interface LegendProps extends BaseProps {
7
7
  labelAppearance?: TextAppearance;
8
8
  iconSize: number;
9
9
  labelWeight?: 'strong' | 'medium';
10
- onClick?: (e: React.MouseEvent<HTMLDivElement>) => void;
10
+ onClick?: (e: React.MouseEvent<HTMLDivElement> | React.KeyboardEvent<HTMLDivElement>) => void;
11
11
  onMouseEnter?: (e: React.MouseEvent<HTMLDivElement>) => void;
12
12
  onMouseLeave?: (e: React.MouseEvent<HTMLDivElement>) => void;
13
13
  }
@@ -34,7 +34,7 @@ export declare class Handle extends React.Component<InternalHandleProps, HandleS
34
34
  componentDidUpdate(_prevProps: InternalHandleProps, prevState: HandleState): void;
35
35
  mouseEventClientOffset: (event: MouseEvent | React.MouseEvent<HTMLElement>) => number;
36
36
  clientToValue: (clientPixel: number) => number;
37
- changeValue: (newValue: number, callback?: ((newValue: number) => void) | undefined) => number;
37
+ changeValue: (newValue: number, callback?: ((newValue: number) => void) | undefined, isDirectionalUpdate?: boolean) => number;
38
38
  endHandleMovement: (event: MouseEvent) => void;
39
39
  continueHandleMovement: (event: MouseEvent) => void;
40
40
  beginHandleMovement: (event: MouseEvent | React.MouseEvent<HTMLElement>) => void;
@@ -2,7 +2,7 @@ export declare const formatPercentage: (ratio: number) => string;
2
2
  export declare const countDecimalPlaces: (value: number) => number;
3
3
  export declare const approxEqual: (a: number, b: number) => boolean;
4
4
  export declare const clamp: (value: number, min: number, max: number) => number;
5
- export declare const arraysEqual: (oldValues: number[], newValues: number[]) => boolean | undefined;
5
+ export declare const arraysEqual: (oldValues: number[], newValues: number[]) => boolean;
6
6
  export declare function argMin<T>(values: T[], argFn: (value: T) => any): T | undefined;
7
7
  export declare function fillValues<T>(values: T[], startIndex: number, endIndex: number, fillValue: T): void;
8
8
  export declare function isElementOfType(element: React.ReactElement): boolean;
@@ -5,6 +5,7 @@ export interface PillsProps extends BaseProps {
5
5
  appearance: AccentAppearance;
6
6
  subtle?: boolean;
7
7
  children: React.ReactText;
8
+ 'aria-label'?: string;
8
9
  }
9
10
  export declare const Pills: {
10
11
  (props: PillsProps): React.JSX.Element;
@@ -566,7 +566,7 @@ export declare class PopperWrapper extends React.Component<PopperWrapperProps, P
566
566
  MozUserSelect?: "none" | "text" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "auto" | "all" | "contain" | "-moz-none" | "element" | undefined;
567
567
  MozWindowDragging?: "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "drag" | "no-drag" | undefined;
568
568
  MozWindowShadow?: "default" | "menu" | "none" | "tooltip" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "sheet" | undefined;
569
- msAccelerator?: "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "true" | "false" | undefined;
569
+ msAccelerator?: "false" | "true" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | undefined;
570
570
  msBlockProgression?: "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "bt" | "lr" | "rl" | "tb" | undefined;
571
571
  msContentZoomChaining?: "none" | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | "chained" | undefined;
572
572
  msContentZoomLimitMax?: (string & {}) | "-moz-initial" | "inherit" | "initial" | "revert" | "revert-layer" | "unset" | undefined;
@@ -11,6 +11,8 @@ export interface SegmentedControlItemProps extends BaseProps {
11
11
  tooltip?: string;
12
12
  disabled?: boolean;
13
13
  value?: SegmentedControlValue;
14
+ 'aria-label'?: string;
15
+ 'aria-labelledby'?: string;
14
16
  }
15
17
  export declare const SegmentedControlItem: {
16
18
  (props: SegmentedControlItemProps): React.JSX.Element | null;
@@ -5,6 +5,7 @@ export declare type SpinnerSize = 'xsmall' | 'small' | 'medium' | 'large';
5
5
  export interface SpinnerProps extends BaseProps {
6
6
  appearance: SpinnerAppearance;
7
7
  size: SpinnerSize;
8
+ 'aria-label'?: string;
8
9
  }
9
10
  export declare const Spinner: {
10
11
  (props: SpinnerProps): React.JSX.Element;
@@ -12,6 +13,7 @@ export declare const Spinner: {
12
13
  defaultProps: {
13
14
  appearance: string;
14
15
  size: string;
16
+ 'aria-label': string;
15
17
  };
16
18
  };
17
19
  export default Spinner;
@@ -7,6 +7,7 @@ declare type ChipOptions = {
7
7
  iconType?: ChipProps['iconType'];
8
8
  clearButton?: ChipProps['clearButton'];
9
9
  maxWidth?: ChipProps['maxWidth'];
10
+ role?: ChipProps['role'];
10
11
  onClick?: (value: string, index: number) => void;
11
12
  };
12
13
  export declare type ChipInputSize = 'regular' | 'small';
@@ -24,6 +25,9 @@ export interface ChipInputProps extends BaseProps {
24
25
  onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
25
26
  onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
26
27
  chipValidator?: (chip: string) => boolean;
28
+ 'aria-label'?: string;
29
+ 'aria-labelledby'?: string;
30
+ 'aria-describedby'?: string;
27
31
  }
28
32
  export declare const ChipInput: {
29
33
  (props: ChipInputProps): React.JSX.Element;
@@ -13,6 +13,9 @@ export interface FullscreenModalProps extends BaseProps {
13
13
  footer?: React.ReactNode;
14
14
  children?: React.ReactNode;
15
15
  closeOnEscape?: boolean;
16
+ 'aria-labelledby'?: string;
17
+ 'aria-label'?: string;
18
+ 'aria-describedby'?: string;
16
19
  }
17
20
  interface ModalState {
18
21
  open: boolean;
@@ -21,6 +24,7 @@ interface ModalState {
21
24
  }
22
25
  declare class FullscreenModal extends React.Component<FullscreenModalProps, ModalState> {
23
26
  modalRef: React.RefObject<HTMLDivElement>;
27
+ autoHeadingId: string;
24
28
  element: Element;
25
29
  static defaultProps: {
26
30
  dimension: string;
@@ -15,6 +15,7 @@ export interface ModalProps extends BaseProps {
15
15
  children?: React.ReactNode;
16
16
  seperator?: boolean;
17
17
  closeOnEscape?: boolean;
18
+ 'aria-labelledby'?: string;
18
19
  }
19
20
  interface ModalState {
20
21
  open: boolean;
@@ -23,12 +24,19 @@ interface ModalState {
23
24
  }
24
25
  declare class Modal extends React.Component<ModalProps, ModalState> {
25
26
  modalRef: React.RefObject<HTMLDivElement>;
27
+ modalContentRef: React.RefObject<HTMLDivElement>;
28
+ previousActiveElement: HTMLElement | null;
29
+ autoHeadingId: string;
26
30
  element: Element;
27
31
  static defaultProps: {
28
32
  dimension: string;
33
+ closeOnEscape: boolean;
29
34
  };
30
35
  constructor(props: ModalProps);
31
36
  onCloseHandler: (event: KeyboardEvent) => void;
37
+ onFocusTrapKeyDown: (event: KeyboardEvent) => void;
38
+ activateFocusTrap: () => void;
39
+ deactivateFocusTrap: () => void;
32
40
  componentDidMount(): void;
33
41
  componentWillUnmount(): void;
34
42
  componentDidUpdate(prevProps: ModalProps): void;
@@ -7,6 +7,7 @@ export interface ModalHeaderProps extends BaseProps {
7
7
  seperator?: boolean;
8
8
  backIcon?: boolean;
9
9
  backIconCallback?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
10
+ headingId?: string;
10
11
  }
11
12
  export declare const ModalHeader: {
12
13
  (props: ModalHeaderProps): React.JSX.Element;
@@ -5,6 +5,7 @@ export interface OverlayFooterProps extends BaseProps {
5
5
  open?: boolean;
6
6
  children?: React.ReactNode;
7
7
  actions?: ButtonProps[];
8
+ skipFocusOnOpen?: boolean;
8
9
  }
9
10
  export declare const OverlayFooter: {
10
11
  (props: OverlayFooterProps): React.JSX.Element;
@@ -9,6 +9,7 @@ export interface OverlayHeaderProps extends BaseProps {
9
9
  backIcon?: boolean;
10
10
  backIconCallback?: (e: React.MouseEvent<HTMLElement, MouseEvent>) => void;
11
11
  headingClass?: string;
12
+ headingId?: string;
12
13
  }
13
14
  export declare const OverlayHeader: {
14
15
  (props: OverlayHeaderProps): React.JSX.Element;
@@ -16,6 +16,7 @@ export interface SidesheetProps extends BaseProps {
16
16
  backdropClose?: boolean;
17
17
  closeOnEscape?: boolean;
18
18
  onClose?: (event?: Event | React.MouseEvent<HTMLElement, MouseEvent>, reason?: string) => void;
19
+ 'aria-labelledby'?: string;
19
20
  }
20
21
  interface SidesheetState {
21
22
  open: boolean;
@@ -24,14 +25,24 @@ interface SidesheetState {
24
25
  }
25
26
  declare class Sidesheet extends React.Component<SidesheetProps, SidesheetState> {
26
27
  sidesheetRef: React.RefObject<HTMLDivElement>;
28
+ sidesheetContentRef: React.RefObject<HTMLDivElement>;
29
+ previousActiveElement: HTMLElement | null;
30
+ autofocusRAF: number | null;
31
+ autoHeadingId: string;
27
32
  element: Element;
28
33
  static defaultProps: {
29
34
  dimension: string;
30
35
  stickFooter: boolean;
31
36
  headerOptions: {};
37
+ closeOnEscape: boolean;
32
38
  };
33
39
  constructor(props: SidesheetProps);
34
40
  onCloseHandler: (event: KeyboardEvent) => void;
41
+ onFocusTrapKeyDown: (event: KeyboardEvent) => void;
42
+ focusFirstFocusable: () => void;
43
+ onOpenAnimationStart: (event: React.AnimationEvent<HTMLDivElement>) => void;
44
+ activateFocusTrap: () => void;
45
+ deactivateFocusTrap: () => void;
35
46
  componentDidMount(): void;
36
47
  componentWillUnmount(): void;
37
48
  componentDidUpdate(prevProps: SidesheetProps): void;
@@ -6,9 +6,8 @@ export interface StepProps {
6
6
  active: boolean;
7
7
  completed: boolean;
8
8
  onChange?: (label: string, value?: React.ReactText) => void;
9
+ onKeyDown?: (e: React.KeyboardEvent) => void;
10
+ isTabStop?: boolean;
9
11
  }
10
- export declare const Step: {
11
- (props: StepProps): React.JSX.Element;
12
- displayName: string;
13
- };
12
+ export declare const Step: React.ForwardRefExoticComponent<StepProps & React.RefAttributes<HTMLDivElement>>;
14
13
  export default Step;
@@ -25,6 +25,7 @@ export interface TabsProps extends BaseProps {
25
25
  headerClassName?: string;
26
26
  size?: TTabSize;
27
27
  maxWidth?: string | number;
28
+ 'aria-labelledby'?: string;
28
29
  }
29
30
  export declare const Tabs: {
30
31
  (props: TabsProps): React.JSX.Element;
@@ -37,6 +37,8 @@ export interface SharedProps extends BaseProps {
37
37
  yearNav?: number;
38
38
  monthNav?: number;
39
39
  allowReverseSelection?: boolean;
40
+ 'aria-label'?: string;
41
+ 'aria-labelledby'?: string;
40
42
  }
41
43
  export declare type CalendarProps = {
42
44
  onDateChange?: (date: Date) => void;
@@ -9,6 +9,11 @@ export interface Choice {
9
9
  disabled?: boolean;
10
10
  helpText?: string;
11
11
  name: string;
12
+ 'aria-label'?: string;
13
+ 'aria-labelledby'?: string;
14
+ 'aria-describedby'?: string;
15
+ tabIndex?: number;
16
+ required?: boolean;
12
17
  }
13
18
  export interface ChoiceListProps extends BaseProps {
14
19
  title?: string;
@@ -20,6 +25,8 @@ export interface ChoiceListProps extends BaseProps {
20
25
  selected?: string[];
21
26
  onChange?: (event: ChangeEvent, selected: string[]) => void;
22
27
  wrapLabel?: boolean;
28
+ 'aria-label'?: string;
29
+ 'aria-labelledby'?: string;
23
30
  }
24
31
  export declare const ChoiceList: {
25
32
  (props: ChoiceListProps): React.JSX.Element;
@@ -27,6 +27,8 @@ export interface ComboboxProps extends BaseProps {
27
27
  clearButton?: boolean;
28
28
  computeStyles?: object;
29
29
  className?: string;
30
+ 'aria-label'?: string;
31
+ 'aria-labelledby'?: string;
30
32
  }
31
33
  export declare const Combobox: {
32
34
  (props: ComboboxProps): React.JSX.Element;
@@ -17,6 +17,8 @@ interface ComboboxTriggerProps {
17
17
  size?: ComboboxInputSize;
18
18
  chipValue?: OptionType[];
19
19
  clearButton?: boolean;
20
+ 'aria-label'?: string;
21
+ 'aria-labelledby'?: string;
20
22
  }
21
23
  export declare const ComboboxTrigger: (props: ComboboxTriggerProps) => React.JSX.Element;
22
24
  export default ComboboxTrigger;
@@ -7,6 +7,7 @@ declare type ChipOptions = {
7
7
  type?: ChipProps['type'];
8
8
  iconType?: ChipProps['iconType'];
9
9
  clearButton?: ChipProps['clearButton'];
10
+ role?: ChipProps['role'];
10
11
  onClick?: (value: OptionType, index: number) => void;
11
12
  };
12
13
  export interface MultiSelectTriggerProps extends BaseProps {
@@ -27,6 +28,8 @@ export interface MultiSelectTriggerProps extends BaseProps {
27
28
  tabIndex?: number;
28
29
  forwardedRef?: React.Ref<HTMLInputElement>;
29
30
  role?: React.AriaRole;
31
+ 'aria-label'?: string;
32
+ 'aria-labelledby'?: string;
30
33
  }
31
34
  export declare const MultiSelectTrigger: React.ForwardRefExoticComponent<MultiSelectTriggerProps & React.RefAttributes<HTMLElement>>;
32
35
  export default MultiSelectTrigger;
@@ -18,6 +18,8 @@ export declare type DatePickerProps = SharedProps & {
18
18
  children?: React.ReactNode;
19
19
  onError?: (date: Date | undefined, dateVal?: string) => void;
20
20
  popoverOptions?: PopoverOptions;
21
+ 'aria-label'?: string;
22
+ 'aria-labelledby'?: string;
21
23
  };
22
24
  export interface DatePickerState {
23
25
  init: boolean;
@@ -24,6 +24,8 @@ export declare type DateRangePickerProps = SharedProps & {
24
24
  endInputOptions: InputOptions;
25
25
  validators: Validators;
26
26
  monthsInView?: CalendarProps['monthsInView'];
27
+ 'aria-label'?: string;
28
+ 'aria-labelledby'?: string;
27
29
  };
28
30
  export interface DateRangePickerState {
29
31
  init: boolean;
@@ -145,6 +145,8 @@ export interface GridProps extends BaseProps {
145
145
  searchTerm?: string;
146
146
  highlightRegex?: (searchTerm: string) => RegExp;
147
147
  showNestedRowTrigger?: boolean;
148
+ 'aria-label'?: string;
149
+ 'aria-labelledby'?: string;
148
150
  }
149
151
  export interface GridState {
150
152
  init: boolean;
@@ -1,7 +1,9 @@
1
1
  import * as React from 'react';
2
2
  import { VerticalNavProps } from "../../../index.type";
3
3
  import { BaseProps } from "../../../utils/types";
4
- export declare type HorizontalNavProps = BaseProps & Pick<VerticalNavProps, 'menus' | 'active' | 'onClick'>;
4
+ export declare type HorizontalNavProps = BaseProps & Pick<VerticalNavProps, 'menus' | 'active' | 'onClick'> & {
5
+ 'aria-label'?: string;
6
+ };
5
7
  export declare type Align = 'left' | 'center';
6
8
  export declare const HorizontalNav: (props: HorizontalNavProps) => React.JSX.Element;
7
9
  export default HorizontalNav;
@@ -15,6 +15,8 @@ export interface MenuProps extends BaseProps {
15
15
  };
16
16
  onToggle?: (open?: boolean) => void;
17
17
  disabled?: boolean;
18
+ 'aria-label'?: string;
19
+ 'aria-labelledby'?: string;
18
20
  }
19
21
  export declare const Menu: {
20
22
  (props: MenuProps): React.JSX.Element;
@@ -3,6 +3,7 @@ import { BaseProps } from "../../../../utils/types";
3
3
  export interface MenuTriggerProps extends BaseProps {
4
4
  size?: 'tiny' | 'regular';
5
5
  appearance?: 'transparent' | 'basic';
6
+ 'aria-label'?: string;
6
7
  }
7
8
  export declare const MenuTrigger: (props: MenuTriggerProps) => React.JSX.Element;
8
9
  export default MenuTrigger;
@@ -11,6 +11,7 @@ export interface VerticalNavigationProps {
11
11
  footer?: boolean;
12
12
  onToggle?: (expanded: boolean) => void;
13
13
  autoCollapse: boolean;
14
+ 'aria-label'?: string;
14
15
  }
15
16
  export declare const VerticalNavigation: {
16
17
  (props: VerticalNavigationProps): React.JSX.Element;
@@ -18,6 +19,7 @@ export declare const VerticalNavigation: {
18
19
  expanded: boolean;
19
20
  autoCollapse: boolean;
20
21
  rounded: boolean;
22
+ 'aria-label': string;
21
23
  };
22
24
  };
23
25
  export default VerticalNavigation;
@@ -14,6 +14,7 @@ export interface PageHeaderProps extends BaseProps {
14
14
  button?: React.ReactNode;
15
15
  navigationPosition: navigationPositionType;
16
16
  separator: boolean;
17
+ 'aria-label'?: string;
17
18
  }
18
19
  export declare const PageHeader: {
19
20
  (props: PageHeaderProps): React.JSX.Element;
@@ -7,6 +7,7 @@ export interface SelectListProps extends BaseProps {
7
7
  size: TListboxSize;
8
8
  tagName: TagType;
9
9
  showDivider: boolean;
10
+ 'aria-label'?: string;
10
11
  }
11
12
  export declare const SelectList: {
12
13
  (props: SelectListProps): React.JSX.Element;
@@ -9,6 +9,7 @@ export interface SelectOptionProps extends BaseProps {
9
9
  checkedState?: checkedType;
10
10
  withCheckbox?: boolean;
11
11
  disabled?: boolean;
12
+ 'aria-label'?: string;
12
13
  }
13
14
  export declare const SelectOption: {
14
15
  (props: SelectOptionProps): React.JSX.Element;
@@ -3,6 +3,7 @@ import { IconType } from "../../../common.type";
3
3
  import { BaseProps } from "../../../utils/types";
4
4
  export declare type SelectTriggerSize = 'small' | 'regular';
5
5
  export interface SelectTriggerProps extends BaseProps {
6
+ 'aria-label'?: string;
6
7
  triggerSize?: SelectTriggerSize;
7
8
  icon?: string;
8
9
  iconType?: IconType;
@@ -19,6 +19,8 @@ interface AsyncProps {
19
19
  fetchData?: fetchDataFunction;
20
20
  }
21
21
  interface SharedTableProps extends BaseProps {
22
+ 'aria-label'?: string;
23
+ 'aria-labelledby'?: string;
22
24
  showHead: GridProps['showHead'];
23
25
  type: GridProps['type'];
24
26
  size: GridProps['size'];
@@ -7,6 +7,7 @@ export declare const TimePicker: {
7
7
  defaultProps: {
8
8
  timeFormat: string;
9
9
  interval: number;
10
+ optionsAriaLabel: string;
10
11
  inputFormat: string;
11
12
  outputFormat: string;
12
13
  inputOptions: {};
@@ -12,6 +12,7 @@ export interface TimePickerInputProps {
12
12
  validators: Validators;
13
13
  onTimeChange?: (timeVal?: string) => void;
14
14
  error?: boolean;
15
+ 'aria-label'?: string;
15
16
  }
16
17
  export declare const TimePickerWithInput: {
17
18
  (props: TimePickerInputProps): React.JSX.Element;
@@ -22,12 +22,15 @@ export interface TimePickerDropdownProps extends BaseProps {
22
22
  fetchTimeOptions?: fetchOptionsFunction;
23
23
  id?: string;
24
24
  error?: boolean;
25
+ 'aria-label'?: string;
26
+ optionsAriaLabel?: string;
25
27
  }
26
28
  export declare const TimePickerWithSearch: {
27
29
  (props: TimePickerDropdownProps): React.JSX.Element;
28
30
  defaultProps: {
29
31
  timeFormat: string;
30
32
  interval: number;
33
+ optionsAriaLabel: string;
31
34
  };
32
35
  displayName: string;
33
36
  };
@@ -12,6 +12,7 @@ export interface MenuItemProps extends BaseProps {
12
12
  onClick?: (menu: Menu) => void;
13
13
  customItemRenderer?: (props: MenuItemProps) => JSX.Element;
14
14
  customOptionRenderer?: (props: MenuItemProps) => JSX.Element;
15
+ tabIndex?: number;
15
16
  }
16
17
  export declare const MenuItem: {
17
18
  (props: MenuItemProps): React.JSX.Element | null;
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import { Menu } from "../../../utils/navigationHelper";
3
+ export declare const getVisibleMenuItems: (container: HTMLElement | null) => HTMLElement[];
4
+ export interface VerticalNavKeyDownOptions {
5
+ containerRef: React.RefObject<HTMLElement | null>;
6
+ setFocusedItemName: React.Dispatch<React.SetStateAction<string | null>>;
7
+ menuState: Record<string, boolean>;
8
+ subMenuExpandedState: Record<string, boolean>;
9
+ setMenuState: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
10
+ setSubMenuExpandedState: React.Dispatch<React.SetStateAction<Record<string, boolean>>>;
11
+ menus: Menu[];
12
+ expanded: boolean;
13
+ autoCollapse: boolean;
14
+ }
15
+ export declare const handleVerticalNavKeyDown: (event: React.KeyboardEvent, options: VerticalNavKeyDownOptions) => void;
16
+ export declare const getFirstVisibleMenuItemName: (menus: Menu[], expanded: boolean) => string | null;
17
+ export declare const getInitialFocusedItemName: (menus: Menu[], active: {
18
+ name?: string;
19
+ link?: string;
20
+ } | undefined, menuState: Record<string, boolean>, subMenuExpandedState: Record<string, boolean>, expanded: boolean) => string | null;
@@ -4,6 +4,10 @@ export declare const ENTER = 13;
4
4
  export declare const SHIFT = 16;
5
5
  export declare const ESCAPE = 27;
6
6
  export declare const SPACE = 32;
7
+ export declare const PAGE_UP = 33;
8
+ export declare const PAGE_DOWN = 34;
9
+ export declare const END = 35;
10
+ export declare const HOME = 36;
7
11
  export declare const ARROW_LEFT = 37;
8
12
  export declare const ARROW_UP = 38;
9
13
  export declare const ARROW_RIGHT = 39;
@@ -6,4 +6,6 @@ interface elementData {
6
6
  }
7
7
  export declare const getUpdatedZIndex: (ele: elementData) => number | undefined;
8
8
  export declare const closeOnEscapeKeypress: (event: KeyboardEvent, isTopOverlay: boolean | undefined, onClose: (event: Event) => void) => void;
9
+ export declare const getFocusableElements: (container: HTMLElement) => HTMLElement[];
10
+ export declare const handleFocusTrapKeyDown: (event: KeyboardEvent, container: HTMLElement) => boolean;
9
11
  export {};