@descope/web-components-ui 3.3.5 → 3.5.0

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 (75) hide show
  1. package/dist/cjs/index.cjs.js +344 -15
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +344 -15
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/3685.js +1 -1
  6. package/dist/umd/3685.js.map +1 -1
  7. package/dist/umd/7092.js +1 -1
  8. package/dist/umd/7092.js.map +1 -1
  9. package/dist/umd/DescopeDev.js +1 -1
  10. package/dist/umd/DescopeDev.js.map +1 -1
  11. package/dist/umd/descope-date-field-index-js.js +1 -1
  12. package/dist/umd/descope-date-field-index-js.js.map +1 -1
  13. package/dist/umd/descope-email-field-index-js.js +4 -4
  14. package/dist/umd/descope-email-field-index-js.js.map +1 -1
  15. package/dist/umd/descope-hybrid-field-index-js.js +1 -1
  16. package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
  17. package/dist/umd/descope-multi-select-combo-box-index-js.js +1 -1
  18. package/dist/umd/descope-multi-select-combo-box-index-js.js.map +1 -1
  19. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js +1 -1
  20. package/dist/umd/descope-new-password-descope-new-password-internal-index-js.js.map +1 -1
  21. package/dist/umd/descope-new-password-index-js.js +1 -1
  22. package/dist/umd/descope-new-password-index-js.js.map +1 -1
  23. package/dist/umd/descope-number-field-index-js.js +1 -1
  24. package/dist/umd/descope-number-field-index-js.js.map +1 -1
  25. package/dist/umd/descope-passcode-index-js.js +1 -1
  26. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  27. package/dist/umd/descope-password-index-js.js +1 -1
  28. package/dist/umd/descope-password-index-js.js.map +1 -1
  29. package/dist/umd/descope-radio-group-index-js.js +1 -1
  30. package/dist/umd/descope-radio-group-index-js.js.map +1 -1
  31. package/dist/umd/descope-security-questions-setup-index-js.js +1 -1
  32. package/dist/umd/descope-security-questions-setup-index-js.js.map +1 -1
  33. package/dist/umd/descope-security-questions-verify-index-js.js +1 -1
  34. package/dist/umd/descope-security-questions-verify-index-js.js.map +1 -1
  35. package/dist/umd/descope-text-area-index-js.js +1 -1
  36. package/dist/umd/descope-text-area-index-js.js.map +1 -1
  37. package/dist/umd/descope-text-field-index-js.js +1 -1
  38. package/dist/umd/descope-text-field-index-js.js.map +1 -1
  39. package/dist/umd/descope-timer-button.js +2 -2
  40. package/dist/umd/descope-timer-button.js.map +1 -1
  41. package/dist/umd/descope-timer.js +1 -1
  42. package/dist/umd/descope-timer.js.map +1 -1
  43. package/dist/umd/index.js +1 -1
  44. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  45. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  46. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  47. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  48. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  49. package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
  50. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  51. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  52. package/package.json +32 -32
  53. package/src/components/descope-date-field/DateFieldClass.js +20 -0
  54. package/src/components/descope-hybrid-field/HybridFieldClass.js +50 -0
  55. package/src/components/descope-multi-select-combo-box/MultiSelectComboBoxClass.js +4 -0
  56. package/src/components/descope-new-password/NewPasswordClass.js +10 -0
  57. package/src/components/descope-passcode/PasscodeClass.js +6 -0
  58. package/src/components/descope-password/PasswordClass.js +10 -0
  59. package/src/components/descope-text-area/TextAreaClass.js +6 -0
  60. package/src/components/descope-text-field/textFieldMappings.js +11 -0
  61. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +9 -0
  62. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +4 -0
  63. package/src/theme/components/dateField.js +6 -0
  64. package/src/theme/components/emailField.js +4 -0
  65. package/src/theme/components/hybridField.js +5 -0
  66. package/src/theme/components/inputWrapper.js +4 -0
  67. package/src/theme/components/multiSelectComboBox.js +4 -0
  68. package/src/theme/components/newPassword.js +4 -0
  69. package/src/theme/components/numberField.js +4 -0
  70. package/src/theme/components/passcode.js +3 -0
  71. package/src/theme/components/password.js +4 -0
  72. package/src/theme/components/phoneField.js +6 -0
  73. package/src/theme/components/phoneInputBoxField.js +4 -0
  74. package/src/theme/components/textArea.js +6 -0
  75. package/src/theme/components/textField.js +4 -0
package/dist/index.esm.js CHANGED
@@ -5277,7 +5277,7 @@ const ComboBoxMixin = (superclass) =>
5277
5277
  return ['label-type', 'require-match'];
5278
5278
  }
5279
5279
 
5280
- // eslint-disable-next-line class-methods-use-this
5280
+
5281
5281
  #renderItem = ({ displayName, value, label }) => {
