@forwardimpact/pathway 0.22.0 → 0.23.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.
Files changed (78) hide show
  1. package/bin/fit-pathway.js +8 -4
  2. package/package.json +6 -2
  3. package/src/commands/agent.js +6 -3
  4. package/src/commands/behaviour.js +11 -1
  5. package/src/commands/build.js +11 -2
  6. package/src/commands/command-factory.js +4 -2
  7. package/src/commands/dev.js +9 -2
  8. package/src/commands/discipline.js +25 -10
  9. package/src/commands/driver.js +11 -1
  10. package/src/commands/job.js +127 -28
  11. package/src/commands/level.js +25 -3
  12. package/src/commands/skill.js +11 -1
  13. package/src/commands/stage.js +11 -1
  14. package/src/commands/tool.js +6 -3
  15. package/src/commands/track.js +20 -4
  16. package/src/components/card.js +8 -104
  17. package/src/components/comparison-radar.js +1 -1
  18. package/src/components/detail.js +16 -118
  19. package/src/components/error-page.js +8 -68
  20. package/src/components/grid.js +12 -106
  21. package/src/components/list.js +7 -116
  22. package/src/components/nav.js +7 -60
  23. package/src/css/bundles/app.css +25 -21
  24. package/src/css/bundles/handout.css +33 -33
  25. package/src/css/bundles/slides.css +25 -25
  26. package/src/formatters/discipline/markdown.js +16 -1
  27. package/src/formatters/interview/shared.js +3 -3
  28. package/src/formatters/job/description.js +2 -2
  29. package/src/formatters/progress/shared.js +3 -3
  30. package/src/formatters/skill/shared.js +1 -1
  31. package/src/formatters/track/markdown.js +14 -0
  32. package/src/formatters/track/shared.js +1 -1
  33. package/src/handout.html +32 -13
  34. package/src/index.html +32 -13
  35. package/src/lib/error-boundary.js +3 -66
  36. package/src/lib/errors.js +7 -45
  37. package/src/lib/job-cache.js +1 -1
  38. package/src/lib/markdown.js +2 -109
  39. package/src/lib/reactive.js +7 -73
  40. package/src/lib/render.js +49 -197
  41. package/src/lib/router-core.js +2 -156
  42. package/src/lib/router-pages.js +2 -11
  43. package/src/lib/router-slides.js +2 -197
  44. package/src/lib/state.js +14 -63
  45. package/src/lib/utils.js +3 -10
  46. package/src/lib/yaml-loader.js +13 -71
  47. package/src/pages/agent-builder.js +1 -1
  48. package/src/pages/assessment-results.js +1 -1
  49. package/src/pages/job-builder.js +1 -1
  50. package/src/pages/job.js +1 -1
  51. package/src/pages/skill.js +1 -1
  52. package/src/slide-main.js +1 -1
  53. package/src/slides/index.js +1 -1
  54. package/src/slides/job.js +1 -1
  55. package/src/slides/overview.js +1 -1
  56. package/src/slides.html +32 -13
  57. package/src/css/base.css +0 -56
  58. package/src/css/components/badges.css +0 -232
  59. package/src/css/components/buttons.css +0 -101
  60. package/src/css/components/forms.css +0 -191
  61. package/src/css/components/layout.css +0 -218
  62. package/src/css/components/nav.css +0 -206
  63. package/src/css/components/progress.css +0 -166
  64. package/src/css/components/states.css +0 -82
  65. package/src/css/components/surfaces.css +0 -347
  66. package/src/css/components/tables.css +0 -362
  67. package/src/css/components/top-bar.css +0 -180
  68. package/src/css/components/typography.css +0 -121
  69. package/src/css/components/utilities.css +0 -41
  70. package/src/css/pages/detail.css +0 -119
  71. package/src/css/reset.css +0 -50
  72. package/src/css/tokens.css +0 -162
  73. package/src/css/views/handout.css +0 -30
  74. package/src/css/views/print.css +0 -634
  75. package/src/css/views/slide-animations.css +0 -113
  76. package/src/css/views/slide-base.css +0 -331
  77. package/src/css/views/slide-sections.css +0 -597
  78. package/src/css/views/slide-tables.css +0 -275
