@crewlethq/ui 0.84.1 → 0.84.2

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/README.md CHANGED
@@ -205,6 +205,10 @@ places:
205
205
  - A surface that pans or zooms dispatches `LAYER_REPOSITION_EVENT` on its host
206
206
  when the content beneath it moves, and every panel anchored inside follows.
207
207
 
208
+ ## Changes in 0.84.2
209
+
210
+ **A directory's lines run to the hairline.** In a `ListDetail` the list pane kept its end inset (`--crewlet-list-detail-gutter`, 32px) before the hairline, and a `DirectoryList` inside it kept its own step and its scrollbar's gutter as well, so a line's state ("In use", "Connected") ended 60px before the line beside it. A list pane holding a `DirectoryList` now gives its end inset back: the lines end at the groups' own step before the scrollbar, as the rail's rows end at its edge. Every other list keeps the inset, and folded to one pane the list takes the screen's inset as before. Props are unchanged.
211
+
208
212
  ## Changes in 0.84.1
209
213
 
210
214
  **A face's status badge is a quarter of the face.** `Avatar`'s corner badge was 0.3 of the face and never under 10px, so it was half of a 20px face and a third of a 32px one, and read as a second face beside the first. It is now 0.25 of the face and never under 8px, hangs 0.04 of the face past the corner (at least a pixel), and its notch is 1.5px instead of 2px: 8px on 20, 26 and 32px faces, 10px on a 40px face and 16px on a 64px one, where it was 10, 10, 10, 12 and 19px. A `mark` sits in the same corner and takes the same size. The variables are unchanged (`--crewlet-avatar-status-size`, `--crewlet-avatar-status-overhang`, `--crewlet-avatar-status-gap`), and so are the props. Story: `Avatar` Status Sizes.
@@ -1,7 +1,7 @@
1
- export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-IYI6HWKN.js';
1
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-CV2LU2T2.js';
2
2
  import '../chunk-RJWO2PC5.js';
3
- import '../chunk-RQFRRPV6.js';
4
3
  import '../chunk-ZWCK4N4L.js';
4
+ import '../chunk-RQFRRPV6.js';
5
5
  import '../chunk-FLW5U7YS.js';
6
6
  import '../chunk-LBGKLYBY.js';
7
7
  import '../chunk-U2IQNDDR.js';
@@ -1,2 +1,2 @@
1
- export { ListDetail } from '../chunk-O4VTQMEF.js';
1
+ export { ListDetail } from '../chunk-SNJM5KPV.js';
2
2
  import '../chunk-ODEQTPFM.js';
@@ -74,6 +74,18 @@
74
74
  border-right: 1px solid var(--color-border-default);
75
75
  }
76
76
 
