@descope/web-components-ui 2.2.12 → 2.2.14

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 (57) hide show
  1. package/dist/cjs/index.cjs.js +2152 -1805
  2. package/dist/cjs/index.cjs.js.map +1 -1
  3. package/dist/index.esm.js +2109 -1760
  4. package/dist/index.esm.js.map +1 -1
  5. package/dist/umd/6419.js +82 -0
  6. package/dist/umd/6419.js.LICENSE.txt +23 -0
  7. package/dist/umd/6419.js.map +1 -0
  8. package/dist/umd/8961.js +1 -1
  9. package/dist/umd/8961.js.map +1 -1
  10. package/dist/umd/9365.js +1 -1
  11. package/dist/umd/9365.js.map +1 -1
  12. package/dist/umd/DescopeDev.js +1 -1
  13. package/dist/umd/DescopeDev.js.map +1 -1
  14. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js +1 -1
  15. package/dist/umd/button-selection-group-fields-descope-button-selection-group-item-index-js.js.map +1 -1
  16. package/dist/umd/descope-button.js +1 -1
  17. package/dist/umd/descope-button.js.map +1 -1
  18. package/dist/umd/descope-collapsible-container.js +1 -1
  19. package/dist/umd/descope-collapsible-container.js.map +1 -1
  20. package/dist/umd/descope-date-field-descope-calendar-index-js.js +1 -1
  21. package/dist/umd/descope-date-field-descope-calendar-index-js.js.map +1 -1
  22. package/dist/umd/descope-icon.js +1 -1
  23. package/dist/umd/descope-icon.js.map +1 -1
  24. package/dist/umd/descope-image.js +1 -1
  25. package/dist/umd/descope-image.js.map +1 -1
  26. package/dist/umd/descope-outbound-app-button.js +1 -1
  27. package/dist/umd/descope-outbound-app-button.js.map +1 -1
  28. package/dist/umd/descope-outbound-apps.js +1 -1
  29. package/dist/umd/descope-outbound-apps.js.map +1 -1
  30. package/dist/umd/descope-third-party-app-logo-index-js.js +1 -1
  31. package/dist/umd/descope-third-party-app-logo-index-js.js.map +1 -1
  32. package/dist/umd/descope-timer-button.js +1 -1
  33. package/dist/umd/descope-timer-button.js.map +1 -1
  34. package/dist/umd/descope-timer.js +1 -1
  35. package/dist/umd/descope-timer.js.map +1 -1
  36. package/dist/umd/descope-tooltip.js +2 -0
  37. package/dist/umd/descope-tooltip.js.map +1 -0
  38. package/dist/umd/descope-trusted-devices.js +1 -1
  39. package/dist/umd/descope-trusted-devices.js.map +1 -1
  40. package/dist/umd/descope-upload-file-index-js.js +1 -1
  41. package/dist/umd/descope-upload-file-index-js.js.map +1 -1
  42. package/dist/umd/descope-user-attribute-index-js.js +3 -3
  43. package/dist/umd/descope-user-attribute-index-js.js.map +1 -1
  44. package/dist/umd/descope-user-auth-method-index-js.js +1 -1
  45. package/dist/umd/descope-user-auth-method-index-js.js.map +1 -1
  46. package/dist/umd/index.js +1 -1
  47. package/dist/umd/index.js.map +1 -1
  48. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js +1 -1
  49. package/dist/umd/mapping-fields-descope-mappings-field-index-js.js.map +1 -1
  50. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js +1 -1
  51. package/dist/umd/mapping-fields-descope-saml-group-mappings-index-js.js.map +1 -1
  52. package/package.json +29 -28
  53. package/src/helpers/componentHelpers.js +3 -0
  54. package/src/mixins/createStyleMixin/index.js +1 -1
  55. package/src/mixins/hoverableMixin.js +1 -1
  56. package/src/mixins/portalMixin.js +15 -7
  57. package/src/theme/components/index.js +2 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope/web-components-ui",
3
- "version": "2.2.12",
3
+ "version": "2.2.14",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.cjs.js",
6
6
  "module": "dist/index.esm.js",
@@ -50,10 +50,10 @@
50
50
  "webpack": "^5.79.0",
51
51
  "webpack-cli": "^6.0.0",
52
52
  "webpack-dev-server": "^5.0.0",
53
- "rollup-replace-plugin": "2.2.12",
54
- "test-drivers": "2.2.12",
55
- "webpack-extract-font-loader": "2.2.12",
56
- "webpack-replace-plugin": "2.2.12"
53
+ "rollup-replace-plugin": "2.2.14",
54
+ "test-drivers": "2.2.14",
55
+ "webpack-extract-font-loader": "2.2.14",
56
+ "webpack-replace-plugin": "2.2.14"
57
57
  },
