@pure-ds/core 0.4.16 → 0.4.18

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.
@@ -831,5 +831,5 @@ button.btn-xs {
831
831
  return html.toHTML();
832
832
  }
833
833
  }
834
- }
834
+
835
835
  customElements.define("pds-calendar", PdsCalendar);
@@ -39,12 +39,64 @@
39
39
  {
40
40
  "kind": "class",
41
41
  "description": "",
42
- "name": "anonymous_0",
42
+ "name": "PdsCalendar",
43
+ "cssProperties": [
44
+ {
45
+ "description": "Calendar background color",
46
+ "name": "--surface-bg"
47
+ },
48
+ {
49
+ "description": "Border color for calendar elements",
50
+ "name": "--surface-border"
51
+ },
52
+ {
53
+ "description": "Secondary text color",
54
+ "name": "--surface-text-secondary"
55
+ },
56
+ {
57
+ "description": "Primary color for events and highlights",
58
+ "name": "--color-primary-500"
59
+ },
60
+ {
61
+ "description": "Warning event color",
62
+ "name": "--color-warning-500"
63
+ },
64
+ {
65
+ "description": "Danger event color",
66
+ "name": "--color-danger-500"
67
+ },
68
+ {
69
+ "description": "Info event color",
70
+ "name": "--color-info-500"
71
+ }
72
+ ],
73
+ "cssParts": [
74
+ {
75
+ "description": "The main container for the calendar",
76
+ "name": "calendar-container"
77
+ },
78
+ {
79
+ "description": "The header containing month name and navigation",
80
+ "name": "calendar-header"
81
+ },
82
+ {
83
+ "description": "The grid container for the calendar days",
84
+ "name": "calendar"
85
+ },
86
+ {
87
+ "description": "Individual day cells",
88
+ "name": "day"
89
+ },
90
+ {
91
+ "description": "Event items within days",
92
+ "name": "task"
93
+ }
94
+ ],
43
95
  "members": [
44
96
  {
45
97
  "kind": "field",
46
98
  "name": "date",
47
- "description": "Gets the current date",
99
+ "description": "Gets or sets the current date being displayed",
48
100
  "parameters": [
49
101
  {
50
102
  "description": "Date string or Date object",
@@ -58,6 +110,9 @@
58
110
  "type": {
59
111
  "text": "Date"
60
112
  }
113
+ },
114
+ "type": {
115
+ "text": "Date"
61
116
  }
62
117
  },
63
118
  {
@@ -78,11 +133,19 @@
78
133
  "type": {
79
134
  "text": "CustomEvent"
80
135
  }
136
+ },
137
+ {
138
+ "description": "Dispatched after the calendar month is rendered with event fill capability",
139
+ "name": "pds-calendar#month-rendered"
81
140
  }
82
141
  ],
83
142
  "attributes": [
84
143
  {
85
- "name": "date"
144
+ "name": "date",
145
+ "type": {
146
+ "text": "String"
147
+ },
148
+ "description": "The date to display (defaults to current date). Accepts any valid date string"
86
149
  }
87
150
  ],
88
151
  "superclass": {
@@ -105,7 +168,7 @@
105
168
  "kind": "custom-element-definition",
106
169
  "name": "pds-calendar",
107
170
  "declaration": {
108
- "name": "anonymous_0",
171
+ "name": "PdsCalendar",
109
172
  "module": "public/assets/pds/components/pds-calendar.js"
110
173
  }
111
174
  }
@@ -118,7 +181,61 @@
118
181
  {
119
182
  "kind": "class",
120
183
  "description": "",
121
- "name": "anonymous_0",
184
+ "name": "PdsDrawer",
185
+ "cssProperties": [
186
+ {
187
+ "description": "Animation duration (default: var(--transition-normal))",
188
+ "name": "--drawer-duration"
189
+ },
190
+ {
191
+ "description": "Animation easing function (default: var(--easing-emphasized))",
192
+ "name": "--drawer-easing"
193
+ },
194
+ {
195
+ "description": "Maximum height when position is top/bottom (default: 70vh)",
196
+ "name": "--drawer-max-height"
197
+ },
198
+ {
199
+ "description": "Minimum height when position is top/bottom (default: auto)",
200
+ "name": "--drawer-min-height"
201
+ }
202
+ ],
203
+ "cssParts": [
204
+ {
205
+ "description": "The semi-transparent backdrop overlay",
206
+ "name": "backdrop"
207
+ },
208
+ {
209
+ "description": "The drawer panel container",
210
+ "name": "panel"
211
+ },
212
+ {
213
+ "description": "The drawer header section",
214
+ "name": "header"
215
+ },
216
+ {
217
+ "description": "The close button",
218
+ "name": "close-button"
219
+ },
220
+ {
221
+ "description": "The drag handle indicator",
222
+ "name": "grab-handle"
223
+ },
224
+ {
225
+ "description": "The drawer content section",
226
+ "name": "content"
227
+ }
228
+ ],
229
+ "slots": [
230
+ {
231
+ "description": "Header content for the drawer",
232
+ "name": "drawer-header"
233
+ },
234
+ {
235
+ "description": "Main content of the drawer",
236
+ "name": "drawer-content"
237
+ }
238
+ ],
122
239
  "members": [
123
240
  {
124
241
  "kind": "field",
@@ -310,6 +427,12 @@
310
427
  "default": "false"
311
428
  }
312
429
  ],
430
+ "events": [
431
+ {
432
+ "description": "Fired when the drawer opens or closes",
433
+ "name": "toggle"
434
+ }
435
+ ],
313
436
  "attributes": [
314
437
  {
315
438
  "name": "open",
@@ -368,7 +491,7 @@
368
491
  "superclass": {
369
492
  "name": "HTMLElement"
370
493
  },
371
- "tagName": "pds-calendar",
494
+ "tagName": "pds-drawer",
372
495
  "customElement": true
373
496
  }
374
497
  ],
@@ -377,7 +500,7 @@
377
500
  "kind": "custom-element-definition",
378
501
  "name": "pds-drawer",
379
502
  "declaration": {
380
- "name": "anonymous_0",
503
+ "name": "PdsDrawer",
381
504
  "module": "public/assets/pds/components/pds-drawer.js"
382
505
  }
383
506
  }
@@ -404,6 +527,18 @@
404
527
  "static": true,
405
528
  "default": "new Map()"
406
529
  },
530
+ {
531
+ "kind": "field",
532
+ "name": "externalIconCache",
533
+ "static": true,
534
+ "default": "new Map()"
535
+ },
536
+ {
537
+ "kind": "field",
538
+ "name": "externalIconPromises",
539
+ "static": true,
540
+ "default": "new Map()"
541
+ },
407
542
  {
408
543
  "kind": "field",
409
544
  "name": "instances",
@@ -421,6 +556,26 @@
421
556
  }
422
557
  }
