@descope/web-components-ui 1.0.130 → 1.0.132

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. package/dist/cjs/index.cjs.js +235 -187
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +235 -188
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/201.js +1 -1
  6. package/dist/umd/241.js +1 -1
  7. package/dist/umd/447.js +1 -1
  8. package/dist/umd/481.js +1 -1
  9. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  10. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  11. package/dist/umd/descope-button-index-js.js +1 -1
  12. package/dist/umd/descope-combo-box-index-js.js +1 -1
  13. package/dist/umd/descope-email-field-index-js.js +1 -1
  14. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  15. package/dist/umd/descope-number-field-index-js.js +1 -1
  16. package/dist/umd/descope-passcode-index-js.js +1 -1
  17. package/dist/umd/descope-phone-field-index-js.js +1 -1
  18. package/dist/umd/descope-text-area-index-js.js +1 -1
  19. package/dist/umd/descope-text-field-index-js.js +1 -1
  20. package/dist/umd/descope-text-index-js.js +1 -1
  21. package/dist/umd/index.js +1 -1
  22. package/package.json +1 -1
  23. package/src/components/boolean-fields/descope-checkbox/CheckboxClass.js +11 -12
  24. package/src/components/boolean-fields/descope-switch-toggle/SwitchToggleClass.js +8 -9
  25. package/src/components/descope-button/ButtonClass.js +4 -5
  26. package/src/components/descope-combo-box/ComboBoxClass.js +24 -8
  27. package/src/components/descope-email-field/EmailFieldClass.js +2 -2
  28. package/src/components/descope-new-password/NewPasswordClass.js +5 -5
  29. package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +0 -1
  30. package/src/components/descope-number-field/NumberFieldClass.js +2 -2
  31. package/src/components/descope-passcode/PasscodeClass.js +5 -1
  32. package/src/components/descope-password/PasswordClass.js +22 -9
  33. package/src/components/descope-phone-field/PhoneFieldClass.js +10 -15
  34. package/src/components/descope-text/TextClass.js +1 -1
  35. package/src/components/descope-text-area/TextAreaClass.js +9 -10
  36. package/src/components/descope-text-field/TextFieldClass.js +2 -3
  37. package/src/components/descope-text-field/textFieldMappings.js +14 -21
  38. package/src/helpers/themeHelpers/resetHelpers.js +22 -6
  39. package/src/mixins/normalizeBooleanAttributesMixin.js +2 -1
  40. package/src/theme/components/comboBox.js +3 -0
  41. package/src/theme/components/emailField.js +2 -0
  42. package/src/theme/components/inputWrapper.js +5 -1
  43. package/src/theme/components/newPassword.js +1 -0
  44. package/src/theme/components/numberField.js +3 -1
  45. package/src/theme/components/passcode.js +1 -0
  46. package/src/theme/components/password.js +3 -1
  47. package/src/theme/components/phoneField.js +1 -1
  48. package/src/theme/components/textArea.js +1 -0
  49. package/src/theme/components/textField.js +2 -0
package/dist/index.esm.js CHANGED
@@ -138,6 +138,107 @@ const forwardProps = (src, target, props = []) => {
138
138
  Object.defineProperties(target, config);
139
139
  };
140
140
 
