# DOT Style Guide

In this Package, We Provide Some Basic Components For Accessibility.

# 2.3.9

- **FocusScope** - Global `mousedown` event listener removed from module scope to prevent unintended side effects.

- **useRestoreFocus** - `newRestoreEle` is no longer exported as a module-level variable. Replaced with `getRestoreEle` and `setRestoreEle` encapsulated inside the hook and returned. Hook is now consumed directly inside `useFocusLoop`.

- **useFocusLoop** - `useRestoreFocus` is now called internally. ESC key restore focus is guarded by `needRestoreFocus`, preventing unintended focus restoration when restore focus is not enabled.

- **useNavigationManager** - Added `data-a11y-disable-global-event` attribute support. Set this attribute on a container to prevent the global Enter key action for elements inside it.


# 2.3.8

- **useFocusLoop**, **useNavigationManager** - Added a check to allow default Enter behavior for contenteditable elements.

# 2.3.7

- **focusScopeUtil** - Array length check added to verify whether it's visually hidden or not

# 2.3.6

- **focusScopeUtil** - Resolved hidden element detection issue for iframes.

# 2.3.5

- **useFocusLoop** - Resolved Enter key action bug occurring when focus starts on a list item.
- **focusScopeUtil** - Added skip navigation support for iframes.

# 2.3.4

- **index.js** - `SkipNavigation` entry removed from index.js file due to additional package dependency present in the component.

# 2.3.3

- **index.js** - `CustomCursor`, `NavigationManager` and `SkipNavigation` entry added in index.js file.

# 2.3.2

- **Custom Cursor** - element prop removed due to class rendering issue.

# 2.3.1

- **Reading Mask** added in library.

# 2.3.0

- **Custom Cursor** added in library.

# 2.2.7

- **FocusScopeUtil** - Element check added for eventlistener.

# 2.2.6

- `useEvent hook` - The null issue in the function `fn` was resolved because the function had not been properly assigned to the local reference.

# 2.2.5

- **FocusScopeUtil** - The `isElementContainedInFocusScope` method has been removed because it's no longer necessary. `applyingListStyle` is no longer combined with `applyFocusStyle`.

- **useFocusLoop** - The `applyListStyle` functionality added to the `onEleFocus` method to apply styling when the focused element is a list item. Similarly, `removeListStyle` added to the `onEleBlur` method to remove the style.

# 2.2.4

- **useFocusLoop** - Removed unnecessary `isArrowEvent` ref.

- **FocusScopeUtil** 
  
  Added common method `isElementContainedInFocusScope` to check if an element is within the focusScope container.

  Added an additional check in the `ApplyFocusStyle` method to apply the list style.


# 2.2.3

- **useFocusLoop** - Enable list active on pressing tab - fixed.

# 2.2.2

- **useFocusLoop** - Enter Action fix - Preventing parent enter action if any list is active.

# 2.2.1

- **FocusScopeUtil** - `getLandmarkElements` method - Web app querySelectorAll compound selector issue fix.

# 2.2.0

- **NavigationManager** and **SkipNavigation** added.

- **FocusScope** 

  `isFocusRingEnabled` changed to `isTabKeyEnabled`

  List Navigation issue fixes.

- **FocusScopeUtil** 

  Common functionality added to detect landmark elements. This function filter out all the valid landmark element.

  `isFocusRingEnabled` changed to `isTabKeyEnabled`

  `data-a11y-list`, `data-a11y-focus-main-area` - New attributes added to detect list elements and main focusable areas and elements.

# 2.1.2

- **FocusScope** - Enter action prevent default - Text area field issue fix.

# 2.1.1

- **FocusScope** - Enter action - Conflict between System focus and visible focus fixed.

# 2.1.0

- **FocusScope**
  
  Prop names changed - restoreFocus => `needRestoreFocus`, autoFocus => `needAutoFocus`, needArrowLoop => `needListNavigation`, needTabLoop => `needFocusLoop`, enableEnterAction => `needEnterAction`

  utils - issue fix on `applyFocusStyle`.

# 2.0.2

- index.js added in home directory

# 2.0.1

- **FocusScope**

  `mousedown` event listener added for document when file downloads on the app. so that it won't be assigned everytime component re-renders.

  `defaultProps` and `propTypes` moved as separate file.

  `useRestoreFocus` - removing focusStyle of previous active element.

  `useFocusScope` - Removed document onClick from this hook as it assigned everytime focusscope re-renders.

# 2.0.0

- **FocusScope**
  
  Enhanced list navigation and key navigation.

  `FetchingNextOptions` on scroll has been done.

- **Provider** - A11y common configuration has been created.

# 1.3.7

- **FocusScope** 

  `Space` key issue fix.

  `scroll` fix on focus.

# 1.3.6

- 

# 1.3.4, 1.3.5

- **FocusScope** - Variable initialization on component update fixed.

# 1.3.3

- **FocusScope** - Arrow event conflict fix.

# 1.1.2

- **FocusScope** 
  
  Container focus check added.

  `enableEnterAction` prop added.

  Enter key action propagation issue fixed.

# 1.0.3

- **FocusScope** - Focus scope css varible format updated according to UCL package.

# 1.0.2

- **FocusScope** - FocusScope enhancement.

# 1.0.1

- **FocusScope** - FocusScope Implemented.
