diff --git a/docs/docs/components/dateAndTime.mdx b/docs/docs/components/dateAndTime.mdx new file mode 100644 index 0000000..88faaeb --- /dev/null +++ b/docs/docs/components/dateAndTime.mdx @@ -0,0 +1,63 @@ +# Date And Time + +## Quick start + +Here's a quick start guide to get started with the date and time component + +## Importing Component + +```jsx +import { DateTimePicker } from "@hover-design/react"; +``` + +## Code Snippets and Examples + +### DateTimePicker Default + +import { DateTimePicker } from "@hover-design/react"; + +```jsx + +``` + + + +### Date + +```jsx + +``` + + + +### Time + +```jsx + +``` + + + +### Month + +```jsx + +``` + + + +### Week + +```jsx + +``` + + + + +## Props Referece + +| Attributes | Values | Optional ? | +| :------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ---------: | +| type | `datetime-local` | `date` | `time` | `month` | `week` | No | +| value | `string` | Yes | diff --git a/docs/docs/components/input.mdx b/docs/docs/components/input.mdx index f5ff967..efa5a48 100644 --- a/docs/docs/components/input.mdx +++ b/docs/docs/components/input.mdx @@ -2,7 +2,7 @@ ### Quick start -Here's a quick start guide to get started with the button component +Here's a quick start guide to get started with the input component ### Importing Component diff --git a/lib/src/components/DateAndTime/DateTimePicker.tsx b/lib/src/components/DateAndTime/DateTimePicker.tsx new file mode 100644 index 0000000..7ecdf1d --- /dev/null +++ b/lib/src/components/DateAndTime/DateTimePicker.tsx @@ -0,0 +1,26 @@ +import React, { ForwardRefRenderFunction } from 'react'; +import {DateTimePickerProps} from './date-time-picker.types'; +import { Input } from '../Input'; + +const DateTimePickerComponent: ForwardRefRenderFunction = ({ + type = "datetime-local", + style, + ...props +}, ref) => { + const dandtStyle = { + width: '290px', + borderRadius: '4px', + padding: '8px' + } + /** + * If user passes style object it will merge with current style + */ + Object.assign(dandtStyle, style); + + return ( + + ) +} + +const DateTimePickerWithRef = React.forwardRef(DateTimePickerComponent); +export { DateTimePickerWithRef as DateTimePicker }; \ No newline at end of file diff --git a/lib/src/components/DateAndTime/date-time-picker.types.ts b/lib/src/components/DateAndTime/date-time-picker.types.ts new file mode 100644 index 0000000..1dee7fc --- /dev/null +++ b/lib/src/components/DateAndTime/date-time-picker.types.ts @@ -0,0 +1,8 @@ +import React from "react" + +export interface DateTimePickerProps extends React.DetailedHTMLProps< +React.InputHTMLAttributes, +HTMLInputElement +> { + type: "date" | "datetime-local" | "month" | "week" | "time"; +} \ No newline at end of file diff --git a/lib/src/components/DateAndTime/index.ts b/lib/src/components/DateAndTime/index.ts new file mode 100644 index 0000000..6532d6f --- /dev/null +++ b/lib/src/components/DateAndTime/index.ts @@ -0,0 +1 @@ +export * from "./DateTimePicker"; diff --git a/lib/src/index.ts b/lib/src/index.ts index aa37356..122d26e 100644 --- a/lib/src/index.ts +++ b/lib/src/index.ts @@ -1,28 +1,32 @@ +/** + * Make sure below list is in Alphabetical or Dictionary Order (When adding new component 🙏🏼): + */ +export * from "./components/Accordion"; +export * from "./components/Alert"; +export * from "./components/Avatar"; export * from "./components/Badge"; export * from "./components/Button"; export * from "./components/Card"; export * from "./components/Checkbox"; +export * from "./components/DateAndTime"; +export * from "./components/Dialog"; +export * from "./components/Divider"; export * from "./components/Flex"; export * from "./components/Grid"; +export * from "./components/Icon"; +export * from "./components/Input"; +export * from "./components/Label"; export * from "./components/List"; export * from "./components/ListItem"; +export * from "./components/Loader"; +export * from "./components/Modal"; +export * from "./components/NativeSelect"; +export * from "./components/Popover"; +export * from "./components/Radio"; export * from "./components/reset"; +export * from "./components/Select"; export * from "./components/Switch"; -export * from "./components/Accordion"; -export * from "./components/Input"; -export * from "./components/Label"; -export * from "./components/Divider"; -export * from "./components/Icon"; -export * from "./components/TextArea"; export * from "./components/Tab"; -export * from "./components/Avatar"; -export * from "./components/Modal"; export * from "./components/Table"; -export * from "./components/Radio"; -export * from "./components/Dialog"; -export * from "./components/Select"; -export * from "./components/NativeSelect"; -export * from "./components/Popover"; -export * from "./components/Tooltip"; -export * from "./components/Alert"; -export * from "./components/Loader"; \ No newline at end of file +export * from "./components/TextArea"; +export * from "./components/Tooltip"; \ No newline at end of file