@profpowell/vb-project-planning 0.2.1 → 0.2.3

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.
Files changed (66) hide show
  1. package/README.md +10 -5
  2. package/dist/vb-project-planning.css +69 -3
  3. package/dist/vb-project-planning.js +3191 -2544
  4. package/dist/vb-project-planning.min.css +1 -1
  5. package/dist/vb-project-planning.min.js +221 -197
  6. package/package.json +7 -4
  7. package/src/lib/board-surface.js +158 -0
  8. package/src/lib/bundle-registry.js +2 -75
  9. package/src/lib/dates.js +125 -0
  10. package/src/lib/escape.js +34 -0
  11. package/src/lib/hash.js +16 -0
  12. package/src/lib/portrait-url.js +3 -29
  13. package/src/lib/src-loader.js +78 -0
  14. package/src/lib/vb-view-transition.js +7 -1
  15. package/src/utils/copy-init.js +56 -17
  16. package/src/web-components/_ux-base.js +409 -24
  17. package/src/web-components/adr-wc/README.md +18 -16
  18. package/src/web-components/adr-wc/api.json +7 -5
  19. package/src/web-components/adr-wc/logic.js +50 -136
  20. package/src/web-components/burndown-chart/api.json +8 -6
  21. package/src/web-components/burndown-chart/logic.js +75 -39
  22. package/src/web-components/empathy-map/api.json +13 -13
  23. package/src/web-components/empathy-map/logic.js +161 -168
  24. package/src/web-components/empathy-map/static.html +3 -3
  25. package/src/web-components/empathy-map/styles.js +1 -0
  26. package/src/web-components/gantt-chart/README.md +12 -6
  27. package/src/web-components/gantt-chart/api.json +23 -7
  28. package/src/web-components/gantt-chart/logic.js +456 -431
  29. package/src/web-components/gantt-chart/styles.css +14 -1
  30. package/src/web-components/impact-effort/api.json +9 -7
  31. package/src/web-components/impact-effort/logic.js +238 -209
  32. package/src/web-components/impact-effort/static.html +12 -4
  33. package/src/web-components/iron-triangle/_capacity.js +0 -18
  34. package/src/web-components/kanban-board/api.json +8 -6
  35. package/src/web-components/kanban-board/logic.js +289 -333
  36. package/src/web-components/product-roadmap/api.json +14 -13
  37. package/src/web-components/product-roadmap/logic.js +393 -246
  38. package/src/web-components/product-roadmap/styles.css +40 -0
  39. package/src/web-components/quadrant-grid/api.json +9 -4
  40. package/src/web-components/quadrant-grid/logic.js +80 -12
  41. package/src/web-components/quadrant-grid/styles.css +7 -0
  42. package/src/web-components/quality-target/_quality-utils.js +2 -46
  43. package/src/web-components/review-surface/README.md +9 -5
  44. package/src/web-components/review-surface/api.json +10 -8
  45. package/src/web-components/review-surface/logic.js +349 -218
  46. package/src/web-components/risk-register/api.json +1 -6
  47. package/src/web-components/risk-register/logic.js +71 -24
  48. package/src/web-components/risk-register/styles.css +9 -1
  49. package/src/web-components/story-map/api.json +8 -6
  50. package/src/web-components/story-map/logic.js +280 -281
  51. package/src/web-components/story-map/static.html +15 -5
  52. package/src/web-components/traceability-matrix/api.json +10 -3
  53. package/src/web-components/traceability-matrix/logic.js +112 -63
  54. package/src/web-components/traceability-matrix/styles.css +22 -1
  55. package/src/web-components/user-journey/api.json +25 -24
  56. package/src/web-components/user-journey/logic.js +76 -127
  57. package/src/web-components/user-journey/static.html +2 -2
  58. package/src/web-components/user-persona/api.json +15 -14
  59. package/src/web-components/user-persona/logic.js +71 -117
  60. package/src/web-components/user-persona/styles.js +1 -0
  61. package/src/web-components/user-story/api.json +13 -11
  62. package/src/web-components/user-story/logic.js +164 -195
  63. package/src/web-components/user-story/styles.js +28 -1
  64. package/src/web-components/work-item/README.md +3 -3
  65. package/src/web-components/work-item/api.json +13 -11
  66. package/src/web-components/work-item/logic.js +58 -154
@@ -2,7 +2,7 @@
2
2
  "$schema": "../../../schemas/api.schema.json",
3
3
  "element": "product-roadmap",
4
4
  "type": "web-component",
