@useloops/design-system 1.4.626 → 1.4.629

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/README.md CHANGED
@@ -4,17 +4,16 @@ The design system for the Loops platform and marketing website.
4
4
 
5
5
  ## Generating new components
6
6
 
7
- New components can be generated using `npm run component`.
7
+ New components can be generated using `bun run component`.
8
8
 
9
9
  ## Synchronising icons with Figma
10
10
 
11
11
  - Create a personal access token in Figma in Settings > Security > Personal access tokens
12
12
  - Create `.env` file in `scripts/useloops-icon-generator/.env`
13
- - Install packages: `cd scripts/useloops-icon-generator && npm install`
14
- - Run `npm run icons` from the root dir
13
+ - Install packages: `cd scripts/useloops-icon-generator && bun install`
14
+ - Run `bun run icons` from the root dir
15
15
  - Check the Brand Core/Icons story in storybook, verify expected icons have been updated
16
16
 
17
-
18
17
  # Importing from @useloops/design-system
19
18
 
20
19
  This package now supports both barrel imports and individual component imports for better tree-shaking and reduced bundle sizes.
@@ -22,11 +21,13 @@ This package now supports both barrel imports and individual component imports f
22
21
  ## Import Methods
23
22
 
24
23
  ### 1. Barrel Import (Default - imports everything)
24
+
25
25
  ```typescript
26
26
  import { Button, Avatar, Typography } from '@useloops/design-system';
27
27
  ```
28
28
 
29
29
  ### 2. System-Level Imports
30
+
30
31
  Import all components from a specific system:
31
32
 
32
33
  ```typescript
@@ -50,6 +51,7 @@ import { emailValidation, passwordValidation } from '@useloops/design-system/uti
50
51
  ```
51
52
 
52
53
  ### 3. Individual Component Imports (Best for tree-shaking)
54
+
53
55
  Import components individually for optimal bundle size:
54
56
 
55
57
  ```typescript
@@ -81,16 +83,19 @@ import PlanTierCard from '@useloops/design-system/Marketing/PlanTierCard';
81
83
  To migrate from barrel imports to individual imports:
82
84
 
83
85
  **Before:**
86
+
84
87
  ```typescript
85
88
  import { Button, Avatar, Typography, TextField } from '@useloops/design-system';
86
89
  ```
87
90
 
88
91
  **After (Option 1 - System Level):**
92
+
89
93
  ```typescript
90
94
  import { Button, Avatar, Typography, TextField } from '@useloops/design-system/WebCore';
91
95
  ```
92
96
 
93
97
  **After (Option 2 - Individual):**
98
+
94
99
  ```typescript
95
100
  import Button from '@useloops/design-system/WebCore/Button';
96
101
  import Avatar from '@useloops/design-system/WebCore/Avatar';
@@ -194,7 +194,7 @@ export { default as Warning } from '../systems/BrandCore/Icon/components/Warning
194
194
  export { default as Work } from '../systems/BrandCore/Icon/components/Work.js';
195
195
  export { default as ZoomIn } from '../systems/BrandCore/Icon/components/ZoomIn.js';
196
196
  export { default as ZoomOut } from '../systems/BrandCore/Icon/components/ZoomOut.js';
197
- export { default, iconSizeMap } from '../systems/BrandCore/Icon/Icon.js';
197
+ export { IconProps, default, iconSizeMap } from '../systems/BrandCore/Icon/Icon.js';
198
198
 