77
+ /* A DIRECTORY RUNS TO THE HAIRLINE. A DirectoryList is navigation: its lines
78
+ draw their own inset and their hover and selected grounds, as the rail's
79
+ do, and its groups keep their own step before the scrollbar. Inside the
80
+ list's inset as well, a line's state ended 60px before the hairline, a
81
+ column of nothing between the word and the line it stands against. So a
82
+ list pane holding one gives its end inset back, and the lines run to the
83
+ hairline as the rail's run to its edge. Folded to one pane, the pane takes
84
+ the screen's inset again (below). */
85
+ .crewlet-list-detail__list:has(> .crewlet-directory) {
86
+ padding-right: 0;
87
+ }
88
+
77
89
  .crewlet-list-detail__detail {
78
90
  display: flex;
79
91
  flex-direction: column;
@@ -1,5 +1,5 @@
1
1
  import { cx } from './chunk-ODEQTPFM.js';
2
- import './ListDetail-JGESKTR7.css';
2
+ import './ListDetail-Q7SFVKSO.css';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
4
 
5
5
  function ListDetail({ list, children, showing = "list", className, ...rest }) {
@@ -1,6 +1,6 @@
1
1
  import '../chunk-REEZQCML.js';
2
- export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-G3CACE5L.js';
3
2
  export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from '../chunk-RBQRTGXX.js';
3
+ export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from '../chunk-G3CACE5L.js';
4
4
  export { VersionTimeline } from '../chunk-L5VU3LZT.js';
5
5
  export { WidgetFrame } from '../chunk-5K5SZGBI.js';
6
6
  export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from '../chunk-KBSD476L.js';
@@ -11,19 +11,18 @@ export { DensitySwitcher, ThemeSwitcher } from '../chunk-5V6GW6HK.js';
11
11
  export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
12
12
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
13
13
  export { THREAD_SUMMARY_LABELS, ThreadSummary } from '../chunk-QPYGJ7R7.js';
14
+ export { TileGrid } from '../chunk-UFID3DSP.js';
14
15
  export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-ZJVLGYE3.js';
15
16
  export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-T3S3D4FC.js';
16
- export { TileGrid } from '../chunk-UFID3DSP.js';
17
+ export { Switcher } from '../chunk-7M7WKYOV.js';
17
18
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-AFLS26AC.js';
18
19
  export { TagsInput } from '../chunk-77VOASOY.js';
19
20
  export { ThemeGallery } from '../chunk-NXBCAXP5.js';
20
21
  export { ThemeSwatch } from '../chunk-3XQUEF5C.js';
21
22
  export { StatGroup } from '../chunk-OUD75UB2.js';
22
23
  export { Statement } from '../chunk-MZJKPTA5.js';
23
- export { Switcher } from '../chunk-7M7WKYOV.js';
24
- export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-XJMES7AE.js';
25
- export { SlideFilmstrip } from '../chunk-RO5JU6SN.js';
26
24
  export { SlideGrid } from '../chunk-6M2N6ETA.js';
25
+ export { SlideFilmstrip } from '../chunk-RO5JU6SN.js';
27
26
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-PW57R4BN.js';
28
27
  export { StatCard } from '../chunk-G5IZGAWS.js';
29
28
  export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from '../chunk-AQNP3KQU.js';
@@ -32,13 +31,14 @@ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSel
32
31
  export { TagGroup } from '../chunk-UEOEBOBR.js';
33
32
  export { matchesShortcut, useShortcut } from '../chunk-LZNPL266.js';
34
33
  import '../chunk-5AHNW5CP.js';
35
- export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
34
+ export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-XJMES7AE.js';
36
35
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-7BDBO2NP.js';
37
36
  export { NavGroup, NavItem, SidebarNav } from '../chunk-BRK3HXGZ.js';
37
+ export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
38
38
  export { Select } from '../chunk-3IWZVEXA.js';
39
39
  export { SelectionBar } from '../chunk-XA2QKGBJ.js';
40
- export { SEND_BUTTON_LABELS, SendButton } from '../chunk-T2GC7UAP.js';
41
40
  export { SettingsTable, SettingsTableRow } from '../chunk-WL4TC4YZ.js';
41
+ export { SEND_BUTTON_LABELS, SendButton } from '../chunk-T2GC7UAP.js';
42
42
  export { SetupWizard } from '../chunk-K6RWEQ6P.js';
43
43
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-2L4WHYMT.js';
44
44
  export { Table } from '../chunk-75NQV4R4.js';
@@ -61,13 +61,15 @@ export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
61
61
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-O6EV6GKI.js';
62
62
  export { PricingCard } from '../chunk-X3US25XJ.js';
63
63
  export { PrincipalPicker } from '../chunk-Q6TCUSQA.js';
64
- export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-P7HMY3BQ.js';
65
64
  export { PropertyList } from '../chunk-OPVTNHPH.js';
65
+ export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-P7HMY3BQ.js';
66
66
  export { Prose } from '../chunk-DVVP27OD.js';
67
67
  export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from '../chunk-Y56FM3K4.js';
68
- export { FactLine, ObjectHeader, SetByLine } from '../chunk-AXEXOAZQ.js';
68
+ export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-QGEDXYLB.js';
69
69
  export { PinTile } from '../chunk-LJ3KWQLP.js';
70
70
  export { PresenceStack } from '../chunk-F7HZYTZT.js';
71
+ import '../chunk-CENOOTAV.js';
72
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4EHZHKM.js';
71
73
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-NKBKHOMU.js';
72
74
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from '../chunk-DWQYV5AV.js';
73
75
  export { TreeGrid } from '../chunk-ZDWAIVWL.js';
@@ -75,15 +77,13 @@ export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, lay
75
77
  export { OrgLabel } from '../chunk-5YXMKZUA.js';
76
78
  export { Outline, scrollToHeading, useActiveHeading } from '../chunk-7QCSISHM.js';
77
79
  export { PageNote } from '../chunk-CV4NES3P.js';
78
- export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-QGEDXYLB.js';
79
- import '../chunk-CENOOTAV.js';
80
80
  export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from '../chunk-CDNZTCP2.js';
81
81
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from '../chunk-C42XW5YP.js';
82
82
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from '../chunk-LT44RL62.js';
83
83
  import '../chunk-TDFLCUBE.js';
84
84
  export { MessageBubble } from '../chunk-KAQ2L74F.js';
85
85
  export { NewItemsNotice } from '../chunk-463DNZXI.js';
86
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4EHZHKM.js';
86
+ export { FactLine, ObjectHeader, SetByLine } from '../chunk-AXEXOAZQ.js';
87
87
  export { LogoSlot, LogoSlotGroup } from '../chunk-6SFDL4QH.js';
88
88
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-TQKQRS2J.js';
89
89
  export { MentionChip } from '../chunk-PX5BOALQ.js';
@@ -93,7 +93,7 @@ export { LinkCard } from '../chunk-O3MYBNRO.js';
93
93
  import '../chunk-KOJPDCGQ.js';
94
94
  export { LinkInterstitial, openExternal } from '../chunk-MYAARF4Z.js';
95
95
  export { List, ListItem } from '../chunk-PS5ZYIA6.js';
96
- export { ListDetail } from '../chunk-O4VTQMEF.js';
96
+ export { ListDetail } from '../chunk-SNJM5KPV.js';
97
97
  export { ListInput, withDraft } from '../chunk-GLKQHN7G.js';
98
98
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
99
99
  export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from '../chunk-CQFQGAZI.js';
@@ -128,12 +128,12 @@ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from '../chunk-RDIQB5ZE.js';
128
128
  export { DockColumn } from '../chunk-5JPOFAVN.js';
129
129
  export { DownloadButton } from '../chunk-EHFQMY3B.js';
130
130
  export { downloadBlob, downloadText, safeFilename, useDownload } from '../chunk-YNRKVY7X.js';
131
- export { EditingStatus } from '../chunk-O55JQ7BE.js';
132
131
  export { EMOJI_GROUPS, EMOJI_PICKER_COLUMNS, EMOJI_PICKER_LABELS, EmojiPicker, emojiName, searchEmoji } from '../chunk-SPNTUQBV.js';
133
- export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-IYI6HWKN.js';
132
+ export { EditingStatus } from '../chunk-O55JQ7BE.js';
133
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from '../chunk-CV2LU2T2.js';
134
134
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from '../chunk-RJWO2PC5.js';
135
- export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
136
135
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from '../chunk-ZWCK4N4L.js';
136
+ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from '../chunk-RQFRRPV6.js';
137
137
  export { DescriptionList, DescriptionListItem } from '../chunk-LH4OF7FI.js';
138
138
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from '../chunk-AOFVXE6V.js';
139
139
  export { DirectoryList } from '../chunk-RKIJAXQA.js';
@@ -142,12 +142,12 @@ export { ContrastHelp } from '../chunk-WMO722J2.js';
142
142
  export { CursorFlag } from '../chunk-MMCYH5LB.js';
143
143
  export { PresenceRing, presenceHueClass } from '../chunk-EFX2YC5T.js';
144
144
  export { ChooserList, ColumnChooser, DATA_GRID_ICON_TRACK, DataGrid, columnChoicesOf, countDataGridRows, fitGridColumns, nextGridSort, parseGridSort, useAnyDataGridDriving, useDataGridDriving } from '../chunk-ABRWL5FJ.js';
145
+ export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-3H6OZUZ3.js';
145
146
  export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from '../chunk-XRWHDW6F.js';
146
147
  export { PageHeader } from '../chunk-FPDIHEM4.js';
147
148
  export { FILTER_PILL_LABELS, FILTER_PILL_WORDS_CLASS, FilterPill, filterPillSentence } from '../chunk-K4LZXSKZ.js';
148
149
  export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from '../chunk-7K6LVM5I.js';
149
150
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from '../chunk-WANKINXG.js';
150
- export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from '../chunk-3H6OZUZ3.js';
151
151
  export { CommandPalette } from '../chunk-YXKSUILG.js';
152
152
  export { ConfirmModal, Modal } from '../chunk-ZXXZESCD.js';
153
153
  export { COMMENT_THREAD_LABELS, CommentThread } from '../chunk-IAP7APOX.js';
@@ -185,12 +185,12 @@ export { ChangeMark } from '../chunk-VB3FVKNI.js';
185
185
  export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, retypeColumn, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows } from '../chunk-LFSIKGRQ.js';
186
186
  export { PRESENCE_ACTIVITIES, PRESENCE_HUES, PRESENCE_LABELS, assignPresenceHues, collapseSessions, joinNames, presenceLabels, presenceOrder } from '../chunk-Z7JYG5TF.js';
187
187
  import '../chunk-3L5NHASN.js';
188
+ export { Breadcrumb } from '../chunk-M52HLPOG.js';
189
+ export { KeyChip } from '../chunk-HBDA76EZ.js';
188
190
  export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_FOLLOW_UPS, BRIEF_CARD_MAX_NEEDS, BRIEF_CARD_MAX_POINTS, BriefCard } from '../chunk-XYSSFI5C.js';