58
58
  "dependencies": {
59
59
  "@vaadin/checkbox": "24.3.4",
@@ -77,29 +77,30 @@
77
77
  "libphonenumber-js": "^1.11.12",
78
78
  "lodash.debounce": "4.0.8",
79
79
  "lodash.merge": "4.6.2",
80
- "@descope-ui/common": "2.2.12",
81
- "@descope-ui/descope-address-field": "2.2.12",
82
- "@descope-ui/descope-apps-list": "2.2.12",
83
- "@descope-ui/descope-autocomplete-field": "2.2.12",
84
- "@descope-ui/descope-avatar": "2.2.12",
85
- "@descope-ui/descope-badge": "2.2.12",
86
- "@descope-ui/descope-button": "2.2.12",
87
- "@descope-ui/descope-collapsible-container": "2.2.12",
88
- "@descope-ui/descope-combo-box": "2.2.12",
89
- "@descope-ui/descope-enriched-text": "2.2.12",
90
- "@descope-ui/descope-icon": "2.2.12",
91
- "@descope-ui/descope-image": "2.2.12",
92
- "@descope-ui/descope-link": "2.2.12",
93
- "@descope-ui/descope-list": "2.2.12",
94
- "@descope-ui/descope-list-item": "2.2.12",
95
- "@descope-ui/descope-outbound-app-button": "2.2.12",
96
- "@descope-ui/descope-outbound-apps": "2.2.12",
97
- "@descope-ui/descope-password-strength": "2.2.12",
98
- "@descope-ui/descope-recovery-codes": "2.2.12",
99
- "@descope-ui/descope-text": "2.2.12",
100
- "@descope-ui/descope-timer": "2.2.12",
101
- "@descope-ui/descope-timer-button": "2.2.12",
102
- "@descope-ui/descope-trusted-devices": "2.2.12"
80
+ "@descope-ui/common": "2.2.14",
81
+ "@descope-ui/descope-address-field": "2.2.14",
82
+ "@descope-ui/descope-apps-list": "2.2.14",
83
+ "@descope-ui/descope-autocomplete-field": "2.2.14",
84
+ "@descope-ui/descope-avatar": "2.2.14",
85
+ "@descope-ui/descope-badge": "2.2.14",
86
+ "@descope-ui/descope-button": "2.2.14",
87
+ "@descope-ui/descope-collapsible-container": "2.2.14",
88
+ "@descope-ui/descope-combo-box": "2.2.14",
89
+ "@descope-ui/descope-enriched-text": "2.2.14",
90
+ "@descope-ui/descope-icon": "2.2.14",
91
+ "@descope-ui/descope-image": "2.2.14",
92
+ "@descope-ui/descope-link": "2.2.14",
93
+ "@descope-ui/descope-list": "2.2.14",
94
+ "@descope-ui/descope-list-item": "2.2.14",
95
+ "@descope-ui/descope-outbound-app-button": "2.2.14",
96
+ "@descope-ui/descope-outbound-apps": "2.2.14",
97
+ "@descope-ui/descope-password-strength": "2.2.14",
98
+ "@descope-ui/descope-recovery-codes": "2.2.14",
99
+ "@descope-ui/descope-text": "2.2.14",
100
+ "@descope-ui/descope-timer": "2.2.14",
101
+ "@descope-ui/descope-timer-button": "2.2.14",
102
+ "@descope-ui/descope-trusted-devices": "2.2.14",
103
+ "@descope-ui/descope-tooltip": "2.2.14"
103
104
  },