199
199
  type IconName = 'payment-card-visa' | 'payment-card-mastercard' | 'payment-card-amex' | 'brand-wordmark' | 'brand-logomark' | 'menu' | 'menu-open' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'arrow-left' | 'arrow-right' | 'search' | 'close' | 'more-horizontal' | 'more-vertical' | 'home' | 'home-filled' | 'settings' | 'controls' | 'help' | 'filter-list' | 'sort' | 'open-in-new' | 'nav-toggle' | 'nav-collapse' | 'nav-expand' | 'expand-window' | 'reduce-window' | 'redo' | 'hand' | 'play-circle' | 'play-video' | 'email' | 'document' | 'folder' | 'attach-file' | 'save' | 'image' | 'image-add' | 'image-search' | 'image-no' | 'upload' | 'upload-cloud' | 'upload-cloud-filled' | 'time' | 'time-filled' | 'zoom-in' | 'zoom-out' | 'add' | 'remove' | 'dashboard' | 'list-view' | 'grid-view' | 'grid-view-filled' | 'grid-view-small' | 'grid-view-large' | 'eye' | 'eye-off' | 'notification' | 'pound' | 'euro' | 'dollar' | 'play' | 'pause' | 'stop' | 'shuffle' | 'replay' | 'volume-mute' | 'volume-high' | 'volume-low' | 'test' | 'test-pending' | 'test-edit' | 'data-bar' | 'label' | 'send' | 'comment' | 'comment-filled' | 'chat' | 'microphone' | 'keyboard' | 'translate' | 'error' | 'warning' | 'lightbulb' | 'thumb-up' | 'thumb-down' | 'info' | 'info-filled' | 'cancel' | 'compress' | 'expand' | 'unfold' | 'drag-handle' | 'focus' | 'drag-select' | 'lock' | 'copy' | 'edit' | 'delete' | 'check' | 'check-circle' | 'check-circle-filled' | 'alert-dot' | 'pin' | 'pin-filled' | 'link' | 'user-search' | 'crosshair' | 'fingerprint' | 'star' | 'star-half' | 'star-filled' | 'thumbs-up-down' | 'emoticon' | 'linear-scale' | 'check-double' | 'rank' | 'sentiment-double-down' | 'sentiment-down' | 'sentiment-flat' | 'sentiment-up' | 'sentiment-double-up' | 'ai' | 'work' | 'gift' | 'social-medium-single-colour' | 'social-linkedin-single-colour' | 'social-youtube-single-colour' | 'social-linkedin-full-colour' | 'social-google-full-colour' | 'badge-tick' | 'badge-tick-in-circle' | 'badge-cross' | 'badge-cross-in-circle' | 'badge-hyphen' | 'badge-hyphen-in-circle' | 'badge-question' | 'badge-question-in-circle' | 'badge-flag' | 'badge-flag-in-circle' | 'badge-thumb-up' | 'badge-thumb-up-in-circle' | 'number-0' | 'number-1' | 'number-2' | 'number-3' | 'number-4' | 'number-5' | 'number-6' | 'number-7' | 'number-8' | 'number-9' | 'number-10' | 'number-11' | 'number-12' | 'number-13' | 'number-14' | 'number-15' | 'number-16' | 'number-17' | 'number-18' | 'number-19' | 'number-20' | 'number-21' | 'number-22' | 'number-23' | 'number-24' | 'number-25' | 'number-26' | 'number-27' | 'number-28' | 'number-29' | 'number-30' | 'number-31' | 'number-32' | 'number-33' | 'number-34' | 'number-35' | 'number-36' | 'number-37' | 'number-38' | 'number-39' | 'number-40' | 'number-41' | 'number-42' | 'number-43' | 'number-44' | 'number-45' | 'number-46' | 'number-47' | 'number-48' | 'number-49' | 'number-50';
