Skip to content

Commit caddcda

Browse files
committed
Rework Colors picker layout tags and duplicate pin handling - PR_26159_035-colors-picker-layout-tags
1 parent c6a71aa commit caddcda

4 files changed

Lines changed: 370 additions & 151 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# PR_26159_035 Colors Picker Layout Tags Report
2+
3+
## Summary
4+
5+
Playwright impacted: Yes.
6+
7+
This PR moves Picker Swatches controls into the left column under Project Workspace, removes the Project Palette Tags accordion, moves tag editing into the right-column Tags accordion, and adds the duplicate-by-column picker rule. No CSS was added.
8+
9+
## Requirement Checklist
10+
11+
| Requirement | Status | Evidence |
12+
| --- | --- | --- |
13+
| Read `PROJECT_INSTRUCTIONS.md` first | PASS | Read before editing. |
14+
| Use PR_26159_034 as base context | PASS | Work started from current clean PR_034 branch state. |
15+
| Remove Project Palette Tags accordion/content | PASS | Removed from `toolbox/colors/index.html`; Playwright asserts no visible `Project Palette Tags` at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:293` and `:892`. |
16+
| Move Tag input/content and Clear Checked into right-column Tags under Clear Filters | PASS | Right-column Tags contains Clear Filters, tag editor, and Clear Checked at `toolbox/colors/index.html:279`, `:281`, `:315`; layout assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:297`. |
17+
| Move Picker Swatches accordion to left column below Project Workspace | PASS | New left accordion at `toolbox/colors/index.html:40`; order assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:394`. |
18+
| Theme/Type/Variant label and dropdown are same-row pairs | PASS | Table rows in `toolbox/colors/index.html:47`, `:51`, `:55`; Playwright layout assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:437`. |
19+
| Colors and Steps grouped, with `Colors x Steps` on one line | PASS | Grouped controls and summary at `toolbox/colors/index.html:59` and `:93`; runtime summary update at `toolbox/colors/colors.js:1091`; Playwright assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:462`. |
20+
| Contrast, Saturation, Hue Shift are stacked label/slider controls | PASS | Controls at `toolbox/colors/index.html:100`, `:103`, `:106`; Playwright stacked layout assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:463`. |
21+
| Picker Preview is not highlighted | PASS | `accordion-fill-panel` removed from preview accordion at `toolbox/colors/index.html:196`; Playwright assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:406`. |
22+
| Preserve Project Swatches in center top | PASS | Center top Project Swatches accordion remains at `toolbox/colors/index.html:178`; Playwright center accordion assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:387`. |
23+
| Duplicate picker swatches detected by Hex within same column only | PASS | `duplicatePickerHexReasons` groups by `column:hex` at `toolbox/colors/colors.js:899`; Playwright duplicate-column test at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:639`. |
24+
| Bottom-most duplicate keeps pin/add marker | PASS | Bottom duplicate remains available and keeps marker in test at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:686`. |
25+
| Earlier duplicates keep true color, lose marker, and cannot add | PASS | Earlier duplicate reason and blocked add assertions at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:675`; visual color/cursor/opacity checks at `:678`. |
26+
| Unique Hex values keep pin/add marker and remain addable | PASS | Unique available swatch add assertion at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:702`. |
27+
| Do not compare duplicates across different columns | PASS | Duplicate key includes column in `toolbox/colors/colors.js:902`. |
28+
| Do not gray out duplicate swatches or show red not-allowed marker | PASS | Runtime keeps real color inputs; tests assert opacity `1` and cursor is not `not-allowed` at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:678`. |
29+
| Preserve Picker Preview grid and click behavior | PASS | Eight-column row preservation at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:602`; generated click/add/pin behavior at `:724`. |
30+
| Preserve ROYGBIV, Theme Collection, Palette Type, Variant options | PASS | Existing option coverage remains in `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:410` and ROYGBIV checks at `:530`. |
31+
| Preserve Add/Update/Clear without Symbol validation | PASS | Symbol-free payload test at `tests/playwright/tools/PaletteToolMockRepository.spec.mjs:230`; Add/Update/Clear flow test at `:276`; no active Colors source returns `Symbol: Enter a symbol for this swatch`. |
32+
| No inline script/style/event handlers | PASS | Static `rg --pcre2` check against `toolbox/colors/index.html` returned no matches. |
33+
| No console errors | PASS | `expectNoPageFailures` passed in all targeted Palette Tool Playwright tests. |
34+
35+
## Validation
36+
37+
| Lane | Result | Evidence |
38+
| --- | --- | --- |
39+
| Changed JS syntax | PASS | `node --check toolbox/colors/colors.js`; `node --check tests/playwright/tools/PaletteToolMockRepository.spec.mjs`. |
40+
| Static diff whitespace | PASS | `git diff --check`. |
41+
| Inline script/style/event audit | PASS | `rg --pcre2 -n "<style|style=|<script(?![^>]*\\bsrc=)|on(click|change|input|submit)=" toolbox/colors/index.html` returned no matches. |
42+
| Targeted Palette Tool Playwright | PASS | `npx playwright test tests/playwright/tools/PaletteToolMockRepository.spec.mjs` passed 8/8. |
43+
44+
## Skipped Lanes
45+
46+
| Lane | Reason |
47+
| --- | --- |
48+
| Full samples validation | Skipped by request: "Do not run full samples validation." This PR only touches the Colors tool page/runtime and its targeted Playwright coverage. |
49+
50+
## Notes
51+
52+
- The existing shared V8 coverage report was generated by the Playwright helper during validation, then restored because PR_035 did not request `playwright_v8_coverage_report.txt`.
53+
- SQLite experimental warnings and seed-only audit fallback diagnostics appeared in the Playwright process output; they are pre-existing test environment messages and did not fail the targeted lane.

0 commit comments

Comments
 (0)