5htp-core 0.5.1-93 → 0.5.1-95
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.
- package/package.json +4 -2
- package/src/client/app/component.tsx +20 -19
- package/src/client/app/index.ts +5 -0
- package/src/client/assets/css/core.less +1 -1
- package/src/client/components/Dialog/index.less +1 -1
- package/src/client/components/index.ts +1 -1
- package/src/client/components/inputv3/Date/index.tsx +5 -27
- package/src/client/components/inputv3/base.less +7 -1
- package/src/server/services/router/response/index.ts +10 -8
- package/src/server/services/router/response/page/document.tsx +3 -1
- package/src/client/components/inputv3/Date/Calendar.css +0 -156
- package/src/client/components/inputv3/Date/Clock.css +0 -62
- package/src/client/components/inputv3/Date/DateTimePicker.css +0 -132
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "5htp-core",
|
|
3
3
|
"description": "Convenient TypeScript framework designed for Performance and Productivity.",
|
|
4
|
-
"version": "0.5.1-
|
|
4
|
+
"version": "0.5.1-95",
|
|
5
5
|
"author": "Gaetan Le Gac (https://github.com/gaetanlegac)",
|
|
6
6
|
"repository": "git://github.com/gaetanlegac/5htp-core.git",
|
|
7
7
|
"license": "MIT",
|
|
@@ -17,6 +17,9 @@
|
|
|
17
17
|
"@lexical/headless": "^0.18.0",
|
|
18
18
|
"@lexical/html": "^0.18.0",
|
|
19
19
|
"@lexical/react": "^0.18.0",
|
|
20
|
+
"@mantine/core": "^7.17.2",
|
|
21
|
+
"@mantine/dates": "^7.17.2",
|
|
22
|
+
"@mantine/hooks": "^7.17.2",
|
|
20
23
|
"accepts": "^1.3.7",
|
|
21
24
|
"activity-detector": "^3.0.0",
|
|
22
25
|
"ansi-to-html": "^0.7.1",
|
|
@@ -67,7 +70,6 @@
|
|
|
67
70
|
"preact": "^10.22.1",
|
|
68
71
|
"preact-render-to-string": "^6.5.5",
|
|
69
72
|
"prettier": "^3.3.3",
|
|
70
|
-
"react-datetime-picker": "^5.6.0",
|
|
71
73
|
"react-scrollbars-custom": "^4.0.27",
|
|
72
74
|
"react-slider": "^2.0.1",
|
|
73
75
|
"react-textarea-autosize": "^8.3.3",
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
// Npm
|
|
6
6
|
import React from 'react';
|
|
7
|
+
import { ColorSchemeScript, MantineProvider, mantineHtmlProps } from '@mantine/core';
|
|
7
8
|
|
|
8
9
|
// Core
|
|
9
10
|
import type { Layout } from '@common/router';
|
|
@@ -14,9 +15,6 @@ import DialogManager from '@client/components/Dialog/Manager'
|
|
|
14
15
|
import RouterComponent from '@client/services/router/components/router';
|
|
15
16
|
import type { TClientOrServerContextForPage } from '@common/router';
|
|
16
17
|
|
|
17
|
-
// Resources
|
|
18
|
-
import '@client/assets/css/core.less';
|
|
19
|
-
|
|
20
18
|
/*----------------------------------
|
|
21
19
|
- COMPOSANT
|
|
22
20
|
----------------------------------*/
|
|
@@ -35,22 +33,25 @@ export default function App ({ context }: {
|
|
|
35
33
|
return (
|
|
36
34
|
<ReactClientContext.Provider value={context}>
|
|
37
35
|
|
|
38
|
-
<
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
36
|
+
<MantineProvider>
|
|
37
|
+
|
|
38
|
+
<DialogManager context={context} />
|
|
39
|
+
|
|
40
|
+
{!layout ? <>
|
|
41
|
+
{/* TODO: move to app, because here, we're not aware that the router service has been defined */}
|
|
42
|
+
<RouterComponent service={context.Router} />
|
|
43
|
+
</> : <> {/* Same as router/components/Page.tsx */}
|
|
44
|
+
<layout.Component
|
|
45
|
+
// Services
|
|
46
|
+
{...context}
|
|
47
|
+
// API data & URL params
|
|
48
|
+
data={{
|
|
49
|
+
...apiData,
|
|
50
|
+
...context.request.data
|
|
51
|
+
}}
|
|
52
|
+
/>
|
|
53
|
+
</>}
|
|
54
|
+
</MantineProvider>
|
|
54
55
|
|
|
55
56
|
</ReactClientContext.Provider>
|
|
56
57
|
)
|
package/src/client/app/index.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
- DEPENDANCES
|
|
3
3
|
----------------------------------*/
|
|
4
4
|
|
|
5
|
+
// Npm
|
|
5
6
|
import React from 'react';
|
|
6
7
|
|
|
7
8
|
if (typeof window === 'undefined')
|
|
@@ -19,6 +20,10 @@ import type { AnyService } from './service';
|
|
|
19
20
|
|
|
20
21
|
export { default as Service } from './service';
|
|
21
22
|
|
|
23
|
+
// Resources
|
|
24
|
+
import '@client/assets/css/core.less';
|
|
25
|
+
import '@mantine/core/styles.css';
|
|
26
|
+
|
|
22
27
|
/*----------------------------------
|
|
23
28
|
- TYPES
|
|
24
29
|
----------------------------------*/
|
|
@@ -101,7 +101,7 @@ body {
|
|
|
101
101
|
// FIX: Scrollbars document à cause de custom scrollbar sur barre communautés
|
|
102
102
|
// TEMPORAIRE
|
|
103
103
|
overflow-x: hidden;
|
|
104
|
-
background: var(--cBg);
|
|
104
|
+
background: var(--cBg) !important; // Override mantine
|
|
105
105
|
color: var(--cTxtBase);
|
|
106
106
|
|
|
107
107
|
text-align: center;
|
|
@@ -27,5 +27,5 @@ export { default as Select } from './Select';
|
|
|
27
27
|
export { default as Input } from './inputv3';
|
|
28
28
|
export { default as Checkbox } from './inputv3/Checkbox';
|
|
29
29
|
export { default as File } from './inputv3/file';
|
|
30
|
-
export { default as
|
|
30
|
+
export { default as Date } from './inputv3/Date';
|
|
31
31
|
export { default as Rte } from './inputv3/Rte';
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
|
|
5
5
|
// Npm
|
|
6
6
|
import React from 'react';
|
|
7
|
-
import
|
|
7
|
+
import '@mantine/dates/styles.css';
|
|
8
|
+
import { DateTimePicker, DateTimePickerProps } from '@mantine/dates';
|
|
8
9
|
|
|
9
10
|
// Core
|
|
10
11
|
|
|
@@ -14,36 +15,13 @@ import DateRangePicker, { DateTimePickerProps } from 'react-datetime-picker';
|
|
|
14
15
|
- TYPES
|
|
15
16
|
----------------------------------*/
|
|
16
17
|
|
|
17
|
-
type
|
|
18
|
-
export type Props = DateTimePickerProps & {
|
|
19
|
-
//value: TValue,
|
|
20
|
-
//onChange: StateUpdater<TValue>,
|
|
21
|
-
placeholder?: string,
|
|
22
|
-
min?: string,
|
|
23
|
-
max?: string
|
|
24
|
-
}
|
|
18
|
+
export type Props = DateTimePickerProps;
|
|
25
19
|
|
|
26
20
|
/*----------------------------------
|
|
27
21
|
- COMPOSANT
|
|
28
22
|
----------------------------------*/
|
|
29
|
-
|
|
30
|
-
import './Calendar.css';
|
|
31
|
-
import './Clock.css';
|
|
32
|
-
export default ({ value, Props, min, max, onChange, ...otherProps }) => {
|
|
33
|
-
|
|
34
|
-
const state = React.useState(false);
|
|
35
|
-
|
|
36
|
-
/*----------------------------------
|
|
37
|
-
- CONSTRUCTION CHAMP
|
|
38
|
-
----------------------------------*/
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
/*----------------------------------
|
|
42
|
-
- RENDU DU CHAMP
|
|
43
|
-
----------------------------------*/
|
|
23
|
+
export default ({ ...props }: Props) => {
|
|
44
24
|
return (
|
|
45
|
-
<
|
|
46
|
-
<DateRangePicker {...otherProps} onChange={onChange} value={value || [null, null]} />
|
|
47
|
-
</div>
|
|
25
|
+
<DateTimePicker {...props} />
|
|
48
26
|
)
|
|
49
27
|
}
|
|
@@ -44,11 +44,17 @@
|
|
|
44
44
|
// Since they are not supposed to be on the same row (mobile first design)
|
|
45
45
|
height: @hInput;
|
|
46
46
|
align-items: center;
|
|
47
|
-
|
|
47
|
+
|
|
48
48
|
background: var(--cBg);
|
|
49
49
|
border-radius: @radius;
|
|
50
50
|
transition: background .1s linear;
|
|
51
51
|
|
|
52
|
+
&.transparent {
|
|
53
|
+
background: none !important;
|
|
54
|
+
border: none !important;
|
|
55
|
+
box-shadow: none !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
52
58
|
> i {
|
|
53
59
|
color: var(--cTxtDesc);
|
|
54
60
|
}
|
|
@@ -124,8 +124,6 @@ export default class ServerResponse<
|
|
|
124
124
|
|
|
125
125
|
// Run controller
|
|
126
126
|
const content = await this.route.controller( context );
|
|
127
|
-
|
|
128
|
-
// Handle content type
|
|
129
127
|
if (content === undefined)
|
|
130
128
|
return;
|
|
131
129
|
|
|
@@ -225,6 +223,11 @@ export default class ServerResponse<
|
|
|
225
223
|
- DATA RESPONSE
|
|
226
224
|
----------------------------------*/
|
|
227
225
|
|
|
226
|
+
public type( mimetype: string ) {
|
|
227
|
+
this.headers['Content-Type'] = mimetype;
|
|
228
|
+
return this;
|
|
229
|
+
}
|
|
230
|
+
|
|
228
231
|
public async render( page: Page, context: TRouterContext, additionnalData: {} ) {
|
|
229
232
|
|
|
230
233
|
// Set page in context for the client side
|
|
@@ -272,19 +275,17 @@ export default class ServerResponse<
|
|
|
272
275
|
this.headers['Content-Type'] = 'text/xml';
|
|
273
276
|
this.data = xml;
|
|
274
277
|
return this.end();
|
|
275
|
-
|
|
276
278
|
}
|
|
277
279
|
|
|
278
|
-
public text(text: string) {
|
|
280
|
+
public text(text: string, mimetype: string = 'text/plain') {
|
|
279
281
|
|
|
280
|
-
this.headers['Content-Type'] =
|
|
282
|
+
this.headers['Content-Type'] = mimetype;
|
|
281
283
|
this.data = text;
|
|
282
284
|
return this.end();
|
|
283
|
-
|
|
284
285
|
}
|
|
285
286
|
|
|
286
287
|
// TODO: https://github.com/adonisjs/http-server/blob/develop/src/Response/index.ts#L430
|
|
287
|
-
public async file( filename: string ) {
|
|
288
|
+
public async file( filename: string, mimetype?: string ) {
|
|
288
289
|
|
|
289
290
|
// Securité
|
|
290
291
|
if (filename.includes('..'))
|
|
@@ -317,7 +318,8 @@ export default class ServerResponse<
|
|
|
317
318
|
|
|
318
319
|
|
|
319
320
|
// Mimetype
|
|
320
|
-
|
|
321
|
+
if (mimetype !== undefined)
|
|
322
|
+
this.headers['Content-Type'] = mimetype;
|
|
321
323
|
|
|
322
324
|
return this.end();
|
|
323
325
|
}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import renderToString from "preact-render-to-string";
|
|
8
8
|
const safeStringify = require('fast-safe-stringify'); // remplace les références circulairs par un [Circular]
|
|
9
|
+
import { ColorSchemeScript, mantineHtmlProps } from '@mantine/core';
|
|
9
10
|
|
|
10
11
|
// Core
|
|
11
12
|
import type { default as Router, Response as ServerResponse } from "@server/services/router";
|
|
@@ -31,7 +32,7 @@ export default class DocumentRenderer<TRouter extends Router> {
|
|
|
31
32
|
public staticDocument() {
|
|
32
33
|
const routesForClient = JSON.stringify( this.router.ssrRoutes );
|
|
33
34
|
return '<!doctype html>' + renderToString(
|
|
34
|
-
<html lang="en">
|
|
35
|
+
<html lang="en" {...mantineHtmlProps}>
|
|
35
36
|
<head>
|
|
36
37
|
{/* Format */}
|
|
37
38
|
<meta charSet="utf-8" />
|
|
@@ -41,6 +42,7 @@ export default class DocumentRenderer<TRouter extends Router> {
|
|
|
41
42
|
<link rel="stylesheet" type="text/css" href="/public/icons.css" />
|
|
42
43
|
<link rel="preload" href="/public/client.css" as="style" />
|
|
43
44
|
<link rel="stylesheet" type="text/css" href="/public/client.css" />
|
|
45
|
+
<ColorSchemeScript />
|
|
44
46
|
|
|
45
47
|
{/* JS */}
|
|
46
48
|
<script type="text/javascript" dangerouslySetInnerHTML={{
|
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
.react-calendar {
|
|
2
|
-
width: 350px;
|
|
3
|
-
max-width: 100%;
|
|
4
|
-
background: white;
|
|
5
|
-
border: 1px solid #a0a096;
|
|
6
|
-
font-family: Arial, Helvetica, sans-serif;
|
|
7
|
-
line-height: 1.125em;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.react-calendar--doubleView {
|
|
11
|
-
width: 700px;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.react-calendar--doubleView .react-calendar__viewContainer {
|
|
15
|
-
display: flex;
|
|
16
|
-
margin: -0.5em;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.react-calendar--doubleView .react-calendar__viewContainer > * {
|
|
20
|
-
width: 50%;
|
|
21
|
-
margin: 0.5em;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.react-calendar,
|
|
25
|
-
.react-calendar *,
|
|
26
|
-
.react-calendar *:before,
|
|
27
|
-
.react-calendar *:after {
|
|
28
|
-
-moz-box-sizing: border-box;
|
|
29
|
-
-webkit-box-sizing: border-box;
|
|
30
|
-
box-sizing: border-box;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.react-calendar button {
|
|
34
|
-
margin: 0;
|
|
35
|
-
border: 0;
|
|
36
|
-
outline: none;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.react-calendar button:enabled:hover {
|
|
40
|
-
cursor: pointer;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
.react-calendar__navigation {
|
|
44
|
-
display: flex;
|
|
45
|
-
height: 44px;
|
|
46
|
-
margin-bottom: 1em;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.react-calendar__navigation button {
|
|
50
|
-
min-width: 44px;
|
|
51
|
-
background: none;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
.react-calendar__navigation button:disabled {
|
|
55
|
-
background-color: #f0f0f0;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.react-calendar__navigation button:enabled:hover,
|
|
59
|
-
.react-calendar__navigation button:enabled:focus {
|
|
60
|
-
background-color: #e6e6e6;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.react-calendar__month-view__weekdays {
|
|
64
|
-
text-align: center;
|
|
65
|
-
text-transform: uppercase;
|
|
66
|
-
font: inherit;
|
|
67
|
-
font-size: 0.75em;
|
|
68
|
-
font-weight: bold;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.react-calendar__month-view__weekdays__weekday {
|
|
72
|
-
padding: 0.5em;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.react-calendar__month-view__weekNumbers .react-calendar__tile {
|
|
76
|
-
display: flex;
|
|
77
|
-
align-items: center;
|
|
78
|
-
justify-content: center;
|
|
79
|
-
font: inherit;
|
|
80
|
-
font-size: 0.75em;
|
|
81
|
-
font-weight: bold;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
.react-calendar__month-view__days__day--weekend {
|
|
85
|
-
color: #d10000;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.react-calendar__month-view__days__day--neighboringMonth,
|
|
89
|
-
.react-calendar__decade-view__years__year--neighboringDecade,
|
|
90
|
-
.react-calendar__century-view__decades__decade--neighboringCentury {
|
|
91
|
-
color: #757575;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.react-calendar__year-view .react-calendar__tile,
|
|
95
|
-
.react-calendar__decade-view .react-calendar__tile,
|
|
96
|
-
.react-calendar__century-view .react-calendar__tile {
|
|
97
|
-
padding: 2em 0.5em;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.react-calendar__tile {
|
|
101
|
-
max-width: 100%;
|
|
102
|
-
padding: 10px 6.6667px;
|
|
103
|
-
background: none;
|
|
104
|
-
text-align: center;
|
|
105
|
-
line-height: 16px;
|
|
106
|
-
font: inherit;
|
|
107
|
-
font-size: 0.833em;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.react-calendar__tile:disabled {
|
|
111
|
-
background-color: #f0f0f0;
|
|
112
|
-
color: #ababab;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.react-calendar__month-view__days__day--neighboringMonth:disabled,
|
|
116
|
-
.react-calendar__decade-view__years__year--neighboringDecade:disabled,
|
|
117
|
-
.react-calendar__century-view__decades__decade--neighboringCentury:disabled {
|
|
118
|
-
color: #cdcdcd;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.react-calendar__tile:enabled:hover,
|
|
122
|
-
.react-calendar__tile:enabled:focus {
|
|
123
|
-
background-color: #e6e6e6;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
.react-calendar__tile--now {
|
|
127
|
-
background: #ffff76;
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
.react-calendar__tile--now:enabled:hover,
|
|
131
|
-
.react-calendar__tile--now:enabled:focus {
|
|
132
|
-
background: #ffffa9;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.react-calendar__tile--hasActive {
|
|
136
|
-
background: #76baff;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
.react-calendar__tile--hasActive:enabled:hover,
|
|
140
|
-
.react-calendar__tile--hasActive:enabled:focus {
|
|
141
|
-
background: #a9d4ff;
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.react-calendar__tile--active {
|
|
145
|
-
background: #006edc;
|
|
146
|
-
color: white;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.react-calendar__tile--active:enabled:hover,
|
|
150
|
-
.react-calendar__tile--active:enabled:focus {
|
|
151
|
-
background: #1087ff;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.react-calendar--selectRange .react-calendar__tile--hover {
|
|
155
|
-
background-color: #e6e6e6;
|
|
156
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
.react-clock {
|
|
2
|
-
display: block;
|
|
3
|
-
position: relative;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.react-clock,
|
|
7
|
-
.react-clock *,
|
|
8
|
-
.react-clock *:before,
|
|
9
|
-
.react-clock *:after {
|
|
10
|
-
-moz-box-sizing: border-box;
|
|
11
|
-
-webkit-box-sizing: border-box;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.react-clock__face {
|
|
16
|
-
position: absolute;
|
|
17
|
-
top: 0;
|
|
18
|
-
bottom: 0;
|
|
19
|
-
left: 0;
|
|
20
|
-
right: 0;
|
|
21
|
-
border: 1px solid black;
|
|
22
|
-
border-radius: 50%;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.react-clock__hand {
|
|
26
|
-
position: absolute;
|
|
27
|
-
top: 0;
|
|
28
|
-
bottom: 0;
|
|
29
|
-
left: 50%;
|
|
30
|
-
right: 50%;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.react-clock__hand__body {
|
|
34
|
-
position: absolute;
|
|
35
|
-
background-color: black;
|
|
36
|
-
transform: translateX(-50%);
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
.react-clock__mark {
|
|
40
|
-
position: absolute;
|
|
41
|
-
top: 0;
|
|
42
|
-
bottom: 0;
|
|
43
|
-
left: 50%;
|
|
44
|
-
right: 50%;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
.react-clock__mark__body {
|
|
48
|
-
position: absolute;
|
|
49
|
-
background-color: black;
|
|
50
|
-
transform: translateX(-50%);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.react-clock__mark__number {
|
|
54
|
-
position: absolute;
|
|
55
|
-
left: -40px;
|
|
56
|
-
width: 80px;
|
|
57
|
-
text-align: center;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
.react-clock__second-hand__body {
|
|
61
|
-
background-color: red;
|
|
62
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
.react-datetime-picker {
|
|
2
|
-
display: inline-flex;
|
|
3
|
-
position: relative;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
.react-datetime-picker,
|
|
7
|
-
.react-datetime-picker *,
|
|
8
|
-
.react-datetime-picker *:before,
|
|
9
|
-
.react-datetime-picker *:after {
|
|
10
|
-
-moz-box-sizing: border-box;
|
|
11
|
-
-webkit-box-sizing: border-box;
|
|
12
|
-
box-sizing: border-box;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.react-datetime-picker--disabled {
|
|
16
|
-
background-color: #f0f0f0;
|
|
17
|
-
color: #6d6d6d;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.react-datetime-picker__wrapper {
|
|
21
|
-
display: flex;
|
|
22
|
-
flex-grow: 1;
|
|
23
|
-
flex-shrink: 0;
|
|
24
|
-
border: thin solid gray;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.react-datetime-picker__inputGroup {
|
|
28
|
-
min-width: calc(4px + (4px * 3) + 0.54em * 6 + 0.217em * 2);
|
|
29
|
-
flex-grow: 1;
|
|
30
|
-
padding: 0 2px;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.react-datetime-picker__inputGroup__divider {
|
|
34
|
-
padding: 1px 0;
|
|
35
|
-
white-space: pre;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.react-datetime-picker__inputGroup__divider,
|
|
39
|
-
.react-datetime-picker__inputGroup__leadingZero {
|
|
40
|
-
display: inline-block;
|
|
41
|
-
font: inherit;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.react-datetime-picker__inputGroup__input {
|
|
45
|
-
min-width: 0.54em;
|
|
46
|
-
height: calc(100% - 2px);
|
|
47
|
-
position: relative;
|
|
48
|
-
padding: 1px;
|
|
49
|
-
border: 0;
|
|
50
|
-
background: none;
|
|
51
|
-
color: currentColor;
|
|
52
|
-
font: inherit;
|
|
53
|
-
box-sizing: content-box;
|
|
54
|
-
-webkit-appearance: textfield;
|
|
55
|
-
-moz-appearance: textfield;
|
|
56
|
-
appearance: textfield;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.react-datetime-picker__inputGroup__input::-webkit-outer-spin-button,
|
|
60
|
-
.react-datetime-picker__inputGroup__input::-webkit-inner-spin-button {
|
|
61
|
-
-webkit-appearance: none;
|
|
62
|
-
-moz-appearance: none;
|
|
63
|
-
appearance: none;
|
|
64
|
-
margin: 0;
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.react-datetime-picker__inputGroup__input:invalid {
|
|
68
|
-
background: rgba(255, 0, 0, 0.1);
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.react-datetime-picker__inputGroup__input--hasLeadingZero {
|
|
72
|
-
margin-left: -0.54em;
|
|
73
|
-
padding-left: calc(1px + 0.54em);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
.react-datetime-picker__inputGroup__amPm {
|
|
77
|
-
font: inherit;
|
|
78
|
-
-webkit-appearance: menulist;
|
|
79
|
-
-moz-appearance: menulist;
|
|
80
|
-
appearance: menulist;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
.react-datetime-picker__button {
|
|
84
|
-
border: 0;
|
|
85
|
-
background: transparent;
|
|
86
|
-
padding: 4px 6px;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.react-datetime-picker__button:enabled {
|
|
90
|
-
cursor: pointer;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.react-datetime-picker__button:enabled:hover .react-datetime-picker__button__icon,
|
|
94
|
-
.react-datetime-picker__button:enabled:focus .react-datetime-picker__button__icon {
|
|
95
|
-
stroke: #0078d7;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.react-datetime-picker__button:disabled .react-datetime-picker__button__icon {
|
|
99
|
-
stroke: #6d6d6d;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.react-datetime-picker__button svg {
|
|
103
|
-
display: inherit;
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.react-datetime-picker__calendar,
|
|
107
|
-
.react-datetime-picker__clock {
|
|
108
|
-
z-index: 1;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
.react-datetime-picker__calendar--closed,
|
|
112
|
-
.react-datetime-picker__clock--closed {
|
|
113
|
-
display: none;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
.react-datetime-picker__calendar {
|
|
117
|
-
width: 350px;
|
|
118
|
-
max-width: 100vw;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.react-datetime-picker__calendar .react-calendar {
|
|
122
|
-
border-width: thin;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.react-datetime-picker__clock {
|
|
126
|
-
width: 200px;
|
|
127
|
-
height: 200px;
|
|
128
|
-
max-width: 100vw;
|
|
129
|
-
padding: 25px;
|
|
130
|
-
background-color: white;
|
|
131
|
-
border: thin solid #a0a096;
|
|
132
|
-
}
|