@operato/input 10.0.0 → 10.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/STYLING.md +194 -0
  3. package/dist/src/index.d.ts +1 -0
  4. package/dist/src/index.js +1 -0
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/input-styles.d.ts +38 -0
  7. package/dist/src/input-styles.js +108 -0
  8. package/dist/src/input-styles.js.map +1 -0
  9. package/dist/src/ox-buttons-radio.js +6 -4
  10. package/dist/src/ox-buttons-radio.js.map +1 -1
  11. package/dist/src/ox-form-field.d.ts +41 -0
  12. package/dist/src/ox-form-field.js +68 -1
  13. package/dist/src/ox-form-field.js.map +1 -1
  14. package/dist/src/ox-input-3axis.js +3 -1
  15. package/dist/src/ox-input-3axis.js.map +1 -1
  16. package/dist/src/ox-input-3dish.js +4 -2
  17. package/dist/src/ox-input-3dish.js.map +1 -1
  18. package/dist/src/ox-input-audio.js +4 -2
  19. package/dist/src/ox-input-audio.js.map +1 -1
  20. package/dist/src/ox-input-barcode.js +3 -1
  21. package/dist/src/ox-input-barcode.js.map +1 -1
  22. package/dist/src/ox-input-code.js +3 -1
  23. package/dist/src/ox-input-code.js.map +1 -1
  24. package/dist/src/ox-input-color.js +4 -2
  25. package/dist/src/ox-input-color.js.map +1 -1
  26. package/dist/src/ox-input-crontab.d.ts +1 -1
  27. package/dist/src/ox-input-crontab.js +6 -5
  28. package/dist/src/ox-input-crontab.js.map +1 -1
  29. package/dist/src/ox-input-data.js +5 -3
  30. package/dist/src/ox-input-data.js.map +1 -1
  31. package/dist/src/ox-input-duration.d.ts +1 -1
  32. package/dist/src/ox-input-duration.js +5 -4
  33. package/dist/src/ox-input-duration.js.map +1 -1
  34. package/dist/src/ox-input-file.js +3 -1
  35. package/dist/src/ox-input-file.js.map +1 -1
  36. package/dist/src/ox-input-formula-help-popup.js +30 -28
  37. package/dist/src/ox-input-formula-help-popup.js.map +1 -1
  38. package/dist/src/ox-input-formula.js +112 -111
  39. package/dist/src/ox-input-formula.js.map +1 -1
  40. package/dist/src/ox-input-hashtags.d.ts +1 -1
  41. package/dist/src/ox-input-hashtags.js +9 -8
  42. package/dist/src/ox-input-hashtags.js.map +1 -1
  43. package/dist/src/ox-input-i18n-label.d.ts +1 -1
  44. package/dist/src/ox-input-i18n-label.js +5 -4
  45. package/dist/src/ox-input-i18n-label.js.map +1 -1
  46. package/dist/src/ox-input-image.js +4 -2
  47. package/dist/src/ox-input-image.js.map +1 -1
  48. package/dist/src/ox-input-key-values.d.ts +1 -1
  49. package/dist/src/ox-input-key-values.js +10 -9
  50. package/dist/src/ox-input-key-values.js.map +1 -1
  51. package/dist/src/ox-input-mass-fraction.js +7 -5
  52. package/dist/src/ox-input-mass-fraction.js.map +1 -1
  53. package/dist/src/ox-input-multiple-colors.d.ts +1 -1
  54. package/dist/src/ox-input-multiple-colors.js +5 -4
  55. package/dist/src/ox-input-multiple-colors.js.map +1 -1
  56. package/dist/src/ox-input-options.d.ts +1 -1
  57. package/dist/src/ox-input-options.js +8 -7
  58. package/dist/src/ox-input-options.js.map +1 -1
  59. package/dist/src/ox-input-partition-keys.d.ts +1 -1
  60. package/dist/src/ox-input-partition-keys.js +10 -9
  61. package/dist/src/ox-input-partition-keys.js.map +1 -1
  62. package/dist/src/ox-input-privilege.d.ts +1 -1
  63. package/dist/src/ox-input-privilege.js +9 -8
  64. package/dist/src/ox-input-privilege.js.map +1 -1
  65. package/dist/src/ox-input-quantifier.d.ts +1 -1
  66. package/dist/src/ox-input-quantifier.js +6 -5
  67. package/dist/src/ox-input-quantifier.js.map +1 -1
  68. package/dist/src/ox-input-range.js +9 -8
  69. package/dist/src/ox-input-range.js.map +1 -1
  70. package/dist/src/ox-input-search.js +3 -1
  71. package/dist/src/ox-input-search.js.map +1 -1
  72. package/dist/src/ox-input-secret.js +3 -1
  73. package/dist/src/ox-input-secret.js.map +1 -1
  74. package/dist/src/ox-input-select-buttons.d.ts +1 -1
  75. package/dist/src/ox-input-select-buttons.js +4 -3
  76. package/dist/src/ox-input-select-buttons.js.map +1 -1
  77. package/dist/src/ox-input-signature.js +5 -3
  78. package/dist/src/ox-input-signature.js.map +1 -1
  79. package/dist/src/ox-input-stack.js +3 -1
  80. package/dist/src/ox-input-stack.js.map +1 -1
  81. package/dist/src/ox-input-table-column-config.js +5 -3
  82. package/dist/src/ox-input-table-column-config.js.map +1 -1
  83. package/dist/src/ox-input-table.js +5 -3
  84. package/dist/src/ox-input-table.js.map +1 -1
  85. package/dist/src/ox-input-unit-number.js +5 -3
  86. package/dist/src/ox-input-unit-number.js.map +1 -1
  87. package/dist/src/ox-input-value-map.d.ts +1 -1
  88. package/dist/src/ox-input-value-map.js +10 -9
  89. package/dist/src/ox-input-value-map.js.map +1 -1
  90. package/dist/src/ox-input-value-ranges.d.ts +1 -1
  91. package/dist/src/ox-input-value-ranges.js +11 -10
  92. package/dist/src/ox-input-value-ranges.js.map +1 -1
  93. package/dist/src/ox-input-video.js +4 -2
  94. package/dist/src/ox-input-video.js.map +1 -1
  95. package/dist/src/ox-input-work-shift.d.ts +1 -1
  96. package/dist/src/ox-input-work-shift.js +10 -9
  97. package/dist/src/ox-input-work-shift.js.map +1 -1
  98. package/dist/src/ox-select-floor.js +5 -3
  99. package/dist/src/ox-select-floor.js.map +1 -1
  100. package/dist/src/ox-select.js +20 -11
  101. package/dist/src/ox-select.js.map +1 -1
  102. package/dist/test/ox-form-field.test.d.ts +1 -0
  103. package/dist/test/ox-form-field.test.js +125 -0
  104. package/dist/test/ox-form-field.test.js.map +1 -0
  105. package/dist/tsconfig.tsbuildinfo +1 -1
  106. package/package.json +2 -2
  107. package/test/ox-form-field.test.ts +159 -0
