@operato/data-grist 2.0.0-alpha.82 → 2.0.0-alpha.86

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 (48) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/src/filters/filter-checkbox.js +12 -5
  3. package/dist/src/filters/filter-checkbox.js.map +1 -1
  4. package/dist/src/filters/filter-styles.js +38 -28
  5. package/dist/src/filters/filter-styles.js.map +1 -1
  6. package/dist/src/filters/filters-form.js +50 -47
  7. package/dist/src/filters/filters-form.js.map +1 -1
  8. package/dist/stories/accumulator.stories.js +27 -3
  9. package/dist/stories/accumulator.stories.js.map +1 -1
  10. package/dist/stories/barcode-input-filter.stories.js +20 -0
  11. package/dist/stories/barcode-input-filter.stories.js.map +1 -1
  12. package/dist/stories/default-filters.stories.js +20 -0
  13. package/dist/stories/default-filters.stories.js.map +1 -1
  14. package/dist/stories/dynamic-editable.stories.js +20 -0
  15. package/dist/stories/dynamic-editable.stories.js.map +1 -1
  16. package/dist/stories/empty-sorters.stories.js +20 -0
  17. package/dist/stories/empty-sorters.stories.js.map +1 -1
  18. package/dist/stories/explicit-fetch.stories.js +20 -0
  19. package/dist/stories/explicit-fetch.stories.js.map +1 -1
  20. package/dist/stories/fixed-column.stories.js +27 -3
  21. package/dist/stories/fixed-column.stories.js.map +1 -1
  22. package/dist/stories/grist-modes.stories.js +27 -3
  23. package/dist/stories/grist-modes.stories.js.map +1 -1
  24. package/dist/stories/group-header.stories.js +27 -3
  25. package/dist/stories/group-header.stories.js.map +1 -1
  26. package/dist/stories/textarea.stories.js +27 -3
  27. package/dist/stories/textarea.stories.js.map +1 -1
  28. package/dist/stories/tree-column-with-checkbox.stories.js +28 -4
  29. package/dist/stories/tree-column-with-checkbox.stories.js.map +1 -1
  30. package/dist/stories/tree-column.stories.js +27 -3
  31. package/dist/stories/tree-column.stories.js.map +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/package.json +5 -5
  34. package/src/filters/filter-checkbox.ts +15 -5
  35. package/src/filters/filter-styles.ts +38 -28
  36. package/src/filters/filters-form.ts +50 -47
  37. package/stories/accumulator.stories.ts +27 -3
  38. package/stories/barcode-input-filter.stories.ts +20 -0
  39. package/stories/default-filters.stories.ts +20 -0
  40. package/stories/dynamic-editable.stories.ts +20 -0
  41. package/stories/empty-sorters.stories.ts +20 -0
  42. package/stories/explicit-fetch.stories.ts +20 -0
  43. package/stories/fixed-column.stories.ts +27 -3
  44. package/stories/grist-modes.stories.ts +27 -3
  45. package/stories/group-header.stories.ts +27 -3
  46. package/stories/textarea.stories.ts +27 -3
  47. package/stories/tree-column-with-checkbox.stories.ts +28 -4
  48. package/stories/tree-column.stories.ts +27 -3
@@ -2,56 +2,68 @@ import { css } from 'lit'
2
2
 
