@wishket/design-system 1.17.2 → 1.17.4
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/README.md +14 -1
- package/dist/Components/Base/Layouts/FullBleed/FullBleed.js +1 -1
- package/dist/Components/Base/Layouts/FullBleed/FullBleed.utils.js +1 -1
- package/dist/Components/Base/TextWithIcons/TextWithIcons.d.ts +10 -0
- package/dist/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
- package/dist/Components/Base/TextWithIcons/index.d.ts +1 -0
- package/dist/Components/Base/Typography/Typography.d.ts +1 -1
- package/dist/Components/Base/Typography/Typography.js +3 -3
- package/dist/Components/Base/Typography/Typography.types.d.ts +13 -12
- package/dist/Components/DataDisplays/Accordion/Accordion.d.ts +33 -0
- package/dist/Components/DataDisplays/Accordion/Accordion.js +58 -0
- package/dist/Components/DataDisplays/Accordion/index.d.ts +1 -0
- package/dist/Components/DataDisplays/Avatar/Avatar.d.ts +2 -1
- package/dist/Components/DataDisplays/Avatar/Avatar.js +5 -4
- package/dist/Components/DataDisplays/Divider/Divider.d.ts +3 -20
- package/dist/Components/DataDisplays/Divider/Divider.js +10 -6
- package/dist/Components/DataDisplays/Label/Label.js +1 -1
- package/dist/Components/DataDisplays/Li/Li.d.ts +5 -68
- package/dist/Components/DataDisplays/Li/Li.js +7 -7
- package/dist/Components/DataDisplays/ProductIcon/Icons/Achieve.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Bookmark.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/BubbleStar.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/BubbleStars.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Building.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Calendar.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/CardConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/CardWrite.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Congrats.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/ContractPen.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Credit.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Database.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Design.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Discount.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/DocumentCloud.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/DocumentSuccess.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Email.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/HandShake.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/HandThumb.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Idea.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Lock.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Logout.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/MemoWrite.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/MobileConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Package.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperCertify.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClip.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClipClock.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperClock.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperContract.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperHold.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperOverlap.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperPen.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperProject.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PaperSecurity.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PersonFreelancer.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PersonOffice.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/PersonSmile.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Public.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Receipt.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Repair.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Search.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/SearchConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/ShieldConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/ShieldWon.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Shopping.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WebDevelopment.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WebDomain.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WebPayment.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WebSecurity.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperConfirm.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperPayment.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperPlan.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/WidePaperStructure.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/Icons/Won.d.ts +1 -1
- package/dist/Components/DataDisplays/ProductIcon/ProductIcon.constants.d.ts +9 -5
- package/dist/Components/DataDisplays/ProductIcon/ProductIcon.js +5 -8
- package/dist/Components/DataDisplays/ProductIcon/ProductIcon.part.types.d.ts +5 -0
- package/dist/Components/DataDisplays/ProductIcon/ProductIcon.types.d.ts +4 -11
- package/dist/Components/DataDisplays/SkillLabel/SkillLabel.parts.js +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeAccountSetting.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeAnswer.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowDown.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowLeft.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowRight.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeArrowUp.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeBell.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeBubble.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeCollection.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeCollectionAdd.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeDelete.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeDrawer.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeFilter.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeHeart.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeHome.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeLike.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeLink.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargePlus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeQuestion.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeReset.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeScrap.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeSearch.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeSend.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeService.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeShare.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeStar.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeTop.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.d.ts +1 -2
- package/dist/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.js +4 -4
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumAi.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumAnswer.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowDown.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowLeft.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowRight.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumArrowUp.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumBell.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumBubble.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCalendar.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCaution.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCautionTriangle.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCheck.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumClip.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCollection.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumCompass.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumDelete.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEdit.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumError.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEye.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumEyeSlash.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumFilter.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumFire.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumGlassesMinus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumGlassesPlus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHashTag.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHeart.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumHighlight.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumInformation.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumLink.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumList.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMagic.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMenuDown.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMenuUp.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMinus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumMoreOptions.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPersonAdd.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPin.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPlus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPopular.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPrivate.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumPublic.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumQuestion.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumQuestionNew.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumRename.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumReply.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumReset.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumScrap.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSearch.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSend.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumShare.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumStar.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumSuccess.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumTrash.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumUpload.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Medium/MediumWait.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowDown.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowLeft.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowRight.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallArrowUp.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallBell.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCamera.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCat.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCheck.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallCollection.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallDelete.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallEdit.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallEye.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallHeart.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallIndeterminate.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallInformation.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallLike.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallLink.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallList.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallMoreOptions.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPlay.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPlus.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPrivate.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallPublic.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallRadioDot.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallResizer.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallScrap.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallShare.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallSlash.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallStar.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallStop.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallTrash.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Small/SmallWait.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialFacebook.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialGoogle.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialLinkedIn.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialNaver.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/SocialX.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketBlog.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketFacebook.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/Icons/Social/WishketNaverBlog.d.ts +1 -1
- package/dist/Components/DataDisplays/SystemIcon/SystemIcon.constants.d.ts +6 -1
- package/dist/Components/DataDisplays/SystemIcon/SystemIcon.part.types.d.ts +6 -0
- package/dist/Components/DataDisplays/SystemIcon/SystemIcon.types.d.ts +4 -12
- package/dist/Components/DataDisplays/index.d.ts +1 -0
- package/dist/Components/Feedbacks/DialogBox/DialogBox.js +2 -2
- package/dist/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.d.ts +18 -10
- package/dist/Components/Feedbacks/GlobalLoadingIndicator/GlobalLoadingIndicator.js +16 -7
- package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.d.ts +2 -21
- package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +9 -6
- package/dist/Components/Feedbacks/LoadingIndicator/LoadingIndicator.types.d.ts +2 -0
- package/dist/Components/Feedbacks/MessageBar/MessageBar.js +5 -5
- package/dist/Components/Feedbacks/MessageBox/MessageBox.js +4 -4
- package/dist/Components/Feedbacks/MessageBox/MessageBox.parts.js +3 -3
- package/dist/Components/Feedbacks/SnackBar/SnackBar.d.ts +1 -1
- package/dist/Components/Feedbacks/SnackBar/SnackBar.js +5 -11
- package/dist/Components/Feedbacks/SnackBar/SnackBar.types.d.ts +1 -0
- package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.d.ts +30 -0
- package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.js +31 -0
- package/dist/Components/Feedbacks/{PlainTooltip → Tooltip/PlainTooltip}/PlainTooltip.parts.d.ts +1 -1
- package/dist/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.parts.js +1 -0
- package/dist/Components/Feedbacks/Tooltip/PlainTooltip/index.d.ts +1 -0
- package/dist/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.d.ts +33 -0
- package/dist/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.js +32 -0
- package/dist/Components/Feedbacks/Tooltip/RichTooltip/index.d.ts +1 -0
- package/dist/Components/Feedbacks/Tooltip/Tooltip.d.ts +24 -0
- package/dist/Components/Feedbacks/Tooltip/Tooltip.js +25 -0
- package/dist/Components/Feedbacks/Tooltip/Tooltip.types.d.ts +19 -0
- package/dist/Components/Feedbacks/Tooltip/index.d.ts +4 -0
- package/dist/Components/Feedbacks/index.d.ts +1 -2
- package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.js +4 -4
- package/dist/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +4 -4
- package/dist/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
- package/dist/Components/Inputs/Button/Button.d.ts +7 -13
- package/dist/Components/Inputs/Button/Button.js +2 -51
- package/dist/Components/Inputs/Button/Button.types.d.ts +3 -10
- package/dist/Components/Inputs/Calendar/Calendar.js +8 -8
- package/dist/Components/Inputs/Calendar/Calendar.parts.js +7 -7
- package/dist/Components/Inputs/Checkbox/Checkbox.js +5 -5
- package/dist/Components/Inputs/Checkbox/Checkbox.parts.d.ts +1 -1
- package/dist/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
- package/dist/Components/Inputs/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/Components/Inputs/CheckboxCard/CheckboxCard.d.ts +2 -2
- package/dist/Components/Inputs/CheckboxCard/CheckboxCard.js +6 -6
- package/dist/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
- package/dist/Components/Inputs/CheckboxCard/CheckboxCard.types.d.ts +1 -1
- package/dist/Components/Inputs/CheckboxListItem/CheckboxListItem.d.ts +1 -1
- package/dist/Components/Inputs/CheckboxListItem/CheckboxListItem.js +3 -3
- package/dist/Components/Inputs/ChoiceChip/ChoiceChip.js +6 -6
- package/dist/Components/Inputs/CommentArea/CommentArea.js +9 -9
- package/dist/Components/Inputs/FileUploader/FileUploader.d.ts +45 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.hooks.d.ts +20 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.hooks.js +1 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.js +48 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.parts.d.ts +10 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.parts.js +11 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.types.d.ts +19 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.utils.d.ts +4 -0
- package/dist/Components/Inputs/FileUploader/FileUploader.utils.js +1 -0
- package/dist/Components/Inputs/FileUploader/index.d.ts +2 -0
- package/dist/Components/Inputs/FilterChip/FilterChip.js +4 -4
- package/dist/Components/Inputs/FilterList/FilterList.js +16 -14
- package/dist/Components/Inputs/IconButton/IconButton.d.ts +6 -4
- package/dist/Components/Inputs/IconButton/IconButton.js +7 -8
- package/dist/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +4 -4
- package/dist/Components/Inputs/Input/Input.js +1 -1
- package/dist/Components/Inputs/Input/LabelInput.d.ts +9 -0
- package/dist/Components/Inputs/Input/{LableInput.js → LabelInput.js} +4 -4
- package/dist/Components/Inputs/Input/PasswordInput.js +4 -4
- package/dist/Components/Inputs/Input/index.d.ts +2 -2
- package/dist/Components/Inputs/InputChip/InputChip.js +3 -3
- package/dist/Components/Inputs/List/List.js +3 -3
- package/dist/Components/Inputs/MultiColumnList/MultiColumnList.parts.js +2 -2
- package/dist/Components/Inputs/Radio/Radio.d.ts +14 -8
- package/dist/Components/Inputs/Radio/Radio.js +20 -14
- package/dist/Components/Inputs/Radio/index.d.ts +1 -1
- package/dist/Components/Inputs/Radio/types.d.ts +8 -0
- package/dist/Components/Inputs/RadioCard/RadioCard.js +6 -6
- package/dist/Components/Inputs/RadioCard/RadioCard.parts.d.ts +3 -3
- package/dist/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
- package/dist/Components/Inputs/RadioCard/RadioCard.types.d.ts +8 -8
- package/dist/Components/Inputs/RadioGroup/RadioGroup.d.ts +3 -3
- package/dist/Components/Inputs/RadioGroup/RadioGroup.js +2 -2
- package/dist/Components/Inputs/RadioList/RadioList.d.ts +2 -2
- package/dist/Components/Inputs/RadioList/RadioList.js +3 -3
- package/dist/Components/Inputs/RadioList/RadioList.types.d.ts +3 -2
- package/dist/Components/Inputs/RadioList/parts/index.d.ts +0 -1
- package/dist/Components/Inputs/RadioListItem/RadioListItem.d.ts +10 -0
- package/dist/Components/Inputs/RadioListItem/RadioListItem.js +5 -0
- package/dist/Components/Inputs/RadioListItem/index.d.ts +1 -0
- package/dist/Components/Inputs/RangeSlider/RangeSlider.js +2 -2
- package/dist/Components/Inputs/SearchField/SearchField.js +4 -4
- package/dist/Components/Inputs/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/Components/Inputs/SupportTextContainer/SupportTextContainer.d.ts +3 -2
- package/dist/Components/Inputs/SupportTextContainer/SupportTextContainer.js +3 -3
- package/dist/Components/Inputs/TextButton/TextButton.d.ts +5 -2
- package/dist/Components/Inputs/TextButton/TextButton.js +7 -5
- package/dist/Components/Inputs/TextButton/TextButton.types.d.ts +2 -0
- package/dist/Components/Inputs/TextButtonDropdown/TextButtonDropdown.js +4 -4
- package/dist/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +4 -4
- package/dist/Components/Inputs/TextField/TextField.d.ts +11 -14
- package/dist/Components/Inputs/TextField/TextField.js +10 -12
- package/dist/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
- package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +3 -3
- package/dist/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +3 -3
- package/dist/Components/Inputs/Textarea/Textarea.js +5 -5
- package/dist/Components/Inputs/index.d.ts +2 -0
- package/dist/Components/Layouts/Card/Card.d.ts +42 -0
- package/dist/Components/Layouts/Card/index.d.ts +1 -0
- package/dist/Components/Layouts/Fieldset/Fieldset.d.ts +38 -0
- package/dist/Components/Layouts/Fieldset/index.d.ts +1 -0
- package/dist/Components/Layouts/index.d.ts +2 -0
- package/dist/Components/Navigations/BoxTab/BoxTab.parts.js +1 -1
- package/dist/Components/Navigations/Drawer/Drawer.d.ts +2 -7
- package/dist/Components/Navigations/Drawer/Drawer.styles.d.ts +1 -1
- package/dist/Components/Navigations/Drawer/Drawer.types.d.ts +7 -0
- package/dist/Components/Navigations/GNBList/GNBList.d.ts +30 -30
- package/dist/Components/Navigations/GNBList/GNBList.js +27 -27
- package/dist/Components/Navigations/GNBList/GNBList.parts.d.ts +114 -20
- package/dist/Components/Navigations/GNBList/GNBList.parts.js +64 -16
- package/dist/Components/Navigations/GNBList/GNBList.types.d.ts +4 -4
- package/dist/Components/Navigations/Menu/Menu.js +3 -3
- package/dist/Components/Navigations/Pagination/Pagination.parts.js +2 -2
- package/dist/Components/Navigations/TableOfContents/TableOfContents.js +1 -1
- package/dist/Components/Navigations/TextLink/TextLink.d.ts +66 -0
- package/dist/Components/Navigations/TextLink/TextLink.js +61 -0
- package/dist/Components/Navigations/TextLink/index.d.ts +1 -0
- package/dist/Components/Navigations/TextTab/TextTab.parts.js +5 -5
- package/dist/Components/Navigations/index.d.ts +1 -0
- package/dist/Components/Wrappers/WithBadge/WithBadge.js +2 -2
- package/dist/Components/Wrappers/WithSnackBar/WithSnackBar.js +3 -3
- package/dist/Components/Wrappers/index.d.ts +0 -1
- package/dist/cjs/Components/Base/Layouts/FullBleed/FullBleed.js +1 -1
- package/dist/cjs/Components/Base/Layouts/FullBleed/FullBleed.utils.js +1 -1
- package/dist/cjs/Components/Base/TextWithIcons/TextWithIcons.js +2 -0
- package/dist/cjs/Components/Base/Typography/Typography.js +3 -3
- package/dist/cjs/Components/DataDisplays/Accordion/Accordion.js +58 -0
- package/dist/cjs/Components/DataDisplays/Avatar/Avatar.js +5 -4
- package/dist/cjs/Components/DataDisplays/Divider/Divider.js +24 -1
- package/dist/cjs/Components/DataDisplays/Label/Label.js +1 -1
- package/dist/cjs/Components/DataDisplays/Li/Li.js +7 -8
- package/dist/cjs/Components/DataDisplays/ProductIcon/ProductIcon.js +2 -8
- package/dist/cjs/Components/DataDisplays/SkillLabel/SkillLabel.parts.js +1 -1
- package/dist/cjs/Components/DataDisplays/SystemIcon/Icons/Large/LargeUserImageAvatar.js +4 -4
- package/dist/cjs/Components/Feedbacks/DialogBox/DialogBox.js +2 -2
- package/dist/cjs/Components/Feedbacks/LoadingIndicator/LoadingIndicator.js +28 -5
- package/dist/cjs/Components/Feedbacks/MessageBar/MessageBar.js +47 -5
- package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.js +40 -5
- package/dist/cjs/Components/Feedbacks/MessageBox/MessageBox.parts.js +3 -3
- package/dist/cjs/Components/Feedbacks/SnackBar/SnackBar.js +6 -11
- package/dist/cjs/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.js +31 -0
- package/dist/cjs/Components/Feedbacks/Tooltip/PlainTooltip/PlainTooltip.parts.js +1 -0
- package/dist/cjs/Components/Feedbacks/Tooltip/RichTooltip/RichTooltip.js +32 -0
- package/dist/cjs/Components/Feedbacks/Tooltip/Tooltip.js +26 -0
- package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.js +4 -4
- package/dist/cjs/Components/Inputs/AutoCompleteList/AutoCompleteList.parts.js +4 -4
- package/dist/cjs/Components/Inputs/Autocomplete/Autocomplete.js +1 -1
- package/dist/cjs/Components/Inputs/Button/Button.js +2 -51
- package/dist/cjs/Components/Inputs/Calendar/Calendar.js +7 -7
- package/dist/cjs/Components/Inputs/Calendar/Calendar.parts.js +7 -7
- package/dist/cjs/Components/Inputs/Checkbox/Checkbox.js +4 -4
- package/dist/cjs/Components/Inputs/Checkbox/Checkbox.parts.js +2 -4
- package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.js +4 -4
- package/dist/cjs/Components/Inputs/CheckboxCard/CheckboxCard.parts.js +4 -4
- package/dist/cjs/Components/Inputs/CheckboxListItem/CheckboxListItem.js +3 -3
- package/dist/cjs/Components/Inputs/ChoiceChip/ChoiceChip.js +5 -5
- package/dist/cjs/Components/Inputs/CommentArea/CommentArea.js +9 -9
- package/dist/cjs/Components/Inputs/FileUploader/FileUploader.hooks.js +1 -0
- package/dist/cjs/Components/Inputs/FileUploader/FileUploader.js +6 -0
- package/dist/cjs/Components/Inputs/FileUploader/FileUploader.parts.js +11 -0
- package/dist/cjs/Components/Inputs/FileUploader/FileUploader.utils.js +1 -0
- package/dist/cjs/Components/Inputs/FilterChip/FilterChip.js +5 -4
- package/dist/cjs/Components/Inputs/FilterList/FilterList.js +15 -13
- package/dist/cjs/Components/Inputs/IconButton/IconButton.js +6 -7
- package/dist/cjs/Components/Inputs/IconButtonDropdown/IconButtonDropdown.js +3 -3
- package/dist/cjs/Components/Inputs/Input/Input.js +1 -1
- package/dist/cjs/Components/Inputs/Input/LabelInput.js +4 -0
- package/dist/cjs/Components/Inputs/Input/PasswordInput.js +4 -4
- package/dist/cjs/Components/Inputs/InputChip/InputChip.js +2 -2
- package/dist/cjs/Components/Inputs/List/List.js +4 -4
- package/dist/cjs/Components/Inputs/MultiColumnList/MultiColumnList.parts.js +2 -2
- package/dist/cjs/Components/Inputs/Radio/Radio.js +21 -15
- package/dist/cjs/Components/Inputs/RadioCard/RadioCard.js +4 -4
- package/dist/cjs/Components/Inputs/RadioCard/RadioCard.parts.js +4 -4
- package/dist/cjs/Components/Inputs/RadioGroup/RadioGroup.js +3 -3
- package/dist/cjs/Components/Inputs/RadioList/RadioList.js +3 -3
- package/dist/cjs/Components/Inputs/RadioListItem/RadioListItem.js +5 -0
- package/dist/cjs/Components/Inputs/RangeSlider/RangeSlider.js +5 -5
- package/dist/cjs/Components/Inputs/SearchField/SearchField.js +5 -5
- package/dist/cjs/Components/Inputs/SegmentedControl/SegmentedControl.js +1 -1
- package/dist/cjs/Components/Inputs/SupportTextContainer/SupportTextContainer.js +3 -3
- package/dist/cjs/Components/Inputs/TextButton/TextButton.js +7 -5
- package/dist/cjs/Components/Inputs/TextButtonDropdown/TextButtonDropdown.js +1 -1
- package/dist/cjs/Components/Inputs/TextButtonDropdown/TextButtonDropdown.parts.js +4 -4
- package/dist/cjs/Components/Inputs/TextField/TextField.js +10 -12
- package/dist/cjs/Components/Inputs/TextFieldContainer/TextFieldContainer.js +1 -1
- package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.js +3 -3
- package/dist/cjs/Components/Inputs/TextFieldDropdown/TextFieldDropdown.parts.js +2 -2
- package/dist/cjs/Components/Inputs/Textarea/Textarea.js +5 -5
- package/dist/cjs/Components/Navigations/BoxTab/BoxTab.parts.js +1 -1
- package/dist/cjs/Components/Navigations/GNBList/GNBList.js +27 -27
- package/dist/cjs/Components/Navigations/GNBList/GNBList.parts.js +40 -16
- package/dist/cjs/Components/Navigations/Menu/Menu.js +2 -2
- package/dist/cjs/Components/Navigations/Pagination/Pagination.parts.js +2 -2
- package/dist/cjs/Components/Navigations/TableOfContents/TableOfContents.js +1 -1
- package/dist/cjs/Components/Navigations/TextLink/TextLink.js +61 -0
- package/dist/cjs/Components/Navigations/TextTab/TextTab.parts.js +5 -5
- package/dist/cjs/Components/Wrappers/WithBadge/WithBadge.js +1 -1
- package/dist/cjs/Components/Wrappers/WithSnackBar/WithSnackBar.js +2 -2
- package/dist/cjs/constants/colors/colors.js +1 -1
- package/dist/cjs/index.js +1 -1
- package/dist/config/config.css +215 -0
- package/dist/config/tailwind.config.js +1 -64
- package/dist/config/tailwindcss-grid-areas.js +155 -0
- package/dist/constants/colors/colors.js +1 -1
- package/dist/index.js +1 -1
- package/dist/types/checkbox.types.d.ts +0 -2
- package/dist/types/index.d.ts +0 -1
- package/package.json +32 -16
- package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.d.ts +0 -44
- package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.js +0 -37
- package/dist/Components/Feedbacks/PlainTooltip/PlainTooltip.parts.js +0 -1
- package/dist/Components/Feedbacks/PlainTooltip/index.d.ts +0 -2
- package/dist/Components/Feedbacks/RichTooltip/RichTooltip.d.ts +0 -34
- package/dist/Components/Feedbacks/RichTooltip/RichTooltip.js +0 -27
- package/dist/Components/Feedbacks/RichTooltip/index.d.ts +0 -2
- package/dist/Components/Inputs/Button/Button.parts.d.ts +0 -2
- package/dist/Components/Inputs/Button/Button.parts.js +0 -2
- package/dist/Components/Inputs/Input/LableInput.d.ts +0 -9
- package/dist/Components/Inputs/Radio/Radio.types.d.ts +0 -8
- package/dist/Components/Inputs/RadioList/parts/RadioListItem.d.ts +0 -13
- package/dist/Components/Inputs/RadioList/parts/RadioListItem.js +0 -4
- package/dist/Components/Wrappers/WithRichTooltip/WithRichTooltip.d.ts +0 -39
- package/dist/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +0 -32
- package/dist/Components/Wrappers/WithRichTooltip/index.d.ts +0 -1
- package/dist/cjs/Components/Feedbacks/PlainTooltip/PlainTooltip.js +0 -37
- package/dist/cjs/Components/Feedbacks/PlainTooltip/PlainTooltip.parts.js +0 -1
- package/dist/cjs/Components/Feedbacks/RichTooltip/RichTooltip.js +0 -1
- package/dist/cjs/Components/Inputs/Button/Button.parts.js +0 -2
- package/dist/cjs/Components/Inputs/Input/LableInput.js +0 -4
- package/dist/cjs/Components/Inputs/RadioList/parts/RadioListItem.js +0 -4
- package/dist/cjs/Components/Wrappers/WithRichTooltip/WithRichTooltip.js +0 -3
- package/dist/config/tailwind-plugins.js +0 -90
- package/dist/types/radio.types.d.ts +0 -7
- package/dist/types.d.ts +0 -32
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{forwardRef as
|
|
2
|
-
/*#__PURE__*/t(i,{imgUrl:
|
|
3
|
-
/*#__PURE__*/t(n,{variant:"
|
|
4
|
-
return e(s,{"data-testid":"design-system-commentArea--full-container",className:
|
|
1
|
+
"use client";import{jsxs as e,jsx as t,Fragment as r}from"react/jsx-runtime";import{forwardRef as a}from"react";import{twMerge as l}from"tailwind-merge";import{Typography as n}from"../../Base/Typography/Typography.js";import{Box as s}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{Avatar as i}from"../../DataDisplays/Avatar/Avatar.js";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Divider as c}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";import{Button as m}from"../Button/Button.js";import{CheckboxListItem as d}from"../CheckboxListItem/CheckboxListItem.js";function u(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function f(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),a.forEach((function(t){u(e,t,r[t])}))}return e}function p(e,t){if(null==e)return{};var r,a,l=function(e,t){if(null==e)return{};var r,a,l={},n=Object.keys(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||(l[r]=e[r]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(a=0;a<n.length;a++)r=n[a],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(l[r]=e[r])}return l}const y=({userId:r,imgUrl:a=""})=>/*#__PURE__*/e(s,{className:"flex items-center gap-2",children:[
|
|
2
|
+
/*#__PURE__*/t(i,{imgUrl:a,size:"sm"}),
|
|
3
|
+
/*#__PURE__*/t(n,{variant:"body16",className:"w-full font-medium text-w-gray-600",children:r})]}),b=({guideText:e})=>/*#__PURE__*/t(s,{className:"w-full bg-w-gray-10 text-w-gray-500",children:/*#__PURE__*/t("ul",{className:"typo-body14 flex flex-col gap-0.5",children:"string"==typeof e?/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e}):/*#__PURE__*/t(r,{children:null==e?void 0:e.map((e=>/*#__PURE__*/t("li",{className:'before:mr-2 before:inline-flex before:items-center before:justify-center before:content-["•"]',children:e},e)))})})}),g=/*#__PURE__*/a(((a,n)=>{var{imgUrl:i,userId:u,isReply:g,guideText:h,buttonName:x,isSelected:w,optionMessage:j,cancelButtonName:N="취소",onClose:v,onSubmit:O,onCheck:k}=a,C=p(a,["imgUrl","userId","isReply","guideText","buttonName","isSelected","optionMessage","cancelButtonName","onClose","onSubmit","onCheck"]);const{value:D,className:S,disabled:A,spellCheck:B=!1,children:I}=C,P=p(C,["value","className","disabled","spellCheck","children"]),T=""===D.trim(),U=!u||T||A,z=u&&j;/*#__PURE__*/
|
|
4
|
+
return e(s,{"data-testid":"design-system-commentArea--full-container",className:l("flex w-full items-start gap-4",S),children:[g&&/*#__PURE__*/t(o,{name:"medium_reply",className:"shrink-0 text-w-gray-400"}),
|
|
5
5
|
/*#__PURE__*/e(s,{"data-testid":"design-system-commentArea--container",className:"w-full rounded-xl border border-w-gray-200 bg-w-white",children:[
|
|
6
|
-
/*#__PURE__*/t(s,{className:"flex w-full flex-col gap-2 px-4 py-3",children:
|
|
7
|
-
/*#__PURE__*/t("textarea",f({"data-testid":"design-system-commentArea",ref:n,value:
|
|
6
|
+
/*#__PURE__*/t(s,{className:"flex w-full flex-col gap-2 px-4 py-3",children:I?/*#__PURE__*/t(s,{className:"h-[98px]",children:I}):/*#__PURE__*/e(r,{children:[u&&/*#__PURE__*/t(y,{imgUrl:i,userId:u}),
|
|
7
|
+
/*#__PURE__*/t("textarea",f({"data-testid":"design-system-commentArea",ref:n,value:D,spellCheck:B,disabled:A||!u,className:"outline-hidden placeholder:typo-body16 tracking-default h-[63px] w-full resize-none border-none bg-transparent text-w-gray-900 placeholder:font-normal placeholder:text-w-gray-300"},P))]})}),h&&/*#__PURE__*/t(s,{"data-testid":"design-system-commentArea--guide-message",className:"w-full bg-w-gray-10 px-4 py-2 text-w-gray-500",children:/*#__PURE__*/t(b,{guideText:h})}),
|
|
8
8
|
/*#__PURE__*/t(c,{}),
|
|
9
|
-
/*#__PURE__*/e(s,{"data-testid":"design-system-commentArea--buttons",className:
|
|
10
|
-
/*#__PURE__*/e(s,{className:"flex w-fit shrink-0 items-center gap-3",children:[g&&/*#__PURE__*/t(m,{size:"
|
|
11
|
-
/*#__PURE__*/t(m,{variant:"solid",size:"
|
|
9
|
+
/*#__PURE__*/e(s,{"data-testid":"design-system-commentArea--buttons",className:l("flex w-full items-center justify-end px-4 py-3",z&&"justify-between"),children:[z&&/*#__PURE__*/t(d,{label:j,checked:w,onChange:k,disabled:A||!u}),
|
|
10
|
+
/*#__PURE__*/e(s,{className:"flex w-fit shrink-0 items-center gap-3",children:[g&&/*#__PURE__*/t(m,{size:"36",onClick:v,variant:"outline_gray",children:N}),
|
|
11
|
+
/*#__PURE__*/t(m,{variant:"solid",size:"36",disabled:U,onClick:O,children:x})]})]})]})]})}));g.displayName="CommentArea";export{g as CommentArea};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { FileUploaderProps } from './FileUploader.types';
|
|
2
|
+
/**
|
|
3
|
+
* 파일 업로드를 위한 컴포넌트입니다.
|
|
4
|
+
*
|
|
5
|
+
* @component
|
|
6
|
+
* @param {Object} props - 컴포넌트 props
|
|
7
|
+
* @param {File[]} [props.files] - 현재 업로드된 파일 목록
|
|
8
|
+
* @param {(files: File[]) => void} [props.onChange] - 파일 변경 시 호출되는 콜백 함수
|
|
9
|
+
* @param {string} [props.accept] - 허용되는 파일 타입 (예: 'image/*', '.pdf,.doc')
|
|
10
|
+
* @param {boolean} [props.multiple=true] - 여러 파일 선택 가능 여부
|
|
11
|
+
* @param {number} [props.maxFileSize] - 최대 파일 크기 (bytes)
|
|
12
|
+
* @param {boolean} [props.disabled=false] - 컴포넌트 비활성화 여부
|
|
13
|
+
* @param {boolean} [props.isError=false] - 에러 상태 여부
|
|
14
|
+
* @param {string} [props.errorMessage] - 에러 메시지
|
|
15
|
+
* @param {string} [props.supportMessage] - 보조 메시지
|
|
16
|
+
* @param {string} [props.text] - 업로드 영역에 표시할 텍스트 (isSmall일 때 사용)
|
|
17
|
+
* @param {boolean} [props.isSmall=false] - 작은 크기 변형 여부
|
|
18
|
+
* @param {() => void} [props.onFileSizeExceeded] - 파일 크기 초과 시 호출되는 콜백 함수
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // 기본 파일 업로더
|
|
22
|
+
* <FileUploader
|
|
23
|
+
* files={files}
|
|
24
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
25
|
+
* maxFileSize={10 * 1024 * 1024}
|
|
26
|
+
* />
|
|
27
|
+
*
|
|
28
|
+
* // 이미지만 업로드
|
|
29
|
+
* <FileUploader
|
|
30
|
+
* files={files}
|
|
31
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
32
|
+
* accept="image/*"
|
|
33
|
+
* supportMessage="이미지 파일만 업로드 가능합니다"
|
|
34
|
+
* />
|
|
35
|
+
*
|
|
36
|
+
* // 작은 크기 변형
|
|
37
|
+
* <FileUploader
|
|
38
|
+
* files={files}
|
|
39
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
40
|
+
* isSmall={true}
|
|
41
|
+
* text="파일 첨부하기"
|
|
42
|
+
* />
|
|
43
|
+
*/
|
|
44
|
+
declare const FileUploader: ({ files, onChange, accept, multiple, maxFileSize, disabled, isError, errorMessage, supportMessage, text, isSmall, onFileSizeExceeded, }: FileUploaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
export { FileUploader };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ChangeEvent, type DragEvent, RefObject } from 'react';
|
|
2
|
+
interface UseFileUploaderParams {
|
|
3
|
+
files: File[];
|
|
4
|
+
onChange?: (files: File[]) => void;
|
|
5
|
+
maxFileSize?: number;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
onFileSizeExceeded?: () => void;
|
|
8
|
+
}
|
|
9
|
+
interface UseFileUploaderReturn {
|
|
10
|
+
inputRef: RefObject<HTMLInputElement | null>;
|
|
11
|
+
isDragOver: boolean;
|
|
12
|
+
handleInputChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
13
|
+
handleButtonClick: () => void;
|
|
14
|
+
handleRemoveFile: (index: number) => void;
|
|
15
|
+
handleDragOver: (event: DragEvent<HTMLButtonElement>) => void;
|
|
16
|
+
handleDragLeave: (event: DragEvent<HTMLButtonElement>) => void;
|
|
17
|
+
handleDrop: (event: DragEvent<HTMLButtonElement>) => void;
|
|
18
|
+
}
|
|
19
|
+
export declare const useFileUploader: ({ files, onChange, maxFileSize, disabled, onFileSizeExceeded, }: UseFileUploaderParams) => UseFileUploaderReturn;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useRef as e,useState as l}from"react";const n=({files:n,onChange:r,maxFileSize:t,disabled:a,onFileSizeExceeded:i})=>{const u=e(null),[o,f]=l(!1),s=e=>{if(!e||0===e.length)return;let l=Array.from(e),a=!1;if(t&&(a=l.some((e=>e.size>t)),l=l.filter((e=>e.size<=t))),a&&i&&i(),l.length>0){const e=[...n,...l];null==r||r(e)}u.current&&(u.current.value="")};return{inputRef:u,isDragOver:o,handleInputChange:e=>{s(e.target.files)},handleButtonClick:()=>{var e;a||(null===(e=u.current)||void 0===e||e.click())},handleRemoveFile:e=>{const l=n.filter(((l,n)=>n!==e));null==r||r(l)},handleDragOver:e=>{e.preventDefault(),a||f(!0)},handleDragLeave:e=>{e.preventDefault(),f(!1)},handleDrop:e=>{e.preventDefault(),f(!1),a||s(e.dataTransfer.files)}}};export{n as useFileUploader};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{twMerge as l}from"tailwind-merge";import{useMemo as a}from"react";import{Box as o}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{SupportTextContainer as i}from"../SupportTextContainer/SupportTextContainer.js";import{FileItem as t,FileUploadArea as s}from"./FileUploader.parts.js";import{useFileUploader as d}from"./FileUploader.hooks.js";import{generateAcceptDescription as n}from"./FileUploader.utils.js";
|
|
2
|
+
/**
|
|
3
|
+
* 파일 업로드를 위한 컴포넌트입니다.
|
|
4
|
+
*
|
|
5
|
+
* @component
|
|
6
|
+
* @param {Object} props - 컴포넌트 props
|
|
7
|
+
* @param {File[]} [props.files] - 현재 업로드된 파일 목록
|
|
8
|
+
* @param {(files: File[]) => void} [props.onChange] - 파일 변경 시 호출되는 콜백 함수
|
|
9
|
+
* @param {string} [props.accept] - 허용되는 파일 타입 (예: 'image/*', '.pdf,.doc')
|
|
10
|
+
* @param {boolean} [props.multiple=true] - 여러 파일 선택 가능 여부
|
|
11
|
+
* @param {number} [props.maxFileSize] - 최대 파일 크기 (bytes)
|
|
12
|
+
* @param {boolean} [props.disabled=false] - 컴포넌트 비활성화 여부
|
|
13
|
+
* @param {boolean} [props.isError=false] - 에러 상태 여부
|
|
14
|
+
* @param {string} [props.errorMessage] - 에러 메시지
|
|
15
|
+
* @param {string} [props.supportMessage] - 보조 메시지
|
|
16
|
+
* @param {string} [props.text] - 업로드 영역에 표시할 텍스트 (isSmall일 때 사용)
|
|
17
|
+
* @param {boolean} [props.isSmall=false] - 작은 크기 변형 여부
|
|
18
|
+
* @param {() => void} [props.onFileSizeExceeded] - 파일 크기 초과 시 호출되는 콜백 함수
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // 기본 파일 업로더
|
|
22
|
+
* <FileUploader
|
|
23
|
+
* files={files}
|
|
24
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
25
|
+
* maxFileSize={10 * 1024 * 1024}
|
|
26
|
+
* />
|
|
27
|
+
*
|
|
28
|
+
* // 이미지만 업로드
|
|
29
|
+
* <FileUploader
|
|
30
|
+
* files={files}
|
|
31
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
32
|
+
* accept="image/*"
|
|
33
|
+
* supportMessage="이미지 파일만 업로드 가능합니다"
|
|
34
|
+
* />
|
|
35
|
+
*
|
|
36
|
+
* // 작은 크기 변형
|
|
37
|
+
* <FileUploader
|
|
38
|
+
* files={files}
|
|
39
|
+
* onChange={(newFiles) => setFiles(newFiles)}
|
|
40
|
+
* isSmall={true}
|
|
41
|
+
* text="파일 첨부하기"
|
|
42
|
+
* />
|
|
43
|
+
*/const p=({files:p=[],onChange:m,accept:c,multiple:u=!0,maxFileSize:f,disabled:g=!1,isError:x=!1,errorMessage:h,supportMessage:b,text:F,isSmall:w=!1,onFileSizeExceeded:y})=>{const{inputRef:S,isDragOver:j,handleInputChange:v,handleButtonClick:C,handleRemoveFile:D,handleDragOver:z,handleDragLeave:B,handleDrop:N}=d({files:p,onChange:m,maxFileSize:f,disabled:g,onFileSizeExceeded:y}),L=a((()=>p.reduce(((e,r)=>e+r.size),0)),[p]),M=n(c);/*#__PURE__*/
|
|
44
|
+
return e(o,{className:"flex w-full flex-col gap-6",children:[
|
|
45
|
+
/*#__PURE__*/r("input",{ref:S,type:"file",className:"hidden",accept:c,multiple:u,onChange:v,disabled:g,"data-testid":"file-uploader-input"}),p.length>0&&/*#__PURE__*/r(o,{className:"flex flex-col gap-2",children:p.map(((e,l)=>/*#__PURE__*/r(t,{file:e,onRemove:()=>D(l),disabled:g},`${e.name}-${l}`)))}),
|
|
46
|
+
/*#__PURE__*/e(o,{className:"flex flex-col gap-2",children:[
|
|
47
|
+
/*#__PURE__*/r("button",{type:"button",className:l("flex w-full items-center justify-center gap-3 rounded-xl border border-dashed border-w-gray-200 bg-w-gray-10 px-6 py-8 text-w-gray-600",w?"flex-row":"flex-col",g&&"cursor-not-allowed",x&&"border-w-red-500",!g&&!x&&"hover:border-w-gray-400",j&&!g&&!x&&"border-w-gray-400"),disabled:g,onClick:C,onDragOver:z,onDragLeave:B,onDrop:N,children:/*#__PURE__*/r(s,{disabled:g,isSmall:w,text:F,acceptDescription:M})}),
|
|
48
|
+
/*#__PURE__*/r(i,{errorMessage:h,supportMessage:b,currentFileSize:L,maxFileSize:f})]})]})};export{p as FileUploader};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { FileItemProps } from './FileUploader.types';
|
|
2
|
+
export declare const FileItem: ({ file, onRemove, disabled, }: FileItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
interface FileUploadAreaProps {
|
|
4
|
+
disabled: boolean;
|
|
5
|
+
isSmall: boolean;
|
|
6
|
+
text?: string;
|
|
7
|
+
acceptDescription: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const FileUploadArea: ({ disabled, isSmall, text, acceptDescription, }: FileUploadAreaProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{jsx as e,jsxs as a,Fragment as t}from"react/jsx-runtime";import{twMerge as r}from"tailwind-merge";import{Typography as s}from"../../Base/Typography/Typography.js";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import"react";import{SystemIcon as i}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";import{getFileNameWithoutExtension as m,getFileExtension as n,formatFileSize as o}from"./FileUploader.utils.js";const c=({file:t,onRemove:c,disabled:d=!1})=>{const y=m(t.name),p=n(t.name),x=o(t.size);/*#__PURE__*/
|
|
2
|
+
return e(l,{className:"w-0 min-w-full rounded-xl border border-w-gray-200 px-3 py-2",children:/*#__PURE__*/a(l,{className:"flex items-center gap-2",children:[
|
|
3
|
+
/*#__PURE__*/e(i,{name:"medium_clip",className:"shrink-0 text-primary-500"}),
|
|
4
|
+
/*#__PURE__*/a(l,{className:"flex min-w-0 flex-1 items-center",children:[
|
|
5
|
+
/*#__PURE__*/e(s,{variant:"body16",className:"min-w-0 truncate text-w-gray-600",children:y}),
|
|
6
|
+
/*#__PURE__*/e(s,{variant:"body16",className:"shrink-0 text-w-gray-600",children:p})]}),
|
|
7
|
+
/*#__PURE__*/e(s,{variant:"body14",className:"ml-4 shrink-0 text-w-gray-400",children:x}),
|
|
8
|
+
/*#__PURE__*/e("button",{type:"button",onClick:c,disabled:d,"aria-label":"파일 삭제",className:d?"cursor-not-allowed":"",children:/*#__PURE__*/e(i,{name:"small_delete",className:r("ml-2 shrink-0",d?"text-w-gray-300":"text-w-gray-400")})})]})})},d=({disabled:r,isSmall:m,text:n,acceptDescription:o})=>{const c=r?"text-w-gray-300":"text-w-gray-600",d=r?"text-w-gray-300":"text-w-gray-400";/*#__PURE__*/
|
|
9
|
+
return a(t,{children:[
|
|
10
|
+
/*#__PURE__*/e(i,{name:"medium_upload",className:c}),m?/*#__PURE__*/e(s,{variant:"body16",className:c,children:n||"파일 업로드"}):/*#__PURE__*/a(l,{className:"flex flex-col items-center justify-center gap-0.5",children:[
|
|
11
|
+
/*#__PURE__*/e(s,{variant:"body16",className:c,children:"여기를 클릭하거나 파일을 끌어오세요."}),o&&/*#__PURE__*/e(s,{variant:"body14",className:d,children:o})]})]})};export{c as FileItem,d as FileUploadArea};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface FileItemProps {
|
|
2
|
+
file: File;
|
|
3
|
+
onRemove: () => void;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
export interface FileUploaderProps {
|
|
7
|
+
files?: File[];
|
|
8
|
+
onChange?: (files: File[]) => void;
|
|
9
|
+
accept?: string;
|
|
10
|
+
multiple?: boolean;
|
|
11
|
+
maxFileSize?: number;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
isError?: boolean;
|
|
14
|
+
errorMessage?: string;
|
|
15
|
+
supportMessage?: string;
|
|
16
|
+
text?: string;
|
|
17
|
+
isSmall?: boolean;
|
|
18
|
+
onFileSizeExceeded?: () => void;
|
|
19
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const formatFileSize: (bytes: number) => string;
|
|
2
|
+
export declare const getFileExtension: (fileName: string) => string;
|
|
3
|
+
export declare const getFileNameWithoutExtension: (fileName: string) => string;
|
|
4
|
+
export declare const generateAcceptDescription: (accept?: string) => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>{if(t<=0)return"0";const r=Math.floor(Math.log(t)/Math.log(1024));return`${Math.round(t/Math.pow(1024,r))}${["B","KB","MB","GB"][r]}`},r=t=>{const r=t.lastIndexOf(".");return-1!==r?t.substring(r):""},e=t=>{const r=t.lastIndexOf(".");return-1!==r?t.substring(0,r):t},n=t=>{if(!t)return"";return`첨부 가능 파일 : ${t.split(",").map((t=>t.trim())).map((t=>{if("image/*"===t)return"JPG, PNG, GIF, WEBP";if("video/*"===t)return"MP4, AVI, MOV";if("audio/*"===t)return"MP3, WAV";if(t.startsWith("."))return t.substring(1).toUpperCase();if(t.includes("/")){return t.split("/")[1].toUpperCase()}return t.toUpperCase()})).join(", ")}`};export{t as formatFileSize,n as generateAcceptDescription,r as getFileExtension,e as getFileNameWithoutExtension};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{forwardRef as r}from"react";import{twMerge as a}from"tailwind-merge";import{Typography as s}from"../../Base/Typography/Typography.js";import{Box as i}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import{CountBadge as o}from"../../DataDisplays/CountBadge/CountBadge.js";import{SystemIcon as l}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";
|
|
2
2
|
/**
|
|
3
3
|
* 필터 선택 및 상태를 표시하는 칩 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -43,6 +43,6 @@ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r}from"re
|
|
|
43
43
|
* </DropdownMenu>
|
|
44
44
|
* </FilterChip>
|
|
45
45
|
*/const m=/*#__PURE__*/r((({leadingIcon:r,trailingIcon:m,text:n,children:p,onClick:c,isOpen:d=!1,badgeCount:y,className:g},f)=>{const x=y&&Number(y)>0,u=d||x;/*#__PURE__*/
|
|
46
|
-
return
|
|
47
|
-
/*#__PURE__*/
|
|
48
|
-
/*#__PURE__*/
|
|
46
|
+
return t(i,{ref:f,"data-testid":"design-system-filter-chip--outer-container",className:a("relative w-fit",g),children:[
|
|
47
|
+
/*#__PURE__*/t(i,{"data-testid":"design-system-filter-chip",className:a("relative flex w-full cursor-pointer select-none items-center gap-1 rounded-full border border-w-gray-200 bg-w-white px-[15px] py-1.5 hover:border-primary",d&&"border-primary",x&&"border-2 border-primary bg-primary-10 px-[14px] py-[5px]"),onClick:c,children:[r&&/*#__PURE__*/e(l,{testId:"design-system-filter-chip--leading-icon",name:r,className:a("text-w-gray-900",u&&"text-primary")}),
|
|
48
|
+
/*#__PURE__*/e(s,{variant:"body16",className:a("text-w-gray-900",u&&"text-primary"),children:n}),m&&/*#__PURE__*/e(l,{testId:"design-system-filter-chip--trailing-icon",name:m,className:a("text-w-gray-400",u&&"text-primary")}),x&&/*#__PURE__*/e(o,{text:y,className:"-right-1 -top-1"})]}),d&&p&&/*#__PURE__*/e(i,{"data-testid":"design-system-filter-chip--list",className:"absolute -bottom-2 left-0 z-40 translate-y-full transform transition-all",children:p})]})}));m.displayName="FilterChip";export{m as FilterChip};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as s}from"tailwind-merge";import{Typography as a}from"../../Base/Typography/Typography.js";import{Box as l}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"../../DataDisplays/Avatar/Avatar.js";import"react";import{SystemIcon as i}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import{Divider as r}from"../../DataDisplays/Divider/Divider.js";import"../../DataDisplays/Accordion/Accordion.js";import{Button as n}from"../Button/Button.js";import{Checkbox as o}from"../Checkbox/Checkbox.js";import{CheckboxListItem as c}from"../CheckboxListItem/CheckboxListItem.js";
|
|
2
2
|
/**
|
|
3
3
|
* 필터 목록을 표시하고 관리하는 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -39,16 +39,18 @@ import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as l}from"tailw
|
|
|
39
39
|
* onSubmit={() => {}}
|
|
40
40
|
* />
|
|
41
41
|
* ```
|
|
42
|
-
*/const
|
|
43
|
-
return e(
|
|
44
|
-
/*#__PURE__*/e(
|
|
45
|
-
/*#__PURE__*/e(
|
|
46
|
-
/*#__PURE__*/t(
|
|
47
|
-
/*#__PURE__*/t(o,{type:"sub",checked:
|
|
48
|
-
/*#__PURE__*/t(
|
|
49
|
-
/*#__PURE__*/e(
|
|
50
|
-
return t(
|
|
51
|
-
/*#__PURE__*/t(
|
|
52
|
-
/*#__PURE__*/e(
|
|
53
|
-
/*#__PURE__*/
|
|
54
|
-
/*#__PURE__*/t(
|
|
42
|
+
*/const m=({title:m,buttonName:d="적용하기",name:p,onSelectAll:u,isAllSelected:y,isViewOnly:f=!1,data:h,className:x,selectedValues:g,onReset:b,onViewOnly:D,onSubmit:j})=>{console.log("selectedValues: ",g);/*#__PURE__*/
|
|
43
|
+
return e(l,{"data-testid":"design-system-filter-list",className:s("w-full rounded-xl bg-w-white shadow-graymedium desktop:w-[360px]",x),children:[
|
|
44
|
+
/*#__PURE__*/e(l,{className:"flex flex-col gap-5 px-8 py-6",children:[
|
|
45
|
+
/*#__PURE__*/e(l,{className:"flex items-center justify-between",children:[
|
|
46
|
+
/*#__PURE__*/t(a,{variant:"subTitle18",className:"font-medium text-w-gray-900",children:m}),u&&/*#__PURE__*/e("button",{"data-testid":"design-system-filter--select-all",className:"group flex w-fit items-center gap-1",onClick:e=>{e.preventDefault(),null==u||u()},children:[
|
|
47
|
+
/*#__PURE__*/t(o,{type:"sub",checked:y}),
|
|
48
|
+
/*#__PURE__*/t(a,{variant:"body14",className:"text-w-gray-600",children:y?"선택 해제":"전체 선택"})]})]}),
|
|
49
|
+
/*#__PURE__*/e(l,{className:"flex flex-col gap-4",children:[h.map((e=>{const{value:s,label:a,onChange:l}=e;/*#__PURE__*/
|
|
50
|
+
return t(c,{name:p,label:a,value:s,checked:null==g?void 0:g.includes(s),onChange:l},s)})),D&&/*#__PURE__*/t(c,{type:"circle",label:"선택한 카테고리만 보기",checked:f,onChange:D})]})]}),
|
|
51
|
+
/*#__PURE__*/t(r,{}),
|
|
52
|
+
/*#__PURE__*/e(l,{className:"flex items-center justify-between px-8 py-4",children:[
|
|
53
|
+
/*#__PURE__*/e(n,{"data-testid":"design-system-filter--reset",variant:"outlined",onClick:e=>{e.preventDefault(),null==b||b()},children:[
|
|
54
|
+
/*#__PURE__*/t(i,{name:"medium_reset",className:"text-current"}),
|
|
55
|
+
/*#__PURE__*/t("span",{children:"초기화"})]}),
|
|
56
|
+
/*#__PURE__*/t(n,{"data-testid":"design-system-filter--submit",variant:"solid",onClick:e=>{e.preventDefault(),null==j||j()},children:d})]})]})};export{m as FilterList};
|
|
@@ -2,17 +2,19 @@ import { ComponentProps } from 'react';
|
|
|
2
2
|
export interface IconButtonProps extends ComponentProps<'button'> {
|
|
3
3
|
size?: 'sm' | 'md' | 'lg';
|
|
4
4
|
outline?: boolean;
|
|
5
|
+
hasNew?: boolean;
|
|
5
6
|
}
|
|
6
7
|
/**
|
|
7
8
|
* 아이콘을 포함한 버튼 컴포넌트입니다.
|
|
9
|
+
* sm 사이즈에서는 hasNew 속성이 true여도 노출되지 않습니다.
|
|
8
10
|
*
|
|
9
11
|
* @component
|
|
10
12
|
*
|
|
11
13
|
* @param {Object} props
|
|
12
14
|
* @param {'sm' | 'md' | 'lg'} [props.size='md'] - 버튼의 크기를 지정합니다
|
|
13
|
-
* - 'sm':
|
|
14
|
-
* - 'md':
|
|
15
|
-
* - 'lg':
|
|
15
|
+
* - 'sm': 24px
|
|
16
|
+
* - 'md': 36px
|
|
17
|
+
* - 'lg': 50px
|
|
16
18
|
* @param {boolean} [props.outline=false] - 외곽선 스타일 적용 여부를 지정합니다
|
|
17
19
|
* @param {boolean} [props.disabled=false] - 버튼 비활성화 여부를 지정합니다
|
|
18
20
|
* @param {React.ReactNode} props.children - 버튼 내부에 표시될 아이콘 컴포넌트
|
|
@@ -35,5 +37,5 @@ export interface IconButtonProps extends ComponentProps<'button'> {
|
|
|
35
37
|
* <Icon name="menu" />
|
|
36
38
|
* </IconButton>
|
|
37
39
|
*/
|
|
38
|
-
declare const IconButton: ({ size, outline, children, onClick, className, disabled, ...rest }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
declare const IconButton: ({ size, outline, children, onClick, className, disabled, hasNew, ...rest }: IconButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
39
41
|
export { IconButton };
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r,useRef as n,useEffect as
|
|
1
|
+
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as r,useRef as n,useEffect as o}from"react";import{twJoin as i,twMerge as l}from"tailwind-merge";import{Box as s}from"../../Base/Layouts/Box/Box.js";function c(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(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 u(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
|
|
2
2
|
/**
|
|
3
3
|
* 아이콘을 포함한 버튼 컴포넌트입니다.
|
|
4
|
+
* sm 사이즈에서는 hasNew 속성이 true여도 노출되지 않습니다.
|
|
4
5
|
*
|
|
5
6
|
* @component
|
|
6
7
|
*
|
|
7
8
|
* @param {Object} props
|
|
8
9
|
* @param {'sm' | 'md' | 'lg'} [props.size='md'] - 버튼의 크기를 지정합니다
|
|
9
|
-
* - 'sm':
|
|
10
|
-
* - 'md':
|
|
11
|
-
* - 'lg':
|
|
10
|
+
* - 'sm': 24px
|
|
11
|
+
* - 'md': 36px
|
|
12
|
+
* - 'lg': 50px
|
|
12
13
|
* @param {boolean} [props.outline=false] - 외곽선 스타일 적용 여부를 지정합니다
|
|
13
14
|
* @param {boolean} [props.disabled=false] - 버튼 비활성화 여부를 지정합니다
|
|
14
15
|
* @param {React.ReactNode} props.children - 버튼 내부에 표시될 아이콘 컴포넌트
|
|
@@ -30,7 +31,5 @@
|
|
|
30
31
|
* <IconButton outline>
|
|
31
32
|
* <Icon name="menu" />
|
|
32
33
|
* </IconButton>
|
|
33
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var
|
|
34
|
-
|
|
35
|
-
return i((()=>()=>{w.current&&clearTimeout(w.current)}),[]),/*#__PURE__*/e("button",c(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){s(e,t,r[t])}))}return e}({"data-testid":"design-system-icon-button",type:"button",className:o("relative flex items-center justify-center rounded-xl border bg-transparent",y?"cursor-not-allowed":"cursor-pointer","sm"===b?"size-6 rounded-lg":"md"===b?"size-9":"lg"===b?"size-[50px]":void 0,p?"border-w-gray-200 overflow-hidden":"border-transparent",d),onClick:e=>{null==m||m(e),j(!0),w.current&&clearTimeout(w.current),w.current=setTimeout((()=>{j(!1)}),300)},disabled:y},O),{children:[g&&/*#__PURE__*/t(l,{"data-testid":"design-system-icon-button--ripple",className:o("absolute h-full w-full bg-w-gray-500 bg-opacity-10",p&&"sm"===b?"animate-[rippleOutlineSmall_0.3s_ease-in-out_infinite]":p?"animate-[rippleOutline_0.3s_ease-in-out_infinite]":"animate-[ripple_0.3s_ease-in-out_infinite]")}),
|
|
36
|
-
/*#__PURE__*/t(l,{"data-testid":"design-system-icon-button--icon",className:"absolute flex h-full w-full items-center justify-center",children:f})]}))};export{a as IconButton};
|
|
34
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)r=i[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const b=b=>{var{size:p="md",outline:d=!1,children:m,onClick:f,className:y,disabled:g,hasNew:O=!1}=b,j=u(b,["size","outline","children","onClick","className","disabled","hasNew"]);const[w,h]=r(!1),P=n(null);return o((()=>()=>{P.current&&clearTimeout(P.current)}),[]),/*#__PURE__*/e("button",a(function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){c(e,t,r[t])}))}return e}({"data-testid":"design-system-icon-button",type:"button",className:l("relative flex items-center justify-center rounded-xl border bg-transparent",g?"cursor-not-allowed":"cursor-pointer","sm"===p?"size-6 rounded-lg":"md"===p?"size-9":"lg"===p?"size-[50px]":void 0,d?"border-w-gray-200 overflow-hidden":"border-transparent",y),onClick:e=>{null==f||f(e),h(!0),P.current&&clearTimeout(P.current),P.current=setTimeout((()=>{h(!1)}),300)},disabled:g},j),{children:[O&&"sm"!==p&&/*#__PURE__*/t(s,{"data-testid":"design-system-icon-button--new",className:i("absolute size-1 rounded-full bg-w-orange-500","md"===p&&"right-1 top-2","lg"===p&&"right-[9px] top-[13px]")}),w&&/*#__PURE__*/t(s,{"data-testid":"design-system-icon-button--ripple",className:l("absolute h-full w-full bg-w-gray-500/10",d&&"sm"===p?"animate-ripple-outline-small":d?"animate-ripple-outline":"animate-ripple")}),
|
|
35
|
+
/*#__PURE__*/t(s,{"data-testid":"design-system-icon-button--icon",className:"absolute flex h-full w-full items-center justify-center",children:m})]}))};export{b as IconButton};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as
|
|
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"react";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
|
* 버튼 클릭 시 드롭다운 목록이 표시되며, 키보드 탐색이 가능합니다.
|
|
@@ -30,6 +30,6 @@
|
|
|
30
30
|
* align="right"
|
|
31
31
|
* />
|
|
32
32
|
* ```
|
|
33
|
-
*/const
|
|
34
|
-
return
|
|
35
|
-
/*#__PURE__*/
|
|
33
|
+
*/const l=({icon:l,items:r,selectedItem:m,onItemClick:d,size:c="sm",align:p="left",disabled:u=!1})=>{const{isListOpen:y,ref:f,focusedIndex:I,handleItemClick:h,toggleListOpen:g,handleKeyDown:D}=a({items:r,onItemClick:d});/*#__PURE__*/
|
|
34
|
+
return t("div",{"data-testid":"design-system-icon-button-dropdown",className:"outline-hidden relative w-fit",ref:f,onKeyDown:D,tabIndex:0,children:[
|
|
35
|
+
/*#__PURE__*/e(i,{onClick:g,size:c,className:"outline-hidden",disabled:u,children:/*#__PURE__*/e(s,{name:l,className:o(u&&"text-w-gray-300")})}),y&&/*#__PURE__*/e("div",{"data-testid":"design-system-icon-button-dropdown--list-container",className:o("absolute -bottom-2 z-40 translate-y-full transform transition-all","right"===p?"right-0":"left-0 "),children:/*#__PURE__*/e(n.Root,{className:"max-h-full min-w-40 overflow-y-visible",children:r.map(((t,o)=>/*#__PURE__*/e(n.Item,{text:t.value,leadingIcon:t.leadingIcon,onClick:()=>h(t),selected:t.key===(null==m?void 0:m.key),isFocused:o===I},t.key)))})})]})};export{l as IconButtonDropdown};
|
|
@@ -24,4 +24,4 @@ import{jsx as e}from"react/jsx-runtime";import{forwardRef as r}from"react";impor
|
|
|
24
24
|
* // 에러 상태
|
|
25
25
|
* <Input isError placeholder="에러 상태" />
|
|
26
26
|
*/(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)t=l[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}const l=/*#__PURE__*/r(((r,l)=>{var{disabled:a,className:i,isError:c,isFocused:u}=r,s=n(r,["disabled","className","isError","isFocused"]);/*#__PURE__*/
|
|
27
|
-
return e("input",function(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}({role:"text-input",ref:l,className:t("
|
|
27
|
+
return e("input",function(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}({role:"text-input",ref:l,className:t("outline-hidden typo-body16 placeholder:typo-body16 tracking-default placeholder:tracking-default w-full text-w-gray-600 placeholder:text-w-gray-300 disabled:bg-w-gray-10",a&&"placeholder:typo-body16 cursor-not-allowed text-w-gray-300 placeholder:text-w-gray-200",i),"data-testid":"design-system--input",disabled:a},s))}));l.displayName="Input";export{l as Input};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface LabelInputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
3
|
+
isFixed: boolean;
|
|
4
|
+
isFocused?: boolean;
|
|
5
|
+
isError?: boolean;
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const LabelInput: import("react").ForwardRefExoticComponent<LabelInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
9
|
+
export { LabelInput };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r}from"react";import{twMerge as o}from"tailwind-merge";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{InputTypeSelector as i}from"./InputTypeSelector.js";function
|
|
2
|
-
return e(n,{className:"relative flex h-[42px] w-full flex-col gap-0.5 py-px","data-testid":"design-system--
|
|
3
|
-
/*#__PURE__*/t("div",{className:o("
|
|
4
|
-
/*#__PURE__*/t(i,s(
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r}from"react";import{twMerge as o}from"tailwind-merge";import{Box as n}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{InputTypeSelector as i}from"./InputTypeSelector.js";function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function l(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){a(e,t,r[t])}))}return e}function s(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 p(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)r=i[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const c=/*#__PURE__*/r(((r,a)=>{var{isFixed:c,isFocused:u,isError:y,label:f,type:b}=r,m=p(r,["isFixed","isFocused","isError","label","type"]);/*#__PURE__*/
|
|
2
|
+
return e(n,{className:"relative flex h-[42px] w-full flex-col gap-0.5 py-px","data-testid":"design-system--label-input",children:[
|
|
3
|
+
/*#__PURE__*/t("div",{className:o("tracking-default absolute",m.disabled?"text-w-gray-400":y?"text-w-red-500":u?"text-primary-500":"text-w-gray-400 group-hover:text-primary-500",c?"typo-caption11":u||m.value?"scale-[0.6875] -translate-y-0.5 origin-top-left transition-transform duration-300":"typo-body16 transition-transform duration-300 translate-y-2 origin-top-left"),"data-testid":"design-system--label-text",children:f}),
|
|
4
|
+
/*#__PURE__*/t(i,s(l({type:b},m),{ref:a,className:"pt-[14px]"}))]})}));c.displayName="LabelInput";export{c as LabelInput};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useState as
|
|
2
|
-
return e(
|
|
3
|
-
/*#__PURE__*/t(
|
|
4
|
-
/*#__PURE__*/t("button",{onClick:e=>{e.preventDefault(),b((e=>!e))},disabled:y,className:y?"cursor-not-allowed":"cursor-pointer",type:"button",children:/*#__PURE__*/t(
|
|
1
|
+
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useState as o}from"react";import"../../DataDisplays/Avatar/Avatar.js";import"tailwind-merge";import{Box as n}from"../../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{Input as a}from"./Input.js";function i(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){i(e,t,r[t])}))}return e}function l(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 p(e,t){if(null==e)return{};var r,o,n=function(e,t){if(null==e)return{};var r,o,n={},s=Object.keys(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||(n[r]=e[r]);return n}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(o=0;o<s.length;o++)r=s[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}const u=/*#__PURE__*/r(((r,i)=>{var{type:u,disabled:y}=r,m=p(r,["type","disabled"]);const[f,b]=o(!1);/*#__PURE__*/
|
|
2
|
+
return e(n,{className:"flex w-full items-center gap-2","data-testid":"design-system--password-input",children:[
|
|
3
|
+
/*#__PURE__*/t(a,l(c({type:f?"text":"password",ref:i},m),{disabled:y})),
|
|
4
|
+
/*#__PURE__*/t("button",{onClick:e=>{e.preventDefault(),b((e=>!e))},disabled:y,className:y?"cursor-not-allowed":"cursor-pointer",type:"button",children:/*#__PURE__*/t(s,{name:f?"medium_eye_slash":"medium_eye",className:"text-w-gray-400"})})]})}));u.displayName="PasswordInput";export{u as PasswordInput};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { Input } from './Input';
|
|
2
2
|
export { PasswordInput } from './PasswordInput';
|
|
3
|
-
export {
|
|
3
|
+
export { LabelInput } from './LabelInput';
|
|
4
4
|
export { InputTypeSelector } from './InputTypeSelector';
|
|
5
5
|
export type { InputProps } from './Input';
|
|
6
|
-
export type {
|
|
6
|
+
export type { LabelInputProps } from './LabelInput';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{twMerge as
|
|
1
|
+
"use client";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 s}from"../../Base/Typography/Typography.js";import{Box as r}from"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import"react";import{SystemIcon as o}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";
|
|
2
2
|
/**
|
|
3
3
|
* 삭제 가능한 칩(chip) 형태의 입력 컴포넌트입니다.
|
|
4
4
|
*
|
|
@@ -23,5 +23,5 @@
|
|
|
23
23
|
* 커스텀 스타일 태그
|
|
24
24
|
* </InputChip>
|
|
25
25
|
* ```
|
|
26
|
-
*/const i=({children:i,onDelete:l,className:
|
|
27
|
-
/*#__PURE__*/t(
|
|
26
|
+
*/const i=({children:i,onDelete:l,className:p})=>/*#__PURE__*/e(r,{"data-testid":"design-system-input-chip--container",className:a("flex h-6 w-fit max-w-[100px] select-none items-center gap-0.5 rounded-lg bg-w-gray-100 px-2 py-px",!!l&&"pl-2 pr-1.5",p),children:[
|
|
27
|
+
/*#__PURE__*/t(s,{variant:"body14",className:"h-6 w-full overflow-hidden text-ellipsis whitespace-nowrap break-all text-w-gray-600",children:i}),!!l&&/*#__PURE__*/t(r,{onClick:l,"data-testid":"design-system-input-chip--delete",children:/*#__PURE__*/t(o,{name:"small_delete",className:"cursor-pointer text-w-gray-400"})})]});export{i as InputChip};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as r,useState as n,useLayoutEffect as
|
|
1
|
+
"use client";import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as r,useState as n,useLayoutEffect as o}from"react";import{twMerge as s}from"tailwind-merge";import"../../DataDisplays/Avatar/Avatar.js";import{Typography as l}from"../../Base/Typography/Typography.js";import"../../Base/Layouts/Box/Box.js";import"../../Base/Layouts/FullBleed/FullBleed.js";import{SystemIcon as i}from"../../DataDisplays/SystemIcon/SystemIcon.js";import"../../DataDisplays/SystemIcon/SystemIcon.constants.js";import"../../DataDisplays/Accordion/Accordion.js";function a(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]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter((function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})))),n.forEach((function(t){a(e,t,r[t])}))}return e}function m(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 p(e,t){if(null==e)return{};var r,n,o=function(e,t){if(null==e)return{};var r,n,o={},s=Object.keys(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||(o[r]=e[r]);return o}
|
|
2
2
|
/**
|
|
3
3
|
* List.Root 컴포넌트는 목록의 컨테이너 역할을 합니다.
|
|
4
4
|
*
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* @param {boolean} [props.disableScroll=false] - 스크롤 비활성화 여부
|
|
8
8
|
* @param {ReactNode} props.children - 목록 항목들
|
|
9
9
|
* @param {string} [props.className] - 추가 CSS 클래스
|
|
10
|
-
*/(e,t);if(Object.getOwnPropertySymbols){var
|
|
11
|
-
return e("li",m(
|
|
10
|
+
*/(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)r=s[n],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}const d={Root:e=>{var{children:l,className:i,disableScroll:a=!1}=e,d=p(e,["children","className","disableScroll"]);const y=r(null),[u,b]=n(!1);return o((()=>{const e=y.current;if(!e)return;const{scrollHeight:t,clientHeight:r}=e;b(t>r)}),[]),/*#__PURE__*/t("ul",m(c({ref:y,"data-testid":"design-system-list",className:s("flex max-h-60 w-full min-w-[220px] flex-col rounded-xl bg-w-white p-2 shadow-graymedium",a?"max-h-full overflow-visible":"scrollbar-list overflow-y-auto",u&&!a&&"pr-0",i)},d),{children:l}))},Item:r=>{var{leadingIcon:n,text:o,selected:a=!1,disabled:d=!1,canceled:y=!1,children:u,className:b,isFocused:f=!1}=r,g=p(r,["leadingIcon","text","selected","disabled","canceled","children","className","isFocused"]);const O=s(a?"text-primary-500":"text-w-gray-600",y&&"text-w-red-500",d&&"text-w-gray-300");/*#__PURE__*/
|
|
11
|
+
return e("li",m(c({className:s("visible flex cursor-pointer select-none items-center gap-2 rounded-xl bg-w-white px-4 py-3",!d&&f&&"bg-primary-10",!d&&"hover:bg-primary-10",b)},g),{onClick:e=>{var t;d||null===(t=g.onClick)||void 0===t||t.call(g,e)},"data-testid":"design-system-list-item",children:[n&&/*#__PURE__*/t(i,{name:n,className:O,testId:"design-system-list-item-leading-icon"}),o&&/*#__PURE__*/t(l,{variant:"body16",className:O,"data-testid":"design-system-list-item-text",children:o}),u]}))}};
|
|
12
12
|
/**
|
|
13
13
|
* List.Item 컴포넌트는 개별 목록 항목을 표시합니다.
|
|
14
14
|
*
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
3
3
|
}),[n]),/*#__PURE__*/t(f.Provider,{value:{activeCategory:p,currentActiveCategory:n,handleCategoryClick:e=>{e!==p&&(// 현재 카테고리를 다시 클릭하는 경우 방지
|
|
4
4
|
null==c||c(e),g(e))}},children:/*#__PURE__*/t(s,d(y({"data-testid":"design-system-multi-column-list--root",className:i("flex h-full w-full rounded-xl border border-w-gray-200 bg-w-white",l)},u),{children:r}))})},g=e=>{var{className:r,children:l}=e,n=m(e,["className","children"]);/*#__PURE__*/
|
|
5
|
-
return t(s,d(y({"data-testid":"design-system-multi-column-list--category-container",className:i("flex h-full w-[180px] shrink-0 flex-col overflow-y-auto border-r border-w-gray-200 py-2 pl-2
|
|
6
|
-
return t(s,d(y({"data-testid":"design-system-multi-column-list--category",className:i("w-full cursor-pointer rounded-xl px-4 py-3 text-w-gray-600 hover:bg-primary-10",o===p&&"font-medium text-primary",n),onClick:()=>void 0!==o&&u(o)},a),{children:/*#__PURE__*/t(c,{variant:"
|
|
5
|
+
return t(s,d(y({"data-testid":"design-system-multi-column-list--category-container",className:i("scrollbar-list flex h-full w-[180px] shrink-0 flex-col overflow-y-auto border-r border-w-gray-200 py-2 pl-2",r)},n),{children:l}))},b=e=>{var{children:l,className:a}=e,c=m(e,["children","className"]);const{activeCategory:u}=r(f),p=n(null);return o((()=>{p.current&&p.current.scrollTo({top:0})}),[u]),/*#__PURE__*/t(s,d(y({"data-testid":"design-system-multi-column-list--list-container",ref:p,className:i("scrollbar-list flex h-full w-full flex-col gap-6 overflow-y-auto px-6 py-5",a)},c),{children:l}))},h=e=>{var{children:l,className:n,index:o}=e,a=m(e,["children","className","index"]);const{handleCategoryClick:u,activeCategory:p}=r(f);/*#__PURE__*/
|
|
6
|
+
return t(s,d(y({"data-testid":"design-system-multi-column-list--category",className:i("w-full cursor-pointer rounded-xl px-4 py-3 text-w-gray-600 hover:bg-primary-10",o===p&&"font-medium text-primary",n),onClick:()=>void 0!==o&&u(o)},a),{children:/*#__PURE__*/t(c,{variant:"body16",className:"whitespace-normal break-all",children:l})}))},v=l=>{var{children:n,title:o,index:a}=l,i=m(l,["children","title","index"]);const{activeCategory:u}=r(f);return a!==u?null:/*#__PURE__*/e(s,d(y({"data-testid":"design-system-multi-column-list--list-item",className:"flex w-full flex-col gap-4"},i),{children:[o&&/*#__PURE__*/t(c,{variant:"body16",className:"w-full font-medium text-primary","data-testid":"design-system-multi-column-list-title",children:o}),n]}))};
|
|
7
7
|
/**
|
|
8
8
|
* MultiColumnList의 최상위 컴포넌트입니다.
|
|
9
9
|
*
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { RadioProps } from './
|
|
1
|
+
import { RadioProps } from './types';
|
|
2
2
|
/**
|
|
3
3
|
* 사용자가 여러 옵션 중 하나를 선택할 수 있는 라디오 버튼 컴포넌트입니다.
|
|
4
4
|
*
|
|
5
5
|
* @component
|
|
6
6
|
* @param {Object} props
|
|
7
7
|
* @param {string} [props.value=''] - 라디오 버튼의 값
|
|
8
|
-
* @param {boolean} [props.
|
|
9
|
-
* @param {boolean} [props.
|
|
8
|
+
* @param {boolean} [props.checked=false] - 라디오 버튼의 선택 상태
|
|
9
|
+
* @param {boolean} [props.disabled=false] - 라디오 버튼의 비활성화 상태
|
|
10
10
|
* @param {boolean} [props.isError=false] - 라디오 버튼의 에러 상태
|
|
11
11
|
* @param {string} [props.className] - 추가적인 스타일링을 위한 클래스명
|
|
12
12
|
*
|
|
@@ -15,16 +15,22 @@ import { RadioProps } from './Radio.types';
|
|
|
15
15
|
* <Radio value="option1" />
|
|
16
16
|
*
|
|
17
17
|
* // 선택된 상태
|
|
18
|
-
* <Radio value="option2"
|
|
18
|
+
* <Radio value="option2" checked={true} />
|
|
19
19
|
*
|
|
20
20
|
* // 비활성화 상태
|
|
21
|
-
* <Radio value="option3"
|
|
21
|
+
* <Radio value="option3" disabled={true} />
|
|
22
22
|
*
|
|
23
23
|
* // 에러 상태
|
|
24
24
|
* <Radio value="option4" isError={true} />
|
|
25
25
|
*
|
|
26
|
-
* //
|
|
27
|
-
* <
|
|
26
|
+
* // react-hook-form 사용 예시
|
|
27
|
+
* <Controller
|
|
28
|
+
* control={control}
|
|
29
|
+
* name="name"
|
|
30
|
+
* render={({ field }) => (
|
|
31
|
+
* <Radio value="option5" checked={field.value === 'option5'} onChange={field.onChange} />
|
|
32
|
+
* )}
|
|
33
|
+
* />
|
|
28
34
|
*/
|
|
29
|
-
declare const Radio: import("react").ForwardRefExoticComponent<
|
|
35
|
+
declare const Radio: import("react").ForwardRefExoticComponent<RadioProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
30
36
|
export { Radio };
|