@pure-ds/storybook 0.1.0

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 (129) hide show
  1. package/.storybook/addons/description/preview.js +15 -0
  2. package/.storybook/addons/description/register.js +60 -0
  3. package/.storybook/addons/html-preview/Panel.jsx +327 -0
  4. package/.storybook/addons/html-preview/constants.js +6 -0
  5. package/.storybook/addons/html-preview/preview.js +178 -0
  6. package/.storybook/addons/html-preview/register.js +16 -0
  7. package/.storybook/addons/pds-configurator/SearchTool.js +44 -0
  8. package/.storybook/addons/pds-configurator/Tool.js +30 -0
  9. package/.storybook/addons/pds-configurator/constants.js +9 -0
  10. package/.storybook/addons/pds-configurator/preview.js +159 -0
  11. package/.storybook/addons/pds-configurator/register.js +24 -0
  12. package/.storybook/docs.css +35 -0
  13. package/.storybook/htmlPreview.css +103 -0
  14. package/.storybook/htmlPreview.js +271 -0
  15. package/.storybook/main.js +160 -0
  16. package/.storybook/preview-body.html +48 -0
  17. package/.storybook/preview-head.html +11 -0
  18. package/.storybook/preview.js +1563 -0
  19. package/README.md +266 -0
  20. package/bin/index.js +40 -0
  21. package/dist/pds-reference.json +2101 -0
  22. package/package.json +45 -0
  23. package/pds.config.js +6 -0
  24. package/public/assets/css/app.css +1216 -0
  25. package/public/assets/data/auto-design-advanced.json +704 -0
  26. package/public/assets/data/auto-design-simple.json +123 -0
  27. package/public/assets/img/icon-512x512.png +0 -0
  28. package/public/assets/img/logo-trans.png +0 -0
  29. package/public/assets/img/logo.png +0 -0
  30. package/public/assets/js/app.js +15088 -0
  31. package/public/assets/js/app.js.map +7 -0
  32. package/public/assets/js/lit.js +1176 -0
  33. package/public/assets/js/lit.js.map +7 -0
  34. package/public/assets/js/pds.js +9801 -0
  35. package/public/assets/js/pds.js.map +7 -0
  36. package/public/assets/pds/components/pds-calendar.js +837 -0
  37. package/public/assets/pds/components/pds-drawer.js +857 -0
  38. package/public/assets/pds/components/pds-icon.js +338 -0
  39. package/public/assets/pds/components/pds-jsonform.js +1775 -0
  40. package/public/assets/pds/components/pds-richtext.js +1035 -0
  41. package/public/assets/pds/components/pds-scrollrow.js +331 -0
  42. package/public/assets/pds/components/pds-splitpanel.js +401 -0
  43. package/public/assets/pds/components/pds-tabstrip.js +251 -0
  44. package/public/assets/pds/components/pds-toaster.js +446 -0
  45. package/public/assets/pds/components/pds-upload.js +657 -0
  46. package/public/assets/pds/custom-elements.json +2003 -0
  47. package/public/assets/pds/icons/pds-icons.svg +498 -0
  48. package/public/assets/pds/pds-css-complete.json +1861 -0
  49. package/public/assets/pds/pds-runtime-config.json +11 -0
  50. package/public/assets/pds/pds.css-data.json +2152 -0
  51. package/public/assets/pds/styles/pds-components.css +1944 -0
  52. package/public/assets/pds/styles/pds-components.css.js +3895 -0
  53. package/public/assets/pds/styles/pds-primitives.css +352 -0
  54. package/public/assets/pds/styles/pds-primitives.css.js +711 -0
  55. package/public/assets/pds/styles/pds-styles.css +3761 -0
  56. package/public/assets/pds/styles/pds-styles.css.js +7529 -0
  57. package/public/assets/pds/styles/pds-tokens.css +699 -0
  58. package/public/assets/pds/styles/pds-tokens.css.js +1405 -0
  59. package/public/assets/pds/styles/pds-utilities.css +763 -0
  60. package/public/assets/pds/styles/pds-utilities.css.js +1533 -0
  61. package/public/assets/pds/vscode-custom-data.json +824 -0
  62. package/scripts/build-pds-reference.mjs +807 -0
  63. package/scripts/generate-stories.js +542 -0
  64. package/scripts/package-build.js +86 -0
  65. package/src/js/app.js +17 -0
  66. package/src/js/common/ask.js +208 -0
  67. package/src/js/common/common.js +20 -0
  68. package/src/js/common/font-loader.js +200 -0
  69. package/src/js/common/msg.js +90 -0
  70. package/src/js/lit.js +40 -0
  71. package/src/js/pds-core/pds-config.js +1162 -0
  72. package/src/js/pds-core/pds-enhancer-metadata.js +75 -0
  73. package/src/js/pds-core/pds-enhancers.js +357 -0
  74. package/src/js/pds-core/pds-enums.js +86 -0
  75. package/src/js/pds-core/pds-generator.js +5317 -0
  76. package/src/js/pds-core/pds-ontology.js +256 -0
  77. package/src/js/pds-core/pds-paths.js +109 -0
  78. package/src/js/pds-core/pds-query.js +571 -0
  79. package/src/js/pds-core/pds-registry.js +129 -0
  80. package/src/js/pds-core/pds.d.ts +129 -0
  81. package/src/js/pds.d.ts +408 -0
  82. package/src/js/pds.js +1579 -0
  83. package/src/pds-core/pds-api.js +105 -0
  84. package/stories/GettingStarted.md +96 -0
  85. package/stories/GettingStarted.stories.js +144 -0
  86. package/stories/WhatIsPDS.md +194 -0
  87. package/stories/WhatIsPDS.stories.js +144 -0
  88. package/stories/components/PdsCalendar.stories.js +263 -0
  89. package/stories/components/PdsDrawer.stories.js +623 -0
  90. package/stories/components/PdsIcon.stories.js +78 -0
  91. package/stories/components/PdsJsonform.stories.js +1444 -0
  92. package/stories/components/PdsRichtext.stories.js +367 -0
  93. package/stories/components/PdsScrollrow.stories.js +140 -0
  94. package/stories/components/PdsSplitpanel.stories.js +502 -0
  95. package/stories/components/PdsTabstrip.stories.js +442 -0
  96. package/stories/components/PdsToaster.stories.js +186 -0
  97. package/stories/components/PdsUpload.stories.js +66 -0
  98. package/stories/enhancements/Dropdowns.stories.js +185 -0
  99. package/stories/enhancements/InteractiveStates.stories.js +625 -0
  100. package/stories/enhancements/MeshGradients.stories.js +320 -0
  101. package/stories/enhancements/OpenGroups.stories.js +227 -0
  102. package/stories/enhancements/RangeSliders.stories.js +232 -0
  103. package/stories/enhancements/RequiredFields.stories.js +189 -0
  104. package/stories/enhancements/Toggles.stories.js +167 -0
  105. package/stories/foundations/Colors.stories.js +283 -0
  106. package/stories/foundations/Icons.stories.js +305 -0
  107. package/stories/foundations/SmartSurfaces.stories.js +367 -0
  108. package/stories/foundations/Spacing.stories.js +175 -0
  109. package/stories/foundations/Typography.stories.js +960 -0
  110. package/stories/foundations/ZIndex.stories.js +325 -0
  111. package/stories/patterns/BorderEffects.stories.js +72 -0
  112. package/stories/patterns/Layout.stories.js +99 -0
  113. package/stories/patterns/Utilities.stories.js +107 -0
  114. package/stories/primitives/Accordion.stories.js +359 -0
  115. package/stories/primitives/Alerts.stories.js +64 -0
  116. package/stories/primitives/Badges.stories.js +183 -0
  117. package/stories/primitives/Buttons.stories.js +229 -0
  118. package/stories/primitives/Cards.stories.js +353 -0
  119. package/stories/primitives/FormGroups.stories.js +569 -0
  120. package/stories/primitives/Forms.stories.js +131 -0
  121. package/stories/primitives/Media.stories.js +203 -0
  122. package/stories/primitives/Tables.stories.js +232 -0
  123. package/stories/reference/ReferenceCatalog.stories.js +28 -0
  124. package/stories/reference/reference-catalog.js +413 -0
  125. package/stories/reference/reference-docs.js +302 -0
  126. package/stories/reference/reference-helpers.js +310 -0
  127. package/stories/utilities/GridSystem.stories.js +208 -0
  128. package/stories/utils/PdsAsk.stories.js +420 -0
  129. package/stories/utils/toast-utils.js +148 -0