189
191
  export { SuggestionList, SuggestionRow } from '../chunk-Y7PVLEZJ.js';
190
192
  import '../chunk-6C7GQOBV.js';
191
193
  export { StatusCard } from '../chunk-FLW5U7YS.js';
192
- export { Breadcrumb } from '../chunk-M52HLPOG.js';
193
- export { KeyChip } from '../chunk-HBDA76EZ.js';
194
194
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from '../chunk-EE3DJMSQ.js';
195
195
  export { Callout } from '../chunk-BPCY7ZID.js';
196
196
  export { BOARD_NAME_MIN_CHARS, CANVAS_BOARD_MAX_LIVE, CANVAS_BOARD_MIN_LIVE_WIDTH, CANVAS_BOARD_MIN_ZOOM, CANVAS_NOTE_COLORS, CanvasBoard, TITLE_GLYPH_EM, boardName, boardRoom, liveBoards, titleSize } from '../chunk-2SVQBQAD.js';
@@ -225,8 +225,8 @@ export { AvatarStack, avatarStackLabel } from '../chunk-YTLWOHOY.js';
225
225
  export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RANGE, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from '../chunk-XZY6S3UC.js';
226
226
  export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from '../chunk-MMV7NEAC.js';
227
227
  export { Document, DocumentTitle, DocumentTitleField } from '../chunk-I4PBFJGX.js';
