@operato/data-grist 2.0.0-alpha.146 → 2.0.0-alpha.148

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 (152) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/demo/data-grist-test.html +1 -1
  3. package/demo/index.html +1 -1
  4. package/dist/src/data-card/data-card-field.js +2 -2
  5. package/dist/src/data-card/data-card-field.js.map +1 -1
  6. package/dist/src/data-card/data-card-gutter-menu.js +5 -5
  7. package/dist/src/data-card/data-card-gutter-menu.js.map +1 -1
  8. package/dist/src/data-card/data-card-gutter.js +8 -6
  9. package/dist/src/data-card/data-card-gutter.js.map +1 -1
  10. package/dist/src/data-card/data-card.js +7 -9
  11. package/dist/src/data-card/data-card.js.map +1 -1
  12. package/dist/src/data-card/record-card.js +9 -10
  13. package/dist/src/data-card/record-card.js.map +1 -1
  14. package/dist/src/data-grid/data-grid-accum-field.js +5 -3
  15. package/dist/src/data-grid/data-grid-accum-field.js.map +1 -1
  16. package/dist/src/data-grid/data-grid-body-style.js +1 -1
  17. package/dist/src/data-grid/data-grid-body-style.js.map +1 -1
  18. package/dist/src/data-grid/data-grid-body.js +3 -3
  19. package/dist/src/data-grid/data-grid-body.js.map +1 -1
  20. package/dist/src/data-grid/data-grid-footer.js +2 -2
  21. package/dist/src/data-grid/data-grid-footer.js.map +1 -1
  22. package/dist/src/data-grid/data-grid-header.js +4 -4
  23. package/dist/src/data-grid/data-grid-header.js.map +1 -1
  24. package/dist/src/data-grid/data-grid.js +13 -1
  25. package/dist/src/data-grid/data-grid.js.map +1 -1
  26. package/dist/src/data-list/data-list-field.js +5 -5
  27. package/dist/src/data-list/data-list-field.js.map +1 -1
  28. package/dist/src/data-list/data-list-gutter.js +3 -3
  29. package/dist/src/data-list/data-list-gutter.js.map +1 -1
  30. package/dist/src/data-list/data-list.js +4 -4
  31. package/dist/src/data-list/data-list.js.map +1 -1
  32. package/dist/src/data-list/record-partial.js +9 -10
  33. package/dist/src/data-list/record-partial.js.map +1 -1
  34. package/dist/src/editors/ox-input-tree.js +7 -7
  35. package/dist/src/editors/ox-input-tree.js.map +1 -1
  36. package/dist/src/filters/filter-input-barcode.js +1 -0
  37. package/dist/src/filters/filter-input-barcode.js.map +1 -1
  38. package/dist/src/filters/filter-styles.js +25 -19
  39. package/dist/src/filters/filter-styles.js.map +1 -1
  40. package/dist/src/filters/filters-form.js +4 -0
  41. package/dist/src/filters/filters-form.js.map +1 -1
  42. package/dist/src/gutters/gutter-dirty.js +1 -1
  43. package/dist/src/gutters/gutter-dirty.js.map +1 -1
  44. package/dist/src/renderers/ox-grist-renderer-tree.js +7 -7
  45. package/dist/src/renderers/ox-grist-renderer-tree.js.map +1 -1
  46. package/dist/src/sorters/sorters-control.js +3 -3
  47. package/dist/src/sorters/sorters-control.js.map +1 -1
  48. package/dist/stories/accumulator-format.stories.d.ts +5 -0
  49. package/dist/stories/accumulator-format.stories.js +17 -4
  50. package/dist/stories/accumulator-format.stories.js.map +1 -1
  51. package/dist/stories/barcode-input-filter.stories.d.ts +5 -0
  52. package/dist/stories/barcode-input-filter.stories.js +19 -5
  53. package/dist/stories/barcode-input-filter.stories.js.map +1 -1
  54. package/dist/stories/bounded-select-filters.stories.d.ts +5 -0
  55. package/dist/stories/bounded-select-filters.stories.js +21 -7
  56. package/dist/stories/bounded-select-filters.stories.js.map +1 -1
  57. package/dist/stories/bounded-select-record.stories.d.ts +5 -0
  58. package/dist/stories/bounded-select-record.stories.js +21 -7
  59. package/dist/stories/bounded-select-record.stories.js.map +1 -1
  60. package/dist/stories/creatable-only-column.stories.d.ts +5 -0
  61. package/dist/stories/creatable-only-column.stories.js +34 -21
  62. package/dist/stories/creatable-only-column.stories.js.map +1 -1
  63. package/dist/stories/default-filters.stories.d.ts +5 -0
  64. package/dist/stories/default-filters.stories.js +31 -17
  65. package/dist/stories/default-filters.stories.js.map +1 -1
  66. package/dist/stories/dynamic-editable.stories.d.ts +5 -0
  67. package/dist/stories/dynamic-editable.stories.js +34 -21
  68. package/dist/stories/dynamic-editable.stories.js.map +1 -1
  69. package/dist/stories/empty-sorters.stories.d.ts +7 -1
  70. package/dist/stories/empty-sorters.stories.js +31 -17
  71. package/dist/stories/empty-sorters.stories.js.map +1 -1
  72. package/dist/stories/explicit-fetch.stories.d.ts +5 -0
  73. package/dist/stories/explicit-fetch.stories.js +30 -17
  74. package/dist/stories/explicit-fetch.stories.js.map +1 -1
  75. package/dist/stories/fixed-column.stories.d.ts +5 -0
  76. package/dist/stories/fixed-column.stories.js +34 -21
  77. package/dist/stories/fixed-column.stories.js.map +1 -1
  78. package/dist/stories/grid-setting.stories.d.ts +5 -0
  79. package/dist/stories/grid-setting.stories.js +41 -15
  80. package/dist/stories/grid-setting.stories.js.map +1 -1
  81. package/dist/stories/grist-modes.stories.d.ts +5 -0
  82. package/dist/stories/grist-modes.stories.js +39 -26
  83. package/dist/stories/grist-modes.stories.js.map +1 -1
  84. package/dist/stories/group-header.stories.d.ts +5 -0
  85. package/dist/stories/group-header.stories.js +34 -21
  86. package/dist/stories/group-header.stories.js.map +1 -1
  87. package/dist/stories/textarea.stories.d.ts +5 -0
  88. package/dist/stories/textarea.stories.js +27 -13
  89. package/dist/stories/textarea.stories.js.map +1 -1
  90. package/dist/stories/tree-column-with-checkbox.stories.d.ts +5 -0
  91. package/dist/stories/tree-column-with-checkbox.stories.js +34 -21
  92. package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
  93. package/dist/stories/tree-column.stories.d.ts +5 -0
  94. package/dist/stories/tree-column.stories.js +34 -21
  95. package/dist/stories/tree-column.stories.js.map +1 -1
  96. package/dist/tsconfig.tsbuildinfo +1 -1
  97. package/package.json +6 -6
  98. package/src/data-card/data-card-field.ts +2 -2
  99. package/src/data-card/data-card-gutter-menu.ts +5 -5
  100. package/src/data-card/data-card-gutter.ts +8 -6
  101. package/src/data-card/data-card.ts +7 -9
  102. package/src/data-card/record-card.ts +9 -10
  103. package/src/data-grid/data-grid-accum-field.ts +5 -3
  104. package/src/data-grid/data-grid-body-style.ts +1 -1
  105. package/src/data-grid/data-grid-body.ts +4 -3
  106. package/src/data-grid/data-grid-footer.ts +2 -2
  107. package/src/data-grid/data-grid-header.ts +4 -4
  108. package/src/data-grid/data-grid.ts +13 -1
  109. package/src/data-list/data-list-field.ts +5 -5
  110. package/src/data-list/data-list-gutter.ts +3 -3
  111. package/src/data-list/data-list.ts +4 -4
  112. package/src/data-list/record-partial.ts +9 -10
  113. package/src/editors/ox-input-tree.ts +7 -7
  114. package/src/filters/filter-input-barcode.ts +1 -0
  115. package/src/filters/filter-styles.ts +25 -19
  116. package/src/filters/filters-form.ts +4 -0
  117. package/src/gutters/gutter-dirty.ts +1 -1
  118. package/src/renderers/ox-grist-renderer-tree.ts +7 -7
  119. package/src/sorters/sorters-control.ts +3 -3
  120. package/stories/accumulator-format.stories.ts +20 -5
  121. package/stories/barcode-input-filter.stories.ts +21 -6
  122. package/stories/bounded-select-filters.stories.ts +24 -8
  123. package/stories/bounded-select-record.stories.ts +24 -8
  124. package/stories/creatable-only-column.stories.ts +42 -28
  125. package/stories/default-filters.stories.ts +39 -24
  126. package/stories/dynamic-editable.stories.ts +42 -28
  127. package/stories/empty-sorters.stories.ts +41 -25
  128. package/stories/explicit-fetch.stories.ts +38 -24
  129. package/stories/fixed-column.stories.ts +42 -28
  130. package/stories/grid-setting.stories.ts +44 -16
  131. package/stories/grist-modes.stories.ts +53 -33
  132. package/stories/group-header.stories.ts +42 -28
  133. package/stories/textarea.stories.ts +35 -14
  134. package/stories/tree-column-with-checkbox.stories.ts +42 -28
  135. package/stories/tree-column.stories.ts +42 -28
  136. package/themes/dark-hc.css +151 -0
  137. package/themes/dark-mc.css +151 -0
  138. package/themes/dark.css +151 -0
  139. package/themes/grist-theme.css +99 -100
  140. package/themes/light-hc.css +151 -0
  141. package/themes/light-mc.css +151 -0
  142. package/themes/light.css +151 -0
  143. package/themes/md-typescale-styles.css +100 -0
  144. package/themes/spacing.css +43 -0
  145. package/themes/state-color.css +6 -0
  146. package/dist/stories/accumulator-format.stories copy.d.ts +0 -40
  147. package/dist/stories/accumulator-format.stories copy.js +0 -232
  148. package/dist/stories/accumulator-format.stories copy.js.map +0 -1
  149. package/themes/app-theme.css +0 -145
  150. package/themes/form-theme.css +0 -75
  151. package/themes/oops-theme.css +0 -26
  152. package/themes/report-theme.css +0 -47
