country_state_select 4.0.0 → 4.0.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.
data/package-lock.json ADDED
@@ -0,0 +1,554 @@
1
+ {
2
+ "name": "country_state_select",
3
+ "version": "4.0.1",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "country_state_select",
9
+ "version": "4.0.1",
10
+ "license": "MIT",
11
+ "devDependencies": {
12
+ "jsdom": "^26.1.0"
13
+ },
14
+ "peerDependencies": {
15
+ "@hotwired/stimulus": ">=3.0.0"
16
+ },
17
+ "peerDependenciesMeta": {
18
+ "@hotwired/stimulus": {
19
+ "optional": true
20
+ }
21
+ }
22
+ },
23
+ "node_modules/@asamuzakjp/css-color": {
24
+ "version": "3.2.0",
25
+ "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
26
+ "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
27
+ "dev": true,
28
+ "license": "MIT",
29
+ "dependencies": {
30
+ "@csstools/css-calc": "^2.1.3",
31
+ "@csstools/css-color-parser": "^3.0.9",
32
+ "@csstools/css-parser-algorithms": "^3.0.4",
33
+ "@csstools/css-tokenizer": "^3.0.3",
34
+ "lru-cache": "^10.4.3"
35
+ }
36
+ },
37
+ "node_modules/@csstools/color-helpers": {
38
+ "version": "5.1.0",
39
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
40
+ "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
41
+ "dev": true,
42
+ "funding": [
43
+ {
44
+ "type": "github",
45
+ "url": "https://github.com/sponsors/csstools"
46
+ },
47
+ {
48
+ "type": "opencollective",
49
+ "url": "https://opencollective.com/csstools"
50
+ }
51
+ ],
52
+ "license": "MIT-0",
53
+ "engines": {
54
+ "node": ">=18"
55
+ }
56
+ },
57
+ "node_modules/@csstools/css-calc": {
58
+ "version": "2.1.4",
59
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
60
+ "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
61
+ "dev": true,
62
+ "funding": [
63
+ {
64
+ "type": "github",
65
+ "url": "https://github.com/sponsors/csstools"
66
+ },
67
+ {
68
+ "type": "opencollective",
69
+ "url": "https://opencollective.com/csstools"
70
+ }
71
+ ],
72
+ "license": "MIT",
73
+ "engines": {
74
+ "node": ">=18"
75
+ },
76
+ "peerDependencies": {
77
+ "@csstools/css-parser-algorithms": "^3.0.5",
78
+ "@csstools/css-tokenizer": "^3.0.4"
79
+ }
80
+ },
81
+ "node_modules/@csstools/css-color-parser": {
82
+ "version": "3.1.0",
83
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
84
+ "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
85
+ "dev": true,
86
+ "funding": [
87
+ {
88
+ "type": "github",
89
+ "url": "https://github.com/sponsors/csstools"
90
+ },
91
+ {
92
+ "type": "opencollective",
93
+ "url": "https://opencollective.com/csstools"
94
+ }
95
+ ],
96
+ "license": "MIT",
97
+ "dependencies": {
98
+ "@csstools/color-helpers": "^5.1.0",
99
+ "@csstools/css-calc": "^2.1.4"
100
+ },
101
+ "engines": {
102
+ "node": ">=18"
103
+ },
104
+ "peerDependencies": {
105
+ "@csstools/css-parser-algorithms": "^3.0.5",
106
+ "@csstools/css-tokenizer": "^3.0.4"
107
+ }
108
+ },
109
+ "node_modules/@csstools/css-parser-algorithms": {
110
+ "version": "3.0.5",
111
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
112
+ "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
113
+ "dev": true,
114
+ "funding": [
115
+ {
116
+ "type": "github",
117
+ "url": "https://github.com/sponsors/csstools"
118
+ },
119
+ {
120
+ "type": "opencollective",
121
+ "url": "https://opencollective.com/csstools"
122
+ }
123
+ ],
124
+ "license": "MIT",
125
+ "engines": {
126
+ "node": ">=18"
127
+ },
128
+ "peerDependencies": {
129
+ "@csstools/css-tokenizer": "^3.0.4"
130
+ }
131
+ },
132
+ "node_modules/@csstools/css-tokenizer": {
133
+ "version": "3.0.4",
134
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
135
+ "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
136
+ "dev": true,
137
+ "funding": [
138
+ {
139
+ "type": "github",
140
+ "url": "https://github.com/sponsors/csstools"
141
+ },
142
+ {
143
+ "type": "opencollective",
144
+ "url": "https://opencollective.com/csstools"
145
+ }
146
+ ],
147
+ "license": "MIT",
148
+ "engines": {
149
+ "node": ">=18"
150
+ }
151
+ },
152
+ "node_modules/agent-base": {
153
+ "version": "7.1.4",
154
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
155
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
156
+ "dev": true,
157
+ "license": "MIT",
158
+ "engines": {
159
+ "node": ">= 14"
160
+ }
161
+ },
162
+ "node_modules/cssstyle": {
163
+ "version": "4.6.0",
164
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
165
+ "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==",
166
+ "dev": true,
167
+ "license": "MIT",
168
+ "dependencies": {
169
+ "@asamuzakjp/css-color": "^3.2.0",
170
+ "rrweb-cssom": "^0.8.0"
171
+ },
172
+ "engines": {
173
+ "node": ">=18"
174
+ }
175
+ },
176
+ "node_modules/data-urls": {
177
+ "version": "5.0.0",
178
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
179
+ "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
180
+ "dev": true,
181
+ "license": "MIT",
182
+ "dependencies": {
183
+ "whatwg-mimetype": "^4.0.0",
184
+ "whatwg-url": "^14.0.0"
185
+ },
186
+ "engines": {
187
+ "node": ">=18"
188
+ }
189
+ },
190
+ "node_modules/debug": {
191
+ "version": "4.4.3",
192
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
193
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
194
+ "dev": true,
195
+ "license": "MIT",
196
+ "dependencies": {
197
+ "ms": "^2.1.3"
198
+ },
199
+ "engines": {
200
+ "node": ">=6.0"
201
+ },
202
+ "peerDependenciesMeta": {
203
+ "supports-color": {
204
+ "optional": true
205
+ }
206
+ }
207
+ },
208
+ "node_modules/decimal.js": {
209
+ "version": "10.6.0",
210
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
211
+ "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
212
+ "dev": true,
213
+ "license": "MIT"
214
+ },
215
+ "node_modules/entities": {
216
+ "version": "6.0.1",
217
+ "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
218
+ "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
219
+ "dev": true,
220
+ "license": "BSD-2-Clause",
221
+ "engines": {
222
+ "node": ">=0.12"
223
+ },
224
+ "funding": {
225
+ "url": "https://github.com/fb55/entities?sponsor=1"
226
+ }
227
+ },
228
+ "node_modules/html-encoding-sniffer": {
229
+ "version": "4.0.0",
230
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
231
+ "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
232
+ "dev": true,
233
+ "license": "MIT",
234
+ "dependencies": {
235
+ "whatwg-encoding": "^3.1.1"
236
+ },
237
+ "engines": {
238
+ "node": ">=18"
239
+ }
240
+ },
241
+ "node_modules/http-proxy-agent": {
242
+ "version": "7.0.2",
243
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
244
+ "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
245
+ "dev": true,
246
+ "license": "MIT",
247
+ "dependencies": {
248
+ "agent-base": "^7.1.0",
249
+ "debug": "^4.3.4"
250
+ },
251
+ "engines": {
252
+ "node": ">= 14"
253
+ }
254
+ },
255
+ "node_modules/https-proxy-agent": {
256
+ "version": "7.0.6",
257
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
258
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
259
+ "dev": true,
260
+ "license": "MIT",
261
+ "dependencies": {
262
+ "agent-base": "^7.1.2",
263
+ "debug": "4"
264
+ },
265
+ "engines": {
266
+ "node": ">= 14"
267
+ }
268
+ },
269
+ "node_modules/iconv-lite": {
270
+ "version": "0.6.3",
271
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
272
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
273
+ "dev": true,
274
+ "license": "MIT",
275
+ "dependencies": {
276
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
277
+ },
278
+ "engines": {
279
+ "node": ">=0.10.0"
280
+ }
281
+ },
282
+ "node_modules/is-potential-custom-element-name": {
283
+ "version": "1.0.1",
284
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
285
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
286
+ "dev": true,
287
+ "license": "MIT"
288
+ },
289
+ "node_modules/jsdom": {
290
+ "version": "26.1.0",
291
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-26.1.0.tgz",
292
+ "integrity": "sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==",
293
+ "dev": true,
294
+ "license": "MIT",
295
+ "dependencies": {
296
+ "cssstyle": "^4.2.1",
297
+ "data-urls": "^5.0.0",
298
+ "decimal.js": "^10.5.0",
299
+ "html-encoding-sniffer": "^4.0.0",
300
+ "http-proxy-agent": "^7.0.2",
301
+ "https-proxy-agent": "^7.0.6",
302
+ "is-potential-custom-element-name": "^1.0.1",
303
+ "nwsapi": "^2.2.16",
304
+ "parse5": "^7.2.1",
305
+ "rrweb-cssom": "^0.8.0",
306
+ "saxes": "^6.0.0",
307
+ "symbol-tree": "^3.2.4",
308
+ "tough-cookie": "^5.1.1",
309
+ "w3c-xmlserializer": "^5.0.0",
310
+ "webidl-conversions": "^7.0.0",
311
+ "whatwg-encoding": "^3.1.1",
312
+ "whatwg-mimetype": "^4.0.0",
313
+ "whatwg-url": "^14.1.1",
314
+ "ws": "^8.18.0",
315
+ "xml-name-validator": "^5.0.0"
316
+ },
317
+ "engines": {
318
+ "node": ">=18"
319
+ },
320
+ "peerDependencies": {
321
+ "canvas": "^3.0.0"
322
+ },
323
+ "peerDependenciesMeta": {
324
+ "canvas": {
325
+ "optional": true
326
+ }
327
+ }
328
+ },
329
+ "node_modules/lru-cache": {
330
+ "version": "10.4.3",
331
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
332
+ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
333
+ "dev": true,
334
+ "license": "ISC"
335
+ },
336
+ "node_modules/ms": {
337
+ "version": "2.1.3",
338
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
339
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
340
+ "dev": true,
341
+ "license": "MIT"
342
+ },
343
+ "node_modules/nwsapi": {
344
+ "version": "2.2.28",
345
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.28.tgz",
346
+ "integrity": "sha512-IlVB7OS7qrOsVYlpnFIkETjMwT9jwvmocJmmM+GZU/PAB3uGi9Ezd7vcWhWBUnSc0ya4ppmQITOyP1ez9gg8cg==",
347
+ "dev": true,
348
+ "license": "MIT"
349
+ },
350
+ "node_modules/parse5": {
351
+ "version": "7.3.0",
352
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
353
+ "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
354
+ "dev": true,
355
+ "license": "MIT",
356
+ "dependencies": {
357
+ "entities": "^6.0.0"
358
+ },
359
+ "funding": {
360
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
361
+ }
362
+ },
363
+ "node_modules/punycode": {
364
+ "version": "2.3.1",
365
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
366
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
367
+ "dev": true,
368
+ "license": "MIT",
369
+ "engines": {
370
+ "node": ">=6"
371
+ }
372
+ },
373
+ "node_modules/rrweb-cssom": {
374
+ "version": "0.8.0",
375
+ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
376
+ "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
377
+ "dev": true,
378
+ "license": "MIT"
379
+ },
380
+ "node_modules/safer-buffer": {
381
+ "version": "2.1.2",
382
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
383
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
384
+ "dev": true,
385
+ "license": "MIT"
386
+ },
387
+ "node_modules/saxes": {
388
+ "version": "6.0.0",
389
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
390
+ "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
391
+ "dev": true,
392
+ "license": "ISC",
393
+ "dependencies": {
394
+ "xmlchars": "^2.2.0"
395
+ },
396
+ "engines": {
397
+ "node": ">=v12.22.7"
398
+ }
399
+ },
400
+ "node_modules/symbol-tree": {
401
+ "version": "3.2.4",
402
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
403
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
404
+ "dev": true,
405
+ "license": "MIT"
406
+ },
407
+ "node_modules/tldts": {
408
+ "version": "6.1.86",
409
+ "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
410
+ "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==",
411
+ "dev": true,
412
+ "license": "MIT",
413
+ "dependencies": {
414
+ "tldts-core": "^6.1.86"
415
+ },
416
+ "bin": {
417
+ "tldts": "bin/cli.js"
418
+ }
419
+ },
420
+ "node_modules/tldts-core": {
421
+ "version": "6.1.86",
422
+ "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz",
423
+ "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==",
424
+ "dev": true,
425
+ "license": "MIT"
426
+ },
427
+ "node_modules/tough-cookie": {
428
+ "version": "5.1.2",
429
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
430
+ "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
431
+ "dev": true,
432
+ "license": "BSD-3-Clause",
433
+ "dependencies": {
434
+ "tldts": "^6.1.32"
435
+ },
436
+ "engines": {
437
+ "node": ">=16"
438
+ }
439
+ },
440
+ "node_modules/tr46": {
441
+ "version": "5.1.1",
442
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
443
+ "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
444
+ "dev": true,
445
+ "license": "MIT",
446
+ "dependencies": {
447
+ "punycode": "^2.3.1"
448
+ },
449
+ "engines": {
450
+ "node": ">=18"
451
+ }
452
+ },
453
+ "node_modules/w3c-xmlserializer": {
454
+ "version": "5.0.0",
455
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
456
+ "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
457
+ "dev": true,
458
+ "license": "MIT",
459
+ "dependencies": {
460
+ "xml-name-validator": "^5.0.0"
461
+ },
462
+ "engines": {
463
+ "node": ">=18"
464
+ }
465
+ },
466
+ "node_modules/webidl-conversions": {
467
+ "version": "7.0.0",
468
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
469
+ "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
470
+ "dev": true,
471
+ "license": "BSD-2-Clause",
472
+ "engines": {
473
+ "node": ">=12"
474
+ }
475
+ },
476
+ "node_modules/whatwg-encoding": {
477
+ "version": "3.1.1",
478
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
479
+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
480
+ "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation",
481
+ "dev": true,
482
+ "license": "MIT",
483
+ "dependencies": {
484
+ "iconv-lite": "0.6.3"
485
+ },
486
+ "engines": {
487
+ "node": ">=18"
488
+ }
489
+ },
490
+ "node_modules/whatwg-mimetype": {
491
+ "version": "4.0.0",
492
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
493
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
494
+ "dev": true,
495
+ "license": "MIT",
496
+ "engines": {
497
+ "node": ">=18"
498
+ }
499
+ },
500
+ "node_modules/whatwg-url": {
501
+ "version": "14.2.0",
502
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
503
+ "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
504
+ "dev": true,
505
+ "license": "MIT",
506
+ "dependencies": {
507
+ "tr46": "^5.1.0",
508
+ "webidl-conversions": "^7.0.0"
509
+ },
510
+ "engines": {
511
+ "node": ">=18"
512
+ }
513
+ },
514
+ "node_modules/ws": {
515
+ "version": "8.22.2",
516
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.2.tgz",
517
+ "integrity": "sha512-/rEZ2ejown2N5gxVTHUu9bVVC7ttu0/Tgzf5hbTOixR3Fs7mbbXgn2DbdbcKgJOmpQMtrIUWivtYuVMnp/W/yA==",
518
+ "dev": true,
519
+ "license": "MIT",
520
+ "engines": {
521
+ "node": ">=10.0.0"
522
+ },
523
+ "peerDependencies": {
524
+ "bufferutil": "^4.0.1",
525
+ "utf-8-validate": ">=5.0.2"
526
+ },
527
+ "peerDependenciesMeta": {
528
+ "bufferutil": {
529
+ "optional": true
530
+ },
531
+ "utf-8-validate": {
532
+ "optional": true
533
+ }
534
+ }
535
+ },
536
+ "node_modules/xml-name-validator": {
537
+ "version": "5.0.0",
538
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
539
+ "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
540
+ "dev": true,
541
+ "license": "Apache-2.0",
542
+ "engines": {
543
+ "node": ">=18"
544
+ }
545
+ },
546
+ "node_modules/xmlchars": {
547
+ "version": "2.2.0",
548
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
549
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
550
+ "dev": true,
551
+ "license": "MIT"
552
+ }
553
+ }
554
+ }
data/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "country_state_select",
3
- "version": "4.0.0",
3
+ "version": "4.0.1",
4
4
  "description": "Dependency-free Country/State/City cascading select fields, with an optional Stimulus controller. JS companion to the country_state_select Ruby gem.",
