@sequenceholdings/atlas-ui 3.2.0 → 3.4.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/dist/index.d.ts +125 -2
- package/dist/index.mjs +4825 -4521
- package/dist/next.d.ts +1 -0
- package/dist/next.mjs +3 -0
- package/package.json +5 -1
package/dist/index.d.ts
CHANGED
|
@@ -140,6 +140,46 @@ declare interface AppStatusBadgeProps {
|
|
|
140
140
|
className?: string;
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
+
export declare function ArtifactAppShell({ header, status, navigation, footer, children, className, contentClassName, scrollMode, ...props }: ArtifactAppShellProps): JSX.Element;
|
|
144
|
+
|
|
145
|
+
export declare type ArtifactAppShellProps = ComponentProps<'div'> & {
|
|
146
|
+
header?: ReactNode;
|
|
147
|
+
status?: ReactNode;
|
|
148
|
+
navigation?: ReactNode;
|
|
149
|
+
footer?: ReactNode;
|
|
150
|
+
contentClassName?: string;
|
|
151
|
+
scrollMode?: ArtifactAppShellScrollMode;
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
export declare type ArtifactAppShellScrollMode = 'document' | 'contained';
|
|
155
|
+
|
|
156
|
+
export declare function ArtifactOfflineControl({ status, onEnrolledChange, disabled, compact, className, icon, }: {
|
|
157
|
+
status: ArtifactOfflineUiStatus;
|
|
158
|
+
onEnrolledChange: (enrolled: boolean) => void;
|
|
159
|
+
disabled?: boolean;
|
|
160
|
+
compact?: boolean;
|
|
161
|
+
className?: string;
|
|
162
|
+
icon?: ReactNode;
|
|
163
|
+
}): JSX.Element;
|
|
164
|
+
|
|
165
|
+
export declare interface ArtifactOfflineStatusCopy {
|
|
166
|
+
title: string;
|
|
167
|
+
subtitle: string;
|
|
168
|
+
ariaLabel: string;
|
|
169
|
+
tone: 'neutral' | 'ready' | 'warning' | 'danger';
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
export declare interface ArtifactOfflineUiStatus {
|
|
173
|
+
enrolled: boolean;
|
|
174
|
+
online: boolean;
|
|
175
|
+
pending: number;
|
|
176
|
+
failed: number;
|
|
177
|
+
syncing: boolean;
|
|
178
|
+
loading: boolean;
|
|
179
|
+
updating: boolean;
|
|
180
|
+
error?: string | null;
|
|
181
|
+
}
|
|
182
|
+
|
|
143
183
|
/**
|
|
144
184
|
* Button that reflects the lifecycle of an async mutation:
|
|
145
185
|
* idle → pending (spinner) → success/error (auto-resets).
|
|
@@ -327,7 +367,7 @@ export declare interface ButtonProps extends React_2.ButtonHTMLAttributes<HTMLBu
|
|
|
327
367
|
|
|
328
368
|
export declare const buttonVariants: (props?: ({
|
|
329
369
|
variant?: "default" | "link" | "secondary" | "destructive" | "outline" | "ghost" | "submit" | null | undefined;
|
|
330
|
-
size?: "default" | "sm" | "icon" | "lg" | "xs" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
|
|
370
|
+
size?: "default" | "touch" | "sm" | "icon" | "lg" | "xs" | "icon-xs" | "icon-sm" | "icon-lg" | "icon-touch" | null | undefined;
|
|
331
371
|
} & ClassProp) | undefined) => string;
|
|
332
372
|
|
|
333
373
|
export declare function Calendar({ className, classNames, showOutsideDays, ...props }: React_2.ComponentProps<typeof DayPicker>): JSX.Element;
|
|
@@ -1532,6 +1572,8 @@ export declare interface FilterSelectProps<T extends string> {
|
|
|
1532
1572
|
onChange: (next: T[]) => void;
|
|
1533
1573
|
}
|
|
1534
1574
|
|
|
1575
|
+
export declare function formatArtifactOfflineStatus(status: ArtifactOfflineUiStatus): ArtifactOfflineStatusCopy;
|
|
1576
|
+
|
|
1535
1577
|
/**
|
|
1536
1578
|
* Format a byte count to a human-readable string. Matches the
|
|
1537
1579
|
* conventions users expect in file dialogs: 1024-base, one decimal
|
|
@@ -1734,6 +1776,8 @@ export declare function insertTrackedMention(input: {
|
|
|
1734
1776
|
value: string;
|
|
1735
1777
|
mentions: TrackedMention[];
|
|
1736
1778
|
replaceFrom: number;
|
|
1779
|
+
/** Defaults to the end of `value`. Pass the caret to keep text after the query. */
|
|
1780
|
+
replaceTo?: number;
|
|
1737
1781
|
recipientId: string;
|
|
1738
1782
|
displayName: string;
|
|
1739
1783
|
}): {
|
|
@@ -1912,6 +1956,68 @@ declare interface MetricGridProps {
|
|
|
1912
1956
|
className?: string;
|
|
1913
1957
|
}
|
|
1914
1958
|
|
|
1959
|
+
/**
|
|
1960
|
+
* Viewport width (px) at or below which Atlas may treat the screen as "mobile".
|
|
1961
|
+
* Single source of truth — do not hard-code the breakpoint anywhere else.
|
|
1962
|
+
*
|
|
1963
|
+
* 640px is deliberately a clean phone/tablet divider: it sits above every
|
|
1964
|
+
* phone's portrait width (the largest are ~480px) and below every iPad's
|
|
1965
|
+
* portrait width (the smallest, the Mini, is ~744px), so phones pivot and
|
|
1966
|
+
* tablets stay on desktop. Avoid 768px — that lands exactly on the historical
|
|
1967
|
+
* iPad-portrait width and ambiguously catches the Mini.
|
|
1968
|
+
*/
|
|
1969
|
+
export declare const MOBILE_BREAKPOINT_PX = 640;
|
|
1970
|
+
|
|
1971
|
+
export declare function MobileActionBar({ sticky, className, children, ...props }: MobileActionBarProps): JSX.Element;
|
|
1972
|
+
|
|
1973
|
+
export declare type MobileActionBarProps = ComponentProps<'footer'> & {
|
|
1974
|
+
sticky?: boolean;
|
|
1975
|
+
};
|
|
1976
|
+
|
|
1977
|
+
export declare function MobileAppNav({ items, value, onChange, label, variant, className, ...props }: MobileAppNavProps): JSX.Element;
|
|
1978
|
+
|
|
1979
|
+
export declare type MobileAppNavItem = {
|
|
1980
|
+
value: string;
|
|
1981
|
+
label: string;
|
|
1982
|
+
icon?: ReactNode;
|
|
1983
|
+
badge?: ReactNode;
|
|
1984
|
+
disabled?: boolean;
|
|
1985
|
+
};
|
|
1986
|
+
|
|
1987
|
+
export declare const mobileAppNavItemVariants: (props?: ({
|
|
1988
|
+
variant?: "line" | "segmented" | null | undefined;
|
|
1989
|
+
} & ClassProp) | undefined) => string;
|
|
1990
|
+
|
|
1991
|
+
export declare type MobileAppNavProps = Omit<ComponentProps<'nav'>, 'onChange'> & VariantProps<typeof mobileAppNavItemVariants> & {
|
|
1992
|
+
items: MobileAppNavItem[];
|
|
1993
|
+
value: string;
|
|
1994
|
+
onChange: (value: string) => void;
|
|
1995
|
+
label?: string;
|
|
1996
|
+
};
|
|
1997
|
+
|
|
1998
|
+
export declare function MobileListRow({ title, titleText, description, leading, trailing, showChevron, className, type, ...props }: MobileListRowProps): JSX.Element;
|
|
1999
|
+
|
|
2000
|
+
export declare type MobileListRowProps = Omit<ComponentProps<'button'>, 'title'> & {
|
|
2001
|
+
title: ReactNode;
|
|
2002
|
+
titleText?: string;
|
|
2003
|
+
description?: ReactNode;
|
|
2004
|
+
leading?: ReactNode;
|
|
2005
|
+
trailing?: ReactNode;
|
|
2006
|
+
showChevron?: boolean;
|
|
2007
|
+
};
|
|
2008
|
+
|
|
2009
|
+
export declare function MobilePageHeader({ title, description, leading, actions, onBack, backLabel, sticky, className, ...props }: MobilePageHeaderProps): JSX.Element;
|
|
2010
|
+
|
|
2011
|
+
export declare type MobilePageHeaderProps = Omit<ComponentProps<'header'>, 'title'> & {
|
|
2012
|
+
title: string;
|
|
2013
|
+
description?: string;
|
|
2014
|
+
leading?: ReactNode;
|
|
2015
|
+
actions?: ReactNode;
|
|
2016
|
+
onBack?: () => void;
|
|
2017
|
+
backLabel?: string;
|
|
2018
|
+
sticky?: boolean;
|
|
2019
|
+
};
|
|
2020
|
+
|
|
1915
2021
|
export declare function MultiSelect({ label, countLabel, options, selected, onChange, searchPlaceholder, emptyMessage, maxStackedIcons, hideWhenEmpty, modal, className, }: MultiSelectProps): JSX.Element | null;
|
|
1916
2022
|
|
|
1917
2023
|
/**
|
|
@@ -2824,7 +2930,7 @@ export declare interface SectionLoadingStateProps {
|
|
|
2824
2930
|
label?: string;
|
|
2825
2931
|
}
|
|
2826
2932
|
|
|
2827
|
-
export declare function SegmentedControl<T extends string>({ options, value, onChange, className, }: SegmentedControlProps<T>): JSX.Element;
|
|
2933
|
+
export declare function SegmentedControl<T extends string>({ options, value, onChange, className, size, }: SegmentedControlProps<T>): JSX.Element;
|
|
2828
2934
|
|
|
2829
2935
|
declare interface SegmentedControlOption<T extends string> {
|
|
2830
2936
|
value: T;
|
|
@@ -2837,6 +2943,7 @@ declare interface SegmentedControlProps<T extends string> {
|
|
|
2837
2943
|
value: T;
|
|
2838
2944
|
onChange: (value: T) => void;
|
|
2839
2945
|
className?: string;
|
|
2946
|
+
size?: 'default' | 'touch';
|
|
2840
2947
|
}
|
|
2841
2948
|
|
|
2842
2949
|
export declare const Select: React_2.FC<SelectPrimitive.SelectProps>;
|
|
@@ -3915,6 +4022,22 @@ export declare interface UseEditableDraftResult<TDraft> {
|
|
|
3915
4022
|
reset: () => void;
|
|
3916
4023
|
}
|
|
3917
4024
|
|
|
4025
|
+
/**
|
|
4026
|
+
* Returns `true` only when the viewport is narrow (at or below
|
|
4027
|
+
* {@link MOBILE_BREAKPOINT_PX}) **and** the primary pointer is coarse (touch).
|
|
4028
|
+
*
|
|
4029
|
+
* This is the canonical "show the mobile UI" gate. It is capability-based, not
|
|
4030
|
+
* user-agent-based: a narrow desktop window driven by a mouse stays on desktop,
|
|
4031
|
+
* while a phone/tablet (or an iPad masquerading as desktop in its UA) pivots.
|
|
4032
|
+
* On the server it returns `false` (assume desktop) and re-gates on the client
|
|
4033
|
+
* after hydration; gated surfaces should tolerate a one-frame flash.
|
|
4034
|
+
*
|
|
4035
|
+
* To exercise this locally, use the browser's device toolbar (which emulates a
|
|
4036
|
+
* coarse pointer) — by design, simply dragging a desktop window narrow will not
|
|
4037
|
+
* trigger it.
|
|
4038
|
+
*/
|
|
4039
|
+
export declare function useIsMobileViewport(): boolean;
|
|
4040
|
+
|
|
3918
4041
|
/**
|
|
3919
4042
|
* Optimistic mutation over a family of React Query list caches matched by a
|
|
3920
4043
|
* partial key. Same lifecycle as `useOptimisticResource` (cancel + snapshot +
|