@descope/web-components-ui 1.0.322 → 1.0.323

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. package/dist/cjs/index.cjs.js +480 -19
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +500 -21
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/4392.js +1 -1
  6. package/dist/umd/DescopeDev.js +1 -1
  7. package/dist/umd/boolean-fields-descope-checkbox-index-js.js +1 -1
  8. package/dist/umd/boolean-fields-descope-switch-toggle-index-js.js +1 -1
  9. package/dist/umd/button-selection-group-fields-descope-button-multi-selection-group-index-js.js +1 -1
  10. package/dist/umd/button-selection-group-fields-descope-button-selection-group-index-js.js +1 -1
  11. package/dist/umd/descope-combo-box-index-js.js +7 -7
  12. package/dist/umd/descope-email-field-index-js.js +3 -3
  13. package/dist/umd/descope-grid-descope-grid-selection-column-index-js.js +1 -1
  14. package/dist/umd/descope-grid-index-js.js +1 -1
  15. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  16. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  17. package/dist/umd/descope-new-password-index-js.js +1 -1
  18. package/dist/umd/descope-number-field-index-js.js +1 -1
  19. package/dist/umd/descope-passcode-index-js.js +1 -1
  20. package/dist/umd/descope-password-index-js.js +1 -1
  21. package/dist/umd/descope-radio-group-index-js.js +1 -1
  22. package/dist/umd/descope-text-area-index-js.js +1 -1
  23. package/dist/umd/descope-text-field-index-js.js +2 -2
  24. package/dist/umd/index.js +1 -1
  25. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  26. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  27. package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
  28. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  29. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +1 -1
  30. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  31. package/package.json +1 -1
  32. package/src/components/descope-combo-box/ComboBoxClass.js +57 -0
  33. package/src/components/descope-email-field/EmailFieldClass.js +9 -0
  34. package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +31 -0
  35. package/src/components/descope-new-password/NewPasswordClass.js +7 -0
  36. package/src/components/descope-new-password/descope-new-password-internal/NewPasswordInternal.js +1 -0
  37. package/src/components/descope-number-field/NumberFieldClass.js +9 -0
  38. package/src/components/descope-password/PasswordClass.js +30 -0
  39. package/src/components/descope-text-field/TextFieldClass.js +24 -1
  40. package/src/components/descope-text-field/textFieldMappings.js +40 -6
  41. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +36 -4
  42. package/src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +19 -3
  43. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +45 -1
  44. package/src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js +1 -0
  45. package/src/helpers/themeHelpers/resetHelpers.js +15 -0
  46. package/src/theme/components/comboBox.js +17 -0
  47. package/src/theme/components/emailField.js +17 -0
  48. package/src/theme/components/inputWrapper.js +35 -0
  49. package/src/theme/components/multiSelectComboBox.js +22 -0
  50. package/src/theme/components/newPassword.js +10 -0
  51. package/src/theme/components/numberField.js +17 -0
  52. package/src/theme/components/password.js +17 -0
  53. package/src/theme/components/phoneField.js +8 -0
  54. package/src/theme/components/phoneInputBoxField.js +17 -0
  55. package/src/theme/components/textField.js +17 -0
package/dist/index.esm.js CHANGED
@@ -1817,6 +1817,21 @@ const resetInputLabelPosition = (name) => `
1817
1817
  }
1818
1818
  `;
1819
1819
 
1820
+ const inputFloatingLabelStyle = () => {
1821
+ return `
1822
+ :host([label-type="floating"]) {
1823
+ position: relative;
1824
+ }
1825
+ :host([label-type="floating"][has-label]) [slot="label"] {
1826
+ padding: 0;
1827
+ }
1828
+ :host([label-type="floating"][has-label]) > ::part(label) {
1829
+ z-index: 1;
1830
+ padding: 0;
1831
+ }
1832
+ `;
1833
+ };
1834
+
1820
1835
  var commonStyles = `
1821
1836
  :host {
1822
1837
  display: inline-flex;
@@ -2473,7 +2488,10 @@ const {
2473
2488
  host: { selector: () => ':host' },
2474
2489
  label: { selector: '::part(label)' },
2475
2490
  requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
2476
- placeholder: { selector: '> input:placeholder-shown' },
2491
+ placeholder: [
2492
+ { selector: '> input:placeholder-shown' },
2493
+ { selector: () => ':host::slotted(input:placeholder-shown)' },
2494
+ ],
2477
2495
  disabledPlaceholder: { selector: '> input:disabled::placeholder' },
2478
2496
  inputField: { selector: '::part(input-field)' },
2479
2497
  input: { selector: 'input' },
@@ -2491,11 +2509,8 @@ var textFieldMappings = {
2491
2509
  fontSize: [{}, host$i],
2492
2510
  fontFamily: [label$9, inputField$6, helperText$8, errorMessage$a],
2493
2511
 
2494
- hostWidth: { ...host$i, property: 'width' },
2495
- hostMinWidth: { ...host$i, property: 'min-width' },
2496
- hostDirection: { ...host$i, property: 'direction' },
2497
-
2498
- inputBackgroundColor: { ...inputField$6, property: 'background-color' },
2512
+ labelFontSize: { ...label$9, property: 'font-size' },
2513
+ labelFontWeight: { ...label$9, property: 'font-weight' },
2499
2514
 
2500
2515
  labelTextColor: [
2501
2516
  { ...label$9, property: 'color' },
@@ -2503,6 +2518,13 @@ var textFieldMappings = {
2503
2518
  { ...label$9, property: '-webkit-text-fill-color' },
2504
2519
  { ...requiredIndicator$9, property: '-webkit-text-fill-color' },
2505
2520
  ],
2521
+
2522
+ hostWidth: { ...host$i, property: 'width' },
2523
+ hostMinWidth: { ...host$i, property: 'min-width' },
2524
+ hostDirection: { ...host$i, property: 'direction' },
2525
+
2526
+ inputBackgroundColor: { ...inputField$6, property: 'background-color' },
2527
+
2506
2528
  errorMessageTextColor: { ...errorMessage$a, property: 'color' },
2507
2529
  helperTextColor: { ...helperText$8, property: '-webkit-text-fill-color' },
2508
2530
 
@@ -2542,11 +2564,38 @@ var textFieldMappings = {
2542
2564
  ],
2543
2565
 
2544
2566
  inputPlaceholderColor: [
2567
+ { selector: () => ':host input:placeholder-shown', property: 'color' },
2545
2568
  { ...placeholder$3, property: 'color' },
2546
2569
  { ...externalPlaceholder, property: 'color' },
2547
2570
  { ...disabledPlaceholder, property: '-webkit-text-fill-color' },
2548
2571
  { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },
2549
2572
  ],
2573
+
2574
+ labelPosition: { ...label$9, property: 'position' },
2575
+ labelTopPosition: { ...label$9, property: 'top' },
2576
+ labelHorizontalPosition: [
2577
+ { ...label$9, property: 'left' },
2578
+ { ...label$9, property: 'right' },
2579
+ ],
2580
+ inputTransformY: { ...label$9, property: 'transform' },
2581
+ inputTransition: { ...label$9, property: 'transition' },
2582
+ marginInlineStart: { ...label$9, property: 'margin-inline-start' },
2583
+ placeholderOpacity: [
2584
+ { selector: '> input:placeholder-shown', property: 'opacity' },
2585
+ { ...externalPlaceholder, property: 'opacity' },
2586
+ ],
2587
+ inputVerticalAlignment: [
2588
+ { ...inputField$6, property: 'align-items' },
2589
+ { ...externalInput, property: 'align-items' },
2590
+ ],
2591
+ valueInputHeight: [
2592
+ { ...input, property: 'height' },
2593
+ { ...externalInput, property: 'height' },
2594
+ ],
2595
+ valueInputMarginBottom: [
2596
+ { ...input, property: 'margin-bottom' },
2597
+ { ...externalInput, property: 'margin-bottom' },
2598
+ ],
2550
2599
  };
2551
2600
 
2552
2601
  // since on load we can only sample the color of the placeholder,
@@ -2704,6 +2753,14 @@ const EmailFieldClass = compose(
2704
2753
  ${resetInputLabelPosition('vaadin-email-field')}
2705
2754
  ${useHostExternalPadding(EmailFieldClass.cssVarList)}
2706
2755
  ${resetInputOverrides('vaadin-email-field', EmailFieldClass.cssVarList)}
2756
+ ${inputFloatingLabelStyle()}
2757
+
2758
+ vaadin-email-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
2759
+ opacity: 0;
2760
+ }
2761
+ vaadin-email-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
2762
+ opacity: 0;
2763
+ }
2707
2764
  `,