5
5
  "type": "module",
6
6
  "main": "app/javascript/country_state_select/country_state_select.js",
@@ -36,5 +36,11 @@
36
36
  "@hotwired/stimulus": {
37
37
  "optional": true
38
38
  }
39
+ },
40
+ "scripts": {
41
+ "test": "node --test test/javascript/*.test.mjs"
42
+ },
43
+ "devDependencies": {
44
+ "jsdom": "^26.1.0"
39
45
  }
40
46
  }
@@ -44,6 +44,16 @@ describe 'CountryStateSelect lookup endpoints', type: :request do
44
44
  expect(response).to have_http_status(:not_modified)
45
45
  end
46
46
 
47
+ it 'does not return 304 for an ETag issued before the data source changed' do
48
+ get '/find_states', params: { country_id: 'US' }, as: :json
49
+ etag = response.headers['ETag']
50
+ allow(CountryStateSelect.configuration.data_source_instance).to receive(:cache_key).and_return('refreshed-data')
51
+
52
+ get '/find_states', params: { country_id: 'US' }, headers: { 'If-None-Match' => etag }, as: :json
53
+
54
+ expect(response).to have_http_status(:ok)
55
+ end
56
+
47
57
  it 'applies only/except/priority filtering configured on the data source' do
48
58
  CountryStateSelect.configure { |c| c.priority_countries = [] }
49
59