@@ -0,0 +1,2003 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "public/assets/pds/components/pds-calendar.js",
8
+ "declarations": [
9
+ {
10
+ "kind": "class",
11
+ "description": "Simple class for efficient HTML string building",
12
+ "name": "HTMLBuilder",
13
+ "members": [
14
+ {
15
+ "kind": "method",
16
+ "name": "add",
17
+ "parameters": [
18
+ {
19
+ "name": "htmlPart",
20
+ "type": {
21
+ "text": "String"
22
+ }
23
+ }
24
+ ],
25
+ "description": "Adds a string to the builder"
26
+ },
27
+ {
28
+ "kind": "method",
29
+ "name": "toHTML",
30
+ "description": "Returns the built-up string, optionally using the given container for enclosing.",
31
+ "return": {
32
+ "type": {
33
+ "text": "String"
34
+ }
35
+ }
36
+ }
37
+ ]
38
+ },
39
+ {
40
+ "kind": "class",
41
+ "description": "",
42
+ "name": "anonymous_0",
43
+ "members": [
44
+ {
45
+ "kind": "field",
46
+ "name": "date",
47
+ "description": "Gets the current date",
48
+ "parameters": [
49
+ {
50
+ "description": "Date string or Date object",
51
+ "name": "value",
52
+ "type": {
53
+ "text": "String|Date"
54
+ }
55
+ }
56
+ ],
57
+ "return": {
58
+ "type": {
59
+ "text": "Date"
60
+ }
61
+ }
62
+ },
63
+ {
64
+ "kind": "method",
65
+ "name": "refresh",
66
+ "description": "Refreshes the calendar display",
67
+ "privacy": "public"
68
+ },
69
+ {
70
+ "kind": "field",
71
+ "name": "dateHelper",
72
+ "default": "new DateHelper()"
73
+ }
74
+ ],
75
+ "events": [
76
+ {
77
+ "name": "month-rendered",
78
+ "type": {
79
+ "text": "CustomEvent"
80
+ }
81
+ }
82
+ ],
83
+ "attributes": [
84
+ {
85
+ "name": "date"
86
+ }
87
+ ],
88
+ "superclass": {
89
+ "name": "HTMLElement"
90
+ },
91
+ "tagName": "pds-calendar",
92
+ "customElement": true
93
+ }
94
+ ],
95
+ "exports": [
96
+ {
97
+ "kind": "js",
98
+ "name": "HTMLBuilder",
99
+ "declaration": {
100
+ "name": "HTMLBuilder",
101
+ "module": "public/assets/pds/components/pds-calendar.js"
102
+ }
103
+ },
104
+ {
105
+ "kind": "custom-element-definition",
106
+ "name": "pds-calendar",
107
+ "declaration": {
108
+ "name": "anonymous_0",
109
+ "module": "public/assets/pds/components/pds-calendar.js"
110
+ }
111
+ }
112
+ ]
113
+ },
114
+ {
115
+ "kind": "javascript-module",
116
+ "path": "public/assets/pds/components/pds-drawer.js",
117
+ "declarations": [
118
+ {
119
+ "kind": "class",
120
+ "description": "",
121
+ "name": "anonymous_0",
122
+ "members": [
123
+ {
124
+ "kind": "field",
125
+ "name": "open",
126
+ "description": "Controls whether the drawer is open or closed",
127
+ "type": {
128
+ "text": "boolean"
129
+ },
130
+ "attribute": "open"
131
+ },
132
+ {
133
+ "kind": "field",
134
+ "name": "position",
135
+ "description": "Position of the drawer relative to the viewport",
136
+ "type": {
137
+ "text": "\"bottom\" | \"top\" | \"left\" | \"right\""
138
+ },
139
+ "default": "\"bottom\"",
140
+ "attribute": "position"
141
+ },
142
+ {
143
+ "kind": "field",
144
+ "name": "drag",
145
+ "description": "Controls drag interaction behavior",
146
+ "type": {
147
+ "text": "\"header\" | \"none\""
148
+ },
149
+ "default": "\"header\"",
150
+ "attribute": "drag"
151
+ },
152
+ {
153
+ "kind": "field",
154
+ "name": "maxHeight",
155
+ "description": "Maximum height for top/bottom positioned drawers (CSS value)",
156
+ "type": {
157
+ "text": "string"
158
+ },
159
+ "default": "\"70vh\"",
160
+ "attribute": "max-height"
161
+ },
162
+ {
163
+ "kind": "field",
164
+ "name": "minHeight",
165
+ "description": "Minimum height for top/bottom positioned drawers (CSS value)",
166
+ "type": {
167
+ "text": "string"
168
+ },
169
+ "default": "\"auto\"",
170
+ "attribute": "min-height"
171
+ },
172
+ {
173
+ "kind": "field",
174
+ "name": "showClose",
175
+ "description": "Whether to show the close button in the header",
176
+ "type": {
177
+ "text": "boolean"
178
+ },
179
+ "default": "false",
180
+ "attribute": "show-close"
181
+ },
182
+ {
183
+ "kind": "method",
184
+ "name": "openDrawer",
185
+ "description": "Opens the drawer",
186
+ "privacy": "public"
187
+ },
188
+ {
189
+ "kind": "method",
190
+ "name": "closeDrawer",
191
+ "description": "Closes the drawer",
192
+ "privacy": "public"
193
+ },
194
+ {
195
+ "kind": "method",
196
+ "name": "toggleDrawer",
197
+ "description": "Toggles the drawer open/closed state",
198
+ "privacy": "public"
199
+ },
200
+ {
201
+ "kind": "method",
202
+ "name": "show",
203
+ "parameters": [
204
+ {
205
+ "name": "htmlContent",
206
+ "description": "The main content to display",
207
+ "type": {
208
+ "text": "any|HTMLElement|string"
209
+ }
210
+ },
211
+ {
212
+ "name": "options",
213
+ "default": "{}",
214
+ "description": "Configuration options",
215
+ "optional": true,
216
+ "type": {
217
+ "text": "@param {any|HTMLElement|string} [options.header] - Header content\n * @param {\"bottom\"|\"top\"|\"left\"|\"right\"} [options.position] - Drawer position\n * @param {string} [options.maxHeight] - Maximum height (CSS value)\n * @param {string} [options.minHeight] - Minimum height (CSS value)\n * @param {boolean} [options.showClose] - Show close button\n * @param {boolean} [options.waitForMedia=true] - Wait for images/videos to load\n * @param {number} [options.mediaTimeout=500] - Media load timeout in ms\n * "
218
+ }
219
+ }
220
+ ],
221
+ "description": "Configure and open the drawer in one call",
222
+ "privacy": "public",
223
+ "return": {
224
+ "type": {
225
+ "text": "Promise<this>"
226
+ }
227
+ }
228
+ },
229
+ {
230
+ "kind": "method",
231
+ "name": "setContent",
232
+ "parameters": [
233
+ {
234
+ "name": "bodyContent",
235
+ "description": "Content for the drawer body",
236
+ "type": {
237
+ "text": "any|HTMLElement|string"
238
+ }
239
+ },
240
+ {
241
+ "name": "headerContent",
242
+ "default": "null",
243
+ "description": "Optional header content",
244
+ "type": {
245
+ "text": "any|HTMLElement|string"
246
+ },
247
+ "optional": true
248
+ }
249
+ ],
250
+ "description": "Set the content of the drawer",
251
+ "privacy": "public",
252
+ "return": {
253
+ "type": {
254
+ "text": "Promise<void>"
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "kind": "method",
260
+ "name": "clearContent",
261
+ "description": "Clear drawer content (removes all slotted content)",
262
+ "privacy": "public"
263
+ },
264
+ {
265
+ "kind": "field",
266
+ "name": "_open",
267
+ "type": {
268
+ "text": "boolean"
269
+ },
270
+ "default": "false"
271
+ },
272
+ {
273
+ "kind": "field",
274
+ "name": "_position",
275
+ "type": {
276
+ "text": "string"
277
+ },
278
+ "default": "\"bottom\""
279
+ },
280
+ {
281
+ "kind": "field",
282
+ "name": "_drag",
283
+ "type": {
284
+ "text": "string"
285
+ },
286
+ "default": "\"header\""
287
+ },
288
+ {
289
+ "kind": "field",
290
+ "name": "_maxHeight",
291
+ "type": {
292
+ "text": "string"
293
+ },
294
+ "default": "\"\""
295
+ },
296
+ {
297
+ "kind": "field",
298
+ "name": "_minHeight",
299
+ "type": {
300
+ "text": "string"
301
+ },
302
+ "default": "\"\""
303
+ },
304
+ {
305
+ "kind": "field",
306
+ "name": "_showClose",
307
+ "type": {
308
+ "text": "boolean"
309
+ },
310
+ "default": "false"
311
+ }
312
+ ],
313
+ "attributes": [
314
+ {
315
+ "name": "open",
316
+ "description": "Controls whether the drawer is open or closed",
317
+ "type": {
318
+ "text": "boolean"
319
+ },
320
+ "fieldName": "open"
321
+ },
322
+ {
323
+ "name": "position",
324
+ "description": "Position of the drawer relative to the viewport",
325
+ "type": {
326
+ "text": "\"bottom\" | \"top\" | \"left\" | \"right\""
327
+ },
328
+ "default": "\"bottom\"",
329
+ "fieldName": "position"
330
+ },
331
+ {
332
+ "name": "drag",
333
+ "description": "Controls drag interaction behavior",
334
+ "type": {
335
+ "text": "\"header\" | \"none\""
336
+ },
337
+ "default": "\"header\"",
338
+ "fieldName": "drag"
339
+ },
340
+ {
341
+ "name": "max-height",
342
+ "description": "Maximum height for top/bottom positioned drawers (CSS value)",
343
+ "type": {
344
+ "text": "string"
345
+ },
346
+ "default": "\"70vh\"",
347
+ "fieldName": "maxHeight"
348
+ },
349
+ {
350
+ "name": "min-height",
351
+ "description": "Minimum height for top/bottom positioned drawers (CSS value)",
352
+ "type": {
353
+ "text": "string"
354
+ },
355
+ "default": "\"auto\"",
356
+ "fieldName": "minHeight"
357
+ },
358
+ {
359
+ "name": "show-close",
360
+ "description": "Whether to show the close button in the header",
361
+ "type": {
362
+ "text": "boolean"
363
+ },
364
+ "default": "false",
365
+ "fieldName": "showClose"
366
+ }
367
+ ],
368
+ "superclass": {
369
+ "name": "HTMLElement"
370
+ },
371
+ "tagName": "pds-calendar",
372
+ "customElement": true
373
+ }
374
+ ],
375
+ "exports": [
376
+ {
377
+ "kind": "custom-element-definition",
378
+ "name": "pds-drawer",
379
+ "declaration": {
380
+ "name": "anonymous_0",
381
+ "module": "public/assets/pds/components/pds-drawer.js"
382
+ }
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "kind": "javascript-module",
388
+ "path": "public/assets/pds/components/pds-icon.js",
389
+ "declarations": [
390
+ {
391
+ "kind": "class",
392
+ "description": "SVG Icon Web Component",
393
+ "name": "SvgIcon",
394
+ "members": [
395
+ {
396
+ "kind": "field",
397
+ "name": "spritePromises",
398
+ "static": true,
399
+ "default": "new Map()"
400
+ },
401
+ {
402
+ "kind": "field",
403
+ "name": "inlineSprites",
404
+ "static": true,
405
+ "default": "new Map()"
406
+ },
407
+ {
408
+ "kind": "field",
409
+ "name": "instances",
410
+ "static": true,
411
+ "default": "new Set()"
412
+ },
413
+ {
414
+ "kind": "method",
415
+ "name": "spriteAvailable",
416
+ "description": "Check if sprite sheet is available",
417
+ "privacy": "public",
418
+ "return": {
419
+ "type": {
420
+ "text": "boolean"
421
+ }
422
+ }
423
+ },
424
+ {
425
+ "kind": "method",
426
+ "name": "ensureInlineSprite",
427
+ "static": true,
428
+ "parameters": [
429
+ {
430
+ "name": "spriteURL"
431
+ }
432
+ ]
433
+ },
434
+ {
435
+ "kind": "method",
436
+ "name": "notifyInstances",
437
+ "static": true
438
+ }
439
+ ],
440
+ "attributes": [
441
+ {
442
+ "name": "icon",
443
+ "type": {
444
+ "text": "string"
445
+ },
446
+ "description": "Icon name from the sprite sheet"
447
+ },
448
+ {
449
+ "name": "size",
450
+ "type": {
451
+ "text": "string|number"
452
+ },
453
+ "description": "Icon size in pixels or named size (xs, sm, md, lg, xl, 2xl)"
454
+ },
455
+ {
456
+ "name": "color",
457
+ "type": {
458
+ "text": "string"
459
+ },
460
+ "description": "Icon color (CSS color value, default: currentColor)"
461
+ },
462
+ {
463
+ "name": "label",
464
+ "type": {
465
+ "text": "string"
466
+ },
467
+ "description": "Accessible label for the icon (adds role=\"img\")"
468
+ },
469
+ {
470
+ "name": "rotate",
471
+ "type": {
472
+ "text": "number"
473
+ },
474
+ "description": "Rotation angle in degrees"
475
+ },
476
+ {
477
+ "type": {
478
+ "text": "string"
479
+ },
480
+ "description": "Override sprite sheet path",
481
+ "name": "sprite"
482
+ },
483
+ {
484
+ "type": {
485
+ "text": "boolean"
486
+ },
487
+ "description": "Force fallback icon rendering",
488
+ "name": "no-sprite"
489
+ }
490
+ ],
491
+ "superclass": {
492
+ "name": "HTMLElement"
493
+ },
494
+ "tagName": "pds-icon",
495
+ "customElement": true
496
+ }
497
+ ],
498
+ "exports": [
499
+ {
500
+ "kind": "js",
501
+ "name": "SvgIcon",
502
+ "declaration": {
503
+ "name": "SvgIcon",
504
+ "module": "public/assets/pds/components/pds-icon.js"
505
+ }
506
+ },
507
+ {
508
+ "kind": "custom-element-definition",
509
+ "name": "pds-icon",
510
+ "declaration": {
511
+ "name": "SvgIcon",
512
+ "module": "public/assets/pds/components/pds-icon.js"
513
+ }
514
+ }
515
+ ]
516
+ },
517
+ {
518
+ "kind": "javascript-module",
519
+ "path": "public/assets/pds/components/pds-jsonform.js",
520
+ "declarations": [
521
+ {
522
+ "kind": "class",
523
+ "description": "<pds-jsonform>\n\nForm Actions:\nBy default, the form includes Submit and Reset buttons inside the <form> element.\n\nUsage options:\n1. Default buttons:\n <pds-jsonform .jsonSchema=${schema}></pds-jsonform>\n\n2. Customize labels:\n <pds-jsonform .jsonSchema=${schema} submit-label=\"Save\" reset-label=\"Clear\"></pds-jsonform>\n\n3. Hide reset button:\n <pds-jsonform .jsonSchema=${schema} hide-reset></pds-jsonform>\n\n4. Add extra buttons (slot):\n <pds-jsonform .jsonSchema=${schema}>\n <button type=\"button\" slot=\"actions\"",
524
+ "name": "SchemaForm",
525
+ "members": [
526
+ {
527
+ "kind": "method",
528
+ "name": "defineRenderer",
529
+ "parameters": [
530
+ {
531
+ "name": "widgetKey"
532
+ },
533
+ {
534
+ "name": "fn"
535
+ }
536
+ ]
537
+ },
538
+ {
539
+ "kind": "method",
540
+ "name": "useValidator",
541
+ "parameters": [
542
+ {
543
+ "name": "fn"
544
+ }
545
+ ]
546
+ },
547
+ {
548
+ "kind": "method",
549
+ "name": "getValuesFlat"
550
+ },
551
+ {
552
+ "kind": "method",
553
+ "name": "serialize"
554
+ },
555
+ {
556
+ "kind": "method",
557
+ "name": "submit"
558
+ },
559
+ {
560
+ "kind": "field",
561
+ "name": "jsonSchema",
562
+ "privacy": "public",
563
+ "type": {
564
+ "text": "object"
565
+ },
566
+ "default": "undefined",
567
+ "attribute": "json-schema"
568
+ },
569
+ {
570
+ "kind": "field",
571
+ "name": "uiSchema",
572
+ "privacy": "public",
573
+ "type": {
574
+ "text": "object"
575
+ },
576
+ "default": "undefined",
577
+ "attribute": "ui-schema"
578
+ },
579
+ {
580
+ "kind": "field",
581
+ "name": "options",
582
+ "privacy": "public",
583
+ "type": {
584
+ "text": "object"
585
+ },
586
+ "default": "undefined",
587
+ "attribute": "options"
588
+ },
589
+ {
590
+ "kind": "field",
591
+ "name": "values",
592
+ "privacy": "public",
593
+ "type": {
594
+ "text": "object"
595
+ },
596
+ "default": "undefined",
597
+ "attribute": "values"
598
+ },
599
+ {
600
+ "kind": "field",
601
+ "name": "method",
602
+ "privacy": "public",
603
+ "type": {
604
+ "text": "string"
605
+ },
606
+ "default": "\"post\"",
607
+ "attribute": "method"
608
+ },
609
+ {
610
+ "kind": "field",
611
+ "name": "hideActions",
612
+ "privacy": "public",
613
+ "type": {
614
+ "text": "boolean"
615
+ },
616
+ "default": "false",
617
+ "attribute": "hide-actions"
618
+ },
619
+ {
620
+ "kind": "field",
621
+ "name": "submitLabel",
622
+ "privacy": "public",
623
+ "type": {
624
+ "text": "string"
625
+ },
626
+ "default": "\"Submit\"",
627
+ "attribute": "submit-label"
628
+ },
629
+ {
630
+ "kind": "field",
631
+ "name": "resetLabel",
632
+ "privacy": "public",
633
+ "type": {
634
+ "text": "string"
635
+ },
636
+ "default": "\"Reset\"",
637
+ "attribute": "reset-label"
638
+ },
639
+ {
640
+ "kind": "field",
641
+ "name": "hideReset",
642
+ "privacy": "public",
643
+ "type": {
644
+ "text": "boolean"
645
+ },
646
+ "default": "false",
647
+ "attribute": "hide-reset"
648
+ },
649
+ {
650
+ "kind": "field",
651
+ "name": "hideLegend",
652
+ "privacy": "public",
653
+ "type": {
654
+ "text": "boolean"
655
+ },
656
+ "default": "false",
657
+ "attribute": "hide-legend"
658
+ },
659
+ {
660
+ "kind": "field",
661
+ "name": "action",
662
+ "privacy": "public",
663
+ "type": {
664
+ "text": "string"
665
+ },
666
+ "attribute": "action"
667
+ },
668
+ {
669
+ "kind": "field",
670
+ "name": "disabled",
671
+ "privacy": "public",
672
+ "type": {
673
+ "text": "boolean"
674
+ },
675
+ "attribute": "disabled",
676
+ "reflects": true
677
+ },
678
+ {
679
+ "kind": "field",
680
+ "name": "hideSubmit",
681
+ "privacy": "public",
682
+ "type": {
683
+ "text": "boolean"
684
+ },
685
+ "attribute": "hide-submit"
686
+ }
687
+ ],
688
+ "events": [
689
+ {
690
+ "name": "name",
691
+ "type": {
692
+ "text": "CustomEvent"
693
+ }
694
+ }
695
+ ],
696
+ "attributes": [
697
+ {
698
+ "name": "json-schema",
699
+ "type": {
700
+ "text": "object"
701
+ },
702
+ "default": "undefined",
703
+ "fieldName": "jsonSchema"
704
+ },
705
+ {
706
+ "name": "ui-schema",
707
+ "type": {
708
+ "text": "object"
709
+ },
710
+ "default": "undefined",
711
+ "fieldName": "uiSchema"
712
+ },
713
+ {
714
+ "name": "options",
715
+ "type": {
716
+ "text": "object"
717
+ },
718
+ "default": "undefined",
719
+ "fieldName": "options"
720
+ },
721
+ {
722
+ "name": "values",
723
+ "type": {
724
+ "text": "object"
725
+ },
726
+ "default": "undefined",
727
+ "fieldName": "values"
728
+ },
729
+ {
730
+ "name": "action",
731
+ "type": {
732
+ "text": "string"
733
+ },
734
+ "fieldName": "action"
735
+ },
736
+ {
737
+ "name": "method",
738
+ "type": {
739
+ "text": "string"
740
+ },
741
+ "default": "\"post\"",
742
+ "fieldName": "method"
743
+ },
744
+ {
745
+ "name": "disabled",
746
+ "type": {
747
+ "text": "boolean"
748
+ },
749
+ "fieldName": "disabled"
750
+ },
751
+ {
752
+ "name": "hide-actions",
753
+ "type": {
754
+ "text": "boolean"
755
+ },
756
+ "default": "false",
757
+ "fieldName": "hideActions"
758
+ },
759
+ {
760
+ "name": "submit-label",
761
+ "type": {
762
+ "text": "string"
763
+ },
764
+ "default": "\"Submit\"",
765
+ "fieldName": "submitLabel"
766
+ },
767
+ {
768
+ "name": "reset-label",
769
+ "type": {
770
+ "text": "string"
771
+ },
772
+ "default": "\"Reset\"",
773
+ "fieldName": "resetLabel"
774
+ },
775
+ {
776
+ "name": "hide-reset",
777
+ "type": {
778
+ "text": "boolean"
779
+ },
780
+ "default": "false",
781
+ "fieldName": "hideReset"
782
+ },
783
+ {
784
+ "name": "hide-submit",
785
+ "type": {
786
+ "text": "boolean"
787
+ },
788
+ "fieldName": "hideSubmit"
789
+ },
790
+ {
791
+ "name": "hide-legend",
792
+ "type": {
793
+ "text": "boolean"
794
+ },
795
+ "default": "false",
796
+ "fieldName": "hideLegend"
797
+ }
798
+ ],
799
+ "superclass": {
800
+ "name": "LitElement",
801
+ "module": "/public/assets/pds/components/pds-jsonform.js"
802
+ },
803
+ "tagName": "pds-jsonform",
804
+ "customElement": true
805
+ }
806
+ ],
807
+ "exports": [
808
+ {
809
+ "kind": "js",
810
+ "name": "SchemaForm",
811
+ "declaration": {
812
+ "name": "SchemaForm",
813
+ "module": "public/assets/pds/components/pds-jsonform.js"
814
+ }
815
+ },
816
+ {
817
+ "kind": "custom-element-definition",
818
+ "name": "pds-jsonform",
819
+ "declaration": {
820
+ "name": "SchemaForm",
821
+ "module": "public/assets/pds/components/pds-jsonform.js"
822
+ }
823
+ }
824
+ ]
825
+ },
826
+ {
827
+ "kind": "javascript-module",
828
+ "path": "public/assets/pds/components/pds-richtext.js",
829
+ "declarations": [
830
+ {
831
+ "kind": "class",
832
+ "description": "",
833
+ "name": "RichText",
834
+ "members": [
835
+ {
836
+ "kind": "field",
837
+ "name": "formAssociated",
838
+ "type": {
839
+ "text": "boolean"
840
+ },
841
+ "static": true,
842
+ "default": "true"
843
+ },
844
+ {
845
+ "kind": "field",
846
+ "name": "name",
847
+ "description": "Update the form field name.",
848
+ "return": {
849
+ "type": {
850
+ "text": "string"
851
+ }
852
+ },
853
+ "parameters": [
854
+ {
855
+ "name": "v",
856
+ "type": {
857
+ "text": "string|null"
858
+ }
859
+ }
860
+ ]
861
+ },
862
+ {
863
+ "kind": "field",
864
+ "name": "placeholder",
865
+ "description": "Set the placeholder text.",
866
+ "return": {
867
+ "type": {
868
+ "text": "string"
869
+ }
870
+ },
871
+ "parameters": [
872
+ {
873
+ "name": "v",
874
+ "type": {
875
+ "text": "string|null"
876
+ }
877
+ }
878
+ ]
879
+ },
880
+ {
881
+ "kind": "field",
882
+ "name": "disabled",
883
+ "description": "Enable or disable user input.",
884
+ "return": {
885
+ "type": {
886
+ "text": "boolean"
887
+ }
888
+ },
889
+ "parameters": [
890
+ {
891
+ "name": "v",
892
+ "type": {
893
+ "text": "boolean"
894
+ }
895
+ }
896
+ ]
897
+ },
898
+ {
899
+ "kind": "field",
900
+ "name": "required",
901
+ "description": "Toggle required validation.",
902
+ "return": {
903
+ "type": {
904
+ "text": "boolean"
905
+ }
906
+ },
907
+ "parameters": [
908
+ {
909
+ "name": "v",
910
+ "type": {
911
+ "text": "boolean"
912
+ }
913
+ }
914
+ ]
915
+ },
916
+ {
917
+ "kind": "field",
918
+ "name": "submitOnEnter",
919
+ "description": "Enable or disable submit-on-enter behaviour.",
920
+ "return": {
921
+ "type": {
922
+ "text": "boolean"
923
+ }
924
+ },
925
+ "parameters": [
926
+ {
927
+ "name": "v",
928
+ "type": {
929
+ "text": "boolean"
930
+ }
931
+ }
932
+ ]
933
+ },
934
+ {
935
+ "kind": "field",
936
+ "name": "spellcheck",
937
+ "description": "Toggle native spell checking support.",
938
+ "return": {
939
+ "type": {
940
+ "text": "boolean"
941
+ }
942
+ },
943
+ "parameters": [
944
+ {
945
+ "name": "v",
946
+ "type": {
947
+ "text": "boolean"
948
+ }
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ "kind": "field",
954
+ "name": "toolbar",
955
+ "description": "Show or hide the formatting toolbar.",
956
+ "return": {
957
+ "type": {
958
+ "text": "boolean"
959
+ }
960
+ },
961
+ "parameters": [
962
+ {
963
+ "name": "v",
964
+ "type": {
965
+ "text": "boolean"
966
+ }
967
+ }
968
+ ]
969
+ },
970
+ {
971
+ "kind": "field",
972
+ "name": "format",
973
+ "description": "Change the output format for future values.",
974
+ "return": {
975
+ "type": {
976
+ "text": "\"html\"|\"markdown\""
977
+ }
978
+ },
979
+ "parameters": [
980
+ {
981
+ "name": "v",
982
+ "type": {
983
+ "text": "string|null"
984
+ }
985
+ }
986
+ ]
987
+ },
988
+ {
989
+ "kind": "field",
990
+ "name": "value",
991
+ "description": "Update the editor value programmatically.",
992
+ "return": {
993
+ "type": {
994
+ "text": "string"
995
+ }
996
+ },
997
+ "parameters": [
998
+ {
999
+ "name": "v",
1000
+ "type": {
1001
+ "text": "string|null"
1002
+ }
1003
+ }
1004
+ ]
1005
+ },
1006
+ {
1007
+ "kind": "field",
1008
+ "name": "form",
1009
+ "description": "Reference to the associated HTMLFormElement, when applicable.",
1010
+ "return": {
1011
+ "type": {
1012
+ "text": "HTMLFormElement|null"
1013
+ }
1014
+ },
1015
+ "readonly": true
1016
+ },
1017
+ {
1018
+ "kind": "method",
1019
+ "name": "checkValidity",
1020
+ "description": "Run native form validation against the control.",
1021
+ "return": {
1022
+ "type": {
1023
+ "text": "boolean"
1024
+ }
1025
+ }
1026
+ },
1027
+ {
1028
+ "kind": "method",
1029
+ "name": "reportValidity",
1030
+ "description": "Report validity using the browser's built-in UI.",
1031
+ "return": {
1032
+ "type": {
1033
+ "text": "boolean"
1034
+ }
1035
+ }
1036
+ },
1037
+ {
1038
+ "kind": "field",
1039
+ "name": "_submitOnEnter",
1040
+ "type": {
1041
+ "text": "boolean"
1042
+ },
1043
+ "default": "false"
1044
+ },
1045
+ {
1046
+ "kind": "field",
1047
+ "name": "_toolbar",
1048
+ "type": {
1049
+ "text": "boolean"
1050
+ },
1051
+ "default": "true"
1052
+ },
1053
+ {
1054
+ "kind": "field",
1055
+ "name": "_spellcheck",
1056
+ "type": {
1057
+ "text": "boolean"
1058
+ },
1059
+ "default": "true"
1060
+ },
1061
+ {
1062
+ "kind": "field",
1063
+ "name": "_value",
1064
+ "type": {
1065
+ "text": "string"
1066
+ },
1067
+ "default": "\"\""
1068
+ },
1069
+ {
1070
+ "kind": "field",
1071
+ "name": "_placeholder",
1072
+ "type": {
1073
+ "text": "string"
1074
+ },
1075
+ "default": "\"\""
1076
+ },
1077
+ {
1078
+ "kind": "field",
1079
+ "name": "_disabled",
1080
+ "type": {
1081
+ "text": "boolean"
1082
+ },
1083
+ "default": "false"
1084
+ },
1085
+ {
1086
+ "kind": "field",
1087
+ "name": "_required",
1088
+ "type": {
1089
+ "text": "boolean"
1090
+ },
1091
+ "default": "false"
1092
+ },
1093
+ {
1094
+ "kind": "field",
1095
+ "name": "_format",
1096
+ "type": {
1097
+ "text": "string"
1098
+ },
1099
+ "default": "\"html\""
1100
+ }
1101
+ ],
1102
+ "events": [
1103
+ {
1104
+ "name": "input",
1105
+ "type": {
1106
+ "text": "InputEvent"
1107
+ }
1108
+ }
1109
+ ],
1110
+ "attributes": [
1111
+ {
1112
+ "name": "name"
1113
+ },
1114
+ {
1115
+ "name": "placeholder"
1116
+ },
1117
+ {
1118
+ "name": "disabled"
1119
+ },
1120
+ {
1121
+ "name": "required"
1122
+ },
1123
+ {
1124
+ "name": "submit-on-enter"
1125
+ },
1126
+ {
1127
+ "name": "spellcheck"
1128
+ },
1129
+ {
1130
+ "name": "toolbar"
1131
+ },
1132
+ {
1133
+ "name": "value"
1134
+ },
1135
+ {
1136
+ "name": "format"
1137
+ }
1138
+ ],
1139
+ "superclass": {
1140
+ "name": "HTMLElement"
1141
+ },
1142
+ "tagName": "pds-richtext",
1143
+ "customElement": true
1144
+ }
1145
+ ],
1146
+ "exports": [
1147
+ {
1148
+ "kind": "js",
1149
+ "name": "RichText",
1150
+ "declaration": {
1151
+ "name": "RichText",
1152
+ "module": "public/assets/pds/components/pds-richtext.js"
1153
+ }
1154
+ },
1155
+ {
1156
+ "kind": "custom-element-definition",
1157
+ "name": "pds-richtext",
1158
+ "declaration": {
1159
+ "name": "RichText",
1160
+ "module": "public/assets/pds/components/pds-richtext.js"
1161
+ }
1162
+ }
1163
+ ]
1164
+ },
1165
+ {
1166
+ "kind": "javascript-module",
1167
+ "path": "public/assets/pds/components/pds-scrollrow.js",
1168
+ "declarations": [
1169
+ {
1170
+ "kind": "class",
1171
+ "description": "Horizontal scrolling row with optional heading and snap alignment controls.",
1172
+ "name": "PdsScrollrow",
1173
+ "cssParts": [
1174
+ {
1175
+ "description": "The scrollable container element",
1176
+ "name": "viewport"
1177
+ }
1178
+ ],
1179
+ "slots": [
1180
+ {
1181
+ "description": "Scrollable tile content",
1182
+ "name": "default"
1183
+ },
1184
+ {
1185
+ "description": "Optional heading content rendered in the component header",
1186
+ "name": "heading"
1187
+ }
1188
+ ],
1189
+ "members": [
1190
+ {
1191
+ "kind": "field",
1192
+ "name": "label",
1193
+ "description": "Update the accessible label and optional fallback heading text.",
1194
+ "return": {
1195
+ "type": {
1196
+ "text": "string|null"
1197
+ }
1198
+ },
1199
+ "parameters": [
1200
+ {
1201
+ "name": "val",
1202
+ "type": {
1203
+ "text": "string|null"
1204
+ }
1205
+ }
1206
+ ]
1207
+ },
1208
+ {
1209
+ "kind": "field",
1210
+ "name": "snap",
1211
+ "description": "Adjust the scroll snap alignment.",
1212
+ "return": {
1213
+ "type": {
1214
+ "text": "\"start\"|\"center\""
1215
+ }
1216
+ },
1217
+ "parameters": [
1218
+ {
1219
+ "name": "val",
1220
+ "type": {
1221
+ "text": "string|null"
1222
+ }
1223
+ }
1224
+ ]
1225
+ },
1226
+ {
1227
+ "kind": "method",
1228
+ "name": "doPage",
1229
+ "parameters": [
1230
+ {
1231
+ "name": "e",
1232
+ "type": {
1233
+ "text": "Event"
1234
+ }
1235
+ }
1236
+ ],
1237
+ "description": "Scroll the viewport by roughly one page in the indicated direction."
1238
+ }
1239
+ ],
1240
+ "attributes": [
1241
+ {
1242
+ "name": "label",
1243
+ "type": {
1244
+ "text": "string"
1245
+ },
1246
+ "description": "Accessible label for the scroll region; also used as fallback heading copy"
1247
+ },
1248
+ {
1249
+ "name": "snap",
1250
+ "type": {
1251
+ "text": "\"start\"|\"center\""
1252
+ },
1253
+ "description": "Snap alignment for tiles when scrolling (default: start)"
1254
+ }
1255
+ ],
1256
+ "superclass": {
1257
+ "name": "HTMLElement"
1258
+ },
1259
+ "tagName": "pds-scrollrow",
1260
+ "customElement": true
1261
+ }
1262
+ ],
1263
+ "exports": [
1264
+ {
1265
+ "kind": "custom-element-definition",
1266
+ "name": "pds-scrollrow",
1267
+ "declaration": {
1268
+ "name": "PdsScrollrow",
1269
+ "module": "public/assets/pds/components/pds-scrollrow.js"
1270
+ }
1271
+ }
1272
+ ]
1273
+ },
1274
+ {
1275
+ "kind": "javascript-module",
1276
+ "path": "public/assets/pds/components/pds-splitpanel.js",
1277
+ "declarations": [
1278
+ {
1279
+ "kind": "class",
1280
+ "description": "",
1281
+ "name": "anonymous_0",
1282
+ "members": [
1283
+ {
1284
+ "kind": "field",
1285
+ "name": "layout"
1286
+ },
1287
+ {
1288
+ "kind": "field",
1289
+ "name": "defaultSplit"
1290
+ },
1291
+ {
1292
+ "kind": "field",
1293
+ "name": "breakpoint"
1294
+ },
1295
+ {
1296
+ "kind": "field",
1297
+ "name": "open"
1298
+ },
1299
+ {
1300
+ "kind": "method",
1301
+ "name": "_render"
1302
+ },
1303
+ {
1304
+ "kind": "method",
1305
+ "name": "_adoptStyles"
1306
+ },
1307
+ {
1308
+ "kind": "method",
1309
+ "name": "updateLayout"
1310
+ },
1311
+ {
1312
+ "kind": "method",
1313
+ "name": "startDragging",
1314
+ "parameters": [
1315
+ {
1316
+ "name": "event"
1317
+ }
1318
+ ]
1319
+ },
1320
+ {
1321
+ "kind": "method",
1322
+ "name": "drag",
1323
+ "parameters": [
1324
+ {
1325
+ "name": "event"
1326
+ }
1327
+ ]
1328
+ },
1329
+ {
1330
+ "kind": "method",
1331
+ "name": "stopDragging"
1332
+ },
1333
+ {
1334
+ "kind": "method",
1335
+ "name": "toggleMobileView"
1336
+ },
1337
+ {
1338
+ "kind": "method",
1339
+ "name": "closeMobileView"
1340
+ },
1341
+ {
1342
+ "kind": "method",
1343
+ "name": "_updateToggleButton"
1344
+ },
1345
+ {
1346
+ "kind": "field",
1347
+ "name": "_layout",
1348
+ "type": {
1349
+ "text": "string"
1350
+ },
1351
+ "default": "\"horizontal\""
1352
+ },
1353
+ {
1354
+ "kind": "field",
1355
+ "name": "_defaultSplit",
1356
+ "type": {
1357
+ "text": "string"
1358
+ },
1359
+ "default": "\"450px\""
1360
+ },
1361
+ {
1362
+ "kind": "field",
1363
+ "name": "_breakpoint",
1364
+ "type": {
1365
+ "text": "number"
1366
+ },
1367
+ "default": "1024"
1368
+ },
1369
+ {
1370
+ "kind": "field",
1371
+ "name": "_open"
1372
+ },
1373
+ {
1374
+ "kind": "field",
1375
+ "name": "isDragging",
1376
+ "type": {
1377
+ "text": "boolean"
1378
+ },
1379
+ "default": "false"
1380
+ },
1381
+ {
1382
+ "kind": "field",
1383
+ "name": "_onResize"
1384
+ },
1385
+ {
1386
+ "kind": "field",
1387
+ "name": "_onMouseMove"
1388
+ },
1389
+ {
1390
+ "kind": "field",
1391
+ "name": "_onMouseUp"
1392
+ }
1393
+ ],
1394
+ "attributes": [
1395
+ {
1396
+ "name": "layout"
1397
+ },
1398
+ {
1399
+ "name": "defaultsplit"
1400
+ },
1401
+ {
1402
+ "name": "breakpoint"
1403
+ },
1404
+ {
1405
+ "name": "open"
1406
+ }
1407
+ ],
1408
+ "superclass": {
1409
+ "name": "HTMLElement"
1410
+ },
1411
+ "tagName": "pds-calendar",
1412
+ "customElement": true
1413
+ }
1414
+ ],
1415
+ "exports": [
1416
+ {
1417
+ "kind": "custom-element-definition",
1418
+ "name": "pds-splitpanel",
1419
+ "declaration": {
1420
+ "name": "anonymous_0",
1421
+ "module": "public/assets/pds/components/pds-splitpanel.js"
1422
+ }
1423
+ }
1424
+ ]
1425
+ },
1426
+ {
1427
+ "kind": "javascript-module",
1428
+ "path": "public/assets/pds/components/pds-tabstrip.js",
1429
+ "declarations": [
1430
+ {
1431
+ "kind": "class",
1432
+ "description": "",
1433
+ "name": "TabPanel",
1434
+ "slots": [
1435
+ {
1436
+ "description": "Content of the tab panel",
1437
+ "name": ""
1438
+ }
1439
+ ],
1440
+ "members": [
1441
+ {
1442
+ "kind": "field",
1443
+ "name": "section",
1444
+ "description": "The inner `<section>` that exposes the panel region semantics.",
1445
+ "return": {
1446
+ "type": {
1447
+ "text": "HTMLElement|null"
1448
+ }
1449
+ },
1450
+ "readonly": true
1451
+ }
1452
+ ],
1453
+ "attributes": [
1454
+ {
1455
+ "type": {
1456
+ "text": "string"
1457
+ },
1458
+ "description": "Label for the tab button",
1459
+ "name": "label"
1460
+ },
1461
+ {
1462
+ "type": {
1463
+ "text": "string"
1464
+ },
1465
+ "description": "Unique identifier for the panel (auto-generated if not provided)",
1466
+ "name": "id"
1467
+ }
1468
+ ],
1469
+ "superclass": {
1470
+ "name": "HTMLElement"
1471
+ },
1472
+ "tagName": "pds-tabpanel",
1473
+ "customElement": true
1474
+ },
1475
+ {
1476
+ "kind": "class",
1477
+ "description": "Tab navigation component that pairs anchors with `pds-tabpanel` children.",
1478
+ "name": "TabStrip",
1479
+ "cssProperties": [
1480
+ {
1481
+ "description": "Color of the active tab indicator underline",
1482
+ "name": "--color-accent-400"
1483
+ }
1484
+ ],
1485
+ "cssParts": [
1486
+ {
1487
+ "description": "Navigation container comprising the clickable tab buttons",
1488
+ "name": "tabs"
1489
+ }
1490
+ ],
1491
+ "slots": [
1492
+ {
1493
+ "description": "Collection of `pds-tabpanel` nodes representing individual tab panels",
1494
+ "name": ""
1495
+ }
1496
+ ],
1497
+ "members": [
1498
+ {
1499
+ "kind": "field",
1500
+ "name": "innerHTML",
1501
+ "default": "`\n <style>\n :host{display:block}\n nav{\n position:relative; display:inline-flex; gap:.5rem; align-items:flex-end;\n \n --pad-x:.5rem; --pad-y:.25rem;\n }\n nav a{\n color: currentColor;\n display:inline-block; padding:var(--pad-y) var(--pad-x);\n text-decoration:none; line-height:1.2; border-bottom:2px solid transparent;\n cursor:pointer;\n }\n nav a[aria-current=\"page\"]{ font-weight:600; }\n nav a:focus-visible{ outline:auto; outline-offset:2px; }\n .inkbar{\n position:absolute; inset-inline-start:0; bottom:-1px; height:2px; width:0;\n transform:translateX(0); transition:transform .25s ease, width .25s ease;\n background-color: var(--color-accent-400); pointer-events:none;\n }\n </style>\n <nav part=\"tabs\"></nav>\n <slot></slot>\n `"
1502
+ }
1503
+ ],
1504
+ "events": [
1505
+ {
1506
+ "name": "tabchange",
1507
+ "type": {
1508
+ "text": "CustomEvent"
1509
+ },
1510
+ "description": "Fired when the active tab changes. Detail: `{ oldTab: string|null, newTab: string }`"
1511
+ }
1512
+ ],
1513
+ "attributes": [
1514
+ {
1515
+ "type": {
1516
+ "text": "string"
1517
+ },
1518
+ "description": "Accessible label announced for the tablist",
1519
+ "name": "label"
1520
+ },
1521
+ {
1522
+ "type": {
1523
+ "text": "string"
1524
+ },
1525
+ "description": "Identifier of the currently active panel (synced with the location hash)",
1526
+ "name": "selected"
1527
+ }
1528
+ ],
1529
+ "superclass": {
1530
+ "name": "HTMLElement"
1531
+ },
1532
+ "tagName": "pds-tabstrip",
1533
+ "customElement": true
1534
+ }
1535
+ ],
1536
+ "exports": [
1537
+ {
1538
+ "kind": "custom-element-definition",
1539
+ "name": "pds-tabpanel",
1540
+ "declaration": {
1541
+ "name": "TabPanel",
1542
+ "module": "public/assets/pds/components/pds-tabstrip.js"
1543
+ }
1544
+ },
1545
+ {
1546
+ "kind": "custom-element-definition",
1547
+ "name": "pds-tabstrip",
1548
+ "declaration": {
1549
+ "name": "TabStrip",
1550
+ "module": "public/assets/pds/components/pds-tabstrip.js"
1551
+ }
1552
+ }
1553
+ ]
1554
+ },
1555
+ {
1556
+ "kind": "javascript-module",
1557
+ "path": "public/assets/pds/components/pds-toaster.js",
1558
+ "declarations": [
1559
+ {
1560
+ "kind": "class",
1561
+ "description": "",
1562
+ "name": "AppToaster",
1563
+ "cssProperties": [
1564
+ {
1565
+ "description": "Z-index for toast positioning (default: 9999)",
1566
+ "name": "--z-notification"
1567
+ },
1568
+ {
1569
+ "description": "Animation duration for toasts",
1570
+ "name": "--transition-normal"
1571
+ }
1572
+ ],
1573
+ "slots": [
1574
+ {
1575
+ "description": "Toast messages are dynamically added to the shadow DOM",
1576
+ "name": ""
1577
+ }
1578
+ ],
1579
+ "members": [
1580
+ {
1581
+ "kind": "method",
1582
+ "name": "toast",
1583
+ "parameters": [
1584
+ {
1585
+ "name": "message",
1586
+ "description": "The message to display",
1587
+ "type": {
1588
+ "text": "string"
1589
+ }
1590
+ },
1591
+ {
1592
+ "name": "options",
1593
+ "default": "{}",
1594
+ "description": "Toast configuration",
1595
+ "optional": true,
1596
+ "type": {
1597
+ "text": "@param {\"information\"|\"success\"|\"warning\"|\"error\"} [options.type=\"information\"] - Toast type\n * @param {number} [options.duration] - Duration in ms (auto-calculated if not provided)\n * @param {boolean} [options.closable=true] - Whether toast can be closed manually\n * @param {boolean} [options.persistent=false] - If true, toast doesn't auto-dismiss\n * "
1598
+ }
1599
+ }
1600
+ ],
1601
+ "description": "Display a toast notification",
1602
+ "privacy": "public",
1603
+ "return": {
1604
+ "type": {
1605
+ "text": "string"
1606
+ }
1607
+ }
1608
+ },
1609
+ {
1610
+ "kind": "method",
1611
+ "name": "createToastElement",
1612
+ "parameters": [
1613
+ {
1614
+ "name": "id",
1615
+ "type": {
1616
+ "text": "string"
1617
+ }
1618
+ },
1619
+ {
1620
+ "name": "message",
1621
+ "type": {
1622
+ "text": "string"
1623
+ }
1624
+ },
1625
+ {
1626
+ "name": "type",
1627
+ "type": {
1628
+ "text": "\"information\"|\"success\"|\"warning\"|\"error\""
1629
+ }
1630
+ },
1631
+ {
1632
+ "name": "closable",
1633
+ "type": {
1634
+ "text": "boolean"
1635
+ }
1636
+ },
1637
+ {
1638
+ "name": "duration",
1639
+ "type": {
1640
+ "text": "number"
1641
+ }
1642
+ },
1643
+ {
1644
+ "name": "persistent",
1645
+ "type": {
1646
+ "text": "boolean"
1647
+ }
1648
+ }
1649
+ ],
1650
+ "description": "Build a DOM node representing a single toast notification.",
1651
+ "return": {
1652
+ "type": {
1653
+ "text": "HTMLElement"
1654
+ }
1655
+ }
1656
+ },
1657
+ {
1658
+ "kind": "method",
1659
+ "name": "dismissToast",
1660
+ "parameters": [
1661
+ {
1662
+ "name": "toastId",
1663
+ "description": "The ID of the toast to dismiss",
1664
+ "type": {
1665
+ "text": "string"
1666
+ }
1667
+ }
1668
+ ],
1669
+ "description": "Dismiss a toast by ID",
1670
+ "privacy": "public"
1671
+ },
1672
+ {
1673
+ "kind": "method",
1674
+ "name": "dismissAll",
1675
+ "description": "Close all active toasts."
1676
+ },
1677
+ {
1678
+ "kind": "method",
1679
+ "name": "toastSuccess",
1680
+ "parameters": [
1681
+ {
1682
+ "name": "message",
1683
+ "description": "The message to display",
1684
+ "type": {
1685
+ "text": "string"
1686
+ }
1687
+ },
1688
+ {
1689
+ "name": "options",
1690
+ "default": "{}",
1691
+ "description": "Toast configuration options",
1692
+ "optional": true,
1693
+ "type": {
1694
+ "text": "Object"
1695
+ }
1696
+ }
1697
+ ],
1698
+ "description": "Display a success toast",
1699
+ "privacy": "public",
1700
+ "return": {
1701
+ "type": {
1702
+ "text": "string"
1703
+ }
1704
+ }
1705
+ },
1706
+ {
1707
+ "kind": "method",
1708
+ "name": "toastWarning",
1709
+ "parameters": [
1710
+ {
1711
+ "name": "message",
1712
+ "description": "The message to display",
1713
+ "type": {
1714
+ "text": "string"
1715
+ }
1716
+ },
1717
+ {
1718
+ "name": "options",
1719
+ "default": "{}",
1720
+ "description": "Toast configuration options",
1721
+ "optional": true,
1722
+ "type": {
1723
+ "text": "Object"
1724
+ }
1725
+ }
1726
+ ],
1727
+ "description": "Display a warning toast",
1728
+ "privacy": "public",
1729
+ "return": {
1730
+ "type": {
1731
+ "text": "string"
1732
+ }
1733
+ }
1734
+ },
1735
+ {
1736
+ "kind": "method",
1737
+ "name": "toastError",
1738
+ "parameters": [
1739
+ {
1740
+ "name": "message",
1741
+ "description": "The message to display",
1742
+ "type": {
1743
+ "text": "string"
1744
+ }
1745
+ },
1746
+ {
1747
+ "name": "options",
1748
+ "default": "{}",
1749
+ "description": "Toast configuration options",
1750
+ "optional": true,
1751
+ "type": {
1752
+ "text": "Object"
1753
+ }
1754
+ }
1755
+ ],
1756
+ "description": "Display an error toast",
1757
+ "privacy": "public",
1758
+ "return": {
1759
+ "type": {
1760
+ "text": "string"
1761
+ }
1762
+ }
1763
+ },
1764
+ {
1765
+ "kind": "method",
1766
+ "name": "toastInfo",
1767
+ "parameters": [
1768
+ {
1769
+ "name": "message",
1770
+ "description": "The message to display",
1771
+ "type": {
1772
+ "text": "string"
1773
+ }
1774
+ },
1775
+ {
1776
+ "name": "options",
1777
+ "default": "{}",
1778
+ "description": "Toast configuration options",
1779
+ "optional": true,
1780
+ "type": {
1781
+ "text": "Object"
1782
+ }
1783
+ }
1784
+ ],
1785
+ "description": "Display an information toast",
1786
+ "privacy": "public",
1787
+ "return": {
1788
+ "type": {
1789
+ "text": "string"
1790
+ }
1791
+ }
1792
+ },
1793
+ {
1794
+ "kind": "field",
1795
+ "name": "toasts",
1796
+ "type": {
1797
+ "text": "array"
1798
+ },
1799
+ "default": "[]"
1800
+ }
1801
+ ],
1802
+ "events": [
1803
+ {
1804
+ "description": "Global event for creating toasts",
1805
+ "name": "pds:toast"
1806
+ }
1807
+ ],
1808
+ "superclass": {
1809
+ "name": "HTMLElement"
1810
+ },
1811
+ "tagName": "pds-toaster",
1812
+ "customElement": true
1813
+ }
1814
+ ],
1815
+ "exports": [
1816
+ {
1817
+ "kind": "js",
1818
+ "name": "AppToaster",
1819
+ "declaration": {
1820
+ "name": "AppToaster",
1821
+ "module": "public/assets/pds/components/pds-toaster.js"
1822
+ }
1823
+ },
1824
+ {
1825
+ "kind": "custom-element-definition",
1826
+ "name": "pds-toaster",
1827
+ "declaration": {
1828
+ "name": "AppToaster",
1829
+ "module": "public/assets/pds/components/pds-toaster.js"
1830
+ }
1831
+ }
1832
+ ]
1833
+ },
1834
+ {
1835
+ "kind": "javascript-module",
1836
+ "path": "public/assets/pds/components/pds-upload.js",
1837
+ "declarations": [
1838
+ {
1839
+ "kind": "class",
1840
+ "description": "Drag-and-drop file uploader that participates in native forms.",
1841
+ "name": "UploadArea",
1842
+ "members": [
1843
+ {
1844
+ "kind": "method",
1845
+ "name": "formAssociatedCallback",
1846
+ "description": "Invoked when the element becomes associated with a `<form>`."
1847
+ },
1848
+ {
1849
+ "kind": "method",
1850
+ "name": "formDisabledCallback",
1851
+ "parameters": [
1852
+ {
1853
+ "name": "disabled",
1854
+ "type": {
1855
+ "text": "boolean"
1856
+ }
1857
+ }
1858
+ ],
1859
+ "description": "Sync disabled state across internal controls when the host form toggles."
1860
+ },
1861
+ {
1862
+ "kind": "method",
1863
+ "name": "formResetCallback",
1864
+ "description": "Clear selected files when the host form resets."
1865
+ },
1866
+ {
1867
+ "kind": "method",
1868
+ "name": "formStateRestoreCallback",
1869
+ "parameters": [
1870
+ {
1871
+ "name": "state",
1872
+ "type": {
1873
+ "text": "File[]"
1874
+ }
1875
+ }
1876
+ ],
1877
+ "description": "Restore previously submitted files during BFCache or session restores."
1878
+ },
1879
+ {
1880
+ "kind": "field",
1881
+ "name": "value",
1882
+ "description": "Value is derived from the selected files and cannot be set manually.",
1883
+ "return": {
1884
+ "type": {
1885
+ "text": "string"
1886
+ }
1887
+ },
1888
+ "parameters": [
1889
+ {
1890
+ "name": "val",
1891
+ "type": {
1892
+ "text": "string"
1893
+ }
1894
+ }
1895
+ ]
1896
+ },
1897
+ {
1898
+ "kind": "method",
1899
+ "name": "checkValidity",
1900
+ "description": "Run constraint validation leveraging ElementInternals.",
1901
+ "return": {
1902
+ "type": {
1903
+ "text": "boolean"
1904
+ }
1905
+ }
1906
+ },
1907
+ {
1908
+ "kind": "method",
1909
+ "name": "reportValidity",
1910
+ "description": "Report validity issues using the browser UI.",
1911
+ "return": {
1912
+ "type": {
1913
+ "text": "boolean"
1914
+ }
1915
+ }
1916
+ },
1917
+ {
1918
+ "kind": "method",
1919
+ "name": "clear",
1920
+ "description": "Clear all selected files and update the UI accordingly."
1921
+ },
1922
+ {
1923
+ "kind": "method",
1924
+ "name": "getFiles",
1925
+ "description": "Retrieve a shallow copy of the current file selection.",
1926
+ "return": {
1927
+ "type": {
1928
+ "text": "File[]"
1929
+ }
1930
+ }
1931
+ },
1932
+ {
1933
+ "kind": "method",
1934
+ "name": "clear",
1935
+ "description": "Remove all files and emit a change notification."
1936
+ }
1937
+ ],
1938
+ "events": [
1939
+ {
1940
+ "name": "files-changed",
1941
+ "type": {
1942
+ "text": "CustomEvent"
1943
+ }
1944
+ }
1945
+ ],
1946
+ "attributes": [
1947
+ {
1948
+ "name": "accept",
1949
+ "type": {
1950
+ "text": "string"
1951
+ },
1952
+ "description": "Comma separated list of accepted MIME types and file extensions"
1953
+ },
1954
+ {
1955
+ "name": "multiple",
1956
+ "type": {
1957
+ "text": "boolean"
1958
+ },
1959
+ "description": "Allows selecting more than one file"
1960
+ },
1961
+ {
1962
+ "name": "disabled",
1963
+ "type": {
1964
+ "text": "boolean"
1965
+ },
1966
+ "description": "Disables interaction with the drop zone and button"
1967
+ },
1968
+ {
1969
+ "name": "max-files",
1970
+ "type": {
1971
+ "text": "number"
1972
+ },
1973
+ "description": "Optional cap on the number of files the user may select"
1974
+ }
1975
+ ],
1976
+ "superclass": {
1977
+ "name": "HTMLElement"
1978
+ },
1979
+ "tagName": "pds-upload",
1980
+ "customElement": true
1981
+ }
1982
+ ],
1983
+ "exports": [
1984
+ {
1985
+ "kind": "custom-element-definition",
1986
+ "name": "pds-upload",
1987
+ "declaration": {
1988
+ "name": "UploadArea",
1989
+ "module": "public/assets/pds/components/pds-upload.js"
1990
+ }
1991
+ },
1992
+ {
1993
+ "kind": "js",
1994
+ "name": "default",
1995
+ "declaration": {
1996
+ "name": "UploadArea",
1997
+ "module": "public/assets/pds/components/pds-upload.js"
1998
+ }
1999
+ }
2000
+ ]
2001
+ }
2002
+ ]
2003
+ }