2708
2765
  excludeAttrsSync: ['tabindex'],
2709
2766
  componentName: componentName$M,
@@ -2886,6 +2943,14 @@ const NumberFieldClass = compose(
2886
2943
  ${resetInputLabelPosition('vaadin-number-field')}
2887
2944
  ${useHostExternalPadding(NumberFieldClass.cssVarList)}
2888
2945
  ${resetInputOverrides('vaadin-number-field', NumberFieldClass.cssVarList)}
2946
+ ${inputFloatingLabelStyle()}
2947
+
2948
+ vaadin-number-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
2949
+ opacity: 0;
2950
+ }
2951
+ vaadin-number-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
2952
+ opacity: 0;
2953
+ }
2889
2954
  `,
2890
2955
  excludeAttrsSync: ['tabindex'],
2891
2956
  componentName: componentName$H,
@@ -3144,7 +3209,7 @@ class PasscodeInternal extends BaseInputClass$7 {
3144
3209
 
3145
3210
  const componentName$F = getComponentName('text-field');
3146
3211
 
3147
- const observedAttrs = ['type'];
3212
+ const observedAttrs = ['type', 'label-type'];
3148
3213
 
3149
3214
  const customMixin$9 = (superclass) =>
3150
3215
  class TextFieldClass extends superclass {
@@ -3152,6 +3217,10 @@ const customMixin$9 = (superclass) =>
3152
3217
  return observedAttrs.concat(superclass.observedAttributes || []);
3153
3218
  }
3154
3219
 
3220
+ onLabelClick() {
3221
+ this.focus();
3222
+ }
3223
+
3155
3224
  attributeChangedCallback(attrName, oldVal, newVal) {
3156
3225
  super.attributeChangeCallback?.(attrName, oldVal, newVal);
3157
3226
 
@@ -3163,6 +3232,16 @@ const customMixin$9 = (superclass) =>
3163
3232
  if (attrName === 'type') {
3164
3233
  this.baseElement._setType(newVal);
3165
3234
  }
3235
+
3236
+ if (oldVal !== newVal) {
3237
+ if (attrName === 'label-type') {
3238
+ if (newVal === 'floating') {
3239
+ this.addEventListener('click', this.onLabelClick);
3240
+ } else {
3241
+ this.removeEventListener('click', this.onLabelClick);
3242
+ }
3243
+ }
3244
+ }
3166
3245
  }
3167
3246
 
3168
3247
  // webauthn is not working when the native input element is nested inside multiple shadow roots
@@ -3215,9 +3294,17 @@ const TextFieldClass = compose(
3215
3294
  :host(:is([readonly], [disabled])) ::slotted(:is(input, textarea):placeholder-shown) {
3216
3295
  opacity: 1;
3217
3296
  }
3297
+
3298
+ vaadin-text-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
3299
+ opacity: 0;
3300
+ }
3301
+ vaadin-text-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
3302
+ opacity: 0;
3303
+ }
3218
3304
  ${resetInputLabelPosition('vaadin-text-field')}
3219
3305
  ${useHostExternalPadding(TextFieldClass.cssVarList)}
3220
3306
  ${resetInputOverrides('vaadin-text-field', TextFieldClass.cssVarList)}
3307
+ ${inputFloatingLabelStyle()}
3221
3308
  `,
3222
3309
  excludeAttrsSync: ['tabindex'],
3223
3310
  componentName: componentName$F,
