@wishket/design-system 3.0.0 → 3.1.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/Base/Typography/Typography.d.ts +6 -2
- package/dist/Components/Base/Typography/Typography.js +4 -3
- package/dist/Components/Base/Typography/Typography.types.d.ts +2 -2
- package/dist/Components/DataDisplays/ImageLabel/ImageLabel.js +1 -1
- package/dist/Components/Feedbacks/Tooltip/Tooltip.js +3 -3
- package/dist/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +1 -1
- package/dist/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +1 -1
- package/dist/Components/Inputs/RadioCard/RadioCard.parts.js +1 -1
- package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +2 -2
- package/dist/Components/Navigations/GNBList/GNBList.d.ts +1 -1
- package/dist/Components/Navigations/GNBList/GNBList.parts.d.ts +2 -2
- package/dist/Components/Navigations/GNBList/GNBList.parts.js +7 -7
- package/dist/Components/Navigations/GNBList/GNBList.types.d.ts +11 -5
- package/dist/Components/Navigations/Menu/Menu.types.d.ts +4 -3
- package/dist/Components/Navigations/Menu/MenuLink.d.ts +2 -1
- package/dist/Components/Navigations/Menu/MenuLink.js +2 -2
- package/dist/Components/Navigations/TextLink/TextLink.d.ts +10 -7
- package/dist/Components/Navigations/TextLink/TextLink.js +6 -5
- package/dist/Components/Utils/BackDrop/BackDrop.js +1 -1
- package/dist/Components/Utils/BottomModalContainer/BottomModalContainer.js +2 -2
- package/dist/Components/Utils/FullModalContainer/FullModalContainer.js +1 -1
- package/dist/Components/Utils/Modal/Modal.js +2 -2
- package/dist/Components/Utils/ModalContainer/ModalContainer.js +2 -2
- package/dist/Components/Wrappers/WithBadge/WithBadge.js +1 -1
- package/dist/Components/Wrappers/WithSnackBar/WithSnackBar.js +1 -1
- package/dist/cjs/Components/Base/Typography/Typography.js +4 -3
- package/dist/cjs/Components/DataDisplays/ImageLabel/ImageLabel.js +1 -1
- package/dist/cjs/Components/Feedbacks/Tooltip/Tooltip.js +3 -3
- package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +1 -1
- package/dist/cjs/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +1 -1
- package/dist/cjs/Components/Inputs/RadioCard/RadioCard.parts.js +1 -1
- package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +2 -2
- package/dist/cjs/Components/Navigations/GNBList/GNBList.parts.js +7 -7
- package/dist/cjs/Components/Navigations/Menu/MenuLink.js +2 -2
- package/dist/cjs/Components/Navigations/TextLink/TextLink.js +6 -5
- package/dist/cjs/Components/Utils/BackDrop/BackDrop.js +1 -1
- package/dist/cjs/Components/Utils/BottomModalContainer/BottomModalContainer.js +3 -3
- package/dist/cjs/Components/Utils/FullModalContainer/FullModalContainer.js +1 -1
- package/dist/cjs/Components/Utils/Modal/Modal.js +2 -2
- package/dist/cjs/Components/Utils/ModalContainer/ModalContainer.js +2 -2
- package/dist/cjs/Components/Wrappers/WithBadge/WithBadge.js +1 -1
- package/dist/cjs/Components/Wrappers/WithSnackBar/WithSnackBar.js +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { ElementType } from 'react';
|
|
1
|
+
import { ComponentPropsWithRef, ElementType, ReactElement } from 'react';
|
|
2
2
|
import { TypographyProps } from './Typography.types';
|
|
3
|
+
type PolymorphicRef<T extends ElementType> = ComponentPropsWithRef<T>['ref'];
|
|
3
4
|
/**
|
|
4
5
|
* Typography
|
|
5
6
|
* @param {Object} props
|
|
@@ -7,6 +8,9 @@ import { TypographyProps } from './Typography.types';
|
|
|
7
8
|
* @param {string} props.variant - 텍스트 스타일 variant ('title48' | 'title32' | 'title24' | 'subTitle20' | 'subTitle18' | 'contents18' | 'contents16' | 'body16' | 'body14' | 'body13' | 'caption12' | 'caption11')
|
|
8
9
|
* @param {string} [props.className] - 추가적인 CSS 클래스
|
|
9
10
|
* @param {keyof JSX.IntrinsicElements} [props.as='span'] - 렌더링할 HTML 요소
|
|
11
|
+
* @param {Ref} [props.ref] - 렌더된 요소로 forward되는 ref. as에 따라 추론
|
|
10
12
|
*/
|
|
11
|
-
declare const Typography: <T extends ElementType = "span">(
|
|
13
|
+
declare const Typography: <T extends ElementType = "span">(props: TypographyProps<T> & {
|
|
14
|
+
ref?: PolymorphicRef<T>;
|
|
15
|
+
}) => ReactElement | null;
|
|
12
16
|
export { Typography };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{twMerge as e}from"tailwind-merge";function
|
|
2
|
-
return t(
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{twMerge as e}from"tailwind-merge";import{forwardRef as n}from"react";function r(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){return e=null!=e?e:{},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):function(t){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e.push.apply(e,n)}return e}(Object(e)).forEach((function(n){Object.defineProperty(t,n,Object.getOwnPropertyDescriptor(e,n))})),t}function c(t,e){if(null==t)return{};var n,r,o=function(t,e){if(null==t)return{};var n,r,o={},c=Object.keys(t);for(r=0;r<c.length;r++)n=c[r],e.indexOf(n)>=0||(o[n]=t[n]);return o}(t,e);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);for(r=0;r<c.length;r++)n=c[r],e.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}const a=[{name:"title48",class:"typo-title48"},{name:"title32",class:"typo-title32"},{name:"title28",class:"typo-title28"},{name:"title24",class:"typo-title24"},{name:"subTitle20",class:"typo-subTitle20"},{name:"subTitle18",class:"typo-subTitle18"},{name:"contents18",class:"typo-contents18"},{name:"contents16",class:"typo-contents16"},{name:"body16",class:"typo-body16"},{name:"body14",class:"typo-body14"},{name:"body13",class:"typo-body13"},{name:"caption12",class:"typo-caption12"},{name:"caption11",class:"typo-caption11"}],s=/*#__PURE__*/n(((n,s)=>{var l,{children:i,variant:p,className:y,as:b}=n,u=c(n,["children","variant","className","as"]);const m=null!=b?b:"span",f=(null===(l=a.find((t=>t.name===p)))||void 0===l?void 0:l.class)||"";/*#__PURE__*/
|
|
2
|
+
return t(m,o(function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},o=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),o.forEach((function(e){r(t,e,n[e])}))}return t}({ref:s,className:e("tracking-default",f,y)},u),{children:i}))}));
|
|
3
3
|
/**
|
|
4
4
|
* Typography
|
|
5
5
|
* @param {Object} props
|
|
@@ -7,4 +7,5 @@ return t(u,r(function(t){for(var e=1;e<arguments.length;e++){var r=null!=argumen
|
|
|
7
7
|
* @param {string} props.variant - 텍스트 스타일 variant ('title48' | 'title32' | 'title24' | 'subTitle20' | 'subTitle18' | 'contents18' | 'contents16' | 'body16' | 'body14' | 'body13' | 'caption12' | 'caption11')
|
|
8
8
|
* @param {string} [props.className] - 추가적인 CSS 클래스
|
|
9
9
|
* @param {keyof JSX.IntrinsicElements} [props.as='span'] - 렌더링할 HTML 요소
|
|
10
|
-
|
|
10
|
+
* @param {Ref} [props.ref] - 렌더된 요소로 forward되는 ref. as에 따라 추론
|
|
11
|
+
*/export{s as Typography};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ComponentPropsWithRef, ElementType, PropsWithChildren } from 'react';
|
|
2
2
|
export declare const typographyVariants: {
|
|
3
3
|
readonly title48: "title48";
|
|
4
4
|
readonly title32: "title32";
|
|
@@ -19,4 +19,4 @@ export type TypographyProps<T extends ElementType = 'span'> = PropsWithChildren<
|
|
|
19
19
|
variant: TypographyVariants;
|
|
20
20
|
className?: string;
|
|
21
21
|
as?: T;
|
|
22
|
-
}> & Omit<
|
|
22
|
+
}> & Omit<ComponentPropsWithRef<T>, 'as' | 'children' | 'className'>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{twJoin as e}from"tailwind-merge";import{Box as t}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{NewCircle as s}from"./parts/NewCircle.js";import{New as a}from"./parts/New.js";import{Beta as i}from"./parts/Beta.js";import{Ai as o}from"./parts/Ai.js";
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{twJoin as e}from"tailwind-merge";import"react";import{Box as t}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{NewCircle as s}from"./parts/NewCircle.js";import{New as a}from"./parts/New.js";import{Beta as i}from"./parts/Beta.js";import{Ai as o}from"./parts/Ai.js";
|
|
2
2
|
/**
|
|
3
3
|
* 이미지에 오버레이되는 라벨을 표시하는 컴포넌트
|
|
4
4
|
* @param {('new_circle'|'new'|'beta'|'ai')} props.type - 표시할 라벨의 타입
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsx as i}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import{Box as e}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{PlainTooltip as o}from"./PlainTooltip/PlainTooltip.js";import{RichTooltip as l}from"./RichTooltip/RichTooltip.js";
|
|
1
|
+
"use client";import{jsx as i}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{Box as e}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{PlainTooltip as o}from"./PlainTooltip/PlainTooltip.js";import{RichTooltip as l}from"./RichTooltip/RichTooltip.js";
|
|
2
2
|
/**
|
|
3
3
|
* 툴팁의 루트 컴포넌트입니다.
|
|
4
4
|
* CSS 기반 hover와 focus로 동작합니다.
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* </Tooltip.Trigger>
|
|
14
14
|
* <Tooltip.Plain variant="up" text="간단한 툴팁" />
|
|
15
15
|
* </Tooltip>
|
|
16
|
-
*/const
|
|
16
|
+
*/const r=({children:o,className:l})=>/*#__PURE__*/i(e,{className:t("group relative inline-block h-fit w-fit",l),"data-testid":"design-system-tooltip",children:o});
|
|
17
17
|
/**
|
|
18
18
|
* 툴팁 트리거 컴포넌트입니다.
|
|
19
19
|
* 데스크톱에서는 CSS hover로, 모바일에서는 터치(focus)로 툴팁을 표시합니다.
|
|
@@ -22,4 +22,4 @@
|
|
|
22
22
|
* <Tooltip.Trigger>
|
|
23
23
|
* <SystemIcon name="medium_information" />
|
|
24
24
|
* </Tooltip.Trigger>
|
|
25
|
-
*/
|
|
25
|
+
*/r.Trigger=({children:t})=>/*#__PURE__*/i(e,{"data-testid":"design-system-tooltip--trigger",className:"h-fit w-fit focus:outline-hidden",tabIndex:0,children:t}),r.Plain=o,r.Rich=l;export{r as Tooltip};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import"react";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{ProductIcon as i}from"../../DataDisplays/ProductIcon/ProductIcon.js";import"../../DataDisplays/Accordion/Accordion.js";import{Checkbox as n}from"../Checkbox/Checkbox.js";function c(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){c(e,r,t[r])}))}return e}function a(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function l(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}const p=t=>{var{children:o,isWide:i,checked:n,isError:c,disabled:p,className:d}=t,b=l(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
|
|
2
2
|
return e("div",a(s({className:r("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",i?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 pt-4 pb-6",!p&&!c&&"group-focus-within:border-primary-500",p?r("cursor-not-allowed",n&&!c?"border-primary-100":"border-w-gray-200"):c?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary",p?n&&!c?"bg-primary-10":"bg-w-gray-10":n?c?"bg-w-red-10":"bg-primary-10":"bg-w-white",d)},b),{children:o}))},d=({isWide:t,children:o})=>/*#__PURE__*/e("div",{className:r("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o}),b=i=>{var{isWide:c,className:a}=i,p=l(i,["isWide","className"]);const d=!c;/*#__PURE__*/
|
|
3
3
|
return e(o,{className:t(d&&"absolute top-[17px] left-[17px]"),children:/*#__PURE__*/e(n,s({className:r(d&&"group-hover:border-primary-500",a)},p))})},m=({iconName:t,disabled:o,checked:n,isError:c})=>{const s=c||!n;/*#__PURE__*/
|
|
4
4
|
return e("div",{className:r("flex size-[60px] shrink-0 items-center justify-center",o&&"opacity-30"),"data-testid":"design-system-checkboxCard--icon",children:/*#__PURE__*/e(i,{name:t,disabled:s})})};export{p as CheckboxCardContainer,m as CheckboxCardIcon,b as StyledCheckbox,d as TitleContainer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as t,jsx as e}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import
|
|
1
|
+
"use client";import{jsxs as t,jsx as e}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import"react";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";import{IconButton as i}from"../IconButton/IconButton.js";import{List as n}from"../List/List.js";import{useDropdown as a}from"../../../hooks/useDropdown.js";
|
|
2
2
|
/**
|
|
3
3
|
* 아이콘 버튼과 드롭다운 목록을 결합한 컴포넌트입니다.
|
|
4
4
|
* 버튼 클릭 시 드롭다운 목록이 표시되며, 키보드 탐색이 가능합니다.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{twMerge as r,twJoin as t}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import"react";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{ProductIcon as o}from"../../DataDisplays/ProductIcon/ProductIcon.js";import"../../DataDisplays/Accordion/Accordion.js";import{Radio as i}from"../Radio/Radio.js";function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}function c(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function a(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}const l=t=>{var{children:o,isWide:i,checked:n,isError:l,disabled:d,className:p}=t,u=a(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
|
|
2
2
|
return e("div",c(s({className:r("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",i?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 py-6",!d&&!l&&"group-focus-within:border-primary-500",d&&n&&!l?"cursor-not-allowed border-primary-100":d?"cursor-not-allowed border-w-gray-200":l?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary",d?n&&!l?"bg-primary-10":"bg-w-gray-10":n?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",p)},u),{children:o}))},d=({isWide:r,children:o})=>/*#__PURE__*/e("div",{className:t("flex h-auto w-full flex-col justify-between gap-0.5",r?"items-start":"items-center"),children:o}),p=t=>{var{isWide:o,disabled:n,isError:c,checked:l}=t,d=a(t,["isWide","disabled","isError","checked"]);const p=c&&l&&n;/*#__PURE__*/
|
|
3
3
|
return e(i,s({className:r(!o&&"absolute top-[17px] left-[17px]"),disabled:n||p,checked:!p&&l,isError:c},d))},u=({iconName:t,disabled:i,checked:n,isError:s})=>{const c=s||!n;/*#__PURE__*/
|
|
4
4
|
return e("div",{className:r("flex size-[60px] shrink-0 items-center justify-center",i&&"opacity-30"),"data-testid":"design-system-radioCard--icon",children:/*#__PURE__*/e(o,{name:t,disabled:c})})};export{l as RadioCardContainer,u as RadioCardIcon,p as StyledRadio,d as TitleContainer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as o}from"react/jsx-runtime";import"tailwind-merge";import{Box as
|
|
1
|
+
"use client";import{jsxs as e,jsx as o}from"react/jsx-runtime";import"tailwind-merge";import"react";import{Box as t}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{List as s}from"../List/List.js";import{SupportTextContainer as l}from"../SupportTextContainer/SupportTextContainer.js";import{useDropdown as i}from"../../../hooks/useDropdown.js";import{SelectBox as r}from"./TextFieldDropdown.parts.js";
|
|
2
2
|
/**
|
|
3
3
|
* 드롭다운 형태의 텍스트 필드 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -32,4 +32,4 @@
|
|
|
32
32
|
* ```
|
|
33
33
|
*/const n=({selectedItem:n,items:a,onItemClick:d,placeholder:p,disabled:m,isError:c,errorMessage:u,supportMessage:x,className:f})=>{const{isListOpen:g,focusedIndex:I,ref:h,handleItemClick:k,toggleListOpen:v,handleKeyDown:w}=i({items:a,onItemClick:d,disabled:m}),y=!!x||!!u;/*#__PURE__*/
|
|
34
34
|
return e("div",{"data-testid":"design-system--textFieldDropdown",ref:h,className:"relative flex w-full flex-col gap-2 outline-hidden",onKeyDown:w,tabIndex:0,children:[
|
|
35
|
-
/*#__PURE__*/o(r,{placeholder:p,value:null==n?void 0:n.value,leadingIcon:null==n?void 0:n.leadingIcon,disabled:m,isListOpen:g,onClick:v,error:c,className:f}),y&&/*#__PURE__*/o(
|
|
35
|
+
/*#__PURE__*/o(r,{placeholder:p,value:null==n?void 0:n.value,leadingIcon:null==n?void 0:n.leadingIcon,disabled:m,isListOpen:g,onClick:v,error:c,className:f}),y&&/*#__PURE__*/o(l,{errorMessage:u,supportMessage:x}),g&&/*#__PURE__*/o(t,{className:"absolute top-[54px] z-40 w-full",children:/*#__PURE__*/o(s.Root,{children:a.map(((e,t)=>/*#__PURE__*/o(s.Item,{text:e.value,leadingIcon:e.leadingIcon,onClick:()=>k(e),selected:e.key===(null==n?void 0:n.key),isFocused:t===I},e.key)))})})]})};export{n as TextFieldDropdown};
|
|
@@ -51,6 +51,6 @@ declare const GNBList: {
|
|
|
51
51
|
UserInfo: ({ imgUrl, username, email, children, onClick, }: import("./GNBList.types").UserInfoProps) => import("react/jsx-runtime").JSX.Element;
|
|
52
52
|
List: ({ children }: import("react").PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
53
53
|
SubList: ({ children }: import("react").PropsWithChildren) => import("react/jsx-runtime").JSX.Element;
|
|
54
|
-
Item: ({ hasNew, children, className, textClassName, href, as
|
|
54
|
+
Item: <T extends import("react").ElementType = "a">({ hasNew, children, className, textClassName, href, as, ...rest }: import("./GNBList.types").GNBListItemProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
55
55
|
};
|
|
56
56
|
export { GNBList };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PropsWithChildren } from 'react';
|
|
1
|
+
import { ElementType, PropsWithChildren } from 'react';
|
|
2
2
|
import { GNBListRootProps, GNBListItemProps, UserInfoProps } from './GNBList.types';
|
|
3
3
|
/**
|
|
4
4
|
* GNB 리스트의 루트 컴포넌트
|
|
@@ -132,5 +132,5 @@ declare const SubList: ({ children }: PropsWithChildren) => import("react/jsx-ru
|
|
|
132
132
|
* 특별 메뉴
|
|
133
133
|
* </Item>
|
|
134
134
|
*/
|
|
135
|
-
declare const Item: ({ hasNew, children, className, textClassName, href, as
|
|
135
|
+
declare const Item: <T extends ElementType = "a">({ hasNew, children, className, textClassName, href, as, ...rest }: GNBListItemProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
136
136
|
export { Root, UserInfo, List, SubList, Item };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Children as a,Fragment as
|
|
1
|
+
import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Children as a,Fragment as l}from"react";import{twMerge as t}from"tailwind-merge";import{Avatar as n}from"../../DataDisplays/Avatar/Avatar.js";import{Typography as o}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{NewBadge as i}from"../../DataDisplays/NewBadge/NewBadge.js";import{Divider as c}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";function m(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function p(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{},l=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(l=l.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),l.forEach((function(r){m(e,r,a[r])}))}return e}function f(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r.push.apply(r,a)}return r}(Object(r)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})),e}function u(e,r){if(null==e)return{};var a,l,t=function(e,r){if(null==e)return{};var a,l,t={},n=Object.keys(e);for(l=0;l<n.length;l++)a=n[l],r.indexOf(a)>=0||(t[a]=e[a]);return t}
|
|
2
2
|
/**
|
|
3
3
|
* GNB 리스트의 루트 컴포넌트
|
|
4
4
|
*
|
|
@@ -31,16 +31,16 @@ import{jsx as e,jsxs as r}from"react/jsx-runtime";import{Children as a,Fragment
|
|
|
31
31
|
* <Item href="/logout">로그아웃</Item>
|
|
32
32
|
* </SubList>
|
|
33
33
|
* </Root>
|
|
34
|
-
*/(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(
|
|
34
|
+
*/(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)a=n[l],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(t[a]=e[a])}return t}const y=({withUserInfo:n=!1,children:o,className:i})=>{const m=a.map(o,((a,t)=>0===t?a:/*#__PURE__*/r(l,{children:[
|
|
35
35
|
/*#__PURE__*/e(c,{className:"my-2"}),a]})));/*#__PURE__*/
|
|
36
|
-
return e(s,{as:"nav","aria-label":"네비게이션 메뉴",className:
|
|
36
|
+
return e(s,{as:"nav","aria-label":"네비게이션 메뉴",className:t("absolute flex flex-col rounded-xl bg-w-white shadow-graymedium",n?"w-[280px] pb-3 pt-5":"h-auto w-[200px] overflow-hidden py-3",i),children:m})},b=({imgUrl:a,username:l,email:t,children:i,onClick:c})=>/*#__PURE__*/r(s,{role:"region","aria-label":"사용자 정보",className:"flex w-full flex-col gap-4 px-6 pb-4",children:[
|
|
37
37
|
/*#__PURE__*/r(s,{className:"flex w-full items-center gap-4",children:[
|
|
38
38
|
/*#__PURE__*/e(n,{size:"lg",isEditable:!0,imgUrl:a,onClick:c}),
|
|
39
39
|
/*#__PURE__*/r(s,{className:"flex w-full flex-col gap-0.5",children:[
|
|
40
|
-
/*#__PURE__*/e(o,{variant:"body16",className:"text-w-gray-900 font-medium",children:
|
|
41
|
-
/*#__PURE__*/e(o,{variant:"body14",className:"text-w-gray-600 line-clamp-2 break-all",children:
|
|
42
|
-
return e(s,{as:"li",children:/*#__PURE__*/r(b,f(p({href:y,className:
|
|
43
|
-
/*#__PURE__*/e(o,{variant:"body14",className:m,children:n}),
|
|
40
|
+
/*#__PURE__*/e(o,{variant:"body16",className:"text-w-gray-900 font-medium",children:l}),
|
|
41
|
+
/*#__PURE__*/e(o,{variant:"body14",className:"text-w-gray-600 line-clamp-2 break-all",children:t})]})]}),i&&/*#__PURE__*/e(s,{className:"flex w-full flex-col gap-2",children:i})]}),d=({children:r})=>/*#__PURE__*/e(s,{as:"ul","aria-label":"메인 메뉴",className:"text-w-gray-900 w-full",children:r}),h=({children:r})=>/*#__PURE__*/e(s,{as:"ul","aria-label":"서브 메뉴",className:"text-w-gray-600 w-full",children:r}),g=a=>{var{hasNew:l=!1,children:n,className:c,textClassName:m,href:y,as:b}=a,d=u(a,["hasNew","children","className","textClassName","href","as"]);/*#__PURE__*/
|
|
42
|
+
return e(s,{as:"li",children:/*#__PURE__*/r(null!=b?b:"a",f(p({href:y,className:t("hover:bg-primary-10 flex w-full cursor-pointer gap-1 px-6 py-2",c)},d),{children:[
|
|
43
|
+
/*#__PURE__*/e(o,{variant:"body14",className:m,children:n}),l&&/*#__PURE__*/e(i,{className:"mt-1","aria-label":"새 소식"})]}))})};
|
|
44
44
|
/**
|
|
45
45
|
* 사용자 정보 컴포넌트
|
|
46
46
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ComponentPropsWithoutRef, ElementType, PropsWithChildren } from 'react';
|
|
1
|
+
import { ComponentPropsWithoutRef, ElementType, PropsWithChildren, ReactNode } from 'react';
|
|
2
2
|
export interface GNBListRootProps extends PropsWithChildren {
|
|
3
3
|
withUserInfo?: boolean;
|
|
4
4
|
className?: string;
|
|
@@ -9,13 +9,19 @@ export interface UserInfoProps extends PropsWithChildren {
|
|
|
9
9
|
email?: string;
|
|
10
10
|
onClick?: () => void;
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
type GNBListItemOwnProps = {
|
|
13
13
|
href: string;
|
|
14
14
|
hasNew?: boolean;
|
|
15
15
|
textClassName?: string;
|
|
16
|
+
className?: string;
|
|
17
|
+
children?: ReactNode;
|
|
18
|
+
};
|
|
19
|
+
export type GNBListItemProps<T extends ElementType = 'a'> = GNBListItemOwnProps & {
|
|
16
20
|
/**
|
|
17
21
|
* Item에서 anchor로 렌더할 컴포넌트. 기본값은 일반 `<a>` 태그이며,
|
|
18
|
-
* Next.js의 Link 등을 주입할 수 있습니다.
|
|
22
|
+
* Next.js의 Link 등을 주입할 수 있습니다. 주입된 컴포넌트의 전용
|
|
23
|
+
* prop(예: next/link의 `prefetch`)도 타입 추론됩니다.
|
|
19
24
|
*/
|
|
20
|
-
as?:
|
|
21
|
-
}
|
|
25
|
+
as?: T;
|
|
26
|
+
} & Omit<ComponentPropsWithoutRef<T>, 'as' | 'href' | 'children' | 'className'>;
|
|
27
|
+
export {};
|
|
@@ -26,15 +26,16 @@ export interface MenuCommonProps {
|
|
|
26
26
|
*
|
|
27
27
|
* - `href`가 필수이며, 기본 anchor(`<a>`) 또는 `as`로 주입된 컴포넌트로 렌더링됩니다.
|
|
28
28
|
* - anchor 관련 native 속성(`target`, `rel`, `download` 등)을 그대로 받습니다.
|
|
29
|
+
* - `as`로 컴포넌트를 주입하면 해당 컴포넌트의 전용 props(예: `next/link`의 `prefetch`)도 타입 추론됩니다.
|
|
29
30
|
*/
|
|
30
|
-
export type MenuLinkProps
|
|
31
|
+
export type MenuLinkProps<T extends ElementType = 'a'> = MenuCommonProps & {
|
|
31
32
|
href: string;
|
|
32
33
|
/**
|
|
33
34
|
* anchor 자리에 렌더할 컴포넌트. 기본값은 일반 `<a>` 태그이며,
|
|
34
35
|
* Next.js의 Link 등을 주입할 수 있습니다.
|
|
35
36
|
*/
|
|
36
|
-
as?:
|
|
37
|
-
}
|
|
37
|
+
as?: T;
|
|
38
|
+
} & Omit<ComponentPropsWithoutRef<T>, 'href' | 'className' | 'children' | 'as' | keyof MenuCommonProps>;
|
|
38
39
|
/**
|
|
39
40
|
* `MenuButton`의 props.
|
|
40
41
|
*
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ElementType } from 'react';
|
|
1
2
|
import { MenuLinkProps } from './Menu.types';
|
|
2
3
|
/**
|
|
3
4
|
* 네비게이션에서 사용되는 링크형 메뉴 항목.
|
|
@@ -39,5 +40,5 @@ import { MenuLinkProps } from './Menu.types';
|
|
|
39
40
|
* rel="noopener noreferrer"
|
|
40
41
|
* />
|
|
41
42
|
*/
|
|
42
|
-
declare const MenuLink: ({ type, variant, name, badgeCount, isSelected, leadingIcon, iconButtonName, onOptionClick, items, selectedItem, onItemClick, href, as
|
|
43
|
+
declare const MenuLink: <T extends ElementType = "a">({ type, variant, name, badgeCount, isSelected, leadingIcon, iconButtonName, onOptionClick, items, selectedItem, onItemClick, href, as, children: _children, ...rest }: MenuLinkProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
43
44
|
export { MenuLink };
|
|
@@ -38,5 +38,5 @@ import{jsx as e}from"react/jsx-runtime";import{MenuBase as t}from"./MenuBase.js"
|
|
|
38
38
|
* target="_blank"
|
|
39
39
|
* rel="noopener noreferrer"
|
|
40
40
|
* />
|
|
41
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}const i=n=>{var{type:i,variant:c,name:
|
|
42
|
-
return e(t,{type:i,variant:c,name:
|
|
41
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}const i=n=>{var{type:i,variant:c,name:l,badgeCount:a,isSelected:u,leadingIcon:m,iconButtonName:f,onOptionClick:s,items:p,selectedItem:b,onItemClick:O,href:y,as:d,children:g}=n,j=o(n,["type","variant","name","badgeCount","isSelected","leadingIcon","iconButtonName","onOptionClick","items","selectedItem","onItemClick","href","as","children"]);/*#__PURE__*/
|
|
42
|
+
return e(t,{type:i,variant:c,name:l,badgeCount:a,isSelected:u,leadingIcon:m,iconButtonName:f,onOptionClick:s,items:p,selectedItem:b,onItemClick:O,as:null!=d?d:"a",wrapperProps:r({href:y},j)})};export{i as MenuLink};
|
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { ComponentPropsWithoutRef, ElementType } from 'react';
|
|
2
2
|
import { TextWithIconsProps } from '../../Base/TextWithIcons/TextWithIcons';
|
|
3
|
-
|
|
3
|
+
type TextLinkOwnProps = TextWithIconsProps & {
|
|
4
4
|
href: string;
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
};
|
|
6
|
+
export type TextLinkProps<T extends ElementType = 'a'> = TextLinkOwnProps & {
|
|
7
|
+
as?: T;
|
|
8
|
+
} & Omit<ComponentPropsWithoutRef<T>, 'as' | 'href' | 'children' | keyof TextLinkOwnProps>;
|
|
7
9
|
/**
|
|
8
10
|
* 텍스트 기반의 링크 컴포넌트입니다.
|
|
9
11
|
*
|
|
10
12
|
* @description
|
|
11
13
|
* TextButton과 동일한 스타일을 가지지만 기본적으로 `<a>` 태그 기반으로 페이지 네비게이션을 담당합니다.
|
|
12
|
-
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수
|
|
14
|
+
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수 있고,
|
|
15
|
+
* 주입된 컴포넌트의 전용 props(예: next/link의 `prefetch`)도 타입 추론됩니다.
|
|
13
16
|
*
|
|
14
17
|
* @component
|
|
15
18
|
* @param {Object} props - TextLink 컴포넌트의 props
|
|
@@ -27,9 +30,9 @@ interface TextLinkProps extends Omit<ComponentPropsWithoutRef<'a'>, 'href'>, Tex
|
|
|
27
30
|
* <TextLink href="/about" text="소개 페이지로 이동" />
|
|
28
31
|
*
|
|
29
32
|
* @example
|
|
30
|
-
* // Next.js Link와 함께 사용
|
|
33
|
+
* // Next.js Link와 함께 사용 — prefetch 등 Link 전용 prop도 타입 추론됨
|
|
31
34
|
* import Link from 'next/link';
|
|
32
|
-
* <TextLink as={Link} href="/about" text="소개" />
|
|
35
|
+
* <TextLink as={Link} href="/about" text="소개" prefetch={false} />
|
|
33
36
|
*
|
|
34
37
|
* @example
|
|
35
38
|
* // 외부 링크
|
|
@@ -40,5 +43,5 @@ interface TextLinkProps extends Omit<ComponentPropsWithoutRef<'a'>, 'href'>, Tex
|
|
|
40
43
|
* rel="noopener noreferrer"
|
|
41
44
|
* />
|
|
42
45
|
*/
|
|
43
|
-
declare const TextLink: ({ as
|
|
46
|
+
declare const TextLink: <T extends ElementType = "a">({ as, href, text, leadingIcon, trailingIcon, isTextSmall, isGray, isUnderline, className, ...rest }: TextLinkProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
44
47
|
export { TextLink };
|
|
@@ -4,7 +4,8 @@ import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge"
|
|
|
4
4
|
*
|
|
5
5
|
* @description
|
|
6
6
|
* TextButton과 동일한 스타일을 가지지만 기본적으로 `<a>` 태그 기반으로 페이지 네비게이션을 담당합니다.
|
|
7
|
-
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수
|
|
7
|
+
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수 있고,
|
|
8
|
+
* 주입된 컴포넌트의 전용 props(예: next/link의 `prefetch`)도 타입 추론됩니다.
|
|
8
9
|
*
|
|
9
10
|
* @component
|
|
10
11
|
* @param {Object} props - TextLink 컴포넌트의 props
|
|
@@ -22,9 +23,9 @@ import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge"
|
|
|
22
23
|
* <TextLink href="/about" text="소개 페이지로 이동" />
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
25
|
-
* // Next.js Link와 함께 사용
|
|
26
|
+
* // Next.js Link와 함께 사용 — prefetch 등 Link 전용 prop도 타입 추론됨
|
|
26
27
|
* import Link from 'next/link';
|
|
27
|
-
* <TextLink as={Link} href="/about" text="소개" />
|
|
28
|
+
* <TextLink as={Link} href="/about" text="소개" prefetch={false} />
|
|
28
29
|
*
|
|
29
30
|
* @example
|
|
30
31
|
* // 외부 링크
|
|
@@ -34,5 +35,5 @@ import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge"
|
|
|
34
35
|
* target="_blank"
|
|
35
36
|
* rel="noopener noreferrer"
|
|
36
37
|
* />
|
|
37
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}const c=c=>{var{as:l
|
|
38
|
-
return e(l,i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),i.forEach((function(t){n(e,t,r[t])}))}return e}({href:a,className:t("flex min-h-6 w-fit items-center justify-center",p?"gap-x-0.5":"gap-x-1",y)},m),{children:/*#__PURE__*/e(r,{text:s,leadingIcon:f,trailingIcon:u,isTextSmall:p,isUnderline:b,isGray:O})}))};export{c as TextLink};
|
|
38
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}const c=c=>{var{as:l,href:a,text:s,leadingIcon:f,trailingIcon:u,isTextSmall:p=!1,isGray:O=!1,isUnderline:b=!1,className:y}=c,m=o(c,["as","href","text","leadingIcon","trailingIcon","isTextSmall","isGray","isUnderline","className"]);/*#__PURE__*/
|
|
39
|
+
return e(null!=l?l:"a",i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),i.forEach((function(t){n(e,t,r[t])}))}return e}({href:a,className:t("flex min-h-6 w-fit items-center justify-center",p?"gap-x-0.5":"gap-x-1",y)},m),{children:/*#__PURE__*/e(r,{text:s,leadingIcon:f,trailingIcon:u,isTextSmall:p,isUnderline:b,isGray:O})}))};export{c as TextLink};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{twMerge as o}from"tailwind-merge";import{usePreventScroll as e}from"@wishket/yogokit";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{twMerge as o}from"tailwind-merge";import{usePreventScroll as e}from"@wishket/yogokit";import"react";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const i=({isBlack:i,preventScroll:s,onClick:a})=>(e(s),/*#__PURE__*/t(r,{"data-testid":"design-system--backdrop",onClick:a,className:o("fixed top-0 left-0 z-30 h-dvh w-dvw",i?"bg-black/50":"bg-transparent")}));export{i as BackDrop};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{useBottomModalContainer as s}from"./useBottomModalContainer.js";const a=({children:a,onClose:l,isFixedHeight:
|
|
2
|
-
return e(r,{ref:m,style:{transform:`translateY(${d}px)`},className:o("bg-w-white z-30 w-full rounded-t-3xl",
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import"react";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{useBottomModalContainer as s}from"./useBottomModalContainer.js";const a=({children:a,onClose:l,isFixedHeight:i=!0,className:n})=>{const{containerRef:m,currentTranslate:d}=s({onClose:l});/*#__PURE__*/
|
|
2
|
+
return e(r,{ref:m,style:{transform:`translateY(${d}px)`},className:o("bg-w-white z-30 w-full rounded-t-3xl",i?"h-[60dvh]":"h-fit",n),"data-testid":"design-system--bottom-modal-container",children:[
|
|
3
3
|
/*#__PURE__*/t(r,{className:"flex items-center justify-center pt-2 pb-5","data-testid":"design-system--bottom-modal-container-header",id:"bottom-modal-header",children:/*#__PURE__*/t(r,{className:"bg-w-gray-200 h-1 w-8 rounded-full"})}),a]})};export{a as BottomModalContainer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{twMerge as
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import"react";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const r=({children:r,className:a})=>/*#__PURE__*/e(o,{"data-testid":"design-system--full-modal-container",className:t("bg-w-white h-dvh w-dvw overflow-auto",a),children:r});export{r as FullModalContainer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as o,jsxs as e}from"react/jsx-runtime";import{twMerge as
|
|
1
|
+
import{jsx as o,jsxs as e}from"react/jsx-runtime";import{twMerge as t}from"tailwind-merge";import{BackDropLiftContainer as l}from"../BackDropLiftContainer/BackDropLiftContainer.js";import{BottomModalContainer as r}from"../BottomModalContainer/BottomModalContainer.js";import{FullModalContainer as i}from"../FullModalContainer/FullModalContainer.js";import{ModalContainer as a}from"../ModalContainer/ModalContainer.js";import{Portal as n}from"../Portal/Portal.js";import"react";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";
|
|
2
2
|
/**
|
|
3
3
|
* 모달 창을 표시하는 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -33,4 +33,4 @@ import{jsx as o,jsxs as e}from"react/jsx-runtime";import{twMerge as l}from"tailw
|
|
|
33
33
|
* <div>바텀 시트 내용</div>
|
|
34
34
|
* </Modal>
|
|
35
35
|
*/const d=({isOpen:d,rootId:m,variant:c="default",size:u="md",overflow:f="auto",isBackgroundBlack:p=!0,isFixedHeight:B,isPreventScroll:C=!0,className:h,onClose:j,needCleanup:x=!0,children:g})=>{const F="bottom"===c,k="full"===c;/*#__PURE__*/
|
|
36
|
-
return o(n,{rootId:m,needCleanup:x&&!m,children:/*#__PURE__*/e(
|
|
36
|
+
return o(n,{rootId:m,needCleanup:x&&!m,children:/*#__PURE__*/e(l,{isOpen:d,onClose:j,testId:"design-system--modal",isBackgroundBlack:p,isPreventScroll:C,isBottomSheet:F,isFullSize:"full"===u,children:["default"===c&&/*#__PURE__*/o(s,{"data-testid":"design-system--modal-container--box",className:t("full"===u&&"w-full px-5",h),children:/*#__PURE__*/o(a,{size:u,overflow:f,children:g})}),k&&/*#__PURE__*/o(i,{className:h,children:g}),F&&j&&/*#__PURE__*/o(r,{onClose:j,isFixedHeight:B,className:h,children:g})]})})};export{d as Modal};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const t=({size:t="md",overflow:r="auto",children:
|
|
2
|
-
"flex items-center justify-center",{xs:"w-[320px]",sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[1000px]",full:"w-full"}[t],{auto:"overflow-auto",visible:"overflow-visible",hidden:"overflow-hidden",scroll:"overflow-scroll"}[r]),children:
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{twJoin as o}from"tailwind-merge";import"react";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";const t=({size:t="md",overflow:r="auto",children:i})=>/*#__PURE__*/e(l,{"data-testid":"design-system--modal-container",className:o("bg-w-white shadow-modal h-fit max-w-[calc(100vw-40px)] rounded-3xl",// 아직 정해지지 않은 내부 레이아웃
|
|
2
|
+
"flex items-center justify-center",{xs:"w-[320px]",sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[1000px]",full:"w-full"}[t],{auto:"overflow-auto",visible:"overflow-visible",hidden:"overflow-hidden",scroll:"overflow-scroll"}[r]),children:i});export{t as ModalContainer};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as a,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as e}from"../../DataDisplays/CountBadge/CountBadge.js";import"
|
|
1
|
+
import{jsxs as a,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import"react";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as e}from"../../DataDisplays/CountBadge/CountBadge.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{NewBadge as o}from"../../DataDisplays/NewBadge/NewBadge.js";import"../../DataDisplays/Accordion/Accordion.js";
|
|
2
2
|
/**
|
|
3
3
|
* 자식 요소의 우측 상단에 뱃지를 표시하는 래퍼 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as t,jsx as a}from"react/jsx-runtime";import{twJoin as s}from"tailwind-merge";import{Box as e}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import"
|
|
1
|
+
import{jsxs as t,jsx as a}from"react/jsx-runtime";import{twJoin as s}from"tailwind-merge";import"react";import{Box as e}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";import{SnackBar as o}from"../../Feedbacks/SnackBar/SnackBar.js";import"../../Inputs/Button/Button.js";import"@wishket/yogokit";import"react-dom";import"../../Feedbacks/Tooltip/Tooltip.js";import"../../Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js";
|
|
2
2
|
/**
|
|
3
3
|
* 스낵바를 포함하는 래퍼 컴포넌트입니다.
|
|
4
4
|
* 자식 컴포넌트 상단에 알림 메시지를 표시할 수 있습니다.
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge");function n(e,t,
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge"),r=require("react");function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t.push.apply(t,r)}return t}(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})),e}function a(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},a=Object.keys(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const c=[{name:"title48",class:"typo-title48"},{name:"title32",class:"typo-title32"},{name:"title28",class:"typo-title28"},{name:"title24",class:"typo-title24"},{name:"subTitle20",class:"typo-subTitle20"},{name:"subTitle18",class:"typo-subTitle18"},{name:"contents18",class:"typo-contents18"},{name:"contents16",class:"typo-contents16"},{name:"body16",class:"typo-body16"},{name:"body14",class:"typo-body14"},{name:"body13",class:"typo-body13"},{name:"caption12",class:"typo-caption12"},{name:"caption11",class:"typo-caption11"}],s=/*#__PURE__*/r.forwardRef(((r,s)=>{var l,{children:i,variant:p,className:y,as:u}=r,b=a(r,["children","variant","className","as"]);const f=null!=u?u:"span",O=(null===(l=c.find((e=>e.name===p)))||void 0===l?void 0:l.class)||"";/*#__PURE__*/
|
|
2
|
+
return e.jsx(f,o(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},o=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),o.forEach((function(t){n(e,t,r[t])}))}return e}({ref:s,className:t.twMerge("tracking-default",O,y)},b),{children:i}))}));
|
|
2
3
|
/**
|
|
3
4
|
* Typography
|
|
4
5
|
* @param {Object} props
|
|
@@ -6,5 +7,5 @@
|
|
|
6
7
|
* @param {string} props.variant - 텍스트 스타일 variant ('title48' | 'title32' | 'title24' | 'subTitle20' | 'subTitle18' | 'contents18' | 'contents16' | 'body16' | 'body14' | 'body13' | 'caption12' | 'caption11')
|
|
7
8
|
* @param {string} [props.className] - 추가적인 CSS 클래스
|
|
8
9
|
* @param {keyof JSX.IntrinsicElements} [props.as='span'] - 렌더링할 HTML 요소
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
* @param {Ref} [props.ref] - 렌더된 요소로 forward되는 ref. as에 따라 추론
|
|
11
|
+
*/exports.Typography=s;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge")
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("./parts/NewCircle.js"),a=require("./parts/New.js"),i=require("./parts/Beta.js"),u=require("./parts/Ai.js");exports.ImageLabel=({type:l})=>{const c=()=>{switch(l){case"new_circle":/*#__PURE__*/
|
|
2
2
|
return e.jsx(t.NewCircle,{});case"new":/*#__PURE__*/
|
|
3
3
|
return e.jsx(a.New,{});case"beta":/*#__PURE__*/
|
|
4
4
|
return e.jsx(i.Beta,{});case"ai":/*#__PURE__*/
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime"),i=require("tailwind-merge")
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime"),i=require("tailwind-merge");require("react");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("./PlainTooltip/PlainTooltip.js"),l=require("./RichTooltip/RichTooltip.js");
|
|
2
2
|
/**
|
|
3
3
|
* 툴팁의 루트 컴포넌트입니다.
|
|
4
4
|
* CSS 기반 hover와 focus로 동작합니다.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* <Tooltip.Plain variant="up" text="간단한 툴팁" />
|
|
15
15
|
* </Tooltip>
|
|
16
16
|
*/
|
|
17
|
-
const
|
|
17
|
+
const s=({children:r,className:l})=>/*#__PURE__*/e.jsx(t.Box,{className:i.twMerge("group relative inline-block h-fit w-fit",l),"data-testid":"design-system-tooltip",children:r});
|
|
18
18
|
/**
|
|
19
19
|
* 툴팁 트리거 컴포넌트입니다.
|
|
20
20
|
* 데스크톱에서는 CSS hover로, 모바일에서는 터치(focus)로 툴팁을 표시합니다.
|
|
@@ -23,4 +23,4 @@ const o=({children:l,className:s})=>/*#__PURE__*/e.jsx(t.Box,{className:i.twMerg
|
|
|
23
23
|
* <Tooltip.Trigger>
|
|
24
24
|
* <SystemIcon name="medium_information" />
|
|
25
25
|
* </Tooltip.Trigger>
|
|
26
|
-
*/
|
|
26
|
+
*/s.Trigger=({children:i})=>/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-tooltip--trigger",className:"h-fit w-fit focus:outline-hidden",tabIndex:0,children:i}),s.Plain=r.PlainTooltip,s.Rich=l.RichTooltip,exports.Tooltip=s;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react");var t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var o=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Checkbox/Checkbox.js");function n(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},o=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(o=o.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),o.forEach((function(r){n(e,r,t[r])}))}return e}function c(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function a(e,r){if(null==e)return{};var t,o,i=function(e,r){if(null==e)return{};var t,o,i={},n=Object.keys(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||(i[t]=e[t]);return i}(e,r);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o<n.length;o++)t=n[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}exports.CheckboxCardContainer=t=>{var{children:o,isWide:i,checked:n,isError:l,disabled:u,className:d}=t,p=a(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
|
|
2
2
|
return e.jsx("div",c(s({className:r.twMerge("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",i?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 pt-4 pb-6",!u&&!l&&"group-focus-within:border-primary-500",(()=>{const e=n&&!l;return u?r.twMerge("cursor-not-allowed",e?"border-primary-100":"border-w-gray-200"):l?"border-w-red-500":n?"border-primary-500":"border-w-gray-200 group-hover:border-primary"})(),u?n&&!l?"bg-primary-10":"bg-w-gray-10":n?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",d)},p),{children:o}))},exports.CheckboxCardIcon=({iconName:t,disabled:i,checked:n,isError:s})=>{const c=s||!n;/*#__PURE__*/
|
|
3
3
|
return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",i&&"opacity-30"),"data-testid":"design-system-checkboxCard--icon",children:/*#__PURE__*/e.jsx(o.ProductIcon,{name:t,disabled:c})})},exports.StyledCheckbox=o=>{var{isWide:n,className:c}=o,l=a(o,["isWide","className"]);const u=!n;/*#__PURE__*/
|
|
4
4
|
return e.jsx(t.Box,{className:r.twJoin(u&&"absolute top-[17px] left-[17px]"),children:/*#__PURE__*/e.jsx(i.Checkbox,s({className:r.twMerge(u&&"group-hover:border-primary-500",c)},l))})},exports.TitleContainer=({isWide:t,children:o})=>/*#__PURE__*/e.jsx("div",{className:r.twMerge("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:o});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime"),s=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js")
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime"),s=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js");var t=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../IconButton/IconButton.js"),n=require("../List/List.js"),o=require("../../../hooks/useDropdown.js");exports.IconButtonDropdown=({icon:a,items:r,selectedItem:l,onItemClick:c,size:d="sm",align:u="left",disabled:m=!1})=>{const{isListOpen:y,ref:I,focusedIndex:j,handleItemClick:x,toggleListOpen:w,handleKeyDown:p}=o.useDropdown({items:r,onItemClick:c});/*#__PURE__*/
|
|
2
2
|
return e.jsxs("div",{"data-testid":"design-system-icon-button-dropdown",className:"relative w-fit outline-hidden",ref:I,onKeyDown:p,tabIndex:0,children:[
|
|
3
3
|
/*#__PURE__*/e.jsx(i.IconButton,{onClick:w,size:d,className:"outline-hidden",disabled:m,children:/*#__PURE__*/e.jsx(t.SystemIcon,{name:a,className:s.twJoin(m&&"text-w-gray-300")})}),y&&/*#__PURE__*/e.jsx("div",{"data-testid":"design-system-icon-button-dropdown--list-container",className:s.twJoin("absolute -bottom-2 z-40 translate-y-full transform transition-all","right"===u?"right-0":"left-0"),children:/*#__PURE__*/e.jsx(n.List.Root,{className:"max-h-full min-w-40 overflow-y-visible",children:r.map(((s,t)=>/*#__PURE__*/e.jsx(n.List.Item,{text:s.value,leadingIcon:s.leadingIcon,onClick:()=>x(s),selected:s.key===(null==l?void 0:l.key),isFocused:t===j},s.key)))})})]})};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js"),require("
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js"),require("react"),require("../../Base/Layouts/Box/Box.js"),require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var t=require("../../DataDisplays/ProductIcon/ProductIcon.js");require("../../DataDisplays/Accordion/Accordion.js");var i=require("../Radio/Radio.js");function o(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function s(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),i.forEach((function(r){o(e,r,t[r])}))}return e}function n(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r.push.apply(r,t)}return r}(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})),e}function a(e,r){if(null==e)return{};var t,i,o=function(e,r){if(null==e)return{};var t,i,o={},s=Object.keys(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||(o[t]=e[t]);return o}(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(i=0;i<s.length;i++)t=s[i],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}exports.RadioCardContainer=t=>{var{children:i,isWide:o,checked:c,isError:l,disabled:d,className:u}=t,p=a(t,["children","isWide","checked","isError","disabled","className"]);/*#__PURE__*/
|
|
2
2
|
return e.jsx("div",n(s({className:r.twMerge("relative flex h-auto cursor-pointer items-center gap-2 rounded-xl border",o?"min-h-[94px] w-[298px] flex-row gap-3 px-5 py-4":"min-h-fit w-[224px] flex-col justify-center px-4 py-6",!d&&!l&&"group-focus-within:border-primary-500",d&&c&&!l?"cursor-not-allowed border-primary-100":d?"cursor-not-allowed border-w-gray-200":l?"border-w-red-500":c?"border-primary-500":"border-w-gray-200 group-hover:border-primary",d?c&&!l?"bg-primary-10":"bg-w-gray-10":c?l?"bg-w-red-10":"bg-primary-10":"bg-w-white",u)},p),{children:i}))},exports.RadioCardIcon=({iconName:i,disabled:o,checked:s,isError:n})=>{const a=n||!s;/*#__PURE__*/
|
|
3
3
|
return e.jsx("div",{className:r.twMerge("flex size-[60px] shrink-0 items-center justify-center",o&&"opacity-30"),"data-testid":"design-system-radioCard--icon",children:/*#__PURE__*/e.jsx(t.ProductIcon,{name:i,disabled:a})})},exports.StyledRadio=t=>{var{isWide:o,disabled:n,isError:c,checked:l}=t,d=a(t,["isWide","disabled","isError","checked"]);const u=!o,p=c&&l&&n;/*#__PURE__*/
|
|
4
4
|
return e.jsx(i.Radio,s({className:r.twMerge(u&&"absolute top-[17px] left-[17px]"),disabled:n||p,checked:!p&&l,isError:c},d))},exports.TitleContainer=({isWide:t,children:i})=>/*#__PURE__*/e.jsx("div",{className:r.twJoin("flex h-auto w-full flex-col justify-between gap-0.5",t?"items-start":"items-center"),children:i});
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime");require("tailwind-merge");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("../List/List.js"),l=require("../SupportTextContainer/SupportTextContainer.js"),
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime");require("tailwind-merge"),require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var r=require("../List/List.js"),l=require("../SupportTextContainer/SupportTextContainer.js"),t=require("../../../hooks/useDropdown.js"),i=require("./TextFieldDropdown.parts.js");exports.TextFieldDropdown=({selectedItem:o,items:a,onItemClick:n,placeholder:d,disabled:u,isError:c,errorMessage:p,supportMessage:x,className:m})=>{const{isListOpen:g,focusedIndex:j,ref:v,handleItemClick:I,toggleListOpen:w,handleKeyDown:h}=t.useDropdown({items:a,onItemClick:n,disabled:u}),k=!!x||!!p;/*#__PURE__*/
|
|
2
2
|
return e.jsxs("div",{"data-testid":"design-system--textFieldDropdown",ref:v,className:"relative flex w-full flex-col gap-2 outline-hidden",onKeyDown:h,tabIndex:0,children:[
|
|
3
|
-
/*#__PURE__*/e.jsx(
|
|
3
|
+
/*#__PURE__*/e.jsx(i.SelectBox,{placeholder:d,value:null==o?void 0:o.value,leadingIcon:null==o?void 0:o.leadingIcon,disabled:u,isListOpen:g,onClick:w,error:c,className:m}),k&&/*#__PURE__*/e.jsx(l.SupportTextContainer,{errorMessage:p,supportMessage:x}),g&&/*#__PURE__*/e.jsx(s.Box,{className:"absolute top-[54px] z-40 w-full",children:/*#__PURE__*/e.jsx(r.List.Root,{children:a.map(((s,l)=>/*#__PURE__*/e.jsx(r.List.Item,{text:s.value,leadingIcon:s.leadingIcon,onClick:()=>I(s),selected:s.key===(null==o?void 0:o.key),isFocused:l===j},s.key)))})})]})};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("react"),a=require("tailwind-merge"),t=require("../../DataDisplays/Avatar/Avatar.js"),l=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),a=require("tailwind-merge"),t=require("../../DataDisplays/Avatar/Avatar.js"),l=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var n=require("../../DataDisplays/NewBadge/NewBadge.js"),i=require("../../DataDisplays/Divider/Divider.js");function o(e,r,a){return r in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a,e}function c(e){for(var r=1;r<arguments.length;r++){var a=null!=arguments[r]?arguments[r]:{},t=Object.keys(a);"function"==typeof Object.getOwnPropertySymbols&&(t=t.concat(Object.getOwnPropertySymbols(a).filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable})))),t.forEach((function(r){o(e,r,a[r])}))}return e}function u(e,r){return r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):function(e){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);r.push.apply(r,a)}return r}(Object(r)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(r,a))})),e}function p(e,r){if(null==e)return{};var a,t,l=function(e,r){if(null==e)return{};var a,t,l={},s=Object.keys(e);for(t=0;t<s.length;t++)a=s[t],r.indexOf(a)>=0||(l[a]=e[a]);return l}
|
|
2
2
|
/**
|
|
3
3
|
* GNB 리스트의 루트 컴포넌트
|
|
4
4
|
*
|
|
@@ -31,13 +31,13 @@
|
|
|
31
31
|
* <Item href="/logout">로그아웃</Item>
|
|
32
32
|
* </SubList>
|
|
33
33
|
* </Root>
|
|
34
|
-
*/(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(t=0;t<s.length;t++)a=s[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}require("../../DataDisplays/Accordion/Accordion.js");exports.Item=r=>{var{hasNew:t=!1,children:
|
|
35
|
-
return e.jsx(s.Box,{as:"li",children:/*#__PURE__*/e.jsxs(
|
|
36
|
-
/*#__PURE__*/e.jsx(l.Typography,{variant:"body14",className:y,children:
|
|
37
|
-
/*#__PURE__*/e.jsx(
|
|
38
|
-
return e.jsx(s.Box,{as:"nav","aria-label":"네비게이션 메뉴",className:a.twMerge("absolute flex flex-col rounded-xl bg-w-white shadow-graymedium",c,
|
|
34
|
+
*/(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(t=0;t<s.length;t++)a=s[t],r.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(l[a]=e[a])}return l}require("../../DataDisplays/Accordion/Accordion.js");exports.Item=r=>{var{hasNew:t=!1,children:i,className:o,textClassName:y,href:x,as:f}=r,d=p(r,["hasNew","children","className","textClassName","href","as"]);const m=null!=f?f:"a";/*#__PURE__*/
|
|
35
|
+
return e.jsx(s.Box,{as:"li",children:/*#__PURE__*/e.jsxs(m,u(c({href:x,className:a.twMerge("hover:bg-primary-10 flex w-full cursor-pointer gap-1 px-6 py-2",o)},d),{children:[
|
|
36
|
+
/*#__PURE__*/e.jsx(l.Typography,{variant:"body14",className:y,children:i}),t&&/*#__PURE__*/e.jsx(n.NewBadge,{className:"mt-1","aria-label":"새 소식"})]}))})},exports.List=({children:r})=>/*#__PURE__*/e.jsx(s.Box,{as:"ul","aria-label":"메인 메뉴",className:"text-w-gray-900 w-full",children:r}),exports.Root=({withUserInfo:t=!1,children:l,className:n})=>{const o=r.Children.map(l,((a,t)=>0===t?a:/*#__PURE__*/e.jsxs(r.Fragment,{children:[
|
|
37
|
+
/*#__PURE__*/e.jsx(i.Divider,{className:"my-2"}),a]}))),c=t?"w-[280px] pb-3 pt-5":"h-auto w-[200px] overflow-hidden py-3";/*#__PURE__*/
|
|
38
|
+
return e.jsx(s.Box,{as:"nav","aria-label":"네비게이션 메뉴",className:a.twMerge("absolute flex flex-col rounded-xl bg-w-white shadow-graymedium",c,n),children:o})},exports.SubList=({children:r})=>/*#__PURE__*/e.jsx(s.Box,{as:"ul","aria-label":"서브 메뉴",className:"text-w-gray-600 w-full",children:r}),exports.UserInfo=({imgUrl:r,username:a,email:n,children:i,onClick:o})=>/*#__PURE__*/e.jsxs(s.Box,{role:"region","aria-label":"사용자 정보",className:"flex w-full flex-col gap-4 px-6 pb-4",children:[
|
|
39
39
|
/*#__PURE__*/e.jsxs(s.Box,{className:"flex w-full items-center gap-4",children:[
|
|
40
40
|
/*#__PURE__*/e.jsx(t.Avatar,{size:"lg",isEditable:!0,imgUrl:r,onClick:o}),
|
|
41
41
|
/*#__PURE__*/e.jsxs(s.Box,{className:"flex w-full flex-col gap-0.5",children:[
|
|
42
42
|
/*#__PURE__*/e.jsx(l.Typography,{variant:"body16",className:"text-w-gray-900 font-medium",children:a}),
|
|
43
|
-
/*#__PURE__*/e.jsx(l.Typography,{variant:"body14",className:"text-w-gray-600 line-clamp-2 break-all",children:
|
|
43
|
+
/*#__PURE__*/e.jsx(l.Typography,{variant:"body14",className:"text-w-gray-600 line-clamp-2 break-all",children:n})]})]}),i&&/*#__PURE__*/e.jsx(s.Box,{className:"flex w-full flex-col gap-2",children:i})]});
|
|
@@ -38,5 +38,5 @@
|
|
|
38
38
|
* target="_blank"
|
|
39
39
|
* rel="noopener noreferrer"
|
|
40
40
|
* />
|
|
41
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}exports.MenuLink=n=>{var{type:i,variant:c,name:a,badgeCount:l,isSelected:u,leadingIcon:s,iconButtonName:f,onOptionClick:m,items:p,selectedItem:b,onItemClick:O,href:y,as:d
|
|
42
|
-
return e.jsx(t.MenuBase,{type:i,variant:c,name:a,badgeCount:l,isSelected:u,leadingIcon:s,iconButtonName:f,onOptionClick:m,items:p,selectedItem:b,onItemClick:O,as:
|
|
41
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}exports.MenuLink=n=>{var{type:i,variant:c,name:a,badgeCount:l,isSelected:u,leadingIcon:s,iconButtonName:f,onOptionClick:m,items:p,selectedItem:b,onItemClick:O,href:y,as:d,children:g}=n,j=o(n,["type","variant","name","badgeCount","isSelected","leadingIcon","iconButtonName","onOptionClick","items","selectedItem","onItemClick","href","as","children"]);const v=null!=d?d:"a";/*#__PURE__*/
|
|
42
|
+
return e.jsx(t.MenuBase,{type:i,variant:c,name:a,badgeCount:l,isSelected:u,leadingIcon:s,iconButtonName:f,onOptionClick:m,items:p,selectedItem:b,onItemClick:O,as:v,wrapperProps:r({href:y},j)})};
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @description
|
|
6
6
|
* TextButton과 동일한 스타일을 가지지만 기본적으로 `<a>` 태그 기반으로 페이지 네비게이션을 담당합니다.
|
|
7
|
-
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수
|
|
7
|
+
* `as` prop으로 Next.js의 `Link`나 React Router의 `Link` 등 임의의 컴포넌트를 주입할 수 있고,
|
|
8
|
+
* 주입된 컴포넌트의 전용 props(예: next/link의 `prefetch`)도 타입 추론됩니다.
|
|
8
9
|
*
|
|
9
10
|
* @component
|
|
10
11
|
* @param {Object} props - TextLink 컴포넌트의 props
|
|
@@ -22,9 +23,9 @@
|
|
|
22
23
|
* <TextLink href="/about" text="소개 페이지로 이동" />
|
|
23
24
|
*
|
|
24
25
|
* @example
|
|
25
|
-
* // Next.js Link와 함께 사용
|
|
26
|
+
* // Next.js Link와 함께 사용 — prefetch 등 Link 전용 prop도 타입 추론됨
|
|
26
27
|
* import Link from 'next/link';
|
|
27
|
-
* <TextLink as={Link} href="/about" text="소개" />
|
|
28
|
+
* <TextLink as={Link} href="/about" text="소개" prefetch={false} />
|
|
28
29
|
*
|
|
29
30
|
* @example
|
|
30
31
|
* // 외부 링크
|
|
@@ -34,5 +35,5 @@
|
|
|
34
35
|
* target="_blank"
|
|
35
36
|
* rel="noopener noreferrer"
|
|
36
37
|
* />
|
|
37
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}exports.TextLink=o=>{var{as:l
|
|
38
|
-
return e.jsx(
|
|
38
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(n=0;n<c.length;n++)r=c[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}exports.TextLink=o=>{var{as:l,href:s,text:a,leadingIcon:u,trailingIcon:f,isTextSmall:O=!1,isGray:b=!1,isUnderline:y=!1,className:p}=o,g=c(o,["as","href","text","leadingIcon","trailingIcon","isTextSmall","isGray","isUnderline","className"]);const j=null!=l?l:"a";/*#__PURE__*/
|
|
39
|
+
return e.jsx(j,i(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},i=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),i.forEach((function(t){n(e,t,r[t])}))}return e}({href:s,className:t.twMerge("flex min-h-6 w-fit items-center justify-center",O?"gap-x-0.5":"gap-x-1",p)},g),{children:/*#__PURE__*/e.jsx(r.TextWithIcons,{text:a,leadingIcon:u,trailingIcon:f,isTextSmall:O,isUnderline:y,isGray:b})}))};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),t=require("@wishket/yogokit");require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");exports.BackDrop=({isBlack:a,preventScroll:i,onClick:l})=>(t.usePreventScroll(i),/*#__PURE__*/e.jsx(s.Box,{"data-testid":"design-system--backdrop",onClick:l,className:r.twMerge("fixed top-0 left-0 z-30 h-dvh w-dvw",a?"bg-black/50":"bg-transparent")}));
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge")
|
|
2
|
-
return e.jsxs(
|
|
3
|
-
/*#__PURE__*/e.jsx(
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),t=require("tailwind-merge");require("react");var r=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var s=require("./useBottomModalContainer.js");exports.BottomModalContainer=({children:a,onClose:o,isFixedHeight:i=!0,className:n})=>{const{containerRef:l,currentTranslate:d}=s.useBottomModalContainer({onClose:o});/*#__PURE__*/
|
|
2
|
+
return e.jsxs(r.Box,{ref:l,style:{transform:`translateY(${d}px)`},className:t.twJoin("bg-w-white z-30 w-full rounded-t-3xl",i?"h-[60dvh]":"h-fit",n),"data-testid":"design-system--bottom-modal-container",children:[
|
|
3
|
+
/*#__PURE__*/e.jsx(r.Box,{className:"flex items-center justify-center pt-2 pb-5","data-testid":"design-system--bottom-modal-container-header",id:"bottom-modal-header",children:/*#__PURE__*/e.jsx(r.Box,{className:"bg-w-gray-200 h-1 w-8 rounded-full"})}),a]})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge")
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("react");var a=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");exports.FullModalContainer=({children:s,className:l})=>/*#__PURE__*/e.jsx(a.Box,{"data-testid":"design-system--full-modal-container",className:r.twMerge("bg-w-white h-dvh w-dvw overflow-auto",l),children:s});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),o=require("tailwind-merge"),
|
|
2
|
-
return e.jsx(i.Portal,{rootId:d,needCleanup:F,children:/*#__PURE__*/e.jsxs(
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),o=require("tailwind-merge"),r=require("../BackDropLiftContainer/BackDropLiftContainer.js"),l=require("../BottomModalContainer/BottomModalContainer.js"),a=require("../FullModalContainer/FullModalContainer.js"),t=require("../ModalContainer/ModalContainer.js"),i=require("../Portal/Portal.js");require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");exports.Modal=({isOpen:n,rootId:d,variant:u="default",size:c="md",overflow:B="auto",isBackgroundBlack:C=!0,isFixedHeight:m,isPreventScroll:x=!0,className:j,onClose:f,needCleanup:M=!0,children:h})=>{const q="bottom"===u,p="full"===u,g="default"===u,F=M&&!d;/*#__PURE__*/
|
|
2
|
+
return e.jsx(i.Portal,{rootId:d,needCleanup:F,children:/*#__PURE__*/e.jsxs(r.BackDropLiftContainer,{isOpen:n,onClose:f,testId:"design-system--modal",isBackgroundBlack:C,isPreventScroll:x,isBottomSheet:q,isFullSize:"full"===c,children:[g&&/*#__PURE__*/e.jsx(s.Box,{"data-testid":"design-system--modal-container--box",className:o.twMerge("full"===c&&"w-full px-5",j),children:/*#__PURE__*/e.jsx(t.ModalContainer,{size:c,overflow:B,children:h})}),p&&/*#__PURE__*/e.jsx(a.FullModalContainer,{className:j,children:h}),q&&f&&/*#__PURE__*/e.jsx(l.BottomModalContainer,{onClose:f,isFixedHeight:m,className:j,children:h})]})})};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),l=require("tailwind-merge")
|
|
2
|
-
"flex items-center justify-center",{xs:"w-[320px]",sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[1000px]",full:"w-full"}[
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),l=require("tailwind-merge");require("react");var r=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");exports.ModalContainer=({size:o="md",overflow:i="auto",children:s})=>/*#__PURE__*/e.jsx(r.Box,{"data-testid":"design-system--modal-container",className:l.twJoin("bg-w-white shadow-modal h-fit max-w-[calc(100vw-40px)] rounded-3xl",// 아직 정해지지 않은 내부 레이아웃
|
|
2
|
+
"flex items-center justify-center",{xs:"w-[320px]",sm:"w-[400px]",md:"w-[500px]",lg:"w-[600px]",xl:"w-[1000px]",full:"w-full"}[o],{auto:"overflow-auto",visible:"overflow-visible",hidden:"overflow-hidden",scroll:"overflow-scroll"}[i]),children:s});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),a=require("tailwind-merge")
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),a=require("tailwind-merge");require("react");var r=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js");var t=require("../../DataDisplays/CountBadge/CountBadge.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js");var s=require("../../DataDisplays/NewBadge/NewBadge.js");require("../../DataDisplays/Accordion/Accordion.js");exports.WithBadge=({text:i,children:o,className:l,variant:n="primary",showZero:u=!1})=>/*#__PURE__*/e.jsxs(r.Box,{className:a.twMerge("relative w-fit",l),"data-testid":"with-badge",children:[o,"new"===n?/*#__PURE__*/e.jsx(s.NewBadge,{className:"absolute top-0 right-0 translate-x-1/2 -translate-y-1/2 transform"}):/*#__PURE__*/e.jsx(t.CountBadge,{text:i,variant:n,showZero:u,className:"absolute top-px right-px translate-x-1/2 -translate-y-1/2 transform"})]});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),a=require("tailwind-merge")
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),a=require("tailwind-merge");require("react");var s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js"),require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../DataDisplays/Accordion/Accordion.js");var r=require("../../Feedbacks/SnackBar/SnackBar.js");require("../../Inputs/Button/Button.js"),require("@wishket/yogokit"),require("react-dom"),require("../../Feedbacks/Tooltip/Tooltip.js"),require("../../Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js");exports.WithSnackBar=({children:t,isOpen:i,message:o,type:l,onClose:n})=>/*#__PURE__*/e.jsxs(s.Box,{"data-testid":"design-system-with-message-bar",children:[
|
|
2
2
|
/*#__PURE__*/e.jsx(s.Box,{className:"w-full overflow-y-hidden",children:/*#__PURE__*/e.jsx(s.Box,{className:a.twJoin("w-full transform overflow-y-hidden transition-all duration-300 ease-linear",i?"max-h-full translate-y-0":"max-h-0 -translate-y-full"),"data-testid":"design-system-with-message-bar--container",children:/*#__PURE__*/e.jsx(s.Box,{className:"pt-8",children:/*#__PURE__*/e.jsx(r.SnackBar,{message:o,type:l,onClose:n})})})}),t]});
|