@crewlethq/ui 0.70.0 → 0.71.0
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 +6 -0
- package/dist/PresenterView/index.js +2 -2
- package/dist/Toaster/Toaster.d.ts +14 -2
- package/dist/Toaster/index.d.ts +1 -1
- package/dist/Toaster/index.js +1 -1
- package/dist/{chunk-SZFKGH2W.js → chunk-JIBWNHTC.js} +42 -9
- package/dist/generated/index.js +15 -15
- package/dist/index.js +15 -15
- package/package.json +3 -3
- package/dist/{chunk-PRN5IP2R.js → chunk-V6X3DJ2G.js} +1 -1
package/README.md
CHANGED
|
@@ -205,6 +205,12 @@ 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.71.0
|
|
209
|
+
|
|
210
|
+
**A toast that goes by itself stays as long as it takes to read.** An `info` or `success` toast with no `duration` used to go after a fixed four seconds, which fits a title and nothing longer: a thirty-word sentence went before its second line was read. It now stays two seconds plus 300 ms a word of its string `title` and `message`, never less than four seconds and never more than fifteen; a toast whose words are not strings stays four. Words are counted by the runtime's word segmentation (`Intl.Segmenter`), so Japanese or Chinese written without spaces is counted in its words rather than as one. A `warning`, a `danger` and a variant of your own that names no duration still stay until they are dismissed, and a `duration` you pass is still yours (`null` reads as unset, as `undefined` does). An update in place that changes a toast's words moves its end by the difference and keeps the time already shown; only a new `version` restarts the countdown. `readingDuration(text)` is the same rule, exported for a host that sizes something else to a toast's lifetime. Nothing to change unless a test advances a fake clock by four seconds past a long toast: advance it by `readingDuration` of that toast's words instead.
|
|
211
|
+
|
|
212
|
+
**A `duration` no timer can hold no longer dismisses at once.** `Infinity`, or anything not a finite number, is sticky, and a finite duration past 2^31-1 ms waits that long, where `setTimeout` used to fire immediately.
|
|
213
|
+
|
|
208
214
|
## Changes in 0.70.0
|
|
209
215
|
|
|
210
216
|
**`FilterPill`, one filter in force as the sentence it is.** `field`, `operator` and `value` are drawn a step apart and separated by real spaces, so a pill reads, copies and is announced as "Status is In progress" rather than running its parts together. The field and the relation are the secondary ink at the regular weight; the value is the accent ink at the semibold weight, and the only part a long filter cuts. With no `operator` the field and the value are joined by a colon ("Role: Admin"); with no `value` the field alone names a switch ("Blocked"). It stands on the accent's soft pair, as a pressed `FilterChip` does. `onRemove` draws the remove control behind a hairline, named by the whole sentence ("Remove the Status is In progress filter") unless `removeLabel` names it. `renderWords` makes the words a control (a popover's trigger), handed the words and `FILTER_PILL_WORDS_CLASS`. `labels` replaces its words (`FILTER_PILL_LABELS`: `remove`, `removeUnnamed`, `fieldEnd`; `FilterPillLabels`). `filterPillSentence` builds the sentence where every part is a word. The remove control's rules outrank IconButton's own, so its height and square corners hold in any bundle order, and its hairline is logical (`border-inline-start`).
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export { PresenterView, formatStopwatch } from '../chunk-
|
|
2
|
-
import '../chunk-5AJR6X75.js';
|
|
1
|
+
export { PresenterView, formatStopwatch } from '../chunk-V6X3DJ2G.js';
|
|
3
2
|
import '../chunk-RMEBFYL7.js';
|
|
3
|
+
import '../chunk-5AJR6X75.js';
|
|
4
4
|
import '../chunk-RK4XPHVG.js';
|
|
5
5
|
import '../chunk-DGXZ635L.js';
|
|
6
6
|
import '../chunk-OMV5W53A.js';
|
|
@@ -21,8 +21,9 @@ export interface Toast<TVariant extends string = string> {
|
|
|
21
21
|
message?: ReactNode;
|
|
22
22
|
/**
|
|
23
23
|
* Milliseconds before it goes. 0 is sticky. Left unset, it is the variant's
|
|
24
|
-
* own default:
|
|
25
|
-
*
|
|
24
|
+
* own default: as long as its title and message take to read
|
|
25
|
+
* ([readingDuration]) for a success or an item of information, and sticky
|
|
26
|
+
* for a warning or a failure.
|
|
26
27
|
*/
|
|
27
28
|
duration?: number;
|
|
28
29
|
/** Bump on a dedup-replace to start the countdown again. */
|
|
@@ -82,6 +83,17 @@ export interface ToasterProps<TVariant extends string = string> {
|
|
|
82
83
|
* the only English it writes into a screen by itself.
|
|
83
84
|
*/
|
|
84
85
|
export type ToastTitles = Partial<Record<ToastVariant, string | null>>;
|
|
86
|
+
/**
|
|
87
|
+
* How long a toast that goes by itself stays, in milliseconds, from how long
|
|
88
|
+
* text takes to read: the time to notice it, then a reader's pace a word,
|
|
89
|
+
* between four seconds and fifteen.
|
|
90
|
+
*
|
|
91
|
+
* A FIXED FOUR SECONDS FIT A TITLE AND NOTHING LONGER: a thirty-word
|
|
92
|
+
* sentence was gone before its second line was read, on every screen that
|
|
93
|
+
* raised one. Exported for a host that sizes something else to a toast's
|
|
94
|
+
* lifetime, never to pass back as `duration`, which an unset one already is.
|
|
95
|
+
*/
|
|
96
|
+
export declare function readingDuration(text: string): number;
|
|
85
97
|
export declare function Toaster<TVariant extends string = string>({ toasts, onDismiss, renderAction, position, inset, politeLabel, assertiveLabel, dismissLabel, titles, className, }: ToasterProps<TVariant>): import("react").ReactPortal | null;
|
|
86
98
|
export interface ToastOptions {
|
|
87
99
|
title?: ReactNode;
|
package/dist/Toaster/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './Toaster.css';
|
|
2
|
-
export { ToastProvider, Toaster, toasterInsetStyle, useToast } from './Toaster.js';
|
|
2
|
+
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from './Toaster.js';
|
|
3
3
|
export type { Toast, ToastAction, ToastApi, ToastOptions, ToastProviderProps, ToastRequest, ToastTitles, ToastVariant, ToasterInset, ToasterProps, } from './Toaster.js';
|
package/dist/Toaster/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ToastProvider, Toaster, toasterInsetStyle, useToast } from '../chunk-
|
|
1
|
+
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from '../chunk-JIBWNHTC.js';
|
|
2
2
|
import '../chunk-OMV5W53A.js';
|
|
3
3
|
import '../chunk-H5XTJ7GJ.js';
|
|
4
4
|
import '../chunk-NUZHC6MM.js';
|
|
@@ -30,18 +30,44 @@ var TITLES = {
|
|
|
30
30
|
warning: "Heads up",
|
|
31
31
|
danger: "Something went wrong"
|
|
32
32
|
};
|
|
33
|
-
var
|
|
34
|
-
info:
|
|
35
|
-
success:
|
|
36
|
-
warning:
|
|
37
|
-
danger:
|
|
33
|
+
var GOES_BY_ITSELF = {
|
|
34
|
+
info: true,
|
|
35
|
+
success: true,
|
|
36
|
+
warning: false,
|
|
37
|
+
danger: false
|
|
38
38
|
};
|
|
39
|
+
var READ_MS_PER_WORD = 300;
|
|
40
|
+
var READ_LEAD_MS = 2e3;
|
|
41
|
+
var READ_FLOOR_MS = 4e3;
|
|
42
|
+
var READ_CAP_MS = 15e3;
|
|
43
|
+
function readingDuration(text) {
|
|
44
|
+
const words = wordsIn(text);
|
|
45
|
+
return Math.min(READ_CAP_MS, Math.max(READ_FLOOR_MS, READ_LEAD_MS + words * READ_MS_PER_WORD));
|
|
46
|
+
}
|
|
47
|
+
var segmenter;
|
|
48
|
+
function wordsIn(text) {
|
|
49
|
+
if (segmenter === void 0) {
|
|
50
|
+
segmenter = typeof Intl !== "undefined" && typeof Intl.Segmenter === "function" ? new Intl.Segmenter(void 0, { granularity: "word" }) : null;
|
|
51
|
+
}
|
|
52
|
+
if (segmenter === null) return text.trim().split(/\s+/).filter(Boolean).length;
|
|
53
|
+
let words = 0;
|
|
54
|
+
for (const part of segmenter.segment(text)) {
|
|
55
|
+
if (part.isWordLike) words += 1;
|
|
56
|
+
}
|
|
57
|
+
return words;
|
|
58
|
+
}
|
|
39
59
|
var KNOWN = /* @__PURE__ */ new Set(["info", "success", "warning", "danger"]);
|
|
40
60
|
var isKnown = (variant) => KNOWN.has(variant);
|
|
41
61
|
var durationOf = (toast) => {
|
|
62
|
+
const given = toast.duration ?? null;
|
|
63
|
+
if (given !== null) return timerSafe(given);
|
|
42
64
|
const variant = toast.variant ?? "info";
|
|
43
|
-
|
|
65
|
+
if (!isKnown(variant) || !GOES_BY_ITSELF[variant]) return 0;
|
|
66
|
+
return readingDuration(readable(toast).join(" "));
|
|
44
67
|
};
|
|
68
|
+
var MAX_TIMER_MS = 2 ** 31 - 1;
|
|
69
|
+
var timerSafe = (ms) => Number.isFinite(ms) ? Math.min(ms, MAX_TIMER_MS) : 0;
|
|
70
|
+
var readable = (toast) => [toast.title, toast.message].filter((part) => typeof part === "string");
|
|
45
71
|
var isSticky = (toast) => durationOf(toast) <= 0;
|
|
46
72
|
var politeness = (variant) => variant === "danger" || variant === "quota" ? "assertive" : "polite";
|
|
47
73
|
var isToastAction = (value) => {
|
|
@@ -51,7 +77,7 @@ var isToastAction = (value) => {
|
|
|
51
77
|
};
|
|
52
78
|
var sentences = (parts) => parts.length < 2 ? parts[0] ?? "" : parts.map((part) => /[.!?]$/.test(part) ? part : `${part}.`).join(" ");
|
|
53
79
|
function spoken(toast, titles) {
|
|
54
|
-
const parts =
|
|
80
|
+
const parts = readable(toast);
|
|
55
81
|
if (parts.length > 0) return parts.join(". ");
|
|
56
82
|
const variant = toast.variant ?? "info";
|
|
57
83
|
return isKnown(variant) ? titles[variant] ?? "Notification" : "Notification";
|
|
@@ -70,8 +96,15 @@ function ToastItem({
|
|
|
70
96
|
const dismiss = useCallback(() => onDismiss(id), [onDismiss, id]);
|
|
71
97
|
const [paused, setPaused] = useState(false);
|
|
72
98
|
const remaining = useRef(duration);
|
|
99
|
+
const counting = useRef({ version, duration });
|
|
73
100
|
useEffect(() => {
|
|
74
|
-
|
|
101
|
+
const was = counting.current;
|
|
102
|
+
if (was.version !== version) {
|
|
103
|
+
remaining.current = duration;
|
|
104
|
+
} else if (was.duration !== duration) {
|
|
105
|
+
remaining.current = Math.max(0, remaining.current + duration - was.duration);
|
|
106
|
+
}
|
|
107
|
+
counting.current = { version, duration };
|
|
75
108
|
}, [duration, version]);
|
|
76
109
|
useEffect(() => {
|
|
77
110
|
if (duration <= 0 || paused) return;
|
|
@@ -273,4 +306,4 @@ function ToastProvider({ children, position = "bottom-right", inset, renderActio
|
|
|
273
306
|
] });
|
|
274
307
|
}
|
|
275
308
|
|
|
276
|
-
export { ToastProvider, Toaster, toasterInsetStyle, useToast };
|
|
309
|
+
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast };
|
package/dist/generated/index.js
CHANGED
|
@@ -9,14 +9,14 @@ export { WidgetFrame } from '../chunk-S5QJZOPL.js';
|
|
|
9
9
|
export { TileGrid } from '../chunk-Q6CQMS6R.js';
|
|
10
10
|
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from '../chunk-4MVLED6E.js';
|
|
11
11
|
export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from '../chunk-ADSOY7UM.js';
|
|
12
|
-
export { ToastProvider, Toaster, toasterInsetStyle, useToast } from '../chunk-
|
|
13
|
-
export { TagsInput } from '../chunk-HEIOLITO.js';
|
|
12
|
+
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from '../chunk-JIBWNHTC.js';
|
|
14
13
|
export { DensitySwitcher, ThemeSwitcher } from '../chunk-VWMB3CJN.js';
|
|
15
|
-
export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
|
|
16
|
-
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
|
|
17
14
|
export { ThemeGallery } from '../chunk-LWFOX3PB.js';
|
|
18
15
|
export { ThemeSwatch } from '../chunk-3XQUEF5C.js';
|
|
16
|
+
export { ThemeToggle } from '../chunk-IPMJGK2Q.js';
|
|
17
|
+
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from '../chunk-Z24ZUSTX.js';
|
|
19
18
|
export { ThinkingIndicator } from '../chunk-M73MMEZY.js';
|
|
19
|
+
export { TagsInput } from '../chunk-HEIOLITO.js';
|
|
20
20
|
export { Switcher } from '../chunk-LQWORB5B.js';
|
|
21
21
|
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from '../chunk-AGLONIVV.js';
|
|
22
22
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from '../chunk-4TMBAOXK.js';
|
|
@@ -25,8 +25,8 @@ export { StatGroup } from '../chunk-OUD75UB2.js';
|
|
|
25
25
|
export { Statement } from '../chunk-MZJKPTA5.js';
|
|
26
26
|
export { matchesShortcut, useShortcut } from '../chunk-AYHIF6DH.js';
|
|
27
27
|
import '../chunk-73GUXYYE.js';
|
|
28
|
-
export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-DV5L2GRY.js';
|
|
29
28
|
export { SlideFilmstrip } from '../chunk-TPCBPGSB.js';
|
|
29
|
+
export { SLIDE_COMPARE_LABELS, SlideCompare } from '../chunk-DV5L2GRY.js';
|
|
30
30
|
export { SlideGrid } from '../chunk-7MGXHCVK.js';
|
|
31
31
|
export { SelectionBar } from '../chunk-L4HHWG4V.js';
|
|
32
32
|
export { SEND_BUTTON_LABELS, SendButton } from '../chunk-T2GC7UAP.js';
|
|
@@ -41,9 +41,9 @@ export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedF
|
|
|
41
41
|
export { SearchTrigger } from '../chunk-ERNT3UTB.js';
|
|
42
42
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from '../chunk-G4CGDUCP.js';
|
|
43
43
|
export { NavGroup, NavItem, SidebarNav } from '../chunk-WCDPFTJZ.js';
|
|
44
|
-
export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
|
|
45
44
|
export { Select } from '../chunk-VK45YJLH.js';
|
|
46
|
-
export {
|
|
45
|
+
export { SegmentedMeter, segmentedMeterLabel } from '../chunk-4AK52VHB.js';
|
|
46
|
+
export { Prose } from '../chunk-DVVP27OD.js';
|
|
47
47
|
export { RelatedRow } from '../chunk-CNEHFH2A.js';
|
|
48
48
|
export { Text } from '../chunk-QP2P6GDQ.js';
|
|
49
49
|
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from '../chunk-SO5SXSTP.js';
|
|
@@ -56,16 +56,16 @@ import '../chunk-QH6VYJ3X.js';
|
|
|
56
56
|
export { PrincipalPicker } from '../chunk-MFQPGMJT.js';
|
|
57
57
|
export { PropertyList } from '../chunk-HIWPPWNY.js';
|
|
58
58
|
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from '../chunk-3EY5SEGH.js';
|
|
59
|
-
export { Prose } from '../chunk-DVVP27OD.js';
|
|
60
|
-
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from '../chunk-Y56FM3K4.js';
|
|
61
59
|
export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from '../chunk-ZAJHGDAW.js';
|
|
60
|
+
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from '../chunk-Y56FM3K4.js';
|
|
61
|
+
export { REFUSAL_CARD_LABELS, RefusalCard } from '../chunk-RQHN4J5P.js';
|
|
62
62
|
export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from '../chunk-SMZPUHBL.js';
|
|
63
63
|
export { PinTile } from '../chunk-LJ3KWQLP.js';
|
|
64
64
|
export { PresenceStack } from '../chunk-EVXXY75R.js';
|
|
65
65
|
import '../chunk-CENOOTAV.js';
|
|
66
|
-
export { PresenterView, formatStopwatch } from '../chunk-
|
|
67
|
-
export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
|
|
66
|
+
export { PresenterView, formatStopwatch } from '../chunk-V6X3DJ2G.js';
|
|
68
67
|
export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from '../chunk-RMEBFYL7.js';
|
|
68
|
+
export { SLIDE_NAV_LABELS, SlideNav } from '../chunk-5AJR6X75.js';
|
|
69
69
|
export { PricingCard } from '../chunk-ZKIEOWR6.js';
|
|
70
70
|
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from '../chunk-G4QZWVAB.js';
|
|
71
71
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from '../chunk-RUBKDJAQ.js';
|
|
@@ -83,17 +83,17 @@ export { FactLine, ObjectHeader, SetByLine } from '../chunk-S7WG53JB.js';
|
|
|
83
83
|
export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from '../chunk-DPNVKWJX.js';
|
|
84
84
|
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';
|
|
85
85
|
export { LockedLabel } from '../chunk-TEV5REGB.js';
|
|
86
|
-
export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
|
|
87
86
|
export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from '../chunk-BAKPMH3S.js';
|
|
87
|
+
export { LogoSlot, LogoSlotGroup } from '../chunk-YUHKRRWO.js';
|
|
88
88
|
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from '../chunk-ERFXYGRF.js';
|
|
89
89
|
export { LAYERS_LIST_LABELS, LayersList } from '../chunk-VUYNNILP.js';
|
|
90
90
|
export { AutoGrid, Inline, Spacer, Stack } from '../chunk-ZAC7SKUN.js';
|
|
91
91
|
export { Link } from '../chunk-QF5UNP4T.js';
|
|
92
|
-
export { LinkInterstitial, openExternal } from '../chunk-JD7P2GJP.js';
|
|
93
92
|
export { List, ListItem } from '../chunk-PS5ZYIA6.js';
|
|
93
|
+
export { LinkInterstitial, openExternal } from '../chunk-JD7P2GJP.js';
|
|
94
94
|
export { ListDetail } from '../chunk-YBC2CYPD.js';
|
|
95
95
|
export { ListInput, withDraft } from '../chunk-H32JW6CZ.js';
|
|
96
|
-
export {
|
|
96
|
+
export { ImageUpload } from '../chunk-56IFLQGF.js';
|
|
97
97
|
export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from '../chunk-QPHD4UUG.js';
|
|
98
98
|
export { IndicatorAnchor } from '../chunk-27MJPU7G.js';
|
|
99
99
|
export { INLINE_EDITOR_LABELS, InlineEditor } from '../chunk-4DL2BQJE.js';
|
|
@@ -104,7 +104,7 @@ export { IDLE_AFTER_MS, useFullscreen, useIdle } from '../chunk-W5XCNEZC.js';
|
|
|
104
104
|
export { Highlight, highlightRanges, highlightTerms } from '../chunk-H6VKCIWV.js';
|
|
105
105
|
import '../chunk-MICRGE3J.js';
|
|
106
106
|
import '../chunk-FFMCMSJB.js';
|
|
107
|
-
export {
|
|
107
|
+
export { IconTile } from '../chunk-3LI4TRUR.js';
|
|
108
108
|
export { Eyebrow } from '../chunk-RK4XPHVG.js';
|
|
109
109
|
export { FactList } from '../chunk-CSXJIIO4.js';
|
|
110
110
|
export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from '../chunk-KQWJWTED.js';
|
package/dist/index.js
CHANGED
|
@@ -9,14 +9,14 @@ export { WidgetFrame } from './chunk-S5QJZOPL.js';
|
|
|
9
9
|
export { TileGrid } from './chunk-Q6CQMS6R.js';
|
|
10
10
|
export { TIME_RANGE_CUSTOM, TIME_RANGE_PICKER_LABELS, TimeRangePicker, timeRangeFieldKey, timeRangeProblem } from './chunk-4MVLED6E.js';
|
|
11
11
|
export { DEFAULT_TIME_WINDOW_LABELS, TIME_WINDOW_SPANS, TimeWindowPicker, describeTimeWindow, isTimeWindowSet, parseTimeWindowDuration, resolveTimeWindow, timeWindowMatchesPreset } from './chunk-ADSOY7UM.js';
|
|
12
|
-
export { ToastProvider, Toaster, toasterInsetStyle, useToast } from './chunk-
|
|
13
|
-
export { TagsInput } from './chunk-HEIOLITO.js';
|
|
12
|
+
export { ToastProvider, Toaster, readingDuration, toasterInsetStyle, useToast } from './chunk-JIBWNHTC.js';
|
|
14
13
|
export { DensitySwitcher, ThemeSwitcher } from './chunk-VWMB3CJN.js';
|
|
15
|
-
export { ThemeToggle } from './chunk-IPMJGK2Q.js';
|
|
16
|
-
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
|
|
17
14
|
export { ThemeGallery } from './chunk-LWFOX3PB.js';
|
|
18
15
|
export { ThemeSwatch } from './chunk-3XQUEF5C.js';
|
|
16
|
+
export { ThemeToggle } from './chunk-IPMJGK2Q.js';
|
|
17
|
+
export { applyStoredPreferences, resolveTheme, useDensityPreference, useSystemTheme, useThemePreference } from './chunk-Z24ZUSTX.js';
|
|
19
18
|
export { ThinkingIndicator } from './chunk-M73MMEZY.js';
|
|
19
|
+
export { TagsInput } from './chunk-HEIOLITO.js';
|
|
20
20
|
export { Switcher } from './chunk-LQWORB5B.js';
|
|
21
21
|
export { TABLE_TAGS_CELL_LABELS, TableDateCell, TableEntityCell, TableKeyCell, TableNumberCell, TableStatusCell, TableTagsCell, TableTextCell } from './chunk-AGLONIVV.js';
|
|
22
22
|
export { SOURCE_EDITOR_KEYS, SourceEditor, lineStart } from './chunk-4TMBAOXK.js';
|
|
@@ -25,8 +25,8 @@ export { StatGroup } from './chunk-OUD75UB2.js';
|
|
|
25
25
|
export { Statement } from './chunk-MZJKPTA5.js';
|
|
26
26
|
export { matchesShortcut, useShortcut } from './chunk-AYHIF6DH.js';
|
|
27
27
|
import './chunk-73GUXYYE.js';
|
|
28
|
-
export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-DV5L2GRY.js';
|
|
29
28
|
export { SlideFilmstrip } from './chunk-TPCBPGSB.js';
|
|
29
|
+
export { SLIDE_COMPARE_LABELS, SlideCompare } from './chunk-DV5L2GRY.js';
|
|
30
30
|
export { SlideGrid } from './chunk-7MGXHCVK.js';
|
|
31
31
|
export { SelectionBar } from './chunk-L4HHWG4V.js';
|
|
32
32
|
export { SEND_BUTTON_LABELS, SendButton } from './chunk-T2GC7UAP.js';
|
|
@@ -41,9 +41,9 @@ export { FRAME_HELLO_TIMEOUT_MS, FRAME_LOAD_GRACE_MS, SandboxedFrame, SandboxedF
|
|
|
41
41
|
export { SearchTrigger } from './chunk-ERNT3UTB.js';
|
|
42
42
|
export { SectionFrame, SectionFrameBody, SectionFrameNav } from './chunk-G4CGDUCP.js';
|
|
43
43
|
export { NavGroup, NavItem, SidebarNav } from './chunk-WCDPFTJZ.js';
|
|
44
|
-
export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
|
|
45
44
|
export { Select } from './chunk-VK45YJLH.js';
|
|
46
|
-
export {
|
|
45
|
+
export { SegmentedMeter, segmentedMeterLabel } from './chunk-4AK52VHB.js';
|
|
46
|
+
export { Prose } from './chunk-DVVP27OD.js';
|
|
47
47
|
export { RelatedRow } from './chunk-CNEHFH2A.js';
|
|
48
48
|
export { Text } from './chunk-QP2P6GDQ.js';
|
|
49
49
|
export { RESULT_TABLE_CARD_LABELS, RESULT_TABLE_COLLAPSED_ROWS, RESULT_TABLE_MAX_ROWS, ResultTableCard } from './chunk-SO5SXSTP.js';
|
|
@@ -56,16 +56,16 @@ import './chunk-QH6VYJ3X.js';
|
|
|
56
56
|
export { PrincipalPicker } from './chunk-MFQPGMJT.js';
|
|
57
57
|
export { PropertyList } from './chunk-HIWPPWNY.js';
|
|
58
58
|
export { PROPOSAL_CARD_LABELS, PROPOSAL_FAILURE_OUTCOMES, PROPOSAL_STATES, PROPOSAL_TONES, ProposalCard } from './chunk-3EY5SEGH.js';
|
|
59
|
-
export { Prose } from './chunk-DVVP27OD.js';
|
|
60
|
-
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from './chunk-Y56FM3K4.js';
|
|
61
59
|
export { ReadingPane, ReadingPaneByline, ReadingPaneLead, ReadingPaneOutcome, ReadingPaneQuote, ReadingPaneReasoning, ReadingPaneSection, ReadingPaneTitle } from './chunk-ZAJHGDAW.js';
|
|
60
|
+
export { QR_DARK, QR_LIGHT, QR_QUIET_ZONE, QrCode, qrModulePath, qrModules } from './chunk-Y56FM3K4.js';
|
|
61
|
+
export { REFUSAL_CARD_LABELS, RefusalCard } from './chunk-RQHN4J5P.js';
|
|
62
62
|
export { PEOPLE_RAIL_LABELS, PeopleRail, peopleRailKey } from './chunk-SMZPUHBL.js';
|
|
63
63
|
export { PinTile } from './chunk-LJ3KWQLP.js';
|
|
64
64
|
export { PresenceStack } from './chunk-EVXXY75R.js';
|
|
65
65
|
import './chunk-CENOOTAV.js';
|
|
66
|
-
export { PresenterView, formatStopwatch } from './chunk-
|
|
67
|
-
export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
|
|
66
|
+
export { PresenterView, formatStopwatch } from './chunk-V6X3DJ2G.js';
|
|
68
67
|
export { SLIDE_HEIGHT, SLIDE_WIDTH, SlideStage, useSlideKeys } from './chunk-RMEBFYL7.js';
|
|
68
|
+
export { SLIDE_NAV_LABELS, SlideNav } from './chunk-5AJR6X75.js';
|
|
69
69
|
export { PricingCard } from './chunk-ZKIEOWR6.js';
|
|
70
70
|
export { OPEN_IN_APP_CARD_LABELS, OpenInAppCard } from './chunk-G4QZWVAB.js';
|
|
71
71
|
export { OrgNodeDisclosure, OrgNodeLabel, OrgNodeLead } from './chunk-RUBKDJAQ.js';
|
|
@@ -83,17 +83,17 @@ export { FactLine, ObjectHeader, SetByLine } from './chunk-S7WG53JB.js';
|
|
|
83
83
|
export { LIVE_CURSOR_HIDE_MS, LIVE_CURSOR_REST_MS, LiveCursor } from './chunk-DPNVKWJX.js';
|
|
84
84
|
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';
|
|
85
85
|
export { LockedLabel } from './chunk-TEV5REGB.js';
|
|
86
|
-
export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
|
|
87
86
|
export { MARKDOWN_CALLOUT_NAMES, MARKDOWN_CALLOUT_TONES, markdownBreaks, markdownClosesFence, markdownCodeText, markdownFenceOf, markdownHeadingOf, markdownInline, markdownLines, parseMarkdown, parseMarkdownSpans, safeHref } from './chunk-BAKPMH3S.js';
|
|
87
|
+
export { LogoSlot, LogoSlotGroup } from './chunk-YUHKRRWO.js';
|
|
88
88
|
export { MARKDOWN_FORMATS, MarkdownEditor, formatMarkdown, insertMarkdown, markdownWords } from './chunk-ERFXYGRF.js';
|
|
89
89
|
export { LAYERS_LIST_LABELS, LayersList } from './chunk-VUYNNILP.js';
|
|
90
90
|
export { AutoGrid, Inline, Spacer, Stack } from './chunk-ZAC7SKUN.js';
|
|
91
91
|
export { Link } from './chunk-QF5UNP4T.js';
|
|
92
|
-
export { LinkInterstitial, openExternal } from './chunk-JD7P2GJP.js';
|
|
93
92
|
export { List, ListItem } from './chunk-PS5ZYIA6.js';
|
|
93
|
+
export { LinkInterstitial, openExternal } from './chunk-JD7P2GJP.js';
|
|
94
94
|
export { ListDetail } from './chunk-YBC2CYPD.js';
|
|
95
95
|
export { ListInput, withDraft } from './chunk-H32JW6CZ.js';
|
|
96
|
-
export {
|
|
96
|
+
export { ImageUpload } from './chunk-56IFLQGF.js';
|
|
97
97
|
export { InboxGroup, InboxList, InboxMore, InboxRow, InboxToggle } from './chunk-QPHD4UUG.js';
|
|
98
98
|
export { IndicatorAnchor } from './chunk-27MJPU7G.js';
|
|
99
99
|
export { INLINE_EDITOR_LABELS, InlineEditor } from './chunk-4DL2BQJE.js';
|
|
@@ -104,7 +104,7 @@ export { IDLE_AFTER_MS, useFullscreen, useIdle } from './chunk-W5XCNEZC.js';
|
|
|
104
104
|
export { Highlight, highlightRanges, highlightTerms } from './chunk-H6VKCIWV.js';
|
|
105
105
|
import './chunk-MICRGE3J.js';
|
|
106
106
|
import './chunk-FFMCMSJB.js';
|
|
107
|
-
export {
|
|
107
|
+
export { IconTile } from './chunk-3LI4TRUR.js';
|
|
108
108
|
export { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
109
109
|
export { FactList } from './chunk-CSXJIIO4.js';
|
|
110
110
|
export { FileDrop, FilePickButton, droppedFiles, pickedFiles } from './chunk-KQWJWTED.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crewlethq/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.71.0",
|
|
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.
|
|
46
|
-
"@crewlethq/tokens": "0.
|
|
45
|
+
"@crewlethq/icons": "0.71.0",
|
|
46
|
+
"@crewlethq/tokens": "0.71.0",
|
|
47
47
|
"prosemirror-commands": "1.7.2",
|
|
48
48
|
"prosemirror-gapcursor": "1.4.1",
|
|
49
49
|
"prosemirror-history": "1.5.1",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SlideNav } from './chunk-5AJR6X75.js';
|
|
2
1
|
import { SlideStage, SLIDE_WIDTH, SLIDE_HEIGHT } from './chunk-RMEBFYL7.js';
|
|
2
|
+
import { SlideNav } from './chunk-5AJR6X75.js';
|
|
3
3
|
import { Eyebrow } from './chunk-RK4XPHVG.js';
|
|
4
4
|
import { Button } from './chunk-DGXZ635L.js';
|
|
5
5
|
import { cx } from './chunk-ODEQTPFM.js';
|