diff --git a/app/components/ComponentUI.tsx b/app/components/ComponentUI.tsx
new file mode 100644
index 00000000..1097d7b0
--- /dev/null
+++ b/app/components/ComponentUI.tsx
@@ -0,0 +1,46 @@
+import Link from 'next/link'
+import { ArrowUpRight } from 'phosphor-react'
+import { routes } from '../../routes/routes'
+
+const ComponentUI = () => {
+ return (
+
+
+
+
+
+ Design Excellence with Our React Component Library
+
+
+ Explore our library of 40+ open-source React UI components and interactive elements, empowering you to
+ create stunning web projects effortlessly.
+
+
+
+
+
+ Home
+
+
+
+ About
+
+
+
+ Contact
+
+
+
+ Sign Up
+
+
+ Home Content
+ About Content
+ Contact Content
+ Sign Up Content
)
}
+export const AreaChartComponent = () => {
+ const chartData = [
+ {
+ name: '1',
+ price: 0,
+ sell: 0,
+ },
+ {
+ name: '2',
+ price: 300,
+ sell: 200,
+ },
+ {
+ name: '3',
+ price: 170,
+ sell: 120,
+ },
+ {
+ name: '4',
+ price: 190,
+ sell: 130,
+ },
+ {
+ name: '5',
+ price: 220,
+ sell: 120,
+ },
+ {
+ name: '6',
+ price: 400,
+ sell: 213,
+ },
+ {
+ name: '7',
+ price: 420,
+ sell: 325,
+ },
+ {
+ name: '8',
+ price: 450,
+ sell: 250,
+ },
+ {
+ name: '9',
+ price: 400,
+ sell: 300,
+ },
+ {
+ name: '10',
+ price: 500,
+ sell: 400,
+ },
+ ]
+ return (
+
+ )
+}
+
+export const AccordionComponent = () => {
+ return (
+
+
+
+ Q. What is the purpose of the Keep React?
+
+
+
+ The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
+ user experience across our products. It simplifies the design and development process by providing
+ ready-to-use components that can be easily customized and integrated into various applications.
+
+
+
+
+ Q. How do I customize the color scheme of components?
+
+
+
+ The Keep React offers a range of color variants for components. To customize the color scheme, you can use the
+ available color options such as gray,info,error,warning and success. Simply set the desired color variant as a
+ prop when using the component, and it will reflect the chosen color.
+
+
+
+
+ Q. Can I add additional content to notifications?
+
+
+
+ Yes, the Notification component in the Keep React allows you to include extra content alongside the primary
+ message. The additionalContent prop can be used to display supplementary information, such as buttons, links,
+ or icons, within the notification to provide users with more context and options.
+
+
+
+ )
+}
+
+export const SkeletonComponent = () => {
+ return (
+
- )
-}
-
-export default CssThemePreview
diff --git a/app/components/DocsContentLayout.tsx b/app/components/DocsContentLayout.tsx
index 9366f091..aad29095 100644
--- a/app/components/DocsContentLayout.tsx
+++ b/app/components/DocsContentLayout.tsx
@@ -1,20 +1,17 @@
-import type { FC } from 'react'
-import React from 'react'
+import type { FC, ReactNode } from 'react'
interface DocsContentLayoutProps {
title: string
description: string
- children: React.ReactNode
+ children: ReactNode
}
export const DocsContentLayout: FC = function ({ title, description, children }) {
return (
-
- {title}
-
-
{description}
+
{title}
+
{description}
{children}
diff --git a/app/components/Faq.tsx b/app/components/Faq.tsx
new file mode 100644
index 00000000..a93b94b9
--- /dev/null
+++ b/app/components/Faq.tsx
@@ -0,0 +1,82 @@
+'use client'
+import { Accordion } from '../src'
+
+const Faq = () => {
+ const faqs = [
+ {
+ id: 1,
+ question: 'Q. What is Keep React?',
+ answer:
+ 'Keep React is an open-source component library built on React and Tailwind CSS. It offers a collection of pre-designed UI components and styles that you can easily integrate into your web applications.',
+ },
+ {
+ id: 2,
+ question: 'Q. How can I use Keep React components?',
+ answer:
+ 'To use Keep React components, you can install the library via npm or yarn, import the components you need in your React application, and start using them in your code.',
+ },
+ {
+ id: 3,
+ question: 'Q. Is Keep React compatible with other React projects?',
+ answer:
+ 'Yes, Keep React is designed to be compatible with other React projects. You can seamlessly integrate its components into your existing React applications.',
+ },
+ {
+ id: 4,
+ question: 'Q. What makes Keep React different from other component libraries?',
+ answer:
+ 'Keep React combines the power of React with the flexibility and utility of Tailwind CSS. It provides a wide range of customizable components to help you build beautiful, responsive, and functional user interfaces.',
+ },
+ {
+ id: 5,
+ question: 'Q. Can I customize the styling of Keep React components?',
+ answer:
+ "Yes, Keep React components are highly customizable. You can use Tailwind CSS utility classes or even create your own styles to tailor the appearance of the components to your project's needs.",
+ },
+ {
+ id: 6,
+ question: 'Q. Is Keep React suitable for both small and large-scale applications?',
+ answer:
+ 'Absolutely! Keep React is designed to be versatile, making it suitable for a wide range of projects, from small personal websites to large-scale applications. Its components and styles are designed to scale to your needs.',
+ },
+ ]
+ return (
+
+
Keep React is an open-source component library built on Tailwind CSS and React.js. It provides a versatile
set of pre-designed UI components to build modern web applications.
diff --git a/app/components/Hero.tsx b/app/components/Hero.tsx
new file mode 100644
index 00000000..cd14605e
--- /dev/null
+++ b/app/components/Hero.tsx
@@ -0,0 +1,60 @@
+'use client'
+import Image from 'next/image'
+import Link from 'next/link'
+import { Check, Clipboard } from 'phosphor-react'
+import useCopy from '~/hooks/useCopy'
+import HeroImg from '../../public/images/home/hero-1.png'
+
+const Hero = () => {
+ const { copy, copyToClipboard } = useCopy()
+ return (
+
+
+
+
+
+
+
+
+
+ Supercharge your web
+ development with
+ Keep React
+
+
+ Elevate your web projects with Keep React's 40+ customizable components. Access open-source
+ resources for efficient development and bring your ideas to life with ease.
+
+ )}
+
+
+
)
}
diff --git a/app/components/TopProgressBar.tsx b/app/components/TopProgressBar.tsx
index 0c62232f..3239325c 100644
--- a/app/components/TopProgressBar.tsx
+++ b/app/components/TopProgressBar.tsx
@@ -5,7 +5,7 @@ import { Suspense } from 'react'
const TopProgressBar = () => {
return (
-
+
)
}
diff --git a/app/docs.css b/app/docs.css
index cfb20d20..d6864b1d 100644
--- a/app/docs.css
+++ b/app/docs.css
@@ -1,8 +1,8 @@
#mainContent > h2 {
- @apply border-b border-b-metal-200 pb-2 text-body-3 font-semibold leading-6 tracking-[-0.3px] text-metal-900;
+ @apply border-b border-b-metal-200 pb-2 text-body-2 font-semibold text-metal-900;
}
#mainContent > p {
- @apply mt-4 text-body-5 font-normal leading-6 tracking-[-0.3px] text-metal-700 md:text-body-4;
+ @apply mt-4 text-body-3 font-normal text-metal-500;
}
#mainContent > p a {
@@ -56,7 +56,7 @@
}
#visible-table-of-contents li {
- @apply my-2 -ml-px border-l border-l-transparent pl-3 text-body-5 leading-7 tracking-[-0.2px] text-metal-500 hover:border-l-metal-900 hover:text-metal-900 active:text-metal-900;
+ @apply my-2 -ml-px border-l border-l-transparent pl-3 text-body-4 text-metal-500 hover:border-l-metal-900 hover:text-metal-900 active:text-metal-900;
}
#visible-table-of-contents li:has(.active-link) {
diff --git a/app/docs/components/accordion/accordion.mdx b/app/docs/components/accordion/accordion.mdx
index 4ce240a6..5b163b5f 100644
--- a/app/docs/components/accordion/accordion.mdx
+++ b/app/docs/components/accordion/accordion.mdx
@@ -4,9 +4,8 @@ import { AccordionOpenPanel, AccordionOpenPanelCode } from './variant/AccordionO
import { DisabledAccordionCode, DisabledAccordion } from './variant/DisabledAccordion'
import { AccordionWithIcon, AccordionWithIconCode } from './variant/AccordionWithIcon'
import { CustomizeAccordion, CustomizeAccordionCode } from './variant/CustomizeAccordion'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
import { accordionApiData } from './accordionApi'
## Table of Contents
diff --git a/app/docs/components/accordion/variant/AccordionFlush.tsx b/app/docs/components/accordion/variant/AccordionFlush.tsx
index 6f89d1b5..10153930 100644
--- a/app/docs/components/accordion/variant/AccordionFlush.tsx
+++ b/app/docs/components/accordion/variant/AccordionFlush.tsx
@@ -6,7 +6,8 @@ const AccordionFlush = () => {
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
@@ -16,7 +17,8 @@ const AccordionFlush = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
+
The Keep React offers a range of color variants for components. To customize the color scheme, you can use the
@@ -26,7 +28,8 @@ const AccordionFlush = () => {
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
+
Yes, the Notification component in the Keep React allows you to include extra content alongside the primary
@@ -47,7 +50,8 @@ export const AccordionComponent = () => {
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
@@ -57,7 +61,8 @@ export const AccordionComponent = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
+
The Keep React offers a range of color variants for components. To customize the color scheme, you can use the
@@ -67,7 +72,8 @@ export const AccordionComponent = () => {
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
+
Yes, the Notification component in the Keep React allows you to include extra content alongside the primary
@@ -78,6 +84,7 @@ export const AccordionComponent = () => {
)
}
+
`
export { AccordionFlush, AccordionFlushCode }
diff --git a/app/docs/components/accordion/variant/AccordionOpenPanel.tsx b/app/docs/components/accordion/variant/AccordionOpenPanel.tsx
index 1a9a1319..f6b8687e 100644
--- a/app/docs/components/accordion/variant/AccordionOpenPanel.tsx
+++ b/app/docs/components/accordion/variant/AccordionOpenPanel.tsx
@@ -3,10 +3,11 @@ import { Accordion } from '../../../../src'
const AccordionOpenPanel = () => {
return (
-
+
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
@@ -16,7 +17,8 @@ const AccordionOpenPanel = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
+
The Keep React offers a range of color variants for components. To customize the color scheme, you can use the
@@ -26,7 +28,8 @@ const AccordionOpenPanel = () => {
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
+
Yes, the Notification component in the Keep React allows you to include extra content alongside the primary
@@ -39,15 +42,16 @@ const AccordionOpenPanel = () => {
}
const AccordionOpenPanelCode = `
-"use client";
-import { Accordion } from "keep-react";
+'use client'
+import { Accordion } from 'keep-react'
export const AccordionComponent = () => {
return (
-
+
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
@@ -57,22 +61,24 @@ export const AccordionComponent = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
+
- The Keep React offers a range of color variants for components. To customize the color scheme, you can use
- the available color options such as gray,info,error,warning and success. Simply set the desired color
- variant as a prop when using the component, and it will reflect the chosen color.
+ The Keep React offers a range of color variants for components. To customize the color scheme, you can use the
+ available color options such as gray,info,error,warning and success. Simply set the desired color variant as a
+ prop when using the component, and it will reflect the chosen color.
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
+
Yes, the Notification component in the Keep React allows you to include extra content alongside the primary
- message. The additionalContent prop can be used to display supplementary information, such as buttons,
- links, or icons, within the notification to provide users with more context and options.
+ message. The additionalContent prop can be used to display supplementary information, such as buttons, links,
+ or icons, within the notification to provide users with more context and options.
diff --git a/app/docs/components/accordion/variant/AccordionWithIcon.tsx b/app/docs/components/accordion/variant/AccordionWithIcon.tsx
index 73e0dc5f..0e0792f7 100644
--- a/app/docs/components/accordion/variant/AccordionWithIcon.tsx
+++ b/app/docs/components/accordion/variant/AccordionWithIcon.tsx
@@ -4,10 +4,10 @@ import { Accordion } from '../../../../src'
const AccordionWithIcon = () => {
return (
-
+
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
@@ -20,7 +20,7 @@ const AccordionWithIcon = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
@@ -33,7 +33,7 @@ const AccordionWithIcon = () => {
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
@@ -55,10 +55,10 @@ import { Plus } from "phosphor-react";
export const AccordionComponent = () => {
return (
-
+
- What is the purpose of the Keep React?
+ Q. What is the purpose of the Keep React?
@@ -71,7 +71,7 @@ export const AccordionComponent = () => {
- How do I customize the color scheme of components?
+ Q. How do I customize the color scheme of components?
@@ -84,7 +84,7 @@ export const AccordionComponent = () => {
- Can I add additional content to notifications?
+ Q. Can I add additional content to notifications?
diff --git a/app/docs/components/accordion/variant/CustomizeAccordion.tsx b/app/docs/components/accordion/variant/CustomizeAccordion.tsx
index c9afb397..38c4d640 100644
--- a/app/docs/components/accordion/variant/CustomizeAccordion.tsx
+++ b/app/docs/components/accordion/variant/CustomizeAccordion.tsx
@@ -1,18 +1,15 @@
'use client'
-import { Plus } from 'phosphor-react'
import { Accordion } from '../../../../src'
const CustomizeAccordion = () => {
return (
-
-
- What is the of the Keep React?
-
-
-
+
+
+ Q. What is the of the Keep React?
+
-
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
user experience across our products. It simplifies the design and development process by providing
ready-to-use components that can be easily customized and integrated into various applications.
@@ -24,20 +21,17 @@ const CustomizeAccordion = () => {
const CustomizeAccordionCode = `
'use client'
-import { Plus } from 'phosphor-react'
import { Accordion } from 'keep-react'
export const AccordionComponent = () => {
return (
-
-
- What is the of the Keep React?
-
-
-
+
+
+ Q. What is the of the Keep React?
+
-
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
user experience across our products. It simplifies the design and development process by providing
ready-to-use components that can be easily customized and integrated into various applications.
diff --git a/app/docs/components/accordion/variant/DefaultAccordion.tsx b/app/docs/components/accordion/variant/DefaultAccordion.tsx
index 3ed0bb2d..54e872e1 100644
--- a/app/docs/components/accordion/variant/DefaultAccordion.tsx
+++ b/app/docs/components/accordion/variant/DefaultAccordion.tsx
@@ -6,7 +6,8 @@ const DefaultAccordion = () => {
- What is the of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a unified
@@ -27,7 +28,8 @@ export const AccordionComponent = () => {
- What is the of the Keep React?
+ Q. What is the purpose of the Keep React?
+
The Keep React is a collection of UI components, styles, and guidelines that ensure consistency and a
diff --git a/app/docs/components/accordion/variant/DisabledAccordion.tsx b/app/docs/components/accordion/variant/DisabledAccordion.tsx
index 04c19366..4e7275b7 100644
--- a/app/docs/components/accordion/variant/DisabledAccordion.tsx
+++ b/app/docs/components/accordion/variant/DisabledAccordion.tsx
@@ -6,17 +6,11 @@ const DisabledAccordion = () => {
- What is keep Design?
+ Q. What is keep Design?
-
- keep Design is an open-source library of interactive components built on top of Tailwind CSS including
- buttons, dropdowns, modals, navbar, and more.
-
-
- Check out this guide to learn how to and start developing websites even faster with components on top of
- Tailwind CSS.
-
+ keep Design is an open-source library of interactive components built on top of Tailwind CSS including
+ buttons, dropdowns, modals, navbar, and more.
@@ -35,14 +29,8 @@ export const AccordionComponent = () => {
What is keep Design?
-
- keep Design is an open-source library of interactive components built on top of Tailwind CSS including
- buttons, dropdowns, modals, navbar, and more.
-
-
- Check out this guide to learn how to and start developing websites even faster with components on top of
- Tailwind CSS.
-
+ keep Design is an open-source library of interactive components built on top of Tailwind CSS including
+ buttons, dropdowns, modals, navbar, and more.
diff --git a/app/docs/components/alert/alert.mdx b/app/docs/components/alert/alert.mdx
index 90e6272a..1b7cf18b 100644
--- a/app/docs/components/alert/alert.mdx
+++ b/app/docs/components/alert/alert.mdx
@@ -1,14 +1,13 @@
import { DefaultAlert, DefaultAlertCode } from './variant/DefaultAlert'
import { AlertWithDismissIcon, AlertWithDismissIconCode } from './variant/AlertWithDismissIcon'
-import { AlertWithRounded, AlertWithRoundedCode } from './variant/AlertWithRounded'
import { AlertWithColorVariant, AlertWithColorVariantCode } from './variant/AlertColorVariant'
-import { AlertWithBorderAccent, AlertWithBorderAccentCode } from './variant/AlertWithBorderAccent'
-import { CustomizeAlert, CustomizeAlertCode } from './variant/CustomizeAlert'
+import { AlertWithBgColor, AlertWithBgColorCode } from './variant/AlertWithBgColor'
+import { AlertWithCard, AlertWithCardCode } from './variant/AlertWithCard'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
-import { alertApiData } from './alertApi'
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
+import { alertApiData, dismissButtonApi } from './alertApi'
## Table of Contents
@@ -22,44 +21,36 @@ The Default Alert is a clean and simple design, ideal for conveying straightforw
-## Dismissible Alerts
-
-For alerts that users can close, the Dismiss Icon comes in handy. Pass a handler function to the `onDismiss` prop to enable this feature.
-
-
-
-
-
-## Softly Rounded Alerts
+## Color Variants of Alerts
-If you prefer a more approachable appearance, the Rounded Alert is a great option. By setting the `rounded` prop to `true`, the alert corners become rounded, giving it a friendly touch.
+Colors can convey the nature of alerts. While the default color is `primary`, you can choose from `secondary`, `success`, `warning`, or `error`. Simply set the `color` prop accordingly.
-
-
+
+
-## Accented Border Alerts
+## Alert With Background Color
-To make alerts stand out, you can add a border using the `withBorder` prop set to `true`. For an elegant accent, use the `withBorderAccent` prop. By default, the accent appears on the left, but you can customize its position using `withBorderAccentPosition="left"|"right"|"top"|"bottom"`.
+Switch the background color of alerts using the `withBg={true}` prop. By default, `withBg` is set to `false`.
-
-
+
+
-## Color Variants of Alerts
+## Alert With Card
-Colors can convey the nature of alerts. While the default color is `info`, you can choose from `success`, `warning`, `error`, `gray`, or `info`. Simply set the `color` prop accordingly.
+Display the alert message with a card view, and access all the available props for customization.
-
-
+
+
-## Customize Alert
+## Dismissible Alerts
-Alert is fully customizable component. You can inject any className from tailwind as your desired.
+Dismiss alert messages by using the `dismiss` prop. The default behavior is server-side rendering. If you want to use a click event handler, set the alert as a client-side component.
-
-
+
+
## API Reference
@@ -67,3 +58,9 @@ Alert is fully customizable component. You can inject any className from tailwin
Explore the available props for the Alert component
+
+## Dismiss Button API Reference
+
+Explore the available props for the `` component
+
+
diff --git a/app/docs/components/alert/alertApi.ts b/app/docs/components/alert/alertApi.ts
index 9c46c57b..ec489b69 100644
--- a/app/docs/components/alert/alertApi.ts
+++ b/app/docs/components/alert/alertApi.ts
@@ -3,67 +3,42 @@ export const alertApiData = [
id: 1,
propsName: 'color',
propsDescription: 'The color variant of the alert.',
- propsType: ['primary', 'metal', 'success', 'warning', 'error'],
+ propsType: ['primary', 'secondary', 'success', 'warning', 'error'],
default: 'primary',
},
{
id: 2,
- propsName: 'icon',
- propsDescription: 'Custom icon to be displayed in the alert.',
- propsType: 'ReactNode',
- default: '',
- },
- {
- id: 3,
propsName: 'dismiss',
propsDescription: 'Enables or disables the dismiss icon.',
propsType: 'boolean',
default: 'false',
},
{
- id: 4,
- propsName: 'onDismiss',
- propsDescription: 'Handler function to be called when the dismiss icon is clicked.',
- propsType: 'function',
- default: '() => void',
- },
- {
- id: 5,
- propsName: 'rounded',
- propsDescription: 'Adds rounded corners to the alert.',
- propsType: 'boolean',
- default: 'false',
- },
- {
- id: 6,
- propsName: 'withBorder',
- propsDescription: 'Adds a border around the alert.',
- propsType: 'boolean',
- default: 'false',
- },
- {
- id: 7,
- propsName: 'withBorderAccent',
- propsDescription: 'Adds a border accent to the alert.',
+ id: 3,
+ propsName: 'withBg',
+ propsDescription: 'Enables background color.',
propsType: 'boolean',
default: 'false',
},
{
- id: 8,
- propsName: 'withBorderAccentPosition',
- propsDescription: 'Specifies the position of the border accent.',
- propsType: ['left', 'right', 'top', 'bottom'],
- default: 'left',
- },
- {
- id: 9,
- propsName: 'BtnStyle',
- propsDescription: 'Injects the class name in alert dismiss button.',
+ id: 4,
+ propsName: 'className',
+ propsDescription: 'Injects the class name',
propsType: 'string',
default: 'None',
},
+]
+
+export const dismissButtonApi = [
{
- id: 10,
+ id: 1,
+ propsName: 'onClick',
+ propsDescription: 'Handler function to be called when the dismiss icon is clicked.',
+ propsType: 'function',
+ default: '() => void',
+ },
+ {
+ id: 2,
propsName: 'className',
propsDescription: 'Injects the class name',
propsType: 'string',
diff --git a/app/docs/components/alert/variant/AlertColorVariant.tsx b/app/docs/components/alert/variant/AlertColorVariant.tsx
index dd71156a..fe3bd2e1 100644
--- a/app/docs/components/alert/variant/AlertColorVariant.tsx
+++ b/app/docs/components/alert/variant/AlertColorVariant.tsx
@@ -1,128 +1,53 @@
'use client'
-import Link from 'next/link'
import { Alert } from '../../../../src'
-import { useState } from 'react'
-import { CheckCircle, Info, XCircle } from 'phosphor-react'
const AlertWithColorVariant = () => {
- const [dismiss, setDismiss] = useState([false, false, false, false, false])
-
- const handleDismiss = (index: number) => {
- const updatedDismissStates = [...dismiss]
- updatedDismissStates[index] = true
- setDismiss(updatedDismissStates)
- }
return (
- handleDismiss(1)}
- dismiss={dismiss[1]}
- rounded={true}
- withBorder={true}
- withBorderAccent={true}
- color="primary">
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
- handleDismiss(2)}
- dismiss={dismiss[2]}
- rounded={true}
- withBorder={true}
- withBorderAccent={true}
- color="success">
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
- handleDismiss(3)}
- dismiss={dismiss[3]}
- rounded={true}
- withBorder={true}
- withBorderAccent={true}
- color="metal">
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
- handleDismiss(4)}
- dismiss={dismiss[4]}
- rounded={true}
- withBorder={true}
- withBorderAccent={true}
- color="warning">
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
- handleDismiss(5)}
- dismiss={dismiss[5]}
- rounded={true}
- withBorder={true}
- withBorderAccent={true}
- color="error">
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items..
+ Learn More
+
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+
+ )
+}
+
+const AlertWithBgColorCode = `
+'use client'
+import { Alert } from 'keep-react'
+
+export const AlertComponent = () => {
+ return (
+
+
+
+ Alert here
+ A short description followed by two actions items..
+
+ Learn More
+
+
+ )
+}
+`
+
+export { AlertWithBgColor, AlertWithBgColorCode }
diff --git a/app/docs/components/alert/variant/AlertWithBorderAccent.tsx b/app/docs/components/alert/variant/AlertWithBorderAccent.tsx
deleted file mode 100644
index 4081d7d8..00000000
--- a/app/docs/components/alert/variant/AlertWithBorderAccent.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-'use client'
-import Link from 'next/link'
-import { Alert } from '../../../../src'
-import { useState } from 'react'
-import { Info } from 'phosphor-react'
-
-const AlertWithBorderAccent = () => {
- const [showAlert, setShowAlert] = useState(false)
- const onDismiss = () => {
- setShowAlert(!showAlert)
- }
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-
-const AlertWithBorderAccentCode = `
-"use client";
-import Link from "next/link";
-import { useState } from "react";
-import { Alert } from "keep-react";
-import { Info } from "phosphor-react";
-
-export const AlertComponent = () => {
- const [showAlert, setShowAlert] = useState(false)
- const onDismiss = () => {
- setShowAlert(!showAlert)
- }
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-`
-
-export { AlertWithBorderAccent, AlertWithBorderAccentCode }
diff --git a/app/docs/components/alert/variant/AlertWithCard.tsx b/app/docs/components/alert/variant/AlertWithCard.tsx
new file mode 100644
index 00000000..280192b0
--- /dev/null
+++ b/app/docs/components/alert/variant/AlertWithCard.tsx
@@ -0,0 +1,178 @@
+'use client'
+import { Alert, Button, Checkbox, Label } from '../../../../src'
+
+const AlertWithCard = () => {
+ return (
+
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+
+ )
+}
+
+const AlertWithCardCode = `
+'use client'
+import { Alert, Button, Checkbox } from 'keep-react'
+
+export const AlertComponent = () => {
+ return (
+
+
+
+
+ Alert here
+
+ A short description followed by two actions items.
+
+
+
+
+ Learn More
+
+
+ Dismiss
+
+
+
+
+
+
+ )
+}
+
+`
+
+export { AlertWithCard, AlertWithCardCode }
diff --git a/app/docs/components/alert/variant/AlertWithDismissIcon.tsx b/app/docs/components/alert/variant/AlertWithDismissIcon.tsx
index 7f92e6cb..88ec2a3b 100644
--- a/app/docs/components/alert/variant/AlertWithDismissIcon.tsx
+++ b/app/docs/components/alert/variant/AlertWithDismissIcon.tsx
@@ -1,8 +1,6 @@
'use client'
-import Link from 'next/link'
-import { Alert } from '../../../../src'
import { useState } from 'react'
-import { Info } from 'phosphor-react'
+import { Alert } from '../../../../src'
const AlertWithDismissIcon = () => {
const [showAlert, setShowAlert] = useState(false)
@@ -10,31 +8,22 @@ const AlertWithDismissIcon = () => {
setShowAlert(!showAlert)
}
return (
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items.
+ Learn More
+
)
}
const AlertWithDismissIconCode = `
'use client'
-import Link from 'next/link'
import { useState } from 'react'
import { Alert } from 'keep-react'
-import { Info } from 'phosphor-react'
const AlertComponent = () => {
const [showAlert, setShowAlert] = useState(false)
@@ -42,21 +31,14 @@ const AlertComponent = () => {
setShowAlert(!showAlert)
}
return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+
+
+ Alert here
+ A short description followed by two actions items.
+ Learn More
+
)
}
diff --git a/app/docs/components/alert/variant/AlertWithRounded.tsx b/app/docs/components/alert/variant/AlertWithRounded.tsx
deleted file mode 100644
index 57071977..00000000
--- a/app/docs/components/alert/variant/AlertWithRounded.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-'use client'
-import Link from 'next/link'
-import { Alert } from '../../../../src'
-import { useState } from 'react'
-import { Info } from 'phosphor-react'
-
-const AlertWithRounded = () => {
- const [showAlert, setShowAlert] = useState(false)
- const onDismiss = () => {
- setShowAlert(!showAlert)
- }
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-
-const AlertWithRoundedCode = `
-'use client'
-import Link from 'next/link'
-import { useState } from 'react'
-import { Alert } from 'keep-react'
-import { Info } from 'phosphor-react'
-
-const AlertComponent = () => {
- const [showAlert, setShowAlert] = useState(false)
- const onDismiss = () => {
- setShowAlert(!showAlert)
- }
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-`
-
-export { AlertWithRounded, AlertWithRoundedCode }
diff --git a/app/docs/components/alert/variant/CustomizeAlert.tsx b/app/docs/components/alert/variant/CustomizeAlert.tsx
deleted file mode 100644
index d48376af..00000000
--- a/app/docs/components/alert/variant/CustomizeAlert.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-'use client'
-import { Alert } from '../../../../src'
-import Link from 'next/link'
-import { Info } from 'phosphor-react'
-
-const CustomizeAlert = () => {
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-
-const CustomizeAlertCode = `
-'use client'
-import Link from 'next/link'
-import { Alert } from 'keep-react'
-import { Info } from 'phosphor-react'
-
-export const AlertComponent = () => {
- return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
-
-
- )
-}
-`
-export { CustomizeAlert, CustomizeAlertCode }
diff --git a/app/docs/components/alert/variant/DefaultAlert.tsx b/app/docs/components/alert/variant/DefaultAlert.tsx
index 6f7cac4b..7bdc4397 100644
--- a/app/docs/components/alert/variant/DefaultAlert.tsx
+++ b/app/docs/components/alert/variant/DefaultAlert.tsx
@@ -1,52 +1,34 @@
'use client'
import { Alert } from '../../../../src'
-import Link from 'next/link'
-import { Info } from 'phosphor-react'
const DefaultAlert = () => {
return (
-
+
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+ Alert here
+ A short description followed by two actions items.
+ Learn More
+
)
}
const DefaultAlertCode = `
'use client'
-import Link from 'next/link'
import { Alert } from 'keep-react'
-import { Info } from 'phosphor-react'
export const AlertComponent = () => {
return (
-
-
-
-
-
-
- Default message - make it short
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry
-
- Link style
-
-
-
+
+
+
+ Alert here
+ A short description followed by two actions items.
+ Learn More
+
)
}
diff --git a/app/docs/components/areaChart/AreaChart.mdx b/app/docs/components/areaChart/AreaChart.mdx
index 24a4fe6d..dcd8a4da 100644
--- a/app/docs/components/areaChart/AreaChart.mdx
+++ b/app/docs/components/areaChart/AreaChart.mdx
@@ -3,9 +3,8 @@ import { AreaChartWithDoubleSeries, AreaChartWithDoubleSeriesCode } from './vari
import { AreaChartWithGridGraphLine, AreaChartWithGridGraphLineCode } from './variant/ChartWithGridlineGraphline'
import { SmoothAreaChart, SmoothAreaChartCode } from './variant/SmoothAreaChart'
import { areaChartAPIData } from './AreaChartApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
diff --git a/app/docs/components/areaChart/AreaChartApi.ts b/app/docs/components/areaChart/AreaChartApi.ts
index 72e10805..ed2459c2 100644
--- a/app/docs/components/areaChart/AreaChartApi.ts
+++ b/app/docs/components/areaChart/AreaChartApi.ts
@@ -97,4 +97,18 @@ export const areaChartAPIData = [
propsDescription: 'Color for the secondary area stroke',
default: '#94ABFF',
},
+ {
+ id: 15,
+ propsName: 'tooltipBtnVariant',
+ propsType: ['primary', 'dashed', 'text', 'linkPrimary', 'linkGray', 'outlineGray', 'outlinePrimary', 'default'],
+ propsDescription: 'Variant of the tooltip button.',
+ default: 'default',
+ },
+ {
+ id: 16,
+ propsName: 'tooltipBtnStyle',
+ propsType: 'string',
+ propsDescription: 'Custom style of the tooltip.',
+ default: 'None',
+ },
]
diff --git a/app/docs/components/avatar/avatar.mdx b/app/docs/components/avatar/avatar.mdx
index a9dc8347..ddd35197 100644
--- a/app/docs/components/avatar/avatar.mdx
+++ b/app/docs/components/avatar/avatar.mdx
@@ -3,11 +3,12 @@ import { ShapeAvatar, ShapeAvatarCode } from './variant/ShapeAvatar'
import { SizesOfAvatar, SizesOfAvatarCode } from './variant/SizesOfAvatar'
import { ImageOfAvatar, ImageOfAvatarCode } from './variant/ImageOfAvatar'
import { StatusOfAvatar, StatusOfAvatarCode } from './variant/StatusOfAvatar'
-import { NotificationOfAvatar, NotificationOfAvatarCode } from './variant/NotificationOfAvatar'
+import { AvatarGroup, AvatarGroupCode } from './variant/AvatarGroup'
+
import { avatarApiData } from './avatarApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -23,7 +24,7 @@ When you enable the placeholder option, a default avatar image appears when ther
## Avatar Shapes
-Choose from three different avatar shapes: round, round square, or square. Just use the `shape` prop with values: `"circle"`, `"rounded"`, or `"square"`.
+Choose between two avatar shapes: rounded and circle. Utilize the shape prop with values `"circle"` or `"rounded"`.
@@ -31,7 +32,7 @@ Choose from three different avatar shapes: round, round square, or square. Just
## Avatar Sizes
-There are various avatar sizes to fit your design. To change the size, use the `size` prop with values: `xs`, `sm`, `md`, `lg`, `xl`, or `2xl`.
+There are various avatar sizes to fit your design. To change the size, use the `size` prop with values: `"sm"`, `"md"`, `"lg"`, `"xl"`, or `"2xl"`.
@@ -39,7 +40,7 @@ There are various avatar sizes to fit your design. To change the size, use the `
## Using User Images
-Instead of an icon, you can display a user's image. Use the `img` prop and provide the path to the user's image, whether it's a local or remote URL.
+Display a user's image using the `img` prop. Provide the path to the user's image, whether it's a local or remote URL.
@@ -47,18 +48,18 @@ Instead of an icon, you can display a user's image. Use the `img` prop and provi
## Avatar Status
-The avatar's status reflects the user's availability. You can show the user's status using the `status` prop with values: `online`, `offline`, `away`, or `busy`. You can also customize the status position with the `statusPosition` prop, which accepts values: `bottom-left`, `bottom-right`, `top-left`, or `top-right`.
+The avatar's status reflects the user's availability. Show the user's status using the `"active"` prop, and use the `"verified"` prop to indicate a verified status.
-## Avatar Notifications
+## Avatar Group
-You can use the avatar to indicate notifications for the user. Use the `status` prop with values: `"online"`, `"offline"`, `"away"`, or `"busy"` and set the `statusType` prop to `notification` to display notification indicators.
+Display multiple avatars in a group setting. Customize the layout for visually appealing designs.
-
-
+
+
## API Reference
diff --git a/app/docs/components/avatar/avatarApi.ts b/app/docs/components/avatar/avatarApi.ts
index 43a130d5..9722a848 100644
--- a/app/docs/components/avatar/avatarApi.ts
+++ b/app/docs/components/avatar/avatarApi.ts
@@ -8,79 +8,44 @@ export const avatarApiData = [
},
{
id: 2,
- propsName: 'bordered',
- propsType: 'boolean',
- propsDescription: 'Determines if the avatar has a border.',
- default: 'false',
- },
- {
- id: 3,
propsName: 'img',
propsType: 'string',
propsDescription: "Path to the user's image",
default: '/avatar.png',
},
{
- id: 4,
+ id: 3,
propsName: 'size',
- propsType: ['xs', 'sm', 'md', 'lg', 'xl', '2xl'],
+ propsType: ['sm', 'md', 'lg', 'xl', '2xl'],
propsDescription: 'Specifies the size of the avatar',
default: 'md',
},
{
- id: 5,
- propsName: 'shape',
- propsType: ['circle', 'rounded', 'square'],
- propsDescription: 'The shape of the avatar.',
- default: 'square',
+ id: 7,
+ propsName: 'color',
+ propsType: ['primary', 'secondary', 'success', 'warning', 'error'],
+ propsDescription: 'Specifies the color of the avatar',
+ default: 'secondary',
},
{
- id: 6,
- propsName: 'stacked',
- propsType: 'boolean',
- propsDescription: 'Specifies if avatars should be stacked together.',
- default: 'false',
+ id: 4,
+ propsName: 'shape',
+ propsType: ['circle', 'rounded'],
+ propsDescription: 'The shape of the avatar.',
+ default: 'circle',
},
{
- id: 8,
+ id: 5,
propsName: 'status',
- propsType: ['away', 'busy', 'offline', 'online'],
+ propsType: 'boolean',
propsDescription: "Reflects the user's availability status.",
- default: 'None',
- },
- {
- id: 9,
- propsName: 'statusType',
- propsType: ['dot', 'notification'],
- propsDescription: 'Specifies the type of status',
- default: 'None',
- },
- {
- id: 10,
- propsName: 'statusPosition',
- propsType: ['bottom-left', 'bottom-right', 'top-left', 'top-right'],
- propsDescription: 'Specifies the position of the status indicator.',
- default: 'bottom-right',
- },
- {
- id: 11,
- propsName: 'totalNotification',
- propsType: 'number',
- propsDescription: 'Total number of notifications',
- default: '99',
+ default: 'false',
},
{
- id: 12,
+ id: 6,
propsName: 'className',
propsType: 'string',
propsDescription: 'Injects the class name in avatar',
default: 'None',
},
- {
- id: 13,
- propsName: 'statusStyle',
- propsType: 'string',
- propsDescription: 'Injects the class name in avatar status',
- default: 'None',
- },
]
diff --git a/app/docs/components/avatar/variant/AvatarGroup.tsx b/app/docs/components/avatar/variant/AvatarGroup.tsx
new file mode 100644
index 00000000..986a4560
--- /dev/null
+++ b/app/docs/components/avatar/variant/AvatarGroup.tsx
@@ -0,0 +1,33 @@
+'use client'
+import { Avatar } from '../../../../src'
+
+const AvatarGroup = () => {
+ return (
+
+
+
+
+
+ +9
+
+ )
+}
+
+const AvatarGroupCode = `
+'use client'
+import { Avatar } from 'keep-react'
+
+const AvatarGroupComponent = () => {
+ return (
+
+
+
+
+
+ +9
+
+ )
+}
+`
+
+export { AvatarGroup, AvatarGroupCode }
diff --git a/app/docs/components/avatar/variant/DefaultAvatar.tsx b/app/docs/components/avatar/variant/DefaultAvatar.tsx
index 84aaa039..cb0d7dee 100644
--- a/app/docs/components/avatar/variant/DefaultAvatar.tsx
+++ b/app/docs/components/avatar/variant/DefaultAvatar.tsx
@@ -6,11 +6,11 @@ const DefaultAvatar = () => {
}
const DefaultAvatarCode = `
-"use client";
-import { Avatar } from "keep-react";
+'use client'
+import { Avatar } from 'keep-react'
export const AvatarComponent = () => {
- return ;
+ return
}
`
diff --git a/app/docs/components/avatar/variant/ImageOfAvatar.tsx b/app/docs/components/avatar/variant/ImageOfAvatar.tsx
index c58752e1..8b130646 100644
--- a/app/docs/components/avatar/variant/ImageOfAvatar.tsx
+++ b/app/docs/components/avatar/variant/ImageOfAvatar.tsx
@@ -4,21 +4,23 @@ import { Avatar } from '../../../../src'
const ImageOfAvatar = () => {
return (
)
}
const StatusOfAvatarCode = `
-"use client";
+'use client'
import { Avatar } from "keep-react";
export const AvatarComponent = () => {
return (
<>
-
-
-
-
+
+
>
);
}
diff --git a/app/docs/components/avatarGroup/avatarGroup.mdx b/app/docs/components/avatarGroup/avatarGroup.mdx
deleted file mode 100644
index f736726a..00000000
--- a/app/docs/components/avatarGroup/avatarGroup.mdx
+++ /dev/null
@@ -1,47 +0,0 @@
-import { DefaultAvatarGroupCode, DefaultAvatarGroup } from './variant/DefaultAvatarGroup'
-import { AvatarWithAddIcon, AvatarWithAddIconCode } from './variant/AvatarWithAddIcon'
-import { AvatarWithCounter, AvatarWithCounterCode } from './variant/AvatarWithCounter'
-import { AvatarWithPlusCounter, AvatarWithPlusCounterCode } from './variant/AvatarWithAddCounter'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
-
-## Table of Contents
-
-The Keep React's Avatar component allows you to showcase user avatars or profile images consistently and aesthetically. With customizable choices for placeholders, shapes, status icons, and sizes, you can craft adaptable avatars to suit your design objectives.
-
-## Default Avatar Group
-
-The Avatar Group component simplifies the display of user avatars or profile images within a group.
-
-
-
-
-
-## Avatar Group With Add Icon
-
-Improve user interactions with the Avatar Group by adding an icon for user addition. Showcase avatar images within the group, accompanied by a plus button icon, enabling users to add new members effortlessly.
-
-
-
-
-
-## Avatar Group With Counter
-
-The Avatar Group with Counter component exhibits a limited set of avatar images while representing the remaining users numerically with a label like `"+99"` or a similar indicator.
-
-
-
-
-
-## Avatar Group With Plus Counter
-
-Enhance user engagement with the Avatar Group with Plus Counter feature. Display a concise collection of avatar images while indicating additional members with a numeric badge, such as `"+99"`.
-
-
-
-
-
-## Reference
-
-To access the available props for avatars and customize their themes, please follow this documentation [Avatar](https://react.keepdesign.io/docs/components/avatar) .
diff --git a/app/docs/components/avatarGroup/index.tsx b/app/docs/components/avatarGroup/index.tsx
deleted file mode 100644
index 5f7733df..00000000
--- a/app/docs/components/avatarGroup/index.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-'use client'
-import type { FC } from 'react'
-import AvatarGroupDocsContent from './avatarGroup.mdx'
-
-const AvatarGroupDocs: FC = () =>
-
-export default AvatarGroupDocs
diff --git a/app/docs/components/avatarGroup/page.tsx b/app/docs/components/avatarGroup/page.tsx
deleted file mode 100644
index b6c03a4e..00000000
--- a/app/docs/components/avatarGroup/page.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
-import AvatarGroupDocs from '.'
-
-export const metadata: Metadata = {
- description:
- 'The Avatar Group component in the Keep React allows you to display user avatars or profile images in a consistent and visually appealing manner. With customizable options for placeholders, shapes, status icons, and sizes, you can create versatile avatars to suit your design needs.',
- title: 'Avatar Group - Keep React',
-}
-
-const page: NextPage = () => {
- return (
-
-
-
- )
-}
-
-export default page
diff --git a/app/docs/components/avatarGroup/variant/AvatarWithAddCounter.tsx b/app/docs/components/avatarGroup/variant/AvatarWithAddCounter.tsx
deleted file mode 100644
index 6d58ab92..00000000
--- a/app/docs/components/avatarGroup/variant/AvatarWithAddCounter.tsx
+++ /dev/null
@@ -1,76 +0,0 @@
-'use client'
-import { Avatar } from '../../../../src'
-
-const AvatarWithPlusCounter = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-const AvatarWithPlusCounterCode = `
-"use client";
-import { Avatar } from "keep-react";
-
-export const AvatarGroupComponent = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- );
-};
-`
-
-export { AvatarWithPlusCounterCode, AvatarWithPlusCounter }
diff --git a/app/docs/components/avatarGroup/variant/AvatarWithAddIcon.tsx b/app/docs/components/avatarGroup/variant/AvatarWithAddIcon.tsx
deleted file mode 100644
index 59c818e9..00000000
--- a/app/docs/components/avatarGroup/variant/AvatarWithAddIcon.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-'use client'
-import { Avatar } from '../../../../src'
-
-const AvatarWithAddIcon = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-const AvatarWithAddIconCode = `
-'use client';
-import { Avatar } from "keep-react";
-
-export const AvatarGroupComponent = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- );
-};
-`
-export { AvatarWithAddIcon, AvatarWithAddIconCode }
diff --git a/app/docs/components/avatarGroup/variant/AvatarWithCounter.tsx b/app/docs/components/avatarGroup/variant/AvatarWithCounter.tsx
deleted file mode 100644
index 5781e81b..00000000
--- a/app/docs/components/avatarGroup/variant/AvatarWithCounter.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-'use client'
-import { Avatar } from '../../../../src'
-
-const AvatarWithCounter = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-const AvatarWithCounterCode = `
-"use client";
-import { Avatar } from "keep-react";
-
-export const AvatarGroupComponent = () => {
- return (
-
-
-
-
-
-
-
-
-
-
- );
-};
-`
-
-export { AvatarWithCounter, AvatarWithCounterCode }
diff --git a/app/docs/components/avatarGroup/variant/DefaultAvatarGroup.tsx b/app/docs/components/avatarGroup/variant/DefaultAvatarGroup.tsx
deleted file mode 100644
index 816a799c..00000000
--- a/app/docs/components/avatarGroup/variant/DefaultAvatarGroup.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-'use client'
-import { Avatar } from '../../../../src'
-
-const DefaultAvatarGroup = () => {
- return (
-
-
-
-
-
-
-
-
-
- )
-}
-
-const DefaultAvatarGroupCode = `
-"use client";
-import { Avatar } from "keep-react";
-
-export const AvatarGroupComponent = () => {
- return (
-
-
-
-
-
-
-
-
-
- );
-};
-`
-
-export { DefaultAvatarGroupCode, DefaultAvatarGroup }
diff --git a/app/docs/components/badge/badge.mdx b/app/docs/components/badge/badge.mdx
index eca38308..1ebb9ff4 100644
--- a/app/docs/components/badge/badge.mdx
+++ b/app/docs/components/badge/badge.mdx
@@ -1,13 +1,12 @@
import { DefaultBadge, DefaultBadgeCode } from './variant/DefaultBadge'
import { SizesOfBadge, SizesOfBadgeCode } from './variant/SizesOfBadge'
import { VariantOfBadge, VariantOfBadgeCode } from './variant/VariantOfBadge'
-import { IconWithBadge, IconWithBadgeCode } from './variant/IconWithBadge'
import { BadgeWithDot, BadgeWithDotCode } from './variant/BadgeWithDot'
-import { OnlyIconOfBadge, OnlyIconOfBadgeCode } from './variant/BadgeWithOnlyIcon'
+
import { badgeApiData } from './badgeApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -15,7 +14,7 @@ The Badge component in the Keep React allows you to add visual indicators or lab
## Default Badge
-The default badge offers a simple yet effective way to highlight information. It's a versatile component that can be customized to suit various design requirements.
+The default badge is a versatile component that allows you to add visual indicators or labels to highlight specific information. It offers a simple yet effective way to enhance your design.
@@ -23,7 +22,7 @@ The default badge offers a simple yet effective way to highlight information. It
## Sizes of Badge
-The Badge component provides two available sizes: `xs` (extra small) and `sm` (small), allowing you to choose the appropriate size for your specific design needs.
+Choose from two available sizes for the Badge component: `sm` (small) and `md` (medium). This flexibility allows you to tailor the badge to your specific design needs.
@@ -31,36 +30,20 @@ The Badge component provides two available sizes: `xs` (extra small) and `sm` (s
## Variant of Badge
-The Badge component offers three variants: `colorType="light"`,`colorType="strong"` and `badgeType="text"`. These variants provide options for different visual styles, allowing you to choose the one that best suits your design and helps highlight the badge content effectively.
+The Badge component offers three variants: `variant="base"`, `variant="border"`, and `variant="background"`. These variants provide options for different visual styles, allowing you to choose the one that best suits your design and effectively highlights the badge content.
-## Icon With Badge
-
-The Badge component can be combined with an icon to create an enhanced visual element that conveys additional information or status. You can position the icon on either the `iconPosition="left"` or `iconPosition="right"` side of the badge, allowing you to customize the badge's appearance and ensure its compatibility with your design.
-
-
-
-
-
## Badge With Dot
-You can display a badge with a dot by setting the `dot` prop to `true`. Additionally, you can customize the position of the dot by using the `dotPosition` prop, allowing you to choose between `left` and `right`.
+Display a badge with a dot by setting the `showIcon` prop to `true`. Customize the position of the dot with the `iconPosition` prop, choosing between `left` and `right`.
-## Only Icon With Badge
-
-You can utilize the Badge component to create badges with just icons. This is especially useful when you want to display a compact and visually informative badge alongside an icon.
-
-
-
-
-
## API Reference
Explore the available props for the Badge component
diff --git a/app/docs/components/badge/badgeApi.ts b/app/docs/components/badge/badgeApi.ts
index c9445b6b..8f3c09d8 100644
--- a/app/docs/components/badge/badgeApi.ts
+++ b/app/docs/components/badge/badgeApi.ts
@@ -2,86 +2,51 @@ export const badgeApiData = [
{
id: 1,
propsName: 'color',
- propsType: ['error', 'gray', 'info', 'success', 'warning'],
+ propsType: ['primary', 'secondary', 'success', 'warning', 'error'],
propsDescription: 'Available Badge color.',
- default: 'gray',
+ default: 'primary',
},
{
id: 2,
- propsName: 'colorType',
- propsType: ['light', 'strong'],
- propsDescription: 'Color type of the badge',
- default: 'light',
+ propsName: 'variant',
+ propsType: ['base', 'border', 'background'],
+ propsDescription: 'Variant the badge',
+ default: 'base',
},
{
id: 3,
- propsName: 'badgeType',
- propsType: ['default', 'outline', 'text'],
- propsDescription: 'Type of the badge',
- default: 'default',
+ propsName: 'size',
+ propsType: ['xs', 'sm'],
+ propsDescription: 'Size variant of the badge.',
+ default: 'sm',
},
+
{
id: 4,
- propsName: 'href',
- propsType: 'string',
- propsDescription: 'URL to navigate when the badge is clicked.',
- default: 'None',
+ propsName: 'showIcon',
+ propsType: 'boolean',
+ propsDescription: 'Icon show in badge show or not?',
+ default: 'false',
},
{
id: 5,
- propsName: 'icon',
- propsType: 'ReactNode',
- propsDescription: 'Icon element to be displayed inside the badge.',
- default: '',
- },
- {
- id: 6,
propsName: 'iconPosition',
propsType: ['left', 'right'],
propsDescription: 'Position of the icon inside the badge.',
default: 'right',
},
{
- id: 7,
+ id: 6,
propsName: 'className',
propsType: 'string',
propsDescription: 'Custom CSS class to be added to the badge.',
default: 'None',
},
{
- id: 12,
+ id: 7,
propsName: 'dotStyle',
propsType: 'string',
propsDescription: 'Custom style to be added to the badge.',
default: 'None',
},
- {
- id: 13,
- propsName: 'iconStyle',
- propsType: 'string',
- propsDescription: 'Custom style to be added to the badge icon.',
- default: 'None',
- },
- {
- id: 8,
- propsName: 'size',
- propsType: ['xs', 'sm'],
- propsDescription: 'Size variant of the badge.',
- default: 'sm',
- },
-
- {
- id: 10,
- propsName: 'dot',
- propsType: 'boolean',
- propsDescription: 'Show a dot on the badge.',
- default: 'false',
- },
- {
- id: 11,
- propsName: 'dotPosition',
- propsType: ['left', 'right'],
- propsDescription: 'Position of the dot inside the badge',
- default: 'right',
- },
]
diff --git a/app/docs/components/badge/variant/BadgeWithDot.tsx b/app/docs/components/badge/variant/BadgeWithDot.tsx
index 3ad09058..ed22f575 100644
--- a/app/docs/components/badge/variant/BadgeWithDot.tsx
+++ b/app/docs/components/badge/variant/BadgeWithDot.tsx
@@ -3,20 +3,29 @@ import { Badge } from '../../../../src'
const BadgeWithDot = () => {
return (
-
+ <>
+ Base
+ Border
+ Background
+ >
);
};
`
diff --git a/app/docs/components/barChart/BarChart.mdx b/app/docs/components/barChart/BarChart.mdx
index 5fde3e6f..b81204a2 100644
--- a/app/docs/components/barChart/BarChart.mdx
+++ b/app/docs/components/barChart/BarChart.mdx
@@ -8,9 +8,8 @@ import {
CustomizedBarSizeWithAxisDataCode,
} from './variant/CustomizedBarSizeWithAxisData'
import { barChartAPIData } from './BarChartApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
diff --git a/app/docs/components/barChart/BarChartApi.ts b/app/docs/components/barChart/BarChartApi.ts
index 0fe0c867..b75a9da6 100644
--- a/app/docs/components/barChart/BarChartApi.ts
+++ b/app/docs/components/barChart/BarChartApi.ts
@@ -160,4 +160,18 @@ export const barChartAPIData = [
propsDescription: 'Key in the data array for the Y-axis data.',
default: 'None',
},
+ {
+ id: 24,
+ propsName: 'tooltipBtnVariant',
+ propsType: ['primary', 'dashed', 'text', 'linkPrimary', 'linkGray', 'outlineGray', 'outlinePrimary', 'default'],
+ propsDescription: 'Variant of the tooltip button.',
+ default: 'default',
+ },
+ {
+ id: 25,
+ propsName: 'tooltipBtnStyle',
+ propsType: 'string',
+ propsDescription: 'Custom style of the tooltip.',
+ default: 'None',
+ },
]
diff --git a/app/docs/components/breadcrumb/breadcrumb.mdx b/app/docs/components/breadcrumb/breadcrumb.mdx
index 1f642dde..6cc3bdd3 100644
--- a/app/docs/components/breadcrumb/breadcrumb.mdx
+++ b/app/docs/components/breadcrumb/breadcrumb.mdx
@@ -1,66 +1,57 @@
import { DefaultBreadcrumb, DefaultBreadcrumbCode } from './variant/DefaultBreadcrumb'
+import { CustomizeBreadcrumb, CustomizeBreadcrumbCode } from './variant/CustomizeBreadcrumb'
import { BreadcrumbWithBorder, BreadcrumbWithBorderCode } from './variant/BreadcrumbWithBorder'
-import { BreadcrumbWithPageIcon, BreadcrumbWithPageIconCode } from './variant/BreadcrumbWithPageIcon'
-import { BreadcrumbWithSeparatorIcon, BreadcrumbWithSeparatorIconCode } from './variant/BreadcrumbWithSeparatorIcon'
-import { BreadcrumbWithNumber, BreadcrumbWithNumberCode } from './variant/BreadcrumbWithNumber'
+import { BreadcrumbDividerIcon, BreadcrumbDividerIconCode } from './variant/BreadcrumbDividerIcon'
+
import { breadcrumbApiData, breadcrumbItemApiData } from './breadcrumbApi'
+import CodePreview from '../../../components/CodePreview'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-The Breadcrumbs component in the Keep React provides a navigation aid that allows users to understand their current location within a website or application. With customizable options for type, icon, divider, line, and style, you can create breadcrumbs that align with your design and enhance the navigation experience.
+The Breadcrumbs component in Keep React serves as a navigation aid, enabling users to comprehend their current location within a website or application. With customizable options for type, icon, divider, line, and style, you can create breadcrumbs that seamlessly integrate with your design and enhance the navigation experience.
## Default Breadcrumb
-The default Breadcrumbs component provides a simple and intuitive way for users to understand their current location within a website or application.
+The default Breadcrumbs component offers a simple and intuitive way for users to grasp their current location within a website or application.
-## Breadcrumb With Border
+## Border Types
-The Breadcrumbs component with the `breadCrumbWithBorder` prop set to `true` adds a subtle border around each breadcrumb item, providing a clear visual separation between the items.
+The Breadcrumbs component includes the `borderType` prop with two possible values: `"border-xy"` and `"border-y"`.
-## Breadcrumb With Page Icon
-
-By utilizing the `icon` prop and providing an appropriate icon component, such as ``, you can visually represent each page or section within the breadcrumb navigation, making it easier for users to identify their current location within the website or application.
-
-
-
-
-
-## Breadcrumb With Separator Icon
+## Divider Icon Type
-You can further customize the appearance of your breadcrumb navigation by adding a separator icon between items using the `separatorIcon` with any icon.
+The Breadcrumbs component incorporates the `dividerIconStyle` prop with two possible values: `"slash"` and `"caret"`.
-
-
+
+
-## Breadcrumb With Number Item
+## Customize Breadcrumb
-Enhance user navigation through step-by-step processes or hierarchical sections by incorporating numbered items into the Breadcrumbs component.
+You can customize the breadcrumb component using the `className` props. Additionally, we provide more APIs for customizable options.
-
-
+
+
## Breadcrumb API Reference
-Explore the available props for the `` component
+Explore the available props for the `` component.
-## Breadcrumb Item API Reference
+## Item API Reference
-Explore the available props for the `` component
+Explore the available props for the `` component.
diff --git a/app/docs/components/breadcrumb/breadcrumbApi.ts b/app/docs/components/breadcrumb/breadcrumbApi.ts
index 965c0387..eedc7420 100644
--- a/app/docs/components/breadcrumb/breadcrumbApi.ts
+++ b/app/docs/components/breadcrumb/breadcrumbApi.ts
@@ -1,30 +1,37 @@
export const breadcrumbApiData = [
{
id: 1,
- propsName: 'separatorIcon',
- propsType: 'ReactNode',
+ propsName: 'borderType',
+ propsType: ['border-xy', 'border-y'],
propsDescription: 'Icon to be used as a separator between breadcrumb items.',
default: '',
},
{
id: 2,
- propsName: 'breadCrumbWithBorder',
- propsType: 'boolean',
- propsDescription: 'Add a border around the breadcrumb container.',
- default: 'false',
+ propsName: 'dividerIcon',
+ propsType: 'ReactNode',
+ propsDescription: 'An icon element to display within the breadcrumb items.',
+ default: 'None',
},
{
id: 3,
- propsName: 'className',
- propsType: 'string',
- propsDescription: 'Custom class to be added to the breadcrumb.',
- default: 'None',
+ propsName: 'dividerIconStyle',
+ propsType: ['slash', 'caret'],
+ propsDescription: 'An icon element to display within the breadcrumb items.',
+ default: 'caret',
},
{
id: 4,
- propsName: 'listStyle',
+ propsName: 'icon',
+ propsType: 'ReactNode',
+ propsDescription: 'Breadcrumb main icon',
+ default: 'Home',
+ },
+ {
+ id: 5,
+ propsName: 'className',
propsType: 'string',
- propsDescription: 'Custom class to be added to the breadcrumb list wrapper.',
+ propsDescription: 'Custom class to be added to the breadcrumb.',
default: 'None',
},
]
@@ -39,27 +46,13 @@ export const breadcrumbItemApiData = [
},
{
id: 2,
- propsName: 'icon',
- propsType: 'ReactNode',
- propsDescription: 'An icon element to display within the breadcrumb.',
- default: 'None',
- },
- {
- id: 3,
- propsName: 'active',
- propsType: ['border', 'bar', 'base'],
- propsDescription: 'Defines the active state style for the breadcrumb.',
+ propsName: 'activeType',
+ propsType: ['border', 'base'],
+ propsDescription: 'Defines the active state style for the breadcrumb item.',
default: 'base',
},
{
- id: 4,
- propsName: 'disabled',
- propsType: 'boolean',
- propsDescription: 'Disables the breadcrumb, making it uncheckable.',
- default: 'false',
- },
- {
- id: 5,
+ id: 3,
propsName: 'className',
propsType: 'string',
propsDescription: 'Custom class to be added to the breadcrumb item wrapper.',
diff --git a/app/docs/components/breadcrumb/variant/BreadcrumbDividerIcon.tsx b/app/docs/components/breadcrumb/variant/BreadcrumbDividerIcon.tsx
new file mode 100644
index 00000000..e21acad8
--- /dev/null
+++ b/app/docs/components/breadcrumb/variant/BreadcrumbDividerIcon.tsx
@@ -0,0 +1,49 @@
+'use client'
+import { Breadcrumb } from '../../../../src'
+
+const BreadcrumbDividerIcon = () => {
+ return (
+ <>
+
+ Overview
+ Pools
+ Tokens
+ Color
+
+
+ Overview
+ Pools
+ Color
+
+
+ Overview
+ Pools
+ Tokens
+ Color
+
+
+ Overview
+ Pools
+ Color
+
+ >
+ )
+}
+
+const BreadcrumbDividerIconCode = `
+'use client'
+import { Breadcrumb } from 'keep-react'
+
+export const BreadcrumbComponent = () => {
+ return (
+
+ Overview
+ Pools
+ Tokens
+ Color
+
+ )
+}
+`
+
+export { BreadcrumbDividerIcon, BreadcrumbDividerIconCode }
diff --git a/app/docs/components/breadcrumb/variant/BreadcrumbWithBorder.tsx b/app/docs/components/breadcrumb/variant/BreadcrumbWithBorder.tsx
index 4b904569..5fc52727 100644
--- a/app/docs/components/breadcrumb/variant/BreadcrumbWithBorder.tsx
+++ b/app/docs/components/breadcrumb/variant/BreadcrumbWithBorder.tsx
@@ -1,93 +1,48 @@
'use client'
import { Breadcrumb } from '../../../../src'
-import { CaretRight } from 'phosphor-react'
const BreadcrumbWithBorder = () => {
return (
-
-
- Extra Small
-
-
- Small Button
-
-
- Medium Button
-
-
- Large Button
-
-
- Extra Large
-
-
- Button of 2xl
-
+ Extra Small
+ Small Button
+ Medium Button
+ Large Button
+ Extra Large
+ Button of 2xl
)
}
const KeepButtonSizeCode = `
-"use client";
-import { Button } from "keep-react;
+'use client'
+import { Button } from 'keep-react'
export const ButtonComponent = () => {
return (
<>
- Extra Small
- Small Button
- Medium Button
- Large Button
- Extra Large
- Button of 2xl
+ Extra Small
+ Small Button
+ Medium Button
+ Large Button
+ Extra Large
+ Button of 2xl
>
);
};
diff --git a/app/docs/components/button/variant/KeepButtonType.tsx b/app/docs/components/button/variant/KeepButtonType.tsx
index 23726da5..29b536fd 100644
--- a/app/docs/components/button/variant/KeepButtonType.tsx
+++ b/app/docs/components/button/variant/KeepButtonType.tsx
@@ -4,52 +4,84 @@ import { Button } from '../../../../src'
const KeepButtonType = () => {
return (
)
}
const DefaultButtonGroupCode = `
-"use client";
-import { Button } from "keep-react";
+'use client'
+import { Button } from 'keep-react'
export const ButtonGroupComponent = () => {
return (
- Profile
- Settings
- Messages
+ Profile
+ Settings
+ Messages
- );
-};
+ )
+}
`
export { DefaultButtonGroup, DefaultButtonGroupCode }
diff --git a/app/docs/components/card/card.mdx b/app/docs/components/card/card.mdx
index 416c266b..db5e80b4 100644
--- a/app/docs/components/card/card.mdx
+++ b/app/docs/components/card/card.mdx
@@ -1,86 +1,43 @@
import { DefaultCard, DefaultCardCode } from './variant/DefaultCard'
-import { CardWithIcon, CardWithIconCode } from './variant/CardWithIcon'
-import { ProfileCard, ProfileCardCode } from './variant/ProfileCard'
-import { PostCard, PostCardCode } from './variant/PostCard'
+import { RegisterCard, RegisterCardCode } from './variant/RegisterCard'
+import { CardWithAvatar, CardWithAvatarCode } from './variant/CardWithAvatar'
import { ProductCard, ProductCardCode } from './variant/ProductCard'
-import { PricingCard, PricingCardCode } from './variant/PricingCard'
-import { HorizontalCard, HorizontalCardCode } from './variant/HorizontalCard'
import { cardAPIData } from './cardApi'
-import { ProfileCardWithCover, ProfileCardWithCoverCode } from './variant/ProfileCardWithCover'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-The card component in the Keep React offers a variety of button types, sizes, and states to meet your design needs. With options for icons and destructiveness, you can create visually appealing and functional buttons for your product.
+The card component in Keep React offers a variety of button types, sizes, and states to meet your design needs. With options for icons and destructiveness, you can create visually appealing and functional buttons for your product.
## Default Card
-The Default Card in the Keep React is a foundational component that provides a clean and straightforward appearance. It serves as a starting point for creating more complex card designs.
+The Default Card in Keep React is a foundational component that provides a clean and straightforward appearance. It serves as a starting point for creating more complex card designs.
-## Card With Icon
+## Card with avatar
-The Card component in the Keep React can be enhanced with icons to provide additional visual context and meaning. By incorporating icons into your cards, you can effectively communicate information and improve the overall user experience.
+Any component can be placed inside the card, including avatars.
-
-
+
+
-## Profile Card
+## Card with product
-The Profile Card is a specialized variant of the Card component in the Keep React that is specifically designed to display user profiles. It combines textual information with icons and images to create a visually appealing and informative representation of an individual's profile.
-
-
-
-
-
-## Profile Card With Cover Image
-
-The Profile Card with Cover Image is an extended version of the Profile Card component in the Keep React. It includes a prominent cover image alongside the user's profile information, offering a visually striking way to showcase individuals' profiles.
-
-
-
-
-
-## Post Card
-
-This component is particularly useful for creating an organized and engaging display of your blog content, allowing users to quickly browse through and access your latest articles.
-
-
-
-
-
-## Product Card
-
-It provides a structured layout that includes key details about each product, such as the product image, title, price, and a brief description. This component is designed to effectively present your products to users, making it easier for them to evaluate and make purchase decisions.
+Any component can be placed inside the card, including avatars.
-## Horizontal Card
+## Register Card
-To make a card in Horizontal view you need to set `horizontal` props as `true`.
+Here we design a demo register card for the user. Customize it as desired using the className props.
-
-
+
+
-
-## Pricing Card
-
-It offers a structured layout that includes details such as the plan name, price, features, and call-to-action buttons. This component is particularly useful for displaying pricing options in a clear and organized manner, helping users make informed decisions about which plan suits their needs best.
-
-
-
-
-
-## API Reference
-
-Explore the available props for the card component
-
-
diff --git a/app/docs/components/card/cardApi.ts b/app/docs/components/card/cardApi.ts
index 0a834a01..ba836928 100644
--- a/app/docs/components/card/cardApi.ts
+++ b/app/docs/components/card/cardApi.ts
@@ -1,58 +1 @@
-export const cardAPIData = [
- {
- id: 1,
- propsName: 'shadow',
- propsType: 'boolean',
- propsDescription: 'Toggle the shadow effect for the card.',
- default: 'false',
- },
- {
- id: 2,
- propsName: 'border',
- propsType: 'boolean',
- propsDescription: 'Toggle the border for the card.',
- default: 'false',
- },
- {
- id: 3,
- propsName: 'horizontal',
- propsType: 'boolean',
- propsDescription: 'Display the card content horizontally.',
- default: 'false',
- },
- {
- id: 4,
- propsName: 'href',
- propsType: 'string',
- propsDescription: 'URL link for the card.',
- default: 'None',
- },
- {
- id: 5,
- propsName: 'imgAlt',
- propsType: 'string',
- propsDescription: "Alt text for the card's background image.",
- default: 'None',
- },
- {
- id: 6,
- propsName: 'imgSrc',
- propsType: 'string',
- propsDescription: "Source URL for the card's background image.",
- default: 'URL',
- },
- {
- id: 7,
- propsName: 'imgSize',
- propsType: ['sm', 'md', 'lg'],
- propsDescription: "Size of the card's background image.",
- default: 'lg',
- },
- {
- id: 8,
- propsName: 'className',
- propsType: 'string',
- propsDescription: 'Custom class to be added to the card.',
- default: 'None',
- },
-]
+export const cardAPIData = []
diff --git a/app/docs/components/card/page.tsx b/app/docs/components/card/page.tsx
index becbc7e4..f5089413 100644
--- a/app/docs/components/card/page.tsx
+++ b/app/docs/components/card/page.tsx
@@ -1,10 +1,10 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import CardDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
- 'The Card component in the Keep React library is a versatile and visually appealing UI element designed for React applications. It provides a structured container for displaying various types of content, such as text, images, buttons, and more, in an organized and elegant manner.',
+ 'The card component in Keep React offers a variety of button types, sizes, and states to meet your design needs. With options for icons and destructiveness, you can create visually appealing and functional buttons for your product.',
title: 'Card - Keep React',
}
diff --git a/app/docs/components/card/variant/CardWithAvatar.tsx b/app/docs/components/card/variant/CardWithAvatar.tsx
new file mode 100644
index 00000000..1b5746d4
--- /dev/null
+++ b/app/docs/components/card/variant/CardWithAvatar.tsx
@@ -0,0 +1,43 @@
+'use client'
+import { Avatar, Card } from '../../../../src'
+const CardWithAvatar = () => {
+ return (
+
+
+ Our Contributors
+ They help us to grow up the keep react component library
+
+
+
+
+
+ +9
+
+
+
+ )
+}
+
+const CardWithAvatarCode = `
+'use client'
+import { Avatar, Card } from 'keep-react'
+
+export const CardComponent = () => {
+ return (
+
+
+ Our Contributors
+ They help us to grow up the keep react component library
+
+
+
+
+
+ +9
+
+
+
+ )
+}
+`
+export { CardWithAvatar, CardWithAvatarCode }
diff --git a/app/docs/components/card/variant/CardWithIcon.tsx b/app/docs/components/card/variant/CardWithIcon.tsx
deleted file mode 100644
index e391d9aa..00000000
--- a/app/docs/components/card/variant/CardWithIcon.tsx
+++ /dev/null
@@ -1,156 +0,0 @@
-'use client'
-import { Button, Card, Popover } from '../../../../src'
-import { ArchiveTray, CaretRight, DotsThreeVertical, PencilCircle } from 'phosphor-react'
-
-const CardWithIcon = () => {
- return (
-
- {/* ===CARD ONE=== */}
-
-
-
-
-
-
- Keep React
-
- Component design systems can help developers to be more productive by providing them with a ready-made set
- of components to use.
-
- } iconPosition="left">
- Learn More
-
-
-
-
- {/* ===CARD TWO=== */}
-
-
-
-
-
-
-
- Keep React
-
- Component design systems can help developers to be more productive by providing them with a ready-made
- set of components to use.
-
-
-
-
-
- Keep Design System
-
-
-
-
-
-
-
- {/* ===CARD THREE=== */}
-
-
-
-
-
- Keep React
-
- Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
-
- Learn More
-
-
-
-
- )
-}
-
-const CardWithIconCode = `
-"use client";
-import { Button, Card, Popover } from "keep-react";
-import {
- ArchiveTray,
- CaretRight,
- DotsThreeVertical,
- PencilCircle,
-} from "phosphor-react";
-
-export const CardComponent = () => {
- return (
- <>
-
-
-
-
-
-
- Keep React
-
- Component design systems can help developers to be more productive
- by providing them with a ready-made set of components to use.
-
- }
- iconPosition="left"
- >
- Learn More
-
-
-
-
-
-
-
-
-
-
-
- Keep React
-
- Component design systems can help developers to be more
- productive by providing them with a ready-made set of components
- to use.
-
-
-
-
-
- Keep Design System
-
-
-
-
-
-
-
-
-
-
-
-
- Keep React
-
- Lorem Ipsum is simply dummy text of the printing and typesetting
- industry.
-
-
-
-
- Learn More
-
-
- Learn More
-
-
-
- >
- );
-};
-`
-
-export { CardWithIcon, CardWithIconCode }
diff --git a/app/docs/components/card/variant/DefaultCard.tsx b/app/docs/components/card/variant/DefaultCard.tsx
index 367ca843..4562c4c4 100644
--- a/app/docs/components/card/variant/DefaultCard.tsx
+++ b/app/docs/components/card/variant/DefaultCard.tsx
@@ -1,45 +1,37 @@
'use client'
import { Card } from '../../../../src'
-import { CaretRight } from 'phosphor-react'
const DefaultCard = () => {
return (
-
- Keep design system
-
- Component design systems can help developers to be more productive by providing them with a ready-made set of
- components to use.
-
- } iconPosition="left">
- Learn More
-
+
+
+ Keep design system
+
+ Component design systems can help developers to be more productive by providing them with a ready-made set of
+ components to use.
+
+
)
}
const DefaultCardCode = `
-"use client";
-import { Card } from "keep-react";
-import { CaretRight } from "phosphor-react";
+'use client'
+import { Card } from 'keep-react'
export const CardComponent = () => {
return (
-
- Keep React
-
- Component design systems can help developers to be more productive by
- providing them with a ready-made set of components to use.
-
- }
- iconPosition="left"
- >
- Learn More
-
+
+
+ Keep design system
+
+ Component design systems can help developers to be more productive by providing them with a ready-made set of
+ components to use.
+
+
- );
-};
+ )
+}
`
export { DefaultCard, DefaultCardCode }
diff --git a/app/docs/components/card/variant/HorizontalCard.tsx b/app/docs/components/card/variant/HorizontalCard.tsx
deleted file mode 100644
index 9fea295b..00000000
--- a/app/docs/components/card/variant/HorizontalCard.tsx
+++ /dev/null
@@ -1,104 +0,0 @@
-'use client'
-import { ArrowsOutSimple, Bed, MapPinLine, Shower, Users } from 'phosphor-react'
-import { Button, Card } from '../../../../src'
-
-const HorizontalCard = () => {
- return (
-
-
-
-
- Garden Street,Ring Road
-
-
-
-
- 3 Bed Room
-
-
-
- 1 Bath
-
-
-
-
-
- 1,032 sqft
-
-
-
- Family
-
-
-
- $649,00
-
- Check Out
-
-
-
-
- )
-}
-
-const HorizontalCardCode = `
-"use client";
-import {
- ArrowsOutSimple,
- Bed,
- Heart,
- MapPinLine,
- Shower,
- Users,
-} from "phosphor-react";
-import { Button, Card } from "keep-react";
-
-export const CardComponent = () => {
- return (
-
-
-
-
- Garden Street,Ring Road
-
-
-
-
- 3 Bed Room
-
-
-
- 1 Bath
-
-
-
-
-
- 1,032 sqft
-
-
-
- Family
-
-
-
- $649,00
-
- Check Out
-
-
-
-
- )
-}
-`
-
-export { HorizontalCard, HorizontalCardCode }
diff --git a/app/docs/components/card/variant/PostCard.tsx b/app/docs/components/card/variant/PostCard.tsx
deleted file mode 100644
index 197fa4f6..00000000
--- a/app/docs/components/card/variant/PostCard.tsx
+++ /dev/null
@@ -1,137 +0,0 @@
-'use client'
-import Image from 'next/image'
-import { Badge, Card } from '../../../../src'
-import { CaretRight } from 'phosphor-react'
-
-const PostCard = () => {
- return (
-
-
-
-
-
-
-
- Keep Design System
-
- Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quo excepturi quam incidunt tempora?
-
- }
- iconPosition="left">
- Read More
-
-
-
-
-
-
-
-
-
-
-
-
- Tips & Advice
-
-
-
- Keep Design System
-
-
- Component design systems can help developers to be more productive by providing them with a ready-made set
- of components to use.
-
-
-
-
-
- )
-}
-
-const PostCardCode = `
-"use client";
-import Image from "next/image";
-import { Badge, Card } from "keep-react";
-import { CaretRight } from "phosphor-react";
-
-export const CardComponent = () => {
- return (
- <>
-
-
-
-
-
-
-
- Keep React
-
-
- Component design systems can help developers to be more productive
- by providing them with a ready-made set of components to use.
-
- }
- iconPosition="left"
- >
- Read More
-
-
-
-
-
-
-
-
-
-
-
-
- Tips & Advice
-
-
-
- Keep React
-
-
- Component design systems can help developers to be more productive
- by providing them with a ready-made set of components to use.
-
-
-
-
- >
- );
-};
-`
-
-export { PostCard, PostCardCode }
diff --git a/app/docs/components/card/variant/PricingCard.tsx b/app/docs/components/card/variant/PricingCard.tsx
deleted file mode 100644
index 91d1ca57..00000000
--- a/app/docs/components/card/variant/PricingCard.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-'use client'
-import Image from 'next/image'
-import { CheckCircle } from 'phosphor-react'
-import { Button, Card } from '../../../../src'
-
-const PricingCard = () => {
- return (
-
-
-
-
-
-
- Business
-
- $79
- / mth
-
-
- Until recently, the prevailing view assumed.
-
-
-
-
-
- One Month Free Access
-
-
-
- All The Component Access
-
-
-
- Access Html Component
-
-
-
- Access React Component
-
-
-
-
- Pro Access
-
-
-
-
- )
-}
-
-const PricingCardCode = `
-"use client";
-import Image from "next/image";
-import { Button,Card } from "keep-react";
-import { CheckCircle } from "phosphor-react";
-
-export const CardComponent = () => {
- return (
-
-
-
-
-
-
-
- Business
-
-
- $79
-
- / mth
-
-
-
- Until recently, the prevailing view assumed.
-
-
-
-
-
-
- One Month Free Access
-
-
-
-
-
- All The Component Access
-
-
-
-
-
- Access Html Component
-
-
-
-
-
- Access React Component
-
-
-
-
-
- Pro Access
-
-
-
-
- );
-};
-`
-
-export { PricingCard, PricingCardCode }
diff --git a/app/docs/components/card/variant/ProductCard.tsx b/app/docs/components/card/variant/ProductCard.tsx
index ccf2557d..84af1fe8 100644
--- a/app/docs/components/card/variant/ProductCard.tsx
+++ b/app/docs/components/card/variant/ProductCard.tsx
@@ -1,269 +1,47 @@
'use client'
-import { Badge, PlayButton, Card, Button, Progress } from '../../../../src'
-import {
- ArrowsOutSimple,
- Bed,
- Heart,
- MapPinLine,
- Play,
- Rows,
- ShoppingCart,
- Shower,
- SkipBack,
- SkipForward,
- SpeakerHigh,
- Users,
-} from 'phosphor-react'
+import Image from 'next/image'
+import { Button, Card } from '../../../../src'
const ProductCard = () => {
return (
-
-
-
-
-
-
-
-
-
- For Sale
-
- $9.99
-
-
- Men Nike Shoe
-
- This can save time and effort, and it can also help to reduce the risk of errors.
-
-
-
-
-
-
-
- Add To Cart
-
-
-
-
-
-
-
- Keep design podcast
- By Static Mania
-
-
- 4:05
- 10:05
-
-
-
-
-
-
-
-
-
-
- } />
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Lorem ipsum dolor sit
+
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi ipsam animi voluptas perspiciatis quidem esse!
+
+
+ Buy Now
+
+
+
)
}
const ProductCardCode = `
-"use client";
-import { Badge,
-Button,
-Card,
-PlayButton,
-Progress } from "keep-react";
-import {
- ArrowsOutSimple,
- Bed,
- Heart,
- MapPinLine,
- Play,
- Rows,
- ShoppingCart,
- Shower,
- SkipBack,
- SkipForward,
- SpeakerHigh,
- Users,
-} from "phosphor-react";
+'use client'
+import Image from 'next/image'
+import { Button, Card } from 'keep-react'
export const CardComponent = () => {
return (
- <>
- {/*=== PRODUCT CARD ONE=== */}
-
-
-
-
-
-
-
- For Sale
-
- $9.99
-
-
- Men Nike Shoe
-
- This can save time and effort, and it can also help to reduce the risk of errors.
-
-
-
-
-
-
-
- Add To Cart
-
-
-
-
-
- {/*=== PRODUCT CARD TWO === */}
-
-
-
- Keep design podcast
- By Static Mania
-
-
- 4:05
- 10:05
-
-
-
-
-
-
-
-
-
-
- } />
-
-
-
-
-
-
-
-
-
-
-
- {/*=== PRODUCT CARD THREE === */}
-
-
-
-
-
-
-
-
- Garden Street,Ring Road
-
-
-
-
- 3 Bed Room
-
-
-
- 1 Bath
-
-
-
-
-
- 1,032 sqft
-
-
-
- Family
-
-
-
-
- Check Out
-
- $649,00
-
-
-
- >
+
+
+
+
+
+ Lorem ipsum dolor sit
+
+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Sequi ipsam animi voluptas perspiciatis quidem esse!
+
+
+ Buy Now
+
+
+
)
}
`
diff --git a/app/docs/components/card/variant/ProfileCard.tsx b/app/docs/components/card/variant/ProfileCard.tsx
deleted file mode 100644
index dc2f2373..00000000
--- a/app/docs/components/card/variant/ProfileCard.tsx
+++ /dev/null
@@ -1,119 +0,0 @@
-'use client'
-import { Avatar, Card } from '../../../../src'
-import { FacebookLogo, LinkedinLogo, TwitterLogo } from 'phosphor-react'
-
-const ProfileCard = () => {
- return (
-
- {/*=== PROFILE CARD ONE=== */}
-
-
- Component design systems can help developers to be more productive by providing them with a ready-made set of
- components to use. This can save time and effort, and it can also help to reduce the risk of errors.
-
-
-
-
- Md Ariful Islam
- Product Designer
-
-
-
- {/*=== PROFILE CARD TWO=== */}
-
-
-
-
-
-
- Khairul Islam Ridoy
-
- UI/UX Designer
-
-
- }
- href="#"
- />
- }
- href="#"
- />
- }
- href="#"
- />
-
-
-
- )
-}
-
-const ProfileCardCode = `
-"use client";
-import { Avatar,Card } from "keep-react";
-import { FacebookLogo, LinkedinLogo, TwitterLogo } from "phosphor-react";
-
-export const CardComponent = () => {
- return (
- <>
-
-
- Component design systems can help developers to be more productive by providing them with a ready-made set of
- components to use. This can save time and effort, and it can also help to reduce the risk of errors.
-
-
-
-
- Md Ariful Islam
- Product Designer
-
-
-
-
-
-
-
-
-
- Khairul Islam Ridoy
-
- UI/UX Designer
-
-
- }
- href="#"
- />
- }
- href="#"
- />
- }
- href="#"
- />
-
-
- >
- );
-};
-`
-
-export { ProfileCard, ProfileCardCode }
diff --git a/app/docs/components/card/variant/ProfileCardWithCover.tsx b/app/docs/components/card/variant/ProfileCardWithCover.tsx
deleted file mode 100644
index f4728e2c..00000000
--- a/app/docs/components/card/variant/ProfileCardWithCover.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-'use client'
-import { Heart } from 'phosphor-react'
-import { Avatar, Card } from '../../../../src'
-
-const ProfileCardWithCover = () => {
- return (
-
-
-
-
-
-
-
-
-
- Khairul Islam
- UI/UX Designer
-
-
-
-
- Post
-
- 254
-
-
-
- Followers
-
- 1245M
-
-
-
- Following
-
- 58
-
-
-
-
- )
-}
-
-const ProfileCardWithCoverCode = `
-"use client";
-import { Heart } from "phosphor-react";
-import { Avatar, Card } from "keep-react";
-
-export const CardComponent = () => {
- return (
-
-
-
-
-
-
-
-
-
- Khairul Islam
- UI/UX Designer
-
-
-
-
- Post
-
- 254
-
-
-
- Followers
-
- 1245M
-
-
-
- Following
-
- 58
-
-
-
-
- )
-}
-`
-export { ProfileCardWithCover, ProfileCardWithCoverCode }
diff --git a/app/docs/components/card/variant/RegisterCard.tsx b/app/docs/components/card/variant/RegisterCard.tsx
new file mode 100644
index 00000000..1eec8766
--- /dev/null
+++ b/app/docs/components/card/variant/RegisterCard.tsx
@@ -0,0 +1,106 @@
+'use client'
+import { Envelope, FacebookLogo, GoogleLogo, Lock } from 'phosphor-react'
+import { Button, Card, Divider, Icon, Input, Label } from '../../../../src'
+
+const RegisterCard = () => {
+ return (
+
+
+
+ Create an account
+ If you don't have any account then just click here
+
+
+
+
+ Google
+
+
+
+ Facebook
+
+
+ Or
+
+
+
+ )
+}
+
+const RegisterCardCode = `
+'use client'
+import { Envelope, FacebookLogo, GoogleLogo, Lock } from 'phosphor-react'
+import { Button, Card, Divider, Icon, Input, Label } from 'keep-react'
+
+export const CardComponent = () => {
+ return (
+
+
+
+ Create an account
+ If you don't have any account then just click here
+
+
+
+
+ Google
+
+
+
+ Facebook
+
+
+ Or
+
+
+
+ )
+}
+
+`
+
+export { RegisterCard, RegisterCardCode }
diff --git a/app/docs/components/carousel/carousel.mdx b/app/docs/components/carousel/carousel.mdx
index 0fd1a87c..3b577576 100644
--- a/app/docs/components/carousel/carousel.mdx
+++ b/app/docs/components/carousel/carousel.mdx
@@ -6,13 +6,12 @@ import {
} from './variant/CarouselWithCustomControlIcon'
import { CarouselWithTextControl, CarouselWithTextControlCode } from './variant/CarouselWithTextControl'
import { CarouselWithIndicator, CarouselWithIndicatorCode } from './variant/CarouselWithIndicator'
-import { MultipleCarousel, MultipleCarouselCode } from './variant/MultipleCarousel'
import { carouselDataApi } from './carouselApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -58,14 +57,6 @@ The IndicatorsType prop allows you to choose from different types of indicators.
-## Multiple Carousel
-
-A Multiple Carousel is a user interface component that allows you to display multiple carousels on a single page or screen.
-
-
-
-
-
## API Reference
Explore the available props for the carousel component
diff --git a/app/docs/components/carousel/variant/CarouselWithCustomControlIcon.tsx b/app/docs/components/carousel/variant/CarouselWithCustomControlIcon.tsx
index 3cdd655f..e97f2ee1 100644
--- a/app/docs/components/carousel/variant/CarouselWithCustomControlIcon.tsx
+++ b/app/docs/components/carousel/variant/CarouselWithCustomControlIcon.tsx
@@ -2,6 +2,10 @@
import Image from 'next/image'
import { Carousel } from '../../../../src'
import { ArrowLineLeft, ArrowLineRight } from 'phosphor-react'
+import CarouselOne from '../../../../../public/images/carousel/one.svg'
+import CarouselTwo from '../../../../../public/images/carousel/two.svg'
+import CarouselThree from '../../../../../public/images/carousel/three.svg'
+import CarouselFour from '../../../../../public/images/carousel/four.svg'
const CarouselWithCustomControlIcon = () => {
return (
@@ -17,30 +21,10 @@ const CarouselWithCustomControlIcon = () => {
}>
-
-
-
-
+
+
+
+
)
}
@@ -65,30 +49,10 @@ export const CarouselComponent = () => {
}>
-
-
-
-
+
+
+
+
)
}
diff --git a/app/docs/components/carousel/variant/CarouselWithIndicator.tsx b/app/docs/components/carousel/variant/CarouselWithIndicator.tsx
index be3cac49..29a2026e 100644
--- a/app/docs/components/carousel/variant/CarouselWithIndicator.tsx
+++ b/app/docs/components/carousel/variant/CarouselWithIndicator.tsx
@@ -1,34 +1,18 @@
'use client'
import { Carousel } from '../../../../src'
import Image from 'next/image'
+import CarouselOne from '../../../../../public/images/carousel/one.svg'
+import CarouselTwo from '../../../../../public/images/carousel/two.svg'
+import CarouselThree from '../../../../../public/images/carousel/three.svg'
+import CarouselFour from '../../../../../public/images/carousel/four.svg'
const CarouselWithIndicator = () => {
return (
-
-
-
-
+
+
+
+
)
}
@@ -41,30 +25,10 @@ import { Carousel } from "keep-react";
export const CarouselComponent = () => {
return (
-
-
-
-
+
+
+
+
)
}
diff --git a/app/docs/components/carousel/variant/CarouselWithTextControl.tsx b/app/docs/components/carousel/variant/CarouselWithTextControl.tsx
index 4ebdbc1c..6027da89 100644
--- a/app/docs/components/carousel/variant/CarouselWithTextControl.tsx
+++ b/app/docs/components/carousel/variant/CarouselWithTextControl.tsx
@@ -1,34 +1,18 @@
'use client'
import { Carousel } from '../../../../src'
import Image from 'next/image'
+import CarouselOne from '../../../../../public/images/carousel/one.svg'
+import CarouselTwo from '../../../../../public/images/carousel/two.svg'
+import CarouselThree from '../../../../../public/images/carousel/three.svg'
+import CarouselFour from '../../../../../public/images/carousel/four.svg'
const CarouselWithTextControl = () => {
return (
-
-
-
-
+
+
+
+
)
}
@@ -41,30 +25,10 @@ import { Carousel } from "keep-react";
export const CarouselComponent = () => {
return (
-
-
-
-
+
+
+
+
)
}
diff --git a/app/docs/components/carousel/variant/DefaultCarousel.tsx b/app/docs/components/carousel/variant/DefaultCarousel.tsx
index 2b88eea5..f7cb8d7d 100644
--- a/app/docs/components/carousel/variant/DefaultCarousel.tsx
+++ b/app/docs/components/carousel/variant/DefaultCarousel.tsx
@@ -1,34 +1,18 @@
'use client'
import Image from 'next/image'
import { Carousel } from '../../../../src'
+import CarouselOne from '../../../../../public/images/carousel/one.svg'
+import CarouselTwo from '../../../../../public/images/carousel/two.svg'
+import CarouselThree from '../../../../../public/images/carousel/three.svg'
+import CarouselFour from '../../../../../public/images/carousel/four.svg'
const DefaultCarousel = () => {
return (
-
-
-
-
+
+
+
+
)
}
@@ -41,30 +25,10 @@ import { Carousel } from "keep-react";
export const CarouselComponent = () => {
return (
-
-
-
-
+
+
+
+
)
}
diff --git a/app/docs/components/carousel/variant/MultipleCarousel.tsx b/app/docs/components/carousel/variant/MultipleCarousel.tsx
deleted file mode 100644
index e7afe42e..00000000
--- a/app/docs/components/carousel/variant/MultipleCarousel.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-'use client'
-import Image from 'next/image'
-import { Carousel } from '../../../../src'
-
-const MultipleCarousel = () => {
- return (
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-
-
-
-
-
-
- Dropdown Title
-
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-
-
-
-
-
-
- Dropdown Title
-
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-
-
-
-
-
-
- Dropdown Title
-
-
- Lorem ipsum dolor sit amet consectetur adipisicing elit.
-
-
-
-
- );
-}
-`
-
-export { DropdownWithTitleDescription, DropdownWithTitleDescriptionCode }
diff --git a/app/docs/components/empty/Empty.mdx b/app/docs/components/empty/Empty.mdx
index 81151ea6..02ec71cd 100644
--- a/app/docs/components/empty/Empty.mdx
+++ b/app/docs/components/empty/Empty.mdx
@@ -6,9 +6,9 @@ import { NoDataFound, NoDataFoundCode } from './variant/NoDataFound'
import { redirectButtonApi } from './EmptyApi'
import { PageNotAvailable, PageNotAvailableCode } from './variant/PageNotAvailable'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
diff --git a/app/docs/components/empty/variant/DefaultEmpty.tsx b/app/docs/components/empty/variant/DefaultEmpty.tsx
index 7177fefe..c06df7b9 100644
--- a/app/docs/components/empty/variant/DefaultEmpty.tsx
+++ b/app/docs/components/empty/variant/DefaultEmpty.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const DefaultEmpty = () => {
return (
@@ -17,7 +17,7 @@ const DefaultEmpty = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/empty/variant/EmptyFolder.tsx b/app/docs/components/empty/variant/EmptyFolder.tsx
index 97946f1e..970e7e5c 100644
--- a/app/docs/components/empty/variant/EmptyFolder.tsx
+++ b/app/docs/components/empty/variant/EmptyFolder.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const EmptyFolder = () => {
return (
@@ -17,7 +17,7 @@ const EmptyFolder = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/empty/variant/NoDataFound.tsx b/app/docs/components/empty/variant/NoDataFound.tsx
index 4bf65a30..00713012 100644
--- a/app/docs/components/empty/variant/NoDataFound.tsx
+++ b/app/docs/components/empty/variant/NoDataFound.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const NoDataFound = () => {
return (
@@ -17,7 +17,7 @@ const NoDataFound = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/empty/variant/NoResultPage.tsx b/app/docs/components/empty/variant/NoResultPage.tsx
index add6bce2..8fdcc455 100644
--- a/app/docs/components/empty/variant/NoResultPage.tsx
+++ b/app/docs/components/empty/variant/NoResultPage.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const NoResultPage = () => {
return (
@@ -17,7 +17,7 @@ const NoResultPage = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/empty/variant/NotFoundPage.tsx b/app/docs/components/empty/variant/NotFoundPage.tsx
index fda781b6..c0e227f5 100644
--- a/app/docs/components/empty/variant/NotFoundPage.tsx
+++ b/app/docs/components/empty/variant/NotFoundPage.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const NotFoundPage = () => {
return (
@@ -17,7 +17,7 @@ const NotFoundPage = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/empty/variant/PageNotAvailable.tsx b/app/docs/components/empty/variant/PageNotAvailable.tsx
index 3e3708a2..0805c815 100644
--- a/app/docs/components/empty/variant/PageNotAvailable.tsx
+++ b/app/docs/components/empty/variant/PageNotAvailable.tsx
@@ -1,6 +1,6 @@
'use client'
import Image from 'next/image'
-import { Empty } from '../../../../src'
+import { Button, Empty } from '../../../../src'
const PageNotAvailable = () => {
return (
@@ -17,7 +17,7 @@ const PageNotAvailable = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
@@ -42,7 +42,7 @@ export const EmptyComponent = () => {
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry.
-
+ Go to home
)
}
diff --git a/app/docs/components/input/Input.mdx b/app/docs/components/input/Input.mdx
new file mode 100644
index 00000000..5c9a199c
--- /dev/null
+++ b/app/docs/components/input/Input.mdx
@@ -0,0 +1,52 @@
+import { DefaultInput, DefaultInputCode } from './variant/DefaultInput'
+import { LabelInput, LabelInputCode } from './variant/LabelInput'
+import { InputWithIcon, InputWithIconCode } from './variant/InputWithIcon'
+import { DisabledInput, DisabledInputCode } from './variant/DisabledInput'
+import { InputUseCaseCode, InputUseCases } from './variant/InputUseCases'
+
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
+
+## Table of Contents
+
+The Input Component is a fundamental user interface element used to collect user input or data in various forms, such as text, numbers, dates, or selections. It provides a space where users can type or select information, allowing them to interact with the application and provide necessary inputs.
+
+## Default Input
+
+Show a basic input field.
+
+
+
+
+
+## Input With Label
+
+Input field with a corresponding label.
+
+
+
+
+
+## Input With Icon
+
+Input field with an accompanying icon.
+
+
+
+
+
+## Disabled Input
+
+Disabled input field example.
+
+
+
+
+
+## Use Case of Input
+
+An example demonstrating the usage of input fields.
+
+
+
+
diff --git a/app/docs/components/input/InputApi.ts b/app/docs/components/input/InputApi.ts
new file mode 100644
index 00000000..e69de29b
diff --git a/app/docs/components/input/index.tsx b/app/docs/components/input/index.tsx
new file mode 100644
index 00000000..c3e378f8
--- /dev/null
+++ b/app/docs/components/input/index.tsx
@@ -0,0 +1,7 @@
+'use client'
+import type { FC } from 'react'
+import InputDocsContent from './Input.mdx'
+
+const InputDocs: FC = () =>
+
+export default InputDocs
diff --git a/app/docs/components/textInput/page.tsx b/app/docs/components/input/page.tsx
similarity index 88%
rename from app/docs/components/textInput/page.tsx
rename to app/docs/components/input/page.tsx
index 6692fd62..777ce487 100644
--- a/app/docs/components/textInput/page.tsx
+++ b/app/docs/components/input/page.tsx
@@ -1,17 +1,17 @@
import type { Metadata, NextPage } from 'next'
+import InputDocs from '.'
import { DocsContentLayout } from '../../../components/DocsContentLayout'
-import TextInputDocs from '.'
export const metadata: Metadata = {
description:
'Input Component is a fundamental user interface element used to collect user input or data in various forms, such as text, numbers, dates, or selections. It provides a space where users can type or select information, allowing them to interact with the application and provide necessary inputs.',
- title: 'Text Input - Keep React',
+ title: 'Input - Keep React',
}
const page: NextPage = () => {
return (
-
+
)
}
diff --git a/app/docs/components/input/variant/DefaultInput.tsx b/app/docs/components/input/variant/DefaultInput.tsx
new file mode 100644
index 00000000..b547df26
--- /dev/null
+++ b/app/docs/components/input/variant/DefaultInput.tsx
@@ -0,0 +1,21 @@
+'use client'
+import { Input } from '../../../../src'
+
+const DefaultInput = () => {
+ return (
+
+ )
+}
+
+const InputWithIconCode = `
+'use client'
+import { Envelope } from 'phosphor-react'
+import { Icon, Input } from 'keep-react'
+
+const InputWithIcon = () => {
+ return (
+
+ )
+}
+`
+
+export { InputWithIcon, InputWithIconCode }
diff --git a/app/docs/components/input/variant/LabelInput.tsx b/app/docs/components/input/variant/LabelInput.tsx
new file mode 100644
index 00000000..a38fefc6
--- /dev/null
+++ b/app/docs/components/input/variant/LabelInput.tsx
@@ -0,0 +1,27 @@
+'use client'
+import { Input, Label } from '../../../../src'
+
+const LabelInput = () => {
+ return (
+
+ )
+}
+
+const LabelInputCode = `
+'use client'
+import { Input, Label } from 'keep-react'
+
+const LabelInput = () => {
+ return (
+
+ )
+}
+`
+
+export { LabelInput, LabelInputCode }
diff --git a/app/docs/components/modal/modal.mdx b/app/docs/components/modal/modal.mdx
index cc6bf120..e3858b76 100644
--- a/app/docs/components/modal/modal.mdx
+++ b/app/docs/components/modal/modal.mdx
@@ -1,13 +1,9 @@
import { DefaultModal, DefaultModalCode } from './variant/DefaultModal'
-import { HistoryModal, HistoryModalCode } from './variant/HistoryModal'
-import { ModalPosition, ModalPositionCode } from './variant/ModalPosition'
-import { SizesOfModal, SizesOfModalCode } from './variant/SizesOfModal'
-import { ConfirmationModal, ConfirmationModalCode } from './variant/ConfirmationModal'
+import { ModalWithCheckbox, ModalWithCheckboxCode } from './variant/ModalWithCheckbox'
+import { CustomizeModal, CustomizeModalCode } from './variant/CustomizeModal'
import { modalApiData } from './modalApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -21,37 +17,20 @@ Modal components typically appear as a small window or dialog box that appears o
-## Confirmation Modal
-
-Modal help to maintain context and prevent users from navigating away or performing other actions while the modal is active. Modals can be closed by clicking an overlay area outside the modal, pressing an "X" or "Close" button, or completing a specific action within the modal content.
-
-
-
-
-
-## History Modal
-
-A "History Modal" seems to be a component or feature that captures and displays a user's historical interactions or actions within a web application. This type of modal could serve as a summary or log of a user's past activities, possibly including login details and other information saved on the browser.
-
-
-
-
-
-## All The Position of Modal
+## Modal With Checkbox
-These positioning options ensure that the modal is displayed in a way that best suits your layout and user experience. The available positions for the modal are: `bottom-left`, `bottom-right`, `bottom-center`, `top-left`, `top-center`, `top-right`, `center-left`, `center`, and `center-right`. You can select the appropriate position to align the modal with your design intentions and provide a comfortable viewing experience for your users.
+You can use any other component inside our modal component. We just use the checkbox component.
-
-
+
+
-## All The Size of Modal
+## Customizable Modal
-These sizes offer flexibility when designing your modals, ensuring they align with your overall design while maintaining consistency across different parts of your application. Here is all available sizes for the modal:
-`sm` `md` `lg` `xl` `2xl` `3xl` `4xl` `5xl` `6xl ` and `7xl`
+You can customize our modal as your desire except the modal functionality.
-
-
+
+
## API Reference
diff --git a/app/docs/components/modal/modalApi.ts b/app/docs/components/modal/modalApi.ts
index 057cd2a9..fa38f92c 100644
--- a/app/docs/components/modal/modalApi.ts
+++ b/app/docs/components/modal/modalApi.ts
@@ -1,38 +1,16 @@
export const modalApiData = [
{
id: 1,
- propsName: 'onClose',
- propsType: 'function',
- propsDescription: 'Function to be called when the modal is closed.',
- default: '()=>void',
- },
-
- {
- id: 3,
- propsName: 'show',
+ propsName: 'isOpen',
propsType: 'boolean',
- propsDescription: 'Controls the visibility of the modal.',
+ propsDescription: 'Modal is open or not?',
default: 'false',
},
{
- id: 4,
- propsName: 'icon',
- propsType: 'ReactNode',
- default: 'ReactNode',
- propsDescription: 'Optional icon to be displayed within the modal.',
- },
- {
- id: 5,
- propsName: 'size',
- propsType: ['sm', 'md', 'lg', 'xl', '2xl', '3xl', '4xl', '5xl', '6xl', '7xl'],
- default: 'sm',
- propsDescription: 'Defines the size of the modal.',
- },
- {
- id: 6,
- propsName: 'position',
- propsType: ['bottom', 'top', 'left', 'right', 'center'],
- propsDescription: 'Determines the position of the modal on the screen.',
- default: 'center',
+ id: 2,
+ propsName: 'onClose',
+ propsType: 'function',
+ propsDescription: 'Function to be called when the modal is closed.',
+ default: '()=>void',
},
]
diff --git a/app/docs/components/modal/variant/ConfirmationModal.tsx b/app/docs/components/modal/variant/ConfirmationModal.tsx
deleted file mode 100644
index 530667fd..00000000
--- a/app/docs/components/modal/variant/ConfirmationModal.tsx
+++ /dev/null
@@ -1,145 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { Button, Modal } from '../../../../src'
-import { CloudArrowUp, Trash } from 'phosphor-react'
-
-const ConfirmationModal = () => {
- const [showInfoModal, setShowInfoModal] = useState(false)
- const [showErrorModalX, setShowErrorModalX] = useState(false)
-
- const onClickInfoModal = () => {
- setShowInfoModal(!showInfoModal)
- }
- const onClickErrorModal = () => {
- setShowErrorModalX(!showErrorModalX)
- }
- return (
-
-
- Info Modal
-
-
- Error Modal
-
-
-
-
-
-
-
-
- Do you want to upload this file?
-
-
-
-
-
-
- Cancel
-
-
- Confirm
-
-
-
-
- } size="md" show={showErrorModalX} onClose={onClickErrorModal}>
- Do you want to delete this file?
-
-
-
- Contrary to popular belief, Lorem Ipsum is not simply random text.
-
- Contrary to popular belief, Lorem Ipsum is not simply random text.
-
-
-
-
-
- Cancel
-
-
- Confirm
-
-
-
- >
- );
-}
-`
-
-export { SizesOfModal, SizesOfModalCode }
diff --git a/app/docs/components/navbar/Navbar.mdx b/app/docs/components/navbar/Navbar.mdx
index b179652f..a59b10b1 100644
--- a/app/docs/components/navbar/Navbar.mdx
+++ b/app/docs/components/navbar/Navbar.mdx
@@ -7,9 +7,9 @@ import { EcommerceNavbar, EcommerceNavbarCode } from './variant/EcommerceNavbar'
import { NavbarApiData, NavLinksAPIData } from './NavbarApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
diff --git a/app/docs/components/navbar/variant/DefaultNavbar.tsx b/app/docs/components/navbar/variant/DefaultNavbar.tsx
index 0ffbe647..c8b31f48 100644
--- a/app/docs/components/navbar/variant/DefaultNavbar.tsx
+++ b/app/docs/components/navbar/variant/DefaultNavbar.tsx
@@ -29,15 +29,13 @@ const DefaultNavbar = () => {
-
+ Search
-
- Contact
-
+ Contact
@@ -85,13 +83,13 @@ export const NavbarComponent = () => {
-
+ Search
-
+
Contact
diff --git a/app/docs/components/navbar/variant/EcommerceNavbar.tsx b/app/docs/components/navbar/variant/EcommerceNavbar.tsx
index 3b984681..8416bc6e 100644
--- a/app/docs/components/navbar/variant/EcommerceNavbar.tsx
+++ b/app/docs/components/navbar/variant/EcommerceNavbar.tsx
@@ -32,7 +32,7 @@ const EcommerceNavbar = () => {
} iconAnimation={false} />
-
+
@@ -99,7 +99,7 @@ export const NavbarComponent = () => {
/>
-
+
diff --git a/app/docs/components/navbar/variant/NavbarWithCenterLogo.tsx b/app/docs/components/navbar/variant/NavbarWithCenterLogo.tsx
index 0890a3e1..716f0c39 100644
--- a/app/docs/components/navbar/variant/NavbarWithCenterLogo.tsx
+++ b/app/docs/components/navbar/variant/NavbarWithCenterLogo.tsx
@@ -31,7 +31,7 @@ const NavbarWithCenterLogo = () => {
-
+
@@ -88,7 +88,7 @@ export const NavbarComponent = () => {
-
+
diff --git a/app/docs/components/navbar/variant/NavbarWithSearchBar.tsx b/app/docs/components/navbar/variant/NavbarWithSearchBar.tsx
index fb4310f7..8f21c792 100644
--- a/app/docs/components/navbar/variant/NavbarWithSearchBar.tsx
+++ b/app/docs/components/navbar/variant/NavbarWithSearchBar.tsx
@@ -1,7 +1,7 @@
'use client'
-import { Navbar, TextInput } from '../../../../src'
-import { CaretDown, FacebookLogo, InstagramLogo, MagnifyingGlass, TwitterLogo } from 'phosphor-react'
import Image from 'next/image'
+import { CaretDown, FacebookLogo, InstagramLogo, MagnifyingGlass, TwitterLogo } from 'phosphor-react'
+import { Icon, Input, Navbar } from '../../../../src'
const NavbarWithSearchBar = () => {
return (
@@ -13,15 +13,12 @@ const NavbarWithSearchBar = () => {
- }
- addonPosition="left"
- />
+
} iconAnimation={false} />
} iconAnimation={false} />
} iconAnimation={false} />
diff --git a/app/docs/components/notification/notification.mdx b/app/docs/components/notification/notification.mdx
index 192c5fda..e8c9bc8b 100644
--- a/app/docs/components/notification/notification.mdx
+++ b/app/docs/components/notification/notification.mdx
@@ -1,52 +1,41 @@
import { DefaultNotification, DefaultNotificationCode } from './variant/DefaultNotification'
-import { NotificationWithIcon, NotificationWithIconCode } from './variant/NotificationWithIcon'
-import { NotificationWithAvatar, NotificationWithAvatarCode } from './variant/NotificationWithAvatar'
+import { NotificationPosition, NotificationPositionCode } from './variant/NotificationPosition'
import { NotificationWithCard, NotificationWithCardCode } from './variant/NotificationWithCard'
-
import { notificationApi } from './notificationApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-Notification component in the Keep React allows you to display informative messages or alerts to users. With various styles and options for positioning, you can effectively communicate important updates or messages in a visually appealing manner.
+The Notification component in Keep React allows you to deliver informative messages or alerts to users. With versatile styling and positioning options, you can effectively communicate important updates or messages in a visually appealing manner.
## Default Notification
-Default Notification component in the Keep React allows you to display informative messages or alerts to users.
+Display informative messages or alerts to users with the Default Notification component in Keep React.
-## Notification With Icon
-
-The Notification component in the Keep React can be enhanced with icons, providing users with visual cues alongside the message. This combination of text and icon ensures that notifications are both informative and easily comprehensible.
-
-
-
-
-
-## Notification With Avatar
+## Notification With Card
-The Notification component in the Keep React can include avatars, allowing you to associate user images with notifications. This integration enhances user recognition and engagement by providing personalized and context-rich notifications.
+Enhance the Notification component with a card layout for a more visually appealing display.
-
-
+
+
-## Notification With Card
+## Notification Position
-The Notification component in the Keep React can be enhanced with a card layout, allowing you to present notifications in a visually structured manner. This design accommodates more content and context, providing users with detailed and informative notifications.
+Position notifications according to your preference with available options: `"top-left"`, `"top-right"`, `"bottom-left"`, `"bottom-right"`. Default position is `"bottom-right"`.
-
-
+
+
## API Reference
-Explore the available props for the notification component
+Explore the available props for the Notification component.
diff --git a/app/docs/components/notification/notificationApi.ts b/app/docs/components/notification/notificationApi.ts
index 52f18866..fdd8e3be 100644
--- a/app/docs/components/notification/notificationApi.ts
+++ b/app/docs/components/notification/notificationApi.ts
@@ -1,15 +1,15 @@
export const notificationApi = [
{
id: 1,
- propsName: 'dismiss',
+ propsName: 'isOpen',
propsType: 'boolean',
- propsDescription: 'Determines whether the notification can be dismissed.',
+ propsDescription: 'Notification show or not.',
default: 'false',
},
{
id: 2,
- propsName: 'onDismiss',
- propsType: 'boolean | (() => void)',
+ propsName: 'onClose',
+ propsType: '(() => void)',
propsDescription: 'Function to call when the notification is dismissed.',
default: 'false',
},
@@ -18,13 +18,6 @@ export const notificationApi = [
propsName: 'position',
propsType: ['top-left', 'top-right', 'bottom-left', 'bottom-right'],
propsDescription: 'Sets the position of the notification.',
- default: 'top-left',
- },
- {
- id: 4,
- propsName: 'className',
- propsType: 'string',
- propsDescription: 'Custom class name for the notification',
- default: 'None',
+ default: 'bottom-right',
},
]
diff --git a/app/docs/components/notification/variant/DefaultNotification.tsx b/app/docs/components/notification/variant/DefaultNotification.tsx
index 8f88fc26..ee2571fd 100644
--- a/app/docs/components/notification/variant/DefaultNotification.tsx
+++ b/app/docs/components/notification/variant/DefaultNotification.tsx
@@ -3,31 +3,28 @@ import { useState } from 'react'
import { Button, Notification } from '../../../../src'
const DefaultNotification = () => {
- const [showNotification, setShowNotification] = useState(true)
-
- const onDismiss = () => {
- setShowNotification(!showNotification)
- }
+ const [isOpen, setIsOpen] = useState(false)
+ const control = () => setIsOpen(!isOpen)
return (
-
- Show Notification
-
-
+ Show Notification
+
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
+
+ Can we store cookies?
+
+ Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
+
+
+
+
Accept
-
+
Review
-
+
+ Show Notification
+
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
+
+ Can we store cookies?
+
+ Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
+
+
+
+
Accept
-
+
Review
-
+
-
-
- Bottom Left
-
-
- Bottom Right
-
-
- Top Right
-
-
-
-
-
-
-
- Keep React is awesome
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
+ Show Notification
+
+
+
+
+
+
+ Can we store cookies?
+
+ Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
+
+
+
+
Accept
-
+
Review
-
-
-
-
-
-
-
-
- Keep React is awesome
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
- Download
-
-
- View Figma File
-
-
-
-
-
-
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
-
-
-
-
-
-
- Download
-
-
-
-
-
- View Figma File
-
-
+
-
-
- Bottom Left
-
-
- Bottom Right
-
-
- Top Right
-
-
-
-
-
-
-
-
- Keep React is awesome
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
+
+ Show Notification
+
+
+
+
+
+
+ Can we store cookies?
+
+ Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
+
+
+
+
Accept
-
+
Review
-
-
-
-
-
-
-
-
- Keep React is awesome
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
- Download
-
-
- View Figma File
-
-
-
-
-
-
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
-
-
-
-
-
-
- Download
-
-
-
-
-
- View Figma File
-
-
+
-
- Show Notification
-
-
-
-
-
-
-
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
- Accept
-
-
- Review
-
-
-
-
-
-
-
- Show Notification
-
-
-
-
-
-
-
- Can we store cookies?
-
- Default message - Lorem Ipsum is simply dummy text of the printing and typesetting industry.
-
-
-
- Accept
-
-
- Review
-
-
-
-
-
-
- )
-}
-`
-
-export { NotificationWithIcon, NotificationWithIconCode }
diff --git a/app/docs/components/numberInput/NumberInput.mdx b/app/docs/components/numberInput/NumberInput.mdx
index 5d545017..dfbecaf1 100644
--- a/app/docs/components/numberInput/NumberInput.mdx
+++ b/app/docs/components/numberInput/NumberInput.mdx
@@ -1,40 +1,33 @@
import { DefaultNumberInput, DefaultNumberInputCode } from './variant/DefaultNumberInput'
-import { SizesOfNumberInput, SizesOfNumberInputCode } from './variant/SizesOfNumberInput'
-import { DisabledNumberInput, DisabledNumberInputCode } from './variant/DisabledNumberInput'
+import { NumberInputWithLabel, NumberInputWithLabelCode } from './variant/NumberInputWithLabel'
+import { NumberInputWithState, NumberInputWithStateCode } from './variant/NumberInputWithState'
import { numberInputApiData } from './NumberInputApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
## Table of Contents
-Number Input Component is a user interface element designed for collecting numeric input from users. It provides a field where users can enter numerical values, such as integers or decimals, using keyboard input or arrow buttons.
+The Number Input Component is a user interface element designed for collecting numeric input from users. It provides a field where users can enter numerical values, such as integers or decimals, using keyboard input or arrow buttons.
## Default Number Input
-Default Number Input a simple numeric input field with two buttons for incrementing and decrementing the value.
+Default Number Input is a simple numeric input field with two buttons for incrementing and decrementing the value.
-
+
-## Sizes Of Number Input
+## Number Input With Label
-The NumberInput component in the Keep React offers three available sizes: `"sm"` `"md"` and `"lg"`.
+You can show a label and helper text to assist the user.
-
-
+
+
-## Disabled Number Input
-
-
-
-
+## Number Input With State
-## API Reference
+You can manage the input state with React state.
-Explore the available props for the number input component
-
-
+
+
+
diff --git a/app/docs/components/numberInput/NumberInputApi.ts b/app/docs/components/numberInput/NumberInputApi.ts
index 398b902f..1f4016d5 100644
--- a/app/docs/components/numberInput/NumberInputApi.ts
+++ b/app/docs/components/numberInput/NumberInputApi.ts
@@ -1,51 +1 @@
-export const numberInputApiData = [
- {
- id: 1,
- propsName: 'value',
- propsType: 'number',
- propsDescription: 'The current value of the NumberInput.',
- default: '100',
- },
- {
- id: 2,
- propsName: 'sizing',
- propsType: ['sm', 'md', 'lg'],
- propsDescription: 'Size of the NumberInput component.',
- default: 'md',
- },
- {
- id: 3,
- propsName: 'disabled',
- propsType: 'boolean',
- propsDescription: 'Indicates whether the NumberInput is disabled.',
- default: 'false',
- },
- {
- id: 4,
- propsName: 'helperText',
- propsType: 'ReactNode',
- propsDescription: 'Additional helper text to assist the user.',
- default: 'null',
- },
- {
- id: 5,
- propsName: 'icon',
- propsType: 'ReactNode',
- propsDescription: 'An optional icon to display within the NumberInput component.',
- default: 'None',
- },
- {
- id: 6,
- propsName: 'iconPosition',
- propsType: ['right', 'left'],
- propsDescription: 'Position of the icon within the NumberInput.',
- default: 'None',
- },
- {
- id: 7,
- propsName: 'setValue',
- propsType: 'Function',
- propsDescription: 'Function to update the value of the NumberInput.',
- default: 'Function',
- },
-]
+export const numberInputApiData = []
diff --git a/app/docs/components/numberInput/variant/DefaultNumberInput.tsx b/app/docs/components/numberInput/variant/DefaultNumberInput.tsx
index 62ef9f85..dba47a25 100644
--- a/app/docs/components/numberInput/variant/DefaultNumberInput.tsx
+++ b/app/docs/components/numberInput/variant/DefaultNumberInput.tsx
@@ -1,21 +1,40 @@
'use client'
-import { useState } from 'react'
+import { Minus, Plus } from 'phosphor-react'
import { NumberInput } from '../../../../src'
const DefaultNumberInput = () => {
- const [value, setValue] = useState(100)
- return
+ return (
+
+
+
+
+
+
+
+
+
+ )
}
const DefaultNumberInputCode = `
-"use client";
-import { useState } from "react";
-import { NumberInput } from "keep-react";
+'use client'
+import { Minus, Plus } from 'phosphor-react'
+import { NumberInput } from 'keep-react'
export const NumberInputComponent = () => {
- const [value, setValue] = useState(100);
- return
+ return (
+
+
+
+
+
+
+
+
+
+ )
}
+
`
export { DefaultNumberInput, DefaultNumberInputCode }
diff --git a/app/docs/components/numberInput/variant/DisabledNumberInput.tsx b/app/docs/components/numberInput/variant/DisabledNumberInput.tsx
deleted file mode 100644
index 676c70d3..00000000
--- a/app/docs/components/numberInput/variant/DisabledNumberInput.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { NumberInput } from '../../../../src'
-
-const DisabledNumberInput = () => {
- const [value, setValue] = useState(100)
- return
-}
-
-const DisabledNumberInputCode = `
-"use client";
-import { useState } from "react";
-import { NumberInput } from "keep-react";
-
-export const NumberInputComponent = () => {
- const [value, setValue] = useState(100);
- return (
-
- );
-}
-`
-
-export { DisabledNumberInput, DisabledNumberInputCode }
diff --git a/app/docs/components/numberInput/variant/NumberInputWithLabel.tsx b/app/docs/components/numberInput/variant/NumberInputWithLabel.tsx
new file mode 100644
index 00000000..1846e5ce
--- /dev/null
+++ b/app/docs/components/numberInput/variant/NumberInputWithLabel.tsx
@@ -0,0 +1,47 @@
+'use client'
+import { Minus, Plus } from 'phosphor-react'
+import { Label, NumberInput } from '../../../../src'
+
+const NumberInputWithLabel = () => {
+ return (
+
+ )
+}
+
+const NumberInputWithLabelCode = `
+'use client'
+import { Minus, Plus } from 'phosphor-react'
+import { Label, NumberInput } from 'keep-react'
+
+export const NumberInputComponent = () => {
+ return (
+
+ )
+}
+`
+
+export { NumberInputWithLabel, NumberInputWithLabelCode }
diff --git a/app/docs/components/numberInput/variant/NumberInputWithState.tsx b/app/docs/components/numberInput/variant/NumberInputWithState.tsx
new file mode 100644
index 00000000..f2b1fe5f
--- /dev/null
+++ b/app/docs/components/numberInput/variant/NumberInputWithState.tsx
@@ -0,0 +1,51 @@
+'use client'
+import { Minus, Plus } from 'phosphor-react'
+import { useState } from 'react'
+import { Label, NumberInput } from '../../../../src'
+
+const NumberInputWithState = () => {
+ const [number, setNumber] = useState(0)
+ return (
+
+ )
+}
+
+const NumberInputWithStateCode = `
+'use client'
+import { useState } from 'react'
+import { Minus, Plus } from 'phosphor-react'
+import { Label, NumberInput } from 'keep-react'
+
+export const NumberInputComponent = () => {
+ const [number, setNumber] = useState(0)
+ return (
+
+ )
+}
+`
+
+export { NumberInputWithState, NumberInputWithStateCode }
diff --git a/app/docs/components/numberInput/variant/SizesOfNumberInput.tsx b/app/docs/components/numberInput/variant/SizesOfNumberInput.tsx
deleted file mode 100644
index 86930fce..00000000
--- a/app/docs/components/numberInput/variant/SizesOfNumberInput.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { NumberInput } from '../../../../src'
-
-const SizesOfNumberInput = () => {
- const [value, setValue] = useState(100)
- return (
-
-
-
-
-
- )
-}
-
-const SizesOfNumberInputCode = `
-"use client";
-import { useState } from "react";
-import { NumberInput } from "keep-react";
-
-export const NumberInputComponent = () => {
- const [value, setValue] = useState(100);
- return (
- <>
-
-
-
- >
- );
-}
-`
-
-export { SizesOfNumberInput, SizesOfNumberInputCode }
diff --git a/app/docs/components/pagination/Pagination.mdx b/app/docs/components/pagination/Pagination.mdx
index f0982704..1ebe8541 100644
--- a/app/docs/components/pagination/Pagination.mdx
+++ b/app/docs/components/pagination/Pagination.mdx
@@ -1,52 +1,70 @@
import { DefaultPagination, DefaultPaginationCode } from './variant/DefaultPagination'
-import { PaginationWithBorder, PaginationWithBorderCode } from './variant/PaginationWithBorder'
-import { PaginationWithInputPage, PaginationWithInputPageCode } from './variant/PaginationWithInputPage'
-
-import { PaginationWithRoundedPage, PaginationWithRoundedPageCode } from './variant/PaginationWithRoundedPage'
-import { paginationApiData } from './PaginationApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import { PaginationInput, PaginationInputCode } from './variant/PaginationInput'
+import { PaginationShape, PaginationShapeCode } from './variant/PaginationShape'
+import { PaginationNavigator, PaginationNavigatorCode } from './variant/PaginationNavigator'
+import { PaginationNavigatorText, PaginationNavigatorTextCode } from './variant/PaginationNavigatorText'
+import { itemApiData, navigatorApiData, paginationApiData } from './PaginationApi'
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-The Pagination component provides a user-friendly way to navigate through large sets of content by breaking it down into manageable pages. It enhances user experience by allowing easy access to various sections of data or results, such as articles, search results, or product listings, through page numbers or next/previous controls.
+The Pagination component enhances user experience by providing a user-friendly way to navigate through large sets of content. Whether it's articles, search results, or product listings, Pagination breaks down the data into manageable pages, allowing users to easily access different sections.
## Default Pagination
-There are two variants of next/previous buttons. You can change the variant with `prevNextShape` props, and available variants are: `"roundSquare"` and `"circle"`. Use the `iconWithOutText` prop to show only the icon in the button.
+The Default Pagination component displays a basic pagination list, allowing users to navigate between pages.
-## Pagination With Border
+## Pagination Shape
+
+You can customize the shape of pagination items using the `shape` prop. Available shapes include `'rounded'` and `'circle'`. By default, pagination items have a `'rounded'` shape.
+
+
+
+
+
+## Navigator With Icon
-Add borders to the pagination elements for a clear visual separation. To enable borders in the pagination elements, use the `paginateWithBorder={true}` prop.
+Enhance the navigational controls with icons to make them more visually appealing and intuitive.
-
-
+
+
-## Pagination With Rounded Page
+## Navigator With Text
-This style uses rounded page numbers, providing a soft and friendly appearance. To achieve this circle active button, set the `activeCurrentPageShape="circle"` prop.
+Alternatively, you can use text-based navigational controls for a simpler approach.
-
-
+
+
-## Pagination With Input Page
+## Pagination With Input
-Allow users to input the page number they want to navigate to, enhancing the user experience. To enable this feature, use the `showGoToPaginate={true}` prop.
+Allow users to switch to a specific page by entering the page number in an input field.
-
-
+
+
-## API Reference
+## Pagination API
-Explore the available props for the Pagination component:
+Here are the available props for the `` component:
+
+## Pagination Item API
+
+Explore the props available for the `` component:
+
+
+
+## Navigator API
+
+Discover the available props for the `` component:
+
+
diff --git a/app/docs/components/pagination/PaginationApi.ts b/app/docs/components/pagination/PaginationApi.ts
index 9a557f33..4ca11969 100644
--- a/app/docs/components/pagination/PaginationApi.ts
+++ b/app/docs/components/pagination/PaginationApi.ts
@@ -1,93 +1,73 @@
-export const paginationApiData = [
+const paginationApiData = [
{
id: 1,
- propsName: 'currentPage',
- propsType: 'number',
- propsDescription: 'Current page number.',
- default: '1',
+ propsName: 'children',
+ propsType: 'ReactNode',
+ propsDescription: 'Pagination content',
+ default: 'JSX',
},
{
id: 2,
- propsName: 'prevNextShape',
- propsType: ['circle', 'round', 'roundSquare', 'none'],
- propsDescription: 'Shape of the previous and next buttons.',
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'ClassName for style elements',
default: 'none',
},
{
id: 3,
- propsName: 'goToShape',
- propsType: ['circle', 'round', 'roundSquare', 'none'],
- propsDescription: 'Shape of the go-to page input field.',
- default: 'none',
- },
- {
- id: 4,
- propsName: 'activeCurrentPageShape',
- propsType: ['circle', 'roundSquare'],
- propsDescription: 'Shape of the active/current page number.',
- default: '"roundSquare"',
- },
- {
- id: 6,
- propsName: 'onPageChange',
- propsType: 'function',
- propsDescription: 'Function to be called when a page is changed.',
- default: 'function',
- },
- {
- id: 7,
- propsName: 'iconWithText',
- propsType: 'boolean',
- propsDescription: 'Whether to display icons with text.',
- default: 'false',
+ propsName: 'shape',
+ propsType: ['rounded', 'circle'],
+ propsDescription: 'Shape of the pagination element',
+ default: 'rounded',
},
+]
+
+const itemApiData = [
{
- id: 8,
- propsName: 'iconWithOutText',
- propsType: 'boolean',
- propsDescription: 'Whether to display icons without text.',
- default: 'false',
+ id: 1,
+ propsName: 'children',
+ propsType: 'ReactNode',
+ propsDescription: 'Pagination Item content',
+ default: 'Page',
},
{
- id: 9,
- propsName: 'paginateWithBorder',
- propsType: 'boolean',
- propsDescription: 'Whether to add borders to pagination elements.',
- default: 'false',
+ id: 2,
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'ClassName for style elements',
+ default: 'none',
},
{
- id: 10,
- propsName: 'showGoToPaginate',
+ id: 3,
+ propsName: 'active',
propsType: 'boolean',
- propsDescription: 'Whether to show the go-to page input field.',
+ propsDescription: 'Page is active or not',
default: 'false',
},
+]
+
+const navigatorApiData = [
{
- id: 11,
- propsName: 'totalPages',
- propsType: 'number',
- propsDescription: 'Total number of pages.',
- default: '30',
- },
- {
- id: 12,
- propsName: 'nextBtnStyle',
- propsType: 'string',
- propsDescription: 'Custom class to style the next button.',
- default: 'None',
+ id: 1,
+ propsName: 'children',
+ propsType: 'ReactNode',
+ propsDescription: 'Navigator content',
+ default: 'Icon',
},
{
- id: 13,
- propsName: 'previousBtnStyle',
+ id: 2,
+ propsName: 'className',
propsType: 'string',
- propsDescription: 'Custom class to style the previous button.',
- default: 'None',
+ propsDescription: 'ClassName for style elements',
+ default: 'none',
},
{
- id: 14,
- propsName: 'pageStyle',
- propsType: 'string',
- propsDescription: 'Custom class to style the page button.',
- default: 'None',
+ id: 3,
+ propsName: 'shape',
+ propsType: ['rounded', 'circle'],
+ propsDescription: 'Shape of the pagination navigator',
+ default: 'rounded',
},
]
+
+export { itemApiData, navigatorApiData, paginationApiData }
diff --git a/app/docs/components/pagination/page.tsx b/app/docs/components/pagination/page.tsx
index 67cb2a66..1ace1726 100644
--- a/app/docs/components/pagination/page.tsx
+++ b/app/docs/components/pagination/page.tsx
@@ -1,10 +1,10 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import PaginationDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
- 'The Pagination component provides a user-friendly way to navigate through large sets of content by breaking it down into manageable pages. It enhances user experience by allowing easy access to various sections of data or results, such as articles, search results, or product listings, through page numbers or next/previous controls.',
+ 'The Pagination component enhances user experience by providing a user-friendly way to navigate through large sets of content. Whether its articles, search results, or product listings, Pagination breaks down the data into manageable pages, allowing users to easily access different sections.',
title: 'Pagination - Keep React',
}
diff --git a/app/docs/components/pagination/variant/DefaultPagination.tsx b/app/docs/components/pagination/variant/DefaultPagination.tsx
index c4a8b43f..d6ef75fe 100644
--- a/app/docs/components/pagination/variant/DefaultPagination.tsx
+++ b/app/docs/components/pagination/variant/DefaultPagination.tsx
@@ -1,36 +1,44 @@
'use client'
-import { useState } from 'react'
+import { DotsThree } from 'phosphor-react'
import { Pagination } from '../../../../src'
const DefaultPagination = () => {
- const [currentPage, setCurrentPage] = useState(1)
return (
-
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
)
}
const DefaultPaginationCode = `
-"use client";
-import { Pagination } from "keep-react";
-import { useState } from "react";
+'use client'
+import { DotsThree } from 'phosphor-react'
+import { Pagination } from 'keep-react'
export const PaginationComponent = () => {
- const [currentPage, setCurrentPage] = useState(1);
return (
- setCurrentPage(val)}
- totalPages={30}
- iconWithOutText
- prevNextShape="roundSquare"
- />
- );
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+ )
}
`
diff --git a/app/docs/components/pagination/variant/PaginationInput.tsx b/app/docs/components/pagination/variant/PaginationInput.tsx
new file mode 100644
index 00000000..9129fd39
--- /dev/null
+++ b/app/docs/components/pagination/variant/PaginationInput.tsx
@@ -0,0 +1,74 @@
+'use client'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+import { Pagination, Typography } from '../../../../src'
+
+const PaginationInput = () => {
+ return (
+
+
+
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+
+
+
+ / Go to
+
+ of 200
+
+
+ )
+}
+
+const PaginationInputCode = `
+'use client'
+import { Pagination, Typography } from 'keep-react'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+
+export const PaginationComponent = () => {
+ return (
+
+
+
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+
+
+
+ / Go to
+
+ of 200
+
+
+ )
+}
+`
+export { PaginationInput, PaginationInputCode }
diff --git a/app/docs/components/pagination/variant/PaginationNavigator.tsx b/app/docs/components/pagination/variant/PaginationNavigator.tsx
new file mode 100644
index 00000000..3f3d1c3a
--- /dev/null
+++ b/app/docs/components/pagination/variant/PaginationNavigator.tsx
@@ -0,0 +1,57 @@
+'use client'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+import { Pagination } from '../../../../src'
+
+const PaginationNavigator = () => {
+ return (
+
+
+
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+
+
+
+ )
+}
+
+const PaginationNavigatorCode = `
+'use client'
+import { Pagination } from 'keep-react'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+
+export const PaginationComponent = () => {
+ return (
+
+
+
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+
+
+
+ )
+}
+`
+
+export { PaginationNavigator, PaginationNavigatorCode }
diff --git a/app/docs/components/pagination/variant/PaginationNavigatorText.tsx b/app/docs/components/pagination/variant/PaginationNavigatorText.tsx
new file mode 100644
index 00000000..879b2624
--- /dev/null
+++ b/app/docs/components/pagination/variant/PaginationNavigatorText.tsx
@@ -0,0 +1,61 @@
+'use client'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+import { Pagination } from '../../../../src'
+
+const PaginationNavigatorText = () => {
+ return (
+
+
+
+ Previous
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+ Next
+
+
+
+ )
+}
+
+const PaginationNavigatorTextCode = `
+'use client'
+import { Pagination } from 'keep-react'
+import { CaretLeft, CaretRight, DotsThree } from 'phosphor-react'
+
+export const PaginationComponent = () => {
+ return (
+
+
+
+ Previous
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+ Next
+
+
+
+ )
+}
+`
+
+export { PaginationNavigatorText, PaginationNavigatorTextCode }
diff --git a/app/docs/components/pagination/variant/PaginationShape.tsx b/app/docs/components/pagination/variant/PaginationShape.tsx
new file mode 100644
index 00000000..c589b7a8
--- /dev/null
+++ b/app/docs/components/pagination/variant/PaginationShape.tsx
@@ -0,0 +1,45 @@
+'use client'
+import { DotsThree } from 'phosphor-react'
+import { Pagination } from '../../../../src'
+
+const PaginationShape = () => {
+ return (
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+ )
+}
+
+const PaginationShapeCode = `
+'use client'
+import { DotsThree } from 'phosphor-react'
+import { Pagination } from 'keep-react'
+
+export const PaginationComponent = () => {
+ return (
+
+
+ 1
+ 2
+ 3
+ 4
+
+
+
+ 10
+
+
+ )
+}
+`
+
+export { PaginationShape, PaginationShapeCode }
diff --git a/app/docs/components/pagination/variant/PaginationWithBorder.tsx b/app/docs/components/pagination/variant/PaginationWithBorder.tsx
deleted file mode 100644
index 8be86d7a..00000000
--- a/app/docs/components/pagination/variant/PaginationWithBorder.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { Pagination } from '../../../../src'
-
-const PaginationWithBorder = () => {
- const [currentPage, setCurrentPage] = useState(1)
- return (
-
- )
-}
-
-const PaginationWithBorderCode = `
-"use client";
-import { useState } from "react";
-import { Pagination } from "keep-react";
-
-export const PaginationComponent = () => {
- const [currentPage, setCurrentPage] = useState(1);
- return (
-
- );
-}
-`
-
-export { PaginationWithBorder, PaginationWithBorderCode }
diff --git a/app/docs/components/pagination/variant/PaginationWithInputPage.tsx b/app/docs/components/pagination/variant/PaginationWithInputPage.tsx
deleted file mode 100644
index 476062a2..00000000
--- a/app/docs/components/pagination/variant/PaginationWithInputPage.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { Pagination } from '../../../../src'
-
-const PaginationWithInputPage = () => {
- const [currentPage, setCurrentPage] = useState(1)
- return (
-
- )
-}
-
-const PaginationWithInputPageCode = `
-"use client";
-import { Pagination } from "keep-react";
-import React, { useState } from "react";
-
-export const PaginationComponent = () => {
- const [currentPage, setCurrentPage] = useState(1);
- return (
-
- );
-}
-`
-export { PaginationWithInputPage, PaginationWithInputPageCode }
diff --git a/app/docs/components/pagination/variant/PaginationWithRoundedPage.tsx b/app/docs/components/pagination/variant/PaginationWithRoundedPage.tsx
deleted file mode 100644
index eab35124..00000000
--- a/app/docs/components/pagination/variant/PaginationWithRoundedPage.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { Pagination } from '../../../../src'
-
-const PaginationWithRoundedPage = () => {
- const [currentPage, setCurrentPage] = useState(1)
- return (
-
- )
-}
-
-const PaginationWithRoundedPageCode = `
-"use client";
-import { useState } from "react";
-import { Pagination } from "keep-react";
-
-export const PaginationComponent = () => {
- const [currentPage, setCurrentPage] = useState(1);
- return (
-
- );
-}
-`
-
-export { PaginationWithRoundedPage, PaginationWithRoundedPageCode }
diff --git a/app/docs/components/playButton/index.tsx b/app/docs/components/playButton/index.tsx
deleted file mode 100644
index 873aa494..00000000
--- a/app/docs/components/playButton/index.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-'use client'
-import type { FC } from 'react'
-import PlayButtonDocsContent from './playButton.mdx'
-
-const PlayButtonDocs: FC = () =>
-
-export default PlayButtonDocs
diff --git a/app/docs/components/playButton/page.tsx b/app/docs/components/playButton/page.tsx
deleted file mode 100644
index ba01a432..00000000
--- a/app/docs/components/playButton/page.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
-import PlayButtonDocs from '.'
-
-export const metadata: Metadata = {
- description:
- 'The Play Button - Rounded component in the Keep React allows you to incorporate a rounded play button into your user interface. It provides a visually appealing and intuitive way to indicate playback or media-related actions. With customizable options for type and size, you can create play buttons that align with your design style.',
- title: 'Play Button - Keep React',
-}
-
-const page: NextPage = () => {
- return (
-
-
-
- )
-}
-
-export default page
diff --git a/app/docs/components/playButton/playButton.mdx b/app/docs/components/playButton/playButton.mdx
deleted file mode 100644
index 4a93f6a6..00000000
--- a/app/docs/components/playButton/playButton.mdx
+++ /dev/null
@@ -1,69 +0,0 @@
-import { DefaultPlayButton, DefaultPlayButtonCode } from './variant/DefaultPlayButton'
-import { SecondaryPlayButton, SecondaryPlayButtonCode } from './variant/SecondaryPlayButton'
-import { NoBorderPlayButton, NoBorderPlayButtonCode } from './variant/NoBorderPlayButton'
-import { CirclePlayButton, CirclePlayButtonCode } from './variant/CirclePlayButton'
-import { SizesPlayButton, SizesPlayButtonCode } from './variant/SizesOfPlayButton'
-import { BlurPlayButton, BlurPlayButtonCode } from './variant/BlurPlayButton'
-import { playButtonApiData } from './playButtonApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
-
-## Table of Contents
-
-The Play Button - Rounded component in the Keep React allows you to incorporate a rounded play button into your user interface. It provides a visually appealing and intuitive way to indicate playback or media-related actions. With customizable options for type and size, you can create play buttons that align with your design style.
-
-## Default Play Button
-
-The play button is an essential component of multimedia interfaces, providing a clear and intuitive way for users to start enjoying audiovisual content.
-
-
-
-
-
-## Secondary Play Button
-
-A "Secondary Play Button" is a variant of the standard play button that is used to initiate playback of multimedia content. The `type` property provides different styling options. For the secondary play button to match the design you need to add `type="outlineGray"` property.
-
-
-
-
-
-## No Border Play Button
-
-A "No Border Play Button" with the type set to "text" provides a variant of the play button that has no visible border. This style is typically used when you want a minimalistic and subtle play button appearance.
-
-
-
-
-
-## Circle Play Button
-
-A "Circle Play Button" is a style variation of the play button where the button itself is rendered in the shape of a circle. This circular design can draw attention to the play button and create a visually distinct element. When the `circle` prop is set to `true`, it indicates that the play button should be displayed as a circle.
-
-
-
-
-
-## Blur Play Button
-
-A "Blur Play Button" with the `type` set to `outlineGray` is a style variation that adds a blurred effect to the play button. This effect can create a sense of depth and motion, making the button appear as if it's slightly out of focus.
-
-
-
-
-
-## Sizes of Play Button
-
-The "Sizes of Play Button" feature allows you to adjust the dimensions of the play button according to various predefined size options. These sizes help you ensure that the play button's visual presence aligns with your design and provides a consistent user experience.
-
-
-
-
-
-## API Reference
-
-Explore the available props for the play button component
-
-
diff --git a/app/docs/components/playButton/playButtonApi.ts b/app/docs/components/playButton/playButtonApi.ts
deleted file mode 100644
index 23a35faa..00000000
--- a/app/docs/components/playButton/playButtonApi.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-export const playButtonApiData = [
- {
- id: 1,
- propsName: 'title',
- propsType: 'string',
- propsDescription: 'A descriptive title or label for the play button.',
- default: 'title',
- },
- {
- id: 2,
- propsName: 'type',
- propsType: ['primary', 'text', 'outlineGray', 'blur'],
- propsDescription: 'The type of play button style.',
- default: 'primary',
- },
- {
- id: 3,
- propsName: 'icon',
- propsType: 'ReactNode',
- propsDescription: 'The icon element to be displayed within the play button.',
- default: '',
- },
- {
- id: 4,
- propsName: 'circle',
- propsType: 'boolean',
- propsDescription: 'If true, the play button will be displayed in a circular shape.',
- default: 'false',
- },
- {
- id: 5,
- propsName: 'size',
- propsType: ['xs', 'sm', 'md', 'lg', 'xl', '2xl'],
- propsDescription: 'The size of the play button.',
- default: 'md',
- },
- {
- id: 6,
- propsName: 'className',
- propsType: 'string',
- propsDescription: 'Additional CSS classes to apply to the play button for custom styling.',
- default: 'None',
- },
- {
- id: 7,
- propsName: 'onClick',
- propsType: 'Function',
- propsDescription: 'On click event Handler',
- default: 'None',
- },
-]
diff --git a/app/docs/components/playButton/variant/BlurPlayButton.tsx b/app/docs/components/playButton/variant/BlurPlayButton.tsx
deleted file mode 100644
index fbab088c..00000000
--- a/app/docs/components/playButton/variant/BlurPlayButton.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-'use client'
-import { Play } from 'phosphor-react'
-import { PlayButton } from '../../../../src'
-
-const BlurPlayButton = () => {
- return (
-
- );
-}
-`
-
-export { SizesPlayButton, SizesPlayButtonCode }
diff --git a/app/docs/components/popover/popover.mdx b/app/docs/components/popover/popover.mdx
index 6a45f8f8..4d006811 100644
--- a/app/docs/components/popover/popover.mdx
+++ b/app/docs/components/popover/popover.mdx
@@ -1,64 +1,44 @@
import { DefaultPopover, DefaultPopoverCode } from './variant/DefaultPopover'
-import { TriggerVariantPopover, TriggerVariantPopoverCode } from './variant/TriggerVariant'
-import { PopoverPosition, PopoverPositionCode } from './variant/PopoverPosition'
-import { SingleLinePopover, SingleLinePopoverCode } from './variant/SingleLinePopover'
-import { OneParagraphPopover, OneParagraphPopoverCode } from './variant/OneParagraphPopover'
-
+import { CardPopover, CardPopoverCode } from './variant/CardPopover'
+import { IconPopover, IconPopoverCode } from './variant/IconPopover'
import { popoverAPI } from './popoverApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-Popover component is a user interface element that displays additional information or options when a user interacts with a specific trigger, such as hovering over text or clicking a button.
+The Popover component serves as a user interface element that conveniently displays additional information or options when a user interacts with a specific trigger. This trigger could be hovering over text, clicking a button, or any other user action.
## Default Popover
The Default Popover demonstrates a basic popover component.
-
+
-## One Paragraph Popover
-
-The One Paragraph Popover showcases a popover with a single paragraph of text.
-
-
-
-
-
-## Single Line Popover
-
-The Single Line Popover displays a popover with content confined to a single line.
-
-
-
-
-
-## Trigger Variant Popover
+## Card Popover
-The Trigger Variant Popover exhibits different trigger interactions for the popover. There are two variants of trigger interactions such as `trigger='click'` and `trigger='hover'`.
+The Card Popover showcases a popover with a card view, providing a visually appealing way to present additional information or options.
-
-
+
+
-## Popover Position
+## Icon Popover
-The Popover Position component demonstrates various popover positions relative to the trigger element. There are lots of position for popover. Please see the `API Reference` sections to apply the position.
+The Icon Popover displays a popover with an icon, offering a compact and visually engaging way to provide additional context or actions.
-
-
+
+
## API Reference
-Explore the available props for the Popover component
+Explore the available props for the Popover component:
## Reference
-To learn more about the Floating-UI, please see the documentation of [Floating-UI](https://floating-ui.com/docs/react)
+To learn more about the Floating-UI library and its capabilities, please refer to the comprehensive documentation provided on the [Floating-UI website](https://floating-ui.com/docs/react).
diff --git a/app/docs/components/popover/popoverApi.ts b/app/docs/components/popover/popoverApi.ts
index bcba0df8..7c85e468 100644
--- a/app/docs/components/popover/popoverApi.ts
+++ b/app/docs/components/popover/popoverApi.ts
@@ -1,56 +1,14 @@
export const popoverAPI = [
{
id: 1,
- propsName: 'trigger',
- propsType: ['hover', 'click'],
- propsDescription: 'Defines the interaction trigger for the popover.',
- default: 'click',
- },
- {
- id: 2,
- propsName: 'children',
- propsType: ['ReactNode'],
- propsDescription: 'Content that triggers the popover when interacted with.',
- default: 'Button',
- },
- {
- id: 3,
- propsName: 'additionalContent',
- propsType: ['ReactNode'],
- propsDescription: 'Additional content to be displayed within the popover.',
- default: 'None',
- },
- {
- id: 4,
- propsName: 'title',
- propsType: ['string'],
- propsDescription: 'Title or heading for the popover content.',
- default: 'Popover Title',
- },
- {
- id: 5,
- propsName: 'description',
- propsType: ['string'],
- propsDescription: 'Additional text description for the popover content.',
- default: 'Description',
- },
- {
- id: 6,
- propsName: 'icon',
- propsType: ['ReactNode'],
- propsDescription: 'Icon to be displayed within the popover.',
- default: 'Xcricle',
- },
- {
- id: 7,
propsName: 'className',
propsType: ['string'],
propsDescription: 'Custom CSS class for styling the popover.',
default: 'None',
},
{
- id: 8,
- propsName: 'position',
+ id: 2,
+ propsName: 'placement',
propsType: [
'top',
'top-end',
@@ -66,6 +24,6 @@ export const popoverAPI = [
'right-start',
],
propsDescription: 'Defines the position of the popover relative to the trigger element.',
- default: 'bottom-start',
+ default: 'top',
},
]
diff --git a/app/docs/components/popover/variant/CardPopover.tsx b/app/docs/components/popover/variant/CardPopover.tsx
new file mode 100644
index 00000000..cd8513a6
--- /dev/null
+++ b/app/docs/components/popover/variant/CardPopover.tsx
@@ -0,0 +1,156 @@
+'use client'
+import Image from 'next/image'
+import { CaretDown, CaretLeft, CaretRight, CaretUp } from 'phosphor-react'
+import CardImg from '../../../../../public/images/card.jpg'
+import { Button, Popover, Typography } from '../../../../src'
+
+const CardPopover = () => {
+ return (
+
+
+
+
+
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Step - 1 / 5
+
+
+
+ Skip
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Step - 1 / 5
+
+
+
+ Skip
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Step - 1 / 5
+
+
+
+ Skip
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Step - 1 / 5
+
+
+
+ Skip
+
+
+ Next
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Step - 1 / 5
+
+
+
+ Skip
+
+
+ Next
+
+
+
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
+
+
+
+
+
+
+
+
+ Popover title
+ demo_email@email.com
+
+
+ Follow
+
+
+
+
+
+
+
+
+
+
+ Popover title
+ demo_email@email.com
+
+
+ Follow
+
+
+
+
+
+
+
+
+
+
+ Popover title
+ demo_email@email.com
+
+
+ Follow
-
+
+
+
- Popover
+
+
+
+
+ Popover title
+ demo_email@email.com
+
+
+ Follow
+
+
)
@@ -25,24 +71,25 @@ const DefaultPopover = () => {
const DefaultPopoverCode = `
'use client'
-import { Button, Popover } from 'keep-react'
+import { Popover } from 'keep-react'
+import { CaretRight } from 'phosphor-react'
-export const PopoverComponent = () => {
+export const PopoverComponent = () => {
return (
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
-
-
+
- Popover
+
+
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
+ Popover title
+
+ Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the
+ industrys standard dummy text ever since
+
+
-
- There are many variations of passages of Lorem Ipsum available.
-
-
- Skip Now
-
-
-
- Popover
-
-
-
- )
-}
-
-const OneParagraphPopoverCode = `
-"use client";
-import { Button, Popover } from "keep-react";
-
-export const PopoverComponent = () => {
- return (
-
- There are many variations of passages of Lorem Ipsum available.
-
-
- Skip Now
-
-
-
- Popover
-
-
- )
-}
-`
-
-export { OneParagraphPopover, OneParagraphPopoverCode }
diff --git a/app/docs/components/popover/variant/PopoverPosition.tsx b/app/docs/components/popover/variant/PopoverPosition.tsx
deleted file mode 100644
index 65091092..00000000
--- a/app/docs/components/popover/variant/PopoverPosition.tsx
+++ /dev/null
@@ -1,51 +0,0 @@
-'use client'
-import { Button, Popover } from '../../../../src'
-
-const PopoverPosition = () => {
- return (
-
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
-
-
-
- Popover
-
-
-
- )
-}
-
-const PopoverPositionCode = `
-"use client";
-import { Button, Popover } from "keep-react";
-
-export const PopoverComponent = () => {
- return (
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
-
-
-
- Popover
-
-
- )
-}
-`
-
-export { PopoverPosition, PopoverPositionCode }
diff --git a/app/docs/components/popover/variant/SingleLinePopover.tsx b/app/docs/components/popover/variant/SingleLinePopover.tsx
deleted file mode 100644
index c17fa01f..00000000
--- a/app/docs/components/popover/variant/SingleLinePopover.tsx
+++ /dev/null
@@ -1,32 +0,0 @@
-'use client'
-import { Button, Popover } from '../../../../src'
-
-const SingleLinePopover = () => {
- return (
-
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
-
-
-
- Popover
-
-
-
- )
-}
-
-const TriggerVariantPopoverCode = `
-"use client";
-import { Button, Popover } from "keep-react";
-
-export const PopoverComponent = () => {
- return (
-
- Popover title here
-
- There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in
- some form, by injected humour
-
-
-
- Checkout
-
-
-
- Popover
-
-
- )
-}
-`
-
-export { TriggerVariantPopover, TriggerVariantPopoverCode }
diff --git a/app/docs/components/progress/page.tsx b/app/docs/components/progress/page.tsx
index 33a1f692..9625afc1 100644
--- a/app/docs/components/progress/page.tsx
+++ b/app/docs/components/progress/page.tsx
@@ -1,11 +1,11 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import ProgressDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
'The Progress Bar Component in the Keep React allows you to visually represent the progress or completion of a task or process.',
- title: 'Progress Bar - Keep React',
+ title: 'Progress - Keep React',
}
const page: NextPage = () => {
diff --git a/app/docs/components/progress/progress.mdx b/app/docs/components/progress/progress.mdx
index ffcf1beb..25606b7f 100644
--- a/app/docs/components/progress/progress.mdx
+++ b/app/docs/components/progress/progress.mdx
@@ -1,15 +1,14 @@
+import { DefaultLineProgress, DefaultLineProgressCode } from './variant/DefaultLineProgress'
import { DefaultProgress, DefaultProgressCode } from './variant/DefaultProgress'
-import { VariantOfProgress, VariantOfProgressCode } from './variant/VariantOfProgress'
import { SizesOfProgress, SizesOfProgressCode } from './variant/SizesOfProgress'
-import { ColorsOfProgress, ColorsOfProgressCode } from './variant/ColorsOfProgress'
-import { ProgressWithNumber, ProgressWithNumberCode } from './variant/ProgressWithNumber'
-import { ProgressWithPopup, ProgressWithPopupCode } from './variant/ProgressWithPopup'
+import { VariantOfProgress, VariantOfProgressCode } from './variant/VariantOfProgress'
+import { SizesOfLineProgress, SizesOfLineProgressCode } from './variant/LineProgressSize'
+import { CustomizeProgress, CustomizeProgressCode } from './variant/CustomizeProgress'
+import { LineProgressDataApi, circleProgressDataApi } from './progressApi'
-import { progressDataApi } from './progressApi'
+import CodePreview from '../../../components/CodePreview'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -23,48 +22,50 @@ Default Progress allows you to visually represent the progress or completion of
-## Progress Style Variant
+## Progress Size Variant
+
+Progress component supports multiple sizes to fit your design needs. Here is available sizes options for the progress component in our design system `sm` `md` `lg` `xl` and `2xl`.
+
+
+
+
-The Progress component in our design system comes with two style options: `rounded` and `bordered`
+## Progress Variant
+
+The Progress component in our design system comes with two options: `LineProgress` and `CircleProgress`
-## Progress Size Variant
-
-Progress component supports multiple sizes to fit your design needs. Here is available sizes options for the progress component in our design system `sm` `md` `lg` and `lg`.
+## Line Progress
-
-
+
+
-## Progress Colors Variant
+## Line Progress Size
-The Progress component offers various color options to suit your design preferences.Here is available colors options for the progress component in our design system `info` `error` `success` `warning` `indigo` and `purple`.
+Progress component supports multiple sizes to fit your design needs. Here is available sizes options for the progress component in our design system `sm` `md` `lg` `xl` and `2xl`.
-
-
+
+
-## Progress with Progress Number
-
-You can enhance the Progress component by adding a progress number that indicates the completion percentage of a task or process. This feature is particularly useful for providing users with a clear numeric representation of progress.
+## How To Customize
-
-
+
+
-## Progress with Popup
+## Circle Progress API
-The Progress component can be augmented with a popup that displays the progress percentage in a more detailed manner with `showPopupLabelProgress={true}` props.
+Explore the available props for the Circle Progress component:
-
-
-
+
-## API Reference
+## Line Progress API
-Explore the available props for the Progress component:
+Explore the available props for the Line Progress component:
-
+
diff --git a/app/docs/components/progress/progressApi.ts b/app/docs/components/progress/progressApi.ts
index 1348586a..50842238 100644
--- a/app/docs/components/progress/progressApi.ts
+++ b/app/docs/components/progress/progressApi.ts
@@ -1,65 +1,75 @@
-export const progressDataApi = [
- {
- id: 9,
- propsName: 'color',
- propsType: ['info', 'error', 'success', 'warning', 'indigo', 'purple'],
- propsDescription: 'Defines the available color options for progress.',
- default: 'info',
- },
+export const LineProgressDataApi = [
{
id: 1,
propsName: 'size',
- propsType: ['sm', 'md', 'lg', 'xl'],
+ propsType: ['sm', 'md', 'lg', 'xl', '2xl'],
propsDescription: 'Defines the available sizes options for progress.',
default: 'md',
},
{
id: 2,
- propsName: 'label',
+ propsName: 'progress',
+ propsType: 'number',
+ propsDescription: 'Defines the progress control for the progress bar.',
+ default: '55',
+ },
+ {
+ id: 4,
+ propsName: 'lineBg',
propsType: 'string',
- propsDescription: 'Progress level text.',
- default: 'Text',
+ propsDescription: 'Progress line background color',
+ default: '',
},
{
id: 3,
- propsName: 'labelPosition',
- propsType: ['inside', 'outside', 'none'],
- propsDescription: 'Defines the available position for progress label.',
- default: 'outside',
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'Add your own className',
+ default: '',
},
+]
+
+export const circleProgressDataApi = [
{
- id: 4,
- propsName: 'labelProgress',
- propsType: 'boolean',
- propsDescription: 'Specifies whether the progress label is shown.',
- default: 'false',
+ id: 1,
+ propsName: 'size',
+ propsType: ['sm', 'md', 'lg', 'xl', '2xl'],
+ propsDescription: 'Defines the available sizes options for progress.',
+ default: 'md',
},
{
- id: 5,
- propsName: 'showPopupLabelProgress',
- propsType: 'boolean',
- propsDescription: 'Specifies whether the popup label progress is shown.',
- default: 'false',
+ id: 2,
+ propsName: 'progress',
+ propsType: 'number',
+ propsDescription: 'Defines the progress control for the progress bar.',
+ default: '55',
},
{
- id: 6,
- propsName: 'rounded',
- propsType: 'boolean',
- propsDescription: 'Specifies whether the progress bar is rounded.',
- default: 'false',
+ id: 3,
+ propsName: 'strokeBgColor',
+ propsType: 'string',
+ propsDescription: 'Circle Stroke Background Color',
+ default: '',
},
{
- id: 7,
- propsName: 'bordered',
- propsType: 'boolean',
- propsDescription: 'Specifies whether the progress bar is bordered.',
- default: 'false',
+ id: 5,
+ propsName: 'strokeColor',
+ propsType: 'string',
+ propsDescription: 'Circle Stroke Color',
+ default: '',
},
{
- id: 8,
- propsName: 'progress',
+ id: 6,
+ propsName: 'strokeWidth',
propsType: 'number',
- propsDescription: 'Defines the progress control for the progress bar.',
- default: '45',
+ propsDescription: 'Circle Stroke Width',
+ default: '2.5',
+ },
+ {
+ id: 7,
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'Add your own className',
+ default: '',
},
]
diff --git a/app/docs/components/progress/variant/ColorsOfProgress.tsx b/app/docs/components/progress/variant/ColorsOfProgress.tsx
deleted file mode 100644
index e8c15073..00000000
--- a/app/docs/components/progress/variant/ColorsOfProgress.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-'use client'
-import { Progress } from '../../../../src'
-
-const ColorsOfProgress = () => {
- return (
-
-
- );
-}
-`
-
-export { SearchBarWithIcon, SearchBarWithIconCode }
diff --git a/app/docs/components/sidebar/Sidebar.mdx b/app/docs/components/sidebar/Sidebar.mdx
index fbcdcce3..833c1c8a 100644
--- a/app/docs/components/sidebar/Sidebar.mdx
+++ b/app/docs/components/sidebar/Sidebar.mdx
@@ -1,52 +1,32 @@
import { DefaultSidebar, DefaultSidebarCode } from './variant/DefaultSidebar'
-import { SidebarWithContentSeparator, SidebarWithContentSeparatorCode } from './variant/SidebarWithContentSeparator'
-import { SidebarWithBranding, SidebarWithBrandingCode } from './variant/SidebarWithBranding'
-import { SidebarWithCTA, SidebarWithCTACode } from './variant/SidebarWithCTA'
-import { SidebarWithDropdown, SidebarWithDropdownCode } from './variant/SidebarWithDropdown'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
+import { SidebarWithIcon, SidebarWithIconCode } from './variant/SidebarWithIcon'
+import { SidebarWithCart, SidebarWithCartCode } from './variant/SidebarWithCart'
+import CodePreview from '../../../components/CodePreview'
## Table of Contents
-A Sidebar Component is a user interface element commonly found in web and mobile applications. It provides a dedicated space at the side of the main content area to display navigation links, menu items, or other relevant information. The sidebar is often used to help users navigate between different sections of the application, access important features, or view contextual details.
+The Sidebar Component is a user interface element commonly found in web and mobile applications. It provides a dedicated space at the side of the main content area to display navigation links, menu items, or other relevant information.
## Default Sidebar
-The Default Sidebar component offers a versatile multi-level navigation menu enriched with icons and labels, catering to a seamless navigation experience. It requires icons sourced from an icon library package and easy setup within the `` component with appropriate props.
+A default sidebar with sidebar items and item icons.
-## Sidebar With Dropdown
-
-Craft dropdown menus within the sidebar using the `` component. This empowers you to provide sub-level navigation options for an organized user experience.
-
-
-
-
-
-## Sidebar With Logo Branding
-
-Infuse your brand identity by incorporating a brand logo into the sidebar using the `` component. Customize the code snippet with your brand logo's URL.
-
-
-
-
-
-## Sidebar With Content Separator
+## Sidebar With Icon
-Enhance content separation in the sidebar by employing separators. Divide your sidebar items into distinct groups using `` components.
+Display sidebar items with icons only.
-
-
+
+
-## Sidebar With Call to Action
+## Sidebar With Cart
-Integrate compelling calls to action within the sidebar to engage users effectively. Utilize the `` component for seamless incorporation.
+Utilize the sidebar as a product cart in an e-commerce website.
-
-
+
+
diff --git a/app/docs/components/sidebar/page.tsx b/app/docs/components/sidebar/page.tsx
index f9541c28..3177af06 100644
--- a/app/docs/components/sidebar/page.tsx
+++ b/app/docs/components/sidebar/page.tsx
@@ -1,10 +1,10 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import SidebarDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
- 'Sidebar Component is a user interface element commonly found in web and mobile applications. It provides a dedicated space at the side of the main content area to display navigation links, menu items, or other relevant information. The sidebar is often used to help users navigate between different sections of the application, access important features, or view contextual details.',
+ 'Sidebar Component is a user interface element commonly found in web and mobile applications. It provides a dedicated space at the side of the main content area to display navigation links, menu items, or other relevant information.',
title: 'Sidebar - Keep React',
}
diff --git a/app/docs/components/sidebar/variant/DefaultSidebar.tsx b/app/docs/components/sidebar/variant/DefaultSidebar.tsx
index e72e6767..69b6cc8c 100644
--- a/app/docs/components/sidebar/variant/DefaultSidebar.tsx
+++ b/app/docs/components/sidebar/variant/DefaultSidebar.tsx
@@ -1,88 +1,170 @@
'use client'
-import { Sidebar } from '../../../../src'
-import { Chat, LockSimple, ShoppingBagOpen, ShoppingCart, SignIn, SquaresFour, UserPlus, Users } from 'phosphor-react'
+import {
+ ArchiveTray,
+ Chat,
+ Gear,
+ List,
+ MagnifyingGlass,
+ ShoppingCart,
+ SignIn,
+ SquaresFour,
+ Users,
+} from 'phosphor-react'
+import { Avatar, Button, Divider, Icon, Input, Sidebar, Typography } from '../../../../src'
const DefaultSidebar = () => {
return (
-
-
- }>
- Dashboard
-
- }>E-commerce
- } label="pro" labelColor="gray">
- Components
-
- } label="3">
- Inbox
-
- }>
- Users
-
- }>
- Products
-
- }>
- Sign In
-
- }>
- Sign Up
-
-
-
+
+ )
+}
+
+const SidebarWithIconCode = `
+'use client'
+import { ArchiveTray, Chat, Gear, ShoppingCart, SignIn, SquaresFour, Users } from 'phosphor-react'
+import { Sidebar } from 'keep-react'
+
+export const SidebarComponent = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+`
+
+export { SidebarWithIcon, SidebarWithIconCode }
diff --git a/app/docs/components/skeleton/Skeleton.mdx b/app/docs/components/skeleton/Skeleton.mdx
index 02ad1aee..0a125714 100644
--- a/app/docs/components/skeleton/Skeleton.mdx
+++ b/app/docs/components/skeleton/Skeleton.mdx
@@ -1,14 +1,12 @@
import { DefaultSkeleton, DefaultSkeletonCode } from './variant/DefaultSkeleton'
-import { SkeletonLayout, SkeletonLayoutCode } from './variant/SkeletonLayout'
import { CommentLayout, CommentLayoutCode } from './variant/CommentLayout'
import { PostSkeleton, PostSkeletonCode } from './variant/PostSkeleton'
-import { SkeletonWithAnimation, SkeletonWithAnimationCode } from './variant/SkeletonWithAnimation'
import { ParagraphSkeleton, ParagraphSkeletonCode } from './variant/ParagraphSkeleton'
import { SkeletonApiData } from './SkeletonApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
@@ -22,14 +20,6 @@ The Default Skeleton component provides a visual placeholder that mimics the app
-## Skeleton Layout
-
-With the `` component, you can create various layout structures to match your design. This example showcases one possible skeleton layout, but you can tailor it to your specific requirements.
-
-
-
-
-
## Comment Layout
The Comment Layout skeleton mimics a comment structure with a larger line, an avatar-like circle, and a description skeleton. You can customize this layout to fit your design seamlessly.
@@ -38,14 +28,6 @@ The Comment Layout skeleton mimics a comment structure with a larger line, an av
-## Post Skeleton
-
-The Post Skeleton demonstrates a skeleton representing a post-like structure, ideal for showcasing loading placeholders in a social media or content platform.
-
-
-
-
-
## Paragraph Skeleton
The Paragraph Skeleton incorporates multiple lines of skeleton components, resembling a paragraph. It's a versatile choice for loading various content blocks.
@@ -54,12 +36,12 @@ The Paragraph Skeleton incorporates multiple lines of skeleton components, resem
-## Skeleton With Animation
+## Post Skeleton
-To enhance the loading experience, you can add animation to the skeleton component by using the `animation={true}` props.
+The Post Skeleton demonstrates a skeleton representing a post-like structure, ideal for showcasing loading placeholders in a social media or content platform.
-
-
+
+
## API Reference
diff --git a/app/docs/components/skeleton/SkeletonApi.ts b/app/docs/components/skeleton/SkeletonApi.ts
index 7c18888f..fb7db6ae 100644
--- a/app/docs/components/skeleton/SkeletonApi.ts
+++ b/app/docs/components/skeleton/SkeletonApi.ts
@@ -13,11 +13,4 @@ export const SkeletonApiData = [
propsDescription: 'Skeleton Content',
default: 'Content',
},
- {
- id: 3,
- propsName: 'height',
- propsType: 'string',
- propsDescription: 'Skeleton item height',
- default: 'h-4',
- },
]
diff --git a/app/docs/components/skeleton/variant/CommentLayout.tsx b/app/docs/components/skeleton/variant/CommentLayout.tsx
index 2154a219..64a4bba8 100644
--- a/app/docs/components/skeleton/variant/CommentLayout.tsx
+++ b/app/docs/components/skeleton/variant/CommentLayout.tsx
@@ -3,42 +3,30 @@ import { Skeleton } from '../../../../src'
const CommentLayout = () => {
return (
-
-
-
-
-
-
-
-
+
+
+
diff --git a/app/docs/components/tabs/page.tsx b/app/docs/components/tabs/page.tsx
index 0ffa99be..e46c6d55 100644
--- a/app/docs/components/tabs/page.tsx
+++ b/app/docs/components/tabs/page.tsx
@@ -1,10 +1,10 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import TabsDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
- 'The Tab Group Component in the Keep React allows you to organize and display content in a tabbed interface. It provides a convenient way to switch between different sections or views within a single container. With customizable options for size, type, and status, you can create versatile and visually appealing tab groups that align with your design aesthetic.',
+ 'The Tab Group Component in the Keep React allows you to organize and display content in a tabbed interface. It provides a convenient way to switch between different sections or views within a single container.',
title: 'Tabs - Keep React',
}
diff --git a/app/docs/components/tabs/tabs.mdx b/app/docs/components/tabs/tabs.mdx
index a26e6efb..cb2386a0 100644
--- a/app/docs/components/tabs/tabs.mdx
+++ b/app/docs/components/tabs/tabs.mdx
@@ -1,48 +1,37 @@
import { DefaultTabs, DefaultTabsCode } from './variant/DefaultTabs'
-import { BorderedTabs, BorderedTabsCode } from './variant/BorderedTabs'
+import { VerticalTab, VerticalTabCode } from './variant/VerticalTabs'
import { TabsWithIcon, TabsWithIconCode } from './variant/TabsWithIcon'
-
-import { TabsWithNotification, TabsWithNotificationCode } from './variant/TabsWithNotification'
import { tabsApiData, tabsItemApiData } from './tabsApi'
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-The Tab Group Component in the Keep React allows you to organize and display content in a tabbed interface. It provides a convenient way to switch between different sections or views within a single container. With customizable options for size, type, and status, you can create versatile and visually appealing tab groups that align with your design aesthetic.
+The Tab Group Component in the Keep React allows you to organize and display content in a tabbed interface. It provides a convenient way to switch between different sections or views within a single container.
## Default Tabs
-The default Tabs component presents a collection of `pills` style button that include both tab elements and corresponding tab content.
+The Default Tabs component showcases the basic implementation of tabs.
-## Bordered Tabs
-
-By setting `borderPosition="top"`, you can make the border appear at the top of the tab group. Conversely, setting `borderPosition="bottom"` will cause the border to appear at the bottom of the tab group.
-
-
-
-
-
## Tabs with Icon
-Tabs items with icons are a user interface design element where each tab in a tabbed navigation system is accompanied by an icon. You can change the icon position by using `iconPosition` props as `"right" | "left"`.
+Enhance your tabs by incorporating icons alongside the tab labels.
-## Tab Notifications
+## Vertical Tab
-Keep users informed by adding notifications to tabs. Utilize badges to indicate new or important content.
+Display tabs vertically by setting the `vertical` prop to `true`.
-
-
+
+
## Tabs API Reference
diff --git a/app/docs/components/tabs/tabsApi.ts b/app/docs/components/tabs/tabsApi.ts
index 360bf571..19afddc2 100644
--- a/app/docs/components/tabs/tabsApi.ts
+++ b/app/docs/components/tabs/tabsApi.ts
@@ -1,75 +1,54 @@
export const tabsApiData = [
{
id: 1,
- propsName: 'style',
- propsType: ['default', 'underline', 'pills'],
- propsDescription: 'Specifies the style variant of the tabs.',
- default: 'default',
+ propsName: 'children',
+ propsType: 'ReactNode',
+ propsDescription: 'Children is tab items.',
+ default: 'Item',
},
{
id: 2,
- propsName: 'iconPosition',
- propsType: ['left', 'right'],
- propsDescription: 'Determines whether icons appear on the left or right side of tab labels.',
- default: 'left',
+ propsName: 'activeLabel',
+ propsType: 'string',
+ propsDescription: 'Which tabs by default will be active',
+ default: 'one',
},
{
id: 3,
- propsName: 'borderPosition',
- propsType: ['top', 'bottom'],
- default: 'bottom',
- propsDescription: 'Sets the position of a border line within the Tabs component.',
+ propsName: 'vertical',
+ propsType: 'boolean',
+ propsDescription: 'Tabs show vertical position',
+ default: 'false',
},
{
id: 4,
- propsName: 'onActiveTabChange',
- propsType: 'function',
- default: '()=>void',
- propsDescription: 'Callback for handling active tab changes.',
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'Custom class name for the component',
+ default: '',
},
]
export const tabsItemApiData = [
{
id: 1,
- propsName: 'title',
- propsType: 'ReactNode',
- propsDescription: 'The title of the tab item.',
- default: 'Profile',
- },
- {
- id: 2,
- propsName: 'active',
- propsType: 'boolean',
- propsDescription: 'Determines whether the tab item is active.',
- default: 'false',
- },
- {
- id: 3,
propsName: 'disabled',
propsType: 'boolean',
propsDescription: 'Determines whether the tab item is disabled.',
default: 'false',
},
{
- id: 4,
- propsName: 'icon',
- propsType: 'ReactNode',
- propsDescription: 'The icon to display with the tab item.',
- default: 'None',
- },
- {
- id: 5,
- propsName: 'notification',
- propsType: ['number', 'string'],
- propsDescription: 'Notification content for the tab item.',
- default: 'number',
+ id: 2,
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'Custom class name for the component',
+ default: '',
},
{
- id: 6,
- propsName: 'notificationColor',
- propsType: ['error', 'gray', 'info', 'success', 'warning'],
- propsDescription: 'The color of the notification for the tab item.',
- default: 'info',
+ id: 3,
+ propsName: 'label',
+ propsType: 'string',
+ propsDescription: 'This label connect to the content',
+ default: 'one',
},
]
diff --git a/app/docs/components/tabs/variant/BorderedTabs.tsx b/app/docs/components/tabs/variant/BorderedTabs.tsx
deleted file mode 100644
index c499fbc0..00000000
--- a/app/docs/components/tabs/variant/BorderedTabs.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-'use client'
-import { Tabs } from '../../../../src'
-
-const BorderedTabs = () => {
- return (
-
- Profile content
- Dashboard content
- Settings content
- Contacts content
-
- Disabled content
-
-
- )
-}
-
-const BorderedTabsCode = `
-"use client";
-import { Tabs } from "keep-react";
-
-export const TabsComponent = () => {
- return (
-
- Profile content
- Dashboard content
- Settings content
- Contacts content
-
- Disabled content
-
-
- );
-}
-`
-
-export { BorderedTabs, BorderedTabsCode }
diff --git a/app/docs/components/tabs/variant/DefaultTabs.tsx b/app/docs/components/tabs/variant/DefaultTabs.tsx
index 04f854ee..80bb7191 100644
--- a/app/docs/components/tabs/variant/DefaultTabs.tsx
+++ b/app/docs/components/tabs/variant/DefaultTabs.tsx
@@ -3,16 +3,39 @@ import { Tabs } from '../../../../src'
const DefaultTabs = () => {
return (
-
-
- Profile content
-
- Dashboard content
- Settings content
- Contacts content
-
- Disabled content
-
+
+
+ Home
+ About
+ Contact
+ Blogs
+ Sign Up
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
)
}
@@ -23,18 +46,21 @@ import { Tabs } from "keep-react";
export const TabsComponent = () => {
return (
-
-
- Profile content
-
- Dashboard content
- Settings content
- Contacts content
-
- Disabled content
-
+
+
+ Home
+ About
+ Contact
+ Blogs
+ Sign Up
+
+ Home
+ About Content
+ Contact Content
+ Blogs Content
+ Sign Up Content
- );
+ )
}
`
diff --git a/app/docs/components/tabs/variant/TabsWithIcon.tsx b/app/docs/components/tabs/variant/TabsWithIcon.tsx
index fb201ed3..554824f1 100644
--- a/app/docs/components/tabs/variant/TabsWithIcon.tsx
+++ b/app/docs/components/tabs/variant/TabsWithIcon.tsx
@@ -1,63 +1,118 @@
'use client'
+import { HouseLine, Pen, Phone, SignIn, User } from 'phosphor-react'
import { Tabs } from '../../../../src'
-import { Gear, GridFour, Phone, User, WarningCircle } from 'phosphor-react'
const TabsWithIcon = () => {
return (
-
- }>
- Profile content
-
- }>
- Dashboard content
-
- }>
- Settings content
-
- }>
- Contacts content
-
- }>
- Disabled content
-
+
+
+
+
+ Home
+
+
+
+ About
+
+
+
+ Contact
+
+
+
+ Blogs
+
+
+
+ Sign Up
+
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
)
}
const TabsWithIconCode = `
-"use client";
-import { Tabs } from "keep-react";
-import { Gear, GridFour, Phone, User, WarningCircle } from "phosphor-react";
+'use client'
+import { Tabs } from 'keep-react'
+import { HouseLine, Pen, Phone, SignIn, User } from 'phosphor-react'
export const TabsComponent = () => {
return (
-
- }>
- Profile content
-
- }>
- Dashboard content
-
- }>
- Settings content
-
- }>
- Contacts content
-
- }
- >
- Disabled content
-
+
+
+
+
+ Home
+
+
+
+ About
+
+
+
+ Contact
+
+
+
+ Blogs
+
+
+
+ Sign Up
+
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
- );
+ )
}
`
diff --git a/app/docs/components/tabs/variant/TabsWithNotification.tsx b/app/docs/components/tabs/variant/TabsWithNotification.tsx
deleted file mode 100644
index 1e96b353..00000000
--- a/app/docs/components/tabs/variant/TabsWithNotification.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-'use client'
-import { Tabs } from '../../../../src'
-
-const TabsWithNotification = () => {
- return (
-
-
- Inbox content
-
-
- Cart content
-
-
- Notification
-
-
- Message content
-
-
- )
-}
-
-const TabsWithNotificationCode = `
-"use client";
-import { Tabs } from "keep-react";
-
-export const TabsComponent = () => {
- return (
-
-
- Inbox content
-
-
- Cart content
-
-
- Notification
-
-
- Message content
-
-
- );
-}
-`
-
-export { TabsWithNotification, TabsWithNotificationCode }
diff --git a/app/docs/components/tabs/variant/VerticalTabs.tsx b/app/docs/components/tabs/variant/VerticalTabs.tsx
new file mode 100644
index 00000000..7318846a
--- /dev/null
+++ b/app/docs/components/tabs/variant/VerticalTabs.tsx
@@ -0,0 +1,130 @@
+'use client'
+import { CaretRight, HouseLine, Pen, Phone, SignIn, User } from 'phosphor-react'
+import { Tabs } from '../../../../src'
+
+const VerticalTab = () => {
+ return (
+
+
+
+
+ Home
+
+
+
+
+ About
+
+
+
+
+ Contact
+
+
+
+
+ Blogs
+
+
+
+
+ Sign Up
+
+
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ )
+}
+
+const VerticalTabCode = `
+'use client'
+import { CaretRight, HouseLine, Pen, Phone, SignIn, User } from 'phosphor-react'
+import { Tabs } from 'keep-react'
+
+export const TabsComponent = () => {
+ return (
+
+
+
+
+ Home
+
+
+
+
+ About
+
+
+
+
+ Contact
+
+
+
+
+ Blogs
+
+
+
+
+ Sign Up
+
+
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ I am so happy, my dear friend, so absorbed in the exquisite sense of mere tranquil existence, that I neglect my
+ talents. I should be incapable of drawing a single stroke at the present moment; and yet I feel that I never was
+ a greater artist than now.
+
+
+ A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy
+ with my whole heart. I am alone, and feel the charm of existence in this spot, which was created for the bliss
+ of souls like mine.
+
+
+ )
+}
+
+`
+
+export { VerticalTab, VerticalTabCode }
diff --git a/app/docs/components/tag/Tag.mdx b/app/docs/components/tag/Tag.mdx
index e9d15fa1..614cf4de 100644
--- a/app/docs/components/tag/Tag.mdx
+++ b/app/docs/components/tag/Tag.mdx
@@ -1,60 +1,40 @@
import { DefaultTag, DefaultTagCode } from './variant/DefaultTag'
-import { BothSideIconTag, BothSideIconTagCode } from './variant/BothSideIconTag'
-import { ColorsOfTag, ColorsOfTagCode } from './variant/ColorsOfTag'
-import { LeftSideIconTag, LeftSideIconTagCode } from './variant/LeftSideIconTag'
-import { TagWithDashedBorder, TagWithDashedBorderCode } from './variant/TagWithDashedBorder'
+import { TagWithIcon, TagWithIconCode } from './variant/TagWithIcon'
+import { DisabledTag, DisabledTagCode } from './variant/DisabledTag'
import { tagApiData } from './TagApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-The Color Tag Component in the Keep React allows you to visually represent and label items with different colors. With customizable options for the type, close button, color, and border, you can create color tags that align with your design and provide a clear visual distinction.
+The Color Tag Component in Keep React allows you to visually represent and label items with customizable options for style and icon.
## Default Tag
-The Default Tag component represents a tag without any additional elements. It serves as a fundamental building block for various tag variations.
+The Default Tag component represents a tag without any additional elements.
-## Colors of Tag
-
-Customize the appearance of your tags by choosing from a range of color options. The "Colors of Tag" component showcases the available color variants.
-
-
-
-
-
-## Left Side Icon Tag
-
-Enhance your tags by adding an icon to the left side using the `leftIcon` props.
-
-
-
-
-
-## Tag With Both Side Icon
+## Tag With Icon
-Create tags with icons on both sides. The left side can accommodate a custom icon, while the right side features a dismiss icon for easy removal.
+Enhance your tags by adding icons for better visual representation.
-
-
+
+
-## Tag With Dashed Border
+## Disabled Tag
-The "Tag With Dashed Border" example demonstrates two types of border styles for tags: `borderType="solid"` and `borderType="dashed"`.
+Restrict user interaction with the `disabled` prop set to `true`.
-
-
+
+
## API Reference
-For a comprehensive overview of the Tag component's properties, refer to the API documentation.
+Refer to the API documentation for a comprehensive overview of the Tag component's properties.
diff --git a/app/docs/components/tag/TagApi.ts b/app/docs/components/tag/TagApi.ts
index b69e4805..46b3dab5 100644
--- a/app/docs/components/tag/TagApi.ts
+++ b/app/docs/components/tag/TagApi.ts
@@ -1,51 +1,16 @@
export const tagApiData = [
{
id: 1,
- propsName: 'leftIcon',
- propsType: 'ReactNode',
- propsDescription: 'Icon component displayed on the left side of the tag.',
- default: '',
- },
- {
- id: 2,
- propsName: 'dismissIcon',
- propsType: 'ReactNode',
- propsDescription: 'Icon component used for dismissing the tag.',
- default: '',
- },
- {
- id: 3,
- propsName: 'dismiss',
- propsType: 'Boolean',
- propsDescription: 'Determines if the tag can be dismissed.',
+ propsName: 'rounded',
+ propsType: 'boolean',
+ propsDescription: 'Tag with rounded corner',
default: 'false',
},
{
- id: 4,
+ id: 2,
propsName: 'disabled',
propsType: 'Boolean',
propsDescription: 'Disables interactions with the tag.',
default: 'false',
},
- {
- id: 5,
- propsName: 'color',
- propsType: ['error', 'gray', 'info', 'success', 'warning', 'teal', 'purple'],
- propsDescription: 'Specifies the color variant of the tag.',
- default: 'gray',
- },
- {
- id: 6,
- propsName: 'borderType',
- propsType: ['solid', 'dashed'],
- propsDescription: 'Sets the type of border for the tag.',
- default: 'solid',
- },
- {
- id: 7,
- propsName: 'onDismiss',
- propsType: 'boolean | (() => void)',
- propsDescription: 'Callback function when the tag is dismissed.',
- default: 'Function',
- },
]
diff --git a/app/docs/components/tag/page.tsx b/app/docs/components/tag/page.tsx
index 1b2bc13d..fb831f94 100644
--- a/app/docs/components/tag/page.tsx
+++ b/app/docs/components/tag/page.tsx
@@ -1,10 +1,10 @@
import type { Metadata, NextPage } from 'next'
-import { DocsContentLayout } from '../../../components/DocsContentLayout'
import TagDocs from '.'
+import { DocsContentLayout } from '../../../components/DocsContentLayout'
export const metadata: Metadata = {
description:
- 'The Color Tag Component in the Keep React allows you to visually represent and label items with different colors. With customizable options for the type, close button, color, and border, you can create color tags that align with your design and provide a clear visual distinction.',
+ 'The Color Tag Component in the Keep React allows you to visually represent and label items. With customizable options for the style, icon.',
title: 'Tag - Keep React',
}
diff --git a/app/docs/components/tag/variant/BothSideIconTag.tsx b/app/docs/components/tag/variant/BothSideIconTag.tsx
deleted file mode 100644
index 33ef79ce..00000000
--- a/app/docs/components/tag/variant/BothSideIconTag.tsx
+++ /dev/null
@@ -1,157 +0,0 @@
-'use client'
-import { useState } from 'react'
-import { Tag } from '../../../../src'
-import { CrownSimple, X } from 'phosphor-react'
-
-const BothSideIconTag = () => {
- const [dismiss, setDismiss] = useState([false, false, false, false, false, false, false])
-
- const handleDismiss = (index: number) => {
- const updatedDismissStates = [...dismiss]
- updatedDismissStates[index] = true
- setDismiss(updatedDismissStates)
- }
- return (
-
- handleDismiss(1)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(2)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(3)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(4)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(5)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(6)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
- handleDismiss(0)}
- leftIcon={}
- dismissIcon={}>
- Tag
-
-
- );
-}
-`
-
-export { TagWithDashedBorder, TagWithDashedBorderCode }
diff --git a/app/docs/components/tag/variant/TagWithIcon.tsx b/app/docs/components/tag/variant/TagWithIcon.tsx
new file mode 100644
index 00000000..47527ab6
--- /dev/null
+++ b/app/docs/components/tag/variant/TagWithIcon.tsx
@@ -0,0 +1,50 @@
+'use client'
+import { Clock, X } from 'phosphor-react'
+import { Tag } from '../../../../src'
+
+const TagWithIcon = () => {
+ return (
+
+
+
+ Icon Tag
+
+
+ Icon Tag
+
+
+
+
+ Round Tag
+
+
+ )
+}
+
+const TagWithIconCode = `
+'use client'
+import { Tag } from 'keep-react'
+import { Clock, X } from 'phosphor-react'
+
+export const TagComponent = () => {
+ return (
+
+
+
+ Icon Tag
+
+
+ Icon Tag
+
+
+
+
+ Round Tag
+
+
+ )
+}
+
+`
+
+export { TagWithIcon, TagWithIconCode }
diff --git a/app/docs/components/textArea/TextArea.mdx b/app/docs/components/textArea/TextArea.mdx
index 95914c58..f2f18cf7 100644
--- a/app/docs/components/textArea/TextArea.mdx
+++ b/app/docs/components/textArea/TextArea.mdx
@@ -1,51 +1,49 @@
import { DefaultTextArea, DefaultTextAreaCode } from './variant/DefaultTextArea'
-import { ColorVariantOfTextArea, ColorVariantOfTextAreaCode } from './variant/ColorVariantOfTextArea'
-import { TextAreaWithOutBorder, TextAreaWithOutBorderCode } from './variant/TextAreaWithOutBorder'
+import { TextAreaWithForm, TextAreaWithFormCode } from './variant/TextAreaWithForm'
+import { DisabledTextArea, DisabledTextAreaCode } from './variant/DisabledTextArea'
import { TextAreaWithHelperText, TextAreaWithHelperTextCode } from './variant/TextAreaWithHelperText'
import { textareaApiData } from './TextAreaApi'
-
-import CodePreview from "../../../components/CodePreview"
-import CssThemePreview from "../../../components/CssThemePreview"
-import ComponentApi from "../../../components/ComponentApi"
+import CodePreview from '../../../components/CodePreview'
+import ComponentApi from '../../../components/ComponentApi'
## Table of Contents
-Textarea Input Component is a user interface element used to collect and display multiline text input from users. It provides an expandable box where users can enter a larger amount of text, such as comments, descriptions, or messages.
+The Textarea Input Component is a versatile user interface element for collecting and displaying multiline text input from users. It offers an expandable box that accommodates larger amounts of text, such as comments, descriptions, or messages.
-## Default TextArea
+## Default Textarea
-The Default TextArea is a simple and versatile component that provides users with a larger text input area.
+The Default Textarea component provides users with a simple and versatile text input area.
-
+
-## Color variant Of Text Area
+## Textarea With Helper Text
-The Text Area component in our design system offers different color variants to match your UI's visual style and provide additional context. You can choose from the following color options: `"gray"` `"info"` `"error"` `"warning"` and `"success"`.
+Display the textarea component with a label and helper text to assist users.
-
-
+
+
-## Text Area Without Border
+## Textarea in a Form
-You can easily create a TextArea without a border by setting the `border` prop to `false`.
+Learn how to integrate the textarea component into a form for seamless data collection.
-
-
+
+
-## Text Area With Helper Text
+## Disabled Textarea
-It will be displayed below the TextArea to provide additional guidance or context for the user. You can add a helperText using the `helperText` prop in the TextArea component.
+Demonstrate the use of the disabled prop to render a disabled textarea component.
-
-
+
+
## API Reference
-Explore the available props for the Text Area component
+Explore the available props for the Textarea component.
diff --git a/app/docs/components/textArea/TextAreaApi.ts b/app/docs/components/textArea/TextAreaApi.ts
index c7524eac..4a86ccef 100644
--- a/app/docs/components/textArea/TextAreaApi.ts
+++ b/app/docs/components/textArea/TextAreaApi.ts
@@ -1,44 +1,16 @@
export const textareaApiData = [
{
id: 1,
- propsName: 'shadow',
- propsType: 'boolean',
- propsDescription: 'Applies a shadow effect to the textarea component.',
- default: 'false',
+ propsName: 'className',
+ propsType: 'string',
+ propsDescription: 'className for custom style',
+ default: '',
},
{
id: 2,
- propsName: 'helperText',
- propsType: 'ReactNode',
- propsDescription: 'Additional helper text or information related to the textarea.',
- default: 'None',
- },
- {
- id: 3,
- propsName: 'withBg',
- propsType: 'boolean',
- propsDescription: 'Applies a background style to the textarea component.',
- default: 'false',
- },
- {
- id: 4,
- propsName: 'border',
- propsType: 'boolean',
- propsDescription: 'Displays a border around the textarea component.',
- default: 'false',
- },
- {
- id: 5,
propsName: 'disabled',
propsType: 'boolean',
propsDescription: 'Disables interactions with the textarea component.',
default: 'false',
},
- {
- id: 6,
- propsName: 'color',
- propsType: ['gray', 'info', 'error', 'warning', 'success'],
- propsDescription: 'Specifies the color variant of the textarea component.',
- default: 'gray',
- },
]
diff --git a/app/docs/components/textArea/variant/ColorVariantOfTextArea.tsx b/app/docs/components/textArea/variant/ColorVariantOfTextArea.tsx
deleted file mode 100644
index 55613a13..00000000
--- a/app/docs/components/textArea/variant/ColorVariantOfTextArea.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-'use client'
-import { Textarea } from '../../../../src'
-
-const ColorVariantOfTextArea = () => {
- return
-}
-
-const ColorVariantOfTextAreaCode = `
-"use client";
-import { Textarea } from "keep-react";
-
-export const TextAreaComponent = () => {
- return (
-
- );
-}
-`
-
-export { ColorVariantOfTextArea, ColorVariantOfTextAreaCode }
diff --git a/app/docs/components/textArea/variant/DefaultTextArea.tsx b/app/docs/components/textArea/variant/DefaultTextArea.tsx
index 247915a7..285dc816 100644
--- a/app/docs/components/textArea/variant/DefaultTextArea.tsx
+++ b/app/docs/components/textArea/variant/DefaultTextArea.tsx
@@ -2,24 +2,21 @@
import { Textarea } from '../../../../src'
const DefaultTextArea = () => {
- return
+ return (
+