@descope-ui/descope-user-passkeys 3.11.4 → 3.11.6

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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [3.11.6](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.5...web-components-ui-3.11.6) (2026-05-24)
6
+
7
+ ## [3.11.5](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.4...web-components-ui-3.11.5) (2026-05-21)
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * **user-passkeys:** icon color and size fixes ([#1037](https://github.com/descope/web-components-ui/issues/1037)) ([ef98108](https://github.com/descope/web-components-ui/commit/ef981082884d9ee6f17b987900f13a3b1e454652))
13
+
5
14
  ## [3.11.4](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.3...web-components-ui-3.11.4) (2026-05-20)
6
15
 
7
16
  ## [3.11.3](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.2...web-components-ui-3.11.3) (2026-05-19)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@descope-ui/descope-user-passkeys",
3
- "version": "3.11.4",
3
+ "version": "3.11.6",
4
4
  "exports": {
5
5
  ".": {
6
6
  "import": "./src/component/index.js"
@@ -14,18 +14,18 @@
14
14
  },
15
15
  "devDependencies": {
16
16
  "@playwright/test": "1.58.2",
17
- "e2e-utils": "3.11.4",
18
- "test-drivers": "3.11.4"
17
+ "e2e-utils": "3.11.6",
18
+ "test-drivers": "3.11.6"
19
19
  },
20
20
  "dependencies": {
21
- "@descope-ui/common": "3.11.4",
22
- "@descope-ui/theme-globals": "3.11.4",
23
- "@descope-ui/descope-list": "3.11.4",
24
- "@descope-ui/descope-list-item": "3.11.4",
25
- "@descope-ui/descope-text": "3.11.4",
26
- "@descope-ui/descope-link": "3.11.4",
27
- "@descope-ui/descope-icon": "3.11.4",
28
- "@descope-ui/descope-button": "3.11.4"
21
+ "@descope-ui/common": "3.11.6",
22
+ "@descope-ui/theme-globals": "3.11.6",
23
+ "@descope-ui/descope-list": "3.11.6",
24
+ "@descope-ui/descope-list-item": "3.11.6",
25
+ "@descope-ui/descope-text": "3.11.6",
26
+ "@descope-ui/descope-link": "3.11.6",
27
+ "@descope-ui/descope-icon": "3.11.6",
28
+ "@descope-ui/descope-button": "3.11.6"
29
29
  },
30
30
  "publishConfig": {
31
31
  "link-workspace-packages": false
@@ -16,6 +16,7 @@ import { ListItemClass } from '@descope-ui/descope-list-item/class';
16
16
  import { getIcon, parseDate, populateRemoveButton, sortFn } from './helpers';
17
17
  import checkmark from './icons/checkmark.svg';
18
18
  import { LinkClass } from '@descope-ui/descope-link/class';
19
+ import { ButtonClass } from '@descope-ui/descope-button/class';
19
20
 
20
21
  export const componentName = getComponentName('user-passkeys');
21
22
 
@@ -38,7 +39,14 @@ const itemRenderer = ({ id, name, createdAt, passkeyType }, _, ref) => {
38
39
  <descope-text class="item-name" variant="body1" mode="primary"></descope-text>
39
40
  </span>
40
41
  <span class="item-panel">
41
- ${ref.allowRemove ? `<descope-link variant="text" mode="primary" size="md" ellipsis="true" data-action="remove-passkey" class="remove-button"></descope-link>` : `<descope-icon src="${checkmark}"></descope-icon>`}
42
+ ${
43
+ ref.allowRemove
44
+ ? `<descope-link variant="text" mode="primary" size="md" ellipsis="true" data-action="remove-passkey" class="remove-button">
45
+ <div class="remove-button-content">
46
+ </div>
47
+ </descope-link>`
48
+ : `<descope-icon src="${checkmark}"></descope-icon>`
49
+ }
42
50
  </span>
43
51
  </div>
44
52
  <div class="meta">
@@ -110,6 +118,10 @@ class RawUserPasskeysClass extends BaseClass {
110
118
 
111
119
  injectStyle(
112
120
  `
121
+ .remove-button-content {
122
+ display: flex;
123
+ align-items: center;
124
+ }
113
125
  :host {
114
126
  display: inline-block;
115
127
  }
@@ -139,11 +151,6 @@ class RawUserPasskeysClass extends BaseClass {
139
151
  white-space: nowrap;
140
152
  }
141
153
 
142
- slot[name="method-icon"] {
143
- display: inline-flex;
144
- align-items: center;
145
- }
146
-
147
154
  .descope-list-item {
148
155
  min-width: 0;
149
156
  }
@@ -207,7 +214,6 @@ class RawUserPasskeysClass extends BaseClass {
207
214
  display: flex;
208
215
  width: 100%;
209
216
  }
210
-
211
217
  .hidden {
212
218
  display: none
213
219
  }
@@ -329,8 +335,10 @@ class RawUserPasskeysClass extends BaseClass {
329
335
  }
330
336
  }
331
337
 
332
- const { host } = {
338
+ const { host, methodIconSlotted, addIconSlotted } = {
333
339
  host: { selector: () => ':host' },
340
+ methodIconSlotted: { selector: () => 'slot[name="method-icon"]::slotted(*)' },
341
+ addIconSlotted: { selector: () => 'slot[name="button-icon"]::slotted(*)' },
334
342
  };
335
343
 
336
344
  export const UserPasskeysClass = compose(
@@ -454,10 +462,19 @@ export const UserPasskeysClass = compose(
454
462
  },
455
463
 
456
464
  removeButtonGap: {
457
- selector: () =>
458
- `${LinkClass.componentName}.remove-button > *:not(:last-child)`,
459
- property: 'margin-inline-end',
465
+ selector: () => '.remove-button-content',
466
+ property: 'gap',
467
+ },
468
+
469
+ iconColor: {
470
+ selector: () => ButtonClass.componentName,
471
+ property: ButtonClass.cssVarList.iconColor,
460
472
  },
473
+
474
+ iconSize: [
475
+ { ...methodIconSlotted, property: 'height' },
476
+ { ...addIconSlotted, property: 'height' },
477
+ ],
461
478
  },
462
479
  }),
463
480
  draggableMixin,
@@ -156,7 +156,7 @@ export const cloneSlottedNodes = (element, slotName) => {
156
156
  };
157
157
 
158
158
  export const populateRemoveButton = (template, id, ref) => {
159
- const button = template.content.querySelector('.remove-button');
159
+ const button = template.content.querySelector('.remove-button-content');
160
160
  button.dataset.passkeyId = id;
161
161
  const clonedSlottedContent = cloneSlottedNodes(ref, 'remove-button');
162
162
  if (clonedSlottedContent) button.append(clonedSlottedContent);
package/src/theme.js CHANGED
@@ -36,6 +36,9 @@ const userPasskeys = {
36
36
 
37
37
  [vars.removeButtonGap]: globals.spacing.sm,
38
38
 
39
+ [vars.iconSize]: '1.5em',
40
+ [vars.iconColor]: 'currentcolor',
41
+
39
42
  _fullWidth: {
40
43
  [vars.hostWidth]: '100%',
41
44
  },
@@ -69,9 +69,9 @@ const Template = ({
69
69
  st-item-horizontal-padding="${stItemHorizontalPadding || ''}"
70
70
  st-item-vertical-padding="${stItemVerticalPadding || ''}"
71
71
  >
72
- ${showMethodIcon && `<img src="${methodIcon}" slot="method-icon" />`}
73
- ${showButtonIcon && `<img src="${buttonIcon}" slot="button-icon" />`}
74
- ${allowRemove && showRemoveIcon ? `<img src="${removeIcon}" slot="remove-button" />` : ''}
72
+ ${showMethodIcon ? `<descope-icon st-fill="currentcolor" src="${methodIcon}" slot="method-icon"></descope-icon>` : ''}
73
+ ${showButtonIcon ? `<descope-icon st-fill="currentcolor" src="${buttonIcon}" slot="button-icon"></descope-icon>` : ''}
74
+ ${allowRemove && showRemoveIcon ? `<descope-icon st-fill="currentcolor" st-height="1.5em" src="${removeIcon}" slot="remove-button"></descope-icon>` : ''}
75
75
  ${allowRemove ? `<span slot="remove-button">${removeButtonLabel || 'Remove'}</span>` : ''}
76
76
  </descope-user-passkeys>
77
77
  `;