@1d1s/design-system 2.12.2 → 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/utils.d.ts +2 -0
- package/package.json +19 -6
- package/dist/index.es.js +0 -374
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { VariantProps } from 'class-variance-authority';
|
|
2
2
|
declare const tagVariants: (props?: ({
|
|
3
|
-
tone?: "
|
|
3
|
+
tone?: "brand" | "mint" | "blue" | "green" | "gray" | "red" | null | undefined;
|
|
4
4
|
size?: "sm" | "md" | "lg" | "xs" | null | undefined;
|
|
5
5
|
pill?: boolean | null | undefined;
|
|
6
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e}from"react/jsx-runtime";import{cn as t}from"../../lib/utils.js";import{cva as r}from"class-variance-authority";const a=r("inline-flex items-center justify-center font-bold whitespace-nowrap",{variants:{tone:{gray:"bg-gray-100 text-gray-700",brand:"bg-brand-soft text-brand",mint:"bg-mint-200 text-mint-900",blue:"bg-blue-200 text-blue-600",red:"bg-red-300 text-red-700",green:"bg-green-200 text-green-700"},size:{xs:"text-3xs py-0.5 px-1.5 gap-0.5",sm:"text-3xs py-0.5 px-2 gap-1",md:"text-2xs py-1 px-2.5 gap-1",lg:"text-xs py-1.5 px-3 gap-1"},pill:{true:"rounded-full",false:"rounded-1"}},defaultVariants:{tone:"brand",size:"md",pill:!0}});function n({className:r,tone:n,size:s,pill:i,icon:l,children:p,...o}){/* @__PURE__ */
|
|
3
|
+
return e("span",{"data-slot":"tag",className:t(a({tone:n,size:s,pill:i,className:r})),...o,children:[l,p]})}export{n as Tag};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";import{cn as e}from"../../lib/utils.js";import{cva as i}from"class-variance-authority";const a=i("leading-none",{variants:{size:{display1:"text-5xl",display2:"text-4xl",heading1:"text-3xl",heading2:"text-2xl",body1:"text-xl",body2:"text-lg",caption1:"text-base",caption2:"text-sm",caption3:"text-xs",caption4:"text-2xs",caption5:"text-3xs",pageTitle:"text-3xl"},weight:{extrabold:"font-extrabold",bold:"font-bold",semibold:"font-semibold",medium:"font-medium",regular:"font-normal",light:"font-light"}},defaultVariants:{size:"body2",weight:"medium"}});function o({className:i,size:o,weight:s,as:l="span",...n}){/* @__PURE__ */
|
|
3
|
+
return t(l,{className:e(a({size:o,weight:s,className:i})),...n})}export{o as Text,a as textVariants};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as m}from"react/jsx-runtime";import*as e from"react";import{cn as i}from"../../lib/utils.js";import{TextField as r}from"./TextField.js";const t={sm:"min-h-[64px]",md:"min-h-[80px]",lg:"min-h-[96px]"},a=e.forwardRef(({className:e,size:a="md",count:s,max:l,full:o=!0,maxLength:n,...x},p)=>
|
|
3
|
+
/* @__PURE__ */m("div",{className:o?"w-full min-w-0":"w-[380px]",children:/* @__PURE__ */m(r,{ref:p,multiline:!0,size:a,count:s,maxLength:n??l,className:i(t[a],e),...x})}));a.displayName="TextArea";export{a as TextArea};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as l}from"react/jsx-runtime";import*as s from"react";import{cva as a}from"class-variance-authority";import{cn as i}from"../../lib/utils.js";import{Text as t}from"../Text/Text.js";const r=a(["w-full transition-[border-color,box-shadow,background-color] duration-200 ease-out outline-none","rounded-2.5 border border-gray-200 bg-white text-gray-900","placeholder:text-gray-500","hover:border-gray-400","focus-visible:border-brand 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:text-gray-400","aria-[invalid=true]:border-red-500 aria-[invalid=true]:shadow-focus-error"],{variants:{size:{xs:"h-[26px] text-2xs",sm:"h-8 text-xs",md:"h-10 text-sm",lg:"h-[46px] text-base",xl:"h-[54px] text-lg"},hasIconLeft:{true:"",false:""},hasSuffix:{true:"",false:""},multiline:{false:"",true:"h-auto min-h-[80px] resize-y align-top leading-[1.6] rounded-2.5"},state:{default:"",focus:"border-brand ring-2 ring-brand/30 ring-offset-2",filled:"border-gray-300",error:"border-red-500 shadow-focus-error",disabled:"cursor-not-allowed border-gray-200 bg-gray-100 text-gray-400"}},compoundVariants:[{multiline:!1,hasIconLeft:!1,hasSuffix:!1,size:"xs",class:"px-2.5"},{multiline:!1,hasIconLeft:!1,hasSuffix:!1,size:"sm",class:"px-3"},{multiline:!1,hasIconLeft:!1,hasSuffix:!1,size:"md",class:"px-3.5"},{multiline:!1,hasIconLeft:!1,hasSuffix:!1,size:"lg",class:"px-4"},{multiline:!1,hasIconLeft:!1,hasSuffix:!1,size:"xl",class:"px-5"},{multiline:!1,hasIconLeft:!0,hasSuffix:!1,size:"xs",class:"pl-9 pr-2.5"},{multiline:!1,hasIconLeft:!0,hasSuffix:!1,size:"sm",class:"pl-9 pr-3"},{multiline:!1,hasIconLeft:!0,hasSuffix:!1,size:"md",class:"pl-9 pr-3.5"},{multiline:!1,hasIconLeft:!0,hasSuffix:!1,size:"lg",class:"pl-9 pr-4"},{multiline:!1,hasIconLeft:!0,hasSuffix:!1,size:"xl",class:"pl-9 pr-5"},{multiline:!1,hasIconLeft:!1,hasSuffix:!0,size:"xs",class:"pl-2.5 pr-9"},{multiline:!1,hasIconLeft:!1,hasSuffix:!0,size:"sm",class:"pl-3 pr-9"},{multiline:!1,hasIconLeft:!1,hasSuffix:!0,size:"md",class:"pl-3.5 pr-9"},{multiline:!1,hasIconLeft:!1,hasSuffix:!0,size:"lg",class:"pl-4 pr-9"},{multiline:!1,hasIconLeft:!1,hasSuffix:!0,size:"xl",class:"pl-5 pr-9"},{multiline:!1,hasIconLeft:!0,hasSuffix:!0,class:"pl-9 pr-9"},{multiline:!0,size:"xs",class:"p-2.5"},{multiline:!0,size:"sm",class:"p-3"},{multiline:!0,size:"md",class:"p-3.5"},{multiline:!0,size:"lg",class:"p-4"},{multiline:!0,size:"xl",class:"p-5"}],defaultVariants:{size:"md",hasIconLeft:!1,hasSuffix:!1,multiline:!1,state:"default"}});function n({label:s,labelHint:a,required:i,htmlFor:r}){return s?/* @__PURE__ */e("label",{htmlFor:r,className:"mb-1.5 inline-flex items-center gap-1.5",children:[
|
|
3
|
+
/* @__PURE__ */l(t,{size:"caption3",weight:"bold",className:"text-gray-700",children:s}),i?/* @__PURE__ */l(t,{size:"caption3",weight:"bold",className:"text-brand",children:"*"}):null,a?/* @__PURE__ */l(t,{size:"caption3",weight:"regular",className:"text-gray-500",children:a}):null]}):null}const o=s.forwardRef(({className:a,size:o,state:u,label:d,labelHint:f,helper:c,error:h,type:m,iconLeft:x,iconRight:p,suffix:g,multiline:b=!1,rows:z=8,cols:v,count:y,value:L,defaultValue:S,onChange:I,required:w,disabled:N,id:q,...V},F)=>{const T=Boolean(x)&&!b,j=g??p,B=Boolean(j)&&!b,C=null==g&&null!=p&&!b,H=h?"error":N?"disabled":u,R=Boolean(y)&&b,k=void 0!==L,[$,A]=s.useState("string"==typeof S?S:""),D=(k?String(L??""):$).length,E=e=>{!k&&R&&A(e.currentTarget.value),I?.(e)},G=i(r({size:o,hasIconLeft:T,hasSuffix:B,multiline:b,state:H}),R&&"pb-7",a);/* @__PURE__ */
|
|
4
|
+
return e("div",{className:"flex w-full flex-col",children:[
|
|
5
|
+
/* @__PURE__ */l(n,{label:d,labelHint:f,required:w,htmlFor:q}),
|
|
6
|
+
/* @__PURE__ */e("div",{className:"relative w-full",children:[T&&/* @__PURE__ */l("span",{"aria-hidden":!0,className:i("pointer-events-none absolute top-1/2 left-3 flex -translate-y-1/2 items-center","focus"===H?"text-brand":"text-gray-400"),children:x}),B&&/* @__PURE__ */l("span",{"aria-hidden":!C||void 0,className:i("absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-1",C?"":"pointer-events-none right-3 text-gray-500 text-xs font-semibold"),children:j}),b?/* @__PURE__ */l("textarea",{id:q,rows:z,cols:v,required:w,disabled:N,"aria-invalid":!!h||void 0,className:G,ref:F,value:L,defaultValue:S,onChange:E,...V}):/* @__PURE__ */l("input",{id:q,type:m,required:w,disabled:N,"aria-invalid":!!h||void 0,className:G,ref:F,value:L,defaultValue:S,onChange:E,...V}),R&&/* @__PURE__ */e("div",{className:"pointer-events-none absolute right-3 bottom-2.5 text-2xs font-semibold tabular-nums text-gray-500",children:[D,null!=V.maxLength?`/${V.maxLength}`:""]})]}),h||c?/* @__PURE__ */l(t,{size:"caption3",weight:"regular",className:i("mt-1.5",h?"text-red-500":"text-gray-500"),children:h||c}):null]})});o.displayName="TextField";export{o as TextField};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as r,Fragment as t}from"react/jsx-runtime";import{useRef as n,useState as i}from"react";import{cn as a}from"../../lib/utils.js";import{Text as l}from"../Text/Text.js";import{Plus as o}from"../Icons/Plus.js";import{Close as s}from"../Icons/Close.js";function c({previews:c,onSelectFiles:u,onRemove:d,max:m,size:g=150,acceptedTypes:p=["image/jpeg","image/png","image/gif"],onInvalidFile:b,helperText:f="JPG, PNG, GIF 파일을 업로드할 수 있습니다.",addLabel:h="사진 추가",primaryIndex:v,onSelectPrimary:y,primaryLabel:x="대표",disabled:N=!1,className:w}){const j=n(null),[k,D]=i(!1),$="function"==typeof y&&!N,z=void 0===m?1/0:Math.max(0,m-c.length),C=!N&&z>0,I=z>1,T={width:g,height:g},P=e=>{if(!e||z<=0)return;const r=[];for(const t of Array.from(e))p.includes(t.type)?r.push(t):b?.(t);0!==r.length&&u(z===1/0?r:r.slice(0,z))};/* @__PURE__ */
|
|
3
|
+
return e("div",{className:a("stagger-in",w),children:[
|
|
4
|
+
/* @__PURE__ */e("div",{className:"flex flex-wrap gap-2.5",children:[c.map((n,i)=>{const o=i===v;/* @__PURE__ */
|
|
5
|
+
return e("div",{className:"relative shrink-0 overflow-hidden rounded-3 border border-gray-200",style:T,children:[
|
|
6
|
+
/* @__PURE__ */r("img",{src:n,alt:`첨부 이미지 ${i+1}`,className:"h-full w-full object-cover"}),$?/* @__PURE__ */r("button",{type:"button","aria-pressed":o,"aria-label":`${i+1}번째 이미지를 ${x}으로 지정`,onClick(){return y?.(i)},className:a("absolute inset-0 cursor-pointer outline-none","focus-visible:ring-2 focus-visible:ring-inset","focus-visible:ring-brand/40")}):null,o?/* @__PURE__ */e(t,{children:[
|
|
7
|
+
/* @__PURE__ */r("span",{"aria-hidden":!0,className:a("pointer-events-none absolute inset-0 rounded-3","ring-2 ring-inset ring-main-700")}),
|
|
8
|
+
/* @__PURE__ */r("span",{className:a("pointer-events-none absolute bottom-1.5 left-1.5","rounded bg-main-700 px-1.5 py-0.5"),children:/* @__PURE__ */r(l,{size:"caption2",weight:"bold",className:"text-white",children:x})})]}):null,N?null:/* @__PURE__ */r("button",{type:"button","aria-label":`이미지 ${i+1} 제거`,onClick(){return d(i)},className:a("absolute top-1.5 right-1.5 z-10 flex h-6 w-6 items-center","justify-center rounded-full bg-black/60 text-white","transition-colors hover:bg-black/75"),children:/* @__PURE__ */r(s,{className:"h-3.5 w-3.5"})})]},`${n}-${i}`)}),C?/* @__PURE__ */e("button",{type:"button","aria-label":h,onClick(){return j.current?.click()},onDragEnter(e){e.preventDefault(),D(!0)},onDragOver(e){e.preventDefault(),k||D(!0)},onDragLeave(e){e.preventDefault(),D(!1)},onDrop(e){e.preventDefault(),D(!1),C&&P(e.dataTransfer.files)},className:a("flex shrink-0 cursor-pointer flex-col items-center justify-center","gap-1.5 rounded-3 border-2 border-dashed bg-white text-gray-500","transition-colors outline-none","focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2",k?"border-main-700 bg-main-100":"border-gray-300 hover:border-gray-400 hover:bg-gray-50"),style:T,children:[
|
|
9
|
+
/* @__PURE__ */r(o,{className:"h-6 w-6"}),
|
|
10
|
+
/* @__PURE__ */r(l,{size:"caption2",weight:"medium",className:"text-gray-500",children:h})]}):null]}),f?/* @__PURE__ */r(l,{size:"caption2",weight:"regular",className:"mt-2 block text-gray-400",children:f}):null,
|
|
11
|
+
/* @__PURE__ */r("input",{ref:j,type:"file",accept:p.join(","),multiple:I,onChange(e){P(e.target.files),e.target.value=""},className:"hidden"})]})}export{c as ThumbnailPicker};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cva as r}from"class-variance-authority";import{cn as o}from"../../lib/utils.js";import{Icon as n}from"../Icons/Icon.js";import{Text as i}from"../Text/Text.js";const s={brand:{bg:"bg-brand-soft",color:"text-brand"},success:{bg:"bg-mint-200",color:"text-mint-900"},danger:{bg:"bg-red-300",color:"text-red-700"},info:{bg:"bg-blue-200",color:"text-blue-600"}},a=r(o("flex items-center gap-3 px-3.5 py-3 bg-white","rounded-3 border border-gray-200 shadow-lg","min-w-[280px] max-w-[360px]"));function c({tone:r="brand",icon:c,title:l,body:b,action:d,onAction:m,className:x,...g}){const u=s[r];/* @__PURE__ */
|
|
3
|
+
return e("div",{role:"status","aria-live":"polite",className:o(a(),x),...g,children:[c&&/* @__PURE__ */t("div",{className:o("flex h-8 w-8 shrink-0 items-center justify-center rounded-full",u.bg),children:/* @__PURE__ */t(n,{name:c,size:16,className:u.color})}),
|
|
4
|
+
/* @__PURE__ */e("div",{className:"min-w-0 flex-1",children:[l&&/* @__PURE__ */t(i,{size:"caption2",weight:"extrabold",className:"block tracking-[-0.2px] text-black",children:l}),b&&/* @__PURE__ */t(i,{size:"caption3",weight:"regular",className:"mt-0.5 block text-gray-600",children:b})]}),d&&/* @__PURE__ */t("button",{type:"button",onClick:m,className:"shrink-0 bg-transparent px-1 text-xs font-bold text-brand hover:underline focus:outline-none focus-visible:ring-2 focus-visible:ring-brand/30",children:d})]})}export{c as Toast};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import*as o from"react";import{createPortal as i}from"react-dom";import{cn as r}from"../../lib/utils.js";import{Toast as n}from"./Toast.js";const s=o.createContext(null),a={top:"top-4 left-1/2 -translate-x-1/2 items-center","top-right":"top-4 right-4 items-end","top-left":"top-4 left-4 items-start",bottom:"bottom-4 left-1/2 -translate-x-1/2 items-center","bottom-right":"bottom-4 right-4 items-end","bottom-left":"bottom-4 left-4 items-start"};function c({children:c,position:u="top-right",max:m=5}){const[l,d]=o.useState([]),[f,p]=o.useState(/* @__PURE__ */new Set),h=o.useRef(0),b=o.useRef(/* @__PURE__ */new Map),x=o.useCallback(t=>{b.current.delete(t),d(e=>e.filter(e=>e.id!==t)),p(e=>{if(!e.has(t))return e;const o=new Set(e);return o.delete(t),o})},[]),g=o.useCallback(t=>{const e=b.current.get(t);e&&clearTimeout(e),p(e=>e.has(t)?e:new Set(e).add(t)),b.current.set(t,setTimeout(()=>x(t),220))},[x]),w=o.useCallback(t=>{h.current+=1;const e=h.current,o=t.duration??4e3;if(d(o=>{const i=[...o,{...t,id:e}];return i.length>m?i.slice(i.length-m):i}),o>0){const t=setTimeout(()=>g(e),o);b.current.set(e,t)}return e},[g,m]);o.useEffect(()=>{const t=b.current;return()=>{t.forEach(t=>clearTimeout(t)),t.clear()}},[]);const v=o.useMemo(()=>({show:w,dismiss:g}),[w,g]),[T,S]=o.useState(!1);o.useEffect(()=>S(!0),[]);const C=u.startsWith("bottom"),E=C?"animate-in fade-in-0 slide-in-from-bottom-2 duration-300":"animate-in fade-in-0 slide-in-from-top-2 duration-300",j=C?"animate-out fade-out-0 slide-out-to-bottom-2 duration-200":"animate-out fade-out-0 slide-out-to-top-2 duration-200";/* @__PURE__ */
|
|
3
|
+
return t(s.Provider,{value:v,children:[c,T&&i(
|
|
4
|
+
/* @__PURE__ */e("div",{"aria-live":"polite","aria-atomic":"true",className:r("pointer-events-none fixed z-[1000] flex max-w-[calc(100%-32px)] flex-col gap-2",a[u]),children:l.map(t=>/* @__PURE__ */e("div",{className:r("pointer-events-auto",f.has(t.id)?j:E),children:/* @__PURE__ */e(n,{tone:t.tone,icon:t.icon,title:t.title,body:t.body,action:t.action,onAction(){t.onAction?.(),g(t.id)}})},t.id))}),document.body)]})}function u(){const t=o.useContext(s);if(!t)throw new Error("useToast must be used within <ToastProvider />");return t}export{c as ToastProvider,u as useToast};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as i}from"react/jsx-runtime";import*as r from"react";import{cn as t}from"../../lib/utils.js";import{Text as l}from"../Text/Text.js";const s=r.forwardRef(({className:s,label:n,labelPosition:o="right",id:a,disabled:c,...d},p)=>{const u=r.useId(),m=a||u,f=/* @__PURE__ */e("span",{className:"relative inline-flex h-[22px] w-[38px] shrink-0 items-center",children:[
|
|
3
|
+
/* @__PURE__ */i("input",{ref:p,id:m,type:"checkbox",disabled:c,className:"peer absolute inset-0 m-0 h-full w-full cursor-pointer appearance-none rounded-full bg-gray-300 outline-none transition-colors duration-150 focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2 checked:bg-brand disabled:cursor-not-allowed",...d}),
|
|
4
|
+
/* @__PURE__ */i("span",{className:"pointer-events-none absolute top-[2px] left-[2px] h-[18px] w-[18px] rounded-full bg-white shadow-knob transition-transform duration-150 ease-out peer-checked:translate-x-4"})]});/* @__PURE__ */
|
|
5
|
+
return e("label",{htmlFor:m,className:t("inline-flex cursor-pointer items-center gap-2 select-none",c&&"cursor-not-allowed opacity-[0.45]",s),children:[n&&"left"===o?/* @__PURE__ */i(l,{size:"caption2",weight:"medium",className:"text-gray-800",children:n}):null,f,n&&"right"===o?/* @__PURE__ */i(l,{size:"caption2",weight:"medium",className:"text-gray-800",children:n}):null]})});s.displayName="Toggle";export{s as Toggle};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as e,jsxs as a}from"react/jsx-runtime";import*as s from"@radix-ui/react-toggle-group";import{cva as t}from"class-variance-authority";import{Text as i}from"../Text/Text.js";import{cn as r}from"../../lib/utils.js";const n=t(["inline-flex w-fit items-center justify-center border bg-white whitespace-nowrap","text-gray-700 transition-all duration-200 ease-out active:scale-95","cursor-pointer disabled:pointer-events-none disabled:opacity-50 disabled:active:scale-100","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30 focus-visible:ring-offset-2","hover:border-gray-400 hover:bg-gray-100","data-[state=on]:border-brand data-[state=on]:bg-brand data-[state=on]:text-white","data-[state=on]:hover:bg-main-600 data-[state=on]:hover:border-main-600","data-[state=on]:shadow-brand-glow","data-[state=on]:animate-pop"],{variants:{shape:{rounded:"rounded-full",square:"rounded-3"},size:{sm:"h-8",md:"h-10",lg:"h-[46px]"}},compoundVariants:[{shape:"rounded",size:"sm",class:"px-3.5 gap-1.5"},{shape:"rounded",size:"md",class:"px-5 gap-2"},{shape:"rounded",size:"lg",class:"px-6 gap-2.5"},{shape:"square",size:"sm",class:"px-3 gap-1.5"},{shape:"square",size:"md",class:"px-4 gap-2"},{shape:"square",size:"lg",class:"px-5 gap-2.5"}],defaultVariants:{shape:"rounded",size:"md"}}),o={sm:"caption3",md:"caption2",lg:"caption1"},d={sm:"text-[16px] [&>svg]:size-4",md:"text-[18px] [&>svg]:size-5",lg:"text-[20px] [&>svg]:size-5"};function l({children:a,className:t,...i}){/* @__PURE__ */
|
|
3
|
+
return e(s.Root,{"data-slot":"toggle-group",className:r("flex flex-wrap gap-4 rounded-none",t),...i,children:a})}function p({icon:t,shape:l="rounded",size:p="md",children:c,className:m,...u}){/* @__PURE__ */
|
|
4
|
+
return a(s.Item,{"data-slot":"toggle-group-item",className:r(n({shape:l,size:p}),m),...u,children:[t?/* @__PURE__ */e("span",{className:r("inline-flex items-center justify-center leading-none text-inherit",d[p??"md"]),children:t}):null,
|
|
5
|
+
/* @__PURE__ */e(i,{size:o[p??"md"],weight:"medium",className:"text-inherit",children:c})]})}export{l as ToggleGroup,p as ToggleGroupItem};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsx as t}from"react/jsx-runtime";import*as e from"@radix-ui/react-tooltip";import{cn as o}from"../../lib/utils.js";function a({delayDuration:o=200,...a}){/* @__PURE__ */
|
|
3
|
+
return t(e.Provider,{delayDuration:o,...a})}const i=e.Root,d=e.Trigger;function r({className:a,sideOffset:i=4,...d}){/* @__PURE__ */
|
|
4
|
+
return t(e.Portal,{children:/* @__PURE__ */t(e.Content,{sideOffset:i,className:o("z-50 overflow-hidden 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=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",a),...d})})}export{i as Tooltip,r as TooltipContent,a as TooltipProvider,d as TooltipTrigger};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{cn as n}from"../../lib/utils.js";function r({brand:r,items:a,activeId:i,onChange:l,end:s,compact:o=!1,className:c,...d}){/* @__PURE__ */
|
|
3
|
+
return e("header",{"data-slot":"top-nav",className:n("sticky top-0 z-30 flex w-full items-center border-b border-gray-200 bg-white",o?"h-14 gap-4 px-4":"h-[62px] gap-6 px-7",c),...d,children:[r?/* @__PURE__ */t("div",{className:"flex shrink-0 items-center",children:r}):null,a&&a.length>0?/* @__PURE__ */t("nav",{className:n("flex items-center gap-1",o?"ml-2":"ml-4"),children:a.map(e=>{const r=i===e.id;/* @__PURE__ */
|
|
4
|
+
return t("button",{type:"button","aria-current":r?"page":void 0,onClick(){l?.(e.id),e.onClick?.()},className:n("rounded-2 px-3.5 py-2 text-sm transition-colors","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-brand/30",r?"bg-brand-softer font-bold text-brand":"font-medium text-gray-700 hover:bg-gray-100",o&&"px-2.5 py-1.5"),children:e.label},e.id)})}):null,s?/* @__PURE__ */t("div",{className:"ml-auto flex shrink-0 items-center gap-2.5",children:s}):null]})}function a({letters:r,name:a,onLogoClick:i,className:l,...s}){/* @__PURE__ */
|
|
5
|
+
return e("div",{"data-slot":"top-nav-brand",className:n("flex items-center gap-2.5",l),...s,children:[
|
|
6
|
+
/* @__PURE__ */t("div",{onClick:i,className:n("flex h-[30px] w-[30px] shrink-0 items-center justify-center rounded-2","bg-[linear-gradient(135deg,var(--main-700),var(--main-800))] text-xs font-extrabold text-white","shadow-warm",i&&"cursor-pointer"),children:r}),a?/* @__PURE__ */t("div",{className:"text-lg font-extrabold tracking-[-0.3px] text-gray-900",children:a}):null]})}r.Brand=a;export{r as TopNav,a as TopNavBrand};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import*as e from"react";function n(n){const t=e.useCallback(e=>{if("undefined"==typeof window||!window.matchMedia)return()=>{};const t=window.matchMedia(n);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},[n]),a=e.useCallback(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia(n).matches,[n]),i=e.useCallback(()=>!1,[]);return e.useSyncExternalStore(t,a,i)}function t(e=640){return n(`(max-width: ${e}px)`)}export{t as useIsMobile,n as useMediaQuery};
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import{useIsMobile as o,useMediaQuery as r}from"./hooks/useMediaQuery.js";import{cn as m}from"./lib/utils.js";import{Icon as t}from"./components/Icons/Icon.js";import{Accordion as e,AccordionContent as n,AccordionItem as s,AccordionTrigger as p}from"./components/Accordion/Accordion.js";import{AchievementBadge as a}from"./components/AchievementBadge/AchievementBadge.js";import{AvatarImagePicker as i}from"./components/AvatarImagePicker/AvatarImagePicker.js";import{Banner as c}from"./components/Banner/Banner.js";import{BannerCarousel as f}from"./components/BannerCarousel/BannerCarousel.js";import{BottomNav as j}from"./components/BottomNav/BottomNav.js";import{BottomSheet as d,BottomSheetClose as l,BottomSheetContent as g,BottomSheetDescription as C,BottomSheetFooter as S,BottomSheetHeader as T,BottomSheetOverlay as k,BottomSheetPortal as h,BottomSheetTitle as P,BottomSheetTrigger as u}from"./components/BottomSheet/BottomSheet.js";import{Button as B}from"./components/Button/Button.js";import{Calendar as b}from"./components/Calendar/Calendar.js";import{Card as v,CardBody as A,CardMeta as I,CardOverlay as x,CardThumb as D,CardTitle as w}from"./components/Card/Card.js";import{CheckContainer as H}from"./components/CheckContainer/CheckContainer.js";import{CheckList as M}from"./components/CheckList/CheckList.js";import{Checkbox as F}from"./components/Checkbox/Checkbox.js";import{CircleAvatar as G}from"./components/CircleAvatar/CircleAvatar.js";import{CircularProgress as L}from"./components/CircularProgress/CircularProgress.js";import{CommentRow as N}from"./components/CommentRow/CommentRow.js";import{CommentThread as R}from"./components/CommentThread/CommentThread.js";import{DatePicker as W,RangeDatePicker as y}from"./components/DatePicker/DatePicker.js";import{ConfirmDialog as Q,Dialog as q,DialogBody as z,DialogClose as E,DialogContent as J,DialogDescription as K,DialogFooter as O,DialogHeader as U,DialogOverlay as V,DialogPortal as X,DialogTitle as Y,DialogTrigger as Z}from"./components/Dialog/Dialog.js";import{Dropdown as $}from"./components/Dropdown/Dropdown.js";import{DropdownMenu as _}from"./components/Dropdown/DropdownMenu.js";import{MultiSelect as oo}from"./components/Dropdown/MultiSelect.js";import{GoalAddList as ro}from"./components/GoalAddList/GoalAddList.js";import{Heatmap as mo}from"./components/Heatmap/Heatmap.js";import{ImagePicker as to}from"./components/ImagePicker/ImagePicker.js";import{ImagePlaceholder as eo}from"./components/ImagePlaceholder/ImagePlaceholder.js";import{MobileHeader as no}from"./components/MobileHeader/MobileHeader.js";import{MonthCalendar as so}from"./components/MonthCalendar/MonthCalendar.js";import{PageWatermark as po}from"./components/PageWatermark/PageWatermark.js";import{Pagination as ao}from"./components/Pagination/Pagination.js";import{ProgressBar as io}from"./components/ProgressBar/ProgressBar.js";import{Radio as co,RadioGroup as fo}from"./components/Radio/Radio.js";import{ScheduleCalendar as jo}from"./components/ScheduleCalendar/ScheduleCalendar.js";import{SectionHeader as lo}from"./components/SectionHeader/SectionHeader.js";import{SegmentedControl as go}from"./components/SegmentedControl/SegmentedControl.js";import{Select as Co,SelectContent as So,SelectGroup as To,SelectItem as ko,SelectLabel as ho,SelectScrollDownButton as Po,SelectScrollUpButton as uo,SelectSeparator as Bo,SelectTrigger as bo,SelectValue as vo}from"./components/Select/Select.js";import{Snackbar as Ao}from"./components/Snackbar/Snackbar.js";import{SnackbarProvider as Io,useSnackbar as xo}from"./components/Snackbar/SnackbarProvider.js";import{StatCard as Do}from"./components/StatCard/StatCard.js";import{StatusBadge as wo}from"./components/StatusBadge/StatusBadge.js";import{StepIndicator as Ho}from"./components/StepIndicator/StepIndicator.js";import{Streak as Mo}from"./components/Streak/Streak.js";import{StreakChip as Fo}from"./components/Streak/StreakChip.js";import{StreakHero as Go}from"./components/Streak/StreakHero.js";import{Stripe as Lo,resolveStripeTone as No,stripeBackground as Ro}from"./components/Stripe/Stripe.js";import{Tabs as Wo}from"./components/Tabs/Tabs.js";import{Tag as yo}from"./components/Tag/Tag.js";import{FilterChip as Qo}from"./components/Tag/FilterChip.js";import{ChallengeTag as qo}from"./components/Tag/ChallengeTag.js";import{Text as zo,textVariants as Eo}from"./components/Text/Text.js";import{TextField as Jo}from"./components/TextField/TextField.js";import{TextArea as Ko}from"./components/TextField/TextArea.js";import{ThumbnailPicker as Oo}from"./components/ThumbnailPicker/ThumbnailPicker.js";import{Toast as Uo}from"./components/Toast/Toast.js";import{ToastProvider as Vo,useToast as Xo}from"./components/Toast/ToastProvider.js";import{Toggle as Yo}from"./components/Toggle/Toggle.js";import{ToggleGroup as Zo,ToggleGroupItem as $o}from"./components/ToggleGroup/ToggleGroup.js";import{Tooltip as _o,TooltipContent as or,TooltipProvider as rr,TooltipTrigger as mr}from"./components/Tooltip/Tooltip.js";import{TopNav as tr,TopNavBrand as er}from"./components/TopNav/TopNav.js";export{e as Accordion,n as AccordionContent,s as AccordionItem,p as AccordionTrigger,a as AchievementBadge,i as AvatarImagePicker,c as Banner,f as BannerCarousel,j as BottomNav,d as BottomSheet,l as BottomSheetClose,g as BottomSheetContent,C as BottomSheetDescription,S as BottomSheetFooter,T as BottomSheetHeader,k as BottomSheetOverlay,h as BottomSheetPortal,P as BottomSheetTitle,u as BottomSheetTrigger,B as Button,b as Calendar,v as Card,A as CardBody,I as CardMeta,x as CardOverlay,D as CardThumb,w as CardTitle,qo as ChallengeTag,H as CheckContainer,M as CheckList,F as Checkbox,G as CircleAvatar,L as CircularProgress,N as CommentRow,R as CommentThread,Q as ConfirmDialog,W as DatePicker,q as Dialog,z as DialogBody,E as DialogClose,J as DialogContent,K as DialogDescription,O as DialogFooter,U as DialogHeader,V as DialogOverlay,X as DialogPortal,Y as DialogTitle,Z as DialogTrigger,$ as Dropdown,_ as DropdownMenu,Qo as FilterChip,ro as GoalAddList,mo as Heatmap,t as Icon,to as ImagePicker,eo as ImagePlaceholder,no as MobileHeader,so as MonthCalendar,oo as MultiSelect,po as PageWatermark,ao as Pagination,io as ProgressBar,co as Radio,fo as RadioGroup,y as RangeDatePicker,jo as ScheduleCalendar,lo as SectionHeader,go as SegmentedControl,Co as Select,So as SelectContent,To as SelectGroup,ko as SelectItem,ho as SelectLabel,Po as SelectScrollDownButton,uo as SelectScrollUpButton,Bo as SelectSeparator,bo as SelectTrigger,vo as SelectValue,Ao as Snackbar,Io as SnackbarProvider,Do as StatCard,wo as StatusBadge,Ho as StepIndicator,Mo as Streak,Fo as StreakChip,Go as StreakHero,Lo as Stripe,Wo as Tabs,yo as Tag,zo as Text,Ko as TextArea,Jo as TextField,Oo as ThumbnailPicker,Uo as Toast,Vo as ToastProvider,Yo as Toggle,Zo as ToggleGroup,$o as ToggleGroupItem,_o as Tooltip,or as TooltipContent,rr as TooltipProvider,mr as TooltipTrigger,tr as TopNav,er as TopNavBrand,m as cn,No as resolveStripeTone,Ro as stripeBackground,Eo as textVariants,o as useIsMobile,r as useMediaQuery,xo as useSnackbar,Xo as useToast};
|
package/dist/utils.d.ts
ADDED
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1d1s/design-system",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.13.0",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"main": "dist/index.
|
|
6
|
-
"module": "dist/index.
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"module": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"sideEffects": [
|
|
9
9
|
"**/*.css"
|
|
@@ -19,10 +19,23 @@
|
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
21
|
"types": "./dist/index.d.ts",
|
|
22
|
-
"import": "./dist/index.
|
|
22
|
+
"import": "./dist/index.js"
|
|
23
23
|
},
|
|
24
24
|
"./styles.css": "./dist/style.css",
|
|
25
|
-
"./styles/globals.css": "./src/styles/globals.css"
|
|
25
|
+
"./styles/globals.css": "./src/styles/globals.css",
|
|
26
|
+
"./hooks": {
|
|
27
|
+
"types": "./dist/hooks/index.d.ts",
|
|
28
|
+
"import": "./dist/hooks/index.js"
|
|
29
|
+
},
|
|
30
|
+
"./lib/utils": {
|
|
31
|
+
"types": "./dist/lib/utils.d.ts",
|
|
32
|
+
"import": "./dist/lib/utils.js"
|
|
33
|
+
},
|
|
34
|
+
"./package.json": "./package.json",
|
|
35
|
+
"./*": {
|
|
36
|
+
"types": "./dist/components/*/index.d.ts",
|
|
37
|
+
"import": "./dist/components/*/index.js"
|
|
38
|
+
}
|
|
26
39
|
},
|
|
27
40
|
"publishConfig": {
|
|
28
41
|
"access": "public"
|
|
@@ -32,7 +45,7 @@
|
|
|
32
45
|
"lint": "eslint .",
|
|
33
46
|
"type-check": "tsc --noEmit",
|
|
34
47
|
"build": "storybook build",
|
|
35
|
-
"build:lib": "vite build && npm run build:css",
|
|
48
|
+
"build:lib": "vite build && npm run build:css && node scripts/verify-exports.mjs",
|
|
36
49
|
"build:css": "vite build --config vite.config.css.ts && rm -f dist/_style-entry.js",
|
|
37
50
|
"prepare": "npm run build:lib",
|
|
38
51
|
"storybook": "storybook dev -p 6006",
|