jamespot-react-components 1.2.37 → 1.2.39

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 (52) hide show
  1. package/build/jamespot-react-components.js +1278 -981
  2. package/build/jamespot-react-components.js.map +1 -1
  3. package/build/src/components/Form/Common/FormMessageFeedback.stories.d.ts +7 -0
  4. package/build/src/components/Form/Input/Common/JRCFormErrors.stories.d.ts +9 -0
  5. package/build/src/components/Form/Input/Deprecated/JRCFormCheckbox/JRCFormCheckbox.types.d.ts +8 -7
  6. package/build/src/components/Form/Input/JRCInputCheckbox/JRCInputCheckbox.d.ts +10 -1
  7. package/build/src/components/Form/Input/JRCInputDate/JRCInputDate.d.ts +3 -7
  8. package/build/src/components/Form/Input/JRCInputDateTime/DayPickerStyle.d.ts +2 -0
  9. package/build/src/components/Form/Input/JRCInputDateTime/JRCInputDateTime.d.ts +5 -4
  10. package/build/src/components/Form/Input/JRCInputImage/JRCInputImage.d.ts +4 -0
  11. package/build/src/components/Form/Input/JRCInputImage/JRCInputImage.styles.d.ts +2 -1
  12. package/build/src/components/Form/Input/JRCInputImage/types.d.ts +2 -2
  13. package/build/src/components/Form/Input/JRCInputText/JRCInputText.stories.d.ts +21 -3
  14. package/build/src/components/Form/Input/JRCInputText/JRCInputText.style.d.ts +1 -0
  15. package/build/src/components/Form/Input/JRCSelect/JRCInputAutocomplete.d.ts +1 -0
  16. package/build/src/components/Form/Input/JRCSelect/JRCInputSelect.types.d.ts +3 -0
  17. package/build/src/components/JRCAlert/JRCAlert.d.ts +5 -1
  18. package/build/src/components/JRCAppLeftColumn/JRCAppLeftColumn.styles.d.ts +1 -0
  19. package/build/src/components/JRCCalendar/JRCCalendar.d.ts +34 -2
  20. package/build/src/components/JRCCalendar/JRCCalendarEvent.d.ts +33 -2
  21. package/build/src/components/JRCCalendar/JRCCalendarModal.d.ts +3 -1
  22. package/build/src/components/JRCCalendar/JRCEventStatusButton.d.ts +3 -1
  23. package/build/src/components/JRCDragNDrop/DndProvider.d.ts +5 -0
  24. package/build/src/components/JRCDragNDrop/Draggable.d.ts +12 -0
  25. package/build/src/components/JRCDragNDrop/Droppable.d.ts +8 -0
  26. package/build/src/components/JRCDragNDrop/JRCDndTwoLevelWithStack.d.ts +2 -0
  27. package/build/src/components/JRCDragNDrop/JRCDndTwoLevelWithStack.stories.d.ts +9 -0
  28. package/build/src/components/JRCDragNDrop/index.d.ts +5 -0
  29. package/build/src/components/JRCDragNDrop/styles.d.ts +50 -0
  30. package/build/src/components/JRCDragNDrop/types.d.ts +65 -0
  31. package/build/src/components/JRCDropDown/JRCDropDown.d.ts +4 -1
  32. package/build/src/components/JRCIcon/JRCIcon.stories.d.ts +1 -1
  33. package/build/src/components/JRCIconButton/JRCIconButton.d.ts +2 -0
  34. package/build/src/components/JRCIconButton/JRCIconButton.stories.d.ts +8 -2
  35. package/build/src/components/JRCModal/JRCModal.styles.d.ts +5 -3
  36. package/build/src/components/JRCModal/JRCModalContent.d.ts +10 -4
  37. package/build/src/components/JRCModal/JRCModalContentForm.d.ts +1 -1
  38. package/build/src/components/JRCModal/JRCModalLayout.d.ts +7 -3
  39. package/build/src/components/JRCModal/templates/JRCModal.d.ts +1 -1
  40. package/build/src/components/JRCModal/templates/JRCModal.types.d.ts +7 -1
  41. package/build/src/components/JRCModal/templates/JRCModalForm.d.ts +1 -1
  42. package/build/src/components/JRCQRCode/JRCQRCode.d.ts +6 -0
  43. package/build/src/components/JRCQRCode/JRCQRCode.stories.d.ts +6 -0
  44. package/build/src/components/JRCSidePanelModal/JRCSidePanelModal.d.ts +3 -0
  45. package/build/src/components/JRCSidePanelModal/JRCSidePanelModal.styles.d.ts +3 -1
  46. package/build/src/components/JRCTag/JRCTag.d.ts +2 -0
  47. package/build/src/components/Templates/template.styles.d.ts +0 -1
  48. package/build/src/components/index.d.ts +1 -0
  49. package/build/src/index.d.ts +1 -0
  50. package/build/src/types.d.ts +1 -0
  51. package/build/src/utils/utils.date.d.ts +1 -0
  52. package/package.json +6 -2
