gantri-components 2.234.0 → 2.235.6

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.
Files changed (49) hide show
  1. package/CLAUDE.md +111 -1
  2. package/dist/components/button-menu/button-menu.d.ts +1 -4
  3. package/dist/components/checkbox-list/checkbox-list.d.ts +1 -4
  4. package/dist/components/color-picker/color-picker.types.d.ts +7 -1
  5. package/dist/components/color-picker/components/color-picker-item/color-picker-item.styles.d.ts +3 -3
  6. package/dist/components/color-picker/components/color-picker-item/color-picker-item.types.d.ts +2 -2
  7. package/dist/components/dropdown-menu/dropdown-menu.d.ts +1 -4
  8. package/dist/components/file-uploader/components/file-uploader-thumbnail-variant/file-uploader-thumbnail-variant.d.ts +1 -4
  9. package/dist/components/file-uploader/file-uploader.d.ts +1 -4
  10. package/dist/components/icon/generated/work/Moon.d.ts +3 -0
  11. package/dist/components/icon/generated/work/Moon24.d.ts +3 -0
  12. package/dist/components/icon/generated/work/index.d.ts +2 -0
  13. package/dist/components/icon/icon.type.d.ts +1 -1
  14. package/dist/components/index.d.ts +1 -0
  15. package/dist/components/multi-select-list/multi-select-list.d.ts +1 -4
  16. package/dist/components/option-selector/option-selector.d.ts +1 -4
  17. package/dist/components/picture/__test__/build-cloudinary-url.test.d.ts +1 -0
  18. package/dist/components/picture/__test__/build-srcset.test.d.ts +1 -0
  19. package/dist/components/picture/__test__/detect-source.test.d.ts +1 -0
  20. package/dist/components/picture/__test__/picture.test.d.ts +1 -0
  21. package/dist/components/picture/helpers/build-cloudinary-url.d.ts +21 -0
  22. package/dist/components/picture/helpers/build-placeholder.d.ts +2 -0
  23. package/dist/components/picture/helpers/build-srcset.d.ts +22 -0
  24. package/dist/components/picture/helpers/detect-source.d.ts +2 -0
  25. package/dist/components/picture/helpers/index.d.ts +5 -0
  26. package/dist/components/picture/helpers/normalize-resolution-aware.d.ts +8 -0
  27. package/dist/components/picture/index.d.ts +3 -0
  28. package/dist/components/picture/picture.d.ts +3 -0
  29. package/dist/components/picture/picture.presets.d.ts +2 -0
  30. package/dist/components/picture/picture.styles.d.ts +8 -0
  31. package/dist/components/picture/picture.types.d.ts +72 -0
  32. package/dist/components/radio/radio.d.ts +1 -4
  33. package/dist/components/radio-list/radio-list.d.ts +1 -4
  34. package/dist/components/responsive/responsive.d.ts +19 -0
  35. package/dist/components/responsive/responsive.types.d.ts +4 -0
  36. package/dist/components/search-field/search-field.d.ts +1 -4
  37. package/dist/components/table/components/table-actions-wrapper/components/paging/paging.d.ts +1 -4
  38. package/dist/components/table/components/table-actions-wrapper/components/search/search.d.ts +1 -4
  39. package/dist/components/table/table.d.ts +1 -4
  40. package/dist/helpers/get-file-url/helpers/get-cloudinary-prefix/get-cloudinary-prefix.d.ts +2 -2
  41. package/dist/index.cjs.js +1 -1
  42. package/dist/index.d.ts +2 -1
  43. package/dist/index.esm.js +1 -1
  44. package/dist/styles/__tests__/media-style.test.d.ts +1 -0
  45. package/dist/styles/index.d.ts +1 -0
  46. package/dist/styles/media-style.d.ts +56 -0
  47. package/dist/styles/media.d.ts +7 -0
  48. package/dist/styles/theme.d.ts +17 -280
  49. package/package.json +2 -2
package/CLAUDE.md CHANGED
@@ -328,6 +328,63 @@ Vertical stack with padding.
328
328
 
329
329
  Always use gantri-components Modal, never custom modal wrappers.
330
330
 
331
+ ### Picture (NEW — prefer over Image for new code)
332
+
333
+ Cloudinary-aware image component. Auto-detects source type (no `source` prop), exposes a flat transformation API, uses native `<picture>` / `<img srcset sizes>` with `loading="lazy"` by default.
334
+
335
+ ```typescript
336
+ // Static, dynamic, absolute, video-frame URLs are auto-detected
337
+ <Picture src="mantle/about/hero.jpg" alt="Our team" aspectRatio="16:9" />
338
+
339
+ // Flat transformation API (no nested `transformations` object)
340
+ <Picture
341
+ src="..."
342
+ alt="..."
343
+ width={800}
344
+ aspectRatio="4:3"
345
+ crop="fill"
346
+ gravity="auto"
347
+ quality="auto"
348
+ format="auto"
349
+ sharpen={150}
350
+ effects={['grayscale']}
351
+ />
352
+
353
+ // Art direction — different image per breakpoint
354
+ <Picture
355
+ src={{ sm: 'hero-mobile.jpg', lg: 'hero-desktop.jpg' }}
356
+ alt="..."
357
+ aspectRatio={{ sm: '4:5', lg: '21:9' }}
358
+ />
359
+
360
+ // Above-the-fold / hero — opt-out of lazy loading
361
+ <Picture src="hero.jpg" alt="..." priority />
362
+
363
+ // Fill mode — fills position:relative parent
364
+ <Box position="relative" width="100%" height="400px">
365
+ <Picture src="..." alt="..." fill objectFit="cover" />
366
+ </Box>
367
+
368
+ // Aspect ratio + maxHeight cap
369
+ <Picture src="..." alt="..." aspectRatio="21:9" maxHeight="400px" />
370
+
371
+ // Blur placeholder via Cloudinary LQIP
372
+ <Picture src="..." alt="..." aspectRatio="16:9" placeholder="blur" />
373
+ ```
374
+
375
+ **Key differences from legacy `Image`:**
376
+ - No `source` prop (auto-detected from URL)
377
+ - No nested `transformations` (all flat: `crop`, `gravity`, `quality`, `format`, etc.)
378
+ - No `transformationsVariant` shorthand (`f`/`h`/`q`)
379
+ - Native `srcset` / `sizes` (browser picks size based on viewport)
380
+ - `priority` boolean for hero images (sets `loading="eager"` + `fetchpriority="high"`)
381
+ - `fill` mode (Next.js-style)
382
+ - CSS fade-in (no `react-spring`)
383
+
384
+ **Defaults:** `loading="lazy"`, `decoding="async"`, `f_auto`, `q_auto`, `dpr_auto`, fallback `src` capped at 640px (mobile-friendly for SEO bots).
385
+
386
+ The legacy `Image` continues to work — migrate progressively.
387
+
331
388
  ### Dropdown
