pi-interview 0.3.0 → 0.3.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.
package/form/script.js CHANGED
@@ -1314,12 +1314,17 @@
1314
1314
  otherCheck.name = question.id;
1315
1315
  otherCheck.value = "__other__";
1316
1316
  otherCheck.id = `q-${question.id}-other`;
1317
- const otherInput = document.createElement("input");
1318
- otherInput.type = "text";
1317
+ const otherInput = document.createElement("textarea");
1319
1318
  otherInput.className = "other-input";
1320
1319
  otherInput.placeholder = "Other...";
1320
+ otherInput.rows = 1;
1321
1321
  otherInput.dataset.questionId = question.id;
1322
+ const autoResizeOther = () => {
1323
+ otherInput.style.height = "auto";
1324
+ otherInput.style.height = otherInput.scrollHeight + "px";
1325
+ };
1322
1326
  otherInput.addEventListener("input", () => {
1327
+ autoResizeOther();
1323
1328
  if (otherInput.value && !otherCheck.checked) {
1324
1329
  otherCheck.checked = true;
1325
1330
  if (question.type === "multi") updateDoneState(question.id);
@@ -1861,6 +1866,7 @@
1861
1866
  if (otherCheck && otherInput) {
1862
1867
  otherCheck.checked = true;
1863
1868
  otherInput.value = value;
1869
+ otherInput.dispatchEvent(new Event("input", { bubbles: true }));
1864
1870
  }
1865
1871
  }
1866
1872
  }
@@ -1893,6 +1899,7 @@
1893
1899
  if (otherCheck && otherInput) {
1894
1900
  otherCheck.checked = true;
1895
1901
  otherInput.value = otherValue;
1902
+ otherInput.dispatchEvent(new Event("input", { bubbles: true }));
1896
1903
  }
1897
1904
  }
1898
1905
  }
package/form/styles.css CHANGED
@@ -105,6 +105,7 @@ body {
105
105
  display: flex;
106
106
  flex-direction: column;
107
107
  gap: 20px;
108
+ min-width: 0;
108
109
  }
109
110
 
110
111
  .question-card {
@@ -115,6 +116,8 @@ body {
115
116
  background: var(--bg-elevated);
116
117
  transition: border-color 150ms ease, box-shadow 150ms ease;
117
118
  outline: none;
119
+ min-width: 0;
120
+ overflow: hidden;
118
121
  }
119
122
 
120
123
  .question-card.active {
@@ -149,6 +152,7 @@ body {
149
152
  .option-list {
150
153
  display: grid;
151
154
  gap: 10px;
155
+ min-width: 0;
152
156
  }
153
157
 
154
158
  .option-item {
@@ -161,6 +165,7 @@ body {
161
165
  border: 1px solid transparent;
162
166
  cursor: pointer;
163
167
  transition: border-color 100ms ease, background 100ms ease;
168
+ min-width: 0;
164
169
  }
165
170
 
166
171
  .option-item:hover {
@@ -184,6 +189,11 @@ body {
184
189
  font-family: var(--font-ui);
185
190
  font-size: inherit;
186
191
  padding: 2px 0;
192
+ resize: none;
193
+ overflow: hidden;
194
+ min-height: 1.7em;
195
+ line-height: 1.7;
196
+ field-sizing: content;
187
197
  }
188
198
 
189
199
  .other-input::placeholder {
@@ -200,6 +210,7 @@ body {
200
210
  border-radius: var(--radius);
201
211
  color: var(--accent);
202
212
  background: var(--bg-card);
213
+ display: flex;
203
214
  align-items: center;
204
215
  justify-content: center;
205
216
  cursor: pointer;
@@ -1107,6 +1118,10 @@ button {
1107
1118
  padding: 20px;
1108
1119
  }
1109
1120
 
1121
+ .session-bar {
1122
+ margin: -20px -20px 16px -20px;
1123
+ }
1124
+
1110
1125
  .interview-header h1 {
1111
1126
  font-size: 20px;
1112
1127
  }
@@ -1256,6 +1271,7 @@ button {
1256
1271
  background: var(--bg-elevated);
1257
1272
  overflow: hidden;
1258
1273
  font-size: 0.8125rem;
1274
+ min-width: 0;
1259
1275
  }
1260
1276
 
1261
1277
  .code-block-header {
@@ -1305,7 +1321,7 @@ button {
1305
1321
 
1306
1322
  .code-block-lines-container {
1307
1323
  display: table;
1308
- width: 100%;
1324
+ min-width: 100%;
1309
1325
  }
1310
1326
 
1311
1327
  .code-block-line {
@@ -1370,6 +1386,7 @@ button {
1370
1386
  position: relative;
1371
1387
  flex-direction: column;
1372
1388
  align-items: stretch;
1389
+ min-width: 0;
1373
1390
  }
1374
1391
 
1375
1392
  .option-item.has-code > input {
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "pi-interview",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Interactive interview form extension for pi coding agent",
5
5
  "author": "Nico Bailon",
6
6
  "license": "MIT",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/nicobailon/pi-interview-tool.git"
9
+ "url": "git+https://github.com/nicobailon/pi-interview-tool.git"
10
10
  },
11
11
  "keywords": [
12
12
  "pi",
@@ -17,7 +17,7 @@
17
17
  "cli"
18
18
  ],
19
19
  "bin": {
20
- "pi-interview": "./bin/install.js"
20
+ "pi-interview": "bin/install.js"
21
21
  },
22
22
  "files": [
23
23
  "bin/",