@@ -3585,7 +3672,7 @@ const customMixin$7 = (superclass) =>
3585
3672
  const {
3586
3673
  host: host$f,
3587
3674
  inputField: inputField$5,
3588
- inputElement: inputElement$2,
3675
+ inputElement: inputElement$3,
3589
3676
  inputElementPlaceholder,
3590
3677
  revealButtonContainer,
3591
3678
  revealButtonIcon,
@@ -3616,8 +3703,8 @@ const PasswordClass = compose(
3616
3703
  fontFamily: [label$7, inputField$5, errorMessage$8, helperText$7],
3617
3704
  inputHeight: { ...inputField$5, property: 'height' },
3618
3705
  inputHorizontalPadding: [
3619
- { ...inputElement$2, property: 'padding-left' },
3620
- { ...inputElement$2, property: 'padding-right' },
3706
+ { ...inputElement$3, property: 'padding-left' },
3707
+ { ...inputElement$3, property: 'padding-right' },
3621
3708
  ],
3622
3709
  inputBackgroundColor: { ...inputField$5, property: 'background-color' },
3623
3710
 
@@ -3631,6 +3718,8 @@ const PasswordClass = compose(
3631
3718
  inputOutlineOffset: { ...inputField$5, property: 'outline-offset' },
3632
3719
  inputOutlineWidth: { ...inputField$5, property: 'outline-width' },
3633
3720
 
3721
+ labelFontSize: { ...label$7, property: 'font-size' },
3722
+ labelFontWeight: { ...label$7, property: 'font-weight' },
3634
3723
  labelTextColor: [
3635
3724
  { ...label$7, property: 'color' },
3636
3725
  { ...requiredIndicator$7, property: 'color' },
@@ -3643,7 +3732,7 @@ const PasswordClass = compose(
3643
3732
  { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'color' },
3644
3733
  ],
3645
3734
  inputValueTextColor: [
3646
- { ...inputElement$2, property: 'color' },
3735
+ { ...inputElement$3, property: 'color' },
3647
3736
  { selector: () => ':host ::slotted(input)', property: 'color' },
3648
3737
  ],
3649
3738
 
@@ -3653,6 +3742,22 @@ const PasswordClass = compose(
3653
3742
  ],
3654
3743
  revealButtonSize: { ...revealButtonContainer, property: 'font-size' },
3655
3744
  revealButtonColor: { ...revealButtonIcon, property: 'color' },
3745
+
3746
+ labelPosition: { ...label$7, property: 'position' },
3747
+ labelTopPosition: { ...label$7, property: 'top' },
3748
+ labelHorizontalPosition: [
3749
+ { ...label$7, property: 'left' },
3750
+ { ...label$7, property: 'right' },
3751
+ ],
3752
+ inputTransformY: { ...label$7, property: 'transform' },
3753
+ inputTransition: { ...label$7, property: 'transition' },
3754
+ marginInlineStart: { ...label$7, property: 'margin-inline-start' },
3755
+ placeholderOpacity: [
3756
+ { selector: '> input:placeholder-shown', property: 'opacity' },
3757
+ { ...inputElement$3, property: 'opacity' },
3758
+ ],
3759
+ inputVerticalAlignment: { ...inputField$5, property: 'align-items' },
3760
+ valueInputHeight: { ...inputElement$3, property: 'height' },
3656
3761
  },
3657
3762
  }),
3658
3763
  draggableMixin,
@@ -3714,6 +3819,17 @@ const PasswordClass = compose(
3714
3819
  vaadin-password-field-button[focus-ring] {
3715
3820
  box-shadow: 0 0 0 2px var(${PasswordClass.cssVarList.inputOutlineColor});
3716
3821
  }
3822
+
3823
+ ${inputFloatingLabelStyle()}
3824
+
3825
+ :host ::slotted(input) {
3826
+ display: none !important;
3827
+ }
3828
+
3829
+ ::part(reveal-button) {
3830
+ align-self: center;
3831
+ }
3832
+
3717
3833
  `,
3718
3834
  excludeAttrsSync: ['tabindex'],
3719
3835
  componentName: componentName$D,
@@ -4033,6 +4149,10 @@ const componentName$z = getComponentName('combo-box');
4033
4149
 
4034
4150
  const ComboBoxMixin = (superclass) =>
4035
4151
  class ComboBoxMixinClass extends superclass {
4152
+ static get observedAttributes() {
4153
+ return ['label-type'];
4154
+ }
4155
+
4036
4156
  // eslint-disable-next-line class-methods-use-this
4037
4157
  #renderItem = ({ displayName, value, label }) => {
4038
4158
  return `<span data-name="${label}" data-id="${value}">${displayName || label}</span>`;
@@ -4233,6 +4353,28 @@ const ComboBoxMixin = (superclass) =>
4233
4353
  });
4234
4354
  }
4235
4355
 
4356
+ onLabelClick() {
4357
+ if (this.isReadOnly || this.isDisabled) {
4358
+ return;
4359
+ }
4360
+ this.focus();
4361
+ this.setAttribute('opened', 'true');
4362
+ }
4363
+
4364
+ attributeChangedCallback(attrName, oldValue, newValue) {
4365
+ super.attributeChangedCallback?.(attrName, oldValue, newValue);
4366
+
4367
+ if (oldValue !== newValue) {
4368
+ if (attrName === 'label-type') {
4369
+ if (newValue === 'floating') {
4370
+ this.addEventListener('click', this.onLabelClick);
4371
+ } else {
4372
+ this.removeEventListener('click', this.onLabelClick);
4373
+ }
4374
+ }
4375
+ }
4376
+ }
4377
+
4236
4378
  setDefaultValue() {
4237
4379
  this.value = this.defaultValue;
4238
4380
  }
@@ -4257,7 +4399,7 @@ const ComboBoxMixin = (superclass) =>
4257
4399
  const {
4258
4400
  host: host$d,
4259
4401
  inputField: inputField$3,
4260
- inputElement: inputElement$1,
4402
+ inputElement: inputElement$2,
4261
4403
  placeholder: placeholder$1,
4262
4404
  toggle: toggle$1,
4263
4405
  clearButton: clearButton$1,
@@ -4286,6 +4428,8 @@ const ComboBoxClass = compose(
4286
4428
  // we apply font-size also on the host so we can set its width with em
4287
4429
  fontSize: [{}, host$d],
4288
4430
  fontFamily: [label$5, placeholder$1, inputField$3, helperText$5, errorMessage$6],
4431
+ labelFontSize: { ...label$5, property: 'font-size' },
4432
+ labelFontWeight: { ...label$5, property: 'font-weight' },
4289
4433
  labelTextColor: [
4290
4434
  { ...label$5, property: 'color' },
4291
4435
  { ...requiredIndicator$5, property: 'color' },
@@ -4321,10 +4465,24 @@ const ComboBoxClass = compose(
4321
4465
  inputOutlineStyle: { ...inputField$3, property: 'outline-style' },
4322
4466
  inputOutlineOffset: { ...inputField$3, property: 'outline-offset' },
4323
4467
  inputHorizontalPadding: [
4324
- { ...inputElement$1, property: 'padding-left' },
4325
- { ...inputElement$1, property: 'padding-right' },
4468
+ { ...inputElement$2, property: 'padding-left' },
4469
+ { ...inputElement$2, property: 'padding-right' },
4326
4470
  ],
4327
4471
 
4472
+ labelPosition: { ...label$5, property: 'position' },
4473
+ labelTopPosition: { ...label$5, property: 'top' },
4474
+ labelHorizontalPosition: [
4475
+ { ...label$5, property: 'left' },
4476
+ { ...label$5, property: 'right' },
4477
+ ],
4478
+ inputTransformY: { ...label$5, property: 'transform' },
4479
+ inputTransition: { ...label$5, property: 'transition' },
4480
+ marginInlineStart: { ...label$5, property: 'margin-inline-start' },
4481
+ placeholderOpacity: { ...placeholder$1, property: 'opacity' },
4482
+ inputVerticalAlignment: { ...inputField$3, property: 'align-items' },
4483
+ valueInputHeight: { ...inputElement$2, property: 'height' },
4484
+ valueInputMarginBottom: { ...inputElement$2, property: 'margin-bottom' },
4485
+
4328
4486
  // we need to use the variables from the portal mixin
4329
4487
  // so we need to use an arrow function on the selector
4330
4488
  // for that to work, because ComboBox is not available
@@ -4405,7 +4563,21 @@ const ComboBoxClass = compose(
4405
4563
  padding: 0;
4406
4564
  box-shadow: none;
4407
4565
  }
4566
+
4567
+ vaadin-combo-box::part(toggle-button),
4568
+ vaadin-combo-box::part(clear-button) {
4569
+ align-self: center;
4570
+ }
4571
+
4572
+ vaadin-combo-box[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
4573
+ opacity: 0;
4574
+ }
4575
+ vaadin-combo-box[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
4576
+ opacity: 0;
4577
+ }
4578
+
4408
4579
  ${resetInputLabelPosition('vaadin-combo-box')}
4580
+ ${inputFloatingLabelStyle()}
4409
4581
  `,
4410
4582
  // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property
4411
4583
  // with the same name. Including it will cause Vaadin to calculate NaN size,
@@ -5662,15 +5834,18 @@ const comboBoxItem = ({ code, dialCode, name: country }) => `
5662
5834
 
5663
5835
  const componentName$y = getComponentName('phone-field-internal');
5664
5836
 
5665
- const commonAttrs$1 = ['disabled', 'size', 'bordered', 'invalid', 'readonly'];
5837
+ const commonAttrs$1 = ['disabled', 'size', 'bordered', 'invalid', 'readonly', 'label-type'];
5666
5838
  const countryAttrs = ['country-input-placeholder', 'default-code', 'restrict-countries'];
5667
5839
  const phoneAttrs = ['phone-input-placeholder', 'maxlength', 'autocomplete', 'name'];
5840
+ const labelTypeAttrs = ['country-input-label', 'phone-input-label'];
5668
5841
  const mapAttrs$1 = {
5842
+ 'country-input-label': 'label',
5843
+ 'phone-input-label': 'label',
5669
5844
  'country-input-placeholder': 'placeholder',
5670
5845
  'phone-input-placeholder': 'placeholder',
5671
5846
  };
5672
5847
 
5673
- const inputRelatedAttrs$1 = [].concat(commonAttrs$1, countryAttrs, phoneAttrs);
5848
+ const inputRelatedAttrs$1 = [].concat(commonAttrs$1, countryAttrs, phoneAttrs, labelTypeAttrs);
5674
5849
 
5675
5850
  const BaseInputClass$6 = createBaseInputClass({ componentName: componentName$y, baseSelector: 'div' });
5676
5851
 
@@ -5699,6 +5874,12 @@ let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$6 {
5699
5874
  this.phoneNumberInput = this.querySelector('descope-text-field');
5700
5875
  this.inputs = [this.countryCodeInput, this.phoneNumberInput];
5701
5876
 
5877
+ forwardAttrs(this, this.countryCodeInput, { includeAttrs: ['label-type'] });
5878
+ forwardAttrs(this, this.phoneNumberInput, { includeAttrs: ['label-type'] });
5879
+
5880
+ const externalInput = this.phoneNumberInput.querySelector('input');
5881
+ syncAttrs(this.phoneNumberInput, externalInput, { includeAttrs: ['focused'] });
5882
+
5702
5883
  // override combo box setter to display dialCode value in input
5703
5884
  this.countryCodeInput.customValueTransformFn = (val) => {
5704
5885
  const [, dialCode] = val?.split?.(' ') || [];
@@ -5835,6 +6016,13 @@ let PhoneFieldInternal$1 = class PhoneFieldInternal extends BaseInputClass$6 {
5835
6016
  this.countryCodeInput.setAttribute(attr, newValue);
5836
6017
  } else if (phoneAttrs.includes(attrName)) {
5837
6018
  this.phoneNumberInput.setAttribute(attr, newValue);
6019
+ } else if (labelTypeAttrs.includes(attrName)) {
6020
+ if (attrName === 'country-input-label') {
6021
+ this.countryCodeInput.setAttribute(attr, newValue);
6022
+ }
6023
+ if (attrName === 'phone-input-label') {
6024
+ this.phoneNumberInput.setAttribute(attr, newValue);
6025
+ }
5838
6026
  }
5839
6027
  }
5840
6028
  if (attrName === 'restrict-countries') {
@@ -5885,6 +6073,10 @@ const customMixin$6 = (superclass) =>
5885
6073
  'phone-input-placeholder',
5886
6074
  'disabled',
5887
6075
  'restrict-countries',
6076
+ 'label-type',
6077
+ 'country-input-label',
6078
+ 'phone-input-label',
6079
+ 'readonly',
5888
6080
  ],
5889
6081
  });
5890
6082
  }
@@ -5897,6 +6089,7 @@ const {
5897
6089
  inputField: inputField$2,
5898
6090
  countryCodeInput,
5899
6091
  phoneInput: phoneInput$1,
6092
+ phoneExternalInput,
5900
6093
  separator: separator$1,
5901
6094
  errorMessage: errorMessage$5,
5902
6095
  helperText: helperText$4,
@@ -5906,6 +6099,7 @@ const {
5906
6099
  requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
5907
6100
  inputField: { selector: '::part(input-field)' },
5908
6101
  phoneInput: { selector: () => 'descope-text-field' },
6102
+ phoneExternalInput: { selector: () => '::slotted(input)' },
5909
6103
  countryCodeInput: { selector: () => 'descope-combo-box' },
5910
6104
  separator: { selector: 'descope-phone-field-internal .separator' },
5911
6105
  helperText: { selector: '::part(helper-text)' },
@@ -5964,6 +6158,13 @@ const PhoneFieldClass = compose(
5964
6158
  },
5965
6159
  phoneInputWidth: { ...phoneInput$1, property: 'width' },
5966
6160
 
6161
+ horizontalPadding: [
6162
+ { ...phoneInput$1, property: 'padding-left' },
6163
+ { ...phoneInput$1, property: 'padding-right' },
6164
+ { ...countryCodeInput, property: 'padding-left' },
6165
+ { ...countryCodeInput, property: 'padding-right' },
6166
+ ],
6167
+
5967
6168
  labelTextColor: [
5968
6169
  { ...label$4, property: 'color' },
5969
6170
  { ...requiredIndicator$4, property: 'color' },
@@ -5987,6 +6188,20 @@ const PhoneFieldClass = compose(
5987
6188
  inputOutlineColor: { ...inputField$2, property: 'outline-color' },
5988
6189
  inputOutlineWidth: { ...inputField$2, property: 'outline-width' },
5989
6190
  inputOutlineOffset: { ...inputField$2, property: 'outline-offset' },
6191
+
6192
+ valueInputHeight: [
6193
+ { ...phoneExternalInput, property: textVars$1.valueInputHeight },
6194
+ { ...countryCodeInput, property: comboVars.valueInputHeight },
6195
+ ],
6196
+ valueInputMarginBottom: [
6197
+ { ...phoneInput$1, property: textVars$1.valueInputMarginBottom },
6198
+ { ...phoneExternalInput, property: 'margin-bottom' },
6199
+ ],
6200
+ marginInlineStart: [
6201
+ { ...phoneInput$1, property: textVars$1.marginInlineStart },
6202
+ { ...phoneExternalInput, property: 'margin-inline-start' },
6203
+ { ...countryCodeInput, property: comboVars.marginInlineStart },
6204
+ ],
5990
6205
  },
5991
6206
  }),
5992
6207
  draggableMixin,
@@ -6057,10 +6272,15 @@ const PhoneFieldClass = compose(
6057
6272
  ${textVars$1.inputOutlineOffset}: 0;
6058
6273
  ${textVars$1.inputBorderWidth}: 0;
6059
6274
  ${textVars$1.inputBorderRadius}: 0;
6060
- }
6061
- vaadin-text-field[readonly] > input:placeholder-shown {
6062
- opacity: 1;
6063
- }
6275
+ }
6276
+
6277
+ descope-text-field[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
6278
+ opacity: 0;
6279
+ }
6280
+ descope-text-field[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
6281
+ opacity: 0;
6282
+ }
6283
+
6064
6284
  vaadin-text-field::part(input-field)::after {
6065
6285
  border: none;
6066
6286
  }
@@ -6088,6 +6308,7 @@ const observedAttributes$2 = [
6088
6308
  'phone-input-placeholder',
6089
6309
  'name',
6090
6310
  'autocomplete',
6311
+ 'label-type',
6091
6312
  ];
6092
6313
  const mapAttrs = {
6093
6314
  'phone-input-placeholder': 'placeholder',
@@ -6270,14 +6491,26 @@ const customMixin$5 = (superclass) =>
6270
6491
  'default-code',
6271
6492
  'disabled',
6272
6493
  'phone-input-placeholder',
6494
+ 'label-type',
6273
6495
  ],
6274
6496
  });
6275
6497
  }
6276
6498
  };
6277
6499
 
6278
- const { host: host$b, label: label$3, requiredIndicator: requiredIndicator$3, inputField: inputField$1, phoneInput, errorMessage: errorMessage$4, helperText: helperText$3 } = {
6500
+ const {
6501
+ host: host$b,
6502
+ label: label$3,
6503
+ inputElement: inputElement$1,
6504
+ requiredIndicator: requiredIndicator$3,
6505
+ inputField: inputField$1,
6506
+ phoneInput,
6507
+ errorMessage: errorMessage$4,
6508
+ helperText: helperText$3,
6509
+ } = {
6279
6510
  host: { selector: () => ':host' },
6280
6511
  label: { selector: '::part(label)' },
6512
+ placeholder: { selector: '> input:placeholder-shown' },
6513
+ inputElement: { selector: 'input' },
6281
6514
  requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
6282
6515
  inputField: { selector: '::part(input-field)' },
6283
6516
  phoneInput: { selector: () => 'descope-text-field' },
@@ -6306,6 +6539,13 @@ const PhoneFieldInputBoxClass = compose(
6306
6539
  inputBorderColor: { ...inputField$1, property: 'border-color' },
6307
6540
  inputBorderRadius: { ...inputField$1, property: 'border-radius' },
6308
6541
 
6542
+ inputHorizontalPadding: [
6543
+ { ...phoneInput, property: 'padding-left' },
6544
+ { ...phoneInput, property: 'padding-right' },
6545
+ ],
6546
+
6547
+ labelFontSize: { ...label$3, property: 'font-size' },
6548
+ labelFontWeight: { ...label$3, property: 'font-weight' },
6309
6549
  labelTextColor: [
6310
6550
  { ...label$3, property: 'color' },
6311
6551
  { ...requiredIndicator$3, property: 'color' },
@@ -6321,6 +6561,21 @@ const PhoneFieldInputBoxClass = compose(
6321
6561
  inputOutlineColor: { ...inputField$1, property: 'outline-color' },
6322
6562
  inputOutlineWidth: { ...inputField$1, property: 'outline-width' },
6323
6563
  inputOutlineOffset: { ...inputField$1, property: 'outline-offset' },
6564
+
6565
+ labelPosition: { ...label$3, property: 'position' },
6566
+ labelTopPosition: { ...label$3, property: 'top' },
6567
+ labelHorizontalPosition: [
6568
+ { ...label$3, property: 'left' },
6569
+ { ...label$3, property: 'right' },
6570
+ ],
6571
+ inputTransformY: { ...label$3, property: 'transform' },
6572
+ inputTransition: { ...label$3, property: 'transition' },
6573
+ marginInlineStart: { ...label$3, property: 'margin-inline-start' },
6574
+ valueInputHeight: { ...inputElement$1, property: 'height' },
6575
+ valueInputMarginBottom: {
6576
+ selector: TextFieldClass.componentName,
6577
+ property: textVars.valueInputMarginBottom,
6578
+ },
6324
6579
  },
6325
6580
  }),
6326
6581
  draggableMixin,
@@ -6388,7 +6643,16 @@ const PhoneFieldInputBoxClass = compose(
6388
6643
  vaadin-text-field::part(input-field)::after {
6389
6644
  border: none;
6390
6645
  }
6646
+
6647
+ vaadin-text-field[label-type="floating"]:not([focused])[readonly] input:placeholder-shown {
6648
+ opacity: 0;
6649
+ }
6650
+ vaadin-text-field[label-type="floating"]:not([focused])[disabled] input:placeholder-shown {
6651
+ opacity: 0;
6652
+ }
6653
+
6391
6654
  ${resetInputLabelPosition('vaadin-text-field')}
6655
+ ${inputFloatingLabelStyle()}
6392
6656
  `,
6393
6657
  excludeAttrsSync: ['tabindex'],
6394
6658
  componentName: componentName$v,
@@ -6671,6 +6935,7 @@ const customMixin$4 = (superclass) =>
6671
6935
  'active-policies',
6672
6936
  'available-policies',
6673
6937
  'data-password-policy-value-minlength',
6938
+ 'label-type',
6674
6939
  ],
6675
6940
  });