@@ -9,6 +9,7 @@ import '@operato/i18n/ox-i18n.js';
9
9
  import { css, html } from 'lit';
10
10
  import { customElement, property, query, state } from 'lit/decorators.js';
11
11
  import { OxFormField } from '@operato/input';
12
+ import { InputStyles } from './input-styles.js';
12
13
  import { ScrollbarStyles } from '@operato/styles';
13
14
  /**
14
15
  * Formula editor component for KPI calculations
@@ -160,57 +161,57 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
160
161
  ];
161
162
  }
162
163
  static { this.styles = [
164
+ InputStyles,
163
165
  ScrollbarStyles,
164
166
  css `
165
167
  :host {
166
168
  display: flex;
167
169
  flex-direction: column;
168
170
  overflow: hidden;
169
- margin-bottom: var(--spacing-large);
170
- gap: var(--spacing-medium);
171
+ margin-bottom: calc(var(--ox-input-gap) * 3);
172
+ gap: calc(var(--ox-input-gap) * 2);
171
173
  }
172
174
 
173
175
  .formula-container {
174
176
  display: flex;
175
177
  flex-direction: column;
176
- gap: var(--spacing-small);
178
+ gap: var(--ox-input-gap);
177
179
  }
178
180
 
179
181
  .formula-input-container {
180
182
  display: flex;
181
183
  flex-direction: column;
182
- gap: var(--spacing-small);
184
+ gap: var(--ox-input-gap);
183
185
  }
184
186
 
185
187
  .formula-textarea {
186
- min-height: 120px;
187
- border: 1px solid rgba(0, 0, 0, 0.2);
188
- border-radius: 4px;
189
- padding: var(--spacing-medium);
190
- font-family: 'Courier New', monospace;
191
- font-size: 14px;
192
- line-height: 1.4;
188
+ min-height: var(--ox-formula-textarea-min-height, 120px);
189
+ border: var(--ox-input-border);
190
+ border-radius: var(--ox-input-radius);
191
+ padding: var(--ox-input-padding);
192
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
193
+ font-size: var(--ox-formula-textarea-font-size, 1.3rem);
194
+ line-height: var(--ox-input-line-height);
193
195
  resize: vertical;
194
- background-color: #f8f9fa;
195
- font-size: 1.3rem;
196
+ background-color: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
196
197
  }
197
198
 
198
199
  .formula-textarea:focus {
199
200
  outline: none;
200
201
  border-color: var(--md-sys-color-primary);
201
- background-color: white;
202
+ background-color: var(--ox-input-background);
202
203
  }
203
204
 
204
205
  .variables-container {
205
206
  display: flex;
206
207
  flex-direction: column;
207
- gap: var(--spacing-small);
208
+ gap: var(--ox-input-gap);
208
209
  }
209
210
 
210
211
  .variables-header {
211
212
  display: flex;
212
213
  align-items: center;
213
- gap: var(--spacing-small);
214
+ gap: var(--ox-input-gap);
214
215
  font-weight: 500;
215
216
  color: var(--md-sys-color-on-surface);
216
217
  }
@@ -218,24 +219,24 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
218
219
  .variables-grid {
219
220
  display: grid;
220
221
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
221
- gap: var(--spacing-small);
222
- max-height: 200px;
222
+ gap: var(--ox-input-gap);
223
+ max-height: var(--ox-formula-grid-max-height, 200px);
223
224
  overflow-y: auto;
224
- border: 1px solid rgba(0, 0, 0, 0.1);
225
- border-radius: 4px;
226
- padding: var(--spacing-small);
227
- background-color: #f8f9fa;
225
+ border: var(--ox-input-border);
226
+ border-radius: var(--ox-input-radius);
227
+ padding: var(--ox-input-gap);
228
+ background-color: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
228
229
  }
229
230
 
230
231
  .variable-item {
231
232
  display: flex;
232
233
  flex-direction: column;
233
- padding: var(--spacing-small);
234
- border: 1px solid rgba(0, 0, 0, 0.1);
235
- border-radius: 4px;
236
- background-color: white;
234
+ padding: var(--ox-input-gap);
235
+ border: var(--ox-input-border);
236
+ border-radius: var(--ox-input-radius);
237
+ background-color: var(--ox-input-background);
237
238
  cursor: pointer;
238
- transition: all 0.2s ease;
239
+ transition: var(--ox-input-transition);
239
240
  position: relative;
240
241
  }
241
242
 
@@ -243,24 +244,24 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
243
244
  border-color: var(--md-sys-color-primary);
244
245
  background-color: var(--md-sys-color-primary-container);
245
246
  transform: translateY(-1px);
246
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
247
+ box-shadow: var(--ox-input-shadow);
247
248
  }
248
249
 
249
250
  .variable-name {
250
251
  font-weight: 500;
251
252
  color: var(--md-sys-color-primary);
252
- font-size: 12px;
253
- font-family: 'Courier New', monospace;
253
+ font-size: var(--ox-formula-font-size-small, 0.75rem);
254
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
254
255
  }
255
256
 
256
257
  .variable-description {
257
- font-size: 11px;
258
+ font-size: var(--ox-formula-font-size-tiny, 0.6875rem);
258
259
  color: var(--md-sys-color-on-surface-variant);
259
260
  margin-top: 2px;
260
261
  }
261
262
 
262
263
  .variable-type {
263
- font-size: 10px;
264
+ font-size: var(--ox-formula-font-size-tiny, 0.6875rem);
264
265
  color: var(--md-sys-color-outline);
265
266
  margin-top: 2px;
266
267
  text-transform: uppercase;
@@ -270,12 +271,12 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
270
271
  position: absolute;
271
272
  top: 4px;
272
273
  right: 4px;
273
- font-size: 14px;
274
+ font-size: var(--ox-input-font-size);
274
275
  color: var(--md-sys-color-outline);
275
276
  cursor: pointer;
276
- padding: 2px;
277
- border-radius: 2px;
278
- transition: all 0.2s ease;
277
+ padding: var(--ox-formula-icon-padding, 2px);
278
+ border-radius: var(--ox-input-radius);
279
+ transition: var(--ox-input-transition);
279
280
  }
280
281
 
281
282
  .help-icon:hover {
@@ -286,19 +287,19 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
286
287
  .operators-container {
287
288
  display: flex;
288
289
  flex-wrap: wrap;
289
- gap: var(--spacing-small);
290
- margin-top: var(--spacing-small);
290
+ gap: var(--ox-input-gap);
291
+ margin-top: var(--ox-input-gap);
291
292
  }
292
293
 
293
294
  .operator-button {
294
- padding: var(--spacing-small) var(--spacing-medium);
295
- border: 1px solid rgba(0, 0, 0, 0.2);
296
- border-radius: 4px;
297
- background-color: white;
295
+ padding: var(--ox-input-padding);
296
+ border: var(--ox-input-border);
297
+ border-radius: var(--ox-input-radius);
298
+ background-color: var(--ox-input-background);
298
299
  cursor: pointer;
299
- font-family: 'Courier New', monospace;
300
- font-size: 12px;
301
- transition: all 0.2s ease;
300
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
301
+ font-size: var(--ox-formula-font-size-small, 0.75rem);
302
+ transition: var(--ox-input-transition);
302
303
  }
303
304
 
304
305
  .operator-button:hover {
@@ -309,8 +310,8 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
309
310
  .functions-container {
310
311
  display: flex;
311
312
  flex-direction: column;
312
- gap: var(--spacing-small);
313
- margin-top: var(--spacing-small);
313
+ gap: var(--ox-input-gap);
314
+ margin-top: var(--ox-input-gap);
314
315
  }
315
316
 
316
317
  .functions-header {
@@ -321,19 +322,19 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
321
322
  .functions-grid {
322
323
  display: grid;
323
324
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
324
- gap: var(--spacing-small);
325
+ gap: var(--ox-input-gap);
325
326
  }
326
327
 
327
328
  .function-button {
328
- padding: var(--spacing-small);
329
- border: 1px solid rgba(0, 0, 0, 0.2);
330
- border-radius: 4px;
331
- background-color: white;
329
+ padding: var(--ox-input-gap);
330
+ border: var(--ox-input-border);
331
+ border-radius: var(--ox-input-radius);
332
+ background-color: var(--ox-input-background);
332
333
  cursor: pointer;
333
- font-family: 'Courier New', monospace;
334
- font-size: 11px;
334
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
335
+ font-size: var(--ox-formula-font-size-tiny, 0.6875rem);
335
336
  text-align: left;
336
- transition: all 0.2s ease;
337
+ transition: var(--ox-input-transition);
337
338
  position: relative;
338
339
  }
339
340
 
@@ -343,39 +344,39 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
343
344
  }
344
345
 
345
346
  .preview-container {
346
- margin-top: var(--spacing-medium);
347
- padding: var(--spacing-medium);
348
- background-color: #f8f9fa;
349
- border-radius: 4px;
350
- border: 1px solid rgba(0, 0, 0, 0.1);
347
+ margin-top: calc(var(--ox-input-gap) * 2);
348
+ padding: var(--ox-input-padding);
349
+ background-color: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
350
+ border-radius: var(--ox-input-radius);
351
+ border: var(--ox-input-border);
351
352
  }
352
353
 
353
354
  .preview-title {
354
355
  font-weight: 500;
355
- margin-bottom: var(--spacing-small);
356
+ margin-bottom: var(--ox-input-gap);
356
357
  color: var(--md-sys-color-on-surface);
357
358
  }
358
359
 
359
360
  .preview-formula {
360
- font-family: 'Courier New', monospace;
361
- background-color: white;
362
- padding: var(--spacing-small);
363
- border-radius: 4px;
364
- border: 1px solid rgba(0, 0, 0, 0.1);
361
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
362
+ background-color: var(--ox-input-background);
363
+ padding: var(--ox-input-gap);
364
+ border-radius: var(--ox-input-radius);
365
+ border: var(--ox-input-border);
365
366
  white-space: pre-wrap;
366
367
  word-break: break-all;
367
368
  }
368
369
 
369
370
  .error-message {
370
371
  color: var(--md-sys-color-error);
371
- font-size: 12px;
372
- margin-top: var(--spacing-small);
372
+ font-size: var(--ox-formula-font-size-small, 0.75rem);
373
+ margin-top: var(--ox-input-gap);
373
374
  }
374
375
 
375
376
  .info-message {
376
377
  color: var(--md-sys-color-on-surface-variant);
377
- font-size: 12px;
378
- margin-top: var(--spacing-small);
378
+ font-size: var(--ox-formula-font-size-small, 0.75rem);
379
+ margin-top: var(--ox-input-gap);
379
380
  }
380
381
 
381
382
  /* 도움말 팝업 스타일 */
