@m1kapp/kit 0.0.20 → 0.0.22

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.mts CHANGED
@@ -79,6 +79,9 @@ interface FabProps {
79
79
  /**
80
80
  * Floating Action Button — positioned absolute bottom-right inside AppShell.
81
81
  *
82
+ * Portals into the nearest `.in-app-sheet-content-portal` (AppShellContent wrapper)
83
+ * so it stays pinned regardless of scroll content height.
84
+ *
82
85
  * @example
83
86
  * <AppShellContent>
84
87
  * {content}
@@ -588,6 +591,15 @@ declare function useEscapeKey(active: boolean, onEscape: () => void): void;
588
591
  */
589
592
  declare function useScrollLock(active: boolean, anchorRef?: RefObject<HTMLElement | null>): void;
590
593
 
594
+ /**
595
+ * Finds the nearest portal container by walking up from a hidden anchor span.
596
+ * Searches for `selectors` in order via `.closest()`, falls back to `document.body`.
597
+ *
598
+ * Returns `[anchorRef, target]` — attach `anchorRef` to a hidden `<span>` so
599
+ * the DOM walk has a starting point.
600
+ */
601
+ declare function usePortalTarget(selectors?: string | string[]): [React.RefObject<HTMLSpanElement | null>, HTMLElement | null];
602
+
591
603
  interface SkeletonProps {
592
604
  /** Tailwind classes for width / height (e.g. "h-4 w-3/4") */
593
605
  className?: string;
@@ -629,6 +641,8 @@ interface InAppSheetProps {
629
641
  onClose: () => void;
630
642
  children: React.ReactNode;
631
643
  className?: string;
644
+ /** 시트 상단 타이틀 — X 버튼과 나란히 정렬 */
645
+ title?: string;
632
646
  /** true면 시트가 AppShell 전체 높이를 채움 */
633
647
  fullHeight?: boolean;
634
648
  /** 우상단 X 버튼 숨기기. Default: false (보임) */
@@ -636,7 +650,7 @@ interface InAppSheetProps {
636
650
  /** 닫기 버튼 aria-label. Default: "닫기" */
637
651
  closeLabel?: string;
638
652
  }
639
- declare function InAppSheet({ open, onClose, children, className, fullHeight, hideClose, closeLabel, }: InAppSheetProps): react_jsx_runtime.JSX.Element;
653
+ declare function InAppSheet({ open, onClose, children, className, title, fullHeight, hideClose, closeLabel, }: InAppSheetProps): react_jsx_runtime.JSX.Element;
640
654
 
641
655
  type PWAInstallState = "android-ready" | "ios-safari" | "installed" | "unsupported";
642
656
  interface UsePWAInstallReturn {
@@ -851,4 +865,4 @@ declare function formatPrice(amount: number, currency?: string, locale?: string)
851
865
 
852
866
  declare function cn(...inputs: ClassValue[]): string;
853
867
 
854
- export { type ApiClient, type ApiClientOptions, ApiError, AppShell, AppShellContent, type AppShellContentProps, AppShellHeader, type AppShellHeaderProps, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, type ColorName, Dialog, type DialogProps, Divider, EmojiButton, type EmojiButtonProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, EmptyState, type EmptyStateProps, Fab, type FabProps, FontLinks, type FontName, GrassMap, type GrassMapData, type GrassMapLabels, type GrassMapProps, IOSInstallSheet, InAppSheet, type InAppSheetProps, KitStyles, PWAInstallButton, type PWAInstallState, Section, SectionHeader, type SectionHeaderProps, type SectionProps, ShareButton, type ShareButtonProps, Skeleton, type SkeletonProps, StatChip, type StatChipProps, THEME_SCRIPT, Tab, TabBar, type TabBarProps, type TabProps, ThemeButton, type ThemeButtonProps, ThemeDialog, type ThemeDialogLabels, type ThemeDialogProps, type ToastOptions, ToastProvider, type ToastVariant, Tooltip, type TooltipProps, Typewriter, type TypewriterProps, type UseFetchOptions, type UseFetchResult, type UseFormSubmitOptions, type UseFormSubmitResult, type UseInViewOptions, type UseInViewResult, type UsePWAInstallReturn, type UsePollingOptions, type UsePollingResult, type UseShareOptions, type UseShareReturn, Watermark, type WatermarkProps, type WatermarkSponsor, clearFetchCache, cn, colors, createApiClient, createManifest, fontFamily, fonts, formatNumber, formatPrice, mobileViewport, relativeTime, svgIcon, useDebounce, useEscapeKey, useFetch, useFocusTrap, useFormSubmit, useInView, useLocalStorage, usePWAInstall, usePolling, useScrollLock, useShare, useToast };
868
+ export { type ApiClient, type ApiClientOptions, ApiError, AppShell, AppShellContent, type AppShellContentProps, AppShellHeader, type AppShellHeaderProps, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, type ColorName, Dialog, type DialogProps, Divider, EmojiButton, type EmojiButtonProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, EmptyState, type EmptyStateProps, Fab, type FabProps, FontLinks, type FontName, GrassMap, type GrassMapData, type GrassMapLabels, type GrassMapProps, IOSInstallSheet, InAppSheet, type InAppSheetProps, KitStyles, PWAInstallButton, type PWAInstallState, Section, SectionHeader, type SectionHeaderProps, type SectionProps, ShareButton, type ShareButtonProps, Skeleton, type SkeletonProps, StatChip, type StatChipProps, THEME_SCRIPT, Tab, TabBar, type TabBarProps, type TabProps, ThemeButton, type ThemeButtonProps, ThemeDialog, type ThemeDialogLabels, type ThemeDialogProps, type ToastOptions, ToastProvider, type ToastVariant, Tooltip, type TooltipProps, Typewriter, type TypewriterProps, type UseFetchOptions, type UseFetchResult, type UseFormSubmitOptions, type UseFormSubmitResult, type UseInViewOptions, type UseInViewResult, type UsePWAInstallReturn, type UsePollingOptions, type UsePollingResult, type UseShareOptions, type UseShareReturn, Watermark, type WatermarkProps, type WatermarkSponsor, clearFetchCache, cn, colors, createApiClient, createManifest, fontFamily, fonts, formatNumber, formatPrice, mobileViewport, relativeTime, svgIcon, useDebounce, useEscapeKey, useFetch, useFocusTrap, useFormSubmit, useInView, useLocalStorage, usePWAInstall, usePolling, usePortalTarget, useScrollLock, useShare, useToast };
package/dist/index.d.ts CHANGED
@@ -79,6 +79,9 @@ interface FabProps {
79
79
  /**
80
80
  * Floating Action Button — positioned absolute bottom-right inside AppShell.
81
81
  *
82
+ * Portals into the nearest `.in-app-sheet-content-portal` (AppShellContent wrapper)
83
+ * so it stays pinned regardless of scroll content height.
84
+ *
82
85
  * @example
83
86
  * <AppShellContent>
84
87
  * {content}
@@ -588,6 +591,15 @@ declare function useEscapeKey(active: boolean, onEscape: () => void): void;
588
591
  */
589
592
  declare function useScrollLock(active: boolean, anchorRef?: RefObject<HTMLElement | null>): void;
590
593
 
594
+ /**
595
+ * Finds the nearest portal container by walking up from a hidden anchor span.
596
+ * Searches for `selectors` in order via `.closest()`, falls back to `document.body`.
597
+ *
598
+ * Returns `[anchorRef, target]` — attach `anchorRef` to a hidden `<span>` so
599
+ * the DOM walk has a starting point.
600
+ */
601
+ declare function usePortalTarget(selectors?: string | string[]): [React.RefObject<HTMLSpanElement | null>, HTMLElement | null];
602
+
591
603
  interface SkeletonProps {
592
604
  /** Tailwind classes for width / height (e.g. "h-4 w-3/4") */
593
605
  className?: string;
@@ -629,6 +641,8 @@ interface InAppSheetProps {
629
641
  onClose: () => void;
630
642
  children: React.ReactNode;
631
643
  className?: string;
644
+ /** 시트 상단 타이틀 — X 버튼과 나란히 정렬 */
645
+ title?: string;
632
646
  /** true면 시트가 AppShell 전체 높이를 채움 */
633
647
  fullHeight?: boolean;
634
648
  /** 우상단 X 버튼 숨기기. Default: false (보임) */
@@ -636,7 +650,7 @@ interface InAppSheetProps {
636
650
  /** 닫기 버튼 aria-label. Default: "닫기" */
637
651
  closeLabel?: string;
638
652
  }
639
- declare function InAppSheet({ open, onClose, children, className, fullHeight, hideClose, closeLabel, }: InAppSheetProps): react_jsx_runtime.JSX.Element;
653
+ declare function InAppSheet({ open, onClose, children, className, title, fullHeight, hideClose, closeLabel, }: InAppSheetProps): react_jsx_runtime.JSX.Element;
640
654
 
641
655
  type PWAInstallState = "android-ready" | "ios-safari" | "installed" | "unsupported";
642
656
  interface UsePWAInstallReturn {
@@ -851,4 +865,4 @@ declare function formatPrice(amount: number, currency?: string, locale?: string)
851
865
 
852
866
  declare function cn(...inputs: ClassValue[]): string;
853
867
 
854
- export { type ApiClient, type ApiClientOptions, ApiError, AppShell, AppShellContent, type AppShellContentProps, AppShellHeader, type AppShellHeaderProps, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, type ColorName, Dialog, type DialogProps, Divider, EmojiButton, type EmojiButtonProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, EmptyState, type EmptyStateProps, Fab, type FabProps, FontLinks, type FontName, GrassMap, type GrassMapData, type GrassMapLabels, type GrassMapProps, IOSInstallSheet, InAppSheet, type InAppSheetProps, KitStyles, PWAInstallButton, type PWAInstallState, Section, SectionHeader, type SectionHeaderProps, type SectionProps, ShareButton, type ShareButtonProps, Skeleton, type SkeletonProps, StatChip, type StatChipProps, THEME_SCRIPT, Tab, TabBar, type TabBarProps, type TabProps, ThemeButton, type ThemeButtonProps, ThemeDialog, type ThemeDialogLabels, type ThemeDialogProps, type ToastOptions, ToastProvider, type ToastVariant, Tooltip, type TooltipProps, Typewriter, type TypewriterProps, type UseFetchOptions, type UseFetchResult, type UseFormSubmitOptions, type UseFormSubmitResult, type UseInViewOptions, type UseInViewResult, type UsePWAInstallReturn, type UsePollingOptions, type UsePollingResult, type UseShareOptions, type UseShareReturn, Watermark, type WatermarkProps, type WatermarkSponsor, clearFetchCache, cn, colors, createApiClient, createManifest, fontFamily, fonts, formatNumber, formatPrice, mobileViewport, relativeTime, svgIcon, useDebounce, useEscapeKey, useFetch, useFocusTrap, useFormSubmit, useInView, useLocalStorage, usePWAInstall, usePolling, useScrollLock, useShare, useToast };
868
+ export { type ApiClient, type ApiClientOptions, ApiError, AppShell, AppShellContent, type AppShellContentProps, AppShellHeader, type AppShellHeaderProps, type AppShellProps, Avatar, type AvatarProps, Badge, type BadgeProps, Button, type ButtonProps, type ColorName, Dialog, type DialogProps, Divider, EmojiButton, type EmojiButtonProps, EmojiPicker, type EmojiPickerLabels, type EmojiPickerProps, EmptyState, type EmptyStateProps, Fab, type FabProps, FontLinks, type FontName, GrassMap, type GrassMapData, type GrassMapLabels, type GrassMapProps, IOSInstallSheet, InAppSheet, type InAppSheetProps, KitStyles, PWAInstallButton, type PWAInstallState, Section, SectionHeader, type SectionHeaderProps, type SectionProps, ShareButton, type ShareButtonProps, Skeleton, type SkeletonProps, StatChip, type StatChipProps, THEME_SCRIPT, Tab, TabBar, type TabBarProps, type TabProps, ThemeButton, type ThemeButtonProps, ThemeDialog, type ThemeDialogLabels, type ThemeDialogProps, type ToastOptions, ToastProvider, type ToastVariant, Tooltip, type TooltipProps, Typewriter, type TypewriterProps, type UseFetchOptions, type UseFetchResult, type UseFormSubmitOptions, type UseFormSubmitResult, type UseInViewOptions, type UseInViewResult, type UsePWAInstallReturn, type UsePollingOptions, type UsePollingResult, type UseShareOptions, type UseShareReturn, Watermark, type WatermarkProps, type WatermarkSponsor, clearFetchCache, cn, colors, createApiClient, createManifest, fontFamily, fonts, formatNumber, formatPrice, mobileViewport, relativeTime, svgIcon, useDebounce, useEscapeKey, useFetch, useFocusTrap, useFormSubmit, useInView, useLocalStorage, usePWAInstall, usePolling, usePortalTarget, useScrollLock, useShare, useToast };