@things-factory/board-ui 7.0.1-alpha.9 → 7.0.1-alpha.90

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.
Files changed (90) hide show
  1. package/client/apptools/favorite-tool.ts +8 -7
  2. package/client/board-list/board-tile-list.ts +38 -34
  3. package/client/board-list/group-bar-styles.ts +61 -0
  4. package/client/board-list/group-bar.ts +10 -66
  5. package/client/board-list/play-group-bar.ts +9 -64
  6. package/client/data-grist/board-renderer.ts +6 -6
  7. package/client/pages/board-list-page.ts +20 -6
  8. package/client/pages/play-list-page.ts +8 -18
  9. package/client/pages/theme/theme-list-page.ts +6 -5
  10. package/client/setting-let/board-view-setting-let.ts +10 -6
  11. package/client/viewparts/board-basic-info.ts +192 -214
  12. package/client/viewparts/board-info-link.ts +1 -1
  13. package/client/viewparts/board-info.ts +3 -3
  14. package/client/viewparts/board-template-builder.ts +0 -1
  15. package/client/viewparts/board-versions.ts +20 -12
  16. package/client/viewparts/group-info-basic.ts +49 -37
  17. package/client/viewparts/group-info-import.ts +8 -11
  18. package/client/viewparts/group-info.ts +1 -1
  19. package/client/viewparts/link-builder.ts +8 -8
  20. package/client/viewparts/play-group-info-basic.ts +38 -34
  21. package/client/viewparts/play-group-info-link.ts +1 -1
  22. package/client/viewparts/play-group-info.ts +1 -1
  23. package/dist-client/apptools/favorite-tool.d.ts +3 -3
  24. package/dist-client/apptools/favorite-tool.js +6 -6
  25. package/dist-client/apptools/favorite-tool.js.map +1 -1
  26. package/dist-client/board-list/board-tile-list.d.ts +1 -1
  27. package/dist-client/board-list/board-tile-list.js +30 -26
  28. package/dist-client/board-list/board-tile-list.js.map +1 -1
  29. package/dist-client/board-list/group-bar-styles.d.ts +1 -0
  30. package/dist-client/board-list/group-bar-styles.js +61 -0
  31. package/dist-client/board-list/group-bar-styles.js.map +1 -0
  32. package/dist-client/board-list/group-bar.d.ts +1 -1
  33. package/dist-client/board-list/group-bar.js +9 -64
  34. package/dist-client/board-list/group-bar.js.map +1 -1
  35. package/dist-client/board-list/play-group-bar.d.ts +1 -1
  36. package/dist-client/board-list/play-group-bar.js +7 -62
  37. package/dist-client/board-list/play-group-bar.js.map +1 -1
  38. package/dist-client/data-grist/board-renderer.d.ts +1 -1
  39. package/dist-client/data-grist/board-renderer.js +6 -6
  40. package/dist-client/data-grist/board-renderer.js.map +1 -1
  41. package/dist-client/pages/board-list-page.d.ts +0 -1
  42. package/dist-client/pages/board-list-page.js +17 -5
  43. package/dist-client/pages/board-list-page.js.map +1 -1
  44. package/dist-client/pages/play-list-page.d.ts +2 -2
  45. package/dist-client/pages/play-list-page.js +6 -9
  46. package/dist-client/pages/play-list-page.js.map +1 -1
  47. package/dist-client/pages/theme/theme-list-page.js +6 -5
  48. package/dist-client/pages/theme/theme-list-page.js.map +1 -1
  49. package/dist-client/setting-let/board-view-setting-let.d.ts +2 -3
  50. package/dist-client/setting-let/board-view-setting-let.js +10 -6
  51. package/dist-client/setting-let/board-view-setting-let.js.map +1 -1
  52. package/dist-client/tsconfig.tsbuildinfo +1 -1
  53. package/dist-client/viewparts/board-basic-info.d.ts +7 -1
  54. package/dist-client/viewparts/board-basic-info.js +188 -209
  55. package/dist-client/viewparts/board-basic-info.js.map +1 -1
  56. package/dist-client/viewparts/board-info-link.js +1 -1
  57. package/dist-client/viewparts/board-info-link.js.map +1 -1
  58. package/dist-client/viewparts/board-info.js +1 -1
  59. package/dist-client/viewparts/board-info.js.map +1 -1
  60. package/dist-client/viewparts/board-template-builder.d.ts +0 -1
  61. package/dist-client/viewparts/board-template-builder.js +0 -1
  62. package/dist-client/viewparts/board-template-builder.js.map +1 -1
  63. package/dist-client/viewparts/board-versions.d.ts +2 -1
  64. package/dist-client/viewparts/board-versions.js +19 -12
  65. package/dist-client/viewparts/board-versions.js.map +1 -1
  66. package/dist-client/viewparts/group-info-basic.d.ts +3 -1
  67. package/dist-client/viewparts/group-info-basic.js +49 -37
  68. package/dist-client/viewparts/group-info-basic.js.map +1 -1
  69. package/dist-client/viewparts/group-info-import.d.ts +2 -1
  70. package/dist-client/viewparts/group-info-import.js +8 -11
  71. package/dist-client/viewparts/group-info-import.js.map +1 -1
  72. package/dist-client/viewparts/group-info.js +1 -1
  73. package/dist-client/viewparts/group-info.js.map +1 -1
  74. package/dist-client/viewparts/link-builder.d.ts +1 -1
  75. package/dist-client/viewparts/link-builder.js +6 -6
  76. package/dist-client/viewparts/link-builder.js.map +1 -1
  77. package/dist-client/viewparts/play-group-info-basic.d.ts +3 -1
  78. package/dist-client/viewparts/play-group-info-basic.js +34 -34
  79. package/dist-client/viewparts/play-group-info-basic.js.map +1 -1
  80. package/dist-client/viewparts/play-group-info-link.js +1 -1
  81. package/dist-client/viewparts/play-group-info-link.js.map +1 -1
  82. package/dist-client/viewparts/play-group-info.js +1 -1
  83. package/dist-client/viewparts/play-group-info.js.map +1 -1
  84. package/dist-server/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +6 -8
  86. package/translations/en.json +1 -0
  87. package/translations/ja.json +1 -0
  88. package/translations/ko.json +1 -0
  89. package/translations/ms.json +1 -0
  90. package/translations/zh.json +1 -0