@@ -383,9 +384,9 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
383
384
  max-width: 500px;
384
385
  max-height: 400px;
385
386
  overflow-y: auto;
386
- background: white;
387
- border-radius: 8px;
388
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
387
+ background: var(--ox-input-background);
388
+ border-radius: var(--ox-input-popup-radius);
389
+ box-shadow: var(--ox-input-shadow);
389
390
  }
390
391
 
391
392
  .help-title {
@@ -394,9 +395,9 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
394
395
  margin-bottom: 16px;
395
396
  color: var(--md-sys-color-primary);
396
397
  padding: 20px 20px 16px 20px;
397
- background: #f8f9fa;
398
- border-bottom: 1px solid #e0e0e0;
399
- border-radius: 8px 8px 0 0;
398
+ background: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
399
+ border-bottom: var(--ox-input-border);
400
+ border-radius: var(--ox-input-popup-radius) var(--ox-input-popup-radius) 0 0;
400
401
  }
401
402
 
402
403
  .help-section {
@@ -407,38 +408,38 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
407
408
  .help-section-title {
408
409
  font-weight: 600;
409
410
  margin-bottom: 8px;
410
- color: #333;
411
- font-size: 14px;
412
- border-bottom: 1px solid #e0e0e0;
411
+ color: var(--ox-input-color);
412
+ font-size: var(--ox-input-font-size);
413
+ border-bottom: var(--ox-input-border);
413
414
  padding-bottom: 4px;
414
415
  }
415
416
 
416
417
  .help-content {
417
- font-size: 14px;
418
+ font-size: var(--ox-input-font-size);
418
419
  line-height: 1.6;
419
- color: #555;
420
+ color: var(--ox-input-placeholder-color);
420
421
  padding: 4px 0;
421
422
  }
422
423
 
423
424
  .help-syntax {
424
- background: #f5f5f5;
425
- border: 1px solid #e0e0e0;
426
- border-radius: 4px;
425
+ background: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
426
+ border: var(--ox-input-border);
427
+ border-radius: var(--ox-input-radius);
427
428
  padding: 12px;
428
- font-family: 'Courier New', monospace;
429
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
429
430
  font-size: 13px;
430
- color: #333;
431
+ color: var(--ox-input-color);
431
432
  margin: 8px 0;
432
433
  }
433
434
 
434
435
  .help-example {
435
- background: #f0f8ff;
436
- border: 1px solid #c8e6c9;
437
- border-radius: 4px;
436
+ background: var(--md-sys-color-secondary-container);
437
+ border: 1px solid var(--md-sys-color-tertiary-container);
438
+ border-radius: var(--ox-input-radius);
438
439
  padding: 12px;
439
- font-family: 'Courier New', monospace;
440
+ font-family: var(--ox-formula-font-family, 'Courier New', monospace);
440
441
  font-size: 13px;
441
- color: #2e7d32;
442
+ color: var(--md-sys-color-on-tertiary-container);
442
443
  margin: 8px 0;
443
444
  }
444
445
 
@@ -447,58 +448,58 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
447
448
  }
