@pure-ds/storybook 0.7.57 → 0.7.60

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 (60) hide show
  1. package/.storybook/preview.js +42 -64
  2. package/dist/pds-reference.json +190 -82
  3. package/package.json +2 -2
  4. package/public/assets/js/app.js +7 -6
  5. package/public/assets/js/pds-ask.js +4 -4
  6. package/public/assets/js/pds-autocomplete.js +7 -7
  7. package/public/assets/js/pds-manager.js +144 -143
  8. package/public/assets/js/pds.js +3 -2
  9. package/public/assets/pds/core/pds-ask.js +4 -4
  10. package/public/assets/pds/core/pds-autocomplete.js +7 -7
  11. package/public/assets/pds/core/pds-manager.js +144 -143
  12. package/public/assets/pds/core.js +3 -2
  13. package/public/assets/pds/custom-elements.json +382 -28
  14. package/public/assets/pds/pds-css-complete.json +1 -1
  15. package/public/assets/pds/pds-runtime-config.json +81 -9
  16. package/public/assets/pds/styles/pds-components.css +175 -123
  17. package/public/assets/pds/styles/pds-components.css.js +350 -246
  18. package/public/assets/pds/styles/pds-primitives.css +39 -15
  19. package/public/assets/pds/styles/pds-primitives.css.js +78 -30
  20. package/public/assets/pds/styles/pds-styles.css +712 -273
  21. package/public/assets/pds/styles/pds-styles.css.js +1424 -546
  22. package/public/assets/pds/styles/pds-tokens.css +482 -119
  23. package/public/assets/pds/styles/pds-tokens.css.js +964 -238
  24. package/public/assets/pds/styles/pds-utilities.css +16 -16
  25. package/public/assets/pds/styles/pds-utilities.css.js +32 -32
  26. package/public/assets/pds/vscode-custom-data.json +29 -1
  27. package/src/js/common/common.js +74 -0
  28. package/src/js/pds-autocomplete.js +804 -56
  29. package/src/js/pds-core/pds-start-helpers.js +17 -2
  30. package/src/js/pds-reactive.js +268 -0
  31. package/src/js/pds.d.ts +75 -0
  32. package/src/js/pds.js +14 -1
  33. package/stories/GettingStarted.stories.js +1 -1
  34. package/stories/WhatIsPDS.stories.js +1 -1
  35. package/stories/components/PdsOmnibox.stories.js +36 -0
  36. package/stories/components/PdsToaster.stories.js +1 -1
  37. package/stories/components/omnibox-real-life-async-settings.js +274 -0
  38. package/stories/enhancements/Dropdowns.stories.js +645 -0
  39. package/stories/patterns/BorderEffects.stories.js +1 -1
  40. package/stories/patterns/InteractiveStates.stories.js +1 -1
  41. package/stories/patterns/Utilities.stories.js +1 -1
  42. package/stories/primitives/ArticleLayout.stories.js +1 -1
  43. package/stories/primitives/Badges.stories.js +1 -1
  44. package/stories/primitives/Buttons.stories.js +1 -1
  45. package/stories/primitives/Callouts.stories.js +1 -1
  46. package/stories/primitives/Cards.stories.js +1 -1
  47. package/stories/primitives/FormElements.stories.js +1 -1
  48. package/stories/primitives/HtmlFormElements.stories.js +1 -1
  49. package/stories/primitives/HtmlFormGroups.stories.js +1 -1
  50. package/stories/primitives/Media.stories.js +1 -1
  51. package/stories/primitives/Tables.stories.js +1 -1
  52. package/stories/reference/pds-object-docs.js +20 -1
  53. package/stories/utilities/Backdrop.stories.js +1 -1
  54. package/stories/utils/PdsAsk.stories.js +1 -1
  55. package/stories/utils/PdsHtml.stories.js +291 -0
  56. package/stories/utils/PdsObjectApi.stories.js +1 -1
  57. package/stories/utils/PdsParse.stories.js +1 -1
  58. package/stories/utils/PdsToast.stories.js +1 -1
  59. package/stories/utils/State.stories.js +451 -0
  60. package/stories/utils/pds-object-meta.js +2 -1
@@ -23,6 +23,9 @@ preloadShiki();
23
23
  window.toastFormData = toastFormData;
24
24
 
25
25
  let pdsCodeLoadPromise = null;
