@design-system-rte/react 0.15.0 → 1.0.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 (27) hide show
  1. package/README.md +1 -1
  2. package/dist/components/card/Card.d.ts +7 -0
  3. package/dist/components/sideNav/SideNav.d.ts +9 -0
  4. package/dist/components/sideNav/baseSideNav/BaseSideNav.d.ts +10 -0
  5. package/dist/components/sideNav/baseSideNav/hooks/useContentHeight.d.ts +3 -0
  6. package/dist/components/sideNav/navItem/NavItem.d.ts +7 -0
  7. package/dist/components/sideNav/navMenu/NavMenu.d.ts +9 -0
  8. package/dist/components/sideNav/shared/NavContentWrapper.d.ts +14 -0
  9. package/dist/components/sideNav/shared/NavLabel.d.ts +11 -0
  10. package/dist/components/sideNav/shared/NavTooltipWrapper.d.ts +8 -0
  11. package/dist/components/sideNav/shared/index.d.ts +5 -0
  12. package/dist/components/sideNav/shared/navUtils.d.ts +2 -0
  13. package/dist/components/sideNav/shared/useNavKeyboard.d.ts +11 -0
  14. package/dist/components/sideNav/stories/helpers/decorators.d.ts +5 -0
  15. package/dist/components/sideNav/stories/helpers/elementFinders.d.ts +7 -0
  16. package/dist/components/sideNav/stories/helpers/expectations.d.ts +9 -0
  17. package/dist/components/toast/Toast.d.ts +6 -0
  18. package/dist/components/toast/hooks/useHandleQueueChanges.d.ts +6 -0
  19. package/dist/components/toast/hooks/useHandleTimer.d.ts +10 -0
  20. package/dist/components/toast/toastQueue/ToastQueueContext.d.ts +17 -0
  21. package/dist/components/toast/toastQueue/ToastQueueProvider.d.ts +4 -0
  22. package/dist/components/toast/toastQueue/useToastQueueContext.d.ts +8 -0
  23. package/dist/index.d.ts +6 -1
  24. package/dist/react-package.cjs +1 -1
  25. package/dist/react-package.js +4810 -4067
  26. package/dist/style.css +1 -1
  27. package/package.json +5 -5
package/README.md CHANGED
@@ -32,4 +32,4 @@
32
32
 
33
33
  4. **Use Components:**
34
34
 