@@ -0,0 +1,7 @@
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import FormMessageFeedback from './FormMessageFeedback';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ type Story = StoryObj<typeof FormMessageFeedback>;
6
+ export declare const FormMessageFeedbackWithAllMessages: Story;
7
+ export declare const FormMessageFeedbackErrorOnly: Story;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { JRCFormErrors } from './JRCFormErrors';
3
+ declare const meta: Meta;
4
+ export default meta;
5
+ type Story = StoryObj<typeof JRCFormErrors>;
6
+ export declare const JRCFormErrorsWithErrors: Story;
7
+ export declare const JRCFormErrorsWithRequired: Story;
8
+ export declare const JRCFormErrorsNoError: Story;
9
+ export declare const JRCFormErrorsNoTypes: Story;
@@ -45,11 +45,12 @@ export interface JRCFormCheckboxProps extends ComponentPropsWithoutRef<'input'>
45
45
  reduxFormValueType?: 'array' | 'boolean';
46
46
  }
47
47
  export type CheckboxLabelProps = {
48
- direction?: string;
49
- variant?: string;
50
- checked: boolean;
51
- disabled?: boolean;
52
- labelPosition?: string;
53
- backgroundOnHover?: boolean;
54
- backgroundOnSelect?: boolean;
48
+ $direction?: string;
49
+ $variant?: string;
50
+ $checked: boolean;
51
+ $disabled?: boolean;
52
+ $labelPosition?: string;
53
+ $backgroundOnHover?: boolean;
54
+ $backgroundOnSelect?: boolean;
55
+ $margin?: string;
55
56
  };
@@ -4,6 +4,11 @@ import { DataCy } from '../../../../types/dataAttributes';
4
4
  import { PartialBy } from '../../../../types/utils';
5
5
  import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
6
6
  export declare const ReadOnlyBorder: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const DirectionContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