26
+ let pdsStoryObserver = null;
27
+ let pdsStoryObserverContainer = null;
28
+ let pdsStoryAdoptTimeout = null;
26
29
 
27
30
  async function ensurePdsCodeLoaded() {
28
31
  if (typeof customElements !== 'undefined' && customElements.get('pds-code')) {
@@ -527,23 +530,15 @@ const withPDS = (story, context) => {
527
530
  // DON'T re-adopt if they already have styles - this preserves component internal stylesheets
528
531
  for (const { root, host } of shadowRoots) {
529
532
  try {
533
+ if (root.__pdsLayersAdopted === true) {
534
+ continue;
535
+ }
536
+
530
537
  const currentSheets = root.adoptedStyleSheets || [];
531
-
532
- // Check if this shadow root already has PDS sheets
533
- const hasPDSSheets = currentSheets.some(sheet => {
534
- try {
535
- // Check if it's a PDS sheet by looking for PDS-specific selectors
536
- return Array.from(sheet.cssRules || []).some(rule =>
537
- rule.selectorText?.includes(':where') ||
538
- rule.cssText?.includes('--color-') ||
539
- rule.cssText?.includes('--spacing-')
540
- );
541
- } catch {
542
- return false;
543
- }
544
- });
538
+ const hasPDSSheets = currentSheets.some(sheet => sheet?._pds === true);
545
539
 
546
540
  if (hasPDSSheets && currentSheets.length > 0) {
541
+ root.__pdsLayersAdopted = true;
547
542
  //console.log(`⏭️ <${host.toLowerCase()}> already has ${currentSheets.length} sheets - skipping`);
548
543
  continue;
549
544
  }
@@ -556,6 +551,7 @@ const withPDS = (story, context) => {
556
551
 
557
552
  // Adopt full layer stack: primitives, components, utilities
558
553
  await PDS.adoptLayers(root, ['primitives', 'components', 'utilities'], existingSheets);
554
+ root.__pdsLayersAdopted = true;
559
555
 
560
556
  //console.log(`✅ Adopted layers for <${host.toLowerCase()}> (now ${root.adoptedStyleSheets.length} sheets)`);
561
557
  } catch (err) {
@@ -578,34 +574,33 @@ const withPDS = (story, context) => {
578
574
  setTimeout(adoptAllShadowStyles, 100);
579
575
  setTimeout(adoptAllShadowStyles, 300);
580
576
 
581
- // Re-adopt on any DOM changes (for re-renders) with debouncing
582
- let adoptTimeout;
577
+ // Re-adopt on DOM tree changes with a single managed observer
583
578
  setTimeout(() => {
584
579
  const container = document.querySelector('#storybook-root');
585
- if (container && !container._pdsObserver) {
580
+ if (container) {
581
+ if (pdsStoryObserver && pdsStoryObserverContainer !== container) {
582
+ pdsStoryObserver.disconnect();
583
+ pdsStoryObserver = null;
584
+ }
585
+
586
+ pdsStoryObserverContainer = container;
587
+
588
+ if (pdsStoryObserver) {
589
+ return;
590
+ }
591
+
586
592
  const debouncedAdopt = () => {
587
- clearTimeout(adoptTimeout);
588
- adoptTimeout = setTimeout(() => {
589
- console.log('🔄 DOM changed - re-adopting primitives');
593
+ clearTimeout(pdsStoryAdoptTimeout);
594
+ pdsStoryAdoptTimeout = setTimeout(() => {
590
595
  adoptAllShadowStyles();
591
- }, 100); // Increased debounce to 100ms
596
+ }, 120);
592
597
  };
593
598
 
594
- const observer = new MutationObserver(debouncedAdopt);
595
- observer.observe(container, {
599
+ pdsStoryObserver = new MutationObserver(debouncedAdopt);
600
+ pdsStoryObserver.observe(container, {
596
601
  childList: true,
597
602
  subtree: true,
598
- attributes: true,
599
- characterData: true // Also watch text changes
600
603
  });
601
- container._pdsObserver = observer;
602
-
603
- // Also re-adopt periodically as fallback (every 1 second)
604
- setInterval(() => {
605
- if (document.contains(container)) {
606
- adoptAllShadowStyles();
607
- }
608
- }, 1000);
609
604
  }
610
605
  }, 100);
611
606
 
@@ -1712,45 +1707,28 @@ const preview = {
1712
1707
  storySort: {
1713
1708
  method: 'alphabetical',
1714
1709
  order: [
1715
- 'About PDS',
1716
- ['What Is PDS', 'Getting Started'],
1717
1710
  'PDS',
1718
1711
  [
1719
- 'About PDS',
1720
- ['What Is PDS', 'Getting Started'],
1721
- 'Foundations',
1722
- ['Colors', 'Typography', 'HTML Defaults', 'Icons', 'Spacing', 'Smart Surfaces'],
1723
- 'Primitives',
1724
- ['Buttons', 'Forms', 'Form Groups', 'Alerts', 'Badges', 'Cards', 'Articles', 'Tables', 'Media', 'Accordion'],
1725
- 'Layout',
1726
- ['Overview', 'System'],
1727
- 'Utilities',
1728
- ['Grid System'],
1729
- 'Patterns',
1730
- ['Border Effects', 'Utilities'],
1731
- 'Enhancements',
1732
- ['Mesh Gradients', 'Interactive States', 'Toggles', 'Dropdowns', 'Range Sliders', 'Required Fields'],
1733
- 'Components',
1734
- ['*'],
1735
- 'Reference'
1712
+ 'General',
1713
+ ['Docs', 'Getting Started', 'What Is PDS'],
1714
+ 'DOM Building',
1715
+ ['Docs', 'Using the html template marker'],
1716
+ 'State Management',
1717
+ ['Docs', '*'],
1718
+ 'PDS api',
1719
+ ['Docs', '*'],
1720
+ '*'
1736
1721
  ],
1737
- 'About PDS',
1738
- ['What is PDS', 'Getting Started'],
1739
1722
  'Foundations',
1740
- ['Colors', 'Typography', 'HTML Defaults', 'Icons', 'Spacing', 'Smart Surfaces'],
1741
- 'Primitives',
1742
- ['Buttons', 'Forms', 'Form Groups', 'Alerts', 'Badges', 'Cards', 'Articles', 'Tables', 'Media', 'Accordion'],
1743
- 'Layout',
1744
- ['Overview', 'System'],
1745
- 'Utilities',
1746
- ['Grid System'],
1747
- 'Patterns',
1748
- ['Border Effects', 'Utilities'],
1723
+ ['*'],
1724
+ 'Primitives & Patterns',
1725
+ ['*'],
1749
1726
  'Enhancements',
1750
- ['Mesh Gradients', 'Interactive States', 'Toggles', 'Dropdowns', 'Range Sliders', 'Required Fields'],
1727
+ ['*'],
1751
1728
  'Components',
1752
1729
  ['*'],
1753
1730
  'Reference',
1731
+ ['*'],
1754
1732
  '*'
1755
1733
  ]
1756
1734
  }
@@ -1,5 +1,5 @@
1
1
  {
2
- "generatedAt": "2026-03-25T20:27:42.970Z",
2
+ "generatedAt": "2026-03-28T12:12:10.967Z",
3
3
  "sources": {
4
4
  "customElements": "custom-elements.json",
5
5
  "ontology": "src\\js\\pds-core\\pds-ontology.js",
@@ -256,6 +256,11 @@
256
256
  }
257
257
  ],
258
258
  "events": [
259
+ {
260
+ "name": "day-click",
261
+ "description": null,
262
+ "type": "CustomEvent"
263
+ },
259
264
  {
260
265
  "name": "month-change",
261
266
  "description": null,
@@ -266,6 +271,11 @@
266
271
  "description": null,
267
272
  "type": "CustomEvent"
268
273
  },
274
+ {
275
+ "name": "pds-calendar#day-click",
276
+ "description": "Dispatched when a day cell is selected from the calendar grid",
277
+ "type": null
278
+ },
269
279
  {
270
280
  "name": "pds-calendar#month-change",
271
281
  "description": "Dispatched when the visible month/year changes",
@@ -275,6 +285,16 @@
275
285
  "name": "pds-calendar#month-rendered",
276
286
  "description": "Dispatched after the calendar month is rendered with event fill capability",
277
287
  "type": null
288
+ },
289
+ {
290
+ "name": "pds-calendar#task-click",
291
+ "description": "Dispatched when a task item is clicked",
292
+ "type": null
293
+ },
294
+ {
295
+ "name": "task-click",
296
+ "description": null,
297
+ "type": "CustomEvent"
278
298
  }
279
299
  ],
280
300
  "slots": [],
@@ -1232,14 +1252,65 @@
1232
1252
  },
1233
1253
  {
1234
1254
  "name": "start-angle",
1235
- "description": "Starting angle in degrees (0=right, 90=down, 180=left, 270=up)\r\nIf not specified, the angle is auto-detected based on the FAB's corner position:\r\n- Bottom-right: 180° (fly left/up)\r\n- Bottom-left: 315° (fly right/up)\r\n- Top-right: 225° (fly left/down)\r\n- Top-left: 45° (fly right/down)",
1255
+ "description": "Starting angle in degrees (0=right, 90=down, 180=left, 270=up)\r\nIf not specified, the angle is auto-detected based on the FAB's corner position:\r\n- Bottom-right: 180-� (fly left/up)\r\n- Bottom-left: 315-� (fly right/up)\r\n- Top-right: 225-� (fly left/down)\r\n- Top-left: 45-� (fly right/down)",
1236
1256
  "type": "number",
1237
1257
  "default": "180 (or auto-detected)",
1238
1258
  "fieldName": "startAngle",
1239
1259
  "property": "startAngle"
1260
+ },
1261
+ {
1262
+ "name": "behavior",
1263
+ "description": "Interaction mode for opening satellites (default: click)",
1264
+ "type": "\"click\"|\"hover\"",
1265
+ "default": "click",
1266
+ "fieldName": "behavior",
1267
+ "property": "behavior"
1268
+ },
1269
+ {
1270
+ "name": "mode",
1271
+ "description": "Layout mode for FAB positioning (default: fixed)",
1272
+ "type": "\"fixed\"|\"inline\"",
1273
+ "default": "fixed",
1274
+ "fieldName": "mode",
1275
+ "property": "mode"
1276
+ },
1277
+ {
1278
+ "name": "fab-class",
1279
+ "description": "Space-separated class list forwarded to the internal button.\r\nUse this instead of host classes for btn-* and icon-only.",
1280
+ "type": "string",
1281
+ "default": null,
1282
+ "fieldName": "fabClass",
1283
+ "property": "fabClass"
1240
1284
  }
1241
1285
  ],
1242
1286
  "properties": [
1287
+ {
1288
+ "name": "behavior",
1289
+ "attribute": "behavior",
1290
+ "description": "Interaction mode for satellite menu.\r\n- click: toggles satellites when main FAB is clicked\r\n- hover: opens on hover/focus and closes when pointer leaves safe area",
1291
+ "type": "'click'|'hover'",
1292
+ "default": "click",
1293
+ "reflects": false,
1294
+ "privacy": "public"
1295
+ },
1296
+ {
1297
+ "name": "fabClass",
1298
+ "attribute": "fab-class",
1299
+ "description": "Space-separated class list forwarded to the internal button.\r\nUse this instead of host classes for btn-* and icon-only.",
1300
+ "type": "string",
1301
+ "default": null,
1302
+ "reflects": false,
1303
+ "privacy": "public"
1304
+ },
1305
+ {
1306
+ "name": "mode",
1307
+ "attribute": "mode",
1308
+ "description": "Layout mode for host positioning.\r\n- fixed: FAB is anchored to viewport bottom-right\r\n- inline: FAB participates in normal document flow",
1309
+ "type": "'fixed'|'inline'",
1310
+ "default": "fixed",
1311
+ "reflects": false,
1312
+ "privacy": "public"
1313
+ },
1243
1314
  {
1244
1315
  "name": "open",
1245
1316
  "attribute": "open",
@@ -1262,7 +1333,7 @@
1262
1333
  "name": "satellites",
1263
1334
  "attribute": null,
1264
1335
  "description": "Array of satellite button configurations",
1265
- "type": "Array<{key: string, icon?: string, label?: string, action?: string}>",
1336
+ "type": "Array<{key: string, icon?: string, iconColor?: string, bgColor?: string, iconSize?: string, label?: string, action?: string}>",
1266
1337
  "default": null,
1267
1338
  "reflects": false,
1268
1339
  "privacy": "public"
@@ -1279,7 +1350,7 @@
1279
1350
  {
1280
1351
  "name": "startAngle",
1281
1352
  "attribute": "start-angle",
1282
- "description": "Starting angle in degrees (0=right, 90=down, 180=left, 270=up)\r\nIf not specified, the angle is auto-detected based on the FAB's corner position:\r\n- Bottom-right: 180° (fly left/up)\r\n- Bottom-left: 315° (fly right/up)\r\n- Top-right: 225° (fly left/down)\r\n- Top-left: 45° (fly right/down)",
1353
+ "description": "Starting angle in degrees (0=right, 90=down, 180=left, 270=up)\r\nIf not specified, the angle is auto-detected based on the FAB's corner position:\r\n- Bottom-right: 180-� (fly left/up)\r\n- Bottom-left: 315-� (fly right/up)\r\n- Top-right: 225-� (fly left/down)\r\n- Top-left: 45-� (fly right/down)",
1283
1354
  "type": "number",
1284
1355
  "default": "180 (or auto-detected)",
1285
1356
  "reflects": false,
@@ -4059,6 +4130,12 @@
4059
4130
  "description": null,
4060
4131
  "optional": false
4061
4132
  },
4133
+ {
4134
+ "name": "title",
4135
+ "type": "string | null | undefined",
4136
+ "description": null,
4137
+ "optional": false
4138
+ },
4062
4139
  {
4063
4140
  "name": "closable",
4064
4141
  "type": "boolean",
@@ -4119,12 +4196,12 @@
4119
4196
  },
4120
4197
  {
4121
4198
  "name": "getToastElement",
4122
- "description": "Get toast element by ID.",
4199
+ "description": "Get toast element by ID.\n\nGet toast element by ID.",
4123
4200
  "parameters": [
4124
4201
  {
4125
4202
  "name": "toastId",
4126
4203
  "type": "string",
4127
- "description": null,
4204
+ "description": "Toast ID",
4128
4205
  "optional": false
4129
4206
  }
4130
4207
  ],
@@ -8576,47 +8653,52 @@
8576
8653
  "packages\\pds-storybook\\stories\\foundations\\ZIndex.stories.js"
8577
8654
  ]
8578
8655
  },
8579
- "getting-started": {
8580
- "slug": "getting-started",
8581
- "storyTitle": "About PDS/Getting Started",
8582
- "category": "About PDS",
8583
- "name": "Getting Started",
8584
- "description": "Complete beginner guide: installation, philosophy, configuration, enhancements, components, and console API",
8656
+ "general": {
8657
+ "slug": "general",
8658
+ "storyTitle": "PDS/General",
8659
+ "category": "PDS",
8660
+ "name": "General",
8661
+ "description": "Learn about Pure Design System and its revolutionary approach to design systems",
8585
8662
  "tags": [
8663
+ "adoptedt stylesheets",
8586
8664
  "cdn",
8587
8665
  "cli",
8588
8666
  "dark mode",
8667
+ "design system",
8589
8668
  "getting started",
8590
8669
  "guide",
8591
8670
  "introduction",
8592
8671
  "light mode",
8593
8672
  "npm",
8594
8673
  "overview",
8595
- "themes"
8674
+ "philosophy",
8675
+ "progressive enhancements",
8676
+ "themes",
8677
+ "web components",
8678
+ "what is pds"
8596
8679
  ],
8597
8680
  "pdsParameters": {
8598
8681
  "tags": [
8599
- "getting started",
8682
+ "what is pds",
8600
8683
  "introduction",
8601
- "cli",
8602
- "npm",
8603
- "cdn",
8604
8684
  "overview",
8605
- "guide",
8606
- "themes",
8607
- "dark mode",
8608
- "light mode"
8685
+ "design system",
8686
+ "philosophy",
8687
+ "progressive enhancements",
8688
+ "web components",
8689
+ "adoptedt stylesheets"
8609
8690
  ]
8610
8691
  },
8611
8692
  "stories": [],
8612
8693
  "files": [
8613
- "packages\\pds-storybook\\stories\\GettingStarted.stories.js"
8694
+ "packages\\pds-storybook\\stories\\GettingStarted.stories.js",
8695
+ "packages\\pds-storybook\\stories\\WhatIsPDS.stories.js"
8614
8696
  ]
8615
8697
  },
8616
8698
  "border-effects": {
8617
8699
  "slug": "border-effects",
8618
- "storyTitle": "Patterns/Border Effects",
8619
- "category": "Patterns",
8700
+ "storyTitle": "Primitives & Patterns/Border Effects",
8701
+ "category": "Primitives & Patterns",
8620
8702
  "name": "Border Effects",
8621
8703
  "description": "Special border effects including gradients and glows",
8622
8704
  "tags": [
@@ -8646,8 +8728,8 @@
8646
8728
  },
8647
8729
  "interactive-states": {
8648
8730
  "slug": "interactive-states",
8649
- "storyTitle": "Patterns/Interactive States",
8650
- "category": "Patterns",
8731
+ "storyTitle": "Primitives & Patterns/Interactive States",
8732
+ "category": "Primitives & Patterns",
8651
8733
  "name": "Interactive States",
8652
8734
  "description": "Interactive states including focus rings, hover effects, active states, disabled states, and working/loading states. All animations respect user preferences and accessibility settings.",
8653
8735
  "tags": [
@@ -8683,8 +8765,8 @@
8683
8765
  },
8684
8766
  "utilities": {
8685
8767
  "slug": "utilities",
8686
- "storyTitle": "Patterns/Utilities",
8687
- "category": "Patterns",
8768
+ "storyTitle": "Primitives & Patterns/Utilities",
8769
+ "category": "Primitives & Patterns",
8688
8770
  "name": "Utilities",
8689
8771
  "description": "Utility classes for spacing, sizing, and common patterns",
8690
8772
  "tags": [
@@ -8708,8 +8790,8 @@
8708
8790
  },
8709
8791
  "articles": {
8710
8792
  "slug": "articles",
8711
- "storyTitle": "Primitives/Articles",
8712
- "category": "Primitives",
8793
+ "storyTitle": "Primitives & Patterns/Articles",
8794
+ "category": "Primitives & Patterns",
8713
8795
  "name": "Articles",
8714
8796
  "description": "Long-form content layout pattern using semantic article markup and PDS primitives.",
8715
8797
  "tags": [
@@ -8735,8 +8817,8 @@
8735
8817
  },
8736
8818
  "badges-pills": {
8737
8819
  "slug": "badges-pills",
8738
- "storyTitle": "Primitives/Badges & Pills",
8739
- "category": "Primitives",
8820
+ "storyTitle": "Primitives & Patterns/Badges & Pills",
8821
+ "category": "Primitives & Patterns",
8740
8822
  "name": "Badges & Pills",
8741
8823
  "description": "Badges and pills for labels, tags, status indicators, and categorization",
8742
8824
  "tags": [
@@ -8765,7 +8847,7 @@
8765
8847
  {
8766
8848
  "exportName": "AllVariations",
8767
8849
  "name": "AllVariations",
8768
- "id": "primitives-badges-pills--all-variations",
8850
+ "id": "primitives-patterns-badges-pills--all-variations",
8769
8851
  "tags": [],
8770
8852
  "description": null,
8771
8853
  "source": "packages\\pds-storybook\\stories\\primitives\\Badges.stories.js"
@@ -8773,7 +8855,7 @@
8773
8855
  {
8774
8856
  "exportName": "BadgeSizes",
8775
8857
  "name": "BadgeSizes",
8776
- "id": "primitives-badges-pills--badge-sizes",
8858
+ "id": "primitives-patterns-badges-pills--badge-sizes",
8777
8859
  "tags": [],
8778
8860
  "description": null,
8779
8861
  "source": "packages\\pds-storybook\\stories\\primitives\\Badges.stories.js"
@@ -8781,7 +8863,7 @@
8781
8863
  {
8782
8864
  "exportName": "DefaultBadges",
8783
8865
  "name": "DefaultBadges",
8784
- "id": "primitives-badges-pills--default-badges",
8866
+ "id": "primitives-patterns-badges-pills--default-badges",
8785
8867
  "tags": [],
8786
8868
  "description": null,
8787
8869
  "source": "packages\\pds-storybook\\stories\\primitives\\Badges.stories.js"
@@ -8789,7 +8871,7 @@
8789
8871
  {
8790
8872
  "exportName": "OutlinedBadges",
8791
8873
  "name": "OutlinedBadges",
8792
- "id": "primitives-badges-pills--outlined-badges",
8874
+ "id": "primitives-patterns-badges-pills--outlined-badges",
8793
8875
  "tags": [],
8794
8876
  "description": null,
8795
8877
  "source": "packages\\pds-storybook\\stories\\primitives\\Badges.stories.js"
@@ -8797,7 +8879,7 @@
8797
8879
  {
8798
8880
  "exportName": "Pills",
8799
8881
  "name": "Pills",
8800
- "id": "primitives-badges-pills--pills",
8882
+ "id": "primitives-patterns-badges-pills--pills",
8801
8883
  "tags": [],
8802
8884
  "description": null,
8803
8885
  "source": "packages\\pds-storybook\\stories\\primitives\\Badges.stories.js"
@@ -8809,8 +8891,8 @@
8809
8891
  },
8810
8892
  "buttons": {
8811
8893
  "slug": "buttons",
8812
- "storyTitle": "Primitives/Buttons",
8813
- "category": "Primitives",
8894
+ "storyTitle": "Primitives & Patterns/Buttons",
8895
+ "category": "Primitives & Patterns",
8814
8896
  "name": "Buttons",
8815
8897
  "description": "Button primitives with variants, sizes, and icon support. All buttons automatically adapt to your theme with proper focus states and accessibility.",
8816
8898
  "tags": [
@@ -8830,8 +8912,8 @@
8830
8912
  },
8831
8913
  "callouts": {
8832
8914
  "slug": "callouts",
8833
- "storyTitle": "Primitives/Callouts",
8834
- "category": "Primitives",
8915
+ "storyTitle": "Primitives & Patterns/Callouts",
8916
+ "category": "Primitives & Patterns",
8835
8917
  "name": "Callouts",
8836
8918
  "description": "Callout components for feedback messages, notifications, and status indicators. Supports icons, titles, dismissible variants, and semantic messages.",
8837
8919
  "tags": [
@@ -8865,8 +8947,8 @@
8865
8947
  },
8866
8948
  "cards": {
8867
8949
  "slug": "cards",
8868
- "storyTitle": "Primitives/Cards",
8869
- "category": "Primitives",
8950
+ "storyTitle": "Primitives & Patterns/Cards",
8951
+ "category": "Primitives & Patterns",
8870
8952
  "name": "Cards",
8871
8953
  "description": "Versatile content containers with multiple surface variants. Cards automatically adapt to your theme and support nesting for complex layouts.",
8872
8954
  "tags": [
@@ -8892,8 +8974,8 @@
8892
8974
  },
8893
8975
  "form-elements": {
8894
8976
  "slug": "form-elements",
8895
- "storyTitle": "Primitives/Form Elements",
8896
- "category": "Primitives",
8977
+ "storyTitle": "Primitives & Patterns/Form Elements",
8978
+ "category": "Primitives & Patterns",
8897
8979
  "name": "Form Elements",
8898
8980
  "description": "Accessible radio groups and checkbox groups with proper ARIA attributes and semantic HTML.\r\n\r\n## Unified Styling\r\n\r\nRadio groups (\\",
8899
8981
  "tags": [
@@ -8920,8 +9002,8 @@
8920
9002
  },
8921
9003
  "media-elements": {
8922
9004
  "slug": "media-elements",
8923
- "storyTitle": "Primitives/Media Elements",
8924
- "category": "Primitives",
9005
+ "storyTitle": "Primitives & Patterns/Media Elements",
9006
+ "category": "Primitives & Patterns",
8925
9007
  "name": "Media Elements",
8926
9008
  "description": "Responsive images, figures with captions, image galleries, and video elements with proper semantic HTML.",
8927
9009
  "tags": [
@@ -8953,8 +9035,8 @@
8953
9035
  },
8954
9036
  "tables": {
8955
9037
  "slug": "tables",
8956
- "storyTitle": "Primitives/Tables",
8957
- "category": "Primitives",
9038
+ "storyTitle": "Primitives & Patterns/Tables",
9039
+ "category": "Primitives & Patterns",
8958
9040
  "name": "Tables",
8959
9041
  "description": "Responsive tables with various styling options including striped, bordered, and compact variants.",
8960
9042
  "tags": [
@@ -8986,8 +9068,8 @@
8986
9068
  },
8987
9069
  "backdrop": {
8988
9070
  "slug": "backdrop",
8989
- "storyTitle": "Utilities/Backdrop",
8990
- "category": "Utilities",
9071
+ "storyTitle": "Primitives & Patterns/Backdrop",
9072
+ "category": "Primitives & Patterns",
8991
9073
  "name": "Backdrop",
8992
9074
  "description": "Backdrop utilities for modal overlays, drawers, and lightboxes. Provides consistent blur and dimming effects with light/dark variants.",
8993
9075
  "tags": [
@@ -9066,11 +9148,52 @@
9066
9148
  "packages\\pds-storybook\\stories\\utils\\PdsAsk.stories.js"
9067
9149
  ]
9068
9150
  },
9069
- "pds-object": {
9070
- "slug": "pds-object",
9071
- "storyTitle": "PDS/PDS Object",
9151
+ "dom-building": {
9152
+ "slug": "dom-building",
9153
+ "storyTitle": "PDS/DOM Building",
9072
9154
  "category": "PDS",
9073
- "name": "PDS Object",
9155
+ "name": "DOM Building",
9156
+ "description": "Experimental API. Build DOM with the html template marker using vanilla JavaScript, including Lit-style bindings without a Lit dependency.",
9157
+ "tags": [
9158
+ "api",
9159
+ "autodocs",
9160
+ "pds-ask",
9161
+ "pds-compiled",
9162
+ "pds-enums",
9163
+ "pds-html",
9164
+ "pds-object",
9165
+ "pds-parse",
9166
+ "pds-start",
9167
+ "pds-toast",
9168
+ "reference",
9169
+ "runtime",
9170
+ "utilities"
9171
+ ],
9172
+ "pdsParameters": {
9173
+ "tags": [
9174
+ "runtime",
9175
+ "api",
9176
+ "reference",
9177
+ "pds-object",
9178
+ "pds-start",
9179
+ "pds-compiled",
9180
+ "pds-enums",
9181
+ "pds-ask",
9182
+ "pds-toast",
9183
+ "pds-parse",
9184
+ "pds-html"
9185
+ ]
9186
+ },
9187
+ "stories": [],
9188
+ "files": [
9189
+ "packages\\pds-storybook\\stories\\utils\\PdsHtml.stories.js"
9190
+ ]
9191
+ },
9192
+ "pds-api": {
9193
+ "slug": "pds-api",
9194
+ "storyTitle": "PDS/PDS api",
9195
+ "category": "PDS",
9196
+ "name": "PDS api",
9074
9197
  "description": null,
9075
9198
  "tags": [
9076
9199
  "api",
@@ -9152,37 +9275,22 @@
9152
9275
  "packages\\pds-storybook\\stories\\utils\\PdsToast.stories.js"
9153
9276
  ]
9154
9277
  },
9155
- "what-is-pds": {
9156
- "slug": "what-is-pds",
9157
- "storyTitle": "About PDS/What Is PDS",
9158
- "category": "About PDS",
9159
- "name": "What Is PDS",
9160
- "description": "Learn about Pure Design System and its revolutionary approach to design systems",
9278
+ "state-management": {
9279
+ "slug": "state-management",
9280
+ "storyTitle": "PDS/State Management",
9281
+ "category": "PDS",
9282
+ "name": "State Management",
9283
+ "description": "Experimental API. Reactive state helpers for manual render loops, automatic re-rendering, partial binding updates, and state change events.",
9161
9284
  "tags": [
9162
- "adoptedt stylesheets",
9163
- "design system",
9164
- "introduction",
9165
- "overview",
9166
- "philosophy",
9167
- "progressive enhancements",
9168
- "web components",
9169
- "what is pds"
9285
+ "experimental",
9286
+ "reactive",
9287
+ "state",
9288
+ "utilities"
9170
9289
  ],
9171
- "pdsParameters": {
9172
- "tags": [
9173
- "what is pds",
9174
- "introduction",
9175
- "overview",
9176
- "design system",
9177
- "philosophy",
9178
- "progressive enhancements",
9179
- "web components",
9180
- "adoptedt stylesheets"
9181
- ]
9182
- },
9290
+ "pdsParameters": {},
9183
9291
  "stories": [],
9184
9292
  "files": [
9185
- "packages\\pds-storybook\\stories\\WhatIsPDS.stories.js"
9293
+ "packages\\pds-storybook\\stories\\utils\\State.stories.js"
9186
9294
  ]
9187
9295
  }
9188
9296
  }