@joewinke/jatui 0.1.23 → 0.1.25
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/CLAUDE.md +244 -0
- package/package.json +23 -10
- package/src/lib/actions/collapse.ts +0 -136
- package/src/lib/actions/railNav.ts +0 -473
- package/src/lib/components/AnnotationLayer.svelte +0 -108
- package/src/lib/components/AnnotationPanel.svelte +0 -319
- package/src/lib/components/AudioWaveform.svelte +0 -698
- package/src/lib/components/AvailabilityModal.svelte +0 -177
- package/src/lib/components/AvatarUpload.svelte +0 -234
- package/src/lib/components/Badge.svelte +0 -38
- package/src/lib/components/BookingForm.svelte +0 -278
- package/src/lib/components/BurndownChart.svelte +0 -778
- package/src/lib/components/Button.svelte +0 -81
- package/src/lib/components/CalendarPicker.svelte +0 -284
- package/src/lib/components/Card.svelte +0 -67
- package/src/lib/components/CharacterCounter.svelte +0 -82
- package/src/lib/components/ChipInput.svelte +0 -609
- package/src/lib/components/Collapse.svelte +0 -82
- package/src/lib/components/ColorSelector.svelte +0 -167
- package/src/lib/components/CommentThread.svelte +0 -773
- package/src/lib/components/ConfirmDialog.svelte +0 -348
- package/src/lib/components/ConfirmModal.svelte +0 -142
- package/src/lib/components/ContextMenu.svelte +0 -188
- package/src/lib/components/CountdownTimer.svelte +0 -94
- package/src/lib/components/DateRangePicker.svelte +0 -194
- package/src/lib/components/Drawer.svelte +0 -143
- package/src/lib/components/EmojiPicker.svelte +0 -159
- package/src/lib/components/EntityPreviewCard.svelte +0 -104
- package/src/lib/components/FileDropzone.svelte +0 -493
- package/src/lib/components/FilePicker.svelte +0 -488
- package/src/lib/components/FileThumbnail.svelte +0 -80
- package/src/lib/components/FilterDropdown.svelte +0 -203
- package/src/lib/components/FloatingActionBar.svelte +0 -354
- package/src/lib/components/GPSTracker.svelte +0 -202
- package/src/lib/components/HunkDiffView.svelte +0 -348
- package/src/lib/components/ImageLightbox.svelte +0 -274
- package/src/lib/components/ImageUpload.svelte +0 -147
- package/src/lib/components/InlineEdit.svelte +0 -291
- package/src/lib/components/InputDialog.svelte +0 -327
- package/src/lib/components/KeyboardShortcutsOverlay.svelte +0 -296
- package/src/lib/components/LazyImage.svelte +0 -123
- package/src/lib/components/LinkShortener.svelte +0 -274
- package/src/lib/components/LoadingSpinner.svelte +0 -106
- package/src/lib/components/LocationMap.svelte +0 -186
- package/src/lib/components/MapView.svelte +0 -341
- package/src/lib/components/MarkupEditor.svelte +0 -485
- package/src/lib/components/MarkupOverlay.svelte +0 -55
- package/src/lib/components/MediaWorkbench.svelte +0 -871
- package/src/lib/components/MilestoneCard.svelte +0 -98
- package/src/lib/components/MilestoneTimeline.svelte +0 -91
- package/src/lib/components/Modal.svelte +0 -244
- package/src/lib/components/PDFViewer.svelte +0 -105
- package/src/lib/components/PdfThumbnail.svelte +0 -63
- package/src/lib/components/PhoneInput.svelte +0 -212
- package/src/lib/components/ResizableDivider.svelte +0 -307
- package/src/lib/components/ResizablePanel.svelte +0 -305
- package/src/lib/components/SearchDropdown.svelte +0 -421
- package/src/lib/components/SelectInput.svelte +0 -237
- package/src/lib/components/SidebarUserFooter.svelte +0 -34
- package/src/lib/components/SignaturePad.svelte +0 -175
- package/src/lib/components/SmartImageEditor.svelte +0 -720
- package/src/lib/components/SortDropdown.svelte +0 -156
- package/src/lib/components/Sparkline.svelte +0 -116
- package/src/lib/components/SpeechForm.svelte +0 -114
- package/src/lib/components/StatusBadge.svelte +0 -157
- package/src/lib/components/TaskTypeIcon.svelte +0 -54
- package/src/lib/components/TextArea.svelte +0 -162
- package/src/lib/components/TextInput.svelte +0 -131
- package/src/lib/components/ThemeSelector.svelte +0 -206
- package/src/lib/components/TimeSlotPicker.svelte +0 -162
- package/src/lib/components/UserAvatar.svelte +0 -72
- package/src/lib/components/VariablePicker.svelte +0 -170
- package/src/lib/components/VoicePlayer.svelte +0 -422
- package/src/lib/components/linked-columns/LinkedColumns.svelte +0 -526
- package/src/lib/components/markup.ts +0 -287
- package/src/lib/components/messaging/Avatar.svelte +0 -81
- package/src/lib/components/messaging/ChannelInfoModal.svelte +0 -163
- package/src/lib/components/messaging/ChannelList.svelte +0 -107
- package/src/lib/components/messaging/ChannelMemberAvatarStack.svelte +0 -69
- package/src/lib/components/messaging/ChannelMembersModal.svelte +0 -182
- package/src/lib/components/messaging/CreateChannelModal.svelte +0 -190
- package/src/lib/components/messaging/DirectMessageList.svelte +0 -145
- package/src/lib/components/messaging/EmojiSelector.svelte +0 -261
- package/src/lib/components/messaging/MentionAutocomplete.svelte +0 -193
- package/src/lib/components/messaging/MessageAttachment.svelte +0 -273
- package/src/lib/components/messaging/MessageAttachmentUpload.svelte +0 -243
- package/src/lib/components/messaging/MessageInput.svelte +0 -452
- package/src/lib/components/messaging/MessageItem.svelte +0 -341
- package/src/lib/components/messaging/MessageThread.svelte +0 -306
- package/src/lib/components/messaging/NotificationSettingsModal.svelte +0 -234
- package/src/lib/components/messaging/QuotedMessageDisplay.svelte +0 -123
- package/src/lib/components/messaging/StartDMModal.svelte +0 -100
- package/src/lib/components/messaging/ThreadPanel.svelte +0 -153
- package/src/lib/components/pipeline/DESIGN.md +0 -361
- package/src/lib/components/pipeline/Pipeline.svelte +0 -391
- package/src/lib/components/pipeline/PipelineCard.svelte +0 -94
- package/src/lib/components/pipeline/PipelineColumn.svelte +0 -163
- package/src/lib/components/replay/ChapterTimeline.svelte +0 -326
- package/src/lib/components/session-nav/transcriptModel.ts +0 -352
- package/src/lib/data/emojis.ts +0 -1208
- package/src/lib/index.ts +0 -405
- package/src/lib/stores/confirmDialog.svelte.ts +0 -48
- package/src/lib/stores/inputDialog.svelte.ts +0 -51
- package/src/lib/styles/rail.css +0 -63
- package/src/lib/types/annotation.ts +0 -38
- package/src/lib/types/booking.ts +0 -143
- package/src/lib/types/comments.ts +0 -97
- package/src/lib/types/entityPreview.ts +0 -45
- package/src/lib/types/filePicker.ts +0 -16
- package/src/lib/types/googleMaps.d.ts +0 -51
- package/src/lib/types/maps.ts +0 -43
- package/src/lib/types/messaging.ts +0 -459
- package/src/lib/types/milestone.ts +0 -22
- package/src/lib/types/pipeline.ts +0 -150
- package/src/lib/types/smartImageEditor.ts +0 -39
- package/src/lib/types/templateVars.ts +0 -36
- package/src/lib/utils/currency.ts +0 -20
- package/src/lib/utils/daisyuiColors.ts +0 -243
- package/src/lib/utils/dateFormatters.ts +0 -196
- package/src/lib/utils/googleMapsLoader.ts +0 -84
- package/src/lib/utils/mentionParser.ts +0 -188
- package/src/lib/utils/phone.ts +0 -80
- package/src/lib/utils/phoneFormat.ts +0 -74
- package/src/lib/utils/taskUtils.ts +0 -75
package/src/lib/index.ts
DELETED
|
@@ -1,405 +0,0 @@
|
|
|
1
|
-
// Actions
|
|
2
|
-
export { railNav, createRailNav, cycle } from './actions/railNav';
|
|
3
|
-
export type { RailNavOptions, RailNavController } from './actions/railNav';
|
|
4
|
-
export { collapse } from './actions/collapse';
|
|
5
|
-
export type { CollapseOptions } from './actions/collapse';
|
|
6
|
-
export { default as Collapse } from './components/Collapse.svelte';
|
|
7
|
-
|
|
8
|
-
// Components — Session primitives (from JAT IDE, jat-jj79f.16 G1)
|
|
9
|
-
export { default as LinkedColumns } from './components/linked-columns/LinkedColumns.svelte';
|
|
10
|
-
export type { ColumnLink } from './components/linked-columns/LinkedColumns.svelte';
|
|
11
|
-
|
|
12
|
-
export { default as ChapterTimeline } from './components/replay/ChapterTimeline.svelte';
|
|
13
|
-
export type { ChapterBlock } from './components/replay/ChapterTimeline.svelte';
|
|
14
|
-
|
|
15
|
-
// Data models — Session transcript (from JAT IDE, jat-jj79f.16 G1)
|
|
16
|
-
export {
|
|
17
|
-
buildLinkedSession,
|
|
18
|
-
buildLinkedSessionFromWork,
|
|
19
|
-
rawTypeToState,
|
|
20
|
-
sampleLinkedSession,
|
|
21
|
-
SAMPLE_TRANSCRIPT_LINES,
|
|
22
|
-
} from './components/session-nav/transcriptModel';
|
|
23
|
-
export type {
|
|
24
|
-
ItemKind,
|
|
25
|
-
TranscriptItem,
|
|
26
|
-
FileTouchedEntry,
|
|
27
|
-
SignalNode,
|
|
28
|
-
LinkedSession,
|
|
29
|
-
WorkBlockClient,
|
|
30
|
-
WorkTranscriptItemClient,
|
|
31
|
-
} from './components/session-nav/transcriptModel';
|
|
32
|
-
|
|
33
|
-
// Components — Universal
|
|
34
|
-
export { default as UserAvatar } from './components/UserAvatar.svelte';
|
|
35
|
-
export { default as SidebarUserFooter } from './components/SidebarUserFooter.svelte';
|
|
36
|
-
export { default as TaskTypeIcon } from './components/TaskTypeIcon.svelte';
|
|
37
|
-
|
|
38
|
-
// Components — from JAT IDE
|
|
39
|
-
export { default as ConfirmDialog } from './components/ConfirmDialog.svelte';
|
|
40
|
-
export { showConfirm, confirmDialog, cancelDialog, getPending } from './stores/confirmDialog.svelte';
|
|
41
|
-
export type { ConfirmOptions } from './stores/confirmDialog.svelte';
|
|
42
|
-
export { default as InputDialog } from './components/InputDialog.svelte';
|
|
43
|
-
export { showInput, submitInput, cancelInput, getPendingInput } from './stores/inputDialog.svelte';
|
|
44
|
-
export type { InputOptions } from './stores/inputDialog.svelte';
|
|
45
|
-
export { default as SearchDropdown } from './components/SearchDropdown.svelte';
|
|
46
|
-
export { default as FilterDropdown } from './components/FilterDropdown.svelte';
|
|
47
|
-
export { default as ContextMenu } from './components/ContextMenu.svelte';
|
|
48
|
-
export { default as ChipInput } from './components/ChipInput.svelte';
|
|
49
|
-
export { default as ResizableDivider } from './components/ResizableDivider.svelte';
|
|
50
|
-
export { default as DateRangePicker } from './components/DateRangePicker.svelte';
|
|
51
|
-
export { default as SortDropdown } from './components/SortDropdown.svelte';
|
|
52
|
-
export { default as InlineEdit } from './components/InlineEdit.svelte';
|
|
53
|
-
export { default as FloatingActionBar } from './components/FloatingActionBar.svelte';
|
|
54
|
-
export { default as HunkDiffView } from './components/HunkDiffView.svelte';
|
|
55
|
-
|
|
56
|
-
// Components — from Flush
|
|
57
|
-
export { default as Button } from './components/Button.svelte';
|
|
58
|
-
export { default as Badge } from './components/Badge.svelte';
|
|
59
|
-
export { default as Card } from './components/Card.svelte';
|
|
60
|
-
export { default as Drawer } from './components/Drawer.svelte';
|
|
61
|
-
export { default as Modal } from './components/Modal.svelte';
|
|
62
|
-
export { default as LoadingSpinner } from './components/LoadingSpinner.svelte';
|
|
63
|
-
export { default as StatusBadge } from './components/StatusBadge.svelte';
|
|
64
|
-
export { default as TextInput } from './components/TextInput.svelte';
|
|
65
|
-
export { default as TextArea } from './components/TextArea.svelte';
|
|
66
|
-
export { default as SelectInput } from './components/SelectInput.svelte';
|
|
67
|
-
export { default as PhoneInput } from './components/PhoneInput.svelte';
|
|
68
|
-
|
|
69
|
-
// Components — from Chimaro
|
|
70
|
-
export { default as AudioWaveform } from './components/AudioWaveform.svelte';
|
|
71
|
-
export { default as CharacterCounter } from './components/CharacterCounter.svelte';
|
|
72
|
-
export { default as ColorSelector } from './components/ColorSelector.svelte';
|
|
73
|
-
export { default as ConfirmModal } from './components/ConfirmModal.svelte';
|
|
74
|
-
export { default as CountdownTimer } from './components/CountdownTimer.svelte';
|
|
75
|
-
export { default as ImageUpload } from './components/ImageUpload.svelte';
|
|
76
|
-
export { default as SmartImageEditor } from './components/SmartImageEditor.svelte';
|
|
77
|
-
export { default as LazyImage } from './components/LazyImage.svelte';
|
|
78
|
-
export { default as ResizablePanel } from './components/ResizablePanel.svelte';
|
|
79
|
-
export { default as VoicePlayer } from './components/VoicePlayer.svelte';
|
|
80
|
-
export { default as SpeechForm } from './components/SpeechForm.svelte';
|
|
81
|
-
|
|
82
|
-
// Components — from Headcount
|
|
83
|
-
export { default as ThemeSelector } from './components/ThemeSelector.svelte';
|
|
84
|
-
export { default as Sparkline } from './components/Sparkline.svelte';
|
|
85
|
-
export { default as BurndownChart } from './components/BurndownChart.svelte';
|
|
86
|
-
|
|
87
|
-
// Components — from JST
|
|
88
|
-
export { default as AvatarUpload } from './components/AvatarUpload.svelte';
|
|
89
|
-
export { default as PdfThumbnail } from './components/PdfThumbnail.svelte';
|
|
90
|
-
export { default as FilePicker } from './components/FilePicker.svelte';
|
|
91
|
-
export { default as FileDropzone } from './components/FileDropzone.svelte';
|
|
92
|
-
export { default as FileThumbnail } from './components/FileThumbnail.svelte';
|
|
93
|
-
export { default as EntityPreviewCard } from './components/EntityPreviewCard.svelte';
|
|
94
|
-
|
|
95
|
-
// EntityPreviewCard types
|
|
96
|
-
export type { EntityPreviewData, EntityPreviewStat, EntityPreviewBadge } from './types/entityPreview';
|
|
97
|
-
|
|
98
|
-
// FilePicker types
|
|
99
|
-
export type { FilePickerFile, FilePickerSelection } from './types/filePicker';
|
|
100
|
-
|
|
101
|
-
// FileDropzone types
|
|
102
|
-
export type { FileDropzoneFile } from './components/FileDropzone.svelte';
|
|
103
|
-
|
|
104
|
-
// Components — Document Templates (JST)
|
|
105
|
-
export { default as VariablePicker } from './components/VariablePicker.svelte';
|
|
106
|
-
|
|
107
|
-
// Template variable types
|
|
108
|
-
export type { TemplateVar, TemplateVarGroup } from './types/templateVars';
|
|
109
|
-
|
|
110
|
-
// Components — Emoji
|
|
111
|
-
export { default as EmojiPicker } from './components/EmojiPicker.svelte';
|
|
112
|
-
|
|
113
|
-
// Emoji data
|
|
114
|
-
export { EMOJI_DATA, ALL_EMOJIS, searchEmojis } from './data/emojis';
|
|
115
|
-
export type { EmojiEntry, EmojiGroup } from './data/emojis';
|
|
116
|
-
|
|
117
|
-
// Components — from Meadow
|
|
118
|
-
export { default as LinkShortener } from './components/LinkShortener.svelte';
|
|
119
|
-
|
|
120
|
-
// Components — Media
|
|
121
|
-
export { default as MediaWorkbench } from './components/MediaWorkbench.svelte';
|
|
122
|
-
|
|
123
|
-
// Components — from Marduk
|
|
124
|
-
export { default as SignaturePad } from './components/SignaturePad.svelte';
|
|
125
|
-
export { default as MilestoneCard } from './components/MilestoneCard.svelte';
|
|
126
|
-
export { default as MilestoneTimeline } from './components/MilestoneTimeline.svelte';
|
|
127
|
-
export { default as TimeSlotPicker } from './components/TimeSlotPicker.svelte';
|
|
128
|
-
export { default as CalendarPicker } from './components/CalendarPicker.svelte';
|
|
129
|
-
export { default as AvailabilityModal } from './components/AvailabilityModal.svelte';
|
|
130
|
-
export { default as BookingForm } from './components/BookingForm.svelte';
|
|
131
|
-
|
|
132
|
-
// Component types — Meadow
|
|
133
|
-
export type { ShortenedLink } from './components/LinkShortener.svelte';
|
|
134
|
-
|
|
135
|
-
// Component types — JAT IDE
|
|
136
|
-
export type { SearchDropdownOption, SearchDropdownGroup } from './components/SearchDropdown.svelte';
|
|
137
|
-
export type { ChipSuggestion, SuggestionGroup, ChipInfo } from './components/ChipInput.svelte';
|
|
138
|
-
export type { SortOption } from './components/SortDropdown.svelte';
|
|
139
|
-
export type { ContextMenuItem } from './components/ContextMenu.svelte';
|
|
140
|
-
export type { DisplaySegment } from './components/InlineEdit.svelte';
|
|
141
|
-
export type { ActionButton, ActionDropdown, DropdownItem } from './components/FloatingActionBar.svelte';
|
|
142
|
-
|
|
143
|
-
// Component types — Flush
|
|
144
|
-
export type { SelectOption } from './components/SelectInput.svelte';
|
|
145
|
-
export type { StatusValue } from './components/StatusBadge.svelte';
|
|
146
|
-
|
|
147
|
-
// Milestone types (from JST contract/billing)
|
|
148
|
-
export type { Milestone, MilestoneStatus } from './types/milestone';
|
|
149
|
-
|
|
150
|
-
// Booking types (centralized)
|
|
151
|
-
export type {
|
|
152
|
-
LocationType,
|
|
153
|
-
BookingStatus,
|
|
154
|
-
OverrideType,
|
|
155
|
-
Host,
|
|
156
|
-
EventType,
|
|
157
|
-
WeeklyAvailability,
|
|
158
|
-
DateOverride,
|
|
159
|
-
Booking,
|
|
160
|
-
BookingAttendee,
|
|
161
|
-
TimeSlot,
|
|
162
|
-
BookingFormData,
|
|
163
|
-
AvailabilityCounts
|
|
164
|
-
} from './types/booking';
|
|
165
|
-
export {
|
|
166
|
-
DAYS_OF_WEEK,
|
|
167
|
-
DAYS_SHORT,
|
|
168
|
-
LOCATION_LABELS,
|
|
169
|
-
LOCATION_ICONS
|
|
170
|
-
} from './types/booking';
|
|
171
|
-
|
|
172
|
-
// SmartImageEditor types
|
|
173
|
-
export type {
|
|
174
|
-
ImageVariantSpec,
|
|
175
|
-
ImageProcessingSpec,
|
|
176
|
-
VariantResult,
|
|
177
|
-
VariantState,
|
|
178
|
-
} from './types/smartImageEditor';
|
|
179
|
-
|
|
180
|
-
// Utilities — date formatting
|
|
181
|
-
export {
|
|
182
|
-
normalizeTimestamp,
|
|
183
|
-
parseTimestamp,
|
|
184
|
-
formatRelativeTime,
|
|
185
|
-
formatFullDate,
|
|
186
|
-
formatShortDate,
|
|
187
|
-
formatLastActivity,
|
|
188
|
-
formatDate,
|
|
189
|
-
getTimeSinceMs,
|
|
190
|
-
getTimeSinceMinutes,
|
|
191
|
-
isWithinMinutes,
|
|
192
|
-
formatDateTime,
|
|
193
|
-
taskAge,
|
|
194
|
-
} from './utils/dateFormatters';
|
|
195
|
-
// Utilities — task display helpers
|
|
196
|
-
export {
|
|
197
|
-
statusColor,
|
|
198
|
-
priorityColor,
|
|
199
|
-
typeIcon,
|
|
200
|
-
statusLabel,
|
|
201
|
-
} from './utils/taskUtils';
|
|
202
|
-
|
|
203
|
-
// Utilities — phone formatting (legacy US-only)
|
|
204
|
-
export {
|
|
205
|
-
stripPhoneNumber,
|
|
206
|
-
formatPhoneNumber,
|
|
207
|
-
isCompletePhoneNumber,
|
|
208
|
-
isValidPhoneNumber,
|
|
209
|
-
updatePhoneInput
|
|
210
|
-
} from './utils/phoneFormat';
|
|
211
|
-
|
|
212
|
-
// Utilities — international phone (E.164) — pairs with PhoneInput
|
|
213
|
-
export {
|
|
214
|
-
toE164,
|
|
215
|
-
formatPhoneForDisplay,
|
|
216
|
-
isValidPhone,
|
|
217
|
-
listCountries,
|
|
218
|
-
DEFAULT_COUNTRY,
|
|
219
|
-
PRIORITY_COUNTRIES,
|
|
220
|
-
type CountryOption,
|
|
221
|
-
} from './utils/phone';
|
|
222
|
-
|
|
223
|
-
// Utilities — currency
|
|
224
|
-
export { formatCurrency } from './utils/currency';
|
|
225
|
-
|
|
226
|
-
// Utilities — DaisyUI colors (Canvas/JS contexts)
|
|
227
|
-
export {
|
|
228
|
-
getDaisyUIColor,
|
|
229
|
-
lightenColor,
|
|
230
|
-
darkenColor,
|
|
231
|
-
watchThemeChanges,
|
|
232
|
-
isDarkTheme,
|
|
233
|
-
getCurrentTheme,
|
|
234
|
-
clearColorCache
|
|
235
|
-
} from './utils/daisyuiColors';
|
|
236
|
-
|
|
237
|
-
// Components — Messaging (from Flush)
|
|
238
|
-
export { default as Avatar } from './components/messaging/Avatar.svelte';
|
|
239
|
-
export { default as ChannelList } from './components/messaging/ChannelList.svelte';
|
|
240
|
-
export { default as ChannelMemberAvatarStack } from './components/messaging/ChannelMemberAvatarStack.svelte';
|
|
241
|
-
export { default as DirectMessageList } from './components/messaging/DirectMessageList.svelte';
|
|
242
|
-
export { default as EmojiSelector } from './components/messaging/EmojiSelector.svelte';
|
|
243
|
-
export { default as MentionAutocomplete } from './components/messaging/MentionAutocomplete.svelte';
|
|
244
|
-
export { default as MessageAttachment } from './components/messaging/MessageAttachment.svelte';
|
|
245
|
-
export { default as MessageAttachmentUpload } from './components/messaging/MessageAttachmentUpload.svelte';
|
|
246
|
-
export { default as MessageInput } from './components/messaging/MessageInput.svelte';
|
|
247
|
-
export { default as MessageItem } from './components/messaging/MessageItem.svelte';
|
|
248
|
-
export { default as MessageThread } from './components/messaging/MessageThread.svelte';
|
|
249
|
-
export { default as QuotedMessageDisplay } from './components/messaging/QuotedMessageDisplay.svelte';
|
|
250
|
-
export { default as ThreadPanel } from './components/messaging/ThreadPanel.svelte';
|
|
251
|
-
export { default as CreateChannelModal } from './components/messaging/CreateChannelModal.svelte';
|
|
252
|
-
export { default as StartDMModal } from './components/messaging/StartDMModal.svelte';
|
|
253
|
-
export { default as ChannelInfoModal } from './components/messaging/ChannelInfoModal.svelte';
|
|
254
|
-
export { default as ChannelMembersModal } from './components/messaging/ChannelMembersModal.svelte';
|
|
255
|
-
export { default as NotificationSettingsModal } from './components/messaging/NotificationSettingsModal.svelte';
|
|
256
|
-
|
|
257
|
-
// Messaging types
|
|
258
|
-
export type {
|
|
259
|
-
Message,
|
|
260
|
-
QuotedMessage,
|
|
261
|
-
MessageAttachment as MessageAttachmentType,
|
|
262
|
-
PendingAttachment,
|
|
263
|
-
Channel,
|
|
264
|
-
ChannelMember,
|
|
265
|
-
DirectConversation,
|
|
266
|
-
OrgMember,
|
|
267
|
-
EmojiCategory,
|
|
268
|
-
SkinTone,
|
|
269
|
-
StandardEmoji,
|
|
270
|
-
CustomEmoji,
|
|
271
|
-
EmojiReaction,
|
|
272
|
-
ReactionSummary,
|
|
273
|
-
EmojiSelection,
|
|
274
|
-
EmojiPreferences,
|
|
275
|
-
EmojiCategoryInfo,
|
|
276
|
-
SkinToneInfo,
|
|
277
|
-
MentionItem,
|
|
278
|
-
NotificationPreferences,
|
|
279
|
-
PresenceState,
|
|
280
|
-
MessageCallbacks,
|
|
281
|
-
ReactionCallbacks,
|
|
282
|
-
AttachmentCallbacks,
|
|
283
|
-
MentionCallbacks,
|
|
284
|
-
EmojiCallbacks,
|
|
285
|
-
ChannelCallbacks,
|
|
286
|
-
ThreadCallbacks,
|
|
287
|
-
NotificationCallbacks
|
|
288
|
-
} from './types/messaging';
|
|
289
|
-
export {
|
|
290
|
-
EMOJI_CATEGORIES,
|
|
291
|
-
SKIN_TONES,
|
|
292
|
-
DEFAULT_QUICK_REACTIONS
|
|
293
|
-
} from './types/messaging';
|
|
294
|
-
|
|
295
|
-
// Components — Pipeline
|
|
296
|
-
export { default as Pipeline } from './components/pipeline/Pipeline.svelte';
|
|
297
|
-
export { default as PipelineColumn } from './components/pipeline/PipelineColumn.svelte';
|
|
298
|
-
export { default as PipelineCard } from './components/pipeline/PipelineCard.svelte';
|
|
299
|
-
|
|
300
|
-
// Pipeline types
|
|
301
|
-
export type {
|
|
302
|
-
PipelineStage,
|
|
303
|
-
StageColors,
|
|
304
|
-
PipelineItem,
|
|
305
|
-
PipelineMetric,
|
|
306
|
-
StageMetrics,
|
|
307
|
-
PipelineViewMode,
|
|
308
|
-
PipelineTableColumn,
|
|
309
|
-
PipelineDragConfig,
|
|
310
|
-
PipelineConfig,
|
|
311
|
-
PipelineStageChangeEvent,
|
|
312
|
-
PipelineItemClickEvent
|
|
313
|
-
} from './types/pipeline';
|
|
314
|
-
export {
|
|
315
|
-
DEFAULT_DRAG_CONFIG,
|
|
316
|
-
DEFAULT_PIPELINE_CONFIG
|
|
317
|
-
} from './types/pipeline';
|
|
318
|
-
|
|
319
|
-
// Utilities — mention parsing
|
|
320
|
-
export {
|
|
321
|
-
parseMentions,
|
|
322
|
-
renderMentionsAsHTML,
|
|
323
|
-
createMentionString,
|
|
324
|
-
extractPlainText,
|
|
325
|
-
findMentionAtCursor,
|
|
326
|
-
findPartialMention,
|
|
327
|
-
replaceMentionInContent,
|
|
328
|
-
escapeHTML,
|
|
329
|
-
countMentions,
|
|
330
|
-
setMentionUrlGenerator
|
|
331
|
-
} from './utils/mentionParser';
|
|
332
|
-
|
|
333
|
-
// Components — Comments (universal threaded comments)
|
|
334
|
-
export { default as CommentThread } from './components/CommentThread.svelte';
|
|
335
|
-
|
|
336
|
-
// Comment types
|
|
337
|
-
export type {
|
|
338
|
-
Comment,
|
|
339
|
-
CommentEntityType,
|
|
340
|
-
CommentVisibility,
|
|
341
|
-
CommentCreateInput,
|
|
342
|
-
CommentCallbacks
|
|
343
|
-
} from './types/comments';
|
|
344
|
-
export { COMMENT_ENTITY_TYPES, COMMENT_VISIBILITIES } from './types/comments';
|
|
345
|
-
|
|
346
|
-
// Components — PDF Viewer (server-side PDFium WASM rendering, no client pdf.js)
|
|
347
|
-
export { default as PDFViewer } from './components/PDFViewer.svelte';
|
|
348
|
-
|
|
349
|
-
// Components — Document annotation suite (from Steelbridge FileManager)
|
|
350
|
-
export { default as MarkupEditor } from './components/MarkupEditor.svelte';
|
|
351
|
-
export { default as MarkupOverlay } from './components/MarkupOverlay.svelte';
|
|
352
|
-
export { default as ImageLightbox } from './components/ImageLightbox.svelte';
|
|
353
|
-
export { default as AnnotationLayer } from './components/AnnotationLayer.svelte';
|
|
354
|
-
export { default as AnnotationPanel } from './components/AnnotationPanel.svelte';
|
|
355
|
-
|
|
356
|
-
// Markup drawing utilities
|
|
357
|
-
export {
|
|
358
|
-
MARKUP_COLORS,
|
|
359
|
-
DEFAULT_STROKE_WIDTH,
|
|
360
|
-
renderShape,
|
|
361
|
-
renderAllShapes,
|
|
362
|
-
nextShapeId,
|
|
363
|
-
} from './components/markup';
|
|
364
|
-
|
|
365
|
-
// Markup + annotation types
|
|
366
|
-
export type {
|
|
367
|
-
MarkupTool,
|
|
368
|
-
Point,
|
|
369
|
-
MarkupShape,
|
|
370
|
-
ArrowShape,
|
|
371
|
-
RectangleShape,
|
|
372
|
-
EllipseShape,
|
|
373
|
-
CloudShape,
|
|
374
|
-
FreehandShape,
|
|
375
|
-
TextShape,
|
|
376
|
-
} from './components/markup';
|
|
377
|
-
|
|
378
|
-
export type {
|
|
379
|
-
Annotation,
|
|
380
|
-
AnnotationProfile,
|
|
381
|
-
AnnotationThread,
|
|
382
|
-
AnnotationCallbacks,
|
|
383
|
-
} from './types/annotation';
|
|
384
|
-
|
|
385
|
-
// Components — Keyboard Navigation
|
|
386
|
-
export { default as KeyboardShortcutsOverlay } from './components/KeyboardShortcutsOverlay.svelte';
|
|
387
|
-
export type {
|
|
388
|
-
KeyboardShortcut,
|
|
389
|
-
SectionEntry as KeyboardShortcutSectionEntry,
|
|
390
|
-
ShortcutSection as KeyboardShortcutSection,
|
|
391
|
-
} from './components/KeyboardShortcutsOverlay.svelte';
|
|
392
|
-
|
|
393
|
-
// Components — Google Maps (DispatchMap fork + location primitives)
|
|
394
|
-
export { default as MapView } from './components/MapView.svelte';
|
|
395
|
-
export { default as LocationMap } from './components/LocationMap.svelte';
|
|
396
|
-
export { default as GPSTracker } from './components/GPSTracker.svelte';
|
|
397
|
-
export type { MapJob, MapAgent } from './types/maps';
|
|
398
|
-
|
|
399
|
-
// Utilities — Google Maps loader
|
|
400
|
-
export {
|
|
401
|
-
loadGoogleMapsAPI,
|
|
402
|
-
isGoogleMapsLoaded,
|
|
403
|
-
isPlacesLoaded,
|
|
404
|
-
isGeometryLoaded,
|
|
405
|
-
} from './utils/googleMapsLoader';
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global promise-based confirm dialog.
|
|
3
|
-
* Usage: const ok = await showConfirm({ title: '...', body: '...' })
|
|
4
|
-
*/
|
|
5
|
-
|
|
6
|
-
export type ConfirmOptions = {
|
|
7
|
-
title: string;
|
|
8
|
-
body?: string;
|
|
9
|
-
confirmLabel?: string;
|
|
10
|
-
cancelLabel?: string;
|
|
11
|
-
danger?: boolean;
|
|
12
|
-
timeoutMs?: number; // auto-cancel after this ms; 0 = no timeout (default 8000)
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
type Pending = {
|
|
16
|
-
options: ConfirmOptions;
|
|
17
|
-
resolve: (result: boolean) => void;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
let pending = $state<Pending | null>(null);
|
|
21
|
-
|
|
22
|
-
export function getPending(): Pending | null {
|
|
23
|
-
return pending;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function showConfirm(options: ConfirmOptions): Promise<boolean> {
|
|
27
|
-
// If a dialog is already open, cancel it first.
|
|
28
|
-
if (pending) {
|
|
29
|
-
pending.resolve(false);
|
|
30
|
-
}
|
|
31
|
-
return new Promise<boolean>((resolve) => {
|
|
32
|
-
pending = { options, resolve };
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export function confirmDialog(): void {
|
|
37
|
-
if (!pending) return;
|
|
38
|
-
const p = pending;
|
|
39
|
-
pending = null;
|
|
40
|
-
p.resolve(true);
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export function cancelDialog(): void {
|
|
44
|
-
if (!pending) return;
|
|
45
|
-
const p = pending;
|
|
46
|
-
pending = null;
|
|
47
|
-
p.resolve(false);
|
|
48
|
-
}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Global promise-based input dialog.
|
|
3
|
-
* Usage: const value = await showInput({ title: '...', placeholder: '...' })
|
|
4
|
-
* Returns the typed string if confirmed, null if cancelled.
|
|
5
|
-
*/
|
|
6
|
-
|
|
7
|
-
export type InputOptions = {
|
|
8
|
-
title: string;
|
|
9
|
-
body?: string;
|
|
10
|
-
placeholder?: string;
|
|
11
|
-
confirmLabel?: string;
|
|
12
|
-
cancelLabel?: string;
|
|
13
|
-
timeoutMs?: number; // reserved; InputDialog never auto-cancels (user is typing)
|
|
14
|
-
validate?: (value: string) => string | null; // null = valid, string = error message
|
|
15
|
-
maxLength?: number;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
type Pending = {
|
|
19
|
-
options: InputOptions;
|
|
20
|
-
resolve: (result: string | null) => void;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
let pending = $state<Pending | null>(null);
|
|
24
|
-
|
|
25
|
-
export function getPendingInput(): Pending | null {
|
|
26
|
-
return pending;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export function showInput(options: InputOptions): Promise<string | null> {
|
|
30
|
-
// If a dialog is already open, cancel it first.
|
|
31
|
-
if (pending) {
|
|
32
|
-
pending.resolve(null);
|
|
33
|
-
}
|
|
34
|
-
return new Promise<string | null>((resolve) => {
|
|
35
|
-
pending = { options, resolve };
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
export function submitInput(value: string): void {
|
|
40
|
-
if (!pending) return;
|
|
41
|
-
const p = pending;
|
|
42
|
-
pending = null;
|
|
43
|
-
p.resolve(value);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
export function cancelInput(): void {
|
|
47
|
-
if (!pending) return;
|
|
48
|
-
const p = pending;
|
|
49
|
-
pending = null;
|
|
50
|
-
p.resolve(null);
|
|
51
|
-
}
|
package/src/lib/styles/rail.css
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* rail.css — keyboard rail-navigation primitives
|
|
3
|
-
*
|
|
4
|
-
* Provides focus-ring and value-change-pulse treatments for rail-nav
|
|
5
|
-
* components (vertical or horizontal keyboard-navigable lists where each
|
|
6
|
-
* rung carries a [data-rail-id] attribute).
|
|
7
|
-
*
|
|
8
|
-
* Usage: import once in your app's root layout or global stylesheet:
|
|
9
|
-
* @import '@joewinke/jatui/src/lib/styles/rail.css';
|
|
10
|
-
*
|
|
11
|
-
* Token: var(--color-primary) — DaisyUI v5 primary (resolves to the
|
|
12
|
-
* consuming app's active theme primary hue).
|
|
13
|
-
*
|
|
14
|
-
* Naming contract (must match the companion railNav Svelte action):
|
|
15
|
-
* - Active-rung focus treatment: [data-rail-id]:focus-visible selector
|
|
16
|
-
* AND .rail-focus utility class (both route to the same ring + tint).
|
|
17
|
-
* - Value-change one-shot pulse: .rail-cycled (added by the action,
|
|
18
|
-
* removed after the animation fires).
|
|
19
|
-
*
|
|
20
|
-
* Design rules enforced:
|
|
21
|
-
* - Ring + tint only — NO colored side-stripe (§6 Don't: border-l/r > 1px).
|
|
22
|
-
* - No box-shadow at rest; shadow only during the pulse keyframe.
|
|
23
|
-
* - Respects prefers-reduced-motion.
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
/* ─── Active-rung focus ring ───────────────────────────────────────────────
|
|
27
|
-
Applied via :focus-visible on the rung element (attribute-based, works
|
|
28
|
-
without adding a class) AND via .rail-focus (explicit class, same visual).
|
|
29
|
-
The ring is primary-tinted at 65% opacity; border-radius matches DaisyUI's
|
|
30
|
-
field radius token (falls back to 0.25rem). No side-stripe. No shadow at
|
|
31
|
-
rest (Flat-by-Default rule). ─────────────────────────────────────────── */
|
|
32
|
-
|
|
33
|
-
[data-rail-id]:focus-visible,
|
|
34
|
-
[data-rail-id]:has(:focus-visible),
|
|
35
|
-
.rail-focus {
|
|
36
|
-
outline: 2px solid color-mix(in oklch, var(--color-primary) 65%, transparent);
|
|
37
|
-
outline-offset: 2px;
|
|
38
|
-
border-radius: var(--radius-field, 0.25rem);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/* ─── Value-change pulse ────────────────────────────────────────────────────
|
|
42
|
-
One-shot animation applied by the railNav action when the rung's bound
|
|
43
|
-
value changes. Scales up 2.5% and blooms a brief primary-hued glow ring,
|
|
44
|
-
then returns to rest. Duration 260ms — fast enough to feel snappy,
|
|
45
|
-
long enough to register as intentional feedback.
|
|
46
|
-
Box-shadow (not outline) is used here so it can animate smoothly;
|
|
47
|
-
outline transitions are not interpolated by CSS. ─────────────────────── */
|
|
48
|
-
|
|
49
|
-
@keyframes rail-cycled {
|
|
50
|
-
0% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in oklch, var(--color-primary) 0%, transparent); }
|
|
51
|
-
35% { transform: scale(1.025); box-shadow: 0 0 0 3px color-mix(in oklch, var(--color-primary) 32%, transparent); }
|
|
52
|
-
100% { transform: scale(1); box-shadow: 0 0 0 0 color-mix(in oklch, var(--color-primary) 0%, transparent); }
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.rail-cycled {
|
|
56
|
-
animation: rail-cycled 0.26s cubic-bezier(0.22, 1, 0.36, 1);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
@media (prefers-reduced-motion: reduce) {
|
|
60
|
-
.rail-cycled {
|
|
61
|
-
animation: none;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
// Annotation types for document/image annotation suite
|
|
2
|
-
// Used by AnnotationLayer, AnnotationPanel, ImageLightbox
|
|
3
|
-
|
|
4
|
-
export interface Annotation {
|
|
5
|
-
id: string
|
|
6
|
-
user_id: string
|
|
7
|
-
x_percent: number
|
|
8
|
-
y_percent: number
|
|
9
|
-
content: string
|
|
10
|
-
parent_annotation_id: string | null
|
|
11
|
-
resolved: boolean
|
|
12
|
-
resolved_by: string | null
|
|
13
|
-
resolved_at: string | null
|
|
14
|
-
created_at: string
|
|
15
|
-
updated_at: string
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export interface AnnotationProfile {
|
|
19
|
-
full_name: string | null
|
|
20
|
-
avatar_url: string | null
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export interface AnnotationThread {
|
|
24
|
-
root: Annotation
|
|
25
|
-
replies: Annotation[]
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/** Callbacks for AnnotationPanel async operations */
|
|
29
|
-
export interface AnnotationCallbacks {
|
|
30
|
-
/** Post a reply to a root annotation. Must return the new annotation or throw. */
|
|
31
|
-
onAddReply: (parentId: string, content: string) => Promise<void>
|
|
32
|
-
/** Toggle resolved state. */
|
|
33
|
-
onResolve: (annotationId: string, resolved: boolean) => Promise<void>
|
|
34
|
-
/** Delete an annotation (and its replies). */
|
|
35
|
-
onDelete: (annotationId: string) => Promise<void>
|
|
36
|
-
/** Edit annotation content. */
|
|
37
|
-
onEdit: (annotationId: string, content: string) => Promise<void>
|
|
38
|
-
}
|