3
3
  export const FilterStyles = css`
4
4
  :host {
5
- --ox-input-placeholder-color: var(--primary-color);
6
-
7
- --ox-input-padding: var(--padding-narrow) var(--padding-default);
8
- --ox-input-border: 1px solid rgba(0, 0, 0, 0.2);
9
- --ox-input-focus-border: 1px solid var(--primary-color);
10
- --ox-input-border-radius: var(--border-radius);
11
- --ox-input-font: normal 14px var(--theme-font);
12
- --ox-input-color: var(--primary-text-color);
13
-
14
- --ox-filters-form-gap: var(--margin-wide);
15
- --ox-filters-form-label-font: var(--label-font);
16
- --ox-filters-form-label-color: var(--label-color);
17
- --ox-select-padding: 0 var(--padding-narrow);
5
+ --ox-filters-input-placeholder-color: var(--input-placeholder-color, var(--primary-color));
6
+
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));
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));
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));
14
+ --ox-filters-input-background-color: transparent;
15
+
16
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
17
+ --ox-filters-input-padding: var(--input-padding, 6px 2px);
18
+
19
+ --ox-select-padding: var(--ox-filters-input-padding);
20
+ --ox-checkbox-background-color: var(--ox-filters-input-background-color, transparent);
18
21
  }
19
22
 
20
23
  label {
21
- font: var(--ox-filters-form-label-font);
22
- color: var(--ox-filters-form-label-color);
24
+ font: var(--ox-filters-label-font);
25
+ color: var(--ox-filters-label-color);
23
26
  }
27
+
24
28
  span {
25
- margin-right: var(--margin-narrow);
26
29
  text-transform: capitalize;
27
30
  }
28
31
 
29
32
  input::placeholder {
30
- color: var(--ox-input-placeholder-color);
33
+ color: var(--ox-filters-input-placeholder-color);
31
34
  opacity: 0.6;
32
35
  }
33
36
 
37
+ input {
38
+ padding: var(--ox-filters-input-padding);
39
+ }
40
+
34
41
  ox-select,
35
42
  input {
36
- padding: var(--input-padding);
37
43
  border: none;
38
- border-bottom: var(--ox-input-border);
39
- font: var(--ox-input-font);
40
- color: var(--ox-input-color);
44
+ border-bottom: var(--ox-filters-input-border);
45
+ font: var(--ox-filters-input-font);
46
+ color: var(--ox-filters-input-color);
47
+ background-color: var(--ox-filters-input-background-color, transparent);
41
48
  }
42
49
 
43
50
  ox-select:focus,
44
51
  input:focus {
45
52
  outline: none;
46
- border-bottom: var(--ox-input-focus-border);
47
- color: var(--primary-color);
53
+ border-bottom: var(--ox-filters-input-focus-border);
54
+ color: var(--ox-filters-input-focus-color);
48
55
  }
56
+
49
57
  ox-select {
50
- padding: var(--ox-select-padding);
58
+ min-width: 90px;
59
+ max-width: 170px;
60
+ }
61
+
62
+ ox-input-search {
63
+ max-width: 150px;
51
64
  }
52
65
 
53
66
  input[type='number'] {
54
- padding-right: var(--padding-narrow);
55
67
  max-width: 90px;
56
68
  }
57
69
 
@@ -59,15 +71,13 @@ export const FilterStyles = css`
59
71
  input[type*='time'],
60
72
  input[type='week'],
61
73
  input[type='month'] {
62
- padding: 8px var(--padding-narrow) 8px var(--padding-default);
63
74
  max-width: 170px;
64
75
  }
65
76
 
