spoko-design-system 1.26.0 → 1.26.1
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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [1.26.1](https://github.com/polo-blue/sds/compare/v1.26.0...v1.26.1) (2026-02-22)
|
|
2
|
+
|
|
3
|
+
### Bug Fixes
|
|
4
|
+
|
|
5
|
+
* **CategoryDetails:** prevent sidebar flash during view transitions ([597dceb](https://github.com/polo-blue/sds/commit/597dceb0b1e0dfc8b404d63f63bb75b4a236d191))
|
|
6
|
+
|
|
1
7
|
## [1.26.0](https://github.com/polo-blue/sds/compare/v1.25.1...v1.26.0) (2026-02-04)
|
|
2
8
|
|
|
3
9
|
### Features
|
package/package.json
CHANGED
|
@@ -101,18 +101,20 @@ const subcategoryPath = subcategory?.path || `/${category.slug}/${subcategory?.s
|
|
|
101
101
|
</div>
|
|
102
102
|
|
|
103
103
|
<script>
|
|
104
|
-
function
|
|
105
|
-
const sidebar =
|
|
104
|
+
function applySidebarState(doc: Document) {
|
|
105
|
+
const sidebar = doc.getElementById('sidebar');
|
|
106
106
|
const savedState = localStorage.getItem('sidebarState') || 'open';
|
|
107
|
+
const isCollapsed = savedState === 'closed';
|
|
107
108
|
|
|
108
109
|
if (sidebar) {
|
|
109
|
-
sidebar.classList.toggle('collapsed',
|
|
110
|
-
updateTogglers(savedState === 'closed');
|
|
110
|
+
sidebar.classList.toggle('collapsed', isCollapsed);
|
|
111
111
|
}
|
|
112
|
+
|
|
113
|
+
updateTogglers(doc, isCollapsed);
|
|
112
114
|
}
|
|
113
115
|
|
|
114
|
-
function updateTogglers(isCollapsed) {
|
|
115
|
-
|
|
116
|
+
function updateTogglers(doc: Document, isCollapsed: boolean) {
|
|
117
|
+
doc.querySelectorAll('.category-sidebar-toggler').forEach(toggler => {
|
|
116
118
|
const expandedIcon = toggler.querySelector('.expanded-icon');
|
|
117
119
|
const collapsedIcon = toggler.querySelector('.collapsed-icon');
|
|
118
120
|
|
|
@@ -121,8 +123,7 @@ const subcategoryPath = subcategory?.path || `/${category.slug}/${subcategory?.s
|
|
|
121
123
|
collapsedIcon.classList.toggle('hidden', !isCollapsed);
|
|
122
124
|
}
|
|
123
125
|
|
|
124
|
-
|
|
125
|
-
toggler.setAttribute('aria-expanded', !isCollapsed);
|
|
126
|
+
toggler.setAttribute('aria-expanded', String(!isCollapsed));
|
|
126
127
|
});
|
|
127
128
|
}
|
|
128
129
|
|
|
@@ -138,7 +139,7 @@ const subcategoryPath = subcategory?.path || `/${category.slug}/${subcategory?.s
|
|
|
138
139
|
const isCollapsed = sidebar.classList.toggle('collapsed');
|
|
139
140
|
document.body.classList.remove('overflow-hidden');
|
|
140
141
|
localStorage.setItem('sidebarState', isCollapsed ? 'closed' : 'open');
|
|
141
|
-
updateTogglers(isCollapsed);
|
|
142
|
+
updateTogglers(document, isCollapsed);
|
|
142
143
|
}
|
|
143
144
|
}
|
|
144
145
|
}
|
|
@@ -150,27 +151,15 @@ const subcategoryPath = subcategory?.path || `/${category.slug}/${subcategory?.s
|
|
|
150
151
|
});
|
|
151
152
|
}
|
|
152
153
|
|
|
153
|
-
// Initialize on page load
|
|
154
|
+
// Initialize on page load (initial + after view transitions)
|
|
154
155
|
document.addEventListener('astro:page-load', () => {
|
|
155
|
-
|
|
156
|
+
applySidebarState(document);
|
|
156
157
|
setupTogglers();
|
|
157
158
|
});
|
|
158
159
|
|
|
159
|
-
//
|
|
160
|
-
document.addEventListener('astro:before-swap',
|
|
161
|
-
|
|
162
|
-
if (sidebarState) {
|
|
163
|
-
sessionStorage.setItem('tempSidebarState', sidebarState);
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
|
|
167
|
-
document.addEventListener('astro:after-swap', () => {
|
|
168
|
-
const tempState = sessionStorage.getItem('tempSidebarState');
|
|
169
|
-
if (tempState) {
|
|
170
|
-
localStorage.setItem('sidebarState', tempState);
|
|
171
|
-
sessionStorage.removeItem('tempSidebarState');
|
|
172
|
-
initializeSidebar();
|
|
173
|
-
}
|
|
160
|
+
// Apply sidebar state to incoming DOM BEFORE swap to prevent flash
|
|
161
|
+
document.addEventListener('astro:before-swap', e => {
|
|
162
|
+
applySidebarState(e.newDocument);
|
|
174
163
|
});
|
|
175
164
|
</script>
|
|
176
165
|
|