@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.22",
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
- // Apply to primary element
716
- lockedEl.style.setProperty(cssName, msg.value, "important");
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
- const elDisplay = elStyle.display;
802
- if (elDisplay === "flex" || elDisplay === "inline-flex" || elDisplay === "grid") {
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
- lockedEl.style.setProperty("overflow", "hidden", "important");
821
+ containerEl.style.setProperty("overflow", "hidden", "important");
806
822
  }
807
- for (const sib of parent.children) {
808
- if (sib === lockedEl || sib.tagName !== "DIV") continue;
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 === elDisplay) {
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");