@factorearth/component-library 3.0.7-alpha.0 → 3.0.8-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { Colors } from "Theme/types";
3
+ import "react-datepicker/dist/react-datepicker.css";
4
+ interface DateFieldProps {
5
+ colorPalette: Colors & string;
6
+ handleBlur: (e: any) => void;
7
+ value: string | null;
8
+ placeholder?: string;
9
+ moreHorizon?: React.ReactNode;
10
+ }
11
+ export declare const DateField: ({ colorPalette, handleBlur, value, placeholder, }: DateFieldProps) => React.JSX.Element;
12
+ export {};
@@ -0,0 +1,110 @@
1
+ import React, { useState, useRef } from "react";
2
+ import styled from "@emotion/styled";
3
+ import { FiCalendar } from "react-icons/fi";
4
+ import DatePicker from "react-datepicker";
5
+ import "react-datepicker/dist/react-datepicker.css";
6
+ const DateIcon = styled(FiCalendar) `
7
+ color: ${({ color }) => color.text.primary};
8
+ background: ${({ color }) => color.background.primary};
9
+ border-width: 1px;
10
+ border-style: solid;
11
+ border-color: ${({ color }) => color.border.primary};
12
+ border-left: none;
13
+ width: 24px;
14
+ height: 42px;
15
+ padding-right: 8px;
16
+ cursor: pointer;
17
+ `;
18
+ const DateFieldContainer = styled.div `
19
+ display: flex;
20
+ background: ${({ color }) => color.background.primary};
21
+
22
+ .react-datepicker {
23
+ border-color: ${({ color }) => color.border.primary};
24
+ background: ${({ color }) => color.background.primary};
25
+ left: 33px;
26
+ border-radius: 4px;
27
+ }
28
+
29
+ .react-datepicker__input-container > input {
30
+ height: 42px;
31
+ border-width: 1px;
32
+ border-style: solid;
33
+ border-color: ${({ color }) => color.border.primary};
34
+ color: ${({ color }) => color.text.primary};
35
+ background: ${({ color }) => color.background.primary};
36
+ border-right: none;
37
+ border-radius: 4px 0px 0px 4px;
38
+ font-size: 14px;
39
+ text-align: center;
40
+ width: 180px;
41
+ padding: 0;
42
+ margin: 0;
43
+ &:focus-visible {
44
+ outline: none;
45
+ }
46
+ }
47
+
48
+ .react-datepicker__header {
49
+ background-color: ${({ color }) => color.background.secondary};
50
+ border-bottom: none;
51
+ padding: 10px;
52
+ border-radius: 4px 4px 0 0;
53
+ }
54
+ .react-datepicker__month-container {
55
+ background-color: ${({ color }) => color.background.primary};
56
+ }
57
+ .react-datepicker__day {
58
+ background-color: ${({ color }) => color.background.primary};
59
+ color: ${({ color }) => color.text.primary};
60
+ }
61
+
62
+ .react-datepicker__current-month {
63
+ color: ${({ color }) => color.text.primary};
64
+ font-weight: bold;
65
+ font-size: 16px;
66
+ }
67
+
68
+ .react-datepicker__navigation {
69
+ color: ${({ color }) => color.text.primary};
70
+ }
71
+
72
+ .react-datepicker__day-name {
73
+ color: ${({ color }) => color.text.primary};
74
+ }
75
+
76
+ .react-datepicker__day--selected,
77
+ .react-datepicker__day--keyboard-selected {
78
+ background-color: ${({ color }) => color.background.tertiary};
79
+ color: ${({ color }) => color.text.primary};
80
+ border-radius: 50%;
81
+ }
82
+
83
+ .react-datepicker__day:hover {
84
+ background-color: ${({ color }) => color.background.secondary};
85
+ border-radius: 50%;
86
+ }
87
+
88
+ .react-datepicker__day--outside-month {
89
+ color: ${({ color }) => color.text.secondary};
90
+ }
91
+
92
+ .react-datepicker__triangle {
93
+ display: none;
94
+ }
95
+ `;
96
+ export const DateField = ({ colorPalette, handleBlur, value, placeholder, }) => {
97
+ const [selectedDate, setSelectedDate] = useState(null);
98
+ const datePickerRef = useRef(null);
99
+ const handleIconClick = () => {
100
+ if (datePickerRef.current) {
101
+ datePickerRef.current.setOpen(true);
102
+ }
103
+ };
104
+ return (React.createElement(DateFieldContainer, { color: colorPalette },
105
+ React.createElement(DatePicker, { value: value ? value : undefined, placeholderText: placeholder, selected: selectedDate, onChange: (date) => {
106
+ setSelectedDate(date);
107
+ }, onBlur: handleBlur, ref: datePickerRef, dateFormat: "yyyy-MM-dd" }),
108
+ React.createElement(DateIcon, { color: colorPalette, onClick: handleIconClick })));
109
+ };
110
+ //# sourceMappingURL=DateField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../lib/Atoms/DateField/DateField.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factorearth/component-library",
3
- "version": "3.0.7-alpha.0",
3
+ "version": "3.0.8-alpha.0",
4
4
  "description": " A storybook component library for FactorEarth",
5
5
  "author": "madtrx <marlin.makori@gmail.com>",
6
6
  "homepage": "https://github.com/FactorEarth/RecordMiddleware#readme",
@@ -45,10 +45,11 @@
45
45
  "access": "public",
46
46
  "registry": "https://registry.npmjs.org/"
47
47
  },
48
- "gitHead": "ee52bf83abbe9a98d081e1e1553968c5c195c5b3",
48
+ "gitHead": "e20772b6d2d90df7eb1893d0f323ee6363ec3f05",
49
49
  "dependencies": {
50
50
  "@emotion/react": "^11.13.0",
51
51
  "@emotion/styled": "^11.13.0",
52
+ "react-datepicker": "^7.3.0",
52
53
  "react-icons": "^5.3.0",
53
54
  "react-select": "^5.8.0"
54
55
  }