@wishket/design-system 0.0.0-20261102064708 → 0.0.0-20261102065002
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/DataDisplays/SystemIcon/SystemIcon.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/SystemIcon.js +1 -1
- package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +2 -2
- package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +1 -1
- package/dist/Components/Inputs/Calendar/Calendar.js +1 -2
- package/dist/Components/Inputs/Calendar/Calendar.parts.js +3 -3
- package/dist/Components/Inputs/InputChip/InputChip.d.ts +1 -1
- package/dist/Components/Inputs/InputChip/InputChip.js +1 -1
- package/dist/Components/Inputs/SegmentedControl/SegmentedControl.d.ts +2 -5
- package/dist/Components/Inputs/SegmentedControl/SegmentedControl.js +9 -8
- package/dist/Components/Inputs/Textarea/Textarea.d.ts +2 -1
- package/dist/Components/Inputs/Textarea/Textarea.js +6 -6
- package/dist/ai/tokens.json +1 -1
- package/dist/cjs/Components/DataDisplays/SystemIcon/SystemIcon.js +1 -1
- package/dist/cjs/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +2 -2
- package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +1 -1
- package/dist/cjs/Components/Inputs/Calendar/Calendar.js +4 -5
- package/dist/cjs/Components/Inputs/Calendar/Calendar.parts.js +3 -3
- package/dist/cjs/Components/Inputs/InputChip/InputChip.js +1 -1
- package/dist/cjs/Components/Inputs/SegmentedControl/SegmentedControl.js +7 -5
- package/dist/cjs/Components/Inputs/Textarea/Textarea.js +5 -5
- package/package.json +1 -1
|
@@ -17,8 +17,8 @@ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twMerge as i}from"tailw
|
|
|
17
17
|
* // 고정 위치에 큰 크기로 표시
|
|
18
18
|
* <LoadingIndicator isFixed size="lg" />
|
|
19
19
|
*
|
|
20
|
-
* //
|
|
21
|
-
* <LoadingIndicator
|
|
20
|
+
* // 커스텀 클래스 적용
|
|
21
|
+
* <LoadingIndicator className="text-blue-500" />
|
|
22
22
|
*
|
|
23
23
|
*/const n={primary:"text-primary",white:"text-w-white",gray:"text-w-gray-400"},o=({variant:o="primary",isFixed:s=!1,size:c="md",ariaLabel:d="로딩 중",className:m})=>{const{width:u,height:p,viewBox:x,circle:h,r:g}=a[c],y=n[o];/*#__PURE__*/
|
|
24
24
|
return e(r,{role:"status","aria-live":"polite","aria-label":d,"aria-busy":"true",className:i("top-1/2 left-1/2 aspect-square -translate-x-1/2 -translate-y-1/2",s?"fixed":"absolute",l(c)),children:/*#__PURE__*/t("svg",{xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true","data-testid":"loading-indicator-svg",width:u,height:p,viewBox:x,fill:"none",className:i(y,m),children:[
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import{jsx as e,Fragment as t,jsxs as a}from"react/jsx-runtime";import{Typography as r}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"tailwind-merge";import"../../Base/Layouts/FullBleed/FullBleed.js";
|
|
2
2
|
// return A ~ Z
|
|
3
|
-
const i=Array.from({length:26},((e,t)=>String.fromCharCode(65+t))),l=({onIndexClick:t})=>/*#__PURE__*/e("ul",{className:"bg-w-gray-10 flex flex-col gap-0.5 rounded-l-xl p-[3px] text-center",children:i.map((a=>/*#__PURE__*/e("li",{className:"size-3.5 cursor-pointer",onClick:()=>null==t?void 0:t(a),children:/*#__PURE__*/e(r,{variant:"caption11",className:"text-
|
|
3
|
+
const i=Array.from({length:26},((e,t)=>String.fromCharCode(65+t))),l=({onIndexClick:t})=>/*#__PURE__*/e("ul",{className:"bg-w-gray-10 flex flex-col gap-0.5 rounded-l-xl p-[3px] text-center",children:i.map((a=>/*#__PURE__*/e("li",{className:"size-3.5 cursor-pointer",onClick:()=>null==t?void 0:t(a),children:/*#__PURE__*/e(r,{variant:"caption11",className:"text-gray-400",children:a})},a)))}),n=({iconUrl:t})=>/*#__PURE__*/e("img",{src:t,alt:"icon",width:24,height:24,className:"rounded-full border"}),s=({text:i,isInputItem:l,inputValue:n})=>{const s=i.slice(0,null==n?void 0:n.length),o=i.slice(null==n?void 0:n.length);/*#__PURE__*/
|
|
4
4
|
return e(t,{children:l?/*#__PURE__*/a(t,{children:[
|
|
5
5
|
/*#__PURE__*/a(r,{variant:"body16",className:"text-primary-500 font-medium","data-testid":"design-system-list-item-text",children:["‘",i,"’"]}),
|
|
6
6
|
/*#__PURE__*/e(r,{variant:"body16",className:"text-w-gray-600",children:"입력"})]}):/*#__PURE__*/e(r,{variant:"body16",className:"text-w-gray-600","data-testid":"design-system-list-item-text",children:n?/*#__PURE__*/a(t,{children:[
|
|
@@ -57,8 +57,7 @@
|
|
|
57
57
|
}),[F]),/*#__PURE__*/e(n,{className:s("relative h-fit w-fit select-none",N),"data-testid":"design-system-calendar--container",children:[
|
|
58
58
|
/*#__PURE__*/a(n,{className:"cursor-pointer",children:/*#__PURE__*/e(l,{isFocused:F,isError:C,isDisabled:j,testId:"design-system-calendar--trigger",onClick:S,className:$,children:[
|
|
59
59
|
/*#__PURE__*/a(i,{name:"medium_calendar",className:j||!w?"text-w-gray-300":"text-w-gray-400"}),
|
|
60
|
-
/*#__PURE__*/a(o,{variant:"body16",className:s("text-w-gray-600 min-w-[178px]",!w&&"text-w-gray-300"
|
|
61
|
-
j&&(w?"text-w-gray-300":"text-w-gray-200")),"data-testid":"design-system-calendar--selected-date",children:w?`${E} ${_} ${q}`:b})]})}),F&&/*#__PURE__*/a("div",{className:"fixed top-0 left-0 z-10 h-screen w-screen bg-transparent",onClick:S}),F&&/*#__PURE__*/e(n,{"data-testid":"design-system-calendar--content",className:s("border-w-gray-200 bg-w-white shadow-graymedium absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border px-[15px] py-[23px]",B),children:[
|
|
60
|
+
/*#__PURE__*/a(o,{variant:"body16",className:s("text-w-gray-600 min-w-[178px]",!w&&"text-w-gray-300",j&&"text-w-gray-300"),"data-testid":"design-system-calendar--selected-date",children:w?`${E} ${_} ${q}`:b})]})}),F&&/*#__PURE__*/a("div",{className:"fixed top-0 left-0 z-10 h-screen w-screen bg-transparent",onClick:S}),F&&/*#__PURE__*/e(n,{"data-testid":"design-system-calendar--content",className:s("border-w-gray-200 bg-w-white shadow-graymedium absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border px-[15px] py-[23px]",B),children:[
|
|
62
61
|
/*#__PURE__*/a(d,{visibleDate:L,onChange:e=>{k(e)}}),
|
|
63
62
|
/*#__PURE__*/a(c,{}),
|
|
64
63
|
/*#__PURE__*/a(n,{className:"grid w-full grid-cols-7 place-content-center place-items-center gap-1",children:H.map(((e,t)=>{const r=!(!e||!w)&&h(e,z);return e?/*#__PURE__*/a(m,{date:e,selected:r,disabled:u(e,v,A),onChange:J},`${e.year}-${e.month}-${e.date}`):/*#__PURE__*/a(m,{disabled:!0},t)}))})]})]})};export{f as Calendar};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as a}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import{Typography as r}from"../../Base/Typography/Typography.js";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../../constants/colors/colors.js";import"../../DataDisplays/Accordion/Accordion.js";import{getKoreanTimeString as n}from"./Calendar.utils.js";import{dayMap as o}from"./Calendar.constants.js";const i=()=>{const e=Array.from(o.values());/*#__PURE__*/
|
|
2
2
|
return t(l,{className:"grid w-full grid-cols-7 place-items-center gap-1",children:e.map((e=>/*#__PURE__*/t(l,{className:"flex h-5 items-center justify-center",children:/*#__PURE__*/t(r,{variant:"body13",className:"text-w-gray-500 leading-normal",children:e})},e)))})},m=({visibleDate:a,onChange:o})=>{const i=1===(null==a?void 0:a.month),m=12===(null==a?void 0:a.month),{year:c,month:d}=a&&n(a);/*#__PURE__*/
|
|
3
3
|
return e(l,{className:"flex h-[50px] w-full gap-4",children:[
|
|
4
|
-
/*#__PURE__*/t(l,{"data-testid":"design-system-calendar--to-prev-month",className:"
|
|
5
|
-
/*#__PURE__*/e(r,{variant:"subTitle18",className:"
|
|
6
|
-
/*#__PURE__*/t(l,{"data-testid":"design-system-calendar--to-next-month",className:"
|
|
4
|
+
/*#__PURE__*/t(l,{"data-testid":"design-system-calendar--to-prev-month",className:"size-6 cursor-pointer text-gray-600",onClick:()=>{i?null==o||o({year:a.year-1,month:12,date:1}):null==o||o({year:a.year,month:a.month-1,date:1})},children:/*#__PURE__*/t(s,{name:"large_arrow_left",className:"text-gray-600"})}),
|
|
5
|
+
/*#__PURE__*/e(r,{variant:"subTitle18",className:"h-fit w-full text-center leading-normal text-gray-900",children:[c," ",d]}),
|
|
6
|
+
/*#__PURE__*/t(l,{"data-testid":"design-system-calendar--to-next-month",className:"size-6 cursor-pointer text-gray-600",onClick:()=>{m?null==o||o({year:a.year+1,month:1,date:1}):null==o||o({year:a.year,month:a.month+1,date:1})},children:/*#__PURE__*/t(s,{name:"large_arrow_right",className:"text-gray-600"})})]})},c=({selected:e,date:s,disabled:n=!1,onChange:o})=>{const i=1===String(null==s?void 0:s.date).length?`0${null==s?void 0:s.date}`:null==s?void 0:s.date;/*#__PURE__*/
|
|
7
7
|
return t(l,{className:a("bg-w-white flex aspect-square w-full max-w-[42px] cursor-pointer items-center justify-center rounded-full p-2 text-center",!n&&!e&&"hover:bg-primary-10",e&&"bg-primary",n&&"cursor-default"),onClick:()=>{n||null==o||o(s)},children:/*#__PURE__*/t(r,{variant:"body16",className:a("text-w-gray-900",e&&"text-w-white",n&&"text-w-gray-300"),children:i})})};export{c as DateBox,m as SelectHeader,i as WeekHeader};
|
|
@@ -7,8 +7,6 @@ export interface SegmentedControlProps {
|
|
|
7
7
|
selectedValue: string;
|
|
8
8
|
size?: SegmentedControlSize;
|
|
9
9
|
name?: string;
|
|
10
|
-
/** 스크린 리더가 읽는 그룹 이름 — 무엇을 고르는지 적는다 (예: '기간') */
|
|
11
|
-
ariaLabel?: string;
|
|
12
10
|
onChange: (value: string) => void;
|
|
13
11
|
}
|
|
14
12
|
/**
|
|
@@ -18,8 +16,7 @@ export interface SegmentedControlProps {
|
|
|
18
16
|
* @param {'sm' | 'md'} [props.size='md'] - 세그먼트 컨트롤 크기
|
|
19
17
|
* @param {Array<{key: string, name: string}>} props.valueList - 선택 가능한 옵션들의 배열 ({key, name}[])
|
|
20
18
|
* @param {string} props.selectedValue - 현재 선택된 옵션의 key 값
|
|
21
|
-
* @param {string} [props.name
|
|
22
|
-
* @param {string} [props.ariaLabel='segmented control'] - 스크린 리더가 읽는 그룹 이름. 무엇을 고르는지 적습니다 (예: '기간')
|
|
19
|
+
* @param {string} [props.name] - 라디오 그룹의 name 속성. 생략하면 인스턴스마다 다른 값을 만든다(`useId`) — 폼으로 값을 보낼 때는 직접 준다
|
|
23
20
|
* @param {(value: string) => void} props.onChange - 선택 값이 변경될 때 호출되는 콜백 함수
|
|
24
21
|
*
|
|
25
22
|
* @example
|
|
@@ -41,5 +38,5 @@ export interface SegmentedControlProps {
|
|
|
41
38
|
* );
|
|
42
39
|
* ```
|
|
43
40
|
*/
|
|
44
|
-
declare const SegmentedControl: ({ valueList, selectedValue, size, name
|
|
41
|
+
declare const SegmentedControl: ({ valueList, selectedValue, size, name: nameProp, onChange, }: SegmentedControlProps) => import("react/jsx-runtime").JSX.Element;
|
|
45
42
|
export { SegmentedControl };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useId as r}from"react";import{twJoin as a}from"tailwind-merge";import{Typography as o}from"../../Base/Typography/Typography.js";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";
|
|
2
2
|
/**
|
|
3
3
|
* 여러 옵션 중 하나를 선택할 수 있는 세그먼트 컨트롤 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -6,8 +6,7 @@ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twJoin as r}from"tailwi
|
|
|
6
6
|
* @param {'sm' | 'md'} [props.size='md'] - 세그먼트 컨트롤 크기
|
|
7
7
|
* @param {Array<{key: string, name: string}>} props.valueList - 선택 가능한 옵션들의 배열 ({key, name}[])
|
|
8
8
|
* @param {string} props.selectedValue - 현재 선택된 옵션의 key 값
|
|
9
|
-
* @param {string} [props.name
|
|
10
|
-
* @param {string} [props.ariaLabel='segmented control'] - 스크린 리더가 읽는 그룹 이름. 무엇을 고르는지 적습니다 (예: '기간')
|
|
9
|
+
* @param {string} [props.name] - 라디오 그룹의 name 속성. 생략하면 인스턴스마다 다른 값을 만든다(`useId`) — 폼으로 값을 보낼 때는 직접 준다
|
|
11
10
|
* @param {(value: string) => void} props.onChange - 선택 값이 변경될 때 호출되는 콜백 함수
|
|
12
11
|
*
|
|
13
12
|
* @example
|
|
@@ -28,8 +27,10 @@ import{jsx as e,jsxs as t}from"react/jsx-runtime";import{twJoin as r}from"tailwi
|
|
|
28
27
|
* />
|
|
29
28
|
* );
|
|
30
29
|
* ```
|
|
31
|
-
*/const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
*/const s=({valueList:s,selectedValue:n,size:d="md",name:m,onChange:i})=>{
|
|
31
|
+
// 고정 기본값('segmented-control')이면 한 화면의 여러 인스턴스가 한 라디오 묶음이 됐다 (#1318)
|
|
32
|
+
const p=r(),c=null!=m?m:p,u={sm:{selected:"px-[15px] py-[7px]",unselected:"px-4 py-2"},md:{selected:"px-[15px] py-[11px]",unselected:"px-4 py-3"}};/*#__PURE__*/
|
|
33
|
+
return e(l,{className:"flex w-full overflow-hidden rounded-xl",role:"radiogroup","aria-label":"segmented control","data-testid":"design-system--segmented-control",children:s.map(((r,l)=>{const m=0===l,p=l===s.length-1,y=n===r.key,x=y&&"sm"===d;/*#__PURE__*/
|
|
34
|
+
return t("label",{className:a("relative cursor-pointer text-center select-none",y?"border border-primary bg-primary-10 text-primary":"bg-w-gray-50 text-w-gray-300",y?u[d].selected:u[d].unselected,m&&"rounded-l-xl",p&&"rounded-r-xl"),"data-testid":"design-system--segmented-control-item",children:[
|
|
35
|
+
/*#__PURE__*/e("input",{type:"radio",name:c,value:r.key,checked:y,"aria-checked":y,onChange:e=>i(e.target.value),className:"absolute h-0 w-0 opacity-0"}),
|
|
36
|
+
/*#__PURE__*/e(o,{variant:"md"===d?"body16":"body14",className:a(x?"font-medium":"font-normal"),children:r.name})]},r.key)}))})};export{s as SegmentedControl};
|
|
@@ -19,7 +19,8 @@ export interface TextareaProps extends ComponentProps<'textarea'> {
|
|
|
19
19
|
* @param {boolean} [props.resize=false] - 크기 조절 가능 여부를 설정합니다
|
|
20
20
|
* @param {string} [props.supportText] - 도움말 텍스트를 표시합니다
|
|
21
21
|
* @param {string} [props.errorText] - 에러 메시지를 표시합니다
|
|
22
|
-
* @param {boolean} [props.isLengthVisible
|
|
22
|
+
* @param {boolean} [props.isLengthVisible] - 글자 수(`maxLength`) 표시. `true` 면 항상 보이고, `false` 면 숨긴다.
|
|
23
|
+
* 생략하면 기존처럼 `supportText` · 오류 문구가 있을 때 함께 보인다
|
|
23
24
|
* @param {React.ComponentProps<'textarea'>} props.textareaProps - textarea 엘리먼트의 기본 속성들
|
|
24
25
|
*
|
|
25
26
|
* @example
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r}from"react";import{twMerge as o,twJoin as n}from"tailwind-merge";import"../../Base/Typography/Typography.js";import{Box as a}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../../constants/colors/colors.js";import"../../DataDisplays/Accordion/Accordion.js";import{TextFieldContainer as
|
|
1
|
+
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r}from"react";import{twMerge as o,twJoin as n}from"tailwind-merge";import"../../Base/Typography/Typography.js";import{Box as a}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{SystemIcon as s}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../../constants/colors/colors.js";import"../../DataDisplays/Accordion/Accordion.js";import{TextFieldContainer as i}from"../TextFieldContainer/TextFieldContainer.js";import{SupportTextContainer as l}from"../SupportTextContainer/SupportTextContainer.js";function m(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function c(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){m(e,t,r[t])}))}return e}function p(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},a=Object.keys(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}
|
|
2
2
|
/**
|
|
3
3
|
* 사용자가 여러 줄의 텍스트를 입력할 수 있는 textarea 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* @param {boolean} [props.resize=false] - 크기 조절 가능 여부를 설정합니다
|
|
9
9
|
* @param {string} [props.supportText] - 도움말 텍스트를 표시합니다
|
|
10
10
|
* @param {string} [props.errorText] - 에러 메시지를 표시합니다
|
|
11
|
-
* @param {boolean} [props.isLengthVisible
|
|
11
|
+
* @param {boolean} [props.isLengthVisible] - 글자 수(`maxLength`) 표시. `true` 면 항상 보이고, `false` 면 숨긴다.
|
|
12
|
+
* 생략하면 기존처럼 `supportText` · 오류 문구가 있을 때 함께 보인다
|
|
12
13
|
* @param {React.ComponentProps<'textarea'>} props.textareaProps - textarea 엘리먼트의 기본 속성들
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
@@ -41,8 +42,7 @@
|
|
|
41
42
|
* />
|
|
42
43
|
* </div>
|
|
43
44
|
* ```
|
|
44
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const u=
|
|
45
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o<a.length;o++)r=a[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const u=m=>{var{isError:u=!1,size:f="md",resize:d=!1,isLengthVisible:y,supportText:g,errorText:x,maxLength:h,value:b,disabled:j,name:v,onChange:O,onBlur:w}=m,S=p(m,["isError","size","resize","isLengthVisible","supportText","errorText","maxLength","value","disabled","name","onChange","onBlur"]);const[T,B]=r(!1),D=u||g||y,z=!1===y?void 0:h;/*#__PURE__*/
|
|
45
46
|
return e(a,{"data-testid":"design-system-textarea",className:o("flex w-full flex-col gap-2","full"===f?"h-full":"h-fit"),children:[
|
|
46
|
-
/*#__PURE__*/e(
|
|
47
|
-
/*#__PURE__*/t("textarea",
|
|
48
|
-
j&&"text-w-gray-300 placeholder:text-w-gray-200 cursor-not-allowed resize-none"),name:w,value:b,disabled:j,onChange:O,maxLength:h,onFocus:e=>{B(!0)},onBlur:e=>{B(!1),v&&v(e)}},S)),d&&/*#__PURE__*/t(s,{name:"small_resizer",className:"text-w-gray-400 absolute right-[5px] bottom-[5px]",testId:"design-system-textarea--resize-icon"})]}),D&&/*#__PURE__*/t(i,{errorMessage:x,supportMessage:g,currentLength:(null==b?void 0:b.toString().length)||0,maxLength:h})]})};export{u as Textarea};
|
|
47
|
+
/*#__PURE__*/e(i,{isDisabled:j,isError:u,isFocused:T,isTextarea:!0,className:n("full"===f&&"h-full"),children:[
|
|
48
|
+
/*#__PURE__*/t("textarea",c({"data-testid":"design-system-textarea--textarea",className:o("scrollbar-list tracking-default placeholder:tracking-default text-w-gray-600 placeholder:text-w-gray-300 w-full overflow-y-scroll py-[11px] pl-4 font-[inherit] font-normal outline-hidden placeholder:font-[inherit]","sm"===f?"min-h-[118px]":"md"===f?"min-h-[238px]":"lg"===f?"min-h-[358px]":"full"===f?"min-h-full":void 0,d?"resize-y":"resize-none",j&&"resize-none"),name:v,value:b,disabled:j,onChange:O,maxLength:h,onFocus:e=>{B(!0)},onBlur:e=>{B(!1),w&&w(e)}},S)),d&&/*#__PURE__*/t(s,{name:"small_resizer",className:"text-w-gray-400 absolute right-[5px] bottom-[5px]",testId:"design-system-textarea--resize-icon"})]}),D&&/*#__PURE__*/t(l,{errorMessage:x,supportMessage:g,currentLength:(null==b?void 0:b.toString().length)||0,maxLength:z})]})};export{u as Textarea};
|
package/dist/ai/tokens.json
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
* // 고정 위치에 큰 크기로 표시
|
|
18
18
|
* <LoadingIndicator isFixed size="lg" />
|
|
19
19
|
*
|
|
20
|
-
* //
|
|
21
|
-
* <LoadingIndicator
|
|
20
|
+
* // 커스텀 클래스 적용
|
|
21
|
+
* <LoadingIndicator className="text-blue-500" />
|
|
22
22
|
*
|
|
23
23
|
*/
|
|
24
24
|
const a={primary:"text-primary",white:"text-w-white",gray:"text-w-gray-400"};exports.LoadingIndicator=({variant:s="primary",isFixed:n=!1,size:l="md",ariaLabel:c="로딩 중",className:o})=>{const{width:u,height:d,viewBox:x,circle:g,r:m}=t.SIZES[l],h=a[s];/*#__PURE__*/
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";var e=require("react/jsx-runtime"),r=require("../../Base/Typography/Typography.js");require("../../Base/Layouts/Box/Box.js"),require("tailwind-merge"),require("../../Base/Layouts/FullBleed/FullBleed.js");
|
|
2
2
|
// return A ~ Z
|
|
3
|
-
const t=Array.from({length:26},((e,r)=>String.fromCharCode(65+r)));exports.CountSection=({count:t})=>/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:"text-w-gray-400",children:t}),exports.INDEXES=t,exports.Icon=({iconUrl:r})=>/*#__PURE__*/e.jsx("img",{src:r,alt:"icon",width:24,height:24,className:"rounded-full border"}),exports.IndexBar=({onIndexClick:a})=>/*#__PURE__*/e.jsx("ul",{className:"bg-w-gray-10 flex flex-col gap-0.5 rounded-l-xl p-[3px] text-center",children:t.map((t=>/*#__PURE__*/e.jsx("li",{className:"size-3.5 cursor-pointer",onClick:()=>null==a?void 0:a(t),children:/*#__PURE__*/e.jsx(r.Typography,{variant:"caption11",className:"text-
|
|
3
|
+
const t=Array.from({length:26},((e,r)=>String.fromCharCode(65+r)));exports.CountSection=({count:t})=>/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:"text-w-gray-400",children:t}),exports.INDEXES=t,exports.Icon=({iconUrl:r})=>/*#__PURE__*/e.jsx("img",{src:r,alt:"icon",width:24,height:24,className:"rounded-full border"}),exports.IndexBar=({onIndexClick:a})=>/*#__PURE__*/e.jsx("ul",{className:"bg-w-gray-10 flex flex-col gap-0.5 rounded-l-xl p-[3px] text-center",children:t.map((t=>/*#__PURE__*/e.jsx("li",{className:"size-3.5 cursor-pointer",onClick:()=>null==a?void 0:a(t),children:/*#__PURE__*/e.jsx(r.Typography,{variant:"caption11",className:"text-gray-400",children:t})},t)))}),exports.TextSection=({text:t,isInputItem:a,inputValue:s})=>{const i=t.slice(0,null==s?void 0:s.length),l=t.slice(null==s?void 0:s.length);/*#__PURE__*/
|
|
4
4
|
return e.jsx(e.Fragment,{children:a?/*#__PURE__*/e.jsxs(e.Fragment,{children:[
|
|
5
5
|
/*#__PURE__*/e.jsxs(r.Typography,{variant:"body16",className:"text-primary-500 font-medium","data-testid":"design-system-list-item-text",children:["‘",t,"’"]}),
|
|
6
6
|
/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:"text-w-gray-600",children:"입력"})]}):/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:"text-w-gray-600","data-testid":"design-system-list-item-text",children:s?/*#__PURE__*/e.jsxs(e.Fragment,{children:[
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime"),a=require("react"),t=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var r=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../../constants/colors/colors.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../TextFieldContainer/TextFieldContainer.js"),l=require("./Calendar.parts.js"),d=require("./Calendar.utils.js");exports.Calendar=({defaultDate:o,selected:c,onChange:g,disabled:
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime"),a=require("react"),t=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var r=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");var n=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../../constants/colors/colors.js"),require("../../DataDisplays/Accordion/Accordion.js");var i=require("../TextFieldContainer/TextFieldContainer.js"),l=require("./Calendar.parts.js"),d=require("./Calendar.utils.js");exports.Calendar=({defaultDate:o,selected:c,onChange:g,disabled:u,placeholder:x,isError:m,className:y,triggerClassName:p,dropdownClassName:j,minDate:D,maxDate:h})=>{const[w,f]=a.useState(!1),q=()=>{u||f((e=>!e))},B=o?d.generateDate(o):d.today,[C,b]=a.useState(c?d.generateDate(c):B),N=c?d.generateDate(c):B,{year:S,month:v,date:$}=d.getKoreanTimeString(N),{dateList:T}=d.getMonthDate(C.year,C.month),F=[...Array.from({length:T[0].day},(()=>null)),...T],I=e=>{if(c&&d.isSameDate(e,N))return;if(d.isDateOutOfRange(e,D,h))return;const a=`${e.year}-${e.month}-${e.date}`;null==g||g(a),f(!1)};return a.useEffect((()=>{!w&&c&&b(d.generateDate(c));
|
|
2
2
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3
3
|
}),[w]),/*#__PURE__*/e.jsxs(s.Box,{className:t.twMerge("relative h-fit w-fit select-none",y),"data-testid":"design-system-calendar--container",children:[
|
|
4
|
-
/*#__PURE__*/e.jsx(s.Box,{className:"cursor-pointer",children:/*#__PURE__*/e.jsxs(i.TextFieldContainer,{isFocused:w,isError:m,isDisabled:
|
|
5
|
-
/*#__PURE__*/e.jsx(n.SystemIcon,{name:"medium_calendar",className:
|
|
6
|
-
/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:t.twMerge("text-w-gray-600 min-w-[178px]",!c&&"text-w-gray-300"
|
|
7
|
-
x&&(c?"text-w-gray-300":"text-w-gray-200")),"data-testid":"design-system-calendar--selected-date",children:c?`${S} ${v} ${$}`:u})]})}),w&&/*#__PURE__*/e.jsx("div",{className:"fixed top-0 left-0 z-10 h-screen w-screen bg-transparent",onClick:q}),w&&/*#__PURE__*/e.jsxs(s.Box,{"data-testid":"design-system-calendar--content",className:t.twMerge("border-w-gray-200 bg-w-white shadow-graymedium absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border px-[15px] py-[23px]",j),children:[
|
|
4
|
+
/*#__PURE__*/e.jsx(s.Box,{className:"cursor-pointer",children:/*#__PURE__*/e.jsxs(i.TextFieldContainer,{isFocused:w,isError:m,isDisabled:u,testId:"design-system-calendar--trigger",onClick:q,className:p,children:[
|
|
5
|
+
/*#__PURE__*/e.jsx(n.SystemIcon,{name:"medium_calendar",className:u||!c?"text-w-gray-300":"text-w-gray-400"}),
|
|
6
|
+
/*#__PURE__*/e.jsx(r.Typography,{variant:"body16",className:t.twMerge("text-w-gray-600 min-w-[178px]",!c&&"text-w-gray-300",u&&"text-w-gray-300"),"data-testid":"design-system-calendar--selected-date",children:c?`${S} ${v} ${$}`:x})]})}),w&&/*#__PURE__*/e.jsx("div",{className:"fixed top-0 left-0 z-10 h-screen w-screen bg-transparent",onClick:q}),w&&/*#__PURE__*/e.jsxs(s.Box,{"data-testid":"design-system-calendar--content",className:t.twMerge("border-w-gray-200 bg-w-white shadow-graymedium absolute top-[54px] z-30 flex w-[350px] flex-col gap-4 rounded-xl border px-[15px] py-[23px]",j),children:[
|
|
8
7
|
/*#__PURE__*/e.jsx(l.SelectHeader,{visibleDate:C,onChange:e=>{b(e)}}),
|
|
9
8
|
/*#__PURE__*/e.jsx(l.WeekHeader,{}),
|
|
10
9
|
/*#__PURE__*/e.jsx(s.Box,{className:"grid w-full grid-cols-7 place-content-center place-items-center gap-1",children:F.map(((a,t)=>{const r=!(!a||!c)&&d.isSameDate(a,N);return a?/*#__PURE__*/e.jsx(l.DateBox,{date:a,selected:r,disabled:d.isDateOutOfRange(a,D,h),onChange:I},`${a.year}-${a.month}-${a.date}`):/*#__PURE__*/e.jsx(l.DateBox,{disabled:!0},t)}))})]})]})};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge");require("../../DataDisplays/Avatar/Avatar.js");var a=require("../../Base/Typography/Typography.js"),t=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("react");var s=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../../constants/colors/colors.js"),require("../../DataDisplays/Accordion/Accordion.js");var l=require("./Calendar.utils.js"),n=require("./Calendar.constants.js");exports.DateBox=({selected:s,date:l,disabled:n=!1,onChange:o})=>{const i=1===String(null==l?void 0:l.date).length?`0${null==l?void 0:l.date}`:null==l?void 0:l.date;/*#__PURE__*/
|
|
2
2
|
return e.jsx(t.Box,{className:r.twMerge("bg-w-white flex aspect-square w-full max-w-[42px] cursor-pointer items-center justify-center rounded-full p-2 text-center",!n&&!s&&"hover:bg-primary-10",s&&"bg-primary",n&&"cursor-default"),onClick:()=>{n||null==o||o(l)},children:/*#__PURE__*/e.jsx(a.Typography,{variant:"body16",className:r.twMerge("text-w-gray-900",s&&"text-w-white",n&&"text-w-gray-300"),children:i})})},exports.SelectHeader=({visibleDate:r,onChange:n})=>{const o=1===(null==r?void 0:r.month),i=12===(null==r?void 0:r.month),{year:c,month:d}=r&&l.getKoreanTimeString(r);/*#__PURE__*/
|
|
3
3
|
return e.jsxs(t.Box,{className:"flex h-[50px] w-full gap-4",children:[
|
|
4
|
-
/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-calendar--to-prev-month",className:"
|
|
5
|
-
/*#__PURE__*/e.jsxs(a.Typography,{variant:"subTitle18",className:"
|
|
6
|
-
/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-calendar--to-next-month",className:"
|
|
4
|
+
/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-calendar--to-prev-month",className:"size-6 cursor-pointer text-gray-600",onClick:()=>{o?null==n||n({year:r.year-1,month:12,date:1}):null==n||n({year:r.year,month:r.month-1,date:1})},children:/*#__PURE__*/e.jsx(s.SystemIcon,{name:"large_arrow_left",className:"text-gray-600"})}),
|
|
5
|
+
/*#__PURE__*/e.jsxs(a.Typography,{variant:"subTitle18",className:"h-fit w-full text-center leading-normal text-gray-900",children:[c," ",d]}),
|
|
6
|
+
/*#__PURE__*/e.jsx(t.Box,{"data-testid":"design-system-calendar--to-next-month",className:"size-6 cursor-pointer text-gray-600",onClick:()=>{i?null==n||n({year:r.year+1,month:1,date:1}):null==n||n({year:r.year,month:r.month+1,date:1})},children:/*#__PURE__*/e.jsx(s.SystemIcon,{name:"large_arrow_right",className:"text-gray-600"})})]})},exports.WeekHeader=()=>{const r=Array.from(n.dayMap.values());/*#__PURE__*/
|
|
7
7
|
return e.jsx(t.Box,{className:"grid w-full grid-cols-7 place-items-center gap-1",children:r.map((r=>/*#__PURE__*/e.jsx(t.Box,{className:"flex h-5 items-center justify-center",children:/*#__PURE__*/e.jsx(a.Typography,{variant:"body13",className:"text-w-gray-500 leading-normal",children:r})},r)))})};
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("tailwind-merge"),
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("tailwind-merge"),a=require("../../Base/Typography/Typography.js"),s=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js");exports.SegmentedControl=({valueList:l,selectedValue:n,size:d="md",name:o,onChange:i})=>{
|
|
2
|
+
// 고정 기본값('segmented-control')이면 한 화면의 여러 인스턴스가 한 라디오 묶음이 됐다 (#1318)
|
|
3
|
+
const u=r.useId(),c=null!=o?o:u,m={sm:{selected:"px-[15px] py-[7px]",unselected:"px-4 py-2"},md:{selected:"px-[15px] py-[11px]",unselected:"px-4 py-3"}};/*#__PURE__*/
|
|
4
|
+
return e.jsx(s.Box,{className:"flex w-full overflow-hidden rounded-xl",role:"radiogroup","aria-label":"segmented control","data-testid":"design-system--segmented-control",children:l.map(((r,s)=>{const o=0===s,u=s===l.length-1,p=n===r.key,y=p&&"sm"===d;/*#__PURE__*/
|
|
5
|
+
return e.jsxs("label",{className:t.twJoin("relative cursor-pointer text-center select-none",p?"border border-primary bg-primary-10 text-primary":"bg-w-gray-50 text-w-gray-300",p?m[d].selected:m[d].unselected,o&&"rounded-l-xl",u&&"rounded-r-xl"),"data-testid":"design-system--segmented-control-item",children:[
|
|
6
|
+
/*#__PURE__*/e.jsx("input",{type:"radio",name:c,value:r.key,checked:p,"aria-checked":p,onChange:e=>i(e.target.value),className:"absolute h-0 w-0 opacity-0"}),
|
|
7
|
+
/*#__PURE__*/e.jsx(a.Typography,{variant:"md"===d?"body16":"body14",className:t.twJoin(y?"font-medium":"font-normal"),children:r.name})]},r.key)}))})};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("tailwind-merge");require("../../Base/Typography/Typography.js");var n=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js");var a=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../../constants/colors/colors.js"),require("../../DataDisplays/Accordion/Accordion.js");var s=require("../TextFieldContainer/TextFieldContainer.js"),
|
|
1
|
+
"use client";"use strict";var e=require("react/jsx-runtime"),r=require("react"),t=require("tailwind-merge");require("../../Base/Typography/Typography.js");var n=require("../../Base/Layouts/Box/Box.js");require("../../Base/Layouts/FullBleed/FullBleed.js"),require("../../DataDisplays/Avatar/Avatar.js");var a=require("../../DataDisplays/SystemIcon/SystemIcon.js");require("../../DataDisplays/SystemIcon/SystemIcon.constants.js"),require("../../../constants/colors/colors.js"),require("../../DataDisplays/Accordion/Accordion.js");var s=require("../TextFieldContainer/TextFieldContainer.js"),i=require("../SupportTextContainer/SupportTextContainer.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 l(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{},n=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),n.forEach((function(r){o(e,r,t[r])}))}return e}function u(e,r){if(null==e)return{};var t,n,a=function(e,r){if(null==e)return{};var t,n,a={},s=Object.keys(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||(a[t]=e[t]);return a}
|
|
2
2
|
/**
|
|
3
3
|
* 사용자가 여러 줄의 텍스트를 입력할 수 있는 textarea 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* @param {boolean} [props.resize=false] - 크기 조절 가능 여부를 설정합니다
|
|
9
9
|
* @param {string} [props.supportText] - 도움말 텍스트를 표시합니다
|
|
10
10
|
* @param {string} [props.errorText] - 에러 메시지를 표시합니다
|
|
11
|
-
* @param {boolean} [props.isLengthVisible
|
|
11
|
+
* @param {boolean} [props.isLengthVisible] - 글자 수(`maxLength`) 표시. `true` 면 항상 보이고, `false` 면 숨긴다.
|
|
12
|
+
* 생략하면 기존처럼 `supportText` · 오류 문구가 있을 때 함께 보인다
|
|
12
13
|
* @param {React.ComponentProps<'textarea'>} props.textareaProps - textarea 엘리먼트의 기본 속성들
|
|
13
14
|
*
|
|
14
15
|
* @example
|
|
@@ -41,8 +42,7 @@
|
|
|
41
42
|
* />
|
|
42
43
|
* </div>
|
|
43
44
|
* ```
|
|
44
|
-
*/(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}exports.Textarea=
|
|
45
|
+
*/(e,r);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)t=s[n],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}exports.Textarea=o=>{var{isError:c=!1,size:p="md",resize:x=!1,isLengthVisible:d,supportText:g,errorText:m,maxLength:y,value:f,disabled:h,name:b,onChange:j,onBlur:v}=o,w=u(o,["isError","size","resize","isLengthVisible","supportText","errorText","maxLength","value","disabled","name","onChange","onBlur"]);const[O,S]=r.useState(!1),T=c||g||d,q=!1===d?void 0:y;/*#__PURE__*/
|
|
45
46
|
return e.jsxs(n.Box,{"data-testid":"design-system-textarea",className:t.twMerge("flex w-full flex-col gap-2","full"===p?"h-full":"h-fit"),children:[
|
|
46
47
|
/*#__PURE__*/e.jsxs(s.TextFieldContainer,{isDisabled:h,isError:c,isFocused:O,isTextarea:!0,className:t.twJoin("full"===p&&"h-full"),children:[
|
|
47
|
-
/*#__PURE__*/e.jsx("textarea",
|
|
48
|
-
h&&"text-w-gray-300 placeholder:text-w-gray-200 cursor-not-allowed resize-none"),name:b,value:f,disabled:h,onChange:j,maxLength:m,onFocus:e=>{S(!0)},onBlur:e=>{S(!1),v&&v(e)}},w)),x&&/*#__PURE__*/e.jsx(a.SystemIcon,{name:"small_resizer",className:"text-w-gray-400 absolute right-[5px] bottom-[5px]",testId:"design-system-textarea--resize-icon"})]}),T&&/*#__PURE__*/e.jsx(o.SupportTextContainer,{errorMessage:y,supportMessage:g,currentLength:(null==f?void 0:f.toString().length)||0,maxLength:m})]})};
|
|
48
|
+
/*#__PURE__*/e.jsx("textarea",l({"data-testid":"design-system-textarea--textarea",className:t.twMerge("scrollbar-list tracking-default placeholder:tracking-default text-w-gray-600 placeholder:text-w-gray-300 w-full overflow-y-scroll py-[11px] pl-4 font-[inherit] font-normal outline-hidden placeholder:font-[inherit]","sm"===p?"min-h-[118px]":"md"===p?"min-h-[238px]":"lg"===p?"min-h-[358px]":"full"===p?"min-h-full":void 0,x?"resize-y":"resize-none",h&&"resize-none"),name:b,value:f,disabled:h,onChange:j,maxLength:y,onFocus:e=>{S(!0)},onBlur:e=>{S(!1),v&&v(e)}},w)),x&&/*#__PURE__*/e.jsx(a.SystemIcon,{name:"small_resizer",className:"text-w-gray-400 absolute right-[5px] bottom-[5px]",testId:"design-system-textarea--resize-icon"})]}),T&&/*#__PURE__*/e.jsx(i.SupportTextContainer,{errorMessage:m,supportMessage:g,currentLength:(null==f?void 0:f.toString().length)||0,maxLength:q})]})};
|