423
558
  },
559
+ {
560
+ "kind": "method",
561
+ "name": "fetchExternalIcon",
562
+ "static": true,
563
+ "parameters": [
564
+ {
565
+ "name": "iconName",
566
+ "description": "The icon name (without .svg extension)",
567
+ "type": {
568
+ "text": "string"
569
+ }
570
+ }
571
+ ],
572
+ "description": "Fetch an external SVG icon and cache it",
573
+ "return": {
574
+ "type": {
575
+ "text": "Promise<boolean>"
576
+ }
577
+ }
578
+ },
424
579
  {
425
580
  "kind": "method",
426
581
  "name": "ensureInlineSprite",
@@ -1174,6 +1329,14 @@
1174
1329
  {
1175
1330
  "description": "The scrollable container element",
1176
1331
  "name": "viewport"
1332
+ },
1333
+ {
1334
+ "description": "The previous/left scroll navigation button",
1335
+ "name": "prev"
1336
+ },
1337
+ {
1338
+ "description": "The next/right scroll navigation button",
1339
+ "name": "next"
1177
1340
  }
1178
1341
  ],
1179
1342
  "slots": [
@@ -1278,23 +1441,89 @@
1278
1441
  {
1279
1442
  "kind": "class",
1280
1443
  "description": "",
1281
- "name": "anonymous_0",
1444
+ "name": "PdsSplitpanel",
1445
+ "cssProperties": [
1446
+ {
1447
+ "description": "Width of the left panel in horizontal layout.",
1448
+ "name": "--left-width"
1449
+ },
1450
+ {
1451
+ "description": "Color of the splitter bar.",
1452
+ "name": "--color-border"
1453
+ },
1454
+ {
1455
+ "description": "Background color of the left panel in mobile view.",
1456
+ "name": "--color-surface-base"
1457
+ },
1458
+ {
1459
+ "description": "Transition duration for the mobile panel animation.",
1460
+ "name": "--transition-fast"
1461
+ },
1462
+ {
1463
+ "description": "Positioning spacing for the mobile toggle button.",
1464
+ "name": "--spacing-4"
1465
+ },
1466
+ {
1467
+ "description": "Padding for the mobile toggle button.",
1468
+ "name": "--spacing-1"
1469
+ },
1470
+ {
1471
+ "description": "Padding for the mobile toggle button.",
1472
+ "name": "--spacing-2"
1473
+ }
1474
+ ],
1475
+ "cssParts": [
1476
+ {
1477
+ "description": "The mobile toggle button.",
1478
+ "name": "toggle"
1479
+ },
1480
+ {
1481
+ "description": "The draggable splitter bar between panels.",
1482
+ "name": "splitter"
1483
+ }
1484
+ ],
1485
+ "slots": [
1486
+ {
1487
+ "description": "Content for the left (or top) panel.",
1488
+ "name": "left"
1489
+ },
1490
+ {
1491
+ "description": "Content for the right (or bottom) panel.",
1492
+ "name": "right"
1493
+ }
1494
+ ],
1282
1495
  "members": [
1283
1496
  {
1284
1497
  "kind": "field",
1285
- "name": "layout"
1498
+ "name": "layout",
1499
+ "type": {
1500
+ "text": "String"
1501
+ },
1502
+ "description": "Gets or sets the layout direction."
1286
1503
  },
1287
1504
  {
1288
1505
  "kind": "field",
1289
- "name": "defaultSplit"
1506
+ "name": "defaultSplit",
1507
+ "type": {
1508
+ "text": "String"
1509
+ },
1510
+ "description": "Gets or sets the default split size."
1290
1511
  },
1291
1512
  {
1292
1513
  "kind": "field",
1293
- "name": "breakpoint"
1514
+ "name": "breakpoint",
1515
+ "type": {
1516
+ "text": "Number"
1517
+ },
1518
+ "description": "Gets or sets the mobile breakpoint."
1294
1519
  },
1295
1520
  {
1296
1521
  "kind": "field",
1297
- "name": "open"
1522
+ "name": "open",
1523
+ "type": {
1524
+ "text": "Boolean"
1525
+ },
1526
+ "description": "Gets or sets the open state of the mobile panel."
1298
1527
  },
1299
1528
  {
1300
1529
  "kind": "method",
@@ -1396,22 +1625,38 @@
1396
1625
  ],
1397
1626
  "attributes": [
1398
1627
  {
1399
- "name": "layout"
1628
+ "name": "layout",
1629
+ "type": {
1630
+ "text": "String"
1631
+ },
1632
+ "description": "The layout direction of the panels. Can be \"horizontal\" or \"vertical\". Defaults to \"horizontal\"."
1400
1633
  },
1401
1634
  {
1402
- "name": "defaultsplit"
1635
+ "name": "defaultsplit",
1636
+ "type": {
1637
+ "text": "String"
1638
+ },
1639
+ "description": "The initial size of the primary (left/top) panel. Defaults to \"450px\"."
1403
1640
  },
1404
1641
  {
1405
- "name": "breakpoint"
1642
+ "name": "breakpoint",
1643
+ "type": {
1644
+ "text": "Number"
1645
+ },
1646
+ "description": "The viewport width in pixels below which the component switches to mobile view. Defaults to 1024."
1406
1647
  },
1407
1648
  {
1408
- "name": "open"
1649
+ "name": "open",
1650
+ "type": {
1651
+ "text": "Boolean"
1652
+ },
1653
+ "description": "Controls the visibility of the primary panel in mobile view."
1409
1654
  }
1410
1655
  ],
1411
1656
  "superclass": {
1412
1657
  "name": "HTMLElement"
1413
1658
  },
1414
- "tagName": "pds-calendar",
1659
+ "tagName": "pds-splitpanel",
1415
1660
  "customElement": true
1416
1661
  }
1417
1662
  ],
@@ -1420,7 +1665,7 @@
1420
1665
  "kind": "custom-element-definition",
1421
1666
  "name": "pds-splitpanel",
1422
1667
  "declaration": {
1423
- "name": "anonymous_0",
1668
+ "name": "PdsSplitpanel",
1424
1669
  "module": "public/assets/pds/components/pds-splitpanel.js"
1425
1670
  }
1426
1671
  }