200
200
 
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useTheme as t,Box as r,Stack as i}from"@mui/material";import{usePopupState as a}from"material-ui-popup-state/hooks";import{forwardRef as s,useState as n,useEffect as p}from"react";import{isButton as l}from"../../../utils/isButton.js";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import m from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../WebCore/utils/typography.util.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/Accordion/Accordion.js";import c from"../../WebCore/Typography/Typography.js";import d from"../../WebCore/Avatar/Avatar.js";import"../../WebCore/Badge/Badge.js";import"merge-sx";import"../../WebCore/Breadcrumb/Breadcrumb.js";import u from"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"@mui/icons-material";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import b from"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import C from"../../WebCore/Menu/Menu.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/Surface/Surface.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../WebCore/Progress/Progress.js";import j from"../../WebCore/Tooltip/Tooltip.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/utils/autocomplete.styles.js";import"../../WebCore/Select/AutocompleteListbox.js";import"../../WebCore/Select/StyledAutocomplete.js";import"../../WebCore/Select/SelectItem.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/RankItemContainer.js";import"../../WebCore/RankItem/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import g from"../ClipboardCopyingOverlay/ClipboardCopyingOverlay.js";import W from"../SentimentArrow/SentimentArrow.js";import{CommentCardContainer as y,CommentActions as x}from"./_partials/Containers.js";const f=e=>{const o=t();if(!e)return o.custom.palette.neutral[200];return`hsl(${(e=>{let o=0;for(let t=0;t<e.length;t++)o=e.charCodeAt(t)+((o<<5)-o);return Math.abs(o)%360})(e)}, 100%, 75%)`},S=s(({author:s,authorId:S,timeStamp:h,onTimeStampClick:B,copyLoading:k,favouriteLoading:I,isActive:v,isHovered:L,isStarred:M,moreMenuItems:T,moreMenuState:A,onClick:w,onFavouritePress:R,onMorePress:P,original:G,sentimentScore:F,translation:O,translationError:z,slotProps:N,demographicString:V,onClickSeeMore:_},D)=>{const E=t(),[H,K]=n(!O),U=matchMedia("(hover: none)").matches,[$,q]=n(L||U),J=a({variant:"popper"});return p(()=>{J.close()},[$]),e(y,{ref:D,onMouseOver:()=>q(!0),onMouseOut:()=>q(!1),isActive:v,isHovered:L,onClick:e=>{l(e.target)||w?.()},children:[k&&o(g,{}),e(r,{sx:{alignItems:"start",display:"flex",gap:E.spacing(E.custom.padding.md),justifyContent:"space-between"},children:[s&&e(r,{sx:{alignItems:"flex-start",display:"flex",gap:E.spacing(E.custom.padding.sm)},children:[o(d,{sizing:"xs",sx:{backgroundColor:f(S??s),color:E.custom.palette.text.primary},children:o(c,{component:"p",weight:"bold",sx:{lineHeight:1,fontSize:"16px",position:"relative",top:"-1px"},children:s?.substring(0,1)})}),e(r,{sx:{alignItems:"center",display:"flex",flexWrap:"wrap",columnGap:E.spacing(E.custom.padding.sm),rowGap:E.spacing(E.custom.padding.xs)},children:[o(c,{component:"p",variation:"xs",color:E.custom.palette.text.primary,fontWeight:500,children:s}),o(W,{sentimentScore:F,commentCard:!0}),h&&o(u,{sizing:"xs",variation:"subtle",onClick:B,sx:{color:E.custom.palette.text.secondary},children:`at ${h}`})]})]}),e(x,{children:[V&&_?o(j,{message:V,children:o(b,{icon:o(m,{name:"info",color:E.custom.palette.icon.primary}),sizing:"xs",sx:{opacity:$?1:0},onClick:_})}):null,!z&&O?o(b,{variation:H?"default":"toggle",icon:o(m,{name:"translate",color:E.custom.palette.icon.primary}),sizing:"xs",onClick:()=>K(!H),sx:{opacity:$?1:0,backgroundColor:"red"}}):null,!!R&&o(b,{loading:I,sizing:"xs",icon:o(m,M?{name:"star-filled",color:E.custom.palette.yellow[300]}:{name:"star",color:E.custom.palette.icon.primary}),onClick:e=>{e.stopPropagation(),R?.()},sx:{opacity:M||$?1:0}}),T&&T.length>0&&o(C,{...A&&{state:A},state:J,trigger:o(b,{sizing:"xs",icon:o(m,{name:"more-vertical",color:E.custom.palette.icon.primary}),onClick:()=>P?.(),sx:{opacity:$?1:0}}),menuItems:T,width:128,offset:[0,-8],placement:"bottom-end",slotProps:{...N?.menu}})]})]}),o(r,{sx:{alignItems:"start",display:"flex",gap:E.spacing(E.custom.padding.sm),justifyContent:"space-between"},children:e(i,{sx:{alignItems:"start",gap:E.spacing(E.custom.padding.xs),pl:E.spacing(4),pr:E.spacing(3)},children:[o(c,{component:"p",variation:"sm",color:E.custom.palette.text.primary,className:"message",children:!O||H?G:O}),z?o(c,{component:"p",variation:"xs",color:E.custom.palette.text.disabled,children:z}):null]})})]})});export{S as default,f as getAuthorAvatarColor};
1
+ import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useTheme as t,Box as r,Stack as i}from"@mui/material";import{usePopupState as a}from"material-ui-popup-state/hooks";import{forwardRef as s,useState as n,useEffect as p}from"react";import{isButton as l}from"../../../utils/isButton.js";import"../../BrandCore/colorRamps.js";import"../../BrandCore/primitiveVariables.js";import"../../BrandCore/semanticColor.js";import"../../BrandCore/types.js";import"../../BrandCore/typography.js";import m from"../../BrandCore/Icon/Icon.js";import"../../../utils/formValidation/misc.js";import"../../WebCore/utils/typography.util.js";import"../../WebCore/AnnualController/AnnualController.js";import"../../WebCore/Accordion/Accordion.js";import c from"../../WebCore/Typography/Typography.js";import d from"../../WebCore/Avatar/Avatar.js";import"../../WebCore/Badge/Badge.js";import"merge-sx";import"../../WebCore/Breadcrumb/Breadcrumb.js";import u from"../../WebCore/Button/Button.js";import"../../WebCore/ButtonBase/ButtonBase.js";import"../../WebCore/Checkbox/StyledCheckbox.js";import"../../WebCore/InputFieldBase/InputFieldBase.js";import"../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js";import"@mui/icons-material";import"../../WebCore/InputLabelBase/StyledInputLabelBase.js";import"../../WebCore/Differential/DifferentialContainer.js";import"../../WebCore/Differential/DifferentialRadio.js";import"../../WebCore/DropdownMenu/StyledMenu.js";import"../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js";import"../../WebCore/FormGenerator/FormGenerator.js";import"../../WebCore/GridOverlay/GridOverlay.js";import"html-react-parser";import b from"../../WebCore/IconButton/IconButton.js";import"../../WebCore/IconButtonBase/IconButtonBase.js";import"../../WebCore/IconButtonGroup/IconButtonGroup.js";import"../../WebCore/Image/Image.js";import"../../WebCore/KeyValueLabel/KeyValueLabel.js";import"../../WebCore/Label/Label.js";import"../../WebCore/Likert/LikertContainer.js";import"../../WebCore/Likert/LikertLabel.js";import"../../WebCore/Likert/LikertRadio.js";import"../../WebCore/Link/StyledLink.js";import"@lottiefiles/dotlottie-react";import"../../WebCore/LoopsAiButton/LoopsAiButton.js";import"markdown-to-jsx";import C from"../../WebCore/Menu/Menu.js";import"../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js";import"../../WebCore/ModalLayout/_partials/ModalContentWrapper.js";import"../../WebCore/Surface/Surface.js";import"../../WebCore/NavigationButton/NavigationButton.js";import"../../WebCore/Nudge/NudgeButton.js";import"../../WebCore/NumberField/NumberField.js";import"../../WebCore/Progress/Progress.js";import j from"../../WebCore/Tooltip/Tooltip.js";import"../../WebCore/Pill/StyledPill.js";import"../../WebCore/ProgressBar/ProgressBar.js";import"../../WebCore/Radio/StyledRadio.js";import"../../WebCore/utils/autocomplete.styles.js";import"../../WebCore/Select/AutocompleteListbox.js";import"../../WebCore/Select/StyledAutocomplete.js";import"../../WebCore/Select/SelectItem.js";import"../../WebCore/Select/StyledSelect.js";import"../../WebCore/RankItem/RankItemContainer.js";import"../../WebCore/RankItem/RankItemLabel.js";import"../../WebCore/SortableList/SortableList.js";import"../../WebCore/SortableList/components/SortableItem/SortableItem.js";import"../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js";import"@tiptap/extension-placeholder";import"@tiptap/starter-kit";import"mui-tiptap";import"../../WebCore/RichTextField/StyledRichTextEditor.js";import"../../WebCore/Skeleton/Skeleton.js";import"../../WebCore/Slider/StyledSlider.js";import"../../WebCore/StarRating/StarRating.js";import"../../WebCore/Switch/StyledSwitch.js";import"../../WebCore/Textarea/Textarea.js";import"../../WebCore/TrialCard/TrialCardContainers.js";import"../../WebCore/TrialCard/TrialPill.js";import"../../WebCore/UserMenu/UserMenuButton.js";import"../../WebCore/VideoModal/VideoModal.js";import"../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js";import"../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js";import"../../WebCore/ButtonTabGroup/_partials/TabButton.js";import g from"../ClipboardCopyingOverlay/ClipboardCopyingOverlay.js";import W from"../SentimentArrow/SentimentArrow.js";import{CommentCardContainer as y,CommentActions as x}from"./_partials/Containers.js";const f=(e,o)=>{if(!o)return e.custom.palette.neutral[200];return`hsl(${(e=>{let o=0;for(let t=0;t<e.length;t++)o=e.charCodeAt(t)+((o<<5)-o);return Math.abs(o)%360})(o)}, 100%, 75%)`},S=s(({author:s,authorId:S,timeStamp:h,onTimeStampClick:B,copyLoading:k,favouriteLoading:I,isActive:v,isHovered:L,isStarred:M,moreMenuItems:T,moreMenuState:A,onClick:w,onFavouritePress:R,onMorePress:P,original:G,sentimentScore:F,translation:O,translationError:z,slotProps:N,demographicString:V,onClickSeeMore:_},D)=>{const E=t(),[H,K]=n(!O),U=matchMedia("(hover: none)").matches,[$,q]=n(L||U),J=a({variant:"popper"});return p(()=>{J.close()},[$]),e(y,{ref:D,onMouseOver:()=>q(!0),onMouseOut:()=>q(!1),isActive:v,isHovered:L,onClick:e=>{l(e.target)||w?.()},children:[k&&o(g,{}),e(r,{sx:{alignItems:"start",display:"flex",gap:E.spacing(E.custom.padding.md),justifyContent:"space-between"},children:[s&&e(r,{sx:{alignItems:"flex-start",display:"flex",gap:E.spacing(E.custom.padding.sm)},children:[o(d,{sizing:"xs",sx:{backgroundColor:f(E,S??s),color:E.custom.palette.text.primary},children:o(c,{component:"p",weight:"bold",sx:{lineHeight:1,fontSize:"16px",position:"relative",top:"-1px"},children:s?.substring(0,1)})}),e(r,{sx:{alignItems:"center",display:"flex",flexWrap:"wrap",columnGap:E.spacing(E.custom.padding.sm),rowGap:E.spacing(E.custom.padding.xs)},children:[o(c,{component:"p",variation:"xs",color:E.custom.palette.text.primary,fontWeight:500,children:s}),o(W,{sentimentScore:F,commentCard:!0}),h&&o(u,{sizing:"xs",variation:"subtle",onClick:B,sx:{color:E.custom.palette.text.secondary},children:`at ${h}`})]})]}),e(x,{children:[V&&_?o(j,{message:V,children:o(b,{icon:o(m,{name:"info",color:E.custom.palette.icon.primary}),sizing:"xs",sx:{opacity:$?1:0},onClick:_})}):null,!z&&O?o(b,{variation:H?"default":"toggle",icon:o(m,{name:"translate",color:E.custom.palette.icon.primary}),sizing:"xs",onClick:()=>K(!H),sx:{opacity:$?1:0,backgroundColor:"red"}}):null,!!R&&o(b,{loading:I,sizing:"xs",icon:o(m,M?{name:"star-filled",color:E.custom.palette.yellow[300]}:{name:"star",color:E.custom.palette.icon.primary}),onClick:e=>{e.stopPropagation(),R?.()},sx:{opacity:M||$?1:0}}),T&&T.length>0&&o(C,{...A&&{state:A},state:J,trigger:o(b,{sizing:"xs",icon:o(m,{name:"more-vertical",color:E.custom.palette.icon.primary}),onClick:()=>P?.(),sx:{opacity:$?1:0}}),menuItems:T,width:128,offset:[0,-8],placement:"bottom-end",slotProps:{...N?.menu}})]})]}),o(r,{sx:{alignItems:"start",display:"flex",gap:E.spacing(E.custom.padding.sm),justifyContent:"space-between"},children:e(i,{sx:{alignItems:"start",gap:E.spacing(E.custom.padding.xs),pl:E.spacing(4),pr:E.spacing(3)},children:[o(c,{component:"p",variation:"sm",color:E.custom.palette.text.primary,className:"message",children:!O||H?G:O}),z?o(c,{component:"p",variation:"xs",color:E.custom.palette.text.disabled,children:z}):null]})})]})});export{S as default,f as getAuthorAvatarColor};
@@ -1,7 +1,8 @@
1
1
  import * as react from 'react';