66
77
  @media only screen and (max-width: 460px) {
67
78
  :host {
68
79
  --ox-filters-form-label-font: bold 13px var(--theme-font);
69
- --ox-input-font: normal 16px var(--theme-font);
70
- --ox-filters-form-gap: var(--margin-narrow);
80
+ --ox-filters-input-font: normal 16px var(--theme-font);
71
81
  }
72
82
 
73
83
  input[from],
@@ -42,6 +42,7 @@ export class FiltersForm extends LitElement {
42
42
  form > * {
43
43
  display: flex;
44
44
  align-items: center;
45
+ gap: var(--input-intra-gap, 7px);
45
46
  }
46
47
 
47
48
  label span {
@@ -189,53 +190,55 @@ export class FiltersForm extends LitElement {
189
190
  return html``
190
191
  }
191
192
 
192
- return type !== 'select' && labelText
193
- ? html`<label filter-title ?between=${operator === 'between'}
194
- ><span>${labelText}</span> ${renderer(column, value, this)}
195
- </label> `
196
- : type !== 'select' && !labelText
197
- ? renderer(column, value, this)
198
- : operator === 'in'
199
- ? html`
200
- <ox-select
201
- name=${name}
202
- placeholder=${labelText}
203
- .value=${value}
204
- @change=${(e: CustomEvent) =>
205
- e.target?.dispatchEvent(
206
- new CustomEvent('filter-change', {
207
- detail: {
208
- name,
209
- operator,
210
- value: e.detail
211
- }
212
- })
213
- )}
214
- >
215
- <ox-popup-list multiple attr-selected="checked" with-search>
216
- ${renderer(column, value, this)}
217
- </ox-popup-list>
218
- </ox-select>
219
- `
220
- : html`
221
- <ox-select
222
- name=${name}
223
- placeholder=${labelText}
224
- .value=${value}
225
- @change=${(e: CustomEvent) =>
226
- e.target?.dispatchEvent(
227
- new CustomEvent('filter-change', {
228
- detail: {
229
- name,
230
- operator,
231
- value: e.detail
232
- }
233
- })
234
- )}
235
- >
236
- <ox-popup-list with-search> ${renderer(column, value, this)} </ox-popup-list>
237
- </ox-select>
238
- `
193
+ return type === 'boolean' || type === 'checkbox'
194
+ ? renderer(column, value, this)
195
+ : type !== 'select' && labelText
196
+ ? html`<label filter-title ?between=${operator === 'between'}
197
+ ><span>${labelText}</span> ${renderer(column, value, this)}
198
+ </label> `
199
+ : type !== 'select' && !labelText
200
+ ? renderer(column, value, this)
201
+ : operator === 'in'
202
+ ? html`
203
+ <ox-select
204
+ name=${name}
205
+ placeholder=${labelText}
206
+ .value=${value}
207
+ @change=${(e: CustomEvent) =>
208
+ e.target?.dispatchEvent(
209
+ new CustomEvent('filter-change', {
210
+ detail: {
211
+ name,
212
+ operator,
213
+ value: e.detail
214
+ }
215
+ })
216
+ )}
217
+ >
218
+ <ox-popup-list multiple attr-selected="checked" with-search>
219
+ ${renderer(column, value, this)}
220
+ </ox-popup-list>
221
+ </ox-select>
222
+ `
223
+ : html`
224
+ <ox-select
225
+ name=${name}
226
+ placeholder=${labelText}
227
+ .value=${value}
228
+ @change=${(e: CustomEvent) =>
229
+ e.target?.dispatchEvent(
230
+ new CustomEvent('filter-change', {
231
+ detail: {
232
+ name,
233
+ operator,
234
+ value: e.detail
235
+ }
236
+ })
237
+ )}
238
+ >
239
+ <ox-popup-list with-search> ${renderer(column, value, this)} </ox-popup-list>
240
+ </ox-select>
241
+ `
239
242
  })}
240
243
  </form>
