Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,5 @@ dev-editor
*.rdb.gz

storybook-static

CLAUDE.md
4 changes: 4 additions & 0 deletions packages/propel/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,10 @@
"import": "./dist/emoji-reaction/index.mjs",
"require": "./dist/emoji-reaction/index.js"
},
"./empty-state": {
"import": "./dist/empty-state/index.mjs",
"require": "./dist/empty-state/index.js"
},
"./icons": {
"import": "./dist/icons/index.mjs",
"require": "./dist/icons/index.js"
Expand Down
15 changes: 15 additions & 0 deletions packages/propel/src/empty-state/assets/helper.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
export const ILLUSTRATION_COLOR_TOKEN_MAP = {
fill: {
primary: "rgba(var(--color-background-100))", // white or #fff,
secondary: "rgba(var(--color-background-90))", // #F4F5F5
tertiary: "rgba(var(--color-background-80))", // #E5E7E8
},
stroke: {
primary: "rgba(var(--color-text-200))", // #1D1F20
secondary: "rgba(var(--color-border-400))", // #7A8185 or #CFD2D3
},
};

export type TIllustrationAssetProps = {
className?: string;
};
100 changes: 100 additions & 0 deletions packages/propel/src/empty-state/assets/horizontal-stack/constant.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import {
CustomerHorizontalStackIllustration,
EpicHorizontalStackIllustration,
EstimateHorizontalStackIllustration,
ExportHorizontalStackIllustration,
IntakeHorizontalStackIllustration,
LabelHorizontalStackIllustration,
LinkHorizontalStackIllustration,
MembersHorizontalStackIllustration,
NoteHorizontalStackIllustration,
PriorityHorizontalStackIllustration,
SettingsHorizontalStackIllustration,
StateHorizontalStackIllustration,
TemplateHorizontalStackIllustration,
TokenHorizontalStackIllustration,
UnknownHorizontalStackIllustration,
UpdateHorizontalStackIllustration,
WebhookHorizontalStackIllustration,
WorkItemHorizontalStackIllustration,
WorklogHorizontalStackIllustration,
} from "./";

export const HorizontalStackAssetsMap = [
{
asset: <CustomerHorizontalStackIllustration className="w-20 h-20" />,
title: "Customer",
},
{
asset: <EpicHorizontalStackIllustration className="w-20 h-20" />,
title: "Epic",
},
{
asset: <EstimateHorizontalStackIllustration className="w-20 h-20" />,
title: "Estimate",
},
{
asset: <ExportHorizontalStackIllustration className="w-20 h-20" />,
title: "Export",
},
{
asset: <IntakeHorizontalStackIllustration className="w-20 h-20" />,
title: "Intake",
},
{
asset: <LabelHorizontalStackIllustration className="w-20 h-20" />,
title: "Label",
},
{
asset: <LinkHorizontalStackIllustration className="w-20 h-20" />,
title: "Link",
},
{
asset: <MembersHorizontalStackIllustration className="w-20 h-20" />,
title: "Members",
},
{
asset: <NoteHorizontalStackIllustration className="w-20 h-20" />,
title: "Note",
},
{
asset: <PriorityHorizontalStackIllustration className="w-20 h-20" />,
title: "Priority",
},
{
asset: <SettingsHorizontalStackIllustration className="w-20 h-20" />,
title: "Settings",
},
{
asset: <StateHorizontalStackIllustration className="w-20 h-20" />,
title: "State",
},
{
asset: <TemplateHorizontalStackIllustration className="w-20 h-20" />,
title: "Template",
},
{
asset: <TokenHorizontalStackIllustration className="w-20 h-20" />,
title: "Token",
},
{
asset: <UnknownHorizontalStackIllustration className="w-20 h-20" />,
title: "Unknown",
},
{
asset: <UpdateHorizontalStackIllustration className="w-20 h-20" />,
title: "Update",
},
{
asset: <WebhookHorizontalStackIllustration className="w-20 h-20" />,
title: "Webhook",
},
{
asset: <WorkItemHorizontalStackIllustration className="w-20 h-20" />,
title: "WorkItem",
},
{
asset: <WorklogHorizontalStackIllustration className="w-20 h-20" />,
title: "Worklog",
},
];
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
import { type TIllustrationAssetProps, ILLUSTRATION_COLOR_TOKEN_MAP } from "../helper";

export const CustomerHorizontalStackIllustration = ({ className }: TIllustrationAssetProps) => (
<svg width="81" height="91" viewBox="0 0 81 91" fill="none" xmlns="http://www.w3.org/2000/svg" className={className}>
<g opacity="0.2">
<path
d="M47.8782 2.57309C46.9628 2.10751 45.787 2.14718 44.5087 2.79426L9.267 20.7542C6.37097 22.2299 4.0195 26.2861 4.0195 29.8055V72.6934C4.0195 74.6583 4.74547 76.0394 5.88968 76.6313L2.37019 74.84C1.22598 74.256 0.5 72.867 0.5 70.9021V28.0142C0.5 24.4869 2.85157 20.4386 5.7476 18.9629L40.9893 1.00296C42.2755 0.347996 43.4513 0.316215 44.3588 0.781791L47.8782 2.57309Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M47.878 2.57281C49.0222 3.15675 49.7482 4.54577 49.7482 6.51066V49.3986C49.7482 52.9259 47.3966 56.9742 44.5006 58.4498L9.25889 76.4102C7.97264 77.0652 6.79695 77.0966 5.88947 76.631C4.74526 76.0471 4.01929 74.658 4.01929 72.6931V29.8052C4.01929 26.2779 6.37076 22.2296 9.26679 20.754L44.5085 2.79397C45.7947 2.13901 46.9705 2.10723 47.878 2.57281Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</g>
<g opacity="0.6">
<path
d="M63.2578 9.36801C62.3425 8.90244 61.1667 8.94211 59.8883 9.58918L24.6466 27.5492C21.7506 29.0248 19.3991 33.081 19.3991 36.6004V79.4887C19.3991 81.4536 20.1251 82.8344 21.2693 83.4262L17.7498 81.6349C16.6056 81.0509 15.8796 79.6623 15.8796 77.6974V34.8091C15.8796 31.2818 18.2312 27.2335 21.1272 25.7579L56.3689 7.79788C57.6552 7.14292 58.8309 7.11114 59.7384 7.57671L63.2578 9.36801Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M63.2584 9.36578C64.4026 9.94972 65.1285 11.3387 65.1285 13.3036V56.1919C65.1285 59.7192 62.777 63.7672 59.8809 65.2428L24.6394 83.2032C23.3531 83.8581 22.1773 83.8895 21.2698 83.424C20.1256 82.84 19.3997 81.4514 19.3997 79.4865V36.5982C19.3997 33.0709 21.7511 29.0226 24.6472 27.5469L59.8888 9.58694C61.1751 8.93198 62.3509 8.9002 63.2584 9.36578Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</g>
<path
d="M78.6299 16.1631C77.7145 15.6975 76.5387 15.7368 75.2604 16.3839L40.0188 34.3442C37.1228 35.8199 34.7712 39.8757 34.7712 43.3951V86.2834C34.7712 88.2483 35.4972 89.6294 36.6414 90.2213L33.122 88.43C31.9778 87.846 31.2517 86.457 31.2517 84.4921V41.6038C31.2517 38.0765 33.6033 34.0286 36.4993 32.5529L71.741 14.5926C73.0272 13.9376 74.203 13.9062 75.1105 14.3718L78.6299 16.1631Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M78.6299 16.1609C79.7741 16.7448 80.5001 18.1334 80.5001 20.0983V62.9866C80.5001 66.5139 78.1486 70.5622 75.2525 72.0379L40.0109 89.9979C38.7247 90.6528 37.5489 90.6846 36.6414 90.219C35.4972 89.6351 34.7712 88.2461 34.7712 86.2812V43.3929C34.7712 39.8656 37.1228 35.8177 40.0188 34.342L75.2604 16.3816C76.5467 15.7267 77.7225 15.6953 78.6299 16.1609Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
fillRule="evenodd"
clipRule="evenodd"
d="M46.6233 45.5414C46.6233 44.9023 47.0494 44.1683 47.5702 43.9L62.7685 36.1588C63.2893 35.8905 63.7154 36.1904 63.7154 36.8296C63.7154 37.4688 63.2893 38.2027 62.7685 38.471V43.0951L70.3676 39.2205C70.8884 38.9522 71.3145 39.2521 71.3145 39.8913C71.3145 40.5305 70.8884 41.2644 70.3676 41.5327V60.0294L71.3145 59.5482C71.8353 59.2799 72.2615 59.5798 72.2615 60.219C72.2615 60.8582 71.8353 61.5917 71.3145 61.86L46.6154 74.4465C46.0946 74.7148 45.6685 74.4149 45.6685 73.7757C45.6685 73.1365 46.0946 72.4026 46.6154 72.1343L47.5623 71.653V46.22C47.0415 46.4883 46.6154 46.1883 46.6154 45.5492L46.6233 45.5414ZM49.472 45.2417V70.6747L51.3737 69.7041V65.6557C51.3737 64.0617 52.439 62.2233 53.7489 61.5525L56.5977 60.1003C57.9076 59.4296 58.9728 60.1874 58.9728 61.7814V65.8295L60.8746 64.8589V39.4258L49.4799 45.2336L49.472 45.2417ZM62.7764 45.4074V63.9041L68.4738 61V42.5033L62.7764 45.4074ZM57.0712 66.8001V62.752C57.0712 62.4364 56.8581 62.2863 56.5977 62.4126L53.7489 63.8644C53.4885 63.9985 53.2755 64.3695 53.2755 64.6851V68.7332L57.0712 66.8001ZM51.3737 48.9029C51.3737 48.2637 51.7999 47.5298 52.3207 47.2615L53.2676 46.7802C53.7884 46.5119 54.2146 46.8119 54.2146 47.451C54.2146 48.0902 53.7884 48.8242 53.2676 49.0925L52.3207 49.5737C51.7999 49.842 51.3737 49.5421 51.3737 48.9029ZM56.1242 46.4804C56.1242 45.8413 56.5503 45.1073 57.0712 44.839L58.018 44.3578C58.5389 44.0895 58.965 44.3894 58.965 45.0286C58.965 45.6678 58.5389 46.4013 58.018 46.6696L57.0712 47.1513C56.5503 47.4196 56.1242 47.1196 56.1242 46.4804ZM51.3737 53.5273C51.3737 52.8882 51.7999 52.1542 52.3207 51.8859L53.2676 51.4043C53.7884 51.136 54.2146 51.4359 54.2146 52.0751C54.2146 52.7143 53.7884 53.4482 53.2676 53.7165L52.3207 54.1978C51.7999 54.4661 51.3737 54.1665 51.3737 53.5273ZM56.1242 51.1045C56.1242 50.4653 56.5503 49.7314 57.0712 49.4631L58.018 48.9819C58.5389 48.7136 58.965 49.0135 58.965 49.6527C58.965 50.2919 58.5389 51.0258 58.018 51.2941L57.0712 51.7754C56.5503 52.0436 56.1242 51.7437 56.1242 51.1045ZM64.6703 49.0609C64.6703 48.4217 65.0964 47.6877 65.6172 47.4194H65.6251C66.1459 47.1433 66.572 47.4509 66.572 48.0822V48.098C66.572 48.7372 66.1459 49.4711 65.6251 49.7394H65.6172C65.0964 50.0156 64.6703 49.7079 64.6703 49.0767V49.0609ZM51.3737 58.1433C51.3737 57.5042 51.7999 56.7702 52.3207 56.5019L53.2676 56.0207C53.7884 55.7524 54.2146 56.0523 54.2146 56.6915C54.2146 57.3307 53.7884 58.0646 53.2676 58.3329L52.3207 58.8142C51.7999 59.0825 51.3737 58.7825 51.3737 58.1433ZM56.1242 55.7286C56.1242 55.0894 56.5503 54.3559 57.0712 54.0876L58.018 53.606C58.5389 53.3377 58.965 53.6376 58.965 54.2768C58.965 54.916 58.5389 55.6499 58.018 55.9182L57.0712 56.3994C56.5503 56.6677 56.1242 56.3678 56.1242 55.7286ZM64.6703 53.6849C64.6703 53.0458 65.0964 52.3118 65.6172 52.0435H65.6251C66.1459 51.7673 66.572 52.0754 66.572 52.7066V52.7224C66.572 53.3616 66.1459 54.0952 65.6251 54.3635H65.6172C65.0964 54.6397 64.6703 54.332 64.6703 53.7007V53.6849ZM64.6703 58.309C64.6703 57.6698 65.0964 56.9363 65.6172 56.668H65.6251C66.1459 56.3918 66.572 56.6994 66.572 57.3307V57.3465C66.572 57.9857 66.1459 58.7196 65.6251 58.9879H65.6172C65.0964 59.2641 64.6703 58.9561 64.6703 58.3248V58.309Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
/>
</svg>
);
62 changes: 62 additions & 0 deletions packages/propel/src/empty-state/assets/horizontal-stack/epic.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import { type TIllustrationAssetProps, ILLUSTRATION_COLOR_TOKEN_MAP } from "../helper";

export const EpicHorizontalStackIllustration = ({ className }: TIllustrationAssetProps) => (
<svg width="81" height="92" viewBox="0 0 81 92" fill="none" xmlns="http://www.w3.org/2000/svg" className={className}>
<g opacity="0.2">
<path
d="M47.8729 3.07316C46.9576 2.60763 45.782 2.6473 44.5038 3.2943L9.26602 21.2523C6.37031 22.7277 4.01901 26.7835 4.01901 30.3025V73.1855C4.01901 75.1502 4.7449 76.5312 5.88899 77.1229L2.36998 75.3318C1.2259 74.748 0.5 73.3595 0.5 71.3948V28.5114C0.5 24.9845 2.8513 20.9366 5.74701 19.4612L40.9848 1.5032C42.2709 0.848314 43.4464 0.816538 44.3538 1.28206L47.8729 3.07316Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M47.8722 3.07317C49.0163 3.65704 49.7422 5.04591 49.7422 7.01057V49.894C49.7422 53.4209 47.3909 57.4684 44.4952 58.9439L9.25743 76.9022C7.97132 77.5571 6.79566 77.5885 5.88829 77.1229C4.74421 76.5391 4.01831 75.1502 4.01831 73.1855V30.3025C4.01831 26.7756 6.36962 22.7277 9.26533 21.2523L44.5031 3.29431C45.7892 2.63942 46.9648 2.60764 47.8722 3.07317Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</g>
<g opacity="0.6">
<path
d="M63.2511 9.86669C62.3358 9.40117 61.1602 9.44084 59.8819 10.0878L24.6442 28.0458C21.7485 29.5213 19.3972 33.577 19.3972 37.096V79.9795C19.3972 81.9441 20.1231 83.3247 21.2672 83.9165L17.7482 82.1254C16.6041 81.5415 15.8782 80.153 15.8782 78.1884V35.3049C15.8782 31.778 18.2295 27.7302 21.1252 26.2547L56.3629 8.29674C57.649 7.64185 58.8246 7.61046 59.732 8.07598L63.2511 9.86669Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M63.2519 9.86653C64.3959 10.4504 65.1218 11.8393 65.1218 13.8039V56.6874C65.1218 60.2143 62.7705 64.2617 59.8748 65.7372L24.6371 83.6956C23.351 84.3504 22.1753 84.3818 21.2679 83.9163C20.1238 83.3324 19.3979 81.944 19.3979 79.9793V37.0959C19.3979 33.569 21.7493 29.5211 24.645 28.0456L59.8827 10.0877C61.1688 9.43279 62.3445 9.40101 63.2519 9.86653Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
</g>
<path
d="M78.6293 16.668C77.714 16.2025 76.5383 16.2421 75.2601 16.8891L40.0224 34.8471C37.1267 36.3225 34.7755 40.3783 34.7755 43.8973V86.7807C34.7755 88.7454 35.5013 90.126 36.6454 90.7178L33.1263 88.9267C31.9822 88.3428 31.2563 86.9543 31.2563 84.9896V42.1062C31.2563 38.5793 33.6077 34.5314 36.5034 33.056L71.7411 15.098C73.0272 14.4431 74.2029 14.4114 75.1102 14.8769L78.6293 16.668Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.secondary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M78.6299 16.668C79.774 17.2519 80.4999 18.6407 80.4999 20.6054V63.4888C80.4999 67.0157 78.1486 71.0632 75.2529 72.5387L40.0151 90.497C38.729 91.1519 37.5535 91.1833 36.6461 90.7178C35.502 90.1339 34.7761 88.7454 34.7761 86.7807V43.8973C34.7761 40.3704 37.1273 36.3225 40.023 34.8471L75.2608 16.8891C76.5469 16.2342 77.7225 16.2025 78.6299 16.668Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.fill.primary}
stroke={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
strokeWidth="0.5"
strokeLinecap="round"
strokeLinejoin="round"
/>
<path
d="M73.7365 51.6298V55.4643C73.7365 55.8589 73.6103 56.2928 73.4051 56.6795C73.1842 57.0661 72.9001 57.3741 72.5924 57.524L47.4226 70.3533C46.7914 70.6768 46.2786 70.2743 46.2786 69.4537V63.3469L53.9084 46.7774C54.3345 46.0042 54.8315 45.3175 55.4391 45.0098C56.0466 44.7021 56.5359 44.8836 56.962 45.2229L63.5582 54.6044L66.4065 50.0441C66.8326 49.2708 67.4164 48.663 68.024 48.3473C68.6315 48.0317 69.2154 48.0555 69.6336 48.3947L73.7365 51.6221V51.6298Z"
fill={ILLUSTRATION_COLOR_TOKEN_MAP.stroke.secondary}
/>
</svg>
);
Loading
Loading