@pure-ds/core 0.7.25 → 0.7.26

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.
Files changed (41) hide show
  1. package/.cursorrules +12 -1
  2. package/.github/copilot-instructions.md +12 -1
  3. package/custom-elements.json +1099 -74
  4. package/dist/types/public/assets/js/pds-ask.d.ts +2 -1
  5. package/dist/types/public/assets/js/pds-ask.d.ts.map +1 -1
  6. package/dist/types/public/assets/js/pds-autocomplete.d.ts +25 -36
  7. package/dist/types/public/assets/js/pds-autocomplete.d.ts.map +1 -1
  8. package/dist/types/public/assets/js/pds-enhancers.d.ts +4 -4
  9. package/dist/types/public/assets/js/pds-enhancers.d.ts.map +1 -1
  10. package/dist/types/public/assets/js/pds-manager.d.ts +444 -159
  11. package/dist/types/public/assets/js/pds-manager.d.ts.map +1 -1
  12. package/dist/types/public/assets/js/pds-toast.d.ts +7 -6
  13. package/dist/types/public/assets/js/pds-toast.d.ts.map +1 -1
  14. package/dist/types/public/assets/js/pds.d.ts +4 -3
  15. package/dist/types/public/assets/js/pds.d.ts.map +1 -1
  16. package/dist/types/public/assets/pds/components/pds-daterange.d.ts +2 -0
  17. package/dist/types/public/assets/pds/components/pds-daterange.d.ts.map +1 -0
  18. package/dist/types/public/assets/pds/components/pds-form.d.ts.map +1 -1
  19. package/dist/types/public/assets/pds/components/pds-rating.d.ts +120 -0
  20. package/dist/types/public/assets/pds/components/pds-rating.d.ts.map +1 -0
  21. package/dist/types/public/assets/pds/components/pds-tags.d.ts +2 -0
  22. package/dist/types/public/assets/pds/components/pds-tags.d.ts.map +1 -0
  23. package/dist/types/src/js/common/ask.d.ts.map +1 -1
  24. package/dist/types/src/js/pds-core/pds-generator.d.ts.map +1 -1
  25. package/package.json +2 -2
  26. package/public/assets/js/app.js +1 -1
  27. package/public/assets/js/pds-ask.js +6 -6
  28. package/public/assets/js/pds-manager.js +104 -29
  29. package/public/assets/pds/components/pds-calendar.js +91 -159
  30. package/public/assets/pds/components/pds-daterange.js +683 -0
  31. package/public/assets/pds/components/pds-form.js +123 -21
  32. package/public/assets/pds/components/pds-rating.js +648 -0
  33. package/public/assets/pds/components/pds-tags.js +802 -0
  34. package/public/assets/pds/core/pds-ask.js +6 -6
  35. package/public/assets/pds/core/pds-manager.js +104 -29
  36. package/public/assets/pds/custom-elements.json +1099 -74
  37. package/public/assets/pds/pds-css-complete.json +7 -2
  38. package/public/assets/pds/pds.css-data.json +4 -4
  39. package/public/assets/pds/vscode-custom-data.json +97 -0
  40. package/src/js/pds-core/pds-generator.js +103 -28
  41. package/src/js/pds-core/pds-ontology.js +2 -2
@@ -93,6 +93,15 @@
93
93
  }
94
94
  ],
95
95
  "members": [
96
+ {
97
+ "kind": "field",
98
+ "name": "formAssociated",
99
+ "type": {
100
+ "text": "boolean"
101
+ },
102
+ "static": true,
103
+ "default": "true"
104
+ },
96
105
  {
97
106
  "kind": "field",
98
107
  "name": "date",
@@ -115,6 +124,87 @@
115
124
  "text": "Date"
116
125
  }
117
126
  },
127
+ {
128
+ "kind": "field",
129
+ "name": "form",
130
+ "readonly": true
131
+ },
132
+ {
133
+ "kind": "field",
134
+ "name": "name"
135
+ },
136
+ {
137
+ "kind": "field",
138
+ "name": "type",
139
+ "readonly": true
140
+ },
141
+ {
142
+ "kind": "field",
143
+ "name": "required"
144
+ },
145
+ {
146
+ "kind": "field",
147
+ "name": "disabled"
148
+ },
149
+ {
150
+ "kind": "field",
151
+ "name": "compact"
152
+ },
153
+ {
154
+ "kind": "field",
155
+ "name": "value"
156
+ },
157
+ {
158
+ "kind": "method",
159
+ "name": "formAssociatedCallback"
160
+ },
161
+ {
162
+ "kind": "method",
163
+ "name": "formDisabledCallback",
164
+ "parameters": [
165
+ {
166
+ "name": "disabled"
167
+ }
168
+ ]
169
+ },
170
+ {
171
+ "kind": "method",
172
+ "name": "formResetCallback"
173
+ },
174
+ {
175
+ "kind": "method",
176
+ "name": "formStateRestoreCallback",
177
+ "parameters": [
178
+ {
179
+ "name": "state"
180
+ }
181
+ ]
182
+ },
183
+ {
184
+ "kind": "method",
185
+ "name": "checkValidity"
186
+ },
187
+ {
188
+ "kind": "method",
189
+ "name": "reportValidity"
190
+ },
191
+ {
192
+ "kind": "method",
193
+ "name": "focus",
194
+ "parameters": [
195
+ {
196
+ "name": "options"
197
+ }
198
+ ]
199
+ },
200
+ {
201
+ "kind": "method",
202
+ "name": "serializeDate"
203
+ },
204
+ {
205
+ "kind": "method",
206
+ "name": "updateFormState"
207
+ },
118
208
  {
119
209
  "kind": "method",
120
210
  "name": "refresh",
@@ -122,54 +212,563 @@
122
212
  "privacy": "public"
123
213
  },
