@descope-ui/descope-combo-box 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-combo-box",
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,14 +18,14 @@
14
18
  },
15
19
  "devDependencies": {
16
20
  "@playwright/test": "1.58.2",
17
- "e2e-utils": "3.5.0",
18
- "test-drivers": "3.5.0"
21
+ "e2e-utils": "3.5.1",
22
+ "test-drivers": "3.5.1"
19
23
  },
20
24
  "dependencies": {
21
25
  "@vaadin/combo-box": "24.3.4",
22
- "@descope-ui/theme-globals": "3.5.0",
23
- "@descope-ui/theme-input-wrapper": "3.5.0",
24
- "@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"
25
29
  },
26
30
  "publishConfig": {
27
31
  "link-workspace-packages": false
package/CHANGELOG.md DELETED
@@ -1,448 +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
-
10
- ### Features
11
-
12
- * add inputs font weight ([#1019](https://github.com/descope/web-components-ui/issues/1019)) ([65d958f](https://github.com/descope/web-components-ui/commit/65d958f4f35ab2d9bd0b25383a629d53ac63ac11))
13
-
14
- ## [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)
15
-
16
- ## [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)
17
-
18
- ## [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)
19
-
20
- ## [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)
21
-
22
- ## [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)
23
-
24
- ## [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)
25
-
26
- ## [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)
27
-
28
- ## [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)
29
-
30
- ## [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)
31
-
32
- ## [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)
33
-
34
- ## [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)
35
-
36
- ## [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)
37
-
38
- ## [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)
39
-
40
- ## [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)
41
-
42
- ## [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)
43
-
44
- ## [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)
45
-
46
- ## [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)
47
-
48
- ## [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)
49
-
50
- ## [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)
51
-
52
- ## [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)
53
-
54
- ## [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)
55
-
56
- ## [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)
57
-
58
- ## [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)
59
-
60
- ## [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)
61
-
62
- ## [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)
63
-
64
- ## [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)
65
-
66
- ## [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)
67
-
68
- ## [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)
69
-
70
- ## [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)
71
-
72
- ## [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)
73
-
74
- ## [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)
75
-
76
- ## [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)
77
-
78
- ## [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)
79
-
80
- ## [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)
81
-
82
- ## [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)
83
-
84
- ## [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)
85
-
86
- ## [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)
87
-
88
- ## [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)
89
-
90
- ## [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)
91
-
92
- ## [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)
93
-
94
- ## [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)
95
-
96
- ## [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)
97
-
98
- ## [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)
99
-
100
- ### Features
101
-
102
- - combo-box `require-match` ([#885](https://github.com/descope/web-components-ui/issues/885)) ([3cbbb50](https://github.com/descope/web-components-ui/commit/3cbbb5089d9f4ff7c6e8b48005664fc26fdca157))
103
-
104
- ## [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)
105
-
106
- ## [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)
107
-
108
- ## [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)
109
-
110
- ## [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)
111
-
112
- ## [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)
113
-
114
- ## [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)
115
-
116
- ## [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)
117
-
118
- ## [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)
119
-
120
- ### Bug Fixes
121
-
122
- - 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))
123
-
124
- ## [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)
125
-
126
- ## [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)
127
-
128
- ## [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)
129
-
130
- ## [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)
131
-
132
- ## [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)
133
-
134
- ## [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)
135
-
136
- ## [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)
137
-
138
- ## [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)
139
-
140
- ## [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)
141
-
142
- ## [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)
143
-
144
- ## [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)
145
-
146
- ## [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)
147
-
148
- ## [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)
149
-
150
- ## [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)
151
-
152
- ## [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)
153
-
154
- ## [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)
155
-
156
- ## [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)
157
-
158
- ## [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)
159
-
160
- ## [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)
161
-
162
- ## [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)
163
-
164
- ## [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)
165
-
166
- ## [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)
167
-
168
- ## [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)
169
-
170
- ## [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)
171
-
172
- ## [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)
173
-
174
- ## [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)
175
-
176
- ## [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)
177
-
178
- ## [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)
179
-
180
- ## [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)
181
-
182
- ## [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)
183
-
184
- ## [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)
185
-
186
- ## [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)
187
-
188
- ## [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)
189
-
190
- ## [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)
191
-
192
- ## [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)
193
-
194
- ## [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)
195
-
196
- ## [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)
197
-
198
- ## [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)
199
-
200
- ## [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)
201
-
202
- ## [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)
203
-
204
- ## [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)
205
-
206
- ## [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)
207
-
208
- ## [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)
209
-
210
- ## [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)
211
-
212
- ## [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)
213
-
214
- ## [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)
215
-
216
- ## [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)
217
-
218
- ## [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)
219
-
220
- ## [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)
221
-
222
- ## [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)
223
-
224
- ### Bug Fixes
225
-
226
- - 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))
227
-
228
- ## [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)
229
-
230
- ## [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)
231
-
232
- ## [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)
233
-
234
- ## [0.1.14](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.13...@descope-ui/descope-combo-box-0.1.14) (2025-09-30)
235
-
236
- ### Dependency Updates
237
-
238
- - `@descope-ui/common` updated to version `0.1.2`
239
- - `@descope-ui/theme-globals` updated to version `0.0.22`
240
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.11`
241
-
242
- ## [0.1.13](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.12...@descope-ui/descope-combo-box-0.1.13) (2025-09-29)
243
-
244
- ### Dependency Updates
245
-
246
- - `@descope-ui/common` updated to version `0.1.1`
247
- - `@descope-ui/theme-globals` updated to version `0.0.21`
248
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.10`
249
-
250
- ## [0.1.12](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.11...@descope-ui/descope-combo-box-0.1.12) (2025-09-02)
251
-
252
- ### Dependency Updates
253
-
254
- - `e2e-utils` updated to version `0.1.0`
255
- - `@descope-ui/common` updated to version `0.1.0`
256
- - `@descope-ui/theme-globals` updated to version `0.0.20`
257
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.9`
258
-
259
- ## [0.1.11](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.10...@descope-ui/descope-combo-box-0.1.11) (2025-08-10)
260
-
261
- ## [0.1.10](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.9...@descope-ui/descope-combo-box-0.1.10) (2025-07-27)
262
-
263
- ### Bug Fixes
264
-
265
- - wait for combo box to be ready before overriding its internals ([#695](https://github.com/descope/web-components-ui/issues/695)) ([0723f17](https://github.com/descope/web-components-ui/commit/0723f173be7ecf29e2a4e7e79dea569ad744eed9))
266
-
267
- ## [0.1.9](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.8...@descope-ui/descope-combo-box-0.1.9) (2025-07-21)
268
-
269
- ### Dependency Updates
270
-
271
- - `@descope-ui/common` updated to version `0.0.18`
272
- - `@descope-ui/theme-globals` updated to version `0.0.19`
273
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.8`
274
-
275
- ## [0.1.8](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.7...@descope-ui/descope-combo-box-0.1.8) (2025-07-15)
276
-
277
- ### Dependency Updates
278
-
279
- - `@descope-ui/common` updated to version `0.0.17`
280
- - `@descope-ui/theme-globals` updated to version `0.0.18`
281
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.7`
282
-
283
- ## [0.1.7](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.6...@descope-ui/descope-combo-box-0.1.7) (2025-07-03)
284
-
285
- ### Dependency Updates
286
-
287
- - `test-drivers` updated to version `0.0.1`
288
-
289
- ## [0.1.6](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.5...@descope-ui/descope-combo-box-0.1.6) (2025-06-30)
290
-
291
- ### Dependency Updates
292
-
293
- - `@descope-ui/theme-globals` updated to version `0.0.17`
294
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.6`
295
-
296
- ## [0.1.5](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.4...@descope-ui/descope-combo-box-0.1.5) (2025-06-30)
297
-
298
- ### Dependency Updates
299
-
300
- - `@descope-ui/common` updated to version `0.0.16`
301
- - `@descope-ui/theme-globals` updated to version `0.0.16`
302
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.5`
303
-
304
- ## [0.1.4](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.3...@descope-ui/descope-combo-box-0.1.4) (2025-06-29)
305
-
306
- ### Dependency Updates
307
-
308
- - `@descope-ui/common` updated to version `0.0.15`
309
- - `@descope-ui/theme-globals` updated to version `0.0.15`
310
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.4`
311
-
312
- ## [0.1.3](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.2...@descope-ui/descope-combo-box-0.1.3) (2025-06-26)
313
-
314
- ### Dependency Updates
315
-
316
- - `@descope-ui/common` updated to version `0.0.14`
317
- - `@descope-ui/theme-globals` updated to version `0.0.14`
318
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.3`
319
-
320
- ## [0.1.2](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.1...@descope-ui/descope-combo-box-0.1.2) (2025-06-09)
321
-
322
- ### Dependency Updates
323
-
324
- - `@descope-ui/common` updated to version `0.0.13`
325
- - `@descope-ui/theme-globals` updated to version `0.0.13`
326
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.2`
327
-
328
- ## [0.1.1](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.1.0...@descope-ui/descope-combo-box-0.1.1) (2025-05-28)
329
-
330
- ### Dependency Updates
331
-
332
- - `e2e-utils` updated to version `0.0.1`
333
- - `@descope-ui/common` updated to version `0.0.12`
334
- - `@descope-ui/theme-globals` updated to version `0.0.12`
335
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.1`
336
-
337
- ## [0.1.0](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.13...@descope-ui/descope-combo-box-0.1.0) (2025-05-12)
338
-
339
- ### Dependency Updates
340
-
341
- - `@descope-ui/theme-input-wrapper` updated to version `0.1.0`
342
-
343
- ### Features
344
-
345
- - control inputs error font size ([#643](https://github.com/descope/web-components-ui/issues/643)) ([16309ab](https://github.com/descope/web-components-ui/commit/16309aba6626f72d2c7301864ea25e006b408af9))
346
-
347
- ## [0.0.13](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.12...@descope-ui/descope-combo-box-0.0.13) (2025-04-29)
348
-
349
- ### Dependency Updates
350
-
351
- - `@descope-ui/common` updated to version `0.0.11`
352
- - `@descope-ui/theme-globals` updated to version `0.0.11`
353
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.11`
354
-
355
- ## [0.0.12](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.11...@descope-ui/descope-combo-box-0.0.12) (2025-04-16)
356
-
357
- ### Dependency Updates
358
-
359
- - `@descope-ui/common` updated to version `0.0.10`
360
- - `@descope-ui/theme-globals` updated to version `0.0.10`
361
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.10`
362
-
363
- ## [0.0.11](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.10...@descope-ui/descope-combo-box-0.0.11) (2025-03-20)
364
-
365
- ### Dependency Updates
366
-
367
- - `test-drivers` updated to version `0.0.1`
368
-
369
- ## [0.0.10](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.9...@descope-ui/descope-combo-box-0.0.10) (2025-03-11)
370
-
371
- ### Dependency Updates
372
-
373
- - `test-drivers` updated to version `0.0.1`
374
-
375
- ## [0.0.9](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.8...@descope-ui/descope-combo-box-0.0.9) (2025-03-06)
376
-
377
- ### Dependency Updates
378
-
379
- - `test-drivers` updated to version `0.0.1`
380
- - `@descope-ui/common` updated to version `0.0.9`
381
- - `@descope-ui/theme-globals` updated to version `0.0.9`
382
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.9`
383
-
384
- ## [0.0.8](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.7...@descope-ui/descope-combo-box-0.0.8) (2025-03-05)
385
-
386
- ### Dependency Updates
387
-
388
- - `@descope-ui/common` updated to version `0.0.8`
389
- - `@descope-ui/theme-globals` updated to version `0.0.8`
390
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.8`
391
-
392
- ## [0.0.7](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.6...@descope-ui/descope-combo-box-0.0.7) (2025-03-03)
393
-
394
- ### Dependency Updates
395
-
396
- - `@descope-ui/common` updated to version `0.0.7`
397
- - `@descope-ui/theme-globals` updated to version `0.0.7`
398
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.7`
399
-
400
- ## [0.0.6](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.5...@descope-ui/descope-combo-box-0.0.6) (2025-03-03)
401
-
402
- ### Dependency Updates
403
-
404
- - `@descope-ui/common` updated to version `0.0.6`
405
- - `@descope-ui/theme-globals` updated to version `0.0.6`
406
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.6`
407
-
408
- ## [0.0.5](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.4...@descope-ui/descope-combo-box-0.0.5) (2025-02-26)
409
-
410
- ### Dependency Updates
411
-
412
- - `@descope-ui/theme-globals` updated to version `0.0.5`
413
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.5`
414
- - `@descope-ui/common` updated to version `0.0.5`
415
-
416
- ## [0.0.4](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.3...@descope-ui/descope-combo-box-0.0.4) (2025-02-17)
417
-
418
- ### Dependency Updates
419
-
420
- - `@descope-ui/common` updated to version `0.0.4`
421
- - `@descope-ui/theme-globals` updated to version `0.0.4`
422
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.4`
423
-
424
- ## [0.0.3](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.2...@descope-ui/descope-combo-box-0.0.3) (2025-02-04)
425
-
426
- ### Dependency Updates
427
-
428
- - `@descope-ui/theme-globals` updated to version `0.0.3`
429
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.3`
430
- - `@descope-ui/common` updated to version `0.0.3`
431
-
432
- ## [0.0.2](https://github.com/descope/web-components-ui/compare/@descope-ui/descope-combo-box-0.0.1...@descope-ui/descope-combo-box-0.0.2) (2025-01-28)
433
-
434
- ### Dependency Updates
435
-
436
- - `@descope-ui/theme-globals` updated to version `0.0.2`
437
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.2`
438
- - `@descope-ui/common` updated to version `0.0.2`
439
-
440
- ## 0.0.1 (2025-01-28)
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.1`
447
- - `@descope-ui/theme-input-wrapper` updated to version `0.0.1`
448
- - `@descope-ui/common` updated to version `0.0.1`
@@ -1,611 +0,0 @@
1
- import { test, expect } from '@playwright/test';
2
- import { getStoryUrl, loopConfig, loopPresets } from 'e2e-utils';
3
- import { createComboBoxTestDriver } from 'test-drivers';
4
-
5
- const storyName = 'descope-combo-box';
6
- const componentName = 'descope-combo-box';
7
-
8
- const BooleanValues = ['true', 'false'];
9
-
10
- const componentAttributes = {
11
- label: 'Number field 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': 'itemId2',
20
- };
21
-
22
- const presets = {
23
- 'Render with alt item renderer': {
24
- itemsSource: 'prop',
25
- overrideRenderItem: 'true',
26
- },
27
- 'Render with data property': { itemsSource: 'prop' },
28
- 'Render with data attribute': { itemsSource: 'attr' },
29
- 'Render with data property and default value': {
30
- itemsSource: 'prop',
31
- 'default-value': 'itemId2',
32
- },
33
- };
34
-
35
- const rtlPresets = {
36
- 'direction rtl': {
37
- direction: 'rtl',
38
- label: '-Test Label',
39
- placeholder: '-Test Placeholder',
40
- itemsSource: 'attr',
41
- 'data[0].displayName': '-Item 1',
42
- 'data[1].displayName': '-Item 2',
43
- 'data[1].label': '-Data Item 2',
44
- },
45
- 'direction rtl required': {
46
- direction: 'rtl',
47
- label: '-Test Label',
48
- placeholder: '-Test Placeholder',
49
- itemsSource: 'attr',
50
- 'data[0].displayName': '-Item 1',
51
- 'data[1].displayName': '-Item 2',
52
- 'data[1].label': '-Data Item 2',
53
- required: 'true',
54
- },
55
- };
56
-
57
- const floatingLabelProps = {
58
- 'label-type': 'floating',
59
- label: 'label-',
60
- placeholder: 'placeholder',
61
- };
62
-
63
- export const floatingLabelTypePresets = {
64
- 'floating label ltr': floatingLabelProps,
65
- 'floating label rtl': {
66
- ...floatingLabelProps,
67
- direction: 'rtl',
68
- },
69
- 'floating label ltr with value': {
70
- ...floatingLabelProps,
71
- 'default-value': 'itemId2',
72
- direction: 'ltr',
73
- },
74
- 'floating label rtl with value': {
75
- ...floatingLabelProps,
76
- 'default-value': 'itemId2',
77
- direction: 'rtl',
78
- },
79
- 'floating label with long tail letters': {
80
- ...floatingLabelProps,
81
- label: 'gyqjp',
82
- }
83
- };
84
-
85
- test.describe('theme', () => {
86
- const { placeholder, ...restConfig } = componentAttributes;
87
-
88
- test.describe('with placeholder', () => {
89
- test.beforeEach(async ({ page }) => {
90
- await page.goto(getStoryUrl(storyName, { placeholder }), {
91
- waitUntil: 'networkidle',
92
- });
93
- await page.waitForSelector(componentName);
94
- const component = createComboBoxTestDriver(page.locator(componentName));
95
- await component.clear();
96
- });
97
-
98
- test('hover', async ({ page }) => {
99
- const component = createComboBoxTestDriver(page.locator(componentName));
100
- await component.hover();
101
- expect(await component.screenshot()).toMatchSnapshot();
102
- });
103
-
104
- test('focus', async ({ page }) => {
105
- const component = createComboBoxTestDriver(page.locator(componentName));
106
- await component.focus();
107
- expect(await component.screenshot()).toMatchSnapshot();
108
- });
109
- });
110
-
111
- loopPresets(presets, (preset, name) => {
112
- test.describe(name, () => {
113
- test.beforeEach(async ({ page }) => {
114
- await page.goto(getStoryUrl(storyName, preset), {
115
- waitUntil: 'networkidle',
116
- });
117
- });
118
-
119
- test('hover', async ({ page }) => {
120
- const component = createComboBoxTestDriver(page.locator(componentName));
121
- await component.hover();
122
- expect(
123
- await component.screenshot({ animations: 'disabled' }),
124
- ).toMatchSnapshot();
125
- });
126
-
127
- test('focus', async ({ page }) => {
128
- const component = createComboBoxTestDriver(page.locator(componentName));
129
- await component.focus();
130
- expect(
131
- await component.screenshot({ animations: 'disabled' }),
132
- ).toMatchSnapshot();
133
- });
134
- });
135
- });
136
-
137
- test.describe('with value', () => {
138
- loopConfig(restConfig, (attr, value) => {
139
- test.describe(`${attr}: ${value}`, () => {
140
- test.beforeEach(async ({ page }) => {
141
- await page.goto(getStoryUrl(storyName, { [attr]: value }), {
142
- waitUntil: 'networkidle',
143
- });
144
-
145
- const component = createComboBoxTestDriver(
146
- page.locator(componentName),
147
- );
148
- component.setValue('itemId4');
149
- });
150
-
151
- test('hover', async ({ page }) => {
152
- const component = createComboBoxTestDriver(
153
- page.locator(componentName),
154
- );
155
- await component.hover();
156
- expect(await component.screenshot()).toMatchSnapshot();
157
- });
158
-
159
- test('focus', async ({ page }) => {
160
- const component = createComboBoxTestDriver(
161
- page.locator(componentName),
162
- );
163
- await component.focus();
164
- expect(await component.screenshot()).toMatchSnapshot();
165
- });
166
- });
167
- });
168
- });
169
-
170
- test.describe('dropDown', () => {
171
- loopConfig(
172
- {
173
- size: componentAttributes.size,
174
- 'full-width': componentAttributes['full-width'],
175
- },
176
- (attr, value) => {
177
- test.describe(`${attr}: ${value}`, () => {
178
- test.beforeEach(async ({ page }) => {
179
- await page.goto(getStoryUrl(storyName, { [attr]: value }), {
180
- waitUntil: 'networkidle',
181
- });
182
-
183
- const component = createComboBoxTestDriver(
184
- page.locator(componentName),
185
- );
186
- await component.openDropdown();
187
- });
188
- test('visible', async ({ page }) => {
189
- const component = createComboBoxTestDriver(
190
- page.locator(componentName),
191
- );
192
- await component.hover();
193
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
194
- });
195
- });
196
- },
197
- );
198
- });
199
-
200
- test.describe('direction rtl', () => {
201
- loopPresets(rtlPresets, (preset, name) => {
202
- test(name, async ({ page }) => {
203
- await page.goto(getStoryUrl(storyName, preset));
204
- await page.waitForSelector(componentName);
205
- const component = createComboBoxTestDriver(page.locator(componentName));
206
-
207
- expect(
208
- await component.screenshot({
209
- animations: 'disabled',
210
- timeout: 3000,
211
- caret: 'hide',
212
- }),
213
- ).toMatchSnapshot();
214
- });
215
- });
216
- test('with error', async ({ page }) => {
217
- await page.goto(getStoryUrl(storyName, Object.values(rtlPresets)[1]), {
218
- waitUntil: 'networkidle',
219
- });
220
- const component = createComboBoxTestDriver(page.locator(componentName));
221
- await page.getByRole('button').getByText('Submit').click();
222
- expect(await component.screenshot({ delay: 1000 })).toMatchSnapshot();
223
- });
224
-
225
- test('with open dropdown', async ({ page }) => {
226
- await page.goto(getStoryUrl(storyName, Object.values(rtlPresets)[1]), {
227
- waitUntil: 'networkidle',
228
- });
229
- const component = createComboBoxTestDriver(page.locator(componentName));
230
- await component.openDropdown();
231
- await component.hover();
232
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
233
- });
234
-
235
- test('with open dropdown and value', async ({ page }) => {
236
- await page.goto(getStoryUrl(storyName, Object.values(rtlPresets)[1]), {
237
- waitUntil: 'networkidle',
238
- });
239
- const component = createComboBoxTestDriver(page.locator(componentName));
240
- await component.setValue('itemId2');
241
- await component.openDropdown();
242
- await component.hover();
243
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
244
- });
245
-
246
- test('with value', async ({ page }) => {
247
- await page.goto(getStoryUrl(storyName, Object.values(rtlPresets)[1]), {
248
- waitUntil: 'networkidle',
249
- });
250
- const component = createComboBoxTestDriver(page.locator(componentName));
251
- await component.setValue('itemId2');
252
- expect(await component.screenshot()).toMatchSnapshot();
253
- });
254
- });
255
- });
256
-
257
- test.describe('logic', () => {
258
- test.beforeEach(async ({ page }) => {
259
- await page.goto(getStoryUrl(storyName, { 'full-width': true }), {
260
- waitUntil: 'networkidle',
261
- });
262
- });
263
-
264
- test('select item', async ({ page }) => {
265
- const component = createComboBoxTestDriver(page.locator(componentName));
266
- await component.openDropdown();
267
- await component.selectItem("Achilles' Fateful Wrath");
268
-
269
- expect(await component.getValue()).toBe('itemId2');
270
- });
271
-
272
- // 'required' - not working as expected
273
-
274
- test.describe('clear button', () => {
275
- test('clear button visible when has value', async ({ page }) => {
276
- await page.goto(getStoryUrl(storyName, { 'default-value': 'itemId2' }), {
277
- waitUntil: 'networkidle',
278
- });
279
- const component = createComboBoxTestDriver(page.locator(componentName));
280
- await component.clearSelection();
281
- expect(await component.getValue()).toBe('');
282
- });
283
- });
284
-
285
- test('loading state', async ({ page }) => {
286
- await page.goto(getStoryUrl(storyName, {}));
287
- const componentLocator = page.locator(componentName);
288
- const component = createComboBoxTestDriver(componentLocator);
289
-
290
- await componentLocator.evaluate((node: HTMLElement) => {
291
- node.setAttribute('loading', 'true');
292
- });
293
- await component.openDropdown();
294
- expect(
295
- await component.dropDown.screenshot({ animations: 'disabled' }),
296
- ).toMatchSnapshot();
297
-
298
- await componentLocator.evaluate((node: HTMLElement) => {
299
- node.removeAttribute('loading');
300
- });
301
- await page.waitForTimeout(1000);
302
- expect(
303
- await component.dropDown.screenshot({ animations: 'disabled' }),
304
- ).toMatchSnapshot();
305
- });
306
-
307
- test('allow custom value', async ({ page }) => {
308
- await page.goto(getStoryUrl(storyName, { 'allow-custom-value': true }));
309
- const component = createComboBoxTestDriver(page.locator(componentName));
310
- const value = 'new value';
311
- await component.setValue(value);
312
- expect(await component.screenshot()).toMatchSnapshot();
313
- expect(await component.getValue()).toBe(value);
314
- });
315
-
316
- test.describe('reset value', () => {
317
- const testResetValue = async (
318
- page: any,
319
- allowCustomValue: boolean,
320
- extraSteps?: (component: any) => Promise<void>,
321
- ) => {
322
- const urlParams = allowCustomValue ? { 'allow-custom-value': true } : {};
323
- await page.goto(getStoryUrl(storyName, urlParams));
324
- const component = createComboBoxTestDriver(page.locator(componentName));
325
- await component.setValue('itemId2');
326
- expect(await component.getValue()).toBe('itemId2');
327
- expect(await component.screenshot()).toMatchSnapshot();
328
- await component.setValue('');
329
- expect(await component.getValue()).toBe('');
330
- expect(await component.screenshot()).toMatchSnapshot();
331
-
332
- if (extraSteps) {
333
- await extraSteps(component);
334
- }
335
- };
336
-
337
- test('no custom value', async ({ page }) => {
338
- await testResetValue(page, false);
339
- });
340
-
341
- test('allow custom value', async ({ page }) => {
342
- await testResetValue(page, true, async (component) => {
343
- await component.setValue('new value');
344
- expect(await component.getValue()).toBe('new value');
345
- expect(await component.screenshot()).toMatchSnapshot();
346
- await component.setValue('');
347
- expect(await component.getValue()).toBe('');
348
- expect(await component.screenshot()).toMatchSnapshot();
349
- });
350
- });
351
- });
352
-
353
- test('error message with icon', async ({ page }) => {
354
- await page.goto(
355
- getStoryUrl(storyName, { required: true, errorMsgIcon: true }),
356
- );
357
-
358
- const component = createComboBoxTestDriver(page.locator(componentName));
359
-
360
- await page.getByRole('button').getByText('Submit').click();
361
-
362
- // we blur the input to remove the tooltip, so we can see the error message
363
- await component.blur();
364
-
365
- expect(
366
- await component.screenshot({
367
- animations: 'disabled',
368
- caret: 'hide',
369
- delay: 5000,
370
- }),
371
- ).toMatchSnapshot();
372
- });
373
- });
374
-
375
- test.describe('variants', () => {
376
- loopPresets(floatingLabelTypePresets, (preset, name) => {
377
- test.describe(name, () => {
378
- test.beforeEach(async ({ page }) => {
379
- await page.goto(getStoryUrl(storyName, preset), {
380
- waitUntil: 'networkidle',
381
- });
382
- });
383
-
384
- test('hover', async ({ page }) => {
385
- const component = createComboBoxTestDriver(page.locator(componentName));
386
- await component.setValue('itemId2');
387
- await component.hover();
388
- expect(
389
- await component.screenshot({ animations: 'disabled' }),
390
- ).toMatchSnapshot();
391
- });
392
- test('focus', async ({ page }) => {
393
- const component = createComboBoxTestDriver(page.locator(componentName));
394
- await component.focus();
395
- expect(
396
- await component.screenshot({ animations: 'disabled' }),
397
- ).toMatchSnapshot();
398
- });
399
- });
400
- });
401
- });
402
-
403
- test.describe('hide toggle button', () => {
404
- test('hide toggle button', async ({ page }) => {
405
- await page.goto(getStoryUrl(storyName, { 'hide-toggle-button': true }));
406
- const component = createComboBoxTestDriver(page.locator(componentName));
407
- expect(await component.screenshot()).toMatchSnapshot();
408
- await component.openDropdown();
409
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
410
- await component.insertValue('itemname1');
411
- expect(await component.screenshot()).toMatchSnapshot();
412
- expect(await component.dropDown.screenshot()).toMatchSnapshot();
413
- });
414
- });
415
-
416
- test.describe('data attribute', () => {
417
- test('clear items', async ({ page }) => {
418
- await page.goto(getStoryUrl(storyName, { itemsSource: 'prop' }));
419
- const componentLocator = page.locator(componentName);
420
- const component = createComboBoxTestDriver(componentLocator);
421
- await component.openDropdown();
422
- let items = await component.getItems();
423
- expect(items).toHaveLength(4);
424
- // Reduce data items
425
- await componentLocator.evaluate((node: HTMLElement & { data: any[] }) => {
426
- node.data = [
427
- { displayName: 'Item1', value: '1', label: 'data item 1' },
428
- { displayName: 'Item2', value: '2', label: 'data item 2' },
429
- ];
430
- });
431
- items = await component.getItems();
432
- expect(items).toHaveLength(2);
433
- // Clear data items
434
- await componentLocator.evaluate((node: HTMLElement & { data: any[] }) => {
435
- node.data = [];
436
- });
437
- items = await component.getItems();
438
- expect(items).toHaveLength(0);
439
- });
440
-
441
- test('allow custom value with no items', async ({ page }) => {
442
- await page.goto(
443
- getStoryUrl(storyName, {
444
- itemsSource: 'prop',
445
- 'allow-custom-value': true,
446
- }),
447
- );
448
- const componentLocator = page.locator(componentName);
449
- const component = createComboBoxTestDriver(componentLocator);
450
- // Clear data items
451
- await componentLocator.evaluate((node: HTMLElement & { data: any[] }) => {
452
- node.data = [];
453
- });
454
- await component.setValue('new value');
455
- expect(await component.getValue()).toBe('new value');
456
- expect(await component.screenshot()).toMatchSnapshot();
457
- });
458
- });
459
-
460
- test.describe('override renderer', () => {
461
- test('custom background', async ({ page }) => {
462
- await page.goto(getStoryUrl(storyName, { overrideRenderer: true }));
463
- const component = createComboBoxTestDriver(page.locator(componentName));
464
- await component.openDropdown();
465
- expect(
466
- await component.dropDown.screenshot({ delay: 1000 }),
467
- ).toMatchSnapshot();
468
- });
469
- });
470
-
471
- test.describe('custom error message', () => {
472
- loopPresets({
473
- 'value missing: default': { required: 'true', defaultErrorMessageValueMissing: 'true' },
474
- 'value missing: custom': { required: 'true', 'data-errormessage-value-missing': 'custom message' },
475
- 'value missing: empty': { required: 'true', 'data-errormessage-value-missing': '' },
476
- }, (preset, name) => {
477
- test(name, async({ page }) => {
478
- await page.goto(getStoryUrl(storyName, preset));
479
- const component = createComboBoxTestDriver(page.locator(componentName));
480
- await page.getByRole('button').getByText('Submit').click();
481
- expect(await component.screenshot({ animations: 'disabled', timeout: 6000 })).toMatchSnapshot();
482
- });
483
- });
484
- });
485
-
486
- test.describe('require-match', () => {
487
- test('should validate pattern', async ({ page }) => {
488
- await page.goto(
489
- getStoryUrl(storyName, {
490
- 'require-match': 'true',
491
- }),
492
- );
493
- const componentLocator = page.locator(componentName);
494
- const component = createComboBoxTestDriver(componentLocator);
495
-
496
- await component.insertValue('xyz');
497
- await component.blur();
498
-
499
- const displayValue = await component.getDisplayValue();
500
- expect(displayValue).toBe('xyz');
501
-
502
- const actualValue = await componentLocator.evaluate(
503
- (node: HTMLElement & { value: string }) => node.value,
504
- );
505
- expect(actualValue).toBe('');
506
-
507
- await page.getByRole('button').getByText('Submit').click();
508
-
509
- expect(await component.checkValidity()).toBe(false);
510
-
511
- expect(
512
- await component.screenshot({ delay: 1000, animations: 'disabled' }),
513
- ).toMatchSnapshot();
514
- });
515
-
516
- test('should have custom error message for require match', async ({ page }) => {
517
- await page.goto(
518
- getStoryUrl(storyName, {
519
- 'require-match': 'true',
520
- 'data-errormessage-pattern-mismatch': 'Custom error message',
521
- }),
522
- );
523
-
524
- const componentLocator = page.locator(componentName);
525
- const component = createComboBoxTestDriver(componentLocator);
526
-
527
- await component.insertValue('xyz');
528
- await component.blur();
529
-
530
- await page.getByRole('button').getByText('Submit').click();
531
-
532
- expect(await component.checkValidity()).toBe(false);
533
-
534
- expect(
535
- await component.screenshot({ delay: 1000, animations: 'disabled' }),
536
- ).toMatchSnapshot();
537
- });
538
-
539
- test('should not clear filter on blur', async ({ page }) => {
540
- await page.goto(
541
- getStoryUrl(storyName, {
542
- 'require-match': 'true',
543
- 'data-pattern-mismatch-missing': 'Custom error message',
544
- }),
545
- );
546
-
547
- const component = createComboBoxTestDriver(page.locator(componentName));
548
-
549
- await component.insertValue('xyz');
550
- await component.blur();
551
-
552
- expect(
553
- await component.screenshot({ delay: 1000, animations: 'disabled' })
554
- ).toMatchSnapshot();
555
- });
556
-
557
- test('should not override allow-custom-value', async ({ page }) => {
558
- await page.goto(
559
- getStoryUrl(storyName, {
560
- 'require-match': 'true',
561
- 'allow-custom-value': 'true',
562
- 'data-pattern-mismatch-missing': 'Custom error message',
563
- }),
564
- );
565
-
566
- const component = createComboBoxTestDriver(page.locator(componentName));
567
-
568
- await component.insertValue('allowed custom value');
569
- await component.blur();
570
-
571
- await page.getByRole('button').getByText('Submit').click();
572
-
573
- expect(
574
- await component.screenshot({ delay: 1000, animations: 'disabled' })
575
- ).toMatchSnapshot();
576
- });
577
-
578
- test('should validate when valid option is selected', async ({ page }) => {
579
- await page.goto(
580
- getStoryUrl(storyName, {
581
- 'require-match': 'true',
582
- 'data-pattern-mismatch-missing': 'Custom error message',
583
- }),
584
- );
585
-
586
- const componentLocator = page.locator(componentName);
587
- const component = createComboBoxTestDriver(componentLocator);
588
-
589
- await component.insertValue('xyz');
590
- await component.blur();
591
-
592
- await page.getByRole('button').getByText('Submit').click();
593
-
594
- expect(
595
- await component.screenshot({ delay: 1000, animations: 'disabled' })
596
- ).toMatchSnapshot();
597
-
598
- await component.focus();
599
- await component.keyboard.press('Backspace');
600
- await component.keyboard.press('Backspace');
601
- await component.keyboard.press('Backspace');
602
-
603
- await component.selectItem("Achilles' Fateful Wrath");
604
-
605
- expect(
606
- await component.screenshot({ delay: 1000, animations: 'disabled' })
607
- ).toMatchSnapshot();
608
- });
609
-
610
- });
611
-
package/project.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "name": "@descope-ui/descope-combo-box",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/web-components/components/descope-combo-box/src",
5
- "projectType": "library",
6
- "targets": {},
7
- "tags": []
8
- }