@pure-ds/storybook 0.7.53 → 0.7.58
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.
- package/.storybook/preview.js +42 -64
- package/dist/pds-reference.json +216 -123
- package/package.json +2 -2
- package/public/assets/js/app.js +6 -5
- package/public/assets/js/pds-ask.js +9 -9
- package/public/assets/js/pds-autocomplete.js +7 -7
- package/public/assets/js/pds-manager.js +145 -134
- package/public/assets/js/pds.js +3 -2
- package/public/assets/pds/components/pds-calendar.js +103 -7
- package/public/assets/pds/components/pds-fab.js +427 -142
- package/public/assets/pds/components/pds-toaster.js +22 -1
- package/public/assets/pds/core/pds-ask.js +9 -9
- package/public/assets/pds/core/pds-autocomplete.js +7 -7
- package/public/assets/pds/core/pds-manager.js +145 -134
- package/public/assets/pds/core.js +3 -2
- package/public/assets/pds/custom-elements.json +382 -28
- package/public/assets/pds/pds-css-complete.json +1 -1
- package/public/assets/pds/pds-runtime-config.json +81 -9
- package/public/assets/pds/styles/pds-components.css +175 -123
- package/public/assets/pds/styles/pds-components.css.js +350 -246
- package/public/assets/pds/styles/pds-primitives.css +39 -15
- package/public/assets/pds/styles/pds-primitives.css.js +78 -30
- package/public/assets/pds/styles/pds-styles.css +712 -273
- package/public/assets/pds/styles/pds-styles.css.js +1424 -546
- package/public/assets/pds/styles/pds-tokens.css +482 -119
- package/public/assets/pds/styles/pds-tokens.css.js +964 -238
- package/public/assets/pds/styles/pds-utilities.css +16 -16
- package/public/assets/pds/styles/pds-utilities.css.js +32 -32
- package/public/assets/pds/vscode-custom-data.json +29 -1
- package/src/js/common/common.js +94 -4
- package/src/js/common/toast.js +14 -5
- package/src/js/pds-autocomplete.js +804 -56
- package/src/js/pds-core/pds-enhancers-meta.js +135 -135
- package/src/js/pds-core/pds-generator.js +14 -4
- package/src/js/pds-core/pds-start-helpers.js +17 -2
- package/src/js/pds-reactive.js +268 -0
- package/src/js/pds.d.ts +74 -6
- package/src/js/pds.js +13 -0
- package/stories/GettingStarted.stories.js +1 -1
- package/stories/WhatIsPDS.stories.js +1 -1
- package/stories/components/PdsCalendar.stories.js +25 -20
- package/stories/components/PdsFab.stories.js +132 -0
- package/stories/components/PdsOmnibox.stories.js +36 -0
- package/stories/components/PdsRichtext.stories.js +123 -0
- package/stories/components/PdsToaster.stories.js +1 -1
- package/stories/components/omnibox-real-life-async-settings.js +274 -0
- package/stories/patterns/BorderEffects.stories.js +1 -1
- package/stories/patterns/InteractiveStates.stories.js +1 -1
- package/stories/patterns/Utilities.stories.js +1 -1
- package/stories/primitives/ArticleLayout.stories.js +1 -1
- package/stories/primitives/Badges.stories.js +1 -1
- package/stories/primitives/Buttons.stories.js +1 -1
- package/stories/primitives/Callouts.stories.js +1 -1
- package/stories/primitives/Cards.stories.js +1 -1
- package/stories/primitives/FormElements.stories.js +1 -1
- package/stories/primitives/HtmlFormElements.stories.js +1 -1
- package/stories/primitives/HtmlFormGroups.stories.js +1 -1
- package/stories/primitives/Media.stories.js +1 -1
- package/stories/primitives/Tables.stories.js +1 -1
- package/stories/reference/pds-object-docs.js +1 -1
- package/stories/utilities/Backdrop.stories.js +1 -1
- package/stories/utils/PdsAsk.stories.js +1 -1
- package/stories/utils/PdsHtml.stories.js +285 -0
- package/stories/utils/PdsObjectApi.stories.js +1 -1
- package/stories/utils/PdsParse.stories.js +1 -1
- package/stories/utils/PdsToast.stories.js +99 -1
- package/stories/utils/State.stories.js +426 -0
- package/stories/utils/pds-object-meta.js +2 -1
package/.storybook/preview.js
CHANGED
|
@@ -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
|
|
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
|
|
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(
|
|
588
|
-
|
|
589
|
-
console.log('🔄 DOM changed - re-adopting primitives');
|
|
593
|
+
clearTimeout(pdsStoryAdoptTimeout);
|
|
594
|
+
pdsStoryAdoptTimeout = setTimeout(() => {
|
|
590
595
|
adoptAllShadowStyles();
|
|
591
|
-
},
|
|
596
|
+
}, 120);
|
|
592
597
|
};
|
|
593
598
|
|
|
594
|
-
|
|
595
|
-
|
|
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
|
-
'
|
|
1720
|
-
['
|
|
1721
|
-
'
|
|
1722
|
-
['
|
|
1723
|
-
'
|
|
1724
|
-
['
|
|
1725
|
-
'
|
|
1726
|
-
['
|
|
1727
|
-
'
|
|
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
|
-
['
|
|
1741
|
-
'Primitives',
|
|
1742
|
-
['
|
|
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
|
-
['
|
|
1727
|
+
['*'],
|
|
1751
1728
|
'Components',
|
|
1752
1729
|
['*'],
|
|
1753
1730
|
'Reference',
|
|
1731
|
+
['*'],
|
|
1754
1732
|
'*'
|
|
1755
1733
|
]
|
|
1756
1734
|
}
|