From 26b2dd3d90d36875b236e3c58726bc952a83a604 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Tue, 2 Sep 2025 18:17:42 +0530
Subject: [PATCH 01/11] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20Skeleton=20comp?=
=?UTF-8?q?onent=20with=20respective=20stories=20in=20propel?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/src/Skeleton/index.ts | 1 +
packages/propel/src/Skeleton/root.tsx | 34 +++++++++++++++++++
.../propel/src/Skeleton/skeleton.stories.tsx | 33 ++++++++++++++++++
3 files changed, 68 insertions(+)
create mode 100644 packages/propel/src/Skeleton/index.ts
create mode 100644 packages/propel/src/Skeleton/root.tsx
create mode 100644 packages/propel/src/Skeleton/skeleton.stories.tsx
diff --git a/packages/propel/src/Skeleton/index.ts b/packages/propel/src/Skeleton/index.ts
new file mode 100644
index 00000000000..50a9c47c01f
--- /dev/null
+++ b/packages/propel/src/Skeleton/index.ts
@@ -0,0 +1 @@
+export * from "./root";
\ No newline at end of file
diff --git a/packages/propel/src/Skeleton/root.tsx b/packages/propel/src/Skeleton/root.tsx
new file mode 100644
index 00000000000..3a1155488f0
--- /dev/null
+++ b/packages/propel/src/Skeleton/root.tsx
@@ -0,0 +1,34 @@
+import React from "react";
+// helpers
+import { cn } from "../utils/classname";
+
+type Props = {
+ children: React.ReactNode;
+ className?: string;
+};
+
+const Skeleton = ({ children, className = "" }: Props) => (
+
+ {children}
+
+);
+
+type ItemProps = {
+ height?: string;
+ width?: string;
+ className?: string;
+};
+
+const Item: React.FC = ({ height = "auto", width = "auto", className = "" }) => (
+
+);
+
+Skeleton.Item = Item;
+
+Skeleton.displayName = "plane-ui-skeleton";
+
+export { Skeleton };
diff --git a/packages/propel/src/Skeleton/skeleton.stories.tsx b/packages/propel/src/Skeleton/skeleton.stories.tsx
new file mode 100644
index 00000000000..262bcd0529b
--- /dev/null
+++ b/packages/propel/src/Skeleton/skeleton.stories.tsx
@@ -0,0 +1,33 @@
+import type { Meta, StoryObj } from "@storybook/react-vite";
+import { Skeleton } from "./index";
+
+const meta: Meta = {
+ title: "Components/Skeleton",
+ component: Skeleton,
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ render: () => (
+
+
+
+ ),
+};
+
+export const Card: Story = {
+ render: () => (
+
+
+
+
+
+
+
+ ),
+};
From 2e564db42af8b7a5987a6178992c1453485d8c83 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Tue, 2 Sep 2025 18:25:56 +0530
Subject: [PATCH 02/11] =?UTF-8?q?=F0=9F=9A=A8=20fix:=20lint=20issues?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/src/Skeleton/index.ts | 2 +-
packages/propel/src/accordion/accordion.tsx | 2 +-
packages/utils/src/string.ts | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/propel/src/Skeleton/index.ts b/packages/propel/src/Skeleton/index.ts
index 50a9c47c01f..1efe34c51ec 100644
--- a/packages/propel/src/Skeleton/index.ts
+++ b/packages/propel/src/Skeleton/index.ts
@@ -1 +1 @@
-export * from "./root";
\ No newline at end of file
+export * from "./root";
diff --git a/packages/propel/src/accordion/accordion.tsx b/packages/propel/src/accordion/accordion.tsx
index 1d99019667b..51d519f4ecd 100644
--- a/packages/propel/src/accordion/accordion.tsx
+++ b/packages/propel/src/accordion/accordion.tsx
@@ -1,6 +1,6 @@
+import * as React from "react";
import { Accordion as BaseAccordion } from "@base-ui-components/react";
import { PlusIcon } from "lucide-react";
-import * as React from "react";
interface AccordionRootProps {
defaultValue?: string[];
diff --git a/packages/utils/src/string.ts b/packages/utils/src/string.ts
index fdd0a73496f..7735011511e 100644
--- a/packages/utils/src/string.ts
+++ b/packages/utils/src/string.ts
@@ -1,5 +1,5 @@
-import type { Content, JSONContent } from "@plane/types";
import DOMPurify from "isomorphic-dompurify";
+import type { Content, JSONContent } from "@plane/types";
/**
* @description Adds space between camelCase words
From 864cc468e515737f136e533a5134f09fbb660a00 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Tue, 2 Sep 2025 18:34:17 +0530
Subject: [PATCH 03/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor=20:=20enhan?=
=?UTF-8?q?ce=20Skeleton=20component=20with=20improved=20props=20and=20str?=
=?UTF-8?q?ucture?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/src/Skeleton/root.tsx | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/packages/propel/src/Skeleton/root.tsx b/packages/propel/src/Skeleton/root.tsx
index 3a1155488f0..dee2c27f060 100644
--- a/packages/propel/src/Skeleton/root.tsx
+++ b/packages/propel/src/Skeleton/root.tsx
@@ -2,13 +2,14 @@ import React from "react";
// helpers
import { cn } from "../utils/classname";
-type Props = {
+type SkeletonProps = {
children: React.ReactNode;
className?: string;
+ ariaLabel?: string;
};
-const Skeleton = ({ children, className = "" }: Props) => (
-
+const SkeletonRoot = ({ children, className = "", ariaLabel = "Loading content" }: SkeletonProps) => (
+
{children}
);
@@ -19,16 +20,17 @@ type ItemProps = {
className?: string;
};
-const Item: React.FC
= ({ height = "auto", width = "auto", className = "" }) => (
+const SkeletonItem: React.FC = ({ height = "auto", width = "auto", className = "" }) => (
);
-Skeleton.Item = Item;
+const Skeleton = Object.assign(SkeletonRoot, { Item: SkeletonItem });
-Skeleton.displayName = "plane-ui-skeleton";
+SkeletonRoot.displayName = "plane-ui-skeleton";
+SkeletonItem.displayName = "plane-ui-skeleton-item";
export { Skeleton };
From e1c0629948bc560a0665888ec079f4bce44bf8e0 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 13:27:09 +0530
Subject: [PATCH 04/11] =?UTF-8?q?=E2=9C=A8=20feat:=20add=20Skeleton=20comp?=
=?UTF-8?q?onent=20entry=20to=20package.json?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/package.json | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/packages/propel/package.json b/packages/propel/package.json
index 633ae10382c..b1b62c9e923 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -27,7 +27,8 @@
"./styles/fonts": "./src/styles/fonts/index.css",
"./switch": "./src/switch/index.ts",
"./accordion": "./src/accordion/index.ts",
- "./card": "./src/card/index.ts"
+ "./card": "./src/card/index.ts",
+ "./skeleton": "./src/skeleton/index.ts"
},
"dependencies": {
"@base-ui-components/react": "^1.0.0-beta.2",
@@ -54,4 +55,4 @@
"storybook": "^9.1.2",
"typescript": "catalog:"
}
-}
+}
\ No newline at end of file
From c3f2a0a41c2dec2a555c0b86e88de5e467322d2d Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 13:30:57 +0530
Subject: [PATCH 05/11] =?UTF-8?q?=F0=9F=9A=A8=20fix:=20lint?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/propel/package.json b/packages/propel/package.json
index b1b62c9e923..72f9b6695f2 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -55,4 +55,4 @@
"storybook": "^9.1.2",
"typescript": "catalog:"
}
-}
\ No newline at end of file
+}
From 8e0abd6153b2974c5070d4cd6c68bba8531541c5 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 13:41:27 +0530
Subject: [PATCH 06/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20rename?=
=?UTF-8?q?=20Skeleton=20to=20skeleton?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/src/skeleton/index.ts | 1 +
packages/propel/src/skeleton/root.tsx | 36 +++++++++++++++++++
.../propel/src/skeleton/skeleton.stories.tsx | 33 +++++++++++++++++
3 files changed, 70 insertions(+)
create mode 100644 packages/propel/src/skeleton/index.ts
create mode 100644 packages/propel/src/skeleton/root.tsx
create mode 100644 packages/propel/src/skeleton/skeleton.stories.tsx
diff --git a/packages/propel/src/skeleton/index.ts b/packages/propel/src/skeleton/index.ts
new file mode 100644
index 00000000000..1efe34c51ec
--- /dev/null
+++ b/packages/propel/src/skeleton/index.ts
@@ -0,0 +1 @@
+export * from "./root";
diff --git a/packages/propel/src/skeleton/root.tsx b/packages/propel/src/skeleton/root.tsx
new file mode 100644
index 00000000000..dee2c27f060
--- /dev/null
+++ b/packages/propel/src/skeleton/root.tsx
@@ -0,0 +1,36 @@
+import React from "react";
+// helpers
+import { cn } from "../utils/classname";
+
+type SkeletonProps = {
+ children: React.ReactNode;
+ className?: string;
+ ariaLabel?: string;
+};
+
+const SkeletonRoot = ({ children, className = "", ariaLabel = "Loading content" }: SkeletonProps) => (
+
+ {children}
+
+);
+
+type ItemProps = {
+ height?: string;
+ width?: string;
+ className?: string;
+};
+
+const SkeletonItem: React.FC = ({ height = "auto", width = "auto", className = "" }) => (
+
+);
+
+const Skeleton = Object.assign(SkeletonRoot, { Item: SkeletonItem });
+
+SkeletonRoot.displayName = "plane-ui-skeleton";
+SkeletonItem.displayName = "plane-ui-skeleton-item";
+
+export { Skeleton };
diff --git a/packages/propel/src/skeleton/skeleton.stories.tsx b/packages/propel/src/skeleton/skeleton.stories.tsx
new file mode 100644
index 00000000000..262bcd0529b
--- /dev/null
+++ b/packages/propel/src/skeleton/skeleton.stories.tsx
@@ -0,0 +1,33 @@
+import type { Meta, StoryObj } from "@storybook/react-vite";
+import { Skeleton } from "./index";
+
+const meta: Meta = {
+ title: "Components/Skeleton",
+ component: Skeleton,
+ parameters: {
+ layout: "centered",
+ },
+};
+
+export default meta;
+type Story = StoryObj;
+
+export const Default: Story = {
+ render: () => (
+
+
+
+ ),
+};
+
+export const Card: Story = {
+ render: () => (
+
+
+
+
+
+
+
+ ),
+};
From 5728efe4aaecd2f7cdb8382c7c98ff8f18b292df Mon Sep 17 00:00:00 2001
From: sriramveeraghanta
Date: Fri, 5 Sep 2025 13:47:02 +0530
Subject: [PATCH 07/11] fix: rename fixes
---
.../src/{Skeleton => _skeleton}/index.ts | 0
.../src/{Skeleton => _skeleton}/root.tsx | 0
.../skeleton.stories.tsx | 0
packages/propel/src/skeleton/index.ts | 1 -
packages/propel/src/skeleton/root.tsx | 36 -------------------
.../propel/src/skeleton/skeleton.stories.tsx | 33 -----------------
6 files changed, 70 deletions(-)
rename packages/propel/src/{Skeleton => _skeleton}/index.ts (100%)
rename packages/propel/src/{Skeleton => _skeleton}/root.tsx (100%)
rename packages/propel/src/{Skeleton => _skeleton}/skeleton.stories.tsx (100%)
delete mode 100644 packages/propel/src/skeleton/index.ts
delete mode 100644 packages/propel/src/skeleton/root.tsx
delete mode 100644 packages/propel/src/skeleton/skeleton.stories.tsx
diff --git a/packages/propel/src/Skeleton/index.ts b/packages/propel/src/_skeleton/index.ts
similarity index 100%
rename from packages/propel/src/Skeleton/index.ts
rename to packages/propel/src/_skeleton/index.ts
diff --git a/packages/propel/src/Skeleton/root.tsx b/packages/propel/src/_skeleton/root.tsx
similarity index 100%
rename from packages/propel/src/Skeleton/root.tsx
rename to packages/propel/src/_skeleton/root.tsx
diff --git a/packages/propel/src/Skeleton/skeleton.stories.tsx b/packages/propel/src/_skeleton/skeleton.stories.tsx
similarity index 100%
rename from packages/propel/src/Skeleton/skeleton.stories.tsx
rename to packages/propel/src/_skeleton/skeleton.stories.tsx
diff --git a/packages/propel/src/skeleton/index.ts b/packages/propel/src/skeleton/index.ts
deleted file mode 100644
index 1efe34c51ec..00000000000
--- a/packages/propel/src/skeleton/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export * from "./root";
diff --git a/packages/propel/src/skeleton/root.tsx b/packages/propel/src/skeleton/root.tsx
deleted file mode 100644
index dee2c27f060..00000000000
--- a/packages/propel/src/skeleton/root.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-import React from "react";
-// helpers
-import { cn } from "../utils/classname";
-
-type SkeletonProps = {
- children: React.ReactNode;
- className?: string;
- ariaLabel?: string;
-};
-
-const SkeletonRoot = ({ children, className = "", ariaLabel = "Loading content" }: SkeletonProps) => (
-
- {children}
-
-);
-
-type ItemProps = {
- height?: string;
- width?: string;
- className?: string;
-};
-
-const SkeletonItem: React.FC = ({ height = "auto", width = "auto", className = "" }) => (
-
-);
-
-const Skeleton = Object.assign(SkeletonRoot, { Item: SkeletonItem });
-
-SkeletonRoot.displayName = "plane-ui-skeleton";
-SkeletonItem.displayName = "plane-ui-skeleton-item";
-
-export { Skeleton };
diff --git a/packages/propel/src/skeleton/skeleton.stories.tsx b/packages/propel/src/skeleton/skeleton.stories.tsx
deleted file mode 100644
index 262bcd0529b..00000000000
--- a/packages/propel/src/skeleton/skeleton.stories.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import type { Meta, StoryObj } from "@storybook/react-vite";
-import { Skeleton } from "./index";
-
-const meta: Meta = {
- title: "Components/Skeleton",
- component: Skeleton,
- parameters: {
- layout: "centered",
- },
-};
-
-export default meta;
-type Story = StoryObj;
-
-export const Default: Story = {
- render: () => (
-
-
-
- ),
-};
-
-export const Card: Story = {
- render: () => (
-
-
-
-
-
-
-
- ),
-};
From fc05679b022f7630134e0fbf9ee7cbe657274acb Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 13:48:45 +0530
Subject: [PATCH 08/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20rename?=
=?UTF-8?q?=20skeleton?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/src/{_skeleton => skeleton}/index.ts | 0
packages/propel/src/{_skeleton => skeleton}/root.tsx | 0
packages/propel/src/{_skeleton => skeleton}/skeleton.stories.tsx | 0
3 files changed, 0 insertions(+), 0 deletions(-)
rename packages/propel/src/{_skeleton => skeleton}/index.ts (100%)
rename packages/propel/src/{_skeleton => skeleton}/root.tsx (100%)
rename packages/propel/src/{_skeleton => skeleton}/skeleton.stories.tsx (100%)
diff --git a/packages/propel/src/_skeleton/index.ts b/packages/propel/src/skeleton/index.ts
similarity index 100%
rename from packages/propel/src/_skeleton/index.ts
rename to packages/propel/src/skeleton/index.ts
diff --git a/packages/propel/src/_skeleton/root.tsx b/packages/propel/src/skeleton/root.tsx
similarity index 100%
rename from packages/propel/src/_skeleton/root.tsx
rename to packages/propel/src/skeleton/root.tsx
diff --git a/packages/propel/src/_skeleton/skeleton.stories.tsx b/packages/propel/src/skeleton/skeleton.stories.tsx
similarity index 100%
rename from packages/propel/src/_skeleton/skeleton.stories.tsx
rename to packages/propel/src/skeleton/skeleton.stories.tsx
From 578137e2a030ef8aac7ebf40c13a35353fb9021a Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 13:55:05 +0530
Subject: [PATCH 09/11] =?UTF-8?q?=F0=9F=9A=A8=20fix:=20lint?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/propel/package.json b/packages/propel/package.json
index 2d1dbf224cc..1455a7da9d5 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -64,4 +64,4 @@
"tsdown": "catalog:",
"typescript": "catalog:"
}
-}
\ No newline at end of file
+}
From 8ebac75c55c63f12bb48972345327afb7374704d Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 14:33:50 +0530
Subject: [PATCH 10/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20add=20sk?=
=?UTF-8?q?eleton=20entry=20to=20tsdown=20config=20and=20package.json?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/package.json | 4 ++--
packages/propel/tsdown.config.ts | 1 +
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/packages/propel/package.json b/packages/propel/package.json
index 1455a7da9d5..a01f0ffb088 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -29,11 +29,11 @@
"./popover": "./dist/popover/index.js",
"./styles/fonts": "./dist/styles/fonts/index.css",
"./switch": "./dist/switch/index.js",
+ "./skeleton": "./dist/skeleton/index.js",
"./table": "./dist/table/index.js",
"./tabs": "./dist/tabs/index.js",
"./tooltip": "./dist/tooltip/index.js",
- "./utils": "./dist/utils/index.js",
- "./skeleton": "./dist/skeleton/index.js"
+ "./utils": "./dist/utils/index.js"
},
"dependencies": {
"@base-ui-components/react": "^1.0.0-beta.2",
diff --git a/packages/propel/tsdown.config.ts b/packages/propel/tsdown.config.ts
index 05d57001aea..8f23c301cb8 100644
--- a/packages/propel/tsdown.config.ts
+++ b/packages/propel/tsdown.config.ts
@@ -13,6 +13,7 @@ export default defineConfig({
"src/icons/index.ts",
"src/menu/index.ts",
"src/popover/index.ts",
+ "src/skeleton/index.ts",
"src/switch/index.ts",
"src/table/index.ts",
"src/tabs/index.ts",
From 6bfe500474560b9bdb91e8ad7881c3ab87b7d247 Mon Sep 17 00:00:00 2001
From: Jayash Tripathy <76092296+JayashTripathy@users.noreply.github.com>
Date: Fri, 5 Sep 2025 15:40:16 +0530
Subject: [PATCH 11/11] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20=20refactor:=20sorte?=
=?UTF-8?q?d=20propel=20exports?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
packages/propel/package.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/packages/propel/package.json b/packages/propel/package.json
index a01f0ffb088..aa5ae59f6e3 100644
--- a/packages/propel/package.json
+++ b/packages/propel/package.json
@@ -27,9 +27,9 @@
"./icons": "./dist/icons/index.js",
"./menu": "./dist/menu/index.js",
"./popover": "./dist/popover/index.js",
+ "./skeleton": "./dist/skeleton/index.js",
"./styles/fonts": "./dist/styles/fonts/index.css",
"./switch": "./dist/switch/index.js",
- "./skeleton": "./dist/skeleton/index.js",
"./table": "./dist/table/index.js",
"./tabs": "./dist/tabs/index.js",
"./tooltip": "./dist/tooltip/index.js",