@refrakt-md/plan 0.9.5 → 0.9.7
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/dist/cards.d.ts +23 -0
- package/dist/cards.d.ts.map +1 -0
- package/dist/cards.js +150 -0
- package/dist/cards.js.map +1 -0
- package/dist/cli-plugin.d.ts.map +1 -1
- package/dist/cli-plugin.js +68 -5
- package/dist/cli-plugin.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +13 -0
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/create.js +3 -3
- package/dist/commands/create.js.map +1 -1
- package/dist/commands/history.d.ts +21 -0
- package/dist/commands/history.d.ts.map +1 -0
- package/dist/commands/history.js +261 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/init.d.ts +7 -2
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +149 -26
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/next.d.ts.map +1 -1
- package/dist/commands/next.js +22 -6
- package/dist/commands/next.js.map +1 -1
- package/dist/commands/plan-behaviors.js +2 -1
- package/dist/commands/plan-behaviors.js.map +1 -1
- package/dist/commands/render-pipeline.d.ts.map +1 -1
- package/dist/commands/render-pipeline.js +148 -128
- package/dist/commands/render-pipeline.js.map +1 -1
- package/dist/commands/serve.d.ts.map +1 -1
- package/dist/commands/serve.js +54 -0
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/templates.js +13 -13
- package/dist/commands/templates.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +39 -11
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +119 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +86 -23
- package/dist/config.js.map +1 -1
- package/dist/diff.d.ts +35 -0
- package/dist/diff.d.ts.map +1 -0
- package/dist/diff.js +88 -0
- package/dist/diff.js.map +1 -0
- package/dist/entity-tabs-behavior.d.ts +13 -0
- package/dist/entity-tabs-behavior.d.ts.map +1 -0
- package/dist/entity-tabs-behavior.js +94 -0
- package/dist/entity-tabs-behavior.js.map +1 -0
- package/dist/history.d.ts +89 -0
- package/dist/history.d.ts.map +1 -0
- package/dist/history.js +336 -0
- package/dist/history.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/pipeline.d.ts +11 -11
- package/dist/pipeline.d.ts.map +1 -1
- package/dist/pipeline.js +468 -202
- package/dist/pipeline.js.map +1 -1
- package/dist/relationships.d.ts +36 -0
- package/dist/relationships.d.ts.map +1 -0
- package/dist/relationships.js +128 -0
- package/dist/relationships.js.map +1 -0
- package/dist/scanner-core.d.ts +10 -0
- package/dist/scanner-core.d.ts.map +1 -0
- package/dist/scanner-core.js +230 -0
- package/dist/scanner-core.js.map +1 -0
- package/dist/scanner.d.ts +2 -1
- package/dist/scanner.d.ts.map +1 -1
- package/dist/scanner.js +7 -124
- package/dist/scanner.js.map +1 -1
- package/dist/tags/bug.d.ts.map +1 -1
- package/dist/tags/bug.js +22 -1
- package/dist/tags/bug.js.map +1 -1
- package/dist/tags/decision.d.ts.map +1 -1
- package/dist/tags/decision.js +23 -1
- package/dist/tags/decision.js.map +1 -1
- package/dist/tags/milestone.d.ts.map +1 -1
- package/dist/tags/milestone.js +7 -4
- package/dist/tags/milestone.js.map +1 -1
- package/dist/tags/plan-history.d.ts +4 -0
- package/dist/tags/plan-history.d.ts.map +1 -0
- package/dist/tags/plan-history.js +46 -0
- package/dist/tags/plan-history.js.map +1 -0
- package/dist/tags/spec.d.ts.map +1 -1
- package/dist/tags/spec.js +4 -5
- package/dist/tags/spec.js.map +1 -1
- package/dist/tags/work.d.ts.map +1 -1
- package/dist/tags/work.js +28 -7
- package/dist/tags/work.js.map +1 -1
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/util.d.ts +2 -0
- package/dist/util.d.ts.map +1 -1
- package/dist/util.js +10 -0
- package/dist/util.js.map +1 -1
- package/package.json +26 -9
- package/styles/default.css +0 -586
- package/styles/minimal.css +0 -386
- package/styles/tokens.css +0 -13
package/dist/config.js
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
/** Shared projection config — moves title and blurb into the preamble container */
|
|
2
|
+
const preambleProjection = {
|
|
3
|
+
relocate: {
|
|
4
|
+
title: { into: 'preamble', position: 'append' },
|
|
5
|
+
blurb: { into: 'preamble', position: 'append' },
|
|
6
|
+
},
|
|
7
|
+
};
|
|
8
|
+
/** Shared slot order for plan entity runes */
|
|
9
|
+
const entitySlots = ['header-primary', 'preamble', 'header-secondary', 'content'];
|
|
1
10
|
export const config = {
|
|
2
11
|
Spec: {
|
|
3
12
|
block: 'spec',
|
|
4
13
|
defaultDensity: 'full',
|
|
5
|
-
|
|
6
|
-
|
|
14
|
+
slots: [...entitySlots],
|
|
15
|
+
sections: { 'header-primary': 'header', preamble: 'preamble', title: 'title', blurb: 'description', 'header-secondary': 'header', body: 'body' },
|
|
7
16
|
modifiers: {
|
|
8
17
|
id: { source: 'meta' },
|
|
9
18
|
status: { source: 'meta', default: 'draft' },
|
|
@@ -14,11 +23,17 @@ export const config = {
|
|
|
14
23
|
modified: { source: 'meta', noBemClass: true },
|
|
15
24
|
},
|
|
16
25
|
structure: {
|
|
17
|
-
header: {
|
|
18
|
-
tag: 'div',
|
|
26
|
+
'header-primary': {
|
|
27
|
+
tag: 'div', slot: 'header-primary',
|
|
19
28
|
children: [
|
|
20
29
|
{ tag: 'span', ref: 'id-badge', metaText: 'id', label: 'ID:', labelHidden: true, metaType: 'id', metaRank: 'primary' },
|
|
21
30
|
{ tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', labelHidden: true, metaType: 'status', metaRank: 'primary', sentimentMap: { draft: 'neutral', review: 'caution', accepted: 'positive', superseded: 'caution', deprecated: 'negative' } },
|
|
31
|
+
],
|
|
32
|
+
},
|
|
33
|
+
preamble: { tag: 'div', slot: 'preamble' },
|
|
34
|
+
'header-secondary': {
|
|
35
|
+
tag: 'div', slot: 'header-secondary',
|
|
36
|
+
children: [
|
|
22
37
|
{ tag: 'span', ref: 'version-badge', metaText: 'version', condition: 'version', textPrefix: 'v', metaType: 'tag', metaRank: 'secondary' },
|
|
23
38
|
{ tag: 'span', ref: 'supersedes-badge', metaText: 'supersedes', condition: 'supersedes', label: 'Supersedes:', metaType: 'id', metaRank: 'secondary' },
|
|
24
39
|
{ tag: 'time', ref: 'created-badge', metaText: 'created', condition: 'created', label: 'Created:', metaType: 'temporal', metaRank: 'secondary' },
|
|
@@ -26,14 +41,15 @@ export const config = {
|
|
|
26
41
|
],
|
|
27
42
|
},
|
|
28
43
|
},
|
|
44
|
+
projection: preambleProjection,
|
|
29
45
|
editHints: { body: 'none', 'id-badge': 'none', 'status-badge': 'none', 'version-badge': 'none', 'supersedes-badge': 'none', 'created-badge': 'none', 'modified-badge': 'none' },
|
|
30
46
|
},
|
|
31
47
|
Work: {
|
|
32
48
|
block: 'work',
|
|
33
49
|
defaultDensity: 'full',
|
|
34
50
|
checklist: true,
|
|
35
|
-
|
|
36
|
-
|
|
51
|
+
slots: [...entitySlots],
|
|
52
|
+
sections: { 'header-primary': 'header', preamble: 'preamble', title: 'title', blurb: 'description', 'header-secondary': 'header', body: 'body' },
|
|
37
53
|
modifiers: {
|
|
38
54
|
id: { source: 'meta' },
|
|
39
55
|
status: { source: 'meta', default: 'draft' },
|
|
@@ -41,93 +57,120 @@ export const config = {
|
|
|
41
57
|
complexity: { source: 'meta', default: 'unknown' },
|
|
42
58
|
assignee: { source: 'meta', noBemClass: true },
|
|
43
59
|
milestone: { source: 'meta', noBemClass: true },
|
|
60
|
+
source: { source: 'meta', noBemClass: true },
|
|
44
61
|
tags: { source: 'meta', noBemClass: true },
|
|
45
62
|
created: { source: 'meta', noBemClass: true },
|
|
46
63
|
modified: { source: 'meta', noBemClass: true },
|
|
47
64
|
},
|
|
48
65
|
structure: {
|
|
49
|
-
header: {
|
|
50
|
-
tag: 'div',
|
|
66
|
+
'header-primary': {
|
|
67
|
+
tag: 'div', slot: 'header-primary',
|
|
51
68
|
children: [
|
|
52
69
|
{ tag: 'span', ref: 'id-badge', metaText: 'id', label: 'ID:', labelHidden: true, metaType: 'id', metaRank: 'primary' },
|
|
53
70
|
{ tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', labelHidden: true, metaType: 'status', metaRank: 'primary', sentimentMap: { draft: 'neutral', ready: 'neutral', 'in-progress': 'neutral', review: 'caution', done: 'positive', blocked: 'negative' } },
|
|
71
|
+
],
|
|
72
|
+
},
|
|
73
|
+
preamble: { tag: 'div', slot: 'preamble' },
|
|
74
|
+
'header-secondary': {
|
|
75
|
+
tag: 'div', slot: 'header-secondary',
|
|
76
|
+
children: [
|
|
54
77
|
{ tag: 'span', ref: 'priority-badge', metaText: 'priority', label: 'Priority:', metaType: 'category', metaRank: 'primary', sentimentMap: { critical: 'negative', high: 'caution', medium: 'neutral', low: 'neutral' } },
|
|
55
78
|
{ tag: 'span', ref: 'complexity-badge', metaText: 'complexity', label: 'Complexity:', metaType: 'quantity', metaRank: 'secondary' },
|
|
56
79
|
{ tag: 'span', ref: 'assignee-badge', metaText: 'assignee', label: 'Assignee:', condition: 'assignee', metaType: 'tag', metaRank: 'secondary' },
|
|
57
80
|
{ tag: 'span', ref: 'milestone-badge', metaText: 'milestone', label: 'Milestone:', condition: 'milestone', metaType: 'tag', metaRank: 'secondary' },
|
|
81
|
+
{ tag: 'span', ref: 'source-badge', metaText: 'source', condition: 'source', label: 'Source:', metaType: 'id', metaRank: 'secondary' },
|
|
58
82
|
{ tag: 'time', ref: 'created-badge', metaText: 'created', condition: 'created', label: 'Created:', metaType: 'temporal', metaRank: 'secondary' },
|
|
59
83
|
{ tag: 'time', ref: 'modified-badge', metaText: 'modified', condition: 'modified', label: 'Modified:', metaType: 'temporal', metaRank: 'secondary' },
|
|
60
84
|
],
|
|
61
85
|
},
|
|
62
86
|
},
|
|
63
|
-
|
|
87
|
+
projection: preambleProjection,
|
|
88
|
+
editHints: { body: 'none', 'id-badge': 'none', 'status-badge': 'none', 'priority-badge': 'none', 'complexity-badge': 'none', 'assignee-badge': 'none', 'milestone-badge': 'none', 'source-badge': 'none', 'created-badge': 'none', 'modified-badge': 'none' },
|
|
64
89
|
},
|
|
65
90
|
Bug: {
|
|
66
91
|
block: 'bug',
|
|
67
92
|
defaultDensity: 'full',
|
|
68
93
|
checklist: true,
|
|
69
|
-
|
|
70
|
-
|
|
94
|
+
slots: [...entitySlots],
|
|
95
|
+
sections: { 'header-primary': 'header', preamble: 'preamble', title: 'title', blurb: 'description', 'header-secondary': 'header', body: 'body' },
|
|
71
96
|
modifiers: {
|
|
72
97
|
id: { source: 'meta' },
|
|
73
98
|
status: { source: 'meta', default: 'reported' },
|
|
74
99
|
severity: { source: 'meta', default: 'major' },
|
|
75
100
|
assignee: { source: 'meta', noBemClass: true },
|
|
76
101
|
milestone: { source: 'meta', noBemClass: true },
|
|
102
|
+
source: { source: 'meta', noBemClass: true },
|
|
77
103
|
tags: { source: 'meta', noBemClass: true },
|
|
78
104
|
created: { source: 'meta', noBemClass: true },
|
|
79
105
|
modified: { source: 'meta', noBemClass: true },
|
|
80
106
|
},
|
|
81
107
|
structure: {
|
|
82
|
-
header: {
|
|
83
|
-
tag: 'div',
|
|
108
|
+
'header-primary': {
|
|
109
|
+
tag: 'div', slot: 'header-primary',
|
|
84
110
|
children: [
|
|
85
111
|
{ tag: 'span', ref: 'id-badge', metaText: 'id', label: 'ID:', labelHidden: true, metaType: 'id', metaRank: 'primary' },
|
|
86
112
|
{ tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', labelHidden: true, metaType: 'status', metaRank: 'primary', sentimentMap: { reported: 'neutral', confirmed: 'caution', 'in-progress': 'neutral', fixed: 'positive', wontfix: 'neutral', duplicate: 'neutral' } },
|
|
113
|
+
],
|
|
114
|
+
},
|
|
115
|
+
preamble: { tag: 'div', slot: 'preamble' },
|
|
116
|
+
'header-secondary': {
|
|
117
|
+
tag: 'div', slot: 'header-secondary',
|
|
118
|
+
children: [
|
|
87
119
|
{ tag: 'span', ref: 'severity-badge', metaText: 'severity', label: 'Severity:', metaType: 'category', metaRank: 'primary', sentimentMap: { critical: 'negative', major: 'caution', minor: 'neutral', trivial: 'neutral' } },
|
|
88
120
|
{ tag: 'span', ref: 'assignee-badge', metaText: 'assignee', label: 'Assignee:', condition: 'assignee', metaType: 'tag', metaRank: 'secondary' },
|
|
89
121
|
{ tag: 'span', ref: 'milestone-badge', metaText: 'milestone', label: 'Milestone:', condition: 'milestone', metaType: 'tag', metaRank: 'secondary' },
|
|
122
|
+
{ tag: 'span', ref: 'source-badge', metaText: 'source', condition: 'source', label: 'Source:', metaType: 'id', metaRank: 'secondary' },
|
|
90
123
|
{ tag: 'time', ref: 'created-badge', metaText: 'created', condition: 'created', label: 'Created:', metaType: 'temporal', metaRank: 'secondary' },
|
|
91
124
|
{ tag: 'time', ref: 'modified-badge', metaText: 'modified', condition: 'modified', label: 'Modified:', metaType: 'temporal', metaRank: 'secondary' },
|
|
92
125
|
],
|
|
93
126
|
},
|
|
94
127
|
},
|
|
95
|
-
|
|
128
|
+
projection: preambleProjection,
|
|
129
|
+
editHints: { body: 'none', 'id-badge': 'none', 'status-badge': 'none', 'severity-badge': 'none', 'assignee-badge': 'none', 'milestone-badge': 'none', 'source-badge': 'none', 'created-badge': 'none', 'modified-badge': 'none' },
|
|
96
130
|
},
|
|
97
131
|
Decision: {
|
|
98
132
|
block: 'decision',
|
|
99
133
|
defaultDensity: 'full',
|
|
100
|
-
|
|
101
|
-
|
|
134
|
+
slots: [...entitySlots],
|
|
135
|
+
sections: { 'header-primary': 'header', preamble: 'preamble', title: 'title', blurb: 'description', 'header-secondary': 'header', body: 'body' },
|
|
102
136
|
modifiers: {
|
|
103
137
|
id: { source: 'meta' },
|
|
104
138
|
status: { source: 'meta', default: 'proposed' },
|
|
105
139
|
date: { source: 'meta', noBemClass: true },
|
|
106
140
|
supersedes: { source: 'meta', noBemClass: true },
|
|
141
|
+
source: { source: 'meta', noBemClass: true },
|
|
107
142
|
tags: { source: 'meta', noBemClass: true },
|
|
108
143
|
created: { source: 'meta', noBemClass: true },
|
|
109
144
|
modified: { source: 'meta', noBemClass: true },
|
|
110
145
|
},
|
|
111
146
|
structure: {
|
|
112
|
-
header: {
|
|
113
|
-
tag: 'div',
|
|
147
|
+
'header-primary': {
|
|
148
|
+
tag: 'div', slot: 'header-primary',
|
|
114
149
|
children: [
|
|
115
150
|
{ tag: 'span', ref: 'id-badge', metaText: 'id', label: 'ID:', labelHidden: true, metaType: 'id', metaRank: 'primary' },
|
|
116
151
|
{ tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', labelHidden: true, metaType: 'status', metaRank: 'primary', sentimentMap: { proposed: 'neutral', accepted: 'positive', superseded: 'caution', deprecated: 'negative' } },
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
preamble: { tag: 'div', slot: 'preamble' },
|
|
155
|
+
'header-secondary': {
|
|
156
|
+
tag: 'div', slot: 'header-secondary',
|
|
157
|
+
children: [
|
|
117
158
|
{ tag: 'time', ref: 'date-badge', metaText: 'date', label: 'Date:', condition: 'date', metaType: 'temporal', metaRank: 'secondary' },
|
|
118
159
|
{ tag: 'span', ref: 'supersedes-badge', metaText: 'supersedes', condition: 'supersedes', label: 'Supersedes:', metaType: 'id', metaRank: 'secondary' },
|
|
160
|
+
{ tag: 'span', ref: 'source-badge', metaText: 'source', condition: 'source', label: 'Source:', metaType: 'id', metaRank: 'secondary' },
|
|
119
161
|
{ tag: 'time', ref: 'created-badge', metaText: 'created', condition: 'created', label: 'Created:', metaType: 'temporal', metaRank: 'secondary' },
|
|
120
162
|
{ tag: 'time', ref: 'modified-badge', metaText: 'modified', condition: 'modified', label: 'Modified:', metaType: 'temporal', metaRank: 'secondary' },
|
|
121
163
|
],
|
|
122
164
|
},
|
|
123
165
|
},
|
|
124
|
-
|
|
166
|
+
projection: preambleProjection,
|
|
167
|
+
editHints: { body: 'none', 'id-badge': 'none', 'status-badge': 'none', 'date-badge': 'none', 'supersedes-badge': 'none', 'source-badge': 'none', 'created-badge': 'none', 'modified-badge': 'none' },
|
|
125
168
|
},
|
|
126
169
|
Milestone: {
|
|
127
170
|
block: 'milestone',
|
|
128
171
|
defaultDensity: 'full',
|
|
129
|
-
|
|
130
|
-
|
|
172
|
+
slots: [...entitySlots],
|
|
173
|
+
sections: { 'header-primary': 'header', preamble: 'preamble', title: 'title', blurb: 'description', 'header-secondary': 'header', body: 'body' },
|
|
131
174
|
modifiers: {
|
|
132
175
|
name: { source: 'meta' },
|
|
133
176
|
status: { source: 'meta', default: 'planning' },
|
|
@@ -136,17 +179,24 @@ export const config = {
|
|
|
136
179
|
modified: { source: 'meta', noBemClass: true },
|
|
137
180
|
},
|
|
138
181
|
structure: {
|
|
139
|
-
header: {
|
|
140
|
-
tag: 'div',
|
|
182
|
+
'header-primary': {
|
|
183
|
+
tag: 'div', slot: 'header-primary',
|
|
141
184
|
children: [
|
|
142
185
|
{ tag: 'span', ref: 'name-badge', metaText: 'name', label: 'Name:', labelHidden: true, metaType: 'id', metaRank: 'primary' },
|
|
143
186
|
{ tag: 'span', ref: 'status-badge', metaText: 'status', label: 'Status:', labelHidden: true, metaType: 'status', metaRank: 'primary', sentimentMap: { planning: 'neutral', active: 'positive', complete: 'positive' } },
|
|
187
|
+
],
|
|
188
|
+
},
|
|
189
|
+
preamble: { tag: 'div', slot: 'preamble' },
|
|
190
|
+
'header-secondary': {
|
|
191
|
+
tag: 'div', slot: 'header-secondary',
|
|
192
|
+
children: [
|
|
144
193
|
{ tag: 'time', ref: 'target-badge', metaText: 'target', label: 'Target:', condition: 'target', metaType: 'temporal', metaRank: 'secondary' },
|
|
145
194
|
{ tag: 'time', ref: 'created-badge', metaText: 'created', condition: 'created', label: 'Created:', metaType: 'temporal', metaRank: 'secondary' },
|
|
146
195
|
{ tag: 'time', ref: 'modified-badge', metaText: 'modified', condition: 'modified', label: 'Modified:', metaType: 'temporal', metaRank: 'secondary' },
|
|
147
196
|
],
|
|
148
197
|
},
|
|
149
198
|
},
|
|
199
|
+
projection: preambleProjection,
|
|
150
200
|
editHints: { body: 'none', 'name-badge': 'none', 'status-badge': 'none', 'target-badge': 'none', 'created-badge': 'none', 'modified-badge': 'none' },
|
|
151
201
|
},
|
|
152
202
|
Backlog: {
|
|
@@ -181,5 +231,18 @@ export const config = {
|
|
|
181
231
|
limit: { source: 'meta', noBemClass: true },
|
|
182
232
|
},
|
|
183
233
|
},
|
|
234
|
+
PlanHistory: {
|
|
235
|
+
block: 'plan-history',
|
|
236
|
+
modifiers: {
|
|
237
|
+
id: { source: 'meta', noBemClass: true },
|
|
238
|
+
limit: { source: 'meta', noBemClass: true },
|
|
239
|
+
type: { source: 'meta', noBemClass: true },
|
|
240
|
+
since: { source: 'meta', noBemClass: true },
|
|
241
|
+
group: { source: 'meta', noBemClass: true },
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
PlanEntityTabs: {
|
|
245
|
+
block: 'plan-entity-tabs',
|
|
246
|
+
},
|
|
184
247
|
};
|
|
185
248
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/diff.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface AttributeChange {
|
|
2
|
+
field: string;
|
|
3
|
+
from: string | null;
|
|
4
|
+
to: string | null;
|
|
5
|
+
}
|
|
6
|
+
export interface CriteriaChange {
|
|
7
|
+
text: string;
|
|
8
|
+
action: 'checked' | 'unchecked' | 'added' | 'removed';
|
|
9
|
+
}
|
|
10
|
+
export interface ParsedCheckbox {
|
|
11
|
+
text: string;
|
|
12
|
+
checked: boolean;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Parse attributes from a Markdoc opening tag line.
|
|
16
|
+
* Expects the line to look like: {% type key="value" key2="value2" ... %}
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseTagAttributes(line: string): Record<string, string>;
|
|
19
|
+
/**
|
|
20
|
+
* Extract all checkbox lines from file content.
|
|
21
|
+
*/
|
|
22
|
+
export declare function parseCheckboxes(content: string): ParsedCheckbox[];
|
|
23
|
+
/**
|
|
24
|
+
* Detect whether a ## Resolution section exists in the content.
|
|
25
|
+
*/
|
|
26
|
+
export declare function hasResolutionSection(content: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Diff two attribute maps and return the changes.
|
|
29
|
+
*/
|
|
30
|
+
export declare function diffAttributes(prev: Record<string, string>, curr: Record<string, string>): AttributeChange[];
|
|
31
|
+
/**
|
|
32
|
+
* Diff two checkbox lists by text matching.
|
|
33
|
+
*/
|
|
34
|
+
export declare function diffCriteria(prev: ParsedCheckbox[], curr: ParsedCheckbox[]): CriteriaChange[];
|
|
35
|
+
//# sourceMappingURL=diff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,eAAe;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;CACtD;AAED,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;CACjB;AAOD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQvE;AAKD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAYjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAID;;GAEG;AACH,wBAAgB,cAAc,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,eAAe,EAAE,CAYnB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC3B,IAAI,EAAE,cAAc,EAAE,EACtB,IAAI,EAAE,cAAc,EAAE,GACpB,cAAc,EAAE,CAyBlB"}
|
package/dist/diff.js
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
// ─── Pure Diffing Utilities ───
|
|
2
|
+
// Parsing and diffing functions for plan entity attributes and criteria.
|
|
3
|
+
// No Node.js API dependencies — safe for edge runtimes.
|
|
4
|
+
// ─── Parsing ───
|
|
5
|
+
/** Regex to parse the opening Markdoc tag on line 1: {% type key="value" ... %} */
|
|
6
|
+
const TAG_ATTR_RE = /(\w+)="([^"]*)"/g;
|
|
7
|
+
/**
|
|
8
|
+
* Parse attributes from a Markdoc opening tag line.
|
|
9
|
+
* Expects the line to look like: {% type key="value" key2="value2" ... %}
|
|
10
|
+
*/
|
|
11
|
+
export function parseTagAttributes(line) {
|
|
12
|
+
const attrs = {};
|
|
13
|
+
let match;
|
|
14
|
+
TAG_ATTR_RE.lastIndex = 0;
|
|
15
|
+
while ((match = TAG_ATTR_RE.exec(line)) !== null) {
|
|
16
|
+
attrs[match[1]] = match[2];
|
|
17
|
+
}
|
|
18
|
+
return attrs;
|
|
19
|
+
}
|
|
20
|
+
/** Checkbox line pattern: - [ ] text or - [x] text (case-insensitive x) */
|
|
21
|
+
const CHECKBOX_RE = /^[\s]*-\s+\[([ xX])\]\s+(.+)/;
|
|
22
|
+
/**
|
|
23
|
+
* Extract all checkbox lines from file content.
|
|
24
|
+
*/
|
|
25
|
+
export function parseCheckboxes(content) {
|
|
26
|
+
const results = [];
|
|
27
|
+
for (const line of content.split('\n')) {
|
|
28
|
+
const match = CHECKBOX_RE.exec(line);
|
|
29
|
+
if (match) {
|
|
30
|
+
results.push({
|
|
31
|
+
text: match[2].trim(),
|
|
32
|
+
checked: match[1] !== ' ',
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return results;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Detect whether a ## Resolution section exists in the content.
|
|
40
|
+
*/
|
|
41
|
+
export function hasResolutionSection(content) {
|
|
42
|
+
return /^##\s+Resolution\s*$/m.test(content);
|
|
43
|
+
}
|
|
44
|
+
// ─── Diffing ───
|
|
45
|
+
/**
|
|
46
|
+
* Diff two attribute maps and return the changes.
|
|
47
|
+
*/
|
|
48
|
+
export function diffAttributes(prev, curr) {
|
|
49
|
+
const changes = [];
|
|
50
|
+
const allKeys = new Set([...Object.keys(prev), ...Object.keys(curr)]);
|
|
51
|
+
for (const key of allKeys) {
|
|
52
|
+
const oldVal = prev[key] ?? null;
|
|
53
|
+
const newVal = curr[key] ?? null;
|
|
54
|
+
if (oldVal !== newVal) {
|
|
55
|
+
changes.push({ field: key, from: oldVal, to: newVal });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return changes;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Diff two checkbox lists by text matching.
|
|
62
|
+
*/
|
|
63
|
+
export function diffCriteria(prev, curr) {
|
|
64
|
+
const changes = [];
|
|
65
|
+
const prevByText = new Map(prev.map(c => [c.text, c.checked]));
|
|
66
|
+
const currByText = new Map(curr.map(c => [c.text, c.checked]));
|
|
67
|
+
// Check for removed or changed criteria
|
|
68
|
+
for (const [text, wasChecked] of prevByText) {
|
|
69
|
+
const isChecked = currByText.get(text);
|
|
70
|
+
if (isChecked === undefined) {
|
|
71
|
+
changes.push({ text, action: 'removed' });
|
|
72
|
+
}
|
|
73
|
+
else if (wasChecked && !isChecked) {
|
|
74
|
+
changes.push({ text, action: 'unchecked' });
|
|
75
|
+
}
|
|
76
|
+
else if (!wasChecked && isChecked) {
|
|
77
|
+
changes.push({ text, action: 'checked' });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Check for added criteria
|
|
81
|
+
for (const [text] of currByText) {
|
|
82
|
+
if (!prevByText.has(text)) {
|
|
83
|
+
changes.push({ text, action: 'added' });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return changes;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=diff.js.map
|
package/dist/diff.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../src/diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { CleanupFn } from '@refrakt-md/behaviors';
|
|
2
|
+
/**
|
|
3
|
+
* Composite behavior for plan entity tab groups.
|
|
4
|
+
*
|
|
5
|
+
* Wraps tabsBehavior (ARIA wiring, keyboard nav, panel switching) and adds:
|
|
6
|
+
* - Anchor navigation coordination: when the user clicks a TOC link or
|
|
7
|
+
* section-nav entry pointing to a heading inside an inactive panel,
|
|
8
|
+
* activates that panel first so the browser can scroll to the target.
|
|
9
|
+
* - Exposes the active tab name as a data attribute on the container
|
|
10
|
+
* so CSS can dim the TOC when a non-Overview tab is active.
|
|
11
|
+
*/
|
|
12
|
+
export declare function entityTabsBehavior(el: HTMLElement): CleanupFn;
|
|
13
|
+
//# sourceMappingURL=entity-tabs-behavior.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-tabs-behavior.d.ts","sourceRoot":"","sources":["../src/entity-tabs-behavior.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,WAAW,GAAG,SAAS,CAyF7D"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { tabsBehavior } from '@refrakt-md/behaviors';
|
|
2
|
+
/**
|
|
3
|
+
* Composite behavior for plan entity tab groups.
|
|
4
|
+
*
|
|
5
|
+
* Wraps tabsBehavior (ARIA wiring, keyboard nav, panel switching) and adds:
|
|
6
|
+
* - Anchor navigation coordination: when the user clicks a TOC link or
|
|
7
|
+
* section-nav entry pointing to a heading inside an inactive panel,
|
|
8
|
+
* activates that panel first so the browser can scroll to the target.
|
|
9
|
+
* - Exposes the active tab name as a data attribute on the container
|
|
10
|
+
* so CSS can dim the TOC when a non-Overview tab is active.
|
|
11
|
+
*/
|
|
12
|
+
export function entityTabsBehavior(el) {
|
|
13
|
+
const tabsCleanup = tabsBehavior(el);
|
|
14
|
+
const cleanups = [];
|
|
15
|
+
const tabBar = el.querySelector('[data-name="tabs"]');
|
|
16
|
+
const panelsContainer = el.querySelector('[data-name="panels"]');
|
|
17
|
+
if (!tabBar || !panelsContainer)
|
|
18
|
+
return tabsCleanup;
|
|
19
|
+
const buttons = Array.from(tabBar.querySelectorAll('button[role="tab"]'));
|
|
20
|
+
const panels = Array.from(panelsContainer.querySelectorAll('[role="tabpanel"]'));
|
|
21
|
+
// Set initial active-tab data attribute
|
|
22
|
+
el.setAttribute('data-active-tab', buttons[0]?.getAttribute('data-tab') ?? 'overview');
|
|
23
|
+
// Watch for tab changes to update the data-active-tab attribute
|
|
24
|
+
const observer = new MutationObserver(() => {
|
|
25
|
+
const activeButton = buttons.find(b => b.getAttribute('aria-selected') === 'true');
|
|
26
|
+
if (activeButton) {
|
|
27
|
+
el.setAttribute('data-active-tab', activeButton.getAttribute('data-tab') ?? '');
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
for (const btn of buttons) {
|
|
31
|
+
observer.observe(btn, { attributes: true, attributeFilter: ['aria-selected'] });
|
|
32
|
+
}
|
|
33
|
+
cleanups.push(() => observer.disconnect());
|
|
34
|
+
/**
|
|
35
|
+
* Given a target element ID, find which panel contains it and activate that panel.
|
|
36
|
+
* Returns true if a panel switch occurred.
|
|
37
|
+
*/
|
|
38
|
+
function activatePanelForTarget(targetId) {
|
|
39
|
+
const target = document.getElementById(targetId);
|
|
40
|
+
if (!target)
|
|
41
|
+
return false;
|
|
42
|
+
// Find which panel contains this target
|
|
43
|
+
const containingPanel = panels.find(p => p.contains(target));
|
|
44
|
+
if (!containingPanel)
|
|
45
|
+
return false;
|
|
46
|
+
// If already active, no switch needed
|
|
47
|
+
if (containingPanel.getAttribute('data-state') === 'active')
|
|
48
|
+
return false;
|
|
49
|
+
// Find the button index for this panel and click it
|
|
50
|
+
const panelIndex = panels.indexOf(containingPanel);
|
|
51
|
+
if (panelIndex >= 0 && buttons[panelIndex]) {
|
|
52
|
+
buttons[panelIndex].click();
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
// Intercept anchor clicks from TOC and section-nav
|
|
58
|
+
const onAnchorClick = (e) => {
|
|
59
|
+
const link = e.target.closest('a[href^="#"]');
|
|
60
|
+
if (!link)
|
|
61
|
+
return;
|
|
62
|
+
const targetId = link.getAttribute('href')?.slice(1);
|
|
63
|
+
if (!targetId)
|
|
64
|
+
return;
|
|
65
|
+
// Only intercept if the target is inside our tab panels
|
|
66
|
+
const target = document.getElementById(targetId);
|
|
67
|
+
if (!target || !panelsContainer.contains(target))
|
|
68
|
+
return;
|
|
69
|
+
if (activatePanelForTarget(targetId)) {
|
|
70
|
+
// Panel was switched — re-scroll after the panel becomes visible
|
|
71
|
+
e.preventDefault();
|
|
72
|
+
requestAnimationFrame(() => {
|
|
73
|
+
target.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
document.addEventListener('click', onAnchorClick);
|
|
78
|
+
cleanups.push(() => document.removeEventListener('click', onAnchorClick));
|
|
79
|
+
// Handle back/forward navigation with hash changes
|
|
80
|
+
const onHashChange = () => {
|
|
81
|
+
const hash = window.location.hash.slice(1);
|
|
82
|
+
if (hash) {
|
|
83
|
+
activatePanelForTarget(hash);
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
window.addEventListener('hashchange', onHashChange);
|
|
87
|
+
cleanups.push(() => window.removeEventListener('hashchange', onHashChange));
|
|
88
|
+
return () => {
|
|
89
|
+
tabsCleanup();
|
|
90
|
+
el.removeAttribute('data-active-tab');
|
|
91
|
+
cleanups.forEach(fn => fn());
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=entity-tabs-behavior.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-tabs-behavior.js","sourceRoot":"","sources":["../src/entity-tabs-behavior.ts"],"names":[],"mappings":"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"}
|