8
+ direction?: string;
9
+ variant?: string;
10
+ noMargin?: boolean;
11
+ }, never>;
7
12
  type CheckboxOption<TFieldValues> = {
8
13
  label: string | JSX.Element;
9
14
  value: string | number | TFieldValues;
@@ -19,9 +24,11 @@ export type CheckboxProps<TFieldValues> = DataCy & {
19
24
  variant?: 'default' | 'outlined';
20
25
  labelPosition?: 'before' | 'after';
21
26
  SortByChecked?: boolean;
27
+ noMargin?: boolean;
22
28
  backgroundOnHover?: boolean;
23
29
  backgroundOnSelect?: boolean;
24
30
  valueTypeIsBoolean?: boolean;
31
+ inverted?: boolean;
25
32
  readOnly?: boolean;
26
33
  getReadOnlyLabel?: (value: TFieldValues) => ReactNode;
27
34
  limit?: number;
@@ -35,7 +42,9 @@ export type NativeCheckboxProps<TFieldValues extends FieldValues = FieldValues>
35
42
  };
36
43
  export declare const ReadOnlyUl: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {}, never>;
37
44
  export declare const StyledDescription: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
38
- export declare const JRCInputCheckboxRaw: <T extends FieldValues = FieldValues>(props: NativeCheckboxProps<T>) => JSX.Element;
45
+ export declare const JRCInputCheckboxRaw: <T extends FieldValues = FieldValues>(props: NativeCheckboxProps<T> & {
46
+ margin?: string;
47
+ }) => JSX.Element;
39
48
  export declare function JRCInputCheckbox<TFieldValues extends FieldValues = FieldValues>({ name, control, rules, label, htmlFor, labelIsLegend, description, helper, ...props }: JRCInputCheckboxProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
40
49
  export declare namespace JRCInputCheckbox {
41
50
  var defaultProps: {
@@ -1,11 +1,7 @@
1
- import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
2
- import { DataCy } from '../../../../types/dataAttributes';
3
1
  import { FieldValues } from 'react-hook-form';
4
- import { ComponentPropsWithoutRef } from 'react';
5
- export type NativeInputProps = DataCy & ComponentPropsWithoutRef<'input'> & {
6
- type?: 'date' | 'time' | 'datetime-local';
7
- };
8
- export type JRCInputDateProps<TFieldValues extends FieldValues = FieldValues> = NativeInputProps & JRCInputFieldProps<TFieldValues>;
2
+ import { JRCInputDateTimeProps, NativeInputProps } from '../JRCInputDateTime/JRCInputDateTime';
3
+ import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
4
+ export type JRCInputDateProps<TFieldValues extends FieldValues = FieldValues> = NativeInputProps & JRCInputFieldProps<TFieldValues> & Pick<JRCInputDateTimeProps, 'openDirection'>;
9
5
  /**
10
6
  * Component used as a <input type="date"/>
11
7
  * @param props JRCInputFieldProps
@@ -0,0 +1,2 @@
1
+ import 'react-day-picker/src/style.css';
2
+ export declare const DayPickerStyle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -1,11 +1,12 @@
1
1
  import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
2
2
  import { DataCy } from '../../../../types/dataAttributes';
3
3
  import { FieldValues } from 'react-hook-form';
4
- import { ComponentPropsWithoutRef } from 'react';
5
- export type NativeInputProps = DataCy & ComponentPropsWithoutRef<'input'> & {
6
- type?: 'date' | 'time' | 'datetime-local';
4
+ import { JRCDropDownProps } from '../../../JRCDropDown/JRCDropDown';
5
+ export type NativeInputProps = DataCy & React.ComponentPropsWithoutRef<'input'>;
6
+ export type JRCInputDateTimeProps<TFieldValues extends FieldValues = FieldValues> = NativeInputProps & JRCInputFieldProps<TFieldValues> & {
7
+ mode?: 'date' | 'datetime';
8
+ openDirection?: JRCDropDownProps['align'];
7
9
  };
8
- export type JRCInputDateTimeProps<TFieldValues extends FieldValues = FieldValues> = NativeInputProps & JRCInputFieldProps<TFieldValues>;
9
10
  /**
10
11
  * Component used as a <input type="date"/>
11
12
  * @param props JRCInputFieldProps
@@ -1,5 +1,9 @@
1
1
  import { FieldValues } from 'react-hook-form';
2
2
  import { JRCInputImageProps } from './types';
3
+ export type DropZoneDimensions = {
4
+ width: number | string;
5
+ height: number | string;
6
+ };
3
7
  /**
4
8
  * Component used as a <input type="file"/>
5
9
  * @param props JRCInputFieldProps
@@ -11,7 +11,8 @@ export declare const DropZone: import("styled-components").StyledComponent<"div"
11
11
  }, never>;
12
12
  export declare const ReadOnlyImg: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;
13
13
  export declare const DropZoneButton: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {
14
- aspectRatio?: number | undefined;
14
+ $aspectRatio?: number | undefined;
15
+ $dzDimensions?: DropZoneDimensions;
15
16
  }, never>;
16
17
  export declare const DropZoneImage: import("styled-components").StyledComponent<"img", import("styled-components").DefaultTheme, {}, never>;
17
18
  export declare const ImageButton: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {
@@ -4,8 +4,8 @@ import { FieldValues } from 'react-hook-form';
4
4
  import { DataCy } from '../../../../types/dataAttributes';
5
5
  import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
6
6
  export type DropZoneDimensions = {
7
- width: number;
8
- height: number;
7
+ width: number | string;
8
+ height: number | string;
9
9
  };
10
10
  export type NativeInputImageProps = DataCy & Omit<ComponentPropsWithoutRef<'input'>, 'value' | 'onChange'> & {
11
11
  token?: string | undefined;
@@ -1,9 +1,27 @@
1
- import { Meta } from '@storybook/react-webpack5';
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
2
  import { JRCInputFieldProps } from '../Common/JRCFormFieldRenderer.types';
3
- declare const _default: Meta;
4
- export default _default;
3
+ import { JRCInputText } from './JRCInputText';
4
+ declare const meta: Meta;
5
+ export default meta;
5
6
  export declare const InputText: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-webpack5").ReactRenderer, JRCInputFieldProps<{
6
7
  text: string;
7
8
  }>>;
8
9
  export declare const InputTextIconButton: any;
9
10
  export declare const AllInputs: () => import("react/jsx-runtime").JSX.Element;
11
+ type Story = StoryObj<typeof JRCInputText>;
12
+ export declare const RenderInputTest: Story;
13
+ export declare const JRCInputTextTest: Story;
14
+ export declare const RenderNumberInputTest: Story;
15
+ export declare const JRCInputNumberEmpty: Story;
16
+ export declare const JRCInputNumberMinMax: Story;
17
+ export declare const JRCInputNumberValid: Story;
18
+ export declare const JRCInputNumberEmptyString: Story;
19
+ export declare const JRCInputNumberMaxRule: Story;
20
+ export declare const JRCInputTextPatternRule: Story;
21
+ export declare const JRCInputTextEmailRule: Story;
22
+ export declare const JRCInputNumberMinRule: Story;
23
+ export declare const JRCInputTextWithLegend: Story;
24
+ export declare const JRCInputTextSimpleTest: Story;
25
+ export declare const MaxLengthIndicatorTest: Story;
26
+ export declare const JRCInputTextIconButtonFocusTest: Story;
27
+ export declare const JRCInputNumberLine64Coverage: Story;
@@ -19,6 +19,7 @@ export declare const IconAfter: import("styled-components").StyledComponent<impo
19
19
  badgeNumber?: number;
20
20
  colorVariant?: string;
21
21
  badgeInline?: boolean;
22
+ href?: string;
22
23
  srOnly?: string;
23
24
  } & import("react").RefAttributes<HTMLButtonElement>>, import("styled-components").DefaultTheme, {}, never>;
24
25
  export declare const InputIconButton: import("styled-components").StyledComponent<"input", import("styled-components").DefaultTheme, import("../../../../types/dataAttributes").DataCy & {
@@ -6,6 +6,7 @@ export declare function CustomOption({ option, }: {
6
6
  newOption?: boolean;
7
7
  custom?: boolean;
8
8
  icon?: string;
9
+ color?: string;
9
10
  };
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export declare function CustomSelectedOption({ option }: {
@@ -71,6 +71,8 @@ export type SelectProps<T = any> = DataCy & {
71
71
  size?: 'md' | 's';
72
72
  minWidth?: string | false;
73
73
  noMargin?: boolean;
74
+ defaultOpen?: boolean;
75
+ onClose?: () => void;
74
76
  };
75
77
  /**
76
78
  * Autocomplete
@@ -87,4 +89,5 @@ export type AutocompleteInnerProps = Omit<SelectProps, 'options'> & DataCy & Ico
87
89
  }>;
88
90
  loading?: boolean;
89
91
  limit?: number;
92
+ noAvatar?: boolean;
90
93
  };
@@ -14,5 +14,9 @@ export interface JRCAlertProps extends ComponentPropsWithoutRef<'div'> {
14
14
  timeout?: number;
15
15
  /** Add buttons on the alert */
16
16
  buttons?: JRCButtonProps[];
17
+ link?: {
18
+ label: string;
19
+ url: string;
20
+ };
17
21
  }
18
- export declare const JRCAlert: ({ label, description, hasLoader, buttons, type, timeout, }: JRCAlertProps) => import("react/jsx-runtime").JSX.Element | null;
22
+ export declare const JRCAlert: ({ label, description, hasLoader, buttons, type, timeout, link, }: JRCAlertProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -39,6 +39,7 @@ export declare const JRCIconButtonAppLeftColumn: import("styled-components").Sty
39
39
  badgeNumber?: number;
40
40
  colorVariant?: string;
41
41
  badgeInline?: boolean;
42
+ href?: string;
42
43
  srOnly?: string;
43
44
  } & import("react").RefAttributes<HTMLButtonElement>>, import("styled-components").DefaultTheme, {}, never>;
44
45
  export declare const AppLeftColumnIconWrapper: import("styled-components").StyledComponent<"ul", import("styled-components").DefaultTheme, {
@@ -1,2 +1,34 @@
1
- import { JRCCalendarProps } from './types';
2
- export declare const JRCCalendar: ({ events, loading, onChangeDates, onError, handler, onSuccess, defaultView, eventModalExtraComponent, onChangeView, fullScreen, deportedToolbar, }: JRCCalendarProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { CalendarApi } from '@fullcalendar/core';
2
+ import { CalendarEventViewAbstractType, CalendarEventWithExtensions, JArticleApi, JCalendarApi, JGlobalApi } from 'jamespot-user-api';
3
+ import { ReactNode } from 'react';
4
+ export type JRCCalendarProps = {
5
+ events?: CalendarEventWithExtensions<CalendarEventViewAbstractType, ['socialEventRecord']>[];
6
+ loading?: boolean;
7
+ onChangeDates?: (start: Date, end: Date) => void;
8
+ onError: (errorMsg?: string) => void;
9
+ onSuccess: (message: string) => void;
10
+ handler: {
11
+ global: Pick<JGlobalApi, 'updateAction' | 'removeAction'>;
12
+ calendar: Pick<JCalendarApi, 'reviveSubmit'>;
13
+ article: Pick<JArticleApi, 'delete'>;
14
+ };
15
+ defaultView: CalendarView;
16
+ eventModalExtraComponent?: (event: CalendarEventWithExtensions<CalendarEventViewAbstractType, ['socialEventRecord']>) => ReactNode;
17
+ onChangeView?: (view: {
18
+ label: string;
19
+ value: CalendarView;
20
+ }) => void;
21
+ fullScreen?: boolean;
22
+ deportedToolbar?: {
23
+ onChangeLabel?: (label: string) => void;
24
+ onCalendarApiInit?: (api?: CalendarApi) => void;
25
+ view?: {
26
+ label: string;
27
+ value: CalendarView;
28
+ };
29
+ };
30
+ onDeleteEvent: () => void;
31
+ onClickUpdateEvent?: (event: CalendarEventWithExtensions<CalendarEventViewAbstractType, ['socialEventRecord']>) => void;
32
+ };
33
+ export type CalendarView = 'dayGridMonth' | 'timeGridWeek' | 'timeGridDay' | 'list';
34
+ export declare const JRCCalendar: ({ events, loading, onChangeDates, onError, handler, onSuccess, defaultView, eventModalExtraComponent, onChangeView, fullScreen, deportedToolbar, onDeleteEvent, onClickUpdateEvent, }: JRCCalendarProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1,33 @@
1
- import { JRCCalendarEventProps } from './types';
2
- export declare const JRCCalendarEvent: ({ status, title, start, end, display, id: stringId, onClick, audience, allDay, textColor, backgroundColor, address, image, type, isVisio, handler, onError, onSuccess, noGestion, setSubscriptionModifiers, uri, canSubscribe, subscriptionModifiers, }: JRCCalendarEventProps) => import("react/jsx-runtime").JSX.Element | null;
1
+ import { Audience, JCalendarApi, JGlobalApi, UserResponseStatus } from 'jamespot-user-api';
2
+ import { SubscriptionModifiers } from './JRCEventStatusButton';
3
+ export type JRCCalendarEventProps = {
4
+ id: string;
5
+ title: string;
6
+ start: Date | null;
7
+ end: Date | null;
8
+ status: UserResponseStatus | null;
9
+ display: CalendarView;
10
+ onClick: (id: number) => void;
11
+ audience: Pick<Audience, '_url' | 'title' | 'uri'>[];
12
+ allDay?: boolean;
13
+ textColor?: string;
14
+ backgroundColor?: string;
15
+ address?: string;
16
+ image: boolean;
17
+ type: string;
18
+ isVisio?: boolean;
19
+ handler: {
20
+ global: Pick<JGlobalApi, 'updateAction' | 'removeAction'>;
21
+ calendar: Pick<JCalendarApi, 'reviveSubmit'>;
22
+ };
23
+ onError: (errMsg?: string) => void;
24
+ onSuccess: (message: string) => void;
25
+ noGestion: boolean;
26
+ setSubscriptionModifiers: (fn: (prev: SubscriptionModifiers) => SubscriptionModifiers) => void;
27
+ uri: string;
28
+ canSubscribe: boolean;
29
+ subscriptionModifiers: SubscriptionModifiers;
30
+ urlGestion?: string;
31
+ };
32
+ import { CalendarView } from './types';
33
+ export declare const JRCCalendarEvent: ({ status, title, start, end, display, id: stringId, onClick, audience, allDay, textColor, backgroundColor, address, image, type, isVisio, handler, onError, onSuccess, noGestion, setSubscriptionModifiers, uri, canSubscribe, subscriptionModifiers, urlGestion, }: JRCCalendarEventProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -15,5 +15,7 @@ export type JRCCalendarModalProps = {
15
15
  extraComponent?: (event: CalendarEventWithExtensions<CalendarEventViewAbstractType, ['socialEventRecord']>) => ReactNode;
16
16
  setSubscriptionModifiers: (fn: (prev: SubscriptionModifiers) => SubscriptionModifiers) => void;
17
17
  subscriptionModifiers: SubscriptionModifiers;
18
+ onDeleteEvent: () => void;
19
+ onClickUpdateEvent?: (event: CalendarEventWithExtensions<CalendarEventViewAbstractType, ['socialEventRecord']>) => void;
18
20
  };
19
- export declare const JRCCalendarModal: ({ open, closeHandler, event, handler, onError, onSuccess, extraComponent, setSubscriptionModifiers, subscriptionModifiers, }: JRCCalendarModalProps) => import("react/jsx-runtime").JSX.Element;
21
+ export declare const JRCCalendarModal: ({ open, closeHandler, event, handler, onError, onSuccess, extraComponent, setSubscriptionModifiers, subscriptionModifiers, onDeleteEvent, onClickUpdateEvent, }: JRCCalendarModalProps) => import("react/jsx-runtime").JSX.Element;
@@ -19,5 +19,7 @@ export type JRCEventStatusButtonProps = {
19
19
  setSubscriptionModifiers: (fn: (prev: SubscriptionModifiers) => SubscriptionModifiers) => void;
20
20
  eventUri: string;
21
21
  status: UserResponseStatus | null;
22
+ urlGestion?: string;
23
+ noGestion?: boolean;
22
24
  };
23
- export declare const JRCEventStatusButton: ({ onError, handler, onSuccess, eventId, eventUri, eventType, eventIsVisio, initialStatus, canSubscribe, setSubscriptionModifiers, status, }: JRCEventStatusButtonProps) => import("react/jsx-runtime").JSX.Element | null;
25
+ export declare const JRCEventStatusButton: ({ onError, handler, onSuccess, eventId, eventUri, eventType, eventIsVisio, initialStatus, canSubscribe, setSubscriptionModifiers, status, urlGestion, noGestion, }: JRCEventStatusButtonProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,5 @@
1
+ interface DndProviderProps {
2
+ children: React.ReactNode;
3
+ }
4
+ export declare const DndProvider: React.FC<DndProviderProps>;
5
+ export {};
@@ -0,0 +1,12 @@
1
+ import { BaseDndItem, DndDragItem, ItemTypes } from './types';
2
+ interface DraggableProps {
3
+ type: ItemTypes;
4
+ item: BaseDndItem;
5
+ index: number;
6
+ onMove: (dragIndex: number, hoverIndex: number) => void;
7
+ onMoveToSection?: (draggedItem: DndDragItem, targetIndex: number) => void;
8
+ sectionId?: string | number;
9
+ children: React.ReactNode;
10
+ }
11
+ export declare const Draggable: React.FC<DraggableProps>;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import { DndDragItem, ItemTypes } from './types';
2
+ interface DroppableProps {
3
+ accept: ItemTypes;
4
+ onDrop: (item: DndDragItem) => void;
5
+ children: React.ReactNode;
6
+ }
7
+ export declare const Droppable: React.FC<DroppableProps>;
8
+ export {};
@@ -0,0 +1,2 @@
1
+ import { BaseDndItem, JRCDndTwoLevelWithStackProps } from './types';
2
+ export declare const JRCDndTwoLevelWithStack: import("react").MemoExoticComponent<(<T extends BaseDndItem = BaseDndItem>({ data, ItemComponent, EmptyStateComponent, onItemMove, onItemMoveToSection, onItemRemove, onSectionMove, onSectionAdd, onSectionRemove, onSectionLabelChange, canAddSections, canRemoveSections, canEditSectionLabels, canRemoveItems, addSectionText, emptyStateText, stackTitle: stackTitleProp, sectionsTitle: sectionsTitleProp, sectionErrors, sectionError, $maxHeight, }: JRCDndTwoLevelWithStackProps<T>) => import("react/jsx-runtime").JSX.Element)>;
@@ -0,0 +1,9 @@
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { BaseDndItem, JRCDndTwoLevelWithStackProps } from './types';
3
+ declare const meta: Meta<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
4
+ export default meta;
5
+ export declare const LoadingState: StoryObj<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
6
+ export declare const HasErrors: StoryObj<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
7
+ export declare const DragAndDropInteractions: StoryObj<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
8
+ export declare const IsAboveMiddleCovering: StoryObj<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
9
+ export declare const AddSection: StoryObj<JRCDndTwoLevelWithStackProps<BaseDndItem>>;
@@ -0,0 +1,5 @@
1
+ export { DndProvider } from './DndProvider';
2
+ export { Draggable } from './Draggable';
3
+ export { Droppable } from './Droppable';
4
+ export { JRCDndTwoLevelWithStack } from './JRCDndTwoLevelWithStack';
5
+ export type { BaseDndItem, DndData, DndDragItem, DndEmptyStateComponentProps, DndItemComponentProps, DndSection, DndSectionComponentProps, JRCDndTwoLevelWithStackProps, } from './types';
@@ -0,0 +1,50 @@
1
+ export declare const Container: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
2
+ $maxHeight?: string;
3
+ }, never>;
4
+ export declare const StackContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
5
+ export declare const StackContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
6
+ export declare const SectionsContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
7
+ export declare const SectionsHeader: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
8
+ export declare const SectionsTitle: import("styled-components").StyledComponent<({ variant, ...props }: import("../..").JRCTypographyProps) => import("react/jsx-runtime").JSX.Element, import("styled-components").DefaultTheme, {}, never>;
9
+ export declare const SectionLabel: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
10
+ export declare const SectionsList: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
11
+ export declare const SectionWrapper: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
12
+ export declare const SectionHeader: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
13
+ $hasItems: boolean;
14
+ }, never>;
15
+ export declare const SectionHeaderContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
16
+ export declare const DragHandle: import("styled-components").StyledComponent<({ color, variant, name, size, isMargin, className, faOptions, iconColor, role, label, }: import("../JRCIcon/JRCIcon").JRCIconProps) => import("react/jsx-runtime").JSX.Element, import("styled-components").DefaultTheme, {}, never>;
17
+ export declare const SectionLabelInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../../types/dataAttributes").DataCy & Omit<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & {
18
+ width?: string;
19
+ autocomplete?: "on" | "off";
20
+ inputmode?: "text" | "numeric";
21
+ } & import("react").RefAttributes<HTMLInputElement>>, import("styled-components").DefaultTheme, {
22
+ $hasError: boolean;
23
+ }, never>;
24
+ export declare const RemoveButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick"> & import("../../types/dataAttributes").DataCy & {
25
+ icon: string;
26
+ size?: "small" | "medium";
27
+ onClick?: (event?: import("react").MouseEvent<HTMLButtonElement>) => void;
28
+ name?: string;
29
+ value?: string;
30
+ disabled?: boolean;
31
+ type?: "submit" | "reset" | "button";
32
+ bgBaseGrey?: 0 | 1 | 2;
33
+ color?: import("../..").Colors | import("../..").Shades | "inherit";
34
+ tooltip?: Omit<import("../..").JRCTooltipProps, "children">;
35
+ variant?: "circle" | "square";
36
+ hasLicense?: boolean;
37
+ bg?: import("../..").Colors | import("../..").Shades;
38
+ bgHover?: import("../..").Colors | import("../..").Shades;
39
+ borderColor?: import("../..").Colors | import("../..").Shades;
40
+ iconSize?: number;
41
+ badgeNumber?: number;
42
+ colorVariant?: string;
43
+ badgeInline?: boolean;
44
+ href?: string;
45
+ srOnly?: string;
46
+ } & import("react").RefAttributes<HTMLButtonElement>>, import("styled-components").DefaultTheme, {}, never>;
47
+ export declare const SectionContent: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
48
+ export declare const EmptyState: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
49
+ export declare const AddSectionButton: import("styled-components").StyledComponent<"button", import("styled-components").DefaultTheme, {}, never>;
50
+ export declare const ErrorMessage: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -0,0 +1,65 @@
1
+ export declare enum ItemTypes {
2
+ ITEM = "item",
3
+ SECTION = "section"
4
+ }
5
+ export interface BaseDndItem {
6
+ id: string | number;
7
+ content?: string;
8
+ label?: string;
9
+ type?: string;
10
+ [key: string]: unknown;
11
+ }
12
+ export interface DndDragItem extends BaseDndItem {
13
+ index: number;
14
+ sectionId?: string | number;
15
+ lastTargetIndex?: number;
16
+ }
17
+ export interface DndSection<T extends BaseDndItem = BaseDndItem> {
18
+ id: string;
19
+ label: string;
20
+ items: T[];
21
+ }
22
+ export interface DndData<T extends BaseDndItem = BaseDndItem> {
23
+ defaultSection: DndSection<T>;
24
+ customSections: DndSection<T>[];
25
+ }
26
+ export interface DndItemComponentProps<T extends BaseDndItem = BaseDndItem> {
27
+ item: T;
28
+ isDragging?: boolean;
29
+ dragHandleProps?: Record<string, unknown>;
30
+ onRemove?: (item: T, sectionId: string) => void;
31
+ sectionId?: string;
32
+ canRemove?: boolean;
33
+ }
34
+ export interface DndSectionComponentProps<T extends BaseDndItem = BaseDndItem> {
35
+ section: DndSection<T>;
36
+ isDragging?: boolean;
37
+ dragHandleProps?: Record<string, unknown>;
38
+ }
39
+ export interface DndEmptyStateComponentProps {
40
+ sectionId: string;
41
+ }
42
+ export interface JRCDndTwoLevelWithStackProps<T extends BaseDndItem = BaseDndItem> {
43
+ data: DndData<T>;
44
+ ItemComponent: React.FC<DndItemComponentProps<T>>;
45
+ SectionComponent?: React.FC<DndSectionComponentProps<T>>;
46
+ EmptyStateComponent?: React.FC<DndEmptyStateComponentProps>;
47
+ onItemMove: (dragIndex: number, hoverIndex: number, sectionId: string) => void;
48
+ onItemMoveToSection: (item: T, targetIndex: number, targetSectionId: string) => void;
49
+ onItemRemove?: (item: T, sectionId: string) => void;
50
+ onSectionMove: (dragIndex: number, hoverIndex: number) => void;
51
+ onSectionAdd: () => void;
52
+ onSectionRemove: (sectionId: string) => void;
53
+ onSectionLabelChange: (sectionId: string, newLabel: string) => void;
54
+ canAddSections?: boolean;
55
+ canRemoveSections?: boolean;
56
+ canEditSectionLabels?: boolean;
57
+ canRemoveItems?: boolean;
58
+ stackTitle?: string;
59
+ sectionsTitle?: string;
60
+ addSectionText?: string;
61
+ emptyStateText?: string;
62
+ sectionErrors?: Record<string, boolean>;
63
+ sectionError?: string;
64
+ $maxHeight?: string;
65
+ }
@@ -7,5 +7,8 @@ export interface JRCDropDownProps {
7
7
  onToggle?: (isOpen: boolean) => void;
8
8
  withBorder?: boolean;
9
9
  borderColor?: Colors;
10
+ overflow?: 'visible' | 'auto';
11
+ width?: string;
12
+ offset?: number;
10
13
  }
11
- export declare const JRCDropDown: ({ trigger, dropdown, align, onToggle, withBorder, borderColor }: JRCDropDownProps) => import("react/jsx-runtime").JSX.Element;
14
+ export declare const JRCDropDown: ({ trigger, dropdown, align, onToggle, withBorder, borderColor, overflow, width, offset, }: JRCDropDownProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
- import { JRCIcon } from './JRCIcon';
2
1
  import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { JRCIcon } from './JRCIcon';
3
3
  declare const meta: Meta;
4
4
  export default meta;
5
5
  type Story = StoryObj<typeof JRCIcon>;
@@ -42,6 +42,7 @@ export type JRCIconButtonProps = Omit<ComponentPropsWithoutRef<'button'>, 'onCli
42
42
  badgeNumber?: number;
43
43
  colorVariant?: keyof typeof colorVariants;
44
44
  badgeInline?: boolean;
45
+ href?: string;
45
46
  srOnly?: string;
46
47
  };
47
48
  export declare const JRCIconButton: import("react").ForwardRefExoticComponent<Omit<Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick"> & DataCy & {
@@ -64,6 +65,7 @@ export declare const JRCIconButton: import("react").ForwardRefExoticComponent<Om
64
65
  badgeNumber?: number;
65
66
  colorVariant?: keyof typeof colorVariants;
66
67
  badgeInline?: boolean;
68
+ href?: string;
67
69
  srOnly?: string;
68
70
  } & import("react").RefAttributes<HTMLButtonElement>>;
69
71
  export {};
@@ -1,5 +1,11 @@
1
- import { JRCIconButtonProps } from './JRCIconButton';
2
- import { Meta } from '@storybook/react-webpack5';
1
+ import { Meta, StoryObj } from '@storybook/react-webpack5';
2
+ import { JRCIconButton, JRCIconButtonProps } from './JRCIconButton';
3
3
  declare const _default: Meta;
4
4
  export default _default;
5
5
  export declare const Primary: import("storybook/internal/csf").AnnotatedStoryFn<import("@storybook/react-webpack5").ReactRenderer, JRCIconButtonProps>;
6
+ type Story = StoryObj<typeof JRCIconButton>;
7
+ export declare const IconButtonWithBadgeMedium: Story;
8
+ export declare const IconButtonWithBadgeSmall: Story;
9
+ export declare const IconButtonWithBadgeInline: Story;
10
+ export declare const IconButtonWithBadgeInlineGrey: Story;
11
+ export declare const IconButtonAsLink: Story;
@@ -2,7 +2,7 @@ import { ModalVariant } from './types';
2
2
  export type ModalBorderRadius = 'medium' | 'small';
3
3
  export declare const JRCModalBox: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
4
4
  isFullHeight?: boolean;
5
- overflow?: "visible" | "hidden";
5
+ overflow?: "hidden" | "scroll" | "visible" | "auto";
6
6
  zIndex?: number;
7
7
  }, never>;
8
8
  export declare const JRCModalContainerFull: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
@@ -11,20 +11,22 @@ export declare const JRCModalContainerFull: import("styled-components").StyledCo
11
11
  }, never>;
12
12
  export declare const JRCModalContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
13
13
  variant?: ModalVariant;
14
- overflow?: "hidden" | "visible";
14
+ overflow?: "hidden" | "visible" | "scroll" | "auto";
15
15
  radius?: ModalBorderRadius;
16
16
  maxHeight?: string;
17
+ maxWidth?: string;
17
18
  }, never>;
