@things-factory/shell 7.0.0-alpha.9 → 7.0.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.
- package/_index.html +8 -3
- package/client/entries/public/home.js +5 -6
- package/client/index.js +1 -6
- package/client/route.js +11 -0
- package/client/serviceworker/sw-src.js +2 -2
- package/client/store.js +3 -3
- package/client/themes/app-theme.css +53 -60
- package/client/themes/calendar-theme.css +59 -0
- package/client/themes/dark.css +51 -0
- package/client/themes/grist-theme.css +175 -0
- package/client/themes/layout-theme.css +15 -13
- package/client/themes/light.css +51 -0
- package/client/themes/material-theme.css +23 -0
- package/client/themes/md-typescale-styles.css +100 -0
- package/client/themes/oops-theme.css +6 -6
- package/client/themes/report-theme.css +47 -0
- package/client/themes/spacing.css +23 -0
- package/client/themes/state-color.css +6 -0
- package/config/config.development.js +2 -1
- package/config/license.json +5 -5
- package/dist-server/graphql-local-client.js +3 -3
- package/dist-server/graphql-local-client.js.map +1 -1
- package/dist-server/initializers/database.js +6 -6
- package/dist-server/initializers/database.js.map +1 -1
- package/dist-server/middlewares/domain-middleware.js +1 -2
- package/dist-server/middlewares/domain-middleware.js.map +1 -1
- package/dist-server/middlewares/index.js +1 -2
- package/dist-server/middlewares/index.js.map +1 -1
- package/dist-server/pubsub.js +1 -2
- package/dist-server/pubsub.js.map +1 -1
- package/dist-server/routers/global-router.js.map +1 -1
- package/dist-server/schema.js +1 -2
- package/dist-server/schema.js.map +1 -1
- package/dist-server/server-dev.js +3 -7
- package/dist-server/server-dev.js.map +1 -1
- package/dist-server/server.js +2 -1
- package/dist-server/server.js.map +1 -1
- package/dist-server/service/attribute-set/attribute-set-item-type.js +5 -5
- package/dist-server/service/attribute-set/attribute-set-item-type.js.map +1 -1
- package/dist-server/service/attribute-set/attribute-set-mutation.js +2 -2
- package/dist-server/service/attribute-set/attribute-set-mutation.js.map +1 -1
- package/dist-server/service/attribute-set/attribute-set-query.js +3 -3
- package/dist-server/service/attribute-set/attribute-set-query.js.map +1 -1
- package/dist-server/service/attribute-set/attribute-set-type.js +6 -6
- package/dist-server/service/attribute-set/attribute-set-type.js.map +1 -1
- package/dist-server/service/attribute-set/attribute-set.js +2 -2
- package/dist-server/service/attribute-set/attribute-set.js.map +1 -1
- package/dist-server/service/common-types/list-param.js +9 -9
- package/dist-server/service/common-types/list-param.js.map +1 -1
- package/dist-server/service/common-types/log.js +2 -2
- package/dist-server/service/common-types/log.js.map +1 -1
- package/dist-server/service/common-types/object-ref.js +2 -2
- package/dist-server/service/common-types/object-ref.js.map +1 -1
- package/dist-server/service/common-types/scalar-any.js.map +1 -1
- package/dist-server/service/common-types/scalar-date.js.map +1 -1
- package/dist-server/service/directive-transaction/transaction.js.map +1 -1
- package/dist-server/service/domain/{domain-Mutation.js → domain-mutation.js} +3 -3
- package/dist-server/service/domain/domain-mutation.js.map +1 -0
- package/dist-server/service/domain/domain-query.js +3 -3
- package/dist-server/service/domain/domain-query.js.map +1 -1
- package/dist-server/service/domain/domain-types.js +6 -6
- package/dist-server/service/domain/domain-types.js.map +1 -1
- package/dist-server/service/domain/domain.js +6 -7
- package/dist-server/service/domain/domain.js.map +1 -1
- package/dist-server/service/domain/index.d.ts +1 -1
- package/dist-server/service/domain/index.js +2 -2
- package/dist-server/service/domain/index.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -1
- package/dist-server/service/subscription-data/data-resolver.js +2 -2
- package/dist-server/service/subscription-data/data-resolver.js.map +1 -1
- package/dist-server/service/subscription-data/data-types.js +2 -2
- package/dist-server/service/subscription-data/data-types.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/dist-server/typeorm/encrypt-transform.js +1 -1
- package/dist-server/typeorm/encrypt-transform.js.map +1 -1
- package/dist-server/typeorm/get-data-encryption-key.js.map +1 -1
- package/dist-server/typeorm/json5-transform.js.map +1 -1
- package/dist-server/typeorm/round-transform.js +1 -1
- package/dist-server/typeorm/round-transform.js.map +1 -1
- package/dist-server/utils/condition-builder.js.map +1 -1
- package/dist-server/utils/get-domain.d.ts +0 -1
- package/dist-server/utils/get-domain.js +7 -8
- package/dist-server/utils/get-domain.js.map +1 -1
- package/dist-server/utils/get-query-builder-from-list-params.js +1 -2
- package/dist-server/utils/get-query-builder-from-list-params.js.map +1 -1
- package/dist-server/utils/get-times-for-period.js +2 -3
- package/dist-server/utils/get-times-for-period.js.map +1 -1
- package/dist-server/utils/list-param-adjuster.js +1 -2
- package/dist-server/utils/list-param-adjuster.js.map +1 -1
- package/dist-server/utils/list-params-converter.js +1 -2
- package/dist-server/utils/list-params-converter.js.map +1 -1
- package/dist-server/utils/list-query-builder.js.map +1 -1
- package/dist-server/utils/publish-progress.js +1 -2
- package/dist-server/utils/publish-progress.js.map +1 -1
- package/helps/config/fileUpload.ja.md +24 -0
- package/helps/config/fileUpload.ko.md +22 -0
- package/helps/config/fileUpload.md +24 -0
- package/helps/config/fileUpload.ms.md +24 -0
- package/helps/config/fileUpload.zh.md +21 -0
- package/package.json +27 -27
- package/server/graphql-local-client.ts +4 -4
- package/server/pubsub.ts +1 -1
- package/server/server-dev.ts +10 -11
- package/server/server.ts +9 -2
- package/server/service/attribute-set/attribute-set-query.ts +1 -1
- package/server/service/domain/domain-query.ts +1 -1
- package/server/service/domain/index.ts +1 -1
- package/server/typeorm/round-transform.ts +1 -1
- package/translations/en.json +2 -1
- package/translations/ja.json +2 -1
- package/translations/ko.json +2 -1
- package/translations/ms.json +2 -1
- package/translations/zh.json +2 -1
- package/views/public/home.html +6 -3
- package/views/template.html +2 -2
- package/client/elements/custom-alert.js +0 -120
- package/client/elements/index.js +0 -4
- package/client/elements/oops-note.js +0 -49
- package/client/elements/oops-progress.js +0 -81
- package/client/elements/oops-spinner.js +0 -31
- package/dist-server/service/domain/domain-Mutation.js.map +0 -1
- package/helps/components/oops-progress.md +0 -73
- /package/dist-server/service/domain/{domain-Mutation.d.ts → domain-mutation.d.ts} +0 -0
package/_index.html
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
<!
|
1
|
+
<!doctype html>
|
2
2
|
<html lang="en">
|
3
3
|
<head>
|
4
4
|
<meta charset="utf-8" />
|
@@ -52,6 +52,10 @@
|
|
52
52
|
<!-- Performance tip: hint to the browser to start the handshake for the fonts site -->
|
53
53
|
<link rel="preconnect" href="https://fonts.gstatic.com/" crossorigin />
|
54
54
|
<link href="/node_modules/@material-design-icons/font/index.css" rel="stylesheet" />
|
55
|
+
<link href="/node_modules/material-symbols/index.css" rel="stylesheet" />
|
56
|
+
<link href="/node_modules/@fontsource/roboto/index.css" rel="stylesheet" />
|
57
|
+
<link rel="stylesheet" href="/theme.css" />
|
58
|
+
|
55
59
|
<style>
|
56
60
|
body {
|
57
61
|
margin: 0;
|
@@ -65,7 +69,8 @@
|
|
65
69
|
line-height: 1.5;
|
66
70
|
-webkit-font-smoothing: antialiased;
|
67
71
|
|
68
|
-
accent-color: var(--
|
72
|
+
accent-color: var(--md-sys-color-primary);
|
73
|
+
background-color: var(--md-sys-color-background);
|
69
74
|
}
|
70
75
|
</style>
|
71
76
|
|
@@ -77,7 +82,7 @@
|
|
77
82
|
}
|
78
83
|
</script>
|
79
84
|
</head>
|
80
|
-
<body>
|
85
|
+
<body class="light">
|
81
86
|
<things-app></things-app>
|
82
87
|
<noscript> Please enable JavaScript to view this website. </noscript>
|
83
88
|
<!-- Load webcomponents-loader.js to check and load any polyfills your browser needs -->
|
@@ -1,5 +1,4 @@
|
|
1
|
-
import '@material/
|
2
|
-
import '@material/mwc-button'
|
1
|
+
import '@material/web/icon/icon.js'
|
3
2
|
|
4
3
|
import { css, html, LitElement } from 'lit'
|
5
4
|
|
@@ -8,12 +7,10 @@ export class HomePage extends LitElement {
|
|
8
7
|
return [
|
9
8
|
css`
|
10
9
|
:host {
|
11
|
-
background-color: var(--
|
10
|
+
background-color: var(--md-sys-color-background);
|
12
11
|
|
13
12
|
display: block;
|
14
13
|
position: relative;
|
15
|
-
|
16
|
-
--mdc-theme-primary: white;
|
17
14
|
}
|
18
15
|
|
19
16
|
[home] {
|
@@ -31,10 +28,12 @@ export class HomePage extends LitElement {
|
|
31
28
|
text-align: center;
|
32
29
|
font-size: 20px;
|
33
30
|
}
|
31
|
+
|
34
32
|
[message] strong {
|
35
33
|
display: block;
|
36
34
|
font-size: 2.5rem;
|
37
35
|
}
|
36
|
+
|
38
37
|
[message] img {
|
39
38
|
width: 450px;
|
40
39
|
max-width: 90%;
|
@@ -67,7 +66,7 @@ export class HomePage extends LitElement {
|
|
67
66
|
var { icon, title, description } = this.applicationMeta
|
68
67
|
|
69
68
|
return html`
|
70
|
-
<
|
69
|
+
<md-icon home icon="home" @click=${e => (window.location.href = '/')}>home</md-icon>
|
71
70
|
|
72
71
|
<div message>
|
73
72
|
<strong>${title}</strong>
|
package/client/index.js
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
// import '@webcomponents/scoped-custom-element-registry' // later only for @open-wc/scoped-elements@3
|
1
2
|
import 'broadcastchannel-polyfill'
|
2
3
|
import '@operato/shell/app.js'
|
3
4
|
|
@@ -14,9 +15,3 @@ export * from '@operato/shell'
|
|
14
15
|
|
15
16
|
// graphql-client
|
16
17
|
export * from '@operato/graphql'
|
17
|
-
|
18
|
-
// indexdb-store
|
19
|
-
// export * from './indexdb'
|
20
|
-
|
21
|
-
// elements
|
22
|
-
export * from './elements'
|
package/client/route.js
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
/**
|
2
|
+
* This is the place where the PageElement matching from the contextPath is finally searched.
|
3
|
+
* If it has reached here, it means that the PageElement matching the path has not been found, so it returns the page name 'page404'.
|
4
|
+
* This page displays the Page404 Element implementing the tag name 'page-404'.
|
5
|
+
* Naturally, the mapping implementation for the 'page404' page can be overridden in the parent module.
|
6
|
+
*
|
7
|
+
* 여기는 contextPath로부터 매칭되는 PageElement를 과정에서 맨 마직막에 뒤져지는 곳이다.
|
8
|
+
* 여기까지 들어왔다면, path에 매핑되는 PageElement를 찾지 못한 것이므로, 페이지 이름 'page404' 를 리턴한다.
|
9
|
+
* 이 페이지는 태그네임 'page-404'를 구현한 Page404 Element를 보여주게 된다.
|
10
|
+
* 당연히 상위 모듈에서 'page404' 페이지에 대한 매핑 구현을 오버라이드 할 수 있다.
|
11
|
+
*/
|
1
12
|
export default function route(page) {
|
2
13
|
import('@operato/shell/page-404.js')
|
3
14
|
return 'page404'
|
@@ -79,7 +79,7 @@ if (production) {
|
|
79
79
|
/* helps should be Network only for i18n sensitive */
|
80
80
|
registerRoute(/(.*)helps(.*)\.md/, new NetworkOnly())
|
81
81
|
|
82
|
-
registerRoute(/(.*)translations(.*)\.json/, new
|
82
|
+
registerRoute(/(.*)translations(.*)\.json/, new StaleWhileRevalidate())
|
83
83
|
|
84
84
|
registerRoute(({ request }) => request.destination === 'style', new CacheFirst())
|
85
85
|
|
@@ -97,7 +97,7 @@ if (production) {
|
|
97
97
|
/* helps should be Network only for i18n sensitive */
|
98
98
|
registerRoute(/(.*)helps(.*)\.md/, new NetworkOnly())
|
99
99
|
|
100
|
-
registerRoute(/(.*)translations(.*)\.json/, new
|
100
|
+
registerRoute(/(.*)translations(.*)\.json/, new StaleWhileRevalidate())
|
101
101
|
|
102
102
|
registerRoute(({ request }) => request.destination === 'style', new NetworkFirst())
|
103
103
|
|
package/client/store.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
|
-
import { configureStore } from '
|
1
|
+
import { configureStore } from '@reduxjs/toolkit'
|
2
2
|
|
3
|
-
import app from './reducers/app.js'
|
4
|
-
import route from './reducers/route.js'
|
3
|
+
import app from './reducers/app.js'
|
4
|
+
import route from './reducers/route.js'
|
5
5
|
|
6
6
|
export const store = configureStore({
|
7
7
|
devTools: process.env['NODE-ENV'] !== 'production'
|
@@ -1,47 +1,33 @@
|
|
1
1
|
body {
|
2
2
|
/* theme color */
|
3
|
-
--primary-color
|
4
|
-
--
|
5
|
-
--
|
6
|
-
--
|
7
|
-
--
|
8
|
-
|
9
|
-
--
|
10
|
-
--
|
11
|
-
--
|
12
|
-
--theme-black-color: rgba(0, 0, 0, 0.9);
|
13
|
-
|
14
|
-
--focus-background-color: var(--primary-color);
|
15
|
-
--primary-text-color: #111;
|
16
|
-
--secondary-text-color: #017e7f;
|
17
|
-
|
18
|
-
--opacity-dark-color: rgba(0, 0, 0, 0.4);
|
19
|
-
--opacity-light-color: rgba(255, 255, 255, 0.8);
|
20
|
-
|
21
|
-
/* status color */
|
22
|
-
--status-success-color: #35a24a;
|
23
|
-
--status-warning-color: #ee8d03;
|
24
|
-
--status-danger-color: #d14946;
|
25
|
-
--status-info-color: #398ace;
|
3
|
+
--primary-color: var(--md-sys-color-primary);
|
4
|
+
--secondary-color: var(--md-sys-color-secondary);
|
5
|
+
--focus-color: var(--md-sys-color-on-primary);
|
6
|
+
--primary-background-color: var(--md-sys-color-primary-container);
|
7
|
+
--secondary-background-color: var(--md-sys-color-secondary-container);
|
8
|
+
|
9
|
+
--focus-background-color: var(--md-sys-color-primary);
|
10
|
+
--primary-text-color: var(--md-sys-color-on-primary);
|
11
|
+
--secondary-text-color: var(--md-sys-color-on-secondary);
|
26
12
|
|
27
13
|
/* common style */
|
28
14
|
--border-radius: 4px;
|
29
|
-
--border-
|
15
|
+
--border-dim-color: 1px solid rgba(0, 0, 0, 0.15);
|
30
16
|
--border-light-color: 1px solid rgba(255, 255, 255, 0.3);
|
31
17
|
|
32
18
|
--box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.1);
|
33
19
|
|
34
20
|
--theme-font: 'Noto', Helvetica;
|
35
21
|
|
36
|
-
--margin-default:
|
37
|
-
--margin-narrow: 4px;
|
38
|
-
--margin-wide:
|
39
|
-
--padding-default: var(--
|
40
|
-
--padding-narrow: var(--
|
41
|
-
--padding-wide: var(--
|
22
|
+
--margin-default: var(--spacing-medium, 8px);
|
23
|
+
--margin-narrow: var(--spacing-small, 4px);
|
24
|
+
--margin-wide: var(--spacing-large, 12px);
|
25
|
+
--padding-default: var(--spacing-medium, 8px);
|
26
|
+
--padding-narrow: var(--spacing-small, 4px);
|
27
|
+
--padding-wide: var(--spacing-large, 12px);
|
42
28
|
|
43
29
|
--scrollbar-thumb-color: rgba(57, 78, 100, 0.5);
|
44
|
-
--scrollbar-thumb-hover-color: var(--
|
30
|
+
--scrollbar-thumb-hover-color: var(--md-sys-color-primary);
|
45
31
|
|
46
32
|
--fontsize-default: 14px;
|
47
33
|
--fontsize-small: 13px;
|
@@ -53,78 +39,81 @@ body {
|
|
53
39
|
/* title & description style */
|
54
40
|
--title-margin: var(--margin-narrow) 0;
|
55
41
|
--title-font: bold 24px var(--theme-font);
|
56
|
-
--title-text-color: var(--
|
42
|
+
--title-text-color: var(--md-sys-color-secondary);
|
57
43
|
--title-font-mobile: bold 20px var(--theme-font);
|
58
44
|
|
59
45
|
--page-description-margin: var(--margin-narrow) 0 var(--margin-wide) 0;
|
60
46
|
--page-description-font: normal var(--fontsize-default) / 1.2rem var(--theme-font);
|
61
|
-
--page-description-color: var(--
|
47
|
+
--page-description-color: var(--md-sys-color-primary);
|
62
48
|
|
63
49
|
--subtitle-padding: 12px 5px 3px 5px;
|
64
50
|
--subtitle-font: bold 18px var(--theme-font);
|
65
|
-
--subtitle-text-color: var(--
|
66
|
-
--subtitle-border-bottom: 1px solid var(--
|
51
|
+
--subtitle-text-color: var(--md-sys-color-primary);
|
52
|
+
--subtitle-border-bottom: 1px solid var(--md-sys-color-primary);
|
67
53
|
|
68
54
|
/* icon style */
|
69
|
-
--icon-tiny-size: 24px;
|
70
|
-
--icon-default-size:
|
71
|
-
--icon-big-size: 48px;
|
72
|
-
--icon-default-color: var(--
|
55
|
+
--icon-tiny-size: var(--icon-size-medium, 24px);
|
56
|
+
--icon-default-size: var(--icon-size-large, 32px);
|
57
|
+
--icon-big-size: var(--icon-size-huge, 48px);
|
58
|
+
--icon-default-color: var(--md-sys-color-on-primary);
|
73
59
|
|
74
60
|
/* material design component themes */
|
75
|
-
--mdc-theme-on-primary: var(--
|
61
|
+
--mdc-theme-on-primary: var(--md-sys-color-on-primary);
|
76
62
|
--mdc-theme-primary: var(--secondary-text-color);
|
77
|
-
--mdc-theme-on-secondary: var(--
|
78
|
-
--mdc-theme-secondary: var(--
|
79
|
-
--mdc-button-outline-color: var(--
|
63
|
+
--mdc-theme-on-secondary: var(--md-sys-color-on-primary);
|
64
|
+
--mdc-theme-secondary: var(--md-sys-color-primary);
|
65
|
+
--mdc-button-outline-color: var(--md-sys-color-primary);
|
80
66
|
--mdc-danger-button-primary-color: var(--status-danger-color);
|
81
67
|
--mdc-danger-button-outline-color: var(--status-danger-color);
|
82
68
|
--mdc-button-outline-width: 1px;
|
83
69
|
--mdc-button-horizontal-padding: 16px;
|
84
70
|
|
85
71
|
/* button style */
|
86
|
-
--button-background-color:
|
87
|
-
--button-background-focus-color: var(--
|
88
|
-
--button-border: var(--border-
|
72
|
+
--button-background-color: var(--md-sys-color-surface-variant);
|
73
|
+
--button-background-focus-color: var(--md-sys-color-primary);
|
74
|
+
--button-border: var(--border-dim-color);
|
89
75
|
--button-border-radius: var(--border-radius);
|
90
76
|
--button-margin: var(--margin-default) var(--margin-default) var(--margin-default) 0;
|
91
|
-
--button-padding: var(--padding-
|
92
|
-
--button-color: var(--
|
93
|
-
--button-font:
|
77
|
+
--button-padding: calc(var(--padding-narrow) * 1.5) var(--padding-wide);
|
78
|
+
--button-color: var(--md-sys-color-secondary);
|
79
|
+
--button-font: 600 var(--fontsize-default) var(--theme-font);
|
94
80
|
--button-text-transform: capitalize;
|
95
81
|
--button-active-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);
|
96
|
-
--button-activ-border: 1px solid var(--
|
82
|
+
--button-activ-border: 1px solid var(--md-sys-color-primary);
|
83
|
+
--button-activ-background-color: var(--md-sys-color-primary);
|
84
|
+
--button-activ-color: var(--md-sys-color-on-primary);
|
85
|
+
--iconbtn-padding: var(--padding-narrow);
|
97
86
|
|
98
|
-
--button-primary-background-color: var(--
|
87
|
+
--button-primary-background-color: var(--md-sys-color-primary);
|
99
88
|
--button-primary-active-background-color: var(--status-success-color);
|
100
89
|
--button-primary-padding: var(--margin-default) var(--margin-wide);
|
101
|
-
--button-primary-color: var(--
|
90
|
+
--button-primary-color: var(--md-sys-color-on-primary);
|
102
91
|
--button-primary-font: bold 16px var(--theme-font);
|
103
92
|
|
104
93
|
/* table style */
|
105
94
|
--th-padding: var(--padding-default);
|
106
|
-
--th-border-top: 2px solid var(--
|
95
|
+
--th-border-top: 2px solid var(--md-sys-color-secondary);
|
107
96
|
--th-text-transform: capitalize;
|
108
97
|
--th-font: bold var(--fontsize-small) var(--theme-font);
|
109
|
-
--th-color:
|
98
|
+
--th-color: var(--md-sys-color-secondary);
|
110
99
|
|
111
|
-
--tr-background-color: var(--
|
100
|
+
--tr-background-color: var(--md-sys-color-surface-variant);
|
112
101
|
--tr-background-odd-color: rgba(255, 255, 255, 0.4);
|
113
102
|
--tr-background-hover-color: #e1f5fe;
|
114
103
|
--td-border-line: 1px solid rgba(0, 0, 0, 0.05);
|
115
104
|
--td-border-bottom: 1px solid rgba(0, 0, 0, 0.09);
|
116
105
|
--td-padding: var(--padding-default);
|
117
106
|
--td-font: normal 13px var(--theme-font);
|
118
|
-
--td-color: var(--
|
107
|
+
--td-color: var(--md-sys-color-secondary);
|
119
108
|
|
120
|
-
--label-cell-background-color:
|
109
|
+
--label-cell-background-color: var(--md-sys-color-surface); /* th or td common background color */
|
121
110
|
|
122
111
|
/* form style */
|
123
112
|
--label-font: normal var(--fontsize-default) var(--theme-font);
|
124
|
-
--label-color: var(--
|
113
|
+
--label-color: var(--md-sys-color-on-surface);
|
125
114
|
--label-text-transform: capitalize;
|
126
115
|
--input-margin: var(--margin-narrow) 0;
|
127
|
-
--input-padding:
|
116
|
+
--input-padding: 6px 2px;
|
128
117
|
--input-min-width: 200px;
|
129
118
|
--input-font: normal var(--fontsize-default) var(--theme-font);
|
130
119
|
--input-hint-font: normal var(--fontsize-small) var(--theme-font);
|
@@ -133,10 +122,14 @@ body {
|
|
133
122
|
--fieldset-margin: var(--padding-wide) 0;
|
134
123
|
--fieldset-padding: 0 var(--padding-wide) var(--padding-wide) var(--padding-wide);
|
135
124
|
--legend-padding: var(--padding-default) 0;
|
136
|
-
--legend-color: var(--
|
125
|
+
--legend-color: var(--md-sys-color-secondary);
|
137
126
|
--legend-font: bold 16px var(--theme-font);
|
138
127
|
}
|
139
128
|
|
129
|
+
body.dark {
|
130
|
+
caret-color: white;
|
131
|
+
}
|
132
|
+
|
140
133
|
@media only screen and (max-width: 460px) {
|
141
134
|
body {
|
142
135
|
/* subtitle style */
|
@@ -0,0 +1,59 @@
|
|
1
|
+
body {
|
2
|
+
--ox-calendar-padding: var(--padding-default);
|
3
|
+
|
4
|
+
/* monthly common color */
|
5
|
+
--calendar-monthly-text-color: var(--md-sys-color-secondary);
|
6
|
+
--calendar-monthly-border: 1px solid rgba(0, 0, 0, 0.1);
|
7
|
+
--calendar-monthly-border-width: 0 1px 1px 0px;
|
8
|
+
|
9
|
+
/* monthly layout */
|
10
|
+
--calendar-monthly-ol-margin: var(--margin-default) 0;
|
11
|
+
--calendar-monthly-ol-top-border: 2px solid var(--md-sys-color-secondary);
|
12
|
+
--calendar-current-monty-background-color: var(--md-sys-color-surface-variant);
|
13
|
+
--calendar-monthly-label-align: left;
|
14
|
+
--calendar-monthly-label-padding: var(--padding-narrow) 0;
|
15
|
+
--calendar-monthly-label-color: var(--md-sys-color-secondary);
|
16
|
+
--calendar-monthly-opacity: 0.5;
|
17
|
+
--calendar-monthly-date-label-background-color: var(--status-danger-color);
|
18
|
+
--calendar-monthly-date-label-margin: var(--margin-narrow);
|
19
|
+
--calendar-monthly-date-label-padding: 0px 6px;
|
20
|
+
--calendar-monthly-date-label-color: var(--md-sys-color-on-primary);
|
21
|
+
|
22
|
+
--calendar-monthly-background-color: #f4f4f4;
|
23
|
+
--calendar-monthly-event-border-radius: var(--border-radius);
|
24
|
+
--calendar-monthly-event-margin: var(--padding-narrow) 0 0 0;
|
25
|
+
--calendar-monthly-event-padding: 2px var(--padding-default);
|
26
|
+
--calendar-monthly-event-border: 3px solid #ccc;
|
27
|
+
--calendar-monthly-event-border-width: 0 0 0 3px;
|
28
|
+
|
29
|
+
/* weekly common color */
|
30
|
+
--calendar-weekly-text-color: var(--md-sys-color-secondary);
|
31
|
+
--calendar-weekly-border: 1px solid rgba(0, 0, 0, 0.1);
|
32
|
+
--calendar-weekly-border-width: 0 1px 1px 0px;
|
33
|
+
|
34
|
+
/* weekly layout */
|
35
|
+
--calendar-weekly-ol-margin: var(--margin-default) 0;
|
36
|
+
--calendar-weekly-ol-top-border: 2px solid var(--md-sys-color-secondary);
|
37
|
+
--calendar-current-week-background-color: var(--md-sys-color-surface-variant);
|
38
|
+
--calendar-weekly-label-align: center;
|
39
|
+
--calendar-weekly-label-padding: var(--padding-narrow) 0;
|
40
|
+
--calendar-weekly-label-color: var(--md-sys-color-secondary);
|
41
|
+
--calendar-weekly-opacity: 0.5;
|
42
|
+
--calendar-weekly-date-label-background-color: var(--status-danger-color);
|
43
|
+
--calendar-weekly-date-label-margin: var(--margin-narrow);
|
44
|
+
--calendar-weekly-date-label-padding: 0px 6px;
|
45
|
+
--calendar-weekly-date-label-color: var(--md-sys-color-on-primary);
|
46
|
+
|
47
|
+
--calendar-weekly-background-color: #f4f4f4;
|
48
|
+
--calendar-weekly-event-border-radius: var(--border-radius);
|
49
|
+
--calendar-weekly-event-margin: var(--padding-narrow) 0 0 0;
|
50
|
+
--calendar-weekly-event-padding: 2px var(--padding-default);
|
51
|
+
--calendar-weekly-event-border: 3px solid #ccc;
|
52
|
+
--calendar-weekly-event-border-width: 0 0 0 3px;
|
53
|
+
}
|
54
|
+
|
55
|
+
@media only screen and (max-width: 460px) {
|
56
|
+
body {
|
57
|
+
--calendar-monthly-text-color: tomato;
|
58
|
+
}
|
59
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
.dark {
|
2
|
+
--md-sys-color-primary: rgb(178 197 255);
|
3
|
+
--md-sys-color-surface-tint: rgb(178 197 255);
|
4
|
+
--md-sys-color-on-primary: rgb(24 46 96);
|
5
|
+
--md-sys-color-primary-container: rgb(49 69 120);
|
6
|
+
--md-sys-color-on-primary-container: rgb(218 226 255);
|
7
|
+
--md-sys-color-secondary: rgb(143 207 243);
|
8
|
+
--md-sys-color-on-secondary: rgb(0 53 73);
|
9
|
+
--md-sys-color-secondary-container: rgb(0 76 104);
|
10
|
+
--md-sys-color-on-secondary-container: rgb(195 232 255);
|
11
|
+
--md-sys-color-tertiary: #cffce3;
|
12
|
+
--md-sys-color-on-tertiary: rgb(0 56 35);
|
13
|
+
--md-sys-color-tertiary-container: #005234;
|
14
|
+
--md-sys-color-on-tertiary-container: #cffce3;
|
15
|
+
--md-sys-color-error: #fbafa9;
|
16
|
+
--md-sys-color-on-error: #fe594e;
|
17
|
+
--md-sys-color-error-container: #fe594e;
|
18
|
+
--md-sys-color-on-error-container: #fbafa9;
|
19
|
+
--md-sys-color-background: rgb(18 19 24);
|
20
|
+
--md-sys-color-on-background: rgb(227 226 233);
|
21
|
+
--md-sys-color-surface: rgb(18 19 24);
|
22
|
+
--md-sys-color-on-surface: rgb(227 226 233);
|
23
|
+
--md-sys-color-surface-variant: rgb(69 70 79);
|
24
|
+
--md-sys-color-on-surface-variant: rgb(197 198 208);
|
25
|
+
--md-sys-color-outline: rgb(143 144 154);
|
26
|
+
--md-sys-color-outline-variant: rgb(69 70 79);
|
27
|
+
--md-sys-color-shadow: rgb(0 0 0);
|
28
|
+
--md-sys-color-scrim: rgb(0 0 0);
|
29
|
+
--md-sys-color-inverse-surface: rgb(227 226 233);
|
30
|
+
--md-sys-color-inverse-on-surface: rgb(47 48 54);
|
31
|
+
--md-sys-color-inverse-primary: rgb(73 93 146);
|
32
|
+
--md-sys-color-primary-fixed: rgb(218 226 255);
|
33
|
+
--md-sys-color-on-primary-fixed: rgb(0 24 72);
|
34
|
+
--md-sys-color-primary-fixed-dim: rgb(178 197 255);
|
35
|
+
--md-sys-color-on-primary-fixed-variant: rgb(49 69 120);
|
36
|
+
--md-sys-color-secondary-fixed: rgb(195 232 255);
|
37
|
+
--md-sys-color-on-secondary-fixed: rgb(0 30 44);
|
38
|
+
--md-sys-color-secondary-fixed-dim: rgb(143 207 243);
|
39
|
+
--md-sys-color-on-secondary-fixed-variant: rgb(0 76 104);
|
40
|
+
--md-sys-color-tertiary-fixed: #c7e6d5;
|
41
|
+
--md-sys-color-on-tertiary-fixed: rgb(0 33 19);
|
42
|
+
--md-sys-color-tertiary-fixed-dim: #c7e6d5;
|
43
|
+
--md-sys-color-on-tertiary-fixed-variant: rgb(0 82 52);
|
44
|
+
--md-sys-color-surface-dim: rgb(18 19 24);
|
45
|
+
--md-sys-color-surface-bright: rgb(56 57 63);
|
46
|
+
--md-sys-color-surface-container-lowest: rgb(13 14 19);
|
47
|
+
--md-sys-color-surface-container-low: rgb(26 27 33);
|
48
|
+
--md-sys-color-surface-container: rgb(30 31 37);
|
49
|
+
--md-sys-color-surface-container-high: rgb(41 42 47);
|
50
|
+
--md-sys-color-surface-container-highest: rgb(51 52 58);
|
51
|
+
}
|
@@ -0,0 +1,175 @@
|
|
1
|
+
body {
|
2
|
+
--grid-container-border-color: 1px solid rgba(0, 0, 0, 0.09);
|
3
|
+
--grid-container-border-width: 1px 0;
|
4
|
+
--grid-wrap-container-border: 0px solid transparent;
|
5
|
+
--grid-wrap-container-border-width: 0;
|
6
|
+
|
7
|
+
--grist-background-color: transparent;
|
8
|
+
--grist-title-margin: 0 0 0 10px;
|
9
|
+
--grist-title-border: none;
|
10
|
+
--grist-title-font: var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)) 1.1em
|
11
|
+
var(--theme-font, 'Roboto');
|
12
|
+
--grist-title-color: var(--md-sys-color-on-surface);
|
13
|
+
--grist-title-icon-color: var(--md-sys-color-on-surface-variant);
|
14
|
+
--grist-title-icon-margin: 0 3px 2px 0;
|
15
|
+
--grist-title-icon-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
16
|
+
--grist-title-with-grid-padding: 0;
|
17
|
+
|
18
|
+
--grist-object-editor-font: normal 1em var(--theme-font, 'Roboto');
|
19
|
+
--grist-object-editor-color: var(--md-sys-color-on-surface);
|
20
|
+
|
21
|
+
--grist-input-progress-border: 1px solid rgba(255, 255, 255, 0.5);
|
22
|
+
--grist-input-progress-background: rgba(121, 110, 110, 0.1);
|
23
|
+
--grist-input-progress-bar-background: var(--md-sys-color-primary-fixed-dim);
|
24
|
+
--grist-input-progress-bar-color: var(--md-sys-color-on-surface-variant);
|
25
|
+
|
26
|
+
--grid-header-background-color: var(--md-sys-color-surface-container-low);
|
27
|
+
--grid-header-top-border: 2px solid var(--md-sys-color-primary);
|
28
|
+
--grid-header-bottom-border: var(--grid-container-border-color);
|
29
|
+
--grid-header-border-color: var(--md-sys-color-outline);
|
30
|
+
--grid-header-padding: var(--spacing-small) var(--spacing-tiny);
|
31
|
+
--grid-header-sorter-size: 18px;
|
32
|
+
--grid-header-splitter-border: var(--grid-container-border-color);
|
33
|
+
--grid-header-splitter-border-hover: 1px solid var(--md-sys-color-inverse-primary);
|
34
|
+
--grid-header-color: var(--md-sys-color-primary);
|
35
|
+
--grid-header-font: var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500))
|
36
|
+
var(--fontsize-small) var(--theme-font, 'Roboto');
|
37
|
+
--grid-header-filter-title-color: var(--md-sys-color-on-surface);
|
38
|
+
--grid-header-filter-title-font: normal 12px var(--theme-font, 'Roboto');
|
39
|
+
--grid-header-filter-title-icon-color: var(--md-sys-color-on-surface-variant);
|
40
|
+
|
41
|
+
--grid-body-bottom-border: var(--grid-header-bottom-border);
|
42
|
+
|
43
|
+
--grid-gutter-padding: var(--spacing-tiny) 0;
|
44
|
+
|
45
|
+
--grid-record-background-color: var(--md-sys-color-surface-container-lowest);
|
46
|
+
--grid-record-odd-background-color: var(--md-sys-color-surface-container-low);
|
47
|
+
--grid-record-padding: var(--spacing-small) var(--spacing-medium);
|
48
|
+
--grid-record-color: var(--md-sys-color-on-surface-variant);
|
49
|
+
--grid-record-color-hover: var(--md-sys-color-primary);
|
50
|
+
--grid-record-wide-fontsize: var(--md-sys-typescale-label-large-size, 0.875rem);
|
51
|
+
--grid-record-selected-background-color: var(--md-sys-color-primary-container);
|
52
|
+
--grid-record-selected-color: var(--md-sys-color-on-primary-container);
|
53
|
+
--grid-record-focused-border: 1px solid var(--md-sys-color-outline-variant);
|
54
|
+
--grid-record-focused-cell-background-color: var(--md-sys-color-secondary-container);
|
55
|
+
--grid-record-focused-cell-border: 1px dashed var(--md-sys-color-outline);
|
56
|
+
--grid-record-focused-box-shadow: 0px 2px 0px 0px rgb(0 0 0 / 10%);
|
57
|
+
--grid-record-emphasized-background-color: var(--md-sys-color-secondary-fixed-dim);
|
58
|
+
--grid-record-emphasized-color: var(--md-sys-color-on-secondary-fixed-variant);
|
59
|
+
--grid-record-editing-background-color: var(--md-sys-color-inverse-primary);
|
60
|
+
--grid-record-editing-border: 1px dashed rgba(var(--md-sys-color-primary-rgb), 0.4);
|
61
|
+
--grid-record-fontsize: var(--md-sys-typescale-label-large-size, 0.875rem);
|
62
|
+
--grid-record-border-bottom: var(--grid-container-border-color);
|
63
|
+
|
64
|
+
--grid-record-dirty-border-top: 24px solid rgba(var(--md-sys-color-primary-rgb), 0.6);
|
65
|
+
--grid-record-dirty-border-left: 24px solid transparent;
|
66
|
+
--grid-record-dirty-icon-font: bold 10px/12px var(--md-icon-font, 'Material Symbols Outlined');
|
67
|
+
--grid-record-dirty-icon-size: var(--fontsize-large);
|
68
|
+
--grid-record-dirty-color: var(--md-sys-color-surface);
|
69
|
+
|
70
|
+
--grid-footer-background-color: var(--md-sys-color-surface-container-low);
|
71
|
+
--grid-footer-font-size: var(--md-sys-typescale-label-large-size, 0.875rem);
|
72
|
+
--grid-footer-color: var(--md-sys-color-primary);
|
73
|
+
--grid-footer-limit-color: var(--md-ref-palette-neutral40, #5f5f5f);
|
74
|
+
--grid-footer-inactive-color: var(--md-ref-palette-neutral40, #5f5f5f);
|
75
|
+
--grid-footer-padding: var(--spacing-small) var(--spacing-medium);
|
76
|
+
|
77
|
+
--data-list-background-color: var(--md-sys-color-surface-container-lowest);
|
78
|
+
--data-list-item-margin: var(--spacing-medium);
|
79
|
+
--data-list-item-padding: var(--spacing-medium) var(--spacing-large);
|
80
|
+
--data-list-item-border-bottom: var(--grid-container-border-color);
|
81
|
+
--data-list-item-name-font: bold 1.1em var(--theme-font, 'Roboto');
|
82
|
+
--data-list-item-name-color: var(--md-sys-color-secondary);
|
83
|
+
--data-list-item-disc-font: normal 0.9em var(--theme-font, 'Roboto');
|
84
|
+
--data-list-item-disc-color: var(--md-sys-color-on-tertiary-container);
|
85
|
+
--data-list-item-etc-label-font: bold 1em/1em var(--theme-font, 'Roboto');
|
86
|
+
--data-list-item-etc-font: normal 0.9em/1em var(--theme-font, 'Roboto');
|
87
|
+
--data-list-item-etc-color: var(--md-ref-palette-neutral50, #787878);
|
88
|
+
--data-list-item-icon-font: normal 1em/1em;
|
89
|
+
--data-list-item-icon-color: var(--md-sys-color-on-secondary);
|
90
|
+
--data-list-selected-background-color: var(--grid-record-selected-background-color);
|
91
|
+
--data-list-fab-position-horizontal: 15px;
|
92
|
+
--data-list-fab-position-vertical: 15px;
|
93
|
+
--data-list-fab-color: var(--md-sys-color-primary);
|
94
|
+
--data-list-fab-shadow: var(--box-shadow);
|
95
|
+
|
96
|
+
--data-card-background-color: var(--md-sys-color-surface-container);
|
97
|
+
--data-card-record-card-background-color: var(--md-sys-color-surface-container-lowest);
|
98
|
+
--data-card-record-card-border: var(--grid-container-border-color);
|
99
|
+
--data-card-record-card-border-hover: 1px solid var(--md-sys-color-primary);
|
100
|
+
--data-card-record-card-boxshadow-hover: 1px 1px 2px 1px rgba(0, 0, 0, 0.15);
|
101
|
+
--data-card-record-card-selected-border: 1px solid var(--md-sys-color-primary);
|
102
|
+
--data-card-record-card-border-radius: var(--md-sys-shape-corner-small);
|
103
|
+
--data-card-item-margin: var(--spacing-medium);
|
104
|
+
--data-card-item-padding: var(--spacing-medium) var(--spacing-large);
|
105
|
+
--data-card-item-border-bottom: var(--grid-container-border-color);
|
106
|
+
--data-card-item-name-font: bold 1.1em var(--theme-font, 'Roboto');
|
107
|
+
--data-card-item-name-color: var(--md-sys-color-secondary);
|
108
|
+
--data-card-item-name-label-font: normal 0.65em/0.8em var(--theme-font, 'Roboto');
|
109
|
+
--data-card-item-name-label-color: var(--md-sys-color-secondary);
|
110
|
+
--data-card-item-disc-font: normal 0.9em var(--theme-font, 'Roboto');
|
111
|
+
--data-card-item-disc-color: var(--md-sys-color-tertiary);
|
112
|
+
--data-card-item-etc-label-font: normal 1em/1em var(--theme-font, 'Roboto');
|
113
|
+
--data-card-item-etc-font: normal 0.9em/1em var(--theme-font, 'Roboto');
|
114
|
+
--data-card-item-etc-color: var(--md-ref-palette-neutral50, #787878);
|
115
|
+
--data-card-item-icon-font: normal 1em/1em;
|
116
|
+
--data-card-item-icon-color: var(--md-sys-color-on-secondary);
|
117
|
+
--data-card-item-btn-border: var(--grid-container-border-color);
|
118
|
+
--data-card-item-btn-border-radius: var(--md-sys-shape-corner-small);
|
119
|
+
--data-card-item-btn-padding: var(--spacing-small);
|
120
|
+
--data-card-selected-background-color: var(--grid-record-selected-background-color);
|
121
|
+
--data-card-fab-position-horizontal: 15px;
|
122
|
+
--data-card-fab-position-vertical: 15px;
|
123
|
+
--data-card-fab-color: var(--md-sys-color-primary);
|
124
|
+
--data-card-fab-shadow: var(--box-shadow);
|
125
|
+
--data-card-thumbnail-height: 140px;
|
126
|
+
--data-card-thumbnail-border-bottom: var(--grid-container-border-color);
|
127
|
+
--data-card-attachimg-height: 70px;
|
128
|
+
|
129
|
+
--record-view-background-color: var(--md-sys-color-surface-container);
|
130
|
+
--record-view-gap: var(--spacing-small) 0;
|
131
|
+
--record-view-padding: var(--spacing-medium);
|
132
|
+
--record-view-label-font: var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)) 15px
|
133
|
+
var(--theme-font, 'Roboto');
|
134
|
+
--record-view-label-color: var(--md-sys-color-secondary);
|
135
|
+
--record-view-label-icon-size: var(--fontsize-small);
|
136
|
+
--record-view-font: normal 15px var(--theme-font, 'Roboto');
|
137
|
+
--record-view-color: var(--md-sys-color-secondary);
|
138
|
+
--record-view-focus-color: var(--md-sys-color-primary);
|
139
|
+
--record-view-border-bottom: var(--grid-container-border-color);
|
140
|
+
--record-view-edit-border-bottom: 2px solid var(--md-sys-color-primary);
|
141
|
+
--record-view-item-padding: var(--spacing-medium);
|
142
|
+
|
143
|
+
--record-view-footer-background: var(--md-ref-palette-neutral50, #787878);
|
144
|
+
--record-view-footer-button-border: var(--grid-container-border-color);
|
145
|
+
--record-view-footer-button-border-width: 0 0 0 1px;
|
146
|
+
--record-view-footer-button-font: 17px;
|
147
|
+
--record-view-footer-button-color: var(--md-sys-color-surface);
|
148
|
+
--record-view-footer-iconbutton-size: 35px;
|
149
|
+
--record-view-footer-focus-background: var(--md-sys-color-primary);
|
150
|
+
|
151
|
+
--ox-grist-padding: var(--spacing-medium);
|
152
|
+
}
|
153
|
+
|
154
|
+
@media only screen and (max-width: 460px) {
|
155
|
+
body {
|
156
|
+
--record-view-label-font: var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)) 15px/32px
|
157
|
+
var(--theme-font, 'Roboto');
|
158
|
+
--record-view-font: normal 15px/32px var(--theme-font, 'Roboto');
|
159
|
+
--ox-grist-padding: 0;
|
160
|
+
}
|
161
|
+
}
|
162
|
+
@media (min-width: 461px) and (max-width: 700px) {
|
163
|
+
body {
|
164
|
+
--ox-grist-padding: 0;
|
165
|
+
}
|
166
|
+
}
|
167
|
+
@media (min-width: 461px) and (max-width: 1024px) {
|
168
|
+
body {
|
169
|
+
--data-card-create-form-padding: 7px;
|
170
|
+
}
|
171
|
+
}
|
172
|
+
|
173
|
+
body.dark {
|
174
|
+
--grid-container-border-color: 1px solid rgba(255, 255, 255, 0.09);
|
175
|
+
}
|