5282
5282
  return `<span data-name="${label}" data-id="${value}">${
5283
5283
  displayName || label
@@ -5328,7 +5328,7 @@ const ComboBoxMixin = (superclass) =>
5328
5328
  return data;
5329
5329
  }
5330
5330
  } catch (e) {
5331
- // eslint-disable-next-line no-console
5331
+
5332
5332
  console.error(
5333
5333
  'could not parse data string from attribute "data" -',
5334
5334
  e.message,
@@ -5347,14 +5347,16 @@ const ComboBoxMixin = (superclass) =>
5347
5347
  }
5348
5348
 
5349
5349
  get requireMatch() {
5350
- return this.getAttribute('require-match') === 'true' && !this.allowCustomValue;
5350
+ return (
5351
+ this.getAttribute('require-match') === 'true' && !this.allowCustomValue
5352
+ );
5351
5353
  }
5352
5354
 
5353
- // eslint-disable-next-line class-methods-use-this
5355
+
5354
5356
  isValidDataType(data) {
5355
5357
  const isValid = Array.isArray(data);
5356
5358
  if (!isValid) {
5357
- // eslint-disable-next-line no-console
5359
+
5358
5360
  console.error('data must be an array, received:', data);
5359
5361
  }
5360
5362
 
@@ -5403,7 +5405,7 @@ const ComboBoxMixin = (superclass) =>
5403
5405
  }
5404
5406
  }
5405
5407
 
5406
- // eslint-disable-next-line class-methods-use-this
5408
+
5407
5409
  customValueTransformFn(val) {
5408
5410
  return val;
5409
5411
  }
@@ -5488,7 +5490,7 @@ const ComboBoxMixin = (superclass) =>
5488
5490
  // and not via default renderer, which renders only the data-name's value
5489
5491
  // in its own HTML template
5490
5492
  this.baseElement.renderer = (root, combo, model) => {
5491
- // eslint-disable-next-line no-param-reassign
5493
+
5492
5494
  root.innerHTML = model.item.outerHTML;
5493
5495
  };
5494
5496
  }
@@ -5506,7 +5508,9 @@ const ComboBoxMixin = (superclass) =>
5506
5508
  const val = this.baseElement.querySelector('input').value;
5507
5509
 
5508
5510
  if (val) {
5509
- return this.baseElement.items.some(item => item.dataset.name === val || item.dataset.id === val);
5511
+ return this.baseElement.items.some(
5512
+ (item) => item.dataset.name === val || item.dataset.id === val,
5513
+ );
5510
5514
  }
5511
5515
 
5512
5516
  return true;
@@ -5515,7 +5519,7 @@ const ComboBoxMixin = (superclass) =>
5515
5519
  init() {
5516
5520
  super.init?.();
5517
5521
 
5518
- // eslint-disable-next-line func-names
5522
+
5519
5523
  this.getValidity = function () {
5520
5524
  if (this.requireMatch && !this.isValueMatch()) {
5521
5525
  return {
@@ -5581,7 +5585,8 @@ const ComboBoxMixin = (superclass) =>
5581
5585
  }
5582
5586
 
5583
5587
  handleRequireMatchChange(shouldValidate) {
5584
- this.baseElement.allowCustomValue = shouldValidate || this.allowCustomValue;
5588
+ this.baseElement.allowCustomValue =
5589
+ shouldValidate || this.allowCustomValue;
5585
5590
  }
5586
5591
 
5587
5592
  attributeChangedCallback(attrName, oldValue, newValue) {
@@ -5693,6 +5698,10 @@ const ComboBoxClass = compose$1(
5693
5698
  fontFamily: [label$a, placeholder$3, inputField$6, helperText$8, errorMessage$b],
5694
5699
  labelFontSize: { ...label$a, property: 'font-size' },
5695
5700
  labelFontWeight: { ...label$a, property: 'font-weight' },
5701
+ inputValueFontWeight: { ...inputField$6, property: 'font-weight' },
5702
+ inputPlaceholderFontWeight: { ...placeholder$3, property: 'font-weight' },
5703
+ helperTextFontWeight: { ...helperText$8, property: 'font-weight' },
5704
+ errorMessageFontWeight: { ...errorMessage$b, property: 'font-weight' },
5696
5705
  labelTextColor: [
5697
5706
  { ...label$a, property: 'color' },
5698
5707
  { ...label$a, property: '-webkit-text-fill-color' },
@@ -7390,6 +7399,17 @@ var textFieldMappings = {
7390
7399
  labelFontSize: { ...label$8, property: 'font-size' },
7391
7400
  labelFontWeight: { ...label$8, property: 'font-weight' },
7392
7401
 
7402
+ inputValueFontWeight: [
7403
+ { ...input$1, property: 'font-weight' },
7404
+ { ...externalInput, property: 'font-weight' },
7405
+ ],
7406
+ inputPlaceholderFontWeight: [
7407
+ { selector: () => ':host input:placeholder-shown', property: 'font-weight' },
7408
+ { ...externalPlaceholder, property: 'font-weight' },
7409
+ ],
7410
+ helperTextFontWeight: { ...helperText$7, property: 'font-weight' },
7411
+ errorMessageFontWeight: { ...errorMessage$a, property: 'font-weight' },
7412
+
7393
7413
  labelTextColor: [
7394
7414
  { ...label$8, property: 'color' },
7395
7415
  { ...requiredIndicator$8, property: 'color' },
@@ -8650,6 +8670,26 @@ const DateFieldClass = compose(
8650
8670
  selector: TextFieldClass.componentName,
8651
8671
  property: TextFieldClass.cssVarList.errorMessageFontSize,
8652
8672
  },
8673
+ labelFontWeight: {
8674
+ selector: TextFieldClass.componentName,
8675
+ property: TextFieldClass.cssVarList.labelFontWeight,
8676
+ },
8677
+ inputValueFontWeight: {
8678
+ selector: TextFieldClass.componentName,
8679
+ property: TextFieldClass.cssVarList.inputValueFontWeight,
8680
+ },
8681
+ inputPlaceholderFontWeight: {
8682
+ selector: TextFieldClass.componentName,
8683
+ property: TextFieldClass.cssVarList.inputPlaceholderFontWeight,
8684
+ },
8685
+ helperTextFontWeight: {
8686
+ selector: TextFieldClass.componentName,
8687
+ property: TextFieldClass.cssVarList.helperTextFontWeight,
8688
+ },
8689
+ errorMessageFontWeight: {
8690
+ selector: TextFieldClass.componentName,
8691
+ property: TextFieldClass.cssVarList.errorMessageFontWeight,
8692
+ },
8653
8693
  },
8654
8694
  }),
8655
8695
  portalMixin({
@@ -9325,6 +9365,12 @@ const PasscodeClass = compose(
9325
9365
  hostWidth: { property: 'width' },
9326
9366
  hostDirection: { ...host$n, property: 'direction' },
9327
9367
  fontFamily: [host$n, { ...label$7 }],
9368
+ labelFontWeight: { ...label$7, property: 'font-weight' },
9369
+ errorMessageFontWeight: { ...errorMessage$9, property: 'font-weight' },
9370
+ digitValueFontWeight: {
9371
+ selector: TextFieldClass.componentName,
9372
+ property: textVars$3.inputValueFontWeight,
9373
+ },
9328
9374
  labelTextColor: [
9329
9375
  { ...label$7, property: 'color' },
9330
9376
  { ...label$7, property: '-webkit-text-fill-color' },
@@ -9650,6 +9696,16 @@ const PasswordClass = compose(
9650
9696
 
9651
9697
  labelFontSize: { ...label$6, property: 'font-size' },
9652
9698
  labelFontWeight: { ...label$6, property: 'font-weight' },
9699
+ inputValueFontWeight: [
9700
+ { ...inputElement$2, property: 'font-weight' },
9701
+ { selector: () => ':host ::slotted(input)', property: 'font-weight' },
9702
+ ],
9703
+ inputPlaceholderFontWeight: [
9704
+ { ...inputElementPlaceholder, property: 'font-weight' },
9705
+ { selector: () => ':host ::slotted(input:placeholder-shown)', property: 'font-weight' },
9706
+ ],
9707
+ helperTextFontWeight: { ...helperText$6, property: 'font-weight' },
9708
+ errorMessageFontWeight: { ...errorMessage$8, property: 'font-weight' },
9653
9709
  labelTextColor: [
9654
9710
  { ...label$6, property: 'color' },
9655
9711
  { ...label$6, property: '-webkit-text-fill-color' },
@@ -9811,6 +9867,12 @@ const TextAreaClass = compose(
9811
9867
  hostDirection: { ...host$l, property: 'direction' },
9812
9868
  fontSize: [host$l, textArea$2],
9813
9869
  fontFamily: [label$5, inputField$3, helperText$5, errorMessage$7],
9870
+ labelFontSize: { ...label$5, property: 'font-size' },
9871
+ labelFontWeight: { ...label$5, property: 'font-weight' },
9872
+ inputValueFontWeight: { ...textArea$2, property: 'font-weight' },
9873
+ inputPlaceholderFontWeight: { ...placeholder$1, property: 'font-weight' },
9874
+ helperTextFontWeight: { ...helperText$5, property: 'font-weight' },
9875
+ errorMessageFontWeight: { ...errorMessage$7, property: 'font-weight' },
9814
9876
  labelTextColor: [
9815
9877
  { ...label$5, property: 'color' },
9816
9878
  { ...label$5, property: '-webkit-text-fill-color' },
@@ -11640,6 +11702,15 @@ const PhoneFieldClass = compose(
11640
11702
  { ...countryCodeInput, property: 'padding-right' },
11641
11703
  ],
11642
11704
 
11705
+ labelFontSize: { ...label$4, property: 'font-size' },
11706
+ labelFontWeight: { ...label$4, property: 'font-weight' },
11707
+ inputValueFontWeight: [
11708
+ { ...phoneInput$1, property: textVars$2.inputValueFontWeight },
11709
+ { ...countryCodeInput, property: comboVars.inputValueFontWeight },
11710
+ ],
11711
+ inputPlaceholderFontWeight: { ...phoneInput$1, property: textVars$2.inputPlaceholderFontWeight },
11712
+ helperTextFontWeight: { ...helperText$4, property: 'font-weight' },
11713
+ errorMessageFontWeight: { ...errorMessage$6, property: 'font-weight' },
11643
11714
  labelTextColor: [
11644
11715
  { ...label$4, property: 'color' },
11645
11716
  { ...label$4, property: '-webkit-text-fill-color' },
@@ -12176,6 +12247,10 @@ const PhoneFieldInputBoxClass = compose(
12176
12247
 
12177
12248
  labelFontSize: { ...label$3, property: 'font-size' },
12178
12249
  labelFontWeight: { ...label$3, property: 'font-weight' },
12250
+ inputValueFontWeight: { ...phoneInput, property: textVars$1.inputValueFontWeight },
12251
+ inputPlaceholderFontWeight: { ...phoneInput, property: textVars$1.inputPlaceholderFontWeight },
12252
+ helperTextFontWeight: { ...helperText$3, property: 'font-weight' },
12253
+ errorMessageFontWeight: { ...errorMessage$5, property: 'font-weight' },
12179
12254
  labelTextColor: [
12180
12255
  { ...label$3, property: 'color' },
12181
12256
  { ...label$3, property: '-webkit-text-fill-color' },
@@ -12717,6 +12792,16 @@ const NewPasswordClass = compose(
12717
12792
  fontFamily: [label$2, errorMessage$4, helperText$2],
12718
12793
  labelFontSize: { ...label$2, property: 'font-size' },
12719
12794
  labelFontWeight: { ...label$2, property: 'font-weight' },
12795
+ inputValueFontWeight: {
12796
+ ...passwordInput,
12797
+ property: PasswordClass.cssVarList.inputValueFontWeight,
12798
+ },
12799
+ inputPlaceholderFontWeight: {
12800
+ ...passwordInput,
12801
+ property: PasswordClass.cssVarList.inputPlaceholderFontWeight,
12802
+ },
12803
+ helperTextFontWeight: { ...helperText$2, property: 'font-weight' },
12804
+ errorMessageFontWeight: { ...errorMessage$4, property: 'font-weight' },
12720
12805
  labelTextColor: { ...label$2, property: 'color' },
12721
12806
  errorMessageTextColor: { ...errorMessage$4, property: 'color' },
12722
12807
  errorMessageIcon: { ...errorMessage$4, property: 'background-image' },
@@ -15728,6 +15813,10 @@ const MultiSelectComboBoxClass = compose(
15728
15813
  fontFamily: [label, placeholder, inputField, helperText$1, errorMessage$2, chipLabel],
15729
15814
  labelFontSize: { ...label, property: 'font-size' },
15730
15815
  labelFontWeight: { ...label, property: 'font-weight' },
15816
+ inputValueFontWeight: { ...inputField, property: 'font-weight' },
15817
+ inputPlaceholderFontWeight: { ...placeholder, property: 'font-weight' },
15818
+ helperTextFontWeight: { ...helperText$1, property: 'font-weight' },
15819
+ errorMessageFontWeight: { ...errorMessage$2, property: 'font-weight' },
15731
15820
  labelTextColor: [
15732
15821
  { ...label, property: 'color' },
15733
15822
  { ...requiredIndicator, property: 'color' },
@@ -19438,6 +19527,56 @@ const HybridFieldClass = compose(
19438
19527
  property: PhoneFieldInputBoxClass.cssVarList.errorMessageFontSize,
19439
19528
  },
19440
19529
  ],
19530
+ labelFontWeight: [
19531
+ {
19532
+ selector: () => PhoneFieldClass.componentName,
19533
+ property: PhoneFieldClass.cssVarList.labelFontWeight,
19534
+ },
19535
+ {
19536
+ selector: () => PhoneFieldInputBoxClass.componentName,
19537
+ property: PhoneFieldInputBoxClass.cssVarList.labelFontWeight,
19538
+ },
19539
+ ],
19540
+ inputValueFontWeight: [
19541
+ {
19542
+ selector: () => PhoneFieldClass.componentName,
19543
+ property: PhoneFieldClass.cssVarList.inputValueFontWeight,
19544
+ },
19545
+ {
19546
+ selector: () => PhoneFieldInputBoxClass.componentName,
19547
+ property: PhoneFieldInputBoxClass.cssVarList.inputValueFontWeight,
19548
+ },
19549
+ ],
19550
+ inputPlaceholderFontWeight: [
19551
+ {
19552
+ selector: () => PhoneFieldClass.componentName,
19553
+ property: PhoneFieldClass.cssVarList.inputPlaceholderFontWeight,
19554
+ },
19555
+ {
19556
+ selector: () => PhoneFieldInputBoxClass.componentName,
19557
+ property: PhoneFieldInputBoxClass.cssVarList.inputPlaceholderFontWeight,
19558
+ },
19559
+ ],
19560
+ helperTextFontWeight: [
19561
+ {
19562
+ selector: () => PhoneFieldClass.componentName,
19563
+ property: PhoneFieldClass.cssVarList.helperTextFontWeight,
19564
+ },
19565
+ {
19566
+ selector: () => PhoneFieldInputBoxClass.componentName,
19567
+ property: PhoneFieldInputBoxClass.cssVarList.helperTextFontWeight,
19568
+ },
19569
+ ],
19570
+ errorMessageFontWeight: [
19571
+ {
19572
+ selector: () => PhoneFieldClass.componentName,
19573
+ property: PhoneFieldClass.cssVarList.errorMessageFontWeight,
19574
+ },
19575
+ {
19576
+ selector: () => PhoneFieldInputBoxClass.componentName,
19577
+ property: PhoneFieldInputBoxClass.cssVarList.errorMessageFontWeight,
19578
+ },
19579
+ ],
19441
19580
  },
19442
19581
  }),
19443
19582
  draggableMixin,
@@ -20396,6 +20535,10 @@ const [theme$2, refs$1] = createHelperVars$1(
20396
20535
  labelTextColor: globalRefs$D.colors.surface.dark,
20397
20536
  labelFontSize: '14px', // not taken from globals as it is fixed in all inputs
20398
20537
  labelFontWeight: '500', // not taken from globals as it is fixed in all inputs
20538
+ inputValueFontWeight: '400',
20539
+ inputPlaceholderFontWeight: '400',
20540
+ helperTextFontWeight: '400',
20541
+ errorMessageFontWeight: '400',
20399
20542
  valueTextColor: globalRefs$D.colors.surface.contrast,
20400
20543
  placeholderTextColor: globalRefs$D.colors.surface.dark,
20401
20544
  requiredIndicator: "'*'",
@@ -20435,7 +20578,6 @@ const [theme$2, refs$1] = createHelperVars$1(
20435
20578
  errorMessageIconPosition: '0 0.4em',
20436
20579
  errorMessageFontSize: '0.8125rem',
20437
20580
  errorMessageIconRepeat: 'no-repeat',
20438
- errorMessageIconRepeat: 'no-repeat',
20439
20581
 
20440
20582
  size: {
20441
20583
  xs: { fontSize: '12px', chipFontSize: '10px' },
@@ -20524,6 +20666,10 @@ const comboBox = {
20524
20666
  [vars$11.fontFamily]: refs$1.fontFamily,
20525
20667
  [vars$11.labelFontSize]: refs$1.labelFontSize,
20526
20668
  [vars$11.labelFontWeight]: refs$1.labelFontWeight,
20669
+ [vars$11.inputValueFontWeight]: refs$1.inputValueFontWeight,
20670
+ [vars$11.inputPlaceholderFontWeight]: refs$1.inputPlaceholderFontWeight,
20671
+ [vars$11.helperTextFontWeight]: refs$1.helperTextFontWeight,
20672
+ [vars$11.errorMessageFontWeight]: refs$1.errorMessageFontWeight,
20527
20673
  [vars$11.labelTextColor]: refs$1.labelTextColor,
20528
20674
  [vars$11.errorMessageTextColor]: refs$1.errorMessageTextColor,
20529
20675
  [vars$11.inputBorderColor]: refs$1.borderColor,
@@ -22441,26 +22587,85 @@ class RawTimerButton extends BaseClass$4 {
22441
22587
  .wrapper {
22442
22588
  display: flex;
22443
22589
  flex-direction: column;
22444
- gap: 0.5em;
22445
22590
  align-items: center;
22446
22591
  width: 100%;
22447
22592
  }
22448
- .timer {
22593
+ /* allow timer to grow along the main axis in the wrapper flex container */
22594
+ :host(:not([timer-inside="true"])) .timer {
22449
22595
  flex: 1;
22450
22596
  }
22597
+ :host([timer-inside="true"]) .timer {
22598
+ flex: 0 0 auto;
22599
+ }
22451
22600
  `,