@@ -16,22 +16,22 @@ class DataCardGutterMenu extends LitElement {
16
16
  }
17
17
 
18
18
  ::slotted(ox-popup) {
19
- padding: 4px;
19
+ padding: var(--spacing-small);
20
20
  }
21
21
 
22
22
  md-icon {
23
23
  flex: 1;
24
- margin: 0;
25
- margin-bottom: 1px;
24
+ margin: var(--spacing-none);
26
25
  border: var(--data-card-item-btn-border);
27
26
  border-radius: var(--data-card-item-btn-border-radius);
28
27
  padding: var(--data-card-item-btn-padding);
29
- font-size: var(--grid-record-fontsize);
28
+ font-size: var(--md-sys-typescale-label-large-size);
30
29
  }
31
30
 
32
31
  md-icon:hover {
33
32
  cursor: pointer;
34
- color: var(--grid-record-color-hover);
33
+ background-color:var(--md-sys-color-primary);
34
+ color: var(--md-sys-color-on-primary);
35
35
  }
36
36
  `
37
37
 
@@ -12,7 +12,7 @@ export class DataCardGutter extends LitElement {
12
12
  css`
13
13
  :host {
14
14
  background-color: transparent;
15
-
15
+ align-content: center;
16
16
  font-size: var(--grid-record-wide-fontsize);
17
17
  text-overflow: ellipsis;
18
18
  color: var(--grid-record-color);
@@ -20,22 +20,24 @@ export class DataCardGutter extends LitElement {
20
20
 
21
21
  * {
22
22
  flex: 1;
23
- margin: 0;
24
- margin-bottom: 1px;
23
+ margin: var(--spacing-tiny);
25
24
  border: var(--data-card-item-btn-border);
26
25
  border-radius: var(--data-card-item-btn-border-radius);
27
26
  padding: var(--data-card-item-btn-padding);
28
- font-size: var(--grid-record-fontsize);
27
+ font-size: var(--md-sys-typescale-label-large-size);
28
+
29
+
29
30
  }
30
31
 
31
32
  *:hover {
32
33
  cursor: pointer;
33
- color: var(--grid-record-color-hover);
34
+ background-color:var(--md-sys-color-primary);
35
+ color: var(--md-sys-color-on-primary);
34
36
  }
35
37
 
36
38
  *[center] {
37
39
  flex: none;
38
- margin: 0 auto;
40
+ margin: var(--spacing-none) auto;
39
41
  }
40
42
  `
41
43
  ]
@@ -13,16 +13,13 @@ export class DataCard extends DataManipulator {
13
13
  static styles = [
14
14
  css`
15
15
  :host {
16
- background-color: var(--data-card-background-color);
17
16
  overflow-y: auto;
18
- padding: var(--padding-wide);
17
+ padding: var(--spacing-medium);
19
18
 
20
19
  display: grid;
21
20
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
22
-
23
21
  grid-template-rows: min-content;
24
-
25
- grid-gap: var(--margin-wide);
22
+ grid-gap: var(--spacing-large);
26
23
  }
27
24
 
28
25
  ox-record-card {
@@ -33,24 +30,25 @@ export class DataCard extends DataManipulator {
33
30
  border-radius: var(--data-card-record-card-border-radius);
34
31
  }
35
32
  ox-record-card:hover {
33
+ background-color: var(--md-sys-color-inverse-primary);
36
34
  border: var(--data-card-record-card-border-hover);
37
35
  box-shadow: var(--data-card-record-card-boxshadow-hover);
38
36
  }
39
37
 
40
38
  [selected-row] {
41
- background-color: var(--data-card-record-card-selected-border);
39
+ background-color: var(--grid-record-selected-background-color);
42
40
  }
43
41
 
44
42
  #upward {
45
- --md-icon-size: 26px;
43
+ --md-icon-size: var(--icon-size-large);
46
44
  position: absolute;
47
45
  top: var(--data-card-fab-position-vertical);
48
46
  right: var(--data-card-fab-position-horizontal);
49
47
  background-color: rgba(255, 255, 255, 0.7);
50
- border-radius: 20px;
48
+ border-radius: var(--md-sys-shape-corner-large);
51
49
  color: var(--data-card-fab-color);
52
50
  box-shadow: var(--data-card-fab-shadow);
53
- padding: 7px;
51
+ padding: var(--spacing-small);
54
52
  }
55
53
 
56
54
  slot {
@@ -41,24 +41,24 @@ export class RecordCard extends LitElement {
41
41
  :host([dirty])::before {
42
42
  content: '';
43
43
  position: absolute;
44
- left: 0;
45
- top: 0;
44
+ left: var(--spacing-none);
45
+ top: var(--spacing-none);
46
46
 
47
- width: 0px;
48
- height: 0px;
47
+ width: var(--spacing-none);
48
+ height: var(--spacing-none);
49
49
  border-top: var(--grid-record-dirty-border-top);
50
50
  border-right: var(--grid-record-dirty-border-left);
51
51
  }
52
52
 
53
53
  [dirty] {
54
54
  position: absolute;
55
- margin: 0;
55
+ margin: var(--spacing-none);
56
56
  height: 20px;
57
57
 
58
58
  font: var(--grid-record-dirty-icon-font);
59
59
  text-indent: 1px;
60
- left: 0;
61
- top: 0;
60
+ left: var(--spacing-none);
61
+ top: var(--spacing-none);
62
62
  color: var(--grid-record-dirty-color);
63
63
  }
64
64
 
@@ -67,13 +67,12 @@ export class RecordCard extends LitElement {
67
67
  height: var(--data-card-thumbnail-height);
68
68
  border-top-left-radius: var(--data-card-record-card-border-radius);
69
69
  border-top-right-radius: var(--data-card-record-card-border-radius);
70
- border-bottom: var(--data-card-thumbnail-border-bottom);
71
70
  overflow: hidden;
72
71
  }
73
72
 
74
73
  [content] {
75
74
  display: grid;
76
- gap: 2px 7px;
75
+ gap: var(--spacing-tiny) var(--spacing-medium);
77
76
  grid-template:
78
77
  'brief gutters'
79
78
  'detail detail';
@@ -84,7 +83,7 @@ export class RecordCard extends LitElement {
84
83
  [brief] {
85
84
  display: flex;
86
85
  flex-direction: column;
87
- gap: 2px;
86
+ gap: var(--spacing-tiny);
88
87
  grid-area: brief;
89
88
  overflow: hidden;
90
89
  }
@@ -22,12 +22,14 @@ export class DataGridAccumField extends LitElement {
22
22
  position: relative;
23
23
 
24
24
  white-space: nowrap;
25
- background-color: var(--grid-accum-record-background-color, #ccc);
26
- border: 1px solid transparent;
25
+ background-color: var(--md-sys-color-inverse-primary);
26
+ border: var(--grid-record-border-bottom);
27
27
  border-width: 1px 0;
28
- border-bottom: var(--grid-record-border-bottom);
28
+ padding:var(--spacing-small);
29
29
 
30
30
  font-size: var(--grid-record-wide-fontsize);
31
+ color:var(--md-sys-color-primary);
32
+ font-weight:var(--md-sys-typescale-label-large-weight);
31
33
  min-height: 19px;
32
34
  }
33
35
 
@@ -27,7 +27,7 @@ export const dataGridBodyStyle = css`
27
27
  font-weight: bold;
28
28
  color: var(--grid-record-focused-color);
29
29
  background-image: var(--focused-background-image);
30
- background-blend-mode: darken;
30
+ background-blend-mode: soft-light;
31
31
  }
32
32
 
33
33
  ox-grid-field[focused] {
@@ -91,7 +91,7 @@ export class DataGridBody extends LitElement {
91
91
  }
92
92
 
93
93
  ox-grid-accum-field[fixed] {
94
- background-color: var(--grid-accum-record-background-color, #ccc);
94
+ background-color: var(--md-sys-color-inverse-primary);
95
95
  }
96
96
  `
97
97
  ]
@@ -348,10 +348,11 @@ export class DataGridBody extends LitElement {
348
348
 
349
349
  this.addEventListener('focus-change', dataGridBodyFocusChangeHandler.bind(this))
350
350
 
351
- const primaryColor = getComputedStyle(this).getPropertyValue('--primary-color')
351
+ const primaryColor = getComputedStyle(this).getPropertyValue('--md-sys-color-primary-fixed-dim')
352
+
352
353
  this.style.setProperty(
353
354
  '--focused-background-image',
354
- `url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%' style='opacity:.3'/></svg>")`
355
+ `url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><rect fill='${primaryColor}' x='0' y='0' width='100%' height='100%'/></svg>")`
355
356
  )
356
357
 
357
358
  this.addEventListener('show-record-view', (e: Event) =>
@@ -14,7 +14,7 @@ export class DataGridFooter extends LitElement {
14
14
  :host {
15
15
  display: flex;
16
16
  flex-direction: row;
17
- gap: 4px;
17
+ gap: var(--spacing-small);
18
18
  overflow: hidden;
19
19
 
20
20
  padding: var(--grid-footer-padding);
@@ -44,7 +44,7 @@ export class DataGridFooter extends LitElement {
44
44
  .limit {
45
45
  display: flex;
46
46
  flex-direction: row;
47
- gap: 6px;
47
+ gap: var(--spacing-small);
48
48
  align-items: center;
49
49
  }
50
50
 
@@ -35,7 +35,7 @@ export class DataGridHeader extends LitElement {
35
35
 
36
36
  white-space: nowrap;
37
37
  overflow: hidden;
38
- background-color: var(--grist-background-color);
38
+ background-color: var(--grid-header-background-color);
39
39
  border-bottom: var(--grid-header-bottom-border);
40
40
  padding: var(--grid-header-padding);
41
41
 
@@ -45,7 +45,7 @@ export class DataGridHeader extends LitElement {
45
45
  }
46
46
 
47
47
  div[gutter] {
48
- padding: var(--padding-default) 0 var(--padding-narrow) 0;
48
+ padding: var(--spacing-small) 0 ;
49
49
  text-align: center;
50
50
  }
51
51
 
@@ -111,8 +111,8 @@ export class DataGridHeader extends LitElement {
111
111
  }
112
112
 
113
113
  [filter] input[type='checkbox'] {
114
- margin-left: 10px;
115
- margin-bottom: 5px;
114
+ margin-left: var(--spacing-medium);
115
+ margin-bottom: var(--spacing-small);
116
116
  }
117
117
 
118
118
  [fixed] {
@@ -5,6 +5,7 @@ import './data-grid-footer'
5
5
 
6
6
  import { css, html, LitElement, PropertyValues } from 'lit'
7
7
  import { customElement, property, query, state } from 'lit/decorators.js'
8
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
8
9
 
9
10
  import { ScrollbarStyles } from '@operato/styles'
10
11
 
@@ -19,6 +20,7 @@ import { DataGridHeader } from './data-grid-header'
19
20
  @customElement('ox-grid')
20
21
  export class DataGrid extends DataManipulator {
21
22
  static styles = [
23
+ MDTypeScaleStyles,
22
24
  ScrollbarStyles,
23
25
  css`
24
26
  :host {
@@ -232,6 +234,7 @@ export class DataGrid extends DataManipulator {
232
234
  </div>
233
235
 
234
236
  <ox-grid-header
237
+ class="md-typescale-label-medium-prominent"
235
238
  .columns=${columns}
236
239
  .sorters=${this.sorters}
237
240
  .filters=${this.filters}
@@ -247,6 +250,7 @@ export class DataGrid extends DataManipulator {
247
250
  </ox-grid-header>
248
251
 
249
252
  <ox-grid-body
253
+ class="md-typescale-body-medium"
250
254
  .config=${this.config}
251
255
  .columns=${columns}
252
256
  .data=${data}
@@ -255,7 +259,15 @@ export class DataGrid extends DataManipulator {
255
259
  >
256
260
  ${this.empty ? html` <ox-empty-note title="NO RECORDS"></ox-empty-note> ` : html``}
257
261
  </ox-grid-body>
258
- ${paginatable ? html` <ox-grid-footer .data=${data} .pagination=${this.pagination}></ox-grid-footer> ` : html``}
262
+ ${paginatable
263
+ ? html`
264
+ <ox-grid-footer
265
+ class="md-typescale-body-medium"
266
+ .data=${data}
267
+ .pagination=${this.pagination}
268
+ ></ox-grid-footer>
269
+ `
270
+ : html``}
259
271
  `
260
272
  }
261
273
 
@@ -17,20 +17,20 @@ export class DataListField extends LitElement {
17
17
  position: relative;
18
18
 
19
19
  white-space: normal;
20
- padding: 1px 7px 1px 0;
20
+ padding: var(--spacing-tiny) var(--spacing-small);
21
21
 
22
22
  font: inherit;
23
23
  }
24
24
 
25
25
  :host > * {
26
26
  flex: 1;
27
- margin: 0;
27
+ margin: var(--spacing-none);
28
28
  text-align: left;
29
29
  }
30
30
 
31
31
  :host > *[center] {
32
32
  flex: none;
33
- margin: 0 auto;
33
+ margin: var(--spacing-none) auto;
34
34
  }
35
35
 
36
36
  :host([thumbnail]) {
@@ -43,8 +43,8 @@ export class DataListField extends LitElement {
43
43
  object-fit: contain;
44
44
  width: 100%;
45
45
  height: 100%;
46
- padding: 0;
47
- margin: 0;
46
+ padding: var(--spacing-none)
47
+ margin: var(--spacing-none)
48
48
  }
49
49
 
50
50
  label {
@@ -23,7 +23,7 @@ export class DataListGutter extends LitElement {
23
23
  text-overflow: ellipsis;
24
24
  color: var(--grid-record-color);
25
25
 
26
- padding-right: 10px;
26
+ padding-right: var(--spacing-medium);
27
27
  }
28
28
 
29
29
  :host-context(.expand)::after {
@@ -38,12 +38,12 @@ export class DataListGutter extends LitElement {
38
38
 
39
39
  * {
40
40
  flex: 1;
41
- margin: 0;
41
+ margin: var(--spacing-none);
42
42
  }
43
43
 
44
44
  *[center] {
45
45
  flex: none;
46
- margin: 0 auto;
46
+ margin: var(--spacing-none) auto;
47
47
  }
48
48
  `
49
49
  ]
@@ -17,7 +17,7 @@ export class DataList extends DataManipulator {
17
17
  }
18
18
 
19
19
  ox-record-partial:nth-child(even) {
20
- background-color: var(--theme-white-color);
20
+ background-color: var(--grid-record-odd-background-color);
21
21
  }
22
22
 
23
23
  [selected-row] {
@@ -25,15 +25,15 @@ export class DataList extends DataManipulator {
25
25
  }
26
26
 
27
27
  #upward {
28
- --md-icon-size: 26px;
28
+ --md-icon-size: var(--icon-size-large);
29
29
  position: absolute;
30
30
  top: var(--data-list-fab-position-vertical);
31
31
  right: var(--data-list-fab-position-horizontal);
32
32
  background-color: rgba(255, 255, 255, 0.7);
33
- border-radius: 20px;
33
+ border-radius: var(--md-sys-shape-corner-large);
34
34
  color: var(--data-list-fab-color);
35
35
  box-shadow: var(--data-list-fab-shadow);
36
- padding: 7px;
36
+ padding: var(--spacing-small);
37
37
  }
38
38
 
39
39
  slot {
@@ -39,29 +39,29 @@ export class RecordPartial extends LitElement {
39
39
  border-bottom: var(--data-list-item-border-bottom);
40
40
  position: relative;
41
41
  min-height: 42px;
42
- padding-left: 7px;
42
+ padding-left: var(--spacing-medium);
43
43
  }
44
44
 
45
45
  :host([dirty])::before {
46
46
  content: '';
47
47
  position: absolute;
48
- left: 0;
49
- top: 0;
48
+ left: var(--spacing-none);
49
+ top: var(--spacing-none);
50
50
 
51
- width: 0px;
52
- height: 0px;
51
+ width: var(--spacing-none);
52
+ height: var(--spacing-none);
53
53
  border-top: var(--grid-record-dirty-border-top);
54
54
  border-right: var(--grid-record-dirty-border-left);
55
55
  }
56
56
 
57
57
  :host [dirty] {
58
58
  position: absolute;
59
- margin: 0;
59
+ margin: var(--spacing-none);
60
60
  height: 20px;
61
61
  font: var(--grid-record-dirty-icon-font);
62
62
  text-indent: 1px;
63
- left: 0;
64
- top: 0;
63
+ left: var(--spacing-none);
64
+ top: var(--spacing-none);
65
65
  color: var(--grid-record-dirty-color);
66
66
  }
67
67
 
@@ -72,7 +72,7 @@ export class RecordPartial extends LitElement {
72
72
  }
73
73
 
74
74
  div[tail] {
75
- margin: 0;
75
+ margin: var(--spacing-none);
76
76
  width: 100px;
77
77
  aspect-ratio: 1 / 1;
78
78
 
@@ -87,7 +87,6 @@ export class RecordPartial extends LitElement {
87
87
  }
88
88
 
89
89
  ox-list-field {
90
- padding-top: 3px;
91
90
  font: var(--data-list-item-etc-font);
92
91
  color: var(--data-list-item-etc-color);
93
92
  }
@@ -44,7 +44,7 @@ export class OxInputTree extends OxFormField {
44
44
  transform: translate(-25%, -50%) rotate(-90deg);
45
45
  content: ' ';
46
46
  border: 5px solid transparent;
47
- border-top: 5px solid var(--primary-color, #1890ff);
47
+ border-top: 5px solid var(--md-sys-color-on-primary-container, #1890ff);
48
48
  }
49
49
 
50
50
  span[expander][expanded]::before {
@@ -54,7 +54,7 @@ export class OxInputTree extends OxFormField {
54
54
  transform: translate(-50%, -25%);
55
55
  content: ' ';
56
56
  border: 5px solid transparent;
57
- border-top: 5px solid var(--primary-color, #1890ff);
57
+ border-top: 5px solid var(--md-sys-color-on-primary-container, #1890ff);
58
58
  }
59
59
 
60
60
  span[checkbox] {
@@ -76,13 +76,13 @@ export class OxInputTree extends OxFormField {
76
76
  display: block;
77
77
  width: 10px;
78
78
  height: 10px;
79
- border: 1px solid var(--primary-color, #1890ff);
79
+ border: 1px solid var(--md-sys-color-on-primary-container, #1890ff);
80
80
  border-radius: 2px;
81
81
  }
82
82
 
83
83
  span[checkbox][checked='checked']::before {
84
- background-color: var(--primary-color, #1890ff);
85
- border-color: var(--primary-color, #1890ff);
84
+ background-color: var(--md-sys-color-on-primary-container, #1890ff);
85
+ border-color: var(--md-sys-color-on-primary-container, #1890ff);
86
86
  }
87
87
 
88
88
  span[checkbox][checked='checked']::after {
@@ -102,8 +102,8 @@ export class OxInputTree extends OxFormField {
102
102
  }
103
103
 
104
104
  span[checkbox][checked='half-checked']::before {
105
- background-color: var(--primary-color, #1890ff);
106
- border-color: var(--primary-color, #1890ff);
105
+ background-color: var(--md-sys-color-on-primary-container, #1890ff);
106
+ border-color: var(--md-sys-color-on-primary-container, #1890ff);
107
107
  }
108
108
 
109
109
  span[checkbox][checked='half-checked']::after {
@@ -28,6 +28,7 @@ export const FilterInputBarcode: FilterSelectRenderer = (column, value, owner) =
28
28
  })
29
29
  )
30
30
  }}
31
+ filter-input
31
32
  ></ox-input-barcode>
32
33
  `
33
34
  }
@@ -2,15 +2,15 @@ import { css } from 'lit'
2
2
 
3
3
  export const FilterStyles = css`
4
4
  :host {
5
- --ox-filters-input-placeholder-color: var(--input-placeholder-color, var(--primary-color));
5
+ --ox-filters-input-placeholder-color: var(--input-placeholder-color, var(--md-sys-color-on-surface));
6
6
 
7
7
  --ox-filters-input-border: var(--input-border, 1px solid rgba(0, 0, 0, 0.2));
8
- --ox-filters-input-focus-border: var(--input-focus-border, 1px solid var(--primary-color));
8
+ --ox-filters-input-focus-border: var(--input-focus-border, 1px solid var(--md-sys-color-outline-variant));
9
9
  --ox-filters-input-font: var(--input-font, normal 14px var(--theme-font));
10
- --ox-filters-input-color: var(--input-color, var(--primary-text-color));
11
- --ox-filters-input-focus-color: var(--input-focus-color, var(--primary-color));
10
+ --ox-filters-input-color: var(--input-color, var(--md-sys-color-on-surface));
11
+ --ox-filters-input-focus-color: var(--input-focus-color, var(--md-sys-color-on-surface-variant));
12
12
  --ox-filters-label-font: var(--label-font, normal 14px var(--theme-font));
13
- --ox-filters-label-color: var(--label-color, var(--primary-text-color));
13
+ --ox-filters-label-color: var(--label-color, var(--md-sys-color-on-surface));
14
14
  --ox-filters-input-background-color: transparent;
15
15
 
16
16
  --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
@@ -22,7 +22,7 @@ export const FilterStyles = css`
22
22
 
23
23
  label {
24
24
  font: var(--ox-filters-label-font);
25
- color: var(--ox-filters-label-color);
25
+ color: var(--ox-filters-label-color, var(--md-sys-color-on-surface));
26
26
  }
27
27
 
28
28
  span {
@@ -30,39 +30,40 @@ export const FilterStyles = css`
30
30
  }
31
31
 
32
32
  input::placeholder {
33
- color: var(--ox-filters-input-placeholder-color);
33
+ color: var(--ox-filters-input-placeholder-color, var(--md-sys-color-surface-dim));
34
34
  opacity: 0.6;
35
35
  }
36
36
 
37
- input {
37
+ input,
38
+ ox-input-search,
39
+ [filter-input] {
38
40
  padding: var(--ox-filters-input-padding);
39
41
  }
40
42
 
41
43
  ox-select,
42
- input {
44
+ ox-input-search,
45
+ input,
46
+ [filter-input] {
43
47
  border: none;
44
- border-bottom: var(--ox-filters-input-border);
48
+ border-bottom: var(--ox-filters-input-border, var(--md-sys-color-outline));
45
49
  font: var(--ox-filters-input-font);
46
- color: var(--ox-filters-input-color);
50
+ color: var(--ox-filters-input-color, var(--md-sys-color-on-surface));
47
51
  background-color: var(--ox-filters-input-background-color, transparent);
48
52
  }
49
53
 
50
54
  ox-select:focus,
51
- input:focus {
55
+ input:focus,
56
+ [filter-input]:focus {
52
57
  outline: none;
53
- border-bottom: var(--ox-filters-input-focus-border);
54
- color: var(--ox-filters-input-focus-color);
58
+ border-bottom: var(--ox-filters-input-focus-border, var(--md-sys-color-outline-variant));
59
+ color: var(--ox-filters-input-focus-color, var(--md-sys-color-on-surface-variant));
55
60
  }
56
61
 
57
62
  ox-select {
58
- min-width: 100px;
63
+ min-width: 90px;
59
64
  max-width: 170px;
60
65
  }
61
66
 
62
- ox-input-barcode {
63
- min-width: 150px;
64
- }
65
-
66
67
  ox-input-search {
67
68
  max-width: 150px;
68
69
  }
@@ -78,6 +79,11 @@ export const FilterStyles = css`
78
79
  max-width: 170px;
79
80
  }
80
81
 
82
+ [filter-input] {
83
+ min-width: 140px;
84
+ max-width: 170px;
85
+ }
86
+
81
87
  @media only screen and (max-width: 460px) {
82
88
  :host {
83
89
  --ox-filters-form-label-font: bold 13px var(--theme-font);
@@ -5,6 +5,7 @@ import '@operato/input/ox-input-search.js'
5
5
 
6
6
  import { css, html, LitElement, PropertyValues, TemplateResult, nothing } from 'lit'
7
7
  import { customElement, property, queryAsync, state } from 'lit/decorators.js'
8
+ import { styles as MDTypeScaleStyles } from '@material/web/typography/md-typescale-styles'
8
9
 
9
10
  import { PagePreferenceProvider } from '@operato/p13n'
10
11
  import { getDefaultValue } from '@operato/time-calculator'
@@ -26,10 +27,12 @@ export type QueryFilter = {
26
27
  @customElement('ox-filters-form')
27
28
  export class OxFiltersForm extends LitElement {
28
29
  static styles = [
30
+ MDTypeScaleStyles,
29
31
  FilterStyles,
30
32
  css`
31
33
  :host {
32
34
  display: flex;
35
+ padding: var(--spacing-small);
33
36
  }
34
37
 
35
38
  form {
@@ -162,6 +165,7 @@ export class OxFiltersForm extends LitElement {
162
165
  ? html``
163
166
  : html`
164
167
  <form
168
+ class="md-typescale-body-medium-prominent"
165
169
  @submit=${(e: Event) => {
166
170
  e.stopPropagation()
167
171
  e.preventDefault()
@@ -21,7 +21,7 @@ class GutterDirtyElement extends LitElement {
21
21
  }
22
22
 
23
23
  [add] {
24
- background-color: var(--primary-color);
24
+ background-color: var(--md-sys-color-on-primary-container);
25
25
  }
26
26
 
27
27
  [remove] {