@descope-ui/descope-autocomplete-field 3.5.0 → 3.5.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-autocomplete-field",
3
- "version": "3.5.0",
3
+ "version": "3.5.1",
4
+ "files": [
5
+ "src",
6
+ "stories"
7
+ ],
4
8
  "exports": {
5
9
  ".": {
6
10
  "import": "./src/component/index.js"
@@ -14,15 +18,15 @@
14
18
  },
15
19
  "devDependencies": {
16
20
  "@playwright/test": "1.58.2",
17
- "test-drivers": "3.5.0",
18
- "e2e-utils": "3.5.0"
21
+ "e2e-utils": "3.5.1",
22
+ "test-drivers": "3.5.1"
19
23
  },
20
24
  "dependencies": {
21
25
  "@vaadin/custom-field": "24.3.4",
22
- "@descope-ui/theme-globals": "3.5.0",
23
- "@descope-ui/theme-input-wrapper": "3.5.0",
24
- "@descope-ui/descope-combo-box": "3.5.0",
25
- "@descope-ui/common": "3.5.0"
26
+ "@descope-ui/common": "3.5.1",
27
+ "@descope-ui/theme-globals": "3.5.1",
28
+ "@descope-ui/theme-input-wrapper": "3.5.1",
29
+ "@descope-ui/descope-combo-box": "3.5.1"
26
30
  },
27
31
  "publishConfig": {
28
32
  "link-workspace-packages": false
package/CHANGELOG.md DELETED
@@ -1,449 +0,0 @@
1
- # Changelog
2
-
3
- This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
-
5
- ## [3.5.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.4.0...web-components-ui-3.5.0) (2026-05-07)
6
-
7
- ## [3.4.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.5...web-components-ui-3.4.0) (2026-05-07)
8
-
9
- ## [3.3.5](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.4...web-components-ui-3.3.5) (2026-05-06)
10
-
11
- ## [3.3.4](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.3...web-components-ui-3.3.4) (2026-05-06)
12
-
13
- ## [3.3.3](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.2...web-components-ui-3.3.3) (2026-05-03)
14
-
15
- ## [3.3.2](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.1...web-components-ui-3.3.2) (2026-04-26)
16
-
17
- ## [3.3.1](https://github.com/descope/web-components-ui/compare/web-components-ui-3.3.0...web-components-ui-3.3.1) (2026-04-23)
18
-
19
- ## [3.3.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.2.2...web-components-ui-3.3.0) (2026-04-19)
20
-
21
- ## [3.2.2](https://github.com/descope/web-components-ui/compare/web-components-ui-3.2.1...web-components-ui-3.2.2) (2026-04-16)
22
-
23
- ## [3.2.1](https://github.com/descope/web-components-ui/compare/web-components-ui-3.2.0...web-components-ui-3.2.1) (2026-04-16)
24
-
25
- ## [3.2.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.13...web-components-ui-3.2.0) (2026-04-16)
26
-
27
- ## [3.1.13](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.12...web-components-ui-3.1.13) (2026-04-15)
28
-
29
- ## [3.1.12](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.11...web-components-ui-3.1.12) (2026-04-15)
30
-
31
- ## [3.1.11](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.10...web-components-ui-3.1.11) (2026-04-15)
32
-
33
- ## [3.1.10](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.9...web-components-ui-3.1.10) (2026-04-14)
34
-
35
- ## [3.1.9](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.8...web-components-ui-3.1.9) (2026-04-13)
36
-
37
- ## [3.1.8](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.7...web-components-ui-3.1.8) (2026-04-13)
38
-
39
- ## [3.1.7](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.6...web-components-ui-3.1.7) (2026-04-13)
40
-
41
- ## [3.1.6](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.5...web-components-ui-3.1.6) (2026-04-13)
42
-
43
- ## [3.1.5](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.4...web-components-ui-3.1.5) (2026-04-07)
44
-
45
- ## [3.1.4](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.3...web-components-ui-3.1.4) (2026-04-07)
46
-
47
- ## [3.1.3](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.2...web-components-ui-3.1.3) (2026-04-06)
48
-
49
- ## [3.1.2](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.1...web-components-ui-3.1.2) (2026-04-06)
50
-
51
- ## [3.1.1](https://github.com/descope/web-components-ui/compare/web-components-ui-3.1.0...web-components-ui-3.1.1) (2026-03-31)
52
-
53
- ## [3.1.0](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.10...web-components-ui-3.1.0) (2026-03-31)
54
-
55
- ## [3.0.10](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.9...web-components-ui-3.0.10) (2026-03-30)
56
-
57
- ## [3.0.9](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.8...web-components-ui-3.0.9) (2026-03-26)
58
-
59
- ## [3.0.8](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.7...web-components-ui-3.0.8) (2026-03-26)
60
-
61
- ## [3.0.7](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.6...web-components-ui-3.0.7) (2026-03-25)
62
-
63
- ## [3.0.6](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.5...web-components-ui-3.0.6) (2026-03-23)
64
-
65
- ## [3.0.5](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.4...web-components-ui-3.0.5) (2026-03-22)
66
-
67
- ## [3.0.4](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.3...web-components-ui-3.0.4) (2026-03-22)
68
-
69
- ## [3.0.3](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.2...web-components-ui-3.0.3) (2026-03-18)
70
-
71
- ## [3.0.2](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.1...web-components-ui-3.0.2) (2026-03-08)
72
-
73
- ## [3.0.1](https://github.com/descope/web-components-ui/compare/web-components-ui-3.0.0...web-components-ui-3.0.1) (2026-03-08)
74
-
75
- ## [3.0.0](https://github.com/descope/web-components-ui/compare/web-components-ui-2.3.3...web-components-ui-3.0.0) (2026-03-08)
76
-
77
- ## [2.3.3](https://github.com/descope/web-components-ui/compare/web-components-ui-2.3.2...web-components-ui-2.3.3) (2026-03-05)
78
-
79
- ## [2.3.2](https://github.com/descope/web-components-ui/compare/web-components-ui-2.3.1...web-components-ui-2.3.2) (2026-03-05)
80
-
81
- ## [2.3.1](https://github.com/descope/web-components-ui/compare/web-components-ui-2.3.0...web-components-ui-2.3.1) (2026-03-01)
82
-
83
- ## [2.3.0](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.59...web-components-ui-2.3.0) (2026-03-01)
84
-
85
- ## [2.2.59](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.58...web-components-ui-2.2.59) (2026-02-28)
86
-
87
- ## [2.2.58](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.57...web-components-ui-2.2.58) (2026-02-26)
88
-
89
- ## [2.2.57](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.56...web-components-ui-2.2.57) (2026-02-25)
90
-
91
- ## [2.2.56](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.55...web-components-ui-2.2.56) (2026-02-24)
92
-
93
- ## [2.2.55](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.54...web-components-ui-2.2.55) (2026-02-23)
94
-
95
- ## [2.2.54](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.53...web-components-ui-2.2.54) (2026-02-23)
96
-
97
- ## [2.2.53](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.52...web-components-ui-2.2.53) (2026-02-23)
98
-
99
- ## [2.2.52](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.51...web-components-ui-2.2.52) (2026-02-23)
100
-
101
- ## [2.2.51](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.50...web-components-ui-2.2.51) (2026-02-21)
102
-
103
- ## [2.2.50](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.49...web-components-ui-2.2.50) (2026-02-10)
104
-
105
- ## [2.2.49](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.48...web-components-ui-2.2.49) (2026-02-09)
106
-
107
- ## [2.2.48](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.47...web-components-ui-2.2.48) (2026-02-09)
108
-
109
- ## [2.2.47](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.46...web-components-ui-2.2.47) (2026-02-05)
110
-
111
- ### Bug Fixes
112
-
113
- - Migrate to Playwright 1.58.1 ([#873](https://github.com/descope/web-components-ui/issues/873)) ([ff16007](https://github.com/descope/web-components-ui/commit/ff16007b6316abd82050ce9bcbce8180a5660d95))
114
-
115
- ## [2.2.46](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.45...web-components-ui-2.2.46) (2026-02-05)
116
-
117
- ## [2.2.45](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.44...web-components-ui-2.2.45) (2026-02-05)
118
-
119
- ## [2.2.44](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.43...web-components-ui-2.2.44) (2026-02-05)
120
-
121
- ## [2.2.43](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.42...web-components-ui-2.2.43) (2026-02-04)
122
-
123
- ## [2.2.42](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.41...web-components-ui-2.2.42) (2026-02-04)
124
-
125
- ## [2.2.41](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.40...web-components-ui-2.2.41) (2026-02-01)
126
-
127
- ## [2.2.40](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.39...web-components-ui-2.2.40) (2026-01-29)
128
-
129
- ## [2.2.39](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.38...web-components-ui-2.2.39) (2026-01-29)
130
-
131
- ## [2.2.38](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.37...web-components-ui-2.2.38) (2026-01-28)
132
-
133
- ## [2.2.37](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.36...web-components-ui-2.2.37) (2026-01-28)
134
-
135
- ## [2.2.36](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.35...web-components-ui-2.2.36) (2026-01-28)
136
-
137
- ## [2.2.35](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.34...web-components-ui-2.2.35) (2026-01-22)
138
-
139
- ## [2.2.34](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.33...web-components-ui-2.2.34) (2026-01-21)
140
-
141
- ## [2.2.33](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.32...web-components-ui-2.2.33) (2026-01-21)
142
-
143
- ## [2.2.32](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.31...web-components-ui-2.2.32) (2026-01-21)
144
-
145
- ## [2.2.31](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.30...web-components-ui-2.2.31) (2026-01-21)
146
-
147
- ## [2.2.30](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.29...web-components-ui-2.2.30) (2026-01-19)
148
-
149
- ## [2.2.29](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.28...web-components-ui-2.2.29) (2026-01-19)
150
-
151
- ## [2.2.28](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.27...web-components-ui-2.2.28) (2026-01-19)
152
-
153
- ## [2.2.27](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.26...web-components-ui-2.2.27) (2026-01-18)
154
-
155
- ## [2.2.26](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.25...web-components-ui-2.2.26) (2026-01-18)
156
-
157
- ## [2.2.25](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.24...web-components-ui-2.2.25) (2026-01-15)
158
-
159
- ## [2.2.24](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.23...web-components-ui-2.2.24) (2026-01-13)
160
-
161
- ## [2.2.23](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.22...web-components-ui-2.2.23) (2026-01-13)
162
-
163
- ## [2.2.22](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.21...web-components-ui-2.2.22) (2026-01-13)
164
-
165
- ## [2.2.21](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.20...web-components-ui-2.2.21) (2026-01-12)
166
-
167
- ## [2.2.20](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.19...web-components-ui-2.2.20) (2026-01-12)
168
-
169
- ## [2.2.19](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.18...web-components-ui-2.2.19) (2026-01-11)
170
-
171
- ## [2.2.18](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.17...web-components-ui-2.2.18) (2026-01-06)
172
-
173
- ## [2.2.17](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.16...web-components-ui-2.2.17) (2026-01-05)
174
-
175
- ## [2.2.16](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.15...web-components-ui-2.2.16) (2025-12-28)
176
-
177
- ## [2.2.15](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.14...web-components-ui-2.2.15) (2025-12-23)
178
-
179
- ## [2.2.14](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.13...web-components-ui-2.2.14) (2025-12-22)
180
-
181
- ## [2.2.13](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.12...web-components-ui-2.2.13) (2025-12-21)
182
-
183
- ## [2.2.12](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.11...web-components-ui-2.2.12) (2025-12-18)
184
-
185
- ## [2.2.11](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.10...web-components-ui-2.2.11) (2025-12-02)
186
-
187
- ## [2.2.10](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.9...web-components-ui-2.2.10) (2025-11-10)
188
-
189
- ## [2.2.9](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.8...web-components-ui-2.2.9) (2025-11-09)
190
-
191
- ## [2.2.8](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.7...web-components-ui-2.2.8) (2025-11-06)
192
-
193
- ## [2.2.7](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.6...web-components-ui-2.2.7) (2025-11-05)
194
-
195
- ## [2.2.6](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.5...web-components-ui-2.2.6) (2025-11-05)
196
-
197
- ## [2.2.5](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.4...web-components-ui-2.2.5) (2025-10-30)
198
-
199
- ## [2.2.4](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.3...web-components-ui-2.2.4) (2025-10-30)
200
-
201
- ## [2.2.3](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.2...web-components-ui-2.2.3) (2025-10-29)
202
-
203
- ## [2.2.2](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.1...web-components-ui-2.2.2) (2025-10-28)
204
-
205
- ## [2.2.1](https://github.com/descope/web-components-ui/compare/web-components-ui-2.2.0...web-components-ui-2.2.1) (2025-10-27)
206
-
207
- ## [2.2.0](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.18...web-components-ui-2.2.0) (2025-10-26)
208
-
209
- ## [2.1.18](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.17...web-components-ui-2.1.18) (2025-10-26)
210
-
211
- ## [2.1.17](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.16...web-components-ui-2.1.17) (2025-10-20)
212
-
213
- ## [2.1.16](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.15...web-components-ui-2.1.16) (2025-10-19)
214
-
215
- ### Bug Fixes
216
-
217
- - exclude style attr from proxy sync ([#755](https://github.com/descope/web-components-ui/issues/755)) ([ca0bd1e](https://github.com/descope/web-components-ui/commit/ca0bd1e2a4e07435eec492b08d366c02dd5d687c))
218
-
219
- ## [2.1.15](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.14...web-components-ui-2.1.15) (2025-10-16)
220
-
221
- ## [2.1.14](https://github.com/descope/web-components-ui/compare/web-components-ui-2.1.13...web-components-ui-2.1.14) (2025-10-12)
222
-
223
- ## [1.139.1](https://github.com/descope/web-components-ui/compare/web-components-ui-1.139.0...web-components-ui-1.139.1) (2025-10-08)
224
-
225
- ## [0.0.27](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.26...@descope-ui/descope-autocomplete-field-0.0.27) (2025-09-30)
226
-
227
- ### Dependency Updates
228
-
229
- - `@descope-ui/common` updated to version `0.1.2`
230
- - `@descope-ui/theme-globals` updated to version `0.0.22`
231
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.11`
232
- - `@descope-ui/descope-combo-box` updated to version `0.1.14`
233
-
234
- ## [0.0.26](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.25...@descope-ui/descope-autocomplete-field-0.0.26) (2025-09-29)
235
-
236
- ### Dependency Updates
237
-
238
- - `@descope-ui/common` updated to version `0.1.1`
239
- - `@descope-ui/theme-globals` updated to version `0.0.21`
240
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.10`
241
- - `@descope-ui/descope-combo-box` updated to version `0.1.13`
242
-
243
- ## [0.0.25](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.24...@descope-ui/descope-autocomplete-field-0.0.25) (2025-09-02)
244
-
245
- ### Dependency Updates
246
-
247
- - `e2e-utils` updated to version `0.1.0`
248
- - `@descope-ui/common` updated to version `0.1.0`
249
- - `@descope-ui/theme-globals` updated to version `0.0.20`
250
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.9`
251
- - `@descope-ui/descope-combo-box` updated to version `0.1.12`
252
-
253
- ## [0.0.24](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.23...@descope-ui/descope-autocomplete-field-0.0.24) (2025-08-10)
254
-
255
- ### Dependency Updates
256
-
257
- - `@descope-ui/descope-combo-box` updated to version `0.1.11`
258
-
259
- ## [0.0.23](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.22...@descope-ui/descope-autocomplete-field-0.0.23) (2025-07-27)
260
-
261
- ### Dependency Updates
262
-
263
- - `@descope-ui/descope-combo-box` updated to version `0.1.10`
264
-
265
- ## [0.0.22](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.21...@descope-ui/descope-autocomplete-field-0.0.22) (2025-07-21)
266
-
267
- ### Dependency Updates
268
-
269
- - `@descope-ui/common` updated to version `0.0.18`
270
- - `@descope-ui/theme-globals` updated to version `0.0.19`
271
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.8`
272
- - `@descope-ui/descope-combo-box` updated to version `0.1.9`
273
-
274
- ## [0.0.21](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.20...@descope-ui/descope-autocomplete-field-0.0.21) (2025-07-15)
275
-
276
- ### Dependency Updates
277
-
278
- - `@descope-ui/common` updated to version `0.0.17`
279
- - `@descope-ui/theme-globals` updated to version `0.0.18`
280
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.7`
281
- - `@descope-ui/descope-combo-box` updated to version `0.1.8`
282
-
283
- ## [0.0.20](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.19...@descope-ui/descope-autocomplete-field-0.0.20) (2025-07-03)
284
-
285
- ### Dependency Updates
286
-
287
- - `test-drivers` updated to version `0.0.1`
288
- - `@descope-ui/descope-combo-box` updated to version `0.1.7`
289
-
290
- ## [0.0.19](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.18...@descope-ui/descope-autocomplete-field-0.0.19) (2025-06-30)
291
-
292
- ### Dependency Updates
293
-
294
- - `@descope-ui/theme-globals` updated to version `0.0.17`
295
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.6`
296
- - `@descope-ui/descope-combo-box` updated to version `0.1.6`
297
-
298
- ## [0.0.18](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.17...@descope-ui/descope-autocomplete-field-0.0.18) (2025-06-30)
299
-
300
- ### Dependency Updates
301
-
302
- - `@descope-ui/common` updated to version `0.0.16`
303
- - `@descope-ui/theme-globals` updated to version `0.0.16`
304
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.5`
305
- - `@descope-ui/descope-combo-box` updated to version `0.1.5`
306
-
307
- ## [0.0.17](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.16...@descope-ui/descope-autocomplete-field-0.0.17) (2025-06-29)
308
-
309
- ### Dependency Updates
310
-
311
- - `@descope-ui/common` updated to version `0.0.15`
312
- - `@descope-ui/theme-globals` updated to version `0.0.15`
313
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.4`
314
- - `@descope-ui/descope-combo-box` updated to version `0.1.4`
315
-
316
- ## [0.0.16](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.15...@descope-ui/descope-autocomplete-field-0.0.16) (2025-06-26)
317
-
318
- ### Dependency Updates
319
-
320
- - `@descope-ui/common` updated to version `0.0.14`
321
- - `@descope-ui/theme-globals` updated to version `0.0.14`
322
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.3`
323
- - `@descope-ui/descope-combo-box` updated to version `0.1.3`
324
-
325
- ## [0.0.15](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.14...@descope-ui/descope-autocomplete-field-0.0.15) (2025-06-09)
326
-
327
- ### Dependency Updates
328
-
329
- - `@descope-ui/common` updated to version `0.0.13`
330
- - `@descope-ui/theme-globals` updated to version `0.0.13`
331
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.2`
332
- - `@descope-ui/descope-combo-box` updated to version `0.1.2`
333
-
334
- ## [0.0.14](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.13...@descope-ui/descope-autocomplete-field-0.0.14) (2025-05-28)
335
-
336
- ### Dependency Updates
337
-
338
- - `e2e-utils` updated to version `0.0.1`
339
- - `@descope-ui/common` updated to version `0.0.12`
340
- - `@descope-ui/theme-globals` updated to version `0.0.12`
341
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.1`
342
- - `@descope-ui/descope-combo-box` updated to version `0.1.1`
343
-
344
- ## [0.0.13](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.12...@descope-ui/descope-autocomplete-field-0.0.13) (2025-05-12)
345
-
346
- ### Dependency Updates
347
-
348
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.0`
349
- - `@descope-ui/descope-combo-box` updated to version `0.1.0`
350
-
351
- ## [0.0.12](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.11...@descope-ui/descope-autocomplete-field-0.0.12) (2025-04-29)
352
-
353
- ### Dependency Updates
354
-
355
- - `@descope-ui/common` updated to version `0.0.11`
356
- - `@descope-ui/theme-globals` updated to version `0.0.11`
357
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.11`
358
- - `@descope-ui/descope-combo-box` updated to version `0.0.13`
359
-
360
- ## [0.0.11](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.10...@descope-ui/descope-autocomplete-field-0.0.11) (2025-04-16)
361
-
362
- ### Dependency Updates
363
-
364
- - `@descope-ui/common` updated to version `0.0.10`
365
- - `@descope-ui/theme-globals` updated to version `0.0.10`
366
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.10`
367
- - `@descope-ui/descope-combo-box` updated to version `0.0.12`
368
-
369
- ## [0.0.10](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.9...@descope-ui/descope-autocomplete-field-0.0.10) (2025-03-20)
370
-
371
- ### Dependency Updates
372
-
373
- - `test-drivers` updated to version `0.0.1`
374
- - `@descope-ui/descope-combo-box` updated to version `0.0.11`
375
-
376
- ## [0.0.9](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.8...@descope-ui/descope-autocomplete-field-0.0.9) (2025-03-11)
377
-
378
- ### Dependency Updates
379
-
380
- - `test-drivers` updated to version `0.0.1`
381
- - `@descope-ui/descope-combo-box` updated to version `0.0.10`
382
-
383
- ## [0.0.8](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.7...@descope-ui/descope-autocomplete-field-0.0.8) (2025-03-06)
384
-
385
- ### Dependency Updates
386
-
387
- - `test-drivers` updated to version `0.0.1`
388
- - `@descope-ui/common` updated to version `0.0.9`
389
- - `@descope-ui/theme-globals` updated to version `0.0.9`
390
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.9`
391
- - `@descope-ui/descope-combo-box` updated to version `0.0.9`
392
-
393
- ## [0.0.7](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.6...@descope-ui/descope-autocomplete-field-0.0.7) (2025-03-05)
394
-
395
- ### Dependency Updates
396
-
397
- - `@descope-ui/common` updated to version `0.0.8`
398
- - `@descope-ui/theme-globals` updated to version `0.0.8`
399
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.8`
400
- - `@descope-ui/descope-combo-box` updated to version `0.0.8`
401
-
402
- ## [0.0.6](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.5...@descope-ui/descope-autocomplete-field-0.0.6) (2025-03-04)
403
-
404
- ## [0.0.5](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.4...@descope-ui/descope-autocomplete-field-0.0.5) (2025-03-03)
405
-
406
- ### Dependency Updates
407
-
408
- - `@descope-ui/common` updated to version `0.0.7`
409
- - `@descope-ui/theme-globals` updated to version `0.0.7`
410
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.7`
411
- - `@descope-ui/descope-combo-box` updated to version `0.0.7`
412
-
413
- ## [0.0.4](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.3...@descope-ui/descope-autocomplete-field-0.0.4) (2025-03-03)
414
-
415
- ### Dependency Updates
416
-
417
- - `@descope-ui/common` updated to version `0.0.6`
418
- - `@descope-ui/theme-globals` updated to version `0.0.6`
419
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.6`
420
- - `@descope-ui/descope-combo-box` updated to version `0.0.6`
421
-
422
- ## [0.0.3](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.2...@descope-ui/descope-autocomplete-field-0.0.3) (2025-02-26)
423
-
424
- ### Dependency Updates
425
-
426
- - `@descope-ui/theme-globals` updated to version `0.0.5`
427
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.5`
428
- - `@descope-ui/descope-combo-box` updated to version `0.0.5`
429
- - `@descope-ui/common` updated to version `0.0.5`
430
-
431
- ## [0.0.2](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-autocomplete-field-0.0.1...@descope-ui/descope-autocomplete-field-0.0.2) (2025-02-17)
432
-
433
- ### Dependency Updates
434
-
435
- - `@descope-ui/common` updated to version `0.0.4`
436
- - `@descope-ui/theme-globals` updated to version `0.0.4`
437
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.4`
438
- - `@descope-ui/descope-combo-box` updated to version `0.0.4`
439
-
440
- ## 0.0.1 (2025-02-04)
441
-
442
- ### Dependency Updates
443
-
444
- - `e2e-utils` updated to version `0.0.1`
445
- - `test-drivers` updated to version `0.0.1`
446
- - `@descope-ui/theme-globals` updated to version `0.0.3`
447
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.3`
448
- - `@descope-ui/descope-combo-box` updated to version `0.0.3`
449
- - `@descope-ui/common` updated to version `0.0.3`
@@ -1,525 +0,0 @@
1
- import { test, expect, Page } from '@playwright/test';
2
- import { getStoryUrl, loopConfig, loopPresets } from 'e2e-utils';
3
- import createAutocompleteTestDriver from '../testDriver/autocompleteTestDriver';
4
-
5
- const storyName = 'descope-autocomplete-field';
6
- const componentName = 'descope-autocomplete-field';
7
-
8
- const BooleanValues = ['true', 'false'];
9
-
10
- const componentAttributes = {
11
- label: 'autocomplete label',
12
- placeholder: 'Test placeholder',
13
- size: ['xs', 'sm', 'md', 'lg'],
14
- bordered: BooleanValues,
15
- readonly: BooleanValues,
16
- required: BooleanValues,
17
- 'full-width': BooleanValues,
18
- disabled: 'true',
19
- 'default-value': 'test value',
20
- };
21
-
22
- const presets = {
23
- 'with label and required': {
24
- label: '-Label',
25
- placeholder: '-Placeholder',
26
- required: 'true',
27
- },
28
- 'with floating label and required': {
29
- label: '-Label',
30
- placeholder: '-Placeholder',
31
- required: 'true',
32
- 'label-type': 'floating',
33
- },
34
- 'with label and not required': {
35
- label: '-Label',
36
- placeholder: '-Placeholder',
37
- required: 'false',
38
- },
39
- 'with floating label and not required': {
40
- label: '-Label',
41
- placeholder: '-Placeholder',
42
- required: 'false',
43
- 'label-type': 'floating',
44
- },
45
- };
46
-
47
- const runVisualTests = async (
48
- name: string,
49
- preset: Record<string, string>,
50
- componentSetup?: (page: Page) => Promise<void>,
51
- ) => {
52
- test.describe(name, () => {
53
- test.beforeEach(async ({ page }) => {
54
- await page.goto(getStoryUrl(storyName, preset));
55
- if (componentSetup) await componentSetup(page);
56
- });
57
-
58
- test('hover', async ({ page }) => {
59
- const component = createAutocompleteTestDriver(
60
- page.locator(componentName),
61
- );
62
- await component.hover();
63
- expect(await component.screenshot()).toMatchSnapshot();
64
- });
65
-
66
- test('focus', async ({ page }) => {
67
- const component = createAutocompleteTestDriver(
68
- page.locator(componentName),
69
- );
70
- await component.focus();
71
- expect(await component.screenshot()).toMatchSnapshot();
72
- });
73
- });
74
- };
75
-
76
- test.describe('theme', () => {
77
- const { placeholder, ...restConfig } = componentAttributes;
78
-
79
- runVisualTests('with placeholder', { placeholder });
80
-
81
- runVisualTests('with default-value and allow-custom-value', {
82
- 'default-value': 'default value',
83
- 'allow-custom-value': 'true',
84
- });
85
-
86
- runVisualTests('with default-value and not allow-custom-value', {
87
- 'default-value': 'default value',
88
- 'allow-custom-value': 'false',
89
- });
90
-
91
- runVisualTests('rtl with default-value', {
92
- 'default-value': '-default value',
93
- direction: 'rtl',
94
- });
95
-
96
- loopPresets(presets, (preset, name) => {
97
- test(name, async ({ page }) => {
98
- await page.goto(getStoryUrl(storyName, preset));
99
- const component = createAutocompleteTestDriver(
100
- page.locator(componentName),
101
- );
102
- expect(
103
- await component.screenshot({ animations: 'disabled' }),
104
- ).toMatchSnapshot();
105
- });
106
-
107
- test(`rtl ${name}`, async ({ page }) => {
108
- await page.goto(getStoryUrl(storyName, { ...preset, direction: 'rtl' }));
109
- const component = createAutocompleteTestDriver(
110
- page.locator(componentName),
111
- );
112
- expect(
113
- await component.screenshot({ animations: 'disabled' }),
114
- ).toMatchSnapshot();
115
- });
116
- });
117
-
118
- ['', 'rtl'].forEach((direction) => {
119
- test(`${!!direction ? 'rtl ' : ''}default error message`, async ({
120
- page,
121
- }) => {
122
- await page.goto(
123
- getStoryUrl(storyName, {
124
- label: '-Label',
125
- placeholder: '-Placeholder',
126
- required: 'true',
127
- direction,
128
- }),
129
- );
130
- const component = createAutocompleteTestDriver(
131
- page.locator(componentName),
132
- );
133
- await page.getByRole('button').getByText('Submit').click();
134
- expect(
135
- await component.screenshot({ timeout: 1000, animations: 'disabled' }),
136
- ).toMatchSnapshot();
137
- });
138
- });
139
-
140
- ['', 'rtl'].forEach((direction) => {
141
- test(`${!!direction ? 'rtl ' : ''}custom error message`, async ({
142
- page,
143
- }) => {
144
- await page.goto(
145
- getStoryUrl(storyName, {
146
- label: '-Label',
147
- placeholder: '-Placeholder',
148
- required: 'true',
149
- 'data-errormessage-value-missing': '-please fill it',
150
- direction,
151
- }),
152
- );
153
- const component = createAutocompleteTestDriver(
154
- page.locator(componentName),
155
- );
156
- await page.getByRole('button').getByText('Submit').click();
157
- expect(
158
- await component.screenshot({ timeout: 1000, animations: 'disabled' }),
159
- ).toMatchSnapshot();
160
- });
161
- });
162
-
163
- test.describe('with value', () => {
164
- loopConfig(restConfig, (attr, value) => {
165
- runVisualTests(`${attr}: ${value}`, { [attr]: value }, async (page) => {
166
- const component = createAutocompleteTestDriver(
167
- page.locator(componentName),
168
- );
169
- await component.setValue('autovalue');
170
- });
171
- });
172
- });
173
-
174
- test.describe('dropdown', () => {
175
- loopPresets(
176
- {
177
- 'size: xs': { size: 'xs' },
178
- 'size: sm': { size: 'sm' },
179
- 'size: md': { size: 'md' },
180
- 'size: lg': { size: 'lg' },
181
- 'full-width: true': { 'full-width': 'true' },
182
- 'full-width: false': { 'full-width': 'false' },
183
- rtl: { direction: 'rtl', 'full-width': 'true' },
184
- },
185
- (preset, name) => {
186
- test(name, async ({ page }) => {
187
- await page.goto(getStoryUrl(storyName, preset));
188
- const component = createAutocompleteTestDriver(
189
- page.locator(componentName),
190
- );
191
- await component.insertValue('fastmock');
192
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
193
- hasText: 'The Adventures of fastmock in Wonderland',
194
- });
195
- await resultsLoaded.waitFor();
196
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
197
- });
198
- },
199
- );
200
- });
201
-
202
- test('loading', async ({ page }) => {
203
- await page.goto(getStoryUrl(storyName, {}));
204
- const component = createAutocompleteTestDriver(page.locator(componentName));
205
- await component.insertValue('loadin');
206
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
207
- hasText: 'The Adventures of ',
208
- });
209
- await resultsLoaded.waitFor();
210
- await component.insertValue('g');
211
- await page.waitForTimeout(300);
212
- expect(
213
- await component.dropDown.screenshot({ animations: 'disabled' }),
214
- ).toMatchSnapshot();
215
- });
216
-
217
- test('error message with icon', async ({ page }) => {
218
- await page.goto(
219
- getStoryUrl(storyName, { required: true, errorMsgIcon: true }),
220
- );
221
- const component = createAutocompleteTestDriver(page.locator(componentName));
222
- await page.getByRole('button').getByText('Submit').click();
223
- await component.blur();
224
- expect(
225
- await component.screenshot({
226
- animations: 'disabled',
227
- caret: 'hide',
228
- timeout: 3000,
229
- }),
230
- ).toMatchSnapshot();
231
- });
232
- });
233
-
234
- test.describe('logic', () => {
235
- test.describe('min search length', () => {
236
- test('default', async ({ page }) => {
237
- await page.goto(getStoryUrl(storyName));
238
- const component = createAutocompleteTestDriver(
239
- page.locator(componentName),
240
- );
241
- await component.insertValue('moc');
242
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
243
- hasText: 'The Adventures of ',
244
- });
245
- await resultsLoaded.waitFor();
246
- const items = await component.getItems();
247
- expect(items.length).toBeGreaterThan(0);
248
- await expect(component.dropDown).toBeVisible();
249
- });
250
-
251
- test('custom', async ({ page }) => {
252
- await page.goto(getStoryUrl(storyName, { 'min-search-length': '4' }));
253
- const component = createAutocompleteTestDriver(
254
- page.locator(componentName),
255
- );
256
- await component.insertValue('fas');
257
- // Need to have the timeout to wait for the results to load (or not)
258
- await page.waitForTimeout(1000);
259
- let items = await component.getItems();
260
- expect(items.length).toBe(0);
261
- await expect(component.dropDown).not.toBeVisible();
262
- await component.insertValue('t');
263
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
264
- hasText: 'The Adventures of ',
265
- });
266
- await resultsLoaded.waitFor();
267
- items = await component.getItems();
268
- expect(items.length).toBeGreaterThan(0);
269
- await expect(component.dropDown).toBeVisible();
270
- });
271
- });
272
-
273
- ['', 'rtl'].forEach((direction) => {
274
- test(`${!!direction ? 'rtl ' : ''}select item and clear`, async ({
275
- page,
276
- }) => {
277
- await page.goto(getStoryUrl(storyName, { direction }));
278
- const component = createAutocompleteTestDriver(
279
- page.locator(componentName),
280
- );
281
- await component.insertValue('fastmock');
282
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
283
- hasText: 'The Adventures of ',
284
- });
285
- await resultsLoaded.waitFor();
286
- await component.selectItem('mock');
287
- expect(await component.getValue()).toBe(
288
- 'The Adventures of fastmock in Wonderland',
289
- );
290
- expect(await component.screenshot()).toMatchSnapshot();
291
- await component.openDropdown();
292
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
293
- await component.blur();
294
- await component.clearSelection();
295
- expect(await component.getValue()).toBe('');
296
- expect(await component.screenshot()).toMatchSnapshot();
297
- });
298
- });
299
-
300
- test.describe('set value', () => {
301
- test('allow custom value', async ({ page }) => {
302
- await page.goto(getStoryUrl(storyName, { 'allow-custom-value': 'true' }));
303
- const component = createAutocompleteTestDriver(
304
- page.locator(componentName),
305
- );
306
- await component.setValue('set value');
307
- expect(await component.screenshot()).toMatchSnapshot();
308
- expect(await component.getValue()).toBe('set value');
309
- });
310
-
311
- test('not allow custom value', async ({ page }) => {
312
- await page.goto(
313
- getStoryUrl(storyName, { 'allow-custom-value': 'false' }),
314
- );
315
- const component = createAutocompleteTestDriver(
316
- page.locator(componentName),
317
- );
318
- await component.setValue('set value');
319
- expect(await component.screenshot()).toMatchSnapshot();
320
- expect(await component.getValue()).toBe('set value');
321
- });
322
- });
323
-
324
- test.describe('search and blur', () => {
325
- test('allow custom value', async ({ page }) => {
326
- await page.goto(getStoryUrl(storyName, { 'allow-custom-value': 'true' }));
327
- const component = createAutocompleteTestDriver(
328
- page.locator(componentName),
329
- );
330
- await component.insertValue('fastmock1');
331
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
332
- hasText: 'The Adventures of ',
333
- });
334
- await resultsLoaded.waitFor();
335
- const items = await component.getItems();
336
- expect(items.length).toBeGreaterThan(0);
337
- await expect(component.dropDown).toBeVisible();
338
- await page.getByRole('button').getByText('Submit').click();
339
- await expect(component.dropDown).not.toBeVisible({ timeout: 1000 });
340
- expect(await component.getValue()).toBe('fastmock1');
341
- expect(await component.screenshot()).toMatchSnapshot();
342
- });
343
-
344
- test('not allow custom value', async ({ page }) => {
345
- await page.goto(
346
- getStoryUrl(storyName, { 'allow-custom-value': 'false' }),
347
- );
348
- const component = createAutocompleteTestDriver(
349
- page.locator(componentName),
350
- );
351
- await component.insertValue('fastmock1');
352
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
353
- hasText: 'The Adventures of ',
354
- });
355
- await resultsLoaded.waitFor();
356
- const items = await component.getItems();
357
- expect(items.length).toBeGreaterThan(0);
358
- await expect(component.dropDown).toBeVisible();
359
- await page.getByRole('button').getByText('Submit').click();
360
- await expect(component.dropDown).not.toBeVisible({ timeout: 1000 });
361
- expect(await component.getValue()).toBe('');
362
- expect(await component.screenshot()).toMatchSnapshot();
363
- });
364
-
365
- test('select - allow custom value', async ({ page }) => {
366
- await page.goto(getStoryUrl(storyName, { 'allow-custom-value': 'true' }));
367
- const locator = page.locator(componentName);
368
- const component = createAutocompleteTestDriver(locator);
369
- await component.insertValue('fastmock');
370
- let resultsLoaded = page.locator('vaadin-combo-box-item', {
371
- hasText: 'The Adventures of ',
372
- });
373
- await resultsLoaded.waitFor();
374
- await component.selectItem('mock');
375
- expect(await component.getValue()).toBe(
376
- 'The Adventures of fastmock in Wonderland',
377
- );
378
- await expect(component.dropDown).not.toBeVisible();
379
- await component.replaceSearchValue('fasthello');
380
- resultsLoaded = page.locator('vaadin-combo-box-item', {
381
- hasText: 'The Adventures of fasthello',
382
- });
383
- await resultsLoaded.waitFor();
384
- await page.getByRole('button').getByText('Submit').click();
385
- await expect(component.dropDown).not.toBeVisible({ timeout: 1000 });
386
- expect(await component.getValue()).toBe('fasthello');
387
- expect(await component.screenshot()).toMatchSnapshot();
388
- });
389
-
390
- test('select - not allow custom value', async ({ page }) => {
391
- await page.goto(
392
- getStoryUrl(storyName, { 'allow-custom-value': 'false' }),
393
- );
394
- const locator = page.locator(componentName);
395
- const component = createAutocompleteTestDriver(locator);
396
- await component.insertValue('fastmock');
397
- let resultsLoaded = page.locator('vaadin-combo-box-item', {
398
- hasText: 'The Adventures of ',
399
- });
400
- await resultsLoaded.waitFor();
401
- await component.selectItem('mock');
402
- expect(await component.getValue()).toBe(
403
- 'The Adventures of fastmock in Wonderland',
404
- );
405
- await expect(component.dropDown).not.toBeVisible();
406
- await component.replaceSearchValue('fasthello');
407
- resultsLoaded = page.locator('vaadin-combo-box-item', {
408
- hasText: 'The Adventures of fasthello',
409
- });
410
- await resultsLoaded.waitFor();
411
- await page.getByRole('button').getByText('Submit').click();
412
- await expect(component.dropDown).not.toBeVisible({ timeout: 1000 });
413
- expect(await component.getValue()).toBe(
414
- 'The Adventures of fastmock in Wonderland',
415
- );
416
- expect(await component.screenshot()).toMatchSnapshot();
417
- });
418
- });
419
-
420
- test('no results', async ({ page }) => {
421
- await page.goto(getStoryUrl(storyName, {}));
422
- const component = createAutocompleteTestDriver(page.locator(componentName));
423
- await component.insertValue('no ');
424
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
425
- hasText: 'No results',
426
- });
427
- await resultsLoaded.waitFor();
428
- await expect(component.dropDown).toBeVisible();
429
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
430
- const item = page.locator(componentName).getByRole('option').first();
431
- await expect(item).toHaveAttribute('disabled', 'true');
432
- });
433
-
434
- test('error searching', async ({ page }) => {
435
- await page.goto(getStoryUrl(storyName, {}));
436
- const component = createAutocompleteTestDriver(page.locator(componentName));
437
- await component.insertValue('error');
438
- const resultsLoaded = page.locator('vaadin-combo-box-item', {
439
- hasText: 'An error occurred',
440
- });
441
- await resultsLoaded.waitFor();
442
- await expect(component.dropDown).toBeVisible();
443
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
444
- const item = page.locator(componentName).getByRole('option').first();
445
- await expect(item).toHaveAttribute('disabled', 'true');
446
- });
447
-
448
- test('error validation - allow custom value', async ({
449
- page,
450
- browserName,
451
- }) => {
452
- // The test has to be skipped for webkit because when there's an error,
453
- // the component collapses and it's not visible (only in Playwright).
454
- test.skip(browserName === 'webkit');
455
- await page.goto(
456
- getStoryUrl(storyName, {
457
- 'allow-custom-value': 'true',
458
- required: 'true',
459
- }),
460
- );
461
- const component = createAutocompleteTestDriver(page.locator(componentName));
462
- await page.getByRole('button').getByText('Submit').click();
463
- let errorMessage = page.locator('div', {
464
- hasText: 'Please fill out this field.',
465
- });
466
- // Empty input should show error message
467
- await errorMessage.nth(0).waitFor();
468
-
469
- // Enter custom value
470
- await component.insertValue('test value');
471
- let resultsLoaded = page.locator('vaadin-combo-box-item', {
472
- hasText: 'The Adventures of test value in Wonderland',
473
- });
474
- await resultsLoaded.waitFor({ timeout: 1000 });
475
- // The value is not selected
476
- await component.blur();
477
- await page.getByRole('button').getByText('Submit').click();
478
- expect(await component.getValue()).toBe('test value');
479
- errorMessage = page.locator('div', {
480
- hasText: 'Please fill out this field.',
481
- });
482
- await expect(errorMessage).not.toBeVisible();
483
-
484
- // Clear the value and check that the error message is visible
485
- await component.clearSelection();
486
- await component.blur();
487
- expect(await component.getValue()).toBe('');
488
- await page.getByRole('button').getByText('Submit').click();
489
- errorMessage = page.locator('div', {
490
- hasText: 'Please fill out this field.',
491
- });
492
- await errorMessage.nth(0).waitFor();
493
-
494
- // Search and select a valid value
495
- await page.goto(getStoryUrl(storyName, { 'allow-custom-value': 'true' }));
496
- await component.insertValue('fastmock');
497
- resultsLoaded = page.locator('vaadin-combo-box-item', {
498
- hasText: 'The Adventures of ',
499
- });
500
- await resultsLoaded.waitFor();
501
- await component.selectItem('mock');
502
- expect(await component.getValue()).toBe(
503
- 'The Adventures of fastmock in Wonderland',
504
- );
505
- await page.getByRole('button').getByText('Submit').click();
506
- expect(await component.screenshot()).toMatchSnapshot();
507
- });
508
- });
509
-
510
-
511
- test.describe('custom error message', () => {
512
- loopPresets({
513
- 'value missing: default': { required: 'true', defaultErrorMessageValueMissing: 'true' },
514
- 'value missing: custom': { required: 'true', 'data-errormessage-value-missing': 'custom message' },
515
- 'value missing: empty': { required: 'true', 'data-errormessage-value-missing': '' },
516
- }, (preset, name) => {
517
- test(name, async({ page, browserName }) => {
518
- test.skip(browserName === 'webkit');
519
- await page.goto(getStoryUrl(storyName, preset));
520
- const component = createAutocompleteTestDriver(page.locator(componentName));
521
- await page.getByRole('button').getByText('Submit').click();
522
- expect(await component.screenshot({ animations: 'disabled', delay: 6000 })).toMatchSnapshot();
523
- });
524
- });
525
- });
package/project.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "name": "@descope-ui/descope-autocomplete-field",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/web-components/components/descope-autocomplete-field/src",
5
- "projectType": "library",
6
- "targets": {},
7
- "tags": []
8
- }
@@ -1,49 +0,0 @@
1
- import { Locator } from '@playwright/test';
2
- import { createComponentTestDriver, createInputTestDriver } from 'test-drivers';
3
-
4
- const createAutocompleteTestDriver = (locator: Locator) => {
5
- const clearButton = locator.locator('#clearButton');
6
- const dropDown = locator.getByRole('listbox');
7
-
8
- return {
9
- ...createComponentTestDriver(locator),
10
- ...createInputTestDriver(locator),
11
-
12
- async focus() {
13
- await locator.evaluate((node: HTMLInputElement) => {
14
- node.focus();
15
- });
16
- },
17
-
18
- selectItem(text: string) {
19
- return dropDown.getByText(text).first().click();
20
- },
21
-
22
- async openDropdown() {
23
- await locator.page().keyboard.press('ArrowDown');
24
- },
25
-
26
- async clearSelection() {
27
- await clearButton.click();
28
- },
29
-
30
- async replaceSearchValue(value: string) {
31
- await locator
32
- .page()
33
- .keyboard.press(
34
- `${process.platform === 'darwin' ? 'Meta' : 'Control'}+A`,
35
- );
36
- await locator.page().keyboard.press('Backspace');
37
- await locator.page().keyboard.type(value);
38
- },
39
-
40
- async getItems() {
41
- const items = await dropDown.getByRole('option').all();
42
- return Promise.all(items.map((item) => item.textContent()));
43
- },
44
-
45
- dropDown,
46
- };
47
- };
48
-
49
- export default createAutocompleteTestDriver;