@saasflare/ui 3.1.1 → 3.2.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 +68 -2
- package/dist/{button-0Bdl7Nqm.d.ts → button-BA7OcXqy.d.mts} +12 -17
- package/dist/{button-Brb4BhPO.d.mts → button-Bfg2Tnvx.d.ts} +12 -17
- package/dist/{chunk-D5LKWKG7.js → chunk-2GOPD64T.js} +117 -89
- package/dist/{chunk-WPOOC2FX.mjs → chunk-2ONA6OMO.mjs} +33 -44
- package/dist/{chunk-RW2S3KNB.mjs → chunk-5C65JNGY.mjs} +7 -6
- package/dist/{chunk-DNLCSV5M.js → chunk-7UD3SGPP.js} +32 -43
- package/dist/chunk-GI6VN7XU.mjs +2143 -0
- package/dist/{chunk-FT66KYRN.js → chunk-ITALEYDI.js} +2 -2
- package/dist/{chunk-4BOMMZEY.js → chunk-JC7EIEGI.js} +14 -13
- package/dist/chunk-N65HIOBD.js +234 -0
- package/dist/{chunk-EJHYM2HP.mjs → chunk-OZAWULTM.mjs} +1 -1
- package/dist/chunk-R3AVBLJ3.js +2207 -0
- package/dist/{chunk-WRONFPRI.mjs → chunk-RMQBB72G.mjs} +118 -91
- package/dist/chunk-XNDTCYSO.mjs +211 -0
- package/dist/{dialog-BmY55WSX.d.ts → dialog-CZRwrqDa.d.ts} +2 -2
- package/dist/{dialog-CcaHMAsS.d.mts → dialog-Cr0becOL.d.mts} +2 -2
- package/dist/entries/calendar.d.mts +3 -3
- package/dist/entries/calendar.d.ts +3 -3
- package/dist/entries/calendar.js +13 -214
- package/dist/entries/calendar.mjs +5 -196
- package/dist/entries/carousel.d.mts +3 -3
- package/dist/entries/carousel.d.ts +3 -3
- package/dist/entries/carousel.js +17 -14
- package/dist/entries/carousel.mjs +10 -7
- package/dist/entries/chart.d.mts +1 -1
- package/dist/entries/chart.d.ts +1 -1
- package/dist/entries/chart.js +11 -11
- package/dist/entries/chart.mjs +1 -1
- package/dist/entries/command.d.mts +3 -3
- package/dist/entries/command.d.ts +3 -3
- package/dist/entries/command.js +21 -19
- package/dist/entries/command.mjs +8 -6
- package/dist/entries/drawer.d.mts +1 -1
- package/dist/entries/drawer.d.ts +1 -1
- package/dist/entries/drawer.js +9 -9
- package/dist/entries/drawer.mjs +2 -2
- package/dist/entries/input-otp.d.mts +2 -2
- package/dist/entries/input-otp.d.ts +2 -2
- package/dist/entries/input-otp.js +10 -8
- package/dist/entries/input-otp.mjs +6 -4
- package/dist/entries/resizable.d.mts +3 -2
- package/dist/entries/resizable.d.ts +3 -2
- package/dist/entries/resizable.js +8 -6
- package/dist/entries/resizable.mjs +6 -4
- package/dist/index.d.mts +974 -31
- package/dist/index.d.ts +974 -31
- package/dist/index.js +2994 -556
- package/dist/index.mjs +2488 -201
- package/dist/{use-saasflare-props-NrM2Glmp.d.ts → use-saasflare-props-BrjMhU0U.d.mts} +53 -4
- package/dist/{use-saasflare-props-NrM2Glmp.d.mts → use-saasflare-props-BrjMhU0U.d.ts} +53 -4
- package/package.json +4 -3
- package/styles/aurora.css +47 -0
- package/styles/palettes.css +487 -3
- package/styles/surfaces.css +89 -10
- package/styles/theme.css +41 -19
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
|
+
import * as React$1 from 'react';
|
|
3
|
+
import { Ref, MutableRefObject, RefCallback, ReactNode, JSX, ComponentProps } from 'react';
|
|
2
4
|
import { Transition } from 'motion/react';
|
|
3
|
-
import { I as Intent, B as Button } from './button-
|
|
4
|
-
export {
|
|
5
|
+
import { I as Intent, B as Button, a as ButtonProps } from './button-BA7OcXqy.mjs';
|
|
6
|
+
export { b as buttonVariants } from './button-BA7OcXqy.mjs';
|
|
5
7
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export { C as CustomPalette, d as PALETTES, e as PaletteId, f as RADII, g as ResolvedSaasflareProps, h as STYLES, u as useSaasflareProps } from './use-saasflare-props-NrM2Glmp.mjs';
|
|
10
|
-
export { D as Dialog, a as DialogClose, b as DialogContent, c as DialogDescription, d as DialogFooter, e as DialogHeader, f as DialogOverlay, g as DialogPortal, h as DialogTitle, i as DialogTrigger } from './dialog-CcaHMAsS.mjs';
|
|
8
|
+
import { I as IconWeight, P as PhosphorIconProps, a as Palette, S as Surface, R as RadiusProp, b as StyleVariant, c as Radius, d as SaasflareComponentProps } from './use-saasflare-props-BrjMhU0U.mjs';
|
|
9
|
+
export { C as CustomPalette, e as IconBase, f as PALETTES, g as PaletteId, h as RADII, i as ResolvedSaasflareProps, j as STYLES, u as useSaasflareProps } from './use-saasflare-props-BrjMhU0U.mjs';
|
|
10
|
+
export { D as Dialog, a as DialogClose, b as DialogContent, c as DialogDescription, d as DialogFooter, e as DialogHeader, f as DialogOverlay, g as DialogPortal, h as DialogTitle, i as DialogTrigger } from './dialog-Cr0becOL.mjs';
|
|
11
11
|
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
12
12
|
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
13
13
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -164,6 +164,32 @@ type UseMeasureReturn<T extends Element = HTMLElement> = readonly [
|
|
|
164
164
|
*/
|
|
165
165
|
declare function useMeasure<T extends Element = HTMLElement>(): UseMeasureReturn<T>;
|
|
166
166
|
|
|
167
|
+
/** Options for useLocalStorage. */
|
|
168
|
+
interface UseLocalStorageOptions<T> {
|
|
169
|
+
/** Custom serializer (default: JSON.stringify). */
|
|
170
|
+
serializer?: (value: T) => string;
|
|
171
|
+
/** Custom deserializer (default: JSON.parse). */
|
|
172
|
+
deserializer?: (raw: string) => T;
|
|
173
|
+
/** Called when read/write/remove fails. Falls back to console.warn if omitted. */
|
|
174
|
+
onError?: (error: unknown, operation: 'read' | 'write' | 'remove') => void;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Persists state to localStorage with automatic serialization,
|
|
178
|
+
* SSR safety, and same-tab + cross-tab synchronization.
|
|
179
|
+
*
|
|
180
|
+
* @param key - The localStorage key
|
|
181
|
+
* @param initialValue - Default value when key doesn't exist
|
|
182
|
+
* @param options - Optional serializer, deserializer, and error handler
|
|
183
|
+
* @returns Tuple of [value, setter, remover]
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* const [lang, setLang, removeLang] = useLocalStorage('language', 'en');
|
|
187
|
+
* setLang('de'); // sets and persists
|
|
188
|
+
* setLang(prev => prev + '-US'); // functional update
|
|
189
|
+
* removeLang(); // removes key, reverts to 'en'
|
|
190
|
+
*/
|
|
191
|
+
declare function useLocalStorage<T>(key: string, initialValue: T, options?: UseLocalStorageOptions<T>): [T, (value: T | ((prev: T) => T)) => void, () => void];
|
|
192
|
+
|
|
167
193
|
/** An item in the pagination range — either a page number or an ellipsis marker */
|
|
168
194
|
type PaginationRangeItem = number | 'dots';
|
|
169
195
|
/** Options for usePagination */
|
|
@@ -221,6 +247,115 @@ interface UsePaginationReturn {
|
|
|
221
247
|
*/
|
|
222
248
|
declare function usePagination(options: UsePaginationOptions): UsePaginationReturn;
|
|
223
249
|
|
|
250
|
+
/**
|
|
251
|
+
* @fileoverview Combine multiple refs (callback refs and ref objects) into a
|
|
252
|
+
* single ref callback. Required whenever a component both forwards a ref AND
|
|
253
|
+
* needs its own internal ref to the same DOM node.
|
|
254
|
+
* @author Saasflare™
|
|
255
|
+
* @module packages/ui/hooks/use-merged-ref
|
|
256
|
+
* @package ui
|
|
257
|
+
*
|
|
258
|
+
* @example
|
|
259
|
+
* const Card = forwardRef<HTMLDivElement, Props>(function Card(props, forwardedRef) {
|
|
260
|
+
* const internalRef = useRef<HTMLDivElement>(null);
|
|
261
|
+
* const ref = useMergedRef(internalRef, forwardedRef);
|
|
262
|
+
* return <div ref={ref}>…</div>;
|
|
263
|
+
* });
|
|
264
|
+
*/
|
|
265
|
+
|
|
266
|
+
/** Anything React accepts as a ref slot. */
|
|
267
|
+
type PossibleRef<T> = Ref<T> | MutableRefObject<T | null> | null | undefined;
|
|
268
|
+
/**
|
|
269
|
+
* Merges any number of refs into a single ref callback. The callback is
|
|
270
|
+
* memoized on the identity of the input refs — if you pass new ref objects
|
|
271
|
+
* on every render, the callback identity will change and React will
|
|
272
|
+
* detach/reattach. In practice pass stable ref objects.
|
|
273
|
+
*
|
|
274
|
+
* @param refs - One or more refs (object refs or callback refs).
|
|
275
|
+
* @returns A stable ref callback that writes the node to every input ref.
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* const ref = useMergedRef(forwardedRef, internalRef);
|
|
279
|
+
* <div ref={ref} />
|
|
280
|
+
*/
|
|
281
|
+
declare function useMergedRef<T>(...refs: PossibleRef<T>[]): RefCallback<T>;
|
|
282
|
+
|
|
283
|
+
/** Return value of {@link useInterval}. */
|
|
284
|
+
interface UseIntervalReturn {
|
|
285
|
+
/** Whether the interval is currently running. */
|
|
286
|
+
active: boolean;
|
|
287
|
+
/** Start (or restart) the interval. */
|
|
288
|
+
start: () => void;
|
|
289
|
+
/** Stop the interval. */
|
|
290
|
+
stop: () => void;
|
|
291
|
+
/** Toggle the interval. */
|
|
292
|
+
toggle: () => void;
|
|
293
|
+
}
|
|
294
|
+
/** Options for {@link useInterval}. */
|
|
295
|
+
interface UseIntervalOptions {
|
|
296
|
+
/** If `true`, start the interval immediately. Default: `true`. */
|
|
297
|
+
autoInvoke?: boolean;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Calls `callback` every `delay` milliseconds. The latest callback is always
|
|
301
|
+
* invoked even if the callback identity changes between renders. Pass
|
|
302
|
+
* `delay = null` to pause.
|
|
303
|
+
*
|
|
304
|
+
* @param callback - Function to invoke on each tick.
|
|
305
|
+
* @param delay - Interval in milliseconds, or `null` to pause.
|
|
306
|
+
* @param options - Configuration.
|
|
307
|
+
* @returns Controls for starting/stopping the interval.
|
|
308
|
+
*/
|
|
309
|
+
declare function useInterval(callback: () => void, delay: number | null, options?: UseIntervalOptions): UseIntervalReturn;
|
|
310
|
+
|
|
311
|
+
/**
|
|
312
|
+
* Returns a ref to attach to a container. While `active` is `true`:
|
|
313
|
+
* - Initial focus moves to the first focusable child (or the container itself
|
|
314
|
+
* if it has `tabindex`).
|
|
315
|
+
* - Tab and Shift+Tab cycle within the container.
|
|
316
|
+
* - On deactivate, focus is restored to whatever was focused before.
|
|
317
|
+
*
|
|
318
|
+
* @param active - Whether the trap is engaged.
|
|
319
|
+
* @returns A ref callback to attach to the container element.
|
|
320
|
+
*
|
|
321
|
+
* @example
|
|
322
|
+
* const trapRef = useFocusTrap<HTMLDivElement>(open);
|
|
323
|
+
* <div ref={trapRef}>…</div>
|
|
324
|
+
*/
|
|
325
|
+
declare function useFocusTrap<T extends HTMLElement = HTMLElement>(active: boolean): (node: T | null) => void;
|
|
326
|
+
|
|
327
|
+
/** Options for {@link useFileDialog}. */
|
|
328
|
+
interface UseFileDialogOptions {
|
|
329
|
+
/** MIME types or extensions to filter (matches `<input accept>`). */
|
|
330
|
+
accept?: string;
|
|
331
|
+
/** Allow multiple selection. Default: `false`. */
|
|
332
|
+
multiple?: boolean;
|
|
333
|
+
/** Restrict to a folder picker (only supported in Chromium). */
|
|
334
|
+
directory?: boolean;
|
|
335
|
+
/** Camera capture mode for mobile (`"user"` | `"environment"`). */
|
|
336
|
+
capture?: "user" | "environment";
|
|
337
|
+
/** Called after the user picks files. */
|
|
338
|
+
onChange?: (files: File[]) => void;
|
|
339
|
+
}
|
|
340
|
+
/** Return value of {@link useFileDialog}. */
|
|
341
|
+
interface UseFileDialogReturn {
|
|
342
|
+
/** Most recently picked files (empty array if reset/never opened). */
|
|
343
|
+
files: File[];
|
|
344
|
+
/** Open the native file picker. */
|
|
345
|
+
open: () => void;
|
|
346
|
+
/** Clear the current selection. */
|
|
347
|
+
reset: () => void;
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Returns an `open()` trigger that pops the native file picker, plus the
|
|
351
|
+
* selected `files`. No DOM rendered by the consumer is required — the hook
|
|
352
|
+
* mounts a hidden `<input>` lazily on first call.
|
|
353
|
+
*
|
|
354
|
+
* @param options - Configuration mirroring `<input type="file">` attributes.
|
|
355
|
+
* @returns The selected files and control callbacks.
|
|
356
|
+
*/
|
|
357
|
+
declare function useFileDialog(options?: UseFileDialogOptions): UseFileDialogReturn;
|
|
358
|
+
|
|
224
359
|
/**
|
|
225
360
|
* @fileoverview Shared motion presets for premium UI components.
|
|
226
361
|
* @module packages/core/components/ui/motion-config
|
|
@@ -430,6 +565,77 @@ type Size = "xs" | "sm" | "md" | "lg" | "xl";
|
|
|
430
565
|
*/
|
|
431
566
|
type Density = "compact" | "normal" | "comfortable";
|
|
432
567
|
|
|
568
|
+
/**
|
|
569
|
+
* @fileoverview Base primitive for brand-logo Phosphor icons.
|
|
570
|
+
*
|
|
571
|
+
* Brand logos extend the standard four Phosphor weights with a fifth,
|
|
572
|
+
* `"colorful"` — the canonical multi-color brand mark from Iconify's `logos:`
|
|
573
|
+
* set. The colorful path can't reuse {@link IconBase} because brand SVGs
|
|
574
|
+
* have non-square viewBoxes (Apple is 256×315, Discord is 256×199, …) and
|
|
575
|
+
* use hardcoded brand colors instead of `currentColor`.
|
|
576
|
+
*
|
|
577
|
+
* BrandIconBase forks the render at the top:
|
|
578
|
+
* - weight === "colorful" → emit own `<svg>` with the brand viewBox + content
|
|
579
|
+
* - otherwise → delegate to {@link IconBase}
|
|
580
|
+
*
|
|
581
|
+
* @module @saasflare/ui/components/ui/phosphor/brand-icon-base
|
|
582
|
+
*/
|
|
583
|
+
|
|
584
|
+
/** Brand-logo weight set: standard Phosphor weights + the colored brand variant. */
|
|
585
|
+
type BrandIconWeight = IconWeight | "colorful";
|
|
586
|
+
|
|
587
|
+
declare const ArrowLeftIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
588
|
+
|
|
589
|
+
declare const ArrowRightIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
590
|
+
|
|
591
|
+
declare const ArrowUpIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
592
|
+
|
|
593
|
+
declare const CaretDownIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
594
|
+
|
|
595
|
+
declare const CaretLeftIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
596
|
+
|
|
597
|
+
declare const CaretRightIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
598
|
+
|
|
599
|
+
declare const CaretUpIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
600
|
+
|
|
601
|
+
declare const CheckIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
602
|
+
|
|
603
|
+
declare const CheckCircleIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
604
|
+
|
|
605
|
+
declare const CircleIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
606
|
+
|
|
607
|
+
declare const CircleNotchIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
608
|
+
|
|
609
|
+
declare const DotsSixVerticalIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
610
|
+
|
|
611
|
+
declare const DotsThreeIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
612
|
+
|
|
613
|
+
declare const InfoIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
614
|
+
|
|
615
|
+
declare const MagnifyingGlassIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
616
|
+
|
|
617
|
+
declare const MinusIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
618
|
+
|
|
619
|
+
declare const MonitorIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
620
|
+
|
|
621
|
+
declare const MoonIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
622
|
+
|
|
623
|
+
declare const PauseIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
624
|
+
|
|
625
|
+
declare const PlayIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
626
|
+
|
|
627
|
+
declare const QuotesIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
628
|
+
|
|
629
|
+
declare const SidebarSimpleIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
630
|
+
|
|
631
|
+
declare const SunIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
632
|
+
|
|
633
|
+
declare const WarningIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
634
|
+
|
|
635
|
+
declare const XIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
636
|
+
|
|
637
|
+
declare const XCircleIcon: React$1.ForwardRefExoticComponent<PhosphorIconProps & React$1.RefAttributes<SVGSVGElement>>;
|
|
638
|
+
|
|
433
639
|
/** Context value exposed by useSaasflareTheme(). */
|
|
434
640
|
interface SaasflareThemeContextType {
|
|
435
641
|
/** Active brand palette id, or null when using baseline. */
|
|
@@ -438,12 +644,16 @@ interface SaasflareThemeContextType {
|
|
|
438
644
|
surface: StyleVariant;
|
|
439
645
|
/** Active radius preset. */
|
|
440
646
|
radius: Radius;
|
|
647
|
+
/** Active icon weight for component-rendered Phosphor icons. */
|
|
648
|
+
iconWeight: IconWeight;
|
|
441
649
|
/** Set the active brand palette (persists to localStorage). */
|
|
442
650
|
setPalette: (id: string) => void;
|
|
443
651
|
/** Set the active surface style (persists to localStorage). */
|
|
444
652
|
setSurface: (style: StyleVariant) => void;
|
|
445
653
|
/** Set the active radius preset (persists to localStorage). */
|
|
446
654
|
setRadius: (radius: Radius) => void;
|
|
655
|
+
/** Set the active icon weight (persists to localStorage). */
|
|
656
|
+
setIconWeight: (weight: IconWeight) => void;
|
|
447
657
|
}
|
|
448
658
|
/**
|
|
449
659
|
* Access the Saasflare theme context.
|
|
@@ -478,9 +688,19 @@ interface SaasflareProviderProps {
|
|
|
478
688
|
* - Omit to defer: uses persisted preference if any, otherwise "rounded"
|
|
479
689
|
*/
|
|
480
690
|
radius?: RadiusProp;
|
|
481
|
-
/**
|
|
691
|
+
/**
|
|
692
|
+
* Default icon weight for component-rendered Phosphor icons.
|
|
693
|
+
* - IconWeight ("regular" | "bold" | "fill" | "duotone") → forces the value
|
|
694
|
+
* - Omit to defer: uses persisted preference if any, otherwise "regular"
|
|
695
|
+
*/
|
|
696
|
+
iconWeight?: IconWeight;
|
|
697
|
+
/**
|
|
698
|
+
* Global animation kill switch.
|
|
699
|
+
* - boolean → forces the value
|
|
700
|
+
* - Omit to defer: uses persisted preference if any, otherwise `true`
|
|
701
|
+
*/
|
|
482
702
|
animated?: boolean;
|
|
483
|
-
/** Enable smooth scrolling site-wide. @default
|
|
703
|
+
/** Enable smooth scrolling site-wide. @default true */
|
|
484
704
|
smoothScrolling?: boolean;
|
|
485
705
|
/**
|
|
486
706
|
* Skip rendering the pre-hydration FOUT-prevention script.
|
|
@@ -520,7 +740,7 @@ interface SaasflareProviderProps {
|
|
|
520
740
|
* @component
|
|
521
741
|
* @package ui
|
|
522
742
|
*/
|
|
523
|
-
declare function SaasflareProvider({ children, theme, palette, surface, radius, animated, smoothScrolling, disableScript, scriptNonce, storageKey, themeStorageKey, }: SaasflareProviderProps): react_jsx_runtime.JSX.Element;
|
|
743
|
+
declare function SaasflareProvider({ children, theme, palette, surface, radius, iconWeight, animated, smoothScrolling, disableScript, scriptNonce, storageKey, themeStorageKey, }: SaasflareProviderProps): react_jsx_runtime.JSX.Element;
|
|
524
744
|
|
|
525
745
|
/** Props for {@link SaasflareShell}. */
|
|
526
746
|
interface SaasflareShellProps extends Omit<SaasflareProviderProps, "children" | "disableScript" | "scriptNonce"> {
|
|
@@ -665,7 +885,7 @@ declare function AlertDialogCancel({ className, ...props }: React$1.ComponentPro
|
|
|
665
885
|
declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
666
886
|
interface AccordionItemProps extends Omit<React$1.ComponentProps<typeof AccordionPrimitive.Item>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
667
887
|
}
|
|
668
|
-
declare function AccordionItem({ className, surface, radius, animated, ...props }: AccordionItemProps): react_jsx_runtime.JSX.Element;
|
|
888
|
+
declare function AccordionItem({ className, surface, radius, animated, iconWeight, ...props }: AccordionItemProps): react_jsx_runtime.JSX.Element;
|
|
669
889
|
/**
|
|
670
890
|
* Accordion trigger with animated chevron indicator.
|
|
671
891
|
*
|
|
@@ -711,7 +931,7 @@ declare function Textarea({ className, surface, radius, animated, ...props }: Te
|
|
|
711
931
|
|
|
712
932
|
interface CheckboxProps extends Omit<React$1.ComponentProps<typeof CheckboxPrimitive.Root>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
713
933
|
}
|
|
714
|
-
declare function Checkbox({ className, surface, radius, animated, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
934
|
+
declare function Checkbox({ className, surface, radius, animated, iconWeight, ...props }: CheckboxProps): react_jsx_runtime.JSX.Element;
|
|
715
935
|
|
|
716
936
|
interface SwitchProps extends Omit<React$1.ComponentProps<typeof SwitchPrimitive.Root>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
717
937
|
size?: "sm" | "default";
|
|
@@ -733,6 +953,41 @@ interface ProgressProps extends Omit<React$1.ComponentProps<typeof ProgressPrimi
|
|
|
733
953
|
*/
|
|
734
954
|
declare function Progress({ className, value, surface, radius, animated, ...props }: ProgressProps): react_jsx_runtime.JSX.Element;
|
|
735
955
|
|
|
956
|
+
declare const SIZE_PX$1: {
|
|
957
|
+
readonly sm: 48;
|
|
958
|
+
readonly md: 64;
|
|
959
|
+
readonly lg: 96;
|
|
960
|
+
readonly xl: 128;
|
|
961
|
+
};
|
|
962
|
+
type ProgressCircleSize = keyof typeof SIZE_PX$1;
|
|
963
|
+
/** Props for the ProgressCircle component. */
|
|
964
|
+
interface ProgressCircleProps extends SaasflareComponentProps {
|
|
965
|
+
/** Current value in the range `[0, max]`. */
|
|
966
|
+
value: number;
|
|
967
|
+
/** Maximum value. Default: `100`. */
|
|
968
|
+
max?: number;
|
|
969
|
+
/** Size preset. Default: `"md"`. */
|
|
970
|
+
size?: ProgressCircleSize;
|
|
971
|
+
/** Ring stroke width in pixels. Default: derived from `size`. */
|
|
972
|
+
strokeWidth?: number;
|
|
973
|
+
/** Center content (e.g. the numeric label). */
|
|
974
|
+
children?: ReactNode;
|
|
975
|
+
/** Additional class names on the outer wrapper. */
|
|
976
|
+
className?: string;
|
|
977
|
+
/** Accessible label. Default: `"<value>%"`. */
|
|
978
|
+
"aria-label"?: string;
|
|
979
|
+
}
|
|
980
|
+
/**
|
|
981
|
+
* Circular progress indicator. Drop-in radial counterpart to Progress.
|
|
982
|
+
*
|
|
983
|
+
* @component
|
|
984
|
+
* @layer core
|
|
985
|
+
*
|
|
986
|
+
* @example
|
|
987
|
+
* <ProgressCircle value={72} />
|
|
988
|
+
*/
|
|
989
|
+
declare function ProgressCircle({ value, max, size, strokeWidth, children, className, surface, radius, animated, "aria-label": ariaLabel, }: ProgressCircleProps): react_jsx_runtime.JSX.Element;
|
|
990
|
+
|
|
736
991
|
/**
|
|
737
992
|
* Badge variant definitions.
|
|
738
993
|
*
|
|
@@ -799,7 +1054,7 @@ declare function SelectTrigger({ className, size, children, ...props }: React$1.
|
|
|
799
1054
|
}): react_jsx_runtime.JSX.Element;
|
|
800
1055
|
interface SelectContentProps extends Omit<React$1.ComponentProps<typeof SelectPrimitive.Content>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
801
1056
|
}
|
|
802
|
-
declare function SelectContent({ className, children, position, surface, radius, animated, ...props }: SelectContentProps): react_jsx_runtime.JSX.Element;
|
|
1057
|
+
declare function SelectContent({ className, children, position, surface, radius, animated, iconWeight, ...props }: SelectContentProps): react_jsx_runtime.JSX.Element;
|
|
803
1058
|
declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Label>): react_jsx_runtime.JSX.Element;
|
|
804
1059
|
declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Item>): react_jsx_runtime.JSX.Element;
|
|
805
1060
|
declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof SelectPrimitive.Separator>): react_jsx_runtime.JSX.Element;
|
|
@@ -814,7 +1069,7 @@ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof Dro
|
|
|
814
1069
|
declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): react_jsx_runtime.JSX.Element;
|
|
815
1070
|
interface DropdownMenuContentProps extends Omit<React$1.ComponentProps<typeof DropdownMenuPrimitive.Content>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
816
1071
|
}
|
|
817
|
-
declare function DropdownMenuContent({ className, sideOffset, surface, radius, animated, ...props }: DropdownMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
1072
|
+
declare function DropdownMenuContent({ className, sideOffset, surface, radius, animated, iconWeight, ...props }: DropdownMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
818
1073
|
declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
|
|
819
1074
|
inset?: boolean;
|
|
820
1075
|
variant?: "default" | "destructive";
|
|
@@ -838,7 +1093,7 @@ interface SheetContentProps extends Omit<React$1.ComponentProps<typeof DialogPri
|
|
|
838
1093
|
side?: "top" | "right" | "bottom" | "left";
|
|
839
1094
|
showCloseButton?: boolean;
|
|
840
1095
|
}
|
|
841
|
-
declare function SheetContent({ className, children, side, showCloseButton, surface, radius, animated, ...props }: SheetContentProps): react_jsx_runtime.JSX.Element;
|
|
1096
|
+
declare function SheetContent({ className, children, side, showCloseButton, surface, radius, animated, iconWeight, ...props }: SheetContentProps): react_jsx_runtime.JSX.Element;
|
|
842
1097
|
declare function SheetHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
843
1098
|
declare function SheetFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
844
1099
|
declare function SheetTitle({ className, ...props }: React$1.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
|
|
@@ -880,7 +1135,7 @@ interface AlertProps extends Omit<React$1.ComponentProps<"div">, keyof Saasflare
|
|
|
880
1135
|
* <AlertDescription>Something went wrong.</AlertDescription>
|
|
881
1136
|
* </Alert>
|
|
882
1137
|
*/
|
|
883
|
-
declare function Alert({ className, intent: intentProp, variant, surface, radius, animated, ...props }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
1138
|
+
declare function Alert({ className, intent: intentProp, variant, surface, radius, animated, iconWeight, ...props }: AlertProps): react_jsx_runtime.JSX.Element;
|
|
884
1139
|
/**
|
|
885
1140
|
* Alert title text.
|
|
886
1141
|
*
|
|
@@ -918,7 +1173,7 @@ declare function ContextMenuSubTrigger({ className, inset, children, ...props }:
|
|
|
918
1173
|
declare function ContextMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.SubContent>): react_jsx_runtime.JSX.Element;
|
|
919
1174
|
interface ContextMenuContentProps extends Omit<React$1.ComponentProps<typeof ContextMenuPrimitive.Content>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
920
1175
|
}
|
|
921
|
-
declare function ContextMenuContent({ className, surface, radius, animated, ...props }: ContextMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
1176
|
+
declare function ContextMenuContent({ className, surface, radius, animated, iconWeight, ...props }: ContextMenuContentProps): react_jsx_runtime.JSX.Element;
|
|
922
1177
|
declare function ContextMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof ContextMenuPrimitive.Item> & {
|
|
923
1178
|
inset?: boolean;
|
|
924
1179
|
variant?: "default" | "destructive";
|
|
@@ -933,7 +1188,7 @@ declare function ContextMenuShortcut({ className, ...props }: React$1.ComponentP
|
|
|
933
1188
|
|
|
934
1189
|
interface MenubarProps extends Omit<React$1.ComponentProps<typeof MenubarPrimitive.Root>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
935
1190
|
}
|
|
936
|
-
declare function Menubar({ className, surface, radius, animated, ...props }: MenubarProps): react_jsx_runtime.JSX.Element;
|
|
1191
|
+
declare function Menubar({ className, surface, radius, animated, iconWeight, ...props }: MenubarProps): react_jsx_runtime.JSX.Element;
|
|
937
1192
|
declare function MenubarMenu({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Menu>): react_jsx_runtime.JSX.Element;
|
|
938
1193
|
declare function MenubarGroup({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Group>): react_jsx_runtime.JSX.Element;
|
|
939
1194
|
declare function MenubarPortal({ ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Portal>): react_jsx_runtime.JSX.Element;
|
|
@@ -941,7 +1196,7 @@ declare function MenubarRadioGroup({ ...props }: React$1.ComponentProps<typeof M
|
|
|
941
1196
|
declare function MenubarTrigger({ className, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
|
|
942
1197
|
interface MenubarContentProps extends Omit<React$1.ComponentProps<typeof MenubarPrimitive.Content>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
943
1198
|
}
|
|
944
|
-
declare function MenubarContent({ className, align, alignOffset, sideOffset, surface, radius, animated, ...props }: MenubarContentProps): react_jsx_runtime.JSX.Element;
|
|
1199
|
+
declare function MenubarContent({ className, align, alignOffset, sideOffset, surface, radius, animated, iconWeight, ...props }: MenubarContentProps): react_jsx_runtime.JSX.Element;
|
|
945
1200
|
declare function MenubarItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof MenubarPrimitive.Item> & {
|
|
946
1201
|
inset?: boolean;
|
|
947
1202
|
variant?: "default" | "destructive";
|
|
@@ -962,7 +1217,7 @@ declare function MenubarSubContent({ className, ...props }: React$1.ComponentPro
|
|
|
962
1217
|
interface NavigationMenuProps extends Omit<React$1.ComponentProps<typeof NavigationMenuPrimitive.Root>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
963
1218
|
viewport?: boolean;
|
|
964
1219
|
}
|
|
965
|
-
declare function NavigationMenu({ className, children, viewport, surface, radius, animated, ...props }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
|
|
1220
|
+
declare function NavigationMenu({ className, children, viewport, surface, radius, animated, iconWeight, ...props }: NavigationMenuProps): react_jsx_runtime.JSX.Element;
|
|
966
1221
|
declare function NavigationMenuList({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.List>): react_jsx_runtime.JSX.Element;
|
|
967
1222
|
declare function NavigationMenuItem({ className, ...props }: React$1.ComponentProps<typeof NavigationMenuPrimitive.Item>): react_jsx_runtime.JSX.Element;
|
|
968
1223
|
declare const navigationMenuTriggerStyle: (props?: class_variance_authority_types.ClassProp | undefined) => string;
|
|
@@ -1012,7 +1267,7 @@ declare function ToggleGroupItem({ className, children, variant, size, ...props
|
|
|
1012
1267
|
|
|
1013
1268
|
interface RadioGroupProps extends Omit<React$1.ComponentProps<typeof RadioGroupPrimitive.Root>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1014
1269
|
}
|
|
1015
|
-
declare function RadioGroup({ className, surface, radius, animated, ...props }: RadioGroupProps): react_jsx_runtime.JSX.Element;
|
|
1270
|
+
declare function RadioGroup({ className, surface, radius, animated, iconWeight, ...props }: RadioGroupProps): react_jsx_runtime.JSX.Element;
|
|
1016
1271
|
declare function RadioGroupItem({ className, ...props }: React$1.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
|
|
1017
1272
|
|
|
1018
1273
|
interface CollapsibleContentProps extends Omit<React$1.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
@@ -1032,13 +1287,13 @@ declare function ScrollBar({ className, orientation, ...props }: React$1.Compone
|
|
|
1032
1287
|
|
|
1033
1288
|
interface SaasflareToasterProps extends Omit<ToasterProps, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1034
1289
|
}
|
|
1035
|
-
declare const Toaster: ({ surface, radius, animated, ...props }: SaasflareToasterProps) => react_jsx_runtime.JSX.Element;
|
|
1290
|
+
declare const Toaster: ({ surface, radius, animated, iconWeight, ...props }: SaasflareToasterProps) => react_jsx_runtime.JSX.Element;
|
|
1036
1291
|
|
|
1037
1292
|
declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatioPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
1038
1293
|
|
|
1039
1294
|
interface BreadcrumbProps extends Omit<React$1.ComponentProps<"nav">, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1040
1295
|
}
|
|
1041
|
-
declare function Breadcrumb({ surface, radius, animated, ...props }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
1296
|
+
declare function Breadcrumb({ surface, radius, animated, iconWeight, ...props }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
1042
1297
|
declare function BreadcrumbList({ className, ...props }: React$1.ComponentProps<"ol">): react_jsx_runtime.JSX.Element;
|
|
1043
1298
|
declare function BreadcrumbItem({ className, ...props }: React$1.ComponentProps<"li">): react_jsx_runtime.JSX.Element;
|
|
1044
1299
|
declare function BreadcrumbLink({ asChild, className, ...props }: React$1.ComponentProps<"a"> & {
|
|
@@ -1221,7 +1476,7 @@ declare function KbdGroup({ className, ...props }: React.ComponentProps<"div">):
|
|
|
1221
1476
|
interface NativeSelectProps extends Omit<React$1.ComponentProps<"select">, "size" | keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1222
1477
|
size?: "sm" | "default";
|
|
1223
1478
|
}
|
|
1224
|
-
declare function NativeSelect({ className, size, surface, radius, animated, ...props }: NativeSelectProps): react_jsx_runtime.JSX.Element;
|
|
1479
|
+
declare function NativeSelect({ className, size, surface, radius, animated, iconWeight, ...props }: NativeSelectProps): react_jsx_runtime.JSX.Element;
|
|
1225
1480
|
declare function NativeSelectOption({ ...props }: React$1.ComponentProps<"option">): react_jsx_runtime.JSX.Element;
|
|
1226
1481
|
declare function NativeSelectOptGroup({ className, ...props }: React$1.ComponentProps<"optgroup">): react_jsx_runtime.JSX.Element;
|
|
1227
1482
|
|
|
@@ -1478,6 +1733,480 @@ interface MetricCardProps extends Omit<React$1.ComponentProps<"div">, keyof Saas
|
|
|
1478
1733
|
*/
|
|
1479
1734
|
declare function MetricCard({ label, value, trend, icon, className, surface, radius, animated, ...props }: MetricCardProps): react_jsx_runtime.JSX.Element;
|
|
1480
1735
|
|
|
1736
|
+
/** A single row in the list. */
|
|
1737
|
+
interface BarListItem {
|
|
1738
|
+
/** Row label. */
|
|
1739
|
+
name: string;
|
|
1740
|
+
/** Numeric value driving the bar width. */
|
|
1741
|
+
value: number;
|
|
1742
|
+
/** Optional icon shown left of the label. */
|
|
1743
|
+
icon?: ReactNode;
|
|
1744
|
+
/** Optional click target for the row label (wraps in `<a>`). */
|
|
1745
|
+
href?: string;
|
|
1746
|
+
/** Optional per-row color override (any CSS color). */
|
|
1747
|
+
color?: string;
|
|
1748
|
+
}
|
|
1749
|
+
/** Props for the BarList component. */
|
|
1750
|
+
interface BarListProps extends SaasflareComponentProps {
|
|
1751
|
+
/** Rows to render. */
|
|
1752
|
+
data: BarListItem[];
|
|
1753
|
+
/** Formats the numeric value on the right edge. Default: `String(n)`. */
|
|
1754
|
+
valueFormatter?: (value: number) => string;
|
|
1755
|
+
/** Sort rows by value descending. Default: `true`. */
|
|
1756
|
+
sortDescending?: boolean;
|
|
1757
|
+
/** Maximum rows rendered (truncates after sort). */
|
|
1758
|
+
limit?: number;
|
|
1759
|
+
/** Additional class names. */
|
|
1760
|
+
className?: string;
|
|
1761
|
+
}
|
|
1762
|
+
/**
|
|
1763
|
+
* Horizontal bar list — common dashboard "top N" rankings pattern.
|
|
1764
|
+
*
|
|
1765
|
+
* @component
|
|
1766
|
+
* @layer core
|
|
1767
|
+
*/
|
|
1768
|
+
declare function BarList({ data, valueFormatter, sortDescending, limit, className, surface, radius, animated, }: BarListProps): react_jsx_runtime.JSX.Element;
|
|
1769
|
+
|
|
1770
|
+
/** Visual variant of the spark chart. */
|
|
1771
|
+
type SparkChartVariant = "line" | "area" | "bar";
|
|
1772
|
+
/** Props for the SparkChart component. */
|
|
1773
|
+
interface SparkChartProps extends SaasflareComponentProps {
|
|
1774
|
+
/** Series of numeric points (length ≥ 2). */
|
|
1775
|
+
data: number[];
|
|
1776
|
+
/** Visual treatment. Default: `"area"`. */
|
|
1777
|
+
variant?: SparkChartVariant;
|
|
1778
|
+
/** Stroke / fill color (any CSS color). Default: `var(--primary)`. */
|
|
1779
|
+
color?: string;
|
|
1780
|
+
/** SVG width in pixels. Default: `64`. */
|
|
1781
|
+
width?: number;
|
|
1782
|
+
/** SVG height in pixels. Default: `24`. */
|
|
1783
|
+
height?: number;
|
|
1784
|
+
/** Line stroke width in pixels. Default: `1.5`. */
|
|
1785
|
+
strokeWidth?: number;
|
|
1786
|
+
/** Additional class names. */
|
|
1787
|
+
className?: string;
|
|
1788
|
+
/** Accessible label. */
|
|
1789
|
+
"aria-label"?: string;
|
|
1790
|
+
}
|
|
1791
|
+
/**
|
|
1792
|
+
* Inline mini chart for KPI tiles, table cells, and metric cards.
|
|
1793
|
+
*
|
|
1794
|
+
* @component
|
|
1795
|
+
* @layer core
|
|
1796
|
+
*/
|
|
1797
|
+
declare function SparkChart({ data, variant, color, width, height, strokeWidth, className, surface, radius, animated, "aria-label": ariaLabel, }: SparkChartProps): react_jsx_runtime.JSX.Element | null;
|
|
1798
|
+
|
|
1799
|
+
/** A single tracker block. */
|
|
1800
|
+
interface TrackerBlock {
|
|
1801
|
+
/** Named color key (emerald|teal|blue|amber|red|rose|gray) or any CSS color. */
|
|
1802
|
+
color?: string;
|
|
1803
|
+
/** Tooltip text shown on hover. */
|
|
1804
|
+
tooltip?: ReactNode;
|
|
1805
|
+
/** Custom key (helps React when blocks rearrange). */
|
|
1806
|
+
key?: string | number;
|
|
1807
|
+
}
|
|
1808
|
+
/** Props for the Tracker component. */
|
|
1809
|
+
interface TrackerProps extends SaasflareComponentProps {
|
|
1810
|
+
/** Blocks to render, left-to-right. */
|
|
1811
|
+
data: TrackerBlock[];
|
|
1812
|
+
/** Height of each block in px. Default: `32`. */
|
|
1813
|
+
blockHeight?: number;
|
|
1814
|
+
/** Gap between blocks in px. Default: `2`. */
|
|
1815
|
+
gap?: number;
|
|
1816
|
+
/** Additional class names. */
|
|
1817
|
+
className?: string;
|
|
1818
|
+
}
|
|
1819
|
+
/**
|
|
1820
|
+
* Status segment grid (uptime/incident timeline).
|
|
1821
|
+
*
|
|
1822
|
+
* @component
|
|
1823
|
+
* @layer core
|
|
1824
|
+
*/
|
|
1825
|
+
declare function Tracker({ data, blockHeight, gap, className, surface, radius, animated, }: TrackerProps): react_jsx_runtime.JSX.Element;
|
|
1826
|
+
|
|
1827
|
+
/** Reason a file was rejected by the dropzone's built-in validation. */
|
|
1828
|
+
type DropzoneRejectionReason = "too-large" | "type-mismatch";
|
|
1829
|
+
/** A rejected file with the reason. */
|
|
1830
|
+
interface DropzoneRejection {
|
|
1831
|
+
file: File;
|
|
1832
|
+
reason: DropzoneRejectionReason;
|
|
1833
|
+
}
|
|
1834
|
+
/** Props for the Dropzone component. */
|
|
1835
|
+
interface DropzoneProps extends SaasflareComponentProps {
|
|
1836
|
+
/** Called with `(accepted, rejected)` when the user drops or picks files. */
|
|
1837
|
+
onDrop?: (accepted: File[], rejected: DropzoneRejection[]) => void;
|
|
1838
|
+
/** MIME types or extensions to accept (matches `<input accept>`). */
|
|
1839
|
+
accept?: string;
|
|
1840
|
+
/** Maximum file size in bytes. */
|
|
1841
|
+
maxSize?: number;
|
|
1842
|
+
/** Allow multiple file selection. Default: `true`. */
|
|
1843
|
+
multiple?: boolean;
|
|
1844
|
+
/** Disable the dropzone. */
|
|
1845
|
+
disabled?: boolean;
|
|
1846
|
+
/** Render-prop body. Receives `isDragActive`. Falls back to the default UI. */
|
|
1847
|
+
children?: ReactNode | ((state: {
|
|
1848
|
+
isDragActive: boolean;
|
|
1849
|
+
}) => ReactNode);
|
|
1850
|
+
/** Additional class names. */
|
|
1851
|
+
className?: string;
|
|
1852
|
+
}
|
|
1853
|
+
/**
|
|
1854
|
+
* Drag-and-drop file upload area with click-to-open fallback.
|
|
1855
|
+
*
|
|
1856
|
+
* @component
|
|
1857
|
+
* @layer core
|
|
1858
|
+
*/
|
|
1859
|
+
declare function Dropzone({ onDrop, accept, maxSize, multiple, disabled, children, className, surface, radius, animated, }: DropzoneProps): react_jsx_runtime.JSX.Element;
|
|
1860
|
+
|
|
1861
|
+
/** Inclusive date range, identical shape to react-day-picker's `DateRange`. */
|
|
1862
|
+
interface DateRange {
|
|
1863
|
+
from: Date | undefined;
|
|
1864
|
+
to?: Date | undefined;
|
|
1865
|
+
}
|
|
1866
|
+
/** Props for the DateRangePicker component. */
|
|
1867
|
+
interface DateRangePickerProps extends SaasflareComponentProps {
|
|
1868
|
+
/** Controlled value. */
|
|
1869
|
+
value?: DateRange;
|
|
1870
|
+
/** Uncontrolled default value. */
|
|
1871
|
+
defaultValue?: DateRange;
|
|
1872
|
+
/** Called when the user picks a new range. */
|
|
1873
|
+
onChange?: (range: DateRange | undefined) => void;
|
|
1874
|
+
/** Placeholder shown in the trigger when no range is set. */
|
|
1875
|
+
placeholder?: string;
|
|
1876
|
+
/** Number of months shown side-by-side. Default: `2`. */
|
|
1877
|
+
numberOfMonths?: number;
|
|
1878
|
+
/** Earliest pickable date. */
|
|
1879
|
+
minDate?: Date;
|
|
1880
|
+
/** Latest pickable date. */
|
|
1881
|
+
maxDate?: Date;
|
|
1882
|
+
/** Disable the trigger. */
|
|
1883
|
+
disabled?: boolean;
|
|
1884
|
+
/** Format function for the trigger label. Default: locale-aware `toLocaleDateString`. */
|
|
1885
|
+
formatRange?: (range: DateRange) => string;
|
|
1886
|
+
/** Additional class names on the trigger. */
|
|
1887
|
+
className?: string;
|
|
1888
|
+
}
|
|
1889
|
+
/**
|
|
1890
|
+
* Date-range input + popover calendar. Composes Button + Popover + Calendar.
|
|
1891
|
+
*
|
|
1892
|
+
* @component
|
|
1893
|
+
* @layer core
|
|
1894
|
+
*/
|
|
1895
|
+
declare function DateRangePicker({ value, defaultValue, onChange, placeholder, numberOfMonths, minDate, maxDate, disabled, formatRange, className, surface, radius, animated, iconWeight, }: DateRangePickerProps): react_jsx_runtime.JSX.Element;
|
|
1896
|
+
|
|
1897
|
+
/** Props for the DatePicker component. */
|
|
1898
|
+
interface DatePickerProps extends SaasflareComponentProps {
|
|
1899
|
+
/** Controlled value. */
|
|
1900
|
+
value?: Date;
|
|
1901
|
+
/** Uncontrolled default value. */
|
|
1902
|
+
defaultValue?: Date;
|
|
1903
|
+
/** Called when the user picks a date. */
|
|
1904
|
+
onChange?: (date: Date | undefined) => void;
|
|
1905
|
+
/** Placeholder shown when no date is set. */
|
|
1906
|
+
placeholder?: string;
|
|
1907
|
+
/** Earliest pickable date. */
|
|
1908
|
+
minDate?: Date;
|
|
1909
|
+
/** Latest pickable date. */
|
|
1910
|
+
maxDate?: Date;
|
|
1911
|
+
/** Disable the trigger. */
|
|
1912
|
+
disabled?: boolean;
|
|
1913
|
+
/** Format function for the trigger label. Default: locale-aware. */
|
|
1914
|
+
formatDate?: (date: Date) => string;
|
|
1915
|
+
/** Additional class names on the trigger. */
|
|
1916
|
+
className?: string;
|
|
1917
|
+
}
|
|
1918
|
+
/**
|
|
1919
|
+
* Single-date input + popover calendar. Composes Button + Popover + Calendar.
|
|
1920
|
+
*
|
|
1921
|
+
* @component
|
|
1922
|
+
* @layer core
|
|
1923
|
+
*/
|
|
1924
|
+
declare function DatePicker({ value, defaultValue, onChange, placeholder, minDate, maxDate, disabled, formatDate, className, surface, radius, animated, iconWeight, }: DatePickerProps): react_jsx_runtime.JSX.Element;
|
|
1925
|
+
|
|
1926
|
+
declare const INTENTS: readonly ["primary", "neutral", "success", "warning", "danger", "info"];
|
|
1927
|
+
type CalloutIntent = (typeof INTENTS)[number];
|
|
1928
|
+
/** Props for the Callout component. */
|
|
1929
|
+
interface CalloutProps extends SaasflareComponentProps {
|
|
1930
|
+
/** Color intent. Default: `"info"`. */
|
|
1931
|
+
intent?: CalloutIntent;
|
|
1932
|
+
/** Bold title rendered above the body. */
|
|
1933
|
+
title?: ReactNode;
|
|
1934
|
+
/** Leading icon (rendered in the same color as the intent stripe). */
|
|
1935
|
+
icon?: ReactNode;
|
|
1936
|
+
/** Body content. */
|
|
1937
|
+
children?: ReactNode;
|
|
1938
|
+
/** Additional class names. */
|
|
1939
|
+
className?: string;
|
|
1940
|
+
}
|
|
1941
|
+
/**
|
|
1942
|
+
* Inline emphasized message box with intent-driven coloring.
|
|
1943
|
+
*
|
|
1944
|
+
* @component
|
|
1945
|
+
* @layer core
|
|
1946
|
+
*
|
|
1947
|
+
* @example
|
|
1948
|
+
* <Callout intent="success" title="Saved">Your changes are live.</Callout>
|
|
1949
|
+
*/
|
|
1950
|
+
declare function Callout({ intent, title, icon, children, className, surface, radius, animated, iconWeight, }: CalloutProps): react_jsx_runtime.JSX.Element;
|
|
1951
|
+
|
|
1952
|
+
/** Props for the TagInput component. */
|
|
1953
|
+
interface TagInputProps extends SaasflareComponentProps {
|
|
1954
|
+
/** Controlled list of tags. */
|
|
1955
|
+
value?: string[];
|
|
1956
|
+
/** Uncontrolled initial tags. */
|
|
1957
|
+
defaultValue?: string[];
|
|
1958
|
+
/** Called whenever the tag list changes. */
|
|
1959
|
+
onChange?: (tags: string[]) => void;
|
|
1960
|
+
/** Placeholder shown in the input. */
|
|
1961
|
+
placeholder?: string;
|
|
1962
|
+
/** Maximum number of tags accepted. */
|
|
1963
|
+
maxTags?: number;
|
|
1964
|
+
/** Characters that commit the current input as a tag. Default: `[",", "Enter"]`. */
|
|
1965
|
+
separators?: string[];
|
|
1966
|
+
/** Reject duplicate tags. Default: `true`. */
|
|
1967
|
+
unique?: boolean;
|
|
1968
|
+
/** Disable the input. */
|
|
1969
|
+
disabled?: boolean;
|
|
1970
|
+
/** Custom renderer for each pill. Falls back to the default pill UI. */
|
|
1971
|
+
renderTag?: (tag: string, onRemove: () => void) => ReactNode;
|
|
1972
|
+
/** Additional class names on the outer wrapper. */
|
|
1973
|
+
className?: string;
|
|
1974
|
+
/** Accessible label. */
|
|
1975
|
+
"aria-label"?: string;
|
|
1976
|
+
}
|
|
1977
|
+
/**
|
|
1978
|
+
* Input field that converts text into removable tag pills.
|
|
1979
|
+
*
|
|
1980
|
+
* @component
|
|
1981
|
+
* @layer core
|
|
1982
|
+
*/
|
|
1983
|
+
declare function TagInput({ value, defaultValue, onChange, placeholder, maxTags, separators, unique, disabled, renderTag, className, surface, radius, animated, "aria-label": ariaLabel, }: TagInputProps): react_jsx_runtime.JSX.Element;
|
|
1984
|
+
|
|
1985
|
+
/** Props for the NumberInput component. */
|
|
1986
|
+
interface NumberInputProps extends SaasflareComponentProps {
|
|
1987
|
+
/** Controlled value. */
|
|
1988
|
+
value?: number;
|
|
1989
|
+
/** Uncontrolled initial value. */
|
|
1990
|
+
defaultValue?: number;
|
|
1991
|
+
/** Called when the value changes (after clamp). */
|
|
1992
|
+
onChange?: (value: number) => void;
|
|
1993
|
+
/** Minimum allowed value. */
|
|
1994
|
+
min?: number;
|
|
1995
|
+
/** Maximum allowed value. */
|
|
1996
|
+
max?: number;
|
|
1997
|
+
/** Step for stepper buttons + arrow keys. Default: `1`. */
|
|
1998
|
+
step?: number;
|
|
1999
|
+
/** Decimal precision for display. Default: derived from `step`. */
|
|
2000
|
+
precision?: number;
|
|
2001
|
+
/** Placeholder shown when empty. */
|
|
2002
|
+
placeholder?: string;
|
|
2003
|
+
/** Disable the input. */
|
|
2004
|
+
disabled?: boolean;
|
|
2005
|
+
/** Read-only input. */
|
|
2006
|
+
readOnly?: boolean;
|
|
2007
|
+
/** Hide the stepper buttons. */
|
|
2008
|
+
hideSteppers?: boolean;
|
|
2009
|
+
/** Additional class names on the outer wrapper. */
|
|
2010
|
+
className?: string;
|
|
2011
|
+
/** Name attribute (for form submission). */
|
|
2012
|
+
name?: string;
|
|
2013
|
+
/** Accessible label. */
|
|
2014
|
+
"aria-label"?: string;
|
|
2015
|
+
}
|
|
2016
|
+
/**
|
|
2017
|
+
* Numeric input with stepper buttons and clamping.
|
|
2018
|
+
*
|
|
2019
|
+
* @component
|
|
2020
|
+
* @layer core
|
|
2021
|
+
*/
|
|
2022
|
+
declare function NumberInput({ value, defaultValue, onChange, min, max, step, precision, placeholder, disabled, readOnly, hideSteppers, className, name, surface, radius, animated, "aria-label": ariaLabel, }: NumberInputProps): react_jsx_runtime.JSX.Element;
|
|
2023
|
+
|
|
2024
|
+
declare const SIZE_PX: {
|
|
2025
|
+
readonly sm: 14;
|
|
2026
|
+
readonly md: 20;
|
|
2027
|
+
readonly lg: 28;
|
|
2028
|
+
readonly xl: 36;
|
|
2029
|
+
};
|
|
2030
|
+
type RatingSize = keyof typeof SIZE_PX;
|
|
2031
|
+
/** Props for the Rating component. */
|
|
2032
|
+
interface RatingProps extends SaasflareComponentProps {
|
|
2033
|
+
/** Controlled value (0..count). */
|
|
2034
|
+
value?: number;
|
|
2035
|
+
/** Uncontrolled initial value. */
|
|
2036
|
+
defaultValue?: number;
|
|
2037
|
+
/** Called when the user clicks a star. */
|
|
2038
|
+
onChange?: (value: number) => void;
|
|
2039
|
+
/** Number of stars. Default: `5`. */
|
|
2040
|
+
count?: number;
|
|
2041
|
+
/** Allow half-star granularity. Default: `false`. */
|
|
2042
|
+
allowHalf?: boolean;
|
|
2043
|
+
/** Read-only display mode (no interaction, no hover preview). */
|
|
2044
|
+
readOnly?: boolean;
|
|
2045
|
+
/** Disable the rating. */
|
|
2046
|
+
disabled?: boolean;
|
|
2047
|
+
/** Star size. Default: `"md"`. */
|
|
2048
|
+
size?: RatingSize;
|
|
2049
|
+
/** Star color (any CSS color). Default: `var(--warning)` — brand-independent gold. */
|
|
2050
|
+
color?: string;
|
|
2051
|
+
/** Additional class names. */
|
|
2052
|
+
className?: string;
|
|
2053
|
+
/** Accessible label. */
|
|
2054
|
+
"aria-label"?: string;
|
|
2055
|
+
}
|
|
2056
|
+
/**
|
|
2057
|
+
* Star rating input with half-star and read-only support.
|
|
2058
|
+
*
|
|
2059
|
+
* @component
|
|
2060
|
+
* @layer core
|
|
2061
|
+
*/
|
|
2062
|
+
declare function Rating({ value, defaultValue, onChange, count, allowHalf, readOnly, disabled, size, color, className, surface, radius, animated, "aria-label": ariaLabel, }: RatingProps): react_jsx_runtime.JSX.Element;
|
|
2063
|
+
|
|
2064
|
+
/** A single segment of the bar. */
|
|
2065
|
+
interface CategoryBarSegment {
|
|
2066
|
+
/** Numeric value driving the segment width (auto-normalized). */
|
|
2067
|
+
value: number;
|
|
2068
|
+
/** Any CSS color. Falls back to a derived primary tint. */
|
|
2069
|
+
color?: string;
|
|
2070
|
+
/** Optional label shown below the segment when `showLabels` is true. */
|
|
2071
|
+
label?: string;
|
|
2072
|
+
}
|
|
2073
|
+
/** Props for the CategoryBar component. */
|
|
2074
|
+
interface CategoryBarProps extends SaasflareComponentProps {
|
|
2075
|
+
/** Segments to render, left-to-right. */
|
|
2076
|
+
segments: CategoryBarSegment[];
|
|
2077
|
+
/** Bar height in pixels. Default: `8`. */
|
|
2078
|
+
height?: number;
|
|
2079
|
+
/** Render labels + percentages under each segment. */
|
|
2080
|
+
showLabels?: boolean;
|
|
2081
|
+
/** Formats the percentage text. Default: `"NN%"`. */
|
|
2082
|
+
valueFormatter?: (percent: number) => string;
|
|
2083
|
+
/** Additional class names. */
|
|
2084
|
+
className?: string;
|
|
2085
|
+
/** Accessible label for the bar group. */
|
|
2086
|
+
"aria-label"?: string;
|
|
2087
|
+
}
|
|
2088
|
+
/**
|
|
2089
|
+
* Segmented progress bar with optional labels.
|
|
2090
|
+
*
|
|
2091
|
+
* @component
|
|
2092
|
+
* @layer core
|
|
2093
|
+
*/
|
|
2094
|
+
declare function CategoryBar({ segments, height, showLabels, valueFormatter, className, surface, radius, animated, "aria-label": ariaLabel, }: CategoryBarProps): react_jsx_runtime.JSX.Element | null;
|
|
2095
|
+
|
|
2096
|
+
/** A single tree node. */
|
|
2097
|
+
interface TreeNode {
|
|
2098
|
+
/** Unique node id (stable across renders). */
|
|
2099
|
+
id: string;
|
|
2100
|
+
/** Display label or any ReactNode. */
|
|
2101
|
+
label: ReactNode;
|
|
2102
|
+
/** Leading icon (e.g. file/folder glyph). */
|
|
2103
|
+
icon?: ReactNode;
|
|
2104
|
+
/** Child nodes (omit for leaves). */
|
|
2105
|
+
children?: TreeNode[];
|
|
2106
|
+
/** Disable interaction for this node. */
|
|
2107
|
+
disabled?: boolean;
|
|
2108
|
+
}
|
|
2109
|
+
/** Props for the TreeView component. */
|
|
2110
|
+
interface TreeViewProps extends SaasflareComponentProps {
|
|
2111
|
+
/** Tree data, top-level nodes. */
|
|
2112
|
+
data: TreeNode[];
|
|
2113
|
+
/** Controlled expanded ids. */
|
|
2114
|
+
expanded?: string[];
|
|
2115
|
+
/** Uncontrolled initial expansion. */
|
|
2116
|
+
defaultExpanded?: string[];
|
|
2117
|
+
/** Called when a node is expanded/collapsed. */
|
|
2118
|
+
onExpand?: (ids: string[]) => void;
|
|
2119
|
+
/** Controlled selected id. */
|
|
2120
|
+
selected?: string | null;
|
|
2121
|
+
/** Uncontrolled initial selection. */
|
|
2122
|
+
defaultSelected?: string | null;
|
|
2123
|
+
/** Called when selection changes. */
|
|
2124
|
+
onSelect?: (id: string | null) => void;
|
|
2125
|
+
/** Additional class names on the root. */
|
|
2126
|
+
className?: string;
|
|
2127
|
+
}
|
|
2128
|
+
/**
|
|
2129
|
+
* Recursive expand/collapse tree with keyboard navigation.
|
|
2130
|
+
*
|
|
2131
|
+
* @component
|
|
2132
|
+
* @layer core
|
|
2133
|
+
*/
|
|
2134
|
+
declare function TreeView({ data, expanded, defaultExpanded, onExpand, selected, defaultSelected, onSelect, className, surface, radius, animated, iconWeight, }: TreeViewProps): react_jsx_runtime.JSX.Element;
|
|
2135
|
+
|
|
2136
|
+
/** Props for the CodeBlock component. */
|
|
2137
|
+
interface CodeBlockProps extends SaasflareComponentProps {
|
|
2138
|
+
/** Plain source code (rendered as monospace, no highlighting). */
|
|
2139
|
+
code?: string;
|
|
2140
|
+
/** Pre-highlighted HTML — e.g. output from Shiki's `codeToHtml`. */
|
|
2141
|
+
highlighted?: string;
|
|
2142
|
+
/** Language label shown in the header (purely cosmetic). */
|
|
2143
|
+
language?: string;
|
|
2144
|
+
/** Filename shown left of the language badge. */
|
|
2145
|
+
filename?: string;
|
|
2146
|
+
/** Show 1-based line numbers in the gutter. */
|
|
2147
|
+
showLineNumbers?: boolean;
|
|
2148
|
+
/** Hide the top bar (copy button still floats inside the block). */
|
|
2149
|
+
hideHeader?: boolean;
|
|
2150
|
+
/** Hide the copy-to-clipboard button. */
|
|
2151
|
+
hideCopyButton?: boolean;
|
|
2152
|
+
/** Additional class names on the outer wrapper. */
|
|
2153
|
+
className?: string;
|
|
2154
|
+
}
|
|
2155
|
+
/**
|
|
2156
|
+
* Code block with filename header, language badge, copy button, and optional
|
|
2157
|
+
* line numbers. Highlighting is BYO (pass `highlighted` HTML or `code` text).
|
|
2158
|
+
*
|
|
2159
|
+
* @component
|
|
2160
|
+
* @layer core
|
|
2161
|
+
*/
|
|
2162
|
+
declare function CodeBlock({ code, highlighted, language, filename, showLineNumbers, hideHeader, hideCopyButton, className, surface, radius, animated, }: CodeBlockProps): react_jsx_runtime.JSX.Element;
|
|
2163
|
+
|
|
2164
|
+
/** A single notification item. */
|
|
2165
|
+
interface NotificationItem {
|
|
2166
|
+
/** Stable unique id. */
|
|
2167
|
+
id: string;
|
|
2168
|
+
/** Bold title line. */
|
|
2169
|
+
title: ReactNode;
|
|
2170
|
+
/** Secondary body line. */
|
|
2171
|
+
description?: ReactNode;
|
|
2172
|
+
/** Display timestamp (already formatted — e.g. "5m ago"). */
|
|
2173
|
+
timestamp?: string;
|
|
2174
|
+
/** Whether the notification has been read. */
|
|
2175
|
+
read?: boolean;
|
|
2176
|
+
/** Optional leading icon. */
|
|
2177
|
+
icon?: ReactNode;
|
|
2178
|
+
/** Optional href — wraps the row in `<a>`. */
|
|
2179
|
+
href?: string;
|
|
2180
|
+
}
|
|
2181
|
+
/** Props for the NotificationCenter component. */
|
|
2182
|
+
interface NotificationCenterProps extends SaasflareComponentProps {
|
|
2183
|
+
/** Notifications to display. */
|
|
2184
|
+
items: NotificationItem[];
|
|
2185
|
+
/** Header title in the popover. Default: `"Notifications"`. */
|
|
2186
|
+
title?: string;
|
|
2187
|
+
/** Called when the user clicks a row (also passes the item). */
|
|
2188
|
+
onItemClick?: (item: NotificationItem) => void;
|
|
2189
|
+
/** Called when "Mark as read" is tapped on a row. */
|
|
2190
|
+
onMarkRead?: (id: string) => void;
|
|
2191
|
+
/** Called when "Mark all as read" is tapped. Hide the action by omitting this. */
|
|
2192
|
+
onMarkAllRead?: () => void;
|
|
2193
|
+
/** Custom empty-state content. */
|
|
2194
|
+
emptyState?: ReactNode;
|
|
2195
|
+
/** Maximum items rendered (older ones truncated). */
|
|
2196
|
+
limit?: number;
|
|
2197
|
+
/** Additional class names on the trigger button. */
|
|
2198
|
+
triggerClassName?: string;
|
|
2199
|
+
/** Additional class names on the popover content. */
|
|
2200
|
+
contentClassName?: string;
|
|
2201
|
+
}
|
|
2202
|
+
/**
|
|
2203
|
+
* Bell trigger + dropdown inbox of notifications.
|
|
2204
|
+
*
|
|
2205
|
+
* @component
|
|
2206
|
+
* @layer core
|
|
2207
|
+
*/
|
|
2208
|
+
declare function NotificationCenter({ items, title, onItemClick, onMarkRead, onMarkAllRead, emptyState, limit, triggerClassName, contentClassName, surface, radius, animated, iconWeight, }: NotificationCenterProps): react_jsx_runtime.JSX.Element;
|
|
2209
|
+
|
|
1481
2210
|
/** Props for the EmptyState component */
|
|
1482
2211
|
interface EmptyStateProps extends Omit<React$1.ComponentProps<"div">, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1483
2212
|
/** Icon or illustration element */
|
|
@@ -1536,7 +2265,7 @@ interface SearchFieldProps extends Omit<React$1.ComponentProps<"input">, "type"
|
|
|
1536
2265
|
* loading={isSearching}
|
|
1537
2266
|
* />
|
|
1538
2267
|
*/
|
|
1539
|
-
declare function SearchField({ className, loading, onClear, value, surface, radius, animated, ...props }: SearchFieldProps): react_jsx_runtime.JSX.Element;
|
|
2268
|
+
declare function SearchField({ className, loading, onClear, value, surface, radius, animated, iconWeight, ...props }: SearchFieldProps): react_jsx_runtime.JSX.Element;
|
|
1540
2269
|
|
|
1541
2270
|
/** Props for the SettingsSection component */
|
|
1542
2271
|
interface SettingsSectionProps extends Omit<React$1.ComponentProps<"div">, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
@@ -1606,7 +2335,7 @@ interface PricingCardProps extends Omit<React$1.ComponentProps<"div">, keyof Saa
|
|
|
1606
2335
|
* featured
|
|
1607
2336
|
* />
|
|
1608
2337
|
*/
|
|
1609
|
-
declare function PricingCard({ name, price, period, description, features, cta, featured, className, surface, radius, animated, ...props }: PricingCardProps): react_jsx_runtime.JSX.Element;
|
|
2338
|
+
declare function PricingCard({ name, price, period, description, features, cta, featured, className, surface, radius, animated, iconWeight, ...props }: PricingCardProps): react_jsx_runtime.JSX.Element;
|
|
1610
2339
|
|
|
1611
2340
|
interface DataToolbarProps extends Omit<React$1.ComponentProps<"div">, keyof SaasflareComponentProps>, SaasflareComponentProps {
|
|
1612
2341
|
}
|
|
@@ -1647,6 +2376,30 @@ declare function DataToolbarFilters({ className, ...props }: React$1.ComponentPr
|
|
|
1647
2376
|
*/
|
|
1648
2377
|
declare function DataToolbarActions({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
1649
2378
|
|
|
2379
|
+
/** Props for the AuroraBackground component. */
|
|
2380
|
+
interface AuroraBackgroundProps extends Omit<ComponentProps<"div">, keyof SaasflareComponentProps | "color">, SaasflareComponentProps {
|
|
2381
|
+
/**
|
|
2382
|
+
* Three ambient blob colors in order: top-left, right, bottom-left.
|
|
2383
|
+
* Default: curated peach + blue + violet showcase palette.
|
|
2384
|
+
*/
|
|
2385
|
+
colors?: readonly [string, string, string];
|
|
2386
|
+
/** Overall blob opacity (0–1). Default: `0.55`. Auto-halved in dark mode via `dark:` modifier. */
|
|
2387
|
+
intensity?: number;
|
|
2388
|
+
}
|
|
2389
|
+
/**
|
|
2390
|
+
* Soft multi-color gradient backdrop for showcase, demo, and marketing sections.
|
|
2391
|
+
*
|
|
2392
|
+
* Renders three blurred radial blobs positioned at corners around the children
|
|
2393
|
+
* slot. Default palette is a fixed showcase combination (peach / blue / violet)
|
|
2394
|
+
* so the visual stays consistent across brand palettes; pass `colors` to switch
|
|
2395
|
+
* to brand-rotating tokens. Drift animation is on by default and respects
|
|
2396
|
+
* `prefers-reduced-motion`.
|
|
2397
|
+
*
|
|
2398
|
+
* @component
|
|
2399
|
+
* @layer core
|
|
2400
|
+
*/
|
|
2401
|
+
declare function AuroraBackground({ colors, intensity, className, children, surface, radius, animated, ...props }: AuroraBackgroundProps): react_jsx_runtime.JSX.Element;
|
|
2402
|
+
|
|
1650
2403
|
/**
|
|
1651
2404
|
* Props for the ScrollToTopButton component.
|
|
1652
2405
|
*
|
|
@@ -1675,6 +2428,91 @@ interface ScrollToTopButtonProps extends SaasflareComponentProps {
|
|
|
1675
2428
|
*/
|
|
1676
2429
|
declare function ScrollToTopButton({ scrollContainerId, scrollOffset, className, ...sfProps }: ScrollToTopButtonProps): JSX.Element;
|
|
1677
2430
|
|
|
2431
|
+
/**
|
|
2432
|
+
* Props for {@link StatefulButton}. Extends {@link ButtonProps} with two
|
|
2433
|
+
* orthogonal stateful concerns. `asChild` is intentionally excluded — a
|
|
2434
|
+
* Slot-rendered button cannot own its own DOM children, so the spinner /
|
|
2435
|
+
* loading-text swap would be ambiguous.
|
|
2436
|
+
*/
|
|
2437
|
+
interface StatefulButtonProps extends Omit<ButtonProps, "asChild"> {
|
|
2438
|
+
/** Pending state: forces disabled, shows spinner, swaps label when `loadingText` is set. */
|
|
2439
|
+
loading?: boolean;
|
|
2440
|
+
/** Optional label to show in place of children while `loading` is true. */
|
|
2441
|
+
loadingText?: React$1.ReactNode;
|
|
2442
|
+
}
|
|
2443
|
+
/**
|
|
2444
|
+
* Button with built-in loading state.
|
|
2445
|
+
*
|
|
2446
|
+
* `loading` is the single source of truth for pending UI:
|
|
2447
|
+
* - sets `disabled` (forwarded to native button)
|
|
2448
|
+
* - sets `aria-busy="true"` for assistive tech
|
|
2449
|
+
* - prepends an animated spinner before the label
|
|
2450
|
+
* - replaces `children` with `loadingText` if provided (otherwise label stays)
|
|
2451
|
+
*
|
|
2452
|
+
* @component
|
|
2453
|
+
* @layer composed
|
|
2454
|
+
*
|
|
2455
|
+
* @param {boolean} loading - Pending state.
|
|
2456
|
+
* @param {React.ReactNode} loadingText - Optional override label while loading.
|
|
2457
|
+
* @param disabled
|
|
2458
|
+
* @param children
|
|
2459
|
+
* @param rest
|
|
2460
|
+
*/
|
|
2461
|
+
declare function StatefulButton({ loading, loadingText, disabled, children, ...rest }: StatefulButtonProps): react_jsx_runtime.JSX.Element;
|
|
2462
|
+
|
|
2463
|
+
declare const PROVIDERS: readonly ["google", "github", "apple", "microsoft", "x", "discord", "facebook", "linkedin", "medium", "slack", "reddit", "paypal", "stripe", "gitlab", "dribbble", "tiktok"];
|
|
2464
|
+
type SocialProvider = (typeof PROVIDERS)[number];
|
|
2465
|
+
/**
|
|
2466
|
+
* Props for {@link SocialAuthButton}. Inherits {@link StatefulButtonProps},
|
|
2467
|
+
* but widens `iconWeight` to {@link BrandIconWeight} so the colored brand
|
|
2468
|
+
* variant can be requested per-instance.
|
|
2469
|
+
*
|
|
2470
|
+
* The visible label is resolved with the precedence:
|
|
2471
|
+
* `children` > `label` > `"Continue with {Provider}"`
|
|
2472
|
+
*/
|
|
2473
|
+
interface SocialAuthButtonProps extends Omit<StatefulButtonProps, "iconWeight"> {
|
|
2474
|
+
/** Identity provider — drives icon and default label. */
|
|
2475
|
+
provider: SocialProvider;
|
|
2476
|
+
/** Override the visible label. Default: "Continue with {Provider}". */
|
|
2477
|
+
label?: React$1.ReactNode;
|
|
2478
|
+
/**
|
|
2479
|
+
* Icon weight. Accepts the four Phosphor weights (theme-aware via the
|
|
2480
|
+
* Saasflare provider chain) plus the brand-locked `"colorful"` variant.
|
|
2481
|
+
*/
|
|
2482
|
+
iconWeight?: BrandIconWeight;
|
|
2483
|
+
}
|
|
2484
|
+
/**
|
|
2485
|
+
* Generic provider-branded auth button.
|
|
2486
|
+
*
|
|
2487
|
+
* Defaults: `variant="outline"` `intent="neutral"`.
|
|
2488
|
+
*
|
|
2489
|
+
* The Phosphor weights (`regular | bold | fill | duotone`) inherit from
|
|
2490
|
+
* `<SaasflareProvider iconWeight="…">` via {@link useSaasflareProps}; the
|
|
2491
|
+
* `colorful` weight is opt-in per-instance and bypasses the provider chain
|
|
2492
|
+
* because brand colors are not themable.
|
|
2493
|
+
*
|
|
2494
|
+
* @component
|
|
2495
|
+
* @layer brand
|
|
2496
|
+
*/
|
|
2497
|
+
declare function SocialAuthButton({ provider, label, variant, intent, fullWidth, surface, radius, animated, iconWeight, children, ...rest }: SocialAuthButtonProps): react_jsx_runtime.JSX.Element;
|
|
2498
|
+
type ProviderShortcutProps = Omit<SocialAuthButtonProps, "provider">;
|
|
2499
|
+
declare const GoogleAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2500
|
+
declare const GitHubAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2501
|
+
declare const AppleAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2502
|
+
declare const MicrosoftAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2503
|
+
declare const XAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2504
|
+
declare const DiscordAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2505
|
+
declare const FacebookAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2506
|
+
declare const LinkedInAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2507
|
+
declare const MediumAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2508
|
+
declare const SlackAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2509
|
+
declare const RedditAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2510
|
+
declare const PayPalAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2511
|
+
declare const StripeAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2512
|
+
declare const GitLabAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2513
|
+
declare const DribbbleAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2514
|
+
declare const TikTokAuthButton: (props: ProviderShortcutProps) => react_jsx_runtime.JSX.Element;
|
|
2515
|
+
|
|
1678
2516
|
/**
|
|
1679
2517
|
* Theme mode toggle button with Sun/Moon icons.
|
|
1680
2518
|
*
|
|
@@ -1683,15 +2521,120 @@ declare function ScrollToTopButton({ scrollContainerId, scrollOffset, className,
|
|
|
1683
2521
|
*
|
|
1684
2522
|
* @param {object} props - Component props
|
|
1685
2523
|
* @param {boolean} [props.showText=false] - Whether to show the label text visibly
|
|
1686
|
-
* @param {string} [props.
|
|
2524
|
+
* @param {string} [props.textLight] - Label shown while in light mode (prompting switch to dark)
|
|
2525
|
+
* @param {string} [props.textDark] - Label shown while in dark mode (prompting switch to light)
|
|
1687
2526
|
* @param {string} [props.className] - Additional CSS class names
|
|
1688
2527
|
* @returns {JSX.Element | null} The toggle button, or null before hydration
|
|
1689
2528
|
*/
|
|
1690
|
-
|
|
2529
|
+
interface ThemeModeToggleProps extends SaasflareComponentProps {
|
|
2530
|
+
/** Whether to show the label text visibly. */
|
|
1691
2531
|
showText?: boolean;
|
|
1692
|
-
|
|
2532
|
+
/** Label shown while in light mode (prompting switch to dark). */
|
|
2533
|
+
textLight?: string;
|
|
2534
|
+
/** Label shown while in dark mode (prompting switch to light). */
|
|
2535
|
+
textDark?: string;
|
|
2536
|
+
/** Additional CSS class names. */
|
|
2537
|
+
className?: string;
|
|
2538
|
+
/**
|
|
2539
|
+
* SSR-known resolved theme (`"dark"` or `"light"`) — typically read from a
|
|
2540
|
+
* cookie in the parent server component. When provided, the button skips
|
|
2541
|
+
* its internal mount-gate and renders the correct sun/moon glyph on the
|
|
2542
|
+
* very first paint, eliminating the brief blank frame caused by
|
|
2543
|
+
* `next-themes` returning `undefined` during SSR.
|
|
2544
|
+
*
|
|
2545
|
+
* Leave undefined for the legacy mount-gated behaviour.
|
|
2546
|
+
*/
|
|
2547
|
+
initialResolvedTheme?: 'light' | 'dark';
|
|
2548
|
+
}
|
|
2549
|
+
declare function ThemeModeToggle({ showText, textLight, textDark, className, surface, radius, animated, iconWeight, initialResolvedTheme, }: ThemeModeToggleProps): JSX.Element | null;
|
|
2550
|
+
|
|
2551
|
+
/**
|
|
2552
|
+
* @fileoverview Three-segment theme toggle (light / dark / system).
|
|
2553
|
+
*
|
|
2554
|
+
* Pill-shaped segmented control with Sun, Moon, and Monitor icons. Built on
|
|
2555
|
+
* the design-system `ToggleGroup` primitive (Pattern B — CSS-motion).
|
|
2556
|
+
*
|
|
2557
|
+
* Three appearances:
|
|
2558
|
+
* - `"icon"` (default) — segments are small circles floating inside the
|
|
2559
|
+
* rail. The active segment is filled with `--background` and a subtle
|
|
2560
|
+
* ring. Segment shape is always pill, independent of the rail's
|
|
2561
|
+
* `radius`.
|
|
2562
|
+
* - `"icon-inherit"` — same compact icon footprint as `"icon"`, but each
|
|
2563
|
+
* segment's border-radius matches the rail's `radius`. Use this when
|
|
2564
|
+
* `radius="sharp"` should propagate to the segments too.
|
|
2565
|
+
* - `"button"` — segments fill the rail end-to-end. The active segment
|
|
2566
|
+
* matches the rail's outer corner radius on its outer edge and stays
|
|
2567
|
+
* flat on its inner edge so it slots cleanly into the rail.
|
|
2568
|
+
*
|
|
2569
|
+
* The `radius` prop drives the rail's outer border-radius. Default is
|
|
2570
|
+
* `"pill"` (`rounded-full`). Override with `radius="sharp" | "soft" |
|
|
2571
|
+
* "rounded" | "pill"` — segment corners adapt automatically in
|
|
2572
|
+
* `"icon-inherit"` and `"button"` appearances.
|
|
2573
|
+
*
|
|
2574
|
+
* Supports `next-themes` natively. Renders `null` until hydrated to avoid
|
|
2575
|
+
* SSR/CSR mismatch on the active segment. When the System segment is
|
|
2576
|
+
* active, its `title` reflects the OS-resolved theme (e.g.
|
|
2577
|
+
* "System mode (currently dark)") so users see what their preference
|
|
2578
|
+
* resolves to.
|
|
2579
|
+
*
|
|
2580
|
+
* @module packages/ui/components/composed/theme-mode-multi-toggle
|
|
2581
|
+
* @package ui
|
|
2582
|
+
*
|
|
2583
|
+
* @component
|
|
2584
|
+
* @example
|
|
2585
|
+
* import { ThemeModeMultiToggle } from '@saasflare/ui';
|
|
2586
|
+
* <ThemeModeMultiToggle />
|
|
2587
|
+
*
|
|
2588
|
+
* @example
|
|
2589
|
+
* // Inherit-radius icons (segments adopt the rail's radius)
|
|
2590
|
+
* <ThemeModeMultiToggle appearance="icon-inherit" radius="sharp" />
|
|
2591
|
+
*
|
|
2592
|
+
* @example
|
|
2593
|
+
* // Button appearance with rounded geometry
|
|
2594
|
+
* <ThemeModeMultiToggle appearance="button" radius="rounded" />
|
|
2595
|
+
*/
|
|
2596
|
+
|
|
2597
|
+
/** Available theme modes — mirrors next-themes' `theme` prop. */
|
|
2598
|
+
type ThemeMode = "light" | "dark" | "system";
|
|
2599
|
+
/** Visual appearance of the segments. */
|
|
2600
|
+
type ThemeModeMultiToggleAppearance = "icon" | "icon-inherit" | "button";
|
|
2601
|
+
interface ThemeModeMultiToggleProps extends SaasflareComponentProps {
|
|
2602
|
+
/** Override the default screen-reader labels per segment. */
|
|
2603
|
+
labels?: Partial<Record<ThemeMode, string>>;
|
|
2604
|
+
/** Additional class names applied to the rail. */
|
|
1693
2605
|
className?: string;
|
|
1694
|
-
|
|
2606
|
+
/** Segment size — matches the Toggle/ToggleGroup `size` axis. */
|
|
2607
|
+
size?: "sm" | "default" | "lg";
|
|
2608
|
+
/**
|
|
2609
|
+
* Visual appearance of the segments.
|
|
2610
|
+
*
|
|
2611
|
+
* - `"icon"` (default): small floating circles, always pill.
|
|
2612
|
+
* - `"icon-inherit"`: small floating shapes that match the rail's `radius`.
|
|
2613
|
+
* - `"button"`: segments fill the rail; outer corners match the rail's
|
|
2614
|
+
* `radius`, inner corners stay flat so the segment slots in.
|
|
2615
|
+
*
|
|
2616
|
+
* @default "icon"
|
|
2617
|
+
*/
|
|
2618
|
+
appearance?: ThemeModeMultiToggleAppearance;
|
|
2619
|
+
/**
|
|
2620
|
+
* SSR-known theme mode (typically read from a cookie in the parent server
|
|
2621
|
+
* component). When provided, the component skips its internal mount-gate
|
|
2622
|
+
* and renders the matching segment as active on the very first paint —
|
|
2623
|
+
* eliminating the brief invisible / wrong-segment frame caused by
|
|
2624
|
+
* `next-themes` returning `undefined` during SSR.
|
|
2625
|
+
*
|
|
2626
|
+
* Leave undefined for the legacy mount-gated behaviour (renders `null`
|
|
2627
|
+
* until mounted).
|
|
2628
|
+
*/
|
|
2629
|
+
initialMode?: ThemeMode;
|
|
2630
|
+
}
|
|
2631
|
+
/**
|
|
2632
|
+
* Three-segment theme switcher (light / dark / system).
|
|
2633
|
+
*
|
|
2634
|
+
* @component
|
|
2635
|
+
* @layer ui
|
|
2636
|
+
*/
|
|
2637
|
+
declare function ThemeModeMultiToggle({ labels, className, size, appearance, surface, radius, animated, iconWeight, initialMode, }: ThemeModeMultiToggleProps): React$1.JSX.Element | null;
|
|
1695
2638
|
|
|
1696
2639
|
/**
|
|
1697
2640
|
* Props for the TopLoadingBar component.
|
|
@@ -1739,4 +2682,4 @@ interface UserAvatarProps {
|
|
|
1739
2682
|
*/
|
|
1740
2683
|
declare function UserAvatar({ src, name, initials, size, className }: UserAvatarProps): react_jsx_runtime.JSX.Element;
|
|
1741
2684
|
|
|
1742
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, AnimatedTooltip, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataToolbar, DataToolbarActions, DataToolbarFilters, DataToolbarSearch, type Density, DirectionProvider, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, Icons, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Intent, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, type Measurement, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, type MetricCardProps, type MetricTrend, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, PageHeader, type PageHeaderProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationRangeItem, Palette, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PricingCard, type PricingCardProps, Progress, RadioGroup, RadioGroupItem, Radius, RadiusProp, SaasflareComponentProps, type SaasflareMotion, SaasflareProvider, type SaasflareProviderProps, SaasflareScript, type SaasflareScriptProps, SaasflareShell, type SaasflareShellProps, ScrollArea, ScrollBar, ScrollToTopButton, SearchField, type SearchFieldProps, SectionCard, type SectionCardProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, type Size, Skeleton, Slider, SmoothScrollProvider, type SmoothScrollProviderProps, Spinner, StyleVariant, Surface, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeModeToggle, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, type TooltipItem, TooltipProvider, TooltipTrigger, TopLoadingBar, type TopLoadingBarProps, TypewriterText, type UseDisclosureOptions, type UseDisclosureReturn, type UseMeasureReturn, type UsePaginationOptions, type UsePaginationReturn, UserAvatar, type UserAvatarProps, badgeVariants, buttonGroupVariants, cn, fadeIn, navigationMenuTriggerStyle, noMotion, scaleIn, slideDown, slideUp, spring, springBouncy, springGentle, springStiff, toggleVariants, useAnimation, useDirection, useDisclosure, useFormField, useIsMobile, useMeasure, usePagination, useReducedMotion, useSaasflareMotion, useSaasflareTheme, useSidebar };
|
|
2685
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, AnimatedTooltip, AppleAuthButton, ArrowLeftIcon, ArrowRightIcon, ArrowUpIcon, AspectRatio, AuroraBackground, type AuroraBackgroundProps, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, type BadgeProps, BarList, type BarListItem, type BarListProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, ButtonProps, Callout, type CalloutIntent, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, CaretDownIcon, CaretLeftIcon, CaretRightIcon, CaretUpIcon, CategoryBar, type CategoryBarProps, type CategoryBarSegment, CheckCircleIcon, CheckIcon, Checkbox, CircleIcon, CircleNotchIcon, CodeBlock, type CodeBlockProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Combobox, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxTrigger, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataToolbar, DataToolbarActions, DataToolbarFilters, DataToolbarSearch, DatePicker, type DatePickerProps, type DateRange, DateRangePicker, type DateRangePickerProps, type Density, DirectionProvider, DiscordAuthButton, DotsSixVerticalIcon, DotsThreeIcon, DribbbleAuthButton, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Dropzone, type DropzoneProps, type DropzoneRejection, type DropzoneRejectionReason, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyState, type EmptyStateProps, EmptyTitle, FacebookAuthButton, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, GitHubAuthButton, GitLabAuthButton, GoogleAuthButton, HoverCard, HoverCardContent, HoverCardTrigger, IconWeight, Icons, InfoIcon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Intent, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, LinkedInAuthButton, MagnifyingGlassIcon, type Measurement, MediumAuthButton, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MetricCard, type MetricCardProps, type MetricTrend, MicrosoftAuthButton, MinusIcon, MonitorIcon, MoonIcon, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotificationCenter, type NotificationCenterProps, type NotificationItem, NumberInput, type NumberInputProps, PageHeader, type PageHeaderProps, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type PaginationRangeItem, Palette, PauseIcon, PayPalAuthButton, PhosphorIconProps, PlayIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, type PossibleRef, PricingCard, type PricingCardProps, Progress, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, QuotesIcon, RadioGroup, RadioGroupItem, Radius, RadiusProp, Rating, type RatingProps, type RatingSize, RedditAuthButton, PROVIDERS as SOCIAL_AUTH_PROVIDERS, SaasflareComponentProps, type SaasflareMotion, SaasflareProvider, type SaasflareProviderProps, SaasflareScript, type SaasflareScriptProps, SaasflareShell, type SaasflareShellProps, ScrollArea, ScrollBar, ScrollToTopButton, SearchField, type SearchFieldProps, SectionCard, type SectionCardProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, SettingsSection, type SettingsSectionProps, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarSimpleIcon, SidebarTrigger, type Size, Skeleton, SlackAuthButton, Slider, SmoothScrollProvider, type SmoothScrollProviderProps, SocialAuthButton, type SocialAuthButtonProps, type SocialProvider, SparkChart, type SparkChartProps, type SparkChartVariant, Spinner, StatefulButton, type StatefulButtonProps, StripeAuthButton, StyleVariant, SunIcon, Surface, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TagInput, type TagInputProps, Textarea, ThemeModeMultiToggle, type ThemeModeMultiToggleAppearance, type ThemeModeMultiToggleProps, ThemeModeToggle, TikTokAuthButton, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, type TooltipItem, TooltipProvider, TooltipTrigger, TopLoadingBar, type TopLoadingBarProps, Tracker, type TrackerBlock, type TrackerProps, type TreeNode, TreeView, type TreeViewProps, TypewriterText, type UseDisclosureOptions, type UseDisclosureReturn, type UseFileDialogOptions, type UseFileDialogReturn, type UseIntervalOptions, type UseIntervalReturn, type UseLocalStorageOptions, type UseMeasureReturn, type UsePaginationOptions, type UsePaginationReturn, UserAvatar, type UserAvatarProps, WarningIcon, XAuthButton, XCircleIcon, XIcon, badgeVariants, buttonGroupVariants, cn, fadeIn, navigationMenuTriggerStyle, noMotion, scaleIn, slideDown, slideUp, spring, springBouncy, springGentle, springStiff, toggleVariants, useAnimation, useDirection, useDisclosure, useFileDialog, useFocusTrap, useFormField, useInterval, useIsMobile, useLocalStorage, useMeasure, useMergedRef, usePagination, useReducedMotion, useSaasflareMotion, useSaasflareTheme, useSidebar };
|