@@ -1,119 +0,0 @@
1
- /**
2
- * Detail Page Styles
3
- *
4
- * Shared styles for entity detail pages.
5
- */
6
-
7
- @layer pages {
8
- /* Expectation items */
9
- .expectation-item {
10
- background: var(--color-bg);
11
- padding: var(--space-md);
12
- border-radius: var(--radius-md);
13
- border-left: 4px solid var(--color-primary);
14
- }
15
-
16
- .expectation-value {
17
- font-weight: 500;
18
- }
19
-
20
- /* Question groups */
21
- .question-group {
22
- margin-bottom: var(--space-lg);
23
- padding: var(--space-md);
24
- background: var(--color-surface);
25
- border-radius: var(--radius-md);
26
- border: 1px solid var(--color-border);
27
- }
28
-
29
- .question-group-title {
30
- font-weight: 600;
31
- margin-bottom: var(--space-sm);
32
- display: flex;
33
- align-items: center;
34
- gap: var(--space-sm);
35
- }
36
-
37
- .question-list {
38
- margin-top: var(--space-md);
39
- }
40
-
41
- .question-text {
42
- padding: var(--space-sm) 0;
43
- color: var(--color-text-secondary);
44
- margin: 0;
45
- }
46
-
47
- /* Links list */
48
- .links-list {
49
- display: flex;
50
- flex-direction: column;
51
- gap: var(--space-sm);
52
- }
53
-
54
- .links-list a {
55
- display: inline-flex;
56
- align-items: center;
57
- gap: var(--space-xs);
58
- }
59
-
60
- /* Tools table (for skill detail page) */
61
- .tools-table {
62
- width: 100%;
63
- border-collapse: separate;
64
- border-spacing: 0;
65
- margin-top: var(--space-md);
66
- border: 1px solid var(--color-border);
67
- border-radius: var(--radius-lg);
68
- overflow: hidden;
69
- background: var(--color-surface);
70
- }
71
-
72
- /*
73
- * Table cells: 60px row height = 16px padding-top + 28px content + 16px padding-bottom
74
- * Matches list-item height for visual consistency
75
- */
76
- .tools-table th,
77
- .tools-table td {
78
- padding: var(--space-md) var(--space-lg);
79
- text-align: left;
80
- border-bottom: 1px solid var(--color-border);
81
- height: 60px;
82
- }
83
-
84
- .tools-table th {
85
- font-weight: 600;
86
- font-size: var(--font-size-sm);
87
- color: var(--color-text-secondary);
88
- background: var(--color-bg);
89
- text-transform: uppercase;
90
- letter-spacing: 0.025em;
91
- }
92
-
93
- .tools-table th:first-child {
94
- width: 260px;
95
- white-space: nowrap;
96
- }
97
-
98
- .tools-table td:first-child {
99
- white-space: nowrap;
100
- }
101
-
102
- .tools-table tbody tr:last-child td {
103
- border-bottom: none;
104
- }
105
-
106
- .tools-table tbody tr:hover {
107
- background: var(--color-bg);
108
- }
109
-
110
- /* See all link */
111
- .see-all-link {
112
- margin-top: var(--space-md);
113
- }
114
-
115
- .see-all-link a {
116
- color: var(--color-primary);
117
- font-size: var(--font-size-sm);
118
- }
119
- }
package/src/css/reset.css DELETED
@@ -1,50 +0,0 @@
1
- /**
2
- * CSS Reset
3
- *
4
- * Browser normalization and box-sizing reset.
5
- * This layer provides a consistent baseline across browsers.
6
- */
7
-
8
- @layer reset {
9
- *,
10
- *::before,
11
- *::after {
12
- box-sizing: border-box;
13
- }
14
-
15
- html {
16
- font-size: 16px;
17
- scroll-behavior: smooth;
18
- }
19
-
20
- body {
21
- margin: 0;
22
- }
23
-
24
- h1,
25
- h2,
26
- h3,
27
- h4,
28
- h5,
29
- h6 {
30
- margin: 0;
31
- line-height: 1;
32
- font-weight: 600;
33
- }
34
-
35
- p {
36
- margin: 0;
37
- }
38
-
39
- ul,
40
- ol {
41
- margin: 0;
42
- padding: 0;
43
- list-style: none;
44
- }
45
-
46
- table {
47
- width: 100%;
48
- border-collapse: collapse;
49
- }
50
- }
@@ -1,162 +0,0 @@
1
- /**
2
- * Design Tokens
3
- *
4
- * Single source of truth for colors, spacing, typography, and other
5
- * design decisions.
6
- */
7
-
8
- @layer tokens {
9
- :root {
10
- /* --------------------------------------------------------------------------
11
- Colors - Primary
12
- -------------------------------------------------------------------------- */
13
- --color-primary: #3b82f6;
14
- --color-primary-dark: #2563eb;
15
- --color-primary-light: #93c5fd;
16
-
17
- /* --------------------------------------------------------------------------
18
- Colors - Skill Types
19
- -------------------------------------------------------------------------- */
20
- --color-primary-skill: #ef4444;
21
- --color-primary-skill-light: #fecaca;
22
- --color-secondary: #f59e0b;
23
- --color-secondary-light: #fde68a;
24
- --color-broad: #10b981;
25
- --color-broad-light: #a7f3d0;
26
-
27
- /* --------------------------------------------------------------------------
28
- Colors - Skill Levels (1-5)
29
- -------------------------------------------------------------------------- */
30
- --color-level-1: #fecaca;
31
- --color-level-2: #fde68a;
32
- --color-level-3: #bbf7d0;
33
- --color-level-4: #a5f3fc;
34
- --color-level-5: #c4b5fd;
35
-
36
- /* --------------------------------------------------------------------------
37
- Colors - Behaviour Maturities (1-5)
38
- -------------------------------------------------------------------------- */
39
- --color-maturity-1: #fecaca;
40
- --color-maturity-2: #fde68a;
41
- --color-maturity-3: #bbf7d0;
42
- --color-maturity-4: #a5f3fc;
43
- --color-maturity-5: #c4b5fd;
44
-
45
- /* --------------------------------------------------------------------------
46
- Colors - Capabilities (text) - matches data/capabilities/*.yaml IDs
47
- -------------------------------------------------------------------------- */
48
- --color-cap-ai: #7c3aed; /* violet */
49
- --color-cap-business: #b45309; /* amber */
50
- --color-cap-data: #0f766e; /* teal */
51
- --color-cap-delivery: #dc2626; /* red */
52
- --color-cap-documentation: #15803d; /* green */
53
- --color-cap-ml: #9333ea; /* purple */
54
- --color-cap-people: #be185d; /* pink */
55
- --color-cap-process: #c2410c; /* orange */
56
- --color-cap-product: #4f46e5; /* indigo */
57
- --color-cap-reliability: #0891b2; /* cyan */
58
- --color-cap-scale: #1d4ed8; /* blue */
59
-
60
- /* --------------------------------------------------------------------------
61
- Colors - Capabilities (backgrounds)
62
- -------------------------------------------------------------------------- */
63
- --color-cap-ai-light: #ede9fe; /* violet */
64
- --color-cap-business-light: #fef3c7; /* amber */
65
- --color-cap-data-light: #ccfbf1; /* teal */
66
- --color-cap-delivery-light: #fecaca; /* red */
67
- --color-cap-documentation-light: #dcfce7; /* green */
68
- --color-cap-ml-light: #f3e8ff; /* purple */
69
- --color-cap-people-light: #fce7f3; /* pink */
70
- --color-cap-process-light: #ffedd5; /* orange */
71
- --color-cap-product-light: #e0e7ff; /* indigo */
72
- --color-cap-reliability-light: #cffafe; /* cyan */
73
- --color-cap-scale-light: #dbeafe; /* blue */
74
-
75
- /* --------------------------------------------------------------------------
76
- Colors - Neutrals
77
- -------------------------------------------------------------------------- */
78
- --color-bg: #f8fafc;
79
- --color-bg-secondary: #f1f5f9;
80
- --color-surface: #ffffff;
81
- --color-border: #e2e8f0;
82
- --color-text: #1e293b;
83
- --color-text-muted: #64748b;
84
- --color-text-secondary: #475569;
85
- --color-text-light: #94a3b8;
86
-
87
- /* --------------------------------------------------------------------------
88
- Colors - Status
89
- -------------------------------------------------------------------------- */
90
- --color-success: #10b981;
91
- --color-warning: #f59e0b;
92
- --color-error: #ef4444;
93
- --color-info: #3b82f6;
94
-
95
- /* --------------------------------------------------------------------------
96
- Colors - Graph Nodes (entity types)
97
- -------------------------------------------------------------------------- */
98
- --color-node-driver: #4caf50;
99
- --color-node-skill: #2196f3;
100
- --color-node-behaviour: #9c27b0;
101
- --color-node-discipline: #ff9800;
102
- --color-node-track: #00bcd4;
103
-
104
- /* --------------------------------------------------------------------------
105
- Spacing
106
- -------------------------------------------------------------------------- */
107
- --space-xs: 0.25rem;
108
- --space-sm: 0.5rem;
109
- --space-md: 1rem;
110
- --space-lg: 1.5rem;
111
- --space-xl: 2rem;
112
- --space-2xl: 3rem;
113
-
114
- /* --------------------------------------------------------------------------
115
- Border Radius
116
- -------------------------------------------------------------------------- */
117
- --radius-sm: 0.25rem;
118
- --radius-md: 0.5rem;
119
- --radius-lg: 0.75rem;
120
- --radius-xl: 1rem;
121
-
122
- /* --------------------------------------------------------------------------
123
- Shadows
124
- -------------------------------------------------------------------------- */
125
- --shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
126
- --shadow-md:
127
- 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
128
- --shadow-lg:
129
- 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
130
-
131
- /* --------------------------------------------------------------------------
132
- Typography
133
- -------------------------------------------------------------------------- */
134
- --font-family:
135
- system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
136
- sans-serif;
137
- --font-family-mono:
138
- "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo,
139
- Consolas, monospace;
140
- --font-size-xs: 0.75rem;
141
- --font-size-sm: 0.875rem;
142
- --font-size-base: 1rem;
143
- --font-size-lg: 1.125rem;
144
- --font-size-xl: 1.25rem;
145
- --font-size-2xl: 1.5rem;
146
- --font-size-3xl: 2rem;
147
-
148
- /* --------------------------------------------------------------------------
149
- Layout
150
- -------------------------------------------------------------------------- */
151
- --max-width: 1400px;
152
- --drawer-width: 240px;
153
- --top-bar-height: 48px;
154
-
155
- /*
156
- * Responsive breakpoints (used in @media queries):
157
- * - 1280px: Tablet/laptop - layout stacking
158
- * - 768px: Mobile - drawer overlays instead of pushing content
159
- * - 640px: Mobile - full-width buttons, simplified layouts
160
- */
161
- }
162
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * Handout View Styles
3
- *
4
- * Handout-specific styles that override slide view.
5
- */
6
-
7
- @layer handout {
8
- .handout-view {
9
- padding: var(--space-lg);
10
- }
11
-
12
- .handout-view .detail-page {
13
- margin-bottom: var(--space-xl);
14
- padding-bottom: var(--space-xl);
15
- border-bottom: 3px solid var(--color-border);
16
- }
17
-
18
- .handout-view .detail-page:last-child {
19
- border-bottom: none;
20
- margin-bottom: 0;
21
- padding-bottom: 0;
22
- }
23
-
24
- .handout-section-title {
25
- font-size: var(--font-size-xl);
26
- margin-bottom: var(--space-lg);
27
- padding-bottom: var(--space-sm);
28
- border-bottom: 2px solid var(--color-primary);
29
- }
30
- }