448
449
 
449
450
  .help-parameter {
450
- background: #f8f9fa;
451
+ background: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
451
452
  border-left: 3px solid var(--md-sys-color-primary);
452
- border-radius: 4px;
453
+ border-radius: var(--ox-input-radius);
453
454
  padding: 8px 12px;
454
455
  margin-bottom: 4px;
455
456
  font-size: 13px;
456
457
  }
457
458
 
458
459
  .help-parameter-desc {
459
- color: #555;
460
+ color: var(--ox-input-placeholder-color);
460
461
  }
461
462
 
462
463
  /* Dialog specific styles */
463
464
  .help-dialog {
464
465
  border: none;
465
- border-radius: 8px;
466
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
466
+ border-radius: var(--ox-input-popup-radius);
467
+ box-shadow: var(--ox-input-shadow);
467
468
  padding: 0;
468
469
  max-width: 500px;
469
470
  max-height: 80vh;
470
471
  overflow-y: auto;
471
- background-color: white;
472
+ background-color: var(--ox-input-background);
472
473
  }
473
474
 
474
475
  .help-dialog::backdrop {
475
- background-color: rgba(0, 0, 0, 0.5);
476
+ background-color: var(--ox-input-scrim);
476
477
  }
477
478
 
478
479
  .dialog-actions {
479
480
  display: flex;
480
481
  justify-content: flex-end;
481
482
  padding: 16px 20px;
482
- border-top: 1px solid #e0e0e0;
483
- background: #f8f9fa;
483
+ border-top: var(--ox-input-border);
484
+ background: var(--ox-formula-sunken-background, var(--md-sys-color-surface-container-low, #f8f9fa));
484
485
  border-radius: 0 0 8px 8px;
485
486
  }
486
487
 
487
488
  .close-btn {
488
489
  padding: 8px 16px;
489
490
  border: 1px solid var(--md-sys-color-primary);
490
- border-radius: 4px;
491
+ border-radius: var(--ox-input-radius);
491
492
  background-color: var(--md-sys-color-primary);
492
- color: white;
493
+ color: var(--md-sys-color-on-primary);
493
494
  cursor: pointer;
494
- font-size: 14px;
495
+ font-size: var(--ox-input-font-size);
495
496
  font-weight: 500;
496
- transition: all 0.2s ease;
497
+ transition: var(--ox-input-transition);
497
498
  }
498
499
 
499
500
  .close-btn:hover {
500
- background-color: #1565c0;
501
- border-color: #1565c0;
501
+ background-color: var(--ox-input-focus-color);
502
+ border-color: var(--ox-input-focus-color);
502
503
  }
503
504
 
504
505
  .middle-align {
@@ -641,7 +642,7 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
641
642
  ${this.functions.map(func => html `
642
643
  <div class="function-button" @click=${() => this._insertFunction(func.template)}>
643
644
  <div style="font-weight: 500;">${func.name}</div>
644
- <div style="font-size: 10px; color: var(--md-sys-color-on-surface-variant);">
645
+ <div style="font-size: var(--ox-formula-font-size-tiny, 0.6875rem); color: var(--md-sys-color-on-surface-variant);">
645
646
  ${func.description}
646
647
  </div>
647
648
  ${func.help
@@ -649,7 +650,7 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
649
650
  <md-icon
650
651
  class="help-icon"
651
652
  @click=${(e) => this._showFunctionHelp(e, func)}
652
- style="position: absolute; top: 4px; right: 4px; font-size: 12px;"
653
+ style="position: absolute; top: 4px; right: 4px; font-size: var(--ox-formula-font-size-small, 0.75rem);"
653
654
  >
654
655
  help
655
656
  </md-icon>
@@ -836,13 +837,13 @@ let KpiFormulaEditor = class KpiFormulaEditor extends OxFormField {
836
837
  const dialog = document.createElement('dialog');
837
838
  dialog.style.cssText = `
838
839
  border: none;
839
- border-radius: 8px;
840
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
840
+ border-radius: var(--ox-input-popup-radius);
841
+ box-shadow: var(--ox-input-shadow);
841
842
  padding: 0;
842
843
  max-width: 500px;
843
844
  max-height: 80vh;
844
845
  overflow-y: auto;
845
- background-color: white;
846
+ background-color: var(--ox-input-background);
846
847
  `;
847
848
  const helpPopup = document.createElement('ox-input-formula-help-popup');
848
849
  helpPopup.content = content;