jamespot-react-components 1.3.117 → 1.3.118
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.
- package/dist/jamespot-react-components.cjs +1710 -1414
- package/dist/jamespot-react-components.js +19897 -19225
- package/dist/src/components/Editors/components/EditorButtonToggle.d.ts +3 -1
- package/dist/src/components/Form/Input/JRCInputCheckbox/JRCInputToggle.d.ts +1 -0
- package/dist/src/components/Form/Input/JRCSelect/JRCInputSelect.style.d.ts +71 -7
- package/dist/src/components/JRCAnimatedContainer.d.ts +2 -2
- package/dist/src/components/JRCButton/Button.d.ts +33 -7
- package/dist/src/components/JRCButton/types.d.ts +5 -2
- package/dist/src/components/JRCCollapse/JRCCollapse.d.ts +3 -1
- package/dist/src/components/JRCStyledHref/JRCStyledHref.d.ts +1 -1
- package/dist/src/components/Widgets/JRCWidgetFaq/FaqSearchResults.d.ts +10 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/FaqSelectionModal.d.ts +8 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/FaqThemeAccordion.d.ts +8 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/JRCWidgetFaq.const.d.ts +1 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/JRCWidgetFaq.d.ts +2 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/JRCWidgetFaq.stories.d.ts +12 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/JRCWidgetFaq.types.d.ts +14 -0
- package/dist/src/components/Widgets/JRCWidgetFaq/JRCWidgetFaqEditor.d.ts +11 -0
- package/dist/src/components/Widgets/JRCWidgetMyGroup/JRCWidgetMyGroup.const.d.ts +9 -0
- package/dist/src/components/Widgets/JRCWidgetMyGroup/JRCWidgetMyGroup.d.ts +7 -0
- package/dist/src/components/Widgets/JRCWidgetMyGroup/JRCWidgetMyGroup.stories.d.ts +7 -0
- package/dist/src/components/Widgets/JRCWidgetMyGroup/JRCWidgetMyGroup.utils.d.ts +10 -0
- package/dist/src/components/index.d.ts +3 -0
- package/dist/src/translation/lang.json.d.ts +15 -1
- package/dist/src/utils/utils.html.d.ts +1 -0
- package/dist/src/utils/utils.string.d.ts +3 -0
- package/package.json +3 -3
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Sizes, ToggleListOption, ToggleValue } from '../../Form/Input/JRCInputCheckbox/JRCInputToggle';
|
|
2
|
-
export declare const EditorButtonToggle: <T extends ToggleValue>({ name, label, initialValue, description, isDisabled, options, onChange, onOptionClick, size, dataCy, }: {
|
|
2
|
+
export declare const EditorButtonToggle: <T extends ToggleValue>({ name, label, initialValue, description, isDisabled, options, onChange, onOptionClick, size, fullWidth, margin, dataCy, }: {
|
|
3
3
|
name?: string;
|
|
4
4
|
label?: string;
|
|
5
5
|
initialValue: T | undefined;
|
|
@@ -9,5 +9,7 @@ export declare const EditorButtonToggle: <T extends ToggleValue>({ name, label,
|
|
|
9
9
|
onChange: (value: T) => void;
|
|
10
10
|
onOptionClick?: (value: T) => void;
|
|
11
11
|
size?: Sizes;
|
|
12
|
+
fullWidth?: boolean;
|
|
13
|
+
margin?: string;
|
|
12
14
|
dataCy?: string;
|
|
13
15
|
}) => import("react").JSX.Element;
|
|
@@ -99,17 +99,80 @@ export declare const NoOptionList: import('styled-components/dist/types').IStyle
|
|
|
99
99
|
as?: import('styled-components').WebTarget | undefined;
|
|
100
100
|
forwardedAs?: import('styled-components').WebTarget | undefined;
|
|
101
101
|
}, never>>> & string;
|
|
102
|
-
|
|
102
|
+
type IconBeforeStyleProps = {
|
|
103
103
|
left?: number;
|
|
104
104
|
top?: number;
|
|
105
105
|
height?: number;
|
|
106
106
|
width?: number;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
107
|
+
};
|
|
108
|
+
export declare const IconBefore: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<import('../../../..').JRCIconProps, keyof IconBeforeStyleProps> & IconBeforeStyleProps, never> & Partial<Pick<import('styled-components').FastOmit<import('../../../..').JRCIconProps, keyof IconBeforeStyleProps> & IconBeforeStyleProps, never>>> & string & Omit<({ color, variant, name, size, isMargin, className, faOptions, iconColor, role, label, }: import('../../../..').JRCIconProps) => import("react").JSX.Element, keyof import('react').Component<any, {}, any>>;
|
|
109
|
+
export declare const IconBeforeButton: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick"> & import('../../../../types/dataAttributes').DataCy & {
|
|
110
|
+
icon: string;
|
|
111
|
+
size?: "small" | "medium";
|
|
112
|
+
onClick?: (event: import('react').MouseEvent<HTMLButtonElement>) => void;
|
|
113
|
+
name?: string;
|
|
114
|
+
value?: string;
|
|
115
|
+
disabled?: boolean;
|
|
116
|
+
type?: "submit" | "reset" | "button";
|
|
117
|
+
bgBaseGrey?: 0 | 1 | 2;
|
|
118
|
+
color?: import('jamespot-front-business').Colors | "inherit";
|
|
119
|
+
tooltip?: Omit<import('../../../..').JRCTooltipProps, "children">;
|
|
120
|
+
variant?: "circle" | "square";
|
|
121
|
+
hasLicense?: boolean;
|
|
122
|
+
bg?: import('jamespot-front-business').Colors;
|
|
123
|
+
bgHover?: import('jamespot-front-business').Colors;
|
|
124
|
+
borderColor?: import('jamespot-front-business').Colors;
|
|
125
|
+
iconSize?: number;
|
|
126
|
+
badgeNumber?: number;
|
|
127
|
+
colorVariant?: string;
|
|
128
|
+
badgeInline?: boolean;
|
|
129
|
+
href?: string;
|
|
130
|
+
srOnly?: string;
|
|
131
|
+
} & import('react').RefAttributes<HTMLButtonElement>, keyof IconBeforeStyleProps> & IconBeforeStyleProps, never> & Partial<Pick<import('styled-components').FastOmit<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick"> & import('../../../../types/dataAttributes').DataCy & {
|
|
132
|
+
icon: string;
|
|
133
|
+
size?: "small" | "medium";
|
|
134
|
+
onClick?: (event: import('react').MouseEvent<HTMLButtonElement>) => void;
|
|
135
|
+
name?: string;
|
|
136
|
+
value?: string;
|
|
137
|
+
disabled?: boolean;
|
|
138
|
+
type?: "submit" | "reset" | "button";
|
|
139
|
+
bgBaseGrey?: 0 | 1 | 2;
|
|
140
|
+
color?: import('jamespot-front-business').Colors | "inherit";
|
|
141
|
+
tooltip?: Omit<import('../../../..').JRCTooltipProps, "children">;
|
|
142
|
+
variant?: "circle" | "square";
|
|
143
|
+
hasLicense?: boolean;
|
|
144
|
+
bg?: import('jamespot-front-business').Colors;
|
|
145
|
+
bgHover?: import('jamespot-front-business').Colors;
|
|
146
|
+
borderColor?: import('jamespot-front-business').Colors;
|
|
147
|
+
iconSize?: number;
|
|
148
|
+
badgeNumber?: number;
|
|
149
|
+
colorVariant?: string;
|
|
150
|
+
badgeInline?: boolean;
|
|
151
|
+
href?: string;
|
|
152
|
+
srOnly?: string;
|
|
153
|
+
} & import('react').RefAttributes<HTMLButtonElement>, keyof IconBeforeStyleProps> & IconBeforeStyleProps, never>>> & string & Omit<import('react').ForwardRefExoticComponent<Omit<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref">, "onClick"> & import('../../../../types/dataAttributes').DataCy & {
|
|
154
|
+
icon: string;
|
|
155
|
+
size?: "small" | "medium";
|
|
156
|
+
onClick?: (event: import('react').MouseEvent<HTMLButtonElement>) => void;
|
|
157
|
+
name?: string;
|
|
158
|
+
value?: string;
|
|
159
|
+
disabled?: boolean;
|
|
160
|
+
type?: "submit" | "reset" | "button";
|
|
161
|
+
bgBaseGrey?: 0 | 1 | 2;
|
|
162
|
+
color?: import('jamespot-front-business').Colors | "inherit";
|
|
163
|
+
tooltip?: Omit<import('../../../..').JRCTooltipProps, "children">;
|
|
164
|
+
variant?: "circle" | "square";
|
|
165
|
+
hasLicense?: boolean;
|
|
166
|
+
bg?: import('jamespot-front-business').Colors;
|
|
167
|
+
bgHover?: import('jamespot-front-business').Colors;
|
|
168
|
+
borderColor?: import('jamespot-front-business').Colors;
|
|
169
|
+
iconSize?: number;
|
|
170
|
+
badgeNumber?: number;
|
|
171
|
+
colorVariant?: string;
|
|
172
|
+
badgeInline?: boolean;
|
|
173
|
+
href?: string;
|
|
174
|
+
srOnly?: string;
|
|
175
|
+
} & import('react').RefAttributes<HTMLButtonElement>>, keyof import('react').Component<any, {}, any>>;
|
|
113
176
|
export declare const TimesIndicator: ({ onClick }: {
|
|
114
177
|
onClick?: () => void;
|
|
115
178
|
}) => import("react").JSX.Element;
|
|
@@ -122,3 +185,4 @@ export declare const DropdownIndicator: ({ loading, open, onClick, sizeVariant,
|
|
|
122
185
|
expand: boolean;
|
|
123
186
|
controls: string;
|
|
124
187
|
}) => import("react").JSX.Element;
|
|
188
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
2
|
export type AnimationType = 'fade' | 'slide' | 'fade-slide' | 'zoom' | 'grow';
|
|
3
3
|
interface JRCAnimatedContainerProps {
|
|
4
4
|
children: ReactNode;
|
|
@@ -10,5 +10,5 @@ interface JRCAnimatedContainerProps {
|
|
|
10
10
|
unmountOnExit?: boolean;
|
|
11
11
|
forceInitialHidden?: boolean;
|
|
12
12
|
}
|
|
13
|
-
export declare const JRCAnimatedContainer:
|
|
13
|
+
export declare const JRCAnimatedContainer: ({ children, isVisible, animationType, timeout, enteringDelay, className, unmountOnExit, forceInitialHidden, }: JRCAnimatedContainerProps) => import("react").JSX.Element | null;
|
|
14
14
|
export {};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { ButtonProps,
|
|
2
|
-
export declare const ButtonStyle: import('styled-components').RuleSet<NoInfer<
|
|
3
|
-
/**
|
|
4
|
-
* Button styling. May be used as a <a> tag
|
|
5
|
-
*/
|
|
1
|
+
import { ButtonProps, ButtonStyleProps } from './types';
|
|
2
|
+
export declare const ButtonStyle: import('styled-components').RuleSet<NoInfer<ButtonStyleProps>>;
|
|
6
3
|
export declare const StyledButton: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "is" | "children" | "onClick" | "onDrag" | "onDrop" | "type" | "style" | "key" | "form" | "label" | "slot" | "hidden" | "color" | "content" | "size" | "icon" | "disabled" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "exportparts" | "part" | "data-tooltip-id" | "data-tooltip-place" | "data-tooltip-content" | "data-tooltip-html" | "data-tooltip-variant" | "data-tooltip-offset" | "data-tooltip-wrapper" | "data-tooltip-events" | "data-tooltip-position-strategy" | "data-tooltip-delay-show" | "data-tooltip-delay-hide" | "data-tooltip-float" | "data-tooltip-hidden" | "data-tooltip-class-name" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "name" | "variant" | "$borderRadius" | "$noMargin" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "dataCy" | "themeCustom" | "autofocus" | "hasLicense" | "srOnly" | "$borderRadiusMode" | "$hasLabel" | "$iconRight" | "$themeButton" | "$loader" | "$float" | "$minWidth" | "offset"> & {
|
|
7
4
|
$themeButton: import('./types').ButtonType;
|
|
8
5
|
$hasLabel: boolean;
|
|
@@ -13,7 +10,9 @@ export declare const StyledButton: import('styled-components/dist/types').IStyle
|
|
|
13
10
|
$loader?: ButtonProps["loader"];
|
|
14
11
|
$float?: ButtonProps["float"];
|
|
15
12
|
$minWidth?: ButtonProps["minWidth"];
|
|
16
|
-
|
|
13
|
+
disabled?: ButtonProps["disabled"];
|
|
14
|
+
size?: ButtonProps["size"];
|
|
15
|
+
} & import('../Common/Outline').OutlineProps & Omit<ButtonProps, "borderRadius" | "noMargin" | "loader" | "borderRadiusMode" | "iconRight" | "float" | "minWidth">, never> & Partial<Pick<import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "is" | "children" | "onClick" | "onDrag" | "onDrop" | "type" | "style" | "key" | "form" | "label" | "slot" | "hidden" | "color" | "content" | "size" | "icon" | "disabled" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "id" | "lang" | "nonce" | "spellCheck" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "popover" | "popoverTargetAction" | "popoverTarget" | "inert" | "inputMode" | "exportparts" | "part" | "data-tooltip-id" | "data-tooltip-place" | "data-tooltip-content" | "data-tooltip-html" | "data-tooltip-variant" | "data-tooltip-offset" | "data-tooltip-wrapper" | "data-tooltip-events" | "data-tooltip-position-strategy" | "data-tooltip-delay-show" | "data-tooltip-delay-hide" | "data-tooltip-float" | "data-tooltip-hidden" | "data-tooltip-class-name" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onScrollEnd" | "onScrollEndCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onToggle" | "onBeforeToggle" | "onTransitionCancel" | "onTransitionCancelCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "onTransitionRun" | "onTransitionRunCapture" | "onTransitionStart" | "onTransitionStartCapture" | "name" | "variant" | "$borderRadius" | "$noMargin" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "dataCy" | "themeCustom" | "autofocus" | "hasLicense" | "srOnly" | "$borderRadiusMode" | "$hasLabel" | "$iconRight" | "$themeButton" | "$loader" | "$float" | "$minWidth" | "offset"> & {
|
|
17
16
|
$themeButton: import('./types').ButtonType;
|
|
18
17
|
$hasLabel: boolean;
|
|
19
18
|
$noMargin?: ButtonProps["noMargin"];
|
|
@@ -23,7 +22,34 @@ export declare const StyledButton: import('styled-components/dist/types').IStyle
|
|
|
23
22
|
$loader?: ButtonProps["loader"];
|
|
24
23
|
$float?: ButtonProps["float"];
|
|
25
24
|
$minWidth?: ButtonProps["minWidth"];
|
|
26
|
-
|
|
25
|
+
disabled?: ButtonProps["disabled"];
|
|
26
|
+
size?: ButtonProps["size"];
|
|
27
|
+
} & import('../Common/Outline').OutlineProps & Omit<ButtonProps, "borderRadius" | "noMargin" | "loader" | "borderRadiusMode" | "iconRight" | "float" | "minWidth">, never>>> & string;
|
|
28
|
+
export declare const StyledButtonLink: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components').FastOmit<import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "size" | "disabled" | "$borderRadius" | "$noMargin" | "$borderRadiusMode" | "$hasLabel" | "$iconRight" | "$themeButton" | "$loader" | "$float" | "$minWidth" | keyof import('../Common/Outline').OutlineProps> & {
|
|
29
|
+
$themeButton: import('./types').ButtonType;
|
|
30
|
+
$hasLabel: boolean;
|
|
31
|
+
$noMargin?: ButtonProps["noMargin"];
|
|
32
|
+
$borderRadius?: ButtonProps["borderRadius"];
|
|
33
|
+
$borderRadiusMode?: ButtonProps["borderRadiusMode"];
|
|
34
|
+
$iconRight?: ButtonProps["iconRight"];
|
|
35
|
+
$loader?: ButtonProps["loader"];
|
|
36
|
+
$float?: ButtonProps["float"];
|
|
37
|
+
$minWidth?: ButtonProps["minWidth"];
|
|
38
|
+
disabled?: ButtonProps["disabled"];
|
|
39
|
+
size?: ButtonProps["size"];
|
|
40
|
+
} & import('../Common/Outline').OutlineProps, never> & Partial<Pick<import('styled-components').FastOmit<import('react').DetailedHTMLProps<import('react').AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>, "size" | "disabled" | "$borderRadius" | "$noMargin" | "$borderRadiusMode" | "$hasLabel" | "$iconRight" | "$themeButton" | "$loader" | "$float" | "$minWidth" | keyof import('../Common/Outline').OutlineProps> & {
|
|
41
|
+
$themeButton: import('./types').ButtonType;
|
|
42
|
+
$hasLabel: boolean;
|
|
43
|
+
$noMargin?: ButtonProps["noMargin"];
|
|
44
|
+
$borderRadius?: ButtonProps["borderRadius"];
|
|
45
|
+
$borderRadiusMode?: ButtonProps["borderRadiusMode"];
|
|
46
|
+
$iconRight?: ButtonProps["iconRight"];
|
|
47
|
+
$loader?: ButtonProps["loader"];
|
|
48
|
+
$float?: ButtonProps["float"];
|
|
49
|
+
$minWidth?: ButtonProps["minWidth"];
|
|
50
|
+
disabled?: ButtonProps["disabled"];
|
|
51
|
+
size?: ButtonProps["size"];
|
|
52
|
+
} & import('../Common/Outline').OutlineProps, never>>> & string;
|
|
27
53
|
export declare const Button: import('react').ForwardRefExoticComponent<Omit<import('react').DetailedHTMLProps<import('react').ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & import('../../types/dataAttributes').DataCy & {
|
|
28
54
|
color?: import('./types').ButtonColors;
|
|
29
55
|
themeCustom?: import('./types').ButtonType;
|
|
@@ -50,7 +50,7 @@ export type ButtonProps = ComponentPropsWithoutRef<'button'> & DataCy & {
|
|
|
50
50
|
borderRadius?: 'right';
|
|
51
51
|
borderRadiusMode?: 'default' | 'max';
|
|
52
52
|
};
|
|
53
|
-
export type
|
|
53
|
+
export type ButtonStyleProps = {
|
|
54
54
|
$themeButton: ButtonType;
|
|
55
55
|
$hasLabel: boolean;
|
|
56
56
|
$noMargin?: ButtonProps['noMargin'];
|
|
@@ -60,4 +60,7 @@ export type StyledButtonProps = {
|
|
|
60
60
|
$loader?: ButtonProps['loader'];
|
|
61
61
|
$float?: ButtonProps['float'];
|
|
62
62
|
$minWidth?: ButtonProps['minWidth'];
|
|
63
|
-
|
|
63
|
+
disabled?: ButtonProps['disabled'];
|
|
64
|
+
size?: ButtonProps['size'];
|
|
65
|
+
} & OutlineProps;
|
|
66
|
+
export type StyledButtonProps = ButtonStyleProps & Omit<ButtonProps, 'noMargin' | 'borderRadius' | 'borderRadiusMode' | 'iconRight' | 'loader' | 'float' | 'minWidth'>;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
+
import { DefaultTheme } from 'styled-components';
|
|
2
3
|
export type JRCCollapseProps = {
|
|
3
4
|
header: ReactNode;
|
|
4
5
|
content: ReactNode;
|
|
5
|
-
maxHeight?: number;
|
|
6
6
|
openByDefault?: boolean;
|
|
7
|
+
open?: boolean;
|
|
8
|
+
contentSpacing?: keyof DefaultTheme['space'] | 0;
|
|
7
9
|
};
|
|
8
10
|
export declare const JRCCollapse: (props: JRCCollapseProps) => import("react").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
2
1
|
import { Colors } from 'jamespot-front-business';
|
|
2
|
+
import { ComponentPropsWithoutRef, ReactNode } from 'react';
|
|
3
3
|
import { DataCy } from '../../types/dataAttributes';
|
|
4
4
|
import { ButtonColors, ButtonSizes, ButtonType } from '../JRCButton/types';
|
|
5
5
|
/**
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FaqWidgetItem } from 'jamespot-user-api';
|
|
2
|
+
export type FaqSearchGroup = {
|
|
3
|
+
title: string;
|
|
4
|
+
items: FaqWidgetItem[];
|
|
5
|
+
};
|
|
6
|
+
export type FaqSearchResultsProps = {
|
|
7
|
+
groups: FaqSearchGroup[];
|
|
8
|
+
onSelectItem: (item: FaqWidgetItem) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare const FaqSearchResults: ({ groups, onSelectItem }: FaqSearchResultsProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ApiWrapper, FaqWidgetCategoryItem } from 'jamespot-user-api';
|
|
2
|
+
export type FaqSelectionModalProps = {
|
|
3
|
+
label: string;
|
|
4
|
+
selectedUri?: string | undefined;
|
|
5
|
+
getWidgetCategories: (signal?: AbortSignal) => Promise<ApiWrapper<FaqWidgetCategoryItem[]>>;
|
|
6
|
+
onSelect: (category: FaqWidgetCategoryItem | undefined) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const FaqSelectionModal: ({ label, selectedUri, getWidgetCategories, onSelect }: FaqSelectionModalProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { FaqWidgetItem } from 'jamespot-user-api';
|
|
2
|
+
import { FaqTheme } from './JRCWidgetFaq.types';
|
|
3
|
+
export type FaqThemeAccordionProps = {
|
|
4
|
+
themes: FaqTheme[];
|
|
5
|
+
onSelectItem: (item: FaqWidgetItem) => void;
|
|
6
|
+
openThemes?: string[] | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const FaqThemeAccordion: ({ themes, onSelectItem, openThemes }: FaqThemeAccordionProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FAQ_SEARCH_DEBOUNCE_MS = 1000;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { JRCWidgetFaq } from './JRCWidgetFaq';
|
|
3
|
+
declare const meta: Meta<typeof JRCWidgetFaq>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof JRCWidgetFaq>;
|
|
6
|
+
export declare const WithCover: Story;
|
|
7
|
+
export declare const CoverHidden: Story;
|
|
8
|
+
export declare const Empty: Story;
|
|
9
|
+
export declare const Loading: Story;
|
|
10
|
+
export declare const HasError: Story;
|
|
11
|
+
export declare const Editor: StoryObj;
|
|
12
|
+
export declare const EditorTemplateMode: StoryObj;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FaqWidgetItem, WidgetFaqContent } from 'jamespot-user-api';
|
|
2
|
+
export type FaqTheme = {
|
|
3
|
+
id?: string | undefined;
|
|
4
|
+
title: string;
|
|
5
|
+
items: FaqWidgetItem[];
|
|
6
|
+
};
|
|
7
|
+
export type JRCWidgetFaqProps = {
|
|
8
|
+
themes: FaqTheme[];
|
|
9
|
+
content: WidgetFaqContent;
|
|
10
|
+
coverImage?: string | undefined;
|
|
11
|
+
isLoading?: boolean | undefined;
|
|
12
|
+
hasError?: boolean | undefined;
|
|
13
|
+
onSelectItem: (item: FaqWidgetItem) => void;
|
|
14
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { JFaqApi, WidgetDisplayMode, WidgetFaqContent } from 'jamespot-user-api';
|
|
2
|
+
export interface JRCWidgetFaqEditorProps {
|
|
3
|
+
uniqid: string;
|
|
4
|
+
content: WidgetFaqContent;
|
|
5
|
+
mode?: WidgetDisplayMode | undefined;
|
|
6
|
+
onChangeContent: (uniqid: string, content: WidgetFaqContent) => void;
|
|
7
|
+
handlers: {
|
|
8
|
+
faq: Pick<JFaqApi, 'getWidgetCategories'>;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export declare const JRCWidgetFaqEditor: ({ uniqid, content, mode, onChangeContent, handlers }: JRCWidgetFaqEditorProps) => import("react").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jGroupLittle } from 'jamespot-user-api';
|
|
2
|
+
export declare const ALPHABET: string[];
|
|
3
|
+
export declare const GROUP_THUMB_SIZE = 4;
|
|
4
|
+
export declare const GROUP_PRIVACY_LABEL: Record<number, string>;
|
|
5
|
+
export type MyGroupSection = {
|
|
6
|
+
title: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
arr: jGroupLittle[];
|
|
9
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jGroupLittle, UserSpotCategories } from 'jamespot-user-api';
|
|
2
|
+
export type JRCWidgetMyGroupProps = {
|
|
3
|
+
groups: jGroupLittle[];
|
|
4
|
+
categories?: UserSpotCategories | undefined;
|
|
5
|
+
isLoading?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const JRCWidgetMyGroup: ({ groups, categories, isLoading }: JRCWidgetMyGroupProps) => import("react").JSX.Element | null;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Meta, StoryFn } from '@storybook/react-vite';
|
|
2
|
+
declare const _default: Meta;
|
|
3
|
+
export default _default;
|
|
4
|
+
export declare const Flat: StoryFn;
|
|
5
|
+
export declare const WithCategories: StoryFn;
|
|
6
|
+
export declare const Loading: StoryFn;
|
|
7
|
+
export declare const Empty: StoryFn;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jGroupLittle, UserSpotCategories } from 'jamespot-user-api';
|
|
2
|
+
import { MyGroupSection } from './JRCWidgetMyGroup.const';
|
|
3
|
+
/**
|
|
4
|
+
* Builds the displayed sections:
|
|
5
|
+
* - a search query → a single section of groups whose title contains the query;
|
|
6
|
+
* - a selected letter → a single section of groups whose title starts with it;
|
|
7
|
+
* - no active categories → a single flat section of all groups;
|
|
8
|
+
* - otherwise → one section per category, each group assigned where `category.id === group.category`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const buildSections: (groups: jGroupLittle[], categories: UserSpotCategories | undefined, filterLetter: string | null, search: string) => MyGroupSection[];
|
|
@@ -208,6 +208,8 @@ export { JRCWidgetEmbed } from './Widgets/JRCWidgetEmbed/JRCWidgetEmbed';
|
|
|
208
208
|
export { JRCWidgetEmbedEditor } from './Widgets/JRCWidgetEmbed/JRCWidgetEmbedEditor';
|
|
209
209
|
export { JRCWidgetEmptyInplace } from './Widgets/JRCWidgetEmptyInplace';
|
|
210
210
|
export { JRCWidgetExtensionEditor } from './Widgets/JRCWidgetExtension/JRCWidgetExtensionEditor';
|
|
211
|
+
export { JRCWidgetFaq } from './Widgets/JRCWidgetFaq/JRCWidgetFaq';
|
|
212
|
+
export { JRCWidgetFaqEditor } from './Widgets/JRCWidgetFaq/JRCWidgetFaqEditor';
|
|
211
213
|
export { JRCWidgetFlockler } from './Widgets/JRCWidgetFlockler/JRCWidgetFlockler';
|
|
212
214
|
export { JRCWidgetFlocklerEditor } from './Widgets/JRCWidgetFlockler/JRCWidgetFlocklerEditor';
|
|
213
215
|
export { JRCWidgetIcon } from './Widgets/JRCWidgetIcon';
|
|
@@ -219,6 +221,7 @@ export { JRCWidgetLuccaAbsence } from './Widgets/JRCWidgetLuccaAbsence/JRCWidget
|
|
|
219
221
|
export { JRCWidgetLuccaAbsenceEditor } from './Widgets/JRCWidgetLuccaAbsence/JRCWidgetLuccaAbsenceEditor';
|
|
220
222
|
export { JRCWidgetMeteo } from './Widgets/JRCWidgetMeteo/JRCWidgetMeteo';
|
|
221
223
|
export { JRCWidgetMeteoEditor } from './Widgets/JRCWidgetMeteo/JRCWidgetMeteoEditor';
|
|
224
|
+
export { JRCWidgetMyGroup } from './Widgets/JRCWidgetMyGroup/JRCWidgetMyGroup';
|
|
222
225
|
export { JRCWidgetNewsflash } from './Widgets/JRCWidgetNewsflash/JRCWidgetNewsflash';
|
|
223
226
|
export { JRCWidgetNewsflashEditor } from './Widgets/JRCWidgetNewsflash/JRCWidgetNewsflashEditor';
|
|
224
227
|
export { JRCWidgetPresence } from './Widgets/JRCWidgetPresence/JRCWidgetPresence';
|
|
@@ -12,12 +12,24 @@ declare const _default: {
|
|
|
12
12
|
"WIDGET_Charts_Value": "Value",
|
|
13
13
|
"GLOBAL_Move_Up": "Move up",
|
|
14
14
|
"GLOBAL_Move_Down": "Move down",
|
|
15
|
+
"GLOBAL_Visible_By": "Visible by",
|
|
16
|
+
"GLOBAL_Public": "Public",
|
|
15
17
|
"CHARTS_Pie": "Pie",
|
|
16
18
|
"CHARTS_Column": "Column",
|
|
17
19
|
"CHARTS_Line": "Line",
|
|
18
20
|
"WIDGET_Empty_No_Data": "No data",
|
|
19
21
|
"WIDGET_Contact": "Contact",
|
|
20
22
|
"WIDGET_Contact_Text": "Display a directory of selected contacts",
|
|
23
|
+
"WIDGET_Faq": "FAQ",
|
|
24
|
+
"WIDGET_Faq_Text": "Display the FAQ of your choice directly from your Intranet pages",
|
|
25
|
+
"WIDGET_Faq_Hide_Cover": "Hide cover",
|
|
26
|
+
"WIDGET_Faq_Allow_Comment": "Allow comments",
|
|
27
|
+
"WIDGET_Faq_Search_In_Title": "Search within title",
|
|
28
|
+
"WIDGET_Faq_Search_In_Description": "Search within description",
|
|
29
|
+
"WIDGET_Faq_Selection": "Choose an FAQ",
|
|
30
|
+
"WIDGET_Faq_No_Faq": "There is no FAQ available",
|
|
31
|
+
"WIDGET_Faq_Toggle_All_Themes": "Expand/collapse all themes",
|
|
32
|
+
"WIDGET_Faq_Search_Placeholder": "Search (title and description)",
|
|
21
33
|
"GLOBAL_Update": "Update",
|
|
22
34
|
"CONTACT_Add_Contact": "Add a contact",
|
|
23
35
|
"CONTACT_Manage_Information": "Manage information",
|
|
@@ -280,6 +292,9 @@ declare const _default: {
|
|
|
280
292
|
"GLOBAL_Files": "Files",
|
|
281
293
|
"GLOBAL_Filter": "Filter",
|
|
282
294
|
"GLOBAL_Folders": "Folders",
|
|
295
|
+
"GROUP_Type_Private": "Private group",
|
|
296
|
+
"GROUP_Type_Public": "Public group",
|
|
297
|
+
"WIZARD_Spot_Moderate": "Moderate group",
|
|
283
298
|
"GLOBAL_Fontawesome": "Font Awesome",
|
|
284
299
|
"GLOBAL_Form_Characters": "characters",
|
|
285
300
|
"GLOBAL_Form_Controls_Date": "Date must be formatted dd/mm/yyyy",
|
|
@@ -620,7 +635,6 @@ declare const _default: {
|
|
|
620
635
|
"GLOBAL_List": "List",
|
|
621
636
|
"GLOBAL_Gallery": "Gallery",
|
|
622
637
|
"WIDGET_Gallery": "Gallery",
|
|
623
|
-
"SELECTION_Panel_Text_Color": "Text color",
|
|
624
638
|
"DW_Icon_Title": "Title",
|
|
625
639
|
"DW_Icon_Link": "Link",
|
|
626
640
|
"APP_Selection_Apps": "Applications",
|
|
@@ -3,3 +3,6 @@ export declare function removeIfStartsWith(str: string | undefined, prefix: stri
|
|
|
3
3
|
export declare function padStartTwoDigits(val: string | number): string;
|
|
4
4
|
export declare function limitSize(str: string, length: number): string;
|
|
5
5
|
export declare function capitalize(str: string): string;
|
|
6
|
+
export declare function startsWithIgnoreCase(value: string, prefix: string): boolean;
|
|
7
|
+
export declare function includesIgnoreCase(value: string, query: string): boolean;
|
|
8
|
+
export declare function normalizeText(value: string): string;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "jamespot-react-components",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.118",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/jamespot-react-components.cjs",
|
|
6
6
|
"module": "dist/jamespot-react-components.js",
|
|
@@ -60,8 +60,8 @@
|
|
|
60
60
|
"eslint-plugin-storybook": "10.3.6",
|
|
61
61
|
"globals": "^16.5.0",
|
|
62
62
|
"html2canvas": "^1.4.1",
|
|
63
|
-
"jamespot-front-business": "^1.3.
|
|
64
|
-
"jamespot-user-api": "^1.3.
|
|
63
|
+
"jamespot-front-business": "^1.3.118",
|
|
64
|
+
"jamespot-user-api": "^1.3.118",
|
|
65
65
|
"jsdom": "^26.1.0",
|
|
66
66
|
"knip": "^5.88.1",
|
|
67
67
|
"lint-staged": "^16.4.0",
|