@joewinke/jatui 0.1.25 → 0.1.26
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/actions/collapse.d.ts +80 -0
- package/dist/actions/collapse.js +134 -0
- package/dist/actions/railNav.d.ts +167 -0
- package/dist/actions/railNav.js +351 -0
- package/dist/components/AnnotationLayer.svelte +108 -0
- package/dist/components/AnnotationLayer.svelte.d.ts +12 -0
- package/dist/components/AnnotationPanel.svelte +319 -0
- package/dist/components/AnnotationPanel.svelte.d.ts +13 -0
- package/dist/components/AudioWaveform.svelte +701 -0
- package/dist/components/AudioWaveform.svelte.d.ts +19 -0
- package/dist/components/AvailabilityModal.svelte +177 -0
- package/dist/components/AvailabilityModal.svelte.d.ts +14 -0
- package/dist/components/AvatarUpload.svelte +234 -0
- package/dist/components/AvatarUpload.svelte.d.ts +23 -0
- package/dist/components/Badge.svelte +38 -0
- package/dist/components/Badge.svelte.d.ts +14 -0
- package/dist/components/BookingForm.svelte +278 -0
- package/dist/components/BookingForm.svelte.d.ts +37 -0
- package/dist/components/BurndownChart.svelte +778 -0
- package/dist/components/BurndownChart.svelte.d.ts +17 -0
- package/dist/components/Button.svelte +81 -0
- package/dist/components/Button.svelte.d.ts +21 -0
- package/dist/components/CalendarPicker.svelte +284 -0
- package/dist/components/CalendarPicker.svelte.d.ts +22 -0
- package/dist/components/Card.svelte +67 -0
- package/dist/components/Card.svelte.d.ts +17 -0
- package/dist/components/CharacterCounter.svelte +82 -0
- package/dist/components/CharacterCounter.svelte.d.ts +10 -0
- package/dist/components/ChipInput.svelte +609 -0
- package/dist/components/ChipInput.svelte.d.ts +55 -0
- package/dist/components/Collapse.svelte +91 -0
- package/dist/components/Collapse.svelte.d.ts +18 -0
- package/dist/components/ColorSelector.svelte +167 -0
- package/dist/components/ColorSelector.svelte.d.ts +9 -0
- package/dist/components/CommentThread.svelte +773 -0
- package/dist/components/CommentThread.svelte.d.ts +32 -0
- package/dist/components/ConfirmDialog.svelte +348 -0
- package/dist/components/ConfirmDialog.svelte.d.ts +3 -0
- package/dist/components/ConfirmModal.svelte +142 -0
- package/dist/components/ConfirmModal.svelte.d.ts +15 -0
- package/dist/components/ContextMenu.svelte +188 -0
- package/dist/components/ContextMenu.svelte.d.ts +31 -0
- package/dist/components/CountdownTimer.svelte +94 -0
- package/dist/components/CountdownTimer.svelte.d.ts +10 -0
- package/dist/components/DateRangePicker.svelte +194 -0
- package/dist/components/DateRangePicker.svelte.d.ts +10 -0
- package/dist/components/Drawer.svelte +143 -0
- package/dist/components/Drawer.svelte.d.ts +33 -0
- package/dist/components/EmojiPicker.svelte +159 -0
- package/dist/components/EmojiPicker.svelte.d.ts +8 -0
- package/dist/components/EntityPreviewCard.svelte +104 -0
- package/dist/components/EntityPreviewCard.svelte.d.ts +9 -0
- package/dist/components/FileDropzone.svelte +493 -0
- package/dist/components/FileDropzone.svelte.d.ts +40 -0
- package/dist/components/FilePicker.svelte +488 -0
- package/dist/components/FilePicker.svelte.d.ts +20 -0
- package/dist/components/FileThumbnail.svelte +80 -0
- package/dist/components/FileThumbnail.svelte.d.ts +12 -0
- package/dist/components/FilterDropdown.svelte +203 -0
- package/dist/components/FilterDropdown.svelte.d.ts +48 -0
- package/dist/components/FloatingActionBar.svelte +354 -0
- package/dist/components/FloatingActionBar.svelte.d.ts +51 -0
- package/dist/components/GPSTracker.svelte +202 -0
- package/dist/components/GPSTracker.svelte.d.ts +34 -0
- package/dist/components/HunkDiffView.svelte +348 -0
- package/dist/components/HunkDiffView.svelte.d.ts +9 -0
- package/dist/components/ImageLightbox.svelte +274 -0
- package/dist/components/ImageLightbox.svelte.d.ts +25 -0
- package/dist/components/ImageUpload.svelte +147 -0
- package/dist/components/ImageUpload.svelte.d.ts +10 -0
- package/dist/components/InlineEdit.svelte +291 -0
- package/dist/components/InlineEdit.svelte.d.ts +45 -0
- package/dist/components/InputDialog.svelte +327 -0
- package/dist/components/InputDialog.svelte.d.ts +3 -0
- package/dist/components/KeyboardShortcutsOverlay.svelte +296 -0
- package/dist/components/KeyboardShortcutsOverlay.svelte.d.ts +42 -0
- package/dist/components/LazyImage.svelte +123 -0
- package/dist/components/LazyImage.svelte.d.ts +14 -0
- package/dist/components/LinkShortener.svelte +274 -0
- package/dist/components/LinkShortener.svelte.d.ts +27 -0
- package/dist/components/LoadingSpinner.svelte +106 -0
- package/dist/components/LoadingSpinner.svelte.d.ts +21 -0
- package/dist/components/LocationMap.svelte +186 -0
- package/dist/components/LocationMap.svelte.d.ts +11 -0
- package/dist/components/MapView.svelte +341 -0
- package/dist/components/MapView.svelte.d.ts +20 -0
- package/dist/components/MarkupEditor.svelte +485 -0
- package/dist/components/MarkupEditor.svelte.d.ts +10 -0
- package/dist/components/MarkupOverlay.svelte +55 -0
- package/dist/components/MarkupOverlay.svelte.d.ts +8 -0
- package/dist/components/MediaWorkbench.svelte +871 -0
- package/dist/components/MediaWorkbench.svelte.d.ts +9 -0
- package/dist/components/MilestoneCard.svelte +98 -0
- package/dist/components/MilestoneCard.svelte.d.ts +16 -0
- package/dist/components/MilestoneTimeline.svelte +91 -0
- package/dist/components/MilestoneTimeline.svelte.d.ts +15 -0
- package/dist/components/Modal.svelte +244 -0
- package/dist/components/Modal.svelte.d.ts +35 -0
- package/dist/components/PDFViewer.svelte +105 -0
- package/dist/components/PDFViewer.svelte.d.ts +9 -0
- package/dist/components/PdfThumbnail.svelte +63 -0
- package/dist/components/PdfThumbnail.svelte.d.ts +9 -0
- package/dist/components/PhoneInput.svelte +212 -0
- package/dist/components/PhoneInput.svelte.d.ts +25 -0
- package/dist/components/ResizableDivider.svelte +307 -0
- package/dist/components/ResizableDivider.svelte.d.ts +26 -0
- package/dist/components/ResizablePanel.svelte +305 -0
- package/dist/components/ResizablePanel.svelte.d.ts +18 -0
- package/dist/components/SearchDropdown.svelte +421 -0
- package/dist/components/SearchDropdown.svelte.d.ts +24 -0
- package/dist/components/SelectInput.svelte +237 -0
- package/dist/components/SelectInput.svelte.d.ts +26 -0
- package/dist/components/SidebarUserFooter.svelte +34 -0
- package/dist/components/SidebarUserFooter.svelte.d.ts +16 -0
- package/dist/components/SignaturePad.svelte +175 -0
- package/dist/components/SignaturePad.svelte.d.ts +17 -0
- package/dist/components/SmartImageEditor.svelte +720 -0
- package/dist/components/SmartImageEditor.svelte.d.ts +24 -0
- package/dist/components/SortDropdown.svelte +156 -0
- package/dist/components/SortDropdown.svelte.d.ts +40 -0
- package/dist/components/Sparkline.svelte +116 -0
- package/dist/components/Sparkline.svelte.d.ts +12 -0
- package/dist/components/SpeechForm.svelte +114 -0
- package/dist/components/SpeechForm.svelte.d.ts +17 -0
- package/dist/components/StatusBadge.svelte +157 -0
- package/dist/components/StatusBadge.svelte.d.ts +24 -0
- package/dist/components/TaskTypeIcon.svelte +54 -0
- package/dist/components/TaskTypeIcon.svelte.d.ts +17 -0
- package/dist/components/TextArea.svelte +162 -0
- package/dist/components/TextArea.svelte.d.ts +30 -0
- package/dist/components/TextInput.svelte +131 -0
- package/dist/components/TextInput.svelte.d.ts +29 -0
- package/dist/components/ThemeSelector.svelte +206 -0
- package/dist/components/ThemeSelector.svelte.d.ts +14 -0
- package/dist/components/TimeSlotPicker.svelte +162 -0
- package/dist/components/TimeSlotPicker.svelte.d.ts +18 -0
- package/dist/components/UserAvatar.svelte +72 -0
- package/dist/components/UserAvatar.svelte.d.ts +11 -0
- package/dist/components/VariablePicker.svelte +170 -0
- package/dist/components/VariablePicker.svelte.d.ts +40 -0
- package/dist/components/VoicePlayer.svelte +422 -0
- package/dist/components/VoicePlayer.svelte.d.ts +18 -0
- package/dist/components/linked-columns/LinkedColumns.svelte +526 -0
- package/dist/components/linked-columns/LinkedColumns.svelte.d.ts +130 -0
- package/dist/components/markup.d.ts +47 -0
- package/dist/components/markup.js +201 -0
- package/dist/components/messaging/Avatar.svelte +81 -0
- package/dist/components/messaging/Avatar.svelte.d.ts +11 -0
- package/dist/components/messaging/ChannelInfoModal.svelte +163 -0
- package/dist/components/messaging/ChannelInfoModal.svelte.d.ts +18 -0
- package/dist/components/messaging/ChannelList.svelte +107 -0
- package/dist/components/messaging/ChannelList.svelte.d.ts +11 -0
- package/dist/components/messaging/ChannelMemberAvatarStack.svelte +69 -0
- package/dist/components/messaging/ChannelMemberAvatarStack.svelte.d.ts +11 -0
- package/dist/components/messaging/ChannelMembersModal.svelte +182 -0
- package/dist/components/messaging/ChannelMembersModal.svelte.d.ts +16 -0
- package/dist/components/messaging/CreateChannelModal.svelte +190 -0
- package/dist/components/messaging/CreateChannelModal.svelte.d.ts +14 -0
- package/dist/components/messaging/DirectMessageList.svelte +145 -0
- package/dist/components/messaging/DirectMessageList.svelte.d.ts +12 -0
- package/dist/components/messaging/EmojiSelector.svelte +261 -0
- package/dist/components/messaging/EmojiSelector.svelte.d.ts +19 -0
- package/dist/components/messaging/MentionAutocomplete.svelte +193 -0
- package/dist/components/messaging/MentionAutocomplete.svelte.d.ts +17 -0
- package/dist/components/messaging/MessageAttachment.svelte +273 -0
- package/dist/components/messaging/MessageAttachment.svelte.d.ts +13 -0
- package/dist/components/messaging/MessageAttachmentUpload.svelte +243 -0
- package/dist/components/messaging/MessageAttachmentUpload.svelte.d.ts +19 -0
- package/dist/components/messaging/MessageInput.svelte +452 -0
- package/dist/components/messaging/MessageInput.svelte.d.ts +28 -0
- package/dist/components/messaging/MessageItem.svelte +341 -0
- package/dist/components/messaging/MessageItem.svelte.d.ts +41 -0
- package/dist/components/messaging/MessageThread.svelte +306 -0
- package/dist/components/messaging/MessageThread.svelte.d.ts +30 -0
- package/dist/components/messaging/NotificationSettingsModal.svelte +234 -0
- package/dist/components/messaging/NotificationSettingsModal.svelte.d.ts +13 -0
- package/dist/components/messaging/QuotedMessageDisplay.svelte +123 -0
- package/dist/components/messaging/QuotedMessageDisplay.svelte.d.ts +10 -0
- package/dist/components/messaging/StartDMModal.svelte +100 -0
- package/dist/components/messaging/StartDMModal.svelte.d.ts +14 -0
- package/dist/components/messaging/ThreadPanel.svelte +153 -0
- package/dist/components/messaging/ThreadPanel.svelte.d.ts +16 -0
- package/dist/components/pipeline/DESIGN.md +361 -0
- package/dist/components/pipeline/Pipeline.svelte +391 -0
- package/dist/components/pipeline/Pipeline.svelte.d.ts +28 -0
- package/dist/components/pipeline/PipelineCard.svelte +94 -0
- package/dist/components/pipeline/PipelineCard.svelte.d.ts +13 -0
- package/dist/components/pipeline/PipelineColumn.svelte +163 -0
- package/dist/components/pipeline/PipelineColumn.svelte.d.ts +30 -0
- package/dist/components/replay/ChapterTimeline.svelte +326 -0
- package/dist/components/replay/ChapterTimeline.svelte.d.ts +39 -0
- package/dist/components/session-nav/transcriptModel.d.ts +132 -0
- package/dist/components/session-nav/transcriptModel.js +285 -0
- package/dist/data/emojis.d.ts +18 -0
- package/dist/data/emojis.js +1196 -0
- package/dist/index.d.ts +142 -0
- package/dist/index.js +142 -0
- package/dist/stores/confirmDialog.svelte.d.ts +21 -0
- package/dist/stores/confirmDialog.svelte.js +31 -0
- package/dist/stores/inputDialog.svelte.d.ts +24 -0
- package/dist/stores/inputDialog.svelte.js +32 -0
- package/dist/styles/rail.css +63 -0
- package/dist/types/annotation.d.ts +32 -0
- package/dist/types/annotation.js +3 -0
- package/dist/types/booking.d.ts +115 -0
- package/dist/types/booking.js +24 -0
- package/dist/types/comments.d.ts +65 -0
- package/dist/types/comments.js +22 -0
- package/dist/types/entityPreview.d.ts +42 -0
- package/dist/types/entityPreview.js +10 -0
- package/dist/types/filePicker.d.ts +15 -0
- package/dist/types/filePicker.js +1 -0
- package/dist/types/googleMaps.d.ts +51 -0
- package/dist/types/maps.d.ts +43 -0
- package/dist/types/maps.js +4 -0
- package/dist/types/messaging.d.ts +282 -0
- package/dist/types/messaging.js +100 -0
- package/dist/types/milestone.d.ts +20 -0
- package/dist/types/milestone.js +7 -0
- package/dist/types/pipeline.d.ts +115 -0
- package/dist/types/pipeline.js +15 -0
- package/dist/types/smartImageEditor.d.ts +42 -0
- package/dist/types/smartImageEditor.js +1 -0
- package/dist/types/templateVars.d.ts +34 -0
- package/dist/types/templateVars.js +12 -0
- package/dist/utils/currency.d.ts +8 -0
- package/dist/utils/currency.js +17 -0
- package/dist/utils/daisyuiColors.d.ts +37 -0
- package/dist/utils/daisyuiColors.js +152 -0
- package/dist/utils/dateFormatters.d.ts +69 -0
- package/dist/utils/dateFormatters.js +199 -0
- package/dist/utils/googleMapsLoader.d.ts +19 -0
- package/dist/utils/googleMapsLoader.js +121 -0
- package/dist/utils/mentionParser.d.ts +67 -0
- package/dist/utils/mentionParser.js +132 -0
- package/dist/utils/phone.d.ts +13 -0
- package/dist/utils/phone.js +67 -0
- package/dist/utils/phoneFormat.d.ts +26 -0
- package/dist/utils/phoneFormat.js +69 -0
- package/dist/utils/taskUtils.d.ts +37 -0
- package/dist/utils/taskUtils.js +71 -0
- package/package.json +3 -2
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phone number formatting utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides consistent phone number formatting as (xxx) xxx-xxxx
|
|
5
|
+
* Limits input to 10 digits and handles formatting as user types
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Strips all non-numeric characters from a phone number
|
|
9
|
+
*/
|
|
10
|
+
export function stripPhoneNumber(value) {
|
|
11
|
+
return value.replace(/\D/g, '');
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Formats a phone number to (xxx) xxx-xxxx format
|
|
15
|
+
*/
|
|
16
|
+
export function formatPhoneNumber(value) {
|
|
17
|
+
var digits = stripPhoneNumber(value);
|
|
18
|
+
var limitedDigits = digits.slice(0, 10);
|
|
19
|
+
if (limitedDigits.length === 0) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
else if (limitedDigits.length <= 3) {
|
|
23
|
+
return "(".concat(limitedDigits);
|
|
24
|
+
}
|
|
25
|
+
else if (limitedDigits.length <= 6) {
|
|
26
|
+
return "(".concat(limitedDigits.slice(0, 3), ") ").concat(limitedDigits.slice(3));
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
return "(".concat(limitedDigits.slice(0, 3), ") ").concat(limitedDigits.slice(3, 6), "-").concat(limitedDigits.slice(6));
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a phone number has exactly 10 digits
|
|
34
|
+
*/
|
|
35
|
+
export function isCompletePhoneNumber(value) {
|
|
36
|
+
return stripPhoneNumber(value).length === 10;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Validates phone number format (exactly 10 digits)
|
|
40
|
+
*/
|
|
41
|
+
export function isValidPhoneNumber(value) {
|
|
42
|
+
return isCompletePhoneNumber(value);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Handles input formatting with cursor position preservation
|
|
46
|
+
*/
|
|
47
|
+
export function updatePhoneInput(input, newValue, oldValue) {
|
|
48
|
+
var cursorPosition = input.selectionStart || 0;
|
|
49
|
+
var oldLength = oldValue.length;
|
|
50
|
+
var newLength = newValue.length;
|
|
51
|
+
input.value = newValue;
|
|
52
|
+
var newCursorPosition = cursorPosition;
|
|
53
|
+
if (newLength > oldLength) {
|
|
54
|
+
newCursorPosition = cursorPosition + (newLength - oldLength);
|
|
55
|
+
}
|
|
56
|
+
else if (newLength < oldLength) {
|
|
57
|
+
newCursorPosition = Math.max(0, cursorPosition - (oldLength - newLength));
|
|
58
|
+
}
|
|
59
|
+
if (newCursorPosition === 1 && newValue.startsWith('(')) {
|
|
60
|
+
newCursorPosition = 1;
|
|
61
|
+
}
|
|
62
|
+
else if (newCursorPosition === 4 && newValue.includes(') ')) {
|
|
63
|
+
newCursorPosition = 6;
|
|
64
|
+
}
|
|
65
|
+
else if (newCursorPosition === 9 && newValue.includes('-')) {
|
|
66
|
+
newCursorPosition = 10;
|
|
67
|
+
}
|
|
68
|
+
input.setSelectionRange(newCursorPosition, newCursorPosition);
|
|
69
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for project_tasks UI.
|
|
3
|
+
* Used across all JST-based projects on tasks/feedback pages.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* DaisyUI badge class for a task status value.
|
|
7
|
+
* Usage: <span class="badge {statusColor(task.status)}">...</span>
|
|
8
|
+
*
|
|
9
|
+
* Aligned to the canonical JAT TASK_STATUS palette
|
|
10
|
+
* (jat/ide/src/lib/config/statusColors.ts → TASK_STATUS_VISUALS) and the
|
|
11
|
+
* committed JST portal palette (jst/src/lib/components/portal/portalStatus.ts
|
|
12
|
+
* → TASK_BADGE) so a task renders the same semantics in JAT-style admin
|
|
13
|
+
* surfaces, the JST portal, and the JAT IDE:
|
|
14
|
+
* open=ghost(neutral) · in_progress=info(blue) · blocked=warning(amber) ·
|
|
15
|
+
* closed=success(green). Paused / mid-flight states (waiting, review) and
|
|
16
|
+
* post-completion states (submitted, accepted, deployed) use the outline
|
|
17
|
+
* variants JAT applies. Where JAT and JST agree (open/in_progress/closed/
|
|
18
|
+
* waiting), this matches both; JAT's statusColors.ts is canonical otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export declare function statusColor(status: string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Tailwind text class for a task priority value.
|
|
23
|
+
* Usage: <span class={priorityColor(task.priority)}>...</span>
|
|
24
|
+
*/
|
|
25
|
+
export declare function priorityColor(priority: string | null | undefined): string;
|
|
26
|
+
/**
|
|
27
|
+
* @deprecated Prefer the `<TaskTypeIcon type={…} />` component — it renders a
|
|
28
|
+
* stroke SVG that inherits `currentColor`, scales precisely, and avoids
|
|
29
|
+
* cross-OS emoji rendering drift. Kept only for backwards compatibility.
|
|
30
|
+
* Usage: {typeIcon(task.issue_type)} {task.title}
|
|
31
|
+
*/
|
|
32
|
+
export declare function typeIcon(type: string): string;
|
|
33
|
+
/**
|
|
34
|
+
* Human-readable label for a task status value.
|
|
35
|
+
* "in_progress" → "In Progress"
|
|
36
|
+
*/
|
|
37
|
+
export declare function statusLabel(status: string): string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared helpers for project_tasks UI.
|
|
3
|
+
* Used across all JST-based projects on tasks/feedback pages.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* DaisyUI badge class for a task status value.
|
|
7
|
+
* Usage: <span class="badge {statusColor(task.status)}">...</span>
|
|
8
|
+
*
|
|
9
|
+
* Aligned to the canonical JAT TASK_STATUS palette
|
|
10
|
+
* (jat/ide/src/lib/config/statusColors.ts → TASK_STATUS_VISUALS) and the
|
|
11
|
+
* committed JST portal palette (jst/src/lib/components/portal/portalStatus.ts
|
|
12
|
+
* → TASK_BADGE) so a task renders the same semantics in JAT-style admin
|
|
13
|
+
* surfaces, the JST portal, and the JAT IDE:
|
|
14
|
+
* open=ghost(neutral) · in_progress=info(blue) · blocked=warning(amber) ·
|
|
15
|
+
* closed=success(green). Paused / mid-flight states (waiting, review) and
|
|
16
|
+
* post-completion states (submitted, accepted, deployed) use the outline
|
|
17
|
+
* variants JAT applies. Where JAT and JST agree (open/in_progress/closed/
|
|
18
|
+
* waiting), this matches both; JAT's statusColors.ts is canonical otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export function statusColor(status) {
|
|
21
|
+
switch (status) {
|
|
22
|
+
case 'open': return 'badge-ghost';
|
|
23
|
+
case 'in_progress': return 'badge-info';
|
|
24
|
+
case 'waiting': return 'badge-info badge-outline';
|
|
25
|
+
case 'review': return 'badge-info badge-outline';
|
|
26
|
+
case 'blocked': return 'badge-warning';
|
|
27
|
+
case 'submitted': return 'badge-secondary badge-outline';
|
|
28
|
+
case 'accepted': return 'badge-success badge-outline';
|
|
29
|
+
case 'deployed': return 'badge-primary badge-outline';
|
|
30
|
+
case 'rejected': return 'badge-warning badge-outline';
|
|
31
|
+
case 'reopened': return 'badge-warning badge-outline';
|
|
32
|
+
case 'closed': return 'badge-success';
|
|
33
|
+
case 'dev': return 'badge-ghost badge-outline';
|
|
34
|
+
default: return 'badge-ghost';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Tailwind text class for a task priority value.
|
|
39
|
+
* Usage: <span class={priorityColor(task.priority)}>...</span>
|
|
40
|
+
*/
|
|
41
|
+
export function priorityColor(priority) {
|
|
42
|
+
switch (priority) {
|
|
43
|
+
case 'critical': return 'text-error font-bold';
|
|
44
|
+
case 'high': return 'text-warning font-semibold';
|
|
45
|
+
case 'medium': return 'text-info';
|
|
46
|
+
case 'low': return 'text-base-content/60';
|
|
47
|
+
default: return '';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @deprecated Prefer the `<TaskTypeIcon type={…} />` component — it renders a
|
|
52
|
+
* stroke SVG that inherits `currentColor`, scales precisely, and avoids
|
|
53
|
+
* cross-OS emoji rendering drift. Kept only for backwards compatibility.
|
|
54
|
+
* Usage: {typeIcon(task.issue_type)} {task.title}
|
|
55
|
+
*/
|
|
56
|
+
export function typeIcon(type) {
|
|
57
|
+
switch (type) {
|
|
58
|
+
case 'bug': return '🐛';
|
|
59
|
+
case 'feature': return '✨';
|
|
60
|
+
case 'task': return '📋';
|
|
61
|
+
case 'epic': return '🏔️';
|
|
62
|
+
default: return '📄';
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Human-readable label for a task status value.
|
|
67
|
+
* "in_progress" → "In Progress"
|
|
68
|
+
*/
|
|
69
|
+
export function statusLabel(status) {
|
|
70
|
+
return status.replace(/_/g, ' ').replace(/\b\w/g, function (c) { return c.toUpperCase(); });
|
|
71
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@joewinke/jatui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.26",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared Svelte 5 component library for JAT projects",
|
|
6
6
|
"type": "module",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"dev": "vite dev --port 5180",
|
|
24
24
|
"build": "vite build",
|
|
25
25
|
"preview": "vite preview",
|
|
26
|
-
"package": "svelte-package --input src/lib --output dist"
|
|
26
|
+
"package": "svelte-package --input src/lib --output dist",
|
|
27
|
+
"prepublishOnly": "npm run package"
|
|
27
28
|
},
|
|
28
29
|
"peerDependencies": {
|
|
29
30
|
"d3": "^7.0.0",
|