6676
6941
  }
@@ -6734,6 +6999,12 @@ const NewPasswordClass = compose(
6734
6999
  property: policyPreviewVars.backgroundColor,
6735
7000
  },
6736
7001
  policyPreviewPadding: { ...policyPreview, property: policyPreviewVars.padding },
7002
+
7003
+ valueInputHeight: { ...passwordInput, property: PasswordClass.cssVarList.valueInputHeight },
7004
+ valueInputMarginBottom: {
7005
+ ...passwordInput,
7006
+ property: PasswordClass.cssVarList.valueInputMarginBottom,
7007
+ },
6737
7008
  },
6738
7009
  }),
6739
7010
  draggableMixin,
@@ -6822,6 +7093,7 @@ const commonAttrs = [
6822
7093
  'readonly',
6823
7094
  'draggable',
6824
7095
  'autocomplete',
7096
+ 'label-type',
6825
7097
  ];
6826
7098
 
6827
7099
  const inputRelatedAttrs = [].concat(
@@ -8923,6 +9195,8 @@ const MultiSelectComboBoxClass = compose(
8923
9195
  fontSize: [{}, host$5],
8924
9196
  chipFontSize: { ...chipLabel, property: 'font-size' },
8925
9197
  fontFamily: [label, placeholder, inputField, helperText$1, errorMessage$1, chipLabel],
9198
+ labelFontSize: { ...label, property: 'font-size' },
9199
+ labelFontWeight: { ...label, property: 'font-weight' },
8926
9200
  labelTextColor: [
8927
9201
  { ...label, property: 'color' },
8928
9202
  { ...requiredIndicator, property: 'color' },
@@ -8973,6 +9247,19 @@ const MultiSelectComboBoxClass = compose(
8973
9247
  { ...overflowChipSecondBorder, property: 'border-color' },
8974
9248
  ],
8975
9249
 
9250
+ labelPosition: { ...label, property: 'position' },
9251
+ labelTopPosition: { ...label, property: 'top' },
9252
+ labelLeftPosition: { ...label, property: 'left' },
9253
+ labelHorizontalPosition: [
9254
+ { ...label, property: 'left' },
9255
+ { ...label, property: 'right' },
9256
+ ],
9257
+ inputTransformY: { ...label, property: 'transform' },
9258
+ inputTransition: { ...label, property: 'transition' },
9259
+ marginInlineStart: { ...label, property: 'margin-inline-start' },
9260
+ placeholderOpacity: { ...placeholder, property: 'opacity' },
9261
+ inputVerticalAlignment: { ...inputField, property: 'align-items' },
9262
+
8976
9263
  // we need to use the variables from the portal mixin
8977
9264
  // so we need to use an arrow function on the selector
8978
9265
  // for that to work, because ComboBox is not available
@@ -9087,6 +9374,21 @@ const MultiSelectComboBoxClass = compose(
9087
9374
  :host([has-no-options][allow-custom-value='true']) ::part(toggle-button) {
9088
9375
  display: none;
9089
9376
  }
9377
+
9378
+ ${inputFloatingLabelStyle()}
9379
+
9380
+ vaadin-multi-select-combo-box::part(toggle-button),
9381
+ vaadin-multi-select-combo-box::part(clear-button) {
9382
+ align-self: center;
9383
+ }
9384
+
9385
+ vaadin-multi-select-combo-box[label-type="floating"]:not([focused])[readonly] > input:placeholder-shown {
9386
+ opacity: 0;
9387
+ }
9388
+ vaadin-multi-select-combo-box[label-type="floating"]:not([focused])[disabled] > input:placeholder-shown {
9389
+ opacity: 0;
9390
+ }
9391
+
9090
9392
  `,
9091
9393
  // Note: we exclude `size` to avoid overriding Vaadin's ComboBox property
9092
9394
  // with the same name. Including it will cause Vaadin to calculate NaN size,
@@ -11881,6 +12183,7 @@ const [theme$1, refs, vars$H] = createHelperVars(
11881
12183
  {
11882
12184
  labelTextColor: globalRefs$q.colors.surface.dark,
11883
12185
  labelFontSize: '14px', // not taken from globals as it is fixed in all inputs
12186
+ labelFontWeight: '500', // not taken from globals as it is fixed in all inputs
11884
12187
  valueTextColor: globalRefs$q.colors.surface.contrast,
11885
12188
  placeholderTextColor: globalRefs$q.colors.surface.dark,
11886
12189
  requiredIndicator: "'*'",
@@ -11918,6 +12221,40 @@ const [theme$1, refs, vars$H] = createHelperVars(
11918
12221
  lg: { fontSize: '18px', chipFontSize: '16px' },
11919
12222
  },
11920
12223
 
12224
+ labelType: {
12225
+ floating: {
12226
+ labelPosition: 'absolute',
12227
+ labelTopPosition: '0',
12228
+ labelHorizontalPosition: '0.9em',
12229
+ labelFontSize: '1em',
12230
+ placeholderOpacity: 0,
12231
+ inputHeight: '3.5em',
12232
+ inputVerticalAlignment: 'flex-end',
12233
+ inputTransformY: 'translateY(1.55em)',
12234
+ inputTransition: 'all 75ms ease-in-out',
12235
+ marginInlineStart: '0', // `calc(0.25em + ${globalRefs.border.sm})`,
12236
+ valueInputHeight: '1.5702em',
12237
+ valueInputMarginBottom: '0.5em',
12238
+
12239
+ _focused: {
12240
+ labelFontSize: '0.75em',
12241
+ inputTransformY: 'translateY(1.05em)',
12242
+ labelFontWeight: '400',
12243
+ placeholderOpacity: 1,
12244
+ },
12245
+
12246
+ _readOnly: {
12247
+ placeholderOpacity: 0,
12248
+ },
12249
+
12250
+ _hasValue: {
12251
+ inputTransformY: 'translateY(1.05em)',
12252
+ labelFontSize: '0.75em',
12253
+ labelFontWeight: '400',
12254
+ },
12255
+ },
12256
+ },
12257
+
11921
12258
  _fullWidth: {
11922
12259
  width: '100%',
11923
12260
  },
@@ -11965,6 +12302,8 @@ const textField = {
11965
12302
  [vars$G.hostDirection]: refs.direction,
11966
12303
  [vars$G.fontSize]: refs.fontSize,
11967
12304
  [vars$G.fontFamily]: refs.fontFamily,
12305
+ [vars$G.labelFontSize]: refs.labelFontSize,
12306
+ [vars$G.labelFontWeight]: refs.labelFontWeight,
11968
12307
  [vars$G.labelTextColor]: refs.labelTextColor,
11969
12308
  [vars$G.labelRequiredIndicator]: refs.requiredIndicator,
11970
12309
  [vars$G.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -11987,6 +12326,21 @@ const textField = {
11987
12326
  left: { [vars$G.inputTextAlign]: 'left' },
11988
12327
  center: { [vars$G.inputTextAlign]: 'center' },
11989
12328
  },
12329
+
12330
+ labelType: {
12331
+ floating: {
12332
+ [vars$G.labelPosition]: refs.labelPosition,
12333
+ [vars$G.labelTopPosition]: refs.labelTopPosition,
12334
+ [vars$G.labelHorizontalPosition]: refs.labelHorizontalPosition,
12335
+ [vars$G.inputTransformY]: refs.inputTransformY,
12336
+ [vars$G.inputTransition]: refs.inputTransition,
12337
+ [vars$G.marginInlineStart]: refs.marginInlineStart,
12338
+ [vars$G.placeholderOpacity]: refs.placeholderOpacity,
12339
+ [vars$G.inputVerticalAlignment]: refs.inputVerticalAlignment,
12340
+ [vars$G.valueInputHeight]: refs.valueInputHeight,
12341
+ [vars$G.valueInputMarginBottom]: refs.valueInputMarginBottom,
12342
+ },
12343
+ },
11990
12344
  };
11991
12345
 
11992
12346
  var textField$1 = /*#__PURE__*/Object.freeze({
@@ -12001,9 +12355,12 @@ const vars$F = PasswordClass.cssVarList;
12001
12355
 
12002
12356
  const password = {
12003
12357
  [vars$F.hostWidth]: refs.width,
12358
+ [vars$F.hostMinWidth]: refs.minWidth,
12004
12359
  [vars$F.hostDirection]: refs.direction,
12005
12360
  [vars$F.fontSize]: refs.fontSize,
12006
12361
  [vars$F.fontFamily]: refs.fontFamily,
12362
+ [vars$F.labelFontSize]: refs.labelFontSize,
12363
+ [vars$F.labelFontWeight]: refs.labelFontWeight,
12007
12364
  [vars$F.labelTextColor]: refs.labelTextColor,
12008
12365
  [vars$F.errorMessageTextColor]: refs.errorMessageTextColor,
12009
12366
  [vars$F.inputHorizontalPadding]: refs.horizontalPadding,
@@ -12023,6 +12380,20 @@ const password = {
12023
12380
  [vars$F.revealButtonOffset]: globalRefs$p.spacing.md,
12024
12381
  [vars$F.revealButtonSize]: refs.toggleButtonSize,
12025
12382
  [vars$F.revealButtonColor]: refs.placeholderTextColor,
12383
+
12384
+ labelType: {
12385
+ floating: {
12386
+ [vars$F.labelPosition]: refs.labelPosition,
12387
+ [vars$F.labelTopPosition]: refs.labelTopPosition,
12388
+ [vars$F.labelHorizontalPosition]: refs.labelHorizontalPosition,
12389
+ [vars$F.inputTransformY]: refs.inputTransformY,
12390
+ [vars$F.inputTransition]: refs.inputTransition,
12391
+ [vars$F.marginInlineStart]: refs.marginInlineStart,
12392
+ [vars$F.placeholderOpacity]: refs.placeholderOpacity,
12393
+ [vars$F.inputVerticalAlignment]: refs.inputVerticalAlignment,
12394
+ [vars$F.valueInputHeight]: refs.valueInputHeight,
12395
+ },
12396
+ },
12026
12397
  };
12027
12398
 
12028
12399
  var password$1 = /*#__PURE__*/Object.freeze({
@@ -12039,6 +12410,8 @@ const numberField = {
12039
12410
  [vars$E.hostDirection]: refs.direction,
12040
12411
  [vars$E.fontSize]: refs.fontSize,
12041
12412
  [vars$E.fontFamily]: refs.fontFamily,
12413
+ [vars$E.labelFontSize]: refs.labelFontSize,
12414
+ [vars$E.labelFontWeight]: refs.labelFontWeight,
12042
12415
  [vars$E.labelTextColor]: refs.labelTextColor,
12043
12416
  [vars$E.errorMessageTextColor]: refs.errorMessageTextColor,
12044
12417
  [vars$E.inputValueTextColor]: refs.valueTextColor,
@@ -12055,6 +12428,21 @@ const numberField = {
12055
12428
  [vars$E.labelRequiredIndicator]: refs.requiredIndicator,
12056
12429
  [vars$E.inputHorizontalPadding]: refs.horizontalPadding,
12057
12430
  [vars$E.inputHeight]: refs.inputHeight,
12431
+
12432
+ labelType: {
12433
+ floating: {
12434
+ [vars$E.labelPosition]: refs.labelPosition,
12435
+ [vars$E.labelTopPosition]: refs.labelTopPosition,
12436
+ [vars$E.labelHorizontalPosition]: refs.labelHorizontalPosition,
12437
+ [vars$E.inputTransformY]: refs.inputTransformY,
12438
+ [vars$E.inputTransition]: refs.inputTransition,
12439
+ [vars$E.marginInlineStart]: refs.marginInlineStart,
12440
+ [vars$E.placeholderOpacity]: refs.placeholderOpacity,
12441
+ [vars$E.inputVerticalAlignment]: refs.inputVerticalAlignment,
12442
+ [vars$E.valueInputHeight]: refs.valueInputHeight,
12443
+ [vars$E.valueInputMarginBottom]: refs.valueInputMarginBottom,
12444
+ },
12445
+ },
12058
12446
  };
12059
12447
 
12060
12448
  var numberField$1 = /*#__PURE__*/Object.freeze({
@@ -12071,6 +12459,8 @@ const emailField = {
12071
12459
  [vars$D.hostDirection]: refs.direction,
12072
12460
  [vars$D.fontSize]: refs.fontSize,
12073
12461
  [vars$D.fontFamily]: refs.fontFamily,
12462
+ [vars$D.labelFontSize]: refs.labelFontSize,
12463
+ [vars$D.labelFontWeight]: refs.labelFontWeight,
12074
12464
  [vars$D.labelTextColor]: refs.labelTextColor,
12075
12465
  [vars$D.errorMessageTextColor]: refs.errorMessageTextColor,
12076
12466
  [vars$D.inputValueTextColor]: refs.valueTextColor,
@@ -12087,6 +12477,21 @@ const emailField = {
12087
12477
  [vars$D.inputBackgroundColor]: refs.backgroundColor,
12088
12478
  [vars$D.inputHorizontalPadding]: refs.horizontalPadding,
12089
12479
  [vars$D.inputHeight]: refs.inputHeight,
12480
+
12481
+ labelType: {
12482
+ floating: {
12483
+ [vars$D.labelPosition]: refs.labelPosition,
12484
+ [vars$D.labelTopPosition]: refs.labelTopPosition,
12485
+ [vars$D.labelHorizontalPosition]: refs.labelHorizontalPosition,
12486
+ [vars$D.inputTransformY]: refs.inputTransformY,
12487
+ [vars$D.inputTransition]: refs.inputTransition,
12488
+ [vars$D.marginInlineStart]: refs.marginInlineStart,
12489
+ [vars$D.placeholderOpacity]: refs.placeholderOpacity,
12490
+ [vars$D.inputVerticalAlignment]: refs.inputVerticalAlignment,
12491
+ [vars$D.valueInputHeight]: refs.valueInputHeight,
12492
+ [vars$D.valueInputMarginBottom]: refs.valueInputMarginBottom,
12493
+ },
12494
+ },
12090
12495
  };
12091
12496
 
12092
12497
  var emailField$1 = /*#__PURE__*/Object.freeze({
@@ -12813,6 +13218,8 @@ const comboBox = {
12813
13218
  [vars$o.hostDirection]: refs.direction,
12814
13219
  [vars$o.fontSize]: refs.fontSize,
12815
13220
  [vars$o.fontFamily]: refs.fontFamily,
13221
+ [vars$o.labelFontSize]: refs.labelFontSize,
13222
+ [vars$o.labelFontWeight]: refs.labelFontWeight,
12816
13223
  [vars$o.labelTextColor]: refs.labelTextColor,
12817
13224
  [vars$o.errorMessageTextColor]: refs.errorMessageTextColor,
12818
13225
  [vars$o.inputBorderColor]: refs.borderColor,
@@ -12836,6 +13243,21 @@ const comboBox = {
12836
13243
  [vars$o.overlayItemPaddingInlineStart]: globalRefs$g.spacing.xs,
12837
13244
  [vars$o.overlayItemPaddingInlineEnd]: globalRefs$g.spacing.lg,
12838
13245
 
13246
+ labelType: {
13247
+ floating: {
13248
+ [vars$o.labelPosition]: refs.labelPosition,
13249
+ [vars$o.labelTopPosition]: refs.labelTopPosition,
13250
+ [vars$o.labelHorizontalPosition]: refs.labelHorizontalPosition,
13251
+ [vars$o.inputTransformY]: refs.inputTransformY,
13252
+ [vars$o.inputTransition]: refs.inputTransition,
13253
+ [vars$o.marginInlineStart]: refs.marginInlineStart,
13254
+ [vars$o.placeholderOpacity]: refs.placeholderOpacity,
13255
+ [vars$o.inputVerticalAlignment]: refs.inputVerticalAlignment,
13256
+ [vars$o.valueInputHeight]: refs.valueInputHeight,
13257
+ [vars$o.valueInputMarginBottom]: refs.valueInputMarginBottom,
13258
+ },
13259
+ },
13260
+
12839
13261
  _readonly: {
12840
13262
  [vars$o.inputDropdownButtonCursor]: 'default',
12841
13263
  },
@@ -12894,6 +13316,14 @@ const phoneField = {
12894
13316
  [vars$m.countryCodeInputWidth]: '5em',
12895
13317
  [vars$m.countryCodeDropdownWidth]: '20em',
12896
13318
 
13319
+ labelType: {
13320
+ floating: {
13321
+ [vars$m.marginInlineStart]: '-0.25em',
13322
+ [vars$m.valueInputHeight]: '1.65em',
13323
+ [vars$m.valueInputMarginBottom]: '0.25em',
13324
+ },
13325
+ },
13326
+
12897
13327
  // '@overlay': {
12898
13328
  // overlayItemBackgroundColor: 'red'
12899
13329
  // }
@@ -12913,6 +13343,8 @@ const phoneInputBoxField = {
12913
13343
  [vars$l.hostDirection]: refs.direction,
12914
13344
  [vars$l.fontSize]: refs.fontSize,
12915
13345
  [vars$l.fontFamily]: refs.fontFamily,
13346
+ [vars$l.labelFontSize]: refs.labelFontSize,
13347
+ [vars$l.labelFontWeight]: refs.labelFontWeight,
12916
13348
  [vars$l.labelTextColor]: refs.labelTextColor,
12917
13349
  [vars$l.labelRequiredIndicator]: refs.requiredIndicator,
12918
13350
  [vars$l.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -12926,6 +13358,21 @@ const phoneInputBoxField = {
12926
13358
  [vars$l.inputOutlineWidth]: refs.outlineWidth,
12927
13359
  [vars$l.inputOutlineColor]: refs.outlineColor,
12928
13360
  [vars$l.inputOutlineOffset]: refs.outlineOffset,
13361
+
13362
+ labelType: {
13363
+ floating: {
13364
+ [vars$l.labelPosition]: refs.labelPosition,
13365
+ [vars$l.labelTopPosition]: refs.labelTopPosition,
13366
+ [vars$l.labelHorizontalPosition]: refs.labelHorizontalPosition,
13367
+ [vars$l.inputTransformY]: refs.inputTransformY,
13368
+ [vars$l.inputTransition]: refs.inputTransition,
13369
+ [vars$l.marginInlineStart]: refs.marginInlineStart,
13370
+ [vars$l.valueInputHeight]: refs.valueInputHeight,
13371
+ [vars$l.valueInputMarginBottom]: '0.25em',
13372
+ [vars$l.inputHorizontalPadding]: '0',
13373
+ },
13374
+ },
13375
+
12929
13376
  _fullWidth: {
12930
13377
  [vars$l.hostWidth]: refs.width,
12931
13378
  },
@@ -12946,11 +13393,21 @@ const newPassword = {
12946
13393
  [vars$k.hostDirection]: refs.direction,
12947
13394
  [vars$k.fontSize]: refs.fontSize,
12948
13395
  [vars$k.fontFamily]: refs.fontFamily,
13396
+ [vars$k.labelFontSize]: refs.labelFontSize,
13397
+ [vars$k.labelFontWeight]: refs.labelFontWeight,
13398
+ [vars$k.labelTextColor]: refs.labelTextColor,
12949
13399
  [vars$k.spaceBetweenInputs]: '1em',
12950
13400
  [vars$k.errorMessageTextColor]: refs.errorMessageTextColor,
12951
13401
  [vars$k.policyPreviewBackgroundColor]: 'none',
12952
13402
  [vars$k.policyPreviewPadding]: globalRefs$f.spacing.lg,
12953
13403
 
13404
+ labelType: {
13405
+ floating: {
13406
+ [vars$k.inputHeight]: refs.inputHeight,
13407
+ [vars$k.valueInputHeight]: refs.valueInputHeight,
13408
+ },
13409
+ },
13410
+
12954
13411
  _required: {
12955
13412
  // NewPassword doesn't pass `required` attribute to its Password components.
12956
13413
  // That's why we fake the required indicator on each input.
@@ -13225,6 +13682,8 @@ const multiSelectComboBox = {
13225
13682
  [vars$c.hostDirection]: refs.direction,
13226
13683
  [vars$c.fontSize]: refs.fontSize,
13227
13684
  [vars$c.fontFamily]: refs.fontFamily,
13685
+ [vars$c.labelFontSize]: refs.labelFontSize,
13686
+ [vars$c.labelFontWeight]: refs.labelFontWeight,
13228
13687
  [vars$c.labelTextColor]: refs.labelTextColor,
13229
13688
  [vars$c.errorMessageTextColor]: refs.errorMessageTextColor,
13230
13689
  [vars$c.inputBorderColor]: refs.borderColor,
@@ -13252,6 +13711,26 @@ const multiSelectComboBox = {
13252
13711
  [vars$c.chipTextColor]: globalRefs$9.colors.surface.contrast,
13253
13712
  [vars$c.chipBackgroundColor]: globalRefs$9.colors.surface.light,
13254
13713
 
13714
+ labelType: {
13715
+ floating: {
13716
+ [vars$c.labelPosition]: refs.labelPosition,
13717
+ [vars$c.labelTopPosition]: refs.labelTopPosition,
13718
+ [vars$c.labelLeftPosition]: refs.labelLeftPosition,
13719
+ [vars$c.labelHorizontalPosition]: refs.labelHorizontalPosition,
13720
+ [vars$c.inputTransformY]: refs.inputTransformY,
13721
+ [vars$c.inputTransition]: refs.inputTransition,
13722
+ [vars$c.marginInlineStart]: refs.marginInlineStart,
13723
+ [vars$c.placeholderOpacity]: refs.placeholderOpacity,
13724
+ [vars$c.inputVerticalAlignment]: refs.inputVerticalAlignment,
13725
+ [vars$c.valueInputHeight]: refs.valueInputHeight,
13726
+ [vars$c.inputHorizontalPadding]: '0.25em',
13727
+
13728
+ _hasValue: {
13729
+ [vars$c.inputHorizontalPadding]: '0.45em',
13730
+ },
13731
+ },
13732
+ },
13733
+
13255
13734
  _readonly: {
13256
13735
  [vars$c.inputDropdownButtonCursor]: 'default',
13257
13736
  },