# API

> @gallerykit/core public exports.

Source: https://gallerykit.n.yatsyk.com/docs/core/api

# API

```ts
import { useContainerWidth, useResponsiveColumns, useSelection, useImageLoad, ExifSchema, Exif, MediaTypeSchema, MediaType } from "@gallerykit/core";
```

## Public exports

| Name                         | Kind   | Summary                                                      |
| ---------------------------- | ------ | ------------------------------------------------------------ |
| `ExifSchema`                 | schema | Zod schema for Exif.                                         |
| `Exif`                       | value  | Public value.                                                |
| `MediaTypeSchema`            | schema | Zod schema for MediaType.                                    |
| `MediaType`                  | value  | Public value.                                                |
| `ImageSourceSchema`          | schema | Zod schema for ImageSource.                                  |
| `ImageSource`                | value  | Public value.                                                |
| `GalleryItemSchema`          | schema | Zod schema for GalleryItem.                                  |
| `GalleryItem`                | value  | Public value.                                                |
| `PaginationConfigSchema`     | schema | Zod schema for PaginationConfig.                             |
| `PaginationConfig`           | type   | TypeScript type.                                             |
| `HoverEffectSchema`          | schema | Zod schema for HoverEffect.                                  |
| `HoverEffect`                | value  | Public value.                                                |
| `ImageLoadingSchema`         | schema | Zod schema for ImageLoading.                                 |
| `ImageLoading`               | value  | Public value.                                                |
| `ResponsiveColumnsSchema`    | schema | Zod schema for ResponsiveColumns.                            |
| `ColumnsSchema`              | schema | Zod schema for Columns.                                      |
| `Columns`                    | value  | Public value.                                                |
| `DEFAULT_BREAKPOINTS`        | value  | Default value constant.                                      |
| `BreakpointsSchema`          | schema | Zod schema for Breakpoints.                                  |
| `Breakpoints`                | value  | Public value.                                                |
| `AspectRatioSchema`          | schema | Zod schema for AspectRatio.                                  |
| `AspectRatio`                | value  | Public value.                                                |
| `GalleryConfigSchema`        | schema | Zod schema for GalleryConfig.                                |
| `GalleryConfig`              | type   | TypeScript type.                                             |
| `GridConfigSchema`           | schema | Zod schema for GridConfig.                                   |
| `GridConfig`                 | type   | TypeScript type.                                             |
| `MasonryConfigSchema`        | schema | Zod schema for MasonryConfig.                                |
| `MasonryConfig`              | type   | TypeScript type.                                             |
| `JustifiedConfigSchema`      | schema | Zod schema for JustifiedConfig.                              |
| `JustifiedConfig`            | type   | TypeScript type.                                             |
| `CarouselConfigSchema`       | schema | Zod schema for CarouselConfig.                               |
| `CarouselConfig`             | type   | TypeScript type.                                             |
| `CarouselEffectSchema`       | schema | Zod schema for CarouselEffect.                               |
| `LightboxInfoPositionSchema` | schema | Zod schema for LightboxInfoPosition.                         |
| `LightboxConfigSchema`       | schema | Zod schema for LightboxConfig.                               |
| `LightboxConfig`             | type   | TypeScript type.                                             |
| `PaywallConfigSchema`        | schema | Zod schema for PaywallConfig.                                |
| `PaywallConfig`              | type   | TypeScript type.                                             |
| `AnimationTypeSchema`        | schema | Zod schema for AnimationType.                                |
| `PaginationTypeSchema`       | schema | Zod schema for PaginationType.                               |
| `LayoutCapabilitiesSchema`   | schema | Zod schema for LayoutCapabilities.                           |
| `LayoutCapabilities`         | value  | Public value.                                                |
| `LayoutDescriptions`         | value  | Public value.                                                |
| `ColorModeSchema`            | schema | Zod schema for ColorMode.                                    |
| `ColorMode`                  | value  | Public value.                                                |
| `SlotOverrideSchema`         | schema | Zod schema for SlotOverride.                                 |
| `SlotOverride`               | value  | Public value.                                                |
| `ThemeDefinitionSchema`      | schema | Zod schema for ThemeDefinition.                              |
| `ThemeDefinition`            | type   | TypeScript type.                                             |
| `ThemeRegistryEntrySchema`   | schema | Zod schema for ThemeRegistryEntry.                           |
| `SkinSlotNameSchema`         | schema | Zod schema for SkinSlotName.                                 |
| `SkinSlotName`               | value  | Public value.                                                |
| `SkinDefinitionSchema`       | schema | Zod schema for SkinDefinition.                               |
| `SkinDefinition`             | type   | TypeScript type.                                             |
| `SocialPlatformSchema`       | schema | Zod schema for SocialPlatform.                               |
| `SocialPlatform`             | value  | Public value.                                                |
| `SocialLinkSchema`           | schema | Zod schema for SocialLink.                                   |
| `SocialLink`                 | value  | Public value.                                                |
| `ImageRefSchema`             | schema | Zod schema for ImageRef.                                     |
| `ImageRef`                   | value  | Public value.                                                |
| `PhotographerProfileSchema`  | schema | Zod schema for PhotographerProfile.                          |
| `PhotographerProfile`        | value  | Public value.                                                |
| `AlbumVisibilitySchema`      | schema | Zod schema for AlbumVisibility.                              |
| `AlbumCategorySchema`        | schema | Zod schema for AlbumCategory.                                |
| `AlbumCategory`              | value  | Public value.                                                |
| `AlbumSchema`                | schema | Zod schema for Album.                                        |
| `Album`                      | value  | Public value.                                                |
| `NavItemSchema`              | schema | Zod schema for NavItem.                                      |
| `NavItem`                    | value  | Public value.                                                |
| `LogoSchema`                 | schema | Zod schema for Logo.                                         |
| `Logo`                       | value  | Public value.                                                |
| `NavStyleSchema`             | schema | Zod schema for NavStyle.                                     |
| `PortfolioNavigationSchema`  | schema | Zod schema for PortfolioNavigation.                          |
| `PortfolioNavigation`        | value  | Public value.                                                |
| `HeroLayoutSchema`           | schema | Zod schema for HeroLayout.                                   |
| `HeroSchema`                 | schema | Zod schema for Hero.                                         |
| `Hero`                       | value  | Public value.                                                |
| `PortfolioSectionSchema`     | schema | Zod schema for PortfolioSection.                             |
| `PortfolioSection`           | value  | Public value.                                                |
| `PortfolioPageSchema`        | schema | Zod schema for PortfolioPage.                                |
| `PortfolioPage`              | value  | Public value.                                                |
| `PortfolioSiteSchema`        | schema | Zod schema for PortfolioSite.                                |
| `PortfolioSite`              | value  | Public value.                                                |
| `DamRatingSchema`            | schema | Zod schema for DamRating.                                    |
| `DamRating`                  | value  | Public value.                                                |
| `DamFlagSchema`              | schema | Zod schema for DamFlag.                                      |
| `DamFlag`                    | value  | Public value.                                                |
| `DamColorLabelSchema`        | schema | Zod schema for DamColorLabel.                                |
| `DamColorLabel`              | value  | Public value.                                                |
| `DamApprovalSchema`          | schema | Zod schema for DamApproval.                                  |
| `DamApproval`                | value  | Public value.                                                |
| `DamFileTypeSchema`          | schema | Zod schema for DamFileType.                                  |
| `DamFileType`                | value  | Public value.                                                |
| `DamExifSchema`              | schema | Zod schema for DamExif.                                      |
| `DamExif`                    | value  | Public value.                                                |
| `DamMediaSchema`             | schema | Zod schema for DamMedia.                                     |
| `DamMedia`                   | value  | Public value.                                                |
| `DamThumbnailSchema`         | schema | Zod schema for DamThumbnail.                                 |
| `DamThumbnail`               | value  | Public value.                                                |
| `DamItemSchema`              | schema | Zod schema for DamItem.                                      |
| `DamItem`                    | value  | Public value.                                                |
| `DamFolderSchema`            | schema | Zod schema for DamFolder.                                    |
| `DamFolder`                  | value  | Public value.                                                |
| `DamSmartRuleSchema`         | schema | Zod schema for DamSmartRule.                                 |
| `DamSmartRule`               | value  | Public value.                                                |
| `DamCollectionSchema`        | schema | Zod schema for DamCollection.                                |
| `DamCollection`              | value  | Public value.                                                |
| `DamSortFieldSchema`         | schema | Zod schema for DamSortField.                                 |
| `DamSortDirSchema`           | schema | Zod schema for DamSortDir.                                   |
| `DamSortSchema`              | schema | Zod schema for DamSort.                                      |
| `DamSort`                    | value  | Public value.                                                |
| `DamViewModeSchema`          | schema | Zod schema for DamViewMode.                                  |
| `DamViewConfigSchema`        | schema | Zod schema for DamViewConfig.                                |
| `DamViewConfig`              | type   | TypeScript type.                                             |
| `useContainerWidth`          | hook   | Hook for container width.                                    |
| `useResponsiveColumns`       | hook   | Hook for responsive columns.                                 |
| `useSelection`               | hook   | Hook for selection.                                          |
| `useImageLoad`               | hook   | Hook for image load.                                         |
| `useGalleryContext`          | hook   | Hook for gallery context.                                    |
| `GalleryContext`             | value  | Public value.                                                |
| `BreakpointName`             | value  | Public value.                                                |
| `SelectionState`             | value  | Public value.                                                |
| `ImageLoadState`             | value  | Public value.                                                |
| `GalleryContextValue`        | value  | Public value.                                                |
| `layoutRegistry`             | value  | Runtime registry instance.                                   |
| `themeRegistry`              | value  | Runtime registry instance.                                   |
| `skinRegistry`               | value  | Runtime registry instance.                                   |
| `SkinItemProps`              | type   | TypeScript type.                                             |
| `SkinComponents`             | value  | Public value.                                                |
| `ThemeProvider`              | value  | Public value.                                                |
| `useThemeContext`            | hook   | Hook for theme context.                                      |
| `ThemeProviderProps`         | type   | TypeScript type.                                             |
| `Gallery`                    | value  | Host component that renders a gallery from a config + items. |
| `GalleryProps`               | type   | TypeScript type.                                             |
| `getAspectRatio`             | value  | Public value.                                                |
| `groupByDate`                | value  | Public value.                                                |
| `sortItems`                  | value  | Public value.                                                |
| `computeSrcSet`              | value  | Public value.                                                |
| `computeSizes`               | value  | Public value.                                                |
| `getAspectRatioPadding`      | value  | Public value.                                                |
| `parseAspectRatio`           | value  | Public value.                                                |

See the [JSDoc reference](./jsdoc) for the full type signatures.