141
+ const resetInputOverrides = (name, cssVarList) => `
142
+ ${resetInputContainer(name)}
143
+ ${resetInputCursor(name)}
144
+ ${resetInputPlaceholder(name)}
145
+ ${resetInputField(name)}
146
+ ${resetInputAutoFill(name, cssVarList)}
147
+ ${resetInputFieldInvalidBackgroundColor(name)}
148
+ ${resetInitialHeight(name)}
149
+ ${resetInputElement(name)}
150
+ ${resetInputFieldunderlayingBorder(name)}
151
+ `;
152
+
153
+ const useHostExternalPadding = (cssVarList) => `
154
+ :host {
155
+ padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))
156
+ }
157
+ `;
158
+
159
+ const resetInputFieldunderlayingBorder = (name) => `
160
+ ${name}::part(input-field)::after {
161
+ border: none;
162
+ }
163
+ `;
164
+
165
+ const resetInitialHeight = (name) => `
166
+ ${name}::before {
167
+ height: unset;
168
+ }
169
+ `;
170
+
171
+ const resetInputElement = (name) => `
172
+ ${name} > input {
173
+ -webkit-mask-image: none;
174
+ min-height: 0;
175
+ box-sizing: border-box;
176
+ }
177
+ `;
178
+
179
+ const resetInputContainer = (name) => `
180
+ ${name} {
181
+ margin: 0;
182
+ padding: 0;
183
+ width: 100%;
184
+ height: 100%;
185
+ box-sizing: border-box;
186
+ }
187
+ `;
188
+
189
+ const resetInputField = (name) => `
190
+ ${name}::part(input-field) {
191
+ overflow: hidden;
192
+ padding: 0;
193
+ box-shadow: none;
194
+ }
195
+ `;
196
+
197
+ const resetInputCursor = (name) => `
198
+ ${name} > label,
199
+ ${name}::part(label),
200
+ ${name}::part(required-indicator) {
201
+ cursor: pointer;
202
+ }
203
+ `;
204
+
205
+ const resetInputPlaceholder = (name, ele = 'input') => `
206
+ ${name}[disabled] > ${ele}:placeholder-shown,
207
+ ${name}[readonly] > ${ele}:placeholder-shown {
208
+ opacity: 1;
209
+ }
210
+ `;
211
+
212
+ const resetInputAutoFill = (name, cssVarList) => `
213
+ ${name} input:-webkit-autofill,
214
+ ${name} input:-webkit-autofill::first-line,
215
+ ${name} input:-webkit-autofill:hover,
216
+ ${name} input:-webkit-autofill:active,
217
+ ${name} input:-webkit-autofill:focus {
218
+ -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});
219
+ box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;
220
+ }
221
+ `;
222
+
223
+ const resetInputFieldDefaultWidth = () => `
224
+ :host {
225
+ --vaadin-field-default-width: auto;
226
+ box-sizing: border-box;
227
+ }
228
+ `;
229
+
230
+ const resetInputReadonlyStyle = (name) => `
231
+ ${name}::part(input-field)::after {
232
+ opacity: 0;
233
+ }
234
+ `;
235
+
236
+ const resetInputFieldInvalidBackgroundColor = (name) => `
237
+ ${name}::part(input-field)::after {
238
+ background: none;
239
+ }
240
+ `;
241
+
141
242
  class ComponentsThemeManager {
142
243
  static mountOnPropName = 'DescopeThemeManager';
143
244
 
@@ -527,7 +628,8 @@ const booleanAttributesList = [
527
628
  'has-error-message',
528
629
  'focus-ring',
529
630
  'opened',
530
- 'active'
631
+ 'active',
632
+ 'password-visible'
531
633
  ];
532
634
 
533
635
  const isBooleanAttribute = (attr) => {
@@ -1164,8 +1266,8 @@ const ButtonClass = compose(
1164
1266
  createStyleMixin({
1165
1267
  mappings: {
1166
1268
  hostWidth: { ...host$c, property: 'width' },
1167
- fontSize: { property: 'font-size' },
1168
- fontFamily: { property: 'font-family' },
1269
+ fontSize: {},
1270
+ fontFamily: {},
1169
1271
 
1170
1272
  cursor: {},
1171
1273
  backgroundColor: {},
@@ -1206,9 +1308,7 @@ const ButtonClass = compose(
1206
1308
  ${iconStyles}
1207
1309
  ${loadingIndicatorStyles}
1208
1310
  ${editorOverrides}
1209
- :host {
1210
- padding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}))
1211
- }
1311
+ ${useHostExternalPadding(ButtonClass.cssVarList)}
1212
1312
  `,
1213
1313
  excludeAttrsSync: ['tabindex'],
1214
1314
  componentName: componentName$o
@@ -1351,91 +1451,6 @@ const booleanFieldMixin = (superclass) =>
1351
1451
  }
1352
1452
  };
1353
1453
 
1354
- const resetInputOverrides = (name, cssVarList) => `
1355
- ${resetInputContainer(name)}
1356
- ${resetInputCursor(name)}
1357
- ${resetInputPlaceholder(name)}
1358
- ${resetInputField(name)}
1359
- ${resetInputAutoFill(name, cssVarList)}
1360
- ${resetInputFieldInvalidBackgroundColor(name)}
1361
-
1362
- ${name}::before {
1363
- height: unset;
1364
- }
1365
-
1366
- ${name} > input {
1367
- -webkit-mask-image: none;
1368
- min-height: 0;
1369
- }
1370
-
1371
- ${name}::part(input-field)::after {
1372
- opacity: 0 !important;
1373
- }
1374
- `;
1375
-
1376
- const resetInputContainer = (name) => `
1377
- ${name} {
1378
- margin: 0;
1379
- padding: 0;
1380
- width: 100%;
1381
- height: 100%;
1382
- box-sizing: border-box;
1383
- }
1384
- `;
1385
-
1386
- const resetInputField = (name) => `
1387
- ${name}::part(input-field) {
1388
- overflow: hidden;
1389
- padding: 0;
1390
- box-shadow: none;
1391
- }
1392
- `;
1393
-
1394
- const resetInputCursor = (name) => `
1395
- ${name} > label,
1396
- ${name}::part(label),
1397
- ${name}::part(required-indicator) {
1398
- cursor: pointer;
1399
- }
1400
- `;
1401
-
1402
- const resetInputPlaceholder = (name, ele = 'input') => `
1403
- ${name}[disabled] > ${ele}:placeholder-shown,
1404
- ${name}[readonly] > ${ele}:placeholder-shown {
1405
- opacity: 1;
1406
- }
1407
- `;
1408
-
1409
- const resetInputAutoFill = (name, cssVarList) => `
1410
- ${name} input:-webkit-autofill,
1411
- ${name} input:-webkit-autofill::first-line,
1412
- ${name} input:-webkit-autofill:hover,
1413
- ${name} input:-webkit-autofill:active,
1414
- ${name} input:-webkit-autofill:focus {
1415
- -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});
1416
- box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;
1417
- }
1418
- `;
1419
-
1420
- const resetInputFieldDefaultWidth = () => `
1421
- :host {
1422
- --vaadin-field-default-width: auto;
1423
- box-sizing: border-box;
1424
- }
1425
- `;
1426
-
1427
- const resetInputReadonlyStyle = (name) => `
1428
- ${name}::part(input-field)::after {
1429
- opacity: 0;
1430
- }
1431
- `;
1432
-
1433
- const resetInputFieldInvalidBackgroundColor = (name) => `
1434
- ${name}::part(input-field)::after {
1435
- background: none;
1436
- }
1437
- `;
1438
-
1439
1454
  var commonStyles = `
1440
1455
  :host {
1441
1456
  display: inline-flex;
@@ -1532,16 +1547,16 @@ const CheckboxClass = compose(
1532
1547
  hostWidth: { ...host$b, property: 'width' },
1533
1548
 
1534
1549
  fontSize: [
1535
- { ...host$b, property: 'font-size' },
1536
- { ...checkboxElement, property: 'font-size' },
1537
- { ...label$8, property: 'font-size' },
1538
- { ...checkboxHiddenLabel$1, property: 'font-size' }
1550
+ host$b,
1551
+ checkboxElement,
1552
+ label$8,
1553
+ checkboxHiddenLabel$1,
1539
1554
  ],
1540
1555
  fontFamily: [
1541
- { ...label$8, property: 'font-family' },
1542
- { ...checkboxHiddenLabel$1, property: 'font-family' },
1543
- { ...helperText$7, property: 'font-family' },
1544
- { ...errorMessage$7, property: 'font-family' }
1556
+ label$8,
1557
+ checkboxHiddenLabel$1,
1558
+ helperText$7,
1559
+ errorMessage$7,
1545
1560
  ],
1546
1561
 
1547
1562
  labelTextColor: [
@@ -1585,10 +1600,8 @@ const CheckboxClass = compose(
1585
1600
  slots: [],
1586
1601
  wrappedEleName: 'vaadin-text-field',
1587
1602
  style: () => `
1588
- ${commonStyles}
1589
- vaadin-text-field {
1590
- padding: calc(var(${CheckboxClass.cssVarList.inputOutlineWidth}) + var(${CheckboxClass.cssVarList.inputOutlineOffset}));
1591
- }
1603
+ ${commonStyles}
1604
+ ${useHostExternalPadding(CheckboxClass.cssVarList)}
1592
1605
  `,
1593
1606
  excludeAttrsSync: ['tabindex'],
1594
1607
  componentName: componentName$m
@@ -1628,14 +1641,14 @@ const SwitchToggleClass = compose(
1628
1641
  mappings: {
1629
1642
  hostWidth: { ...host$a, property: 'width' },
1630
1643
  fontSize: [
1631
- { ...component, property: 'font-size' },
1632
- { ...label$7, property: 'font-size' },
1633
- { ...checkboxHiddenLabel, property: 'font-size' },
1644
+ component,
1645
+ label$7,
1646
+ checkboxHiddenLabel,
1634
1647
  ],
1635
1648
  fontFamily: [
1636
- { ...label$7, property: 'font-family' },
1637
- { ...helperText$6, property: 'font-family' },
1638
- { ...errorMessage$6, property: 'font-family' }
1649
+ label$7,
1650
+ helperText$6,
1651
+ errorMessage$6,
1639
1652
  ],
1640
1653
  trackBorderWidth: { ...track, property: 'border-width' },
1641
1654
  trackBorderStyle: { ...track, property: 'border-style' },
@@ -1694,9 +1707,7 @@ const SwitchToggleClass = compose(
1694
1707
  wrappedEleName: 'vaadin-text-field',
1695
1708
  style: () => `
1696
1709
  ${commonStyles}
1697
- :host {
1698
- padding: calc(var(${SwitchToggleClass.cssVarList.inputOutlineWidth}) + var(${SwitchToggleClass.cssVarList.inputOutlineOffset}));
1699
- }
1710
+ ${useHostExternalPadding(SwitchToggleClass.cssVarList)}
1700
1711
  vaadin-text-field::part(label) {
1701
1712
  left: calc(var(${SwitchToggleClass.cssVarList.trackWidth}) + var(${SwitchToggleClass.cssVarList.trackBorderWidth}) * 2);
1702
1713
  }
@@ -2027,7 +2038,7 @@ const TextClass = compose(
2027
2038
  createStyleMixin({
2028
2039
  mappings: {
2029
2040
  hostWidth: { selector: () => ':host', property: 'width' },
2030
- fontSize: { property: 'font-size' },
2041
+ fontSize: {},
2031
2042
  textColor: { property: 'color' },
2032
2043
  textLineHeight: { property: 'line-height' },
2033
2044
  textLetterSpacing: { property: 'letter-spacing' },
@@ -2057,7 +2068,6 @@ const {
2057
2068
  requiredIndicator: requiredIndicator$5,
2058
2069
  inputField: inputField$4,
2059
2070
  input,
2060
- readOnlyInput,
2061
2071
  helperText: helperText$5,
2062
2072
  errorMessage: errorMessage$5
2063
2073
  } = {
@@ -2067,7 +2077,6 @@ const {
2067
2077
  placeholder: { selector: '> input:placeholder-shown' },
2068
2078
  inputField: { selector: '::part(input-field)' },
2069
2079
  input: { selector: 'input' },
2070
- readOnlyInput: { selector: '[readonly]::part(input-field)::after' },
2071
2080
  helperText: { selector: '::part(helper-text)' },
2072
2081
  errorMessage: { selector: '::part(error-message)' }
2073
2082
  };
@@ -2075,17 +2084,18 @@ const {
2075
2084
  var textFieldMappings = {
2076
2085
  // we apply font-size also on the host so we can set its width with em
2077
2086
  fontSize: [
2078
- { property: 'font-size' },
2079
- { ...host$7, property: 'font-size' }
2087
+ {},
2088
+ host$7,
2080
2089
  ],
2081
2090
  fontFamily: [
2082
- { ...label$6, property: 'font-family' },
2083
- { ...inputField$4, property: 'font-family' },
2084
- { ...helperText$5, property: 'font-family' },
2085
- { ...errorMessage$5, property: 'font-family' }
2091
+ label$6,
2092
+ inputField$4,
2093
+ helperText$5,
2094
+ errorMessage$5,
2086
2095
  ],
2087
2096
 
2088
2097
  hostWidth: { ...host$7, property: 'width' },
2098
+ hostMinWidth: { ...host$7, property: 'min-width' },
2089
2099
 
2090
2100
  inputBackgroundColor: { ...inputField$4, property: 'background-color' },
2091
2101
 
@@ -2099,22 +2109,16 @@ var textFieldMappings = {
2099
2109
 
2100
2110
  labelRequiredIndicator: { ...requiredIndicator$5, property: 'content' },
2101
2111
 
2102
- inputBorderColor: [
2103
- { ...inputField$4, property: 'border-color' },
2104
- { ...readOnlyInput, property: 'border-color' }
2105
- ],
2106
- inputBorderWidth: [
2107
- { ...inputField$4, property: 'border-width' },
2108
- { ...readOnlyInput, property: 'border-width' }
2109
- ],
2110
- inputBorderStyle: [
2111
- { ...inputField$4, property: 'border-style' },
2112
- { ...readOnlyInput, property: 'border-style' }
2113
- ],
2112
+ inputBorderColor: { ...inputField$4, property: 'border-color' },
2113
+ inputBorderWidth: { ...inputField$4, property: 'border-width' },
2114
+ inputBorderStyle: { ...inputField$4, property: 'border-style' },
2114
2115
  inputBorderRadius: { ...inputField$4, property: 'border-radius' },
2115
2116
 
2116
2117
  inputHeight: { ...inputField$4, property: 'height' },
2117
- inputPadding: { ...inputField$4, property: 'padding' },
2118
+ inputHorizontalPadding: [
2119
+ { ...input, property: 'padding-left' },
2120
+ { ...input, property: 'padding-right' }
2121
+ ],
2118
2122
 
2119
2123
  inputOutlineColor: { ...inputField$4, property: 'outline-color' },
2120
2124
  inputOutlineStyle: { ...inputField$4, property: 'outline-style' },
@@ -2143,9 +2147,9 @@ const EmailFieldClass = compose(
2143
2147
  :host {
2144
2148
  display: inline-block;
2145
2149
  max-width: 100%;
2146
- min-width: 10em;
2147
2150
  padding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${EmailFieldClass.cssVarList.inputOutlineOffset}))
2148
2151
  }
2152
+ ${useHostExternalPadding(EmailFieldClass.cssVarList)}
2149
2153
  ${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}
2150
2154
  `,
2151
2155
  excludeAttrsSync: ['tabindex'],
@@ -2288,9 +2292,9 @@ const NumberFieldClass = compose(
2288
2292
  :host {
2289
2293
  display: inline-block;
2290
2294
  max-width: 100%;
2291
- min-width: 10em;
2292
2295
  padding: calc(var(${NumberFieldClass.cssVarList.inputOutlineWidth}) + var(${NumberFieldClass.cssVarList.inputOutlineOffset}));
2293
2296
  }
2297
+ ${useHostExternalPadding(NumberFieldClass.cssVarList)}
2294
2298
  ${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}
2295
2299
  `,
2296
2300
  excludeAttrsSync: ['tabindex'],
@@ -2539,10 +2543,9 @@ const TextFieldClass = compose(
2539
2543
  :host {
2540
2544
  display: inline-block;
2541
2545
  max-width: 100%;
2542
- min-width: 10em;
2543
2546
  padding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${TextFieldClass.cssVarList.inputOutlineOffset}));
2544
2547
  }
2545
- ${resetInputFieldDefaultWidth()}
2548
+ ${useHostExternalPadding(TextFieldClass.cssVarList)}
2546
2549
  ${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}
2547
2550
  `,
2548
2551
  excludeAttrsSync: ['tabindex'],
@@ -2632,7 +2635,11 @@ const PasscodeClass = compose(
2632
2635
  selector: TextFieldClass.componentName,
2633
2636
  property: textVars$1.inputValueTextColor
2634
2637
  },
2635
- digitPadding: { ...digitField, property: textVars$1.inputPadding },
2638
+ digitSize: [
2639
+ { ...digitField, property: 'height' },
2640
+ { ...digitField, property: 'width' }
2641
+ ],
2642
+ digitPadding: { ...digitField, property: textVars$1.inputHorizontalPadding },
2636
2643
  digitTextAlign: { ...digitField, property: textVars$1.inputTextAlign },
2637
2644
  digitCaretTextColor: { ...digitField, property: textVars$1.inputCaretTextColor },
2638
2645
  digitSpacing: { ...internalWrapper, property: 'gap' },
@@ -2764,7 +2771,7 @@ const componentName$8 = getComponentName('password');
2764
2771
  const {
2765
2772
  host: host$4,
2766
2773
  inputField: inputField$3,
2767
- inputElement,
2774
+ inputElement: inputElement$1,
2768
2775
  inputElementPlaceholder,
2769
2776
  revealButtonContainer,
2770
2777
  revealButtonIcon,
@@ -2789,9 +2796,10 @@ const PasswordClass = compose(
2789
2796
  createStyleMixin({
2790
2797
  mappings: {
2791
2798
  hostWidth: { ...host$4, property: 'width' },
2799
+ hostMinWidth: { ...host$4, property: 'min-width' },
2792
2800
  fontSize: [
2793
- { property: 'font-size' },
2794
- { ...host$4, property: 'font-size' }
2801
+ {},
2802
+ host$4,
2795
2803
  ],
2796
2804
  fontFamily: [
2797
2805
  label$4,
@@ -2800,6 +2808,10 @@ const PasswordClass = compose(
2800
2808
  helperText$4
2801
2809
  ],
2802
2810
  inputHeight: { ...inputField$3, property: 'height' },
2811
+ inputHorizontalPadding: [
2812
+ { ...inputElement$1, property: 'padding-left' },
2813
+ { ...inputElement$1, property: 'padding-right' }
2814
+ ],
2803
2815
  inputBackgroundColor: { ...inputField$3, property: 'background-color' },
2804
2816
 
2805
2817
  inputBorderStyle: { ...inputField$3, property: 'border-style' },
@@ -2819,12 +2831,17 @@ const PasswordClass = compose(
2819
2831
  labelRequiredIndicator: { ...requiredIndicator$3, property: 'content' },
2820
2832
 
2821
2833
  inputValueTextColor: [
2822
- { ...inputElement, property: 'color' },
2834
+ { ...inputElement$1, property: 'color' },
2823
2835
  { ...revealButtonIcon, property: 'color' }
2824
2836
  ],
2825
2837
  inputPlaceholderTextColor: { ...inputElementPlaceholder, property: 'color' },
2826
2838
 
2827
- revealButtonOffset: { ...revealButtonContainer, property: 'margin' }
2839
+ revealButtonOffset: [
2840
+ { ...revealButtonContainer, property: 'margin-right' },
2841
+ { ...revealButtonContainer, property: 'margin-left' }
2842
+ ],
2843
+ revealButtonSize: { ...revealButtonContainer, property: 'font-size' },
2844
+
2828
2845
  }
2829
2846
  }),
2830
2847
  draggableMixin,
@@ -2838,17 +2855,22 @@ const PasswordClass = compose(
2838
2855
  style: () => `
2839
2856
  :host {
2840
2857
  display: inline-block;
2841
- min-width: 10em;
2842
2858
  max-width: 100%;
2843
- box-sizing: border-box;
2844
- padding: calc(var(${PasswordClass.cssVarList.inputOutlineWidth}) + var(${PasswordClass.cssVarList.inputOutlineOffset}));
2859
+ min-width: 10em;
2845
2860
  }
2861
+ ${useHostExternalPadding(PasswordClass.cssVarList)}
2862
+ ${resetInputCursor('vaadin-password-field')}
2863
+
2846
2864
  vaadin-password-field {
2847
2865
  width: 100%;
2848
2866
  box-sizing: border-box;
2849
2867
  padding: 0;
2850
2868
  }
2869
+ vaadin-password-field > input {
2870
+ box-sizing: border-box;
2871
+ }
2851
2872
  vaadin-password-field::part(input-field) {
2873
+ box-sizing: border-box;
2852
2874
  padding: 0;
2853
2875
  }
2854
2876
  vaadin-password-field[focus-ring]::part(input-field) {
@@ -2871,8 +2893,6 @@ const PasswordClass = compose(
2871
2893
  cursor: pointer;
2872
2894
  }
2873
2895
 
2874
- ${resetInputCursor('vaadin-password-field')}
2875
-
2876
2896
  [readonly] vaadin-password-field-button {
2877
2897
  pointer-events: none;
2878
2898
  }
@@ -2914,15 +2934,16 @@ const TextAreaClass = compose(
2914
2934
  createStyleMixin({
2915
2935
  mappings: {
2916
2936
  hostWidth: { ...host$3, property: 'width' },
2937
+ hostMinWidth: { ...host$3, property: 'min-width' },
2917
2938
  fontSize: [
2918
- { ...host$3, property: 'font-size' },
2919
- { ...textArea$2, property: 'font-size' }
2939
+ host$3,
2940
+ textArea$2,
2920
2941
  ],
2921
2942
  fontFamily: [
2922
- { ...label$3, property: 'font-family' },
2923
- { ...inputField$2, property: 'font-family' },
2924
- { ...helperText$3, property: 'font-family' },
2925
- { ...errorMessage$3, property: 'font-family' }
2943
+ label$3,
2944
+ inputField$2,
2945
+ helperText$3,
2946
+ errorMessage$3,
2926
2947
  ],
2927
2948
  labelTextColor: [
2928
2949
  { ...label$3, property: 'color' },
@@ -2953,11 +2974,9 @@ const TextAreaClass = compose(
2953
2974
  style: () => `
2954
2975
  :host {
2955
2976
  display: inline-block;
2956
- min-width: 10em;
2957
2977
  max-width: 100%;
2958
- padding: calc(var(${TextAreaClass.cssVarList.inputOutlineWidth}) + var(${TextAreaClass.cssVarList.inputOutlineOffset}));
2959
2978
  }
2960
-
2979
+ ${useHostExternalPadding(TextAreaClass.cssVarList)}
2961
2980
  ${resetInputContainer('vaadin-text-area')}
2962
2981
  ${resetInputField('vaadin-text-area')}
2963
2982
  ${resetInputPlaceholder('vaadin-text-area', 'textarea')}
@@ -3071,6 +3090,7 @@ const ComboBoxMixin = (superclass) => class ComboBoxMixinClass extends superclas
3071
3090
  const {
3072
3091
  host: host$2,
3073
3092
  inputField: inputField$1,
3093
+ inputElement,
3074
3094
  placeholder,
3075
3095
  toggle,
3076
3096
  label: label$2,
@@ -3080,6 +3100,7 @@ const {
3080
3100
  } = {
3081
3101
  host: { selector: () => ':host' },
3082
3102
  inputField: { selector: '::part(input-field)' },
3103
+ inputElement: { selector: 'input' },
3083
3104
  placeholder: { selector: '> input:placeholder-shown' },
3084
3105
  toggle: { selector: '::part(toggle-button)' },
3085
3106
  label: { selector: '::part(label)' },
@@ -3099,8 +3120,8 @@ const ComboBoxClass = compose(
3099
3120
  hostWidth: { ...host$2, property: 'width' },
3100
3121
  // we apply font-size also on the host so we can set its width with em
3101
3122
  fontSize: [
3102
- { property: 'font-size' },
3103
- { ...host$2, property: 'font-size' }
3123
+ {},
3124
+ host$2,
3104
3125
  ],
3105
3126
  fontFamily: [
3106
3127
  label$2,
@@ -3124,10 +3145,19 @@ const ComboBoxClass = compose(
3124
3145
  inputPlaceholderTextColor: { ...placeholder, property: 'color' },
3125
3146
  inputDropdownButtonCursor: { ...toggle, property: 'cursor' },
3126
3147
  inputDropdownButtonColor: { ...toggle, property: 'color' },
3148
+ inputDropdownButtonSize: { ...toggle, property: 'font-size' },
3149
+ inputDropdownButtonOffset: [
3150
+ { ...toggle, property: 'margin-right' },
3151
+ { ...toggle, property: 'margin-left' },
3152
+ ],
3127
3153
  inputOutlineColor: { ...inputField$1, property: 'outline-color' },
3128
3154
  inputOutlineWidth: { ...inputField$1, property: 'outline-width' },
3129
3155
  inputOutlineStyle: { ...inputField$1, property: 'outline-style' },
3130
3156
  inputOutlineOffset: { ...inputField$1, property: 'outline-offset' },
3157
+ inputHorizontalPadding: [
3158
+ { ...inputElement, property: 'padding-left' },
3159
+ { ...inputElement, property: 'padding-right' }
3160
+ ],
3131
3161
 
3132
3162
  // we need to use the variables from the portal mixin
3133
3163
  // so we need to use an arrow function on the selector
@@ -3165,24 +3195,29 @@ const ComboBoxClass = compose(
3165
3195
  display: inline-flex;
3166
3196
  box-sizing: border-box;
3167
3197
  -webkit-mask-image: none;
3168
- padding: calc(var(${ComboBoxClass.cssVarList.inputOutlineWidth}) + var(${ComboBoxClass.cssVarList.inputOutlineOffset}))
3169
3198
  }
3199
+ ${useHostExternalPadding(ComboBoxClass.cssVarList)}
3200
+ ${resetInputReadonlyStyle('vaadin-combo-box')}
3201
+ ${resetInputPlaceholder('vaadin-combo-box')}
3202
+ ${resetInputCursor('vaadin-combo-box')}
3203
+
3170
3204
  vaadin-combo-box {
3171
3205
  padding: 0;
3172
3206
  width: 100%;
3173
3207
  }
3208
+ vaadin-combo-box::before {
3209
+ height: initial;
3210
+ }
3174
3211
  vaadin-combo-box [slot="input"] {
3175
3212
  -webkit-mask-image: none;
3176
3213
  min-height: 0;
3214
+ box-sizing: border-box;
3177
3215
  }
3178
3216
 
3179
3217
  vaadin-combo-box::part(input-field) {
3180
3218
  padding: 0;
3219
+ box-shadow: none;
3181
3220
  }
3182
-
3183
- ${resetInputReadonlyStyle('vaadin-combo-box')}
3184
- ${resetInputPlaceholder('vaadin-combo-box')}
3185
- ${resetInputCursor('vaadin-combo-box')}
3186
3221
  `,
3187
3222
  // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property
3188
3223
  // with the same name. Including it will cause Vaadin to calculate NaN size,
@@ -4706,8 +4741,8 @@ const PhoneFieldClass = compose(
4706
4741
  createStyleMixin({
4707
4742
  mappings: {
4708
4743
  fontSize: [
4709
- { ...host$1, property: 'font-size' },
4710
- { ...inputField, property: 'font-size' },
4744
+ host$1,
4745
+ inputField,
4711
4746
  {
4712
4747
  selector: TextFieldClass.componentName,
4713
4748
  property: TextFieldClass.cssVarList.fontSize
@@ -4746,8 +4781,6 @@ const PhoneFieldClass = compose(
4746
4781
  ],
4747
4782
  inputBorderRadius: { ...inputField, property: 'border-radius' },
4748
4783
 
4749
- inputHeight: { ...inputField, property: 'height' },
4750
-
4751
4784
  countryCodeInputWidth: { ...countryCodeInput, property: comboVars.hostWidth },
4752
4785
  countryCodeDropdownWidth: {
4753
4786
  ...countryCodeInput,
@@ -4788,12 +4821,15 @@ const PhoneFieldClass = compose(
4788
4821
  wrappedEleName: 'vaadin-text-field',
4789
4822
  style: () => `
4790
4823
  :host {
4791
- display: inline-block;
4824
+ display: inline-flex;
4792
4825
  max-width: 100%;
4793
4826
  min-width: 15em;
4794
4827
  box-sizing: border-box;
4795
- padding: calc(var(${PhoneFieldClass.cssVarList.inputOutlineWidth}) + var(${PhoneFieldClass.cssVarList.inputOutlineOffset}))
4796
4828
  }
4829
+ ${useHostExternalPadding(PhoneFieldClass.cssVarList)}
4830
+ ${resetInputCursor('vaadin-text-field')}
4831
+ ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}
4832
+
4797
4833
  div {
4798
4834
  display: inline-flex;
4799
4835
  }
@@ -4832,7 +4868,7 @@ const PhoneFieldClass = compose(
4832
4868
  }
4833
4869
  descope-combo-box {
4834
4870
  flex-shrink: 0;
4835
- height: 100%;
4871
+ min-width: 5.75em;
4836
4872
  ${comboVars.inputOutlineWidth}: 0;
4837
4873
  ${comboVars.inputOutlineOffset}: 0;
4838
4874
  ${comboVars.inputBorderWidth}: 0;
@@ -4840,9 +4876,8 @@ const PhoneFieldClass = compose(
4840
4876
  }
4841
4877
  descope-text-field {
4842
4878
  flex-grow: 1;
4843
- min-height: 0;
4844
- height: 100%;
4845
4879
  ${textVars.inputOutlineWidth}: 0;
4880
+ ${comboVars.inputOutlineOffset}: 0;
4846
4881
  ${textVars.inputBorderWidth}: 0;
4847
4882
  ${textVars.inputBorderRadius}: 0;
4848
4883
  }
@@ -4852,11 +4887,6 @@ const PhoneFieldClass = compose(
4852
4887
  vaadin-text-field::part(input-field)::after {
4853
4888
  border: none;
4854
4889
  }
4855
-
4856
- ${resetInputFieldDefaultWidth()}
4857
- ${resetInputCursor('vaadin-text-field')}
4858
- ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}
4859
-
4860
4890
  `,
4861
4891
  excludeAttrsSync: ['tabindex'],
4862
4892
  componentName: componentName$3
@@ -4930,6 +4960,7 @@ const NewPasswordClass = compose(
4930
4960
  mappings: {
4931
4961
  fontSize: [
4932
4962
  host,
4963
+ {},
4933
4964
  {
4934
4965
  selector: PasswordClass.componentName,
4935
4966
  property: PasswordClass.cssVarList.fontSize
@@ -4941,6 +4972,7 @@ const NewPasswordClass = compose(
4941
4972
  helperText
4942
4973
  ],
4943
4974
  hostWidth: { ...host, property: 'width' },
4975
+ hostMinWidth: { ...host, property: 'min-width' },
4944
4976
  inputsRequiredIndicator: { ...host, property: 'content' },
4945
4977
  spaceBetweenInputs: { ...internalInputsWrapper, property: 'gap' },
4946
4978
  }
@@ -4956,10 +4988,9 @@ const NewPasswordClass = compose(
4956
4988
  :host {
4957
4989
  display: inline-block;
4958
4990
  max-width: 100%;
4959
- min-width: 10em;
4960
4991
  box-sizing: border-box;
4961
4992
  }
4962
- ${resetInputFieldDefaultWidth()}
4993
+ ${useHostExternalPadding(PasswordClass.cssVarList)}
4963
4994
  vaadin-text-field {
4964
4995
  padding: 0;
4965
4996
  width: 100%;
@@ -4968,7 +4999,6 @@ const NewPasswordClass = compose(
4968
4999
  vaadin-text-field::part(input-field) {
4969
5000
  min-height: 0;
4970
5001
  background: transparent;
4971
- overflow: hidden;
4972
5002
  box-shadow: none;
4973
5003
  padding: 0;
4974
5004
  }
@@ -4987,7 +5017,7 @@ const NewPasswordClass = compose(
4987
5017
  width: 100%;
4988
5018
  height: 100%;
4989
5019
  display: flex;
4990
- flex-direction: column;
5020
+ flex-direction: column;
4991
5021
  }
4992
5022
  descope-password {
4993
5023
  display: block;
@@ -5018,7 +5048,6 @@ const commonAttrs = [
5018
5048
  'invalid',
5019
5049
  'readonly',
5020
5050
  'draggable'
5021
-
5022
5051
  ];
5023
5052
 
5024
5053
  const inputRelatedAttrs = [].concat(commonAttrs, passwordInputAttrs, confirmInputAttrs);
@@ -5652,7 +5681,11 @@ const [theme$1, refs, vars$k] = createHelperVars({
5652
5681
  outlineColor: 'transparent',
5653
5682
  outlineOffset: '0px', // we need to keep the px unit even for 0 value, as this var is used for calc in different component classes
5654
5683
 
5655
- inputHeight: '2em',
5684
+ minWidth: '10em',
5685
+ toggleButtonSize: '1.5em',
5686
+ inputHeight: '3em',
5687
+ horizontalPadding: '0.5em',
5688
+ verticalPadding: '0.5em',
5656
5689
 
5657
5690
  backgroundColor: globalRefs$b.colors.surface.light,
5658
5691
 
@@ -5704,6 +5737,7 @@ const vars$j = TextFieldClass.cssVarList;
5704
5737
 
5705
5738
  const textField = ({
5706
5739
  [vars$j.hostWidth]: refs.width,
5740
+ [vars$j.hostMinWidth]: refs.minWidth,
5707
5741
  [vars$j.fontSize]: refs.fontSize,
5708
5742
  [vars$j.fontFamily]: refs.fontFamily,
5709
5743
  [vars$j.labelTextColor]: refs.labelTextColor,
@@ -5720,6 +5754,7 @@ const textField = ({
5720
5754
  [vars$j.inputOutlineOffset]: refs.outlineOffset,
5721
5755
  [vars$j.inputBackgroundColor]: refs.backgroundColor,
5722
5756
  [vars$j.inputHeight]: refs.inputHeight,
5757
+ [vars$j.inputHorizontalPadding]: refs.horizontalPadding
5723
5758
  });
5724
5759
 
5725
5760
  var textField$1 = /*#__PURE__*/Object.freeze({
@@ -5737,6 +5772,7 @@ const password = {
5737
5772
  [vars$i.fontSize]: refs.fontSize,
5738
5773
  [vars$i.fontFamily]: refs.fontFamily,
5739
5774
  [vars$i.labelTextColor]: refs.labelTextColor,
5775
+ [vars$i.inputHorizontalPadding]: refs.horizontalPadding,
5740
5776
  [vars$i.inputHeight]: refs.inputHeight,
5741
5777
  [vars$i.inputBackgroundColor]: refs.backgroundColor,
5742
5778
  [vars$i.labelRequiredIndicator]: refs.requiredIndicator,
@@ -5750,7 +5786,8 @@ const password = {
5750
5786
  [vars$i.inputOutlineStyle]: refs.outlineStyle,
5751
5787
  [vars$i.inputOutlineColor]: refs.outlineColor,
5752
5788
  [vars$i.inputOutlineOffset]: refs.outlineOffset,
5753
- [vars$i.revealButtonOffset]: globalRefs$a.spacing.md
5789
+ [vars$i.revealButtonOffset]: globalRefs$a.spacing.md,
5790
+ [vars$i.revealButtonSize]: refs.toggleButtonSize
5754
5791
  };
5755
5792
 
5756
5793
  var password$1 = /*#__PURE__*/Object.freeze({
@@ -5763,6 +5800,7 @@ const vars$h = NumberFieldClass.cssVarList;
5763
5800
 
5764
5801
  const numberField = {
5765
5802
  [vars$h.hostWidth]: refs.width,
5803
+ [vars$h.hostMinWidth]: refs.minWidth,
5766
5804
  [vars$h.fontSize]: refs.fontSize,
5767
5805
  [vars$h.fontFamily]: refs.fontFamily,
5768
5806
  [vars$h.labelTextColor]: refs.labelTextColor,
@@ -5778,7 +5816,8 @@ const numberField = {
5778
5816
  [vars$h.inputOutlineOffset]: refs.outlineOffset,
5779
5817
  [vars$h.inputBackgroundColor]: refs.backgroundColor,
5780
5818
  [vars$h.labelRequiredIndicator]: refs.requiredIndicator,
5781
- [vars$h.inputHeight]: refs.inputHeight,
5819
+ [vars$h.inputHorizontalPadding]: refs.horizontalPadding,
5820
+ [vars$h.inputHeight]: refs.inputHeight
5782
5821
  };
5783
5822
 
5784
5823
  var numberField$1 = /*#__PURE__*/Object.freeze({
@@ -5791,6 +5830,7 @@ const vars$g = EmailFieldClass.cssVarList;
5791
5830
 
5792
5831
  const emailField = {
5793
5832
  [vars$g.hostWidth]: refs.width,
5833
+ [vars$g.hostMinWidth]: refs.minWidth,
5794
5834
  [vars$g.fontSize]: refs.fontSize,
5795
5835
  [vars$g.fontFamily]: refs.fontFamily,
5796
5836
  [vars$g.labelTextColor]: refs.labelTextColor,
@@ -5806,6 +5846,7 @@ const emailField = {
5806
5846
  [vars$g.inputOutlineColor]: refs.outlineColor,
5807
5847
  [vars$g.inputOutlineOffset]: refs.outlineOffset,
5808
5848
  [vars$g.inputBackgroundColor]: refs.backgroundColor,
5849
+ [vars$g.inputHorizontalPadding]: refs.horizontalPadding,
5809
5850
  [vars$g.inputHeight]: refs.inputHeight
5810
5851
  };
5811
5852
 
@@ -5820,6 +5861,7 @@ const vars$f = TextAreaClass.cssVarList;
5820
5861
 
5821
5862
  const textArea = {
5822
5863
  [vars$f.hostWidth]: refs.width,
5864
+ [vars$f.hostMinWidth]: refs.minWidth,
5823
5865
  [vars$f.fontSize]: '14px',
5824
5866
  [vars$f.fontFamily]: refs.fontFamily,
5825
5867
  [vars$f.labelTextColor]: refs.labelTextColor,
@@ -6274,6 +6316,7 @@ const passcode = {
6274
6316
  [vars$7.digitOutlineColor]: 'transparent',
6275
6317
  [vars$7.digitOutlineWidth]: refs.outlineWidth,
6276
6318
  [vars$7.focusedDigitFieldOutlineColor]: refs.outlineColor,
6319
+ [vars$7.digitSize]: refs.inputHeight,
6277
6320
 
6278
6321
  _hideCursor: {
6279
6322
  [vars$7.digitCaretTextColor]: 'transparent',
@@ -6399,9 +6442,12 @@ const comboBox = {
6399
6442
  [vars$4.inputValueTextColor]: refs.valueTextColor,
6400
6443
  [vars$4.inputPlaceholderTextColor]: refs.placeholderTextColor,
6401
6444
  [vars$4.inputBackgroundColor]: refs.backgroundColor,
6445
+ [vars$4.inputHorizontalPadding]: refs.horizontalPadding,
6402
6446
  [vars$4.inputHeight]: refs.inputHeight,
6403
6447
  [vars$4.inputDropdownButtonColor]: globalRefs.colors.surface.contrast,
6404
6448
  [vars$4.inputDropdownButtonCursor]: 'pointer',
6449
+ [vars$4.inputDropdownButtonSize]: refs.toggleButtonSize,
6450
+ [vars$4.inputDropdownButtonOffset]: globalRefs.spacing.xs,
6405
6451
 
6406
6452
  _readonly: {
6407
6453
  [vars$4.inputDropdownButtonCursor]: 'default'
@@ -6451,7 +6497,7 @@ const phoneField = {
6451
6497
  [vars$2.inputOutlineColor]: refs.outlineColor,
6452
6498
  [vars$2.inputOutlineOffset]: refs.outlineOffset,
6453
6499
  [vars$2.inputHeight]: refs.inputHeight,
6454
- [vars$2.phoneInputWidth]: '10em',
6500
+ [vars$2.phoneInputWidth]: refs.minWidth,
6455
6501
  [vars$2.countryCodeInputWidth]: '5em',
6456
6502
  [vars$2.countryCodeDropdownWidth]: '20em',
6457
6503
 
@@ -6470,6 +6516,7 @@ const vars$1 = NewPasswordClass.cssVarList;
6470
6516
 
6471
6517
  const newPassword = {
6472
6518
  [vars$1.hostWidth]: refs.width,
6519
+ [vars$1.hostMinWidth]: refs.minWidth,
6473
6520
  [vars$1.fontSize]: refs.fontSize,
6474
6521
  [vars$1.fontFamily]: refs.fontFamily,
6475
6522
  [vars$1.spaceBetweenInputs]: '1em',