22452
22601
  this,
22453
22602
  );
22454
22603
 
22604
+ this.wrapper = this.shadowRoot.querySelector('.wrapper');
22455
22605
  this.timer = this.shadowRoot.querySelector('.timer');
22456
22606
  this.button = this.shadowRoot.querySelector('.button');
22607
+ this.forwardingSlot = this.shadowRoot.querySelector('.button slot');
22457
22608
 
22458
22609
  this.timer.addEventListener('timer-started', () => this.onTimerStarted());
22459
22610
  this.timer.addEventListener('timer-ended', () => this.onTimerEnded());
22460
22611
 
22612
+ this.syncTimerPlacement();
22613
+
22461
22614
  this.button.addEventListener('click', this.onClick.bind(this));
22462
22615
  }
22463
22616
 
22617
+ static get observedAttributes() {
22618
+ return [
22619
+ ...(super.observedAttributes || []),
22620
+ 'timer-inside',
22621
+ 'timer-position',
22622
+ ];
22623
+ }
22624
+
22625
+ attributeChangedCallback(name, oldValue, newValue) {
22626
+ super.attributeChangedCallback?.(name, oldValue, newValue);
22627
+ if (name === 'timer-inside' || name === 'timer-position') {
22628
+ this.syncTimerPlacement();
22629
+ }
22630
+ }
22631
+
22632
+ get #isTimerInside() {
22633
+ return this.getAttribute('timer-inside') === 'true';
22634
+ }
22635
+
22636
+ get #isReversed() {
22637
+ return this.getAttribute('timer-position') === 'end';
22638
+ }
22639
+
22640
+ syncTimerPlacement() {
22641
+ if (this.#isTimerInside) {
22642
+ this.#placeTimerInsideButton(this.#isReversed);
22643
+ } else {
22644
+ this.#placeTimerOutsideButton();
22645
+ }
22646
+ }
22647
+
22648
+ #placeTimerInsideButton(reversed) {
22649
+ if (reversed) {
22650
+ // timer after label text (right)
22651
+ if (this.timer.previousSibling !== this.forwardingSlot) {
22652
+ this.button.appendChild(this.timer);
22653
+ }
22654
+ } else {
22655
+ // timer before label text (left) — matches default outside position (above/before button)
22656
+ if (this.timer.nextSibling !== this.forwardingSlot) {
22657
+ this.button.insertBefore(this.timer, this.forwardingSlot);
22658
+ }
22659
+ }
22660
+ }
22661
+
22662
+ #placeTimerOutsideButton() {
22663
+ // move timer back as a wrapper sibling, before the button so flex-column puts it above
22664
+ if (this.timer.parentElement !== this.wrapper) {
22665
+ this.wrapper.insertBefore(this.timer, this.button);
22666
+ }
22667
+ }
22668
+
22464
22669
  set onclick(val) {
22465
22670
  this.button.onclick = val;
22466
22671
  }
