@operato/input 1.0.0-beta.12 → 1.0.0-beta.13
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/CHANGELOG.md +24 -0
- package/demo/index-multiple-colors.html +4 -1
- package/demo/index-partition-keys.html +2 -5
- package/demo/index.html +4 -0
- package/dist/src/locales/en.d.ts +8 -0
- package/dist/src/locales/en.js +8 -0
- package/dist/src/locales/en.js.map +1 -1
- package/dist/src/locales/ko.d.ts +8 -0
- package/dist/src/locales/ko.js +8 -0
- package/dist/src/locales/ko.js.map +1 -1
- package/dist/src/locales/ms.d.ts +8 -0
- package/dist/src/locales/ms.js +8 -0
- package/dist/src/locales/ms.js.map +1 -1
- package/dist/src/locales/zh.d.ts +8 -0
- package/dist/src/locales/zh.js +8 -0
- package/dist/src/locales/zh.js.map +1 -1
- package/dist/src/ox-input-3dish.js +24 -8
- package/dist/src/ox-input-3dish.js.map +1 -1
- package/dist/src/ox-input-color.js +16 -11
- package/dist/src/ox-input-color.js.map +1 -1
- package/dist/src/ox-input-crontab.js +13 -10
- package/dist/src/ox-input-crontab.js.map +1 -1
- package/dist/src/ox-input-multiple-colors.d.ts +1 -0
- package/dist/src/ox-input-multiple-colors.js +29 -21
- package/dist/src/ox-input-multiple-colors.js.map +1 -1
- package/dist/src/ox-input-options.d.ts +1 -0
- package/dist/src/ox-input-options.js +54 -14
- package/dist/src/ox-input-options.js.map +1 -1
- package/dist/src/ox-input-partition-keys.d.ts +1 -0
- package/dist/src/ox-input-partition-keys.js +51 -23
- package/dist/src/ox-input-partition-keys.js.map +1 -1
- package/dist/src/ox-input-search.js +7 -2
- package/dist/src/ox-input-search.js.map +1 -1
- package/dist/src/ox-input-unit.d.ts +17 -0
- package/dist/src/ox-input-unit.js +112 -0
- package/dist/src/ox-input-unit.js.map +1 -0
- package/dist/src/ox-input-work-shift.js +19 -17
- package/dist/src/ox-input-work-shift.js.map +1 -1
- package/dist/stories/ox-input-3dish.stories.d.ts +26 -0
- package/dist/stories/ox-input-3dish.stories.js +59 -0
- package/dist/stories/ox-input-3dish.stories.js.map +1 -0
- package/dist/stories/ox-input-barcode.stories.d.ts +33 -0
- package/dist/stories/ox-input-barcode.stories.js +22 -0
- package/dist/stories/ox-input-barcode.stories.js.map +1 -0
- package/dist/stories/ox-input-conntab.stories.d.ts +26 -0
- package/dist/stories/ox-input-conntab.stories.js +37 -0
- package/dist/stories/ox-input-conntab.stories.js.map +1 -0
- package/dist/stories/ox-input-multiple-colors.stories.d.ts +20 -0
- package/dist/stories/ox-input-multiple-colors.stories.js +167 -0
- package/dist/stories/ox-input-multiple-colors.stories.js.map +1 -0
- package/dist/stories/ox-input-options.stories.d.ts +25 -0
- package/dist/stories/ox-input-options.stories.js +33 -0
- package/dist/stories/ox-input-options.stories.js.map +1 -0
- package/dist/stories/ox-input-partition-keys.stories.d.ts +27 -0
- package/dist/stories/ox-input-partition-keys.stories.js +55 -0
- package/dist/stories/ox-input-partition-keys.stories.js.map +1 -0
- package/dist/stories/ox-input-range.stories.d.ts +37 -0
- package/dist/stories/ox-input-range.stories.js +25 -0
- package/dist/stories/ox-input-range.stories.js.map +1 -0
- package/dist/stories/ox-input-search.stories.d.ts +29 -0
- package/dist/stories/ox-input-search.stories.js +28 -0
- package/dist/stories/ox-input-search.stories.js.map +1 -0
- package/dist/stories/ox-input-unit.stories.d.ts +40 -0
- package/dist/stories/ox-input-unit.stories.js +41 -0
- package/dist/stories/ox-input-unit.stories.js.map +1 -0
- package/dist/stories/ox-input-work-shift.stories.d.ts +26 -0
- package/dist/stories/ox-input-work-shift.stories.js +59 -0
- package/dist/stories/ox-input-work-shift.stories.js.map +1 -0
- package/dist/stories/ox-select.stories.d.ts +30 -0
- package/dist/stories/ox-select.stories.js +82 -0
- package/dist/stories/ox-select.stories.js.map +1 -0
- package/dist/themes/common-grist-styles.d.ts +1 -0
- package/dist/themes/common-grist-styles.js +110 -0
- package/dist/themes/common-grist-styles.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -10
- package/src/locales/en.ts +8 -0
- package/src/locales/ko.ts +8 -0
- package/src/locales/ms.ts +8 -0
- package/src/locales/zh.ts +8 -0
- package/src/ox-input-3dish.ts +24 -8
- package/src/ox-input-color.ts +17 -11
- package/src/ox-input-crontab.ts +13 -10
- package/src/ox-input-multiple-colors.ts +29 -21
- package/src/ox-input-options.ts +53 -13
- package/src/ox-input-partition-keys.ts +51 -22
- package/src/ox-input-search.ts +7 -2
- package/src/ox-input-unit.ts +112 -0
- package/src/ox-input-work-shift.ts +20 -17
- package/stories/ox-input-3dish.stories.ts +73 -0
- package/stories/ox-input-barcode.stories.ts +38 -0
- package/stories/ox-input-code.stories.ts_ +71 -0
- package/stories/ox-input-conntab.stories.ts +51 -0
- package/stories/ox-input-multiple-colors.stories.ts +178 -0
- package/stories/ox-input-options.stories.ts +47 -0
- package/stories/ox-input-partition-keys.stories.ts +71 -0
- package/stories/ox-input-range.stories.ts +42 -0
- package/stories/ox-input-search.stories.ts +43 -0
- package/stories/ox-input-unit.stories.ts +65 -0
- package/stories/ox-input-work-shift.stories.ts +73 -0
- package/stories/ox-select.stories.ts +100 -0
- package/themes/app-theme.css +142 -0
- package/themes/common-grist-styles.ts +110 -0
- package/themes/input-theme.css +19 -0
- package/xliff/en.xlf +24 -0
- package/xliff/ko.xlf +32 -0
- package/xliff/ms.xlf +24 -0
- package/xliff/zh.xlf +24 -0
- package/stories/index.stories.ts_ +0 -52
@@ -0,0 +1,73 @@
|
|
1
|
+
import '../src/ox-input-work-shift.js'
|
2
|
+
import '../src/locale/locale-picker.js'
|
3
|
+
|
4
|
+
import { html, TemplateResult } from 'lit'
|
5
|
+
|
6
|
+
export default {
|
7
|
+
title: 'ox-input-work-shift',
|
8
|
+
component: 'ox-input-work-shift',
|
9
|
+
argTypes: {
|
10
|
+
value: { control: 'object' },
|
11
|
+
name: { control: 'text' }
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
interface Story<T> {
|
16
|
+
(args: T): TemplateResult
|
17
|
+
args?: Partial<T>
|
18
|
+
argTypes?: Record<string, unknown>
|
19
|
+
}
|
20
|
+
|
21
|
+
interface ArgTypes {
|
22
|
+
name?: string
|
23
|
+
value?: object
|
24
|
+
}
|
25
|
+
|
26
|
+
const Template: Story<ArgTypes> = ({ name = 'work-shift', value = [] }: ArgTypes) => html`
|
27
|
+
<link href="/themes/app-theme.css" rel="stylesheet" />
|
28
|
+
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
|
29
|
+
<style>
|
30
|
+
body {
|
31
|
+
}
|
32
|
+
</style>
|
33
|
+
|
34
|
+
<locale-picker></locale-picker>
|
35
|
+
<br /><br />
|
36
|
+
|
37
|
+
<ox-input-work-shift
|
38
|
+
@change=${(e: Event) => {
|
39
|
+
console.log((e.target as HTMLInputElement).value)
|
40
|
+
}}
|
41
|
+
name=${name}
|
42
|
+
.value=${value}
|
43
|
+
>
|
44
|
+
</ox-input-work-shift>
|
45
|
+
`
|
46
|
+
|
47
|
+
export const Regular = Template.bind({})
|
48
|
+
Regular.args = {
|
49
|
+
name: 'work-shift',
|
50
|
+
value: [
|
51
|
+
{
|
52
|
+
name: 'DAY',
|
53
|
+
fromDate: -1,
|
54
|
+
fromTime: '22:00',
|
55
|
+
toDate: 0,
|
56
|
+
toTime: '06:00'
|
57
|
+
},
|
58
|
+
{
|
59
|
+
name: 'SWING',
|
60
|
+
fromDate: 0,
|
61
|
+
fromTime: '06:00',
|
62
|
+
toDate: 0,
|
63
|
+
toTime: '14:00'
|
64
|
+
},
|
65
|
+
{
|
66
|
+
name: 'NIGHT',
|
67
|
+
fromDate: 0,
|
68
|
+
fromTime: '14:00',
|
69
|
+
toDate: 0,
|
70
|
+
toTime: '22:00'
|
71
|
+
}
|
72
|
+
]
|
73
|
+
}
|
@@ -0,0 +1,100 @@
|
|
1
|
+
import '../src/ox-select.js'
|
2
|
+
import '../src/ox-checkbox.js'
|
3
|
+
|
4
|
+
import { html, TemplateResult } from 'lit'
|
5
|
+
|
6
|
+
export default {
|
7
|
+
title: 'ox-select',
|
8
|
+
component: 'ox-select',
|
9
|
+
argTypes: {
|
10
|
+
placeholder: { control: 'text' },
|
11
|
+
name: { control: 'text' }
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
15
|
+
interface Story<T> {
|
16
|
+
(args: T): TemplateResult
|
17
|
+
args?: Partial<T>
|
18
|
+
argTypes?: Record<string, unknown>
|
19
|
+
}
|
20
|
+
|
21
|
+
interface ArgTypes {
|
22
|
+
placeholder?: string
|
23
|
+
name?: string
|
24
|
+
value?: object | string
|
25
|
+
slot?: TemplateResult
|
26
|
+
}
|
27
|
+
|
28
|
+
const Template: Story<ArgTypes> = ({ placeholder = 'Checkbox', name = 'hello', value = '', slot }: ArgTypes) => html`
|
29
|
+
<link href="https://fonts.googleapis.com/css?family=Material+Icons&display=block" rel="stylesheet" />
|
30
|
+
|
31
|
+
<ox-select
|
32
|
+
name=${name}
|
33
|
+
@change=${(e: Event) => {
|
34
|
+
console.log((e.target as HTMLInputElement).value)
|
35
|
+
}}
|
36
|
+
placeholder=${placeholder}
|
37
|
+
.value=${value}
|
38
|
+
>
|
39
|
+
${slot}
|
40
|
+
</ox-select>
|
41
|
+
`
|
42
|
+
|
43
|
+
export const Regular = Template.bind({})
|
44
|
+
Regular.args = {
|
45
|
+
placeholder: 'single select',
|
46
|
+
name: 'label',
|
47
|
+
value: '',
|
48
|
+
slot: html`
|
49
|
+
<ox-popup-list align-left nowrap>
|
50
|
+
<div option value="A">LABEL-A</div>
|
51
|
+
<div option value="B">LABEL-B</div>
|
52
|
+
<div option value="C">LABEL-C</div>
|
53
|
+
<div option value="TOO LONG VALUE">LABEL-TOO LONG VALUE</div>
|
54
|
+
</ox-popup-list>
|
55
|
+
`
|
56
|
+
}
|
57
|
+
|
58
|
+
export const MultipleSelect = Template.bind({})
|
59
|
+
MultipleSelect.args = {
|
60
|
+
placeholder: 'multiple select',
|
61
|
+
name: 'multiple',
|
62
|
+
value: ['B', 'TOO LONG VALUE'],
|
63
|
+
slot: html`
|
64
|
+
<ox-popup-list multiple with-search>
|
65
|
+
<div option value="A">A</div>
|
66
|
+
<div option value="B">B</div>
|
67
|
+
<div option value="C">C</div>
|
68
|
+
<div option value="TOO LONG VALUE" />TOO LONG VALUE</div>
|
69
|
+
</ox-popup-list>
|
70
|
+
`
|
71
|
+
}
|
72
|
+
|
73
|
+
export const MultipleWithCheckbox = Template.bind({})
|
74
|
+
MultipleWithCheckbox.args = {
|
75
|
+
placeholder: 'multiple with checkbox',
|
76
|
+
name: 'multiple',
|
77
|
+
value: ['B', 'C', 'F'],
|
78
|
+
slot: html`
|
79
|
+
<ox-popup-list attr-selected="checked" multiple with-search>
|
80
|
+
<ox-checkbox
|
81
|
+
option
|
82
|
+
@change=${(e: Event) => {
|
83
|
+
const target = e.target as HTMLInputElement
|
84
|
+
const options = target.parentElement!.querySelectorAll('[option]')
|
85
|
+
console.log(options)
|
86
|
+
options.forEach(option => ((option as HTMLInputElement).checked = target.checked))
|
87
|
+
}}
|
88
|
+
>set all</ox-checkbox
|
89
|
+
>
|
90
|
+
<ox-checkbox option value="A">LABEL-A</ox-checkbox>
|
91
|
+
<ox-checkbox option value="B">LABEL-B</ox-checkbox>
|
92
|
+
<ox-checkbox option value="C" checked>LABEL-C</ox-checkbox>
|
93
|
+
<ox-checkbox option value="D">LABEL-D</ox-checkbox>
|
94
|
+
<ox-checkbox option value="E">LABEL-E</ox-checkbox>
|
95
|
+
<ox-checkbox option value="F">LABEL-F</ox-checkbox>
|
96
|
+
<ox-checkbox option value="G">LABEL-G</ox-checkbox>
|
97
|
+
<ox-checkbox option value="TOO LONG VALUE">TOO LONG VALUE</ox-checkbox>
|
98
|
+
</ox-popup-list>
|
99
|
+
`
|
100
|
+
}
|
@@ -0,0 +1,142 @@
|
|
1
|
+
body {
|
2
|
+
/* theme color */
|
3
|
+
--primary-color-rgb: 56, 162, 91;
|
4
|
+
--primary-color: rgb(var(--primary-color-rgb));
|
5
|
+
--secondary-color-rgb: 71, 97, 114;
|
6
|
+
--secondary-color: rgb(var(--secondary-color-rgb));
|
7
|
+
--focus-color: var(--theme-white-color);
|
8
|
+
--primary-background-color: var(--secondary-color);
|
9
|
+
--secondary-background-color: #183936;
|
10
|
+
--main-section-background-color: #f7f6f4;
|
11
|
+
--theme-white-color: #fff;
|
12
|
+
--theme-black-color: rgba(0, 0, 0, 0.9);
|
13
|
+
|
14
|
+
--focus-background-color: var(--primary-color);
|
15
|
+
--primary-text-color: var(--theme-black-color);
|
16
|
+
--secondary-text-color: #218f62;
|
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;
|
26
|
+
|
27
|
+
/* common style */
|
28
|
+
--border-radius: 4px;
|
29
|
+
--border-dark-color: 1px solid rgba(0, 0, 0, 0.15);
|
30
|
+
--border-light-color: 1px solid rgba(255, 255, 255, 0.3);
|
31
|
+
|
32
|
+
--box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.1);
|
33
|
+
|
34
|
+
--theme-font: 'Noto', Helvetica;
|
35
|
+
|
36
|
+
--margin-default: 9px;
|
37
|
+
--margin-narrow: 4px;
|
38
|
+
--margin-wide: 15px;
|
39
|
+
--padding-default: var(--margin-default);
|
40
|
+
--padding-narrow: var(--margin-narrow);
|
41
|
+
--padding-wide: var(--margin-wide);
|
42
|
+
|
43
|
+
--scrollbar-thumb-color: rgba(57, 78, 100, 0.5);
|
44
|
+
--scrollbar-thumb-hover-color: var(--primary-color);
|
45
|
+
|
46
|
+
--fontsize-default: 14px;
|
47
|
+
--fontsize-small: 13px;
|
48
|
+
--fontsize-large: 16px;
|
49
|
+
|
50
|
+
/* app layout style */
|
51
|
+
--app-grid-template-area: 'header header header' 'nav main aside' 'nav footer aside';
|
52
|
+
|
53
|
+
/* title & description style */
|
54
|
+
--title-margin: var(--margin-narrow) 0;
|
55
|
+
--title-font: bold 24px var(--theme-font);
|
56
|
+
--title-text-color: var(--secondary-color);
|
57
|
+
--title-font-mobile: bold 20px var(--theme-font);
|
58
|
+
|
59
|
+
--page-description-margin: var(--margin-narrow) 0 var(--margin-wide) 0;
|
60
|
+
--page-description-font: normal var(--fontsize-default) / 1.2rem var(--theme-font);
|
61
|
+
--page-description-color: var(--secondary-text-color);
|
62
|
+
|
63
|
+
--subtitle-padding: 12px 5px 3px 5px;
|
64
|
+
--subtitle-font: bold 18px var(--theme-font);
|
65
|
+
--subtitle-text-color: var(--primary-color);
|
66
|
+
--subtitle-border-bottom: 1px solid var(--primary-color);
|
67
|
+
|
68
|
+
/* icon style */
|
69
|
+
--icon-tiny-size: 24px;
|
70
|
+
--icon-default-size: 36px;
|
71
|
+
--icon-big-size: 48px;
|
72
|
+
--icon-default-color: var(--theme-white-color);
|
73
|
+
|
74
|
+
/* material design component themes */
|
75
|
+
--mdc-theme-on-primary: var(--theme-white-color);
|
76
|
+
--mdc-theme-primary: var(--secondary-text-color);
|
77
|
+
--mdc-theme-on-secondary: var(--theme-white-color);
|
78
|
+
--mdc-theme-secondary: var(--primary-color);
|
79
|
+
--mdc-button-outline-color: var(--primary-color);
|
80
|
+
--mdc-danger-button-primary-color: var(--status-danger-color);
|
81
|
+
--mdc-danger-button-outline-color: var(--status-danger-color);
|
82
|
+
--mdc-button-outline-width: 1px;
|
83
|
+
--mdc-button-horizontal-padding: 16px;
|
84
|
+
|
85
|
+
/* button style */
|
86
|
+
--button-background-color: #fafbfc;
|
87
|
+
--button-background-focus-color: var(--primary-color);
|
88
|
+
--button-border: var(--border-dark-color);
|
89
|
+
--button-border-radius: var(--border-radius);
|
90
|
+
--button-margin: var(--margin-default) var(--margin-default) var(--margin-default) 0;
|
91
|
+
--button-padding: var(--padding-default);
|
92
|
+
--button-color: var(--secondary-color);
|
93
|
+
--button-font: normal 15px var(--theme-font);
|
94
|
+
--button-text-transform: capitalize;
|
95
|
+
--button-active-box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);
|
96
|
+
--button-activ-border: 1px solid var(--primary-color);
|
97
|
+
|
98
|
+
--button-primary-background-color: var(--primary-color);
|
99
|
+
--button-primary-active-background-color: var(--status-success-color);
|
100
|
+
--button-primary-padding: var(--margin-default) var(--margin-wide);
|
101
|
+
--button-primary-color: var(--theme-white-color);
|
102
|
+
--button-primary-font: bold 16px var(--theme-font);
|
103
|
+
|
104
|
+
/* table style */
|
105
|
+
--th-padding: var(--padding-default) 0 var(--padding-default) var(--padding-default);
|
106
|
+
--th-border-top: 2px solid var(--secondary-color);
|
107
|
+
--th-text-transform: capitalize;
|
108
|
+
--th-font: bold var(--fontsize-small) var(--theme-font);
|
109
|
+
--th-color: rgba(var(--secondary-color-rgb), 0.8);
|
110
|
+
|
111
|
+
--tr-background-color: var(--theme-white-color);
|
112
|
+
--tr-background-odd-color: rgba(255, 255, 255, 0.4);
|
113
|
+
--tr-background-hover-color: #e1f5fe;
|
114
|
+
--td-border-bottom: 1px solid rgba(0, 0, 0, 0.09);
|
115
|
+
--td-padding: var(--padding-default);
|
116
|
+
--td-font: normal 13px var(--theme-font);
|
117
|
+
--td-color: var(--secondary-color);
|
118
|
+
|
119
|
+
/* form style */
|
120
|
+
--label-font: normal var(--fontsize-default) var(--theme-font);
|
121
|
+
--label-color: var(--secondary-color);
|
122
|
+
--label-text-transform: capitalize;
|
123
|
+
--input-margin: var(--margin-narrow) 0;
|
124
|
+
--input-padding: var(--padding-default);
|
125
|
+
--input-min-width: 200px;
|
126
|
+
--input-font: normal var(--fontsize-default) var(--theme-font);
|
127
|
+
--input-hint-font: normal var(--fontsize-small) var(--theme-font);
|
128
|
+
--input-hint-color: #666;
|
129
|
+
--input-container-max-width: 900px;
|
130
|
+
--fieldset-margin: var(--padding-wide) 0;
|
131
|
+
--fieldset-padding: 0 var(--padding-wide) var(--padding-wide) var(--padding-wide);
|
132
|
+
--legend-padding: var(--padding-default) 0;
|
133
|
+
--legend-color: var(--secondary-text-color);
|
134
|
+
--legend-font: bold 16px var(--theme-font);
|
135
|
+
}
|
136
|
+
|
137
|
+
@media only screen and (max-width: 460px) {
|
138
|
+
body {
|
139
|
+
/* subtitle style */
|
140
|
+
--subtitle-margin: 0;
|
141
|
+
}
|
142
|
+
}
|
@@ -0,0 +1,110 @@
|
|
1
|
+
import { css } from 'lit'
|
2
|
+
|
3
|
+
export const CommonGristStyles = css`
|
4
|
+
:host {
|
5
|
+
display: flex;
|
6
|
+
|
7
|
+
width: 100%;
|
8
|
+
}
|
9
|
+
|
10
|
+
ox-grist {
|
11
|
+
flex: 1;
|
12
|
+
overflow-y: auto;
|
13
|
+
}
|
14
|
+
|
15
|
+
[slot='headroom'] {
|
16
|
+
display: flex;
|
17
|
+
flex-direction: row;
|
18
|
+
align-items: center;
|
19
|
+
padding: var(--padding-default) var(--padding-wide);
|
20
|
+
border-top: 2px solid rgba(0, 0, 0, 0.2);
|
21
|
+
background-color: var(--theme-white-color);
|
22
|
+
box-shadow: var(--box-shadow);
|
23
|
+
|
24
|
+
--mdc-icon-size: 24px;
|
25
|
+
}
|
26
|
+
#sorters mwc-icon,
|
27
|
+
#modes mwc-icon {
|
28
|
+
--mdc-icon-size: 18px;
|
29
|
+
}
|
30
|
+
#sorters {
|
31
|
+
margin-left: auto;
|
32
|
+
margin-right: var(--margin-default);
|
33
|
+
padding-left: var(--padding-narrow);
|
34
|
+
border-bottom: var(--border-dark-color);
|
35
|
+
position: relative;
|
36
|
+
color: var(--secondary-color);
|
37
|
+
font-size: var(--fontsize-default);
|
38
|
+
user-select: none;
|
39
|
+
}
|
40
|
+
|
41
|
+
#sorters > * {
|
42
|
+
padding: var(--padding-narrow);
|
43
|
+
vertical-align: middle;
|
44
|
+
}
|
45
|
+
|
46
|
+
#modes > * {
|
47
|
+
padding: var(--padding-narrow);
|
48
|
+
opacity: 0.5;
|
49
|
+
color: var(--primary-text-color);
|
50
|
+
cursor: pointer;
|
51
|
+
}
|
52
|
+
|
53
|
+
#modes > mwc-icon[active] {
|
54
|
+
border-radius: 9px;
|
55
|
+
background-color: rgba(var(--primary-color-rgb), 0.05);
|
56
|
+
opacity: 1;
|
57
|
+
color: var(--secondary-text-color);
|
58
|
+
cursor: default;
|
59
|
+
}
|
60
|
+
|
61
|
+
#modes > mwc-icon:hover {
|
62
|
+
opacity: 1;
|
63
|
+
color: var(--secondary-text-color);
|
64
|
+
}
|
65
|
+
|
66
|
+
#add {
|
67
|
+
width: 50px;
|
68
|
+
text-align: right;
|
69
|
+
}
|
70
|
+
|
71
|
+
#add button {
|
72
|
+
background-color: var(--status-success-color);
|
73
|
+
border: 0;
|
74
|
+
border-radius: 50%;
|
75
|
+
padding: 5px;
|
76
|
+
width: 36px;
|
77
|
+
height: 36px;
|
78
|
+
cursor: pointer;
|
79
|
+
}
|
80
|
+
|
81
|
+
#add button:hover {
|
82
|
+
background-color: var(--focus-background-color);
|
83
|
+
box-shadow: var(--box-shadow);
|
84
|
+
}
|
85
|
+
|
86
|
+
#add button mwc-icon {
|
87
|
+
font-size: 2em;
|
88
|
+
color: var(--theme-white-color);
|
89
|
+
}
|
90
|
+
|
91
|
+
#filters {
|
92
|
+
display: flex;
|
93
|
+
justify-content: center;
|
94
|
+
align-items: center;
|
95
|
+
}
|
96
|
+
|
97
|
+
#filters * {
|
98
|
+
margin-right: var(--margin-default);
|
99
|
+
}
|
100
|
+
|
101
|
+
@media only screen and (max-width: 460px) {
|
102
|
+
#filters {
|
103
|
+
flex-direction: column;
|
104
|
+
}
|
105
|
+
|
106
|
+
#modes {
|
107
|
+
display: none;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
`
|
@@ -0,0 +1,19 @@
|
|
1
|
+
body {
|
2
|
+
--ox-input-border: 1px solid rgba(0, 0, 0, 0.1);
|
3
|
+
--ox-input-border-radius: var(--border-radius);
|
4
|
+
--ox-input-padding: 4px 9px;
|
5
|
+
--ox-input-font: normal 15px var(--theme-font);
|
6
|
+
--ox-input-color: var(--secondary-color);
|
7
|
+
}
|
8
|
+
|
9
|
+
@media screen and (max-width: 480px) {
|
10
|
+
body {
|
11
|
+
}
|
12
|
+
}
|
13
|
+
|
14
|
+
@media (min-width: 481px) and (max-width: 1024px) {
|
15
|
+
body {
|
16
|
+
--ox-input-font: normal 16px var(--theme-font);
|
17
|
+
--ox-input-padding: 4px 5px;
|
18
|
+
}
|
19
|
+
}
|
package/xliff/en.xlf
CHANGED
@@ -23,6 +23,30 @@
|
|
23
23
|
<trans-unit id="s075cb2f53173bd8a">
|
24
24
|
<source>rotate</source>
|
25
25
|
</trans-unit>
|
26
|
+
<trans-unit id="sc4bcadba8e631b86">
|
27
|
+
<source>name</source>
|
28
|
+
</trans-unit>
|
29
|
+
<trans-unit id="s63c6e58ec805a9eb">
|
30
|
+
<source>from date</source>
|
31
|
+
</trans-unit>
|
32
|
+
<trans-unit id="sfcc01216c601ec9e">
|
33
|
+
<source>from time</source>
|
34
|
+
</trans-unit>
|
35
|
+
<trans-unit id="s685db98545dc9448">
|
36
|
+
<source>to date</source>
|
37
|
+
</trans-unit>
|
38
|
+
<trans-unit id="s77c8560cf63a372d">
|
39
|
+
<source>to time</source>
|
40
|
+
</trans-unit>
|
41
|
+
<trans-unit id="s42670fc325584e15">
|
42
|
+
<source>The day before</source>
|
43
|
+
</trans-unit>
|
44
|
+
<trans-unit id="s29ec9210c8a8222e">
|
45
|
+
<source>The day</source>
|
46
|
+
</trans-unit>
|
47
|
+
<trans-unit id="scff69aa7239287b0">
|
48
|
+
<source>The day after</source>
|
49
|
+
</trans-unit>
|
26
50
|
</body>
|
27
51
|
</file>
|
28
52
|
</xliff>
|
package/xliff/ko.xlf
CHANGED
@@ -30,6 +30,38 @@
|
|
30
30
|
<source>rotate</source>
|
31
31
|
<target>회전</target>
|
32
32
|
</trans-unit>
|
33
|
+
<trans-unit id="sc4bcadba8e631b86">
|
34
|
+
<source>name</source>
|
35
|
+
<target>이름</target>
|
36
|
+
</trans-unit>
|
37
|
+
<trans-unit id="s63c6e58ec805a9eb">
|
38
|
+
<source>from date</source>
|
39
|
+
<target>시작일</target>
|
40
|
+
</trans-unit>
|
41
|
+
<trans-unit id="sfcc01216c601ec9e">
|
42
|
+
<source>from time</source>
|
43
|
+
<target>시작시간</target>
|
44
|
+
</trans-unit>
|
45
|
+
<trans-unit id="s685db98545dc9448">
|
46
|
+
<source>to date</source>
|
47
|
+
<target>완료일</target>
|
48
|
+
</trans-unit>
|
49
|
+
<trans-unit id="s77c8560cf63a372d">
|
50
|
+
<source>to time</source>
|
51
|
+
<target>완료시간</target>
|
52
|
+
</trans-unit>
|
53
|
+
<trans-unit id="s42670fc325584e15">
|
54
|
+
<source>The day before</source>
|
55
|
+
<target>전날</target>
|
56
|
+
</trans-unit>
|
57
|
+
<trans-unit id="s29ec9210c8a8222e">
|
58
|
+
<source>The day</source>
|
59
|
+
<target>당일</target>
|
60
|
+
</trans-unit>
|
61
|
+
<trans-unit id="scff69aa7239287b0">
|
62
|
+
<source>The day after</source>
|
63
|
+
<target>다음날</target>
|
64
|
+
</trans-unit>
|
33
65
|
</body>
|
34
66
|
</file>
|
35
67
|
</xliff>
|
package/xliff/ms.xlf
CHANGED
@@ -23,6 +23,30 @@
|
|
23
23
|
<trans-unit id="s075cb2f53173bd8a">
|
24
24
|
<source>rotate</source>
|
25
25
|
</trans-unit>
|
26
|
+
<trans-unit id="sc4bcadba8e631b86">
|
27
|
+
<source>name</source>
|
28
|
+
</trans-unit>
|
29
|
+
<trans-unit id="s63c6e58ec805a9eb">
|
30
|
+
<source>from date</source>
|
31
|
+
</trans-unit>
|
32
|
+
<trans-unit id="sfcc01216c601ec9e">
|
33
|
+
<source>from time</source>
|
34
|
+
</trans-unit>
|
35
|
+
<trans-unit id="s685db98545dc9448">
|
36
|
+
<source>to date</source>
|
37
|
+
</trans-unit>
|
38
|
+
<trans-unit id="s77c8560cf63a372d">
|
39
|
+
<source>to time</source>
|
40
|
+
</trans-unit>
|
41
|
+
<trans-unit id="s42670fc325584e15">
|
42
|
+
<source>The day before</source>
|
43
|
+
</trans-unit>
|
44
|
+
<trans-unit id="s29ec9210c8a8222e">
|
45
|
+
<source>The day</source>
|
46
|
+
</trans-unit>
|
47
|
+
<trans-unit id="scff69aa7239287b0">
|
48
|
+
<source>The day after</source>
|
49
|
+
</trans-unit>
|
26
50
|
</body>
|
27
51
|
</file>
|
28
52
|
</xliff>
|
package/xliff/zh.xlf
CHANGED
@@ -23,6 +23,30 @@
|
|
23
23
|
<trans-unit id="s075cb2f53173bd8a">
|
24
24
|
<source>rotate</source>
|
25
25
|
</trans-unit>
|
26
|
+
<trans-unit id="sc4bcadba8e631b86">
|
27
|
+
<source>name</source>
|
28
|
+
</trans-unit>
|
29
|
+
<trans-unit id="s63c6e58ec805a9eb">
|
30
|
+
<source>from date</source>
|
31
|
+
</trans-unit>
|
32
|
+
<trans-unit id="sfcc01216c601ec9e">
|
33
|
+
<source>from time</source>
|
34
|
+
</trans-unit>
|
35
|
+
<trans-unit id="s685db98545dc9448">
|
36
|
+
<source>to date</source>
|
37
|
+
</trans-unit>
|
38
|
+
<trans-unit id="s77c8560cf63a372d">
|
39
|
+
<source>to time</source>
|
40
|
+
</trans-unit>
|
41
|
+
<trans-unit id="s42670fc325584e15">
|
42
|
+
<source>The day before</source>
|
43
|
+
</trans-unit>
|
44
|
+
<trans-unit id="s29ec9210c8a8222e">
|
45
|
+
<source>The day</source>
|
46
|
+
</trans-unit>
|
47
|
+
<trans-unit id="scff69aa7239287b0">
|
48
|
+
<source>The day after</source>
|
49
|
+
</trans-unit>
|
26
50
|
</body>
|
27
51
|
</file>
|
28
52
|
</xliff>
|
@@ -1,52 +0,0 @@
|
|
1
|
-
import '../src/input.js'
|
2
|
-
|
3
|
-
import { TemplateResult, html } from 'lit'
|
4
|
-
|
5
|
-
export default {
|
6
|
-
title: 'PropertyEditor',
|
7
|
-
component: 'property-editor',
|
8
|
-
argTypes: {
|
9
|
-
title: { control: 'text' },
|
10
|
-
counter: { control: 'number' },
|
11
|
-
textColor: { control: 'color' }
|
12
|
-
}
|
13
|
-
}
|
14
|
-
|
15
|
-
interface Story<T> {
|
16
|
-
(args: T): TemplateResult
|
17
|
-
args?: Partial<T>
|
18
|
-
argTypes?: Record<string, unknown>
|
19
|
-
}
|
20
|
-
|
21
|
-
interface ArgTypes {
|
22
|
-
title?: string
|
23
|
-
counter?: number
|
24
|
-
textColor?: string
|
25
|
-
slot?: TemplateResult
|
26
|
-
}
|
27
|
-
|
28
|
-
const Template: Story<ArgTypes> = ({ title = 'Hello world', counter = 5, textColor, slot }: ArgTypes) => html`
|
29
|
-
<property-editor style="--property-editor-text-color: ${textColor || 'black'}" .title=${title} .counter=${counter}>
|
30
|
-
${slot}
|
31
|
-
</property-editor>
|
32
|
-
`
|
33
|
-
|
34
|
-
export const Regular = Template.bind({})
|
35
|
-
|
36
|
-
export const CustomTitle = Template.bind({})
|
37
|
-
CustomTitle.args = {
|
38
|
-
title: 'My title'
|
39
|
-
}
|
40
|
-
|
41
|
-
export const CustomCounter = Template.bind({})
|
42
|
-
CustomCounter.args = {
|
43
|
-
counter: 123456
|
44
|
-
}
|
45
|
-
|
46
|
-
export const SlottedContent = Template.bind({})
|
47
|
-
SlottedContent.args = {
|
48
|
-
slot: html`<p>Slotted content</p>`
|
49
|
-
}
|
50
|
-
SlottedContent.argTypes = {
|
51
|
-
slot: { table: { disable: true } }
|
52
|
-
}
|