@@ -23,7 +23,7 @@ export const presets = {
23
23
  darkMode: {
24
24
  background: "#0c1821",
25
25
  secondary: "#94a3b8",
26
- primary: "#0891b2", // Tailwind cyan-600 as base - generates darker 600 shade
26
+ primary: "#0891b2", // cyan-600 as base - generates darker 600 shade
27
27
  },
28
28
  },
29
29
  typography: {
@@ -55,7 +55,7 @@ export const presets = {
55
55
  darkMode: {
56
56
  background: "#18181b",
57
57
  secondary: "#71717a",
58
- primary: "#3b82f6", // Tailwind blue-500 - optimized mid-tone
58
+ primary: "#3b82f6", // blue-500 - optimized mid-tone
59
59
  },
60
60
  },
61
61
  typography: {
@@ -88,7 +88,7 @@ export const presets = {
88
88
  darkMode: {
89
89
  background: "#0f0a1a",
90
90
  secondary: "#818cf8",
91
- primary: "#8b5cf6", // Tailwind violet-500 - optimized mid-tone
91
+ primary: "#8b5cf6", // violet-500 - optimized mid-tone
92
92
  },
93
93
  },
94
94
  typography: {
@@ -122,7 +122,7 @@ export const presets = {
122
122
  darkMode: {
123
123
  background: "#0a0a0a",
124
124
  secondary: "#a3a3a3",
125
- primary: "#737373", // Tailwind gray-500 - optimized mid-tone
125
+ primary: "#737373", // gray-500 - optimized mid-tone
126
126
  },
127
127
  },
128
128
  typography: {
@@ -159,7 +159,7 @@ export const presets = {
159
159
  background: "#1a0f0a",
160
160
  secondary: "#c9a482",
161
161
  // Ensure sufficient contrast for primary-filled components with white text in dark mode
162
- primary: "#f97316", // Tailwind orange-500 - optimized mid-tone
162
+ primary: "#f97316", // orange-500 - optimized mid-tone
163
163
  },
164
164
  },
165
165
  typography: {
@@ -190,7 +190,7 @@ export const presets = {
190
190
  background: "#1a0a1f",
191
191
  secondary: "#c4b5fd",
192
192
  // Deepen primary for dark mode to meet AA contrast with white text
193
- primary: "#d946ef", // Tailwind fuchsia-500 - optimized mid-tone
193
+ primary: "#d946ef", // fuchsia-500 - optimized mid-tone
194
194
  },
195
195
  },
196
196
  typography: {
@@ -224,7 +224,7 @@ export const presets = {
224
224
  darkMode: {
225
225
  background: "#0a1410",
226
226
  secondary: "#a8a29e",
227
- primary: "#10b981", // Tailwind emerald-500 - optimized mid-tone
227
+ primary: "#10b981", // emerald-500 - optimized mid-tone
228
228
  },
229
229
  },
230
230
  typography: {
@@ -254,7 +254,7 @@ export const presets = {
254
254
  darkMode: {
255
255
  background: "#1b0808",
256
256
  secondary: "#d1d5db",
257
- primary: "#ef4444", // Tailwind red-500 - optimized mid-tone
257
+ primary: "#ef4444", // red-500 - optimized mid-tone
258
258
  },
259
259
  },
260
260
  typography: {
@@ -288,7 +288,7 @@ export const presets = {
288
288
  background: "#12100e",
289
289
  secondary: "#d1d5db",
290
290
  // Deepen primary in dark to keep white text AA-compliant
291
- primary: "#f59e0b", // Tailwind amber-500 - optimized mid-tone
291
+ primary: "#f59e0b", // amber-500 - optimized mid-tone
292
292
  },
293
293
  },
294
294
  typography: {
@@ -323,7 +323,7 @@ export const presets = {
323
323
  // has strong contrast against the very-dark surface. The generator
324
324
  // will still pick appropriate darker fill shades for buttons so
325
325
  // white-on-fill contrast is preserved.
326
- primary: "#9ca3af", // Tailwind gray-400 - optimized mid-tone
326
+ primary: "#9ca3af", // gray-400 - optimized mid-tone
327
327
  },
328
328
  },
329
329
  typography: {
@@ -361,7 +361,7 @@ export const presets = {
361
361
  darkMode: {
362
362
  background: "#1a1016",
363
363
  secondary: "#c4b5fd",
364
- primary: "#ec4899", // Tailwind pink-500 - optimized mid-tone
364
+ primary: "#ec4899", // pink-500 - optimized mid-tone
365
365
  },
366
366
  },
367
367
  typography: {
@@ -401,7 +401,7 @@ export const presets = {
401
401
  // - outline/link contrast on dark surface, and
402
402
  // - sufficient button fill contrast against white text.
403
403
  // Cyan signal aligns with preset accent and produces high-contrast dark fills.
404
- primary: "#06b6d4", // Tailwind cyan-500 - optimized mid-tone
404
+ primary: "#06b6d4", // cyan-500 - optimized mid-tone
405
405
  },
406
406
  },
407
407
  typography: {
@@ -437,7 +437,7 @@ export const presets = {
437
437
  darkMode: {
438
438
  background: "#0d130a",
439
439
  secondary: "#a3a3a3",
440
- primary: "#84cc16", // Tailwind lime-500 - optimized mid-tone
440
+ primary: "#84cc16", // lime-500 - optimized mid-tone
441
441
  },
442
442
  },
443
443
  typography: {
@@ -845,7 +845,7 @@ presets.default = {
845
845
  darkMode: {
846
846
  background: "#16171a", // Custom dark mode background (cool blue-gray)
847
847
  secondary: "#8b9199", // Optional: custom dark grays (uses light secondary if omitted)
848
- primary: "#06b6d4", // Tailwind cyan-500 - optimized mid-tone
848
+ primary: "#06b6d4", // cyan-500 - optimized mid-tone
849
849
  // accent: null, // Optional: override accent color for dark mode
850
850
  },
851
851