@tekyzinc/gsd-t 2.73.22 → 2.73.23
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
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [2.73.23] - 2026-04-09
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **Container props auto-redirect to parent** — setting `gap`, `borderRadius`, or `overflow` on a bar segment (child) now auto-targets the parent flex/grid container. Previously only worked when the container itself was selected.
|
|
9
|
+
|
|
5
10
|
## [2.73.22] - 2026-04-09
|
|
6
11
|
|
|
7
12
|
### Added
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.73.
|
|
3
|
+
"version": "2.73.23",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 56 slash commands with headless CI/CD mode, graph-powered code analysis, real-time agent dashboard, execution intelligence, task telemetry, doc-ripple enforcement, backlog management, impact analysis, test sync, milestone archival, and PRD generation",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -712,8 +712,22 @@
|
|
|
712
712
|
const propagate = msg.propagate !== false; // default true
|
|
713
713
|
let propagatedCount = 0;
|
|
714
714
|
|
|
715
|
-
//
|
|
716
|
-
|
|
715
|
+
// Container-only props: if applied to a non-container child, redirect to parent
|
|
716
|
+
const containerOnlyProps = new Set(["gap", "row-gap", "column-gap", "border-radius"]);
|
|
717
|
+
let targetEl = lockedEl;
|
|
718
|
+
if (containerOnlyProps.has(cssName)) {
|
|
719
|
+
const elStyle = getComputedStyle(lockedEl);
|
|
720
|
+
const isContainer = elStyle.display === "flex" || elStyle.display === "inline-flex" || elStyle.display === "grid";
|
|
721
|
+
if (!isContainer && lockedEl.parentElement) {
|
|
722
|
+
const parentStyle = getComputedStyle(lockedEl.parentElement);
|
|
723
|
+
if (parentStyle.display === "flex" || parentStyle.display === "inline-flex" || parentStyle.display === "grid") {
|
|
724
|
+
targetEl = lockedEl.parentElement;
|
|
725
|
+
}
|
|
726
|
+
}
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
// Apply to target element (may be parent for container-only props)
|
|
730
|
+
targetEl.style.setProperty(cssName, msg.value, "important");
|
|
717
731
|
|
|
718
732
|
// Typography props cascade to descendants
|
|
719
733
|
const inheritProps = new Set(["font-size", "font-weight", "font-family", "line-height",
|
|
@@ -792,22 +806,24 @@
|
|
|
792
806
|
} else if (tag === "div" && parent) {
|
|
793
807
|
const elStyle = getComputedStyle(lockedEl);
|
|
794
808
|
const parentStyle = getComputedStyle(parent);
|
|
795
|
-
const layoutProps = new Set(["gap", "row-gap", "column-gap"]);
|
|
796
809
|
|
|
797
810
|
// Props that propagate across sibling containers (all bar columns)
|
|
798
811
|
const containerProps = new Set(["gap", "row-gap", "column-gap", "border-radius", "overflow"]);
|
|
799
812
|
|
|
800
813
|
if (containerProps.has(cssName)) {
|
|
801
|
-
|
|
802
|
-
|
|
814
|
+
// Use targetEl (may be parent if redirected) for container propagation
|
|
815
|
+
const containerEl = targetEl;
|
|
816
|
+
const containerParent = containerEl.parentElement;
|
|
817
|
+
const containerDisplay = getComputedStyle(containerEl).display;
|
|
818
|
+
if (containerParent && (containerDisplay === "flex" || containerDisplay === "inline-flex" || containerDisplay === "grid")) {
|
|
803
819
|
// Auto-set overflow:hidden when border-radius is applied to a container
|
|
804
820
|
if (cssName === "border-radius" && msg.value && msg.value !== "0px" && msg.value !== "0") {
|
|
805
|
-
|
|
821
|
+
containerEl.style.setProperty("overflow", "hidden", "important");
|
|
806
822
|
}
|
|
807
|
-
for (const sib of
|
|
808
|
-
if (sib ===
|
|
823
|
+
for (const sib of containerParent.children) {
|
|
824
|
+
if (sib === containerEl || sib.tagName !== "DIV") continue;
|
|
809
825
|
const sibStyle = getComputedStyle(sib);
|
|
810
|
-
if (sibStyle.display ===
|
|
826
|
+
if (sibStyle.display === containerDisplay) {
|
|
811
827
|
sib.style.setProperty(cssName, msg.value, "important");
|
|
812
828
|
if (cssName === "border-radius" && msg.value && msg.value !== "0px" && msg.value !== "0") {
|
|
813
829
|
sib.style.setProperty("overflow", "hidden", "important");
|