124
214
  {
125
- "kind": "field",
126
- "name": "dateHelper",
127
- "default": "new DateHelper()"
215
+ "kind": "field",
216
+ "name": "dateHelper",
217
+ "default": "new DateHelper()"
218
+ }
219
+ ],
220
+ "events": [
221
+ {
222
+ "name": "month-change",
223
+ "type": {
224
+ "text": "CustomEvent"
225
+ }
226
+ },
227
+ {
228
+ "name": "month-rendered",
229
+ "type": {
230
+ "text": "CustomEvent"
231
+ }
232
+ },
233
+ {
234
+ "description": "Dispatched after the calendar month is rendered with event fill capability",
235
+ "name": "pds-calendar#month-rendered"
236
+ },
237
+ {
238
+ "description": "Dispatched when the visible month/year changes",
239
+ "name": "pds-calendar#month-change"
240
+ }
241
+ ],
242
+ "attributes": [
243
+ {
244
+ "name": "date",
245
+ "type": {
246
+ "text": "String"
247
+ },
248
+ "description": "The date to display (defaults to current date). Accepts any valid date string"
249
+ },
250
+ {
251
+ "name": "required"
252
+ },
253
+ {
254
+ "name": "name"
255
+ },
256
+ {
257
+ "name": "disabled"
258
+ },
259
+ {
260
+ "name": "compact"
261
+ }
262
+ ],
263
+ "superclass": {
264
+ "name": "HTMLElement"
265
+ },
266
+ "tagName": "pds-calendar",
267
+ "customElement": true
268
+ }
269
+ ],
270
+ "exports": [
271
+ {
272
+ "kind": "js",
273
+ "name": "HTMLBuilder",
274
+ "declaration": {
275
+ "name": "HTMLBuilder",
276
+ "module": "public/assets/pds/components/pds-calendar.js"
277
+ }
278
+ },
279
+ {
280
+ "kind": "custom-element-definition",
281
+ "name": "pds-calendar",
282
+ "declaration": {
283
+ "name": "PdsCalendar",
284
+ "module": "public/assets/pds/components/pds-calendar.js"
285
+ }
286
+ }
287
+ ]
288
+ },
289
+ {
290
+ "kind": "javascript-module",
291
+ "path": "public/assets/pds/components/pds-code.js",
292
+ "declarations": [
293
+ {
294
+ "kind": "class",
295
+ "description": "",
296
+ "name": "PDSCode",
297
+ "members": [
298
+ {
299
+ "kind": "field",
300
+ "name": "code"
301
+ },
302
+ {
303
+ "kind": "method",
304
+ "name": "setCode",
305
+ "parameters": [
306
+ {
307
+ "name": "value"
308
+ },
309
+ {
310
+ "name": "{ lang, theme }",
311
+ "default": "{}"
312
+ }
313
+ ]
314
+ },
315
+ {
316
+ "kind": "method",
317
+ "name": "captureInitialText"
318
+ },
319
+ {
320
+ "kind": "method",
321
+ "name": "ensureCodeFromContent"
322
+ },
323
+ {
324
+ "kind": "method",
325
+ "name": "startTextObserver"
326
+ },
327
+ {
328
+ "kind": "method",
329
+ "name": "stopTextObserver"
330
+ },
331
+ {
332
+ "kind": "field",
333
+ "name": "_code",
334
+ "type": {
335
+ "text": "null"
336
+ },
337
+ "default": "null"
338
+ },
339
+ {
340
+ "kind": "field",
341
+ "name": "_capturedInitialText",
342
+ "type": {
343
+ "text": "boolean"
344
+ },
345
+ "default": "false"
346
+ },
347
+ {
348
+ "kind": "field",
349
+ "name": "_renderToken",
350
+ "type": {
351
+ "text": "number"
352
+ },
353
+ "default": "0"
354
+ },
355
+ {
356
+ "kind": "field",
357
+ "name": "_textObserver",
358
+ "type": {
359
+ "text": "null"
360
+ },
361
+ "default": "null"
362
+ }
363
+ ],
364
+ "attributes": [
365
+ {
366
+ "name": "code"
367
+ },
368
+ {
369
+ "name": "lang"
370
+ },
371
+ {
372
+ "name": "theme"
373
+ }
374
+ ],
375
+ "superclass": {
376
+ "name": "HTMLElement"
377
+ },
378
+ "tagName": "pds-code",
379
+ "customElement": true
380
+ }
381
+ ],
382
+ "exports": [
383
+ {
384
+ "kind": "js",
385
+ "name": "PDSCode",
386
+ "declaration": {
387
+ "name": "PDSCode",
388
+ "module": "public/assets/pds/components/pds-code.js"
389
+ }
390
+ },
391
+ {
392
+ "kind": "custom-element-definition",
393
+ "name": "pds-code",
394
+ "declaration": {
395
+ "name": "PDSCode",
396
+ "module": "public/assets/pds/components/pds-code.js"
397
+ }
398
+ }
399
+ ]
400
+ },
401
+ {
402
+ "kind": "javascript-module",
403
+ "path": "public/assets/pds/components/pds-daterange.js",
404
+ "declarations": [
405
+ {
406
+ "kind": "class",
407
+ "description": "",
408
+ "name": "PdsDateRange",
409
+ "cssParts": [
410
+ {
411
+ "description": "The button used to open/close the date range panel.",
412
+ "name": "trigger"
413
+ },
414
+ {
415
+ "description": "The dropdown panel containing calendars and actions.",
416
+ "name": "panel"
417
+ }
418
+ ],
419
+ "members": [
420
+ {
421
+ "kind": "field",
422
+ "name": "formAssociated",
423
+ "type": {
424
+ "text": "boolean"
425
+ },
426
+ "static": true,
427
+ "default": "true"
428
+ },
429
+ {
430
+ "kind": "method",
431
+ "name": "ensureCalendarsReady"
432
+ },
433
+ {
434
+ "kind": "method",
435
+ "name": "setCalendarDate",
436
+ "parameters": [
437
+ {
438
+ "name": "calendar"
439
+ },
440
+ {
441
+ "name": "value"
442
+ }
443
+ ]
444
+ },
445
+ {
446
+ "kind": "field",
447
+ "name": "form",
448
+ "readonly": true
449
+ },
450
+ {
451
+ "kind": "field",
452
+ "name": "name",
453
+ "type": {
454
+ "text": "String"
455
+ },
456
+ "description": "Form field name."
457
+ },
458
+ {
459
+ "kind": "field",
460
+ "name": "required",
461
+ "type": {
462
+ "text": "Boolean"
463
+ },
464
+ "description": "Whether the field is required."
465
+ },
466
+ {
467
+ "kind": "field",
468
+ "name": "disabled",
469
+ "type": {
470
+ "text": "Boolean"
471
+ },
472
+ "description": "Whether the control is disabled."
473
+ },
474
+ {
475
+ "kind": "field",
476
+ "name": "displayFormat",
477
+ "type": {
478
+ "text": "String"
479
+ },
480
+ "description": "Button date text format."
481
+ },
482
+ {
483
+ "kind": "field",
484
+ "name": "startDate",
485
+ "type": {
486
+ "text": "Date|null"
487
+ },
488
+ "description": "Start date value."
489
+ },
490
+ {
491
+ "kind": "field",
492
+ "name": "endDate",
493
+ "type": {
494
+ "text": "Date|null"
495
+ },
496
+ "description": "End date value."
497
+ },
498
+ {
499
+ "kind": "field",
500
+ "name": "value",
501
+ "type": {
502
+ "text": "String"
503
+ },
504
+ "description": "Serialized range value as ISO interval: `YYYY-MM-DD/YYYY-MM-DD`."
505
+ },
506
+ {
507
+ "kind": "method",
508
+ "name": "checkValidity"
509
+ },
510
+ {
511
+ "kind": "method",
512
+ "name": "reportValidity"
513
+ },
514
+ {
515
+ "kind": "method",
516
+ "name": "formAssociatedCallback"
517
+ },
518
+ {
519
+ "kind": "method",
520
+ "name": "formDisabledCallback",
521
+ "parameters": [
522
+ {
523
+ "name": "disabled"
524
+ }
525
+ ]
526
+ },
527
+ {
528
+ "kind": "method",
529
+ "name": "formResetCallback"
530
+ },
531
+ {
532
+ "kind": "method",
533
+ "name": "formStateRestoreCallback",
534
+ "parameters": [
535
+ {
536
+ "name": "state"
537
+ }
538
+ ]
539
+ },
540
+ {
541
+ "kind": "method",
542
+ "name": "bindEvents"
543
+ },
544
+ {
545
+ "kind": "method",
546
+ "name": "bindCalendar",
547
+ "parameters": [
548
+ {
549
+ "name": "calendar"
550
+ },
551
+ {
552
+ "name": "side"
553
+ }
554
+ ]
555
+ },
556
+ {
557
+ "kind": "method",
558
+ "name": "handleOutsideClick",
559
+ "parameters": [
560
+ {
561
+ "name": "event"
562
+ }
563
+ ]
564
+ },
565
+ {
566
+ "kind": "method",
567
+ "name": "togglePanel"
568
+ },
569
+ {
570
+ "kind": "method",
571
+ "name": "openPanel"
572
+ },
573
+ {
574
+ "kind": "method",
575
+ "name": "closePanel"
576
+ },
577
+ {
578
+ "kind": "method",
579
+ "name": "isOpen"
580
+ },
581
+ {
582
+ "kind": "method",
583
+ "name": "toDayStart",
584
+ "parameters": [
585
+ {
586
+ "name": "value"
587
+ }
588
+ ]
589
+ },
590
+ {
591
+ "kind": "method",
592
+ "name": "toMonthStart",
593
+ "parameters": [
594
+ {
595
+ "name": "value"
596
+ }
597
+ ]
598
+ },
599
+ {
600
+ "kind": "method",
601
+ "name": "addMonths",
602
+ "parameters": [
603
+ {
604
+ "name": "value"
605
+ },
606
+ {
607
+ "name": "monthDelta"
608
+ }
609
+ ]
610
+ },
611
+ {
612
+ "kind": "method",
613
+ "name": "parseDate",
614
+ "parameters": [
615
+ {
616
+ "name": "value"
617
+ }
618
+ ]
619
+ },
620
+ {
621
+ "kind": "method",
622
+ "name": "serializeDate",
623
+ "parameters": [
624
+ {
625
+ "name": "value"
626
+ }
627
+ ]
628
+ },
629
+ {
630
+ "kind": "method",
631
+ "name": "parseRangeValue",
632
+ "parameters": [
633
+ {
634
+ "name": "rawValue"
635
+ }
636
+ ]
637
+ },
638
+ {
639
+ "kind": "method",
640
+ "name": "isRangeComplete"
641
+ },
642
+ {
643
+ "kind": "method",
644
+ "name": "formatDisplayDate",
645
+ "parameters": [
646
+ {
647
+ "name": "value"
648
+ }
649
+ ]
650
+ },
651
+ {
652
+ "kind": "method",
653
+ "name": "buildRangeEventsForMonth",
654
+ "parameters": [
655
+ {
656
+ "name": "year"
657
+ },
658
+ {
659
+ "name": "month"
660
+ }
661
+ ]
662
+ },
663
+ {
664
+ "kind": "method",
665
+ "name": "applyRangeSelection",
666
+ "parameters": [
667
+ {
668
+ "name": "pickedDate"
669
+ }
670
+ ]
671
+ },
672
+ {
673
+ "kind": "method",
674
+ "name": "enforceMinimumGap"
675
+ },
676
+ {
677
+ "kind": "method",
678
+ "name": "positionCalendars"
679
+ },
680
+ {
681
+ "kind": "method",
682
+ "name": "refreshHighlights"
683
+ },
684
+ {
685
+ "kind": "method",
686
+ "name": "syncUI"
687
+ },
688
+ {
689
+ "kind": "method",
690
+ "name": "reflectValueAttribute"
691
+ },
692
+ {
693
+ "kind": "method",
694
+ "name": "applyDisabledState"
695
+ },
696
+ {
697
+ "kind": "method",
698
+ "name": "updateFormState"
699
+ },
700
+ {
701
+ "kind": "method",
702
+ "name": "dispatchRangeChange"
128
703
  }
129
704
  ],
130
705
  "events": [
131
706
  {
132
- "name": "month-rendered",
707
+ "name": "range-change",
133
708
  "type": {
134
709
  "text": "CustomEvent"
135
- }
710
+ },
711
+ "description": "Fired whenever range selection changes."
136
712
  },
137
713
  {
138
- "description": "Dispatched after the calendar month is rendered with event fill capability",
139
- "name": "pds-calendar#month-rendered"
714
+ "name": "change",
715
+ "type": {
716
+ "text": "Event"
717
+ },
718
+ "description": "Native-like change event fired alongside `range-change`."
140
719
  }
141
720
  ],
142
721
  "attributes": [
143
722
  {
144
- "name": "date",
723
+ "name": "name",
145
724
  "type": {
146
725
  "text": "String"
147
726
  },
148
- "description": "The date to display (defaults to current date). Accepts any valid date string"
727
+ "description": "Form field name used during form submission."
728
+ },
729
+ {
730
+ "name": "required",
731
+ "type": {
732
+ "text": "Boolean"
733
+ },
734
+ "description": "Requires both start and end dates to be selected."
735
+ },
736
+ {
737
+ "name": "disabled",
738
+ "type": {
739
+ "text": "Boolean"
740
+ },
741
+ "description": "Disables interaction and closes the panel when active."
742
+ },
743
+ {
744
+ "name": "value",
745
+ "type": {
746
+ "text": "String"
747
+ },
748
+ "description": "Serialized range value as ISO interval: `YYYY-MM-DD/YYYY-MM-DD`."
749
+ },
750
+ {
751
+ "name": "display-format",
752
+ "type": {
753
+ "text": "String"
754
+ },
755
+ "description": "Button date text format. Default is `d MMM yy`."
149
756
  }
150
757
  ],
151
758
  "superclass": {
152
759
  "name": "HTMLElement"
153
760
  },
154
- "tagName": "pds-calendar",
761
+ "tagName": "pds-daterange",
155
762
  "customElement": true
156
763
  }
157
764
  ],