@@ -22508,8 +22713,26 @@ class RawTimerButton extends BaseClass$4 {
22508
22713
  }
22509
22714
  }
22510
22715
 
22511
- const { host: host$4 } = {
22512
- host: { selector: () => ':host' }};
22716
+ const {
22717
+ host: host$4,
22718
+ nestedTimer,
22719
+ nestedButton,
22720
+ timerInsideNotReversed,
22721
+ timerInsideReversed,
22722
+ } = {
22723
+ host: { selector: () => ':host' },
22724
+ nestedTimer: { selector: () => ':host([timer-inside="true"]) .timer' },
22725
+ nestedButton: {
22726
+ selector: () => ':host([timer-inside="true"]) .button',
22727
+ },
22728
+ timerInsideNotReversed: {
22729
+ selector: () =>
22730
+ ':host([timer-inside="true"]:not([timer-position="end"])) .timer',
22731
+ },
22732
+ timerInsideReversed: {
22733
+ selector: () => ':host([timer-inside="true"][timer-position="end"]) .timer',
22734
+ },
22735
+ };
22513
22736
 
22514
22737
  const TimerButtonClass = compose$1(
22515
22738
  createStyleMixin$1({
@@ -22518,6 +22741,30 @@ const TimerButtonClass = compose$1(
22518
22741
  flexDirection: {},
22519
22742
  hostWidth: { ...host$4, property: 'width' },
22520
22743
  hostDirection: { ...host$4, property: 'direction' },
22744
+ timerTextColor: {
22745
+ ...nestedTimer,
22746
+ property: TimerClass.cssVarList.textColor,
22747
+ },
22748
+ timerIconColor: {
22749
+ ...nestedTimer,
22750
+ property: TimerClass.cssVarList.iconColor,
22751
+ },
22752
+ timerHostWidth: {
22753
+ ...nestedTimer,
22754
+ property: TimerClass.cssVarList.hostWidth,
22755
+ },
22756
+ buttonLabelSpacing: {
22757
+ ...nestedButton,
22758
+ property: ButtonClass.cssVarList.labelSpacing,
22759
+ },
22760
+ timerInsideGapEnd: {
22761
+ ...timerInsideNotReversed,
22762
+ property: 'margin-inline-end',
22763
+ },
22764
+ timerInsideGapStart: {
22765
+ ...timerInsideReversed,
22766
+ property: 'margin-inline-start',
22767
+ },
22521
22768
  },
22522
22769
  }),
22523
22770
  draggableMixin$1,
@@ -22533,11 +22780,35 @@ const timerButton = {
22533
22780
 
22534
22781
  _horizontal: {
22535
22782
  [vars$S.flexDirection]: 'row',
22783
+ timerPosition: {
22784
+ end: {
22785
+ [vars$S.flexDirection]: 'row-reverse',
22786
+ },
22787
+ },
22788
+ },
22789
+
22790
+ timerPosition: {
22791
+ end: {
22792
+ [vars$S.flexDirection]: 'column-reverse',
22793
+ },
22536
22794
  },
22537
22795
 
22538
22796
  _fullWidth: {
22539
22797
  [vars$S.hostWidth]: '100%',
22540
22798
  },
22799
+
22800
+ _timerInside: {
22801
+ [vars$S.timerTextColor]: 'currentColor',
22802
+ [vars$S.timerIconColor]: 'currentColor',
22803
+ [vars$S.timerHostWidth]: 'auto',
22804
+ [vars$S.buttonLabelSpacing]: '0',
22805
+ [vars$S.timerInsideGapEnd]: `var(${vars$S.gap})`,
22806
+ timerPosition: {
22807
+ end: {
22808
+ [vars$S.timerInsideGapStart]: `var(${vars$S.gap})`,
22809
+ },
22810
+ },
22811
+ },
22541
22812
  };
22542
22813
 
22543
22814
  var timerButton$1 = /*#__PURE__*/Object.freeze({
@@ -25713,6 +25984,10 @@ const [theme$1, refs, vars$I] = createHelperVars(
25713
25984
  labelTextColor: globalRefs$p.colors.surface.dark,
25714
25985
  labelFontSize: '14px', // not taken from globals as it is fixed in all inputs
25715
25986
  labelFontWeight: '500', // not taken from globals as it is fixed in all inputs
25987
+ inputValueFontWeight: '400',
25988
+ inputPlaceholderFontWeight: '400',
25989
+ helperTextFontWeight: '400',
25990
+ errorMessageFontWeight: '400',
25716
25991
  valueTextColor: globalRefs$p.colors.surface.contrast,
25717
25992
  placeholderTextColor: globalRefs$p.colors.surface.dark,
25718
25993
  requiredIndicator: "'*'",
@@ -25852,6 +26127,10 @@ const textField = {
25852
26127
  [vars$H.fontFamily]: refs.fontFamily,
25853
26128
  [vars$H.labelFontSize]: refs.labelFontSize,
25854
26129
  [vars$H.labelFontWeight]: refs.labelFontWeight,
26130
+ [vars$H.inputValueFontWeight]: refs.inputValueFontWeight,
26131
+ [vars$H.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26132
+ [vars$H.helperTextFontWeight]: refs.helperTextFontWeight,
26133
+ [vars$H.errorMessageFontWeight]: refs.errorMessageFontWeight,
25855
26134
  [vars$H.labelTextColor]: refs.labelTextColor,
25856
26135
  [vars$H.labelRequiredIndicator]: refs.requiredIndicator,
25857
26136
  [vars$H.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -25919,6 +26198,10 @@ const password = {
25919
26198
  [vars$G.fontFamily]: refs.fontFamily,
25920
26199
  [vars$G.labelFontSize]: refs.labelFontSize,
25921
26200
  [vars$G.labelFontWeight]: refs.labelFontWeight,
26201
+ [vars$G.inputValueFontWeight]: refs.inputValueFontWeight,
26202
+ [vars$G.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26203
+ [vars$G.helperTextFontWeight]: refs.helperTextFontWeight,
26204
+ [vars$G.errorMessageFontWeight]: refs.errorMessageFontWeight,
25922
26205
  [vars$G.labelTextColor]: refs.labelTextColor,
25923
26206
  [vars$G.errorMessageTextColor]: refs.errorMessageTextColor,
25924
26207
  [vars$G.inputHorizontalPadding]: refs.horizontalPadding,
@@ -25973,6 +26256,10 @@ const numberField = {
25973
26256
  [vars$F.fontFamily]: refs.fontFamily,
25974
26257
  [vars$F.labelFontSize]: refs.labelFontSize,
25975
26258
  [vars$F.labelFontWeight]: refs.labelFontWeight,
26259
+ [vars$F.inputValueFontWeight]: refs.inputValueFontWeight,
26260
+ [vars$F.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26261
+ [vars$F.helperTextFontWeight]: refs.helperTextFontWeight,
26262
+ [vars$F.errorMessageFontWeight]: refs.errorMessageFontWeight,
25976
26263
  [vars$F.labelTextColor]: refs.labelTextColor,
25977
26264
  [vars$F.errorMessageTextColor]: refs.errorMessageTextColor,
25978
26265
  [vars$F.inputValueTextColor]: refs.valueTextColor,
@@ -26025,6 +26312,10 @@ const emailField = {
26025
26312
  [vars$E.fontFamily]: refs.fontFamily,
26026
26313
  [vars$E.labelFontSize]: refs.labelFontSize,
26027
26314
  [vars$E.labelFontWeight]: refs.labelFontWeight,
26315
+ [vars$E.inputValueFontWeight]: refs.inputValueFontWeight,
26316
+ [vars$E.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26317
+ [vars$E.helperTextFontWeight]: refs.helperTextFontWeight,
26318
+ [vars$E.errorMessageFontWeight]: refs.errorMessageFontWeight,
26028
26319
  [vars$E.labelTextColor]: refs.labelTextColor,
26029
26320
  [vars$E.errorMessageTextColor]: refs.errorMessageTextColor,
26030
26321
  [vars$E.inputValueTextColor]: refs.valueTextColor,
@@ -26075,6 +26366,12 @@ const textArea = {
26075
26366
  [vars$D.hostDirection]: refs.direction,
26076
26367
  [vars$D.fontSize]: refs.fontSize,
26077
26368
  [vars$D.fontFamily]: refs.fontFamily,
26369
+ [vars$D.labelFontSize]: refs.labelFontSize,
26370
+ [vars$D.labelFontWeight]: refs.labelFontWeight,
26371
+ [vars$D.inputValueFontWeight]: refs.inputValueFontWeight,
26372
+ [vars$D.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26373
+ [vars$D.helperTextFontWeight]: refs.helperTextFontWeight,
26374
+ [vars$D.errorMessageFontWeight]: refs.errorMessageFontWeight,
26078
26375
  [vars$D.labelTextColor]: refs.labelTextColor,
26079
26376
  [vars$D.labelRequiredIndicator]: refs.requiredIndicator,
26080
26377
  [vars$D.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -26463,8 +26760,11 @@ const passcode = {
26463
26760
  [vars$v.fontSize]: refs.fontSize,
26464
26761
  [vars$v.labelTextColor]: refs.labelTextColor,
26465
26762
  [vars$v.labelRequiredIndicator]: refs.requiredIndicator,
26763
+ [vars$v.labelFontWeight]: refs.labelFontWeight,
26466
26764
  [vars$v.errorMessageTextColor]: refs.errorMessageTextColor,
26765
+ [vars$v.errorMessageFontWeight]: refs.errorMessageFontWeight,
26467
26766
  [vars$v.digitValueTextColor]: refs.valueTextColor,
26767
+ [vars$v.digitValueFontWeight]: refs.inputValueFontWeight,
26468
26768
  [vars$v.digitPadding]: '0',
26469
26769
  [vars$v.digitTextAlign]: 'center',
26470
26770
  [vars$v.digitSpacing]: '4px',
@@ -26611,6 +26911,12 @@ const phoneField = {
26611
26911
  [vars$s.hostDirection]: refs.direction,
26612
26912
  [vars$s.fontSize]: refs.fontSize,
26613
26913
  [vars$s.fontFamily]: refs.fontFamily,
26914
+ [vars$s.labelFontSize]: refs.labelFontSize,
26915
+ [vars$s.labelFontWeight]: refs.labelFontWeight,
26916
+ [vars$s.inputValueFontWeight]: refs.inputValueFontWeight,
26917
+ [vars$s.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26918
+ [vars$s.helperTextFontWeight]: refs.helperTextFontWeight,
26919
+ [vars$s.errorMessageFontWeight]: refs.errorMessageFontWeight,
26614
26920
  [vars$s.labelTextColor]: refs.labelTextColor,
26615
26921
  [vars$s.labelRequiredIndicator]: refs.requiredIndicator,
26616
26922
  [vars$s.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -26656,6 +26962,10 @@ const phoneInputBoxField = {
26656
26962
  [vars$r.fontFamily]: refs.fontFamily,
26657
26963
  [vars$r.labelFontSize]: refs.labelFontSize,
26658
26964
  [vars$r.labelFontWeight]: refs.labelFontWeight,
26965
+ [vars$r.inputValueFontWeight]: refs.inputValueFontWeight,
26966
+ [vars$r.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
26967
+ [vars$r.helperTextFontWeight]: refs.helperTextFontWeight,
26968
+ [vars$r.errorMessageFontWeight]: refs.errorMessageFontWeight,
26659
26969
  [vars$r.labelTextColor]: refs.labelTextColor,
26660
26970
  [vars$r.labelRequiredIndicator]: refs.requiredIndicator,
26661
26971
  [vars$r.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -26709,6 +27019,10 @@ const newPassword = {
26709
27019
  [vars$q.fontFamily]: refs.fontFamily,
26710
27020
  [vars$q.labelFontSize]: refs.labelFontSize,
26711
27021
  [vars$q.labelFontWeight]: refs.labelFontWeight,
27022
+ [vars$q.inputValueFontWeight]: refs.inputValueFontWeight,
27023
+ [vars$q.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
27024
+ [vars$q.helperTextFontWeight]: refs.helperTextFontWeight,
27025
+ [vars$q.errorMessageFontWeight]: refs.errorMessageFontWeight,
26712
27026
  [vars$q.labelTextColor]: refs.labelTextColor,
26713
27027
  [vars$q.spaceBetweenInputs]: '1em',
26714
27028
  [vars$q.errorMessageTextColor]: refs.errorMessageTextColor,
@@ -27022,6 +27336,10 @@ const multiSelectComboBox = {
27022
27336
  [vars$i.fontFamily]: refs.fontFamily,
27023
27337
  [vars$i.labelFontSize]: refs.labelFontSize,
27024
27338
  [vars$i.labelFontWeight]: refs.labelFontWeight,
27339
+ [vars$i.inputValueFontWeight]: refs.inputValueFontWeight,
27340
+ [vars$i.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
27341
+ [vars$i.helperTextFontWeight]: refs.helperTextFontWeight,
27342
+ [vars$i.errorMessageFontWeight]: refs.errorMessageFontWeight,
27025
27343
  [vars$i.labelTextColor]: refs.labelTextColor,
27026
27344
  [vars$i.errorMessageTextColor]: refs.errorMessageTextColor,
27027
27345
  [vars$i.inputBorderColor]: refs.borderColor,
@@ -27580,6 +27898,12 @@ const dateField = {
27580
27898
  [vars$8.errorMessageIconRepeat]: refs.errorMessageIconRepeat,
27581
27899
  [vars$8.errorMessageIconPosition]: refs.errorMessageIconPosition,
27582
27900
  [vars$8.errorMessageFontSize]: refs.errorMessageFontSize,
27901
+
27902
+ [vars$8.labelFontWeight]: refs.labelFontWeight,
27903
+ [vars$8.inputValueFontWeight]: refs.inputValueFontWeight,
27904
+ [vars$8.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
27905
+ [vars$8.helperTextFontWeight]: refs.helperTextFontWeight,
27906
+ [vars$8.errorMessageFontWeight]: refs.errorMessageFontWeight,
27583
27907
  };
27584
27908
 
27585
27909
  var dateField$1 = /*#__PURE__*/Object.freeze({
@@ -27678,6 +28002,11 @@ const vars$3 = HybridFieldClass.cssVarList;
27678
28002
 
27679
28003
  const hybridField = {
27680
28004
  [vars$3.hostDirection]: refs.direction,
28005
+ [vars$3.labelFontWeight]: refs.labelFontWeight,
28006
+ [vars$3.inputValueFontWeight]: refs.inputValueFontWeight,
28007
+ [vars$3.inputPlaceholderFontWeight]: refs.inputPlaceholderFontWeight,
28008
+ [vars$3.helperTextFontWeight]: refs.helperTextFontWeight,
28009
+ [vars$3.errorMessageFontWeight]: refs.errorMessageFontWeight,
27681
28010
 
27682
28011
  // error message icon
27683
28012
  [vars$3.errorMessageIcon]: refs.errorMessageIcon,