@scalably/ui 0.6.0 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import react__default, { ReactNode, HTMLAttributes, ForwardRefExoticComponent, SVGProps, RefAttributes, MemoExoticComponent } from 'react';
2
+ import react__default, { ReactNode, ReactElement, HTMLAttributes, ForwardRefExoticComponent, SVGProps, RefAttributes, MemoExoticComponent } from 'react';
3
3
  import { Point, Area } from 'react-easy-crop';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
5
  import * as date_fns from 'date-fns';
@@ -176,6 +176,200 @@ interface StatusBadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "
176
176
  }
177
177
  declare const StatusBadge: react.ForwardRefExoticComponent<StatusBadgeProps & react.RefAttributes<HTMLSpanElement>>;
178
178
 
179
+ type BottomNavigationProps = {
180
+ /** Additional class name for the navigation container */
181
+ className?: string;
182
+ /** Controlled active value */
183
+ value?: string;
184
+ /** Default active value for uncontrolled mode */
185
+ defaultValue?: string;
186
+ /** Callback when active value changes */
187
+ onValueChange?: (value: string) => void;
188
+ /** Navigation items */
189
+ children: ReactNode;
190
+ /** Whether to use fixed positioning at the bottom of the viewport */
191
+ fixed?: boolean;
192
+ /** Whether to show a top border */
193
+ showBorder?: boolean;
194
+ /** Whether to show a shadow */
195
+ showShadow?: boolean;
196
+ /** Custom z-index value when fixed. Defaults to 40. Modals/dialogs typically use z-50+. */
197
+ zIndex?: number;
198
+ /** Hide the navigation (useful when modals/dialogs are open) */
199
+ hidden?: boolean;
200
+ };
201
+ /**
202
+ * BottomNavigation - A mobile-optimized bottom navigation bar with animated interactions.
203
+ *
204
+ * Features:
205
+ * - Compound component pattern (BottomNavigation, BottomNavigationItem)
206
+ * - Smooth animations with scale and color transitions
207
+ * - Sliding indicator line animation
208
+ * - Support for icon badges (notification counts)
209
+ * - URL navigation support via `href` prop
210
+ * - Keyboard navigation (Arrow keys, Home, End)
211
+ * - Full ARIA support for accessibility
212
+ * - Controlled or uncontrolled modes
213
+ * - Fixed or relative positioning
214
+ *
215
+ * @example
216
+ * ```tsx
217
+ * // Basic usage with URL navigation
218
+ * <BottomNavigation defaultValue="home" fixed>
219
+ * <BottomNavigationItem
220
+ * value="home"
221
+ * label="Home"
222
+ * icon={<HomeIcon />}
223
+ * activeIcon={<HomeFilledIcon />}
224
+ * href="/"
225
+ * />
226
+ * <BottomNavigationItem
227
+ * value="feed"
228
+ * label="Feeds"
229
+ * icon={<FeedIcon />}
230
+ * activeIcon={<FeedFilledIcon />}
231
+ * href="/feeds"
232
+ * />
233
+ * <BottomNavigationItem
234
+ * value="shop"
235
+ * label="Shop"
236
+ * icon={<ShoppingBagIcon />}
237
+ * activeIcon={<ShoppingBagFilledIcon />}
238
+ * href="/shop"
239
+ * />
240
+ * <BottomNavigationItem
241
+ * value="wallet"
242
+ * label="Wallet"
243
+ * icon={<WalletIcon />}
244
+ * activeIcon={<WalletFilledIcon />}
245
+ * href="/wallet"
246
+ * badge={2}
247
+ * />
248
+ * <BottomNavigationItem
249
+ * value="profile"
250
+ * label="Profile"
251
+ * icon={<UserIcon />}
252
+ * activeIcon={<UserFilledIcon />}
253
+ * href="/profile"
254
+ * />
255
+ * </BottomNavigation>
256
+ *
257
+ * // With React Router or Next.js - use onClick for client-side navigation
258
+ * <BottomNavigationItem
259
+ * value="home"
260
+ * label="Home"
261
+ * icon={<HomeIcon />}
262
+ * href="/"
263
+ * onClick={(e) => {
264
+ * e.preventDefault();
265
+ * router.push('/');
266
+ * }}
267
+ * />
268
+ *
269
+ * // Controlled mode
270
+ * const [activeTab, setActiveTab] = useState("home");
271
+ * <BottomNavigation value={activeTab} onValueChange={setActiveTab}>
272
+ * ...
273
+ * </BottomNavigation>
274
+ * ```
275
+ */
276
+ declare const BottomNavigation: react.ForwardRefExoticComponent<BottomNavigationProps & react.RefAttributes<HTMLDivElement>>;
277
+ type BottomNavigationItemProps = {
278
+ /** Unique value identifier for this item */
279
+ value: string;
280
+ /** Label text displayed below the icon */
281
+ label: string;
282
+ /** Icon displayed when inactive */
283
+ icon: ReactElement;
284
+ /** Icon displayed when active (optional, defaults to icon with active styling) */
285
+ activeIcon?: ReactElement;
286
+ /** URL to navigate to when clicked. When provided, renders as an anchor tag. */
287
+ href?: string;
288
+ /** Badge count to display on the icon */
289
+ badge?: number | string;
290
+ /** Maximum badge count before showing "99+" */
291
+ maxBadge?: number;
292
+ /** Whether the item is disabled */
293
+ disabled?: boolean;
294
+ /** Additional class name */
295
+ className?: string;
296
+ /** Click handler - called after internal state update */
297
+ onClick?: (e: React.MouseEvent) => void;
298
+ };
299
+ declare const BottomNavigationItem: react.ForwardRefExoticComponent<BottomNavigationItemProps & react.RefAttributes<HTMLAnchorElement | HTMLButtonElement>>;
300
+
301
+ type SvgProps = React.ComponentPropsWithoutRef<"svg">;
302
+ interface IconBaseProps extends SvgProps {
303
+ /** Size of the icon in pixels. Defaults to 24. */
304
+ size?: number;
305
+ /** ViewBox for the SVG. Defaults to "0 0 24 24". */
306
+ viewBox?: string;
307
+ }
308
+ /**
309
+ * Public props shared by all icon components.
310
+ *
311
+ * Consumers should use this type for icon props. It intentionally omits
312
+ * `children`, which are provided by each specific icon implementation.
313
+ */
314
+ type IconProps = Omit<IconBaseProps, "children">;
315
+
316
+ /**
317
+ * Props for the IconBadge component
318
+ */
319
+ interface IconBadgeProps {
320
+ /**
321
+ * The icon component to display. Should be a valid icon component.
322
+ */
323
+ icon: ReactElement<IconProps>;
324
+ /**
325
+ * The notification count to display in the badge.
326
+ * Can be a number or a string (e.g., "99+").
327
+ * Badge is hidden when count is 0, null, undefined, or empty string.
328
+ */
329
+ count?: number | string | null;
330
+ /**
331
+ * Maximum count to display before showing "99+" format.
332
+ * When count exceeds this value, it will display as "99+".
333
+ * @default 99
334
+ */
335
+ maxCount?: number;
336
+ /**
337
+ * Custom className for the wrapper container.
338
+ */
339
+ className?: string;
340
+ /**
341
+ * Custom className for the badge element.
342
+ */
343
+ badgeClassName?: string;
344
+ /**
345
+ * Whether to show the badge even when count is 0.
346
+ * @default false
347
+ */
348
+ showZero?: boolean;
349
+ }
350
+ /**
351
+ * IconBadge component - Wraps an icon with a notification badge.
352
+ *
353
+ * Displays a red badge in the top-right corner of the icon.
354
+ * Badge shape adapts automatically: circular for small numbers, oval for larger text.
355
+ *
356
+ * @example
357
+ * ```tsx
358
+ * import { IconBadge } from '@scalably/ui';
359
+ * import { BellIcon, SearchIcon } from '@scalably/ui';
360
+ *
361
+ * // Basic usage with number
362
+ * <IconBadge icon={<BellIcon />} count={5} />
363
+ *
364
+ * // With string count
365
+ * <IconBadge icon={<BellIcon />} count="99+" />
366
+ *
367
+ * // Custom max count
368
+ * <IconBadge icon={<BellIcon />} count={150} maxCount={100} />
369
+ * ```
370
+ */
371
+ declare const IconBadge: react.ForwardRefExoticComponent<IconBadgeProps & react.RefAttributes<HTMLDivElement>>;
372
+
179
373
  type ButtonVariant = "default" | "destructive" | "outline" | "secondary" | "text" | "link";