158
765
  "exports": [
159
- {
160
- "kind": "js",
161
- "name": "HTMLBuilder",
162
- "declaration": {
163
- "name": "HTMLBuilder",
164
- "module": "public/assets/pds/components/pds-calendar.js"
165
- }
166
- },
167
766
  {
168
767
  "kind": "custom-element-definition",
169
- "name": "pds-calendar",
768
+ "name": "pds-daterange",
170
769
  "declaration": {
171
- "name": "PdsCalendar",
172
- "module": "public/assets/pds/components/pds-calendar.js"
770
+ "name": "PdsDateRange",
771
+ "module": "public/assets/pds/components/pds-daterange.js"
173
772
  }
174
773
  }
175
774
  ]
@@ -1039,6 +1638,12 @@
1039
1638
  "static": true,
1040
1639
  "default": "new Map()"
1041
1640
  },
1641
+ {
1642
+ "kind": "field",
1643
+ "name": "externalPathDebugLogged",
1644
+ "static": true,
1645
+ "default": "new Set()"
1646
+ },
1042
1647
  {
1043
1648
  "kind": "field",
1044
1649
  "name": "instances",
@@ -1067,6 +1672,9 @@
1067
1672
  "type": {
1068
1673
  "text": "string"
1069
1674
  }
1675
+ },
1676
+ {
1677
+ "name": "basePath"
1070
1678
  }
