@descope/web-components-ui 1.0.309 → 1.0.310

Sign up to get free protection for your applications and to get access to all the features.
Files changed (24) hide show
  1. package/dist/cjs/index.cjs.js +47 -3
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +52 -6
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/4392.js +1 -1
  6. package/dist/umd/4978.js +1 -1
  7. package/dist/umd/DescopeDev.js +1 -1
  8. package/dist/umd/descope-email-field-index-js.js +4 -4
  9. package/dist/umd/descope-new-password-index-js.js +1 -1
  10. package/dist/umd/descope-number-field-index-js.js +1 -1
  11. package/dist/umd/descope-passcode-index-js.js +1 -1
  12. package/dist/umd/descope-text-field-index-js.js +2 -2
  13. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  14. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  15. package/dist/umd/phone-fields-descope-phone-field-descope-phone-field-internal-index-js.js +1 -1
  16. package/dist/umd/phone-fields-descope-phone-field-index-js.js +1 -1
  17. package/dist/umd/phone-fields-descope-phone-input-box-field-descope-phone-input-box-internal-index-js.js +2 -2
  18. package/dist/umd/phone-fields-descope-phone-input-box-field-index-js.js +1 -1
  19. package/package.json +2 -2
  20. package/src/components/descope-text-field/TextFieldClass.js +25 -0
  21. package/src/components/descope-text-field/textFieldMappings.js +21 -2
  22. package/src/components/phone-fields/descope-phone-field/descope-phone-field-internal/PhoneFieldInternal.js +2 -2
  23. package/src/components/phone-fields/descope-phone-input-box-field/descope-phone-input-box-internal/PhoneFieldInternalInputBox.js +3 -1
  24. package/src/mixins/proxyInputMixin.js +1 -1
@@ -2181,7 +2181,7 @@ const getNestedInput = (ele) => {
2181
2181
  let nonSlotEle = ele;
2182
2182
  for (let i = 0; i < nestingLevel; i++) {
2183
2183
  [nonSlotEle] = nonSlotEle.assignedElements();
2184
- if (nonSlotEle.localName !== 'slot') return nonSlotEle;
2184
+ if (nonSlotEle?.localName !== 'slot') return nonSlotEle;
2185
2185
  }
2186
2186
  return undefined;
2187
2187
  };
@@ -2921,6 +2921,10 @@ const {
2921
2921
  errorMessage: errorMessage$c,
2922
2922
  disabledPlaceholder,
2923
2923
  inputDisabled,
2924
+ externalInput,
2925
+ externalInputDisabled,
2926
+ externalPlaceholder,
2927
+ externalDisabledPlaceholder,
2924
2928
  } = {
2925
2929
  host: { selector: () => ':host' },
2926
2930
  label: { selector: '::part(label)' },
@@ -2932,6 +2936,10 @@ const {
2932
2936
  inputDisabled: { selector: 'input:disabled' },
2933
2937
  helperText: { selector: '::part(helper-text)' },
2934
2938
  errorMessage: { selector: '::part(error-message)' },
2939
+ externalInput: { selector: () => '::slotted(input)' },
2940
+ externalInputDisabled: { selector: () => '::slotted(input:disabled)' },
2941
+ externalPlaceholder: { selector: () => '::slotted(input:placeholder-shown)' },
2942
+ externalDisabledPlaceholder: { selector: () => '::slotted(input:disabled::placeholder)' },
2935
2943
  };
2936
2944
 
2937
2945
  var textFieldMappings = {
@@ -2957,8 +2965,12 @@ var textFieldMappings = {
2957
2965
  inputValueTextColor: [
2958
2966
  { ...inputField$6, property: 'color' },
2959
2967
  { ...inputDisabled, property: '-webkit-text-fill-color' },
2968
+ { ...externalInputDisabled, property: '-webkit-text-fill-color' },
2969
+ ],
2970
+ inputCaretTextColor: [
2971
+ { ...input, property: 'color' },
2972
+ { ...externalInput, property: 'color' },
2960
2973
  ],
2961
- inputCaretTextColor: { ...input, property: 'color' },
2962
2974
 
2963
2975
  labelRequiredIndicator: { ...requiredIndicator$b, property: 'content' },
2964
2976
 
@@ -2971,6 +2983,8 @@ var textFieldMappings = {
2971
2983
  inputHorizontalPadding: [
2972
2984
  { ...input, property: 'padding-left' },
2973
2985
  { ...input, property: 'padding-right' },
2986
+ { ...externalInput, property: 'padding-left' },
2987
+ { ...externalInput, property: 'padding-right' },
2974
2988
  ],
2975
2989
 
2976
2990
  inputOutlineColor: { ...inputField$6, property: 'outline-color' },
@@ -2978,11 +2992,16 @@ var textFieldMappings = {
2978
2992
  inputOutlineWidth: { ...inputField$6, property: 'outline-width' },
2979
2993
  inputOutlineOffset: { ...inputField$6, property: 'outline-offset' },
2980
2994
 
2981
- inputTextAlign: { ...input, property: 'text-align' },
2995
+ inputTextAlign: [
2996
+ { ...input, property: 'text-align' },
2997
+ { ...externalInput, property: 'text-align' },
2998
+ ],
2982
2999
 
2983
3000
  inputPlaceholderColor: [
2984
3001
  { ...placeholder$3, property: 'color' },
3002
+ { ...externalPlaceholder, property: 'color' },
2985
3003
  { ...disabledPlaceholder, property: '-webkit-text-fill-color' },
3004
+ { ...externalDisabledPlaceholder, property: '-webkit-text-fill-color' },
2986
3005
  ],
2987
3006
  };
2988
3007
 
@@ -3137,6 +3156,31 @@ const customMixin$8 = (superclass) =>
3137
3156
  this.baseElement._setType(newVal);
3138
3157
  }
3139
3158
  }
3159
+
3160
+ // webauthn is not working when the native input element is nested inside multiple shadow roots
3161
+ // so we need to be able move the input outside the shadow root for some cases
3162
+ get isExternalInput() {
3163
+ return this.getAttribute('external-input') === 'true';
3164
+ }
3165
+
3166
+ constructor() {
3167
+ super();
3168
+
3169
+ if (this.isExternalInput) {
3170
+ const origInput = this.baseElement.querySelector('input');
3171
+ this.inputSlot = document.createElement('slot');
3172
+
3173
+ this.focus = () => {
3174
+ origInput.focus();
3175
+ };
3176
+
3177
+ this.inputSlot.setAttribute('name', 'input');
3178
+ this.inputSlot.setAttribute('slot', 'input');
3179
+ this.baseElement.appendChild(this.inputSlot);
3180
+
3181
+ this.appendChild(origInput);
3182
+ }
3183
+ }
3140
3184
  };
3141
3185
 
3142
3186
  const TextFieldClass = compose(