@edifice.io/react 2.1.1 → 2.1.2-develop-pedago.20250304150740
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/components/Avatar/Avatar.d.ts +21 -0
- package/dist/components/Avatar/Avatar.js +15 -2
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +24 -0
- package/dist/components/AvatarGroup/AvatarGroup.js +24 -0
- package/dist/components/AvatarGroup/index.d.ts +2 -0
- package/dist/components/Dropdown/Dropdown.d.ts +6 -2
- package/dist/components/Dropdown/Dropdown.js +2 -0
- package/dist/components/Dropdown/DropdownItem.d.ts +5 -1
- package/dist/components/Dropdown/DropdownItem.js +7 -2
- package/dist/components/Dropdown/DropdownTrigger.d.ts +30 -1
- package/dist/components/Dropdown/DropdownTrigger.js +23 -3
- package/dist/components/PreventPropagation/PreventPropagation.d.ts +10 -0
- package/dist/components/PreventPropagation/PreventPropagation.js +9 -0
- package/dist/components/PreventPropagation/index.d.ts +2 -0
- package/dist/components/StackedGroup/StackedGroup.d.ts +23 -0
- package/dist/components/StackedGroup/StackedGroup.js +21 -0
- package/dist/components/StackedGroup/index.d.ts +1 -0
- package/dist/components/Switch/Switch.d.ts +25 -0
- package/dist/components/Switch/Switch.js +25 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/editor.js +30 -27
- package/dist/hooks/useCheckable/useCheckable.d.ts +5 -1
- package/dist/hooks/useConf/useConf.d.ts +1 -1
- package/dist/hooks/useSession/useSession.d.ts +1 -1
- package/dist/hooks/useUpload/useUpload.js +8 -2
- package/dist/icons.js +200 -196
- package/dist/index.js +155 -147
- package/dist/modules/comments/hooks/useAutosizeTextarea.d.ts +5 -1
- package/dist/modules/editor/components/Editor/Editor.js +1 -0
- package/dist/modules/editor/components/EditorToolbar/EditorToolbar.js +1 -0
- package/dist/modules/editor/components/Renderer/AttachmentRenderer.js +1 -0
- package/dist/modules/editor/components/Renderer/AudioRenderer.js +24 -3
- package/dist/modules/editor/hooks/useTipTapEditor.js +1 -1
- package/dist/modules/editor/index.d.ts +3 -1
- package/dist/modules/icons/components/IconHandMove.d.ts +7 -0
- package/dist/modules/icons/components/IconHandMove.js +12 -0
- package/dist/modules/icons/components/IconToolCenter.d.ts +7 -0
- package/dist/modules/icons/components/IconToolCenter.js +12 -0
- package/dist/modules/icons/components/index.d.ts +2 -0
- package/dist/modules/modals/ResourceModal/ResourceModal.d.ts +1 -1
- package/dist/modules/modals/ResourceModal/hooks/useUpdateMutation.d.ts +1 -1
- package/dist/modules/modals/ShareModal/ShareModal.d.ts +1 -1
- package/dist/modules/modals/ShareModal/apps/ShareBlog.d.ts +1 -1
- package/dist/modules/modals/ShareModal/hooks/useShareMutation.d.ts +1 -1
- package/dist/modules/multimedia/AudioRecorder/AudioRecorder.js +5 -1
- package/dist/multimedia.js +10 -10
- package/dist/providers/EdificeClientProvider/EdificeClientProvider.context.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +9 -6
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Color } from 'src/types/color';
|
|
1
2
|
export type AvatarVariants = 'square' | 'rounded' | 'circle';
|
|
2
3
|
export type AvatarSizes = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
3
4
|
export interface AvatarProps extends React.ComponentPropsWithRef<'img'> {
|
|
@@ -26,6 +27,26 @@ export interface AvatarProps extends React.ComponentPropsWithRef<'img'> {
|
|
|
26
27
|
* Optional class for styling purpose
|
|
27
28
|
*/
|
|
28
29
|
className?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Inner border color
|
|
32
|
+
*/
|
|
33
|
+
innerBorderColor?: Color;
|
|
34
|
+
/**
|
|
35
|
+
* Inner border width in pixels
|
|
36
|
+
*/
|
|
37
|
+
innerBorderWidth?: number;
|
|
38
|
+
/**
|
|
39
|
+
* Outer border color
|
|
40
|
+
*/
|
|
41
|
+
outerBorderColor?: Color;
|
|
42
|
+
/**
|
|
43
|
+
* Outer border width in pixels
|
|
44
|
+
*/
|
|
45
|
+
outerBorderWidth?: number;
|
|
46
|
+
/**
|
|
47
|
+
* Outer border offset in pixels
|
|
48
|
+
*/
|
|
49
|
+
outerBorderOffset?: number;
|
|
29
50
|
}
|
|
30
51
|
declare const Avatar: import('react').ForwardRefExoticComponent<Omit<AvatarProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
31
52
|
export default Avatar;
|
|
@@ -10,6 +10,11 @@ const Avatar = /* @__PURE__ */ forwardRef(({
|
|
|
10
10
|
src,
|
|
11
11
|
imgPlaceholder,
|
|
12
12
|
className,
|
|
13
|
+
innerBorderColor,
|
|
14
|
+
innerBorderWidth,
|
|
15
|
+
outerBorderColor,
|
|
16
|
+
outerBorderWidth,
|
|
17
|
+
outerBorderOffset,
|
|
13
18
|
...restProps
|
|
14
19
|
}, ref) => {
|
|
15
20
|
const placeholder = imgPlaceholder || noAvatar, classes = clsx("avatar", {
|
|
@@ -25,8 +30,16 @@ const Avatar = /* @__PURE__ */ forwardRef(({
|
|
|
25
30
|
rounded: variant === "rounded",
|
|
26
31
|
"rounded-circle": variant === "circle"
|
|
27
32
|
}
|
|
28
|
-
}, className)
|
|
29
|
-
|
|
33
|
+
}, className), style = {
|
|
34
|
+
...outerBorderColor && {
|
|
35
|
+
outline: `${outerBorderWidth}px solid var(--edifice-${outerBorderColor})`,
|
|
36
|
+
outlineOffset: outerBorderOffset
|
|
37
|
+
},
|
|
38
|
+
...innerBorderColor && {
|
|
39
|
+
border: `${innerBorderWidth}px solid var(--edifice-${innerBorderColor})`
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return /* @__PURE__ */ jsx("div", { ref, className: classes, style, children: /* @__PURE__ */ jsx(Image, { src: src || placeholder, alt, imgPlaceholder: placeholder, ...restProps }) });
|
|
30
43
|
});
|
|
31
44
|
export {
|
|
32
45
|
Avatar as default
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AvatarProps } from '../Avatar';
|
|
2
|
+
export interface AvatarGroupProps extends Omit<AvatarProps, 'src'> {
|
|
3
|
+
/**
|
|
4
|
+
* List of avatar sources
|
|
5
|
+
*/
|
|
6
|
+
src: string[];
|
|
7
|
+
/**
|
|
8
|
+
* Maximum number of avatars to display
|
|
9
|
+
* @default 3
|
|
10
|
+
*/
|
|
11
|
+
maxAvatars?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Overlap between avatars (in pixels)
|
|
14
|
+
* @default 20
|
|
15
|
+
*/
|
|
16
|
+
overlap?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Controls stacking order. When 'rightFirst', rightmost avatar has highest z-index
|
|
19
|
+
* @default 'leftFirst'
|
|
20
|
+
*/
|
|
21
|
+
stackingOrder?: 'leftFirst' | 'rightFirst';
|
|
22
|
+
}
|
|
23
|
+
declare const AvatarGroup: import('react').ForwardRefExoticComponent<Omit<AvatarGroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export default AvatarGroup;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
import StackedGroup from "../StackedGroup/StackedGroup.js";
|
|
5
|
+
import Avatar from "../Avatar/Avatar.js";
|
|
6
|
+
const AvatarGroup = /* @__PURE__ */ forwardRef(({
|
|
7
|
+
src,
|
|
8
|
+
maxAvatars = 3,
|
|
9
|
+
overlap = 20,
|
|
10
|
+
className,
|
|
11
|
+
size = "md",
|
|
12
|
+
variant = "circle",
|
|
13
|
+
alt,
|
|
14
|
+
stackingOrder = "leftFirst",
|
|
15
|
+
...restProps
|
|
16
|
+
}, ref) => {
|
|
17
|
+
const visibleAvatars = src.slice(0, maxAvatars), classes = clsx("avatar-group", className);
|
|
18
|
+
return /* @__PURE__ */ jsx("div", { ref, className: classes, style: {
|
|
19
|
+
display: "flex"
|
|
20
|
+
}, children: /* @__PURE__ */ jsx(StackedGroup, { overlap, stackingOrder, children: visibleAvatars.map((avatarSrc, index) => /* @__PURE__ */ jsx(Avatar, { src: avatarSrc, size, variant, alt: `${alt} ${index + 1}`, ...restProps })) }) });
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
AvatarGroup as default
|
|
24
|
+
};
|
|
@@ -14,6 +14,10 @@ export interface DropdownProps {
|
|
|
14
14
|
* Default placement with FloatingUI
|
|
15
15
|
*/
|
|
16
16
|
placement?: Placement;
|
|
17
|
+
/**
|
|
18
|
+
* If true, the text will not wrap
|
|
19
|
+
*/
|
|
20
|
+
noWrap?: boolean;
|
|
17
21
|
/**
|
|
18
22
|
* Extra keydown handler for the Dropdown Trigger.
|
|
19
23
|
* Useful for a11y keyboard navigation between a Dropdown element and other elements,
|
|
@@ -53,13 +57,13 @@ export type DropdownMenuOptions = {
|
|
|
53
57
|
type: 'divider';
|
|
54
58
|
};
|
|
55
59
|
declare const Dropdown: {
|
|
56
|
-
({ children, block, overflow, placement, extraTriggerKeyDownHandler, onToggle, isTriggerHovered, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
60
|
+
({ children, block, overflow, noWrap, placement, extraTriggerKeyDownHandler, onToggle, isTriggerHovered, }: DropdownProps): import("react/jsx-runtime").JSX.Element;
|
|
57
61
|
displayName: string;
|
|
58
62
|
} & {
|
|
59
63
|
Trigger: import('react').ForwardRefExoticComponent<Omit<import('./DropdownTrigger').DropdownTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
60
64
|
Menu: import('react').ForwardRefExoticComponent<Omit<import('./DropdownMenu').DropdownMenuProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
|
|
61
65
|
Item: {
|
|
62
|
-
({ type, icon, onClick, children, className, ...restProps }: import('./DropdownItem').DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
66
|
+
({ type, icon, onClick, children, className, minWidth, ...restProps }: import('./DropdownItem').DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
63
67
|
displayName: string;
|
|
64
68
|
};
|
|
65
69
|
Separator: {
|
|
@@ -15,6 +15,7 @@ const Root = ({
|
|
|
15
15
|
children,
|
|
16
16
|
block,
|
|
17
17
|
overflow = !0,
|
|
18
|
+
noWrap,
|
|
18
19
|
placement = "bottom-start",
|
|
19
20
|
extraTriggerKeyDownHandler,
|
|
20
21
|
onToggle,
|
|
@@ -41,6 +42,7 @@ const Root = ({
|
|
|
41
42
|
setVisible
|
|
42
43
|
}), [visible, isFocused, triggerProps, menuProps, itemProps, itemRefs, block, setVisible]), dropdown = clsx("dropdown", {
|
|
43
44
|
"w-100": block,
|
|
45
|
+
"dropdown-nowrap": noWrap,
|
|
44
46
|
overflow
|
|
45
47
|
});
|
|
46
48
|
return useEffect(() => {
|
|
@@ -21,9 +21,13 @@ export interface DropdownItemProps {
|
|
|
21
21
|
* Additional class name
|
|
22
22
|
*/
|
|
23
23
|
className?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Set minimum width in pixels
|
|
26
|
+
*/
|
|
27
|
+
minWidth?: number;
|
|
24
28
|
}
|
|
25
29
|
declare const DropdownItem: {
|
|
26
|
-
({ type, icon, onClick, children, className, ...restProps }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
({ type, icon, onClick, children, className, minWidth, ...restProps }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
27
31
|
displayName: string;
|
|
28
32
|
};
|
|
29
33
|
export default DropdownItem;
|
|
@@ -8,6 +8,7 @@ const DropdownItem = ({
|
|
|
8
8
|
onClick,
|
|
9
9
|
children,
|
|
10
10
|
className,
|
|
11
|
+
minWidth,
|
|
11
12
|
...restProps
|
|
12
13
|
}) => {
|
|
13
14
|
const {
|
|
@@ -22,8 +23,12 @@ const DropdownItem = ({
|
|
|
22
23
|
onClick == null || onClick(event), type === "action" && (onMenuItemClick(), event.stopPropagation());
|
|
23
24
|
}, id = useId(), dropdownItem = clsx("dropdown-item", {
|
|
24
25
|
focus: isFocused === id
|
|
25
|
-
}, className)
|
|
26
|
-
|
|
26
|
+
}, className), style = {
|
|
27
|
+
...minWidth && {
|
|
28
|
+
minWidth: `${minWidth}px`
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
return /* @__PURE__ */ jsx("div", { id, role: "menuitem", style, ref: (el) => itemRefs.current[id] = el, tabIndex: isFocused === id ? 0 : -1, className: dropdownItem, "aria-current": isFocused === id, onClick: handleOnClick, onMouseEnter: onMenuItemMouseEnter, onKeyDown: (event) => onMenuItemKeyDown(event, onClick), ...restProps, children: /* @__PURE__ */ jsxs("div", { className: "d-flex gap-8 align-items-center", children: [
|
|
27
32
|
icon,
|
|
28
33
|
children
|
|
29
34
|
] }) });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Color } from 'src/types';
|
|
1
2
|
export interface DropdownTriggerProps extends React.ComponentPropsWithRef<'button'> {
|
|
2
3
|
/**
|
|
3
4
|
* Dropdown trigger title
|
|
@@ -14,7 +15,7 @@ export interface DropdownTriggerProps extends React.ComponentPropsWithRef<'butto
|
|
|
14
15
|
/**
|
|
15
16
|
* Set appearance
|
|
16
17
|
*/
|
|
17
|
-
variant?: 'ghost';
|
|
18
|
+
variant?: 'default' | 'ghost' | 'primary' | 'secondary' | 'success' | 'danger' | 'warning' | 'info';
|
|
18
19
|
/**
|
|
19
20
|
* Button size
|
|
20
21
|
*/
|
|
@@ -31,6 +32,34 @@ export interface DropdownTriggerProps extends React.ComponentPropsWithRef<'butto
|
|
|
31
32
|
* Hide the carret
|
|
32
33
|
*/
|
|
33
34
|
hideCarret?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Make the dropdown trigger a pill
|
|
37
|
+
*/
|
|
38
|
+
pill?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Inner border color
|
|
41
|
+
*/
|
|
42
|
+
innerBorderColor?: Color;
|
|
43
|
+
/**
|
|
44
|
+
* Inner border width in pixels
|
|
45
|
+
*/
|
|
46
|
+
innerBorderWidth?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Outer border color
|
|
49
|
+
*/
|
|
50
|
+
outerBorderColor?: Color;
|
|
51
|
+
/**
|
|
52
|
+
* Outer border width in pixels
|
|
53
|
+
*/
|
|
54
|
+
outerBorderWidth?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Outer border offset in pixels
|
|
57
|
+
*/
|
|
58
|
+
outerBorderOffset?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Use base shade color
|
|
61
|
+
*/
|
|
62
|
+
baseShade?: boolean;
|
|
34
63
|
}
|
|
35
64
|
export type DropdownTriggerType = React.ReactElement<DropdownTriggerProps>;
|
|
36
65
|
declare const DropdownTrigger: import('react').ForwardRefExoticComponent<Omit<DropdownTriggerProps, "ref"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -6,11 +6,18 @@ import { useDropdownContext } from "./DropdownContext.js";
|
|
|
6
6
|
const DropdownTrigger = /* @__PURE__ */ forwardRef(({
|
|
7
7
|
label,
|
|
8
8
|
icon,
|
|
9
|
-
variant,
|
|
9
|
+
variant = "default",
|
|
10
10
|
disabled = !1,
|
|
11
11
|
size,
|
|
12
12
|
badgeContent,
|
|
13
13
|
hideCarret = !1,
|
|
14
|
+
pill = !1,
|
|
15
|
+
innerBorderColor,
|
|
16
|
+
innerBorderWidth,
|
|
17
|
+
outerBorderColor,
|
|
18
|
+
outerBorderWidth,
|
|
19
|
+
outerBorderOffset,
|
|
20
|
+
baseShade,
|
|
14
21
|
...restProps
|
|
15
22
|
}, forwardRef2) => {
|
|
16
23
|
const {
|
|
@@ -18,10 +25,23 @@ const DropdownTrigger = /* @__PURE__ */ forwardRef(({
|
|
|
18
25
|
block
|
|
19
26
|
} = useDropdownContext(), className = clsx("dropdown-toggle ", size, variant, {
|
|
20
27
|
"w-100": block
|
|
21
|
-
}, triggerProps.className, restProps.className
|
|
28
|
+
}, triggerProps.className, restProps.className, {
|
|
29
|
+
"rounded-pill": pill
|
|
30
|
+
}, {
|
|
31
|
+
"base-shade": baseShade
|
|
32
|
+
}), style = {
|
|
33
|
+
...outerBorderColor && {
|
|
34
|
+
outline: `${outerBorderWidth}px solid var(--edifice-${outerBorderColor})`,
|
|
35
|
+
outlineOffset: outerBorderOffset
|
|
36
|
+
},
|
|
37
|
+
...innerBorderColor && {
|
|
38
|
+
border: `${innerBorderWidth}px solid var(--edifice-${innerBorderColor})`
|
|
39
|
+
}
|
|
40
|
+
}, mergedProps = {
|
|
22
41
|
...triggerProps,
|
|
23
42
|
...restProps,
|
|
24
|
-
className
|
|
43
|
+
className,
|
|
44
|
+
style
|
|
25
45
|
};
|
|
26
46
|
return /* @__PURE__ */ jsxs("button", { ref: forwardRef2, type: "button", disabled, ...mergedProps, children: [
|
|
27
47
|
icon,
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PreventPropagationProps {
|
|
3
|
+
/** Children Props */
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
declare const PreventPropagation: {
|
|
7
|
+
({ children }: PreventPropagationProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
displayName: string;
|
|
9
|
+
};
|
|
10
|
+
export default PreventPropagation;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
const Root = ({
|
|
3
|
+
children
|
|
4
|
+
}) => /* @__PURE__ */ jsx("div", { onClick: (e) => {
|
|
5
|
+
e.stopPropagation();
|
|
6
|
+
}, children }), PreventPropagation = /* @__PURE__ */ Object.assign(Root, {});
|
|
7
|
+
export {
|
|
8
|
+
PreventPropagation as default
|
|
9
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface StackedGroupProps {
|
|
3
|
+
/**
|
|
4
|
+
* Children to stack
|
|
5
|
+
*/
|
|
6
|
+
children: ReactNode[];
|
|
7
|
+
/**
|
|
8
|
+
* Overlap between items (in pixels)
|
|
9
|
+
* @default 20
|
|
10
|
+
*/
|
|
11
|
+
overlap?: number;
|
|
12
|
+
/**
|
|
13
|
+
* Controls stacking order. When 'rightFirst', rightmost item has highest z-index
|
|
14
|
+
* @default 'leftFirst'
|
|
15
|
+
*/
|
|
16
|
+
stackingOrder?: 'leftFirst' | 'rightFirst';
|
|
17
|
+
/**
|
|
18
|
+
* Additional CSS class
|
|
19
|
+
*/
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare const StackedGroup: import('react').ForwardRefExoticComponent<StackedGroupProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
23
|
+
export default StackedGroup;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
const StackedGroup = /* @__PURE__ */ forwardRef(({
|
|
5
|
+
children,
|
|
6
|
+
overlap = 20,
|
|
7
|
+
className,
|
|
8
|
+
stackingOrder = "leftFirst"
|
|
9
|
+
}, ref) => {
|
|
10
|
+
const classes = clsx("stacked-group", className);
|
|
11
|
+
return /* @__PURE__ */ jsx("div", { ref, className: classes, style: {
|
|
12
|
+
display: "flex",
|
|
13
|
+
alignItems: "center"
|
|
14
|
+
}, children: children.map((child, index) => /* @__PURE__ */ jsx("div", { style: {
|
|
15
|
+
marginLeft: index === 0 ? 0 : `-${overlap}px`,
|
|
16
|
+
zIndex: stackingOrder === "rightFirst" ? children.length - index : index + 1
|
|
17
|
+
}, children: child }, index)) });
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
StackedGroup as default
|
|
21
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as StackedGroup } from './StackedGroup';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface SwitchProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
|
+
/**
|
|
4
|
+
* The label of the switch
|
|
5
|
+
*/
|
|
6
|
+
label?: string;
|
|
7
|
+
/**
|
|
8
|
+
* The value of the switch
|
|
9
|
+
*/
|
|
10
|
+
value?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Define if switch is disabled
|
|
13
|
+
*/
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Define switch size
|
|
17
|
+
*/
|
|
18
|
+
size?: 'sm' | 'md';
|
|
19
|
+
/**
|
|
20
|
+
* Additional class name for the label
|
|
21
|
+
*/
|
|
22
|
+
labelClassName?: string;
|
|
23
|
+
}
|
|
24
|
+
declare const Switch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
25
|
+
export default Switch;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsxs, jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef } from "react";
|
|
3
|
+
import clsx from "clsx";
|
|
4
|
+
const Switch = /* @__PURE__ */ forwardRef(({
|
|
5
|
+
className,
|
|
6
|
+
label,
|
|
7
|
+
value,
|
|
8
|
+
disabled,
|
|
9
|
+
size = "md",
|
|
10
|
+
labelClassName,
|
|
11
|
+
...restProps
|
|
12
|
+
}, ref) => {
|
|
13
|
+
const switchClass = clsx("switch", {
|
|
14
|
+
[`switch-${size}`]: size,
|
|
15
|
+
"switch-disabled": disabled
|
|
16
|
+
}, className), labelClass = clsx("switch-label", labelClassName);
|
|
17
|
+
return /* @__PURE__ */ jsxs("label", { className: switchClass, children: [
|
|
18
|
+
/* @__PURE__ */ jsx("input", { type: "checkbox", ref, value, disabled, ...restProps }),
|
|
19
|
+
/* @__PURE__ */ jsx("span", { className: "slider" }),
|
|
20
|
+
label && /* @__PURE__ */ jsx("span", { className: labelClass, children: label })
|
|
21
|
+
] });
|
|
22
|
+
});
|
|
23
|
+
export {
|
|
24
|
+
Switch as default
|
|
25
|
+
};
|
|
@@ -4,6 +4,7 @@ export * from './AppHeader';
|
|
|
4
4
|
export * from './AppIcon';
|
|
5
5
|
export * from './Attachment';
|
|
6
6
|
export * from './Avatar';
|
|
7
|
+
export * from './AvatarGroup';
|
|
7
8
|
export * from './Badge';
|
|
8
9
|
export * from './Breadcrumb';
|
|
9
10
|
export * from './Button';
|
|
@@ -28,9 +29,12 @@ export * from './Logo';
|
|
|
28
29
|
export * from './Menu';
|
|
29
30
|
export * from './Modal';
|
|
30
31
|
export * from './Popover';
|
|
32
|
+
export * from './PreventPropagation';
|
|
31
33
|
export * from './Radio';
|
|
32
34
|
export * from './SearchBar';
|
|
33
35
|
export * from './Select';
|
|
36
|
+
export * from './StackedGroup';
|
|
37
|
+
export * from './Switch';
|
|
34
38
|
export * from './Table';
|
|
35
39
|
export * from './Tabs';
|
|
36
40
|
export * from './TextArea';
|
package/dist/editor.js
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
|
-
import { EditorContent, useEditor } from "@tiptap/react";
|
|
2
|
-
import { default as default2 } from "
|
|
3
|
-
import { default as default3 } from "./modules/editor/components/
|
|
4
|
-
import { default as default4 } from "./modules/editor/components/
|
|
5
|
-
import { default as default5 } from "./modules/editor/components/NodeView/
|
|
6
|
-
import { default as default6 } from "./modules/editor/components/NodeView/
|
|
7
|
-
import { default as default7 } from "./modules/editor/components/NodeView/
|
|
8
|
-
import { default as default8 } from "./modules/editor/components/NodeView/
|
|
9
|
-
import { default as default9 } from "./modules/editor/components/
|
|
10
|
-
import { default as default10 } from "./modules/editor/components/Renderer/
|
|
11
|
-
import { default as default11 } from "./modules/editor/components/Renderer/
|
|
12
|
-
import { default as default12 } from "./modules/editor/components/Renderer/
|
|
13
|
-
import { default as default13 } from "./modules/editor/components/
|
|
14
|
-
import { default as default14 } from "./modules/editor/components/Toolbar/
|
|
1
|
+
import { EditorContent, Editor, useEditor } from "@tiptap/react";
|
|
2
|
+
import { default as default2 } from "@tiptap/starter-kit";
|
|
3
|
+
import { default as default3 } from "./modules/editor/components/Editor/Editor.js";
|
|
4
|
+
import { default as default4 } from "./modules/editor/components/BubbleMenuEditImage/BubbleMenuEditImage.js";
|
|
5
|
+
import { default as default5 } from "./modules/editor/components/NodeView/AudioNodeView.js";
|
|
6
|
+
import { default as default6 } from "./modules/editor/components/NodeView/AttachmentNodeView.js";
|
|
7
|
+
import { default as default7 } from "./modules/editor/components/NodeView/ImageNodeView.js";
|
|
8
|
+
import { default as default8 } from "./modules/editor/components/NodeView/LinkerNodeView.js";
|
|
9
|
+
import { default as default9 } from "./modules/editor/components/NodeView/VideoNodeView.js";
|
|
10
|
+
import { default as default10 } from "./modules/editor/components/Renderer/AudioRenderer.js";
|
|
11
|
+
import { default as default11 } from "./modules/editor/components/Renderer/AttachmentRenderer.js";
|
|
12
|
+
import { default as default12 } from "./modules/editor/components/Renderer/LinkerRenderer.js";
|
|
13
|
+
import { default as default13 } from "./modules/editor/components/Renderer/MediaRenderer.js";
|
|
14
|
+
import { default as default14 } from "./modules/editor/components/Toolbar/TableToolbar.js";
|
|
15
|
+
import { default as default15 } from "./modules/editor/components/Toolbar/LinkToolbar.js";
|
|
15
16
|
import { EditorToolbar } from "./modules/editor/components/EditorToolbar/EditorToolbar.js";
|
|
16
17
|
import { useActionOptions } from "./modules/editor/hooks/useActionOptions.js";
|
|
17
18
|
import { useCommentEditor } from "./modules/editor/hooks/useCommentEditor.js";
|
|
@@ -26,22 +27,24 @@ import { useSpeechRecognition } from "./modules/editor/hooks/useSpeechRecognitio
|
|
|
26
27
|
import { useSpeechSynthetisis } from "./modules/editor/hooks/useSpeechSynthetisis.js";
|
|
27
28
|
import { useTipTapEditor } from "./modules/editor/hooks/useTipTapEditor.js";
|
|
28
29
|
export {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
30
|
+
default6 as AttachmentNodeView,
|
|
31
|
+
default11 as AttachmentRenderer,
|
|
32
|
+
default5 as AudioNodeView,
|
|
33
|
+
default10 as AudioRenderer,
|
|
34
|
+
default4 as BubbleMenuEditImage,
|
|
35
|
+
default3 as Editor,
|
|
35
36
|
EditorContent,
|
|
36
37
|
EditorContext,
|
|
38
|
+
Editor as EditorInstance,
|
|
37
39
|
EditorToolbar,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
default7 as ImageNodeView,
|
|
41
|
+
default15 as LinkToolbar,
|
|
42
|
+
default8 as LinkerNodeView,
|
|
43
|
+
default12 as LinkerRenderer,
|
|
44
|
+
default13 as MediaRenderer,
|
|
45
|
+
default2 as StarterKit,
|
|
46
|
+
default14 as TableToolbar,
|
|
47
|
+
default9 as VideoNodeView,
|
|
45
48
|
useActionOptions,
|
|
46
49
|
useCommentEditor,
|
|
47
50
|
useEditor,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { App, IGetConf } from '@edifice.io/client';
|
|
2
2
|
export default function useConf({ appCode }: {
|
|
3
3
|
appCode: App;
|
|
4
|
-
}): import('
|
|
4
|
+
}): import('../../node_modules/@tanstack/react-query').UseQueryResult<IGetConf, Error>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IGetSession } from '@edifice.io/client';
|
|
2
|
-
export default function useSession(): import('
|
|
2
|
+
export default function useSession(): import('../../node_modules/@tanstack/react-query').UseQueryResult<IGetSession, Error>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useState, useCallback } from "react";
|
|
2
2
|
import { ERROR_CODE, odeServices } from "@edifice.io/client";
|
|
3
3
|
import { getOrGenerateBlobId } from "@edifice.io/utilities";
|
|
4
|
+
import { useTranslation } from "react-i18next";
|
|
4
5
|
import useBrowserInfo from "../useBrowserInfo/useBrowserInfo.js";
|
|
5
6
|
import useWorkspaceFile from "../useWorkspaceFile/useWorkspaceFile.js";
|
|
6
7
|
const useUpload = (visibility, application = "media-library") => {
|
|
@@ -9,7 +10,9 @@ const useUpload = (visibility, application = "media-library") => {
|
|
|
9
10
|
device
|
|
10
11
|
} = useBrowserInfo(navigator.userAgent), {
|
|
11
12
|
create
|
|
12
|
-
} = useWorkspaceFile(),
|
|
13
|
+
} = useWorkspaceFile(), {
|
|
14
|
+
t
|
|
15
|
+
} = useTranslation(), getUploadStatus = useCallback((upload) => status[getOrGenerateBlobId(upload)], [status]), setUploadStatus = (blob, status2) => {
|
|
13
16
|
setStatus((prevStatus) => {
|
|
14
17
|
const key = getOrGenerateBlobId(blob);
|
|
15
18
|
return {
|
|
@@ -25,6 +28,9 @@ const useUpload = (visibility, application = "media-library") => {
|
|
|
25
28
|
} = prevStatus;
|
|
26
29
|
return rest;
|
|
27
30
|
});
|
|
31
|
+
}, getDefaultDate = () => {
|
|
32
|
+
const d = /* @__PURE__ */ new Date();
|
|
33
|
+
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}-${String(d.getDate()).padStart(2, "0")} ${String(d.getHours()).padStart(2, "0")}h${String(d.getMinutes()).padStart(2, "0")} ` + t("bbm.video.recorder.defaultName");
|
|
28
34
|
};
|
|
29
35
|
async function uploadFile(file, metadata) {
|
|
30
36
|
setUploadStatus(file, "loading");
|
|
@@ -64,7 +70,7 @@ const useUpload = (visibility, application = "media-library") => {
|
|
|
64
70
|
},
|
|
65
71
|
url: window.location.hostname,
|
|
66
72
|
file: blob,
|
|
67
|
-
filename: (
|
|
73
|
+
filename: getDefaultDate() ?? "filename",
|
|
68
74
|
weight: blob.size
|
|
69
75
|
},
|
|
70
76
|
appCode: application,
|