1071
1679
  ],
1072
1680
  "description": "Fetch an external SVG icon and cache it",
@@ -2215,78 +2823,464 @@
2215
2823
  "members": [
2216
2824
  {
2217
2825
  "kind": "field",
2218
- "name": "formAssociated",
2826
+ "name": "formAssociated",
2827
+ "type": {
2828
+ "text": "boolean"
2829
+ },
2830
+ "static": true,
2831
+ "default": "true"
2832
+ },
2833
+ {
2834
+ "kind": "field",
2835
+ "name": "settings"
2836
+ },
2837
+ {
2838
+ "kind": "field",
2839
+ "name": "name"
2840
+ },
2841
+ {
2842
+ "kind": "field",
2843
+ "name": "placeholder"
2844
+ },
2845
+ {
2846
+ "kind": "field",
2847
+ "name": "value"
2848
+ },
2849
+ {
2850
+ "kind": "field",
2851
+ "name": "disabled"
2852
+ },
2853
+ {
2854
+ "kind": "field",
2855
+ "name": "required"
2856
+ },
2857
+ {
2858
+ "kind": "field",
2859
+ "name": "autocomplete"
2860
+ },
2861
+ {
2862
+ "kind": "field",
2863
+ "name": "icon"
2864
+ },
2865
+ {
2866
+ "kind": "method",
2867
+ "name": "formAssociatedCallback"
2868
+ },
2869
+ {
2870
+ "kind": "method",
2871
+ "name": "formDisabledCallback",
2872
+ "parameters": [
2873
+ {
2874
+ "name": "disabled"
2875
+ }
2876
+ ]
2877
+ },
2878
+ {
2879
+ "kind": "method",
2880
+ "name": "formResetCallback"
2881
+ },
2882
+ {
2883
+ "kind": "method",
2884
+ "name": "formStateRestoreCallback",
2885
+ "parameters": [
2886
+ {
2887
+ "name": "state"
2888
+ }
2889
+ ]
2890
+ },
2891
+ {
2892
+ "kind": "method",
2893
+ "name": "checkValidity"
2894
+ },
2895
+ {
2896
+ "kind": "method",
2897
+ "name": "reportValidity"
2898
+ }
2899
+ ],
2900
+ "events": [
2901
+ {
2902
+ "name": "input",
2903
+ "type": {
2904
+ "text": "Event"
2905
+ }
2906
+ },
2907
+ {
2908
+ "name": "change",
2909
+ "type": {
2910
+ "text": "Event"
2911
+ }
2912
+ },
2913
+ {
2914
+ "name": "suggestions-updated",
2915
+ "type": {
2916
+ "text": "CustomEvent"
2917
+ }
2918
+ }
2919
+ ],
2920
+ "attributes": [
2921
+ {
2922
+ "name": "name"
2923
+ },
2924
+ {
2925
+ "name": "placeholder"
2926
+ },
2927
+ {
2928
+ "name": "value"
2929
+ },
2930
+ {
2931
+ "name": "disabled"
2932
+ },
2933
+ {
2934
+ "name": "required"
2935
+ },
2936
+ {
2937
+ "name": "autocomplete"
2938
+ },
2939
+ {
2940
+ "name": "icon"
2941
+ }
2942
+ ],
2943
+ "superclass": {
2944
+ "name": "HTMLElement"
2945
+ },
2946
+ "tagName": "pds-omnibox",
2947
+ "customElement": true
2948
+ }
2949
+ ],
2950
+ "exports": [
2951
+ {
2952
+ "kind": "js",
2953
+ "name": "PdsOmnibox",
2954
+ "declaration": {
2955
+ "name": "PdsOmnibox",
2956
+ "module": "public/assets/pds/components/pds-omnibox.js"
2957
+ }
2958
+ },
2959
+ {
2960
+ "kind": "custom-element-definition",
2961
+ "name": "pds-omnibox",
2962
+ "declaration": {
2963
+ "name": "PdsOmnibox",
2964
+ "module": "public/assets/pds/components/pds-omnibox.js"
2965
+ }
2966
+ }
2967
+ ]
2968
+ },
2969
+ {
2970
+ "kind": "javascript-module",
2971
+ "path": "public/assets/pds/components/pds-rating.js",
2972
+ "declarations": [
2973
+ {
2974
+ "kind": "class",
2975
+ "description": "Star-based rating input that participates in native HTML forms.",
2976
+ "name": "PdsRating",
2977
+ "members": [
2978
+ {
2979
+ "kind": "field",
2980
+ "name": "formAssociated",
2981
+ "type": {
2982
+ "text": "boolean"
2983
+ },
2984
+ "static": true,
2985
+ "default": "true"
2986
+ },
2987
+ {
2988
+ "kind": "field",
2989
+ "name": "min",
2990
+ "return": {
2991
+ "type": {
2992
+ "text": "number"
2993
+ }
2994
+ },
2995
+ "readonly": true,
2996
+ "type": {
2997
+ "text": "number"
2998
+ },
2999
+ "description": "Minimum rating value (always 0)"
3000
+ },
3001
+ {
3002
+ "kind": "field",
3003
+ "name": "max",
3004
+ "return": {
3005
+ "type": {
3006
+ "text": "number"
3007
+ }
3008
+ },
3009
+ "parameters": [
3010
+ {
3011
+ "name": "value",
3012
+ "type": {
3013
+ "text": "number|string"
3014
+ }
3015
+ }
3016
+ ],
3017
+ "type": {
3018
+ "text": "number"
3019
+ },
3020
+ "description": "Maximum rating value and rendered star count"
3021
+ },
3022
+ {
3023
+ "kind": "field",
3024
+ "name": "step",
3025
+ "return": {
3026
+ "type": {
3027
+ "text": "number"
3028
+ }
3029
+ },
3030
+ "readonly": true,
3031
+ "type": {
3032
+ "text": "number"
3033
+ },
3034
+ "description": "Step size used for keyboard and pointer input (always 0.5)"
3035
+ },
3036
+ {
3037
+ "kind": "field",
3038
+ "name": "value",
3039
+ "return": {
3040
+ "type": {
3041
+ "text": "number"
3042
+ }
3043
+ },
3044
+ "parameters": [
3045
+ {
3046
+ "name": "next",
3047
+ "type": {
3048
+ "text": "number|string"
3049
+ }
3050
+ }
3051
+ ],
2219
3052
  "type": {
2220
- "text": "boolean"
3053
+ "text": "number"
2221
3054
  },
2222
- "static": true,
2223
- "default": "true"
3055
+ "description": "Current rating value"
2224
3056
  },
2225
3057
  {
2226
3058
  "kind": "field",
2227
- "name": "settings"
3059
+ "name": "name",
3060
+ "return": {
3061
+ "type": {
3062
+ "text": "string"
3063
+ }
3064
+ },
3065
+ "parameters": [
3066
+ {
3067
+ "name": "next",
3068
+ "type": {
3069
+ "text": "string|null|undefined"
3070
+ }
3071
+ }
3072
+ ],
3073
+ "type": {
3074
+ "text": "string"
3075
+ },
3076
+ "description": "Form field name"
2228
3077
  },
2229
3078
  {
2230
3079
  "kind": "field",
2231
- "name": "name"
3080
+ "name": "form",
3081
+ "return": {
3082
+ "type": {
3083
+ "text": "HTMLFormElement|null"
3084
+ }
3085
+ },
3086
+ "readonly": true,
3087
+ "type": {
3088
+ "text": "HTMLFormElement|null"
3089
+ },
3090
+ "description": "Associated form element"
2232
3091
  },
2233
3092
  {
2234
3093
  "kind": "field",
2235
- "name": "placeholder"
3094
+ "name": "color",
3095
+ "return": {
3096
+ "type": {
3097
+ "text": "string"
3098
+ }
3099
+ },
3100
+ "parameters": [
3101
+ {
3102
+ "name": "next",
3103
+ "type": {
3104
+ "text": "string|null|undefined"
3105
+ }
3106
+ }
3107
+ ],
3108
+ "type": {
3109
+ "text": "string"
3110
+ },
3111
+ "description": "Active star color override"
2236
3112
  },
2237
3113
  {
2238
3114
  "kind": "field",
2239
- "name": "value"
3115
+ "name": "type",
3116
+ "return": {
3117
+ "type": {
3118
+ "text": "string"
3119
+ }
3120
+ },
3121
+ "readonly": true,
3122
+ "type": {
3123
+ "text": "string"
3124
+ },
3125
+ "description": "Form control type (`range`)"
2240
3126
  },
2241
3127
  {
2242
3128
  "kind": "field",
2243
- "name": "disabled"
3129
+ "name": "validity",
3130
+ "return": {
3131
+ "type": {
3132
+ "text": "ValidityState"
3133
+ }
3134
+ },
3135
+ "readonly": true,
3136
+ "type": {
3137
+ "text": "ValidityState"
3138
+ },
3139
+ "description": "Current validity state"
2244
3140
  },
2245
3141
  {
2246
3142
  "kind": "field",
2247
- "name": "required"
3143
+ "name": "validationMessage",
3144
+ "return": {
3145
+ "type": {
3146
+ "text": "string"
3147
+ }
3148
+ },
3149
+ "readonly": true,
3150
+ "type": {
3151
+ "text": "string"
3152
+ },
3153
+ "description": "Current validation message"
2248
3154
  },
2249
3155
  {
2250
3156
  "kind": "field",
2251
- "name": "autocomplete"
3157
+ "name": "willValidate",
3158
+ "return": {
3159
+ "type": {
3160
+ "text": "boolean"
3161
+ }
3162
+ },
3163
+ "readonly": true,
3164
+ "type": {
3165
+ "text": "boolean"
3166
+ },
3167
+ "description": "Whether the element is eligible for validation"
2252
3168
  },
2253
3169
  {
2254
3170
  "kind": "field",
2255
- "name": "icon"
3171
+ "name": "disabled",
3172
+ "return": {
3173
+ "type": {
3174
+ "text": "boolean"
3175
+ }
3176
+ },
3177
+ "parameters": [
3178
+ {
3179
+ "name": "next",
3180
+ "type": {
3181
+ "text": "boolean"
3182
+ }
3183
+ }
3184
+ ],
3185
+ "type": {
3186
+ "text": "boolean"
3187
+ },
3188
+ "description": "Disabled state"
2256
3189
  },
2257
3190
  {
2258
- "kind": "method",
2259
- "name": "formAssociatedCallback"
3191
+ "kind": "field",
3192
+ "name": "required",
3193
+ "return": {
3194
+ "type": {
3195
+ "text": "boolean"
3196
+ }
3197
+ },
3198
+ "parameters": [
3199
+ {
3200
+ "name": "next",
3201
+ "type": {
3202
+ "text": "boolean"
3203
+ }
3204
+ }
3205
+ ],
3206
+ "type": {
3207
+ "text": "boolean"
3208
+ },
3209
+ "description": "Required state"
2260
3210
  },
2261
3211
  {
2262
- "kind": "method",
2263
- "name": "formDisabledCallback",
3212
+ "kind": "field",
3213
+ "name": "readOnly",
3214
+ "return": {
3215
+ "type": {
3216
+ "text": "boolean"
3217
+ }
3218
+ },
2264
3219
  "parameters": [
2265
3220
  {
2266
- "name": "disabled"
3221
+ "name": "next",
3222
+ "type": {
3223
+ "text": "boolean"
3224
+ }
2267
3225
  }
2268
- ]
3226
+ ],
3227
+ "type": {
3228
+ "text": "boolean"
3229
+ },
3230
+ "description": "Read-only state"
2269
3231
  },
2270
3232
  {
2271
3233
  "kind": "method",
2272
- "name": "formResetCallback"
3234
+ "name": "checkValidity",
3235
+ "description": "Runs constraint validation.",
3236
+ "return": {
3237
+ "type": {
3238
+ "text": "boolean"
3239
+ }
3240
+ }
2273
3241
  },
2274
3242
  {
2275
3243
  "kind": "method",
2276
- "name": "formStateRestoreCallback",
2277
- "parameters": [
2278
- {
2279
- "name": "state"
3244
+ "name": "reportValidity",
3245
+ "description": "Runs constraint validation and reports the result to the user agent.",
3246
+ "return": {
3247
+ "type": {
3248
+ "text": "boolean"
2280
3249
  }
2281
- ]
3250
+ }
2282
3251
  },
2283
3252
  {
2284
3253
  "kind": "method",
2285
- "name": "checkValidity"
3254
+ "name": "formResetCallback",
3255
+ "description": "Restores default value during parent form reset.",
3256
+ "return": {
3257
+ "type": {
3258
+ "text": "void"
3259
+ }
3260
+ }
2286
3261
  },
2287
3262
  {
2288
3263
  "kind": "method",
2289
- "name": "reportValidity"
3264
+ "name": "formStateRestoreCallback",
3265
+ "parameters": [
3266
+ {
3267
+ "name": "state",
3268
+ "type": {
3269
+ "text": "string|File|FormData|null"
3270
+ }
3271
+ }
3272
+ ],
3273
+ "description": "Restores state from browser session history/form restore.",
3274
+ "return": {
3275
+ "type": {
3276
+ "text": "void"
3277
+ }
3278
+ }
3279
+ },
3280
+ {
3281
+ "kind": "field",
3282
+ "name": "innerHTML",
3283
+ "default": "`\r\n <style>\r\n :host {\r\n --rating-star-size: var(--spacing-lg);\r\n --rating-star-gap: var(--spacing-2xs);\r\n --rating-star-off: var(--color-text-muted);\r\n --rating-star-on: var(--color-warning-500);\r\n --rating-focus: var(--color-primary-500);\r\n --rating-fill-pct: 0%;\r\n display: inline-block;\r\n inline-size: fit-content;\r\n max-inline-size: 100%;\r\n touch-action: none;\r\n }\r\n\r\n ::slotted(input[type=\"range\"]) {\r\n position: absolute !important;\r\n inset-inline-start: 0 !important;\r\n inset-block-start: 0 !important;\r\n inline-size: 1px !important;\r\n block-size: 1px !important;\r\n min-inline-size: 1px !important;\r\n min-block-size: 1px !important;\r\n margin: -1px !important;\r\n border: 0 !important;\r\n padding: 0 !important;\r\n opacity: 0 !important;\r\n overflow: hidden !important;\r\n clip: rect(0 0 0 0) !important;\r\n clip-path: inset(50%) !important;\r\n white-space: nowrap !important;\r\n appearance: none !important;\r\n -webkit-appearance: none !important;\r\n pointer-events: none !important;\r\n }\r\n\r\n .wrap {\r\n position: relative;\r\n display: inline-grid;\r\n gap: var(--spacing-2xs);\r\n align-items: center;\r\n justify-items: start;\r\n min-block-size: calc(var(--rating-star-size) + var(--spacing-xs));\r\n }\r\n\r\n .interactive {\r\n display: inline-grid;\r\n place-items: center start;\r\n inline-size: 100%;\r\n cursor: pointer;\r\n user-select: none;\r\n -webkit-tap-highlight-color: transparent;\r\n touch-action: pan-x;\r\n }\r\n\r\n :host([disabled]) .interactive,\r\n :host([readonly]) .interactive {\r\n cursor: default;\r\n }\r\n\r\n :host([disabled]) {\r\n opacity: 0.5;\r\n }\r\n\r\n .stars {\r\n display: block;\r\n inline-size: auto;\r\n block-size: var(--rating-star-size);\r\n overflow: visible;\r\n transition: transform 220ms ease, opacity 220ms ease;\r\n }\r\n\r\n :host([data-in-view=\"false\"]) .stars {\r\n opacity: 0;\r\n transform: translateY(var(--spacing-xs)) scale(0.98);\r\n }\r\n\r\n :host([data-in-view=\"true\"]) .stars {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n }\r\n\r\n input[type=\"range\"] {\r\n position: absolute !important;\r\n inset-inline-start: 0 !important;\r\n inset-block-start: 0 !important;\r\n inline-size: 1px !important;\r\n block-size: 1px !important;\r\n min-inline-size: 1px !important;\r\n min-block-size: 1px !important;\r\n margin: -1px !important;\r\n border: 0 !important;\r\n padding: 0 !important;\r\n opacity: 0 !important;\r\n overflow: hidden !important;\r\n clip: rect(0 0 0 0) !important;\r\n clip-path: inset(50%) !important;\r\n white-space: nowrap !important;\r\n appearance: none !important;\r\n -webkit-appearance: none !important;\r\n pointer-events: none !important;\r\n }\r\n\r\n :host(:focus-within) .interactive {\r\n outline: 2px solid var(--rating-focus);\r\n outline-offset: var(--spacing-3xs);\r\n border-radius: var(--radius-sm);\r\n }\r\n\r\n @media (prefers-reduced-motion: reduce) {\r\n .stars {\r\n transition: none;\r\n }\r\n }\r\n </style>\r\n\r\n <div class=\"wrap\" part=\"control\">\r\n <div class=\"interactive\" part=\"interactive\" aria-hidden=\"true\">\r\n <svg class=\"stars\" part=\"stars\" focusable=\"false\" aria-hidden=\"true\"></svg>\r\n </div>\r\n <slot></slot>\r\n </div>\r\n `"
2290
3284
  }
2291
3285
  ],
2292
3286
  "events": [
@@ -2294,66 +3288,82 @@
2294
3288
  "name": "input",
2295
3289
  "type": {
2296
3290
  "text": "Event"
2297
- }
3291
+ },
3292
+ "description": "Fired when the value changes via pointer or keyboard interaction"
2298
3293
  },
2299
3294
  {
2300
3295
  "name": "change",
2301
3296
  "type": {
2302
3297
  "text": "Event"
2303
- }
2304
- },
2305
- {
2306
- "name": "suggestions-updated",
2307
- "type": {
2308
- "text": "CustomEvent"
2309
- }
3298
+ },
3299
+ "description": "Fired after input when the value commit completes"
2310
3300
  }
2311
3301
  ],
