@cakejp/design-system 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/CLAUDE.md +1 -0
  3. package/bin/init.js +191 -28
  4. package/contracts/components.json +38 -7
  5. package/contracts/composition.json +1 -1
  6. package/contracts/rules.json +1 -1
  7. package/contracts/screen-patterns.json +1 -1
  8. package/dist/components/ec/order-summary.js +16 -15
  9. package/dist/components/ec/product-card.js +1 -1
  10. package/dist/components/foundations/alert-dialog.js +7 -7
  11. package/dist/components/foundations/data-table.js +489 -16
  12. package/dist/components/foundations/dialog.js +13 -13
  13. package/dist/components/foundations/drawer.js +5 -5
  14. package/dist/components/foundations/sheet.js +7 -7
  15. package/dist/components/primitives/admin-header.js +1 -1
  16. package/dist/components/primitives/admin-side-nav.js +195 -86
  17. package/dist/components/primitives/bottom-tab-bar.js +20 -20
  18. package/dist/components/primitives/header.js +43 -37
  19. package/dist/components/primitives/sticky-action-bar.js +2 -1
  20. package/dist/index.css +1 -1
  21. package/dist/index.js +791 -470
  22. package/dist/types/components/primitives/admin-side-nav.d.ts +3 -0
  23. package/dist/types/index.d.ts +3 -2
  24. package/dist/types/lib/link-component.d.ts +9 -0
  25. package/package.json +2 -2
  26. package/src/components/COMPONENT_LOOKUP.md +1 -1
  27. package/src/preset-standalone.css +2 -0
  28. package/src/preset.css +13 -3
  29. package/src/styles/semantic.css +10 -0
  30. package/templates/AGENTS.md +4 -2
  31. package/templates/AGENTS.stub.md +25 -0
  32. package/templates/CLAUDE.md +4 -2
  33. package/templates/CLAUDE.stub.md +25 -0
  34. package/tokens.json +9 -0
package/dist/index.js CHANGED
@@ -1,150 +1,150 @@
1
1
  /* empty css */
2
2
  import { cn as t } from "./lib/utils.js";
3
3
  import { FOCUS_RING as n, FOCUS_RING_INSET as i, FOCUS_RING_WITHIN as p } from "./lib/focus-ring.js";
4
- import { toast as l } from "sonner";
4
+ import { toast as m } from "sonner";
5
5
  import { Accordion as u, AccordionContent as f, AccordionItem as d, AccordionTrigger as g } from "./components/foundations/accordion.js";
6
- import { Alert as s, AlertDescription as c, AlertTitle as S } from "./components/foundations/alert.js";
7
- import { AlertDialog as D, AlertDialogAction as M, AlertDialogCancel as T, AlertDialogContent as I, AlertDialogDescription as v, AlertDialogFooter as h, AlertDialogHeader as F, AlertDialogOverlay as P, AlertDialogPortal as w, AlertDialogTitle as A, AlertDialogTrigger as B } from "./components/foundations/alert-dialog.js";
8
- import { AspectRatio as k } from "./components/foundations/aspect-ratio.js";
6
+ import { Alert as c, AlertDescription as s, AlertTitle as b } from "./components/foundations/alert.js";
7
+ import { AlertDialog as D, AlertDialogAction as T, AlertDialogCancel as M, AlertDialogContent as I, AlertDialogDescription as v, AlertDialogFooter as h, AlertDialogHeader as F, AlertDialogOverlay as P, AlertDialogPortal as w, AlertDialogTitle as A, AlertDialogTrigger as k } from "./components/foundations/alert-dialog.js";
8
+ import { AspectRatio as R } from "./components/foundations/aspect-ratio.js";
9
9
  import { Avatar as L, AvatarFallback as N, AvatarImage as G } from "./components/foundations/avatar.js";
10
- import { Badge as H, badgeVariants as O } from "./components/foundations/badge.js";
10
+ import { Badge as V, badgeVariants as O } from "./components/foundations/badge.js";
11
11
  import { Breadcrumb as U, BreadcrumbEllipsis as _, BreadcrumbItem as W, BreadcrumbLink as Q, BreadcrumbList as z, BreadcrumbPage as K, BreadcrumbSeparator as j } from "./components/foundations/breadcrumb.js";
12
12
  import { Button as J, buttonVariants as X } from "./components/foundations/button.js";
13
13
  import { Calendar as Z } from "./components/foundations/calendar.js";