104
105
  "overrides": {
105
106
  "@vaadin/avatar": "24.3.4",
@@ -49,6 +49,9 @@ const createSyncAttrsCb =
49
49
  attrNames.forEach((attrName) => {
50
50
  const targetAttrName = mapAttrs[attrName] || attrName;
51
51
  const srcAttrVal = srcEle.getAttribute(attrName);
52
+
53
+ if (!targetEle) return;
54
+
52
55
  if (srcAttrVal !== null) {
53
56
  if (targetEle.getAttribute(targetAttrName) !== srcAttrVal) {
54
57
  targetEle.setAttribute(targetAttrName, srcAttrVal);
@@ -137,7 +137,7 @@ export const createStyleMixin =
137
137
 
138
138
  async init() {
139
139
  super.init?.();
140
- if (this.shadowRoot.isConnected) {
140
+ if (this.shadowRoot?.isConnected) {
141
141
  this.#rootElement = (await this.#getRootElement?.(this)) || this.shadowRoot;
142
142
 
143
143
  this.#addClassName(componentName);
@@ -3,7 +3,7 @@ export const hoverableMixin = (superclass) =>
3
3
  init() {
4
4
  super.init?.();
5
5
 
6
- this.baseElement.addEventListener('mouseover', (e) => {
6
+ (this.baseElement || this).addEventListener('mouseover', (e) => {
7
7
  this.setAttribute('hover', 'true');
8
8
  e.target.addEventListener('mouseleave', () => this.removeAttribute('hover'), {
9
9
  once: true,
@@ -1,4 +1,3 @@
1
- import { PORTAL_THEME_PREFIX } from '../constants';
2
1
  import { kebabCaseJoin } from '../helpers';
3
2
  import { forwardAttrs } from '../helpers/componentHelpers';
4
3
  import { createStyleMixin } from './createStyleMixin';
@@ -34,6 +33,7 @@ const withWaitForShadowRoot = (getRootElementFn) => async (that) => {
34
33
  setTimeout(check);
35
34
  } else {
36
35
  res(ele.shadowRoot);
36
+ return;
37
37
  }
38
38
  };
39
39
  check();
@@ -54,7 +54,9 @@ export const portalMixin =
54
54
  return {
55
55
  ...BaseClass.cssVarList,
56
56
  [eleDisplayName]: createCssVarsList(
57
- kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName),
57
+ eleDisplayName
58
+ ? kebabCaseJoin(superclass.componentName, DISPLAY_NAME_SEPARATOR + eleDisplayName)
59
+ : superclass.componentName,
58
60
  mappings
59
61
  ),
60
62
  };
@@ -66,7 +68,7 @@ export const portalMixin =
66
68
  // we cannot use "this" before calling "super"
67
69
  const getRootElement = async (that) => {
68
70
  const baseEle = (that.shadowRoot || that).querySelector(that.baseSelector);
69
- if (!selector) {
71
+ if (!selector || !that.shadowRoot) {
70
72
  return baseEle;
71
73
  }
72
74
 
@@ -80,14 +82,18 @@ export const portalMixin =
80
82
 
81
83
  super({
82
84
  getRootElement: getPortalElement,
83
- componentNameSuffix: DISPLAY_NAME_SEPARATOR + eleDisplayName,
84
- themeSection: PORTAL_THEME_PREFIX + eleDisplayName,
85
- baseSelector: ':host',
85
+ componentNameSuffix: eleDisplayName && DISPLAY_NAME_SEPARATOR + eleDisplayName,
86
+ themeSection: eleDisplayName ? DISPLAY_NAME_SEPARATOR + eleDisplayName : undefined,
87
+ baseSelector: '',
86
88
  });
87
89
 
88
- this.#portalEle = getPortalElement(this).then((ele) => ele.host);
90
+ // Defer portal element lookup to init() for React compatibility
91
+ // (elements created in init() won't exist during constructor)
92
+ this.#getPortalElement = () => getPortalElement(this).then((ele) => ele?.host || ele);
89
93
  }
90
94
 
95
+ #getPortalElement;
96
+
91
97
  async #handleHoverAttribute() {
92
98
  const portalEle = await this.#portalEle;
93
99
  portalEle.onmouseenter = (e) => {
@@ -100,6 +106,8 @@ export const portalMixin =
100
106
 
101
107
  async init() {
102
108
  super.init?.();
109
+ // Initialize portal element lookup here (deferred from constructor for React compatibility)
110
+ this.#portalEle = this.#getPortalElement();
103
111
  const portalEle = await this.#portalEle;
104
112
  forwardAttrs(this, portalEle, {
105
113
  [include ? 'includeAttrs' : 'excludeAttrs']: attributes,
@@ -63,6 +63,7 @@ import * as recoveryCodes from '@descope-ui/descope-recovery-codes/theme';
63
63
  import * as outboundApps from '@descope-ui/descope-outbound-apps/theme';
64
64
  import * as outboundAppButton from '@descope-ui/descope-outbound-app-button/theme';
65
65
  import * as trustedDevices from '@descope-ui/descope-trusted-devices/theme';
66
+ import * as tooltip from '@descope-ui/descope-tooltip/theme';
66
67
 
67
68
  const components = {
68
69
  button,
@@ -131,6 +132,7 @@ const components = {
131
132
  outboundApps,
132
133
  outboundAppButton,
133
134
  trustedDevices,
135
+ tooltip,
134
136
  };
135
137
 
136
138
  const theme = Object.keys(components).reduce(