@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
@@ -510,6 +510,107 @@ const globals = {
510
510
  };
511
511
  const vars$m = getThemeVars(globals);
512
512
 
513
+ const resetInputOverrides = (name, cssVarList) => `
514
+ ${resetInputContainer(name)}
515
+ ${resetInputCursor(name)}
516
+ ${resetInputPlaceholder(name)}
517
+ ${resetInputField(name)}
518
+ ${resetInputAutoFill(name, cssVarList)}
519
+ ${resetInputFieldInvalidBackgroundColor(name)}
520
+ ${resetInitialHeight(name)}
521
+ ${resetInputElement(name)}
522
+ ${resetInputFieldunderlayingBorder(name)}
523
+ `;
524
+
525
+ const useHostExternalPadding = (cssVarList) => `
526
+ :host {
527
+ padding: calc(var(${cssVarList.inputOutlineWidth}) + var(${cssVarList.inputOutlineOffset}))
528
+ }
529
+ `;
530
+
531
+ const resetInputFieldunderlayingBorder = (name) => `
532
+ ${name}::part(input-field)::after {
533
+ border: none;
534
+ }
535
+ `;
536
+
537
+ const resetInitialHeight = (name) => `
538
+ ${name}::before {
539
+ height: unset;
540
+ }
541
+ `;
542
+
543
+ const resetInputElement = (name) => `
544
+ ${name} > input {
545
+ -webkit-mask-image: none;
546
+ min-height: 0;
547
+ box-sizing: border-box;
548
+ }
549
+ `;
550
+
551
+ const resetInputContainer = (name) => `
552
+ ${name} {
553
+ margin: 0;
554
+ padding: 0;
555
+ width: 100%;
556
+ height: 100%;
557
+ box-sizing: border-box;
558
+ }
559
+ `;
560
+
561
+ const resetInputField = (name) => `
562
+ ${name}::part(input-field) {
563
+ overflow: hidden;
564
+ padding: 0;
565
+ box-shadow: none;
566
+ }
567
+ `;
568
+
569
+ const resetInputCursor = (name) => `
570
+ ${name} > label,
571
+ ${name}::part(label),
572
+ ${name}::part(required-indicator) {
573
+ cursor: pointer;
574
+ }
575
+ `;
576
+
577
+ const resetInputPlaceholder = (name, ele = 'input') => `
578
+ ${name}[disabled] > ${ele}:placeholder-shown,
579
+ ${name}[readonly] > ${ele}:placeholder-shown {
580
+ opacity: 1;
581
+ }
582
+ `;
583
+
584
+ const resetInputAutoFill = (name, cssVarList) => `
585
+ ${name} input:-webkit-autofill,
586
+ ${name} input:-webkit-autofill::first-line,
587
+ ${name} input:-webkit-autofill:hover,
588
+ ${name} input:-webkit-autofill:active,
589
+ ${name} input:-webkit-autofill:focus {
590
+ -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});
591
+ box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;
592
+ }
593
+ `;
594
+
595
+ const resetInputFieldDefaultWidth = () => `
596
+ :host {
597
+ --vaadin-field-default-width: auto;
598
+ box-sizing: border-box;
599
+ }
600
+ `;
601
+
602
+ const resetInputReadonlyStyle = (name) => `
603
+ ${name}::part(input-field)::after {
604
+ opacity: 0;
605
+ }
606
+ `;
607
+
608
+ const resetInputFieldInvalidBackgroundColor = (name) => `
609
+ ${name}::part(input-field)::after {
610
+ background: none;
611
+ }
612
+ `;
613
+
513
614
  const createCssVarFallback = (first, ...rest) =>
514
615
  `var(${first}${rest.length ? ` , ${createCssVarFallback(...rest)}` : ''})`;
515
616
 
@@ -859,7 +960,8 @@ const booleanAttributesList = [
859
960
  'has-error-message',
860
961
  'focus-ring',
861
962
  'opened',
862
- 'active'
963
+ 'active',
964
+ 'password-visible'
863
965
  ];
864
966
 