18
19
  export declare const JRCModalTitle: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
19
20
  export declare const JRCModalOptions: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
20
21
  export declare const JRCModalBody: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
21
22
  modalOverflow?: "hidden" | "scroll" | "visible" | "auto";
23
+ contentBackgroundColor?: boolean;
22
24
  }, never>;
23
25
  export declare const JRCModalContentFull: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
24
26
  export declare const JRCModalHeader: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
25
27
  modalOverflow?: "hidden" | "scroll" | "visible" | "auto";
26
28
  }, never>;
27
29
  export declare const JRCModalFooter: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
28
- modalOverflow?: "hidden" | "scroll" | "visible";
30
+ modalOverflow?: "hidden" | "scroll" | "visible" | "auto";
29
31
  }, never>;
30
32
  export declare const JRCModalClose: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {}, never>;
@@ -2,15 +2,17 @@ import { ReactNode } from 'react';
2
2
  import { ButtonColors } from '../JRCButton/types';
3
3
  export type JRCModalContentBase = {
4
4
  title?: ReactNode;
5
+ subTitle?: ReactNode;
5
6
  children?: ReactNode;
6
7
  options?: ReactNode;
7
- overflow?: 'visible' | 'hidden' | 'scroll';
8
+ overflow?: 'visible' | 'hidden' | 'scroll' | 'auto';
8
9
  onClickIconClose?: () => void;
9
10
  dataCy?: string;
10
11
  };