241
244
  `
@@ -219,6 +219,26 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
219
219
  <link href="/themes/oops-theme.css" rel="stylesheet" />
220
220
  <link href="/themes/grist-theme.css" rel="stylesheet" />
221
221
 
222
+ <style>
223
+ ox-filters-form {
224
+ --input-gap-vertical: 8px;
225
+ --input-gap-horizontal: 16px;
226
+
227
+ --ox-filters-input-placeholder-color: var(--primary-color);
228
+
229
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
230
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
231
+ --ox-filters-input-font: normal 14px var(--theme-font);
232
+ --ox-filters-input-color: var(--primary-text-color);
233
+ --ox-filters-input-focus-color: var(--primary-color);
234
+ --ox-filters-label-font: normal 14px var(--theme-font);
235
+ --ox-filters-label-color: var(--primary-text-color);
236
+
237
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
238
+ --ox-filters-input-padding: 6px 2px;
239
+ }
240
+ </style>
241
+
222
242
  <style>
223
243
  ox-grist {
224
244
  height: 600px;
@@ -280,12 +300,16 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
280
300
  }
281
301
 
282
302
  #add button {
303
+ display: flex;
304
+ align-items: center;
305
+ justify-content: center;
306
+
283
307
  background-color: var(--primary-color);
284
308
  border: 0;
285
309
  border-radius: 50%;
286
310
  padding: 5px;
287
- width: 36px;
288
- height: 36px;
311
+ width: 32px;
312
+ height: 32px;
289
313
  cursor: pointer;
290
314
  }
291
315
 
@@ -295,7 +319,7 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
295
319
  }
296
320
 
297
321
  #add button md-icon {
298
- font-size: 2em;
322
+ font-size: 1.5em;
299
323
  color: var(--theme-white-color);
300
324
  }
301
325
 
@@ -152,6 +152,26 @@ const Template: Story<ArgTypes> = ({ englishOnly, selectAfterChange, headerFilte
152
152
  <link href="/themes/oops-theme.css" rel="stylesheet" />
153
153
  <link href="/themes/grist-theme.css" rel="stylesheet" />
154
154
 
155
+ <style>
156
+ ox-filters-form {
157
+ --input-gap-vertical: 8px;
158
+ --input-gap-horizontal: 16px;
159
+
160
+ --ox-filters-input-placeholder-color: var(--primary-color);
161
+
162
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
163
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
164
+ --ox-filters-input-font: normal 14px var(--theme-font);
165
+ --ox-filters-input-color: var(--primary-text-color);
166
+ --ox-filters-input-focus-color: var(--primary-color);
167
+ --ox-filters-label-font: normal 14px var(--theme-font);
168
+ --ox-filters-label-color: var(--primary-text-color);
169
+
170
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
171
+ --ox-filters-input-padding: 6px 2px;
172
+ }
173
+ </style>
174
+
155
175
  <style>
156
176
  [slot='headroom'] {
157
177
  display: flex;
@@ -135,6 +135,26 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
135
135
  <link href="/themes/oops-theme.css" rel="stylesheet" />
136
136
  <link href="/themes/grist-theme.css" rel="stylesheet" />
137
137
 
138
+ <style>
139
+ ox-filters-form {
140
+ --input-gap-vertical: 8px;
141
+ --input-gap-horizontal: 16px;
142
+
143
+ --ox-filters-input-placeholder-color: var(--primary-color);
144
+
145
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
146
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
147
+ --ox-filters-input-font: normal 14px var(--theme-font);
148
+ --ox-filters-input-color: var(--primary-text-color);
149
+ --ox-filters-input-focus-color: var(--primary-color);
150
+ --ox-filters-label-font: normal 14px var(--theme-font);
151
+ --ox-filters-label-color: var(--primary-text-color);
152
+
153
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
154
+ --ox-filters-input-padding: 6px 2px;
155
+ }
156
+ </style>
157
+
138
158
  <style>
139
159
  [slot='headroom'] {
140
160
  display: flex;
@@ -211,6 +211,26 @@ const Template: Story<ArgTypes> = ({ headerFilter }: ArgTypes) =>
211
211
  <link href="/themes/oops-theme.css" rel="stylesheet" />
212
212
  <link href="/themes/grist-theme.css" rel="stylesheet" />
213
213
 
214
+ <style>
215
+ ox-filters-form {
216
+ --input-gap-vertical: 8px;
217
+ --input-gap-horizontal: 16px;
218
+
219
+ --ox-filters-input-placeholder-color: var(--primary-color);
220
+
221
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
222
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
223
+ --ox-filters-input-font: normal 14px var(--theme-font);
224
+ --ox-filters-input-color: var(--primary-text-color);
225
+ --ox-filters-input-focus-color: var(--primary-color);
226
+ --ox-filters-label-font: normal 14px var(--theme-font);
227
+ --ox-filters-label-color: var(--primary-text-color);
228
+
229
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
230
+ --ox-filters-input-padding: 6px 2px;
231
+ }
232
+ </style>
233
+
214
234
  <style>
215
235
  [slot='headroom'] {
216
236
  display: flex;
@@ -120,6 +120,26 @@ const Template: Story<ArgTypes> = ({}: ArgTypes) =>
120
120
  <link href="/themes/oops-theme.css" rel="stylesheet" />
121
121
  <link href="/themes/grist-theme.css" rel="stylesheet" />
122
122
 
123
+ <style>
124
+ ox-filters-form {
125
+ --input-gap-vertical: 8px;
126
+ --input-gap-horizontal: 16px;
127
+
128
+ --ox-filters-input-placeholder-color: var(--primary-color);
129
+
130
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
131
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
132
+ --ox-filters-input-font: normal 14px var(--theme-font);
133
+ --ox-filters-input-color: var(--primary-text-color);
134
+ --ox-filters-input-focus-color: var(--primary-color);
135
+ --ox-filters-label-font: normal 14px var(--theme-font);
136
+ --ox-filters-label-color: var(--primary-text-color);
137
+
138
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
139
+ --ox-filters-input-padding: 6px 2px;
140
+ }
141
+ </style>
142
+
123
143
  <style>
124
144
  [slot='headroom'] {
125
145
  display: flex;
@@ -125,6 +125,26 @@ const Template: Story<ArgTypes> = ({ explicitFetch = false }: ArgTypes) =>
125
125
  <link href="/themes/oops-theme.css" rel="stylesheet" />
126
126
  <link href="/themes/grist-theme.css" rel="stylesheet" />
127
127
 
128
+ <style>
129
+ ox-filters-form {
130
+ --input-gap-vertical: 8px;
131
+ --input-gap-horizontal: 16px;
132
+
133
+ --ox-filters-input-placeholder-color: var(--primary-color);
134
+
135
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
136
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
137
+ --ox-filters-input-font: normal 14px var(--theme-font);
138
+ --ox-filters-input-color: var(--primary-text-color);
139
+ --ox-filters-input-focus-color: var(--primary-color);
140
+ --ox-filters-label-font: normal 14px var(--theme-font);
141
+ --ox-filters-label-color: var(--primary-text-color);
142
+
143
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
144
+ --ox-filters-input-padding: 6px 2px;
145
+ }
146
+ </style>
147
+
128
148
  <style>
129
149
  [slot='headroom'] {
130
150
  display: flex;
@@ -348,6 +348,26 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
348
348
  <link href="/themes/oops-theme.css" rel="stylesheet" />
349
349
  <link href="/themes/grist-theme.css" rel="stylesheet" />
350
350
 
351
+ <style>
352
+ ox-filters-form {
353
+ --input-gap-vertical: 8px;
354
+ --input-gap-horizontal: 16px;
355
+
356
+ --ox-filters-input-placeholder-color: var(--primary-color);
357
+
358
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
359
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
360
+ --ox-filters-input-font: normal 14px var(--theme-font);
361
+ --ox-filters-input-color: var(--primary-text-color);
362
+ --ox-filters-input-focus-color: var(--primary-color);
363
+ --ox-filters-label-font: normal 14px var(--theme-font);
364
+ --ox-filters-label-color: var(--primary-text-color);
365
+
366
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
367
+ --ox-filters-input-padding: 6px 2px;
368
+ }
369
+ </style>
370
+
351
371
  <style>
352
372
  [slot='headroom'] {
353
373
  display: flex;
@@ -405,12 +425,16 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
405
425
  }
406
426
 
407
427
  #add button {
428
+ display: flex;
429
+ align-items: center;
430
+ justify-content: center;
431
+
408
432
  background-color: var(--primary-color);
409
433
  border: 0;
410
434
  border-radius: 50%;
411
435
  padding: 5px;
412
- width: 36px;
413
- height: 36px;
436
+ width: 32px;
437
+ height: 32px;
414
438
  cursor: pointer;
415
439
  }
416
440
 
@@ -420,7 +444,7 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
420
444
  }
421
445
 
422
446
  #add button md-icon {
423
- font-size: 2em;
447
+ font-size: 1.5em;
424
448
  color: var(--theme-white-color);
425
449
  }
426
450
 
@@ -373,6 +373,26 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
373
373
  <link href="/themes/oops-theme.css" rel="stylesheet" />
374
374
  <link href="/themes/grist-theme.css" rel="stylesheet" />
375
375
 
376
+ <style>
377
+ ox-filters-form {
378
+ --input-gap-vertical: 8px;
379
+ --input-gap-horizontal: 16px;
380
+
381
+ --ox-filters-input-placeholder-color: var(--primary-color);
382
+
383
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
384
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
385
+ --ox-filters-input-font: normal 14px var(--theme-font);
386
+ --ox-filters-input-color: var(--primary-text-color);
387
+ --ox-filters-input-focus-color: var(--primary-color);
388
+ --ox-filters-label-font: normal 14px var(--theme-font);
389
+ --ox-filters-label-color: var(--primary-text-color);
390
+
391
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
392
+ --ox-filters-input-padding: 6px 2px;
393
+ }
394
+ </style>
395
+
376
396
  <style>
377
397
  ox-grist {
378
398
  width: 100%;
@@ -435,12 +455,16 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
435
455
  }
436
456
 
437
457
  #add button {
458
+ display: flex;
459
+ align-items: center;
460
+ justify-content: center;
461
+
438
462
  background-color: var(--primary-color);
439
463
  border: 0;
440
464
  border-radius: 50%;
441
465
  padding: 5px;
442
- width: 36px;
443
- height: 36px;
466
+ width: 32px;
467
+ height: 32px;
444
468
  cursor: pointer;
445
469
  }
446
470
 
@@ -450,7 +474,7 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
450
474
  }
451
475
 
452
476
  #add button md-icon {
453
- font-size: 2em;
477
+ font-size: 1.5em;
454
478
  color: var(--theme-white-color);
455
479
  }
456
480
 
@@ -378,6 +378,26 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
378
378
  <link href="/themes/oops-theme.css" rel="stylesheet" />
379
379
  <link href="/themes/grist-theme.css" rel="stylesheet" />
380
380
 
381
+ <style>
382
+ ox-filters-form {
383
+ --input-gap-vertical: 8px;
384
+ --input-gap-horizontal: 16px;
385
+
386
+ --ox-filters-input-placeholder-color: var(--primary-color);
387
+
388
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
389
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
390
+ --ox-filters-input-font: normal 14px var(--theme-font);
391
+ --ox-filters-input-color: var(--primary-text-color);
392
+ --ox-filters-input-focus-color: var(--primary-color);
393
+ --ox-filters-label-font: normal 14px var(--theme-font);
394
+ --ox-filters-label-color: var(--primary-text-color);
395
+
396
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
397
+ --ox-filters-input-padding: 6px 2px;
398
+ }
399
+ </style>
400
+
381
401
  <style>
382
402
  [slot='headroom'] {
383
403
  display: flex;
@@ -435,12 +455,16 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
435
455
  }
436
456
 
437
457
  #add button {
458
+ display: flex;
459
+ align-items: center;
460
+ justify-content: center;
461
+
438
462
  background-color: var(--primary-color);
439
463
  border: 0;
440
464
  border-radius: 50%;
441
465
  padding: 5px;
442
- width: 36px;
443
- height: 36px;
466
+ width: 32px;
467
+ height: 32px;
444
468
  cursor: pointer;
445
469
  }
446
470
 
@@ -450,7 +474,7 @@ const Template: Story<ArgTypes> = ({ config }: ArgTypes) =>
450
474
  }
451
475
 
452
476
  #add button md-icon {
453
- font-size: 2em;
477
+ font-size: 1.5em;
454
478
  color: var(--theme-white-color);
455
479
  }
456
480
 
@@ -207,6 +207,26 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
207
207
  <link href="/themes/oops-theme.css" rel="stylesheet" />
208
208
  <link href="/themes/grist-theme.css" rel="stylesheet" />
209
209
 
210
+ <style>
211
+ ox-filters-form {
212
+ --input-gap-vertical: 8px;
213
+ --input-gap-horizontal: 16px;
214
+
215
+ --ox-filters-input-placeholder-color: var(--primary-color);
216
+
217
+ --ox-filters-input-border: 1px solid rgba(0, 0, 0, 0.2);
218
+ --ox-filters-input-focus-border: 1px solid var(--primary-color);
219
+ --ox-filters-input-font: normal 14px var(--theme-font);
220
+ --ox-filters-input-color: var(--primary-text-color);
221
+ --ox-filters-input-focus-color: var(--primary-color);
222
+ --ox-filters-label-font: normal 14px var(--theme-font);
223
+ --ox-filters-label-color: var(--primary-text-color);
224
+
225
+ --ox-filters-form-gap: var(--input-gap-vertical, 8px) var(--input-gap-horizontal, 16px);
226
+ --ox-filters-input-padding: 6px 2px;
227
+ }
228
+ </style>
229
+
210
230
  <style>
211
231
  [slot='headroom'] {
212
232
  display: flex;
@@ -264,12 +284,16 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
264
284
  }
265
285
 
266
286
  #add button {
287
+ display: flex;
288
+ align-items: center;
289
+ justify-content: center;
290
+
267
291
  background-color: var(--primary-color);
268
292
  border: 0;
269
293
  border-radius: 50%;
270
294
  padding: 5px;
271
- width: 36px;
272
- height: 36px;
295
+ width: 32px;
296
+ height: 32px;
273
297
  cursor: pointer;
274
298
  }
275
299
 
@@ -279,7 +303,7 @@ const Template: Story<ArgTypes> = ({ config, mode = 'GRID', urlParamsSensitive =
279
303
  }
280
304
 
281
305
  #add button md-icon {
282
- font-size: 2em;
306
+ font-size: 1.5em;
283
307
  color: var(--theme-white-color);
284
308
  }
285
309