228
- export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-J5T5TDM2.js';
229
228
  export { ArtifactMakeRow } from '../chunk-HDEKHP65.js';
229
+ export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from '../chunk-J5T5TDM2.js';
230
230
  export { ArtifactNameCell } from '../chunk-LTD7KLOU.js';
231
231
  export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from '../chunk-ORONAXSF.js';
232
232
  export { afterMotion, releaseFocus, runningMotion, usePresence } from '../chunk-PCAT2EFB.js';
@@ -257,9 +257,9 @@ export { ACCESS_DENIED_REASONS, AccessDeniedCard } from '../chunk-QTMUKRTN.js';
257
257
  export { EmptyState } from '../chunk-PPUR46MK.js';
258
258
  export { Accordion, AccordionItem } from '../chunk-XNC3M4IN.js';
259
259
  export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from '../chunk-OM2LABPS.js';
260
+ export { ADD_PILL_MS, AddPill } from '../chunk-CVKANYHD.js';
260
261
  export { ActivityLine } from '../chunk-C4256UXE.js';
261
262
  export { ThinkingIndicator } from '../chunk-ED4A6Q24.js';
262
- export { ADD_PILL_MS, AddPill } from '../chunk-CVKANYHD.js';
263
263
  export { AGENT_HANDOFF_LABELS, AgentHandoffPanel } from '../chunk-DD7RBNT4.js';
264
264
  export { Timeline, TimelineItem } from '../chunk-4MJN2KN6.js';
265
265
  export { Section } from '../chunk-WFCWPXJN.js';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import './chunk-REEZQCML.js';
2
- export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from './chunk-G3CACE5L.js';
3
2
  export { VERSION_COMPARE_LABELS, VERSION_COMPARE_LENSES, VersionCompare } from './chunk-RBQRTGXX.js';
3
+ export { REFERENCE_NAME_PATTERN, ValueField, completeReference, isWholeReference, rankReferences, referenceAt, urlSchemeOf } from './chunk-G3CACE5L.js';
4
4
  export { VersionTimeline } from './chunk-L5VU3LZT.js';
5
5
  export { WidgetFrame } from './chunk-5K5SZGBI.js';
6
6
  export { ElementToPngError, elementToPng, parseCsv, serializeElement, toCsv } from './chunk-KBSD476L.js';
@@ -11,19 +11,18 @@ export { DensitySwitcher, ThemeSwitcher } from './chunk-5V6GW6HK.js';
11
11
  export { ThemeToggle } from './chunk-IPMJGK2Q.js';
12
12
  export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
13
13
  export { THREAD_SUMMARY_LABELS, ThreadSummary } from './chunk-QPYGJ7R7.js';
14
+ export { TileGrid } from './chunk-UFID3DSP.js';
14
15
  export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from './chunk-ZJVLGYE3.js';
15
16
  export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-T3S3D4FC.js';
16
- export { TileGrid } from './chunk-UFID3DSP.js';
17
+ export { Switcher } from './chunk-7M7WKYOV.js';
17
18
  export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from './chunk-AFLS26AC.js';
18
19
  export { TagsInput } from './chunk-77VOASOY.js';
19
20
  export { ThemeGallery } from './chunk-NXBCAXP5.js';
20
21
  export { ThemeSwatch } from './chunk-3XQUEF5C.js';
21
22
  export { StatGroup } from './chunk-OUD75UB2.js';
22
23
  export { Statement } from './chunk-MZJKPTA5.js';
23
- export { Switcher } from './chunk-7M7WKYOV.js';
24
- export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-XJMES7AE.js';
25
- export { SlideFilmstrip } from './chunk-RO5JU6SN.js';
26
24
  export { SlideGrid } from './chunk-6M2N6ETA.js';