180
374
  type ButtonSize = "md" | "lg" | "icon";
181
375
  type ButtonBaseProps = Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "size">;
@@ -1041,6 +1235,62 @@ interface CroppedImageResult {
1041
1235
  */
1042
1236
  declare function getCroppedImg(options: GetCroppedImgOptions): Promise<CroppedImageResult | null>;
1043
1237
 
1238
+ /**
1239
+ * Image gallery component with responsive layouts and navigation controls.
1240
+ *
1241
+ * **Mobile view (< 768px):**
1242
+ * - Horizontal scrollable thumbnail list at bottom
1243
+ * - Preview image above with 100% width and 618px height
1244
+ * - Image with object-contain
1245
+ *
1246
+ * **Desktop view (>= 768px):**
1247
+ * - Left sidebar with 2-column grid of thumbnails (max-width: 268px, max-height: 618px)
1248
+ * - Right preview area with prev/next arrows
1249
+ * - Preview image with 100% width and object-contain
1250
+ *
1251
+ * @example
1252
+ * ```tsx
1253
+ * <ImageGallery
1254
+ * images={['/img1.jpg', '/img2.jpg', '/img3.jpg']}
1255
+ * thumbnail="/thumbnail.jpg"
1256
+ * defaultImagePosition={0}
1257
+ * />
1258
+ * ```
1259
+ */
1260
+ type ImageSource = string | {
1261
+ src: string;
1262
+ alt?: string;
1263
+ };
1264
+ interface ImageGalleryProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
1265
+ /**
1266
+ * Required list of images to display in the gallery.
1267
+ * Can be an array of URL strings or objects with src and alt properties.
1268
+ */
1269
+ images: ImageSource[];
1270
+ /**
1271
+ * Optional thumbnail that will be merged with the images list at position 0.
1272
+ * This thumbnail will also be shown by default.
1273
+ */
1274
+ thumbnail?: ImageSource;
1275
+ /**
1276
+ * The default image position to show (0-indexed).
1277
+ * @default 0
1278
+ */
1279
+ defaultImagePosition?: number;
1280
+ /**
1281
+ * Callback fired when the current image changes.
1282
+ */
1283
+ onImageChange?: (index: number) => void;
1284
+ /**
1285
+ * The alignment of the gallery.
1286
+ * - 'horizontal': Thumbnails on the left (grid), preview on the right.
1287
+ * - 'vertical': Preview on top, thumbnails on the bottom (scrollable).
1288
+ * @default 'horizontal'
1289
+ */
1290
+ align?: "horizontal" | "vertical";
1291
+ }
1292
+ declare const ImageGallery: react.ForwardRefExoticComponent<ImageGalleryProps & react.RefAttributes<HTMLDivElement>>;
1293
+
1044
1294
  type FormBaseProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, "onSubmit">;