5
- "description": "Interactive themes \u00d7 quarters product roadmap. Auto-discovers lane sections + initiative articles; editable mode wires drag-to-reschedule, drag-to-resize, and drop-on-lane.",
5
+ "description": "Interactive themes × quarters product roadmap. Auto-discovers lane sections + initiative articles; editable mode adds pointer and keyboard rescheduling, resizing, and lane moves.",
6
6
  "attributes": [
7
7
  {
8
8
  "name": "start",
@@ -27,14 +27,15 @@
27
27
  "quarter",
28
28
  "month"
29
29
  ],
30
- "description": "Time-axis granularity (default: quarter)"
30
+ "description": "Time-axis granularity (default: quarter)",
31
+ "default": "\"quarter\""
31
32
  },
32
33
  {
33
34
  "name": "editable",
34
35
  "kind": "host-api",
35
36
  "purpose": "config",
36
37
  "type": "boolean",
37
- "description": "Wire drag-to-reschedule, drag-to-resize, and lane drop"
38
+ "description": "Enable editing: drag a bar (or press ←/→) to reschedule, drag its right edge (or Shift+←/→) to resize, drag onto another lane (or Alt+↑/↓) to move it"
38
39
  },
39
40
  {
40
41
  "name": "today-marker",
@@ -46,12 +47,12 @@
46
47
  ],
47
48
  "structure": [
48
49
  {
49
- "element": "<section data-lane=\"\u2026\">",
50
+ "element": "<section data-lane=\"…\">",
50
51
  "description": "One per swimlane row"
51
52
  },
52
53
  {
53
- "element": "<article data-start=\"\u2026\" data-end=\"\u2026\">",
54
- "description": "One per initiative bar inside a lane (data-status sets the bar color)"
54
+ "element": "<article data-start=\"…\" data-end=\"…\">",
55
+ "description": "One per initiative bar inside a lane (data-status sets the bar colour and status label)"
55
56
  }
56
57
  ],
57
58
  "childAttributes": [
@@ -65,13 +66,13 @@
65
66
  "name": "data-start",
66
67
  "on": "article",
67
68
  "type": "string",
68
- "description": "Initiative start date (ISO 8601 or YYYY-Qn)"
69
+ "description": "Initiative start date (ISO 8601 or YYYY-Qn → first day of the quarter)"
69
70
  },
70
71
  {
71
72
  "name": "data-end",
72
73
  "on": "article",
73
74
  "type": "string",
74
- "description": "Initiative end date (ISO 8601 or YYYY-Qn)"
75
+ "description": "Initiative end date, inclusive (ISO 8601 or YYYY-Qn → last day of the quarter). Equal to data-start for a one-day initiative"
75
76
  },
76
77
  {
77
78
  "name": "data-status",
@@ -84,29 +85,29 @@
84
85
  "shipped",
85
86
  "blocked"
86
87
  ],
87
- "description": "Status enum; drives bar color"
88
+ "description": "Status enum; drives the bar colour and a visible status label (custom values are shown as text with the default colour)"
88
89
  }
89
90
  ],
90
91
  "events": [
91
92
  {
92
93
  "name": "product-roadmap:select",
93
94
  "detail": "{ initiative, lane, start, end, status }",
94
- "description": "Fired on bar click"
95
+ "description": "Fired when a bar is clicked or activated with Enter/Space. start/end are inclusive YYYY-MM-DD"
95
96
  },
96
97
  {
97
98
  "name": "product-roadmap:reschedule",
98
99
  "detail": "{ initiative, lane, start, end }",
99
- "description": "Fired after drag-to-move snaps to grid"
100
+ "description": "Fired when a drag along the time axis (or ←/→ in editable mode) changes the dates. Both ends snap to the nearest period boundary; end is inclusive (e.g. 2027-03-31). Not fired when a drag snaps back to the same dates"
100
101
  },
101
102
  {
102
103
  "name": "product-roadmap:resize",
103
104
  "detail": "{ initiative, lane, start, end }",
104
- "description": "Fired after drag-to-resize snaps to grid"
105
+ "description": "Fired when dragging the right edge (or Shift+←/→) changes the end date; the end snaps to the last day of the nearest period, never shorter than one period"
105
106
  },
106
107
  {
107
108
  "name": "product-roadmap:move",
108
109
  "detail": "{ initiative, fromLane, toLane, start, end }",
109
- "description": "Fired after a bar drops on a different lane"
110
+ "description": "Fired when a bar is dropped on a different lane (pointer drag or Alt+↑/↓). The source <article> is moved into the target <section data-lane>. If the drag also changed the dates, reschedule fires first"
110
111
  }
111
112
  ],
112
113
  "htmlvalidate": {