25
+ export { SlideFilmstrip } from './chunk-RO5JU6SN.js';
27
26
  export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-PW57R4BN.js';
28
27
  export { StatCard } from './chunk-G5IZGAWS.js';
29
28
  export { ARTIFACT_ROLES, SHAREABLE_ROLES, ShareDialog, roleAtLeast } from './chunk-AQNP3KQU.js';
@@ -32,13 +31,14 @@ export { CellDisplay, CellEditor, CheckboxCell, DateCell, LongTextCell, MultiSel
32
31
  export { TagGroup } from './chunk-UEOEBOBR.js';
33
32
  export { matchesShortcut, useShortcut } from './chunk-LZNPL266.js';
34
33
  import './chunk-5AHNW5CP.js';
35
- export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
34
+ export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-XJMES7AE.js';
36
35
  export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-7BDBO2NP.js';
37
36
  export { NavGroup, NavItem, SidebarNav } from './chunk-BRK3HXGZ.js';
37
+ export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
38
38
  export { Select } from './chunk-3IWZVEXA.js';
39
39
  export { SelectionBar } from './chunk-XA2QKGBJ.js';
40
- export { SEND_BUTTON_LABELS, SendButton } from './chunk-T2GC7UAP.js';
41
40
  export { SettingsTable, SettingsTableRow } from './chunk-WL4TC4YZ.js';
41
+ export { SEND_BUTTON_LABELS, SendButton } from './chunk-T2GC7UAP.js';
42
42
  export { SetupWizard } from './chunk-K6RWEQ6P.js';
43
43
  export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-2L4WHYMT.js';
44
44
  export { Table } from './chunk-75NQV4R4.js';
@@ -61,13 +61,15 @@ export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
61
61
  export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-O6EV6GKI.js';
62
62
  export { PricingCard } from './chunk-X3US25XJ.js';
63
63
  export { PrincipalPicker } from './chunk-Q6TCUSQA.js';
64
- export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from './chunk-P7HMY3BQ.js';
65
64
  export { PropertyList } from './chunk-OPVTNHPH.js';
65
+ export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from './chunk-P7HMY3BQ.js';
66
66
  export { Prose } from './chunk-DVVP27OD.js';
67
67
  export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from './chunk-Y56FM3K4.js';
68
- export { FactLine, ObjectHeader, SetByLine } from './chunk-AXEXOAZQ.js';
68
+ export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-QGEDXYLB.js';
69
69
  export { PinTile } from './chunk-LJ3KWQLP.js';
70
70
  export { PresenceStack } from './chunk-F7HZYTZT.js';
71
+ import './chunk-CENOOTAV.js';
72
+ export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-G4EHZHKM.js';
71
73
  export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-NKBKHOMU.js';
72
74
  export { OrgTable, OrgTableActions, OrgTableAdd, OrgTableName } from './chunk-DWQYV5AV.js';
73
75
  export { TreeGrid } from './chunk-ZDWAIVWL.js';
@@ -75,15 +77,13 @@ export { SIZE_EPSILON, TYPE_AHEAD_RESET_MS, createTreeModel, isTypeAheadKey, lay
75
77
  export { OrgLabel } from './chunk-5YXMKZUA.js';
76
78
  export { Outline, scrollToHeading, useActiveHeading } from './chunk-7QCSISHM.js';
77
79
  export { PageNote } from './chunk-CV4NES3P.js';
78
- export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-QGEDXYLB.js';
79
- import './chunk-CENOOTAV.js';
80
80
  export { PEEK_RAIL_LABELS, PEEK_RAIL_MAX_WIDTH, PEEK_RAIL_MIN_WIDTH, PEEK_RAIL_WIDTH, PeekHost, PeekNeighbours, PeekRail, isPlainPress, peekClickHandler, peekRowActivation, usePeekNeighbours, usePeekOrder, usePeekStep } from './chunk-CDNZTCP2.js';
81
81
  export { MERGE_CONFLICTS_LABELS, MergeConflicts } from './chunk-C42XW5YP.js';
82
82
  export { ActionDivider, MessageAction, MessageActions, QuickReaction } from './chunk-LT44RL62.js';
83
83
  import './chunk-TDFLCUBE.js';
84
84
  export { MessageBubble } from './chunk-KAQ2L74F.js';
85
85
  export { NewItemsNotice } from './chunk-463DNZXI.js';
86
- export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-G4EHZHKM.js';
86
+ export { FactLine, ObjectHeader, SetByLine } from './chunk-AXEXOAZQ.js';
87
87
  export { LogoSlot, LogoSlotGroup } from './chunk-6SFDL4QH.js';
88
88
  export { MARKDOWN_FORMATS, MARKDOWN_TEXT_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-TQKQRS2J.js';
89
89
  export { MentionChip } from './chunk-PX5BOALQ.js';
@@ -93,7 +93,7 @@ export { LinkCard } from './chunk-O3MYBNRO.js';
93
93
  import './chunk-KOJPDCGQ.js';
94
94
  export { LinkInterstitial, openExternal } from './chunk-MYAARF4Z.js';
95
95
  export { List, ListItem } from './chunk-PS5ZYIA6.js';
96
- export { ListDetail } from './chunk-O4VTQMEF.js';
96
+ export { ListDetail } from './chunk-SNJM5KPV.js';
97
97
  export { ListInput, withDraft } from './chunk-GLKQHN7G.js';
98
98
  export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
99
99
  export { LIVE_PREVIEW_DWELL_MS, LIVE_PREVIEW_MARGIN, LIVE_PREVIEW_MAX, LIVE_PREVIEW_MAX_FRAMES, LIVE_PREVIEW_RENDER_MS, LIVE_PREVIEW_STILLS_KEPT, LivePreview, LivePreviewBudgetProvider, PREVIEW_FILL_MAX_CUT, PreviewScale, createLivePreviewBudget, createLivePreviewStills, immediately, perFrame, useLivePreview } from './chunk-CQFQGAZI.js';
@@ -128,12 +128,12 @@ export { DOC_TABS_EDITOR_LABELS, DocTabsEditor } from './chunk-RDIQB5ZE.js';
128
128
  export { DockColumn } from './chunk-5JPOFAVN.js';
129
129
  export { DownloadButton } from './chunk-EHFQMY3B.js';
130
130
  export { downloadBlob, downloadText, safeFilename, useDownload } from './chunk-YNRKVY7X.js';
131
- export { EditingStatus } from './chunk-O55JQ7BE.js';
132
131
  export { EMOJI_GROUPS, EMOJI_PICKER_COLUMNS, EMOJI_PICKER_LABELS, EmojiPicker, emojiName, searchEmoji } from './chunk-SPNTUQBV.js';
133
- export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-IYI6HWKN.js';
132
+ export { EditingStatus } from './chunk-O55JQ7BE.js';
133
+ export { DEEP_WORK_CARD_LABELS, DEEP_WORK_STATES, DEEP_WORK_STATE_LABELS, DeepWorkCard } from './chunk-CV2LU2T2.js';
134
134
  export { STEP_STATES, STEP_STATE_LABELS, StepList, StepStateMark, Stepper, stepDetailPieces } from './chunk-RJWO2PC5.js';
135
- export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
136
135
  export { REFUSAL_STRIP_LABELS, ReceiptStrip, RefusalStrip } from './chunk-ZWCK4N4L.js';
136
+ export { DEFAULT_METER_THRESHOLDS, METER_STATES, Meter, meterState, meterStateTone, meterTone, progressTone } from './chunk-RQFRRPV6.js';
137
137
  export { DescriptionList, DescriptionListItem } from './chunk-LH4OF7FI.js';
138
138
  export { DIFF_SUMMARY_LABELS, DIFF_VIEW_LABELS, DiffSummary, DiffView, MAX_DIFF_LINES, collapseDiff, diffLines, diffStat, firstChangedLines, splitLines } from './chunk-AOFVXE6V.js';
139
139
  export { DirectoryList } from './chunk-RKIJAXQA.js';
@@ -142,12 +142,12 @@ export { ContrastHelp } from './chunk-WMO722J2.js';
142
142
  export { CursorFlag } from './chunk-MMCYH5LB.js';
143
143
  export { PresenceRing, presenceHueClass } from './chunk-EFX2YC5T.js';
144
144
  export { ChooserList, ColumnChooser, DATA_GRID_ICON_TRACK, DataGrid, columnChoicesOf, countDataGridRows, fitGridColumns, nextGridSort, parseGridSort, useAnyDataGridDriving, useDataGridDriving } from './chunk-ABRWL5FJ.js';
145
+ export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-3H6OZUZ3.js';
145
146
  export { DATA_VIEW_TOOLBAR_LABELS, DataView, DataViewToolbar, FILTER_AXIS_LABELS, FilterAxisBar, FilterAxisChip, applyColumnFilters, applyFilters, blankFilterValue, defaultOperator, filterDefsFromColumns, filterHasValue, filterPredicate, formatFilterValue, operatorOf, tableColumns } from './chunk-XRWHDW6F.js';
146
147
  export { PageHeader } from './chunk-FPDIHEM4.js';
147
148
  export { FILTER_PILL_LABELS, FILTER_PILL_WORDS_CLASS, FilterPill, filterPillSentence } from './chunk-K4LZXSKZ.js';
148
149
  export { DEFAULT_DATE_TIME_PICKER_LABELS, DateTimePicker } from './chunk-7K6LVM5I.js';
149
150
  export { ALL_ITEMS, CopyableCell, DATA_TABLE_LABELS, DataTable, RowActionsMenu } from './chunk-WANKINXG.js';
150
- export { DATASET_SOURCE_KINDS, DatasetSource, DatasetSourceList } from './chunk-3H6OZUZ3.js';
151
151
  export { CommandPalette } from './chunk-YXKSUILG.js';
152
152
  export { ConfirmModal, Modal } from './chunk-ZXXZESCD.js';
153
153
  export { COMMENT_THREAD_LABELS, CommentThread } from './chunk-IAP7APOX.js';
@@ -185,12 +185,12 @@ export { ChangeMark } from './chunk-VB3FVKNI.js';
185
185
  export { LONGTEXT_MAX_DEFAULT, RATING_MAX_CEILING, RATING_MAX_DEFAULT, SHEET_COLUMN_BOUNDS, SHEET_COLUMN_TYPES, SHEET_COLUMN_WIDTHS, SHEET_FIT_SAMPLES, SHEET_LABELS, SHEET_ROW_HEIGHT, SHEET_ROW_NUMBER_WIDTH, SheetPendingEdits, TEXT_MAX_DEFAULT, URL_MAX, cellDescription, cellKey, cellSpeech, changeText, changeTime, checkValue, columnOffsets, columnWidth, compareValues, displayText, drawnColumns, editText, editorSide, findOption, findPerson, fitSamples, fittedWidth, flagText, hasPrevious, inRange, isEmptyValue, isMod, isMultiCell, isSheetColumnType, isTypingKey, liveOptions, moveFrom, nextSort, normalizeValue, optionHue, parseOptionList, parseTSV, parseText, planClear, planPaste, presenceByCell, presenceByColumn, presenceByRow, rangeOf, ratingMax, refusalText, retypeColumn, rowName, sameValue, scrollToRow, sheetLabels, sortRows, spokenText, statusTone, textMax, toTSV, visibleRows } from './chunk-LFSIKGRQ.js';
186
186
  export { PRESENCE_ACTIVITIES, PRESENCE_HUES, PRESENCE_LABELS, assignPresenceHues, collapseSessions, joinNames, presenceLabels, presenceOrder } from './chunk-Z7JYG5TF.js';
187
187
  import './chunk-3L5NHASN.js';
188
+ export { Breadcrumb } from './chunk-M52HLPOG.js';
189
+ export { KeyChip } from './chunk-HBDA76EZ.js';
188
190
  export { BRIEF_CARD_LABELS, BRIEF_CARD_MAX_FOLLOW_UPS, BRIEF_CARD_MAX_NEEDS, BRIEF_CARD_MAX_POINTS, BriefCard } from './chunk-XYSSFI5C.js';
189
191
  export { SuggestionList, SuggestionRow } from './chunk-Y7PVLEZJ.js';
190
192
  import './chunk-6C7GQOBV.js';
191
193
  export { StatusCard } from './chunk-FLW5U7YS.js';
192
- export { Breadcrumb } from './chunk-M52HLPOG.js';
193
- export { KeyChip } from './chunk-HBDA76EZ.js';
194
194
  export { CalendarGrid, compareDays, daysInMonth, sameDay, shiftDay, shiftMonth, today } from './chunk-EE3DJMSQ.js';
195
195
  export { Callout } from './chunk-BPCY7ZID.js';
196
196
  export { BOARD_NAME_MIN_CHARS, CANVAS_BOARD_MAX_LIVE, CANVAS_BOARD_MIN_LIVE_WIDTH, CANVAS_BOARD_MIN_ZOOM, CANVAS_NOTE_COLORS, CanvasBoard, TITLE_GLYPH_EM, boardName, boardRoom, liveBoards, titleSize } from './chunk-2SVQBQAD.js';
@@ -225,8 +225,8 @@ export { AvatarStack, avatarStackLabel } from './chunk-YTLWOHOY.js';
225
225
  export { AVATAR_CHARACTER_FULL_DETAIL, AVATAR_CORNER_RANGE, AVATAR_CORNER_RATIO, AVATAR_SIZES, AVATAR_STATUSES, AVATAR_STATUS_LABELS, Avatar, avatarCorner, avatarInitialsName, avatarPixels, avatarTint, getInitials } from './chunk-XZY6S3UC.js';
226
226
  export { DashboardCover, DocCover, SHEET_COVER_COLUMNS, SHEET_COVER_ROWS, SheetCover } from './chunk-MMV7NEAC.js';
227
227
  export { Document, DocumentTitle, DocumentTitleField } from './chunk-I4PBFJGX.js';
228
- export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from './chunk-J5T5TDM2.js';
229
228
  export { ArtifactMakeRow } from './chunk-HDEKHP65.js';
229
+ export { ArtifactKindGround, ArtifactKindIllustration, ArtifactKindTile } from './chunk-J5T5TDM2.js';
230
230
  export { ArtifactNameCell } from './chunk-LTD7KLOU.js';
231
231
  export { APP_SHELL_ASIDE_WIDTH, AccountRow, AppShell, AppShellRail, AppShellRailRow, AppShellRailStatus, AppShellToggle, AppShellTopbar, readStoredWidth, useAppShell, useScreenBelow, useScreenWidth, useStoredWidth } from './chunk-ORONAXSF.js';
232
232
  export { afterMotion, releaseFocus, runningMotion, usePresence } from './chunk-PCAT2EFB.js';
@@ -257,9 +257,9 @@ export { ACCESS_DENIED_REASONS, AccessDeniedCard } from './chunk-QTMUKRTN.js';
257
257
  export { EmptyState } from './chunk-PPUR46MK.js';
258
258
  export { Accordion, AccordionItem } from './chunk-XNC3M4IN.js';
259
259
  export { ACTION_CARD_GROUND, ActionCard, ActionCardRow } from './chunk-OM2LABPS.js';
260
+ export { ADD_PILL_MS, AddPill } from './chunk-CVKANYHD.js';
260
261
  export { ActivityLine } from './chunk-C4256UXE.js';
261
262
  export { ThinkingIndicator } from './chunk-ED4A6Q24.js';
262
- export { ADD_PILL_MS, AddPill } from './chunk-CVKANYHD.js';
263
263
  export { AGENT_HANDOFF_LABELS, AgentHandoffPanel } from './chunk-DD7RBNT4.js';
264
264
  export { Timeline, TimelineItem } from './chunk-4MJN2KN6.js';
265
265
  export { Section } from './chunk-WFCWPXJN.js';
package/dist/styles.css CHANGED
@@ -25040,7 +25040,7 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
25040
25040
  }
25041
25041
 
25042
25042
 
25043
- /* ListDetail-JGESKTR7.css */
25043
+ /* ListDetail-Q7SFVKSO.css */
25044
25044
  /*
25045
25045
  * ListDetail: a list beside the detail of what is chosen in it, each scrolling
25046
25046
  * on its own in the height it is given, one pane where it is narrow
@@ -25117,6 +25117,18 @@ a.crewlet-link-card:hover .crewlet-link-card__title {
25117
25117
  border-right: 1px solid var(--color-border-default);
25118
25118
  }
25119
25119
 
25120
+ /* A DIRECTORY RUNS TO THE HAIRLINE. A DirectoryList is navigation: its lines
25121
+ draw their own inset and their hover and selected grounds, as the rail's
25122
+ do, and its groups keep their own step before the scrollbar. Inside the
25123
+ list's inset as well, a line's state ended 60px before the hairline, a
25124
+ column of nothing between the word and the line it stands against. So a
25125
+ list pane holding one gives its end inset back, and the lines run to the
25126
+ hairline as the rail's run to its edge. Folded to one pane, the pane takes
25127
+ the screen's inset again (below). */
25128
+ .crewlet-list-detail__list:has(> .crewlet-directory) {
25129
+ padding-right: 0;
25130
+ }
25131
+
25120
25132
  .crewlet-list-detail__detail {
25121
25133
  display: flex;
25122
25134
  flex-direction: column;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewlethq/ui",
3
- "version": "0.84.1",
3
+ "version": "0.84.2",
4
4
  "description": "Crewlet shared React components built on @crewlethq/tokens and @crewlethq/icons.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,8 +42,8 @@
42
42
  "clean": "rm -rf dist src/generated"
43
43
  },
44
44
  "dependencies": {
45
- "@crewlethq/icons": "0.84.1",
46
- "@crewlethq/tokens": "0.84.1",
45
+ "@crewlethq/icons": "0.84.2",
46
+ "@crewlethq/tokens": "0.84.2",
47
47
  "prosemirror-commands": "1.7.2",
48
48
  "prosemirror-gapcursor": "1.4.1",
49
49
  "prosemirror-history": "1.5.1",
@@ -1,6 +1,6 @@
1
1
  import { StepList } from './chunk-RJWO2PC5.js';
2
- import { Meter } from './chunk-RQFRRPV6.js';
3
2
  import { ReceiptStrip } from './chunk-ZWCK4N4L.js';
3
+ import { Meter } from './chunk-RQFRRPV6.js';
4
4
  import { StatusCard } from './chunk-FLW5U7YS.js';
5
5
  import { Disclosure } from './chunk-LVJGN5II.js';
6
6
  import { Spinner } from './chunk-XSPCITPN.js';