@descope/web-components-ui 1.0.131 → 1.0.132

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 (49) hide show
  1. package/dist/cjs/index.cjs.js +234 -186
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +234 -187
  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 +9 -14
  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,
@@ -4792,8 +4825,11 @@ const PhoneFieldClass = compose(
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',