2
+ import { Theme } from '@mui/material';
2
3
  import { CommentCardProps } from './types.js';
3
4
 
4
- declare const getAuthorAvatarColor: (authorId: string | undefined) => string;
5
+ declare const getAuthorAvatarColor: (theme: Theme, authorId: string | undefined) => string;
5
6
  declare const CommentCard: react.ForwardRefExoticComponent<CommentCardProps & react.RefAttributes<HTMLDivElement>>;
6
7
 
7
8
  export { CommentCard as default, getAuthorAvatarColor };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("material-ui-popup-state/hooks"),o=require("react"),i=require("../../../utils/isButton.js");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var a=require("../../BrandCore/Icon/Icon.js");require("../../../utils/formValidation/misc.js"),require("../../WebCore/utils/typography.util.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js");var s=require("../../WebCore/Typography/Typography.js"),n=require("../../WebCore/Avatar/Avatar.js");require("../../WebCore/Badge/Badge.js"),require("merge-sx"),require("../../WebCore/Breadcrumb/Breadcrumb.js");var l=require("../../WebCore/Button/Button.js");require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("@mui/icons-material"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js"),require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser");var u=require("../../WebCore/IconButton/IconButton.js");require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx");var c=require("../../WebCore/Menu/Menu.js");require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/Surface/Surface.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../WebCore/Progress/Progress.js");var p=require("../../WebCore/Tooltip/Tooltip.js");require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/utils/autocomplete.styles.js"),require("../../WebCore/Select/AutocompleteListbox.js"),require("../../WebCore/Select/StyledAutocomplete.js"),require("../../WebCore/Select/SelectItem.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/RankItemContainer.js"),require("../../WebCore/RankItem/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js"),require("../../WebCore/Skeleton/Skeleton.js"),require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js");var d=require("../ClipboardCopyingOverlay/ClipboardCopyingOverlay.js"),m=require("../SentimentArrow/SentimentArrow.js"),C=require("./_partials/Containers.js");const b=e=>{const t=r.useTheme();if(!e)return t.custom.palette.neutral[200];return`hsl(${(e=>{let r=0;for(let t=0;t<e.length;t++)r=e.charCodeAt(t)+((r<<5)-r);return Math.abs(r)%360})(e)}, 100%, 75%)`},j=o.forwardRef(({author:j,authorId:q,timeStamp:x,onTimeStampClick:g,copyLoading:W,favouriteLoading:y,isActive:S,isHovered:h,isStarred:B,moreMenuItems:f,moreMenuState:v,onClick:k,onFavouritePress:I,onMorePress:L,original:A,sentimentScore:T,translation:M,translationError:w,slotProps:P,demographicString:R,onClickSeeMore:G},O)=>{const F=r.useTheme(),[_,z]=o.useState(!M),N=matchMedia("(hover: none)").matches,[V,D]=o.useState(h||N),E=t.usePopupState({variant:"popper"});return o.useEffect(()=>{E.close()},[V]),e.jsxs(C.CommentCardContainer,{ref:O,onMouseOver:()=>D(!0),onMouseOut:()=>D(!1),isActive:S,isHovered:h,onClick:e=>{i.isButton(e.target)||k?.()},children:[W&&e.jsx(d,{}),e.jsxs(r.Box,{sx:{alignItems:"start",display:"flex",gap:F.spacing(F.custom.padding.md),justifyContent:"space-between"},children:[j&&e.jsxs(r.Box,{sx:{alignItems:"flex-start",display:"flex",gap:F.spacing(F.custom.padding.sm)},children:[e.jsx(n,{sizing:"xs",sx:{backgroundColor:b(q??j),color:F.custom.palette.text.primary},children:e.jsx(s,{component:"p",weight:"bold",sx:{lineHeight:1,fontSize:"16px",position:"relative",top:"-1px"},children:j?.substring(0,1)})}),e.jsxs(r.Box,{sx:{alignItems:"center",display:"flex",flexWrap:"wrap",columnGap:F.spacing(F.custom.padding.sm),rowGap:F.spacing(F.custom.padding.xs)},children:[e.jsx(s,{component:"p",variation:"xs",color:F.custom.palette.text.primary,fontWeight:500,children:j}),e.jsx(m,{sentimentScore:T,commentCard:!0}),x&&e.jsx(l,{sizing:"xs",variation:"subtle",onClick:g,sx:{color:F.custom.palette.text.secondary},children:`at ${x}`})]})]}),e.jsxs(C.CommentActions,{children:[R&&G?e.jsx(p,{message:R,children:e.jsx(u,{icon:e.jsx(a.default,{name:"info",color:F.custom.palette.icon.primary}),sizing:"xs",sx:{opacity:V?1:0},onClick:G})}):null,!w&&M?e.jsx(u,{variation:_?"default":"toggle",icon:e.jsx(a.default,{name:"translate",color:F.custom.palette.icon.primary}),sizing:"xs",onClick:()=>z(!_),sx:{opacity:V?1:0,backgroundColor:"red"}}):null,!!I&&e.jsx(u,{loading:y,sizing:"xs",icon:B?e.jsx(a.default,{name:"star-filled",color:F.custom.palette.yellow[300]}):e.jsx(a.default,{name:"star",color:F.custom.palette.icon.primary}),onClick:e=>{e.stopPropagation(),I?.()},sx:{opacity:B||V?1:0}}),f&&f.length>0&&e.jsx(c.default,{...v&&{state:v},state:E,trigger:e.jsx(u,{sizing:"xs",icon:e.jsx(a.default,{name:"more-vertical",color:F.custom.palette.icon.primary}),onClick:()=>L?.(),sx:{opacity:V?1:0}}),menuItems:f,width:128,offset:[0,-8],placement:"bottom-end",slotProps:{...P?.menu}})]})]}),e.jsx(r.Box,{sx:{alignItems:"start",display:"flex",gap:F.spacing(F.custom.padding.sm),justifyContent:"space-between"},children:e.jsxs(r.Stack,{sx:{alignItems:"start",gap:F.spacing(F.custom.padding.xs),pl:F.spacing(4),pr:F.spacing(3)},children:[e.jsx(s,{component:"p",variation:"sm",color:F.custom.palette.text.primary,className:"message",children:!M||_?A:M}),w?e.jsx(s,{component:"p",variation:"xs",color:F.custom.palette.text.disabled,children:w}):null]})})]})});exports.default=j,exports.getAuthorAvatarColor=b;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("@mui/material"),t=require("material-ui-popup-state/hooks"),o=require("react"),i=require("../../../utils/isButton.js");require("../../BrandCore/colorRamps.js"),require("../../BrandCore/primitiveVariables.js"),require("../../BrandCore/semanticColor.js"),require("../../BrandCore/types.js"),require("../../BrandCore/typography.js");var a=require("../../BrandCore/Icon/Icon.js");require("../../../utils/formValidation/misc.js"),require("../../WebCore/utils/typography.util.js"),require("../../WebCore/AnnualController/AnnualController.js"),require("../../WebCore/Accordion/Accordion.js");var s=require("../../WebCore/Typography/Typography.js"),n=require("../../WebCore/Avatar/Avatar.js");require("../../WebCore/Badge/Badge.js"),require("merge-sx"),require("../../WebCore/Breadcrumb/Breadcrumb.js");var l=require("../../WebCore/Button/Button.js");require("../../WebCore/ButtonBase/ButtonBase.js"),require("../../WebCore/Checkbox/StyledCheckbox.js"),require("../../WebCore/InputFieldBase/InputFieldBase.js"),require("../../WebCore/CreatableAutocomplete/CreatableAutocomplete.js"),require("@mui/icons-material"),require("../../WebCore/InputLabelBase/StyledInputLabelBase.js"),require("../../WebCore/Differential/DifferentialContainer.js"),require("../../WebCore/Differential/DifferentialRadio.js"),require("../../WebCore/DropdownMenu/StyledMenu.js"),require("../../WebCore/ExpandableTypographyClamp/ExpandableTypographyClamp.js"),require("../../WebCore/FormGenerator/FormGenerator.js"),require("../../WebCore/GridOverlay/GridOverlay.js"),require("html-react-parser");var u=require("../../WebCore/IconButton/IconButton.js");require("../../WebCore/IconButtonBase/IconButtonBase.js"),require("../../WebCore/IconButtonGroup/IconButtonGroup.js"),require("../../WebCore/Image/Image.js"),require("../../WebCore/KeyValueLabel/KeyValueLabel.js"),require("../../WebCore/Label/Label.js"),require("../../WebCore/Likert/LikertContainer.js"),require("../../WebCore/Likert/LikertLabel.js"),require("../../WebCore/Likert/LikertRadio.js"),require("../../WebCore/Link/StyledLink.js"),require("@lottiefiles/dotlottie-react"),require("../../WebCore/LoopsAiButton/LoopsAiButton.js"),require("markdown-to-jsx");var c=require("../../WebCore/Menu/Menu.js");require("../../WebCore/ModalLayout/_partials/ModalActionsWrapper.js"),require("../../WebCore/ModalLayout/_partials/ModalContentWrapper.js"),require("../../WebCore/Surface/Surface.js"),require("../../WebCore/NavigationButton/NavigationButton.js"),require("../../WebCore/Nudge/NudgeButton.js"),require("../../WebCore/NumberField/NumberField.js"),require("../../WebCore/Progress/Progress.js");var p=require("../../WebCore/Tooltip/Tooltip.js");require("../../WebCore/Pill/StyledPill.js"),require("../../WebCore/ProgressBar/ProgressBar.js"),require("../../WebCore/Radio/StyledRadio.js"),require("../../WebCore/utils/autocomplete.styles.js"),require("../../WebCore/Select/AutocompleteListbox.js"),require("../../WebCore/Select/StyledAutocomplete.js"),require("../../WebCore/Select/SelectItem.js"),require("../../WebCore/Select/StyledSelect.js"),require("../../WebCore/RankItem/RankItemContainer.js"),require("../../WebCore/RankItem/RankItemLabel.js"),require("../../WebCore/SortableList/SortableList.js"),require("../../WebCore/SortableList/components/SortableItem/SortableItem.js"),require("../../WebCore/SortableList/components/SortableOverlay/SortableOverlay.js"),require("@tiptap/extension-placeholder"),require("@tiptap/starter-kit"),require("mui-tiptap"),require("../../WebCore/RichTextField/StyledRichTextEditor.js"),require("../../WebCore/Skeleton/Skeleton.js"),require("../../WebCore/Slider/StyledSlider.js"),require("../../WebCore/StarRating/StarRating.js"),require("../../WebCore/Switch/StyledSwitch.js"),require("../../WebCore/Textarea/Textarea.js"),require("../../WebCore/TrialCard/TrialCardContainers.js"),require("../../WebCore/TrialCard/TrialPill.js"),require("../../WebCore/UserMenu/UserMenuButton.js"),require("../../WebCore/VideoModal/VideoModal.js"),require("../../WebCore/ButtonTabGroup/_partials/ActiveIndicator.js"),require("../../WebCore/ButtonTabGroup/_partials/ButtonTabsWrapper.js"),require("../../WebCore/ButtonTabGroup/_partials/TabButton.js");var d=require("../ClipboardCopyingOverlay/ClipboardCopyingOverlay.js"),m=require("../SentimentArrow/SentimentArrow.js"),C=require("./_partials/Containers.js");const b=(e,r)=>{if(!r)return e.custom.palette.neutral[200];return`hsl(${(e=>{let r=0;for(let t=0;t<e.length;t++)r=e.charCodeAt(t)+((r<<5)-r);return Math.abs(r)%360})(r)}, 100%, 75%)`},j=o.forwardRef(({author:j,authorId:q,timeStamp:x,onTimeStampClick:g,copyLoading:W,favouriteLoading:y,isActive:S,isHovered:B,isStarred:h,moreMenuItems:f,moreMenuState:v,onClick:k,onFavouritePress:I,onMorePress:L,original:A,sentimentScore:M,translation:T,translationError:w,slotProps:P,demographicString:R,onClickSeeMore:G},O)=>{const F=r.useTheme(),[_,z]=o.useState(!T),N=matchMedia("(hover: none)").matches,[V,D]=o.useState(B||N),E=t.usePopupState({variant:"popper"});return o.useEffect(()=>{E.close()},[V]),e.jsxs(C.CommentCardContainer,{ref:O,onMouseOver:()=>D(!0),onMouseOut:()=>D(!1),isActive:S,isHovered:B,onClick:e=>{i.isButton(e.target)||k?.()},children:[W&&e.jsx(d,{}),e.jsxs(r.Box,{sx:{alignItems:"start",display:"flex",gap:F.spacing(F.custom.padding.md),justifyContent:"space-between"},children:[j&&e.jsxs(r.Box,{sx:{alignItems:"flex-start",display:"flex",gap:F.spacing(F.custom.padding.sm)},children:[e.jsx(n,{sizing:"xs",sx:{backgroundColor:b(F,q??j),color:F.custom.palette.text.primary},children:e.jsx(s,{component:"p",weight:"bold",sx:{lineHeight:1,fontSize:"16px",position:"relative",top:"-1px"},children:j?.substring(0,1)})}),e.jsxs(r.Box,{sx:{alignItems:"center",display:"flex",flexWrap:"wrap",columnGap:F.spacing(F.custom.padding.sm),rowGap:F.spacing(F.custom.padding.xs)},children:[e.jsx(s,{component:"p",variation:"xs",color:F.custom.palette.text.primary,fontWeight:500,children:j}),e.jsx(m,{sentimentScore:M,commentCard:!0}),x&&e.jsx(l,{sizing:"xs",variation:"subtle",onClick:g,sx:{color:F.custom.palette.text.secondary},children:`at ${x}`})]})]}),e.jsxs(C.CommentActions,{children:[R&&G?e.jsx(p,{message:R,children:e.jsx(u,{icon:e.jsx(a.default,{name:"info",color:F.custom.palette.icon.primary}),sizing:"xs",sx:{opacity:V?1:0},onClick:G})}):null,!w&&T?e.jsx(u,{variation:_?"default":"toggle",icon:e.jsx(a.default,{name:"translate",color:F.custom.palette.icon.primary}),sizing:"xs",onClick:()=>z(!_),sx:{opacity:V?1:0,backgroundColor:"red"}}):null,!!I&&e.jsx(u,{loading:y,sizing:"xs",icon:h?e.jsx(a.default,{name:"star-filled",color:F.custom.palette.yellow[300]}):e.jsx(a.default,{name:"star",color:F.custom.palette.icon.primary}),onClick:e=>{e.stopPropagation(),I?.()},sx:{opacity:h||V?1:0}}),f&&f.length>0&&e.jsx(c.default,{...v&&{state:v},state:E,trigger:e.jsx(u,{sizing:"xs",icon:e.jsx(a.default,{name:"more-vertical",color:F.custom.palette.icon.primary}),onClick:()=>L?.(),sx:{opacity:V?1:0}}),menuItems:f,width:128,offset:[0,-8],placement:"bottom-end",slotProps:{...P?.menu}})]})]}),e.jsx(r.Box,{sx:{alignItems:"start",display:"flex",gap:F.spacing(F.custom.padding.sm),justifyContent:"space-between"},children:e.jsxs(r.Stack,{sx:{alignItems:"start",gap:F.spacing(F.custom.padding.xs),pl:F.spacing(4),pr:F.spacing(3)},children:[e.jsx(s,{component:"p",variation:"sm",color:F.custom.palette.text.primary,className:"message",children:!T||_?A:T}),w?e.jsx(s,{component:"p",variation:"xs",color:F.custom.palette.text.disabled,children:w}):null]})})]})});exports.default=j,exports.getAuthorAvatarColor=b;
