@descope-ui/descope-user-passkeys 3.11.8 → 3.12.1

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/package.json CHANGED
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "@descope-ui/descope-user-passkeys",
3
- "version": "3.11.8",
3
+ "version": "3.12.1",
4
+ "files": [
5
+ "src",
6
+ "stories"
7
+ ],
4
8
  "exports": {
5
9
  ".": {
6
10
  "import": "./src/component/index.js"
@@ -14,18 +18,18 @@
14
18
  },
15
19
  "devDependencies": {
16
20
  "@playwright/test": "1.58.2",
17
- "e2e-utils": "3.11.8",
18
- "test-drivers": "3.11.8"
21
+ "e2e-utils": "3.12.1",
22
+ "test-drivers": "3.12.1"
19
23
  },
20
24
  "dependencies": {
21
- "@descope-ui/common": "3.11.8",
22
- "@descope-ui/theme-globals": "3.11.8",
23
- "@descope-ui/descope-list": "3.11.8",
24
- "@descope-ui/descope-list-item": "3.11.8",
25
- "@descope-ui/descope-text": "3.11.8",
26
- "@descope-ui/descope-link": "3.11.8",
27
- "@descope-ui/descope-button": "3.11.8",
28
- "@descope-ui/descope-icon": "3.11.8"
25
+ "@descope-ui/common": "3.12.1",
26
+ "@descope-ui/theme-globals": "3.12.1",
27
+ "@descope-ui/descope-list": "3.12.1",
28
+ "@descope-ui/descope-text": "3.12.1",
29
+ "@descope-ui/descope-list-item": "3.12.1",
30
+ "@descope-ui/descope-link": "3.12.1",
31
+ "@descope-ui/descope-icon": "3.12.1",
32
+ "@descope-ui/descope-button": "3.12.1"
29
33
  },
30
34
  "publishConfig": {
31
35
  "link-workspace-packages": false
package/CHANGELOG.md DELETED
@@ -1,33 +0,0 @@
1
- # Changelog
2
-
3
- This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
-
5
- ## [3.11.8](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.7...web-components-ui-3.11.8) (2026-05-25)
6
-
7
- ## [3.11.7](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.6...web-components-ui-3.11.7) (2026-05-25)
8
-
9
- ## [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)
10
-
11
- ## [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)
12
-
13
-
14
- ### Bug Fixes
15
-
16
- * **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))
17
-
18
- ## [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)
19
-
20
- ## [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)
21
-
22
- ## [3.11.2](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.1...web-components-ui-3.11.2) (2026-05-19)
23
-
24
- ## [3.11.1](https://github.com/descope/web-components-ui/compare/web-components-ui-3.11.0...web-components-ui-3.11.1) (2026-05-19)
25
-
26
- ## [3.11.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.10.2...web-components-ui-3.11.0) (2026-05-19)
27
-
28
-
29
- ### Features
30
-
31
- * **component:** descope-user-passkeys ([#995](https://github.com/descope/web-components-ui/issues/995)) ([457bb17](https://github.com/descope/web-components-ui/commit/457bb1739f2af0a3ff68a0776b4f1a0186cbc8fa))
32
-
33
- # Changelog
@@ -1,191 +0,0 @@
1
- import { test, expect } from '@playwright/test';
2
- import { getStoryUrl, loopConfig, loopPresets } from 'e2e-utils';
3
- import createUserPasskeysTestDriver from '../testDriver/userPasskeysTestDriver';
4
-
5
- const componentAttributes = {
6
- direction: ['ltr', 'rtl'],
7
- format: ['MM-DD-YYYY', 'DD-MM-YYYY', 'YYYY-MM-DD'],
8
- readonly: ['false', 'true'],
9
- useLongNames: ['false', 'true'],
10
- 'allow-remove': ['false', 'true'],
11
- 'full-width': ['false', 'true'],
12
- numberOfItems: ['0', '1', '2', '5', '10'],
13
- showMethodIcon: ['false', 'true'],
14
- showButtonIcon: ['false', 'true'],
15
-
16
- 'st-list-items-gap': ['0', '4px', '16px', '50px'],
17
- 'st-item-horizontal-padding': ['0', '4px', '16px', '50px'],
18
- 'st-item-vertical-padding': ['0', '4px', '16px', '50px'],
19
- 'add-passkey-button-label': [
20
- '',
21
- 'Custom Add',
22
- 'Long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long Add',
23
- ],
24
- 'created-at-label': [
25
- '',
26
- 'Custom label',
27
- 'Long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long last login',
28
- ],
29
- };
30
-
31
- const customLabels = {
32
- 'add-passkey-button-label':
33
- componentAttributes['add-passkey-button-label'][2],
34
- 'created-at-label': componentAttributes['created-at-label'][2],
35
- };
36
-
37
- const presets = {
38
- 'long content ltr': {
39
- useLongNames: 'true',
40
- ...customLabels,
41
- },
42
- 'long content rtl': {
43
- direction: 'rtl',
44
- useLongNames: 'true',
45
- ...customLabels,
46
- },
47
- 'allow remove with empty label': {
48
- 'allow-remove': 'true',
49
- removeButtonLabel: '',
50
- },
51
- 'allow remove with custom label': {
52
- 'allow-remove': 'true',
53
- removeButtonLabel: 'Custom',
54
- },
55
- 'allow remove with long label': {
56
- 'allow-remove': 'true',
57
- removeButtonLabel:
58
- 'Long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long long Remove',
59
- },
60
- 'show remove button icon': {
61
- 'allow-remove': 'true',
62
- showRemoveIcon: 'true',
63
- },
64
- };
65
-
66
- const storyName = 'descope-user-passkeys';
67
- const componentName = 'descope-user-passkeys';
68
-
69
- test.describe('theme', () => {
70
- loopConfig(componentAttributes, (attr, value) => {
71
- test.describe(`${attr}: ${value}`, () => {
72
- test.beforeEach(async ({ page }) => {
73
- await page.goto(getStoryUrl(storyName, { [attr]: value }), {
74
- waitUntil: 'networkidle',
75
- });
76
- });
77
-
78
- test('style', async ({ page }) => {
79
- const component = createUserPasskeysTestDriver(
80
- page.locator(componentName),
81
- );
82
- await page.waitForTimeout(2000);
83
-
84
- expect(await component.screenshot()).toMatchSnapshot();
85
- });
86
- });
87
- });
88
- });
89
-
90
- const setupEventListener = (eventName: string) => {
91
- return `
92
- window.eventDetails = [];
93
- document.addEventListener('${eventName}', (event) => {
94
- window.eventDetails.push(event.detail);
95
- });
96
- `;
97
- };
98
-
99
- test.describe('logic', () => {
100
- test('dispatch add action', async ({ page }) => {
101
- await page.goto(getStoryUrl(storyName), {
102
- waitUntil: 'networkidle',
103
- });
104
-
105
- await page.addInitScript(setupEventListener('add-passkey-clicked'));
106
-
107
- await page.reload({ waitUntil: 'networkidle' });
108
-
109
- await page.locator('text="Add"').click();
110
- await page.waitForTimeout(500);
111
-
112
- const eventDetail = await page.evaluate(
113
- // eslint-disable-next-line no-undef
114
- () => (window as any).eventDetails[0],
115
- );
116
-
117
- expect(eventDetail).toBeDefined();
118
- expect(eventDetail).toHaveProperty('action', 'add-passkey');
119
- });
120
-
121
- test('dispatch remove action with passkey ID', async ({ page }) => {
122
- await page.goto(getStoryUrl(storyName, { 'allow-remove': 'true' }), {
123
- waitUntil: 'networkidle',
124
- });
125
-
126
- await page.addInitScript(setupEventListener('remove-passkey-clicked'));
127
-
128
- await page.reload({ waitUntil: 'networkidle' });
129
-
130
- await page
131
- .getByText('Vendor 5 Remove')
132
- .getByText('Remove', { exact: true })
133
- .first()
134
- .click();
135
- await page.waitForTimeout(500);
136
-
137
- const eventDetail = await page.evaluate(
138
- // eslint-disable-next-line no-undef
139
- () => (window as any).eventDetails[0],
140
- );
141
-
142
- expect(eventDetail).toBeDefined();
143
- expect(eventDetail).toHaveProperty('action', 'remove-passkey');
144
- expect(eventDetail).toHaveProperty('id', 'vendor-id-5');
145
- });
146
-
147
- test('prevent dispatch when readonly', async ({ page }) => {
148
- await page.goto(
149
- getStoryUrl(storyName, { readonly: 'true', 'allow-remove': 'true' }),
150
- {
151
- waitUntil: 'networkidle',
152
- },
153
- );
154
-
155
- await page.addInitScript(setupEventListener('remove-passkey-clicked'));
156
-
157
- await page.reload({ waitUntil: 'networkidle' });
158
-
159
- await page
160
- .getByText('Vendor 5 Remove')
161
- .getByText('Remove', { exact: true })
162
- .first()
163
- .click();
164
- await page.waitForTimeout(500);
165
-
166
- const eventDetail = await page.evaluate(
167
- // eslint-disable-next-line no-undef
168
- () => (window as any).eventDetails[0],
169
- );
170
-
171
- expect(eventDetail).not.toBeDefined();
172
- });
173
- });
174
-
175
- test.describe('presets', () => {
176
- loopPresets(presets, (preset, name) => {
177
- test(name, async ({ page }) => {
178
- await page.goto(getStoryUrl(storyName, preset));
179
- await page.waitForSelector(componentName);
180
-
181
- const component = page.locator(componentName);
182
-
183
- expect(
184
- await component.screenshot({
185
- animations: 'disabled',
186
- timeout: 3000,
187
- }),
188
- ).toMatchSnapshot();
189
- });
190
- });
191
- });
package/project.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "name": "@descope-ui/descope-user-passkeys",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/web-components/components/descope-user-passkeys/src",
5
- "projectType": "library",
6
- "targets": {},
7
- "tags": []
8
- }
@@ -1,10 +0,0 @@
1
- import { Locator } from '@playwright/test';
2
- import { createComponentTestDriver } from 'test-drivers';
3
-
4
- const createUserPasskeysTestDriver = (locator: Locator) => {
5
- return {
6
- ...createComponentTestDriver(locator),
7
- };
8
- };
9
-
10
- export default createUserPasskeysTestDriver;