@@ -1,4 +1,10 @@
1
- import '@material/mwc-icon';
1
+ import '@material/web/icon/icon.js';
2
+ import '@material/web/textfield/filled-text-field.js';
3
+ import '@material/web/select/outlined-select';
4
+ import '@material/web/button/elevated-button.js';
5
+ import '@material/web/chips/chip-set.js';
6
+ import '@material/web/chips/assist-chip.js';
7
+ import '@material/web/chips/filter-chip.js';
2
8
  import { LitElement } from 'lit';
3
9
  declare const BoardInfo_base: (new (...args: any[]) => {
4
10
  _storeUnsubscribe: import("redux").Unsubscribe;
@@ -1,5 +1,11 @@
1
1
  import { __decorate, __metadata } from "tslib";
2
- import '@material/mwc-icon';
2
+ import '@material/web/icon/icon.js';
3
+ import '@material/web/textfield/filled-text-field.js';
4
+ import '@material/web/select/outlined-select';
5
+ import '@material/web/button/elevated-button.js';
6
+ import '@material/web/chips/chip-set.js';
7
+ import '@material/web/chips/assist-chip.js';
8
+ import '@material/web/chips/filter-chip.js';
3
9
  import gql from 'graphql-tag';
4
10
  import { css, html, LitElement, nothing } from 'lit';
5
11
  import { customElement, property, state } from 'lit/decorators.js';
@@ -9,6 +15,7 @@ import { client } from '@operato/graphql';
9
15
  import { navigate, store } from '@operato/shell';
10
16
  import { OxPrompt } from '@operato/popup/ox-prompt.js';
11
17
  import { hasPrivilege } from '@things-factory/auth-base/dist-client';
18
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles';
12
19
  let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
13
20
  constructor() {
14
21
  super(...arguments);
@@ -20,7 +27,7 @@ let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
20
27
  this.targetGroups = [];
21
28
  }
22
29
  render() {
23
- var _a;
30
+ var _a, _b;
24
31
  var board = this.board || { name: '', description: '', playGroups: [] };
25
32
  var boardGroupList = this.boardGroupList || [];
26
33
  var playGroupList = (this.playGroupList || []).map(group => {
@@ -35,25 +42,26 @@ let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
35
42
  return html `
36
43
  ${board.thumbnail ? html ` <img src=${board.thumbnail} /> ` : html ``}
37
44
 
38
- <form>
45
+ <form class="md-typescale-body-medium">
39
46
  <fieldset>
40
- <legend>${i18next.t('label.information')}</legend>
41
- <label>${i18next.t('label.name')}</label>
47
+ <legend class="md-typescale-label-large-prominent">${i18next.t('label.information')}</legend>
42
48
  <div oneline>
43
- <input
49
+ <md-filled-text-field
50
+ label=${String(i18next.t('label.name'))}
44
51
  type="text"
45
52
  .value=${board.name}
46
53
  @change=${e => (this.board = Object.assign(Object.assign({}, this.board), { name: e.target.value }))}
47
54
  ?disabled=${!this.enableModeller}
48
- />
55
+ ></md-filled-text-field>
56
+
49
57
  ${this.enableModeller
50
58
  ? html `
51
- <mwc-icon
59
+ <md-icon
52
60
  @click=${() => {
53
61
  this.showTarget = !this.showTarget;
54
62
  }}
55
63
  tail
56
- >${this.showTarget ? 'arrow_drop_up' : 'arrow_drop_down'}</mwc-icon
64
+ >${this.showTarget ? 'arrow_drop_up' : 'arrow_drop_down'}</md-icon
57
65
  >
58
66
  `
59
67
  : nothing}
@@ -61,43 +69,46 @@ let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
61
69
  ${this.showTarget
62
70
  ? html `
63
71
  <div fullwidth target>
64
- <label>${i18next.t('label.board-copy')}</label>
72
+ <label class="md-typescale-label-meium-prominent">${i18next.t('label.board-copy')}</label>
65
73
  <div oneline>
66
- <select
74
+ <md-outlined-select
75
+ label=${String(i18next.t('label.domain'))}
67
76
  @change=${e => {
68
77
  this.targetSubdomain = e.target.value;
69
78
  this.getGroupsByDomain(this.targetSubdomain);
70
79
  }}
71
- placeholder="choose domain ..."
72
- .value=${this.targetSubdomain}
80
+ .value=${this.targetSubdomain || ''}
73
81
  ?disabled=${!this.enableModeller}
74
82
  >
75
- <option value=""></option>
83
+ <md-select-option aria-label="blank"></md-select-option>
76
84
  ${this.targetDomains.map(domain => html `
77
- <option .value=${domain.subdomain} ?selected=${domain.subdomain == this.targetSubdomain}>
78
- ${domain.name}
79
- </option>
80
- `)}
81
- </select>
82
-
83
- <select
85
+ <md-select-option
86
+ value=${domain.subdomain}
87
+ ?selected=${domain.subdomain == this.targetSubdomain}
88
+ >
89
+ <div slot="headline">${domain.name}</div>
90
+ </md-select-option>
91
+ `)}
92
+ </md-outlined-select>
93
+
94
+ <md-outlined-select
95
+ label=${String(i18next.t('label.group'))}
84
96
  @change=${e => (this.targetGroupId = e.target.value)}
85
- placeholder="choose group ..."
86
- .value=${this.targetGroupId}
97
+ .value=${this.targetGroupId || ''}
87
98
  ?disabled=${!this.enableModeller}
88
99
  >
89
- <option value=""></option>
100
+ <md-select-option aria-label="blank"></md-select-option>
90
101
  ${this.targetGroups.map(group => html `
91
- <option .value=${group.id} ?selected=${group.id == this.targetGroupId}>
92
- ${group.name}
93
- </option>
94
- `)}
95
- </select>
102
+ <md-select-option value=${group.id} ?selected=${group.id == this.targetGroupId}>
103
+ <div slot="headline">${group.name}</div>
104
+ </md-select-option>
105
+ `)}
106
+ </md-outlined-select>
96
107
  </div>
97
- <div oneline>
98
- <mwc-button
99
- dense
100
- raised
108
+
109
+ <md-chip-set oneline>
110
+ <md-assist-chip
111
+ elevated
101
112
  label=${String(i18next.t('button.copy'))}
102
113
  ?disabled=${!this.enableModeller ||
103
114
  !((_a = this.original) === null || _a === void 0 ? void 0 : _a.name) ||
@@ -105,109 +116,129 @@ let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
105
116
  !this.targetSubdomain ||
106
117
  (this.original.name == this.board.name && this.subdomain == this.targetSubdomain)}
107
118
  @click=${this.cloneBoard.bind(this)}
108
- icon="content_copy"
109
119
  right
110
- ></mwc-button>
111
- <mwc-button
112
- dense
113
- raised
120
+ >
121
+ <md-icon slot="icon">content_copy</md-icon>
122
+ </md-assist-chip>
123
+
124
+ <md-assist-chip
125
+ elevated
114
126
  label=${String(i18next.t('button.export'))}
115
127
  @click=${this.exportBoard.bind(this)}
116
- icon="download"
117
- ></mwc-button>
118
- </div>
128
+ >
129
+ <md-icon slot="icon">download</md-icon>
130
+ </md-assist-chip>
131
+ </md-chip-set>
119
132
  </div>
120
133
  `
121
- : html ``}
134
+ : nothing}
122
135
 
123
- <label>${i18next.t('label.description')}</label>
124
- <input
125
- type="text"
136
+ <md-filled-text-field
137
+ oneline
138
+ label=${String(i18next.t('label.description'))}
126
139
  .value=${board.description}
127
140
  @change=${e => (this.board = Object.assign(Object.assign({}, this.board), { description: e.target.value }))}
128
141
  ?disabled=${!this.enableModeller}
129
- />
142
+ ></md-filled-text-field>
130
143
 
131
- <label>${i18next.t('label.group')}</label>
132
- <select
144
+ <md-outlined-select
145
+ oneline
146
+ label=${String(i18next.t('label.group'))}
133
147
  @change=${e => (this.board = Object.assign(Object.assign({}, this.board), { groupId: e.target.value }))}
134
148
  .value=${this.groupId || ''}
149
+ .displayText=${(_b = boardGroupList === null || boardGroupList === void 0 ? void 0 : boardGroupList.find(item => item.id == this.groupId)) === null || _b === void 0 ? void 0 : _b.name}
135
150
  ?disabled=${!this.enableModeller}
136
151
  >
137
- <option value="" ?selected=${'' == this.groupId}></option>
138
- ${boardGroupList.map(item => html ` <option .value=${item.id} ?selected=${item.id == this.groupId}>${item.name}</option> `)}
139
- </select>
140
- <label>${i18next.t('label.creator')}</label>
141
- <span>
142
- <mwc-icon>person</mwc-icon> ${(board.creator && board.creator.name) || 'anonymous'}
143
- <mwc-icon>schedule</mwc-icon> ${new Date(board.createdAt).toLocaleString()}
144
- </span>
145
-
146
- <label>${i18next.t('label.updater')}</label>
147
- <span>
148
- <mwc-icon>person</mwc-icon> ${(board.updater && board.updater.name) || 'anonymouse'}
149
- <mwc-icon>schedule</mwc-icon> ${new Date(board.updatedAt).toLocaleString()}
150
- </span>
151
-
152
- <label>${i18next.t('label.state')}</label>
153
- <span state>
154
- <div oneline>
155
- <mwc-icon>signpost</mwc-icon> ${(board.state || '').toUpperCase()}
156
- <mwc-icon>pin</mwc-icon> ${board.version}
157
- </div>
158
- <mwc-button
159
- dense
160
- raised
161
- label=${String(i18next.t('button.release'))}
162
- ?disabled=${!this.enableModeller || !this.isReleasable}
163
- @click=${this.releaseBoard.bind(this)}
164
- icon="new_releases"
165
- ></mwc-button>
166
- </span>
167
-
168
- <div buttons>
169
- <mwc-button
170
- dense
171
- raised
152
+ <md-select-option aria-label="blank"></md-select-option>
153
+ ${boardGroupList.map(item => html `
154
+ <md-select-option value=${item.id} ?selected=${item.id == this.groupId}>
155
+ <div slot="headline">${item.name}</div>
156
+ </md-select-option>
157
+ `)}
158
+ </md-outlined-select>
159
+
160
+ <md-chip-set oneline>
161
+ <md-assist-chip
172
162
  danger
173
- label=${String(i18next.t('button.delete'))}
163
+ elevated
174
164
  ?disabled=${!this.enableModeller}
165
+ label=${String(i18next.t('button.delete'))}
175
166
  @click=${this.deleteBoard.bind(this)}
176
- icon="delete_outline"
177
- ></mwc-button>
178
- <mwc-button
179
- dense
180
- raised
181
- label=${String(i18next.t('button.save'))}
167
+ >
168
+ <md-icon slot="icon">delete_outline</md-icon>
169
+ </md-assist-chip>
170
+
171
+ <md-assist-chip
172
+ elevated
182
173
  ?disabled=${!this.enableModeller}
174
+ label=${String(i18next.t('button.save'))}
183
175
  @click=${this.updateBoard.bind(this)}
184
- icon="save"
185
- ></mwc-button>
186
- <mwc-button
187
- dense
188
- raised
189
- label=${String(i18next.t('button.edit'))}
176
+ right
177
+ >
178
+ <md-icon slot="icon">save</md-icon>
179
+ </md-assist-chip>
180
+ <md-assist-chip
181
+ elevated
190
182
  ?disabled=${!this.enableModeller}
183
+ label=${String(i18next.t('button.edit'))}
191
184
  @click=${() => navigate(`${'board-modeller/' + this.boardId}`)}
192
- icon="drive_file_rename_outline"
193
- ></mwc-button>
185
+ >
186
+ <md-icon slot="icon">drive_file_rename_outline</md-icon>
187
+ </md-assist-chip>
188
+ </md-chip-set>
189
+ </fieldset>
190
+
191
+ <fieldset>
192
+ <legend class="md-typescale-label-large-prominent">${i18next.t('label.status')}</legend>
193
+ <div oneline>
194
+ <label class="md-typescale-label-meium">${i18next.t('label.creator')}</label>
195
+ <md-icon dim>person</md-icon>
196
+ <div name title=${(board.creator && board.creator.name) || 'anonymous'}>
197
+ ${(board.creator && board.creator.name) || 'anonymous'}
198
+ </div>
199
+ <md-icon dim>schedule</md-icon> ${new Date(board.createdAt).toLocaleString()}
200
+ </div>
201
+
202
+ <div oneline>
203
+ <label class="md-typescale-label-meium">${i18next.t('label.updater')}</label>
204
+ <md-icon dim>person</md-icon>
205
+ <div name title=${(board.updater && board.updater.name) || 'anonymouse'}>
206
+ ${(board.updater && board.updater.name) || 'anonymouse'}
207
+ </div>
208
+ <md-icon dim>schedule</md-icon> ${new Date(board.updatedAt).toLocaleString()}
209
+ </div>
210
+
211
+ <div oneline>
212
+ <label class="md-typescale-label-meium">${i18next.t('label.state')}</label>
213
+ <md-icon dim>signpost</md-icon> ${(board.state || '').toUpperCase()}
214
+ <md-icon dim>pin</md-icon> ${board.version}
215
+ <md-chip-set>
216
+ <md-assist-chip
217
+ elevated
218
+ label=${String(i18next.t('button.release'))}
219
+ ?disabled=${!this.enableModeller || !this.isReleasable}
220
+ @click=${this.releaseBoard.bind(this)}
221
+ right
222
+ >
223
+ <md-icon slot="icon">new_releases</md-icon>
224
+ </md-assist-chip>
225
+ </md-chip-set>
194
226
  </div>
195
227
  </fieldset>
196
228
 
197
229
  <fieldset>
198
- <legend>${i18next.t('label.play-group')}</legend>
199
-
200
- ${playGroupList.map(item => html `
201
- <input
202
- type="checkbox"
203
- value=${item.id}
204
- .checked=${item.checked}
205
- @change=${e => {
206
- e.target.checked ? this.joinPlayGroup(item) : this.leavePlayGroup(item);
230
+ <legend class="md-typescale-label-large-prominent">${i18next.t('label.play-group')}</legend>
231
+ <md-chip-set oneline>
232
+ ${playGroupList.map(item => html `
233
+ <md-filter-chip
234
+ label=${item.name}
235
+ ?selected=${item.checked}
236
+ @click=${e => {
237
+ e.target.selected ? this.joinPlayGroup(item) : this.leavePlayGroup(item);
207
238
  }}
208
- />
209
- <label>${item.name}</label>
210
- `)}
239
+ ></md-filter-chip>
240
+ `)}
241
+ </md-chip-set>
211
242
  </fieldset>
212
243
  </form>
213
244
  `;
@@ -421,22 +452,27 @@ let BoardInfo = class BoardInfo extends connect(store)(LitElement) {
421
452
  }
422
453
  };
423
454
  BoardInfo.styles = [
455
+ MDTypeScaleStyles,
424
456
  css `
425
457
  :host {
426
- display: block;
427
- background-color: var(--main-section-background-color);
428
458
  position: relative;
429
-
430
- --form-grid-gap: 2px 0;
431
- --input-field-padding: var(--padding-default);
432
- --legend-padding: var(--padding-default) 0 var(--padding-narrow) 0;
433
- --mdc-button-horizontal-padding: var(--padding-default);
459
+ display: block;
460
+ background-color: var(--md-sys-color-surface);
461
+ color: var(--md-sys-color-on-surface);
462
+
463
+ --md-filled-field-top-space: 12px;
464
+ --md-filled-field-bottom-space: 12px;
465
+ --md-filled-field-leading-space: 12px;
466
+ --md-filled-field-trailing-space: 12px;
467
+
468
+ --md-outlined-field-top-space: 12px;
469
+ --md-outlined-field-bottom-space: 12px;
470
+ --md-outlined-field-leading-space: 12px;
471
+ --md-outlined-field-trailing-space: 12px;
434
472
  }
435
473
 
436
474
  img {
437
- display: block;
438
-
439
- margin: auto;
475
+ object-fit: contain;
440
476
  max-width: 100%;
441
477
  max-height: 100%;
442
478
  border-bottom: 2px solid rgba(0, 0, 0, 0.1);
@@ -445,26 +481,23 @@ BoardInfo.styles = [
445
481
  form {
446
482
  display: grid;
447
483
  grid-template-columns: repeat(12, 1fr);
448
- grid-gap: var(--form-grid-gap);
484
+ grid-gap: 10px 0;
449
485
  grid-auto-rows: minmax(24px, auto);
450
486
  padding: var(--padding-wide);
451
487
  align-items: center;
452
488
  }
453
489
 
454
- [buttons] {
455
- grid-column: span 12;
456
- padding: var(--padding-default) 0;
457
- text-align: right;
458
- }
459
-
460
- [buttons] * {
461
- margin: 0 0 0 var(--margin-narrow);
490
+ md-outlined-select,
491
+ md-filled-text-field {
492
+ flex: 1;
493
+ padding: 4px 0;
494
+ min-width: unset;
462
495
  }
463
496
 
464
- [danger] {
465
- float: left;
466
- margin: 0 var(--margin-narrow) 0 0;
467
- --mdc-theme-primary: var(--status-danger-color);
497
+ md-chip-set {
498
+ flex: 1;
499
+ display: flex;
500
+ gap: 4px;
468
501
  }
469
502
 
470
503
  fieldset {
@@ -474,108 +507,54 @@ BoardInfo.styles = [
474
507
  legend {
475
508
  grid-column: span 12;
476
509
  padding: var(--legend-padding);
477
- font: var(--legend-font);
478
- color: var(--legend-text-color);
510
+ color: var(--md-sys-color-primary);
479
511
  text-transform: capitalize;
480
512
  }
481
513
 
482
514
  label {
483
- grid-column: span 12;
484
515
  text-transform: capitalize;
485
- color: var(--label-color);
486
- font: var(--label-font);
487
516
  }
488
517
 
489
- span {
490
- grid-column: span 12;
491
- border-bottom: var(--border-dark-color);
492
- margin-bottom: var(--margin-default);
493
- padding-bottom: var(--padding-narrow);
494
- font: var(--input-field-font);
495
- }
496
-
497
- span[state] {
498
- display: flex;
499
- align-items: center;
500
- justify-content: space-between;
518
+ md-icon[dim] {
519
+ font-variation-settings: 'FILL' 1;
520
+ --md-icon-size: 14px;
521
+ color: var(--md-sys-color-outline-variant);
501
522
  }
502
523
 
503
- span mwc-icon {
504
- vertical-align: middle;
505
- font-size: var(--fontsize-large);
506
- color: var(--primary-color);
524
+ [name] {
525
+ max-width: 70px;
526
+ white-space: nowrap;
527
+ overflow: hidden;
528
+ text-overflow: ellipsis;
507
529
  }
508
530
 
509
- input,
510
- table,
511
- select,
512
- textarea,
513
- [custom-input] {
514
- grid-column: span 12;
515
-
516
- border: var(--input-field-border);
517
- border-radius: var(--input-field-border-radius);
518
- margin-bottom: var(--margin-default);
519
- padding: var(--input-field-padding);
520
- font: var(--input-field-font);
521
- }
522
-
523
- mwc-icon[tail] {
524
- margin-bottom: var(--margin-default);
525
- }
526
-
527
- input[type='checkbox'],
528
- input[type='radio'] {
529
- place-self: center;
530
- margin: 0;
531
- grid-column: 1;
532
- }
533
-
534
- input[type='checkbox'] + label,
535
- input[type='radio'] + label {
536
- text-align: left;
537
- grid-column: span 11 / auto;
538
-
539
- font: var(--form-sublabel-font);
540
- color: var(--form-sublabel-color);
541
- }
542
-
543
- input:focus {
544
- outline: none;
545
- border: 1px solid var(--focus-background-color);
531
+ [danger] {
532
+ --md-assist-chip-elevated-container-color: var(--md-sys-color-error);
533
+ --md-assist-chip-label-text-color: var(--md-sys-color-on-error);
534
+ --md-assist-chip-leading-icon-color: var(--md-sys-color-on-error);
546
535
  }
547
536
 
548
- div[fullwidth] {
537
+ [fullwidth] {
549
538
  grid-column: span 12 / auto;
550
- border-bottom: var(--border-dark-color);
551
-
552
539
  display: flex;
553
540
  flex-direction: column;
554
- align-items: stretch;
555
- gap: var(--margin-default);
541
+ gap: 4px;
556
542
  }
557
543
 
558
- div[oneline] {
544
+ [oneline] {
559
545
  grid-column: span 12 / auto;
560
-
561
546
  display: flex;
547
+ flex-direction: row;
548
+ gap: 4px;
562
549
  align-items: center;
563
- gap: var(--margin-default);
564
- }
565
-
566
- div[oneline] input {
567
- flex: 1;
568
550
  }
569
551
 
570
- div[oneline] select {
552
+ [oneline] md-filled-text-field,
553
+ [oneline] select {
571
554
  flex: 1;
572
555
  }
573
556
 
574
- div[oneline] mwc-button {
575
- margin-bottom: var(--margin-default);
576
- }
577
-
578
- mwc-button[right] {
557
+ [right] {
579
558
  margin-left: auto;
580
559
  }
581
560