865
967
  const isBooleanAttribute = (attr) => {
@@ -1496,8 +1598,8 @@ const ButtonClass = compose(
1496
1598
  createStyleMixin({
1497
1599
  mappings: {
1498
1600
  hostWidth: { ...host$c, property: 'width' },
1499
- fontSize: { property: 'font-size' },
1500
- fontFamily: { property: 'font-family' },
1601
+ fontSize: {},
1602
+ fontFamily: {},
1501
1603
 
1502
1604
  cursor: {},
1503
1605
  backgroundColor: {},
@@ -1538,9 +1640,7 @@ const ButtonClass = compose(
1538
1640
  ${iconStyles}
1539
1641
  ${loadingIndicatorStyles}
1540
1642
  ${editorOverrides}
1541
- :host {
1542
- padding: calc(var(${ButtonClass.cssVarList.outlineWidth}) + var(${ButtonClass.cssVarList.outlineOffset}))
1543
- }
1643
+ ${useHostExternalPadding(ButtonClass.cssVarList)}
1544
1644
  `,
1545
1645
  excludeAttrsSync: ['tabindex'],
1546
1646
  componentName: componentName$o
@@ -1687,7 +1787,6 @@ const {
1687
1787
  requiredIndicator: requiredIndicator$7,
1688
1788
  inputField: inputField$4,
1689
1789
  input,
1690
- readOnlyInput,
1691
1790
  helperText: helperText$7,
1692
1791
  errorMessage: errorMessage$7
1693
1792
  } = {
@@ -1697,7 +1796,6 @@ const {
1697
1796
  placeholder: { selector: '> input:placeholder-shown' },
1698
1797
  inputField: { selector: '::part(input-field)' },
1699
1798
  input: { selector: 'input' },
1700
- readOnlyInput: { selector: '[readonly]::part(input-field)::after' },
1701
1799
  helperText: { selector: '::part(helper-text)' },
1702
1800
  errorMessage: { selector: '::part(error-message)' }
1703
1801
  };
@@ -1705,17 +1803,18 @@ const {
1705
1803
  var textFieldMappings = {
1706
1804
  // we apply font-size also on the host so we can set its width with em
1707
1805
  fontSize: [
1708
- { property: 'font-size' },
1709
- { ...host$b, property: 'font-size' }
1806
+ {},
1807
+ host$b,
1710
1808
  ],
1711
1809
  fontFamily: [
1712
- { ...label$8, property: 'font-family' },
1713
- { ...inputField$4, property: 'font-family' },
1714
- { ...helperText$7, property: 'font-family' },
1715
- { ...errorMessage$7, property: 'font-family' }
1810
+ label$8,
1811
+ inputField$4,
1812
+ helperText$7,
1813
+ errorMessage$7,
1716
1814
  ],
1717
1815
 
1718
1816
  hostWidth: { ...host$b, property: 'width' },
1817
+ hostMinWidth: { ...host$b, property: 'min-width' },
1719
1818
 
1720
1819
  inputBackgroundColor: { ...inputField$4, property: 'background-color' },
1721
1820
 
@@ -1729,22 +1828,16 @@ var textFieldMappings = {
1729
1828
 
1730
1829
  labelRequiredIndicator: { ...requiredIndicator$7, property: 'content' },
1731
1830
 
1732
- inputBorderColor: [
1733
- { ...inputField$4, property: 'border-color' },
1734
- { ...readOnlyInput, property: 'border-color' }
1735
- ],
1736
- inputBorderWidth: [
1737
- { ...inputField$4, property: 'border-width' },
1738
- { ...readOnlyInput, property: 'border-width' }
1739
- ],
1740
- inputBorderStyle: [
1741
- { ...inputField$4, property: 'border-style' },
1742
- { ...readOnlyInput, property: 'border-style' }
1743
- ],
1831
+ inputBorderColor: { ...inputField$4, property: 'border-color' },
1832
+ inputBorderWidth: { ...inputField$4, property: 'border-width' },
1833
+ inputBorderStyle: { ...inputField$4, property: 'border-style' },
1744
1834
  inputBorderRadius: { ...inputField$4, property: 'border-radius' },
1745
1835
 
1746
1836
  inputHeight: { ...inputField$4, property: 'height' },
1747
- inputPadding: { ...inputField$4, property: 'padding' },
1837
+ inputHorizontalPadding: [
1838
+ { ...input, property: 'padding-left' },
1839
+ { ...input, property: 'padding-right' }
1840
+ ],
1748
1841
 
1749
1842
  inputOutlineColor: { ...inputField$4, property: 'outline-color' },
1750
1843
  inputOutlineStyle: { ...inputField$4, property: 'outline-style' },
@@ -1756,91 +1849,6 @@ var textFieldMappings = {
1756
1849
  inputPlaceholderColor: { ...placeholder$2, property: 'color' }
1757
1850
  };
1758
1851
 
1759
- const resetInputOverrides = (name, cssVarList) => `
1760
- ${resetInputContainer(name)}
1761
- ${resetInputCursor(name)}
1762
- ${resetInputPlaceholder(name)}
1763
- ${resetInputField(name)}
1764
- ${resetInputAutoFill(name, cssVarList)}
1765
- ${resetInputFieldInvalidBackgroundColor(name)}
1766
-
1767
- ${name}::before {
1768
- height: unset;
1769
- }
1770
-
1771
- ${name} > input {
1772
- -webkit-mask-image: none;
1773
- min-height: 0;
1774
- }
1775
-
1776
- ${name}::part(input-field)::after {
1777
- opacity: 0 !important;
1778
- }
1779
- `;
1780
-
1781
- const resetInputContainer = (name) => `
1782
- ${name} {
1783
- margin: 0;
1784
- padding: 0;
1785
- width: 100%;
1786
- height: 100%;
1787
- box-sizing: border-box;
1788
- }
1789
- `;
1790
-
1791
- const resetInputField = (name) => `
1792
- ${name}::part(input-field) {
1793
- overflow: hidden;
1794
- padding: 0;
1795
- box-shadow: none;
1796
- }
1797
- `;
1798
-
1799
- const resetInputCursor = (name) => `
1800
- ${name} > label,
1801
- ${name}::part(label),
1802
- ${name}::part(required-indicator) {
1803
- cursor: pointer;
1804
- }
1805
- `;
1806
-
1807
- const resetInputPlaceholder = (name, ele = 'input') => `
1808
- ${name}[disabled] > ${ele}:placeholder-shown,
1809
- ${name}[readonly] > ${ele}:placeholder-shown {
1810
- opacity: 1;
1811
- }
1812
- `;
1813
-
1814
- const resetInputAutoFill = (name, cssVarList) => `
1815
- ${name} input:-webkit-autofill,
1816
- ${name} input:-webkit-autofill::first-line,
1817
- ${name} input:-webkit-autofill:hover,
1818
- ${name} input:-webkit-autofill:active,
1819
- ${name} input:-webkit-autofill:focus {
1820
- -webkit-text-fill-color: var(${cssVarList.inputValueTextColor});
1821
- box-shadow: 0 0 0 var(${cssVarList.inputHeight}) var(${cssVarList.inputBackgroundColor}) inset;
1822
- }
1823
- `;
1824
-
1825
- const resetInputFieldDefaultWidth = () => `
1826
- :host {
1827
- --vaadin-field-default-width: auto;
1828
- box-sizing: border-box;
1829
- }
1830
- `;
1831
-
1832
- const resetInputReadonlyStyle = (name) => `
1833
- ${name}::part(input-field)::after {
1834
- opacity: 0;
1835
- }
1836
- `;
1837
-
1838
- const resetInputFieldInvalidBackgroundColor = (name) => `
1839
- ${name}::part(input-field)::after {
1840
- background: none;
1841
- }
1842
- `;
1843
-
1844
1852
  const componentName$n = getComponentName('text-field');
1845
1853
 
1846
1854
  const observedAttrs = ['type'];
@@ -1881,10 +1889,9 @@ const TextFieldClass = compose(
1881
1889
  :host {
1882
1890
  display: inline-block;
1883
1891
  max-width: 100%;
1884
- min-width: 10em;
1885
1892
  padding: calc(var(${TextFieldClass.cssVarList.inputOutlineWidth}) + var(${TextFieldClass.cssVarList.inputOutlineOffset}));
1886
1893
  }
1887
- ${resetInputFieldDefaultWidth()}
1894
+ ${useHostExternalPadding(TextFieldClass.cssVarList)}
1888
1895
  ${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}
1889
1896
  `,
1890
1897
  excludeAttrsSync: ['tabindex'],
@@ -1910,7 +1917,11 @@ const [theme$1, refs, vars$k] = createHelperVars({
1910
1917
  outlineColor: 'transparent',
1911
1918
  outlineOffset: '0px', // we need to keep the px unit even for 0 value, as this var is used for calc in different component classes
1912
1919
 
1913
- inputHeight: '2em',
1920
+ minWidth: '10em',
1921
+ toggleButtonSize: '1.5em',
1922
+ inputHeight: '3em',
1923
+ horizontalPadding: '0.5em',
1924
+ verticalPadding: '0.5em',
1914
1925
 
1915
1926
  backgroundColor: globalRefs$b.colors.surface.light,
1916
1927
 
@@ -1962,6 +1973,7 @@ const vars$j = TextFieldClass.cssVarList;
1962
1973
 
1963
1974
  const textField = ({
1964
1975
  [vars$j.hostWidth]: refs.width,
1976
+ [vars$j.hostMinWidth]: refs.minWidth,
1965
1977
  [vars$j.fontSize]: refs.fontSize,
1966
1978
  [vars$j.fontFamily]: refs.fontFamily,
1967
1979
  [vars$j.labelTextColor]: refs.labelTextColor,
@@ -1978,6 +1990,7 @@ const textField = ({
1978
1990
  [vars$j.inputOutlineOffset]: refs.outlineOffset,
1979
1991
  [vars$j.inputBackgroundColor]: refs.backgroundColor,
1980
1992
  [vars$j.inputHeight]: refs.inputHeight,
1993
+ [vars$j.inputHorizontalPadding]: refs.horizontalPadding
1981
1994
  });
1982
1995
 
1983
1996
  var textField$1 = /*#__PURE__*/Object.freeze({
@@ -2025,7 +2038,7 @@ const componentName$l = getComponentName('password');
2025
2038
  const {
2026
2039
  host: host$a,
2027
2040
  inputField: inputField$3,
2028
- inputElement,
2041
+ inputElement: inputElement$1,
2029
2042
  inputElementPlaceholder,
2030
2043
  revealButtonContainer,
2031
2044
  revealButtonIcon,
@@ -2050,9 +2063,10 @@ const PasswordClass = compose(
2050
2063
  createStyleMixin({
2051
2064
  mappings: {
2052
2065
  hostWidth: { ...host$a, property: 'width' },
2066
+ hostMinWidth: { ...host$a, property: 'min-width' },
2053
2067
  fontSize: [
2054
- { property: 'font-size' },
2055
- { ...host$a, property: 'font-size' }
2068
+ {},
2069
+ host$a,
2056
2070
  ],
2057
2071
  fontFamily: [
2058
2072
  label$7,
@@ -2061,6 +2075,10 @@ const PasswordClass = compose(
2061
2075
  helperText$6
2062
2076
  ],
2063
2077
  inputHeight: { ...inputField$3, property: 'height' },
2078
+ inputHorizontalPadding: [
2079
+ { ...inputElement$1, property: 'padding-left' },
2080
+ { ...inputElement$1, property: 'padding-right' }
2081
+ ],
2064
2082
  inputBackgroundColor: { ...inputField$3, property: 'background-color' },
2065
2083
 
2066
2084
  inputBorderStyle: { ...inputField$3, property: 'border-style' },
@@ -2080,12 +2098,17 @@ const PasswordClass = compose(
2080
2098
  labelRequiredIndicator: { ...requiredIndicator$6, property: 'content' },
2081
2099
 
2082
2100
  inputValueTextColor: [
2083
- { ...inputElement, property: 'color' },
2101
+ { ...inputElement$1, property: 'color' },
2084
2102
  { ...revealButtonIcon, property: 'color' }
2085
2103
  ],
2086
2104
  inputPlaceholderTextColor: { ...inputElementPlaceholder, property: 'color' },
2087
2105
 
2088
- revealButtonOffset: { ...revealButtonContainer, property: 'margin' }
2106
+ revealButtonOffset: [
2107
+ { ...revealButtonContainer, property: 'margin-right' },
2108
+ { ...revealButtonContainer, property: 'margin-left' }
2109
+ ],
2110
+ revealButtonSize: { ...revealButtonContainer, property: 'font-size' },
2111
+
2089
2112
  }
2090
2113
  }),
2091
2114
  draggableMixin,
@@ -2099,17 +2122,22 @@ const PasswordClass = compose(
2099
2122
  style: () => `
2100
2123
  :host {
2101
2124
  display: inline-block;
2102
- min-width: 10em;
2103
2125
  max-width: 100%;
2104
- box-sizing: border-box;
2105
- padding: calc(var(${PasswordClass.cssVarList.inputOutlineWidth}) + var(${PasswordClass.cssVarList.inputOutlineOffset}));
2126
+ min-width: 10em;
2106
2127
  }
2128
+ ${useHostExternalPadding(PasswordClass.cssVarList)}
2129
+ ${resetInputCursor('vaadin-password-field')}
2130
+
2107
2131
  vaadin-password-field {
2108
2132
  width: 100%;
2109
2133
  box-sizing: border-box;
2110
2134
  padding: 0;
2111
2135
  }
2136
+ vaadin-password-field > input {
2137
+ box-sizing: border-box;
2138
+ }
2112
2139
  vaadin-password-field::part(input-field) {
2140
+ box-sizing: border-box;
2113
2141
  padding: 0;
2114
2142
  }
2115
2143
  vaadin-password-field[focus-ring]::part(input-field) {
@@ -2132,8 +2160,6 @@ const PasswordClass = compose(
2132
2160
  cursor: pointer;
2133
2161
  }
2134
2162
 
2135
- ${resetInputCursor('vaadin-password-field')}
2136
-
2137
2163
  [readonly] vaadin-password-field-button {
2138
2164
  pointer-events: none;
2139
2165
  }
@@ -2155,6 +2181,7 @@ const password = {
2155
2181
  [vars$i.fontSize]: refs.fontSize,
2156
2182
  [vars$i.fontFamily]: refs.fontFamily,
2157
2183
  [vars$i.labelTextColor]: refs.labelTextColor,
2184
+ [vars$i.inputHorizontalPadding]: refs.horizontalPadding,
2158
2185
  [vars$i.inputHeight]: refs.inputHeight,
2159
2186
  [vars$i.inputBackgroundColor]: refs.backgroundColor,
2160
2187
  [vars$i.labelRequiredIndicator]: refs.requiredIndicator,
@@ -2168,7 +2195,8 @@ const password = {
2168
2195
  [vars$i.inputOutlineStyle]: refs.outlineStyle,
2169
2196
  [vars$i.inputOutlineColor]: refs.outlineColor,
2170
2197
  [vars$i.inputOutlineOffset]: refs.outlineOffset,
2171
- [vars$i.revealButtonOffset]: globalRefs$a.spacing.md
2198
+ [vars$i.revealButtonOffset]: globalRefs$a.spacing.md,
2199
+ [vars$i.revealButtonSize]: refs.toggleButtonSize
2172
2200
  };
2173
2201
 
2174
2202
  var password$1 = /*#__PURE__*/Object.freeze({
@@ -2194,9 +2222,9 @@ const NumberFieldClass = compose(
2194
2222
  :host {
2195
2223
  display: inline-block;
2196
2224
  max-width: 100%;
2197
- min-width: 10em;
2198
2225
  padding: calc(var(${NumberFieldClass.cssVarList.inputOutlineWidth}) + var(${NumberFieldClass.cssVarList.inputOutlineOffset}));
2199
2226
  }
2227
+ ${useHostExternalPadding(NumberFieldClass.cssVarList)}
2200
2228
  ${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}
2201
2229
  `,
2202
2230
  excludeAttrsSync: ['tabindex'],
@@ -2208,6 +2236,7 @@ const vars$h = NumberFieldClass.cssVarList;
2208
2236
 
2209
2237
  const numberField = {
2210
2238
  [vars$h.hostWidth]: refs.width,
2239
+ [vars$h.hostMinWidth]: refs.minWidth,
2211
2240
  [vars$h.fontSize]: refs.fontSize,
2212
2241
  [vars$h.fontFamily]: refs.fontFamily,
2213
2242
  [vars$h.labelTextColor]: refs.labelTextColor,
@@ -2223,7 +2252,8 @@ const numberField = {
2223
2252
  [vars$h.inputOutlineOffset]: refs.outlineOffset,
2224
2253
  [vars$h.inputBackgroundColor]: refs.backgroundColor,
2225
2254
  [vars$h.labelRequiredIndicator]: refs.requiredIndicator,
2226
- [vars$h.inputHeight]: refs.inputHeight,
2255
+ [vars$h.inputHorizontalPadding]: refs.horizontalPadding,
2256
+ [vars$h.inputHeight]: refs.inputHeight
2227
2257
  };
2228
2258
 
2229
2259
  var numberField$1 = /*#__PURE__*/Object.freeze({
@@ -2249,9 +2279,9 @@ const EmailFieldClass = compose(
2249
2279
  :host {
2250
2280
  display: inline-block;
2251
2281
  max-width: 100%;
2252
- min-width: 10em;
2253
2282
  padding: calc(var(${EmailFieldClass.cssVarList.inputOutlineWidth}) + var(${EmailFieldClass.cssVarList.inputOutlineOffset}))
2254
2283
  }
2284
+ ${useHostExternalPadding(EmailFieldClass.cssVarList)}
2255
2285
  ${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}
2256
2286
  `,
2257
2287
  excludeAttrsSync: ['tabindex'],
@@ -2263,6 +2293,7 @@ const vars$g = EmailFieldClass.cssVarList;
2263
2293
 
2264
2294
  const emailField = {
2265
2295
  [vars$g.hostWidth]: refs.width,
2296
+ [vars$g.hostMinWidth]: refs.minWidth,
2266
2297
  [vars$g.fontSize]: refs.fontSize,
2267
2298
  [vars$g.fontFamily]: refs.fontFamily,
2268
2299
  [vars$g.labelTextColor]: refs.labelTextColor,
@@ -2278,6 +2309,7 @@ const emailField = {
2278
2309
  [vars$g.inputOutlineColor]: refs.outlineColor,
2279
2310
  [vars$g.inputOutlineOffset]: refs.outlineOffset,
2280
2311
  [vars$g.inputBackgroundColor]: refs.backgroundColor,
2312
+ [vars$g.inputHorizontalPadding]: refs.horizontalPadding,
2281
2313
  [vars$g.inputHeight]: refs.inputHeight
2282
2314
  };
2283
2315
 
@@ -2313,15 +2345,16 @@ const TextAreaClass = compose(
2313
2345
  createStyleMixin({
2314
2346
  mappings: {
2315
2347
  hostWidth: { ...host$9, property: 'width' },
2348
+ hostMinWidth: { ...host$9, property: 'min-width' },
2316
2349
  fontSize: [
2317
- { ...host$9, property: 'font-size' },
2318
- { ...textArea$2, property: 'font-size' }
2350
+ host$9,
2351
+ textArea$2,
2319
2352
  ],
2320
2353
  fontFamily: [
2321
- { ...label$6, property: 'font-family' },
2322
- { ...inputField$2, property: 'font-family' },
2323
- { ...helperText$5, property: 'font-family' },
2324
- { ...errorMessage$5, property: 'font-family' }
2354
+ label$6,
2355
+ inputField$2,
2356
+ helperText$5,
2357
+ errorMessage$5,
2325
2358
  ],
2326
2359
  labelTextColor: [
2327
2360
  { ...label$6, property: 'color' },
@@ -2352,11 +2385,9 @@ const TextAreaClass = compose(
2352
2385
  style: () => `
2353
2386
  :host {
2354
2387
  display: inline-block;
2355
- min-width: 10em;
2356
2388
  max-width: 100%;
2357
- padding: calc(var(${TextAreaClass.cssVarList.inputOutlineWidth}) + var(${TextAreaClass.cssVarList.inputOutlineOffset}));
2358
2389
  }
2359
-
2390
+ ${useHostExternalPadding(TextAreaClass.cssVarList)}
2360
2391
  ${resetInputContainer('vaadin-text-area')}
2361
2392
  ${resetInputField('vaadin-text-area')}
2362
2393
  ${resetInputPlaceholder('vaadin-text-area', 'textarea')}
@@ -2372,6 +2403,7 @@ const vars$f = TextAreaClass.cssVarList;
2372
2403
 
2373
2404
  const textArea = {
2374
2405
  [vars$f.hostWidth]: refs.width,
2406
+ [vars$f.hostMinWidth]: refs.minWidth,
2375
2407
  [vars$f.fontSize]: '14px',
2376
2408
  [vars$f.fontFamily]: refs.fontFamily,
2377
2409
  [vars$f.labelTextColor]: refs.labelTextColor,
@@ -2547,16 +2579,16 @@ const CheckboxClass = compose(
2547
2579
  hostWidth: { ...host$8, property: 'width' },
2548
2580
 
2549
2581
  fontSize: [
2550
- { ...host$8, property: 'font-size' },
2551
- { ...checkboxElement, property: 'font-size' },
2552
- { ...label$5, property: 'font-size' },
2553
- { ...checkboxHiddenLabel$1, property: 'font-size' }
2582
+ host$8,
2583
+ checkboxElement,
2584
+ label$5,
2585
+ checkboxHiddenLabel$1,
2554
2586
  ],
2555
2587
  fontFamily: [
2556
- { ...label$5, property: 'font-family' },
2557
- { ...checkboxHiddenLabel$1, property: 'font-family' },
2558
- { ...helperText$4, property: 'font-family' },
2559
- { ...errorMessage$4, property: 'font-family' }
2588
+ label$5,
2589
+ checkboxHiddenLabel$1,
2590
+ helperText$4,
2591
+ errorMessage$4,
2560
2592
  ],
2561
2593
 
2562
2594
  labelTextColor: [
@@ -2600,10 +2632,8 @@ const CheckboxClass = compose(
2600
2632
  slots: [],
2601
2633
  wrappedEleName: 'vaadin-text-field',
2602
2634
  style: () => `
2603
- ${commonStyles}
2604
- vaadin-text-field {
2605
- padding: calc(var(${CheckboxClass.cssVarList.inputOutlineWidth}) + var(${CheckboxClass.cssVarList.inputOutlineOffset}));
2606
- }
2635
+ ${commonStyles}
2636
+ ${useHostExternalPadding(CheckboxClass.cssVarList)}
2607
2637
  `,
2608
2638
  excludeAttrsSync: ['tabindex'],
2609
2639
  componentName: componentName$g
@@ -2674,14 +2704,14 @@ const SwitchToggleClass = compose(
2674
2704
  mappings: {
2675
2705
  hostWidth: { ...host$7, property: 'width' },
2676
2706
  fontSize: [
2677
- { ...component, property: 'font-size' },
2678
- { ...label$4, property: 'font-size' },
2679
- { ...checkboxHiddenLabel, property: 'font-size' },
2707
+ component,
2708
+ label$4,
2709
+ checkboxHiddenLabel,
2680
2710
  ],
2681
2711
  fontFamily: [
2682
- { ...label$4, property: 'font-family' },
2683
- { ...helperText$3, property: 'font-family' },
2684
- { ...errorMessage$3, property: 'font-family' }
2712
+ label$4,
2713
+ helperText$3,
2714
+ errorMessage$3,
2685
2715
  ],
2686
2716
  trackBorderWidth: { ...track, property: 'border-width' },
2687
2717
  trackBorderStyle: { ...track, property: 'border-style' },
@@ -2740,9 +2770,7 @@ const SwitchToggleClass = compose(
2740
2770
  wrappedEleName: 'vaadin-text-field',
2741
2771
  style: () => `
2742
2772
  ${commonStyles}
2743
- :host {
2744
- padding: calc(var(${SwitchToggleClass.cssVarList.inputOutlineWidth}) + var(${SwitchToggleClass.cssVarList.inputOutlineOffset}));
2745
- }
2773
+ ${useHostExternalPadding(SwitchToggleClass.cssVarList)}
2746
2774
  vaadin-text-field::part(label) {
2747
2775
  left: calc(var(${SwitchToggleClass.cssVarList.trackWidth}) + var(${SwitchToggleClass.cssVarList.trackBorderWidth}) * 2);
2748
2776
  }
@@ -3077,7 +3105,7 @@ const TextClass = compose(
3077
3105
  createStyleMixin({
3078
3106
  mappings: {
3079
3107
  hostWidth: { selector: () => ':host', property: 'width' },
3080
- fontSize: { property: 'font-size' },
3108
+ fontSize: {},
3081
3109
  textColor: { property: 'color' },
3082
3110
  textLineHeight: { property: 'line-height' },
3083
3111
  textLetterSpacing: { property: 'letter-spacing' },
@@ -3538,7 +3566,11 @@ const PasscodeClass = compose(
3538
3566
  selector: TextFieldClass.componentName,
3539
3567
  property: textVars$1.inputValueTextColor
3540
3568
  },
3541
- digitPadding: { ...digitField, property: textVars$1.inputPadding },
3569
+ digitSize: [
3570
+ { ...digitField, property: 'height' },
3571
+ { ...digitField, property: 'width' }
3572
+ ],
3573
+ digitPadding: { ...digitField, property: textVars$1.inputHorizontalPadding },
3542
3574
  digitTextAlign: { ...digitField, property: textVars$1.inputTextAlign },
3543
3575
  digitCaretTextColor: { ...digitField, property: textVars$1.inputCaretTextColor },
3544
3576
  digitSpacing: { ...internalWrapper, property: 'gap' },
@@ -3642,6 +3674,7 @@ const passcode = {
3642
3674
  [vars$7.digitOutlineColor]: 'transparent',
3643
3675
  [vars$7.digitOutlineWidth]: refs.outlineWidth,
3644
3676
  [vars$7.focusedDigitFieldOutlineColor]: refs.outlineColor,
3677
+ [vars$7.digitSize]: refs.inputHeight,
3645
3678
 
3646
3679
  _hideCursor: {
3647
3680
  [vars$7.digitCaretTextColor]: 'transparent',
@@ -3917,6 +3950,7 @@ const ComboBoxMixin = (superclass) => class ComboBoxMixinClass extends superclas
3917
3950
  const {
3918
3951
  host: host$2,
3919
3952
  inputField: inputField$1,
3953
+ inputElement,
3920
3954
  placeholder,
3921
3955
  toggle,
3922
3956
  label: label$2,
@@ -3926,6 +3960,7 @@ const {
3926
3960
  } = {
3927
3961
  host: { selector: () => ':host' },
3928
3962
  inputField: { selector: '::part(input-field)' },
3963
+ inputElement: { selector: 'input' },
3929
3964
  placeholder: { selector: '> input:placeholder-shown' },
3930
3965
  toggle: { selector: '::part(toggle-button)' },
3931
3966
  label: { selector: '::part(label)' },
@@ -3945,8 +3980,8 @@ const ComboBoxClass = compose(
3945
3980
  hostWidth: { ...host$2, property: 'width' },
3946
3981
  // we apply font-size also on the host so we can set its width with em
3947
3982
  fontSize: [
3948
- { property: 'font-size' },
3949
- { ...host$2, property: 'font-size' }
3983
+ {},
3984
+ host$2,
3950
3985
  ],
3951
3986
  fontFamily: [
3952
3987
  label$2,
@@ -3970,10 +4005,19 @@ const ComboBoxClass = compose(
3970
4005
  inputPlaceholderTextColor: { ...placeholder, property: 'color' },
3971
4006
  inputDropdownButtonCursor: { ...toggle, property: 'cursor' },
3972
4007
  inputDropdownButtonColor: { ...toggle, property: 'color' },
4008
+ inputDropdownButtonSize: { ...toggle, property: 'font-size' },
4009
+ inputDropdownButtonOffset: [
4010
+ { ...toggle, property: 'margin-right' },
4011
+ { ...toggle, property: 'margin-left' },
4012
+ ],
3973
4013
  inputOutlineColor: { ...inputField$1, property: 'outline-color' },
3974
4014
  inputOutlineWidth: { ...inputField$1, property: 'outline-width' },
3975
4015
  inputOutlineStyle: { ...inputField$1, property: 'outline-style' },
3976
4016
  inputOutlineOffset: { ...inputField$1, property: 'outline-offset' },
4017
+ inputHorizontalPadding: [
4018
+ { ...inputElement, property: 'padding-left' },
4019
+ { ...inputElement, property: 'padding-right' }
4020
+ ],
3977
4021
 
3978
4022
  // we need to use the variables from the portal mixin
3979
4023
  // so we need to use an arrow function on the selector
@@ -4011,24 +4055,29 @@ const ComboBoxClass = compose(
4011
4055
  display: inline-flex;
4012
4056
  box-sizing: border-box;
4013
4057
  -webkit-mask-image: none;
4014
- padding: calc(var(${ComboBoxClass.cssVarList.inputOutlineWidth}) + var(${ComboBoxClass.cssVarList.inputOutlineOffset}))
4015
4058
  }
4059
+ ${useHostExternalPadding(ComboBoxClass.cssVarList)}
4060
+ ${resetInputReadonlyStyle('vaadin-combo-box')}
4061
+ ${resetInputPlaceholder('vaadin-combo-box')}
4062
+ ${resetInputCursor('vaadin-combo-box')}
4063
+
4016
4064
  vaadin-combo-box {
4017
4065
  padding: 0;
4018
4066
  width: 100%;
4019
4067
  }
4068
+ vaadin-combo-box::before {
4069
+ height: initial;
4070
+ }
4020
4071
  vaadin-combo-box [slot="input"] {
4021
4072
  -webkit-mask-image: none;
4022
4073
  min-height: 0;
4074
+ box-sizing: border-box;
4023
4075
  }
4024
4076
 
4025
4077
  vaadin-combo-box::part(input-field) {
4026
4078
  padding: 0;
4079
+ box-shadow: none;
4027
4080
  }
4028
-
4029
- ${resetInputReadonlyStyle('vaadin-combo-box')}
4030
- ${resetInputPlaceholder('vaadin-combo-box')}
4031
- ${resetInputCursor('vaadin-combo-box')}
4032
4081
  `,
4033
4082
  // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property
4034
4083
  // with the same name. Including it will cause Vaadin to calculate NaN size,
@@ -4060,9 +4109,12 @@ const comboBox = {
4060
4109
  [vars$4.inputValueTextColor]: refs.valueTextColor,
4061
4110
  [vars$4.inputPlaceholderTextColor]: refs.placeholderTextColor,
4062
4111
  [vars$4.inputBackgroundColor]: refs.backgroundColor,
4112
+ [vars$4.inputHorizontalPadding]: refs.horizontalPadding,
4063
4113
  [vars$4.inputHeight]: refs.inputHeight,
4064
4114
  [vars$4.inputDropdownButtonColor]: globalRefs.colors.surface.contrast,
4065
4115
  [vars$4.inputDropdownButtonCursor]: 'pointer',
4116
+ [vars$4.inputDropdownButtonSize]: refs.toggleButtonSize,
4117
+ [vars$4.inputDropdownButtonOffset]: globalRefs.spacing.xs,
4066
4118
 
4067
4119
  _readonly: {
4068
4120
  [vars$4.inputDropdownButtonCursor]: 'default'
@@ -5426,8 +5478,8 @@ const PhoneFieldClass = compose(
5426
5478
  createStyleMixin({
5427
5479
  mappings: {
5428
5480
  fontSize: [
5429
- { ...host$1, property: 'font-size' },
5430
- { ...inputField, property: 'font-size' },
5481
+ host$1,
5482
+ inputField,
5431
5483
  {
5432
5484
  selector: TextFieldClass.componentName,
5433
5485
  property: TextFieldClass.cssVarList.fontSize
@@ -5466,8 +5518,6 @@ const PhoneFieldClass = compose(
5466
5518
  ],
5467
5519
  inputBorderRadius: { ...inputField, property: 'border-radius' },
5468
5520
 
5469
- inputHeight: { ...inputField, property: 'height' },
5470
-
5471
5521
  countryCodeInputWidth: { ...countryCodeInput, property: comboVars.hostWidth },
5472
5522
  countryCodeDropdownWidth: {
5473
5523
  ...countryCodeInput,
@@ -5512,8 +5562,11 @@ const PhoneFieldClass = compose(
5512
5562
  max-width: 100%;
5513
5563
  min-width: 15em;
5514
5564
  box-sizing: border-box;
5515
- padding: calc(var(${PhoneFieldClass.cssVarList.inputOutlineWidth}) + var(${PhoneFieldClass.cssVarList.inputOutlineOffset}))
5516
5565
  }
5566
+ ${useHostExternalPadding(PhoneFieldClass.cssVarList)}
5567
+ ${resetInputCursor('vaadin-text-field')}
5568
+ ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}
5569
+
5517
5570
  div {
5518
5571
  display: inline-flex;
5519
5572
  }
@@ -5552,7 +5605,7 @@ const PhoneFieldClass = compose(
5552
5605
  }
5553
5606
  descope-combo-box {
5554
5607
  flex-shrink: 0;
5555
- height: 100%;
5608
+ min-width: 5.75em;
5556
5609
  ${comboVars.inputOutlineWidth}: 0;
5557
5610
  ${comboVars.inputOutlineOffset}: 0;
5558
5611
  ${comboVars.inputBorderWidth}: 0;
@@ -5560,9 +5613,8 @@ const PhoneFieldClass = compose(
5560
5613
  }
5561
5614
  descope-text-field {
5562
5615
  flex-grow: 1;
5563
- min-height: 0;
5564
- height: 100%;
5565
5616
  ${textVars.inputOutlineWidth}: 0;
5617
+ ${comboVars.inputOutlineOffset}: 0;
5566
5618
  ${textVars.inputBorderWidth}: 0;
5567
5619
  ${textVars.inputBorderRadius}: 0;
5568
5620
  }
@@ -5572,11 +5624,6 @@ const PhoneFieldClass = compose(
5572
5624
  vaadin-text-field::part(input-field)::after {
5573
5625
  border: none;
5574
5626
  }
5575
-
5576
- ${resetInputFieldDefaultWidth()}
5577
- ${resetInputCursor('vaadin-text-field')}
5578
- ${resetInputFieldInvalidBackgroundColor('vaadin-text-field')}
5579
-
5580
5627
  `,
5581
5628
  excludeAttrsSync: ['tabindex'],
5582
5629
  componentName: componentName$2
@@ -5602,7 +5649,7 @@ const phoneField = {
5602
5649
  [vars$2.inputOutlineColor]: refs.outlineColor,
5603
5650
  [vars$2.inputOutlineOffset]: refs.outlineOffset,
5604
5651
  [vars$2.inputHeight]: refs.inputHeight,
5605
- [vars$2.phoneInputWidth]: '10em',
5652
+ [vars$2.phoneInputWidth]: refs.minWidth,
5606
5653
  [vars$2.countryCodeInputWidth]: '5em',
5607
5654
  [vars$2.countryCodeDropdownWidth]: '20em',
5608
5655
 
@@ -5682,6 +5729,7 @@ const NewPasswordClass = compose(
5682
5729
  mappings: {
5683
5730
  fontSize: [
5684
5731
  host,
5732
+ {},
5685
5733
  {
5686
5734
  selector: PasswordClass.componentName,
5687
5735
  property: PasswordClass.cssVarList.fontSize
@@ -5693,6 +5741,7 @@ const NewPasswordClass = compose(
5693
5741
  helperText
5694
5742
  ],
5695
5743
  hostWidth: { ...host, property: 'width' },
5744
+ hostMinWidth: { ...host, property: 'min-width' },
5696
5745
  inputsRequiredIndicator: { ...host, property: 'content' },
5697
5746
  spaceBetweenInputs: { ...internalInputsWrapper, property: 'gap' },
5698
5747
  }
@@ -5708,10 +5757,9 @@ const NewPasswordClass = compose(
5708
5757
  :host {
5709
5758
  display: inline-block;
5710
5759
  max-width: 100%;
5711
- min-width: 10em;
5712
5760
  box-sizing: border-box;
5713
5761
  }
5714
- ${resetInputFieldDefaultWidth()}
5762
+ ${useHostExternalPadding(PasswordClass.cssVarList)}
5715
5763
  vaadin-text-field {
5716
5764
  padding: 0;
5717
5765
  width: 100%;
@@ -5720,7 +5768,6 @@ const NewPasswordClass = compose(
5720
5768
  vaadin-text-field::part(input-field) {
5721
5769
  min-height: 0;
5722
5770
  background: transparent;
5723
- overflow: hidden;
5724
5771
  box-shadow: none;
5725
5772
  padding: 0;
5726
5773
  }
@@ -5739,7 +5786,7 @@ const NewPasswordClass = compose(
5739
5786
  width: 100%;
5740
5787
  height: 100%;
5741
5788
  display: flex;
5742
- flex-direction: column;
5789
+ flex-direction: column;
5743
5790
  }
5744
5791
  descope-password {
5745
5792
  display: block;
@@ -5758,6 +5805,7 @@ const vars$1 = NewPasswordClass.cssVarList;
5758
5805
 
5759
5806
  const newPassword = {
5760
5807
  [vars$1.hostWidth]: refs.width,
5808
+ [vars$1.hostMinWidth]: refs.minWidth,
5761
5809
  [vars$1.fontSize]: refs.fontSize,
5762
5810
  [vars$1.fontFamily]: refs.fontFamily,
5763
5811
  [vars$1.spaceBetweenInputs]: '1em',