@descope/web-components-ui 1.0.322 → 1.0.323

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 (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
  },