Available tokens:
@@ -231,6 +289,7 @@
placeholder="Import from project..."
:placeholder-value="0"
class="w-48"
+ @update:model-value="(v: number) => { if (v) previewImport(v) }"
/>
+
+
+
+
+
+
+
{ importStartDate = v; previewImport(importProjectId) }"
+ placeholder="Start date"
+ />
+
+
+
+
{ importEndDate = v; previewImport(importProjectId) }"
+ placeholder="End date"
+ />
+
+
+ {{ importPreview.count }} entries, {{ importPreview.hours.toFixed(1) }} hours, {{ formatCurrency(importPreview.amount) }}
+
+
+
+
@@ -272,6 +365,7 @@
type="text"
class="w-full px-2 py-1 bg-transparent border-0 text-[0.75rem] text-text-primary focus:outline-none focus:bg-bg-inset rounded"
placeholder="Item description"
+ aria-label="Item description"
/>
|
@@ -281,6 +375,7 @@
min="0"
step="0.01"
class="w-full px-2 py-1 bg-transparent border-0 text-[0.75rem] text-text-primary text-right font-mono focus:outline-none focus:bg-bg-inset rounded"
+ aria-label="Quantity"
/>
|
@@ -290,6 +385,7 @@
min="0"
step="0.01"
class="w-full px-2 py-1 bg-transparent border-0 text-[0.75rem] text-text-primary text-right font-mono focus:outline-none focus:bg-bg-inset rounded"
+ aria-label="Unit price"
/>
|
@@ -300,8 +396,9 @@
type="button"
@click="lineItems.splice(i, 1)"
class="p-1 text-text-tertiary hover:text-status-error transition-colors"
+ :aria-label="'Remove line item ' + (i + 1)"
>
-
+
|
@@ -316,8 +413,9 @@
-
+
+
+
+
+ Durations may include rounding adjustments
+
+