2312
3302
  "attributes": [
2313
3303
  {
2314
- "name": "name"
3304
+ "name": "max",
3305
+ "type": {
3306
+ "text": "number"
3307
+ },
3308
+ "description": "Maximum rating value and rendered star count (minimum 1, default 5)"
2315
3309
  },
2316
3310
  {
2317
- "name": "placeholder"
3311
+ "name": "value",
3312
+ "type": {
3313
+ "text": "number"
3314
+ },
3315
+ "description": "Current rating value (snapped to 0.5 increments)"
2318
3316
  },
2319
3317
  {
2320
- "name": "value"
3318
+ "name": "disabled",
3319
+ "type": {
3320
+ "text": "boolean"
3321
+ },
3322
+ "description": "Disables keyboard/pointer interaction and form submission value"
2321
3323
  },
2322
3324
  {
2323
- "name": "disabled"
3325
+ "name": "required",
3326
+ "type": {
3327
+ "text": "boolean"
3328
+ },
3329
+ "description": "Marks the rating as required for form validation"
2324
3330
  },
2325
3331
  {
2326
- "name": "required"
3332
+ "name": "readonly",
3333
+ "type": {
3334
+ "text": "boolean"
3335
+ },
3336
+ "description": "Makes the rating non-editable while still focusable"
2327
3337
  },
2328
3338
  {
2329
- "name": "autocomplete"
3339
+ "name": "name",
3340
+ "type": {
3341
+ "text": "string"
3342
+ },
3343
+ "description": "Form field name used when submitting the rating"
2330
3344
  },
2331
3345
  {
2332
- "name": "icon"
3346
+ "name": "color",
3347
+ "type": {
3348
+ "text": "string"
3349
+ },
3350
+ "description": "Optional active star color (CSS color value)"
2333
3351
  }
2334
3352
  ],
