@descope/web-components-ui 1.44.0 → 1.45.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 (43) hide show
  1. package/dist/cjs/index.cjs.js +58 -24
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +464 -225
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/3620.js +1 -1
  6. package/dist/umd/3620.js.map +1 -1
  7. package/dist/umd/5348.js +2 -0
  8. package/dist/umd/5348.js.map +1 -0
  9. package/dist/umd/6477.js +149 -0
  10. package/dist/umd/6477.js.map +1 -0
  11. package/dist/umd/9365.js +1 -1
  12. package/dist/umd/9365.js.map +1 -1
  13. package/dist/umd/DescopeDev.js +1 -1
  14. package/dist/umd/DescopeDev.js.map +1 -1
  15. package/dist/umd/descope-hybrid-field-index-js.js +3 -3
  16. package/dist/umd/descope-hybrid-field-index-js.js.map +1 -1
  17. package/dist/umd/descope-passcode-index-js.js +1 -1
  18. package/dist/umd/descope-passcode-index-js.js.map +1 -1
  19. package/dist/umd/index.js +1 -1
  20. package/dist/umd/index.js.map +1 -1
  21. package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
  22. package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js.map +1 -1
  23. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  24. package/dist/umd/phone-fields-descope-phone-field-index-js.js.map +1 -1
  25. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +2 -2
  26. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js.map +1 -1
  27. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +2 -113
  28. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.LICENSE.txt +0 -6
  29. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js.map +1 -1
  30. package/package.json +7 -6
  31. package/src/components/descope-hybrid-field/HybridFieldClass.js +6 -0
  32. package/src/components/descope-passcode/PasscodeClass.js +2 -0
  33. package/src/components/phone-fields/descope-phone-field/PhoneFieldClass.js +10 -2
  34. package/src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +229 -125
  35. package/src/components/phone-fields/descope-phone-input-box-field/PhoneFieldInputBoxClass.js +42 -24
  36. package/src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js +176 -79
  37. package/src/components/phone-fields/descope-phone-input-box-field/index.js +0 -1
  38. package/src/components/phone-fields/helpers.js +7 -0
  39. package/src/mixins/index.js +1 -0
  40. package/src/mixins/inputOverrideValidConstraints.js +12 -0
  41. package/dist/umd/6424.js +0 -149
  42. package/dist/umd/6424.js.map +0 -1
  43. /package/dist/umd/{6424.js.LICENSE.txt → 6477.js.LICENSE.txt} +0 -0
@@ -4372,6 +4372,19 @@ const externalInputMixin =
4372
4372
  }
4373
4373
  };
4374
4374
 
4375
+ const inputOverrideValidConstraintsMixin = (superclass) =>
4376
+ class InputOverrideValidConstraintsMixinClass extends superclass {
4377
+ init() {
4378
+ super.init?.();
4379
+
4380
+ // vaadin uses `validConstraints` (required, pattern, minlength, maxlength) to determine if it should validate
4381
+ // the input or not. We want to override this behavior, so we can enforce validation even if these attributes are not present.
4382
+ if (this.baseElement._hasValidConstraints) {
4383
+ this.baseElement._hasValidConstraints = () => true;
4384
+ }
4385
+ }
4386
+ };
4387
+
4375
4388
  const {
4376
4389
  host: host$r,
4377
4390
  label: label$9,
@@ -7356,6 +7369,7 @@ const PasscodeClass = compose$1(
7356
7369
  },
7357
7370
  }),
7358
7371
  draggableMixin,
7372
+ inputOverrideValidConstraintsMixin,
7359
7373
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
7360
7374
  componentNameValidationMixin,
7361
7375
  customMixin$b
@@ -9849,7 +9863,6 @@ const customMixin$a = (superclass) =>
9849
9863
  includeAttrs: [
9850
9864
  'size',
9851
9865
  'bordered',
9852
- 'invalid',
9853
9866
  'minlength',
9854
9867
  'maxlength',
9855
9868
  'default-code',
@@ -9862,6 +9875,8 @@ const customMixin$a = (superclass) =>
9862
9875
  'label',
9863
9876
  'label-type',
9864
9877
  'allow-alphanumeric-input',
9878
+ 'format-value',
9879
+ 'strict-validation',
9865
9880
  ],
9866
9881
  });
