@box/activity-feed 2.2.18 → 2.2.20
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as TaskStatus}from"./types.js";import messages from"../esm/lib/components/task-item/messages.js";import{UserAvatar}from"../esm/lib/components/user-avatar/user-avatar.js";import{useCallback,useEffect,useState}from"react";import{Avatar,Text,TextButton}from"@box/blueprint-web";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{Gray10}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/AssigneeList.css';var AssigneeList_module_default={assigneeList:`
|
|
1
|
+
import{n as TaskStatus}from"./types.js";import messages from"../esm/lib/components/task-item/messages.js";import{UserAvatar}from"../esm/lib/components/user-avatar/user-avatar.js";import{useCallback,useEffect,useState}from"react";import{Avatar,Text,TextButton}from"@box/blueprint-web";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{ReadableTime}from"@box/readable-time";import{Gray10}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/AssigneeList.css';var AssigneeList_module_default={assigneeList:`_assigneeList_7ni8t_4`,assigneeItem:`_assigneeItem_7ni8t_11`,assigneeMeta:`_assigneeMeta_7ni8t_17`,assigneeName:`_assigneeName_7ni8t_24`,assigneeStatusLine:`_assigneeStatusLine_7ni8t_31`,assigneeSeparator:`_assigneeSeparator_7ni8t_37`,assigneeStatusSuccess:`_assigneeStatusSuccess_7ni8t_41`,assigneeStatusRejected:`_assigneeStatusRejected_7ni8t_46`,assigneeCompletedAt:`_assigneeCompletedAt_7ni8t_51`,assigneeShowMoreRow:`_assigneeShowMoreRow_7ni8t_56`,assigneeShowLessButton:`_assigneeShowLessButton_7ni8t_64`},INITIAL_VISIBLE_ASSIGNEE_COUNT=3,completedAtTextProps={as:`span`,className:AssigneeList_module_default.assigneeCompletedAt,color:`textOnLightSecondary`,variant:`bodySmall`};function getAssigneeRowStatus(status){switch(status){case TaskStatus.COMPLETED:return{message:messages.assigneeRowStatusCompleted,statusClass:AssigneeList_module_default.assigneeStatusSuccess};case TaskStatus.APPROVED:return{message:messages.assigneeRowStatusApproved,statusClass:AssigneeList_module_default.assigneeStatusSuccess};case TaskStatus.REJECTED:return{message:messages.assigneeRowStatusRejected,statusClass:AssigneeList_module_default.assigneeStatusRejected};default:return null}}function AssigneeList({assignees,disabled=!1,hasNextPage=!1,onLoadAllAssignee}){let[isExpanded,setIsExpanded]=useState(!1),[isLoading,setIsLoading]=useState(!1),[loadError,setLoadError]=useState(!1),[allAssignees,setAllAssignees]=useState(assignees),[hasLoadedAll,setHasLoadedAll]=useState(!1),{formatMessage}=useIntl();useEffect(()=>{setAllAssignees(assignees),setHasLoadedAll(!1),setIsExpanded(!1),setLoadError(!1),setIsLoading(!1)},[assignees]);let handleShowMore=useCallback(async()=>{if(hasNextPage&&onLoadAllAssignee&&!hasLoadedAll){setIsLoading(!0),setLoadError(!1);try{setAllAssignees(await onLoadAllAssignee()),setHasLoadedAll(!0),setIsExpanded(!0)}catch{setLoadError(!0)}finally{setIsLoading(!1)}}else setIsExpanded(!0)},[hasNextPage,onLoadAllAssignee,hasLoadedAll]);if(allAssignees.length===0)return null;let totalCount=allAssignees.length,visibleCount=isExpanded?totalCount:Math.min(INITIAL_VISIBLE_ASSIGNEE_COUNT,totalCount),hiddenCount=Math.max(0,totalCount-INITIAL_VISIBLE_ASSIGNEE_COUNT),showMoreLabel;return showMoreLabel=isLoading?formatMessage(messages.loadingAssignees):hiddenCount>0?formatMessage(hasNextPage&&!hasLoadedAll?messages.showMoreAssigneesApproximate:messages.showMoreAssignees,{count:hiddenCount}):formatMessage(messages.showMore),jsxs(`div`,{className:AssigneeList_module_default.assigneeList,children:[allAssignees.slice(0,visibleCount).map(assignee=>{let rowStatus=getAssigneeRowStatus(assignee.status),completedAt=rowStatus&&assignee.completedAt&&Number.isFinite(assignee.completedAt)?assignee.completedAt:null;return jsxs(`div`,{className:AssigneeList_module_default.assigneeItem,"data-testid":`assignee-row-${assignee.id}`,children:[jsx(UserAvatar,{size:`xsmall`,user:assignee}),jsxs(`div`,{className:AssigneeList_module_default.assigneeMeta,children:[jsx(Text,{as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`,className:AssigneeList_module_default.assigneeName,children:assignee.name}),rowStatus&&jsxs(`div`,{className:AssigneeList_module_default.assigneeStatusLine,children:[jsx(Text,{as:`span`,variant:`bodySmall`,className:rowStatus.statusClass,children:formatMessage(rowStatus.message)}),completedAt&&jsxs(Fragment,{children:[jsx(Text,{as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`,"aria-hidden":!0,className:AssigneeList_module_default.assigneeSeparator,children:`·`}),jsx(ReadableTime,{alwaysShowTime:!0,textProps:completedAtTextProps,timestamp:completedAt})]})]})]})]},assignee.id)}),!isExpanded&&(hiddenCount>0||hasNextPage)&&jsxs(Fragment,{children:[jsxs(`div`,{className:AssigneeList_module_default.assigneeShowMoreRow,children:[hiddenCount>0&&(!hasNextPage||hasLoadedAll)&&jsx(Avatar,{"aria-hidden":!0,color:Gray10,size:`xsmall`,text:`+${hiddenCount}`}),jsx(TextButton,{disabled:isLoading||disabled,onClick:handleShowMore,type:`button`,children:showMoreLabel})]}),loadError&&jsx(Text,{as:`div`,variant:`bodySmall`,color:`textOnLightError`,children:formatMessage(messages.loadAssigneesError)})]}),isExpanded&&hiddenCount>0&&jsx(TextButton,{className:AssigneeList_module_default.assigneeShowLessButton,disabled,onClick:()=>setIsExpanded(!1),type:`button`,children:formatMessage(messages.showLessAssignees)})]})}export{AssigneeList as t};
|
package/dist/chunks/TaskState.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as TaskStatus}from"./types.js";import messages from"../esm/lib/components/task-item/components/task-state/messages.js";import{Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{ReadableTime}from"@box/readable-time";import{CheckmarkCircle,XMarkCircle}from"@box/blueprint-web-assets/icons/MediumFilled";import{bpGreenLight125,bpWatermelonRed125}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/TaskState.css';var TaskState_module_default={taskState:`_taskState_1qxrh_1`,leftContainer:`_leftContainer_1qxrh_8`,rightContainer:`_rightContainer_1qxrh_16`,statusLine:`_statusLine_1qxrh_22`,countText:`_countText_1qxrh_30`},readableTimeTextProps={as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`},TASK_STATE_ICONS={[TaskStatus.REJECTED]:jsx(XMarkCircle,{color:bpWatermelonRed125,height:24,width:24}),[TaskStatus.COMPLETED]:jsx(CheckmarkCircle,{color:bpGreenLight125,height:24,width:24}),[TaskStatus.APPROVED]:jsx(CheckmarkCircle,{color:bpGreenLight125,height:24,width:24})};function TaskState({completedAt,showCount=!0,totalCount,variant}){let intl=useIntl();if(variant!==TaskStatus.COMPLETED&&variant!==TaskStatus.APPROVED&&variant!==TaskStatus.REJECTED)return null;let icon=TASK_STATE_ICONS[variant],shouldShowCount=showCount&&totalCount>0&&variant!==TaskStatus.REJECTED,headlineMessage;switch(variant){case TaskStatus.APPROVED:headlineMessage=messages.approvedHeadline;break;case TaskStatus.COMPLETED:headlineMessage=messages.completedHeadline;break;case TaskStatus.REJECTED:headlineMessage=messages.rejectedHeadline;break}let statusLine=jsxs(Fragment,{children:[jsx(Text,{as:`span`,color:`textOnLightDefault`,variant:`bodyDefaultBold`,children:intl.formatMessage(headlineMessage)}),shouldShowCount&&jsx(Text,{as:`span`,className:TaskState_module_default.countText,color:`textOnLightSecondary`,variant:`bodyDefault`,children:intl.formatMessage(messages.completedCountParenthetical,{completedCount:totalCount,totalCount})})]});return jsxs(`div`,{className:TaskState_module_default.taskState,children:[jsx(`div`,{className:TaskState_module_default.leftContainer,children:icon}),jsxs(`div`,{className:TaskState_module_default.rightContainer,children:[jsx(`div`,{className:TaskState_module_default.statusLine,children:statusLine}),jsx(ReadableTime,{textProps:readableTimeTextProps,timestamp:completedAt})]})]})}export{TaskState as t};
|
|
1
|
+
import{n as TaskStatus}from"./types.js";import messages from"../esm/lib/components/task-item/components/task-state/messages.js";import{Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{Fragment,jsx,jsxs}from"react/jsx-runtime";import{ReadableTime}from"@box/readable-time";import{CheckmarkCircle,XMarkCircle}from"@box/blueprint-web-assets/icons/MediumFilled";import{bpGreenLight125,bpWatermelonRed125}from"@box/blueprint-web-assets/tokens/tokens";import '../styles/TaskState.css';var TaskState_module_default={taskState:`_taskState_1qxrh_1`,leftContainer:`_leftContainer_1qxrh_8`,rightContainer:`_rightContainer_1qxrh_16`,statusLine:`_statusLine_1qxrh_22`,countText:`_countText_1qxrh_30`},readableTimeTextProps={as:`span`,variant:`bodySmall`,color:`textOnLightSecondary`},TASK_STATE_ICONS={[TaskStatus.REJECTED]:jsx(XMarkCircle,{color:bpWatermelonRed125,height:24,width:24}),[TaskStatus.COMPLETED]:jsx(CheckmarkCircle,{color:bpGreenLight125,height:24,width:24}),[TaskStatus.APPROVED]:jsx(CheckmarkCircle,{color:bpGreenLight125,height:24,width:24})};function TaskState({completedAt,showCount=!0,totalCount,variant}){let intl=useIntl();if(variant!==TaskStatus.COMPLETED&&variant!==TaskStatus.APPROVED&&variant!==TaskStatus.REJECTED)return null;let icon=TASK_STATE_ICONS[variant],shouldShowCount=showCount&&totalCount>0&&variant!==TaskStatus.REJECTED,headlineMessage;switch(variant){case TaskStatus.APPROVED:headlineMessage=messages.approvedHeadline;break;case TaskStatus.COMPLETED:headlineMessage=messages.completedHeadline;break;case TaskStatus.REJECTED:headlineMessage=messages.rejectedHeadline;break}let statusLine=jsxs(Fragment,{children:[jsx(Text,{as:`span`,color:`textOnLightDefault`,variant:`bodyDefaultBold`,children:intl.formatMessage(headlineMessage)}),shouldShowCount&&jsx(Text,{as:`span`,className:TaskState_module_default.countText,color:`textOnLightSecondary`,variant:`bodyDefault`,children:intl.formatMessage(messages.completedCountParenthetical,{completedCount:totalCount,totalCount})})]});return jsxs(`div`,{className:TaskState_module_default.taskState,children:[jsx(`div`,{className:TaskState_module_default.leftContainer,children:icon}),jsxs(`div`,{className:TaskState_module_default.rightContainer,children:[jsx(`div`,{className:TaskState_module_default.statusLine,children:statusLine}),jsx(ReadableTime,{alwaysShowTime:!0,textProps:readableTimeTextProps,timestamp:completedAt})]})]})}export{TaskState as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{messages}from"../esm/lib/components/app-activity-item/messages.js";import{createElement,useMemo}from"react";import{Avatar,Link,Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import{ReadableTime}from"@box/readable-time";import '../styles/app-activity-item.css';var app_activity_item_module_default={appActivityItem:`
|
|
1
|
+
import{messages}from"../esm/lib/components/app-activity-item/messages.js";import{createElement,useMemo}from"react";import{Avatar,Link,Text}from"@box/blueprint-web";import{useIntl}from"react-intl";import{jsx,jsxs}from"react/jsx-runtime";import{ReadableTime}from"@box/readable-time";import '../styles/app-activity-item.css';var app_activity_item_module_default={appActivityItem:`_appActivityItem_1exnl_27`,message:`_message_1exnl_36`,activityLink:`_activityLink_1exnl_40`},parseRenderedText=html=>{try{let doc=new DOMParser().parseFromString(html,`text/html`);return Array.from(doc.body.childNodes).map((node,index)=>{if(node.nodeType===Node.ELEMENT_NODE){let element=node;if(element.nodeName===`A`){let anchor=element;return createElement(Link,{...Object.fromEntries([...anchor.attributes].filter(a=>a.name.startsWith(`data-`)).map(a=>[a.name,a.value])),className:app_activity_item_module_default.activityLink,href:anchor.href,key:index,rel:`noreferrer noopener`,target:`_blank`},anchor.textContent)}return createElement(element.tagName.toLowerCase(),{key:index},element.textContent)}return node.textContent})}catch{return[html]}},AppActivityItem=({appIconUrl,appName,createdAt,id,renderedText})=>{let{formatMessage}=useIntl(),numericId=parseInt(id,10),colorIndex=Number.isNaN(numericId)?0:numericId%10,parsedContent=useMemo(()=>parseRenderedText(renderedText),[renderedText]);return jsxs(`div`,{className:app_activity_item_module_default.appActivityItem,children:[jsx(Avatar,{alt:appName,colorIndex,size:`medium`,src:appIconUrl,text:appName.charAt(0)}),jsx(Text,{as:`span`,className:app_activity_item_module_default.message,color:`textOnLightSecondary`,variant:`bodyDefault`,children:formatMessage(messages.activityItemText,{appName:jsx(Text,{as:`span`,color:`textOnLightSecondary`,variant:`bodyDefaultSemibold`,children:appName}),parsedContent:jsx(Text,{as:`span`,color:`textOnLightSecondary`,variant:`bodyDefault`,children:parsedContent}),timestamp:jsx(ReadableTime,{textProps:{as:`span`,color:`textOnLightSecondary`,variant:`bodyDefault`},timestamp:createdAt})})})]})};export{AppActivityItem as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._assigneeList_7ni8t_4{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}._assigneeItem_7ni8t_11{align-items:center;gap:var(--space-2);display:flex}._assigneeMeta_7ni8t_17{flex-direction:column;flex:1;min-width:0;display:flex}._assigneeName_7ni8t_24{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}._assigneeStatusLine_7ni8t_31{align-items:center;gap:var(--space-1);display:flex}._assigneeSeparator_7ni8t_37{flex-shrink:0}._assigneeItem_7ni8t_11 ._assigneeMeta_7ni8t_17 ._assigneeStatusSuccess_7ni8t_41{color:var(--bp-green-light-135);flex-shrink:0}._assigneeItem_7ni8t_11 ._assigneeMeta_7ni8t_17 ._assigneeStatusRejected_7ni8t_46{color:var(--text-text-error-on-light,var(--bp-text-text-error-on-light));flex-shrink:0}._assigneeCompletedAt_7ni8t_51{white-space:nowrap;flex-shrink:0}._assigneeShowMoreRow_7ni8t_56{align-self:flex-start;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}._assigneeShowLessButton_7ni8t_64{margin-left:var(--space-7)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
._appActivityItem_1exnl_27{gap:var(--space-2);box-sizing:border-box;width:100%;padding-left:var(--space-4);align-items:flex-start;display:flex}._message_1exnl_36{overflow-wrap:break-word;min-width:0}._message_1exnl_36 ._activityLink_1exnl_40{font-weight:var(--bp-font-weight-semibold);font-size:var(--bp-font-size-05);font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;font-style:normal;line-height:var(--bp-font-line-height-04);letter-spacing:var(--bp-font-letter-spacing-01)}:where(body.is-inter-font) ._message_1exnl_36 ._activityLink_1exnl_40{letter-spacing:0;text-transform:none;font-family:InterVariable,-apple-system,BlinkMacSystemFont,San Francisco,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:.875rem;font-style:normal;font-weight:500;line-height:1.25rem;text-decoration:none}._message_1exnl_36 ._activityLink_1exnl_40{color:inherit;text-decoration:none}._message_1exnl_36 ._activityLink_1exnl_40:hover{color:inherit;text-decoration:underline}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/activity-feed",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.20",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"peerDependencies": {
|
|
6
|
-
"@box/blueprint-web": "^16.13.
|
|
7
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
8
|
-
"@box/collaboration-popover": "^2.1.
|
|
9
|
-
"@box/readable-time": "^2.1.
|
|
10
|
-
"@box/threaded-annotations": "^4.1.
|
|
11
|
-
"@box/user-selector": "^2.1.
|
|
6
|
+
"@box/blueprint-web": "^16.13.2",
|
|
7
|
+
"@box/blueprint-web-assets": "^5.5.11",
|
|
8
|
+
"@box/collaboration-popover": "^2.1.36",
|
|
9
|
+
"@box/readable-time": "^2.1.36",
|
|
10
|
+
"@box/threaded-annotations": "^4.1.12",
|
|
11
|
+
"@box/user-selector": "^2.1.39",
|
|
12
12
|
"clsx": "^1.2.1",
|
|
13
13
|
"react": "^18.0.0",
|
|
14
14
|
"react-dom": "^18.0.0",
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
"access": "public"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@box/blueprint-web": "^16.13.
|
|
22
|
-
"@box/blueprint-web-assets": "^5.5.
|
|
23
|
-
"@box/collaboration-popover": "^2.1.
|
|
21
|
+
"@box/blueprint-web": "^16.13.2",
|
|
22
|
+
"@box/blueprint-web-assets": "^5.5.11",
|
|
23
|
+
"@box/collaboration-popover": "^2.1.36",
|
|
24
24
|
"@box/eslint-plugin-blueprint": "2.1.11",
|
|
25
|
-
"@box/readable-time": "^2.1.
|
|
26
|
-
"@box/storybook-utils": "1.1.
|
|
27
|
-
"@box/threaded-annotations": "^4.1.
|
|
28
|
-
"@box/user-selector": "^2.1.
|
|
25
|
+
"@box/readable-time": "^2.1.36",
|
|
26
|
+
"@box/storybook-utils": "1.1.35",
|
|
27
|
+
"@box/threaded-annotations": "^4.1.12",
|
|
28
|
+
"@box/user-selector": "^2.1.39",
|
|
29
29
|
"react-intl": "^6.4.2"
|
|
30
30
|
},
|
|
31
31
|
"files": [
|