jamespot-react-components 1.3.102 → 1.3.104

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 (25) hide show
  1. package/dist/jamespot-react-components.cjs +1278 -1229
  2. package/dist/jamespot-react-components.js +11663 -11228
  3. package/dist/src/components/Editors/EditorDisplay.d.ts +7 -0
  4. package/dist/src/components/Editors/EditorDisplayInput.d.ts +6 -0
  5. package/dist/src/components/Editors/components/Editor.style.d.ts +4 -1
  6. package/dist/src/components/Editors/components/EditorButtonToggle.d.ts +2 -1
  7. package/dist/src/components/Editors/components/EditorInputToggle.d.ts +2 -1
  8. package/dist/src/components/Editors/components/EditorInputToggleSelect.d.ts +15 -0
  9. package/dist/src/components/Editors/ensure.d.ts +4 -0
  10. package/dist/src/components/Editors/types.d.ts +54 -0
  11. package/dist/src/components/Widgets/JRCWidgetCountdown/CountdownEvent.d.ts +8 -0
  12. package/dist/src/components/Widgets/JRCWidgetCountdown/CountdownNumbers.d.ts +4 -0
  13. package/dist/src/components/Widgets/JRCWidgetCountdown/JRCWidgetCountdown.d.ts +4 -0
  14. package/dist/src/components/Widgets/JRCWidgetCountdown/JRCWidgetCountdown.stories.d.ts +4 -0
  15. package/dist/src/components/Widgets/JRCWidgetCountdown/JRCWidgetCountdownEditor.d.ts +5 -0
  16. package/dist/src/components/Widgets/JRCWidgetCountdown/ModalArticleList.d.ts +7 -0
  17. package/dist/src/components/Widgets/JRCWidgetCountdown/countdown.utils.d.ts +6 -0
  18. package/dist/src/components/Widgets/JRCWidgetCountdown/types.d.ts +8 -0
  19. package/dist/src/components/Widgets/JRCWidgetEmbed/JRCWidgetEmbed.d.ts +4 -0
  20. package/dist/src/components/Widgets/JRCWidgetEmbed/JRCWidgetEmbed.stories.d.ts +8 -0
  21. package/dist/src/components/Widgets/JRCWidgetEmbed/JRCWidgetEmbedEditor.d.ts +12 -0
  22. package/dist/src/components/index.d.ts +4 -0
  23. package/dist/src/hooks/useInterval.d.ts +1 -0
  24. package/dist/src/translation/lang.json.d.ts +13 -0
  25. package/package.json +3 -3