332
389
 
333
390
  ```typescript
@@ -367,6 +424,24 @@ Wraps any component for Formik form binding:
367
424
  - Shows "(Optional)" when `required` is false/undefined
368
425
  - Used internally by TextField, TextArea, OptionSelector
369
426
 
427
+ ### ColorPicker
428
+
429
+ Swatch grid for selecting product colors. `variant` controls swatch size and accepts a single value OR a responsive object.
430
+
431
+ ```typescript
432
+ // Single variant
433
+ <ColorPicker variant="large" value={color} onValueChange={setColor} />
434
+
435
+ // Responsive variant — small swatches on mobile, large on desktop
436
+ <ColorPicker
437
+ variant={{ sm: 'small', md: 'large', lg: 'x-large' }}
438
+ value={color}
439
+ onValueChange={setColor}
440
+ />
441
+ ```
442
+
443
+ **Variants:** `'small'` | `'large'` | `'x-large'`. Sizes scale across classic and modern themes.
444
+
370
445
  ### Checkbox / Radio / Toggle
371
446
 
372
447
  **How to identify from Figma:**
@@ -388,15 +463,50 @@ Wraps any component for Formik form binding:
388
463
  - Styled components: wrap dynamic styles in `${() => css\`\`}`
389
464
  - Use `$` prefix for styled-component-only props
390
465
  - 8px spacing grid: `x`=8px, `2x`=16px, `.5x`=4px
466
+ - `css` is re-exported from `gantri-components` — `import { css } from 'gantri-components'` (no separate styled-components import needed for templates)
467
+
468
+ ### Responsive CSS — `mediaStyle` (preferred over `media.lessThan`)
469
+
470
+ `mediaStyle` colocates lg/md/sm CSS blocks in one declaration, mirroring `ResolutionAwareProp` cascade.
471
+
472
+ ```typescript
473
+ import styled, { mediaStyle, css } from 'gantri-components';
474
+
475
+ const StyledCard = styled.div`
476
+ border: 1px solid var(--divider-t1);
477
+
478
+ ${mediaStyle({
479
+ lg: css`border-radius: 16px;`, // base — applies to all
480
+ md: css`border-radius: 8px;`, // override at <1024px
481
+ sm: css`border-radius: 4px;`, // override at <720px
482
+ })}
483
+ `;
484
+ ```
485
+
486
+ - `lg` is the base (no media query); cascades to md and sm if not overridden.
487
+ - `md` wraps in `@media (max-width: 1024px)`.
488
+ - `sm` wraps in `@media (max-width: 720px)`.
489
+ - Each block must be a `css` tagged template (or function returning one) — enables editor autocomplete.
490
+
491
+ **`media` (legacy) is deprecated** for `lessThan` usage but kept for `greaterThan` / `between` cases.
391
492
 
392
493
  ## Exports
393
494
  ```typescript
394
495
  import {
496
+ // Components
395
497
  Button, TextField, TextArea, OptionSelector, Banner, Label,
396
498
  Checkbox, Radio, RadioList, Toggle, Icon, Typography,
397
499
  Flex, Box, Grid, Cell, Modal, Stack, FormikInput,
500
+ Image, // legacy Cloudinary image (still supported)
501
+ Picture, // new Cloudinary image — prefer for new code
502
+ ColorPicker,
503
+ // Themes
398
504
  lightTheme, darkTheme, modernLightTheme, modernDarkTheme,
399
- ThemeProvider, createTheme, themeStyle,
505
+ ThemeProvider, createTheme,
506
+ // Styling helpers
507
+ themeStyle, // theme-variant CSS blocks
508
+ mediaStyle, // responsive CSS blocks (lg → md → sm cascade)
509
+ css, // re-exported from styled-components
400
510
  palette, spacing, media,
401
511
  } from 'gantri-components';
402
512
  ```
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { ButtonMenuProps } from './button-menu.types';
3
- export declare const ButtonMenu: {
4
- <T extends Record<any, any>>(props: ButtonMenuProps<T>): React.JSX.Element;
5
- defaultProps: Partial<ButtonMenuProps<Record<string, unknown>>>;
6
- };
3
+ export declare const ButtonMenu: <T extends Record<any, any>>(incoming: ButtonMenuProps<T>) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { CheckboxListProps } from './checkbox-list.types';
3
- export declare const CheckboxList: {
4
- <Value extends string | Record<any, any>>(props: CheckboxListProps<Value>): React.JSX.Element;
5
- defaultProps: import("./checkbox-list.types").CheckboxListDefaultProps<string | Record<any, any>>;
6
- };
3
+ export declare const CheckboxList: <Value extends string | Record<any, any>>(incoming: CheckboxListProps<Value>) => React.JSX.Element;
@@ -1,6 +1,8 @@
1
1
  import { ChangeEvent } from 'react';
2
2
  import { ProductColorCode } from '../../styles/theme';
3
+ import { ResolutionAwareProp } from '../../types/resolution-aware-prop.type';
3
4
  export type ColorPickerVariant = 'x-large' | 'large' | 'small';
5
+ export type ColorPickerVariantProp = ResolutionAwareProp<ColorPickerVariant>;
4
6
  export interface ColorPickerProps extends Partial<ColorPickerDefaultProps> {
5
7
  labelText?: string;
6
8
  labelTx?: string;
@@ -21,7 +23,11 @@ export interface ColorPickerDefaultProps {
21
23
  * Defaults to `true` — opt in by passing `hideTooltips={false}`.
22
24
  */
23
25
  hideTooltips: boolean;
24
- variant: ColorPickerVariant;
26
+ /**
27
+ * Swatch size variant. Accepts a single value or a responsive object
28
+ * (`{ sm, md, lg }`) that follows the standard `lg → md → sm` cascade.
29
+ */
30
+ variant: ColorPickerVariantProp;
25
31
  }
26
32
  export interface ColorDetails {
27
33
  code: ProductColorCode;
@@ -1,17 +1,16 @@
1
1
  /// <reference types="react" />
2
2
  /// <reference types="react" />
3
3
  import { CSSProperties } from 'styled-components';
4
- import { ColorPickerVariant } from '../../color-picker.types';
4
+ import { ColorPickerVariantProp } from '../../color-picker.types';
5
5
  import { ProductColorCode } from '../../../../styles/theme';
6
6
  interface StyledColorOutlineProps {
7
7
  $isClickable: boolean;
8
8
  $selected?: boolean;
9
9
  $size?: CSSProperties['width'];
10
- $variant?: ColorPickerVariant;
10
+ $variant?: ColorPickerVariantProp;
11
11
  }
12
12
  export declare const StyledColorOutline: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledColorOutlineProps>> & string;
13
13
  export declare const StyledColor: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react-spring").AnimatedProps<{
14
- key?: import("react").Key | null | undefined;
15
14
  hidden?: boolean | undefined;
16
15
  color?: string | undefined;
17
16
  content?: string | undefined;
@@ -862,6 +861,7 @@ export declare const StyledColor: import("styled-components/dist/types").IStyled
862
861
  matrix?: readonly [number, number, number, number, number, number] | undefined;
863
862
  matrix3d?: readonly [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number] | undefined;
864
863
  } | undefined;
864
+ key?: import("react").Key | null | undefined;
865
865
  children?: import("react-i18next").ReactI18NextChild | Iterable<import("react-i18next").ReactI18NextChild>;
866
866
  slot?: string | undefined;
867
867
  title?: string | undefined;
@@ -1,5 +1,5 @@
1
1
  import { CSSProperties } from 'styled-components';
2
- import { ColorDetails, ColorPickerVariant } from '../../color-picker.types';
2
+ import { ColorDetails, ColorPickerVariantProp } from '../../color-picker.types';
3
3
  export interface ColorPickerItemProps extends Partial<ColorPickerItemDefaultProps> {
4
4
  active?: boolean;
5
5
  color: ColorDetails;
@@ -9,5 +9,5 @@ export interface ColorPickerItemProps extends Partial<ColorPickerItemDefaultProp
9
9
  size?: CSSProperties['width'];
10
10
  }
11
11
  export interface ColorPickerItemDefaultProps {
12
- variant: ColorPickerVariant;
12
+ variant: ColorPickerVariantProp;
13
13
  }
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { DropdownMenuProps } from './dropdown-menu.types';
3
- export declare const DropdownMenu: {
4
- <T extends Record<any, any>>(props: DropdownMenuProps<T>): React.JSX.Element;
5
- defaultProps: Partial<DropdownMenuProps<Record<any, any>>>;
6
- };
3
+ export declare const DropdownMenu: <T extends Record<any, any>>(incoming: DropdownMenuProps<T>) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { FileUploaderThumbnailVariantProps } from './file-uploader-thumbnail-variant.types';
3
- export declare const FileUploaderThumbnailVariant: {
4
- (props: FileUploaderThumbnailVariantProps): React.JSX.Element;
5
- defaultProps: Pick<FileUploaderThumbnailVariantProps, "thumbnailSize">;
6
- };
3
+ export declare const FileUploaderThumbnailVariant: (incoming: FileUploaderThumbnailVariantProps) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { FileUploaderProps } from './file-uploader.types';
3
- export declare const FileUploader: {
4
- (props: FileUploaderProps): React.JSX.Element;
5
- defaultProps: import("./file-uploader.types").FileUploaderDefaultProps;
6
- };
3
+ export declare const FileUploader: (incoming: FileUploaderProps) => React.JSX.Element;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SvgMoon: React.NamedExoticComponent<object>;
3
+ export default SvgMoon;
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ declare const SvgMoon24: React.NamedExoticComponent<object>;
3
+ export default SvgMoon24;
@@ -22,6 +22,8 @@ export { default as LightBulb } from './LightBulb';
22
22
  export { default as LightBulb24 } from './LightBulb24';
23
23
  export { default as Mask } from './Mask';
24
24
  export { default as Mask24 } from './Mask24';
25
+ export { default as Moon } from './Moon';
26
+ export { default as Moon24 } from './Moon24';
25
27
  export { default as NoEntry } from './NoEntry';
26
28
  export { default as NoEntry24 } from './NoEntry24';
27
29
  export { default as PCircle } from './PCircle';
@@ -1,2 +1,2 @@
1
- export declare const IconsList: readonly ["actions:funnel", "actions:funnel_24", "actions:funnel_filled", "actions:funnel_filled_24", "actions:gear", "actions:gear_24", "actions:life_buoy", "actions:life_buoy_24", "actions:link", "actions:link_24", "actions:star", "actions:star_24", "actions:star_filled", "actions:star_filled_24", "actions:star_half", "actions:star_half_24", "actions:stroke_play", "actions:stroke_play_24", "actions:thumbs_up", "actions:thumbs_up_24", "actions:trash_can", "actions:trash_can_24", "alert:bell", "alert:bell_24", "alert:bell_filled", "alert:bell_filled_24", "alert:i_circle", "alert:i_circle_24", "alert:lightning_bolt", "alert:lightning_bolt_24", "alert:lightning_bolt_filled", "alert:lightning_bolt_filled_24", "alert:question_mark_circle", "alert:question_mark_circle_24", "alert:warning_triangle", "alert:warning_triangle_24", "animated:loader", "arrows:arrow_chevron_double_down", "arrows:arrow_chevron_double_down_24", "arrows:arrow_chevron_double_left", "arrows:arrow_chevron_double_left_24", "arrows:arrow_chevron_double_right", "arrows:arrow_chevron_double_right_24", "arrows:arrow_chevron_double_up", "arrows:arrow_chevron_double_up_24", "arrows:arrow_chevron_down", "arrows:arrow_chevron_down_24", "arrows:arrow_chevron_left", "arrows:arrow_chevron_left_24", "arrows:arrow_chevron_right", "arrows:arrow_chevron_right_24", "arrows:arrow_chevron_up", "arrows:arrow_chevron_up_24", "arrows:arrow_diag", "arrows:arrow_diag_24", "arrows:arrow_down", "arrows:arrow_down_24", "arrows:arrow_download", "arrows:arrow_download_24", "arrows:arrow_external", "arrows:arrow_external_24", "arrows:arrow_left", "arrows:arrow_left_24", "arrows:arrow_line_down", "arrows:arrow_line_down_24", "arrows:arrow_line_left", "arrows:arrow_line_left_24", "arrows:arrow_line_right", "arrows:arrow_line_right_24", "arrows:arrow_line_up", "arrows:arrow_line_up_24", "arrows:arrow_return", "arrows:arrow_right", "arrows:arrow_right_24", "arrows:arrow_rotate_two", "arrows:arrow_rotate_two_24", "arrows:arrow_triangle_down", "arrows:arrow_triangle_down_24", "arrows:arrow_triangle_left", "arrows:arrow_triangle_left_24", "arrows:arrow_triangle_right", "arrows:arrow_triangle_right_24", "arrows:arrow_triangle_up", "arrows:arrow_triangle_up_24", "arrows:arrow_triangle_updown", "arrows:arrow_triangle_updown_24", "arrows:arrow_triangle_updown_down_filled", "arrows:arrow_triangle_updown_down_filled_24", "arrows:arrow_triangle_updown_filled", "arrows:arrow_triangle_updown_filled_24", "arrows:arrow_triangle_updown_top_filled", "arrows:arrow_triangle_updown_top_filled_24", "arrows:arrow_up", "arrows:arrow_up_24", "arrows:arrow_updown", "arrows:arrow_updown_24", "arrows:arrow_updown_filled", "arrows:arrow_updown_filled_24", "arrows:arrow_upload", "arrows:arrow_upload_24", "data:chart_bar", "data:chart_bar_24", "docs:document_blank", "docs:document_blank_24", "docs:document_lines", "docs:document_lines_24", "docs:pencil", "docs:pencil_24", "location:house", "location:house_24", "location:location_california", "location:location_california_24", "location:location_pin", "location:location_pin_24", "logos:logo_affirm", "logos:logo_affirm_colored", "logos:logo_apple", "logos:logo_apple_text", "logos:logo_apple_text_24", "logos:logo_behance", "logos:logo_facebook", "logos:logo_gantri", "logos:logo_gantri_made", "logos:logo_gantri_made_collapsed", "logos:logo_github", "logos:logo_google", "logos:logo_google_text", "logos:logo_google_text_24", "logos:logo_instagram", "logos:logo_linkedin", "logos:logo_pinterest", "logos:logo_tiktok", "logos:logo_twitter", "logos:logo_yotpo", "logos:logo_youtube", "machine:difficulty_easy", "machine:difficulty_hard", "machine:difficulty_moderate", "machine:difficulty_multiple", "machine:laptop", "media:audio", "media:audio_24", "media:photo", "media:photo_24", "media:photo_filled", "media:photo_filled_24", "media:video", "media:video_24", "payment:bank", "payment:cash", "payment:cash_24", "payment:credit_card", "payment:credit_card_24", "payment:gift_box", "payment:gift_box_24", "payment:gift_card", "payment:gift_card_24", "payment:shopping_bag", "payment:shopping_bag_24", "people:people", "people:people_24", "people:person", "people:person_24", "people:person_outline", "people:person_outline_24", "time:calendar", "time:calendar_24", "time:clock", "time:clock_24", "time:clock_filled", "time:clock_filled_24", "ui-control:award_ribbon", "ui-control:check_mark", "ui-control:check_mark_24", "ui-control:check_mark_circle_filled", "ui-control:check_mark_circle_filled_24", "ui-control:drag", "ui-control:email", "ui-control:email_24", "ui-control:exclamation_circle_filled", "ui-control:exclamation_circle_filled_24", "ui-control:globe", "ui-control:globe_24", "ui-control:grid", "ui-control:grid_1", "ui-control:grid_24", "ui-control:grid_4", "ui-control:jbox", "ui-control:left_quote", "ui-control:lines_three", "ui-control:lines_three_24", "ui-control:lines_three_vertical", "ui-control:lines_three_vertical_24", "ui-control:lines_two", "ui-control:lines_two_24", "ui-control:lines_two_dots", "ui-control:lines_two_dots_24", "ui-control:material_opaque", "ui-control:material_translucent", "ui-control:minus", "ui-control:minus_24", "ui-control:minus_circle", "ui-control:minus_circle_24", "ui-control:minus_circle_filled", "ui-control:minus_circle_filled_24", "ui-control:package_return", "ui-control:package_return_24", "ui-control:pause", "ui-control:pause_24", "ui-control:phone", "ui-control:phone_24", "ui-control:play", "ui-control:plug", "ui-control:plus", "ui-control:plus_24", "ui-control:plus_circle", "ui-control:plus_circle_24", "ui-control:plus_circle_filled", "ui-control:plus_circle_filled_24", "ui-control:rod_double", "ui-control:rod_single", "ui-control:shape_curved", "ui-control:shape_flat", "ui-control:shape_variable", "ui-control:shield", "ui-control:shield_24", "ui-control:shield_check", "ui-control:shield_check_24", "ui-control:sound_off", "ui-control:sound_off_24", "ui-control:sound_on", "ui-control:three_dots_cluster", "ui-control:three_dots_cluster_24", "ui-control:three_dots_horizontal", "ui-control:three_dots_horizontal_24", "ui-control:video_enlarge", "ui-control:video_enlarge_24", "ui-control:x", "ui-control:x_24", "ui-control:x_small", "ui-control:x_small_24", "view:eye_open", "view:eye_open_24", "view:magnifying_glass", "view:magnifying_glass_24", "view:magnifying_glass_filled", "view:magnifying_glass_filled_24", "work:assemble", "work:assemble_24", "work:basket_filled", "work:basket_filled_24", "work:box", "work:box_24", "work:broom", "work:broom_24", "work:corner", "work:corner_24", "work:cube_outline", "work:cube_outline_24", "work:glue", "work:glue_24", "work:hand_finish", "work:hand_finish_24", "work:label", "work:label_24", "work:leaf", "work:leaf_24", "work:light_bulb", "work:light_bulb_24", "work:mask", "work:mask_24", "work:no_entry", "work:no_entry_24", "work:p_circle", "work:p_circle_24", "work:print_nozzle", "work:print_nozzle_24", "work:rfid_signal", "work:rfid_signal_24", "work:sand_painted", "work:sand_painted_24", "work:sand_paper", "work:sand_paper_24", "work:sand_primed", "work:sand_primed_24", "work:sand_robot", "work:sand_robot_24", "work:sd_card_filled_exclamation", "work:sd_card_filled_exclamation_24", "work:sd_card_outline", "work:sd_card_outline_24", "work:spool", "work:spool_24", "work:sun", "work:sun_24", "work:tape", "work:tape_24", "work:triangle_ruler", "work:triangle_ruler_24", "work:triangle_ruler_filled", "work:triangle_ruler_filled_24", "work:tumbler", "work:tumbler_24", "work:van", "work:van_24", "work:water_drop", "work:water_drop_24", "work:water_drop_dotted", "work:water_drop_dotted_24", "work:wrench", "work:wrench_24"];
1
+ export declare const IconsList: readonly ["actions:funnel", "actions:funnel_24", "actions:funnel_filled", "actions:funnel_filled_24", "actions:gear", "actions:gear_24", "actions:life_buoy", "actions:life_buoy_24", "actions:link", "actions:link_24", "actions:star", "actions:star_24", "actions:star_filled", "actions:star_filled_24", "actions:star_half", "actions:star_half_24", "actions:stroke_play", "actions:stroke_play_24", "actions:thumbs_up", "actions:thumbs_up_24", "actions:trash_can", "actions:trash_can_24", "alert:bell", "alert:bell_24", "alert:bell_filled", "alert:bell_filled_24", "alert:i_circle", "alert:i_circle_24", "alert:lightning_bolt", "alert:lightning_bolt_24", "alert:lightning_bolt_filled", "alert:lightning_bolt_filled_24", "alert:question_mark_circle", "alert:question_mark_circle_24", "alert:warning_triangle", "alert:warning_triangle_24", "animated:loader", "arrows:arrow_chevron_double_down", "arrows:arrow_chevron_double_down_24", "arrows:arrow_chevron_double_left", "arrows:arrow_chevron_double_left_24", "arrows:arrow_chevron_double_right", "arrows:arrow_chevron_double_right_24", "arrows:arrow_chevron_double_up", "arrows:arrow_chevron_double_up_24", "arrows:arrow_chevron_down", "arrows:arrow_chevron_down_24", "arrows:arrow_chevron_left", "arrows:arrow_chevron_left_24", "arrows:arrow_chevron_right", "arrows:arrow_chevron_right_24", "arrows:arrow_chevron_up", "arrows:arrow_chevron_up_24", "arrows:arrow_diag", "arrows:arrow_diag_24", "arrows:arrow_down", "arrows:arrow_down_24", "arrows:arrow_download", "arrows:arrow_download_24", "arrows:arrow_external", "arrows:arrow_external_24", "arrows:arrow_left", "arrows:arrow_left_24", "arrows:arrow_line_down", "arrows:arrow_line_down_24", "arrows:arrow_line_left", "arrows:arrow_line_left_24", "arrows:arrow_line_right", "arrows:arrow_line_right_24", "arrows:arrow_line_up", "arrows:arrow_line_up_24", "arrows:arrow_return", "arrows:arrow_right", "arrows:arrow_right_24", "arrows:arrow_rotate_two", "arrows:arrow_rotate_two_24", "arrows:arrow_triangle_down", "arrows:arrow_triangle_down_24", "arrows:arrow_triangle_left", "arrows:arrow_triangle_left_24", "arrows:arrow_triangle_right", "arrows:arrow_triangle_right_24", "arrows:arrow_triangle_up", "arrows:arrow_triangle_up_24", "arrows:arrow_triangle_updown", "arrows:arrow_triangle_updown_24", "arrows:arrow_triangle_updown_down_filled", "arrows:arrow_triangle_updown_down_filled_24", "arrows:arrow_triangle_updown_filled", "arrows:arrow_triangle_updown_filled_24", "arrows:arrow_triangle_updown_top_filled", "arrows:arrow_triangle_updown_top_filled_24", "arrows:arrow_up", "arrows:arrow_up_24", "arrows:arrow_updown", "arrows:arrow_updown_24", "arrows:arrow_updown_filled", "arrows:arrow_updown_filled_24", "arrows:arrow_upload", "arrows:arrow_upload_24", "data:chart_bar", "data:chart_bar_24", "docs:document_blank", "docs:document_blank_24", "docs:document_lines", "docs:document_lines_24", "docs:pencil", "docs:pencil_24", "location:house", "location:house_24", "location:location_california", "location:location_california_24", "location:location_pin", "location:location_pin_24", "logos:logo_affirm", "logos:logo_affirm_colored", "logos:logo_apple", "logos:logo_apple_text", "logos:logo_apple_text_24", "logos:logo_behance", "logos:logo_facebook", "logos:logo_gantri", "logos:logo_gantri_made", "logos:logo_gantri_made_collapsed", "logos:logo_github", "logos:logo_google", "logos:logo_google_text", "logos:logo_google_text_24", "logos:logo_instagram", "logos:logo_linkedin", "logos:logo_pinterest", "logos:logo_tiktok", "logos:logo_twitter", "logos:logo_yotpo", "logos:logo_youtube", "machine:difficulty_easy", "machine:difficulty_hard", "machine:difficulty_moderate", "machine:difficulty_multiple", "machine:laptop", "media:audio", "media:audio_24", "media:photo", "media:photo_24", "media:photo_filled", "media:photo_filled_24", "media:video", "media:video_24", "payment:bank", "payment:cash", "payment:cash_24", "payment:credit_card", "payment:credit_card_24", "payment:gift_box", "payment:gift_box_24", "payment:gift_card", "payment:gift_card_24", "payment:shopping_bag", "payment:shopping_bag_24", "people:people", "people:people_24", "people:person", "people:person_24", "people:person_outline", "people:person_outline_24", "time:calendar", "time:calendar_24", "time:clock", "time:clock_24", "time:clock_filled", "time:clock_filled_24", "ui-control:award_ribbon", "ui-control:check_mark", "ui-control:check_mark_24", "ui-control:check_mark_circle_filled", "ui-control:check_mark_circle_filled_24", "ui-control:drag", "ui-control:email", "ui-control:email_24", "ui-control:exclamation_circle_filled", "ui-control:exclamation_circle_filled_24", "ui-control:globe", "ui-control:globe_24", "ui-control:grid", "ui-control:grid_1", "ui-control:grid_24", "ui-control:grid_4", "ui-control:jbox", "ui-control:left_quote", "ui-control:lines_three", "ui-control:lines_three_24", "ui-control:lines_three_vertical", "ui-control:lines_three_vertical_24", "ui-control:lines_two", "ui-control:lines_two_24", "ui-control:lines_two_dots", "ui-control:lines_two_dots_24", "ui-control:material_opaque", "ui-control:material_translucent", "ui-control:minus", "ui-control:minus_24", "ui-control:minus_circle", "ui-control:minus_circle_24", "ui-control:minus_circle_filled", "ui-control:minus_circle_filled_24", "ui-control:package_return", "ui-control:package_return_24", "ui-control:pause", "ui-control:pause_24", "ui-control:phone", "ui-control:phone_24", "ui-control:play", "ui-control:plug", "ui-control:plus", "ui-control:plus_24", "ui-control:plus_circle", "ui-control:plus_circle_24", "ui-control:plus_circle_filled", "ui-control:plus_circle_filled_24", "ui-control:rod_double", "ui-control:rod_single", "ui-control:shape_curved", "ui-control:shape_flat", "ui-control:shape_variable", "ui-control:shield", "ui-control:shield_24", "ui-control:shield_check", "ui-control:shield_check_24", "ui-control:sound_off", "ui-control:sound_off_24", "ui-control:sound_on", "ui-control:three_dots_cluster", "ui-control:three_dots_cluster_24", "ui-control:three_dots_horizontal", "ui-control:three_dots_horizontal_24", "ui-control:video_enlarge", "ui-control:video_enlarge_24", "ui-control:x", "ui-control:x_24", "ui-control:x_small", "ui-control:x_small_24", "view:eye_open", "view:eye_open_24", "view:magnifying_glass", "view:magnifying_glass_24", "view:magnifying_glass_filled", "view:magnifying_glass_filled_24", "work:assemble", "work:assemble_24", "work:basket_filled", "work:basket_filled_24", "work:box", "work:box_24", "work:broom", "work:broom_24", "work:corner", "work:corner_24", "work:cube_outline", "work:cube_outline_24", "work:glue", "work:glue_24", "work:hand_finish", "work:hand_finish_24", "work:label", "work:label_24", "work:leaf", "work:leaf_24", "work:light_bulb", "work:light_bulb_24", "work:mask", "work:mask_24", "work:moon", "work:moon_24", "work:no_entry", "work:no_entry_24", "work:p_circle", "work:p_circle_24", "work:print_nozzle", "work:print_nozzle_24", "work:rfid_signal", "work:rfid_signal_24", "work:sand_painted", "work:sand_painted_24", "work:sand_paper", "work:sand_paper_24", "work:sand_primed", "work:sand_primed_24", "work:sand_robot", "work:sand_robot_24", "work:sd_card_filled_exclamation", "work:sd_card_filled_exclamation_24", "work:sd_card_outline", "work:sd_card_outline_24", "work:spool", "work:spool_24", "work:sun", "work:sun_24", "work:tape", "work:tape_24", "work:triangle_ruler", "work:triangle_ruler_24", "work:triangle_ruler_filled", "work:triangle_ruler_filled_24", "work:tumbler", "work:tumbler_24", "work:van", "work:van_24", "work:water_drop", "work:water_drop_24", "work:water_drop_dotted", "work:water_drop_dotted_24", "work:wrench", "work:wrench_24"];
2
2
  export type IconType = typeof IconsList[number];
@@ -32,6 +32,7 @@ export * from './modal';
32
32
  export * from './multi-select-list';
33
33
  export * from './option-selector';
34
34
  export * from './overlay';
35
+ export * from './picture';
35
36
  export * from './pills';
36
37
  export * from './positioned';
37
38
  export * from './quantity';
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { MultiSelectListProps } from './multi-select-list.types';
3
- export declare const MultiSelectList: {
4
- <Item extends Record<any, any>>(props: MultiSelectListProps<Item>): React.JSX.Element;
5
- defaultProps: import("./multi-select-list.types").MultiSelectListDefaultProps<Record<string, unknown>>;
6
- };
3
+ export declare const MultiSelectList: <Item extends Record<any, any>>(incoming: MultiSelectListProps<Item>) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { OptionSelectorProps } from './option-selector.types';
3
- export declare const OptionSelector: {
4
- (props: OptionSelectorProps): React.JSX.Element;
5
- defaultProps: Partial<OptionSelectorProps>;
6
- };
3
+ export declare const OptionSelector: (props: OptionSelectorProps) => React.JSX.Element;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import { IGravity } from '@cloudinary/url-gen/qualifiers/gravity/GravityQualifier';
2
+ import { PictureSource } from './detect-source';
3
+ import { PictureCrop, PictureEffect, PictureFormat, PictureQuality } from '../picture.types';
4
+ export interface BuildCloudinaryUrlOptions {
5
+ width?: number;
6
+ height?: number;
7
+ aspectRatio?: string;
8
+ crop?: PictureCrop;
9
+ gravity?: IGravity;
10
+ quality?: PictureQuality | number;
11
+ format?: PictureFormat;
12
+ dpr?: number | 'auto';
13
+ sharpen?: number | boolean;
14
+ blur?: number;
15
+ effects?: PictureEffect[];
16
+ background?: string;
17
+ rawTransformation?: string;
18
+ /** Override auto-detection. */
19
+ source?: PictureSource;
20
+ }
21
+ export declare const buildCloudinaryUrl: (src: string, options?: BuildCloudinaryUrlOptions) => string;
@@ -0,0 +1,2 @@
1
+ import { BuildCloudinaryUrlOptions } from './build-cloudinary-url';
2
+ export declare const buildBlurPlaceholder: (src: string, options?: Omit<BuildCloudinaryUrlOptions, 'width' | 'blur' | 'quality'>) => string | undefined;
@@ -0,0 +1,22 @@
1
+ import { BuildCloudinaryUrlOptions } from './build-cloudinary-url';
2
+ export declare const DEFAULT_SRCSET_WIDTHS: readonly [320, 640, 1024, 1600, 2400];
3
+ /**
4
+ * Default cap applied to the `src` attribute when no explicit `width` is given.
5
+ *
6
+ * Modern browsers always pick from `srcset`, so `src` is only fetched by:
7
+ * - Crawlers/bots (Googlebot, OG preview tools)
8
+ * - Old browsers without `srcset` support (<1% of traffic)
9
+ * - Preload scanners before `srcset` evaluation
10
+ *
11
+ * 640px keeps the fallback mobile-friendly so SEO tools and bots don't see
12
+ * oversized images on mobile (which would hurt Core Web Vitals scores).
13
+ * Real desktop users get 1600/2400 from `srcset`, not this fallback.
14
+ */
15
+ export declare const DEFAULT_FALLBACK_WIDTH = 640;
16
+ interface BuildSrcsetParams {
17
+ src: string;
18
+ width?: number;
19
+ options: Omit<BuildCloudinaryUrlOptions, 'width'>;
20
+ }
21
+ export declare const buildSrcset: ({ src, width, options, }: BuildSrcsetParams) => string | undefined;
22
+ export {};
@@ -0,0 +1,2 @@
1
+ export type PictureSource = 'static' | 'dynamic' | 'absolute-cloudinary' | 'absolute-external' | 'video-frame' | 'passthrough';
2
+ export declare const detectSource: (src: string | undefined) => PictureSource;
@@ -0,0 +1,5 @@
1
+ export * from './detect-source';
2
+ export * from './build-cloudinary-url';
3
+ export * from './build-srcset';
4
+ export * from './build-placeholder';
5
+ export * from './normalize-resolution-aware';
@@ -0,0 +1,8 @@
1
+ import { ResolutionAwareProp } from '../../../types/resolution-aware-prop.type';
2
+ export interface NormalizedResolutionAware<T> {
3
+ lg: T | undefined;
4
+ md: T | undefined;
5
+ sm: T | undefined;
6
+ }
7
+ export declare const normalizeResolutionAware: <T>(prop: ResolutionAwareProp<T> | undefined) => NormalizedResolutionAware<T>;
8
+ export declare const isResponsive: (prop: unknown) => boolean;
@@ -0,0 +1,3 @@
1
+ export * from './picture';
2
+ export * from './picture.types';
3
+ export { buildCloudinaryUrl, buildSrcset, buildBlurPlaceholder, detectSource, type PictureSource, } from './helpers';
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { PictureProps } from './picture.types';
3
+ export declare const Picture: FC<PictureProps>;
@@ -0,0 +1,2 @@
1
+ import { PictureProps } from './picture.types';
2
+ export declare const PicturePresets: Partial<PictureProps>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { PictureProps, StyledPictureContainerProps } from './picture.types';
3
+ export declare const StyledPictureContainer: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, StyledPictureContainerProps>> & string;
4
+ export declare const StyledPictureImage: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ImgHTMLAttributes<HTMLImageElement>, HTMLImageElement>, {
5
+ $blurPlaceholder?: string | undefined;
6
+ $objectFit?: PictureProps['objectFit'];
7
+ $objectPosition?: PictureProps['objectPosition'];
8
+ }>> & string;
@@ -0,0 +1,72 @@
1
+ import { Property } from 'csstype';
2
+ import { CSSProperties, ReactEventHandler } from 'react';
3
+ import { IGravity } from '@cloudinary/url-gen/qualifiers/gravity/GravityQualifier';
4
+ import { ImageFormatType, VideoFormatType } from '@cloudinary/transformation-builder-sdk/types/types';
5
+ import { ResolutionAwareProp } from '../../types/resolution-aware-prop.type';
6
+ import { Color } from '../../styles';
7
+ export type PictureCrop = 'scale' | 'limitFit' | 'limitFill' | 'limitPad' | 'fill' | 'fit' | 'crop' | 'pad' | 'imaggaCrop' | 'imaggaScale' | 'minimumFit' | 'minimumPad' | 'fillPad' | 'thumbnail';
8
+ export type PictureQuality = 'auto' | 'autoBest' | 'autoEco' | 'autoGood' | 'autoLow' | 'jpegmini' | 'jpegminiBest' | 'jpegminiHigh' | 'jpegminiMedium';
9
+ export type PictureFormat = ImageFormatType | VideoFormatType;
10
+ export type PictureEffect = 'grayscale' | 'sepia' | 'blackwhite' | 'negate' | 'oil_paint' | 'cartoonify' | 'vignette' | 'pixelate' | string;
11
+ export type PicturePlaceholder = 'blur' | 'color' | 'none';
12
+ export type PictureAs = 'image' | 'video-frame';
13
+ export interface PictureProps {
14
+ src: ResolutionAwareProp<string>;
15
+ alt: string;
16
+ /** Override auto-detection of how to render the asset. */
17
+ as?: PictureAs;
18
+ width?: ResolutionAwareProp<number>;
19
+ height?: ResolutionAwareProp<number>;
20
+ /** e.g. "16:9", "1:1". Drives both CSS aspect-ratio and Cloudinary ar_ transformation. */
21
+ aspectRatio?: ResolutionAwareProp<string>;
22
+ /** CSS max-width on the container. Useful with aspectRatio to cap horizontal size. */
23
+ maxWidth?: ResolutionAwareProp<Property.MaxWidth>;
24
+ /** CSS max-height on the container. Useful with aspectRatio to cap vertical size. */
25
+ maxHeight?: ResolutionAwareProp<Property.MaxHeight>;
26
+ /** CSS min-width on the container. */
27
+ minWidth?: ResolutionAwareProp<Property.MinWidth>;
28
+ /** CSS min-height on the container. */
29
+ minHeight?: ResolutionAwareProp<Property.MinHeight>;
30
+ /** Image fills its (position: relative) parent. Mutually exclusive with width/height. */
31
+ fill?: boolean;
32
+ /** Native sizes attribute. Default: "100vw". Tells the browser how wide the image renders. */
33
+ sizes?: string;
34
+ crop?: PictureCrop;
35
+ gravity?: IGravity;
36
+ quality?: PictureQuality | number;
37
+ format?: PictureFormat;
38
+ dpr?: number | 'auto';
39
+ sharpen?: number | boolean;
40
+ blur?: number;
41
+ effects?: PictureEffect[];
42
+ background?: string;
43
+ /** Escape hatch: raw Cloudinary transformation string appended at the end. */
44
+ rawTransformation?: string;
45
+ /** Sets loading="eager" + fetchpriority="high". Use for above-the-fold / hero images. */
46
+ priority?: boolean;
47
+ loading?: 'lazy' | 'eager';
48
+ fetchPriority?: 'high' | 'low' | 'auto';
49
+ placeholder?: PicturePlaceholder;
50
+ placeholderColor?: Color;
51
+ objectFit?: ResolutionAwareProp<Property.ObjectFit>;
52
+ objectPosition?: ResolutionAwareProp<Property.ObjectPosition>;
53
+ rounded?: boolean;
54
+ className?: string;
55
+ style?: CSSProperties;
56
+ onClick?: () => void;
57
+ onLoad?: ReactEventHandler<HTMLImageElement>;
58
+ onError?: ReactEventHandler<HTMLImageElement>;
59
+ }
60
+ export interface StyledPictureContainerProps {
61
+ $aspectRatio?: PictureProps['aspectRatio'];
62
+ $width?: PictureProps['width'];
63
+ $height?: PictureProps['height'];
64
+ $maxWidth?: PictureProps['maxWidth'];
65
+ $maxHeight?: PictureProps['maxHeight'];
66
+ $minWidth?: PictureProps['minWidth'];
67
+ $minHeight?: PictureProps['minHeight'];
68
+ $placeholderColor?: PictureProps['placeholderColor'];
69
+ $fill?: boolean;
70
+ $rounded?: boolean;
71
+ $hasPlaceholder?: boolean;
72
+ }
@@ -1,6 +1,3 @@
1
1
  import React, { PropsWithChildren } from 'react';
2
2
  import { RadioProps } from './radio.types';
3
- export declare const Radio: {
4
- (props: PropsWithChildren<RadioProps>): React.JSX.Element;
5
- defaultProps: RadioProps;
6
- };
3
+ export declare const Radio: (incoming: PropsWithChildren<RadioProps>) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { RadioListProps } from './radio-list.types';
3
- export declare const RadioList: {
4
- <Value extends string>(props: RadioListProps<Value>): React.JSX.Element;
5
- defaultProps: import("./radio-list.types").RadioListDefaultProps<string | Record<any, any>>;
6
- };
3
+ export declare const RadioList: <Value extends string>(incoming: RadioListProps<Value>) => React.JSX.Element;
@@ -1,3 +1,22 @@
1
1
  import React from 'react';
2
2
  import { ResponsiveProps } from './responsive.types';
3
+ /**
4
+ * @deprecated Use `<Box hidden={{ lg, md, sm }}>` instead. `Responsive` decides
5
+ * the active branch on the client via `useMedia`, which causes a layout flash
6
+ * (FOUC) on hydration: the SSR / first render always picks `lg`, then swaps to
7
+ * `md` / `sm` after mounting. Wrapping each branch in a `Box` with `hidden`
8
+ * resolves at the CSS `@media` layer, so the correct branch is visible from
9
+ * the very first paint.
10
+ *
11
+ * Migration:
12
+ *
13
+ * // before
14
+ * <Responsive lg={<Desktop />} md={<Mobile />} />
15
+ *
16
+ * // after
17
+ * <>
18
+ * <Box hidden={{ lg: false, md: true, sm: true }}><Desktop /></Box>
19
+ * <Box hidden={{ lg: true, md: false, sm: false }}><Mobile /></Box>
20
+ * </>
21
+ */
3
22
  export declare const Responsive: (props: ResponsiveProps) => React.JSX.Element;
@@ -1,4 +1,8 @@
1
1
  /// <reference types="react" />
2
+ /**
3
+ * @deprecated Use `<Box hidden={{ lg, md, sm }}>` instead. See the JSDoc on
4
+ * the `Responsive` component for the migration guide and rationale.
5
+ */
2
6
  export interface ResponsiveProps {
3
7
  lg?: JSX.Element;
4
8
  md?: JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { SearchFieldProps } from './search-field.types';
3
- export declare const SearchField: {
4
- <T extends Record<any, any>>(props: SearchFieldProps<T>): React.JSX.Element;
5
- defaultProps: Partial<SearchFieldProps<any>>;
6
- };
3
+ export declare const SearchField: <T extends Record<any, any>>(incoming: SearchFieldProps<T>) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { PagingComponentProps } from './paging.types';
3
- export declare const Paging: {
4
- (props: PagingComponentProps): React.JSX.Element;
5
- defaultProps: Partial<import("./paging.types").PagingProps>;
6
- };
3
+ export declare const Paging: (incoming: PagingComponentProps) => React.JSX.Element;
@@ -1,6 +1,3 @@
1
1
  import React from 'react';
2
2
  import { SearchComponentProps } from './search.types';
3
- export declare const Search: {
4
- (props: SearchComponentProps): React.JSX.Element;
5
- defaultProps: import("./search.types").SearchDefaultProps;
6
- };
3
+ export declare const Search: (incoming: SearchComponentProps) => React.JSX.Element;
@@ -6,7 +6,4 @@ import { TableProps } from './table.types';
6
6
  *
7
7
  * Official docs: https://tanstack.com/table/v8/docs/guide/overview
8
8
  */
9
- export declare const Table: {
10
- <TData extends RowData<import("./table.types").CustomTData>>(props: TableProps<TData>): React.JSX.Element;
11
- defaultProps: import("./table.types").TableDefaultProps;
12
- };
9
+ export declare const Table: <TData extends RowData<import("./table.types").CustomTData>>(incoming: TableProps<TData>) => React.JSX.Element;