@@ -12,7 +12,7 @@ declare const SliderGraphWrapper: _emotion_styled.StyledComponent<_mui_system.Bo
12
12
  } & {
13
13
  responsive?: boolean;
14
14
  }, {}, {}>;
15
- declare const VeticalBarWrapper: _emotion_styled.StyledComponent<_mui_material.ListItemButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "sx" | "alignItems" | "className" | "style" | "classes" | "children" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "dense" | "divider" | "selected"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & {
15
+ declare const VeticalBarWrapper: _emotion_styled.StyledComponent<_mui_material.ListItemButtonOwnProps & Omit<_mui_material.ButtonBaseOwnProps, "classes"> & _mui_material_OverridableComponent.CommonProps & Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "alignItems" | "className" | "style" | "classes" | "children" | "sx" | "autoFocus" | "tabIndex" | "disableGutters" | "action" | "centerRipple" | "disabled" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "onFocusVisible" | "TouchRippleProps" | "touchRippleRef" | "dense" | "divider" | "selected"> & _mui_system.MUIStyledCommonProps<_mui_material.Theme> & {
16
16
  component?: React.ElementType;
17
17
  } & {
18
18
  maxHeight: number;
@@ -14,7 +14,7 @@ interface TypographyProps extends Omit<TypographyProps$1, 'ref'> {
14
14
  textColor?: string;
15
15
  ai?: boolean;
16
16
  }
17
- declare const Typography: react.ForwardRefExoticComponent<TypographyProps & react.RefAttributes<HTMLParagraphElement | HTMLHeadingElement>>;
17
+ declare const Typography: react.ForwardRefExoticComponent<TypographyProps & react.RefAttributes<HTMLHeadingElement | HTMLParagraphElement>>;
18
18
 
19
19
  export { Typography as default };
20
20
  export type { TypographyProps };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@useloops/design-system",
3
- "version": "1.4.626",
3
+ "version": "1.4.629",
4
4
  "description": "The official React based Loops design system",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",