diff --git a/packages/react/.storybook/story-config.ts b/packages/react/.storybook/story-config.ts
index 27b57e6f..b799bdb2 100644
--- a/packages/react/.storybook/story-config.ts
+++ b/packages/react/.storybook/story-config.ts
@@ -102,6 +102,7 @@ export type Stories =
| 'RadioGroup'
| 'Select'
| 'SignIn'
+ | 'Skeleton'
| 'Snackbar'
| 'Stepper'
| 'Tab'
@@ -343,6 +344,9 @@ const StoryConfig: StorybookConfig = {
SignIn: {
hierarchy: `${StorybookCategories.Patterns}/Sign In`,
},
+ Skeleton: {
+ hierarchy: `${StorybookCategories.Feedback}/Skeleton`,
+ },
Snackbar: {
hierarchy: `${StorybookCategories.Feedback}/Snackbar`,
},
diff --git a/packages/react/src/components/Skeleton/Skeleton.stories.mdx b/packages/react/src/components/Skeleton/Skeleton.stories.mdx
new file mode 100644
index 00000000..cf22f96f
--- /dev/null
+++ b/packages/react/src/components/Skeleton/Skeleton.stories.mdx
@@ -0,0 +1,48 @@
+import {ArgsTable, Source, Story, Canvas, Meta} from '@storybook/addon-docs';
+import dedent from 'ts-dedent';
+import StoryConfig from '../../../.storybook/story-config.ts';
+import Skeleton from './Skeleton.tsx';
+
+export const meta = {
+ component: Skeleton,
+ title: StoryConfig.Skeleton.hierarchy,
+};
+
+
+
+export const Template = args => ;
+
+# Skeleton
+
+- [Overview](#overview)
+- [Props](#props)
+- [Usage](#usage)
+
+## Overview
+
+Display a placeholder preview of your content before the data gets loaded to reduce load-time frustration.
+
+
+
+## Props
+
+
+
+## Usage
+
+Import and use the `Skeleton` component in your components as follows.
+
+;
+}`}
+/>
diff --git a/packages/react/src/components/Skeleton/Skeleton.tsx b/packages/react/src/components/Skeleton/Skeleton.tsx
new file mode 100644
index 00000000..9fc404b0
--- /dev/null
+++ b/packages/react/src/components/Skeleton/Skeleton.tsx
@@ -0,0 +1,45 @@
+/**
+ * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com). All Rights Reserved.
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import MuiSkeleton, {SkeletonProps as MuiSkeletonProps} from '@mui/material/Skeleton';
+import clsx from 'clsx';
+import {ElementType, FC, ReactElement} from 'react';
+import {WithWrapperProps} from '../../models';
+import {composeComponentDisplayName} from '../../utils';
+
+export type SkeletonProps = {
+ component?: C;
+} & Omit, 'component'>;
+
+const COMPONENT_NAME: string = 'Skeleton';
+
+const Skeleton: FC & WithWrapperProps = (
+ props: SkeletonProps,
+): ReactElement => {
+ const {className, ...rest} = props;
+
+ const classes: string = clsx('oxygen-Skeleton', className);
+
+ return ;
+};
+
+Skeleton.displayName = composeComponentDisplayName(COMPONENT_NAME);
+Skeleton.muiName = COMPONENT_NAME;
+Skeleton.defaultProps = {};
+
+export default Skeleton;
diff --git a/packages/react/src/components/Skeleton/__test__/Skeleton.test.tsx b/packages/react/src/components/Skeleton/__test__/Skeleton.test.tsx
new file mode 100644
index 00000000..2ecf5ce2
--- /dev/null
+++ b/packages/react/src/components/Skeleton/__test__/Skeleton.test.tsx
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com). All Rights Reserved.
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import {render} from '@unit-testing';
+import Skeleton from '../Skeleton';
+
+describe('Skeleton', () => {
+ it('should render successfully', () => {
+ const {baseElement} = render();
+ expect(baseElement).toBeTruthy();
+ });
+
+ it('should match the snapshot', () => {
+ const {baseElement} = render();
+ expect(baseElement).toMatchSnapshot();
+ });
+});
diff --git a/packages/react/src/components/Skeleton/__test__/__snapshots__/Skeleton.test.tsx.snap b/packages/react/src/components/Skeleton/__test__/__snapshots__/Skeleton.test.tsx.snap
new file mode 100644
index 00000000..e16ca409
--- /dev/null
+++ b/packages/react/src/components/Skeleton/__test__/__snapshots__/Skeleton.test.tsx.snap
@@ -0,0 +1,11 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`Skeleton should match the snapshot 1`] = `
+
+
+
+
+
+`;
diff --git a/packages/react/src/components/Skeleton/index.ts b/packages/react/src/components/Skeleton/index.ts
new file mode 100644
index 00000000..b473006a
--- /dev/null
+++ b/packages/react/src/components/Skeleton/index.ts
@@ -0,0 +1,20 @@
+/**
+ * Copyright (c) 2023, WSO2 LLC. (https://www.wso2.com). All Rights Reserved.
+ *
+ * WSO2 LLC. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+export {default} from './Skeleton';
+export type {SkeletonProps} from './Skeleton';
diff --git a/packages/react/src/components/index.ts b/packages/react/src/components/index.ts
index 65525944..f1728dab 100644
--- a/packages/react/src/components/index.ts
+++ b/packages/react/src/components/index.ts
@@ -190,6 +190,9 @@ export * from './Select';
export {default as SignIn} from './SignIn';
export * from './SignIn';
+export {default as Skeleton} from './Skeleton';
+export * from './Skeleton';
+
export {default as Stepper} from './Stepper';
export * from './Stepper';