35
- Implement the different components as documented in the [Storybook](https://opensource.rte-france.com/design-system-rte/?path=/docs/react_button--docs) provided with the library.
35
+ Implement the different components as documented in the [Storybook](https://opensource.rte-france.com/design-system-rte/?path=/docs/react_composants-button--docs) provided with the library.
@@ -0,0 +1,7 @@
1
+ import { CardProps as CardPropsCore } from '../../../../core/components/card/card.interface';
2
+ import { HTMLAttributes } from 'react';
3
+ interface CardProps extends CardPropsCore, Omit<HTMLAttributes<HTMLDivElement>, "onClick"> {
4
+ onClick?: () => void;
5
+ }
6
+ declare const Card: import('react').ForwardRefExoticComponent<CardProps & import('react').RefAttributes<HTMLDivElement>>;
7
+ export default Card;
@@ -0,0 +1,9 @@
1
+ import { SideNavProps as CoreSideNavProps } from '../../../../core/components/side-nav/side-nav.interface';
2
+ import { ReactNode } from 'react';
3
+ interface SideNavProps extends Partial<CoreSideNavProps>, Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
4
+ children?: ReactNode;
5
+ defaultCollapsed?: boolean;
6
+ onCollapsedChange?: (collapsed: boolean) => void;
7
+ }
8
+ declare const SideNav: import('react').ForwardRefExoticComponent<SideNavProps & import('react').RefAttributes<HTMLDivElement | HTMLElement>>;
9
+ export default SideNav;
@@ -0,0 +1,10 @@
1
+ import { BaseSideNavProps as CoreSideNavProps } from '../../../../../core/components/side-nav/side-nav.interface';
2
+ import { ReactNode } from 'react';
3
+ interface BaseSideNavProps extends Partial<Omit<CoreSideNavProps, "items">>, Omit<React.HTMLAttributes<HTMLDivElement>, "content"> {
4
+ header?: ReactNode;
5
+ body?: ReactNode;
6
+ footer?: ReactNode;
7
+ children?: ReactNode;
8
+ }
9
+ declare const BaseSideNav: import('react').ForwardRefExoticComponent<BaseSideNavProps & import('react').RefAttributes<HTMLDivElement | HTMLElement>>;
10
+ export default BaseSideNav;
@@ -0,0 +1,3 @@
1
+ import { ReactNode, RefObject } from 'react';
2
+ declare function useContentHeight(containerRef: RefObject<HTMLDivElement>, contentRef: RefObject<HTMLDivElement>, children?: ReactNode): void;
3
+ export default useContentHeight;
@@ -0,0 +1,7 @@
1
+ import { NavItemProps as CoreNavItemProps } from '../../../../../core/components/side-nav/nav-item/nav-item.interface';
2
+ import { HTMLAttributes, ReactNode } from 'react';
3
+ interface NavItemProps extends CoreNavItemProps, Omit<HTMLAttributes<HTMLDivElement>, "onClick" | "id"> {
4
+ children?: ReactNode;
5
+ }
6
+ declare const NavItem: import('react').ForwardRefExoticComponent<NavItemProps & import('react').RefAttributes<HTMLDivElement>>;
7
+ export default NavItem;
@@ -0,0 +1,9 @@
1
+ import { NavMenuProps as CoreNavMenuProps } from '../../../../../core/components/side-nav/nav-menu/nav-menu.interface';
2
+ import { HTMLAttributes, ReactNode } from 'react';
3
+ interface NavMenuProps extends CoreNavMenuProps, Omit<HTMLAttributes<HTMLLIElement>, "onClick"> {
4
+ children?: ReactNode;
5
+ isNested?: boolean;
6
+ parentMenuOpen?: boolean;
7
+ }
8
+ declare const NavMenu: import('react').ForwardRefExoticComponent<NavMenuProps & import('react').RefAttributes<HTMLLIElement>>;
9
+ export default NavMenu;
@@ -0,0 +1,14 @@
1
+ import { ReactNode, KeyboardEvent } from 'react';
2
+ interface NavContentWrapperProps {
3
+ link?: string;
4
+ label: string;
5
+ tabIndex: number;
6
+ onKeyDown?: (e: KeyboardEvent<HTMLElement>) => void;
7
+ onFocus?: () => void;
8
+ onBlur?: () => void;
9
+ onClick?: () => void;
10
+ children: ReactNode;
11
+ styleType?: "item" | "menu";
12
+ }
13
+ declare function NavContentWrapper({ link, label, tabIndex, onKeyDown, onFocus, onBlur, onClick, children, styleType, }: NavContentWrapperProps): ReactNode;
14
+ export default NavContentWrapper;
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+ interface NavLabelProps {
3
+ icon?: string;
4
+ showIcon?: boolean;
5
+ label: string;
6
+ collapsed?: boolean;
7
+ isNested?: boolean;
8
+ styleType?: "item" | "menu";
9
+ }
10
+ declare function NavLabel({ icon, showIcon, label, collapsed, isNested, styleType }: NavLabelProps): ReactNode;
11
+ export default NavLabel;
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ interface NavTooltipWrapperProps {
3
+ label: string;
4
+ collapsed?: boolean;
5
+ children: ReactNode;
6
+ }
7
+ declare function NavTooltipWrapper({ label, collapsed, children }: NavTooltipWrapperProps): ReactNode;
8
+ export default NavTooltipWrapper;
@@ -0,0 +1,5 @@
1
+ export { default as NavContentWrapper } from './NavContentWrapper';
2
+ export { default as NavLabel } from './NavLabel';
3
+ export { default as NavTooltipWrapper } from './NavTooltipWrapper';
4
+ export { default as useNavKeyboard } from './useNavKeyboard';
5
+ export { getNavTabIndex } from './navUtils';
@@ -0,0 +1,2 @@
1
+ declare function getNavTabIndex(parentMenuOpen?: boolean): number;
2
+ export { getNavTabIndex };
@@ -0,0 +1,11 @@
1
+ import { KeyboardEvent } from 'react';
2
+ interface UseNavKeyboardOptions {
3
+ onEnterOrSpace?: () => void;
4
+ onEscape?: () => void;
5
+ includeArrowKeys?: boolean;
6
+ includeEscape?: boolean;
7
+ }
8
+ declare function useNavKeyboard<T extends HTMLElement = HTMLElement>({ onEnterOrSpace, onEscape, includeArrowKeys, includeEscape, }?: UseNavKeyboardOptions): {
9
+ onKeyDown: (e: KeyboardEvent<T>) => void;
10
+ };
11
+ export default useNavKeyboard;
@@ -0,0 +1,5 @@
1
+ import { NavItemProps } from '../../../../../../core/components/side-nav/nav-item/nav-item.interface';
2
+ import { Decorator } from '@storybook/react';
3
+ declare function createCollapsedStateDecorator(): Decorator;
4
+ declare function createActiveItemStateDecorator(navigationItems: NavItemProps[]): Decorator;
5
+ export { createCollapsedStateDecorator, createActiveItemStateDecorator };
@@ -0,0 +1,7 @@
1
+ declare function getInteractiveElementFromListItem(listItem: HTMLElement | null): HTMLElement | null;
2
+ declare function getNavElement(container: HTMLElement, text: string, containerSelector?: string): HTMLElement | null;
3
+ declare function getNavElementInCollapsedState(sideNav: HTMLElement, itemIndex: number): HTMLElement | null;
4
+ declare function getFooterNavElement(sideNav: HTMLElement, label: string): HTMLElement | null;
5
+ declare function getHeaderTitleContainer(sideNav: HTMLElement, identifierText?: string): HTMLElement | null;
6
+ declare function getNavItemContainer(sideNav: HTMLElement, itemId: string): HTMLElement | null;
7
+ export { getNavElement, getNavElementInCollapsedState, getFooterNavElement, getHeaderTitleContainer, getNavItemContainer, getInteractiveElementFromListItem, };
@@ -0,0 +1,9 @@
1
+ import { within } from '@storybook/test';
2
+ declare function isActiveItem(element: HTMLElement): boolean;
3
+ declare function expectElementToHaveFocus(element: HTMLElement | null): void;
4
+ declare function expectElementNotToHaveFocus(sideNav: HTMLElement, text: string): void;
5
+ declare function expectElementToBeSkipped(sideNav: HTMLElement, text: string): void;
6
+ declare function expectElementToBeAccessible(sideNav: HTMLElement, text: string): void;
7
+ declare function expectNavItemToBeActive(canvas: ReturnType<typeof within>, itemId: string): Promise<void>;
8
+ declare function expectNavItemNotToBeActive(canvas: ReturnType<typeof within>, itemId: string): Promise<void>;
9
+ export { expectElementToHaveFocus, expectElementNotToHaveFocus, expectElementToBeSkipped, expectElementToBeAccessible, expectNavItemToBeActive, expectNavItemNotToBeActive, isActiveItem, };
@@ -0,0 +1,6 @@
1
+ import { ToastProps as coreToastProps } from '../../../../core/components/toast/toast.interface';
2
+ interface ToastProps extends coreToastProps, React.HTMLAttributes<HTMLDivElement> {
3
+ showActionButton?: boolean;
4
+ }
5
+ declare const Toast: import('react').ForwardRefExoticComponent<ToastProps & import('react').RefAttributes<HTMLDivElement>>;
6
+ export default Toast;
@@ -0,0 +1,6 @@
1
+ declare const useHandleQueueChanges: (id: string, isOpen: boolean) => {
2
+ isInternalOpen: boolean;
3
+ hideToast: () => void;
4
+ showToast: () => void;
5
+ };
6
+ export default useHandleQueueChanges;
@@ -0,0 +1,10 @@
1
+ import { ToastDuration } from '../../../../../core/components/toast/toast.interface';
2
+ type TimeoutProperties = {
3
+ shouldStartTimer: boolean;
4
+ duration: ToastDuration;
5
+ };
6
+ declare const useHandleTimer: ({ shouldStartTimer, duration }: TimeoutProperties, callback: () => void) => {
7
+ initializeTimer: () => void;
8
+ removeTimer: () => void;
9
+ };
10
+ export default useHandleTimer;
@@ -0,0 +1,17 @@
1
+ export type InputToast = {
2
+ id: string;
3
+ hasActionButton: boolean;
4
+ type: "info" | "success" | "warning" | "error" | "neutral";
5
+ };
6
+ export type ToastQueueItem = {
7
+ id: string;
8
+ priority: number;
9
+ isOpen?: boolean;
10
+ };
11
+ export declare const ToastQueueContext: import('react').Context<{
12
+ addToQueue: (toast: InputToast) => void;
13
+ removeFromQueue: (id: string) => void;
14
+ isFirstInQueue: (id: string) => boolean;
15
+ isInQueue: (id: string) => boolean;
16
+ queue: ToastQueueItem[];
17
+ } | null>;
@@ -0,0 +1,4 @@
1
+ declare const ToastQueueProvider: ({ children }: {
2
+ children: React.ReactNode;
3
+ }) => import("react/jsx-runtime").JSX.Element;
4
+ export default ToastQueueProvider;
@@ -0,0 +1,8 @@
1
+ export declare const useToastQueueContext: () => {
2
+ addToQueue: (toast: import('./ToastQueueContext').InputToast) => void;
3
+ removeFromQueue: (id: string) => void;
4
+ isFirstInQueue: (id: string) => boolean;
5
+ isInQueue: (id: string) => boolean;
6
+ queue: import('./ToastQueueContext').ToastQueueItem[];
7
+ };
8
+ export default useToastQueueContext;
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { default as Badge } from './components/badge/Badge.tsx';
2
2
  import { default as Banner } from './components/banner/Banner.tsx';
3
3
  import { default as Breadcrumbs } from './components/breadcrumbs/Breadcrumbs.tsx';
4
4
  import { default as Button } from './components/button/Button';
5
+ import { default as Card } from './components/card/Card.tsx';
5
6
  import { default as Checkbox } from './components/checkbox/Checkbox.tsx';
6
7
  import { default as CheckboxGroup } from './components/checkboxGroup/CheckboxGroup.tsx';
7
8
  import { default as Chip } from './components/chip/Chip.tsx';
@@ -16,9 +17,13 @@ import { default as Popover } from './components/popover/Popover.tsx';
16
17
  import { default as RadioButton } from './components/radioButton/RadioButton.tsx';
17
18
  import { default as RadioButtonGroup } from './components/radioButtonGroup/RadioButtonGroup.tsx';
18
19
  import { default as SegmentedControl } from './components/segmentedControl/SegmentedControl.tsx';
20
+ import { default as BaseSideNav } from './components/sideNav/baseSideNav/BaseSideNav.tsx';
21
+ import { default as SideNav } from './components/sideNav/SideNav.tsx';
19
22
  import { default as SplitButton } from './components/splitButton/SplitButton.tsx';
20
23
  import { default as Switch } from './components/switch/Switch.tsx';
21
24
  import { default as Textarea } from './components/textarea/Textarea.tsx';
22
25
  import { default as TextInput } from './components/textInput/TextInput.tsx';
26
+ import { default as Toast } from './components/toast/Toast.tsx';
27
+ import { default as ToastQueueProvider } from './components/toast/toastQueue/ToastQueueProvider.tsx';
23
28
  import { default as Tooltip } from './components/tooltip/Tooltip.tsx';
24
- export { Button, Grid, Checkbox, CheckboxGroup, Link, RadioButton, RadioButtonGroup, Icon, IconButton, IconButtonToggle, SplitButton, Tooltip, TextInput, Chip, Badge, Textarea, Divider, Switch, SegmentedControl, Breadcrumbs, Banner, Popover, Modal, };
29
+ export { Button, Grid, Checkbox, CheckboxGroup, Link, RadioButton, RadioButtonGroup, Icon, IconButton, IconButtonToggle, SplitButton, Tooltip, TextInput, Chip, Badge, Textarea, Divider, Switch, SegmentedControl, Breadcrumbs, Banner, Popover, Modal, SideNav, BaseSideNav, Card, Toast, ToastQueueProvider, };