11
12
  export type JRCModalContentProps = JRCModalContentBase & {
12
13
  isFull?: boolean;
13
14
  buttons?: JRCModalButtonType[];
15
+ contentBackgroundColor?: boolean;
14
16
  };
15
17
  export interface JRCModalButtonType {
16
18
  children: ReactNode;
@@ -24,7 +26,11 @@ export interface JRCModalButtonType {
24
26
  export declare const ModalOptions: ({ children }: {
25
27
  children?: ReactNode;
26
28
  }) => import("react/jsx-runtime").JSX.Element;
27
- export declare const ModalTitle: ({ children }: {
28
- children?: ReactNode;
29
+ export declare const ModalTitle: ({ title, subTitle }: {
30
+ title?: ReactNode;
31
+ subTitle?: ReactNode;
32
+ }) => import("react/jsx-runtime").JSX.Element;
33
+ export declare const ModalDescription: ({ children }: {
34
+ children?: React.ReactNode;
29
35
  }) => import("react/jsx-runtime").JSX.Element;
30
- export declare const JRCModalContent: ({ title, onClickIconClose, overflow, options, children, buttons, isFull, dataCy, }: JRCModalContentProps) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const JRCModalContent: ({ title, subTitle, onClickIconClose, overflow, options, children, buttons, isFull, dataCy, contentBackgroundColor, }: JRCModalContentProps) => import("react/jsx-runtime").JSX.Element;