9867
9882
  }
@@ -10010,6 +10025,7 @@ const PhoneFieldClass = compose$1(
10010
10025
  },
10011
10026
  }),
10012
10027
  draggableMixin,
10028
+ inputOverrideValidConstraintsMixin,
10013
10029
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
10014
10030
  customMixin$a
10015
10031
  )(
@@ -10170,7 +10186,7 @@ const textVars$1 = TextFieldClass.cssVarList;
10170
10186
  const componentName$H = getComponentName$1('phone-input-box-field');
10171
10187
 
10172
10188
  const customMixin$9 = (superclass) =>
10173
- class PhoneInputBoxFieldMixinClass extends superclass {
10189
+ class PhoneFieldInputBoxMixinClass extends superclass {
10174
10190
  static get CountryCodes() {
10175
10191
  return CountryCodes;
10176
10192
  }
@@ -10194,8 +10210,6 @@ const customMixin$9 = (superclass) =>
10194
10210
  forwardAttrs$1(this.shadowRoot.host, this.inputElement, {
10195
10211
  includeAttrs: [
10196
10212
  'size',
10197
- 'bordered',
10198
- 'invalid',
10199
10213
  'minlength',
10200
10214
  'maxlength',
10201
10215
  'default-code',
@@ -10204,6 +10218,10 @@ const customMixin$9 = (superclass) =>
10204
10218
  'label',
10205
10219
  'label-type',
10206
10220
  'allow-alphanumeric-input',
10221
+ 'restrict-countries',
10222
+ 'format-value',
10223
+ 'strict-validation',
10224
+ 'data-errormessage-type-mismatch',
10207
10225
  ],
10208
10226
  });
10209
10227
  }
@@ -10219,7 +10237,8 @@ const {
10219
10237
  inputElement: inputElement$1,
10220
10238
  requiredIndicator: requiredIndicator$3,
10221
10239
  inputField: inputField$1,
10222
- inputFieldInternal,
10240
+ internalComponent,
10241
+ internalComponentAfter,
10223
10242
  phoneInput,
10224
10243
  errorMessage: errorMessage$5,
10225
10244
  helperText: helperText$3,
@@ -10230,8 +10249,11 @@ const {
10230
10249
  inputElement: { selector: 'input' },
10231
10250
  requiredIndicator: { selector: '[required]::part(required-indicator)::after' },
10232
10251
  inputField: { selector: () => 'vaadin-text-field::part(input-field)' },
10233
- inputFieldInternal: {
10234
- selector: () => 'descope-phone-field-internal-input-box vaadin-text-field::part(input-field)',
10252
+ internalComponent: {
10253
+ selector: 'descope-phone-field-internal-input-box',
10254
+ },
10255
+ internalComponentAfter: {
10256
+ selector: 'descope-phone-field-internal-input-box::after',
10235
10257
  },
10236
10258
  phoneInput: { selector: () => 'descope-text-field' },
10237
10259
  helperText: { selector: '::part(helper-text)' },
@@ -10254,14 +10276,6 @@ const PhoneFieldInputBoxClass = compose$1(
10254
10276
  hostMinWidth: { ...host$g, property: 'min-width' },
10255
10277
  hostDirection: { ...host$g, property: 'direction' },
10256
10278
 
10257
- inputBorderStyle: { ...inputFieldInternal, property: 'border-style' },
10258
- inputBorderWidth: { ...inputFieldInternal, property: 'border-width' },
10259
- inputBorderColor: { ...inputFieldInternal, property: 'border-color' },
10260
- inputBorderRadius: [
10261
- { ...inputField$1, property: 'border-radius' },
10262
- { ...inputFieldInternal, property: 'border-radius' },
10263
- ],
10264
-
10265
10279
  inputHorizontalPadding: [
10266
10280
  { ...phoneInput, property: 'padding-left' },
10267
10281
  { ...phoneInput, property: 'padding-right' },
@@ -10286,10 +10300,18 @@ const PhoneFieldInputBoxClass = compose$1(
10286
10300
 
10287
10301
  inputPlaceholderTextColor: { ...phoneInput, property: textVars$1.inputPlaceholderColor },
10288
10302
 
10289
- inputOutlineStyle: { ...inputField$1, property: 'outline-style' },
10290
- inputOutlineColor: { ...inputField$1, property: 'outline-color' },
10291
- inputOutlineWidth: { ...inputField$1, property: 'outline-width' },
10292
- inputOutlineOffset: { ...inputField$1, property: 'outline-offset' },
10303
+ inputBorderStyle: { ...internalComponentAfter, property: 'border-style' },
10304
+ inputBorderWidth: { ...internalComponentAfter, property: 'border-width' },
10305
+ inputBorderColor: { ...internalComponentAfter, property: 'border-color' },
10306
+ inputBorderRadius: [
10307
+ { ...internalComponent, property: 'border-radius' },
10308
+ { ...internalComponentAfter, property: 'border-radius' },
10309
+ ],
10310
+
10311
+ inputOutlineStyle: { ...internalComponent, property: 'outline-style' },
10312
+ inputOutlineColor: { ...internalComponent, property: 'outline-color' },
10313
+ inputOutlineWidth: { ...internalComponent, property: 'outline-width' },
10314
+ inputOutlineOffset: { ...internalComponent, property: 'outline-offset' },
10293
10315
 
10294
10316
  labelPosition: { ...label$3, property: 'position' },
10295
10317
  labelTopPosition: { ...label$3, property: 'top' },
@@ -10308,6 +10330,7 @@ const PhoneFieldInputBoxClass = compose$1(
10308
10330
  },
10309
10331
  }),
10310
10332
  draggableMixin,
10333
+ inputOverrideValidConstraintsMixin,
10311
10334
  composedProxyInputMixin({ proxyProps: ['value', 'selectionStart'] }),
10312
10335
  customMixin$9
10313
10336
  )(
@@ -10339,7 +10362,6 @@ const PhoneFieldInputBoxClass = compose$1(
10339
10362
  vaadin-text-field::part(input-field) {
10340
10363
  padding: 0;
10341
10364
  background: transparent;
10342
- overflow: hidden;
10343
10365
  -webkit-mask-image: none;
10344
10366
  }
10345
10367
  descope-phone-field-internal-input-box {
@@ -10350,14 +10372,20 @@ const PhoneFieldInputBoxClass = compose$1(
10350
10372
  descope-phone-field-internal-input-box > div {
10351
10373
  width: 100%;
10352
10374
  }
10353
- descope-phone-field-internal-input-box .separator {
10354
- flex: 0;
10355
- border: none;
10356
- }
10357
10375
  descope-phone-field-internal-input-box descope-text-field {
10358
10376
  ${textVars$1.inputOutlineWidth}: 0;
10359
10377
  ${textVars$1.inputOutlineOffset}: 0;
10360
10378
  }
10379
+ descope-phone-field-internal-input-box::after {
10380
+ content: '';
10381
+ position: absolute;
10382
+ width: 100%;
10383
+ height: 100%;
10384
+ top: 0;
10385
+ left: 0;
10386
+ box-sizing: border-box;
10387
+ pointer-events: none;
10388
+ }
10361
10389
  descope-text-field {
10362
10390
  flex-grow: 1;
10363
10391
  width: 100%;
@@ -18606,6 +18634,8 @@ const attrs = {
18606
18634
  'restrict-countries',
18607
18635
  'default-code',
18608
18636
  'phone-minlength',
18637
+ 'phone-format-value',
18638
+ 'phone-strict-validation',
18609
18639
  'data-errormessage-value-missing-phone',
18610
18640
  ],
18611
18641
  inputBox: [
@@ -18613,6 +18643,8 @@ const attrs = {
18613
18643
  'restrict-countries',
18614
18644
  'default-code',
18615
18645
  'phone-minlength',
18646
+ 'phone-format-value',
18647
+ 'phone-strict-validation',
18616
18648
  'data-errormessage-value-missing-phone',
18617
18649
  ],
18618
18650
  },
@@ -18626,6 +18658,8 @@ const attrMap = {
18626
18658
  phone: {
18627
18659
  'phone-input-label': 'label',
18628
18660
  'phone-minlength': 'minlength',
18661
+ 'phone-format-value': 'format-value',
18662
+ 'phone-strict-validation': 'strict-validation',
18629
18663
  'data-errormessage-value-missing-phone': 'data-errormessage-value-missing',
18630
18664
  },
18631
18665
  };