1045
1295
  interface FormProps extends FormBaseProps {
1046
1296
  onSubmit?: (event: React.FormEvent<HTMLFormElement>) => void;
@@ -2937,21 +3187,6 @@ declare function normalizeAcceptedFileTypes(acceptedFileTypes: string[]): string
2937
3187
  */
2938
3188
  declare function validateFileTypeAndSize(file: File, acceptedMimeTypes: string[], maxFileSize: number): BasicFileValidationError | null;
2939
3189
 
2940
- type SvgProps = React.ComponentPropsWithoutRef<"svg">;
2941
- interface IconBaseProps extends SvgProps {
2942
- /** Size of the icon in pixels. Defaults to 24. */
2943
- size?: number;
2944
- /** ViewBox for the SVG. Defaults to "0 0 24 24". */
2945
- viewBox?: string;
2946
- }
2947
- /**
2948
- * Public props shared by all icon components.
2949
- *
2950
- * Consumers should use this type for icon props. It intentionally omits
2951
- * `children`, which are provided by each specific icon implementation.
2952
- */
2953
- type IconProps = Omit<IconBaseProps, "children">;
2954
-
2955
3190
  interface CopyIconProps extends IconProps {
2956
3191
  }
2957
3192
  /**
@@ -3085,6 +3320,25 @@ declare const SearchIcon: {
3085
3320
  displayName: string;
3086
3321
  };
3087
3322
 
3323
+ interface ShareIconProps extends IconProps {
3324
+ }
3325
+ /**
3326
+ * Share icon component - displays a share/upload icon with an upward arrow.
3327
+ *
3328
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
3329
+ *
3330
+ * @example
3331
+ * ```tsx
3332
+ * import { ShareIcon } from '@scalably/ui';
3333
+ *
3334
+ * <ShareIcon size={24} />
3335
+ * ```
3336
+ */
3337
+ declare const ShareIcon: {
3338
+ (props: ShareIconProps): react_jsx_runtime.JSX.Element;
3339
+ displayName: string;
3340
+ };
3341
+
3088
3342
  interface TranslateIconProps extends IconProps {
3089
3343
  }
3090
3344
  /**
@@ -4000,6 +4254,25 @@ declare const WarnIcon: {
4000
4254
  displayName: string;
4001
4255
  };
4002
4256
 
4257
+ interface BellIconProps extends IconProps {
4258
+ }
4259
+ /**
4260
+ * Bell icon component - displays a notification bell icon.
4261
+ *
4262
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4263
+ *
4264
+ * @example
4265
+ * ```tsx
4266
+ * import { BellIcon } from '@scalably/ui';
4267
+ *
4268
+ * <BellIcon size={24} className="sui-text-primary" />
4269
+ * ```
4270
+ */
4271
+ declare const BellIcon: {
4272
+ (props: BellIconProps): react_jsx_runtime.JSX.Element;
4273
+ displayName: string;
4274
+ };
4275
+
4003
4276
  interface CalendarIconProps extends IconProps {
4004
4277
  }
4005
4278
  /**
@@ -4019,6 +4292,25 @@ declare const CalendarIcon: {
4019
4292
  displayName: string;
4020
4293
  };
4021
4294
 
4295
+ interface CartIconProps extends IconProps {
4296
+ }
4297
+ /**
4298
+ * Cart icon component - displays a shopping cart icon.
4299
+ *
4300
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4301
+ *
4302
+ * @example
4303
+ * ```tsx
4304
+ * import { CartIcon } from '@scalably/ui';
4305
+ *
4306
+ * <CartIcon size={24} className="sui-text-primary" />
4307
+ * ```
4308
+ */
4309
+ declare const CartIcon: {
4310
+ (props: CartIconProps): react_jsx_runtime.JSX.Element;
4311
+ displayName: string;
4312
+ };
4313
+
4022
4314
  interface EyeIconProps extends IconProps {
4023
4315
  }
4024
4316
  /**
@@ -4038,6 +4330,84 @@ declare const EyeIcon: {
4038
4330
  displayName: string;
4039
4331
  };
4040
4332
 
4333
+ interface FeedFilledIconProps extends IconProps {
4334
+ }
4335
+ /**
4336
+ * Feed Filled icon component - displays a filled news feed/article list icon.
4337
+ *
4338
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4339
+ * Use this as the active state paired with `FeedIcon` for the inactive state.
4340
+ *
4341
+ * @example
4342
+ * ```tsx
4343
+ * import { FeedFilledIcon } from '@scalably/ui';
4344
+ *
4345
+ * <FeedFilledIcon size={24} className="sui-text-primary" />
4346
+ * ```
4347
+ */
4348
+ declare const FeedFilledIcon: {
4349
+ (props: FeedFilledIconProps): react_jsx_runtime.JSX.Element;
4350
+ displayName: string;
4351
+ };
4352
+
4353
+ interface FeedIconProps extends IconProps {
4354
+ }
4355
+ /**
4356
+ * Feed icon component - displays a news feed/article list icon.
4357
+ *
4358
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4359
+ *
4360
+ * @example
4361
+ * ```tsx
4362
+ * import { FeedIcon } from '@scalably/ui';
4363
+ *
4364
+ * <FeedIcon size={24} className="sui-text-primary" />
4365
+ * ```
4366
+ */
4367
+ declare const FeedIcon: {
4368
+ (props: FeedIconProps): react_jsx_runtime.JSX.Element;
4369
+ displayName: string;
4370
+ };
4371
+
4372
+ interface HomeFilledIconProps extends IconProps {
4373
+ }
4374
+ /**
4375
+ * Home Filled icon component - displays a filled house/home icon.
4376
+ *
4377
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4378
+ * Use this as the active state paired with `HomeIcon` for the inactive state.
4379
+ *
4380
+ * @example
4381
+ * ```tsx
4382
+ * import { HomeFilledIcon } from '@scalably/ui';
4383
+ *
4384
+ * <HomeFilledIcon size={24} className="sui-text-primary" />
4385
+ * ```
4386
+ */
4387
+ declare const HomeFilledIcon: {
4388
+ (props: HomeFilledIconProps): react_jsx_runtime.JSX.Element;
4389
+ displayName: string;
4390
+ };
4391
+
4392
+ interface HomeIconProps extends IconProps {
4393
+ }
4394
+ /**
4395
+ * Home icon component - displays a house/home icon.
4396
+ *
4397
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4398
+ *
4399
+ * @example
4400
+ * ```tsx
4401
+ * import { HomeIcon } from '@scalably/ui';
4402
+ *
4403
+ * <HomeIcon size={24} className="sui-text-primary" />
4404
+ * ```
4405
+ */
4406
+ declare const HomeIcon: {
4407
+ (props: HomeIconProps): react_jsx_runtime.JSX.Element;
4408
+ displayName: string;
4409
+ };
4410
+
4041
4411
  interface EyeSlashIconProps extends IconProps {
4042
4412
  }
4043
4413
  /**
@@ -4133,6 +4503,27 @@ declare const MultipleSelectionIcon: {
4133
4503
  displayName: string;
4134
4504
  };
4135
4505
 
4506
+ interface PaletteIconProps extends IconProps {
4507
+ }
4508
+ /**
4509
+ * Palette icon component - displays an artist's palette with paint colors.
4510
+ *
4511
+ * This icon uses fixed brand colors (various blues, yellows, reds, greens, pinks)
4512
+ * and cannot be styled with Tailwind color classes. The icon represents an artist's
4513
+ * paint palette with multiple colored paint dots and a paintbrush.
4514
+ *
4515
+ * @example
4516
+ * ```tsx
4517
+ * import { PaletteIcon } from '@scalably/ui';
4518
+ *
4519
+ * <PaletteIcon size={24} />
4520
+ * ```
4521
+ */
4522
+ declare const PaletteIcon: {
4523
+ (props: PaletteIconProps): react_jsx_runtime.JSX.Element;
4524
+ displayName: string;
4525
+ };
4526
+
4136
4527
  interface PlusIconProps extends IconProps {
4137
4528
  }
4138
4529
  /**
@@ -4171,6 +4562,45 @@ declare const SettingsIcon: {
4171
4562
  displayName: string;
4172
4563
  };
4173
4564
 
4565
+ interface ShoppingBagFilledIconProps extends IconProps {
4566
+ }
4567
+ /**
4568
+ * Shopping Bag Filled icon component - displays a filled shopping bag icon.
4569
+ *
4570
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4571
+ * Use this as the active state paired with `ShoppingBagIcon` for the inactive state.
4572
+ *
4573
+ * @example
4574
+ * ```tsx
4575
+ * import { ShoppingBagFilledIcon } from '@scalably/ui';
4576
+ *
4577
+ * <ShoppingBagFilledIcon size={24} className="sui-text-primary" />
4578
+ * ```
4579
+ */
4580
+ declare const ShoppingBagFilledIcon: {
4581
+ (props: ShoppingBagFilledIconProps): react_jsx_runtime.JSX.Element;
4582
+ displayName: string;
4583
+ };
4584
+
4585
+ interface ShoppingBagIconProps extends IconProps {
4586
+ }
4587
+ /**
4588
+ * Shopping Bag icon component - displays a shopping bag icon.
4589
+ *
4590
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4591
+ *
4592
+ * @example
4593
+ * ```tsx
4594
+ * import { ShoppingBagIcon } from '@scalably/ui';
4595
+ *
4596
+ * <ShoppingBagIcon size={24} className="sui-text-primary" />
4597
+ * ```
4598
+ */
4599
+ declare const ShoppingBagIcon: {
4600
+ (props: ShoppingBagIconProps): react_jsx_runtime.JSX.Element;
4601
+ displayName: string;
4602
+ };
4603
+
4174
4604
  /**
4175
4605
  * Props for the StarIcon component
4176
4606
  */
@@ -4194,4 +4624,82 @@ interface StarIconProps extends IconProps {
4194
4624
  */
4195
4625
  declare const StarIcon: react.MemoExoticComponent<({ fillPercentage, ...props }: StarIconProps) => react_jsx_runtime.JSX.Element>;
4196
4626
 
4197
- export { AlignCenterIcon, type AlignCenterIconProps, AlignLeftIcon, type AlignLeftIconProps, AlignRightIcon, type AlignRightIconProps, AppLogo, AuthPrompt, type AuthPromptProps, AvatarPlaceholder, type AvatarPlaceholderCategory, type AvatarPlaceholderProps, type AvatarPlaceholderVariant, BackToTop, type BackToTopProps, type BasicFileValidationError, BoldIcon, type BoldIconProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, type CalendarIconProps, CampaignLogo, CaptureIcon, type CaptureIconProps, CelebrationModal, type CelebrationModalProps, CheckBox, CheckBoxGroup, type CheckBoxGroupOption, type CheckBoxGroupProps, type CheckBoxProps, CheckIcon, type CheckIconProps, CloseIcon, type CloseIconProps, CopyIcon, type CopyIconProps, Countdown, type CountdownProps, type CountdownSize, type CountdownTimeValues, type CountdownUnit, CropIcon, type CropIconProps, type CroppedImageResult, DateInput, type DateInputMode, type DateInputProps, DatePicker, type DatePickerMode, type DatePickerProps, type DefaultAssetCategory, type DefaultAssetComponent, type DefaultAssetProps, type DefaultAssetVariant, type DefaultAssets, DeleteIcon, type DeleteIconProps, DiscordIcon, type DiscordIconProps, Divider, type DividerProps, type DividerVariant, DownloadIcon, type DownloadIconProps, DropUpIcon, type DropUpIconProps, DropdownIcon, type DropdownIconProps, EditIcon, type EditIconProps, ErrorIcon, type ErrorIconProps, EyeIcon, type EyeIconProps, EyeSlashIcon, type EyeSlashIconProps, FacebookIcon, type FacebookIconProps, type FieldErrorLike, FileIcon, type FileIconProps, FileUpload, type FileUploadError, type FileUploadFile, FileUploadIcon, type FileUploadIconProps, type FileUploadIconType, type FileUploadProps, type FileUploadSize, type FileUploadVariant, FilterIcon, type FilterIconProps, Form, type FormErrorItem, FormErrorSummary, type FormErrorSummaryProps, FormField, type FormFieldProps, type FormProps, type GetCroppedImgOptions, GmailIcon, type GmailIconProps, GridIcon, type GridIconProps, GroupAvatar, IconBigLogo, IconLogo, type IconProps, ImageCrop, ImageCropModal, type ImageCropModalProps, type ImageCropProps, ImageIcon, type ImageIconProps, ImagePlaceholder, type ImageSourceMode, ImageUploadIcon, type ImageUploadIconProps, IndeterminateIcon, type IndeterminateIconProps, InfoIcon, type InfoIconProps, Input, type InputProps, type InputVariant, InsertImageIcon, type InsertImageIconProps, InsertVideoIcon, type InsertVideoIconProps, InstagramIcon, type InstagramIconProps, ItalicIcon, type ItalicIconProps, KakaoTalkIcon, type KakaoTalkIconProps, LineIcon, type LineIconProps, LinkIcon, type LinkIconProps, LinkedInIcon, type LinkedInIconProps, ListBulletIcon, type ListBulletIconProps, ListIcon, type ListIconProps, ListNumberIcon, type ListNumberIconProps, LoadingScreen, type LoadingScreenProps, LoadingSpinner, type LoadingSpinnerProps, Logo, type LogoAssetComponent, type LogoAssetProps, type LogoAssets, type LogoFormat, type LogoProps, type LogoVariant, MessengerIcon, type MessengerIconProps, MinusIcon, type MinusIconProps, MultipleSelectionButton, type MultipleSelectionButtonProps, MultipleSelectionIcon, type MultipleSelectionIconProps, Pagination, type PaginationProps, PlusIcon, type PlusIconProps, ProfileAvatar, ProgressBar, QuantityInput, type QuantityInputProps, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, type RangeValue, Rating, type RatingProps, RedditIcon, type RedditIconProps, ResetIcon, type ResetIconProps, RichTextEditor, type RichTextEditorProps, RichTextViewer, type RichTextViewerProps, RotateLeftIcon, type RotateLeftIconProps, RotateRightIcon, type RotateRightIconProps, ScalablyUIProvider, type ScalablyUIProviderProps, SearchIcon, type SearchIconProps, SearchInput, type SearchInputProps, type SearchInputVariant, Select, type SelectOption, type SelectProps, type SelectVariant, SettingsIcon, type SettingsIconProps, SignalIcon, type SignalIconProps, Skeleton, type SkeletonProps, type SkeletonSize, SkeletonText, type SkeletonTextProps, type SkeletonVariant, SlackIcon, type SlackIconProps, StarIcon, type StarIconProps, StatusBadge, type StatusBadgeProps, type StatusBadgeSize, type StatusBadgeStatus, type StatusBadgeVariant, SuccessIcon, type SuccessIconProps, Switch, type SwitchProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Tag, TelegramIcon, type TelegramIconProps, TickIcon, type TickIconProps, TiktokIcon, type TiktokIconProps, TimePicker, type TimePickerProps, ToFirstIcon, type ToFirstIconProps, ToLastIcon, type ToLastIconProps, ToNextIcon, type ToNextIconProps, ToPreviousIcon, type ToPreviousIconProps, Toast, type ToastAction, ToastContainer, type ToastContainerProps, type ToastPosition, type ToastProps, type ToastStatus, Tooltip, type TooltipAlign, type TooltipProps, type TooltipSide, TranslateIcon, type TranslateIconProps, TwitchIcon, type TwitchIconProps, UnderlineIcon, type UnderlineIconProps, VideoIcon, type VideoIconProps, VideoUploadIcon, type VideoUploadIconProps, type ViewMode, ViewToggle, type ViewToggleProps, WarnIcon, type WarnIconProps, WelcomeBackground, type WelcomeBackgroundProps, WhatsAppIcon, type WhatsAppIconProps, XIcon, type XIconProps, YoutubeIcon, type YoutubeIconProps, clampDate, cn, daysGrid, debounce, defaultAssets, extensionToMimeType, fieldErrorToProps, formatAcceptedFileTypes, formatDateLocalized, getCroppedImg, logoAssets, mimeTypeToDisplayName, monthsForLocale, normalizeAcceptedFileTypes, scopeClass, throttle, toDateKey, validateFileTypeAndSize, weekdaysForLocale, welcomeAssets, zodErrorsToSummary };
4627
+ interface UserFilledIconProps extends IconProps {
4628
+ }
4629
+ /**
4630
+ * User Filled icon component - displays a filled person/user icon.
4631
+ *
4632
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4633
+ * Use this as the active state paired with `UserIcon` for the inactive state.
4634
+ *
4635
+ * @example
4636
+ * ```tsx
4637
+ * import { UserFilledIcon } from '@scalably/ui';
4638
+ *
4639
+ * <UserFilledIcon size={24} className="sui-text-primary" />
4640
+ * ```
4641
+ */
4642
+ declare const UserFilledIcon: {
4643
+ (props: UserFilledIconProps): react_jsx_runtime.JSX.Element;
4644
+ displayName: string;
4645
+ };
4646
+
4647
+ interface UserIconProps extends IconProps {
4648
+ }
4649
+ /**
4650
+ * User icon component - displays a person/user icon.
4651
+ *
4652
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4653
+ *
4654
+ * @example
4655
+ * ```tsx
4656
+ * import { UserIcon } from '@scalably/ui';
4657
+ *
4658
+ * <UserIcon size={24} className="sui-text-primary" />
4659
+ * ```
4660
+ */
4661
+ declare const UserIcon: {
4662
+ (props: UserIconProps): react_jsx_runtime.JSX.Element;
4663
+ displayName: string;
4664
+ };
4665
+
4666
+ interface WalletFilledIconProps extends IconProps {
4667
+ }
4668
+ /**
4669
+ * Wallet Filled icon component - displays a filled wallet icon with brand colors.
4670
+ *
4671
+ * This icon uses fixed brand colors for a polished appearance.
4672
+ * Use this as the active state paired with `WalletIcon` for the inactive state.
4673
+ *
4674
+ * @example
4675
+ * ```tsx
4676
+ * import { WalletFilledIcon } from '@scalably/ui';
4677
+ *
4678
+ * <WalletFilledIcon size={24} />
4679
+ * ```
4680
+ */
4681
+ declare const WalletFilledIcon: {
4682
+ (props: WalletFilledIconProps): react_jsx_runtime.JSX.Element;
4683
+ displayName: string;
4684
+ };
4685
+
4686
+ interface WalletIconProps extends IconProps {
4687
+ }
4688
+ /**
4689
+ * Wallet icon component - displays a wallet icon.
4690
+ *
4691
+ * This icon uses `currentColor`, so it can be styled with Tailwind classes.
4692
+ *
4693
+ * @example
4694
+ * ```tsx
4695
+ * import { WalletIcon } from '@scalably/ui';
4696
+ *
4697
+ * <WalletIcon size={24} className="sui-text-primary" />
4698
+ * ```
4699
+ */
4700
+ declare const WalletIcon: {
4701
+ (props: WalletIconProps): react_jsx_runtime.JSX.Element;
4702
+ displayName: string;
4703
+ };
4704
+
4705
+ export { AlignCenterIcon, type AlignCenterIconProps, AlignLeftIcon, type AlignLeftIconProps, AlignRightIcon, type AlignRightIconProps, AppLogo, AuthPrompt, type AuthPromptProps, AvatarPlaceholder, type AvatarPlaceholderCategory, type AvatarPlaceholderProps, type AvatarPlaceholderVariant, BackToTop, type BackToTopProps, type BasicFileValidationError, BellIcon, type BellIconProps, BoldIcon, type BoldIconProps, BottomNavigation, BottomNavigationItem, type BottomNavigationItemProps, type BottomNavigationProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, CalendarIcon, type CalendarIconProps, CampaignLogo, CaptureIcon, type CaptureIconProps, CartIcon, type CartIconProps, CelebrationModal, type CelebrationModalProps, CheckBox, CheckBoxGroup, type CheckBoxGroupOption, type CheckBoxGroupProps, type CheckBoxProps, CheckIcon, type CheckIconProps, CloseIcon, type CloseIconProps, CopyIcon, type CopyIconProps, Countdown, type CountdownProps, type CountdownSize, type CountdownTimeValues, type CountdownUnit, CropIcon, type CropIconProps, type CroppedImageResult, DateInput, type DateInputMode, type DateInputProps, DatePicker, type DatePickerMode, type DatePickerProps, type DefaultAssetCategory, type DefaultAssetComponent, type DefaultAssetProps, type DefaultAssetVariant, type DefaultAssets, DeleteIcon, type DeleteIconProps, DiscordIcon, type DiscordIconProps, Divider, type DividerProps, type DividerVariant, DownloadIcon, type DownloadIconProps, DropUpIcon, type DropUpIconProps, DropdownIcon, type DropdownIconProps, EditIcon, type EditIconProps, ErrorIcon, type ErrorIconProps, EyeIcon, type EyeIconProps, EyeSlashIcon, type EyeSlashIconProps, FacebookIcon, type FacebookIconProps, FeedFilledIcon, type FeedFilledIconProps, FeedIcon, type FeedIconProps, type FieldErrorLike, FileIcon, type FileIconProps, FileUpload, type FileUploadError, type FileUploadFile, FileUploadIcon, type FileUploadIconProps, type FileUploadIconType, type FileUploadProps, type FileUploadSize, type FileUploadVariant, FilterIcon, type FilterIconProps, Form, type FormErrorItem, FormErrorSummary, type FormErrorSummaryProps, FormField, type FormFieldProps, type FormProps, type GetCroppedImgOptions, GmailIcon, type GmailIconProps, GridIcon, type GridIconProps, GroupAvatar, HomeFilledIcon, type HomeFilledIconProps, HomeIcon, type HomeIconProps, IconBadge, type IconBadgeProps, IconBigLogo, IconLogo, ImageCrop, ImageCropModal, type ImageCropModalProps, type ImageCropProps, ImageGallery, type ImageGalleryProps, ImageIcon, type ImageIconProps, ImagePlaceholder, type ImageSourceMode, ImageUploadIcon, type ImageUploadIconProps, IndeterminateIcon, type IndeterminateIconProps, InfoIcon, type InfoIconProps, Input, type InputProps, type InputVariant, InsertImageIcon, type InsertImageIconProps, InsertVideoIcon, type InsertVideoIconProps, InstagramIcon, type InstagramIconProps, ItalicIcon, type ItalicIconProps, KakaoTalkIcon, type KakaoTalkIconProps, LineIcon, type LineIconProps, LinkIcon, type LinkIconProps, LinkedInIcon, type LinkedInIconProps, ListBulletIcon, type ListBulletIconProps, ListIcon, type ListIconProps, ListNumberIcon, type ListNumberIconProps, LoadingScreen, type LoadingScreenProps, LoadingSpinner, type LoadingSpinnerProps, Logo, type LogoAssetComponent, type LogoAssetProps, type LogoAssets, type LogoFormat, type LogoProps, type LogoVariant, MessengerIcon, type MessengerIconProps, MinusIcon, type MinusIconProps, MultipleSelectionButton, type MultipleSelectionButtonProps, MultipleSelectionIcon, type MultipleSelectionIconProps, Pagination, type PaginationProps, PaletteIcon, type PaletteIconProps, PlusIcon, type PlusIconProps, ProfileAvatar, ProgressBar, QuantityInput, type QuantityInputProps, Radio, RadioGroup, type RadioGroupOption, type RadioGroupProps, type RadioProps, type RangeValue, Rating, type RatingProps, RedditIcon, type RedditIconProps, ResetIcon, type ResetIconProps, RichTextEditor, type RichTextEditorProps, RichTextViewer, type RichTextViewerProps, RotateLeftIcon, type RotateLeftIconProps, RotateRightIcon, type RotateRightIconProps, ScalablyUIProvider, type ScalablyUIProviderProps, SearchIcon, type SearchIconProps, SearchInput, type SearchInputProps, type SearchInputVariant, Select, type SelectOption, type SelectProps, type SelectVariant, SettingsIcon, type SettingsIconProps, ShareIcon, type ShareIconProps, ShoppingBagFilledIcon, type ShoppingBagFilledIconProps, ShoppingBagIcon, type ShoppingBagIconProps, SignalIcon, type SignalIconProps, Skeleton, type SkeletonProps, type SkeletonSize, SkeletonText, type SkeletonTextProps, type SkeletonVariant, SlackIcon, type SlackIconProps, StarIcon, type StarIconProps, StatusBadge, type StatusBadgeProps, type StatusBadgeSize, type StatusBadgeStatus, type StatusBadgeVariant, SuccessIcon, type SuccessIconProps, Switch, type SwitchProps, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsListProps, type TabsProps, TabsTrigger, type TabsTriggerProps, Tag, TelegramIcon, type TelegramIconProps, TickIcon, type TickIconProps, TiktokIcon, type TiktokIconProps, TimePicker, type TimePickerProps, ToFirstIcon, type ToFirstIconProps, ToLastIcon, type ToLastIconProps, ToNextIcon, type ToNextIconProps, ToPreviousIcon, type ToPreviousIconProps, Toast, type ToastAction, ToastContainer, type ToastContainerProps, type ToastPosition, type ToastProps, type ToastStatus, Tooltip, type TooltipAlign, type TooltipProps, type TooltipSide, TranslateIcon, type TranslateIconProps, TwitchIcon, type TwitchIconProps, UnderlineIcon, type UnderlineIconProps, UserFilledIcon, type UserFilledIconProps, UserIcon, type UserIconProps, VideoIcon, type VideoIconProps, VideoUploadIcon, type VideoUploadIconProps, type ViewMode, ViewToggle, type ViewToggleProps, WalletFilledIcon, type WalletFilledIconProps, WalletIcon, type WalletIconProps, WarnIcon, type WarnIconProps, WelcomeBackground, type WelcomeBackgroundProps, WhatsAppIcon, type WhatsAppIconProps, XIcon, type XIconProps, YoutubeIcon, type YoutubeIconProps, clampDate, cn, daysGrid, debounce, defaultAssets, extensionToMimeType, fieldErrorToProps, formatAcceptedFileTypes, formatDateLocalized, getCroppedImg, logoAssets, mimeTypeToDisplayName, monthsForLocale, normalizeAcceptedFileTypes, scopeClass, throttle, toDateKey, validateFileTypeAndSize, weekdaysForLocale, welcomeAssets, zodErrorsToSummary };