14
- import { Card as oo, CardAction as ro, CardContent as eo, CardDescription as to, CardFooter as ao, CardHeader as no, CardTitle as io, cardVariants as po } from "./components/foundations/card.js";
15
- import { Checkbox as lo } from "./components/foundations/checkbox.js";
16
- import { CheckboxCardGroup as uo, CheckboxCardItem as fo } from "./components/foundations/checkbox-card.js";
17
- import { CheckboxGroup as Co, CheckboxGroupItem as so } from "./components/foundations/checkbox-group.js";
18
- import { Collapsible as So, CollapsibleContent as bo, CollapsibleTrigger as Do } from "./components/foundations/collapsible.js";
19
- import { Command as To, CommandDialog as Io, CommandEmpty as vo, CommandGroup as ho, CommandInput as Fo, CommandItem as Po, CommandList as wo, CommandSeparator as Ao, CommandShortcut as Bo } from "./components/foundations/command.js";
20
- import { ContextMenu as ko, ContextMenuCheckboxItem as yo, ContextMenuContent as Lo, ContextMenuGroup as No, ContextMenuItem as Go, ContextMenuLabel as Vo, ContextMenuPortal as Ho, ContextMenuRadioGroup as Oo, ContextMenuRadioItem as Eo, ContextMenuSeparator as Uo, ContextMenuShortcut as _o, ContextMenuSub as Wo, ContextMenuSubContent as Qo, ContextMenuSubTrigger as zo, ContextMenuTrigger as Ko } from "./components/foundations/context-menu.js";
21
- import { DataTable as qo } from "./components/foundations/data-table.js";
22
- import { Dialog as Xo, DialogClose as Yo, DialogContent as Zo, DialogDescription as $o, DialogFooter as or, DialogHeader as rr, DialogOverlay as er, DialogPortal as tr, DialogTitle as ar, DialogTrigger as nr } from "./components/foundations/dialog.js";
23
- import { Drawer as pr, DrawerClose as mr, DrawerContent as lr, DrawerDescription as xr, DrawerFooter as ur, DrawerHeader as fr, DrawerOverlay as dr, DrawerPortal as gr, DrawerTitle as Cr, DrawerTrigger as sr } from "./components/foundations/drawer.js";
24
- import { DropdownMenu as Sr, DropdownMenuCheckboxItem as br, DropdownMenuContent as Dr, DropdownMenuGroup as Mr, DropdownMenuItem as Tr, DropdownMenuLabel as Ir, DropdownMenuPortal as vr, DropdownMenuRadioGroup as hr, DropdownMenuRadioItem as Fr, DropdownMenuSeparator as Pr, DropdownMenuShortcut as wr, DropdownMenuSub as Ar, DropdownMenuSubContent as Br, DropdownMenuSubTrigger as Rr, DropdownMenuTrigger as kr } from "./components/foundations/dropdown-menu.js";
25
- import { Field as Lr, FieldDescription as Nr, FieldError as Gr, FieldGroup as Vr, FieldLabel as Hr, FieldLegend as Or, FieldSeparator as Er, FieldSet as Ur, fieldVariants as _r } from "./components/foundations/field.js";
26
- import { FileInput as Qr, formatFileNames as zr, validateFileSize as Kr } from "./components/foundations/file-input.js";
27
- import { Form as qr, FormControl as Jr, FormDescription as Xr, FormField as Yr, FormItem as Zr, FormLabel as $r, FormMessage as oe, useFormField as re } from "./components/foundations/form.js";
28
- import { HoverCard as te, HoverCardContent as ae, HoverCardTrigger as ne } from "./components/foundations/hover-card.js";
29
- import { IconBadge as pe, iconBadgeVariants as me } from "./components/foundations/icon-badge.js";
30
- import { Input as xe } from "./components/foundations/input.js";
31
- import { Label as fe } from "./components/foundations/label.js";
32
- import { Menubar as ge, MenubarCheckboxItem as Ce, MenubarContent as se, MenubarGroup as ce, MenubarItem as Se, MenubarLabel as be, MenubarMenu as De, MenubarPortal as Me, MenubarRadioGroup as Te, MenubarRadioItem as Ie, MenubarSeparator as ve, MenubarShortcut as he, MenubarSub as Fe, MenubarSubContent as Pe, MenubarSubTrigger as we, MenubarTrigger as Ae } from "./components/foundations/menubar.js";
33
- import { NavigationMenu as Re, NavigationMenuContent as ke, NavigationMenuIndicator as ye, NavigationMenuItem as Le, NavigationMenuLink as Ne, NavigationMenuList as Ge, NavigationMenuTrigger as Ve, NavigationMenuViewport as He, navigationMenuTriggerStyle as Oe } from "./components/foundations/navigation-menu.js";
34
- import { Pagination as Ue, PaginationContent as _e, PaginationEllipsis as We, PaginationItem as Qe, PaginationLink as ze, PaginationNext as Ke, PaginationPrevious as je } from "./components/foundations/pagination.js";
35
- import { getPaginationRange as Je } from "./lib/pagination-range.js";
36
- import { Popover as Ye, PopoverAnchor as Ze, PopoverContent as $e, PopoverTrigger as ot } from "./components/foundations/popover.js";
37
- import { Progress as et } from "./components/foundations/progress.js";
38
- import { ResponsiveDialog as at, ResponsiveDialogClose as nt, ResponsiveDialogContent as it, ResponsiveDialogDescription as pt, ResponsiveDialogFooter as mt, ResponsiveDialogHeader as lt, ResponsiveDialogTitle as xt, ResponsiveDialogTrigger as ut, useIsMobile as ft } from "./components/foundations/responsive-dialog.js";
39
- import { RadioGroup as gt, RadioGroupItem as Ct } from "./components/foundations/radio-group.js";
40
- import { ScrollArea as ct, ScrollBar as St } from "./components/foundations/scroll-area.js";
41
- import { Select as Dt, SelectContent as Mt, SelectGroup as Tt, SelectItem as It, SelectLabel as vt, SelectScrollDownButton as ht, SelectScrollUpButton as Ft, SelectSeparator as Pt, SelectTrigger as wt, SelectValue as At } from "./components/foundations/select.js";
42
- import { Separator as Rt } from "./components/foundations/separator.js";
43
- import { Sheet as yt, SheetClose as Lt, SheetContent as Nt, SheetDescription as Gt, SheetFooter as Vt, SheetHeader as Ht, SheetTitle as Ot, SheetTrigger as Et } from "./components/foundations/sheet.js";
44
- import { Skeleton as _t } from "./components/foundations/skeleton.js";
45
- import { SkipLink as Qt } from "./components/foundations/skip-link.js";
46
- import { Slider as Kt } from "./components/foundations/slider.js";
47
- import { Spinner as qt } from "./components/foundations/spinner.js";
48
- import { SocialIcon as Xt } from "./components/foundations/social-icon.js";
49
- import { Switch as Zt } from "./components/foundations/switch.js";
50
- import { Table as oa, TableBody as ra, TableCaption as ea, TableCell as ta, TableFooter as aa, TableHead as na, TableHeader as ia, TableRow as pa } from "./components/foundations/table.js";
51
- import { Tabs as la, TabsContent as xa, TabsList as ua, TabsTrigger as fa } from "./components/foundations/tabs.js";
52
- import { Textarea as ga } from "./components/foundations/textarea.js";
53
- import { Toaster as sa } from "./components/foundations/sonner.js";
54
- import { Toggle as Sa, toggleVariants as ba } from "./components/foundations/toggle.js";
55
- import { ToggleGroup as Ma, ToggleGroupItem as Ta } from "./components/foundations/toggle-group.js";
56
- import { Tooltip as va, TooltipContent as ha, TooltipProvider as Fa, TooltipTrigger as Pa } from "./components/foundations/tooltip.js";
57
- import { AdminSideNav as Aa } from "./components/primitives/admin-side-nav.js";
58
- import { AdminHeader as Ra } from "./components/primitives/admin-header.js";
59
- import { CoachMark as ya } from "./components/primitives/coach-mark.js";
60
- import { Combobox as Na } from "./components/primitives/combobox.js";
61
- import { BannerCarousel as Va } from "./components/primitives/banner-carousel.js";
62
- import { ContentCarousel as Oa } from "./components/primitives/content-carousel.js";
63
- import { MultiSelect as Ua } from "./components/primitives/multi-select.js";
64
- import { StickyActionBar as Wa } from "./components/primitives/sticky-action-bar.js";
65
- import { BottomTabBar as za } from "./components/primitives/bottom-tab-bar.js";
66
- import { BulkActionBar as ja } from "./components/primitives/bulk-action-bar.js";
67
- import { CategoryShortcuts as Ja } from "./components/primitives/category-shortcuts.js";
68
- import { CategoryScroll as Ya } from "./components/primitives/category-scroll.js";
69
- import { ChatComposer as $a } from "./components/primitives/chat-composer.js";
70
- import { Chip as rn } from "./components/primitives/chip.js";
71
- import { Prose as tn } from "./components/primitives/prose.js";
72
- import { ContentCard as nn, ContentList as pn } from "./components/primitives/content-card.js";
73
- import { StandardPageShell as ln, StandardPageShell as xn } from "./components/primitives/standard-page-shell.js";
74
- import { EmptyState as fn } from "./components/primitives/empty-state.js";
75
- import { DatePicker as gn, DateTimePicker as Cn } from "./components/primitives/date-picker.js";
76
- import { ErrorState as cn, NotFoundIllustration as Sn } from "./components/primitives/error-state.js";
77
- import { FilterBar as Dn } from "./components/primitives/filter-bar.js";
78
- import { Footer as Tn } from "./components/primitives/footer.js";
79
- import { FormField as vn } from "./components/primitives/form-field.js";
80
- import { FunnelShell as Fn } from "./components/primitives/funnel-shell.js";
81
- import { Header as wn } from "./components/primitives/header.js";
82
- import { ImageCarousel as Bn } from "./components/primitives/image-carousel.js";
83
- import { ImageGallery as kn } from "./components/primitives/image-gallery.js";
84
- import { ImageInput as Ln, imageInputPreviewVariants as Nn } from "./components/primitives/image-input.js";
85
- import { ImageUploader as Vn } from "./components/primitives/image-uploader.js";
86
- import { KebabMenu as On } from "./components/primitives/kebab-menu.js";
87
- import { ListItem as Un } from "./components/primitives/list-item.js";
88
- import { MenuDrawer as Wn } from "./components/primitives/menu-drawer.js";
89
- import { SubNav as zn } from "./components/primitives/sub-nav.js";
90
- import { NotificationBadge as jn, notificationBadgeVariants as qn } from "./components/primitives/notification-badge.js";
91
- import { NotificationList as Xn } from "./components/primitives/notification-list.js";
92
- import { PriceDisplay as Zn, priceDisplayVariants as $n } from "./components/primitives/price-display.js";
93
- import { ProgressSteps as ri } from "./components/primitives/progress-steps.js";
94
- import { Timeline as ti } from "./components/primitives/timeline.js";
95
- import { NumberInput as ni, QuantitySelector as ii } from "./components/primitives/number-input.js";
96
- import { SearchBar as mi } from "./components/primitives/search-bar.js";
97
- import { SearchPanel as xi } from "./components/primitives/search-panel.js";
98
- import { Container as fi, containerVariants as di } from "./components/primitives/container.js";
99
- import { Section as Ci, sectionScrimVariants as si, sectionVariants as ci } from "./components/primitives/section.js";
100
- import { SectionHeader as bi } from "./components/primitives/section-header.js";
101
- import { SectionNav as Mi } from "./components/primitives/section-nav.js";
102
- import { ShareButtons as Ii } from "./components/primitives/share-buttons.js";
103
- import { SideNav as hi } from "./components/primitives/side-nav.js";
104
- import { SocialLoginButton as Pi } from "./components/primitives/social-login-button.js";
105
- import { StatusCountTabs as Ai } from "./components/primitives/status-count-tabs.js";
106
- import { Tag as Ri, tagVariants as ki } from "./components/primitives/tag.js";
107
- import { WorkspaceShell as Li, WorkspaceShell as Ni } from "./components/primitives/workspace-shell.js";
108
- import { AdminShell as Vi, AdminShell as Hi, MissingComponent as Oi } from "./components/ec/admin-shell.js";
109
- import { AnniversaryCard as Ui } from "./components/ec/anniversary-card.js";
110
- import { CakeLogo as Wi } from "./components/ec/cake-logo.js";
111
- import { ChartControls as zi } from "./components/ec/chart-controls.js";
112
- import { CountdownTimer as ji } from "./components/ec/countdown-timer.js";
113
- import { CouponCard as Ji } from "./components/ec/coupon-card.js";
114
- import { DeliveryCalendar as Yi } from "./components/ec/delivery-calendar.js";
115
- import { mypageMenuGroups as $i } from "./components/ec/_mypage-menu-data.js";
116
- import { OrderSection as rp } from "./components/ec/order-section.js";
117
- import { OrderSummary as tp } from "./components/ec/order-summary.js";
118
- import { CreditCardIcon as np, PaymentMethodDisplay as ip } from "./components/ec/payment-method.js";
119
- import { ProductCard as mp } from "./components/ec/product-card.js";
120
- import { ProductCarousel as xp } from "./components/ec/product-carousel.js";
121
- import { ProductCTA as fp } from "./components/ec/product-cta.js";
122
- import { ProductDetailBar as gp } from "./components/ec/product-detail-bar.js";
123
- import { ProductDetailSidebar as sp } from "./components/ec/product-detail-sidebar.js";
124
- import { ProductListItem as Sp } from "./components/ec/product-list-item.js";
125
- import { OptionImageUpload as Dp, OptionQuantity as Mp, OptionSelect as Tp, OptionText as Ip, ProductOption as vp } from "./components/ec/product-option.js";
126
- import { RatingStars as Fp, SparkleIcon as Pp } from "./components/ec/rating-stars.js";
127
- import { ReviewCard as Ap } from "./components/ec/review-card.js";
128
- import { ReviewForm as Rp } from "./components/ec/review-form.js";
129
- import { ReviewItem as yp, ReviewSummary as Lp } from "./components/ec/review-summary.js";
130
- import { MypageShell as Gp } from "./components/ec/mypage-shell.js";
131
- import { ShopCard as Hp } from "./components/ec/shop-card.js";
132
- import { StatCard as Ep } from "./components/ec/stat-card.js";
133
- import { chipVariants as _p } from "./components/foundations/chip-variants.js";
14
+ import { Card as ee, CardAction as oe, CardContent as re, CardDescription as te, CardFooter as ae, CardHeader as ne, CardTitle as ie, cardVariants as pe } from "./components/foundations/card.js";
15
+ import { Checkbox as me } from "./components/foundations/checkbox.js";
16
+ import { CheckboxCardGroup as ue, CheckboxCardItem as fe } from "./components/foundations/checkbox-card.js";
17
+ import { CheckboxGroup as ge, CheckboxGroupItem as Ce } from "./components/foundations/checkbox-group.js";
18
+ import { Collapsible as se, CollapsibleContent as be, CollapsibleTrigger as Se } from "./components/foundations/collapsible.js";
19
+ import { Command as Te, CommandDialog as Me, CommandEmpty as Ie, CommandGroup as ve, CommandInput as he, CommandItem as Fe, CommandList as Pe, CommandSeparator as we, CommandShortcut as Ae } from "./components/foundations/command.js";
20
+ import { ContextMenu as Be, ContextMenuCheckboxItem as Re, ContextMenuContent as ye, ContextMenuGroup as Le, ContextMenuItem as Ne, ContextMenuLabel as Ge, ContextMenuPortal as He, ContextMenuRadioGroup as Ve, ContextMenuRadioItem as Oe, ContextMenuSeparator as Ee, ContextMenuShortcut as Ue, ContextMenuSub as _e, ContextMenuSubContent as We, ContextMenuSubTrigger as Qe, ContextMenuTrigger as ze } from "./components/foundations/context-menu.js";
21
+ import { DataTable as je, DataTableActionCell as qe, DataTableAddRow as Je, DataTableAvatarCell as Xe, DataTableBody as Ye, DataTableBulkActions as Ze, DataTableCell as $e, DataTableCheckboxCell as eo, DataTableDragHandleCell as oo, DataTableEmptyState as ro, DataTableHead as to, DataTableHeader as ao, DataTableImageCell as no, DataTableInputCell as io, DataTableLinkCell as po, DataTableNumberCell as lo, DataTableRow as mo, DataTableSectionRow as xo, DataTableSelectCell as uo, DataTableTable as fo } from "./components/foundations/data-table.js";
22
+ import { Dialog as Co, DialogClose as co, DialogContent as so, DialogDescription as bo, DialogFooter as So, DialogHeader as Do, DialogOverlay as To, DialogPortal as Mo, DialogTitle as Io, DialogTrigger as vo } from "./components/foundations/dialog.js";
23
+ import { Drawer as Fo, DrawerClose as Po, DrawerContent as wo, DrawerDescription as Ao, DrawerFooter as ko, DrawerHeader as Bo, DrawerOverlay as Ro, DrawerPortal as yo, DrawerTitle as Lo, DrawerTrigger as No } from "./components/foundations/drawer.js";
24
+ import { DropdownMenu as Ho, DropdownMenuCheckboxItem as Vo, DropdownMenuContent as Oo, DropdownMenuGroup as Eo, DropdownMenuItem as Uo, DropdownMenuLabel as _o, DropdownMenuPortal as Wo, DropdownMenuRadioGroup as Qo, DropdownMenuRadioItem as zo, DropdownMenuSeparator as Ko, DropdownMenuShortcut as jo, DropdownMenuSub as qo, DropdownMenuSubContent as Jo, DropdownMenuSubTrigger as Xo, DropdownMenuTrigger as Yo } from "./components/foundations/dropdown-menu.js";
25
+ import { Field as $o, FieldDescription as er, FieldError as or, FieldGroup as rr, FieldLabel as tr, FieldLegend as ar, FieldSeparator as nr, FieldSet as ir, fieldVariants as pr } from "./components/foundations/field.js";
26
+ import { FileInput as mr, formatFileNames as xr, validateFileSize as ur } from "./components/foundations/file-input.js";
27
+ import { Form as dr, FormControl as gr, FormDescription as Cr, FormField as cr, FormItem as sr, FormLabel as br, FormMessage as Sr, useFormField as Dr } from "./components/foundations/form.js";
28
+ import { HoverCard as Mr, HoverCardContent as Ir, HoverCardTrigger as vr } from "./components/foundations/hover-card.js";
29
+ import { IconBadge as Fr, iconBadgeVariants as Pr } from "./components/foundations/icon-badge.js";
30
+ import { Input as Ar } from "./components/foundations/input.js";
31
+ import { Label as Br } from "./components/foundations/label.js";
32
+ import { Menubar as yr, MenubarCheckboxItem as Lr, MenubarContent as Nr, MenubarGroup as Gr, MenubarItem as Hr, MenubarLabel as Vr, MenubarMenu as Or, MenubarPortal as Er, MenubarRadioGroup as Ur, MenubarRadioItem as _r, MenubarSeparator as Wr, MenubarShortcut as Qr, MenubarSub as zr, MenubarSubContent as Kr, MenubarSubTrigger as jr, MenubarTrigger as qr } from "./components/foundations/menubar.js";
33
+ import { NavigationMenu as Xr, NavigationMenuContent as Yr, NavigationMenuIndicator as Zr, NavigationMenuItem as $r, NavigationMenuLink as et, NavigationMenuList as ot, NavigationMenuTrigger as rt, NavigationMenuViewport as tt, navigationMenuTriggerStyle as at } from "./components/foundations/navigation-menu.js";
34
+ import { Pagination as it, PaginationContent as pt, PaginationEllipsis as lt, PaginationItem as mt, PaginationLink as xt, PaginationNext as ut, PaginationPrevious as ft } from "./components/foundations/pagination.js";
35
+ import { getPaginationRange as gt } from "./lib/pagination-range.js";
36
+ import { Popover as ct, PopoverAnchor as st, PopoverContent as bt, PopoverTrigger as St } from "./components/foundations/popover.js";
37
+ import { Progress as Tt } from "./components/foundations/progress.js";
38
+ import { ResponsiveDialog as It, ResponsiveDialogClose as vt, ResponsiveDialogContent as ht, ResponsiveDialogDescription as Ft, ResponsiveDialogFooter as Pt, ResponsiveDialogHeader as wt, ResponsiveDialogTitle as At, ResponsiveDialogTrigger as kt, useIsMobile as Bt } from "./components/foundations/responsive-dialog.js";
39
+ import { RadioGroup as yt, RadioGroupItem as Lt } from "./components/foundations/radio-group.js";
40
+ import { ScrollArea as Gt, ScrollBar as Ht } from "./components/foundations/scroll-area.js";
41
+ import { Select as Ot, SelectContent as Et, SelectGroup as Ut, SelectItem as _t, SelectLabel as Wt, SelectScrollDownButton as Qt, SelectScrollUpButton as zt, SelectSeparator as Kt, SelectTrigger as jt, SelectValue as qt } from "./components/foundations/select.js";
42
+ import { Separator as Xt } from "./components/foundations/separator.js";
43
+ import { Sheet as Zt, SheetClose as $t, SheetContent as ea, SheetDescription as oa, SheetFooter as ra, SheetHeader as ta, SheetTitle as aa, SheetTrigger as na } from "./components/foundations/sheet.js";
44
+ import { Skeleton as pa } from "./components/foundations/skeleton.js";
45
+ import { SkipLink as ma } from "./components/foundations/skip-link.js";
46
+ import { Slider as ua } from "./components/foundations/slider.js";
47
+ import { Spinner as da } from "./components/foundations/spinner.js";
48
+ import { SocialIcon as Ca } from "./components/foundations/social-icon.js";
49
+ import { Switch as sa } from "./components/foundations/switch.js";
50
+ import { Table as Sa, TableBody as Da, TableCaption as Ta, TableCell as Ma, TableFooter as Ia, TableHead as va, TableHeader as ha, TableRow as Fa } from "./components/foundations/table.js";
51
+ import { Tabs as wa, TabsContent as Aa, TabsList as ka, TabsTrigger as Ba } from "./components/foundations/tabs.js";
52
+ import { Textarea as ya } from "./components/foundations/textarea.js";
53
+ import { Toaster as Na } from "./components/foundations/sonner.js";
54
+ import { Toggle as Ha, toggleVariants as Va } from "./components/foundations/toggle.js";
55
+ import { ToggleGroup as Ea, ToggleGroupItem as Ua } from "./components/foundations/toggle-group.js";
56
+ import { Tooltip as Wa, TooltipContent as Qa, TooltipProvider as za, TooltipTrigger as Ka } from "./components/foundations/tooltip.js";
57
+ import { AdminSideNav as qa } from "./components/primitives/admin-side-nav.js";
58
+ import { AdminHeader as Xa } from "./components/primitives/admin-header.js";
59
+ import { CoachMark as Za } from "./components/primitives/coach-mark.js";
60
+ import { Combobox as en } from "./components/primitives/combobox.js";
61
+ import { BannerCarousel as rn } from "./components/primitives/banner-carousel.js";
62
+ import { ContentCarousel as an } from "./components/primitives/content-carousel.js";
63
+ import { MultiSelect as pn } from "./components/primitives/multi-select.js";
64
+ import { StickyActionBar as mn } from "./components/primitives/sticky-action-bar.js";
65
+ import { BottomTabBar as un } from "./components/primitives/bottom-tab-bar.js";
66
+ import { BulkActionBar as dn } from "./components/primitives/bulk-action-bar.js";
67
+ import { CategoryShortcuts as Cn } from "./components/primitives/category-shortcuts.js";
68
+ import { CategoryScroll as sn } from "./components/primitives/category-scroll.js";
69
+ import { ChatComposer as Sn } from "./components/primitives/chat-composer.js";
70
+ import { Chip as Tn } from "./components/primitives/chip.js";
71
+ import { Prose as In } from "./components/primitives/prose.js";
72
+ import { ContentCard as hn, ContentList as Fn } from "./components/primitives/content-card.js";
73
+ import { StandardPageShell as wn, StandardPageShell as An } from "./components/primitives/standard-page-shell.js";
74
+ import { EmptyState as Bn } from "./components/primitives/empty-state.js";
75
+ import { DatePicker as yn, DateTimePicker as Ln } from "./components/primitives/date-picker.js";
76
+ import { ErrorState as Gn, NotFoundIllustration as Hn } from "./components/primitives/error-state.js";
77
+ import { FilterBar as On } from "./components/primitives/filter-bar.js";
78
+ import { Footer as Un } from "./components/primitives/footer.js";
79
+ import { FormField as Wn } from "./components/primitives/form-field.js";
80
+ import { FunnelShell as zn } from "./components/primitives/funnel-shell.js";
81
+ import { Header as jn } from "./components/primitives/header.js";
82
+ import { ImageCarousel as Jn } from "./components/primitives/image-carousel.js";
83
+ import { ImageGallery as Yn } from "./components/primitives/image-gallery.js";
84
+ import { ImageInput as $n, imageInputPreviewVariants as ei } from "./components/primitives/image-input.js";
85
+ import { ImageUploader as ri } from "./components/primitives/image-uploader.js";
86
+ import { KebabMenu as ai } from "./components/primitives/kebab-menu.js";
87
+ import { ListItem as ii } from "./components/primitives/list-item.js";
88
+ import { MenuDrawer as li } from "./components/primitives/menu-drawer.js";
89
+ import { SubNav as xi } from "./components/primitives/sub-nav.js";
90
+ import { NotificationBadge as fi, notificationBadgeVariants as di } from "./components/primitives/notification-badge.js";
91
+ import { NotificationList as Ci } from "./components/primitives/notification-list.js";
92
+ import { PriceDisplay as si, priceDisplayVariants as bi } from "./components/primitives/price-display.js";
93
+ import { ProgressSteps as Di } from "./components/primitives/progress-steps.js";
94
+ import { Timeline as Mi } from "./components/primitives/timeline.js";
95
+ import { NumberInput as vi, QuantitySelector as hi } from "./components/primitives/number-input.js";
96
+ import { SearchBar as Pi } from "./components/primitives/search-bar.js";
97
+ import { SearchPanel as Ai } from "./components/primitives/search-panel.js";
98
+ import { Container as Bi, containerVariants as Ri } from "./components/primitives/container.js";
99
+ import { Section as Li, sectionScrimVariants as Ni, sectionVariants as Gi } from "./components/primitives/section.js";
100
+ import { SectionHeader as Vi } from "./components/primitives/section-header.js";
101
+ import { SectionNav as Ei } from "./components/primitives/section-nav.js";
102
+ import { ShareButtons as _i } from "./components/primitives/share-buttons.js";
103
+ import { SideNav as Qi } from "./components/primitives/side-nav.js";
104
+ import { SocialLoginButton as Ki } from "./components/primitives/social-login-button.js";
105
+ import { StatusCountTabs as qi } from "./components/primitives/status-count-tabs.js";
106
+ import { Tag as Xi, tagVariants as Yi } from "./components/primitives/tag.js";
107
+ import { WorkspaceShell as $i, WorkspaceShell as ep } from "./components/primitives/workspace-shell.js";
108
+ import { AdminShell as rp, AdminShell as tp, MissingComponent as ap } from "./components/ec/admin-shell.js";
109
+ import { AnniversaryCard as ip } from "./components/ec/anniversary-card.js";
110
+ import { CakeLogo as lp } from "./components/ec/cake-logo.js";
111
+ import { ChartControls as xp } from "./components/ec/chart-controls.js";
112
+ import { CountdownTimer as fp } from "./components/ec/countdown-timer.js";
113
+ import { CouponCard as gp } from "./components/ec/coupon-card.js";
114
+ import { DeliveryCalendar as cp } from "./components/ec/delivery-calendar.js";
115
+ import { mypageMenuGroups as bp } from "./components/ec/_mypage-menu-data.js";
116
+ import { OrderSection as Dp } from "./components/ec/order-section.js";
117
+ import { OrderSummary as Mp } from "./components/ec/order-summary.js";
118
+ import { CreditCardIcon as vp, PaymentMethodDisplay as hp } from "./components/ec/payment-method.js";
119
+ import { BookmarkRibbonIcon as Pp, ProductCard as wp } from "./components/ec/product-card.js";
120
+ import { ProductCarousel as kp } from "./components/ec/product-carousel.js";
121
+ import { ProductCTA as Rp } from "./components/ec/product-cta.js";
122
+ import { ProductDetailBar as Lp } from "./components/ec/product-detail-bar.js";
123
+ import { ProductDetailSidebar as Gp } from "./components/ec/product-detail-sidebar.js";
124
+ import { ProductListItem as Vp } from "./components/ec/product-list-item.js";
125
+ import { OptionImageUpload as Ep, OptionQuantity as Up, OptionSelect as _p, OptionText as Wp, ProductOption as Qp } from "./components/ec/product-option.js";
126
+ import { RatingStars as Kp, SparkleIcon as jp } from "./components/ec/rating-stars.js";
127
+ import { ReviewCard as Jp } from "./components/ec/review-card.js";
128
+ import { ReviewForm as Yp } from "./components/ec/review-form.js";
129
+ import { ReviewItem as $p, ReviewSummary as el } from "./components/ec/review-summary.js";
130
+ import { MypageShell as rl } from "./components/ec/mypage-shell.js";
131
+ import { ShopCard as al } from "./components/ec/shop-card.js";
132
+ import { StatCard as il } from "./components/ec/stat-card.js";
133
+ import { chipVariants as ll } from "./components/foundations/chip-variants.js";
134
134
  export {
135
135
  u as Accordion,
136
136
  f as AccordionContent,
137
137
  d as AccordionItem,
138
138
  g as AccordionTrigger,
139
- Ra as AdminHeader,
140
- Vi as AdminLayout,
141
- Hi as AdminShell,
142
- Aa as AdminSideNav,
143
- s as Alert,
144
- c as AlertDescription,
139
+ Xa as AdminHeader,
140
+ rp as AdminLayout,
141
+ tp as AdminShell,
142
+ qa as AdminSideNav,
143
+ c as Alert,
144
+ s as AlertDescription,
145
145
  D as AlertDialog,
146
- M as AlertDialogAction,
147
- T as AlertDialogCancel,
146
+ T as AlertDialogAction,
147
+ M as AlertDialogCancel,
148
148
  I as AlertDialogContent,
149
149
  v as AlertDialogDescription,
150
150
  h as AlertDialogFooter,
@@ -152,16 +152,17 @@ export {
152
152
  P as AlertDialogOverlay,
153
153
  w as AlertDialogPortal,
154
154
  A as AlertDialogTitle,
155
- B as AlertDialogTrigger,
156
- S as AlertTitle,
157
- Ui as AnniversaryCard,
158
- k as AspectRatio,
155
+ k as AlertDialogTrigger,
156
+ b as AlertTitle,
157
+ ip as AnniversaryCard,
158
+ R as AspectRatio,
159
159
  L as Avatar,
160
160
  N as AvatarFallback,
161
161
  G as AvatarImage,
162
- H as Badge,
163
- Va as BannerCarousel,
164
- za as BottomTabBar,
162
+ V as Badge,
163
+ rn as BannerCarousel,
164
+ Pp as BookmarkRibbonIcon,
165
+ un as BottomTabBar,
165
166
  U as Breadcrumb,
166
167
  _ as BreadcrumbEllipsis,
167
168
  W as BreadcrumbItem,
@@ -169,308 +170,327 @@ export {
169
170
  z as BreadcrumbList,
170
171
  K as BreadcrumbPage,
171
172
  j as BreadcrumbSeparator,
172
- ja as BulkActionBar,
173
+ dn as BulkActionBar,
173
174
  J as Button,
174
- vn as CakeFormField,
175
- Wi as CakeLogo,
175
+ Wn as CakeFormField,
176
+ lp as CakeLogo,
176
177
  Z as Calendar,
177
- oo as Card,
178
- ro as CardAction,
179
- eo as CardContent,
180
- to as CardDescription,
181
- ao as CardFooter,
182
- no as CardHeader,
183
- io as CardTitle,
184
- Ya as CategoryScroll,
185
- Ja as CategoryShortcuts,
186
- zi as ChartControls,
187
- $a as ChatComposer,
188
- lo as Checkbox,
189
- uo as CheckboxCardGroup,
190
- fo as CheckboxCardItem,
191
- Co as CheckboxGroup,
192
- so as CheckboxGroupItem,
193
- rn as Chip,
194
- ya as CoachMark,
195
- So as Collapsible,
196
- bo as CollapsibleContent,
197
- Do as CollapsibleTrigger,
198
- Na as Combobox,
199
- To as Command,
200
- Io as CommandDialog,
201
- vo as CommandEmpty,
202
- ho as CommandGroup,
203
- Fo as CommandInput,
204
- Po as CommandItem,
205
- wo as CommandList,
206
- Ao as CommandSeparator,
207
- Bo as CommandShortcut,
208
- fi as Container,
209
- nn as ContentCard,
210
- Oa as ContentCarousel,
211
- pn as ContentList,
212
- ko as ContextMenu,
213
- yo as ContextMenuCheckboxItem,
214
- Lo as ContextMenuContent,
215
- No as ContextMenuGroup,
216
- Go as ContextMenuItem,
217
- Vo as ContextMenuLabel,
218
- Ho as ContextMenuPortal,
219
- Oo as ContextMenuRadioGroup,
220
- Eo as ContextMenuRadioItem,
221
- Uo as ContextMenuSeparator,
222
- _o as ContextMenuShortcut,
223
- Wo as ContextMenuSub,
224
- Qo as ContextMenuSubContent,
225
- zo as ContextMenuSubTrigger,
226
- Ko as ContextMenuTrigger,
227
- ji as CountdownTimer,
228
- Ji as CouponCard,
229
- np as CreditCardIcon,
230
- qo as DataTable,
231
- gn as DatePicker,
232
- Cn as DateTimePicker,
233
- Yi as DeliveryCalendar,
234
- Xo as Dialog,
235
- Yo as DialogClose,
236
- Zo as DialogContent,
237
- $o as DialogDescription,
238
- or as DialogFooter,
239
- rr as DialogHeader,
240
- er as DialogOverlay,
241
- tr as DialogPortal,
242
- ar as DialogTitle,
243
- nr as DialogTrigger,
244
- pr as Drawer,
245
- mr as DrawerClose,
246
- lr as DrawerContent,
247
- xr as DrawerDescription,
248
- ur as DrawerFooter,
249
- fr as DrawerHeader,
250
- dr as DrawerOverlay,
251
- gr as DrawerPortal,
252
- Cr as DrawerTitle,
253
- sr as DrawerTrigger,
254
- Sr as DropdownMenu,
255
- br as DropdownMenuCheckboxItem,
256
- Dr as DropdownMenuContent,
257
- Mr as DropdownMenuGroup,
258
- Tr as DropdownMenuItem,
259
- Ir as DropdownMenuLabel,
260
- vr as DropdownMenuPortal,
261
- hr as DropdownMenuRadioGroup,
262
- Fr as DropdownMenuRadioItem,
263
- Pr as DropdownMenuSeparator,
264
- wr as DropdownMenuShortcut,
265
- Ar as DropdownMenuSub,
266
- Br as DropdownMenuSubContent,
267
- Rr as DropdownMenuSubTrigger,
268
- kr as DropdownMenuTrigger,
269
- ln as EcPageShell,
270
- fn as EmptyState,
271
- cn as ErrorState,
178
+ ee as Card,
179
+ oe as CardAction,
180
+ re as CardContent,
181
+ te as CardDescription,
182
+ ae as CardFooter,
183
+ ne as CardHeader,
184
+ ie as CardTitle,
185
+ sn as CategoryScroll,
186
+ Cn as CategoryShortcuts,
187
+ xp as ChartControls,
188
+ Sn as ChatComposer,
189
+ me as Checkbox,
190
+ ue as CheckboxCardGroup,
191
+ fe as CheckboxCardItem,
192
+ ge as CheckboxGroup,
193
+ Ce as CheckboxGroupItem,
194
+ Tn as Chip,
195
+ Za as CoachMark,
196
+ se as Collapsible,
197
+ be as CollapsibleContent,
198
+ Se as CollapsibleTrigger,
199
+ en as Combobox,
200
+ Te as Command,
201
+ Me as CommandDialog,
202
+ Ie as CommandEmpty,
203
+ ve as CommandGroup,
204
+ he as CommandInput,
205
+ Fe as CommandItem,
206
+ Pe as CommandList,
207
+ we as CommandSeparator,
208
+ Ae as CommandShortcut,
209
+ Bi as Container,
210
+ hn as ContentCard,
211
+ an as ContentCarousel,
212
+ Fn as ContentList,
213
+ Be as ContextMenu,
214
+ Re as ContextMenuCheckboxItem,
215
+ ye as ContextMenuContent,
216
+ Le as ContextMenuGroup,
217
+ Ne as ContextMenuItem,
218
+ Ge as ContextMenuLabel,
219
+ He as ContextMenuPortal,
220
+ Ve as ContextMenuRadioGroup,
221
+ Oe as ContextMenuRadioItem,
222
+ Ee as ContextMenuSeparator,
223
+ Ue as ContextMenuShortcut,
224
+ _e as ContextMenuSub,
225
+ We as ContextMenuSubContent,
226
+ Qe as ContextMenuSubTrigger,
227
+ ze as ContextMenuTrigger,
228
+ fp as CountdownTimer,
229
+ gp as CouponCard,
230
+ vp as CreditCardIcon,
231
+ je as DataTable,
232
+ qe as DataTableActionCell,
233
+ Je as DataTableAddRow,
234
+ Xe as DataTableAvatarCell,
235
+ Ye as DataTableBody,
236
+ Ze as DataTableBulkActions,
237
+ $e as DataTableCell,
238
+ eo as DataTableCheckboxCell,
239
+ oo as DataTableDragHandleCell,
240
+ ro as DataTableEmptyState,
241
+ to as DataTableHead,
242
+ ao as DataTableHeader,
243
+ no as DataTableImageCell,
244
+ io as DataTableInputCell,
245
+ po as DataTableLinkCell,
246
+ lo as DataTableNumberCell,
247
+ mo as DataTableRow,
248
+ xo as DataTableSectionRow,
249
+ uo as DataTableSelectCell,
250
+ fo as DataTableTable,
251
+ yn as DatePicker,
252
+ Ln as DateTimePicker,
253
+ cp as DeliveryCalendar,
254
+ Co as Dialog,
255
+ co as DialogClose,
256
+ so as DialogContent,
257
+ bo as DialogDescription,
258
+ So as DialogFooter,
259
+ Do as DialogHeader,
260
+ To as DialogOverlay,
261
+ Mo as DialogPortal,
262
+ Io as DialogTitle,
263
+ vo as DialogTrigger,
264
+ Fo as Drawer,
265
+ Po as DrawerClose,
266
+ wo as DrawerContent,
267
+ Ao as DrawerDescription,
268
+ ko as DrawerFooter,
269
+ Bo as DrawerHeader,
270
+ Ro as DrawerOverlay,
271
+ yo as DrawerPortal,
272
+ Lo as DrawerTitle,
273
+ No as DrawerTrigger,
274
+ Ho as DropdownMenu,
275
+ Vo as DropdownMenuCheckboxItem,
276
+ Oo as DropdownMenuContent,
277
+ Eo as DropdownMenuGroup,
278
+ Uo as DropdownMenuItem,
279
+ _o as DropdownMenuLabel,
280
+ Wo as DropdownMenuPortal,
281
+ Qo as DropdownMenuRadioGroup,
282
+ zo as DropdownMenuRadioItem,
283
+ Ko as DropdownMenuSeparator,
284
+ jo as DropdownMenuShortcut,
285
+ qo as DropdownMenuSub,
286
+ Jo as DropdownMenuSubContent,
287
+ Xo as DropdownMenuSubTrigger,
288
+ Yo as DropdownMenuTrigger,
289
+ wn as EcPageShell,
290
+ Bn as EmptyState,
291
+ Gn as ErrorState,
272
292
  n as FOCUS_RING,
273
293
  i as FOCUS_RING_INSET,
274
294
  p as FOCUS_RING_WITHIN,
275
- Lr as Field,
276
- Nr as FieldDescription,
277
- Gr as FieldError,
278
- Vr as FieldGroup,
279
- Hr as FieldLabel,
280
- Or as FieldLegend,
281
- Er as FieldSeparator,
282
- Ur as FieldSet,
283
- Qr as FileInput,
284
- Dn as FilterBar,
285
- Tn as Footer,
286
- qr as Form,
287
- Jr as FormControl,
288
- Xr as FormDescription,
289
- Yr as FormField,
290
- Zr as FormItem,
291
- $r as FormLabel,
292
- oe as FormMessage,
293
- Fn as FunnelShell,
294
- wn as Header,
295
- te as HoverCard,
296
- ae as HoverCardContent,
297
- ne as HoverCardTrigger,
298
- pe as IconBadge,
299
- Bn as ImageCarousel,
300
- kn as ImageGallery,
301
- Ln as ImageInput,
302
- Vn as ImageUploader,
303
- xe as Input,
304
- On as KebabMenu,
305
- fe as Label,
306
- Un as ListItem,
307
- Wn as MenuDrawer,
308
- ge as Menubar,
309
- Ce as MenubarCheckboxItem,
310
- se as MenubarContent,
311
- ce as MenubarGroup,
312
- Se as MenubarItem,
313
- be as MenubarLabel,
314
- De as MenubarMenu,
315
- Me as MenubarPortal,
316
- Te as MenubarRadioGroup,
317
- Ie as MenubarRadioItem,
318
- ve as MenubarSeparator,
319
- he as MenubarShortcut,
320
- Fe as MenubarSub,
321
- Pe as MenubarSubContent,
322
- we as MenubarSubTrigger,
323
- Ae as MenubarTrigger,
324
- Oi as MissingComponent,
325
- Ua as MultiSelect,
326
- Gp as MypageShell,
327
- Re as NavigationMenu,
328
- ke as NavigationMenuContent,
329
- ye as NavigationMenuIndicator,
330
- Le as NavigationMenuItem,
331
- Ne as NavigationMenuLink,
332
- Ge as NavigationMenuList,
333
- Ve as NavigationMenuTrigger,
334
- He as NavigationMenuViewport,
335
- Sn as NotFoundIllustration,
336
- jn as NotificationBadge,
337
- Xn as NotificationList,
338
- ni as NumberInput,
339
- Dp as OptionImageUpload,
340
- Mp as OptionQuantity,
341
- Tp as OptionSelect,
342
- Ip as OptionText,
343
- rp as OrderSection,
344
- tp as OrderSummary,
345
- Ue as Pagination,
346
- _e as PaginationContent,
347
- We as PaginationEllipsis,
348
- Qe as PaginationItem,
349
- ze as PaginationLink,
350
- Ke as PaginationNext,
351
- je as PaginationPrevious,
352
- ip as PaymentMethodDisplay,
353
- Ye as Popover,
354
- Ze as PopoverAnchor,
355
- $e as PopoverContent,
356
- ot as PopoverTrigger,
357
- Zn as PriceDisplay,
358
- fp as ProductCTA,
359
- mp as ProductCard,
360
- xp as ProductCarousel,
361
- gp as ProductDetailBar,
362
- sp as ProductDetailSidebar,
363
- Sp as ProductListItem,
364
- vp as ProductOption,
365
- et as Progress,
366
- ri as ProgressSteps,
367
- tn as Prose,
368
- ii as QuantitySelector,
369
- gt as RadioGroup,
370
- Ct as RadioGroupItem,
371
- Fp as RatingStars,
372
- at as ResponsiveDialog,
373
- nt as ResponsiveDialogClose,
374
- it as ResponsiveDialogContent,
375
- pt as ResponsiveDialogDescription,
376
- mt as ResponsiveDialogFooter,
377
- lt as ResponsiveDialogHeader,
378
- xt as ResponsiveDialogTitle,
379
- ut as ResponsiveDialogTrigger,
380
- Ap as ReviewCard,
381
- Rp as ReviewForm,
382
- yp as ReviewItem,
383
- Lp as ReviewSummary,
384
- ct as ScrollArea,
385
- St as ScrollBar,
386
- mi as SearchBar,
387
- xi as SearchPanel,
388
- Ci as Section,
389
- bi as SectionHeader,
390
- Mi as SectionNav,
391
- Dt as Select,
392
- Mt as SelectContent,
393
- Tt as SelectGroup,
394
- It as SelectItem,
395
- vt as SelectLabel,
396
- ht as SelectScrollDownButton,
397
- Ft as SelectScrollUpButton,
398
- Pt as SelectSeparator,
399
- wt as SelectTrigger,
400
- At as SelectValue,
401
- Rt as Separator,
402
- Ii as ShareButtons,
403
- yt as Sheet,
404
- Lt as SheetClose,
405
- Nt as SheetContent,
406
- Gt as SheetDescription,
407
- Vt as SheetFooter,
408
- Ht as SheetHeader,
409
- Ot as SheetTitle,
410
- Et as SheetTrigger,
411
- Hp as ShopCard,
412
- hi as SideNav,
413
- _t as Skeleton,
414
- Qt as SkipLink,
415
- Kt as Slider,
416
- Xt as SocialIcon,
417
- Pi as SocialLoginButton,
418
- Pp as SparkleIcon,
419
- qt as Spinner,
420
- xn as StandardPageShell,
421
- Ep as StatCard,
422
- Ai as StatusCountTabs,
423
- Wa as StickyActionBar,
424
- zn as SubNav,
425
- Zt as Switch,
426
- oa as Table,
427
- ra as TableBody,
428
- ea as TableCaption,
429
- ta as TableCell,
430
- aa as TableFooter,
431
- na as TableHead,
432
- ia as TableHeader,
433
- pa as TableRow,
434
- la as Tabs,
435
- xa as TabsContent,
436
- ua as TabsList,
437
- fa as TabsTrigger,
438
- Ri as Tag,
439
- ga as Textarea,
440
- ti as Timeline,
441
- sa as Toaster,
442
- Sa as Toggle,
443
- Ma as ToggleGroup,
444
- Ta as ToggleGroupItem,
445
- va as Tooltip,
446
- ha as TooltipContent,
447
- Fa as TooltipProvider,
448
- Pa as TooltipTrigger,
449
- Li as WorkspaceLayout,
450
- Ni as WorkspaceShell,
295
+ $o as Field,
296
+ er as FieldDescription,
297
+ or as FieldError,
298
+ rr as FieldGroup,
299
+ tr as FieldLabel,
300
+ ar as FieldLegend,
301
+ nr as FieldSeparator,
302
+ ir as FieldSet,
303
+ mr as FileInput,
304
+ On as FilterBar,
305
+ Un as Footer,
306
+ dr as Form,
307
+ gr as FormControl,
308
+ Cr as FormDescription,
309
+ cr as FormField,
310
+ sr as FormItem,
311
+ br as FormLabel,
312
+ Sr as FormMessage,
313
+ zn as FunnelShell,
314
+ jn as Header,
315
+ Mr as HoverCard,
316
+ Ir as HoverCardContent,
317
+ vr as HoverCardTrigger,
318
+ Fr as IconBadge,
319
+ Jn as ImageCarousel,
320
+ Yn as ImageGallery,
321
+ $n as ImageInput,
322
+ ri as ImageUploader,
323
+ Ar as Input,
324
+ ai as KebabMenu,
325
+ Br as Label,
326
+ ii as ListItem,
327
+ li as MenuDrawer,
328
+ yr as Menubar,
329
+ Lr as MenubarCheckboxItem,
330
+ Nr as MenubarContent,
331
+ Gr as MenubarGroup,
332
+ Hr as MenubarItem,
333
+ Vr as MenubarLabel,
334
+ Or as MenubarMenu,
335
+ Er as MenubarPortal,
336
+ Ur as MenubarRadioGroup,
337
+ _r as MenubarRadioItem,
338
+ Wr as MenubarSeparator,
339
+ Qr as MenubarShortcut,
340
+ zr as MenubarSub,
341
+ Kr as MenubarSubContent,
342
+ jr as MenubarSubTrigger,
343
+ qr as MenubarTrigger,
344
+ ap as MissingComponent,
345
+ pn as MultiSelect,
346
+ rl as MypageShell,
347
+ Xr as NavigationMenu,
348
+ Yr as NavigationMenuContent,
349
+ Zr as NavigationMenuIndicator,
350
+ $r as NavigationMenuItem,
351
+ et as NavigationMenuLink,
352
+ ot as NavigationMenuList,
353
+ rt as NavigationMenuTrigger,
354
+ tt as NavigationMenuViewport,
355
+ Hn as NotFoundIllustration,
356
+ fi as NotificationBadge,
357
+ Ci as NotificationList,
358
+ vi as NumberInput,
359
+ Ep as OptionImageUpload,
360
+ Up as OptionQuantity,
361
+ _p as OptionSelect,
362
+ Wp as OptionText,
363
+ Dp as OrderSection,
364
+ Mp as OrderSummary,
365
+ it as Pagination,
366
+ pt as PaginationContent,
367
+ lt as PaginationEllipsis,
368
+ mt as PaginationItem,
369
+ xt as PaginationLink,
370
+ ut as PaginationNext,
371
+ ft as PaginationPrevious,
372
+ hp as PaymentMethodDisplay,
373
+ ct as Popover,
374
+ st as PopoverAnchor,
375
+ bt as PopoverContent,
376
+ St as PopoverTrigger,
377
+ si as PriceDisplay,
378
+ Rp as ProductCTA,
379
+ wp as ProductCard,
380
+ kp as ProductCarousel,
381
+ Lp as ProductDetailBar,
382
+ Gp as ProductDetailSidebar,
383
+ Vp as ProductListItem,
384
+ Qp as ProductOption,
385
+ Tt as Progress,
386
+ Di as ProgressSteps,
387
+ In as Prose,
388
+ hi as QuantitySelector,
389
+ yt as RadioGroup,
390
+ Lt as RadioGroupItem,
391
+ Kp as RatingStars,
392
+ It as ResponsiveDialog,
393
+ vt as ResponsiveDialogClose,
394
+ ht as ResponsiveDialogContent,
395
+ Ft as ResponsiveDialogDescription,
396
+ Pt as ResponsiveDialogFooter,
397
+ wt as ResponsiveDialogHeader,
398
+ At as ResponsiveDialogTitle,
399
+ kt as ResponsiveDialogTrigger,
400
+ Jp as ReviewCard,
401
+ Yp as ReviewForm,
402
+ $p as ReviewItem,
403
+ el as ReviewSummary,
404
+ Gt as ScrollArea,
405
+ Ht as ScrollBar,
406
+ Pi as SearchBar,
407
+ Ai as SearchPanel,
408
+ Li as Section,
409
+ Vi as SectionHeader,
410
+ Ei as SectionNav,
411
+ Ot as Select,
412
+ Et as SelectContent,
413
+ Ut as SelectGroup,
414
+ _t as SelectItem,
415
+ Wt as SelectLabel,
416
+ Qt as SelectScrollDownButton,
417
+ zt as SelectScrollUpButton,
418
+ Kt as SelectSeparator,
419
+ jt as SelectTrigger,
420
+ qt as SelectValue,
421
+ Xt as Separator,
422
+ _i as ShareButtons,
423
+ Zt as Sheet,
424
+ $t as SheetClose,
425
+ ea as SheetContent,
426
+ oa as SheetDescription,
427
+ ra as SheetFooter,
428
+ ta as SheetHeader,
429
+ aa as SheetTitle,
430
+ na as SheetTrigger,
431
+ al as ShopCard,
432
+ Qi as SideNav,
433
+ pa as Skeleton,
434
+ ma as SkipLink,
435
+ ua as Slider,
436
+ Ca as SocialIcon,
437
+ Ki as SocialLoginButton,
438
+ jp as SparkleIcon,
439
+ da as Spinner,
440
+ An as StandardPageShell,
441
+ il as StatCard,
442
+ qi as StatusCountTabs,
443
+ mn as StickyActionBar,
444
+ xi as SubNav,
445
+ sa as Switch,
446
+ Sa as Table,
447
+ Da as TableBody,
448
+ Ta as TableCaption,
449
+ Ma as TableCell,
450
+ Ia as TableFooter,
451
+ va as TableHead,
452
+ ha as TableHeader,
453
+ Fa as TableRow,
454
+ wa as Tabs,
455
+ Aa as TabsContent,
456
+ ka as TabsList,
457
+ Ba as TabsTrigger,
458
+ Xi as Tag,
459
+ ya as Textarea,
460
+ Mi as Timeline,
461
+ Na as Toaster,
462
+ Ha as Toggle,
463
+ Ea as ToggleGroup,
464
+ Ua as ToggleGroupItem,
465
+ Wa as Tooltip,
466
+ Qa as TooltipContent,
467
+ za as TooltipProvider,
468
+ Ka as TooltipTrigger,
469
+ $i as WorkspaceLayout,
470
+ ep as WorkspaceShell,
451
471
  O as badgeVariants,
452
472
  X as buttonVariants,
453
- po as cardVariants,
454
- _p as chipVariants,
473
+ pe as cardVariants,
474
+ ll as chipVariants,
455
475
  t as cn,
456
- di as containerVariants,
457
- _r as fieldVariants,
458
- zr as formatFileNames,
459
- Je as getPaginationRange,
460
- me as iconBadgeVariants,
461
- Nn as imageInputPreviewVariants,
462
- $i as mypageMenuGroups,
463
- Oe as navigationMenuTriggerStyle,
464
- qn as notificationBadgeVariants,
465
- $n as priceDisplayVariants,
466
- si as sectionScrimVariants,
467
- ci as sectionVariants,
468
- ki as tagVariants,
469
- l as toast,
470
- ba as toggleVariants,
471
- re as useFormField,
472
- ft as useIsMobile,
473
- Kr as validateFileSize
476
+ Ri as containerVariants,
477
+ pr as fieldVariants,
478
+ xr as formatFileNames,
479
+ gt as getPaginationRange,
480
+ Pr as iconBadgeVariants,
481
+ ei as imageInputPreviewVariants,
482
+ bp as mypageMenuGroups,
483
+ at as navigationMenuTriggerStyle,
484
+ di as notificationBadgeVariants,
485
+ bi as priceDisplayVariants,
486
+ Ni as sectionScrimVariants,
487
+ Gi as sectionVariants,
488
+ Yi as tagVariants,
489
+ m as toast,
490
+ Va as toggleVariants,
491
+ Dr as useFormField,
492
+ Bt as useIsMobile,
493
+ ur as validateFileSize
474
494
  };
475
495
 
476
496
 
@@ -2365,7 +2385,8 @@ export {
2365
2385
  // <div
2366
2386
  // data-slot="order-summary"
2367
2387
  // className={cn(
2368
- // "fixed inset-x-0 bottom-[52px] z-[var(--Z-Sticky)] mx-auto max-w-[430px] border-t border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Primary)]",
2388
+ // // fixed 表示はスクロール内容の上に重なるため地は Surface-Elevated(disableFixed 側はページ内フローなので Surface-Primary のまま)
2389
+ // "fixed inset-x-0 bottom-[52px] z-[var(--Z-Sticky)] mx-auto max-w-[430px] border-t border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Elevated)]",
2369
2390
  // className
2370
2391
  // )}
2371
2392
  // {...props}
@@ -5928,7 +5949,7 @@ export {
5928
5949
  // // 画面端との余白は上下左右 40px(calc(100%-5rem))。
5929
5950
  // // 幅上限は端末幅に応じて: SP は端末幅-80px に追従 / sm 以上は
5930
5951
  // // default=480px(テキスト確認が間延びしない幅)・sm=320px
5931
- // "group/alert-dialog-content fixed top-[50%] left-[50%] z-[var(--Z-Modal)] grid w-full max-w-[calc(100%-5rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-[var(--Border-Medium-Emphasis)] bg-background p-6 shadow-lg duration-[var(--Motion-Duration-Base)] data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-[480px]",
5952
+ // "group/alert-dialog-content fixed top-[50%] left-[50%] z-[var(--Z-Modal)] grid w-full max-w-[calc(100%-5rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border border-[var(--Border-Medium-Emphasis)] bg-[var(--Surface-Elevated)] p-6 shadow-lg duration-[var(--Motion-Duration-Base)] data-[size=sm]:max-w-xs data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[size=default]:sm:max-w-[480px]",
5932
5953
  // className
5933
5954
  // )}
5934
5955
  // {...props}
@@ -8993,7 +9014,7 @@ export {
8993
9014
  // data-slot="dialog-content"
8994
9015
  // onOpenAutoFocus={(e) => e.preventDefault()}
8995
9016
  // className={cn(
8996
- // "fixed top-[50%] left-[50%] z-[var(--Z-Modal)] grid w-[calc(100%_-_32px)] max-w-[calc(100%_-_32px)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl bg-background dark:bg-[var(--Primitive-Gray-800)] p-6 shadow-lg duration-[var(--Motion-Duration-Base)] outline-none focus-visible:ring-2 focus-visible:ring-[var(--Focus-High-Emphasis)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
9017
+ // "fixed top-[50%] left-[50%] z-[var(--Z-Modal)] grid w-[calc(100%_-_32px)] max-w-[calc(100%_-_32px)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl bg-[var(--Surface-Elevated)] p-6 shadow-lg duration-[var(--Motion-Duration-Base)] outline-none focus-visible:ring-2 focus-visible:ring-[var(--Focus-High-Emphasis)] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg",
8997
9018
  // className
8998
9019
  // )}
8999
9020
  // {...props}
@@ -9148,7 +9169,7 @@ export {
9148
9169
  // <DrawerPrimitive.Content
9149
9170
  // data-slot="drawer-content"
9150
9171
  // className={cn(
9151
- // "group/drawer-content fixed z-[var(--Z-Modal)] flex h-auto flex-col border-[var(--Border-Medium-Emphasis)] bg-background",
9172
+ // "group/drawer-content fixed z-[var(--Z-Modal)] flex h-auto flex-col border-[var(--Border-Medium-Emphasis)] bg-[var(--Surface-Elevated)]",
9152
9173
  // "data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b",
9153
9174
  // "data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t",
9154
9175
  // "data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm",
@@ -11801,7 +11822,7 @@ export {
11801
11822
  // onCloseAutoFocus?.(e)
11802
11823
  // }}
11803
11824
  // className={cn(
11804
- // "fixed z-[var(--Z-Modal)] flex flex-col gap-4 border-[var(--Border-Medium-Emphasis)] bg-background shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-[var(--Motion-Duration-Slow)] data-[state=open]:animate-in data-[state=open]:duration-[var(--Motion-Duration-Slower)]",
11825
+ // "fixed z-[var(--Z-Modal)] flex flex-col gap-4 border-[var(--Border-Medium-Emphasis)] bg-[var(--Surface-Elevated)] shadow-lg transition ease-in-out data-[state=closed]:animate-out data-[state=closed]:duration-[var(--Motion-Duration-Slow)] data-[state=open]:animate-in data-[state=open]:duration-[var(--Motion-Duration-Slower)]",
11805
11826
  // side === "right" &&
11806
11827
  // "inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm",
11807
11828
  // side === "left" &&
@@ -13014,7 +13035,7 @@ export {
13014
13035
  // return (
13015
13036
  // <header
13016
13037
  // data-slot="admin-header"
13017
- // className="fixed top-0 left-0 right-0 z-[var(--Z-Nav)] flex h-14 @md:h-16 items-center justify-between bg-[var(--Surface-Primary)] border-b border-[var(--Border-Low-Emphasis)] px-4 @md:px-6"
13038
+ // className="fixed top-0 left-0 right-0 z-[var(--Z-Nav)] flex h-14 @md:h-16 items-center justify-between bg-[var(--Surface-Elevated)] border-b border-[var(--Border-Low-Emphasis)] px-4 @md:px-6"
13018
13039
  // >
13019
13040
  // <div className="flex items-center gap-2 @md:gap-3">
13020
13041
  // {onMenuClick && (
@@ -13051,6 +13072,13 @@ export {
13051
13072
  // import ArrowDown2 from "iconsax-reactjs/dist/esm/ArrowDown2.js"
13052
13073
  // import { XIcon } from "lucide-react"
13053
13074
  //
13075
+ // import {
13076
+ // DropdownMenu,
13077
+ // DropdownMenuContent,
13078
+ // DropdownMenuItem,
13079
+ // DropdownMenuTrigger,
13080
+ // } from "@/components/foundations/dropdown-menu"
13081
+ // import { FOCUS_RING } from "@/lib/focus-ring"
13054
13082
  // import { cn } from "@/lib/utils"
13055
13083
  //
13056
13084
  // // ============================================================
@@ -13139,6 +13167,9 @@ export {
13139
13167
  // *
13140
13168
  // * メイン項目・サブメニュー項目とも 44px(WCAG 2.5.5 の最小ターゲット)以上にする。
13141
13169
  // * 行高が小さいテキストで縦 padding だけに頼ると割り込むため、`min-h-11` で下限を固定する。
13170
+ // * PC のサブメニューは `DropdownMenu` の Portal / collision handling を利用し、
13171
+ // * viewport 端では位置と最大高を自動調整する。hover ではフォーカスを奪わず、
13172
+ // * Enter / Space / ArrowDown / Escape では標準のメニュー操作に従う。
13142
13173
  // *
13143
13174
  // * ### インポート
13144
13175
  // * ```tsx
@@ -13164,6 +13195,113 @@ export {
13164
13195
  // ariaLabel = "管理メニュー",
13165
13196
  // }: AdminSideNavProps) {
13166
13197
  // const [openMenu, setOpenMenu] = React.useState<string | null>(null)
13198
+ // const hoverOpenedMenuRef = React.useRef<string | null>(null)
13199
+ // const hoverOpenedMenusRef = React.useRef(new Set<string>())
13200
+ // const focusedMenuTriggerRef = React.useRef<string | null>(null)
13201
+ // const pointerOpenedMenuRef = React.useRef<string | null>(null)
13202
+ // const pointerHoverBlockedMenuRef = React.useRef<string | null>(null)
13203
+ // const outsideDismissedMenuRef = React.useRef<string | null>(null)
13204
+ // const menuTriggerRefs = React.useRef(new Map<string, HTMLButtonElement>())
13205
+ // const firstMenuItemRefs = React.useRef(new Map<string, HTMLAnchorElement>())
13206
+ // const openTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)
13207
+ // const closeTimerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)
13208
+ // const desktopNavRef = React.useRef<HTMLElement | null>(null)
13209
+ //
13210
+ // const cancelScheduledClose = React.useCallback(() => {
13211
+ // if (closeTimerRef.current !== null) {
13212
+ // clearTimeout(closeTimerRef.current)
13213
+ // closeTimerRef.current = null
13214
+ // }
13215
+ // }, [])
13216
+ //
13217
+ // const cancelScheduledOpen = React.useCallback(() => {
13218
+ // if (openTimerRef.current !== null) {
13219
+ // clearTimeout(openTimerRef.current)
13220
+ // openTimerRef.current = null
13221
+ // }
13222
+ // }, [])
13223
+ //
13224
+ // const openMenuFromPointer = React.useCallback(
13225
+ // (key: string, pointerType: string) => {
13226
+ // if (pointerType === "touch") return
13227
+ // cancelScheduledOpen()
13228
+ // cancelScheduledClose()
13229
+ // openTimerRef.current = setTimeout(() => {
13230
+ // if (
13231
+ // pointerOpenedMenuRef.current !== null &&
13232
+ // pointerOpenedMenuRef.current !== key
13233
+ // ) {
13234
+ // pointerOpenedMenuRef.current = null
13235
+ // menuTriggerRefs.current.get(key)?.focus({ preventScroll: true })
13236
+ // }
13237
+ // hoverOpenedMenuRef.current = key
13238
+ // hoverOpenedMenusRef.current.add(key)
13239
+ // setOpenMenu(key)
13240
+ // openTimerRef.current = null
13241
+ // }, 80)
13242
+ // },
13243
+ // [cancelScheduledClose, cancelScheduledOpen],
13244
+ // )
13245
+ //
13246
+ // const schedulePointerClose = React.useCallback(
13247
+ // (key: string) => {
13248
+ // cancelScheduledOpen()
13249
+ // cancelScheduledClose()
13250
+ // closeTimerRef.current = setTimeout(() => {
13251
+ // setOpenMenu((current) => (current === key ? null : current))
13252
+ // closeTimerRef.current = null
13253
+ // }, 120)
13254
+ // },
13255
+ // [cancelScheduledClose, cancelScheduledOpen],
13256
+ // )
13257
+ //
13258
+ // const closeDesktopMenus = React.useCallback(() => {
13259
+ // cancelScheduledOpen()
13260
+ // cancelScheduledClose()
13261
+ // hoverOpenedMenuRef.current = null
13262
+ // hoverOpenedMenusRef.current.clear()
13263
+ // focusedMenuTriggerRef.current = null
13264
+ // pointerOpenedMenuRef.current = null
13265
+ // pointerHoverBlockedMenuRef.current = null
13266
+ // outsideDismissedMenuRef.current = null
13267
+ // setOpenMenu(null)
13268
+ // }, [cancelScheduledClose, cancelScheduledOpen])
13269
+ //
13270
+ // React.useEffect(
13271
+ // () => () => {
13272
+ // if (openTimerRef.current !== null) clearTimeout(openTimerRef.current)
13273
+ // if (closeTimerRef.current !== null) clearTimeout(closeTimerRef.current)
13274
+ // focusedMenuTriggerRef.current = null
13275
+ // pointerOpenedMenuRef.current = null
13276
+ // pointerHoverBlockedMenuRef.current = null
13277
+ // outsideDismissedMenuRef.current = null
13278
+ // menuTriggerRefs.current.clear()
13279
+ // firstMenuItemRefs.current.clear()
13280
+ // },
13281
+ // [],
13282
+ // )
13283
+ //
13284
+ // React.useEffect(() => {
13285
+ // const nav = desktopNavRef.current
13286
+ // if (!nav || typeof ResizeObserver === "undefined") return
13287
+ //
13288
+ // const closeWhenHidden = () => {
13289
+ // const bounds = nav.getBoundingClientRect()
13290
+ // if (
13291
+ // getComputedStyle(nav).display === "none" ||
13292
+ // bounds.width === 0 ||
13293
+ // bounds.height === 0
13294
+ // ) {
13295
+ // closeDesktopMenus()
13296
+ // }
13297
+ // }
13298
+ //
13299
+ // const observer = new ResizeObserver(closeWhenHidden)
13300
+ // observer.observe(nav)
13301
+ // closeWhenHidden()
13302
+ //
13303
+ // return () => observer.disconnect()
13304
+ // }, [closeDesktopMenus])
13167
13305
  //
13168
13306
  // return (
13169
13307
  // <>
@@ -13173,26 +13311,23 @@ export {
13173
13311
  // (h-full だとヘッダー帯に重なるため使わない)。--Z-Sticky = 30 でヘッダーより背面。
13174
13312
  // レールは @md 限定表示なので SP のヘッダー高さ h-14 は考慮しない。 */}
13175
13313
  // <nav
13314
+ // ref={desktopNavRef}
13176
13315
  // data-slot="admin-side-nav"
13177
13316
  // aria-label={ariaLabel}
13178
- // className="hidden @md:flex fixed left-0 top-16 bottom-0 z-[var(--Z-Sticky)] w-[72px] flex-col items-center bg-[var(--Surface-Primary)] border-r border-[var(--Border-Low-Emphasis)]"
13317
+ // className="hidden @md:flex fixed left-0 top-16 bottom-0 z-[var(--Z-Sticky)] w-[72px] flex-col items-center bg-[var(--Surface-Elevated)] border-r border-[var(--Border-Low-Emphasis)]"
13179
13318
  // >
13180
13319
  // {items.map((item) => {
13181
13320
  // const isActive = activeKey === item.key
13182
13321
  // const hasSubMenu = !!item.subMenus && item.subMenus.length > 0
13183
13322
  // return (
13184
- // <div
13185
- // key={item.key}
13186
- // className="relative"
13187
- // onMouseEnter={() => setOpenMenu(hasSubMenu ? item.key : null)}
13188
- // onMouseLeave={() => setOpenMenu(null)}
13189
- // >
13323
+ // <div key={item.key} className="relative">
13190
13324
  // {(() => {
13191
13325
  // const triggerClass = cn(
13192
- // "flex h-16 w-16 flex-col items-center justify-center gap-1 transition-colors",
13326
+ // "flex h-16 w-16 flex-col items-center justify-center gap-1 rounded-md transition-colors",
13193
13327
  // isActive
13194
13328
  // ? "text-[var(--Text-Accent-Primary)]"
13195
13329
  // : "text-[var(--Text-Medium-Emphasis)] hover:text-[var(--Text-High-Emphasis)]",
13330
+ // FOCUS_RING,
13196
13331
  // )
13197
13332
  // const triggerContent = (
13198
13333
  // <>
@@ -13202,6 +13337,175 @@ export {
13202
13337
  // </span>
13203
13338
  // </>
13204
13339
  // )
13340
+ // if (hasSubMenu) {
13341
+ // return (
13342
+ // <DropdownMenu
13343
+ // modal={false}
13344
+ // open={openMenu === item.key}
13345
+ // onOpenChange={(nextOpen) => {
13346
+ // cancelScheduledClose()
13347
+ // if (nextOpen) {
13348
+ // if (outsideDismissedMenuRef.current === item.key) {
13349
+ // outsideDismissedMenuRef.current = null
13350
+ // }
13351
+ // hoverOpenedMenuRef.current = null
13352
+ // hoverOpenedMenusRef.current.delete(item.key)
13353
+ // setOpenMenu(item.key)
13354
+ // } else {
13355
+ // setOpenMenu((current) =>
13356
+ // current === item.key ? null : current,
13357
+ // )
13358
+ // }
13359
+ // }}
13360
+ // >
13361
+ // <DropdownMenuTrigger asChild>
13362
+ // <button
13363
+ // ref={(node) => {
13364
+ // if (node) {
13365
+ // menuTriggerRefs.current.set(item.key, node)
13366
+ // } else {
13367
+ // menuTriggerRefs.current.delete(item.key)
13368
+ // }
13369
+ // }}
13370
+ // type="button"
13371
+ // className={triggerClass}
13372
+ // onFocus={() => {
13373
+ // cancelScheduledOpen()
13374
+ // focusedMenuTriggerRef.current = item.key
13375
+ // if (hoverOpenedMenuRef.current === item.key) {
13376
+ // hoverOpenedMenuRef.current = null
13377
+ // }
13378
+ // hoverOpenedMenusRef.current.delete(item.key)
13379
+ // }}
13380
+ // onBlur={() => {
13381
+ // if (focusedMenuTriggerRef.current === item.key) {
13382
+ // focusedMenuTriggerRef.current = null
13383
+ // }
13384
+ // }}
13385
+ // onPointerEnter={(event) => {
13386
+ // if (
13387
+ // focusedMenuTriggerRef.current === item.key ||
13388
+ // pointerHoverBlockedMenuRef.current === item.key
13389
+ // ) {
13390
+ // return
13391
+ // }
13392
+ // openMenuFromPointer(item.key, event.pointerType)
13393
+ // }}
13394
+ // onPointerDownCapture={() => {
13395
+ // cancelScheduledOpen()
13396
+ // if (openMenu !== item.key) {
13397
+ // pointerOpenedMenuRef.current = item.key
13398
+ // }
13399
+ // }}
13400
+ // onPointerLeave={() => {
13401
+ // if (
13402
+ // pointerHoverBlockedMenuRef.current === item.key
13403
+ // ) {
13404
+ // pointerHoverBlockedMenuRef.current = null
13405
+ // }
13406
+ // schedulePointerClose(item.key)
13407
+ // }}
13408
+ // >
13409
+ // {triggerContent}
13410
+ // </button>
13411
+ // </DropdownMenuTrigger>
13412
+ // <DropdownMenuContent
13413
+ // side="right"
13414
+ // align="start"
13415
+ // sideOffset={0}
13416
+ // collisionPadding={8}
13417
+ // className="w-[240px] rounded-2xl p-2 shadow-menu"
13418
+ // onPointerEnter={cancelScheduledClose}
13419
+ // onPointerLeave={() => schedulePointerClose(item.key)}
13420
+ // onPointerMoveCapture={(event) => {
13421
+ // if (hoverOpenedMenuRef.current === item.key) {
13422
+ // event.preventDefault()
13423
+ // }
13424
+ // }}
13425
+ // onInteractOutside={(event) => {
13426
+ // const trigger = menuTriggerRefs.current.get(item.key)
13427
+ // if (
13428
+ // pointerOpenedMenuRef.current === item.key &&
13429
+ // event.target instanceof Node &&
13430
+ // !trigger?.contains(event.target)
13431
+ // ) {
13432
+ // outsideDismissedMenuRef.current = item.key
13433
+ // }
13434
+ // }}
13435
+ // {...{
13436
+ // onOpenAutoFocus: (event: Event) => {
13437
+ // if (hoverOpenedMenuRef.current === item.key) {
13438
+ // event.preventDefault()
13439
+ // } else if (
13440
+ // pointerOpenedMenuRef.current === item.key
13441
+ // ) {
13442
+ // event.preventDefault()
13443
+ // requestAnimationFrame(() => {
13444
+ // firstMenuItemRefs.current.get(item.key)?.focus()
13445
+ // })
13446
+ // }
13447
+ // },
13448
+ // }}
13449
+ // onCloseAutoFocus={(event) => {
13450
+ // if (hoverOpenedMenusRef.current.has(item.key)) {
13451
+ // event.preventDefault()
13452
+ // hoverOpenedMenusRef.current.delete(item.key)
13453
+ // if (hoverOpenedMenuRef.current === item.key) {
13454
+ // hoverOpenedMenuRef.current = null
13455
+ // }
13456
+ // }
13457
+ // if (pointerOpenedMenuRef.current === item.key) {
13458
+ // event.preventDefault()
13459
+ // pointerOpenedMenuRef.current = null
13460
+ // if (outsideDismissedMenuRef.current !== item.key) {
13461
+ // pointerHoverBlockedMenuRef.current = item.key
13462
+ // requestAnimationFrame(() => {
13463
+ // menuTriggerRefs.current.get(item.key)?.focus()
13464
+ // })
13465
+ // }
13466
+ // }
13467
+ // if (outsideDismissedMenuRef.current === item.key) {
13468
+ // outsideDismissedMenuRef.current = null
13469
+ // }
13470
+ // }}
13471
+ // >
13472
+ // {item.subMenus!.map((sub, index) => (
13473
+ // <DropdownMenuItem
13474
+ // key={sub.label}
13475
+ // asChild
13476
+ // className="min-h-11 px-4"
13477
+ // onPointerLeave={(event) => {
13478
+ // if (hoverOpenedMenuRef.current === item.key) {
13479
+ // event.preventDefault()
13480
+ // }
13481
+ // }}
13482
+ // >
13483
+ // <a
13484
+ // ref={
13485
+ // index === 0
13486
+ // ? (node) => {
13487
+ // if (node) {
13488
+ // firstMenuItemRefs.current.set(
13489
+ // item.key,
13490
+ // node,
13491
+ // )
13492
+ // } else {
13493
+ // firstMenuItemRefs.current.delete(item.key)
13494
+ // }
13495
+ // }
13496
+ // : undefined
13497
+ // }
13498
+ // href={sub.href}
13499
+ // >
13500
+ // {sub.label}
13501
+ // </a>
13502
+ // </DropdownMenuItem>
13503
+ // ))}
13504
+ // </DropdownMenuContent>
13505
+ // </DropdownMenu>
13506
+ // )
13507
+ // }
13508
+ //
13205
13509
  // return item.href ? (
13206
13510
  // <a
13207
13511
  // href={item.href}
@@ -13216,23 +13520,6 @@ export {
13216
13520
  // </button>
13217
13521
  // )
13218
13522
  // })()}
13219
- // {/* Sub-menu popup */}
13220
- // {hasSubMenu && openMenu === item.key && (
13221
- // <div className="absolute left-full top-0 z-[var(--Z-Popover)] ml-0 w-[240px] rounded-2xl bg-[var(--Surface-Primary)] shadow-menu border border-[var(--Border-Low-Emphasis)] py-2">
13222
- // {item.subMenus!.map((sub) => (
13223
- // <a
13224
- // key={sub.label}
13225
- // href={sub.href}
13226
- // // min-h-11 = 44px(WCAG 2.5.5 最小ターゲット)。
13227
- // // py-2.5(10px×2) + typo-body-sm の行高 18px = 38px で 44px を割るため、
13228
- // // 高さを min-h-11 で確保し flex で中央寄せする。
13229
- // className="flex min-h-11 items-center px-4 py-2.5 typo-body-sm text-[var(--Text-High-Emphasis)] hover:bg-[var(--Surface-Secondary)] transition-colors"
13230
- // >
13231
- // {sub.label}
13232
- // </a>
13233
- // ))}
13234
- // </div>
13235
- // )}
13236
13523
  // </div>
13237
13524
  // )
13238
13525
  // })}
@@ -13544,7 +13831,7 @@ export {
13544
13831
  // data-slot="bottom-tab-bar"
13545
13832
  // aria-label="メインナビゲーション"
13546
13833
  // className={cn(
13547
- // "fixed inset-x-0 bottom-0 z-[var(--Z-Floating)] border-t border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Primary)] pb-[env(safe-area-inset-bottom)] @md:hidden",
13834
+ // "fixed inset-x-0 bottom-0 z-[var(--Z-Floating)] border-t border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Elevated)] pb-[env(safe-area-inset-bottom)] @md:hidden",
13548
13835
  // className
13549
13836
  // )}
13550
13837
  // {...props}
@@ -17260,7 +17547,9 @@ export {
17260
17547
  // : "sticky top-0 z-[var(--Z-Nav)]"
17261
17548
  //
17262
17549
  // const baseClass =
17263
- // "border-b border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Primary)]"
17550
+ // // 地は Surface-Elevated: sticky バーはスクロールするコンテンツの上に重なるため
17551
+ // // 不透明が必須(dark の Surface-Primary は 10% 透過で下の文字が透ける)。light は同値
17552
+ // "border-b border-[var(--Border-Low-Emphasis)] bg-[var(--Surface-Elevated)]"
17264
17553
  //
17265
17554
  // const shellClass = cn(stickyClass, baseClass, className)
17266
17555
  //
@@ -21862,7 +22151,8 @@ export {
21862
22151
  // <div
21863
22152
  // data-slot="sticky-action-bar"
21864
22153
  // className={cn(
21865
- // "sticky bottom-0 z-[var(--Z-Nav)] bg-[var(--Surface-Primary)] px-4 py-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]",
22154
+ // // Surface-Elevated: スクロール内容の上に重なる固定バーは不透明が必須(dark で透けない)
22155
+ // "sticky bottom-0 z-[var(--Z-Nav)] bg-[var(--Surface-Elevated)] px-4 py-3 pb-[max(0.75rem,env(safe-area-inset-bottom))]",
21866
22156
  // bordered && "border-t border-[var(--Border-Low-Emphasis)]",
21867
22157
  // className
21868
22158
  // )}
@@ -23153,7 +23443,29 @@ export {
23153
23443
  // export { Collapsible, CollapsibleContent, CollapsibleTrigger } from "./components/foundations/collapsible"
23154
23444
  // export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut } from "./components/foundations/command"
23155
23445
  // export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger } from "./components/foundations/context-menu"
23156
- // export { DataTable } from "./components/foundations/data-table"
23446
+ // export {
23447
+ // DataTable,
23448
+ // DataTableTable,
23449
+ // DataTableHeader,
23450
+ // DataTableBody,
23451
+ // DataTableRow,
23452
+ // DataTableHead,
23453
+ // DataTableCell,
23454
+ // DataTableAvatarCell,
23455
+ // DataTableImageCell,
23456
+ // DataTableLinkCell,
23457
+ // DataTableCheckboxCell,
23458
+ // DataTableActionCell,
23459
+ // DataTableInputCell,
23460
+ // DataTableSelectCell,
23461
+ // DataTableNumberCell,
23462
+ // DataTableDragHandleCell,
23463
+ // DataTableBulkActions,
23464
+ // DataTableSectionRow,
23465
+ // DataTableAddRow,
23466
+ // DataTableEmptyState,
23467
+ // } from "./components/foundations/data-table"
23468
+ // export type { SortDirection } from "./components/foundations/data-table"
23157
23469
  // export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from "./components/foundations/dialog"
23158
23470
  // export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger } from "./components/foundations/drawer"
23159
23471
  // export { DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger } from "./components/foundations/dropdown-menu"
@@ -23358,7 +23670,7 @@ export {
23358
23670
  // export type { OrderSummaryProps, OrderSummaryLineItem } from "./components/ec/order-summary"
23359
23671
  // export { PaymentMethodDisplay, CreditCardIcon } from "./components/ec/payment-method"
23360
23672
  // export type { PaymentMethodDisplayProps, CreditCardIconProps, CreditCardBrand } from "./components/ec/payment-method"
23361
- // export { ProductCard } from "./components/ec/product-card"
23673
+ // export { ProductCard, BookmarkRibbonIcon } from "./components/ec/product-card"
23362
23674
  // export type { ProductCardProps } from "./components/ec/product-card"
23363
23675
  // export { ProductCarousel } from "./components/ec/product-carousel"
23364
23676
  // export type { ProductCarouselProps } from "./components/ec/product-carousel"
@@ -23552,6 +23864,15 @@ export {
23552
23864
  // * 「リンク実装そのもの」を差し替える prop を共通の型で用意する。
23553
23865
  // *
23554
23866
  // * 例: `<Footer linkComponent={Link} … />`(next/link をそのまま渡せる)
23867
+ // *
23868
+ // * ⚠️ `Footer` / `MenuDrawer` は Client Component。React Server Components では
23869
+ // * Server Component からこの prop を渡すと client 境界を越えて関数を渡すことに
23870
+ // * なり、`Functions cannot be passed directly to Client Components` で落ちる。
23871
+ // * Next.js App Router では、この prop を使う呼び出し側を `"use client"` にする
23872
+ // * (エラーメッセージは `"use server"` を示唆するが、正解は逆)。
23873
+ // *
23874
+ // * `Pagination` / `SubNav` / `ContentCard` は Server Component のまま使えるため、
23875
+ // * この prop を使うだけで呼び出し側を `"use client"` にする必要はない。
23555
23876
  // */
23556
23877
  // export type LinkComponent = React.ComponentType<
23557
23878
  // React.AnchorHTMLAttributes<HTMLAnchorElement> & { href: string }