@soul-refiner/design-system 2.11.9 → 2.11.11-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/custom/help_center/help_center-auth.js +1 -0
- package/dist/components/custom/help_center/help_center-customModal.js +7 -0
- package/dist/components/custom/help_center/help_center-defaultArticle.js +60 -0
- package/dist/components/custom/help_center/help_center-editable-content.js +31 -0
- package/dist/components/custom/help_center/help_center-mainPage.js +32 -0
- package/dist/components/custom/help_center/help_center-sidebar.js +1 -0
- package/dist/components/custom/help_center/help_center.js +1 -0
- package/dist/components/custom/help_center/help_center_articlle-list.js +30 -0
- package/dist/components/custom/help_center/help_center_categoryList.js +55 -0
- package/dist/components/custom/help_center/help_center_dataStore.js +1 -0
- package/dist/components/custom/help_center/help_center_layout.js +64 -0
- package/dist/components/custom/help_center/help_center_sub-category.js +27 -0
- package/dist/components/custom/help_center/types.js +1 -0
- package/dist/components/media/audio-player/progress-bar.js +4 -0
- package/dist/components/media/video-player/misc.js +2 -2
- package/dist/components/media/video-player/video.js +7 -2
- package/dist/components/surfaces/comment/comment.js +1 -1
- package/dist/src/components/custom/help_center/help_center-auth.d.ts +7 -0
- package/dist/src/components/custom/help_center/help_center-customModal.d.ts +4 -0
- package/dist/src/components/custom/help_center/help_center-defaultArticle.d.ts +15 -0
- package/dist/src/components/custom/help_center/help_center-editable-content.d.ts +7 -0
- package/dist/src/components/custom/help_center/help_center-mainPage.d.ts +3 -0
- package/dist/src/components/custom/help_center/help_center-sidebar.d.ts +3 -0
- package/dist/src/components/custom/help_center/help_center.d.ts +13 -0
- package/dist/src/components/custom/help_center/help_center_articlle-list.d.ts +7 -0
- package/dist/src/components/custom/help_center/help_center_categoryList.d.ts +6 -0
- package/dist/src/components/custom/help_center/help_center_dataStore.d.ts +4 -0
- package/dist/src/components/custom/help_center/help_center_layout.d.ts +3 -0
- package/dist/src/components/custom/help_center/help_center_seedData.d.ts +2 -0
- package/dist/src/components/custom/help_center/help_center_sub-category.d.ts +7 -0
- package/dist/src/components/custom/help_center/index.d.ts +1 -0
- package/dist/src/components/custom/help_center/types.d.ts +124 -0
- package/dist/src/components/media/audio-player/progress-bar.d.ts +14 -0
- package/dist/src/components/media/common.d.ts +5 -0
- package/dist/src/components/media/video-player/misc.d.ts +7 -1
- package/dist/src/components/media/video-player/video.d.ts +6 -2
- package/dist/src/components/navigation/tabs/tabs.d.ts +1 -1
- package/dist/src/utils/debounce.d.ts +1 -0
- package/dist/styles/output.css +1790 -0
- package/package.json +113 -113
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";var React=require("react"),styled=require("styled-components"),Link=require("next/link"),Picker=require("@emoji-mart/react"),emojis=require("../../../emoji/emojis.json.js"),avatar=require("../../iconography/avatar/avatar.js"),box=require("../../atoms/box/box.js"),highlighter=require("../../atoms/highlighter/highlighter.js"),paragraph=require("../../atoms/typography/paragraph.js"),button=require("../../actions/button/button.js"),portal=require("../portal/portal.js"),regex=require("../../../common/regex.js"),styles=require("../../../common/styles.js"),emoticon_add=require("../../../icons/basic/emoticon_add.js"),comment=require("../../../icons/message/comment.js"),helpers=require("./helpers.js"),responsive_text_area=require("../../input/responsive-text_area/responsive_text_area.js"),send_text=require("../../../icons/email/send_text.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),styled__default=_interopDefaultCompat(styled),Link__default=_interopDefaultCompat(Link),Picker__default=_interopDefaultCompat(Picker);const MAX_REACTIONS_SHOWN=5,Comment=({avatarTooltipContent:e,avatarTooltipSx:t,content:a,createdDate:r,hasMoreReplies:l,id:o,onComment:n,onReact:i,onShowReplies:d,onEdit:u,isEditing:c,setIsEditing:p,dropdown:s,reactionModal:f,reactions:_,replies:m,userImageUri:x,userName:g,userReactions:R,visibilityIcon:h,customPlaceHolder:y,userProfileUri:b,sx:v})=>{const[$,E]=React__default.default.useState(!1),[k,C]=React__default.default.useState({x:0,y:0}),[I,A]=React__default.default.useState("up"),[D,O]=React__default.default.useState(!1),[w,T]=React__default.default.useState(!1),[j,S]=React__default.default.useState(""),[q,P]=React__default.default.useState(a),W=React__default.default.useRef(null),B=React__default.default.Children.toArray(m);React__default.default.useEffect(()=>{c&&W.current&&W.current.focus()},[c]);var m=e=>{e.stopPropagation(),E(e=>!e),C({y:e.clientY,x:e.clientX}),A(400<e.clientY?"up":"down")},z=()=>{d&&d(),T(!0)},r=helpers.abbrTimeBeforeDate(r),_=_&&Object.entries(_).slice(0,MAX_REACTIONS_SHOWN).sort((e,t)=>e[1]<t[1]?1:-1).map(e=>React__default.default.createElement(Reaction,{key:o+e[0],onClick:()=>i(e[0]),$align:"center",$dir:"row",$gap:5,$userSelected:R?.includes(e[0])},e[0],React__default.default.createElement(paragraph.P,{$bold:!0,$fontSize:10,$lineHeight:14},e[1]))),L=!!B?.length&&0<B.length,H=L&&B.map((e,t)=>{var a;return React__default.default.isValidElement(e)?(a=e.props?.id,t=t!==B.length-1||l,React__default.default.createElement(ReplyWrapper,{$hasLine:t,key:a},e,React__default.default.createElement(ReplyIndicator,null))):null});return React__default.default.createElement(Wrapper,{$sx:v,id:"comment-"+o},React__default.default.createElement(avatar.Avatar,{as:Link__default.default,href:b,image:x,size:32,tooltipContent:e,tooltipSx:t}),React__default.default.createElement(box.Box,{$flex:1,$dir:"column"},React__default.default.createElement(ContentWrapper,{$hasReplies:L||!!l},c?React__default.default.createElement(responsive_text_area.ResponsiveTextArea,{inputStyles:"min-height: 104px;",wrapperStyles:"background:var(--color-grey-9); ",onChange:e=>{P(e.target.value)},value:q,ref:W}):React__default.default.createElement(CommentBox,null,React__default.default.createElement(box.Box,{$dir:"row",$justify:"space-between",$align:"center"},React__default.default.createElement(paragraph.P,{as:b?Link__default.default:"span",href:b,$bold:!0,$color:"grey-2",sx:"text-decoration:none !important; color:var(--color-grey-2) !important;",$fontSize:14,$lineHeight:20},g),s),React__default.default.createElement(paragraph.P,{sx:"white-space: pre-line;letter-spacing: -0.176px; word-break: break-word;"},React__default.default.createElement(highlighter.Highlighter,{highlightRender:e=>React__default.default.createElement(paragraph.P,{as:"span",$color:"primary-blue-2"},React__default.default.createElement(Link__default.default,{href:e,target:"_blank"},e)),seperator:regex.URL_REGEX,text:a}))),React__default.default.createElement(box.Box,{$align:"flex-start",$dir:"row",$display:"flex",$gap:16,sx:"margin: 8px 0px; position: relative;"},c?React__default.default.createElement(box.Box,{$display:"flex",$align:"center",$justify:"space-between",$gap:6,sx:"margin-top: 8px; width: 100%;"},React__default.default.createElement(emoticon_add.Emoticon,{color:"primary-blue-2",onClick:m,size:24,sx:" cursor: pointer; flex-shrink: 0; margin-right: auto;"}),React__default.default.createElement(button.Button,{onClick:()=>{p&&p(!c),P(a)},sx:"background-color: transparent; border: none; box-shadow: none; color: var(--color-primary-blue-2); margin-left: auto;\n &:hover, &:focus {\n border: none;\n outline: none;\n }\n ",size:"small",type:"outlined"},"Cancel"),React__default.default.createElement(button.Button,{onClick:()=>{u&&u(q,o),p&&p(!1)},size:"small",type:"primary"},"Save")):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(emoticon_add.Emoticon,{color:"primary-blue-2",onClick:m,size:24,sx:" cursor: pointer; flex-shrink: 0;"}),React__default.default.createElement(comment.Comment,{color:"primary-blue-2",onClick:()=>O(e=>!e),size:24,sx:"border-radius: 50%; cursor: pointer; flex-shrink: 0;"}),React__default.default.createElement(paragraph.P,{$color:"grey-7"},"•"),React__default.default.createElement(paragraph.P,{$color:"grey-4",$fontSize:12,$lineHeight:24,sx:"flex-shrink: 0;"},r),React__default.default.createElement(box.Box,{$display:"flex",$flow:"row wrap",$gap:6,sx:"max-width: calc(100% - 190px); margin-left: auto;"},_,f)),$&&React__default.default.createElement(portal.Portal,null,React__default.default.createElement(PickerWrapper,{$pickerOrientation:I,$top:k.y,$left:k.x},React__default.default.createElement(Picker__default.default,{data:emojis.default,onEmojiSelect:({native:e})=>{i(e),E(!1)},onClickOutside:()=>E(!1),maxFrequentRows:1,navPosition:"none",previewPosition:"none",perLine:9,theme:"auto"}))))),L&&w&&React__default.default.createElement(RepliesWrapper,null,H),!w&&!l&&L&&React__default.default.createElement(RepliesWrapper,null,React__default.default.createElement(ReplyWrapper,{$hasLine:!1},React__default.default.createElement(button.Button,{onClick:z,size:"small",sx:"color: var(--color-grey-3);",type:"text"},"show replies"),React__default.default.createElement(ReplyIndicator,null))),l&&React__default.default.createElement(RepliesWrapper,null,React__default.default.createElement(ReplyWrapper,{$hasLine:!1},React__default.default.createElement(button.Button,{onClick:z,size:"small",sx:"color: var(--color-grey-3);",type:"text"},"show more replies"),React__default.default.createElement(ReplyIndicator,null))),D&&React__default.default.createElement(CommentWrapper,null,React__default.default.createElement(responsive_text_area.ResponsiveTextArea,{bg:"var(--color-grey-10)",value:j,onChange:e=>{S(e.target.value)},placeholder:y||"Write a reply",maxCharacters:1e3,wrapperStyles:"margin: 16px 0; width: 100%;",actionComponent:React__default.default.createElement(box.Box,{sx:"margin: auto 0 5px 0px;",$align:"center",$justify:"center",$gap:8},h,React__default.default.createElement(button.Button,{disabled:!j.length,icon:React__default.default.createElement(send_text.SendText,null),onClick:e=>{e.stopPropagation(),e.preventDefault(),n(j),S("")},sx:`
|
|
2
|
+
"use strict";var React=require("react"),styled=require("styled-components"),Link=require("next/link"),Picker=require("@emoji-mart/react"),emojis=require("../../../emoji/emojis.json.js"),avatar=require("../../iconography/avatar/avatar.js"),box=require("../../atoms/box/box.js"),highlighter=require("../../atoms/highlighter/highlighter.js"),paragraph=require("../../atoms/typography/paragraph.js"),button=require("../../actions/button/button.js"),portal=require("../portal/portal.js"),regex=require("../../../common/regex.js"),styles=require("../../../common/styles.js"),emoticon_add=require("../../../icons/basic/emoticon_add.js"),comment=require("../../../icons/message/comment.js"),helpers=require("./helpers.js"),responsive_text_area=require("../../input/responsive-text_area/responsive_text_area.js"),send_text=require("../../../icons/email/send_text.js");function _interopDefaultCompat(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var React__default=_interopDefaultCompat(React),styled__default=_interopDefaultCompat(styled),Link__default=_interopDefaultCompat(Link),Picker__default=_interopDefaultCompat(Picker);const MAX_REACTIONS_SHOWN=5,Comment=({avatarTooltipContent:e,avatarTooltipSx:t,content:a,createdDate:r,hasMoreReplies:l,id:o,onComment:n,onReact:i,onShowReplies:d,onEdit:u,isEditing:c,setIsEditing:p,dropdown:s,reactionModal:f,reactions:_,replies:m,userImageUri:x,userName:g,userReactions:R,visibilityIcon:h,customPlaceHolder:y,userProfileUri:b,sx:v})=>{const[$,E]=React__default.default.useState(!1),[k,C]=React__default.default.useState({x:0,y:0}),[I,A]=React__default.default.useState("up"),[D,O]=React__default.default.useState(!1),[w,T]=React__default.default.useState(!1),[j,S]=React__default.default.useState(""),[q,P]=React__default.default.useState(a),W=React__default.default.useRef(null),B=React__default.default.Children.toArray(m);React__default.default.useEffect(()=>{c&&W.current&&W.current.focus()},[c]);var m=e=>{e.stopPropagation(),E(e=>!e),C({y:e.clientY,x:e.clientX}),A(400<e.clientY?"up":"down")},z=()=>{d&&d(),T(!0)},r=helpers.abbrTimeBeforeDate(r),_=_&&Object.entries(_).slice(0,MAX_REACTIONS_SHOWN).sort((e,t)=>e[1]<t[1]?1:-1).map(e=>React__default.default.createElement(Reaction,{key:o+e[0],onClick:()=>i(e[0]),$align:"center",$dir:"row",$gap:5,$userSelected:R?.includes(e[0])},e[0],React__default.default.createElement(paragraph.P,{$bold:!0,$fontSize:10,$lineHeight:14},e[1]))),L=!!B?.length&&0<B.length,H=L&&B.map((e,t)=>{var a;return React__default.default.isValidElement(e)?(a=e.props?.id,t=t!==B.length-1||l,React__default.default.createElement(ReplyWrapper,{$hasLine:t,key:a},e,React__default.default.createElement(ReplyIndicator,null))):null});return React__default.default.createElement(Wrapper,{$sx:v,id:"comment-"+o},React__default.default.createElement(avatar.Avatar,{as:Link__default.default,href:b,image:x,size:32,tooltipContent:e,tooltipSx:t}),React__default.default.createElement(box.Box,{$flex:1,$dir:"column"},React__default.default.createElement(ContentWrapper,{$hasReplies:L||!!l},c?React__default.default.createElement(responsive_text_area.ResponsiveTextArea,{inputStyles:"min-height: 104px;",wrapperStyles:"background:var(--color-grey-9); ",onChange:e=>{P(e.target.value)},value:q,ref:W}):React__default.default.createElement(CommentBox,null,React__default.default.createElement(box.Box,{$dir:"row",$justify:"space-between",$align:"center"},React__default.default.createElement(paragraph.P,{as:b?Link__default.default:"span",href:b,$bold:!0,$color:"grey-2",sx:"text-decoration:none !important; color:var(--color-grey-2) !important;",$fontSize:14,$lineHeight:20},g),s),React__default.default.createElement(paragraph.P,{sx:"white-space: pre-line;letter-spacing: -0.176px; word-break: break-word;"},React__default.default.createElement(highlighter.Highlighter,{highlightRender:e=>React__default.default.createElement(paragraph.P,{as:"span",$color:"primary-blue-2"},React__default.default.createElement(Link__default.default,{href:e,target:"_blank"},e)),seperator:regex.URL_REGEX,text:a}))),React__default.default.createElement(box.Box,{$align:"flex-start",$dir:"row",$display:"flex",$gap:16,sx:"margin: 8px 0px; position: relative;"},c?React__default.default.createElement(box.Box,{$display:"flex",$align:"center",$justify:"space-between",$gap:6,sx:"margin-top: 8px; width: 100%;"},React__default.default.createElement(emoticon_add.Emoticon,{color:"primary-blue-2",onClick:m,size:24,sx:" cursor: pointer; flex-shrink: 0; margin-right: auto;"}),React__default.default.createElement(button.Button,{onClick:()=>{p&&p(!c),P(a)},sx:"background-color: transparent; border: none; box-shadow: none; color: var(--color-primary-blue-2); margin-left: auto;\r\n &:hover, &:focus {\r\n border: none;\r\n outline: none;\r\n }\r\n ",size:"small",type:"outlined"},"Cancel"),React__default.default.createElement(button.Button,{onClick:()=>{u&&u(q,o),p&&p(!1)},size:"small",type:"primary"},"Save")):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(emoticon_add.Emoticon,{color:"primary-blue-2",onClick:m,size:24,sx:" cursor: pointer; flex-shrink: 0;"}),React__default.default.createElement(comment.Comment,{color:"primary-blue-2",onClick:()=>O(e=>!e),size:24,sx:"border-radius: 50%; cursor: pointer; flex-shrink: 0;"}),React__default.default.createElement(paragraph.P,{$color:"grey-7"},"•"),React__default.default.createElement(paragraph.P,{$color:"grey-4",$fontSize:12,$lineHeight:24,sx:"flex-shrink: 0;"},r),React__default.default.createElement(box.Box,{$display:"flex",$flow:"row wrap",$gap:6,sx:"max-width: calc(100% - 190px); margin-left: auto;"},_,f)),$&&React__default.default.createElement(portal.Portal,null,React__default.default.createElement(PickerWrapper,{$pickerOrientation:I,$top:k.y,$left:k.x},React__default.default.createElement(Picker__default.default,{data:emojis.default,onEmojiSelect:({native:e})=>{i(e),E(!1)},onClickOutside:()=>E(!1),maxFrequentRows:1,navPosition:"none",previewPosition:"none",perLine:9,theme:"auto"}))))),L&&w&&React__default.default.createElement(RepliesWrapper,null,H),!w&&!l&&L&&React__default.default.createElement(RepliesWrapper,null,React__default.default.createElement(ReplyWrapper,{$hasLine:!1},React__default.default.createElement(button.Button,{onClick:z,size:"small",sx:"color: var(--color-grey-3);",type:"text"},"show replies"),React__default.default.createElement(ReplyIndicator,null))),l&&React__default.default.createElement(RepliesWrapper,null,React__default.default.createElement(ReplyWrapper,{$hasLine:!1},React__default.default.createElement(button.Button,{onClick:z,size:"small",sx:"color: var(--color-grey-3);",type:"text"},"show more replies"),React__default.default.createElement(ReplyIndicator,null))),D&&React__default.default.createElement(CommentWrapper,null,React__default.default.createElement(responsive_text_area.ResponsiveTextArea,{bg:"var(--color-grey-10)",value:j,onChange:e=>{S(e.target.value)},placeholder:y||"Write a reply",maxCharacters:1e3,wrapperStyles:"margin: 16px 0; width: 100%;",actionComponent:React__default.default.createElement(box.Box,{sx:"margin: auto 0 5px 0px;",$align:"center",$justify:"center",$gap:8},h,React__default.default.createElement(button.Button,{disabled:!j.length,icon:React__default.default.createElement(send_text.SendText,null),onClick:e=>{e.stopPropagation(),e.preventDefault(),n(j),S("")},sx:`
|
|
3
3
|
justify-content: center;
|
|
4
4
|
background-color: var(--color-primary-blue-2);
|
|
5
5
|
align-items: center;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface DefaultArticlePageProps {
|
|
3
|
+
articleId: string;
|
|
4
|
+
title: string;
|
|
5
|
+
handleCreateCategory: (value: string) => void;
|
|
6
|
+
handleCreateArticle: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const HowCanWeHelpPage: React.FC;
|
|
9
|
+
export declare const DefaultArticlePage: React.FC<DefaultArticlePageProps>;
|
|
10
|
+
interface DefaultSubcategoryPageProps {
|
|
11
|
+
categoryId: string;
|
|
12
|
+
subcategoryId: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const DefaultSubcategoryPage: React.FC<DefaultSubcategoryPageProps>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Category, USER_ROLES } from './types';
|
|
3
|
+
interface HelpCenterProps {
|
|
4
|
+
initialData: {
|
|
5
|
+
categories: Category[];
|
|
6
|
+
userRole: (typeof USER_ROLES)[keyof typeof USER_ROLES];
|
|
7
|
+
};
|
|
8
|
+
onDataChange?: (data: {
|
|
9
|
+
categories: Category[];
|
|
10
|
+
}) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const HelpCenter: React.FC<HelpCenterProps>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { HelpCenterContextValue, HelpCenterProviderProps } from './types';
|
|
3
|
+
export declare const HelpCenterContext: React.Context<HelpCenterContextValue | undefined>;
|
|
4
|
+
export declare const HelpCenterProvider: React.FC<HelpCenterProviderProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HelpCenter } from './help_center';
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { TElement } from '@udecode/plate';
|
|
3
|
+
import { IStyledComponent } from 'styled-components';
|
|
4
|
+
import { FastOmit } from 'styled-components/dist/types';
|
|
5
|
+
export interface Category {
|
|
6
|
+
id: string;
|
|
7
|
+
name: string;
|
|
8
|
+
subcategories: Subcategory[];
|
|
9
|
+
}
|
|
10
|
+
export interface Subcategory {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
categoryId: string;
|
|
14
|
+
articles: Article[];
|
|
15
|
+
}
|
|
16
|
+
export interface WithPermissionProps {
|
|
17
|
+
role: (typeof USER_ROLES)[keyof typeof USER_ROLES];
|
|
18
|
+
permission: string;
|
|
19
|
+
}
|
|
20
|
+
export declare const USER_ROLES: {
|
|
21
|
+
readonly ADMIN: "admin";
|
|
22
|
+
readonly EDITOR: "editor";
|
|
23
|
+
readonly VIEWER: "viewer";
|
|
24
|
+
};
|
|
25
|
+
export interface User {
|
|
26
|
+
id: string;
|
|
27
|
+
email: string;
|
|
28
|
+
role: (typeof USER_ROLES)[keyof typeof USER_ROLES];
|
|
29
|
+
}
|
|
30
|
+
export interface Category {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
subcategories: Subcategory[];
|
|
34
|
+
}
|
|
35
|
+
export declare enum DropdownOptions {
|
|
36
|
+
RENAME = "Rename",
|
|
37
|
+
CREATE_SUBCATEGORY = "Create Sub-Category",
|
|
38
|
+
DELETE_CATEGORY = "Remove the Category",
|
|
39
|
+
CREATE_ARTICLES = "Create Articles",
|
|
40
|
+
DELETE_SUBCATEGORY = "Remove"
|
|
41
|
+
}
|
|
42
|
+
export interface CustomModalProps {
|
|
43
|
+
title: string;
|
|
44
|
+
isOpen: boolean;
|
|
45
|
+
setIsOpen: React.Dispatch<React.SetStateAction<boolean>>;
|
|
46
|
+
initialValue?: string;
|
|
47
|
+
modalType: modalType;
|
|
48
|
+
submitButtonText?: string;
|
|
49
|
+
cancelButtonText?: string;
|
|
50
|
+
mainContent?: React.ReactNode;
|
|
51
|
+
headerContent?: React.ReactNode;
|
|
52
|
+
footerContent?: React.ReactNode;
|
|
53
|
+
onSubmit: (value: string) => void;
|
|
54
|
+
trigger: React.ReactNode;
|
|
55
|
+
}
|
|
56
|
+
export type modalType = 'create' | 'edit' | 'delete' | 'create-article-category' | 'edit-article' | 'edit-article-category' | 'delete-article-category' | 'edit-article-QA' | 'delete-article-QA' | 'articleQuestion';
|
|
57
|
+
export interface Subcategory {
|
|
58
|
+
id: string;
|
|
59
|
+
name: string;
|
|
60
|
+
categoryId: string;
|
|
61
|
+
articles: Article[];
|
|
62
|
+
}
|
|
63
|
+
export interface ArticleCategory {
|
|
64
|
+
id: string;
|
|
65
|
+
title?: string;
|
|
66
|
+
articleId: string;
|
|
67
|
+
description?: string;
|
|
68
|
+
questions?: ArticleQuestion[];
|
|
69
|
+
}
|
|
70
|
+
export interface ArticleQuestion {
|
|
71
|
+
id: string;
|
|
72
|
+
articleCategoryId: string;
|
|
73
|
+
question?: string;
|
|
74
|
+
answer?: TElement[];
|
|
75
|
+
}
|
|
76
|
+
export interface Article {
|
|
77
|
+
id: string;
|
|
78
|
+
title: string;
|
|
79
|
+
content: ArticleCategory[];
|
|
80
|
+
categoryId: string;
|
|
81
|
+
subcategoryId: string;
|
|
82
|
+
}
|
|
83
|
+
export interface HelpCenterContextValue {
|
|
84
|
+
categories: Category[];
|
|
85
|
+
isLoading: boolean;
|
|
86
|
+
selectedArticle: Article | null;
|
|
87
|
+
isNewArticle: boolean;
|
|
88
|
+
selectedSubcategory: Subcategory | null;
|
|
89
|
+
error: string | null;
|
|
90
|
+
userRole: (typeof USER_ROLES)[keyof typeof USER_ROLES];
|
|
91
|
+
breadcrumbTrail: string[];
|
|
92
|
+
setSelectedSubcategory: React.Dispatch<React.SetStateAction<Subcategory | null>>;
|
|
93
|
+
setSelectedArticle: React.Dispatch<React.SetStateAction<Article | null>>;
|
|
94
|
+
setIsNewArticle: React.Dispatch<React.SetStateAction<boolean>>;
|
|
95
|
+
setBreadcrumbTrail: React.Dispatch<React.SetStateAction<string[]>>;
|
|
96
|
+
addCategory: (name: string) => void;
|
|
97
|
+
updateCategory: (id: string, name: string) => void;
|
|
98
|
+
deleteCategory: (id: string) => void;
|
|
99
|
+
addSubcategory: (categoryId: string, name: string) => void;
|
|
100
|
+
addArticleCategory: (categoryId: string, subcategoryId: string, articleId: string, newCategory: Omit<ArticleCategory, 'id'>) => void;
|
|
101
|
+
deleteArticleQuestion: (categoryId: string, subcategoryId: string, articleId: string, articleCategoryId: string, questionId: string) => void;
|
|
102
|
+
deleteArticleCategory: (categoryId: string, subcategoryId: string, articleId: string, articleCategoryId: string) => void;
|
|
103
|
+
updateArticleCategory: (categoryId: string, subcategoryId: string, articleId: string, articleCategoryId: string, updatedCategoryName: string) => void;
|
|
104
|
+
addArticleQuestion: (categoryId: string, subcategoryId: string, articleId: string, articleCategoryId: string, newQuestion: Omit<ArticleQuestion, 'id'>) => void;
|
|
105
|
+
updateArticleQuestion: (categoryId: string, subcategoryId: string, articleId: string, articleCategoryId: string, articleQuestionId: string, updatedQuestion: Omit<ArticleQuestion, 'id'>) => void;
|
|
106
|
+
updateSubcategory: (categoryId: string, subcategoryId: string, name: string) => void;
|
|
107
|
+
deleteSubcategory: (categoryId: string, subcategoryId: string) => void;
|
|
108
|
+
addArticle: (categoryId: string, subcategoryId: string, title: string, content: ArticleCategory[]) => string;
|
|
109
|
+
updateArticle: (categoryId: string, subcategoryId: string, articleId: string, title: string, content: ArticleCategory[]) => void;
|
|
110
|
+
deleteArticle: (categoryId: string, subcategoryId: string, articleId: string) => void;
|
|
111
|
+
}
|
|
112
|
+
export interface HelpCenterProviderProps extends HelpCenterProps {
|
|
113
|
+
children: React.ReactNode;
|
|
114
|
+
}
|
|
115
|
+
export interface HelpCenterProps {
|
|
116
|
+
initialData: {
|
|
117
|
+
categories: Category[];
|
|
118
|
+
userRole: (typeof USER_ROLES)[keyof typeof USER_ROLES];
|
|
119
|
+
};
|
|
120
|
+
onDataChange?: (data: {
|
|
121
|
+
categories: Category[];
|
|
122
|
+
}) => void;
|
|
123
|
+
}
|
|
124
|
+
export type StyledType = IStyledComponent<'web', FastOmit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface AudioProgressBarProps {
|
|
3
|
+
/**
|
|
4
|
+
* @param duration the total duration of the audio media in seconds
|
|
5
|
+
* */
|
|
6
|
+
duration: number;
|
|
7
|
+
/**
|
|
8
|
+
* @param progress the amount of the audio media listened to
|
|
9
|
+
* */
|
|
10
|
+
progress: number;
|
|
11
|
+
onSeek: (percent: number) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const AudioProgressBar: ({ duration, progress, onSeek, }: AudioProgressBarProps) => React.JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { Trailer } from '../common';
|
|
2
|
+
import { AdditionalMedia, Trailer } from '../common';
|
|
3
3
|
type TrailerListItemProps = {
|
|
4
4
|
trailer: Trailer;
|
|
5
5
|
title: string;
|
|
6
6
|
handleSetPlayingTrailer: React.Dispatch<React.SetStateAction<boolean>>;
|
|
7
7
|
};
|
|
8
|
+
type AdditionalListItemProps = {
|
|
9
|
+
additionalMedia: AdditionalMedia;
|
|
10
|
+
title: string;
|
|
11
|
+
handleSetPlayingTrailer: React.Dispatch<React.SetStateAction<boolean>>;
|
|
12
|
+
};
|
|
8
13
|
type ButtonViewAllProps = {
|
|
9
14
|
showingAll: boolean;
|
|
10
15
|
orientation?: 'horizontal' | 'vertical';
|
|
11
16
|
toggleShowingAll: React.MouseEventHandler<HTMLButtonElement>;
|
|
12
17
|
};
|
|
13
18
|
export declare const TrailerListItem: ({ trailer, title, handleSetPlayingTrailer, }: TrailerListItemProps) => React.JSX.Element;
|
|
19
|
+
export declare const LeaderListItem: ({ additionalMedia, title, handleSetPlayingTrailer, }: AdditionalListItemProps) => React.JSX.Element;
|
|
14
20
|
export declare const ButtonViewAll: ({ showingAll, orientation, toggleShowingAll, }: ButtonViewAllProps) => React.JSX.Element;
|
|
15
21
|
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { MediaItem, Trailer } from '../common';
|
|
2
|
+
import { AdditionalMedia, MediaItem, Trailer } from '../common';
|
|
3
3
|
export interface VideoPlayerProps {
|
|
4
4
|
/**
|
|
5
5
|
* @param activeIndex the media item frm the playlist currently playing
|
|
@@ -56,6 +56,10 @@ export interface VideoPlayerProps {
|
|
|
56
56
|
* @param trailer if in
|
|
57
57
|
*/
|
|
58
58
|
trailer?: Trailer;
|
|
59
|
+
/**
|
|
60
|
+
* @param AdditionalMedia if in
|
|
61
|
+
*/
|
|
62
|
+
additionalMedia: AdditionalMedia[];
|
|
59
63
|
/**
|
|
60
64
|
* @param volume the volume of the player
|
|
61
65
|
* @default 1 (100%)
|
|
@@ -71,4 +75,4 @@ export interface VideoPlayerProps {
|
|
|
71
75
|
* ReactPlayer props reference -> https://www.npmjs.com/package/react-player#props
|
|
72
76
|
* HLS Option props reference -> https://github.com/video-dev/hls.js/blob/master/docs/API.md#fine-tuning
|
|
73
77
|
*/
|
|
74
|
-
export declare const VideoPlayer: ({ activeIndex, pip, playable, playlist, onClickPreview, onPipChange, onProgress, onStart, orientation, setMediaItem, onShowAllPlaylist, forwardedRef, subtitle, title, trailer, }: VideoPlayerProps) => React.JSX.Element | null;
|
|
78
|
+
export declare const VideoPlayer: ({ activeIndex, pip, playable, playlist, onClickPreview, onPipChange, onProgress, onStart, orientation, setMediaItem, onShowAllPlaylist, forwardedRef, subtitle, title, trailer, additionalMedia, }: VideoPlayerProps) => React.JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
type TabColors = 'blue' | 'grey' | 'green' | 'mint' | 'orange' | 'ocean' | 'pink' | 'purple' | 'red' | 'yellow' | 'dark';
|
|
2
|
+
export type TabColors = 'blue' | 'grey' | 'green' | 'mint' | 'orange' | 'ocean' | 'pink' | 'purple' | 'red' | 'yellow' | 'dark';
|
|
3
3
|
type TabSizes = 'small' | 'medium' | 'large';
|
|
4
4
|
export interface TabProps {
|
|
5
5
|
activeIndex: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useDebounce: <T extends (...args: any[]) => void>(callback: T, delay: number) => T;
|