jb-select 7.3.1 → 7.3.2

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.
@@ -0,0 +1,515 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "README.md",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "lib/jb-select.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "Form-associated searchable select web component with single and multiple selection, validation, option filtering, custom selected-value rendering, slots for options and adornments, and mobile-friendly popover behavior.",
12
+ "name": "JBSelectWebComponent",
13
+ "tagName": "jb-select",
14
+ "customElement": true,
15
+ "superclass": {
16
+ "name": "HTMLElement"
17
+ },
18
+ "attributes": [
19
+ {
20
+ "name": "value",
21
+ "description": "Initial selected value from markup. For non-string values or runtime updates, use the value property.",
22
+ "type": {
23
+ "text": "string"
24
+ }
25
+ },
26
+ {
27
+ "name": "label",
28
+ "description": "Visible label text and accessible aria label.",
29
+ "type": {
30
+ "text": "string"
31
+ }
32
+ },
33
+ {
34
+ "name": "message",
35
+ "description": "Helper text shown under the select when no validation error is visible.",
36
+ "type": {
37
+ "text": "string"
38
+ }
39
+ },
40
+ {
41
+ "name": "name",
42
+ "description": "Form field name.",
43
+ "type": {
44
+ "text": "string"
45
+ }
46
+ },
47
+ {
48
+ "name": "multiple",
49
+ "description": "Enables multiple selection. In multiple mode, value is expected to be an array.",
50
+ "type": {
51
+ "text": "boolean"
52
+ }
53
+ },
54
+ {
55
+ "name": "placeholder",
56
+ "description": "Placeholder shown when no value is selected.",
57
+ "type": {
58
+ "text": "string"
59
+ }
60
+ },
61
+ {
62
+ "name": "search-placeholder",
63
+ "description": "Placeholder used by the mobile search input while the select is open.",
64
+ "type": {
65
+ "text": "string"
66
+ }
67
+ },
68
+ {
69
+ "name": "required",
70
+ "description": "Enables required validation.",
71
+ "type": {
72
+ "text": "boolean"
73
+ }
74
+ },
75
+ {
76
+ "name": "error",
77
+ "description": "External validation error message. When the attribute changes, the component updates its validation UI.",
78
+ "type": {
79
+ "text": "string"
80
+ }
81
+ },
82
+ {
83
+ "name": "hide-clear",
84
+ "description": "Hides the clear button when set to empty string or true.",
85
+ "type": {
86
+ "text": "boolean"
87
+ }
88
+ },
89
+ {
90
+ "name": "disable-auto-validation",
91
+ "description": "Disables automatic validation on user interactions when set to empty string or true.",
92
+ "type": {
93
+ "text": "boolean"
94
+ }
95
+ },
96
+ {
97
+ "name": "size",
98
+ "description": "Visual size variant used by CSS.",
99
+ "type": {
100
+ "text": "'xs' | 'sm' | 'md' | 'lg' | 'xl'"
101
+ }
102
+ }
103
+ ],
104
+ "members": [
105
+ {
106
+ "kind": "field",
107
+ "name": "value",
108
+ "description": "Canonical selected value. In multiple mode this is an array of selected option values.",
109
+ "type": {
110
+ "text": "TValue | TValue[] | null"
111
+ }
112
+ },
113
+ {
114
+ "kind": "field",
115
+ "name": "textValue",
116
+ "description": "Current search/filter text shown in the search input.",
117
+ "type": {
118
+ "text": "string"
119
+ }
120
+ },
121
+ {
122
+ "kind": "field",
123
+ "name": "selectedOptionTitle",
124
+ "description": "Visible title for the selected option or comma-separated selected options.",
125
+ "type": {
126
+ "text": "string"
127
+ },
128
+ "readonly": true
129
+ },
130
+ {
131
+ "kind": "field",
132
+ "name": "validation",
133
+ "description": "jb-validation helper. Set validation.list for custom validation rules.",
134
+ "type": {
135
+ "text": "ValidationHelper<ValidationValue<TValue>>"
136
+ },
137
+ "readonly": true
138
+ },
139
+ {
140
+ "kind": "field",
141
+ "name": "callbacks",
142
+ "description": "Callback map. Use callbacks.getSelectedValueDOM to customize the selected value display.",
143
+ "type": {
144
+ "text": "JBSelectCallbacks<TValue>"
145
+ }
146
+ },
147
+ {
148
+ "kind": "field",
149
+ "name": "multiple",
150
+ "description": "Enables or disables multiple selection.",
151
+ "type": {
152
+ "text": "boolean"
153
+ }
154
+ },
155
+ {
156
+ "kind": "field",
157
+ "name": "disabled",
158
+ "description": "Disables the select and closes the option list.",
159
+ "type": {
160
+ "text": "boolean"
161
+ }
162
+ },
163
+ {
164
+ "kind": "field",
165
+ "name": "required",
166
+ "description": "Enables required validation.",
167
+ "type": {
168
+ "text": "boolean"
169
+ }
170
+ },
171
+ {
172
+ "kind": "field",
173
+ "name": "initialValue",
174
+ "description": "Baseline value used by isDirty.",
175
+ "type": {
176
+ "text": "TValue | null"
177
+ }
178
+ },
179
+ {
180
+ "kind": "field",
181
+ "name": "isDirty",
182
+ "description": "True when current value differs from initialValue.",
183
+ "type": {
184
+ "text": "boolean"
185
+ },
186
+ "readonly": true
187
+ },
188
+ {
189
+ "kind": "field",
190
+ "name": "popoverPosition",
191
+ "description": "How the option popover is positioned.",
192
+ "type": {
193
+ "text": "'fixed' | 'absolute'"
194
+ }
195
+ }
196
+ ],
197
+ "methods": [
198
+ {
199
+ "name": "checkValidity",
200
+ "description": "Runs validation without showing the error message and returns whether the select is valid.",
201
+ "return": {
202
+ "type": {
203
+ "text": "boolean"
204
+ }
205
+ }
206
+ },
207
+ {
208
+ "name": "reportValidity",
209
+ "description": "Runs validation, shows the first error message, and returns whether the select is valid.",
210
+ "return": {
211
+ "type": {
212
+ "text": "boolean"
213
+ }
214
+ }
215
+ },
216
+ {
217
+ "name": "focus",
218
+ "description": "Focuses the internal search input and opens the option list."
219
+ },
220
+ {
221
+ "name": "blur",
222
+ "description": "Closes the option list, clears search text, and validates."
223
+ }
224
+ ],
225
+ "events": [
226
+ {
227
+ "name": "change",
228
+ "description": "Cancelable event fired when selected value changes."
229
+ },
230
+ {
231
+ "name": "input",
232
+ "description": "Fired when the user types in the search input."
233
+ },
234
+ {
235
+ "name": "keyup",
236
+ "description": "Keyboard event re-dispatched from the search input. Arrow keys navigate active options; Enter toggles the active option."
237
+ },
238
+ {
239
+ "name": "keypress",
240
+ "description": "Keyboard event re-dispatched from the search input."
241
+ },
242
+ {
243
+ "name": "invalid",
244
+ "description": "Dispatched when checkValidity or reportValidity finds an invalid value."
245
+ },
246
+ {
247
+ "name": "load",
248
+ "description": "Dispatched from connectedCallback before init."
249
+ },
250
+ {
251
+ "name": "init",
252
+ "description": "Dispatched from connectedCallback after initial setup."
253
+ },
254
+ {
255
+ "name": "filter-change",
256
+ "description": "Internal non-bubbling event used by options to filter themselves from search text."
257
+ }
258
+ ],
259
+ "slots": [
260
+ {
261
+ "name": "",
262
+ "description": "Option content. Use jb-option or jb-option-list children."
263
+ },
264
+ {
265
+ "name": "start-section",
266
+ "description": "Content rendered before the selected value/search area."
267
+ },
268
+ {
269
+ "name": "select-arrow-icon",
270
+ "description": "Custom arrow icon content."
271
+ },
272
+ {
273
+ "name": "empty-list-message",
274
+ "description": "Custom empty-state content shown when no option is visible."
275
+ }
276
+ ],
277
+ "cssProperties": [
278
+ {
279
+ "name": "--jb-select-width",
280
+ "description": "Select host width."
281
+ },
282
+ {
283
+ "name": "--jb-select-height",
284
+ "description": "Select box height."
285
+ },
286
+ {
287
+ "name": "--jb-select-border-color",
288
+ "description": "Border color in normal state."
289
+ },
290
+ {
291
+ "name": "--jb-select-border-color-focus",
292
+ "description": "Border color in focus/open state."
293
+ },
294
+ {
295
+ "name": "--jb-select-message-color-error",
296
+ "description": "Validation error message color."
297
+ }
298
+ ]
299
+ }
300
+ ],
301
+ "exports": [
302
+ {
303
+ "kind": "js",
304
+ "name": "JBSelectWebComponent",
305
+ "declaration": {
306
+ "name": "JBSelectWebComponent",
307
+ "module": "lib/jb-select.ts"
308
+ }
309
+ },
310
+ {
311
+ "kind": "custom-element-definition",
312
+ "name": "jb-select",
313
+ "declaration": {
314
+ "name": "JBSelectWebComponent",
315
+ "module": "lib/jb-select.ts"
316
+ }
317
+ }
318
+ ]
319
+ },
320
+ {
321
+ "kind": "javascript-module",
322
+ "path": "lib/jb-option/jb-option.ts",
323
+ "declarations": [
324
+ {
325
+ "kind": "class",
326
+ "description": "Selectable option web component used inside jb-select. The value can be a string from the attribute or any JavaScript value assigned through the value property.",
327
+ "name": "JBOptionWebComponent",
328
+ "tagName": "jb-option",
329
+ "customElement": true,
330
+ "superclass": {
331
+ "name": "HTMLElement"
332
+ },
333
+ "attributes": [
334
+ {
335
+ "name": "value",
336
+ "description": "Option value from markup. Use the value property for non-string values.",
337
+ "type": {
338
+ "text": "string"
339
+ }
340
+ }
341
+ ],
342
+ "members": [
343
+ {
344
+ "kind": "field",
345
+ "name": "value",
346
+ "description": "Option value.",
347
+ "type": {
348
+ "text": "TValue | null"
349
+ }
350
+ },
351
+ {
352
+ "kind": "field",
353
+ "name": "selected",
354
+ "description": "Whether this option is selected.",
355
+ "type": {
356
+ "text": "boolean"
357
+ }
358
+ },
359
+ {
360
+ "kind": "field",
361
+ "name": "hidden",
362
+ "description": "Whether this option is hidden by filtering.",
363
+ "type": {
364
+ "text": "boolean"
365
+ }
366
+ },
367
+ {
368
+ "kind": "field",
369
+ "name": "active",
370
+ "description": "Whether this option is the active keyboard/hover target.",
371
+ "type": {
372
+ "text": "boolean"
373
+ }
374
+ },
375
+ {
376
+ "kind": "field",
377
+ "name": "optionContentText",
378
+ "description": "Text content used for default filtering.",
379
+ "type": {
380
+ "text": "string"
381
+ },
382
+ "readonly": true
383
+ }
384
+ ],
385
+ "methods": [
386
+ {
387
+ "name": "toggleOption",
388
+ "description": "Selects or deselects the option using the same behavior as a click."
389
+ }
390
+ ],
391
+ "events": [
392
+ {
393
+ "name": "select",
394
+ "description": "Bubbling event fired when the option is selected."
395
+ },
396
+ {
397
+ "name": "deselect",
398
+ "description": "Bubbling event fired when the option is deselected in multiple mode."
399
+ },
400
+ {
401
+ "name": "jb-option-connected",
402
+ "description": "Internal event fired when the option connects so jb-select can register it."
403
+ },
404
+ {
405
+ "name": "jb-option-disconnected",
406
+ "description": "Internal event fired when the option disconnects so jb-select can unregister it."
407
+ }
408
+ ],
409
+ "slots": [
410
+ {
411
+ "name": "",
412
+ "description": "Visible option content."
413
+ }
414
+ ],
415
+ "cssProperties": [
416
+ {
417
+ "name": "--jb-option-padding",
418
+ "description": "Option padding."
419
+ },
420
+ {
421
+ "name": "--jb-option-background-color-active",
422
+ "description": "Option background color on hover or keyboard active state."
423
+ }
424
+ ]
425
+ }
426
+ ],
427
+ "exports": [
428
+ {
429
+ "kind": "js",
430
+ "name": "JBOptionWebComponent",
431
+ "declaration": {
432
+ "name": "JBOptionWebComponent",
433
+ "module": "lib/jb-option/jb-option.ts"
434
+ }
435
+ },
436
+ {
437
+ "kind": "custom-element-definition",
438
+ "name": "jb-option",
439
+ "declaration": {
440
+ "name": "JBOptionWebComponent",
441
+ "module": "lib/jb-option/jb-option.ts"
442
+ }
443
+ }
444
+ ]
445
+ },
446
+ {
447
+ "kind": "javascript-module",
448
+ "path": "lib/jb-option-list/jb-option-list.ts",
449
+ "declarations": [
450
+ {
451
+ "kind": "class",
452
+ "description": "Helper web component that renders jb-option elements from a JavaScript array and callback functions.",
453
+ "name": "JBOptionListWebComponent",
454
+ "tagName": "jb-option-list",
455
+ "customElement": true,
456
+ "superclass": {
457
+ "name": "HTMLElement"
458
+ },
459
+ "members": [
460
+ {
461
+ "kind": "field",
462
+ "name": "optionList",
463
+ "description": "Array of source options used to render jb-option children.",
464
+ "type": {
465
+ "text": "TOption[]"
466
+ }
467
+ },
468
+ {
469
+ "kind": "field",
470
+ "name": "optionListDom",
471
+ "description": "Rendered jb-option elements.",
472
+ "type": {
473
+ "text": "JBOptionWebComponent<TValue>[]"
474
+ },
475
+ "readonly": true
476
+ },
477
+ {
478
+ "kind": "field",
479
+ "name": "callbacks",
480
+ "description": "Callback map used to extract title, value, or content DOM from source options.",
481
+ "type": {
482
+ "text": "OptionListCallbacks<TOption, TValue>"
483
+ },
484
+ "readonly": true
485
+ }
486
+ ],
487
+ "methods": [
488
+ {
489
+ "name": "setCallback",
490
+ "description": "Sets one callback by key. Valid keys are getTitle, getValue, and getContentDOM."
491
+ }
492
+ ]
493
+ }
494
+ ],
495
+ "exports": [
496
+ {
497
+ "kind": "js",
498
+ "name": "JBOptionListWebComponent",
499
+ "declaration": {
500
+ "name": "JBOptionListWebComponent",
501
+ "module": "lib/jb-option-list/jb-option-list.ts"
502
+ }
503
+ },
504
+ {
505
+ "kind": "custom-element-definition",
506
+ "name": "jb-option-list",
507
+ "declaration": {
508
+ "name": "JBOptionListWebComponent",
509
+ "module": "lib/jb-option-list/jb-option-list.ts"
510
+ }
511
+ }
512
+ ]
513
+ }
514
+ ]
515
+ }