@1d1s/design-system 2.12.1 → 2.13.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.
- package/dist/components/Accordion/Accordion.js +6 -0
- package/dist/components/Accordion/index.js +2 -0
- package/dist/components/AchievementBadge/AchievementBadge.d.ts +1 -1
- package/dist/components/AchievementBadge/AchievementBadge.js +5 -0
- package/dist/components/AchievementBadge/index.js +2 -0
- package/dist/components/AvatarImagePicker/AvatarImagePicker.js +5 -0
- package/dist/components/AvatarImagePicker/index.js +2 -0
- package/dist/components/Banner/Banner.js +5 -0
- package/dist/components/Banner/index.js +2 -0
- package/dist/components/BannerCarousel/BannerCarousel.js +16 -0
- package/dist/components/BannerCarousel/index.js +2 -0
- package/dist/components/BottomNav/BottomNav.js +6 -0
- package/dist/components/BottomNav/index.js +2 -0
- package/dist/components/BottomSheet/BottomSheet.js +10 -0
- package/dist/components/BottomSheet/index.js +2 -0
- package/dist/components/Button/Button.js +3 -0
- package/dist/components/Button/index.js +2 -0
- package/dist/components/Calendar/Calendar.js +3 -0
- package/dist/components/Calendar/index.js +2 -0
- package/dist/components/Card/Card.js +8 -0
- package/dist/components/Card/index.js +2 -0
- package/dist/components/CheckContainer/CheckContainer.js +3 -0
- package/dist/components/CheckContainer/index.js +2 -0
- package/dist/components/CheckList/CheckList.js +5 -0
- package/dist/components/CheckList/index.js +2 -0
- package/dist/components/Checkbox/Checkbox.js +4 -0
- package/dist/components/Checkbox/index.js +2 -0
- package/dist/components/CircleAvatar/CircleAvatar.js +4 -0
- package/dist/components/CircleAvatar/index.js +2 -0
- package/dist/components/CircularProgress/CircularProgress.js +6 -0
- package/dist/components/CircularProgress/index.js +2 -0
- package/dist/components/CommentRow/CommentRow.js +8 -0
- package/dist/components/CommentRow/index.js +2 -0
- package/dist/components/CommentThread/CommentThread.js +24 -0
- package/dist/components/CommentThread/index.js +2 -0
- package/dist/components/DatePicker/DatePicker.js +17 -0
- package/dist/components/DatePicker/index.js +2 -0
- package/dist/components/Dialog/Dialog.js +22 -0
- package/dist/components/Dialog/index.js +2 -0
- package/dist/components/Dropdown/Dropdown.js +6 -0
- package/dist/components/Dropdown/DropdownMenu.js +4 -0
- package/dist/components/Dropdown/MultiSelect.js +4 -0
- package/dist/components/Dropdown/index.js +2 -0
- package/dist/components/GoalAddList/GoalAddList.js +6 -0
- package/dist/components/GoalAddList/index.js +2 -0
- package/dist/components/Heatmap/Heatmap.js +8 -0
- package/dist/components/Heatmap/index.js +2 -0
- package/dist/components/Icons/AddCircle.js +6 -0
- package/dist/components/Icons/ArrowLeft.js +2 -0
- package/dist/components/Icons/Bell.js +2 -0
- package/dist/components/Icons/BookOpen.js +2 -0
- package/dist/components/Icons/Calendar.js +2 -0
- package/dist/components/Icons/Challenge.js +2 -0
- package/dist/components/Icons/Check.js +2 -0
- package/dist/components/Icons/Chevron.js +2 -0
- package/dist/components/Icons/ChevronDown.js +2 -0
- package/dist/components/Icons/ChevronLeft.js +2 -0
- package/dist/components/Icons/ChevronRight.js +2 -0
- package/dist/components/Icons/ChevronUp.js +2 -0
- package/dist/components/Icons/Close.js +2 -0
- package/dist/components/Icons/Code2.js +2 -0
- package/dist/components/Icons/Dumbbell.js +2 -0
- package/dist/components/Icons/Endless.js +2 -0
- package/dist/components/Icons/Eye.js +4 -0
- package/dist/components/Icons/EyeOff.js +7 -0
- package/dist/components/Icons/Flag.js +2 -0
- package/dist/components/Icons/Flame.js +2 -0
- package/dist/components/Icons/Gamepad2.js +2 -0
- package/dist/components/Icons/GraduationCap.js +2 -0
- package/dist/components/Icons/HamburgerMenu.js +2 -0
- package/dist/components/Icons/Heart.js +2 -0
- package/dist/components/Icons/HeartFilled.js +2 -0
- package/dist/components/Icons/Home.js +2 -0
- package/dist/components/Icons/Icon.js +3 -0
- package/dist/components/Icons/Languages.js +2 -0
- package/dist/components/Icons/Laptop.js +2 -0
- package/dist/components/Icons/LayoutGrid.js +2 -0
- package/dist/components/Icons/LogIn.js +2 -0
- package/dist/components/Icons/Logo.js +5 -0
- package/dist/components/Icons/Minus.js +2 -0
- package/dist/components/Icons/Music.js +2 -0
- package/dist/components/Icons/Palette.js +2 -0
- package/dist/components/Icons/PencilLine.js +2 -0
- package/dist/components/Icons/People.js +2 -0
- package/dist/components/Icons/Person.js +2 -0
- package/dist/components/Icons/Pin.js +6 -0
- package/dist/components/Icons/Plane.js +2 -0
- package/dist/components/Icons/Plus.js +2 -0
- package/dist/components/Icons/ProgressRing.js +3 -0
- package/dist/components/Icons/Salad.js +2 -0
- package/dist/components/Icons/Search.js +4 -0
- package/dist/components/Icons/Settings.js +2 -0
- package/dist/components/Icons/Shapes.js +2 -0
- package/dist/components/Icons/Target.js +2 -0
- package/dist/components/Icons/Trophy.js +2 -0
- package/dist/components/Icons/Wallet.js +2 -0
- package/dist/components/Icons/index.js +2 -0
- package/dist/components/ImagePicker/ImagePicker.js +9 -0
- package/dist/components/ImagePicker/index.js +2 -0
- package/dist/components/ImagePlaceholder/ImagePlaceholder.js +3 -0
- package/dist/components/ImagePlaceholder/index.js +2 -0
- package/dist/components/MobileHeader/MobileHeader.js +7 -0
- package/dist/components/MobileHeader/index.js +2 -0
- package/dist/components/MonthCalendar/MonthCalendar.js +15 -0
- package/dist/components/MonthCalendar/index.js +2 -0
- package/dist/components/PageWatermark/PageWatermark.js +5 -0
- package/dist/components/PageWatermark/index.js +2 -0
- package/dist/components/Pagination/Pagination.js +5 -0
- package/dist/components/Pagination/index.js +2 -0
- package/dist/components/ProgressBar/ProgressBar.js +4 -0
- package/dist/components/ProgressBar/index.js +2 -0
- package/dist/components/Radio/Radio.js +7 -0
- package/dist/components/Radio/index.js +2 -0
- package/dist/components/ScheduleCalendar/ScheduleCalendar.js +8 -0
- package/dist/components/ScheduleCalendar/index.js +2 -0
- package/dist/components/SectionHeader/SectionHeader.js +5 -0
- package/dist/components/SectionHeader/index.js +2 -0
- package/dist/components/SegmentedControl/SegmentedControl.js +5 -0
- package/dist/components/SegmentedControl/index.js +2 -0
- package/dist/components/Select/Select.js +16 -0
- package/dist/components/Select/index.js +2 -0
- package/dist/components/Snackbar/Snackbar.js +4 -0
- package/dist/components/Snackbar/SnackbarProvider.js +3 -0
- package/dist/components/Snackbar/index.js +2 -0
- package/dist/components/StatCard/StatCard.d.ts +1 -1
- package/dist/components/StatCard/StatCard.js +4 -0
- package/dist/components/StatCard/index.js +2 -0
- package/dist/components/StatusBadge/StatusBadge.js +3 -0
- package/dist/components/StatusBadge/index.js +2 -0
- package/dist/components/StepIndicator/StepIndicator.js +10 -0
- package/dist/components/StepIndicator/index.js +2 -0
- package/dist/components/Streak/Streak.js +7 -0
- package/dist/components/Streak/StreakChip.js +5 -0
- package/dist/components/Streak/StreakHero.js +9 -0
- package/dist/components/Streak/index.js +2 -0
- package/dist/components/Stripe/Stripe.js +3 -0
- package/dist/components/Stripe/index.js +2 -0
- package/dist/components/Tabs/Tabs.js +5 -0
- package/dist/components/Tabs/index.js +2 -0
- package/dist/components/Tag/ChallengeTag.js +5 -0
- package/dist/components/Tag/FilterChip.js +3 -0
- package/dist/components/Tag/Tag.d.ts +1 -1
- package/dist/components/Tag/Tag.js +3 -0
- package/dist/components/Tag/index.js +2 -0
- package/dist/components/Text/Text.js +3 -0
- package/dist/components/Text/index.js +2 -0
- package/dist/components/TextField/TextArea.js +3 -0
- package/dist/components/TextField/TextField.js +6 -0
- package/dist/components/TextField/index.js +2 -0
- package/dist/components/ThumbnailPicker/ThumbnailPicker.js +11 -0
- package/dist/components/ThumbnailPicker/index.js +2 -0
- package/dist/components/Toast/Toast.js +4 -0
- package/dist/components/Toast/ToastProvider.js +4 -0
- package/dist/components/Toast/index.js +2 -0
- package/dist/components/Toggle/Toggle.js +5 -0
- package/dist/components/Toggle/index.js +2 -0
- package/dist/components/ToggleGroup/ToggleGroup.js +5 -0
- package/dist/components/ToggleGroup/index.js +2 -0
- package/dist/components/Tooltip/Tooltip.js +4 -0
- package/dist/components/Tooltip/index.js +2 -0
- package/dist/components/TopNav/TopNav.js +6 -0
- package/dist/components/TopNav/index.js +2 -0
- package/dist/hooks/index.js +2 -0
- package/dist/hooks/useMediaQuery.js +2 -0
- package/dist/index.js +2 -0
- package/dist/lib/utils.js +2 -0
- package/dist/style.css +1 -1
- package/dist/utils.d.ts +2 -0
- package/package.json +19 -6
- package/dist/index.es.js +0 -374
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as r from"@radix-ui/react-accordion";import{cn as s}from"../../lib/utils.js";import{ChevronDown as a}from"../Icons/ChevronDown.js";const o=r.Root;function n({className:t,...a}){/* @__PURE__ */
|
|
3
|
+
return e(r.Item,{className:s("border-b border-gray-200 last:border-b-0",t),...a})}function i({className:o,children:n,...i}){/* @__PURE__ */
|
|
4
|
+
return e(r.Header,{className:"flex",children:/* @__PURE__ */t(r.Trigger,{className:s("flex flex-1 items-center justify-between py-3 sm:py-4 text-left","text-sm sm:text-base font-medium text-gray-900 transition-colors","hover:text-main-900","focus:outline-none focus-visible:ring-2 focus-visible:ring-main-500 focus-visible:ring-offset-2 rounded-1","[&[data-state=open]>svg]:rotate-180","cursor-pointer",o),...i,children:[n,
|
|
5
|
+
/* @__PURE__ */e(a,{className:s("h-4 w-4 sm:h-5 sm:w-5 shrink-0 text-gray-500 transition-transform duration-200")})]})})}function c({className:t,children:a,...o}){/* @__PURE__ */
|
|
6
|
+
return e(r.Content,{className:s("overflow-hidden text-gray-700","data-[state=closed]:animate-accordion-up","data-[state=open]:animate-accordion-down"),...o,children:/* @__PURE__ */e("div",{className:s("pb-3 sm:pb-4 pt-0 text-sm sm:text-base",t),children:a})})}export{o as Accordion,c as AccordionContent,n as AccordionItem,i as AccordionTrigger};
|
|
@@ -2,7 +2,7 @@ import { default as React } from 'react';
|
|
|
2
2
|
import { VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
4
|
tone?: "main" | "peach" | "mint" | "blue" | "green" | "gray" | null | undefined;
|
|
5
|
-
layout?: "
|
|
5
|
+
layout?: "horizontal" | "vertical" | null | undefined;
|
|
6
6
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
7
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
8
|
export interface AchievementBadgeProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "children">, VariantProps<typeof badgeVariants> {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as a}from"react/jsx-runtime";import{cva as t}from"class-variance-authority";import{cn as l}from"../../lib/utils.js";const s=t("inline-flex items-center text-gray-900",{variants:{tone:{main:"bg-main-300",peach:"bg-brand-soft",mint:"bg-mint-200",blue:"bg-blue-200",green:"bg-green-200",gray:"bg-gray-100"},layout:{vertical:"flex-col text-center",horizontal:"flex-row gap-2"},size:{sm:"",md:"",lg:""}},compoundVariants:[{layout:"vertical",size:"sm",class:"min-w-[72px] rounded-2.5 px-3 py-3 gap-1"},{layout:"vertical",size:"md",class:"min-w-[88px] rounded-3 px-3 py-3.5 gap-1.5"},{layout:"vertical",size:"lg",class:"min-w-[112px] rounded-4 px-4 py-5 gap-2"},{layout:"horizontal",size:"sm",class:"rounded-2.5 px-3.5 py-2.5"},{layout:"horizontal",size:"md",class:"rounded-3 px-4 py-3"},{layout:"horizontal",size:"lg",class:"rounded-4 px-5 py-3.5"}],defaultVariants:{tone:"main",layout:"vertical",size:"md"}}),n={sm:"text-[18px]",md:"text-[22px]",lg:"text-[34px]"},i={sm:"text-3xs",md:"text-2xs",lg:"text-xs"};function o({emoji:t,label:o,tone:r,layout:m,size:d,justUnlocked:p,className:c,...x}){const u=d??"md";/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"achievement-badge",className:l(s({tone:r,layout:m,size:d}),p&&"animate-pop",c),...x,children:[
|
|
4
|
+
/* @__PURE__ */a("span",{"aria-hidden":!0,className:l("leading-none",n[u]),children:t}),
|
|
5
|
+
/* @__PURE__ */a("span",{className:l("font-bold",i[u]),children:o})]})}export{o as AchievementBadge};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as r,useState as l,useEffect as o}from"react";import{cn as n}from"../../lib/utils.js";import{Button as a}from"../Button/Button.js";import{PencilLine as i}from"../Icons/PencilLine.js";import{Logo as c}from"../Icons/Logo.js";function s({onChange:s,size:u=300,defaultImageUrl:f,changeLabel:m="Change",...d}){const h=Math.max(u,120),g=Math.max(Math.round(.3*h),28),b=Math.max(Math.round(.6*g),18),p=r(null),v=r(null),[y,x]=l(f??null),j=()=>{p.current?.click()};return o(()=>{x(f??null)},[f]),o(()=>()=>{v.current&&URL.revokeObjectURL(v.current)},[]),/* @__PURE__ */e("div",{className:"relative inline-flex",style:{width:h,height:h},children:[
|
|
3
|
+
/* @__PURE__ */t("input",{type:"file",accept:"image/*",ref:p,className:"hidden",onChange(e){void 0!==s&&s(e),(e=>{const t=e.target.files?.[0];if(t){v.current&&URL.revokeObjectURL(v.current);const e=URL.createObjectURL(t);v.current=e,x(e)}})(e)},...d}),
|
|
4
|
+
/* @__PURE__ */t("button",{type:"button",onClick:j,"aria-label":"이미지 선택",className:n("group relative h-full w-full cursor-pointer overflow-hidden rounded-full border border-gray-200 bg-gray-100 outline-none transition-[border-color,box-shadow,background-color] duration-200","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2",!y&&"hover:border-gray-300"),children:y?/* @__PURE__ */t("img",{src:y,alt:"이미지 미리보기",className:"h-full w-full object-cover",loading:"lazy"}):/* @__PURE__ */t("div",{className:"flex h-full w-full items-center justify-center",children:/* @__PURE__ */t(c,{width:b,height:g,className:"text-gray-400"})})}),
|
|
5
|
+
/* @__PURE__ */t(a,{type:"button",variant:"secondary",size:"sm",pill:!0,onClick:j,iconLeft:/* @__PURE__ */t(i,{className:"h-3.5 w-3.5 text-gray-700"}),className:"absolute bottom-0 left-1/2 z-10 -translate-x-1/2 translate-y-1/2 px-4 text-gray-700 shadow-lg",children:m})]})}export{s as AvatarImagePicker};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";import{cn as i}from"../../lib/utils.js";import{StatusBadge as t}from"../StatusBadge/StatusBadge.js";const n=r("relative overflow-hidden rounded-4 p-6 text-white",{variants:{tone:{orange:"bg-[linear-gradient(135deg,var(--main-600)_0%,var(--main-800)_100%)] shadow-warm",mint:"bg-[linear-gradient(135deg,var(--mint-600)_0%,var(--mint-800)_100%)]",blue:"bg-[linear-gradient(135deg,var(--blue-400)_0%,var(--blue-600)_100%)]",purple:"bg-[linear-gradient(135deg,var(--purple-400)_0%,var(--purple-600)_100%)]",gray:"bg-[linear-gradient(135deg,var(--gray-500)_0%,var(--gray-800)_100%)]"},size:{sm:"p-4 rounded-3",md:"p-6 rounded-4",lg:"p-8 rounded-4"}},defaultVariants:{tone:"orange",size:"md"}});function l({kind:r,title:l,subtitle:d,action:s,tone:o,size:m,bg:g,className:c,style:u,...v}){/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"banner",className:i(n({tone:o,size:m}),c),style:g?{...u,background:g}:u,...v,children:/* @__PURE__ */a("div",{className:"flex items-start justify-between gap-4",children:[
|
|
4
|
+
/* @__PURE__ */a("div",{className:"min-w-0 flex-1",children:[r?/* @__PURE__ */e(t,{variant:"inline",kind:r,children:r}):null,
|
|
5
|
+
/* @__PURE__ */e("div",{className:"mt-3 text-xl font-extrabold leading-[1.25] tracking-[-0.4px] whitespace-pre-line",children:l}),d?/* @__PURE__ */e("div",{className:"mt-1.5 text-xs opacity-90",children:d}):null]}),s?/* @__PURE__ */e("div",{className:"shrink-0",children:s}):null]})})}export{l as Banner};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t,Fragment as n}from"react/jsx-runtime";import i from"react";import{cn as r}from"../../lib/utils.js";import{Text as a}from"../Text/Text.js";function l({items:l,autoSlideIntervalMs:o=5e3,initialIndex:s=0,enableLoop:d=!0,showIndicators:c=!0,aspectRatioClassName:u="aspect-[4/1]",minHeightPx:m=180,componentId:b,enableDataLayerTracking:h=!1,impressionMode:p="once",onBannerClick:g,onBannerImpression:f,onBannerChange:w,onItemClick:v,className:x,...k}){const y=l.length,N=m>0?`${m}px`:void 0,I=i.useMemo(()=>0===y||s<0?0:s>y-1?y-1:s,[s,y]),$=d&&y>1,S=i.useMemo(()=>{if(0===y)return[];if(!$)return l;const[e]=l,[t]=l.slice(-1);return[t,...l,e]},[$,y,l]),[C,L]=i.useState($?I+1:I),[T,j]=i.useState(!0),[E,_]=i.useState(0);i.useEffect(()=>{L($?I+1:I)},[$,I,y]),i.useEffect(()=>{if(y<=1||o<=0)return;let e;const t=()=>{e=window.setInterval(()=>{L(e=>e+1)},o)},n=()=>window.clearInterval(e),i=()=>{document.hidden?n():(j(!1),L(e=>{const t=((e-($?1:0)+y)%y+y)%y;return $?t+1:t}),t())};return t(),document.addEventListener("visibilitychange",i),()=>{n(),document.removeEventListener("visibilitychange",i)}},[o,$,y,E]),i.useEffect(()=>{if(T)return;const e=window.setTimeout(()=>{j(!0)},30);return()=>window.clearTimeout(e)},[T]);const z=0===y?0:((C-($?1:0)+y)%y+y)%y,B=i.useRef(/* @__PURE__ */new Set),M=i.useCallback((e,t,n)=>{const i=void 0===t.id?`${n}`:String(t.id),r={event:e,componentId:b,bannerId:i,bannerIndex:n,bannerType:t.type,bannerTitle:t.title,bannerSubtitle:t.subtitle,timestamp:Date.now()};if("click"===e&&g?.(r),"impression"===e&&f?.(r),"change"===e&&w?.(r),h&&"undefined"!=typeof window){const t=window;Array.isArray(t.dataLayer)&&t.dataLayer.push({event:`banner_${e}`,component_id:b??"banner-carousel",banner_id:r.bannerId,banner_index:r.bannerIndex,banner_type:r.bannerType,banner_title:r.bannerTitle,banner_subtitle:r.bannerSubtitle,timestamp:r.timestamp})}},[b,h,w,g,f]);i.useEffect(()=>{if(0===y)return;const e=l[z];if(!e)return;M("change",e,z);const t=`${void 0===e.id?`${z}`:String(e.id)}-${z}`,n=B.current.has(t);"once"===p&&n||(B.current.add(t),M("impression",e,z))},[z,M,p,y,l]);const R=i.useRef(!1);return 0===y?null:/* @__PURE__ */e("div",{className:r("w-full",x),...k,children:/* @__PURE__ */t("div",{className:"relative overflow-hidden rounded-4",children:[
|
|
3
|
+
/* @__PURE__ */e("div",{className:r("flex",T&&"transition-transform duration-500 ease-out"),style:{transform:`translateX(-${100*C}%)`},onTransitionEnd(){if(R.current=!1,$)return C===y+1?(j(!1),void L(1)):void(0===C&&(j(!1),L(y)))},children:S.map((i,l)=>{const o=i.backgroundImageUrl??i.backgroundImage,s=Boolean(o&&o.trim().length>0),d=0===y?0:(l-($?1:0)+y)%y,c=void 0===i.id?`${d}-${l}`:String(i.id);/* @__PURE__ */
|
|
4
|
+
return t("button",{type:"button",onClick(){M("click",i,d),v?.(i,d)},"data-banner-id":void 0===i.id?`${d}`:String(i.id),"data-banner-index":d,"data-banner-type":i.type,"data-banner-title":i.title,"data-banner-image-url":o??"",className:r("relative w-full shrink-0 overflow-hidden p-4 pb-10 text-left text-white transition hover:brightness-105 sm:p-8 sm:pb-8","cursor-pointer",u),style:{backgroundImage:"linear-gradient(to right, var(--main-700), var(--main-500))",minHeight:N},children:[s?/* @__PURE__ */t(n,{children:[
|
|
5
|
+
/* @__PURE__ */e("div",{"aria-hidden":!0,className:"absolute inset-0 bg-cover bg-center bg-no-repeat",style:{backgroundImage:`url(${o})`}}),
|
|
6
|
+
/* @__PURE__ */e("div",{className:"absolute inset-0 bg-black/28"})]}):null,
|
|
7
|
+
/* @__PURE__ */e("div",{className:"pointer-events-none absolute -top-10 -right-8 h-36 w-36 rounded-full bg-white/15 blur-2xl"}),
|
|
8
|
+
/* @__PURE__ */t("div",{className:"relative flex h-full flex-col justify-between",children:[
|
|
9
|
+
/* @__PURE__ */e(a,{size:"caption3",weight:"medium",className:"text-white/85",children:i.type}),
|
|
10
|
+
/* @__PURE__ */t("div",{className:"flex items-end justify-between gap-4",children:[
|
|
11
|
+
/* @__PURE__ */t("div",{className:"flex flex-col gap-2",children:[
|
|
12
|
+
/* @__PURE__ */e(a,{size:"heading2",weight:"bold",className:"line-clamp-1 text-white sm:text-3xl",children:i.title}),
|
|
13
|
+
/* @__PURE__ */e(a,{size:"caption1",weight:"medium",className:"line-clamp-1 text-white/90 sm:text-lg",children:i.subtitle})]}),
|
|
14
|
+
/* @__PURE__ */e(a,{size:"heading2",weight:"bold",className:"text-white sm:text-3xl",children:"→"})]})]})]},`${c}-${l}`)})}),y>1?/* @__PURE__ */t(n,{children:[
|
|
15
|
+
/* @__PURE__ */e("button",{type:"button",onClick(){R.current||(R.current=!0,j(!0),L(e=>e-1),_(e=>e+1))},className:"absolute top-1/2 left-2 z-10 -translate-y-1/2 cursor-pointer rounded-full bg-black/25 p-1.5 text-white transition hover:bg-black/40","aria-label":"이전 배너",children:/* @__PURE__ */e("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:/* @__PURE__ */e("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M15 19l-7-7 7-7"})})}),
|
|
16
|
+
/* @__PURE__ */e("button",{type:"button",onClick(){R.current||(R.current=!0,j(!0),L(e=>e+1),_(e=>e+1))},className:"absolute top-1/2 right-2 z-10 -translate-y-1/2 cursor-pointer rounded-full bg-black/25 p-1.5 text-white transition hover:bg-black/40","aria-label":"다음 배너",children:/* @__PURE__ */e("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2.5,children:/* @__PURE__ */e("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M9 5l7 7-7 7"})})})]}):null,c?/* @__PURE__ */e("div",{className:"pointer-events-none absolute right-4 bottom-3 left-4 flex justify-center",children:/* @__PURE__ */e("div",{className:"pointer-events-auto flex items-center gap-2 rounded-full bg-black/25 px-2 py-1",children:l.map((t,n)=>/* @__PURE__ */e("button",{type:"button",onClick(){j(!0),L($?n+1:n)},className:r("h-2 cursor-pointer rounded-full transition-all",z===n?"w-5 bg-white":"w-2 bg-white/50 hover:bg-white/80"),"aria-label":`${n+1}번째 배너로 이동`},void 0===t.id?`${n}`:String(t.id)))})}):null]})})}export{l as BannerCarousel};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{cn as n}from"../../lib/utils.js";function i({items:i,activeId:a,onChange:o,className:r,...s}){/* @__PURE__ */
|
|
3
|
+
return e("nav",{"data-slot":"bottom-nav",className:n("sticky bottom-0 z-30 grid border-t border-gray-100 bg-white px-3 pb-3.5 pt-2.5",r),style:{gridTemplateColumns:`repeat(${i.length}, 1fr)`},...s,children:i.map(i=>{const r=a===i.id,s="function"==typeof i.icon?i.icon(r):i.icon;/* @__PURE__ */
|
|
4
|
+
return t("button",{type:"button","data-active":r?"true":"false","aria-current":r?"page":void 0,onClick(){o?.(i.id),i.onClick?.()},className:n("flex flex-col items-center justify-center gap-0.5 py-1 transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30",r?"text-brand":"text-gray-400 hover:text-gray-600"),children:[
|
|
5
|
+
/* @__PURE__ */e("span",{className:n("leading-none",r&&"animate-pop"),children:s}),
|
|
6
|
+
/* @__PURE__ */e("span",{className:"text-3xs font-semibold leading-none",children:i.label})]},i.id)})})}export{i as BottomNav};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"@radix-ui/react-dialog";import{cn as s}from"../../lib/utils.js";import{Text as i}from"../Text/Text.js";import{Close as o}from"../Icons/Close.js";const r=a.Root,n=a.Trigger,l=a.Portal,d=a.Close;function c({className:t,...i}){/* @__PURE__ */
|
|
3
|
+
return e(a.Overlay,{className:s("fixed inset-0 z-50 bg-black/45","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...i})}function m({className:i,children:r,inset:n=8,showHandle:m=!0,showClose:u=!1,style:f,...h}){/* @__PURE__ */
|
|
4
|
+
return t(l,{children:[
|
|
5
|
+
/* @__PURE__ */e(c,{}),
|
|
6
|
+
/* @__PURE__ */t(a.Content,{className:s("fixed z-50 bg-white","rounded-4 shadow-up","px-5 pt-2.5 pb-4","max-h-[85dvh] overflow-y-auto","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","duration-300",i),style:{left:n,right:n,bottom:n,...f},...h,children:[m&&/* @__PURE__ */e("div",{"aria-hidden":"true",className:"mx-auto mt-1 mb-3 h-1 w-9 rounded-full bg-gray-300"}),u&&/* @__PURE__ */e(d,{"aria-label":"닫기",className:s("absolute right-3 top-3 inline-flex size-8 items-center justify-center rounded-full","text-gray-500 transition-colors duration-200","hover:bg-gray-100 hover:text-gray-900","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30"),children:/* @__PURE__ */e(o,{className:"size-5"})}),r]})]})}function u({className:t,...a}){/* @__PURE__ */
|
|
7
|
+
return e("div",{className:s("mb-2.5",t),...a})}function f({className:t,...a}){/* @__PURE__ */
|
|
8
|
+
return e("div",{className:s("mt-1.5 flex gap-2",t),...a})}function h({className:t,children:o,...r}){/* @__PURE__ */
|
|
9
|
+
return e(a.Title,{asChild:!0,...r,children:/* @__PURE__ */e(i,{size:"body2",weight:"extrabold",className:s("block text-black tracking-[-0.3px]",t),children:o})})}function b({className:t,children:o,...r}){/* @__PURE__ */
|
|
10
|
+
return e(a.Description,{asChild:!0,...r,children:/* @__PURE__ */e(i,{size:"caption2",weight:"regular",className:s("text-gray-600 mt-1",t),children:o})})}export{r as BottomSheet,d as BottomSheetClose,m as BottomSheetContent,b as BottomSheetDescription,f as BottomSheetFooter,u as BottomSheetHeader,c as BottomSheetOverlay,l as BottomSheetPortal,h as BottomSheetTitle,n as BottomSheetTrigger};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{BottomSheet as o,BottomSheetClose as t,BottomSheetContent as e,BottomSheetDescription as m,BottomSheetFooter as r,BottomSheetHeader as p,BottomSheetOverlay as f,BottomSheetPortal as h,BottomSheetTitle as i,BottomSheetTrigger as j}from"./BottomSheet.js";export{o as BottomSheet,t as BottomSheetClose,e as BottomSheetContent,m as BottomSheetDescription,r as BottomSheetFooter,p as BottomSheetHeader,f as BottomSheetOverlay,h as BottomSheetPortal,i as BottomSheetTitle,j as BottomSheetTrigger};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";import{Slot as i}from"@radix-ui/react-slot";import{cva as a}from"class-variance-authority";import{Text as o}from"../Text/Text.js";const s=a("inline-flex items-center justify-center gap-1.5 border transition-[scale,translate,filter,background-color,box-shadow,border-color,color] duration-150 ease-out active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-[0.45] disabled:active:scale-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2",{variants:{variant:{primary:"bg-brand text-white border-transparent hover:brightness-105 hover:-translate-y-px",secondary:"bg-white text-gray-800 border-gray-200 hover:bg-gray-50 hover:border-gray-300",soft:"bg-brand-soft text-brand border-main-300 hover:bg-main-300/70",ghost:"bg-transparent text-gray-700 border-transparent hover:bg-gray-100",danger:"bg-red-500 text-white border-transparent hover:brightness-105 hover:-translate-y-px"},size:{xs:"h-6 px-2 gap-1",sm:"h-[30px] px-3 gap-1",md:"h-[38px] px-4",lg:"h-[46px] px-5",xl:"h-[54px] px-6",icon:"h-[38px] w-[38px] p-0"},pill:{true:"rounded-full",false:"rounded-2.5"},fullWidth:{true:"w-full",false:""}},defaultVariants:{variant:"primary",size:"md",pill:!1,fullWidth:!1}}),l={xs:{size:"caption3",weight:"extrabold"},sm:{size:"caption3",weight:"extrabold"},md:{size:"caption2",weight:"extrabold"},lg:{size:"caption1",weight:"extrabold"},xl:{size:"body2",weight:"extrabold"},icon:{size:"caption2",weight:"extrabold"}};function n({className:a,variant:n,size:d,pill:b,fullWidth:c,asChild:p=!1,disabled:h=!1,iconLeft:g,iconRight:x,children:u,...f}){const m=d??"md",v="icon"!==m&&("string"==typeof u||"number"==typeof u);/* @__PURE__ */
|
|
3
|
+
return e(p?i:"button",{"data-slot":"button",className:r(s({variant:n,size:d,pill:b,fullWidth:c,className:a})),disabled:h,...f,children:[g,v?/* @__PURE__ */t(o,{size:l[m].size,weight:l[m].weight,children:u}):u,x]})}export{n as Button};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e}from"react/jsx-runtime";import{DayPicker as t}from"react-day-picker";import{ko as r}from"date-fns/locale";import{cn as a}from"../../lib/utils.js";import{ChevronLeft as o}from"../Icons/ChevronLeft.js";import{ChevronRight as n}from"../Icons/ChevronRight.js";function s({className:s,classNames:d,showOutsideDays:i=!0,...l}){const c="range"===l.mode;/* @__PURE__ */
|
|
3
|
+
return e(t,{locale:r,showOutsideDays:i,className:a("w-fit rounded-3 border border-gray-200 bg-white p-3 shadow-default",s),classNames:{months:"flex flex-col gap-3",month:"flex flex-col gap-3",caption:"relative flex h-9 items-center justify-center",caption_label:"text-sm font-extrabold tracking-[-0.2px] text-gray-900",nav:"absolute inset-x-0 top-1/2 flex -translate-y-1/2 items-center justify-between px-1",nav_button:"inline-flex h-8 w-8 items-center justify-center rounded-2 border border-gray-200 bg-white p-0 text-gray-700 transition-colors duration-200 hover:border-gray-300 hover:bg-gray-100 hover:text-gray-900 hover:cursor-pointer disabled:opacity-40",nav_button_previous:"",nav_button_next:"",table:"w-full border-collapse",head_row:"flex",head_cell:"h-8 w-9 text-center text-xs font-medium text-gray-500",row:"mt-0.5 flex w-full",cell:a("relative h-9 w-9 p-0 text-center text-sm","focus-within:relative focus-within:z-20",c?"[&:has(.day-range-middle)]:bg-brand-soft/70 [&:has(.day-range-start)]:bg-brand-soft/70 [&:has(.day-range-end)]:bg-brand-soft/70 [&:has(.day-range-start)]:rounded-l-2 [&:has(.day-range-end)]:rounded-r-2":"[&:has([aria-selected])]:rounded-2"),day:"inline-flex h-9 w-9 items-center justify-center rounded-2 border border-transparent p-0 text-sm font-medium text-gray-800 transition-colors duration-200 aria-selected:opacity-100 hover:bg-gray-100 hover:text-gray-900 hover:cursor-pointer focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-1",day_range_start:"day-range-start aria-selected:rounded-2 aria-selected:bg-brand aria-selected:text-white",day_range_end:"day-range-end aria-selected:rounded-2 aria-selected:bg-brand aria-selected:text-white",day_selected:"bg-brand text-white hover:bg-main-700 hover:text-white focus:bg-main-700 focus:text-white",day_today:"text-brand font-extrabold",day_outside:"day-outside text-gray-400 aria-selected:text-gray-500",day_disabled:"cursor-not-allowed text-gray-300 opacity-40 hover:bg-transparent hover:text-gray-300",day_range_middle:"day-range-middle aria-selected:rounded-none aria-selected:bg-brand-soft aria-selected:text-brand",day_hidden:"invisible",...d},components:{IconLeft({className:t,...r}){/* @__PURE__ */return e(o,{className:a("size-4",t),...r})},IconRight({className:t,...r}){/* @__PURE__ */return e(n,{className:a("size-4",t),...r})}},...l})}export{s as Calendar};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";import{cva as e}from"class-variance-authority";import{cn as a}from"../../lib/utils.js";const r=e("relative overflow-hidden bg-white border border-gray-200 transition-[translate,scale,box-shadow] duration-300 ease-[cubic-bezier(0.22,1,0.36,1)]",{variants:{radius:{sm:"rounded-2",md:"rounded-3",lg:"rounded-4",xl:"rounded-4"},interactive:{true:"cursor-pointer hover:-translate-y-1.5 hover:shadow-warm",false:""}},defaultVariants:{radius:"lg",interactive:!1}});function i({radius:e,interactive:i,className:l,...o}){/* @__PURE__ */
|
|
3
|
+
return t("div",{"data-slot":"card",className:a(r({radius:e,interactive:i}),l),...o})}function l({className:e,children:r,...i}){/* @__PURE__ */
|
|
4
|
+
return t("div",{"data-slot":"card-thumb",className:a("relative w-full overflow-hidden",e),...i,children:r})}function o({className:e,children:r,...i}){/* @__PURE__ */
|
|
5
|
+
return t("div",{"data-slot":"card-body",className:a("flex flex-col gap-2 p-3.5",e),...i,children:r})}function s({className:e,children:r,...i}){/* @__PURE__ */
|
|
6
|
+
return t("div",{"data-slot":"card-title",className:a("text-sm font-extrabold leading-snug tracking-[-0.2px] text-gray-900 line-clamp-2",e),...i,children:r})}function n({className:e,children:r,...i}){/* @__PURE__ */
|
|
7
|
+
return t("div",{"data-slot":"card-meta",className:a("flex items-center justify-between text-2xs text-gray-500",e),...i,children:r})}function d({className:e,children:r,position:i="top-left",...l}){/* @__PURE__ */
|
|
8
|
+
return t("div",{"data-slot":"card-overlay",className:a("absolute z-[1]",{"top-left":"top-2 left-2","top-right":"top-2 right-2","bottom-left":"bottom-2 left-2","bottom-right":"bottom-2 right-2"}[i],e),...l,children:r})}i.Thumb=l,i.Body=o,i.Title=s,i.Meta=n,i.Overlay=d;export{i as Card,o as CardBody,n as CardMeta,d as CardOverlay,l as CardThumb,s as CardTitle};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"react";import{cn as i}from"../../lib/utils.js";import{Check as o}from"../Icons/Check.js";import{Text as a}from"../Text/Text.js";function n({label:n,icon:s,children:l,checked:c,defaultChecked:d=!1,onCheckedChange:h,showCheckIndicator:b=!0,width:f=320,height:u=220,className:g,disabled:m,onClick:p,style:x,"aria-label":y,...v}){const w="boolean"==typeof c,[k,j]=r.useState(d),C=w?c:k,N=void 0!==l,I=y??("string"==typeof n||"number"==typeof n?String(n):void 0);/* @__PURE__ */
|
|
3
|
+
return e("button",{type:"button",role:"checkbox","aria-checked":C,"aria-label":I,disabled:m,onClick(e){if(m)return;const t=!C;w||j(t),h?.(t),p?.(e)},className:i("relative overflow-hidden rounded-4 border outline-none transition-all duration-200 ease-out active:scale-[0.97]","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","flex flex-col items-center justify-center",!N&&"gap-4",C?"border-brand bg-brand-soft text-brand":"border-gray-200 bg-white text-gray-500",!m&&"hover:cursor-pointer",!m&&(C?"hover:bg-main-300":"hover:bg-gray-100"),m&&"cursor-not-allowed opacity-60 active:scale-100",g),style:{width:f,height:u,...x},...v,children:[b?/* @__PURE__ */t("span",{className:i("absolute top-4 right-4 flex w-[clamp(18px,8%,32px)] aspect-square shrink-0 items-center justify-center rounded-full border-2 transition-colors",C?"border-brand bg-brand text-white":"border-gray-200 bg-white text-transparent",C&&"animate-pop"),children:/* @__PURE__ */t(o,{className:"h-[46%] w-[46%]",strokeWidth:4.4})}):null,N?l:/* @__PURE__ */e("div",{className:"flex flex-col items-center justify-center gap-3",children:[s?/* @__PURE__ */t("span",{className:"text-inherit [&>svg]:h-14 [&>svg]:w-14",children:s}):null,"string"==typeof n||"number"==typeof n?/* @__PURE__ */t(a,{size:"heading1",weight:"bold",className:i("text-inherit",C?"text-brand":"text-gray-600"),children:n}):n]})]})}export{n as CheckContainer};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import o from"react";import{cn as l}from"../../lib/utils.js";import{Text as a}from"../Text/Text.js";import{Checkbox as t}from"../Checkbox/Checkbox.js";const s={sm:{list:"gap-0",row:"gap-2.5",checkbox:"h-[18px] w-[18px]",label:"body2"},md:{list:"gap-0.5",row:"gap-3",checkbox:"h-5 w-5",label:"body1"},lg:{list:"gap-1",row:"gap-3",checkbox:"h-6 w-6",label:"body1"}},i={sm:{list:"gap-1.5",row:"px-3.5 py-3"},md:{list:"gap-2",row:"px-4 py-3.5"},lg:{list:"gap-2",row:"px-4 py-4"}};function d({options:d,value:c,onValueChange:n,size:b="md",variant:p="flat",className:g,readOnly:m=!1,disabled:u=!1,checkColor:h}){const x=o.useId(),f=s[b],y=i[b],w="card"===p;/* @__PURE__ */
|
|
3
|
+
return e("div",{className:l("stagger-in flex flex-col",w?y.list:f.list,g),children:d.map(o=>{const s=c.includes(o.id),i=u||o.disabled,d=!i&&m,b=i||d,p=`${x}-${o.id}`;/* @__PURE__ */
|
|
4
|
+
return r("label",{htmlFor:p,"aria-disabled":b,onClick(e){b&&e.preventDefault()},className:l("flex w-full items-center text-left","transition duration-200 ease-out",w?l("rounded-3 border border-gray-200 bg-white",y.row):"-mx-2.5 rounded-2 px-2.5 py-1.5",f.row,!b&&"cursor-pointer active:scale-[0.97]",!b&&(w?"hover:bg-gray-50":"hover:bg-gray-100"),i&&"cursor-not-allowed",d&&"cursor-default hover:cursor-not-allowed"),children:[
|
|
5
|
+
/* @__PURE__ */e(t,{id:p,checked:s,disabled:i,onCheckedChange(e){var r;b||"indeterminate"===e||(r=o.id,n(!0===e?c.includes(r)?c:[...c,r]:c.filter(e=>e!==r)))},style:h&&s?{backgroundColor:h,borderColor:h}:void 0,className:l(f.checkbox,"rounded-full",!h&&"data-[state=checked]:border-green-600 data-[state=checked]:bg-green-600",d&&"cursor-default hover:cursor-not-allowed")}),"string"==typeof o.label||"number"==typeof o.label?/* @__PURE__ */e(a,{size:f.label,weight:s?"bold":"medium",className:l("flex-1 transition-colors",s?"text-gray-900":"text-gray-500",i&&"text-gray-400"),children:o.label}):/* @__PURE__ */e("span",{className:l("flex-1",!s&&"text-gray-600",i&&"opacity-60"),children:o.label})]},o.id)})})}export{d as CheckList};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import*as t from"react";import*as o from"@radix-ui/react-checkbox";import{cn as a}from"../../lib/utils.js";import{Check as i}from"../Icons/Check.js";import{Text as s}from"../Text/Text.js";const c=t.forwardRef(({className:c,label:d,id:n,readOnly:l,...m},p)=>{const h=t.useId(),u=n||h;/* @__PURE__ */
|
|
3
|
+
return e("div",{className:a("flex items-center gap-2",l&&"pointer-events-none"),children:[
|
|
4
|
+
/* @__PURE__ */r(o.Root,{ref:p,id:u,className:a("peer h-[18px] w-[18px] shrink-0 cursor-pointer rounded-1.5 border-[1.5px] border-gray-300 bg-white text-white","transition-[background-color,border-color] duration-150 ease-out","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-[0.45]","data-[state=checked]:border-brand data-[state=checked]:bg-brand data-[state=checked]:text-white",c),...m,children:/* @__PURE__ */r(o.Indicator,{className:"flex items-center justify-center text-current animate-pop",children:/* @__PURE__ */r(i,{className:"h-2.5 w-2.5",strokeWidth:8})})}),d?/* @__PURE__ */r("label",{htmlFor:u,className:a("cursor-pointer select-none text-gray-800 transition-colors","peer-disabled:cursor-not-allowed peer-disabled:opacity-[0.45]","peer-data-[state=checked]:text-gray-500 peer-data-[state=checked]:line-through"),children:/* @__PURE__ */r(s,{size:"caption2",weight:"medium",children:d})}):null]})});c.displayName=o.Root.displayName;export{c as Checkbox};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t,Fragment as r}from"react/jsx-runtime";import{useState as s,useEffect as l}from"react";import i from"next/image";import{cn as a}from"../../lib/utils.js";import{Stripe as o}from"../Stripe/Stripe.js";const n={xs:24,sm:32,md:40,lg:56,xl:76};function c({size:c="md",tone:m="peach",ring:d=!1,imageUrl:f,fallback:p,alt:u="avatar",className:h}){const v="number"==typeof c?c:n[c],x=v>40?3:2,[b,g]=s(!1);l(()=>{g(!1)},[f]);const j="string"==typeof f&&/^(\/|https?:\/\/)/.test(f)&&!b;/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"circle-avatar",className:a("relative shrink-0 overflow-hidden rounded-full",h),style:{width:v,height:v,...d?{border:`${x}px solid var(--brand-soft)`}:null},children:j?/* @__PURE__ */e(i,{src:f,alt:u,fill:!0,sizes:"76px",className:"object-cover",onError(){return g(!0)}}):/* @__PURE__ */t(r,{children:[
|
|
4
|
+
/* @__PURE__ */e(o,{tone:m,className:"absolute inset-0 h-full"}),void 0!==p?/* @__PURE__ */e("div",{className:"absolute inset-0 flex items-center justify-center text-gray-700",children:p}):null]})})}export{c as CircleAvatar};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r,useEffect as s}from"react";import{cn as i}from"../../lib/utils.js";import{Text as a}from"../Text/Text.js";const o={sm:{diameter:48,stroke:5,labelSize:"caption2"},md:{diameter:72,stroke:7,labelSize:"body2"},lg:{diameter:100,stroke:9,labelSize:"body1"},xl:{diameter:140,stroke:12,labelSize:"heading2"}};function l({value:l,size:n="md",stroke:c,color:m,trackColor:d,showPercentage:h=!0,centerSlot:k,className:f}){const b="string"==typeof n?o[n]:{diameter:n,stroke:c??Math.max(2,Math.round(n/10)),labelSize:"body1"},u=b.diameter,y=c??b.stroke,x=(u-y)/2,g=2*Math.PI*x,p=Math.min(Math.max(l,0),100),z=b.labelSize,[S,v]=r(0);s(()=>{const e=requestAnimationFrame(()=>v(p));return()=>cancelAnimationFrame(e)},[p]);const N=g-g*S/100;/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"circular-progress",className:i("relative inline-flex items-center justify-center",f),style:{width:u,height:u},children:[
|
|
4
|
+
/* @__PURE__ */e("svg",{width:u,height:u,style:{transform:"rotate(-90deg)"},children:[
|
|
5
|
+
/* @__PURE__ */t("circle",{cx:u/2,cy:u/2,r:x,fill:"none",strokeWidth:y,className:i(!d&&"stroke-gray-100"),stroke:d}),
|
|
6
|
+
/* @__PURE__ */t("circle",{cx:u/2,cy:u/2,r:x,fill:"none",strokeWidth:y,strokeLinecap:"round",strokeDasharray:g,strokeDashoffset:N,className:i(!m&&"stroke-brand"),stroke:m,style:{transition:"stroke-dashoffset 600ms cubic-bezier(0.2, 0.7, 0.1, 1)"}})]}),(k??h)&&/* @__PURE__ */t("div",{className:"absolute inset-0 flex items-center justify-center",children:k??/* @__PURE__ */t(a,{size:z,weight:"extrabold",className:i(!m&&"text-brand"),style:m?{color:m}:void 0,children:`${p}%`})})]})}export{l as CircularProgress};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as a}from"react/jsx-runtime";import{cn as t}from"../../lib/utils.js";import{CircleAvatar as r}from"../CircleAvatar/CircleAvatar.js";function i({avatar:i,imageUrl:s,author:l,text:m,time:n,divider:c=!0,className:d,...o}){/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"comment-row",className:t("flex items-start gap-2.5 py-3 animate-fade-up",c&&"border-b border-gray-100 last:border-b-0",d),...o,children:[
|
|
4
|
+
/* @__PURE__ */a("div",{className:"shrink-0",children:i??/* @__PURE__ */a(r,{imageUrl:s,size:"sm"})}),
|
|
5
|
+
/* @__PURE__ */e("div",{className:"min-w-0 flex-1",children:[
|
|
6
|
+
/* @__PURE__ */e("div",{className:"flex items-baseline justify-between gap-2",children:[
|
|
7
|
+
/* @__PURE__ */a("span",{className:"text-base font-bold text-gray-900 truncate",children:l}),n?/* @__PURE__ */a("span",{className:"shrink-0 text-xs text-gray-500",children:n}):null]}),
|
|
8
|
+
/* @__PURE__ */a("div",{className:"mt-1 text-base leading-[1.5] text-gray-700",children:m})]})]})}export{i as CommentRow};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as l from"@radix-ui/react-popover";import a from"react";import{cn as n}from"../../lib/utils.js";import{CircleAvatar as r}from"../CircleAvatar/CircleAvatar.js";import{Text as o}from"../Text/Text.js";import{TextArea as i}from"../TextField/TextArea.js";function s({comment:r,isAuthor:i,onDelete:s,onReport:c}){const[p,d]=a.useState(!1),m=i?[{key:"delete",label:"삭제",onClick(){return s?.(r)},className:"text-red-600"}]:[{key:"report",label:"신고",onClick(){return c?.(r)},className:"text-red-600"}];/* @__PURE__ */
|
|
3
|
+
return t(l.Root,{open:p,onOpenChange:d,children:[
|
|
4
|
+
/* @__PURE__ */e(l.Trigger,{asChild:!0,children:/* @__PURE__ */t("button",{type:"button","aria-label":"댓글 더보기 메뉴",onClick(e){return e.stopPropagation()},className:n("inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-full","text-gray-400 transition-colors hover:bg-gray-100 hover:text-gray-700"),children:[
|
|
5
|
+
/* @__PURE__ */e("span",{className:"sr-only",children:"더보기"}),
|
|
6
|
+
/* @__PURE__ */t("span",{className:"flex items-center gap-0.5",children:[
|
|
7
|
+
/* @__PURE__ */e("span",{className:"h-[3px] w-[3px] rounded-full bg-current"}),
|
|
8
|
+
/* @__PURE__ */e("span",{className:"h-[3px] w-[3px] rounded-full bg-current"}),
|
|
9
|
+
/* @__PURE__ */e("span",{className:"h-[3px] w-[3px] rounded-full bg-current"})]})]})}),
|
|
10
|
+
/* @__PURE__ */e(l.Portal,{children:/* @__PURE__ */e(l.Content,{align:"end",sideOffset:6,className:n("z-50 min-w-[120px] overflow-hidden rounded-3 border border-gray-200 bg-white p-1.5 shadow-sm","data-[state=closed]:animate-out data-[state=open]:animate-in","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"),children:/* @__PURE__ */e("div",{className:"flex flex-col gap-0.5",children:m.map(t=>/* @__PURE__ */e("button",{type:"button",className:n("rounded-2 px-3 py-2 text-left transition-colors hover:bg-gray-100",t.className),onClick(){t.onClick(),d(!1)},children:/* @__PURE__ */e(o,{size:"caption1",weight:"medium",children:t.label})},t.key))})})})]})}function c({open:l,commentId:r,autoFocus:s,placeholder:c,submitLabel:p,cancelLabel:d,onSubmit:m,onCancel:u}){const[h,b]=a.useState(""),y=a.useRef(null),g=a.useRef(null);return a.useEffect(()=>{if(!l){b("");const e=document.activeElement;return void(e instanceof HTMLElement&&y.current?.contains(e)&&e.blur())}s&&g.current?.focus()},[l,s]),/* @__PURE__ */e("div",{ref:y,inert:!l,"aria-hidden":!l,className:n("overflow-hidden transition-all duration-200 ease-out",l?"mt-1 max-h-[260px] opacity-100":"mt-0 max-h-0 opacity-0 pointer-events-none"),onClick(e){return e.stopPropagation()},children:/* @__PURE__ */t("div",{className:"flex flex-col gap-1.5 p-1 sm:flex-row sm:items-end",children:[
|
|
11
|
+
/* @__PURE__ */e(i,{ref:g,"data-reply-input":l?"":void 0,"data-comment-id":r,value:h,onChange(e){return b(e.target.value)},placeholder:c,rows:2,className:"min-h-[64px] text-[0.9375rem] sm:min-h-[52px] sm:text-sm"}),
|
|
12
|
+
/* @__PURE__ */t("div",{className:"flex shrink-0 items-center justify-end gap-1.5",children:[
|
|
13
|
+
/* @__PURE__ */e("button",{type:"button",className:"rounded-2 px-2 py-1.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700",onClick:u,children:/* @__PURE__ */e(o,{size:"caption2",weight:"medium",children:d})}),
|
|
14
|
+
/* @__PURE__ */e("button",{type:"button",className:n("rounded-2 bg-brand px-2.5 py-1.5 text-white transition-colors hover:bg-main-700",!h.trim()&&"cursor-not-allowed bg-main-400 hover:bg-main-400"),onClick(){return m(h)},disabled:!h.trim(),children:/* @__PURE__ */e(o,{size:"caption2",weight:"bold",children:p})})]})]})})}function p({comment:l,depth:a,isLast:i,currentUserId:d,activeReplyTargetId:m,replyPlaceholder:u,replySubmitLabel:h,replyCancelLabel:b,replyButtonLabel:y,loadMoreRepliesLabel:g,autoFocusReply:x,onReplyOpen:f,onReplySubmit:R,onReplyCancel:v,onLoadMoreReplies:N,onDelete:L,onReport:w}){const C="boolean"==typeof l.isAuthor?l.isAuthor:Boolean(d&&l.author.id===d),k=Boolean(l.replies?.length),z=m===l.id,S=Boolean(l.hasMoreReplies),I=l.replies??[],M=0===a?!k:i;/* @__PURE__ */
|
|
15
|
+
return e("li",{children:/* @__PURE__ */t("div",{className:n("flex items-start gap-2.5 py-3 animate-fade-up",!i&&0===a&&"border-b border-gray-100"),children:[
|
|
16
|
+
/* @__PURE__ */e(r,{imageUrl:l.author.profileImageUrl,size:"sm",className:"shrink-0"}),
|
|
17
|
+
/* @__PURE__ */t("div",{className:"min-w-0 flex-1",children:[
|
|
18
|
+
/* @__PURE__ */t("div",{className:"flex items-baseline justify-between gap-2",children:[
|
|
19
|
+
/* @__PURE__ */e(o,{size:"caption1",weight:"bold",className:"truncate text-gray-900",children:l.author.nickname}),
|
|
20
|
+
/* @__PURE__ */t("div",{className:"flex shrink-0 items-center gap-1",children:[
|
|
21
|
+
/* @__PURE__ */e(o,{size:"caption3",weight:"regular",className:"text-gray-500",children:l.createdAt}),
|
|
22
|
+
/* @__PURE__ */e(s,{comment:l,isAuthor:C,onDelete:L,onReport:w})]})]}),
|
|
23
|
+
/* @__PURE__ */e(o,{as:"p",size:"caption1",weight:"regular",className:"mt-1 text-[0.9375rem] leading-[1.5] break-words whitespace-pre-wrap text-gray-700 sm:text-base",children:l.content}),k?/* @__PURE__ */e("ul",{className:"mt-2 -ml-5 space-y-0 border-l border-gray-100 pl-3",children:I.map((t,l)=>/* @__PURE__ */e(p,{comment:t,depth:a+1,isLast:l===I.length-1,currentUserId:d,activeReplyTargetId:m,replyPlaceholder:u,replySubmitLabel:h,replyCancelLabel:b,replyButtonLabel:y,loadMoreRepliesLabel:g,autoFocusReply:x,onReplyOpen:f,onReplySubmit:R,onReplyCancel:v,onLoadMoreReplies:N,onDelete:L,onReport:w},t.id))}):null,
|
|
24
|
+
/* @__PURE__ */e(c,{open:z,commentId:l.id,autoFocus:x,placeholder:u,submitLabel:h,cancelLabel:b,onSubmit(e){return R(l,e)},onCancel:v}),M&&!z||S?/* @__PURE__ */t("div",{className:"mt-1.5 flex items-center gap-1",children:[M&&!z?/* @__PURE__ */e("button",{type:"button",className:"inline-flex rounded-2 px-1.5 py-0.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700",onClick(){return f(l)},children:/* @__PURE__ */e(o,{size:"caption2",weight:"medium",children:y})}):null,S?/* @__PURE__ */e("button",{type:"button",className:"inline-flex rounded-2 px-1.5 py-0.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-gray-700",onClick(){return N?.(l)},disabled:l.isLoadingReplies,children:/* @__PURE__ */e(o,{size:"caption2",weight:"medium",children:l.isLoadingReplies?"불러오는 중...":`${g}${"number"==typeof l.remainingReplyCount?` (${l.remainingReplyCount})`:""}`})}):null]}):null]})]})})}function d({comments:t,currentUserId:l,className:r,replyPlaceholder:i="댓글을 입력하세요.",replySubmitLabel:s="등록",replyCancelLabel:c="취소",replyButtonLabel:d="답글 달기",loadMoreRepliesLabel:m="대댓글 더보기",autoFocusReply:u=!0,onReplySubmit:h,onLoadMoreReplies:b,onDelete:y,onReport:g}){const[x,f]=a.useState(null),R=e=>{f(e.id)},v=()=>{f(null)},N=(e,t)=>{const l=t.trim();l&&(h?.(e,l),f(null))};return t.length?/* @__PURE__ */e("ul",{className:n("flex flex-col",r),children:t.map((a,n)=>/* @__PURE__ */e(p,{comment:a,depth:0,isLast:n===t.length-1,currentUserId:l,activeReplyTargetId:x,replyPlaceholder:i,replySubmitLabel:s,replyCancelLabel:c,replyButtonLabel:d,loadMoreRepliesLabel:m,autoFocusReply:u,onReplyOpen:R,onReplySubmit:N,onReplyCancel:v,onLoadMoreReplies:b,onDelete:y,onReport:g},a.id))}):/* @__PURE__ */e(o,{size:"caption1",weight:"regular",className:n("block py-2 text-gray-500",r),children:"아직 댓글이 없습니다."})}export{d as CommentThread};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import o from"react";import{format as t}from"date-fns";import*as r from"@radix-ui/react-popover";import{cn as i}from"../../lib/utils.js";import{useIsMobile as l}from"../../hooks/useMediaQuery.js";import{Calendar as d}from"../Calendar/Calendar.js";import{Calendar as s}from"../Icons/Calendar.js";import{Text as n}from"../Text/Text.js";import{BottomSheet as c,BottomSheetTrigger as m,BottomSheetContent as h,BottomSheetTitle as f}from"../BottomSheet/BottomSheet.js";const p=i("z-50 w-auto text-gray-900 outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2","data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"),u="border-0 p-0 shadow-none",b=o.forwardRef(({label:o,placeholder:t,className:r,type:l="button",...d},c)=>/* @__PURE__ */a("button",{ref:c,type:l,className:i("group flex h-10 w-full items-center justify-between gap-3 rounded-3 border border-gray-200 bg-white px-4","outline-none transition-all duration-200","data-[state=open]:border-brand hover:border-gray-400 focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:border-gray-200 disabled:bg-gray-100 disabled:hover:border-gray-200",r),...d,children:[
|
|
3
|
+
/* @__PURE__ */e(n,{size:"body2",weight:"medium",className:i(o?"text-gray-900":"text-gray-500","group-disabled:text-gray-400"),children:o??t}),
|
|
4
|
+
/* @__PURE__ */e(s,{className:"size-4 text-gray-600 group-disabled:text-gray-400",strokeWidth:2.2})]}));function g(e){return e?{onMouseDownCapture(e){return e.stopPropagation()}}:{}}function y({children:a}){/* @__PURE__ */
|
|
5
|
+
return e(f,{className:"mb-3 text-center",children:a})}function C({value:i,onChange:s,className:n,placeholder:f="YYYY/MM/DD",disabled:C=!1,disableClickPropagation:N=!1,mobileSheet:v=!0,sheetTitle:x,calendarProps:w}){const[M,j]=o.useState(!1),P=l(),S=v&&P,T=i?t(i,"yyyy/MM/dd"):void 0,O=/* @__PURE__ */e(d,{...w,mode:"single",selected:i,onSelect(e){s(e),e&&j(!1)},className:S?u:void 0,initialFocus:!0});return S?/* @__PURE__ */a(c,{open:M,onOpenChange:j,children:[
|
|
6
|
+
/* @__PURE__ */e(m,{asChild:!0,children:/* @__PURE__ */e(b,{label:T,placeholder:f,className:n,disabled:C})}),
|
|
7
|
+
/* @__PURE__ */a(h,{showHandle:!1,showClose:!0,children:[
|
|
8
|
+
/* @__PURE__ */e(y,{children:x??f}),
|
|
9
|
+
/* @__PURE__ */e("div",{className:"flex justify-center",children:O})]})]}):/* @__PURE__ */a(r.Root,{open:M,onOpenChange:j,children:[
|
|
10
|
+
/* @__PURE__ */e(r.Trigger,{asChild:!0,children:/* @__PURE__ */e(b,{label:T,placeholder:f,className:n,disabled:C})}),
|
|
11
|
+
/* @__PURE__ */e(r.Portal,{children:/* @__PURE__ */e(r.Content,{className:p,align:"start",sideOffset:8,...g(N),children:O})})]})}function N({value:i,onChange:s,className:n,placeholder:f="기간을 선택해주세요",disabled:C=!1,disableClickPropagation:N=!1,mobileSheet:v=!0,sheetTitle:x,calendarProps:w}){const[M,j]=o.useState(!1),P=l(),S=v&&P,T=o.useRef(!1),O=i?.from&&i?.to?`${t(i.from,"yyyy/MM/dd")} - ${t(i.to,"yyyy/MM/dd")}`:i?.from?`${t(i.from,"yyyy/MM/dd")} -`:void 0,k=e=>{j(e),T.current=!!e&&Boolean(i?.from&&i?.to)},z=/* @__PURE__ */e(d,{...w,mode:"range",selected:i,onSelect(e,a){if(T.current&&a)return s({from:a,to:void 0}),void(T.current=!1);s(e),e?.from&&e?.to&&(j(!1),T.current=!1)},className:S?u:void 0,initialFocus:!0});return S?/* @__PURE__ */a(c,{open:M,onOpenChange:k,children:[
|
|
12
|
+
/* @__PURE__ */e(m,{asChild:!0,children:/* @__PURE__ */e(b,{label:O,placeholder:f,className:n,disabled:C})}),
|
|
13
|
+
/* @__PURE__ */a(h,{showHandle:!1,showClose:!0,children:[
|
|
14
|
+
/* @__PURE__ */e(y,{children:x??f}),
|
|
15
|
+
/* @__PURE__ */e("div",{className:"flex justify-center",children:z})]})]}):/* @__PURE__ */a(r.Root,{open:M,onOpenChange:k,children:[
|
|
16
|
+
/* @__PURE__ */e(r.Trigger,{asChild:!0,children:/* @__PURE__ */e(b,{label:O,placeholder:f,className:n,disabled:C})}),
|
|
17
|
+
/* @__PURE__ */e(r.Portal,{children:/* @__PURE__ */e(r.Content,{className:p,align:"start",sideOffset:8,...g(N),children:z})})]})}b.displayName="PickerTrigger";export{C as DatePicker,N as RangeDatePicker};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import*as a from"@radix-ui/react-dialog";import{cva as n}from"class-variance-authority";import{cn as i}from"../../lib/utils.js";import{Close as o}from"../Icons/Close.js";import{Icon as r}from"../Icons/Icon.js";import{Text as s}from"../Text/Text.js";import{Button as l}from"../Button/Button.js";const c=a.Root,d=a.Trigger,m=a.Portal,u=a.Close;function h({className:t,...n}){/* @__PURE__ */
|
|
3
|
+
return e(a.Overlay,{className:i("fixed inset-0 z-50 bg-black/50","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...n})}const p=n(i("fixed top-[50%] left-[50%] z-50 flex flex-col","w-[calc(100%-2rem)] max-w-[92vw] -translate-x-1/2 -translate-y-1/2","rounded-4 bg-white shadow-xl","overflow-hidden","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","duration-200"),{variants:{size:{sm:"sm:w-[360px]",md:"sm:w-[480px]",lg:"sm:w-[600px]",xl:"sm:w-[760px]"}},defaultVariants:{size:"md"}});function f({className:n,children:r,size:s,showClose:l=!0,...c}){/* @__PURE__ */
|
|
4
|
+
return t(m,{children:[
|
|
5
|
+
/* @__PURE__ */e(h,{}),
|
|
6
|
+
/* @__PURE__ */t(a.Content,{className:i(p({size:s}),n),...c,children:[r,l&&/* @__PURE__ */t(a.Close,{className:i("absolute top-4 right-4 flex h-7 w-7 items-center justify-center","rounded-2 bg-gray-100 text-gray-700 transition-colors","hover:bg-gray-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/30"),children:[
|
|
7
|
+
/* @__PURE__ */e(o,{width:14,height:14}),
|
|
8
|
+
/* @__PURE__ */e("span",{className:"sr-only",children:"닫기"})]})]})]})}function x({className:t,...a}){/* @__PURE__ */
|
|
9
|
+
return e("div",{className:i("flex items-center justify-between px-5 pt-5 pb-3",t),...a})}function g({className:t,...a}){/* @__PURE__ */
|
|
10
|
+
return e("div",{className:i("px-5 pt-1 pb-5 text-gray-700",t),...a})}function b({className:t,...a}){/* @__PURE__ */
|
|
11
|
+
return e("div",{className:i("flex justify-end gap-2 border-t border-gray-100 bg-gray-50 px-5 py-3.5",t),...a})}function w({className:t,children:n,...o}){/* @__PURE__ */
|
|
12
|
+
return e(a.Title,{asChild:!0,...o,children:/* @__PURE__ */e(s,{size:"body2",weight:"extrabold",className:i("text-black tracking-[-0.3px]",t),children:n})})}function N({className:t,children:n,...o}){/* @__PURE__ */
|
|
13
|
+
return e(a.Description,{asChild:!0,...o,children:/* @__PURE__ */e(s,{size:"caption2",weight:"regular",className:i("text-gray-700 leading-[1.55]",t),children:n})})}const y={brand:{iconBg:"bg-brand-soft",iconColor:"text-brand",buttonVariant:"primary"},danger:{iconBg:"bg-red-300/40",iconColor:"text-red-600",buttonVariant:"danger"},mint:{iconBg:"bg-mint-200",iconColor:"text-mint-900",buttonVariant:"primary"}};function C({open:n,defaultOpen:o,onOpenChange:p,tone:f="brand",icon:x="Flag",title:g,description:b,confirmLabel:w="확인",cancelLabel:N="취소",onConfirm:C,onCancel:v,children:z}){const j=y[f];/* @__PURE__ */
|
|
14
|
+
return t(c,{open:n,defaultOpen:o,onOpenChange:p,children:[z&&/* @__PURE__ */e(d,{asChild:!0,children:z}),
|
|
15
|
+
/* @__PURE__ */t(m,{children:[
|
|
16
|
+
/* @__PURE__ */e(h,{}),
|
|
17
|
+
/* @__PURE__ */t(a.Content,{className:i("fixed top-1/2 left-1/2 z-50 -translate-x-1/2 -translate-y-1/2","w-[360px] max-w-[92vw] rounded-4 bg-white px-5 pt-6 pb-5 text-center","shadow-xl","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","duration-200"),children:[
|
|
18
|
+
/* @__PURE__ */e("div",{className:i("mx-auto mb-3.5 flex h-14 w-14 items-center justify-center rounded-full",j.iconBg),children:/* @__PURE__ */e(r,{name:x,size:26,className:j.iconColor})}),
|
|
19
|
+
/* @__PURE__ */e(a.Title,{asChild:!0,children:/* @__PURE__ */e(s,{size:"body2",weight:"extrabold",className:"block text-black tracking-[-0.3px]",children:g})}),b&&/* @__PURE__ */e(a.Description,{asChild:!0,children:/* @__PURE__ */e(s,{size:"caption2",weight:"regular",className:"mt-1.5 block whitespace-pre-line text-gray-600 leading-[1.55]",children:b})}),
|
|
20
|
+
/* @__PURE__ */t("div",{className:"mt-5 flex gap-2",children:[
|
|
21
|
+
/* @__PURE__ */e(u,{asChild:!0,children:/* @__PURE__ */e(l,{variant:"secondary",className:"h-11 flex-1 rounded-2.5",onClick:v,children:N})}),
|
|
22
|
+
/* @__PURE__ */e(u,{asChild:!0,children:/* @__PURE__ */e(l,{variant:j.buttonVariant,className:"h-11 flex-1 rounded-2.5",onClick:C,children:w})})]})]})]})]})}export{C as ConfirmDialog,c as Dialog,g as DialogBody,u as DialogClose,f as DialogContent,N as DialogDescription,b as DialogFooter,x as DialogHeader,h as DialogOverlay,m as DialogPortal,w as DialogTitle,d as DialogTrigger};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{ConfirmDialog as o,Dialog as r,DialogBody as i,DialogClose as m,DialogContent as p,DialogDescription as t,DialogFooter as a,DialogHeader as e,DialogOverlay as f,DialogPortal as g,DialogTitle as j,DialogTrigger as l}from"./Dialog.js";export{o as ConfirmDialog,r as Dialog,i as DialogBody,m as DialogClose,p as DialogContent,t as DialogDescription,a as DialogFooter,e as DialogHeader,f as DialogOverlay,g as DialogPortal,j as DialogTitle,l as DialogTrigger};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import*as t from"react";import{cva as o}from"class-variance-authority";import{cn as a}from"../../lib/utils.js";import{ChevronDown as s}from"../Icons/ChevronDown.js";const i=o(["inline-flex w-full items-center justify-between rounded-2 border bg-white text-gray-900 font-medium","transition-[border-color,box-shadow,background-color] duration-150 ease-out outline-none","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:bg-gray-100 disabled:text-gray-400"],{variants:{size:{sm:"h-8 px-3 text-xs",md:"h-[38px] px-3.5 text-sm",lg:"h-[46px] px-4 text-base"},open:{true:"border-brand shadow-focus",false:"border-gray-200 hover:border-gray-300"}},defaultVariants:{size:"md",open:!1}}),l=t.forwardRef(({className:o,size:l,open:n,label:d,value:u,placeholder:b="선택",full:c=!1,disabled:m,...f},p)=>{const x=null==u||""===u,h=t.useId();/* @__PURE__ */
|
|
3
|
+
return e("div",{className:a(c?"w-full":"w-60"),children:[d?/* @__PURE__ */r("label",{htmlFor:h,className:"mb-1.5 inline-block text-2xs font-bold text-gray-700",children:d}):null,
|
|
4
|
+
/* @__PURE__ */e("button",{ref:p,id:h,type:"button",disabled:m,"aria-haspopup":"listbox","aria-expanded":!!n,className:a(i({size:l,open:n}),x&&"text-gray-400 font-normal",o),...f,children:[
|
|
5
|
+
/* @__PURE__ */r("span",{className:"truncate",children:x?b:u}),
|
|
6
|
+
/* @__PURE__ */r(s,{width:14,height:14,className:a("ml-2 shrink-0 transition-transform duration-150",n&&"rotate-180",m?"text-gray-400":"text-gray-500"),strokeWidth:2})]})]})});l.displayName="Dropdown";export{l as Dropdown};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t,jsxs as e}from"react/jsx-runtime";import*as a from"react";import{cn as o}from"../../lib/utils.js";import{Check as s}from"../Icons/Check.js";function r({items:r,value:d,onSelect:n,width:i=240,open:l,className:c,style:u,...m}){const p=void 0!==l,[b,f]=a.useState(l??!0);return a.useEffect(()=>{l&&f(!0)},[l]),p&&!b?null:/* @__PURE__ */t("div",{"data-slot":"dropdown-menu","data-state":p?l?"open":"closed":"open",role:"listbox",onAnimationEnd(t){t.target===t.currentTarget&&p&&!l&&f(!1)},className:o("rounded-2.5 border border-gray-200 bg-white p-1.5 shadow-lg","origin-top","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[state=closed]:slide-out-to-top-1 data-[state=open]:slide-in-from-top-1","duration-150 ease-out",c),style:{width:i,...u},...m,children:r.map(a=>{const r=a.value===d;/* @__PURE__ */
|
|
3
|
+
return e("div",{role:"option","aria-selected":r,"aria-disabled":a.disabled||void 0,onClick(){return!a.disabled&&n?.(a.value)},className:o("flex cursor-pointer items-center justify-between rounded-1.5 px-3 py-2 text-sm transition-colors",r?"bg-brand-softer font-bold text-brand":"font-medium text-gray-800 hover:bg-gray-50",a.disabled&&"cursor-not-allowed opacity-50"),children:[
|
|
4
|
+
/* @__PURE__ */t("span",{className:"truncate",children:a.label}),r?/* @__PURE__ */t(s,{className:"ml-2 h-3 w-3 shrink-0 text-brand",strokeWidth:10}):null]},a.value)})})}export{r as DropdownMenu};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as r}from"../../lib/utils.js";function n({selected:n,placeholder:o="추가",onRemove:l,onAddClick:i,className:a,...s}){/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"multi-select",onClick:i,className:r("flex min-h-[38px] w-80 flex-wrap items-center gap-1.5 rounded-2 border border-gray-200 bg-white px-3 py-2.5",i&&"cursor-pointer transition-colors hover:border-gray-300",a),...s,children:[n.map(r=>/* @__PURE__ */e("span",{className:"inline-flex items-center gap-1 rounded-1.5 bg-brand-soft px-2 py-0.5 text-2xs font-bold text-brand",children:[r,l?/* @__PURE__ */t("button",{type:"button",onClick(e){e.stopPropagation(),l(r)},"aria-label":`${r} 제거`,className:"ml-0.5 inline-flex h-3 w-3 items-center justify-center rounded-full text-brand transition-colors hover:bg-brand hover:text-white",children:/* @__PURE__ */t("svg",{width:"9",height:"9",viewBox:"0 0 9 9",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",children:/* @__PURE__ */t("path",{d:"M2 2l5 5M7 2l-5 5"})})}):null]},r)),
|
|
4
|
+
/* @__PURE__ */t("span",{className:"text-xs text-gray-400",children:o})]})}export{n as MultiSelect};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import r from"react";import{cn as o}from"../../lib/utils.js";import{Close as n}from"../Icons/Close.js";import{Text as a}from"../Text/Text.js";import{TextField as l}from"../TextField/TextField.js";function i({goals:i,defaultGoals:s=[],onGoalsChange:c,placeholder:u="목표를 입력하세요",disabled:d=!1,addOnBlur:m=!1,inputAriaLabel:p="목표 입력",maxGoals:h,className:f,...g}){const b=void 0!==i,[x,v]=r.useState(s),[y,w]=r.useState(""),C=r.useRef(!1),N=b?i:x,j=void 0!==h&&N.length>=h,k=!d&&!j&&y.trim().length>0,D=e=>{b||v(e),c?.(e)},E=()=>{if(d)return;const e=y.trim();e&&(D([...N,e]),w(""))};/* @__PURE__ */
|
|
3
|
+
return e("div",{className:o("flex w-full flex-col gap-2",f),...g,children:[N.map((r,l)=>/* @__PURE__ */e("div",{className:"flex h-10 w-full items-center justify-between rounded-2 border border-gray-200 bg-white px-5 animate-fade-up",children:[
|
|
4
|
+
/* @__PURE__ */t(a,{size:"caption2",weight:"regular",className:"line-clamp-1 text-gray-900",children:r}),
|
|
5
|
+
/* @__PURE__ */t("button",{type:"button","aria-label":`목표 삭제: ${r}`,disabled:d,onClick(){return(e=>{d||D(N.filter((t,r)=>r!==e))})(l)},className:o("inline-flex h-6 w-6 shrink-0 items-center justify-center rounded-2 text-gray-500 transition-colors hover:cursor-pointer",!d&&"hover:bg-gray-100 hover:text-gray-700",d&&"cursor-not-allowed text-gray-400"),children:/* @__PURE__ */t(n,{className:"h-4 w-4"})})]},`${r}-${l}`)),
|
|
6
|
+
/* @__PURE__ */t(l,{value:y,disabled:d||j,"aria-label":p,placeholder:j?`최대 ${h}개까지 입력할 수 있습니다`:u,className:"pr-16",iconRight:/* @__PURE__ */t("button",{type:"button","aria-label":"목표 추가",onMouseDown(e){return e.preventDefault()},onClick:E,disabled:!k,className:o("inline-flex h-7 items-center rounded-1.5 px-2.5 text-xs font-bold transition-colors",k?"bg-brand text-white hover:brightness-105 hover:cursor-pointer":"cursor-not-allowed bg-gray-100 text-gray-400"),children:"추가"}),onChange(e){return w(e.target.value)},onCompositionStart(){C.current=!0},onCompositionEnd(){C.current=!1},onKeyDown(e){"Enter"===e.key&&(e.nativeEvent.isComposing||C.current||229===e.nativeEvent.keyCode||(e.preventDefault(),E()))},onBlur(){m&&E()}})]})}export{i as GoalAddList};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import a from"react";import*as n from"@radix-ui/react-popover";import{cn as t}from"../../lib/utils.js";const l={main:["var(--gray-100)","var(--main-300)","var(--main-500)","var(--main-700)","var(--brand)"],mint:["var(--gray-100)","var(--mint-300)","var(--mint-500)","var(--mint-700)","var(--mint-900)"],blue:["var(--gray-100)","var(--blue-300)","var(--blue-400)","var(--blue-500)","var(--blue-600)"],green:["var(--gray-100)","var(--green-200)","var(--green-400)","var(--green-500)","var(--green-700)"],gray:["var(--gray-100)","var(--gray-300)","var(--gray-500)","var(--gray-700)","var(--gray-900)"]};function o({cells:o,cols:i=20,rows:u=7,tone:s="main",palette:d,gap:c=3,cellRadius:m=3,ariaLabel:v,renderCellTooltip:g,renderCellActions:p,onCellClick:f,onCellHover:b,className:h,...y}){const x=d??l[s],w=u*i,M=o??Array.from({length:w},()=>0),R=Boolean(g),[C,A]=a.useState(null),[N,T]=a.useState(null),k=a.useRef(null),z=a.useRef(null),L=C??N,O=null===L?0:Math.max(0,Math.min(4,Math.round(M[L]??0))),j=()=>{null!==z.current&&(clearTimeout(z.current),z.current=null)},E=()=>{j(),A(null),T(null)};/* @__PURE__ */
|
|
3
|
+
return e("div",{"data-slot":"heatmap",role:R?void 0:"img",className:t("w-full",h),style:{display:"grid",gridTemplateRows:`repeat(${u}, 1fr)`,gridAutoFlow:"column",gridAutoColumns:"1fr",gap:c},...y,children:[M.slice(0,w).map((e,a)=>{const n=Math.max(0,Math.min(4,Math.round(e)));if(!R)/* @__PURE__ */
|
|
4
|
+
return r("div",{"aria-label":v?.(a,n),style:{aspectRatio:"1",borderRadius:m,background:x[n]}},a);const l={index:a,level:n},o=C===a;/* @__PURE__ */
|
|
5
|
+
return r("button",{type:"button","aria-label":v?.(a,n),className:t("cursor-pointer transition-[box-shadow,transform] duration-150 ease-out","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-gray-800 focus-visible:ring-offset-1",o&&"ring-2 ring-gray-800 ring-offset-1"),style:{aspectRatio:"1",borderRadius:m,background:x[n],border:"none",padding:0},onMouseEnter(e){j(),k.current=e.currentTarget,b?.(l),null===C&&T(a)},onMouseLeave(){b?.(null),null===C&&(z.current=setTimeout(()=>T(null),80))},onClick(e){j(),k.current=e.currentTarget,o?E():(A(a),T(null),f?.(l))}},a)}),R?
|
|
6
|
+
/* @__PURE__ */e(n.Root,{open:null!==L,onOpenChange(e){e||E()},children:[
|
|
7
|
+
/* @__PURE__ */r(n.Anchor,{virtualRef:k}),
|
|
8
|
+
/* @__PURE__ */r(n.Portal,{children:/* @__PURE__ */e(n.Content,{side:"top",sideOffset:4,onOpenAutoFocus(e){return e.preventDefault()},onMouseEnter:j,onMouseLeave(){null===C&&T(null)},className:t("z-50 min-w-[120px] rounded-2 bg-gray-900 px-3 py-2 text-xs text-white shadow-default","animate-in fade-in-0 zoom-in-95","data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95","data-[side=top]:slide-in-from-bottom-2 data-[side=bottom]:slide-in-from-top-2"),children:[null!==L&&g?/* @__PURE__ */r("div",{className:"whitespace-nowrap text-xs",children:g({index:L,level:O})}):null,null!==L&&C===L&&p?/* @__PURE__ */r("div",{className:"mt-2",children:p({index:L,level:O})}):null]})})]},L??"closed"):null]})}export{o as Heatmap};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as A,jsx as g}from"react/jsx-runtime";const i=i=>/* @__PURE__ */A("svg",{width:"60",height:"60",viewBox:"0 0 60 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",...i,children:[
|
|
3
|
+
/* @__PURE__ */g("rect",{width:"60",height:"60",fill:"url(#pattern0_3714_3925)"}),
|
|
4
|
+
/* @__PURE__ */A("defs",{children:[
|
|
5
|
+
/* @__PURE__ */g("pattern",{id:"pattern0_3714_3925",patternContentUnits:"objectBoundingBox",width:"1",height:"1",children:/* @__PURE__ */g("use",{xlinkHref:"#image0_3714_3925",transform:"translate(-0.1 -0.1) scale(0.0125)"})}),
|
|
6
|
+
/* @__PURE__ */g("image",{id:"image0_3714_3925",width:"96",height:"96",preserveAspectRatio:"none",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAYKADAAQAAAABAAAAYAAAAACpM19OAAAGy0lEQVR4Ae2dT2gcVRzHk6wR1nQJkYZqsnR3kbIoLRbsJafQg4b0kJMHPVmCh4pQb/Wo1+ZWQexBigVBzz00tB6KJy8RFAsSetjd/G1I0IQkLhg28fszb0uyO/Peb9682dmd+T0YZue9N7/f+32+M2/+v+3rkyQEhIAQEAJCQAgIASEgBIRA2gj0d3PA4+Pj+cHBwXeOjo4u9vf3X8C8iPa+hulVTGcwvYyJ0r+Y9jD9hek56lZR9xnmTw8ODn5dXV1dQX5Xpq4SoFwu5+r1+jRITQPeVcwLjqjVIMgT2JrPZrPzi4uLu47shjbTDQJkCoXCFCKZxXQNUzZ0VHoDdRQ/xHSvVqs9wryhrx5taWwCjI6OnhkaGvoYW+ZnCLEYbZi+1qvY0+7s7+9/u7m5SV1Yx1PHBRgbG3sF/fqniPQWprMdj9jb4Ray53C8+Hptbe0f7yrR5HZUgGKx+AG2+NsI5Xw04YS2uoQ94vNqtfpjaEtMAx0RAH18CYHdBfz3mO2KtRra+hhtvYFjRCXqhmSidoCt/jp8PMD0VtS+HNp/A7ZmR0ZG1re3t39zaLfNVGR7QD6fzw4MDHyDremjNq89lIE94f7h4eEnKysrdPbkPEUiALqc19FS2uqvOG9xPAYX4HYGXdK6a/fOBSiVSmVsMXR+7eoiynXMtvZq2KOnKpXKoq0Br/UGvDJt89DtXAL8n7F+0uATkgLFRjHa8vFaz9keoLZ8gn/Oy1GC8jawJ0y62hOcCKD6/F8AOYlbvte2U0PmhItjQuguiM520Bg64KYFPglCsT5QsdOydQotAJ1qwntSznaCgLyiYg+yTlvdUBdi6iLrizarKcnANc5lXKzVwlysWR8D6PYCOP+OKZcS3n5h0rOFt21vW1h3QXRvR+D/r0lOsfATSJtvJYC6q9kTN9a00TsqpJuMxMTGXOAuSN3P/xPOYrmljF1d22Z0jUc2IByss4TnCW8GfZ4QeA9QD1Nige8AUpQmzis2gXwEEoAeI8I6PcmS5E3glmLkXeqRG0gAeoYLG93yGNEjnNizzipG7IYEESCDgw09QJekIaAYsa+v2ALg4EavjhQ1vqXomEBRsWLxYAsAa7Msi1KJCLBZsQSgN9ZglF6aksQjcE0xM9ZmCaBeF4z6jTVjY3uoQlYxMzaZJQCsTBstSYVWAixmLAFwr+Nqq3VZ1hPgMjMKQK+Iw1WaHrboyfJLC4qddg2jAPR+vtaCFPoS4LAzCoALi4u+HqRAS4DDzigA+rILWi9S6EuAw84oAFQs+nqQAi0BDruXtBaOC+mbLGfJdD8/rKOw9h0/TzCyM+4BAEIfxEmyI2BkxxGAngFIsiNgZMcRoPkpqF0T0r2WkR1HgHQjjDh6jgD0EbQkOwJGdhwB9ux8y1ogYGTHEYA+/5dkR8DIjnMd8By+y3b+29cKe55tOs8Pa7+9xaFyiJ02GfcAXE5XtRak0JcAh51RAFxOP/P1IAVaAhx2RgGg4lOtFyn0JcBhZxSAxtvx9SAFWgIcdkYB1GBHNa0nKfQiUOMMFGUUgCyjL3vi5UHy/AlwmbEEgJt5f1dS4kOAxYwlAA3zBSd1H0eS3U6grpi1l7TksARQY6zRMF+SeAQecselYwmgfN7j+ZZaIMBmxRYAtwBoAI6q4DUSqCpWxopUgS0A6jZwYXGHZTXFlRQj9kiMQQToo9EFwXYrxXxNoW8pRqZ6L8oDCaCGdpx7sbb8aCUwF3T4y0ACkDca2hGzpVbPstxHn6kSm0BJ+82tnyX1ofYPfuVpzEff/6HNcJdWAhBgiPAIl9vytTxYAP5jwKdv6AKnwF1Q0wPg38DvrhkEu9muGOa7ioWVa2sBcK5bgfI3rbwmaCViQCxsQ2J/z+rlgMbJGR4eLqERl73Kk56HLf8+4H8ZJk7rPaDplAY1xe+F5nKK5gsq9lAhhxZAjSg7g1ak6aENxTrjYjTd0AKQ/NgN12lQU/zcoOWEJxq2copidhGn9Wmol3Ma1DSTyfyEsnNe5QnI22g0Gu9iy//DVSxO9oBmY6hh2DomsZzE7oiGLp50CZ+4ORWADKoRZSfwM0kHZoplwtVoucSpmUKdhjaNtM53dnb2crnc9zg9zff6KSqdauJs5/3l5eW/W+N0sez0GODVINyyuI4gvkJZrw1vuYuN5yZuMXznFZervMgFoIbihdkSgpG/MPFQrSMCNP2qu6i3sdytg/4l8098mgLQXP7G6iQN3Ek9vdi5Jfkjt2PWsQlwQmr5K8MTMGL9ScN8yZ95xirBaedp+Dvb0xHLkhAQAkJACAgBISAEhIAQEAJpIPAfJpcfclVEKqsAAAAASUVORK5CYII="})]})]});export{i as AddCircle};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";const o=({strokeWidth:o=14,...r})=>/* @__PURE__ */t("svg",{width:"65",height:"50",viewBox:"0 0 65 50",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M57.5 7.5L23.125 41.875L7.5 26.25",stroke:"currentColor",strokeWidth:o,strokeLinecap:"round",strokeLinejoin:"round"})});export{o as Check};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";const r=r=>/* @__PURE__ */t("svg",{width:"8",height:"8",viewBox:"0 0 8 8",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M0 0.6C0 0.268629 0.268629 0 0.6 0H6C7.10457 0 8 0.895431 8 2V7.4C8 7.73137 7.73137 8 7.4 8C7.06863 8 6.8 7.73137 6.8 7.4V2.2C6.8 1.64772 6.35228 1.2 5.8 1.2H0.6C0.268629 1.2 0 0.931371 0 0.6Z",fill:"currentColor"})});export{r as Chevron};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M20 8L12 16L4 8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as ChevronDown};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M16 20L8 12L16 4",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as ChevronLeft};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M8 4L16 12L8 20",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as ChevronRight};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M4 16L12 8L20 16",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as ChevronUp};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";const r=r=>/* @__PURE__ */t("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */t("path",{d:"M18 6L6 18M18 18L6 6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round"})});export{r as Close};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as o}from"react/jsx-runtime";const r=r=>/* @__PURE__ */o("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r,children:/* @__PURE__ */o("path",{d:"M18.178 8c5.096 0 5.096 8 0 8-5.095 0-7.133-8-12.739-8-4.585 0-4.585 8 0 8 5.606 0 7.644-8 12.74-8Z",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})});export{r as Endless};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as C,jsx as e}from"react/jsx-runtime";const l=l=>/* @__PURE__ */C("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...l,children:[
|
|
3
|
+
/* @__PURE__ */e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M1.01759 11.1645C4.0676 6.79251 8.02225 4.5 11.9841 4.5C16.6371 4.5 20.6453 7.53129 23.0101 11.1836L23.0112 11.1853C23.1677 11.4285 23.2509 11.7115 23.2509 12.0007C23.2509 12.2893 23.168 12.5719 23.012 12.8147C20.6493 16.5141 16.6671 19.5 11.9841 19.5C7.2513 19.5 3.3458 16.5203 0.988892 12.8317C0.828743 12.583 0.745679 12.2925 0.750173 11.9968C0.754679 11.7002 0.846976 11.4117 1.0154 11.1676L1.01759 11.1645ZM2.25001 12.0196L2.25208 12.0228C4.42901 15.4304 7.91813 18 11.9841 18C16.0045 18 19.5689 15.4195 21.7484 12.0065L21.7498 12.0043C21.7505 12.0032 21.7509 12.002 21.7509 12.0007C21.7509 12.0002 21.7508 11.9996 21.7507 11.9991C21.7505 11.9985 21.7503 11.9979 21.7499 11.9973C19.5621 8.61915 15.9686 6 11.9841 6C8.63995 6 5.10025 7.93555 2.25001 12.0196Z",fill:"currentColor"}),
|
|
4
|
+
/* @__PURE__ */e("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 9C10.3431 9 9 10.3431 9 12C9 13.6569 10.3431 15 12 15C13.6569 15 15 13.6569 15 12C15 10.3431 13.6569 9 12 9ZM7.5 12C7.5 9.51472 9.51472 7.5 12 7.5C14.4853 7.5 16.5 9.51472 16.5 12C16.5 14.4853 14.4853 16.5 12 16.5C9.51472 16.5 7.5 14.4853 7.5 12Z",fill:"currentColor"})]});export{l as Eye};
|