@@ -0,0 +1,7 @@
1
+ import { EditorModel } from './types';
2
+ export type EditorDisplayProps<M extends readonly EditorModel[]> = {
3
+ model: M;
4
+ initialValues: Record<string, string | number | boolean>;
5
+ onChange: (name: string, value: string | number | boolean) => void;
6
+ };
7
+ export declare const EditorDisplay: <M extends readonly EditorModel[]>({ model, initialValues, onChange, }: EditorDisplayProps<M>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from 'react';
2
+ import { EditorModel } from './types';
3
+ export declare const EditorDisplayInput: ({ input, children }: {
4
+ input: EditorModel;
5
+ children: ReactNode;
6
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,10 @@
1
1
  export declare const CSSEditor: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
2
2
  export declare const CSSEditorWidgetProperties: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
3
3
  export declare const CSSEditorWarning: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
- export declare const CSSEditorComponentWrapper: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
4
+ export declare const CSSEditorComponentWrapper: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
5
+ isDisabled?: boolean;
6
+ }>> & string;
7
+ export declare const CSSEditorComponentWrapperDisabledMessage: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
5
8
  export declare const CSSEditorComponentLabel: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
6
9
  export declare const CSSEditorComponentDescription: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
7
10
  export declare const CSSEditorComponentSeparator: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLHRElement>, HTMLHRElement>, never>> & string;
@@ -1,8 +1,9 @@
1
1
  import { Sizes, ToggleListOption, ToggleValue } from '../../Form/Input/JRCInputCheckbox/JRCInputToggle';
2
- export declare const EditorButtonToggle: <T extends ToggleValue>({ name, label, initialValue, description, options, onChange, size, dataCy, }: {
2
+ export declare const EditorButtonToggle: <T extends ToggleValue>({ name, label, initialValue, description, isDisabled, options, onChange, size, dataCy, }: {
3
3
  name?: string;
4
4
  label?: string;
5
5
  initialValue: T | undefined;
6
+ isDisabled?: boolean;
6
7
  description?: string;
7
8
  options: ToggleListOption[];
8
9
  onChange: (value: T) => void;
@@ -1,6 +1,7 @@
1
1
  import { CheckboxOption } from '../../Form/Input/JRCInputCheckbox/JRCInputCheckbox.types';
2
- export declare const EditorInputToggle: ({ label, initialValue, description, options, onChange, }: {
2
+ export declare const EditorInputToggle: ({ label, name, initialValue, description, options, onChange, }: {
3
3
  label?: string;
4
+ name: string;
4
5
  initialValue: boolean;
5
6
  description?: string;
6
7
  options: CheckboxOption[];
@@ -0,0 +1,15 @@
1
+ import { ButtonColors } from '../../../components/JRCButton/types';
2
+ export type ToggleValues = string | number | boolean;
3
+ export declare const EditorInputToggleSelect: ({ label, name, initialValue, description, options, isDisabled, onChange, }: {
4
+ label?: string;
5
+ name: string;
6
+ initialValue: ToggleValues;
7
+ description?: string;
8
+ options: {
9
+ label: string;
10
+ value: ToggleValues;
11
+ color?: ButtonColors;
12
+ }[];
13
+ isDisabled?: boolean;
14
+ onChange: (value: ToggleValues) => void;
15
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare function ensureIsStringOrNumber(value: unknown): value is string | number;
2
+ export declare function ensureIsString(value: unknown): value is string;
3
+ export declare function ensureIsBoolean(value: unknown): value is boolean;
4
+ export declare function ensureIsColor(value: unknown): value is string;
@@ -0,0 +1,54 @@
1
+ import { ReactElement } from 'react';
2
+ import { ButtonColors } from '../JRCButton/types';
3
+ import { ToggleValues } from './components/EditorInputToggleSelect';
4
+ import { EditorSelectOptions } from './components/EditorSelect';
5
+ export declare enum EditorModelTypes {
6
+ Select = "select",
7
+ Toggle = "toggle",
8
+ ToggleSelect = "toggle-select",
9
+ Color = "color",
10
+ Custom = "custom",
11
+ ButtonToggle = "button-toggle"
12
+ }
13
+ export type EditorModelBase = {
14
+ label: string;
15
+ name: string;
16
+ isDisabled?: boolean;
17
+ isDisabledMessage?: string;
18
+ mandatory?: boolean;
19
+ };
20
+ export type EditorModelSelect = EditorModelBase & {
21
+ type: EditorModelTypes.Select;
22
+ options: EditorSelectOptions;
23
+ };
24
+ export type EditorModelToggle = EditorModelBase & {
25
+ type: EditorModelTypes.Toggle;
26
+ options: {
27
+ label: string;
28
+ value: string | number;
29
+ }[];
30
+ };
31
+ export type EditorModelButtonToggle = EditorModelBase & {
32
+ type: EditorModelTypes.ButtonToggle;
33
+ options: {
34
+ label: string;
35
+ value: string | number;
36
+ }[];
37
+ };
38
+ export type EditorModelToggleSelect = EditorModelBase & {
39
+ type: EditorModelTypes.ToggleSelect;
40
+ options: {
41
+ label: string;
42
+ value: ToggleValues;
43
+ color?: ButtonColors;
44
+ }[];
45
+ };
46
+ export type EditorModelColor = EditorModelBase & {
47
+ type: EditorModelTypes.Color;
48
+ options: string[];
49
+ };
50
+ export type EditorModelCustom = EditorModelBase & {
51
+ type: EditorModelTypes.Custom;
52
+ component: ReactElement;
53
+ };
54
+ export type EditorModel = EditorModelSelect | EditorModelToggle | EditorModelColor | EditorModelToggleSelect | EditorModelButtonToggle | EditorModelCustom;
@@ -0,0 +1,8 @@
1
+ import { ArticlesList } from 'jamespot-user-api';
2
+ import { WidgetCountdownHandlers } from './types';
3
+ export declare const CountdownEvent: ({ uri, handlers, onSetEvent, onRemove, }: {
4
+ uri: string;
5
+ handlers: WidgetCountdownHandlers;
6
+ onSetEvent: (event: ArticlesList) => void;
7
+ onRemove: () => void;
8
+ }) => string | import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare const CountdownNumbers: ({ value, label }: {
2
+ value: number;
3
+ label?: string;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ export declare const JRCWidgetCountdown: ({ dateStart, dateEnd }: {
2
+ dateStart: Date;
3
+ dateEnd?: Date;
4
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { Meta } from '@storybook/react-vite';
2
+ declare const _default: Meta;
3
+ export default _default;
4
+ export declare const Primary: import('storybook/internal/csf').AnnotatedStoryFn<import('@storybook/react-vite').ReactRenderer, import('@storybook/react-vite').Args>;
@@ -0,0 +1,5 @@
1
+ import { WidgetCountdownContent, WidgetEditorActions } from 'jamespot-user-api';
2
+ import { WidgetCountdownHandlers } from './types';
3
+ export declare const JRCWidgetCountdownEditor: ({ articleUri, background, backgroundColor, usePattern, textShadow, size, color, handlers, onChange, }: {
4
+ handlers: WidgetCountdownHandlers;
5
+ } & WidgetEditorActions<WidgetCountdownContent> & WidgetCountdownContent) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { WidgetCountdownHandlers } from './types';
2
+ export declare const ModalArticleList: ({ handlers, type, label, onSelect, }: {
3
+ handlers: WidgetCountdownHandlers;
4
+ type: string;
5
+ label?: string;
6
+ onSelect: (uri: string) => void;
7
+ }) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ export declare function dateDiff(d1: Date, d2: Date): {
2
+ m: number;
3
+ h: number;
4
+ d: number;
5
+ };
6
+ export declare function clockNumber(value: number): number[];
@@ -0,0 +1,8 @@
1
+ import { JArticleApi, JCalendarApi } from 'jamespot-user-api';
2
+ import { Handlers } from '../context/provider';
3
+ export type WidgetCountdownHandlers = Handlers & {
4
+ jamespot: {
5
+ article: JArticleApi;
6
+ calendar: JCalendarApi;
7
+ };
8
+ };
@@ -0,0 +1,4 @@
1
+ export type JRCWidgetEmbedProps = {
2
+ text?: string;
3
+ };
4
+ export declare const JRCWidgetEmbed: ({ text }: JRCWidgetEmbedProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { JRCWidgetEmbed } from './JRCWidgetEmbed';
3
+ declare const meta: Meta<typeof JRCWidgetEmbed>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof JRCWidgetEmbed>;
6
+ export declare const Iframe: Story;
7
+ export declare const RawHtml: Story;
8
+ export declare const Empty: Story;
@@ -0,0 +1,12 @@
1
+ import { WidgetEmbedContent } from 'jamespot-user-api';
2
+ import { JRCInputTinyMCERawProps } from '../../Form/Input/JRCInputTinyMCERaw/JRCInputTinyMCERaw';
3
+ import { TinyMCEExtension } from '../../Form/Input/JRCInputTinyMCERaw/types';
4
+ export interface JRCWidgetEmbedEditorProps {
5
+ uniqid: string;
6
+ content: WidgetEmbedContent;
7
+ onChangeContent: (uniqid: string, content: WidgetEmbedContent) => void;
8
+ token: string | undefined;
9
+ additionalExtensions?: Array<TinyMCEExtension>;
10
+ tinyMCECommonOptions?: Pick<JRCInputTinyMCERawProps, 'commonOptions' | 'mentionsQueries'> & Partial<Pick<JRCInputTinyMCERawProps, 'tinymceScriptSrc'>>;
11
+ }
12
+ export declare const JRCWidgetEmbedEditor: ({ uniqid, content, onChangeContent, token, additionalExtensions, tinyMCECommonOptions, }: JRCWidgetEmbedEditorProps) => import("react/jsx-runtime").JSX.Element;
@@ -191,6 +191,8 @@ export { JRCWidgetSeparator } from './Widgets/JRCWidgetSeparator/JRCWidgetSepara
191
191
  export { JRCWidgetSeparatorEditor } from './Widgets/JRCWidgetSeparator/JRCWidgetSeparatorEditor';
192
192
  export { JRCWidgetContactCardDav } from './Widgets/JRCWidgetContactCardDav/JRCWidgetContactCardDav';
193
193
  export { JRCWidgetContactCardDavEditor } from './Widgets/JRCWidgetContactCardDav/JRCWidgetContactCardDavEditor';
194
+ export { JRCWidgetCountdown } from './Widgets/JRCWidgetCountdown/JRCWidgetCountdown';
195
+ export { JRCWidgetCountdownEditor } from './Widgets/JRCWidgetCountdown/JRCWidgetCountdownEditor';
194
196
  export { JRCWidgetCover } from './Widgets/JRCWidgetCover/JRCWidgetCover';
195
197
  export { JRCWidgetCoverEditor } from './Widgets/JRCWidgetCover/JRCWidgetCoverEditor';
196
198
  export { JRCWidgetEmailsImap } from './Widgets/JRCWidgetEmailsImap/JRCWidgetEmailsImap';
@@ -219,6 +221,8 @@ export { JRCWidgetTable } from './Widgets/JRCWidgetTable/JRCWidgetTable';
219
221
  export { JRCWidgetTableEditor } from './Widgets/JRCWidgetTable/JRCWidgetTableEditor';
220
222
  export { JRCWidgetText } from './Widgets/JRCWidgetText/JRCWidgetText';
221
223
  export { JRCWidgetTextEditor } from './Widgets/JRCWidgetText/JRCWidgetTextEditor';
224
+ export { JRCWidgetEmbed } from './Widgets/JRCWidgetEmbed/JRCWidgetEmbed';
225
+ export { JRCWidgetEmbedEditor } from './Widgets/JRCWidgetEmbed/JRCWidgetEmbedEditor';
222
226
  export { JRCWidgetUserProfile } from './Widgets/JRCWidgetUserProfile/JRCWidgetUserProfile';
223
227
  export { JRCWidgetUserProfileEditor } from './Widgets/JRCWidgetUserProfile/JRCWidgetUserProfileEditor';
224
228
  export { JRCWidgetWelcome } from './Widgets/JRCWidgetWelcome/JRCWidgetWelcome';
@@ -0,0 +1 @@
1
+ export declare function useInterval(callback: () => void, delay: number | null): void;
@@ -351,6 +351,7 @@ declare const _default: {
351
351
  "PANEL_Size_Small": "Petit",
352
352
  "PANEL_Text_Color": "Couleur du texte",
353
353
  "PANEL_Text_Size": "Taille du texte",
354
+ "PANEL_Text_Shadow": "Ajouter une ombre portée au texte",
354
355
  "PANEL_Title": "Titre",
355
356
  "PANEL_Widget_Empty_Setting": "Il n'y a rien à configurer",
356
357
  "PANEL_Widget_Extension_Name": "Nom de l'extension",
@@ -507,6 +508,16 @@ declare const _default: {
507
508
  "WIDGET_Survey_Multiple_Help": "Allow multiple responses",
508
509
  "WIDGET_Survey_Multiple": "Multiple response",
509
510
  "WIDGET_Survey_Open_Help": "Allows other users to add suggestion",
511
+ "WIDGET_Countdown_Days": "Day(s)",
512
+ "WIDGET_Countdown_Hours": "Hour(s)",
513
+ "WIDGET_Countdown_Minutes": "Minutes(s)",
514
+ "WIDGET_Countdown_Select_Social_Event": "Sélectionner un évènement",
515
+ "WIDGET_Countdown_Select_Social_Event_Message": "Seuls les événements/réunions des 60 prochains jours peuvent être affichés dans le compte à rebours",
516
+ "WIDGET_Countdown_Select_Meeting": "Sélectionner une réunion",
517
+ "PANEL_Widget_Countdown_Size": "Séléctionnez une taille",
518
+ "PANEL_Widget_Countdown_Use_Image": "Sélectionner une type de fond",
519
+ "PANEL_Widget_Countdown_Use_Image_Disabled_Message": "Aucune illustration disponible",
520
+ "PANEL_Widget_Countdown_Use_Background_Texture": "Texture de fond",
510
521
  "WIDGET_Survey_Open": "Open survey",
511
522
  "WIDGET_Text_Use_Flex_Label": "Disposition flexible",
512
523
  "WIDGET_User_Profil_Display_Mode_Label": "Affichage du nom",
@@ -528,6 +539,8 @@ declare const _default: {
528
539
  "WIDGET_Welcome_Default_Message": "Bienvenue",
529
540
  "WIDGET_Welcome_Linebreak_Label": "Saut de ligne (après le message)",
530
541
  "WIDGET_Welcome": "Message d'accueil",
542
+ "WIDGET_Embed": "Embed",
543
+ "WIDGET_Embed_Text": "Embed external HTML content (iframe, integration code)",
531
544
  "WIDGET_Youtube_Url": "Video URL",
532
545
  "WIDGET_Youtube": "Video",
533
546
  "WIDGET_Youtube_Text": "Embed a YouTube video",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jamespot-react-components",
3
- "version": "1.3.102",
3
+ "version": "1.3.104",
4
4
  "description": "",
5
5
  "main": "dist/jamespot-react-components.cjs",
6
6
  "module": "dist/jamespot-react-components.js",
@@ -59,8 +59,8 @@
59
59
  "eslint-plugin-storybook": "10.3.6",
60
60
  "globals": "^16.5.0",
61
61
  "html2canvas": "^1.4.1",
62
- "jamespot-front-business": "^1.3.102",
63
- "jamespot-user-api": "^1.3.102",
62
+ "jamespot-front-business": "^1.3.104",
63
+ "jamespot-user-api": "^1.3.104",
64
64
  "jsdom": "^26.1.0",
65
65
  "knip": "^5.88.1",
66
66
  "lint-staged": "^16.4.0",