2335
3353
  "superclass": {
2336
3354
  "name": "HTMLElement"
2337
3355
  },
2338
- "tagName": "pds-omnibox",
3356
+ "tagName": "pds-rating",
2339
3357
  "customElement": true
2340
3358
  }
2341
3359
  ],
2342
3360
  "exports": [
2343
- {
2344
- "kind": "js",
2345
- "name": "PdsOmnibox",
2346
- "declaration": {
2347
- "name": "PdsOmnibox",
2348
- "module": "public/assets/pds/components/pds-omnibox.js"
2349
- }
2350
- },
2351
3361
  {
2352
3362
  "kind": "custom-element-definition",
2353
- "name": "pds-omnibox",
3363
+ "name": "pds-rating",
2354
3364
  "declaration": {
2355
- "name": "PdsOmnibox",
2356
- "module": "public/assets/pds/components/pds-omnibox.js"
3365
+ "name": "PdsRating",
3366
+ "module": "public/assets/pds/components/pds-rating.js"
2357
3367
  }
2358
3368
  }
2359
3369
  ]
@@ -3470,6 +4480,21 @@
3470
4480
  "text": "array"
3471
4481
  },
3472
4482
  "default": "[]"
4483
+ },
4484
+ {
4485
+ "kind": "field",
4486
+ "name": "activeToastKeys",
4487
+ "default": "new Set()"
4488
+ },
4489
+ {
4490
+ "kind": "field",
4491
+ "name": "activeToastIdsByKey",
4492
+ "default": "new Map()"
4493
+ },
4494
+ {
4495
+ "kind": "field",
4496
+ "name": "activeToastKeysById",
4497
+ "default": "new Map()"
3473
4498
  }
3474
4499
  ],
3475
4500
  "events": [