@charcoal-ui/icons 6.0.0-rc.8 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +23 -19
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +23 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/react/v1/16/Add.d.ts.map +1 -1
- package/react/v1/16/Archive.d.ts.map +1 -1
- package/react/v1/16/ArrowDown.d.ts.map +1 -1
- package/react/v1/16/Artwork.d.ts.map +1 -1
- package/react/v1/16/Back.d.ts.map +1 -1
- package/react/v1/16/Book.d.ts.map +1 -1
- package/react/v1/16/BookmarkOff.d.ts.map +1 -1
- package/react/v1/16/BookmarkOn.d.ts.map +1 -1
- package/react/v1/16/Check.d.ts.map +1 -1
- package/react/v1/16/Comment.d.ts.map +1 -1
- package/react/v1/16/Description.d.ts.map +1 -1
- package/react/v1/16/Dot.d.ts.map +1 -1
- package/react/v1/16/Down.d.ts.map +1 -1
- package/react/v1/16/Error.d.ts.map +1 -1
- package/react/v1/16/Filter.d.ts.map +1 -1
- package/react/v1/16/ImageResponse.d.ts.map +1 -1
- package/react/v1/16/Info.d.ts.map +1 -1
- package/react/v1/16/Like.d.ts.map +1 -1
- package/react/v1/16/Menu.d.ts.map +1 -1
- package/react/v1/16/More.d.ts.map +1 -1
- package/react/v1/16/Nextworks.d.ts.map +1 -1
- package/react/v1/16/Pencil.d.ts.map +1 -1
- package/react/v1/16/Question.d.ts.map +1 -1
- package/react/v1/16/Ranking.d.ts.map +1 -1
- package/react/v1/16/Remove.d.ts.map +1 -1
- package/react/v1/16/Search.d.ts.map +1 -1
- package/react/v1/16/Smile.d.ts.map +1 -1
- package/react/v1/16/Speaker.d.ts.map +1 -1
- package/react/v1/16/Trash.d.ts.map +1 -1
- package/react/v1/16/Up.d.ts.map +1 -1
- package/react/v1/16/View.d.ts.map +1 -1
- package/react/v1/16/Warning.d.ts.map +1 -1
- package/react/v1/24/Add.d.ts.map +1 -1
- package/react/v1/24/AddImage.d.ts.map +1 -1
- package/react/v1/24/AddModel.d.ts.map +1 -1
- package/react/v1/24/AddPeople.d.ts.map +1 -1
- package/react/v1/24/AddRubi.d.ts.map +1 -1
- package/react/v1/24/AddText.d.ts.map +1 -1
- package/react/v1/24/Alart.d.ts.map +1 -1
- package/react/v1/24/Announcement.d.ts.map +1 -1
- package/react/v1/24/Ar.d.ts.map +1 -1
- package/react/v1/24/Archive.d.ts.map +1 -1
- package/react/v1/24/ArrowDown.d.ts.map +1 -1
- package/react/v1/24/ArrowLeft.d.ts.map +1 -1
- package/react/v1/24/ArrowRight.d.ts.map +1 -1
- package/react/v1/24/ArrowUp.d.ts.map +1 -1
- package/react/v1/24/Binet.d.ts.map +1 -1
- package/react/v1/24/Body.d.ts.map +1 -1
- package/react/v1/24/BodyEdit.d.ts.map +1 -1
- package/react/v1/24/Bold.d.ts.map +1 -1
- package/react/v1/24/Book.d.ts.map +1 -1
- package/react/v1/24/BringBackward.d.ts.map +1 -1
- package/react/v1/24/BringForward.d.ts.map +1 -1
- package/react/v1/24/Calendar.d.ts.map +1 -1
- package/react/v1/24/Camera.d.ts.map +1 -1
- package/react/v1/24/CameraVideo.d.ts.map +1 -1
- package/react/v1/24/Cart.d.ts.map +1 -1
- package/react/v1/24/ChangeCharacter.d.ts.map +1 -1
- package/react/v1/24/ChatBot.d.ts.map +1 -1
- package/react/v1/24/Check.d.ts.map +1 -1
- package/react/v1/24/ChromaticAberration.d.ts.map +1 -1
- package/react/v1/24/Click.d.ts.map +1 -1
- package/react/v1/24/Close.d.ts.map +1 -1
- package/react/v1/24/Codes.d.ts.map +1 -1
- package/react/v1/24/Collapse.d.ts.map +1 -1
- package/react/v1/24/Collection.d.ts.map +1 -1
- package/react/v1/24/CommentFill.d.ts.map +1 -1
- package/react/v1/24/CommentOutline.d.ts.map +1 -1
- package/react/v1/24/Contest.d.ts.map +1 -1
- package/react/v1/24/Contrast.d.ts.map +1 -1
- package/react/v1/24/Copy.d.ts.map +1 -1
- package/react/v1/24/Description.d.ts.map +1 -1
- package/react/v1/24/DeviceRotation.d.ts.map +1 -1
- package/react/v1/24/Discovery.d.ts.map +1 -1
- package/react/v1/24/Dot.d.ts.map +1 -1
- package/react/v1/24/DotAlt.d.ts.map +1 -1
- package/react/v1/24/Down.d.ts.map +1 -1
- package/react/v1/24/DownloadAlt.d.ts.map +1 -1
- package/react/v1/24/Duplicate.d.ts.map +1 -1
- package/react/v1/24/Dust.d.ts.map +1 -1
- package/react/v1/24/Emoji.d.ts.map +1 -1
- package/react/v1/24/EmphasisMark.d.ts.map +1 -1
- package/react/v1/24/EmphasisMarkJp.d.ts.map +1 -1
- package/react/v1/24/Error.d.ts.map +1 -1
- package/react/v1/24/ErrorOctagon.d.ts.map +1 -1
- package/react/v1/24/Events.d.ts.map +1 -1
- package/react/v1/24/Expand.d.ts.map +1 -1
- package/react/v1/24/FaceEdit.d.ts.map +1 -1
- package/react/v1/24/Fashion.d.ts.map +1 -1
- package/react/v1/24/Feed.d.ts.map +1 -1
- package/react/v1/24/File.d.ts.map +1 -1
- package/react/v1/24/Filter.d.ts.map +1 -1
- package/react/v1/24/Flare.d.ts.map +1 -1
- package/react/v1/24/FormatAlignCenter.d.ts.map +1 -1
- package/react/v1/24/FormatAlignJustified.d.ts.map +1 -1
- package/react/v1/24/FormatAlignLeft.d.ts.map +1 -1
- package/react/v1/24/FormatAlignRight.d.ts.map +1 -1
- package/react/v1/24/FormatColorFill.d.ts.map +1 -1
- package/react/v1/24/FormatColorFillNoColor.d.ts.map +1 -1
- package/react/v1/24/FormatFontFamily.d.ts.map +1 -1
- package/react/v1/24/FormatFontSize.d.ts.map +1 -1
- package/react/v1/24/FormatLetterSpacing.d.ts.map +1 -1
- package/react/v1/24/FormatLineSpacing.d.ts.map +1 -1
- package/react/v1/24/FormatText.d.ts.map +1 -1
- package/react/v1/24/Fov.d.ts.map +1 -1
- package/react/v1/24/FrameEffect.d.ts.map +1 -1
- package/react/v1/24/FrameSize.d.ts.map +1 -1
- package/react/v1/24/Gift.d.ts.map +1 -1
- package/react/v1/24/Glow.d.ts.map +1 -1
- package/react/v1/24/Groups.d.ts.map +1 -1
- package/react/v1/24/HairEdit.d.ts.map +1 -1
- package/react/v1/24/Hashtag.d.ts.map +1 -1
- package/react/v1/24/Hide.d.ts.map +1 -1
- package/react/v1/24/HightlightText.d.ts.map +1 -1
- package/react/v1/24/Home.d.ts.map +1 -1
- package/react/v1/24/Hue.d.ts.map +1 -1
- package/react/v1/24/Idea.d.ts.map +1 -1
- package/react/v1/24/Image.d.ts.map +1 -1
- package/react/v1/24/ImageAlt.d.ts.map +1 -1
- package/react/v1/24/ImageHidden.d.ts.map +1 -1
- package/react/v1/24/ImageReplace.d.ts.map +1 -1
- package/react/v1/24/Images.d.ts.map +1 -1
- package/react/v1/24/ImgContain.d.ts.map +1 -1
- package/react/v1/24/ImgCover.d.ts.map +1 -1
- package/react/v1/24/Index.d.ts.map +1 -1
- package/react/v1/24/Info.d.ts.map +1 -1
- package/react/v1/24/Invalid.d.ts.map +1 -1
- package/react/v1/24/Invoice.d.ts.map +1 -1
- package/react/v1/24/Italic.d.ts.map +1 -1
- package/react/v1/24/ItemRemove.d.ts.map +1 -1
- package/react/v1/24/LatestWorks.d.ts.map +1 -1
- package/react/v1/24/LikeOff.d.ts.map +1 -1
- package/react/v1/24/LikeOn.d.ts.map +1 -1
- package/react/v1/24/Link.d.ts.map +1 -1
- package/react/v1/24/List.d.ts.map +1 -1
- package/react/v1/24/LockLock.d.ts.map +1 -1
- package/react/v1/24/LockUnlock.d.ts.map +1 -1
- package/react/v1/24/Login.d.ts.map +1 -1
- package/react/v1/24/Logout.d.ts.map +1 -1
- package/react/v1/24/Manga.d.ts.map +1 -1
- package/react/v1/24/Menu.d.ts.map +1 -1
- package/react/v1/24/Message.d.ts.map +1 -1
- package/react/v1/24/Microphone.d.ts.map +1 -1
- package/react/v1/24/MobilePhone.d.ts.map +1 -1
- package/react/v1/24/Move1.d.ts.map +1 -1
- package/react/v1/24/MultiSelect.d.ts.map +1 -1
- package/react/v1/24/Next.d.ts.map +1 -1
- package/react/v1/24/NoImage.d.ts.map +1 -1
- package/react/v1/24/Notification.d.ts.map +1 -1
- package/react/v1/24/NotificationOff.d.ts.map +1 -1
- package/react/v1/24/Novels.d.ts.map +1 -1
- package/react/v1/24/OpenInNew.d.ts.map +1 -1
- package/react/v1/24/Options.d.ts.map +1 -1
- package/react/v1/24/OptionsAlt.d.ts.map +1 -1
- package/react/v1/24/Overlay.d.ts.map +1 -1
- package/react/v1/24/Palette.d.ts.map +1 -1
- package/react/v1/24/Pause.d.ts.map +1 -1
- package/react/v1/24/PauseAlt.d.ts.map +1 -1
- package/react/v1/24/Pencil.d.ts.map +1 -1
- package/react/v1/24/PencilAdd.d.ts.map +1 -1
- package/react/v1/24/PencilDraw.d.ts.map +1 -1
- package/react/v1/24/PencilLive.d.ts.map +1 -1
- package/react/v1/24/PencilText.d.ts.map +1 -1
- package/react/v1/24/Person.d.ts.map +1 -1
- package/react/v1/24/Play.d.ts.map +1 -1
- package/react/v1/24/Pose.d.ts.map +1 -1
- package/react/v1/24/Prev.d.ts.map +1 -1
- package/react/v1/24/Projects.d.ts.map +1 -1
- package/react/v1/24/PullDown.d.ts.map +1 -1
- package/react/v1/24/PullUp.d.ts.map +1 -1
- package/react/v1/24/Question.d.ts.map +1 -1
- package/react/v1/24/QuestionOutline.d.ts.map +1 -1
- package/react/v1/24/Ranking.d.ts.map +1 -1
- package/react/v1/24/ReadHorizontalLeft.d.ts.map +1 -1
- package/react/v1/24/ReadHorizontalRight.d.ts.map +1 -1
- package/react/v1/24/ReadVertical.d.ts.map +1 -1
- package/react/v1/24/Redo.d.ts.map +1 -1
- package/react/v1/24/Reload.d.ts.map +1 -1
- package/react/v1/24/ReloadLoop.d.ts.map +1 -1
- package/react/v1/24/Reorder.d.ts.map +1 -1
- package/react/v1/24/Reply.d.ts.map +1 -1
- package/react/v1/24/Roll.d.ts.map +1 -1
- package/react/v1/24/Rotate90DegreesC.d.ts.map +1 -1
- package/react/v1/24/Rotate90DegreesCc.d.ts.map +1 -1
- package/react/v1/24/RotateRight.d.ts.map +1 -1
- package/react/v1/24/Saturation.d.ts.map +1 -1
- package/react/v1/24/Save.d.ts.map +1 -1
- package/react/v1/24/Search.d.ts.map +1 -1
- package/react/v1/24/Send.d.ts.map +1 -1
- package/react/v1/24/Services.d.ts.map +1 -1
- package/react/v1/24/Set.d.ts.map +1 -1
- package/react/v1/24/Settings.d.ts.map +1 -1
- package/react/v1/24/ShareAndroid.d.ts.map +1 -1
- package/react/v1/24/ShareIos.d.ts.map +1 -1
- package/react/v1/24/Shopping.d.ts.map +1 -1
- package/react/v1/24/Show.d.ts.map +1 -1
- package/react/v1/24/ShowOutline.d.ts.map +1 -1
- package/react/v1/24/Shutter.d.ts.map +1 -1
- package/react/v1/24/Star.d.ts.map +1 -1
- package/react/v1/24/Subtract.d.ts.map +1 -1
- package/react/v1/24/Sun.d.ts.map +1 -1
- package/react/v1/24/Temperature.d.ts.map +1 -1
- package/react/v1/24/Text.d.ts.map +1 -1
- package/react/v1/24/Thread.d.ts.map +1 -1
- package/react/v1/24/Trash.d.ts.map +1 -1
- package/react/v1/24/TrashAlt.d.ts.map +1 -1
- package/react/v1/24/Undo.d.ts.map +1 -1
- package/react/v1/24/Up.d.ts.map +1 -1
- package/react/v1/24/Upload.d.ts.map +1 -1
- package/react/v1/24/UploadAlt.d.ts.map +1 -1
- package/react/v1/24/Usagi.d.ts.map +1 -1
- package/react/v1/24/UsagiAlt.d.ts.map +1 -1
- package/react/v1/24/Users.d.ts.map +1 -1
- package/react/v1/24/Video.d.ts.map +1 -1
- package/react/v1/24/ViewGrid2Columns.d.ts.map +1 -1
- package/react/v1/24/ViewGrid3Columns.d.ts.map +1 -1
- package/react/v1/24/ViewList.d.ts.map +1 -1
- package/react/v1/24/Warning.d.ts.map +1 -1
- package/react/v1/32/BookmarkOff.d.ts.map +1 -1
- package/react/v1/32/BookmarkOn.d.ts.map +1 -1
- package/react/v1/32/Camera.d.ts.map +1 -1
- package/react/v1/32/Close.d.ts.map +1 -1
- package/react/v1/32/Collapse.d.ts.map +1 -1
- package/react/v1/32/CommentOff.d.ts.map +1 -1
- package/react/v1/32/CommentOn.d.ts.map +1 -1
- package/react/v1/32/Delete.d.ts.map +1 -1
- package/react/v1/32/Dot.d.ts.map +1 -1
- package/react/v1/32/Edit.d.ts.map +1 -1
- package/react/v1/32/Expand.d.ts.map +1 -1
- package/react/v1/32/Gift.d.ts.map +1 -1
- package/react/v1/32/Home.d.ts.map +1 -1
- package/react/v1/32/HorizontalWriting.d.ts.map +1 -1
- package/react/v1/32/ImageHidden.d.ts.map +1 -1
- package/react/v1/32/Index.d.ts.map +1 -1
- package/react/v1/32/LikeOff.d.ts.map +1 -1
- package/react/v1/32/LikeOn.d.ts.map +1 -1
- package/react/v1/32/LikeOnPrivate.d.ts.map +1 -1
- package/react/v1/32/Message.d.ts.map +1 -1
- package/react/v1/32/Next.d.ts.map +1 -1
- package/react/v1/32/Notification.d.ts.map +1 -1
- package/react/v1/32/NotificationOff.d.ts.map +1 -1
- package/react/v1/32/NovelViewerSettings.d.ts.map +1 -1
- package/react/v1/32/Pan.d.ts.map +1 -1
- package/react/v1/32/Prev.d.ts.map +1 -1
- package/react/v1/32/PullDown.d.ts.map +1 -1
- package/react/v1/32/PullUp.d.ts.map +1 -1
- package/react/v1/32/ReadHorizontalLeft.d.ts.map +1 -1
- package/react/v1/32/ReadHorizontalRight.d.ts.map +1 -1
- package/react/v1/32/ReadVertical.d.ts.map +1 -1
- package/react/v1/32/Redo.d.ts.map +1 -1
- package/react/v1/32/RollHorizontal.d.ts.map +1 -1
- package/react/v1/32/RollVertical.d.ts.map +1 -1
- package/react/v1/32/SansSerif.d.ts.map +1 -1
- package/react/v1/32/Serif.d.ts.map +1 -1
- package/react/v1/32/ShareAndroid.d.ts.map +1 -1
- package/react/v1/32/ShareIos.d.ts.map +1 -1
- package/react/v1/32/Shopping.d.ts.map +1 -1
- package/react/v1/32/Undo.d.ts.map +1 -1
- package/react/v1/32/Upload.d.ts.map +1 -1
- package/react/v1/32/User.d.ts.map +1 -1
- package/react/v1/32/VerticalWriting.d.ts.map +1 -1
- package/react/v1/32/ZoomIn.d.ts.map +1 -1
- package/react/v1/Inline/Add.d.ts.map +1 -1
- package/react/v1/Inline/Back.d.ts.map +1 -1
- package/react/v1/Inline/BookmarkOff.d.ts.map +1 -1
- package/react/v1/Inline/BookmarkOn.d.ts.map +1 -1
- package/react/v1/Inline/Breadcrumbs.d.ts.map +1 -1
- package/react/v1/Inline/Check.d.ts.map +1 -1
- package/react/v1/Inline/Comment.d.ts.map +1 -1
- package/react/v1/Inline/ContextMenu.d.ts.map +1 -1
- package/react/v1/Inline/External.d.ts.map +1 -1
- package/react/v1/Inline/Filter.d.ts.map +1 -1
- package/react/v1/Inline/Folder.d.ts.map +1 -1
- package/react/v1/Inline/ImageResponse.d.ts.map +1 -1
- package/react/v1/Inline/Images.d.ts.map +1 -1
- package/react/v1/Inline/Latest.d.ts.map +1 -1
- package/react/v1/Inline/Like.d.ts.map +1 -1
- package/react/v1/Inline/LikeOff.d.ts.map +1 -1
- package/react/v1/Inline/List.d.ts.map +1 -1
- package/react/v1/Inline/Location.d.ts.map +1 -1
- package/react/v1/Inline/Lock.d.ts.map +1 -1
- package/react/v1/Inline/More.d.ts.map +1 -1
- package/react/v1/Inline/MultiSelect.d.ts.map +1 -1
- package/react/v1/Inline/Nextworks.d.ts.map +1 -1
- package/react/v1/Inline/OpenInNew.d.ts.map +1 -1
- package/react/v1/Inline/Pencil.d.ts.map +1 -1
- package/react/v1/Inline/Remove.d.ts.map +1 -1
- package/react/v1/Inline/Smile.d.ts.map +1 -1
- package/react/v1/Inline/SmileOn.d.ts.map +1 -1
- package/react/v1/Inline/Trash.d.ts.map +1 -1
- package/react/v1/Inline/Users.d.ts.map +1 -1
- package/react/v1/Inline/View.d.ts.map +1 -1
- package/react/v1/Inline/ViewOutline.d.ts.map +1 -1
- package/react/v2/16/regular/ArrowLeftDown.d.ts.map +1 -1
- package/react/v2/16/regular/ChevronDown.d.ts.map +1 -1
- package/react/v2/16/regular/ChevronLeft.d.ts.map +1 -1
- package/react/v2/16/regular/ChevronRight.d.ts.map +1 -1
- package/react/v2/16/regular/ChevronUp.d.ts.map +1 -1
- package/react/v2/16/solid/ArrowLeftDown.d.ts.map +1 -1
- package/react/v2/16/solid/ChevronDown.d.ts.map +1 -1
- package/react/v2/16/solid/ChevronLeft.d.ts.map +1 -1
- package/react/v2/16/solid/ChevronRight.d.ts.map +1 -1
- package/react/v2/16/solid/ChevronUp.d.ts.map +1 -1
- package/react/v2/20/regular/X.d.ts.map +1 -1
- package/react/v2/20/solid/X.d.ts.map +1 -1
- package/react/v2/24/color/ColorMixture.d.ts.map +1 -1
- package/react/v2/24/regular/Add.d.ts.map +1 -1
- package/react/v2/24/regular/AddCircle.d.ts.map +1 -1
- package/react/v2/24/regular/Airbrush.d.ts.map +1 -1
- package/react/v2/24/regular/Album.d.ts.map +1 -1
- package/react/v2/24/regular/AlbumAdd.d.ts.map +1 -1
- package/react/v2/24/regular/Alert.d.ts.map +1 -1
- package/react/v2/24/regular/AlignHorizontal.d.ts.map +1 -1
- package/react/v2/24/regular/AlignVertical.d.ts.map +1 -1
- package/react/v2/24/regular/Angle.d.ts.map +1 -1
- package/react/v2/24/regular/Announce.d.ts.map +1 -1
- package/react/v2/24/regular/ApplePencil.d.ts.map +1 -1
- package/react/v2/24/regular/Ar.d.ts.map +1 -1
- package/react/v2/24/regular/Archive.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowCcw.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowDown.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowDownSquare.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowLeft.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowLeftDown.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowLeftSquare.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowRight.d.ts.map +1 -1
- package/react/v2/24/regular/ArrowUp.d.ts.map +1 -1
- package/react/v2/24/regular/AutoSelect.d.ts.map +1 -1
- package/react/v2/24/regular/Bell.d.ts.map +1 -1
- package/react/v2/24/regular/BezierCurve.d.ts.map +1 -1
- package/react/v2/24/regular/BlendMode.d.ts.map +1 -1
- package/react/v2/24/regular/Body.d.ts.map +1 -1
- package/react/v2/24/regular/BodyAdd.d.ts.map +1 -1
- package/react/v2/24/regular/BodyEdit.d.ts.map +1 -1
- package/react/v2/24/regular/Bold.d.ts.map +1 -1
- package/react/v2/24/regular/Book.d.ts.map +1 -1
- package/react/v2/24/regular/Bookmark.d.ts.map +1 -1
- package/react/v2/24/regular/BringBackward.d.ts.map +1 -1
- package/react/v2/24/regular/BringForward.d.ts.map +1 -1
- package/react/v2/24/regular/Brush.d.ts.map +1 -1
- package/react/v2/24/regular/BrushDecoration.d.ts.map +1 -1
- package/react/v2/24/regular/BrushOpacity.d.ts.map +1 -1
- package/react/v2/24/regular/BrushPress.d.ts.map +1 -1
- package/react/v2/24/regular/BrushSize.d.ts.map +1 -1
- package/react/v2/24/regular/BrushStablize.d.ts.map +1 -1
- package/react/v2/24/regular/Bubble.d.ts.map +1 -1
- package/react/v2/24/regular/BulbShine.d.ts.map +1 -1
- package/react/v2/24/regular/Calendar.d.ts.map +1 -1
- package/react/v2/24/regular/Camera.d.ts.map +1 -1
- package/react/v2/24/regular/CharacterReplace.d.ts.map +1 -1
- package/react/v2/24/regular/Check.d.ts.map +1 -1
- package/react/v2/24/regular/CheckCircle.d.ts.map +1 -1
- package/react/v2/24/regular/ChevronDown.d.ts.map +1 -1
- package/react/v2/24/regular/ChevronLeft.d.ts.map +1 -1
- package/react/v2/24/regular/ChevronRight.d.ts.map +1 -1
- package/react/v2/24/regular/ChevronUp.d.ts.map +1 -1
- package/react/v2/24/regular/Circle.d.ts.map +1 -1
- package/react/v2/24/regular/Click.d.ts.map +1 -1
- package/react/v2/24/regular/Clipping.d.ts.map +1 -1
- package/react/v2/24/regular/Cloud.d.ts.map +1 -1
- package/react/v2/24/regular/CloudCheck.d.ts.map +1 -1
- package/react/v2/24/regular/CloudExclamation.d.ts.map +1 -1
- package/react/v2/24/regular/CloudSync.d.ts.map +1 -1
- package/react/v2/24/regular/Code.d.ts.map +1 -1
- package/react/v2/24/regular/Color.d.ts.map +1 -1
- package/react/v2/24/regular/ColorSets.d.ts.map +1 -1
- package/react/v2/24/regular/ColorWheelRectangle.d.ts.map +1 -1
- package/react/v2/24/regular/ColorWheelTriangle.d.ts.map +1 -1
- package/react/v2/24/regular/CommandsCircle.d.ts.map +1 -1
- package/react/v2/24/regular/Compass.d.ts.map +1 -1
- package/react/v2/24/regular/Contest.d.ts.map +1 -1
- package/react/v2/24/regular/Contrast.d.ts.map +1 -1
- package/react/v2/24/regular/Copy.d.ts.map +1 -1
- package/react/v2/24/regular/Crown.d.ts.map +1 -1
- package/react/v2/24/regular/Curve.d.ts.map +1 -1
- package/react/v2/24/regular/CurveNodes.d.ts.map +1 -1
- package/react/v2/24/regular/Delete.d.ts.map +1 -1
- package/react/v2/24/regular/Device.d.ts.map +1 -1
- package/react/v2/24/regular/DeviceRotate.d.ts.map +1 -1
- package/react/v2/24/regular/Dial.d.ts.map +1 -1
- package/react/v2/24/regular/Distortion.d.ts.map +1 -1
- package/react/v2/24/regular/DotsHorizontal.d.ts.map +1 -1
- package/react/v2/24/regular/DotsHorizontalCircle.d.ts.map +1 -1
- package/react/v2/24/regular/DotsVertical.d.ts.map +1 -1
- package/react/v2/24/regular/DotsVerticalCircle.d.ts.map +1 -1
- package/react/v2/24/regular/Download.d.ts.map +1 -1
- package/react/v2/24/regular/DownloadIos.d.ts.map +1 -1
- package/react/v2/24/regular/Dropper.d.ts.map +1 -1
- package/react/v2/24/regular/Duplicate.d.ts.map +1 -1
- package/react/v2/24/regular/Emoji.d.ts.map +1 -1
- package/react/v2/24/regular/Eraser.d.ts.map +1 -1
- package/react/v2/24/regular/Expand.d.ts.map +1 -1
- package/react/v2/24/regular/Eye.d.ts.map +1 -1
- package/react/v2/24/regular/EyeClosed.d.ts.map +1 -1
- package/react/v2/24/regular/EyeOff.d.ts.map +1 -1
- package/react/v2/24/regular/Face.d.ts.map +1 -1
- package/react/v2/24/regular/Feed.d.ts.map +1 -1
- package/react/v2/24/regular/File.d.ts.map +1 -1
- package/react/v2/24/regular/FileAdd.d.ts.map +1 -1
- package/react/v2/24/regular/FileExport.d.ts.map +1 -1
- package/react/v2/24/regular/FilePng.d.ts.map +1 -1
- package/react/v2/24/regular/FilePsd.d.ts.map +1 -1
- package/react/v2/24/regular/FileRestore.d.ts.map +1 -1
- package/react/v2/24/regular/Fill.d.ts.map +1 -1
- package/react/v2/24/regular/FillSquare.d.ts.map +1 -1
- package/react/v2/24/regular/Flame.d.ts.map +1 -1
- package/react/v2/24/regular/FlipHorizontal.d.ts.map +1 -1
- package/react/v2/24/regular/FlipVertical.d.ts.map +1 -1
- package/react/v2/24/regular/Folder.d.ts.map +1 -1
- package/react/v2/24/regular/FolderAdd.d.ts.map +1 -1
- package/react/v2/24/regular/FolderOpen.d.ts.map +1 -1
- package/react/v2/24/regular/FontSize.d.ts.map +1 -1
- package/react/v2/24/regular/Fov.d.ts.map +1 -1
- package/react/v2/24/regular/Frame.d.ts.map +1 -1
- package/react/v2/24/regular/Funnel.d.ts.map +1 -1
- package/react/v2/24/regular/Gift.d.ts.map +1 -1
- package/react/v2/24/regular/Glow.d.ts.map +1 -1
- package/react/v2/24/regular/Gradient.d.ts.map +1 -1
- package/react/v2/24/regular/Gridview.d.ts.map +1 -1
- package/react/v2/24/regular/Group.d.ts.map +1 -1
- package/react/v2/24/regular/Hair.d.ts.map +1 -1
- package/react/v2/24/regular/HashTag.d.ts.map +1 -1
- package/react/v2/24/regular/Heart.d.ts.map +1 -1
- package/react/v2/24/regular/History.d.ts.map +1 -1
- package/react/v2/24/regular/Home.d.ts.map +1 -1
- package/react/v2/24/regular/Image.d.ts.map +1 -1
- package/react/v2/24/regular/ImageAdd.d.ts.map +1 -1
- package/react/v2/24/regular/ImageContain.d.ts.map +1 -1
- package/react/v2/24/regular/ImageCover.d.ts.map +1 -1
- package/react/v2/24/regular/ImageEffect.d.ts.map +1 -1
- package/react/v2/24/regular/ImageOff.d.ts.map +1 -1
- package/react/v2/24/regular/ImageReplace.d.ts.map +1 -1
- package/react/v2/24/regular/Images.d.ts.map +1 -1
- package/react/v2/24/regular/InfoCircle.d.ts.map +1 -1
- package/react/v2/24/regular/InvertSelection.d.ts.map +1 -1
- package/react/v2/24/regular/Invoice.d.ts.map +1 -1
- package/react/v2/24/regular/Italic.d.ts.map +1 -1
- package/react/v2/24/regular/Keyboard.d.ts.map +1 -1
- package/react/v2/24/regular/Lasso.d.ts.map +1 -1
- package/react/v2/24/regular/LassoFill.d.ts.map +1 -1
- package/react/v2/24/regular/Layer.d.ts.map +1 -1
- package/react/v2/24/regular/LayerAdd.d.ts.map +1 -1
- package/react/v2/24/regular/LayerImageMaterial.d.ts.map +1 -1
- package/react/v2/24/regular/LayerMask.d.ts.map +1 -1
- package/react/v2/24/regular/LayerMerge.d.ts.map +1 -1
- package/react/v2/24/regular/LayerOpacity.d.ts.map +1 -1
- package/react/v2/24/regular/LayerSetReference.d.ts.map +1 -1
- package/react/v2/24/regular/LayerSetting.d.ts.map +1 -1
- package/react/v2/24/regular/LayerText.d.ts.map +1 -1
- package/react/v2/24/regular/LayerVector.d.ts.map +1 -1
- package/react/v2/24/regular/Layout.d.ts.map +1 -1
- package/react/v2/24/regular/LetterSpacing.d.ts.map +1 -1
- package/react/v2/24/regular/Line.d.ts.map +1 -1
- package/react/v2/24/regular/LineNodes.d.ts.map +1 -1
- package/react/v2/24/regular/LineSpacing.d.ts.map +1 -1
- package/react/v2/24/regular/Link.d.ts.map +1 -1
- package/react/v2/24/regular/LinkClear.d.ts.map +1 -1
- package/react/v2/24/regular/List.d.ts.map +1 -1
- package/react/v2/24/regular/Location.d.ts.map +1 -1
- package/react/v2/24/regular/Lock.d.ts.map +1 -1
- package/react/v2/24/regular/Logout.d.ts.map +1 -1
- package/react/v2/24/regular/Manga.d.ts.map +1 -1
- package/react/v2/24/regular/Mask.d.ts.map +1 -1
- package/react/v2/24/regular/Mesh.d.ts.map +1 -1
- package/react/v2/24/regular/Message.d.ts.map +1 -1
- package/react/v2/24/regular/Microphone.d.ts.map +1 -1
- package/react/v2/24/regular/Move.d.ts.map +1 -1
- package/react/v2/24/regular/Navigator.d.ts.map +1 -1
- package/react/v2/24/regular/NewPost.d.ts.map +1 -1
- package/react/v2/24/regular/Novel.d.ts.map +1 -1
- package/react/v2/24/regular/Opacity.d.ts.map +1 -1
- package/react/v2/24/regular/OpacityLock.d.ts.map +1 -1
- package/react/v2/24/regular/OpenInNew.d.ts.map +1 -1
- package/react/v2/24/regular/Outline.d.ts.map +1 -1
- package/react/v2/24/regular/Palette.d.ts.map +1 -1
- package/react/v2/24/regular/Paste.d.ts.map +1 -1
- package/react/v2/24/regular/Pause.d.ts.map +1 -1
- package/react/v2/24/regular/Pen.d.ts.map +1 -1
- package/react/v2/24/regular/PenAdd.d.ts.map +1 -1
- package/react/v2/24/regular/PenDraw.d.ts.map +1 -1
- package/react/v2/24/regular/PenText.d.ts.map +1 -1
- package/react/v2/24/regular/PencilText.d.ts.map +1 -1
- package/react/v2/24/regular/PersonAdd.d.ts.map +1 -1
- package/react/v2/24/regular/PersonCircle.d.ts.map +1 -1
- package/react/v2/24/regular/Persons.d.ts.map +1 -1
- package/react/v2/24/regular/Play.d.ts.map +1 -1
- package/react/v2/24/regular/Polygon.d.ts.map +1 -1
- package/react/v2/24/regular/Polyline.d.ts.map +1 -1
- package/react/v2/24/regular/PolylineNodes.d.ts.map +1 -1
- package/react/v2/24/regular/Pose.d.ts.map +1 -1
- package/react/v2/24/regular/Projects.d.ts.map +1 -1
- package/react/v2/24/regular/QuestionBubble.d.ts.map +1 -1
- package/react/v2/24/regular/QuestionCircle.d.ts.map +1 -1
- package/react/v2/24/regular/Rabbit.d.ts.map +1 -1
- package/react/v2/24/regular/RabbitEarBent.d.ts.map +1 -1
- package/react/v2/24/regular/Redo.d.ts.map +1 -1
- package/react/v2/24/regular/Rename.d.ts.map +1 -1
- package/react/v2/24/regular/Resolution.d.ts.map +1 -1
- package/react/v2/24/regular/Rotate.d.ts.map +1 -1
- package/react/v2/24/regular/RotateCcw.d.ts.map +1 -1
- package/react/v2/24/regular/RotateCw.d.ts.map +1 -1
- package/react/v2/24/regular/Ruler.d.ts.map +1 -1
- package/react/v2/24/regular/SansSerif.d.ts.map +1 -1
- package/react/v2/24/regular/Saturation.d.ts.map +1 -1
- package/react/v2/24/regular/Save.d.ts.map +1 -1
- package/react/v2/24/regular/Scatter.d.ts.map +1 -1
- package/react/v2/24/regular/Scissors.d.ts.map +1 -1
- package/react/v2/24/regular/Search.d.ts.map +1 -1
- package/react/v2/24/regular/SelectClear.d.ts.map +1 -1
- package/react/v2/24/regular/SelectImage.d.ts.map +1 -1
- package/react/v2/24/regular/SelectOff.d.ts.map +1 -1
- package/react/v2/24/regular/Selections.d.ts.map +1 -1
- package/react/v2/24/regular/Send.d.ts.map +1 -1
- package/react/v2/24/regular/Setting.d.ts.map +1 -1
- package/react/v2/24/regular/Shape.d.ts.map +1 -1
- package/react/v2/24/regular/ShareAndroid.d.ts.map +1 -1
- package/react/v2/24/regular/ShareIos.d.ts.map +1 -1
- package/react/v2/24/regular/Shopping.d.ts.map +1 -1
- package/react/v2/24/regular/Shrink.d.ts.map +1 -1
- package/react/v2/24/regular/Shutter.d.ts.map +1 -1
- package/react/v2/24/regular/Sliders.d.ts.map +1 -1
- package/react/v2/24/regular/SoftEdge.d.ts.map +1 -1
- package/react/v2/24/regular/Square.d.ts.map +1 -1
- package/react/v2/24/regular/SquareDash.d.ts.map +1 -1
- package/react/v2/24/regular/SquareDashResize.d.ts.map +1 -1
- package/react/v2/24/regular/Squares2X2.d.ts.map +1 -1
- package/react/v2/24/regular/Squares3X3.d.ts.map +1 -1
- package/react/v2/24/regular/Star.d.ts.map +1 -1
- package/react/v2/24/regular/StrikeThrough.d.ts.map +1 -1
- package/react/v2/24/regular/StrokeTaper.d.ts.map +1 -1
- package/react/v2/24/regular/StrokeWidth.d.ts.map +1 -1
- package/react/v2/24/regular/Subtract.d.ts.map +1 -1
- package/react/v2/24/regular/Sun.d.ts.map +1 -1
- package/react/v2/24/regular/Sync.d.ts.map +1 -1
- package/react/v2/24/regular/SyncCircle.d.ts.map +1 -1
- package/react/v2/24/regular/TShirt.d.ts.map +1 -1
- package/react/v2/24/regular/Tap1Finger.d.ts.map +1 -1
- package/react/v2/24/regular/Tap2Fingers.d.ts.map +1 -1
- package/react/v2/24/regular/Tap3Fingers.d.ts.map +1 -1
- package/react/v2/24/regular/Temperature.d.ts.map +1 -1
- package/react/v2/24/regular/Text.d.ts.map +1 -1
- package/react/v2/24/regular/TextAlignCenter.d.ts.map +1 -1
- package/react/v2/24/regular/TextAlignJustify.d.ts.map +1 -1
- package/react/v2/24/regular/TextAlignLeft.d.ts.map +1 -1
- package/react/v2/24/regular/TextAlignRight.d.ts.map +1 -1
- package/react/v2/24/regular/TextRuby.d.ts.map +1 -1
- package/react/v2/24/regular/Texture.d.ts.map +1 -1
- package/react/v2/24/regular/Tools.d.ts.map +1 -1
- package/react/v2/24/regular/Touch.d.ts.map +1 -1
- package/react/v2/24/regular/Transform.d.ts.map +1 -1
- package/react/v2/24/regular/TransformRotationHandle.d.ts.map +1 -1
- package/react/v2/24/regular/Underline.d.ts.map +1 -1
- package/react/v2/24/regular/Undo.d.ts.map +1 -1
- package/react/v2/24/regular/Upload.d.ts.map +1 -1
- package/react/v2/24/regular/UserCampaign.d.ts.map +1 -1
- package/react/v2/24/regular/Video.d.ts.map +1 -1
- package/react/v2/24/regular/VideoCamera.d.ts.map +1 -1
- package/react/v2/24/regular/ViewFit.d.ts.map +1 -1
- package/react/v2/24/regular/ViewFull.d.ts.map +1 -1
- package/react/v2/24/regular/Warn.d.ts.map +1 -1
- package/react/v2/24/regular/WarnTriangle.d.ts.map +1 -1
- package/react/v2/24/regular/X.d.ts.map +1 -1
- package/react/v2/24/regular/XCircle.d.ts.map +1 -1
- package/react/v2/24/regular/XOctagon.d.ts.map +1 -1
- package/react/v2/24/regular/ZoomIn.d.ts.map +1 -1
- package/react/v2/24/regular/ZoomOut.d.ts.map +1 -1
- package/react/v2/24/solid/Add.d.ts.map +1 -1
- package/react/v2/24/solid/AddCircle.d.ts.map +1 -1
- package/react/v2/24/solid/Airbrush.d.ts.map +1 -1
- package/react/v2/24/solid/Album.d.ts.map +1 -1
- package/react/v2/24/solid/AlbumAdd.d.ts.map +1 -1
- package/react/v2/24/solid/Alert.d.ts.map +1 -1
- package/react/v2/24/solid/AlignHorizontal.d.ts.map +1 -1
- package/react/v2/24/solid/AlignVertical.d.ts.map +1 -1
- package/react/v2/24/solid/Angle.d.ts.map +1 -1
- package/react/v2/24/solid/Announce.d.ts.map +1 -1
- package/react/v2/24/solid/ApplePencil.d.ts.map +1 -1
- package/react/v2/24/solid/Ar.d.ts.map +1 -1
- package/react/v2/24/solid/Archive.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowCcw.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowDown.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowDownSquare.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowLeft.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowLeftDown.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowLeftSquare.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowRight.d.ts.map +1 -1
- package/react/v2/24/solid/ArrowUp.d.ts.map +1 -1
- package/react/v2/24/solid/AutoSelect.d.ts.map +1 -1
- package/react/v2/24/solid/Bell.d.ts.map +1 -1
- package/react/v2/24/solid/BezierCurve.d.ts.map +1 -1
- package/react/v2/24/solid/BlendMode.d.ts.map +1 -1
- package/react/v2/24/solid/Body.d.ts.map +1 -1
- package/react/v2/24/solid/BodyAdd.d.ts.map +1 -1
- package/react/v2/24/solid/BodyEdit.d.ts.map +1 -1
- package/react/v2/24/solid/Bold.d.ts.map +1 -1
- package/react/v2/24/solid/Book.d.ts.map +1 -1
- package/react/v2/24/solid/Bookmark.d.ts.map +1 -1
- package/react/v2/24/solid/BringBackward.d.ts.map +1 -1
- package/react/v2/24/solid/BringForward.d.ts.map +1 -1
- package/react/v2/24/solid/Brush.d.ts.map +1 -1
- package/react/v2/24/solid/BrushDecoration.d.ts.map +1 -1
- package/react/v2/24/solid/BrushOpacity.d.ts.map +1 -1
- package/react/v2/24/solid/BrushPress.d.ts.map +1 -1
- package/react/v2/24/solid/BrushSize.d.ts.map +1 -1
- package/react/v2/24/solid/BrushStablize.d.ts.map +1 -1
- package/react/v2/24/solid/Bubble.d.ts.map +1 -1
- package/react/v2/24/solid/BulbShine.d.ts.map +1 -1
- package/react/v2/24/solid/Calendar.d.ts.map +1 -1
- package/react/v2/24/solid/Camera.d.ts.map +1 -1
- package/react/v2/24/solid/CharacterReplace.d.ts.map +1 -1
- package/react/v2/24/solid/Check.d.ts.map +1 -1
- package/react/v2/24/solid/CheckCircle.d.ts.map +1 -1
- package/react/v2/24/solid/ChevronDown.d.ts.map +1 -1
- package/react/v2/24/solid/ChevronLeft.d.ts.map +1 -1
- package/react/v2/24/solid/ChevronRight.d.ts.map +1 -1
- package/react/v2/24/solid/ChevronUp.d.ts.map +1 -1
- package/react/v2/24/solid/Circle.d.ts.map +1 -1
- package/react/v2/24/solid/Click.d.ts.map +1 -1
- package/react/v2/24/solid/Clipping.d.ts.map +1 -1
- package/react/v2/24/solid/Cloud.d.ts.map +1 -1
- package/react/v2/24/solid/CloudCheck.d.ts.map +1 -1
- package/react/v2/24/solid/CloudExclamation.d.ts.map +1 -1
- package/react/v2/24/solid/CloudSync.d.ts.map +1 -1
- package/react/v2/24/solid/Code.d.ts.map +1 -1
- package/react/v2/24/solid/Color.d.ts.map +1 -1
- package/react/v2/24/solid/ColorSets.d.ts.map +1 -1
- package/react/v2/24/solid/ColorWheelRectangle.d.ts.map +1 -1
- package/react/v2/24/solid/ColorWheelTriangle.d.ts.map +1 -1
- package/react/v2/24/solid/CommandsCircle.d.ts.map +1 -1
- package/react/v2/24/solid/Compass.d.ts.map +1 -1
- package/react/v2/24/solid/Contest.d.ts.map +1 -1
- package/react/v2/24/solid/Contrast.d.ts.map +1 -1
- package/react/v2/24/solid/Copy.d.ts.map +1 -1
- package/react/v2/24/solid/Crown.d.ts.map +1 -1
- package/react/v2/24/solid/Curve.d.ts.map +1 -1
- package/react/v2/24/solid/CurveNodes.d.ts.map +1 -1
- package/react/v2/24/solid/Delete.d.ts.map +1 -1
- package/react/v2/24/solid/Device.d.ts.map +1 -1
- package/react/v2/24/solid/DeviceRotate.d.ts.map +1 -1
- package/react/v2/24/solid/Dial.d.ts.map +1 -1
- package/react/v2/24/solid/Distortion.d.ts.map +1 -1
- package/react/v2/24/solid/DotsHorizontal.d.ts.map +1 -1
- package/react/v2/24/solid/DotsHorizontalCircle.d.ts.map +1 -1
- package/react/v2/24/solid/DotsVertical.d.ts.map +1 -1
- package/react/v2/24/solid/DotsVerticalCircle.d.ts.map +1 -1
- package/react/v2/24/solid/Download.d.ts.map +1 -1
- package/react/v2/24/solid/DownloadIos.d.ts.map +1 -1
- package/react/v2/24/solid/Dropper.d.ts.map +1 -1
- package/react/v2/24/solid/Duplicate.d.ts.map +1 -1
- package/react/v2/24/solid/Emoji.d.ts.map +1 -1
- package/react/v2/24/solid/Eraser.d.ts.map +1 -1
- package/react/v2/24/solid/Expand.d.ts.map +1 -1
- package/react/v2/24/solid/Eye.d.ts.map +1 -1
- package/react/v2/24/solid/EyeClosed.d.ts.map +1 -1
- package/react/v2/24/solid/EyeOff.d.ts.map +1 -1
- package/react/v2/24/solid/Face.d.ts.map +1 -1
- package/react/v2/24/solid/Feed.d.ts.map +1 -1
- package/react/v2/24/solid/File.d.ts.map +1 -1
- package/react/v2/24/solid/FileAdd.d.ts.map +1 -1
- package/react/v2/24/solid/FileExport.d.ts.map +1 -1
- package/react/v2/24/solid/FilePng.d.ts.map +1 -1
- package/react/v2/24/solid/FilePsd.d.ts.map +1 -1
- package/react/v2/24/solid/FileRestore.d.ts.map +1 -1
- package/react/v2/24/solid/Fill.d.ts.map +1 -1
- package/react/v2/24/solid/FillSquare.d.ts.map +1 -1
- package/react/v2/24/solid/Flame.d.ts.map +1 -1
- package/react/v2/24/solid/FlipHorizontal.d.ts.map +1 -1
- package/react/v2/24/solid/FlipVertical.d.ts.map +1 -1
- package/react/v2/24/solid/Folder.d.ts.map +1 -1
- package/react/v2/24/solid/FolderAdd.d.ts.map +1 -1
- package/react/v2/24/solid/FolderOpen.d.ts.map +1 -1
- package/react/v2/24/solid/FontSize.d.ts.map +1 -1
- package/react/v2/24/solid/Fov.d.ts.map +1 -1
- package/react/v2/24/solid/Frame.d.ts.map +1 -1
- package/react/v2/24/solid/Funnel.d.ts.map +1 -1
- package/react/v2/24/solid/Gift.d.ts.map +1 -1
- package/react/v2/24/solid/Glow.d.ts.map +1 -1
- package/react/v2/24/solid/Gradient.d.ts.map +1 -1
- package/react/v2/24/solid/Gridview.d.ts.map +1 -1
- package/react/v2/24/solid/Group.d.ts.map +1 -1
- package/react/v2/24/solid/Hair.d.ts.map +1 -1
- package/react/v2/24/solid/HashTag.d.ts.map +1 -1
- package/react/v2/24/solid/Heart.d.ts.map +1 -1
- package/react/v2/24/solid/History.d.ts.map +1 -1
- package/react/v2/24/solid/Home.d.ts.map +1 -1
- package/react/v2/24/solid/Image.d.ts.map +1 -1
- package/react/v2/24/solid/ImageAdd.d.ts.map +1 -1
- package/react/v2/24/solid/ImageContain.d.ts.map +1 -1
- package/react/v2/24/solid/ImageCover.d.ts.map +1 -1
- package/react/v2/24/solid/ImageEffect.d.ts.map +1 -1
- package/react/v2/24/solid/ImageOff.d.ts.map +1 -1
- package/react/v2/24/solid/ImageReplace.d.ts.map +1 -1
- package/react/v2/24/solid/Images.d.ts.map +1 -1
- package/react/v2/24/solid/InfoCircle.d.ts.map +1 -1
- package/react/v2/24/solid/InvertSelection.d.ts.map +1 -1
- package/react/v2/24/solid/Invoice.d.ts.map +1 -1
- package/react/v2/24/solid/Italic.d.ts.map +1 -1
- package/react/v2/24/solid/Keyboard.d.ts.map +1 -1
- package/react/v2/24/solid/Lasso.d.ts.map +1 -1
- package/react/v2/24/solid/LassoFill.d.ts.map +1 -1
- package/react/v2/24/solid/Layer.d.ts.map +1 -1
- package/react/v2/24/solid/LayerAdd.d.ts.map +1 -1
- package/react/v2/24/solid/LayerImageMaterial.d.ts.map +1 -1
- package/react/v2/24/solid/LayerMask.d.ts.map +1 -1
- package/react/v2/24/solid/LayerMerge.d.ts.map +1 -1
- package/react/v2/24/solid/LayerOpacity.d.ts.map +1 -1
- package/react/v2/24/solid/LayerSetReference.d.ts.map +1 -1
- package/react/v2/24/solid/LayerSetting.d.ts.map +1 -1
- package/react/v2/24/solid/LayerText.d.ts.map +1 -1
- package/react/v2/24/solid/LayerVector.d.ts.map +1 -1
- package/react/v2/24/solid/Layout.d.ts.map +1 -1
- package/react/v2/24/solid/LetterSpacing.d.ts.map +1 -1
- package/react/v2/24/solid/Line.d.ts.map +1 -1
- package/react/v2/24/solid/LineNodes.d.ts.map +1 -1
- package/react/v2/24/solid/LineSpacing.d.ts.map +1 -1
- package/react/v2/24/solid/Link.d.ts.map +1 -1
- package/react/v2/24/solid/LinkClear.d.ts.map +1 -1
- package/react/v2/24/solid/List.d.ts.map +1 -1
- package/react/v2/24/solid/Location.d.ts.map +1 -1
- package/react/v2/24/solid/Lock.d.ts.map +1 -1
- package/react/v2/24/solid/Logout.d.ts.map +1 -1
- package/react/v2/24/solid/Manga.d.ts.map +1 -1
- package/react/v2/24/solid/Mask.d.ts.map +1 -1
- package/react/v2/24/solid/Mesh.d.ts.map +1 -1
- package/react/v2/24/solid/Message.d.ts.map +1 -1
- package/react/v2/24/solid/Microphone.d.ts.map +1 -1
- package/react/v2/24/solid/Move.d.ts.map +1 -1
- package/react/v2/24/solid/Navigator.d.ts.map +1 -1
- package/react/v2/24/solid/NewPost.d.ts.map +1 -1
- package/react/v2/24/solid/Novel.d.ts.map +1 -1
- package/react/v2/24/solid/Opacity.d.ts.map +1 -1
- package/react/v2/24/solid/OpacityLock.d.ts.map +1 -1
- package/react/v2/24/solid/OpenInNew.d.ts.map +1 -1
- package/react/v2/24/solid/Outline.d.ts.map +1 -1
- package/react/v2/24/solid/Palette.d.ts.map +1 -1
- package/react/v2/24/solid/Paste.d.ts.map +1 -1
- package/react/v2/24/solid/Pause.d.ts.map +1 -1
- package/react/v2/24/solid/Pen.d.ts.map +1 -1
- package/react/v2/24/solid/PenAdd.d.ts.map +1 -1
- package/react/v2/24/solid/PenDraw.d.ts.map +1 -1
- package/react/v2/24/solid/PenText.d.ts.map +1 -1
- package/react/v2/24/solid/PencilText.d.ts.map +1 -1
- package/react/v2/24/solid/PersonAdd.d.ts.map +1 -1
- package/react/v2/24/solid/PersonCircle.d.ts.map +1 -1
- package/react/v2/24/solid/Persons.d.ts.map +1 -1
- package/react/v2/24/solid/Play.d.ts.map +1 -1
- package/react/v2/24/solid/Polygon.d.ts.map +1 -1
- package/react/v2/24/solid/Polyline.d.ts.map +1 -1
- package/react/v2/24/solid/PolylineNodes.d.ts.map +1 -1
- package/react/v2/24/solid/Pose.d.ts.map +1 -1
- package/react/v2/24/solid/Projects.d.ts.map +1 -1
- package/react/v2/24/solid/QuestionBubble.d.ts.map +1 -1
- package/react/v2/24/solid/QuestionCircle.d.ts.map +1 -1
- package/react/v2/24/solid/Rabbit.d.ts.map +1 -1
- package/react/v2/24/solid/RabbitEarBent.d.ts.map +1 -1
- package/react/v2/24/solid/Redo.d.ts.map +1 -1
- package/react/v2/24/solid/Rename.d.ts.map +1 -1
- package/react/v2/24/solid/Resolution.d.ts.map +1 -1
- package/react/v2/24/solid/Rotate.d.ts.map +1 -1
- package/react/v2/24/solid/RotateCcw.d.ts.map +1 -1
- package/react/v2/24/solid/RotateCw.d.ts.map +1 -1
- package/react/v2/24/solid/Ruler.d.ts.map +1 -1
- package/react/v2/24/solid/SansSerif.d.ts.map +1 -1
- package/react/v2/24/solid/Saturation.d.ts.map +1 -1
- package/react/v2/24/solid/Save.d.ts.map +1 -1
- package/react/v2/24/solid/Scatter.d.ts.map +1 -1
- package/react/v2/24/solid/Scissors.d.ts.map +1 -1
- package/react/v2/24/solid/Search.d.ts.map +1 -1
- package/react/v2/24/solid/SelectClear.d.ts.map +1 -1
- package/react/v2/24/solid/SelectImage.d.ts.map +1 -1
- package/react/v2/24/solid/SelectOff.d.ts.map +1 -1
- package/react/v2/24/solid/Selections.d.ts.map +1 -1
- package/react/v2/24/solid/Send.d.ts.map +1 -1
- package/react/v2/24/solid/Setting.d.ts.map +1 -1
- package/react/v2/24/solid/Shape.d.ts.map +1 -1
- package/react/v2/24/solid/ShareAndroid.d.ts.map +1 -1
- package/react/v2/24/solid/ShareIos.d.ts.map +1 -1
- package/react/v2/24/solid/Shopping.d.ts.map +1 -1
- package/react/v2/24/solid/Shrink.d.ts.map +1 -1
- package/react/v2/24/solid/Shutter.d.ts.map +1 -1
- package/react/v2/24/solid/Sliders.d.ts.map +1 -1
- package/react/v2/24/solid/SoftEdge.d.ts.map +1 -1
- package/react/v2/24/solid/Square.d.ts.map +1 -1
- package/react/v2/24/solid/SquareDash.d.ts.map +1 -1
- package/react/v2/24/solid/SquareDashResize.d.ts.map +1 -1
- package/react/v2/24/solid/Squares2X2.d.ts.map +1 -1
- package/react/v2/24/solid/Squares3X3.d.ts.map +1 -1
- package/react/v2/24/solid/Star.d.ts.map +1 -1
- package/react/v2/24/solid/StrikeThrough.d.ts.map +1 -1
- package/react/v2/24/solid/StrokeTaper.d.ts.map +1 -1
- package/react/v2/24/solid/StrokeWidth.d.ts.map +1 -1
- package/react/v2/24/solid/Subtract.d.ts.map +1 -1
- package/react/v2/24/solid/Sun.d.ts.map +1 -1
- package/react/v2/24/solid/Sync.d.ts.map +1 -1
- package/react/v2/24/solid/SyncCircle.d.ts.map +1 -1
- package/react/v2/24/solid/TShirt.d.ts.map +1 -1
- package/react/v2/24/solid/Tap1Finger.d.ts.map +1 -1
- package/react/v2/24/solid/Tap2Fingers.d.ts.map +1 -1
- package/react/v2/24/solid/Tap3Fingers.d.ts.map +1 -1
- package/react/v2/24/solid/Temperature.d.ts.map +1 -1
- package/react/v2/24/solid/Text.d.ts.map +1 -1
- package/react/v2/24/solid/TextAlignCenter.d.ts.map +1 -1
- package/react/v2/24/solid/TextAlignJustify.d.ts.map +1 -1
- package/react/v2/24/solid/TextAlignLeft.d.ts.map +1 -1
- package/react/v2/24/solid/TextAlignRight.d.ts.map +1 -1
- package/react/v2/24/solid/TextRuby.d.ts.map +1 -1
- package/react/v2/24/solid/Texture.d.ts.map +1 -1
- package/react/v2/24/solid/Tools.d.ts.map +1 -1
- package/react/v2/24/solid/Touch.d.ts.map +1 -1
- package/react/v2/24/solid/Transform.d.ts.map +1 -1
- package/react/v2/24/solid/TransformRotationHandle.d.ts.map +1 -1
- package/react/v2/24/solid/Underline.d.ts.map +1 -1
- package/react/v2/24/solid/Undo.d.ts.map +1 -1
- package/react/v2/24/solid/Upload.d.ts.map +1 -1
- package/react/v2/24/solid/UserCampaign.d.ts.map +1 -1
- package/react/v2/24/solid/Video.d.ts.map +1 -1
- package/react/v2/24/solid/VideoCamera.d.ts.map +1 -1
- package/react/v2/24/solid/ViewFit.d.ts.map +1 -1
- package/react/v2/24/solid/ViewFull.d.ts.map +1 -1
- package/react/v2/24/solid/Warn.d.ts.map +1 -1
- package/react/v2/24/solid/WarnTriangle.d.ts.map +1 -1
- package/react/v2/24/solid/X.d.ts.map +1 -1
- package/react/v2/24/solid/XCircle.d.ts.map +1 -1
- package/react/v2/24/solid/XOctagon.d.ts.map +1 -1
- package/react/v2/24/solid/ZoomIn.d.ts.map +1 -1
- package/react/v2/24/solid/ZoomOut.d.ts.map +1 -1
- package/src/PixivIcon.story.tsx +0 -2
- package/src/PixivIcon.ts +4 -5
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["charcoalIconFiles","charcoalIconFiles"],"sources":["../src/charcoalIconFiles.ts","../src/loaders/PixivIconLoadError.ts","../src/loaders/CharcoalIconFilesLoader.ts","../src/loaders/CustomRawFileLoader.ts","../src/loaders/CustomIconLoader.ts","../src/loaders/index.ts","../src/ssr.ts","../src/calcActualSize.ts","../src/PixivIcon.ts","../src/index.ts"],"sourcesContent":["import charcoalIconFiles from '@charcoal-ui/icon-files'\nimport type charcoalIconFilesV2 from '@charcoal-ui/icon-files/v2'\n\nexport default charcoalIconFiles\nexport type KnownIconFile = keyof typeof charcoalIconFiles\nexport type KnownIconFileV2 = keyof typeof charcoalIconFilesV2\nexport const KNOWN_ICON_FILES = Object.keys(\n charcoalIconFiles,\n) as KnownIconFile[]\n\nexport function isKnownIconFile(name: string): name is KnownIconFile {\n return name in charcoalIconFiles\n}\n","export class PixivIconLoadError extends Error {\n constructor(name: string, cause: unknown) {\n const message = formatMessage(name, cause)\n\n super(message, { cause })\n this.name = 'PixivIconLoadError'\n Object.setPrototypeOf(this, new.target.prototype)\n }\n}\n\nfunction formatMessage(name: string, cause: unknown) {\n const message = `Failed to fetch <pixiv-icon name=\"${name}\">`\n if (cause == null) {\n return message\n }\n\n if (cause instanceof Error) {\n return `${message}: ${cause.toString()})`\n }\n\n return `${message}: ${JSON.stringify(cause)})`\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\nimport charcoalIconFiles, { KnownIconFile } from '../charcoalIconFiles'\n\n/**\n * `@charcoal-ui/icon-files` に収録されているアイコンを取ってくる\n */\nexport class CharcoalIconFilesLoader implements Loadable {\n protected _name: KnownIconFile\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: KnownIconFile) {\n this._name = name\n }\n\n get importIconFile(): () => Promise<string> {\n return charcoalIconFiles[this._name]\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = this.importIconFile()\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { KnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\n\nexport class CustomRawFileLoader extends CharcoalIconFilesLoader {\n /**\n * icons-filesと同じ型のアイコンをしまっとくところ\n */\n static filePackages: Map<string, () => Promise<string>> = new Map()\n\n get importIconFile(): () => Promise<string> {\n const icon = CustomRawFileLoader.filePackages.get(this._name)\n if (icon !== undefined) return icon\n\n throw new Error('Custom icon file was not found')\n }\n}\n\nexport function addRawFile(\n name: string,\n importFn: () => Promise<string>,\n): void {\n CustomRawFileLoader.filePackages.set(name, importFn)\n}\n\n/**\n * 登録されているfile packagesにiconがあればtrue\n */\nexport function isKnownRawIconFile(name: string): name is KnownIconFile {\n return CustomRawFileLoader.filePackages.has(name)\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\n\n/**\n * `PixivIcon.extend()` で登録されたカスタムのアイコンを取得する\n */\nexport class CustomIconLoader implements Loadable {\n private _name: string\n private _filePathOrUrl: string\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: string, filePathOrUrl: string) {\n this._name = name\n this._filePathOrUrl = filePathOrUrl\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = fetch(this._filePathOrUrl)\n .then((response) => {\n if (!response.ok) {\n throw new PixivIconLoadError(this._name, 'Response is not ok')\n }\n\n return response.text()\n })\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { isKnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\nimport { CustomRawFileLoader, isKnownRawIconFile } from './CustomRawFileLoader'\nimport { CustomIconLoader } from './CustomIconLoader'\nimport { Loadable } from './Loadable'\nimport { PixivIconLoadError } from './PixivIconLoadError'\n\n/**\n * icon をロードするオブジェクトのプール。Loader のインスタンスは作り次第ここに入れる\n *\n * 同じアイコンへの複数回のリクエストが起きないためには、Loader がこの中でユニークでないと行けない\n */\nconst loaders = new Map<string, Loadable>()\n\nexport function addCustomIcon(name: string, filePathOrUrl: string): void {\n loaders.set(name, new CustomIconLoader(name, filePathOrUrl))\n}\n\nexport async function getIcon(name: string): Promise<string> {\n const loader = resolveIconLoader(name)\n if (loader == null) {\n throw new PixivIconLoadError(name, 'Loader was not found')\n }\n\n try {\n const svg = await loader.fetch()\n if (typeof svg !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(\n `${name}: Expected load result to be a string, but received an unexpected type.`,\n )\n }\n\n return svg\n } catch (e) {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(name, e)\n }\n}\n\nfunction resolveIconLoader(name: string) {\n // 登録済み or キャッシュ済みの場合\n // addCustomIcon で登録された CustomIconLoader は常にこっちを通る\n const registeredLoader = loaders.get(name)\n if (registeredLoader) {\n return registeredLoader\n }\n\n // addRawFile で登録されたもの\n if (isKnownRawIconFile(name)) {\n const customFilePackageLoader = new CustomRawFileLoader(name)\n loaders.set(name, customFilePackageLoader)\n return customFilePackageLoader\n }\n\n if (isKnownIconFile(name)) {\n // `@charcoal-ui/icon-files` に収録されているアイコンにはこれを返す\n const charcoalIconFilesLoader = new CharcoalIconFilesLoader(name)\n loaders.set(name, charcoalIconFilesLoader)\n return charcoalIconFilesLoader\n }\n\n // 存在しないアイコンにはこれを返す\n return null\n}\n","export const __SERVER__: boolean = typeof window === 'undefined'\n\nconst CAN_USE_DOM = typeof HTMLElement !== 'undefined'\n\n// Workaround: `extends HTMLElement` の形式でないとbabelのトランスパイルがおかしくなる\nif (__SERVER__ || !CAN_USE_DOM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis.HTMLElement = class {} as any\n}\n","export type IconSizing =\n | {\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale: number\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize: number\n }\n\nconst isPositiveFinite = (value: unknown): value is number =>\n typeof value === 'number' && Number.isFinite(value) && value > 0\n\nconst parseIconName = (name: string): { size: string; baseSize: number } => {\n if (!name.includes('/')) {\n throw new TypeError(\n `\"${name}\" is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n const [size] = name.split('/')\n\n if (size === 'Inline') {\n return { size, baseSize: 16 }\n }\n\n const baseSize = parseInt(size, 10)\n if (Number.isNaN(baseSize) || baseSize <= 0) {\n throw new TypeError(\n `\"${name}\" has invalid size prefix \"${size}\". Must be \"Inline\" or a positive number.`,\n )\n }\n\n return { size, baseSize }\n}\n\nfunction inlineSize(scale: number): number {\n switch (scale) {\n case 2:\n return 32\n default:\n return 16\n }\n}\n\nfunction guidelineSize24(scale: number): number {\n return 24 * scale\n}\n\n// fixedSize > unsafeNonGuidelineScale > scale の優先順位で生のサイズを算出する。\n// 戻り値の最終 validation は呼び出し元 (calcActualSize) で行う。\nconst resolveSize = ({\n name,\n scale,\n unsafeNonGuidelineScale,\n fixedSize,\n}: { name: string } & IconSizing): number => {\n // fixedSize (px 直接指定) が最優先\n if (isPositiveFinite(fixedSize)) {\n return fixedSize\n }\n if (fixedSize !== undefined) {\n throw new TypeError(\n `fixedSize must be a positive finite number, got ${fixedSize}`,\n )\n }\n\n const { size, baseSize } = parseIconName(name)\n\n // unsafeNonGuidelineScale (deprecated) が次に優先\n if (isPositiveFinite(unsafeNonGuidelineScale)) {\n return baseSize * unsafeNonGuidelineScale\n }\n if (unsafeNonGuidelineScale !== undefined) {\n throw new TypeError(\n `unsafeNonGuidelineScale must be a positive finite number, got ${unsafeNonGuidelineScale}`,\n )\n }\n\n // ガイドライン scale\n const numericScale = parseInt(`${scale ?? '1'}`, 10)\n switch (size) {\n case 'Inline':\n return inlineSize(numericScale)\n case '24':\n return guidelineSize24(numericScale)\n default:\n return baseSize\n }\n}\n\nexport const calcActualSize = (\n params: { name: string } & IconSizing,\n): number => {\n const actualSize = resolveSize(params)\n\n // 全 return パスの結果が正の有限数であることを Single Source of Truth として保証する\n if (!isPositiveFinite(actualSize)) {\n throw new TypeError(\n `icon size must be a positive finite number, got ${actualSize}`,\n )\n }\n\n return actualSize\n}\n","import type React from 'react'\nimport { KnownIconFile } from './charcoalIconFiles'\nimport { getIcon, addCustomIcon } from './loaders'\nimport { addRawFile } from './loaders/CustomRawFileLoader'\nimport { __SERVER__ } from './ssr'\nimport { calcActualSize } from './calcActualSize'\n\nconst attributes = [\n 'name',\n 'scale',\n 'unsafe-non-guideline-scale',\n 'fixed-size',\n] as const\n\nconst ROOT_MARGIN = 50\n\nexport interface KnownIconType extends Record<KnownIconFile, unknown> {}\n\nexport interface Props\n extends Omit<\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n 'className' | 'css'\n > {\n name: keyof KnownIconType\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /**\n * @deprecated `fixed-size` を利用してください。\n * `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。\n */\n 'unsafe-non-guideline-scale'?: number | string\n /**\n * 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、\n * 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。\n *\n * Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、\n * 同じ値を `style=\"--charcoal-icon-size: Npx\"` としてインラインに指定してください。\n * React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。\n */\n 'fixed-size'?: number | string\n\n // CustomElements は className が使えない。class と書く必要がある\n // https://ja.reactjs.org/docs/web-components.html#using-web-components-in-react\n class?: string\n}\n\ntype ExtendedIconFile = Exclude<keyof KnownIconType, KnownIconFile>\ntype Extended = [ExtendedIconFile] extends [never] // NOTE: ExtendedIconFileがneverならKnownIconTypeは拡張されていない\n ? false\n : true\n\nexport class PixivIcon extends HTMLElement {\n static readonly tagName = 'pixiv-icon'\n\n /**\n * NOTE: icon content should be sanitized before pass to extend()\n *\n * XSSに注意すること。\n * 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。\n * 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。\n */\n static extend(\n map: Extended extends true\n ? Record<ExtendedIconFile, string | (() => Promise<string>)>\n : Record<string, string | (() => Promise<string>)>,\n ): void {\n if (__SERVER__) {\n return\n }\n\n Object.entries(map).forEach(([name, filePathOrUrlOrImportFn]) => {\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n if (typeof filePathOrUrlOrImportFn === 'string') {\n addCustomIcon(name, filePathOrUrlOrImportFn)\n }\n\n if (typeof filePathOrUrlOrImportFn === 'function') {\n addRawFile(name, filePathOrUrlOrImportFn)\n }\n })\n }\n\n static get observedAttributes(): typeof attributes {\n return attributes\n }\n\n private svgContent?: string\n private observer?: IntersectionObserver\n private isVisible = false\n\n get props(): {\n name: string\n scale: string | null\n 'unsafe-non-guideline-scale': string | null\n 'fixed-size': string | null\n } {\n const partial = Object.fromEntries(\n attributes.map((attribute) => [attribute, this.getAttribute(attribute)]),\n ) as Record<(typeof attributes)[number], string | null>\n\n const name = partial.name\n\n if (name === null) {\n throw new TypeError('property \"name\" is required.')\n }\n\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n return {\n ...partial,\n name,\n }\n }\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n async connectedCallback(): Promise<void> {\n this.render()\n await this.waitUntilVisible()\n this.isVisible = true\n await this.loadSvg(this.props.name)\n }\n\n disconnectedCallback(): void {\n this.observer?.disconnect()\n this.observer = undefined\n this.isVisible = false\n }\n\n attributeChangedCallback(\n attr: string,\n _oldValue: string | null,\n newValue: string,\n ): void {\n // 非表示の場合はロードしない\n if (!this.isVisible) {\n return\n }\n\n // name が変更された場合必ず再読み込みを試みる\n if (attr === 'name') {\n void this.loadSvg(newValue)\n return\n }\n\n // SVG が読み込み済み && scale などの変更だけならそこだけ反映すればいい\n if (this.svgContent !== undefined) {\n this.render()\n return\n }\n\n // まだ SVG が読み込めてないなら load\n void this.loadSvg(this.props.name)\n }\n\n render(): void {\n const { name, scale, ...rest } = this.props\n const unsafeNonGuidelineScale = rest['unsafe-non-guideline-scale']\n const fixedSize = rest['fixed-size']\n\n const size = calcActualSize({\n name,\n ...(fixedSize !== null\n ? { fixedSize: parseFloat(fixedSize) }\n : unsafeNonGuidelineScale !== null\n ? { unsafeNonGuidelineScale: parseFloat(unsafeNonGuidelineScale) }\n : { scale: scale ?? undefined }),\n } as Parameters<typeof calcActualSize>[0])\n\n // icon.css の pixiv-icon:not(:defined) ルールと同じ CSS variable に\n // 計算結果を流し込むことで、hydrate 前後で width / height が揺れないようにする\n this.style.setProperty('--charcoal-icon-size', `${size}px`)\n\n const style = `<style>\n :host {\n display: inline-flex;\n }\n\n svg {\n width: var(--charcoal-icon-size);\n height: var(--charcoal-icon-size);\n }\n</style>`\n\n const svg =\n this.svgContent !== undefined\n ? this.svgContent\n : `<svg viewBox=\"0 0 ${size} ${size}\"></svg>`\n\n // NOTE: User should sanitize the svg content before passing to charcoal.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.shadowRoot!.innerHTML = style + svg\n }\n\n private async loadSvg(name: string) {\n this.svgContent = await getIcon(name)\n this.render()\n }\n\n private waitUntilVisible() {\n return new Promise<void>((resolve) => {\n this.observer = new IntersectionObserver(\n (entries) => {\n // In Chromium based browsers, multiple entries can be returned even only observe once.\n // Here, we don't care about the entry time but only if isIntersecting happened.\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n if (isIntersecting) {\n this.observer?.disconnect()\n this.observer = undefined\n resolve()\n }\n },\n { rootMargin: `${ROOT_MARGIN}px` },\n )\n\n this.observer.observe(this)\n })\n }\n}\n","import { PixivIcon } from './PixivIcon'\nimport { __SERVER__ } from './ssr'\nexport { PixivIcon, type KnownIconType, type Props } from './PixivIcon'\nexport { calcActualSize, type IconSizing } from './calcActualSize'\nexport { KNOWN_ICON_FILES } from './charcoalIconFiles'\nexport { PixivIconLoadError } from './loaders/PixivIconLoadError'\n\ndeclare global {\n interface Window {\n PixivIcon: typeof PixivIcon\n }\n}\n\ndeclare module 'react' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n interface IntrinsicElements {\n 'pixiv-icon': import('./PixivIcon').Props\n }\n }\n}\n\nif (!__SERVER__) {\n // TODO: HMR対応\n if (!window.customElements.get(PixivIcon.tagName)) {\n window.PixivIcon = PixivIcon\n window.customElements.define(PixivIcon.tagName, PixivIcon)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["charcoalIconFiles","charcoalIconFiles"],"sources":["../src/charcoalIconFiles.ts","../src/loaders/PixivIconLoadError.ts","../src/loaders/CharcoalIconFilesLoader.ts","../src/loaders/CustomRawFileLoader.ts","../src/loaders/CustomIconLoader.ts","../src/loaders/index.ts","../src/ssr.ts","../src/calcActualSize.ts","../src/PixivIcon.ts","../src/index.ts"],"sourcesContent":["import charcoalIconFiles from '@charcoal-ui/icon-files'\nimport type charcoalIconFilesV2 from '@charcoal-ui/icon-files/v2'\n\nexport default charcoalIconFiles\nexport type KnownIconFile = keyof typeof charcoalIconFiles\nexport type KnownIconFileV2 = keyof typeof charcoalIconFilesV2\nexport const KNOWN_ICON_FILES = Object.keys(\n charcoalIconFiles,\n) as KnownIconFile[]\n\nexport function isKnownIconFile(name: string): name is KnownIconFile {\n return name in charcoalIconFiles\n}\n","export class PixivIconLoadError extends Error {\n constructor(name: string, cause: unknown) {\n const message = formatMessage(name, cause)\n\n super(message, { cause })\n this.name = 'PixivIconLoadError'\n Object.setPrototypeOf(this, new.target.prototype)\n }\n}\n\nfunction formatMessage(name: string, cause: unknown) {\n const message = `Failed to fetch <pixiv-icon name=\"${name}\">`\n if (cause == null) {\n return message\n }\n\n if (cause instanceof Error) {\n return `${message}: ${cause.toString()})`\n }\n\n return `${message}: ${JSON.stringify(cause)})`\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\nimport charcoalIconFiles, { KnownIconFile } from '../charcoalIconFiles'\n\n/**\n * `@charcoal-ui/icon-files` に収録されているアイコンを取ってくる\n */\nexport class CharcoalIconFilesLoader implements Loadable {\n protected _name: KnownIconFile\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: KnownIconFile) {\n this._name = name\n }\n\n get importIconFile(): () => Promise<string> {\n return charcoalIconFiles[this._name]\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = this.importIconFile()\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { KnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\n\nexport class CustomRawFileLoader extends CharcoalIconFilesLoader {\n /**\n * icons-filesと同じ型のアイコンをしまっとくところ\n */\n static filePackages: Map<string, () => Promise<string>> = new Map()\n\n get importIconFile(): () => Promise<string> {\n const icon = CustomRawFileLoader.filePackages.get(this._name)\n if (icon !== undefined) return icon\n\n throw new Error('Custom icon file was not found')\n }\n}\n\nexport function addRawFile(\n name: string,\n importFn: () => Promise<string>,\n): void {\n CustomRawFileLoader.filePackages.set(name, importFn)\n}\n\n/**\n * 登録されているfile packagesにiconがあればtrue\n */\nexport function isKnownRawIconFile(name: string): name is KnownIconFile {\n return CustomRawFileLoader.filePackages.has(name)\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\n\n/**\n * `PixivIcon.extend()` で登録されたカスタムのアイコンを取得する\n */\nexport class CustomIconLoader implements Loadable {\n private _name: string\n private _filePathOrUrl: string\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: string, filePathOrUrl: string) {\n this._name = name\n this._filePathOrUrl = filePathOrUrl\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = fetch(this._filePathOrUrl)\n .then((response) => {\n if (!response.ok) {\n throw new PixivIconLoadError(this._name, 'Response is not ok')\n }\n\n return response.text()\n })\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { isKnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\nimport { CustomRawFileLoader, isKnownRawIconFile } from './CustomRawFileLoader'\nimport { CustomIconLoader } from './CustomIconLoader'\nimport { Loadable } from './Loadable'\nimport { PixivIconLoadError } from './PixivIconLoadError'\n\n/**\n * icon をロードするオブジェクトのプール。Loader のインスタンスは作り次第ここに入れる\n *\n * 同じアイコンへの複数回のリクエストが起きないためには、Loader がこの中でユニークでないと行けない\n */\nconst loaders = new Map<string, Loadable>()\n\nexport function addCustomIcon(name: string, filePathOrUrl: string): void {\n loaders.set(name, new CustomIconLoader(name, filePathOrUrl))\n}\n\nexport async function getIcon(name: string): Promise<string> {\n const loader = resolveIconLoader(name)\n if (loader == null) {\n throw new PixivIconLoadError(name, 'Loader was not found')\n }\n\n try {\n const svg = await loader.fetch()\n if (typeof svg !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(\n `${name}: Expected load result to be a string, but received an unexpected type.`,\n )\n }\n\n return svg\n } catch (e) {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(name, e)\n }\n}\n\nfunction resolveIconLoader(name: string) {\n // 登録済み or キャッシュ済みの場合\n // addCustomIcon で登録された CustomIconLoader は常にこっちを通る\n const registeredLoader = loaders.get(name)\n if (registeredLoader) {\n return registeredLoader\n }\n\n // addRawFile で登録されたもの\n if (isKnownRawIconFile(name)) {\n const customFilePackageLoader = new CustomRawFileLoader(name)\n loaders.set(name, customFilePackageLoader)\n return customFilePackageLoader\n }\n\n if (isKnownIconFile(name)) {\n // `@charcoal-ui/icon-files` に収録されているアイコンにはこれを返す\n const charcoalIconFilesLoader = new CharcoalIconFilesLoader(name)\n loaders.set(name, charcoalIconFilesLoader)\n return charcoalIconFilesLoader\n }\n\n // 存在しないアイコンにはこれを返す\n return null\n}\n","export const __SERVER__: boolean = typeof window === 'undefined'\n\nconst CAN_USE_DOM = typeof HTMLElement !== 'undefined'\n\n// Workaround: `extends HTMLElement` の形式でないとbabelのトランスパイルがおかしくなる\nif (__SERVER__ || !CAN_USE_DOM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis.HTMLElement = class {} as any\n}\n","export type IconSizing =\n | {\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale: number\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize: number\n }\n\nconst isPositiveFinite = (value: unknown): value is number =>\n typeof value === 'number' && Number.isFinite(value) && value > 0\n\nconst parseIconName = (name: string): { size: string; baseSize: number } => {\n if (!name.includes('/')) {\n throw new TypeError(\n `\"${name}\" is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n const [size] = name.split('/')\n\n if (size === 'Inline') {\n return { size, baseSize: 16 }\n }\n\n const baseSize = parseInt(size, 10)\n if (Number.isNaN(baseSize) || baseSize <= 0) {\n throw new TypeError(\n `\"${name}\" has invalid size prefix \"${size}\". Must be \"Inline\" or a positive number.`,\n )\n }\n\n return { size, baseSize }\n}\n\nfunction inlineSize(scale: number): number {\n switch (scale) {\n case 2:\n return 32\n default:\n return 16\n }\n}\n\nfunction guidelineSize24(scale: number): number {\n return 24 * scale\n}\n\n// fixedSize > unsafeNonGuidelineScale > scale の優先順位で生のサイズを算出する。\n// 戻り値の最終 validation は呼び出し元 (calcActualSize) で行う。\nconst resolveSize = ({\n name,\n scale,\n unsafeNonGuidelineScale,\n fixedSize,\n}: { name: string } & IconSizing): number => {\n // fixedSize (px 直接指定) が最優先\n if (isPositiveFinite(fixedSize)) {\n return fixedSize\n }\n if (fixedSize !== undefined) {\n throw new TypeError(\n `fixedSize must be a positive finite number, got ${fixedSize}`,\n )\n }\n\n const { size, baseSize } = parseIconName(name)\n\n // unsafeNonGuidelineScale (deprecated) が次に優先\n if (isPositiveFinite(unsafeNonGuidelineScale)) {\n return baseSize * unsafeNonGuidelineScale\n }\n if (unsafeNonGuidelineScale !== undefined) {\n throw new TypeError(\n `unsafeNonGuidelineScale must be a positive finite number, got ${unsafeNonGuidelineScale}`,\n )\n }\n\n // ガイドライン scale\n const numericScale = parseInt(`${scale ?? '1'}`, 10)\n switch (size) {\n case 'Inline':\n return inlineSize(numericScale)\n case '24':\n return guidelineSize24(numericScale)\n default:\n return baseSize\n }\n}\n\nexport const calcActualSize = (\n params: { name: string } & IconSizing,\n): number => {\n const actualSize = resolveSize(params)\n\n // 全 return パスの結果が正の有限数であることを Single Source of Truth として保証する\n if (!isPositiveFinite(actualSize)) {\n throw new TypeError(\n `icon size must be a positive finite number, got ${actualSize}`,\n )\n }\n\n return actualSize\n}\n","import type React from 'react'\nimport { KnownIconFile } from './charcoalIconFiles'\nimport { getIcon, addCustomIcon } from './loaders'\nimport { addRawFile } from './loaders/CustomRawFileLoader'\nimport { __SERVER__ } from './ssr'\nimport { calcActualSize } from './calcActualSize'\n\nconst attributes = [\n 'name',\n 'scale',\n 'unsafe-non-guideline-scale',\n 'fixed-size',\n] as const\n\nconst ROOT_MARGIN = 50\n\nexport interface KnownIconType extends Record<KnownIconFile, unknown> {}\n\nexport interface Props extends Omit<\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n 'className' | 'css'\n> {\n name: keyof KnownIconType\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /**\n * @deprecated `fixed-size` を利用してください。\n * `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。\n */\n 'unsafe-non-guideline-scale'?: number | string\n /**\n * 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、\n * 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。\n *\n * Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、\n * 同じ値を `style=\"--charcoal-icon-size: Npx\"` としてインラインに指定してください。\n * React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。\n */\n 'fixed-size'?: number | string\n\n // CustomElements は className が使えない。class と書く必要がある\n // https://ja.reactjs.org/docs/web-components.html#using-web-components-in-react\n class?: string\n}\n\ntype ExtendedIconFile = Exclude<keyof KnownIconType, KnownIconFile>\ntype Extended = [ExtendedIconFile] extends [never] // NOTE: ExtendedIconFileがneverならKnownIconTypeは拡張されていない\n ? false\n : true\n\nexport class PixivIcon extends HTMLElement {\n static readonly tagName = 'pixiv-icon'\n\n /**\n * NOTE: icon content should be sanitized before pass to extend()\n *\n * XSSに注意すること。\n * 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。\n * 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。\n */\n static extend(\n map: Extended extends true\n ? Record<ExtendedIconFile, string | (() => Promise<string>)>\n : Record<string, string | (() => Promise<string>)>,\n ): void {\n if (__SERVER__) {\n return\n }\n\n Object.entries(map).forEach(([name, filePathOrUrlOrImportFn]) => {\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n if (typeof filePathOrUrlOrImportFn === 'string') {\n addCustomIcon(name, filePathOrUrlOrImportFn)\n }\n\n if (typeof filePathOrUrlOrImportFn === 'function') {\n addRawFile(name, filePathOrUrlOrImportFn)\n }\n })\n }\n\n static get observedAttributes(): typeof attributes {\n return attributes\n }\n\n private svgContent?: string\n private observer?: IntersectionObserver\n private isVisible = false\n\n get props(): {\n name: string\n scale: string | null\n 'unsafe-non-guideline-scale': string | null\n 'fixed-size': string | null\n } {\n const partial = Object.fromEntries(\n attributes.map((attribute) => [attribute, this.getAttribute(attribute)]),\n ) as Record<(typeof attributes)[number], string | null>\n\n const name = partial.name\n\n if (name === null) {\n throw new TypeError('property \"name\" is required.')\n }\n\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n return {\n ...partial,\n name,\n }\n }\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n async connectedCallback(): Promise<void> {\n this.render()\n await this.waitUntilVisible()\n this.isVisible = true\n await this.loadSvg(this.props.name)\n }\n\n disconnectedCallback(): void {\n this.observer?.disconnect()\n this.observer = undefined\n this.isVisible = false\n }\n\n attributeChangedCallback(\n attr: string,\n _oldValue: string | null,\n newValue: string,\n ): void {\n // 非表示の場合はロードしない\n if (!this.isVisible) {\n return\n }\n\n // name が変更された場合必ず再読み込みを試みる\n if (attr === 'name') {\n void this.loadSvg(newValue)\n return\n }\n\n // SVG が読み込み済み && scale などの変更だけならそこだけ反映すればいい\n if (this.svgContent !== undefined) {\n this.render()\n return\n }\n\n // まだ SVG が読み込めてないなら load\n void this.loadSvg(this.props.name)\n }\n\n render(): void {\n const { name, scale, ...rest } = this.props\n const unsafeNonGuidelineScale = rest['unsafe-non-guideline-scale']\n const fixedSize = rest['fixed-size']\n\n const size = calcActualSize({\n name,\n ...(fixedSize !== null\n ? { fixedSize: parseFloat(fixedSize) }\n : unsafeNonGuidelineScale !== null\n ? { unsafeNonGuidelineScale: parseFloat(unsafeNonGuidelineScale) }\n : { scale: scale ?? undefined }),\n } as Parameters<typeof calcActualSize>[0])\n\n // icon.css の pixiv-icon:not(:defined) ルールと同じ CSS variable に\n // 計算結果を流し込むことで、hydrate 前後で width / height が揺れないようにする\n this.style.setProperty('--charcoal-icon-size', `${size}px`)\n\n const style = `<style>\n :host {\n display: inline-flex;\n }\n\n svg {\n width: var(--charcoal-icon-size);\n height: var(--charcoal-icon-size);\n }\n</style>`\n\n const svg =\n this.svgContent !== undefined\n ? this.svgContent\n : `<svg viewBox=\"0 0 ${size} ${size}\"></svg>`\n\n // NOTE: User should sanitize the svg content before passing to charcoal.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.shadowRoot!.innerHTML = style + svg\n }\n\n private async loadSvg(name: string) {\n this.svgContent = await getIcon(name)\n this.render()\n }\n\n private waitUntilVisible() {\n return new Promise<void>((resolve) => {\n this.observer = new IntersectionObserver(\n (entries) => {\n // In Chromium based browsers, multiple entries can be returned even only observe once.\n // Here, we don't care about the entry time but only if isIntersecting happened.\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n if (isIntersecting) {\n this.observer?.disconnect()\n this.observer = undefined\n resolve()\n }\n },\n { rootMargin: `${ROOT_MARGIN}px` },\n )\n\n this.observer.observe(this)\n })\n }\n}\n","import { PixivIcon } from './PixivIcon'\nimport { __SERVER__ } from './ssr'\nexport { PixivIcon, type KnownIconType, type Props } from './PixivIcon'\nexport { calcActualSize, type IconSizing } from './calcActualSize'\nexport { KNOWN_ICON_FILES } from './charcoalIconFiles'\nexport { PixivIconLoadError } from './loaders/PixivIconLoadError'\n\ndeclare global {\n interface Window {\n PixivIcon: typeof PixivIcon\n }\n}\n\ndeclare module 'react' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n interface IntrinsicElements {\n 'pixiv-icon': import('./PixivIcon').Props\n }\n }\n}\n\nif (!__SERVER__) {\n // TODO: HMR対応\n if (!window.customElements.get(PixivIcon.tagName)) {\n window.PixivIcon = PixivIcon\n window.customElements.define(PixivIcon.tagName, PixivIcon)\n }\n}\n"],"mappings":"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"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import charcoalIconFiles from "@charcoal-ui/icon-files";
|
|
3
|
+
import "@charcoal-ui/icon-files/v2";
|
|
3
4
|
//#region src/charcoalIconFiles.d.ts
|
|
4
5
|
type KnownIconFile = keyof typeof charcoalIconFiles;
|
|
5
6
|
declare const KNOWN_ICON_FILES: KnownIconFile[];
|
|
@@ -11,18 +12,18 @@ interface Props extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLEl
|
|
|
11
12
|
name: keyof KnownIconType;
|
|
12
13
|
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
13
14
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
* @deprecated `fixed-size` を利用してください。
|
|
16
|
+
* `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。
|
|
17
|
+
*/
|
|
17
18
|
"unsafe-non-guideline-scale"?: number | string;
|
|
18
19
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
* 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、
|
|
21
|
+
* 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。
|
|
22
|
+
*
|
|
23
|
+
* Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、
|
|
24
|
+
* 同じ値を `style="--charcoal-icon-size: Npx"` としてインラインに指定してください。
|
|
25
|
+
* React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。
|
|
26
|
+
*/
|
|
26
27
|
"fixed-size"?: number | string;
|
|
27
28
|
class?: string;
|
|
28
29
|
}
|
|
@@ -31,12 +32,12 @@ type Extended = [ExtendedIconFile] extends [never] ? false : true;
|
|
|
31
32
|
declare class PixivIcon extends HTMLElement {
|
|
32
33
|
static readonly tagName = "pixiv-icon";
|
|
33
34
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
* NOTE: icon content should be sanitized before pass to extend()
|
|
36
|
+
*
|
|
37
|
+
* XSSに注意すること。
|
|
38
|
+
* 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。
|
|
39
|
+
* 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。
|
|
40
|
+
*/
|
|
40
41
|
static extend(map: Extended extends true ? Record<ExtendedIconFile, string | (() => Promise<string>)> : Record<string, string | (() => Promise<string>)>): void;
|
|
41
42
|
static get observedAttributes(): typeof attributes;
|
|
42
43
|
private svgContent?;
|
|
@@ -59,15 +60,18 @@ declare class PixivIcon extends HTMLElement {
|
|
|
59
60
|
//#endregion
|
|
60
61
|
//#region src/calcActualSize.d.ts
|
|
61
62
|
type IconSizing = {
|
|
62
|
-
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
63
|
+
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
64
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
63
65
|
unsafeNonGuidelineScale?: never;
|
|
64
66
|
fixedSize?: never;
|
|
65
67
|
} | {
|
|
66
|
-
scale?: never;
|
|
68
|
+
scale?: never;
|
|
69
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
67
70
|
unsafeNonGuidelineScale: number;
|
|
68
71
|
fixedSize?: never;
|
|
69
72
|
} | {
|
|
70
|
-
scale?: never;
|
|
73
|
+
scale?: never;
|
|
74
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
71
75
|
unsafeNonGuidelineScale?: never;
|
|
72
76
|
fixedSize: number;
|
|
73
77
|
};
|
package/dist/index.d.cts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/charcoalIconFiles.ts","../src/PixivIcon.ts","../src/calcActualSize.ts","../src/loaders/PixivIconLoadError.ts","../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../src/charcoalIconFiles.ts","../src/PixivIcon.ts","../src/calcActualSize.ts","../src/loaders/PixivIconLoadError.ts","../src/index.ts"],"mappings":";;;;KAIY,6BAA6B;cAE5B,kBAER;;;cCDC;UASW,sBAAsB,OAAO;UAE7B,cAAc,KAC7B,MAAM,kBAAkB,MAAM,eAAe,cAAc;EAG3D,YAAY;EACZ;;;;;EAKA;;;;;;;;;EASA;EAIA;;KAGG,mBAAmB,cAAc,eAAe;KAChD,YAAY;cAIJ,kBAAkB;kBACb;;;;;;;;SAST,OACL,KAAK,wBACD,OAAO,kCAAkC,oBACzC,+BAA+B;aAuB1B,6BAA6B;UAIhC;UACA;UACA;MAEJ;IACF;IACA;IACA;IACA;;EAwBF;EAKA,qBAA2B;EAO3B;EAMA,yBACE,cACA,0BACA;EAuBF;UAuCc;UAKN;;;;KCjNE;EAEN;;EAEA;EACA;;EAGA;;EAEA;EACA;;EAGA;;EAEA;EACA;;cAoFO,iBACX;EAAU;IAAiB;;;cCtGhB,2BAA2B;EACtC,YAAY,cAAc;;;;QCMb;YACH;IACR,kBAAkB;;;;YAMH;cACL;MACR,cAAqB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import charcoalIconFiles$1 from "@charcoal-ui/icon-files";
|
|
2
2
|
import React from "react";
|
|
3
|
+
import "@charcoal-ui/icon-files/v2";
|
|
3
4
|
//#region src/charcoalIconFiles.d.ts
|
|
4
5
|
type KnownIconFile = keyof typeof charcoalIconFiles$1;
|
|
5
6
|
declare const KNOWN_ICON_FILES: KnownIconFile[];
|
|
@@ -11,18 +12,18 @@ interface Props extends Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLEl
|
|
|
11
12
|
name: keyof KnownIconType;
|
|
12
13
|
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
13
14
|
/**
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
* @deprecated `fixed-size` を利用してください。
|
|
16
|
+
* `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。
|
|
17
|
+
*/
|
|
17
18
|
"unsafe-non-guideline-scale"?: number | string;
|
|
18
19
|
/**
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
* 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、
|
|
21
|
+
* 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。
|
|
22
|
+
*
|
|
23
|
+
* Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、
|
|
24
|
+
* 同じ値を `style="--charcoal-icon-size: Npx"` としてインラインに指定してください。
|
|
25
|
+
* React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。
|
|
26
|
+
*/
|
|
26
27
|
"fixed-size"?: number | string;
|
|
27
28
|
class?: string;
|
|
28
29
|
}
|
|
@@ -31,12 +32,12 @@ type Extended = [ExtendedIconFile] extends [never] ? false : true;
|
|
|
31
32
|
declare class PixivIcon extends HTMLElement {
|
|
32
33
|
static readonly tagName = "pixiv-icon";
|
|
33
34
|
/**
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
* NOTE: icon content should be sanitized before pass to extend()
|
|
36
|
+
*
|
|
37
|
+
* XSSに注意すること。
|
|
38
|
+
* 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。
|
|
39
|
+
* 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。
|
|
40
|
+
*/
|
|
40
41
|
static extend(map: Extended extends true ? Record<ExtendedIconFile, string | (() => Promise<string>)> : Record<string, string | (() => Promise<string>)>): void;
|
|
41
42
|
static get observedAttributes(): typeof attributes;
|
|
42
43
|
private svgContent?;
|
|
@@ -59,15 +60,18 @@ declare class PixivIcon extends HTMLElement {
|
|
|
59
60
|
//#endregion
|
|
60
61
|
//#region src/calcActualSize.d.ts
|
|
61
62
|
type IconSizing = {
|
|
62
|
-
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
63
|
+
scale?: 1 | 2 | 3 | "1" | "2" | "3";
|
|
64
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
63
65
|
unsafeNonGuidelineScale?: never;
|
|
64
66
|
fixedSize?: never;
|
|
65
67
|
} | {
|
|
66
|
-
scale?: never;
|
|
68
|
+
scale?: never;
|
|
69
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
67
70
|
unsafeNonGuidelineScale: number;
|
|
68
71
|
fixedSize?: never;
|
|
69
72
|
} | {
|
|
70
|
-
scale?: never;
|
|
73
|
+
scale?: never;
|
|
74
|
+
/** @deprecated `fixedSize` を利用してください。 */
|
|
71
75
|
unsafeNonGuidelineScale?: never;
|
|
72
76
|
fixedSize: number;
|
|
73
77
|
};
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/charcoalIconFiles.ts","../src/PixivIcon.ts","../src/calcActualSize.ts","../src/loaders/PixivIconLoadError.ts","../src/index.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/charcoalIconFiles.ts","../src/PixivIcon.ts","../src/calcActualSize.ts","../src/loaders/PixivIconLoadError.ts","../src/index.ts"],"mappings":";;;;KAIY,6BAA6B;cAE5B,kBAER;;;cCDC;UASW,sBAAsB,OAAO;UAE7B,cAAc,KAC7B,MAAM,kBAAkB,MAAM,eAAe,cAAc;EAG3D,YAAY;EACZ;;;;;EAKA;;;;;;;;;EASA;EAIA;;KAGG,mBAAmB,cAAc,eAAe;KAChD,YAAY;cAIJ,kBAAkB;kBACb;;;;;;;;SAST,OACL,KAAK,wBACD,OAAO,kCAAkC,oBACzC,+BAA+B;aAuB1B,6BAA6B;UAIhC;UACA;UACA;MAEJ;IACF;IACA;IACA;IACA;;EAwBF;EAKA,qBAA2B;EAO3B;EAMA,yBACE,cACA,0BACA;EAuBF;UAuCc;UAKN;;;;KCjNE;EAEN;;EAEA;EACA;;EAGA;;EAEA;EACA;;EAGA;;EAEA;EACA;;cAoFO,iBACX;EAAU;IAAiB;;;cCtGhB,2BAA2B;EACtC,YAAY,cAAc;;;;QCMb;YACH;IACR,kBAAkB;;;;YAMH;cACL;MACR,cAAqB"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["charcoalIconFiles"],"sources":["../src/charcoalIconFiles.ts","../src/loaders/PixivIconLoadError.ts","../src/loaders/CharcoalIconFilesLoader.ts","../src/loaders/CustomRawFileLoader.ts","../src/loaders/CustomIconLoader.ts","../src/loaders/index.ts","../src/ssr.ts","../src/calcActualSize.ts","../src/PixivIcon.ts","../src/index.ts"],"sourcesContent":["import charcoalIconFiles from '@charcoal-ui/icon-files'\nimport type charcoalIconFilesV2 from '@charcoal-ui/icon-files/v2'\n\nexport default charcoalIconFiles\nexport type KnownIconFile = keyof typeof charcoalIconFiles\nexport type KnownIconFileV2 = keyof typeof charcoalIconFilesV2\nexport const KNOWN_ICON_FILES = Object.keys(\n charcoalIconFiles,\n) as KnownIconFile[]\n\nexport function isKnownIconFile(name: string): name is KnownIconFile {\n return name in charcoalIconFiles\n}\n","export class PixivIconLoadError extends Error {\n constructor(name: string, cause: unknown) {\n const message = formatMessage(name, cause)\n\n super(message, { cause })\n this.name = 'PixivIconLoadError'\n Object.setPrototypeOf(this, new.target.prototype)\n }\n}\n\nfunction formatMessage(name: string, cause: unknown) {\n const message = `Failed to fetch <pixiv-icon name=\"${name}\">`\n if (cause == null) {\n return message\n }\n\n if (cause instanceof Error) {\n return `${message}: ${cause.toString()})`\n }\n\n return `${message}: ${JSON.stringify(cause)})`\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\nimport charcoalIconFiles, { KnownIconFile } from '../charcoalIconFiles'\n\n/**\n * `@charcoal-ui/icon-files` に収録されているアイコンを取ってくる\n */\nexport class CharcoalIconFilesLoader implements Loadable {\n protected _name: KnownIconFile\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: KnownIconFile) {\n this._name = name\n }\n\n get importIconFile(): () => Promise<string> {\n return charcoalIconFiles[this._name]\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = this.importIconFile()\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { KnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\n\nexport class CustomRawFileLoader extends CharcoalIconFilesLoader {\n /**\n * icons-filesと同じ型のアイコンをしまっとくところ\n */\n static filePackages: Map<string, () => Promise<string>> = new Map()\n\n get importIconFile(): () => Promise<string> {\n const icon = CustomRawFileLoader.filePackages.get(this._name)\n if (icon !== undefined) return icon\n\n throw new Error('Custom icon file was not found')\n }\n}\n\nexport function addRawFile(\n name: string,\n importFn: () => Promise<string>,\n): void {\n CustomRawFileLoader.filePackages.set(name, importFn)\n}\n\n/**\n * 登録されているfile packagesにiconがあればtrue\n */\nexport function isKnownRawIconFile(name: string): name is KnownIconFile {\n return CustomRawFileLoader.filePackages.has(name)\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\n\n/**\n * `PixivIcon.extend()` で登録されたカスタムのアイコンを取得する\n */\nexport class CustomIconLoader implements Loadable {\n private _name: string\n private _filePathOrUrl: string\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: string, filePathOrUrl: string) {\n this._name = name\n this._filePathOrUrl = filePathOrUrl\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = fetch(this._filePathOrUrl)\n .then((response) => {\n if (!response.ok) {\n throw new PixivIconLoadError(this._name, 'Response is not ok')\n }\n\n return response.text()\n })\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { isKnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\nimport { CustomRawFileLoader, isKnownRawIconFile } from './CustomRawFileLoader'\nimport { CustomIconLoader } from './CustomIconLoader'\nimport { Loadable } from './Loadable'\nimport { PixivIconLoadError } from './PixivIconLoadError'\n\n/**\n * icon をロードするオブジェクトのプール。Loader のインスタンスは作り次第ここに入れる\n *\n * 同じアイコンへの複数回のリクエストが起きないためには、Loader がこの中でユニークでないと行けない\n */\nconst loaders = new Map<string, Loadable>()\n\nexport function addCustomIcon(name: string, filePathOrUrl: string): void {\n loaders.set(name, new CustomIconLoader(name, filePathOrUrl))\n}\n\nexport async function getIcon(name: string): Promise<string> {\n const loader = resolveIconLoader(name)\n if (loader == null) {\n throw new PixivIconLoadError(name, 'Loader was not found')\n }\n\n try {\n const svg = await loader.fetch()\n if (typeof svg !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(\n `${name}: Expected load result to be a string, but received an unexpected type.`,\n )\n }\n\n return svg\n } catch (e) {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(name, e)\n }\n}\n\nfunction resolveIconLoader(name: string) {\n // 登録済み or キャッシュ済みの場合\n // addCustomIcon で登録された CustomIconLoader は常にこっちを通る\n const registeredLoader = loaders.get(name)\n if (registeredLoader) {\n return registeredLoader\n }\n\n // addRawFile で登録されたもの\n if (isKnownRawIconFile(name)) {\n const customFilePackageLoader = new CustomRawFileLoader(name)\n loaders.set(name, customFilePackageLoader)\n return customFilePackageLoader\n }\n\n if (isKnownIconFile(name)) {\n // `@charcoal-ui/icon-files` に収録されているアイコンにはこれを返す\n const charcoalIconFilesLoader = new CharcoalIconFilesLoader(name)\n loaders.set(name, charcoalIconFilesLoader)\n return charcoalIconFilesLoader\n }\n\n // 存在しないアイコンにはこれを返す\n return null\n}\n","export const __SERVER__: boolean = typeof window === 'undefined'\n\nconst CAN_USE_DOM = typeof HTMLElement !== 'undefined'\n\n// Workaround: `extends HTMLElement` の形式でないとbabelのトランスパイルがおかしくなる\nif (__SERVER__ || !CAN_USE_DOM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis.HTMLElement = class {} as any\n}\n","export type IconSizing =\n | {\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale: number\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize: number\n }\n\nconst isPositiveFinite = (value: unknown): value is number =>\n typeof value === 'number' && Number.isFinite(value) && value > 0\n\nconst parseIconName = (name: string): { size: string; baseSize: number } => {\n if (!name.includes('/')) {\n throw new TypeError(\n `\"${name}\" is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n const [size] = name.split('/')\n\n if (size === 'Inline') {\n return { size, baseSize: 16 }\n }\n\n const baseSize = parseInt(size, 10)\n if (Number.isNaN(baseSize) || baseSize <= 0) {\n throw new TypeError(\n `\"${name}\" has invalid size prefix \"${size}\". Must be \"Inline\" or a positive number.`,\n )\n }\n\n return { size, baseSize }\n}\n\nfunction inlineSize(scale: number): number {\n switch (scale) {\n case 2:\n return 32\n default:\n return 16\n }\n}\n\nfunction guidelineSize24(scale: number): number {\n return 24 * scale\n}\n\n// fixedSize > unsafeNonGuidelineScale > scale の優先順位で生のサイズを算出する。\n// 戻り値の最終 validation は呼び出し元 (calcActualSize) で行う。\nconst resolveSize = ({\n name,\n scale,\n unsafeNonGuidelineScale,\n fixedSize,\n}: { name: string } & IconSizing): number => {\n // fixedSize (px 直接指定) が最優先\n if (isPositiveFinite(fixedSize)) {\n return fixedSize\n }\n if (fixedSize !== undefined) {\n throw new TypeError(\n `fixedSize must be a positive finite number, got ${fixedSize}`,\n )\n }\n\n const { size, baseSize } = parseIconName(name)\n\n // unsafeNonGuidelineScale (deprecated) が次に優先\n if (isPositiveFinite(unsafeNonGuidelineScale)) {\n return baseSize * unsafeNonGuidelineScale\n }\n if (unsafeNonGuidelineScale !== undefined) {\n throw new TypeError(\n `unsafeNonGuidelineScale must be a positive finite number, got ${unsafeNonGuidelineScale}`,\n )\n }\n\n // ガイドライン scale\n const numericScale = parseInt(`${scale ?? '1'}`, 10)\n switch (size) {\n case 'Inline':\n return inlineSize(numericScale)\n case '24':\n return guidelineSize24(numericScale)\n default:\n return baseSize\n }\n}\n\nexport const calcActualSize = (\n params: { name: string } & IconSizing,\n): number => {\n const actualSize = resolveSize(params)\n\n // 全 return パスの結果が正の有限数であることを Single Source of Truth として保証する\n if (!isPositiveFinite(actualSize)) {\n throw new TypeError(\n `icon size must be a positive finite number, got ${actualSize}`,\n )\n }\n\n return actualSize\n}\n","import type React from 'react'\nimport { KnownIconFile } from './charcoalIconFiles'\nimport { getIcon, addCustomIcon } from './loaders'\nimport { addRawFile } from './loaders/CustomRawFileLoader'\nimport { __SERVER__ } from './ssr'\nimport { calcActualSize } from './calcActualSize'\n\nconst attributes = [\n 'name',\n 'scale',\n 'unsafe-non-guideline-scale',\n 'fixed-size',\n] as const\n\nconst ROOT_MARGIN = 50\n\nexport interface KnownIconType extends Record<KnownIconFile, unknown> {}\n\nexport interface Props\n extends Omit<\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n 'className' | 'css'\n > {\n name: keyof KnownIconType\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /**\n * @deprecated `fixed-size` を利用してください。\n * `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。\n */\n 'unsafe-non-guideline-scale'?: number | string\n /**\n * 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、\n * 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。\n *\n * Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、\n * 同じ値を `style=\"--charcoal-icon-size: Npx\"` としてインラインに指定してください。\n * React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。\n */\n 'fixed-size'?: number | string\n\n // CustomElements は className が使えない。class と書く必要がある\n // https://ja.reactjs.org/docs/web-components.html#using-web-components-in-react\n class?: string\n}\n\ntype ExtendedIconFile = Exclude<keyof KnownIconType, KnownIconFile>\ntype Extended = [ExtendedIconFile] extends [never] // NOTE: ExtendedIconFileがneverならKnownIconTypeは拡張されていない\n ? false\n : true\n\nexport class PixivIcon extends HTMLElement {\n static readonly tagName = 'pixiv-icon'\n\n /**\n * NOTE: icon content should be sanitized before pass to extend()\n *\n * XSSに注意すること。\n * 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。\n * 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。\n */\n static extend(\n map: Extended extends true\n ? Record<ExtendedIconFile, string | (() => Promise<string>)>\n : Record<string, string | (() => Promise<string>)>,\n ): void {\n if (__SERVER__) {\n return\n }\n\n Object.entries(map).forEach(([name, filePathOrUrlOrImportFn]) => {\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n if (typeof filePathOrUrlOrImportFn === 'string') {\n addCustomIcon(name, filePathOrUrlOrImportFn)\n }\n\n if (typeof filePathOrUrlOrImportFn === 'function') {\n addRawFile(name, filePathOrUrlOrImportFn)\n }\n })\n }\n\n static get observedAttributes(): typeof attributes {\n return attributes\n }\n\n private svgContent?: string\n private observer?: IntersectionObserver\n private isVisible = false\n\n get props(): {\n name: string\n scale: string | null\n 'unsafe-non-guideline-scale': string | null\n 'fixed-size': string | null\n } {\n const partial = Object.fromEntries(\n attributes.map((attribute) => [attribute, this.getAttribute(attribute)]),\n ) as Record<(typeof attributes)[number], string | null>\n\n const name = partial.name\n\n if (name === null) {\n throw new TypeError('property \"name\" is required.')\n }\n\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n return {\n ...partial,\n name,\n }\n }\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n async connectedCallback(): Promise<void> {\n this.render()\n await this.waitUntilVisible()\n this.isVisible = true\n await this.loadSvg(this.props.name)\n }\n\n disconnectedCallback(): void {\n this.observer?.disconnect()\n this.observer = undefined\n this.isVisible = false\n }\n\n attributeChangedCallback(\n attr: string,\n _oldValue: string | null,\n newValue: string,\n ): void {\n // 非表示の場合はロードしない\n if (!this.isVisible) {\n return\n }\n\n // name が変更された場合必ず再読み込みを試みる\n if (attr === 'name') {\n void this.loadSvg(newValue)\n return\n }\n\n // SVG が読み込み済み && scale などの変更だけならそこだけ反映すればいい\n if (this.svgContent !== undefined) {\n this.render()\n return\n }\n\n // まだ SVG が読み込めてないなら load\n void this.loadSvg(this.props.name)\n }\n\n render(): void {\n const { name, scale, ...rest } = this.props\n const unsafeNonGuidelineScale = rest['unsafe-non-guideline-scale']\n const fixedSize = rest['fixed-size']\n\n const size = calcActualSize({\n name,\n ...(fixedSize !== null\n ? { fixedSize: parseFloat(fixedSize) }\n : unsafeNonGuidelineScale !== null\n ? { unsafeNonGuidelineScale: parseFloat(unsafeNonGuidelineScale) }\n : { scale: scale ?? undefined }),\n } as Parameters<typeof calcActualSize>[0])\n\n // icon.css の pixiv-icon:not(:defined) ルールと同じ CSS variable に\n // 計算結果を流し込むことで、hydrate 前後で width / height が揺れないようにする\n this.style.setProperty('--charcoal-icon-size', `${size}px`)\n\n const style = `<style>\n :host {\n display: inline-flex;\n }\n\n svg {\n width: var(--charcoal-icon-size);\n height: var(--charcoal-icon-size);\n }\n</style>`\n\n const svg =\n this.svgContent !== undefined\n ? this.svgContent\n : `<svg viewBox=\"0 0 ${size} ${size}\"></svg>`\n\n // NOTE: User should sanitize the svg content before passing to charcoal.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.shadowRoot!.innerHTML = style + svg\n }\n\n private async loadSvg(name: string) {\n this.svgContent = await getIcon(name)\n this.render()\n }\n\n private waitUntilVisible() {\n return new Promise<void>((resolve) => {\n this.observer = new IntersectionObserver(\n (entries) => {\n // In Chromium based browsers, multiple entries can be returned even only observe once.\n // Here, we don't care about the entry time but only if isIntersecting happened.\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n if (isIntersecting) {\n this.observer?.disconnect()\n this.observer = undefined\n resolve()\n }\n },\n { rootMargin: `${ROOT_MARGIN}px` },\n )\n\n this.observer.observe(this)\n })\n }\n}\n","import { PixivIcon } from './PixivIcon'\nimport { __SERVER__ } from './ssr'\nexport { PixivIcon, type KnownIconType, type Props } from './PixivIcon'\nexport { calcActualSize, type IconSizing } from './calcActualSize'\nexport { KNOWN_ICON_FILES } from './charcoalIconFiles'\nexport { PixivIconLoadError } from './loaders/PixivIconLoadError'\n\ndeclare global {\n interface Window {\n PixivIcon: typeof PixivIcon\n }\n}\n\ndeclare module 'react' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n interface IntrinsicElements {\n 'pixiv-icon': import('./PixivIcon').Props\n }\n }\n}\n\nif (!__SERVER__) {\n // TODO: HMR対応\n if (!window.customElements.get(PixivIcon.tagName)) {\n window.PixivIcon = PixivIcon\n window.customElements.define(PixivIcon.tagName, PixivIcon)\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["charcoalIconFiles"],"sources":["../src/charcoalIconFiles.ts","../src/loaders/PixivIconLoadError.ts","../src/loaders/CharcoalIconFilesLoader.ts","../src/loaders/CustomRawFileLoader.ts","../src/loaders/CustomIconLoader.ts","../src/loaders/index.ts","../src/ssr.ts","../src/calcActualSize.ts","../src/PixivIcon.ts","../src/index.ts"],"sourcesContent":["import charcoalIconFiles from '@charcoal-ui/icon-files'\nimport type charcoalIconFilesV2 from '@charcoal-ui/icon-files/v2'\n\nexport default charcoalIconFiles\nexport type KnownIconFile = keyof typeof charcoalIconFiles\nexport type KnownIconFileV2 = keyof typeof charcoalIconFilesV2\nexport const KNOWN_ICON_FILES = Object.keys(\n charcoalIconFiles,\n) as KnownIconFile[]\n\nexport function isKnownIconFile(name: string): name is KnownIconFile {\n return name in charcoalIconFiles\n}\n","export class PixivIconLoadError extends Error {\n constructor(name: string, cause: unknown) {\n const message = formatMessage(name, cause)\n\n super(message, { cause })\n this.name = 'PixivIconLoadError'\n Object.setPrototypeOf(this, new.target.prototype)\n }\n}\n\nfunction formatMessage(name: string, cause: unknown) {\n const message = `Failed to fetch <pixiv-icon name=\"${name}\">`\n if (cause == null) {\n return message\n }\n\n if (cause instanceof Error) {\n return `${message}: ${cause.toString()})`\n }\n\n return `${message}: ${JSON.stringify(cause)})`\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\nimport charcoalIconFiles, { KnownIconFile } from '../charcoalIconFiles'\n\n/**\n * `@charcoal-ui/icon-files` に収録されているアイコンを取ってくる\n */\nexport class CharcoalIconFilesLoader implements Loadable {\n protected _name: KnownIconFile\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: KnownIconFile) {\n this._name = name\n }\n\n get importIconFile(): () => Promise<string> {\n return charcoalIconFiles[this._name]\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = this.importIconFile()\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { KnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\n\nexport class CustomRawFileLoader extends CharcoalIconFilesLoader {\n /**\n * icons-filesと同じ型のアイコンをしまっとくところ\n */\n static filePackages: Map<string, () => Promise<string>> = new Map()\n\n get importIconFile(): () => Promise<string> {\n const icon = CustomRawFileLoader.filePackages.get(this._name)\n if (icon !== undefined) return icon\n\n throw new Error('Custom icon file was not found')\n }\n}\n\nexport function addRawFile(\n name: string,\n importFn: () => Promise<string>,\n): void {\n CustomRawFileLoader.filePackages.set(name, importFn)\n}\n\n/**\n * 登録されているfile packagesにiconがあればtrue\n */\nexport function isKnownRawIconFile(name: string): name is KnownIconFile {\n return CustomRawFileLoader.filePackages.has(name)\n}\n","import { PixivIconLoadError } from './PixivIconLoadError'\nimport { Loadable } from './Loadable'\n\n/**\n * `PixivIcon.extend()` で登録されたカスタムのアイコンを取得する\n */\nexport class CustomIconLoader implements Loadable {\n private _name: string\n private _filePathOrUrl: string\n private _resultSvg: string | undefined = undefined\n private _promise: Promise<string> | undefined = undefined\n\n constructor(name: string, filePathOrUrl: string) {\n this._name = name\n this._filePathOrUrl = filePathOrUrl\n }\n\n async fetch(): Promise<string> {\n if (this._resultSvg !== undefined) {\n return this._resultSvg\n }\n\n if (this._promise) {\n return this._promise\n }\n\n this._promise = fetch(this._filePathOrUrl)\n .then((response) => {\n if (!response.ok) {\n throw new PixivIconLoadError(this._name, 'Response is not ok')\n }\n\n return response.text()\n })\n .then((svg) => {\n this._resultSvg = svg\n return this._resultSvg\n })\n .catch((e) => {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(this._name, e)\n })\n .finally(() => {\n this._promise = undefined\n })\n\n return this._promise\n }\n}\n","import { isKnownIconFile } from '../charcoalIconFiles'\nimport { CharcoalIconFilesLoader } from './CharcoalIconFilesLoader'\nimport { CustomRawFileLoader, isKnownRawIconFile } from './CustomRawFileLoader'\nimport { CustomIconLoader } from './CustomIconLoader'\nimport { Loadable } from './Loadable'\nimport { PixivIconLoadError } from './PixivIconLoadError'\n\n/**\n * icon をロードするオブジェクトのプール。Loader のインスタンスは作り次第ここに入れる\n *\n * 同じアイコンへの複数回のリクエストが起きないためには、Loader がこの中でユニークでないと行けない\n */\nconst loaders = new Map<string, Loadable>()\n\nexport function addCustomIcon(name: string, filePathOrUrl: string): void {\n loaders.set(name, new CustomIconLoader(name, filePathOrUrl))\n}\n\nexport async function getIcon(name: string): Promise<string> {\n const loader = resolveIconLoader(name)\n if (loader == null) {\n throw new PixivIconLoadError(name, 'Loader was not found')\n }\n\n try {\n const svg = await loader.fetch()\n if (typeof svg !== 'string') {\n // eslint-disable-next-line no-console\n console.warn(\n `${name}: Expected load result to be a string, but received an unexpected type.`,\n )\n }\n\n return svg\n } catch (e) {\n if (e instanceof PixivIconLoadError) {\n throw e\n }\n throw new PixivIconLoadError(name, e)\n }\n}\n\nfunction resolveIconLoader(name: string) {\n // 登録済み or キャッシュ済みの場合\n // addCustomIcon で登録された CustomIconLoader は常にこっちを通る\n const registeredLoader = loaders.get(name)\n if (registeredLoader) {\n return registeredLoader\n }\n\n // addRawFile で登録されたもの\n if (isKnownRawIconFile(name)) {\n const customFilePackageLoader = new CustomRawFileLoader(name)\n loaders.set(name, customFilePackageLoader)\n return customFilePackageLoader\n }\n\n if (isKnownIconFile(name)) {\n // `@charcoal-ui/icon-files` に収録されているアイコンにはこれを返す\n const charcoalIconFilesLoader = new CharcoalIconFilesLoader(name)\n loaders.set(name, charcoalIconFilesLoader)\n return charcoalIconFilesLoader\n }\n\n // 存在しないアイコンにはこれを返す\n return null\n}\n","export const __SERVER__: boolean = typeof window === 'undefined'\n\nconst CAN_USE_DOM = typeof HTMLElement !== 'undefined'\n\n// Workaround: `extends HTMLElement` の形式でないとbabelのトランスパイルがおかしくなる\nif (__SERVER__ || !CAN_USE_DOM) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n globalThis.HTMLElement = class {} as any\n}\n","export type IconSizing =\n | {\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale: number\n fixedSize?: never\n }\n | {\n scale?: never\n /** @deprecated `fixedSize` を利用してください。 */\n unsafeNonGuidelineScale?: never\n fixedSize: number\n }\n\nconst isPositiveFinite = (value: unknown): value is number =>\n typeof value === 'number' && Number.isFinite(value) && value > 0\n\nconst parseIconName = (name: string): { size: string; baseSize: number } => {\n if (!name.includes('/')) {\n throw new TypeError(\n `\"${name}\" is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n const [size] = name.split('/')\n\n if (size === 'Inline') {\n return { size, baseSize: 16 }\n }\n\n const baseSize = parseInt(size, 10)\n if (Number.isNaN(baseSize) || baseSize <= 0) {\n throw new TypeError(\n `\"${name}\" has invalid size prefix \"${size}\". Must be \"Inline\" or a positive number.`,\n )\n }\n\n return { size, baseSize }\n}\n\nfunction inlineSize(scale: number): number {\n switch (scale) {\n case 2:\n return 32\n default:\n return 16\n }\n}\n\nfunction guidelineSize24(scale: number): number {\n return 24 * scale\n}\n\n// fixedSize > unsafeNonGuidelineScale > scale の優先順位で生のサイズを算出する。\n// 戻り値の最終 validation は呼び出し元 (calcActualSize) で行う。\nconst resolveSize = ({\n name,\n scale,\n unsafeNonGuidelineScale,\n fixedSize,\n}: { name: string } & IconSizing): number => {\n // fixedSize (px 直接指定) が最優先\n if (isPositiveFinite(fixedSize)) {\n return fixedSize\n }\n if (fixedSize !== undefined) {\n throw new TypeError(\n `fixedSize must be a positive finite number, got ${fixedSize}`,\n )\n }\n\n const { size, baseSize } = parseIconName(name)\n\n // unsafeNonGuidelineScale (deprecated) が次に優先\n if (isPositiveFinite(unsafeNonGuidelineScale)) {\n return baseSize * unsafeNonGuidelineScale\n }\n if (unsafeNonGuidelineScale !== undefined) {\n throw new TypeError(\n `unsafeNonGuidelineScale must be a positive finite number, got ${unsafeNonGuidelineScale}`,\n )\n }\n\n // ガイドライン scale\n const numericScale = parseInt(`${scale ?? '1'}`, 10)\n switch (size) {\n case 'Inline':\n return inlineSize(numericScale)\n case '24':\n return guidelineSize24(numericScale)\n default:\n return baseSize\n }\n}\n\nexport const calcActualSize = (\n params: { name: string } & IconSizing,\n): number => {\n const actualSize = resolveSize(params)\n\n // 全 return パスの結果が正の有限数であることを Single Source of Truth として保証する\n if (!isPositiveFinite(actualSize)) {\n throw new TypeError(\n `icon size must be a positive finite number, got ${actualSize}`,\n )\n }\n\n return actualSize\n}\n","import type React from 'react'\nimport { KnownIconFile } from './charcoalIconFiles'\nimport { getIcon, addCustomIcon } from './loaders'\nimport { addRawFile } from './loaders/CustomRawFileLoader'\nimport { __SERVER__ } from './ssr'\nimport { calcActualSize } from './calcActualSize'\n\nconst attributes = [\n 'name',\n 'scale',\n 'unsafe-non-guideline-scale',\n 'fixed-size',\n] as const\n\nconst ROOT_MARGIN = 50\n\nexport interface KnownIconType extends Record<KnownIconFile, unknown> {}\n\nexport interface Props extends Omit<\n React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>,\n 'className' | 'css'\n> {\n name: keyof KnownIconType\n scale?: 1 | 2 | 3 | '1' | '2' | '3'\n /**\n * @deprecated `fixed-size` を利用してください。\n * `attr()` の数値解釈サポートが限定的なため、リセット CSS だけではレイアウトシフトが防げません。\n */\n 'unsafe-non-guideline-scale'?: number | string\n /**\n * 固定 px サイズで描画します。ガイドライン外のサイズを利用する場合に推奨される指定方法で、\n * 他のサイズ指定 (`scale` / `unsafe-non-guideline-scale`) よりも常に優先されます。\n *\n * Web Component の upgrade 前 (= SSR 直後の CSS-only 状態) でも CLS を防ぐには、\n * 同じ値を `style=\"--charcoal-icon-size: Npx\"` としてインラインに指定してください。\n * React の `<Icon fixedSize>` 経由で利用する場合はインラインスタイルが自動的に付与されます。\n */\n 'fixed-size'?: number | string\n\n // CustomElements は className が使えない。class と書く必要がある\n // https://ja.reactjs.org/docs/web-components.html#using-web-components-in-react\n class?: string\n}\n\ntype ExtendedIconFile = Exclude<keyof KnownIconType, KnownIconFile>\ntype Extended = [ExtendedIconFile] extends [never] // NOTE: ExtendedIconFileがneverならKnownIconTypeは拡張されていない\n ? false\n : true\n\nexport class PixivIcon extends HTMLElement {\n static readonly tagName = 'pixiv-icon'\n\n /**\n * NOTE: icon content should be sanitized before pass to extend()\n *\n * XSSに注意すること。\n * 登録したファイルの中身が直接domに反映されるため、XSSに繋がる可能性があります。\n * 信用していないソースからアイコンを追加する場合dom-purifyなどを経由してください。\n */\n static extend(\n map: Extended extends true\n ? Record<ExtendedIconFile, string | (() => Promise<string>)>\n : Record<string, string | (() => Promise<string>)>,\n ): void {\n if (__SERVER__) {\n return\n }\n\n Object.entries(map).forEach(([name, filePathOrUrlOrImportFn]) => {\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n if (typeof filePathOrUrlOrImportFn === 'string') {\n addCustomIcon(name, filePathOrUrlOrImportFn)\n }\n\n if (typeof filePathOrUrlOrImportFn === 'function') {\n addRawFile(name, filePathOrUrlOrImportFn)\n }\n })\n }\n\n static get observedAttributes(): typeof attributes {\n return attributes\n }\n\n private svgContent?: string\n private observer?: IntersectionObserver\n private isVisible = false\n\n get props(): {\n name: string\n scale: string | null\n 'unsafe-non-guideline-scale': string | null\n 'fixed-size': string | null\n } {\n const partial = Object.fromEntries(\n attributes.map((attribute) => [attribute, this.getAttribute(attribute)]),\n ) as Record<(typeof attributes)[number], string | null>\n\n const name = partial.name\n\n if (name === null) {\n throw new TypeError('property \"name\" is required.')\n }\n\n if (!name.includes('/')) {\n throw new TypeError(\n `${name} is not a valid icon name. \"name\" must be named like [size]/[Name].`,\n )\n }\n\n return {\n ...partial,\n name,\n }\n }\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n async connectedCallback(): Promise<void> {\n this.render()\n await this.waitUntilVisible()\n this.isVisible = true\n await this.loadSvg(this.props.name)\n }\n\n disconnectedCallback(): void {\n this.observer?.disconnect()\n this.observer = undefined\n this.isVisible = false\n }\n\n attributeChangedCallback(\n attr: string,\n _oldValue: string | null,\n newValue: string,\n ): void {\n // 非表示の場合はロードしない\n if (!this.isVisible) {\n return\n }\n\n // name が変更された場合必ず再読み込みを試みる\n if (attr === 'name') {\n void this.loadSvg(newValue)\n return\n }\n\n // SVG が読み込み済み && scale などの変更だけならそこだけ反映すればいい\n if (this.svgContent !== undefined) {\n this.render()\n return\n }\n\n // まだ SVG が読み込めてないなら load\n void this.loadSvg(this.props.name)\n }\n\n render(): void {\n const { name, scale, ...rest } = this.props\n const unsafeNonGuidelineScale = rest['unsafe-non-guideline-scale']\n const fixedSize = rest['fixed-size']\n\n const size = calcActualSize({\n name,\n ...(fixedSize !== null\n ? { fixedSize: parseFloat(fixedSize) }\n : unsafeNonGuidelineScale !== null\n ? { unsafeNonGuidelineScale: parseFloat(unsafeNonGuidelineScale) }\n : { scale: scale ?? undefined }),\n } as Parameters<typeof calcActualSize>[0])\n\n // icon.css の pixiv-icon:not(:defined) ルールと同じ CSS variable に\n // 計算結果を流し込むことで、hydrate 前後で width / height が揺れないようにする\n this.style.setProperty('--charcoal-icon-size', `${size}px`)\n\n const style = `<style>\n :host {\n display: inline-flex;\n }\n\n svg {\n width: var(--charcoal-icon-size);\n height: var(--charcoal-icon-size);\n }\n</style>`\n\n const svg =\n this.svgContent !== undefined\n ? this.svgContent\n : `<svg viewBox=\"0 0 ${size} ${size}\"></svg>`\n\n // NOTE: User should sanitize the svg content before passing to charcoal.\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.shadowRoot!.innerHTML = style + svg\n }\n\n private async loadSvg(name: string) {\n this.svgContent = await getIcon(name)\n this.render()\n }\n\n private waitUntilVisible() {\n return new Promise<void>((resolve) => {\n this.observer = new IntersectionObserver(\n (entries) => {\n // In Chromium based browsers, multiple entries can be returned even only observe once.\n // Here, we don't care about the entry time but only if isIntersecting happened.\n const isIntersecting = entries.some((entry) => entry.isIntersecting)\n if (isIntersecting) {\n this.observer?.disconnect()\n this.observer = undefined\n resolve()\n }\n },\n { rootMargin: `${ROOT_MARGIN}px` },\n )\n\n this.observer.observe(this)\n })\n }\n}\n","import { PixivIcon } from './PixivIcon'\nimport { __SERVER__ } from './ssr'\nexport { PixivIcon, type KnownIconType, type Props } from './PixivIcon'\nexport { calcActualSize, type IconSizing } from './calcActualSize'\nexport { KNOWN_ICON_FILES } from './charcoalIconFiles'\nexport { PixivIconLoadError } from './loaders/PixivIconLoadError'\n\ndeclare global {\n interface Window {\n PixivIcon: typeof PixivIcon\n }\n}\n\ndeclare module 'react' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n interface IntrinsicElements {\n 'pixiv-icon': import('./PixivIcon').Props\n }\n }\n}\n\nif (!__SERVER__) {\n // TODO: HMR対応\n if (!window.customElements.get(PixivIcon.tagName)) {\n window.PixivIcon = PixivIcon\n window.customElements.define(PixivIcon.tagName, PixivIcon)\n }\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@charcoal-ui/icons",
|
|
3
|
-
"version": "6.0.0
|
|
3
|
+
"version": "6.0.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -26,14 +26,13 @@
|
|
|
26
26
|
"@types/react": "^18.3.3",
|
|
27
27
|
"@types/styled-components": "^5.1.21",
|
|
28
28
|
"@types/warning": "^3.0.4",
|
|
29
|
-
"@types/webpack-env": "^1.18.8",
|
|
30
29
|
"jsdom": "^24.1.0",
|
|
31
30
|
"react": "^18.3.1",
|
|
32
31
|
"styled-components": "^5.3.11"
|
|
33
32
|
},
|
|
34
33
|
"dependencies": {
|
|
35
34
|
"warning": "^4.0.3",
|
|
36
|
-
"@charcoal-ui/icon-files": "6.0.0
|
|
35
|
+
"@charcoal-ui/icon-files": "6.0.0"
|
|
37
36
|
},
|
|
38
37
|
"peerDependencies": {
|
|
39
38
|
"react": ">=17.0.0"
|
package/react/v1/16/Add.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Add.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,SAAS,EAAE,UAAU,CAChC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACjD,CAAA;
|
|
1
|
+
{"version":3,"file":"Add.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Add.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,SAAS,EAAE,UAAU,CAChC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACjD,CAAA;eACP,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Archive.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Archive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA4B9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;
|
|
1
|
+
{"version":3,"file":"Archive.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Archive.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA4B9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;eACX,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrowDown.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/ArrowDown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC3C,CAAA;
|
|
1
|
+
{"version":3,"file":"ArrowDown.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/ArrowDown.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC3C,CAAA;eACb,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Artwork.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Artwork.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;
|
|
1
|
+
{"version":3,"file":"Artwork.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Artwork.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;eACX,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Back.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Back.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Back.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Back.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Book.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Book.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAuB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Book.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Book.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAuB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkOff.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/BookmarkOff.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,iBAAiB,EAAE,UAAU,CACxC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;
|
|
1
|
+
{"version":3,"file":"BookmarkOff.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/BookmarkOff.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,iBAAiB,EAAE,UAAU,CACxC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;eACf,iBAAiB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookmarkOn.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/BookmarkOn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,gBAAgB,EAAE,UAAU,CACvC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC1C,CAAA;
|
|
1
|
+
{"version":3,"file":"BookmarkOn.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/BookmarkOn.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,gBAAgB,EAAE,UAAU,CACvC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC1C,CAAA;eACd,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Check.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Check.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,WAAW,EAAE,UAAU,CAClC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC/C,CAAA;
|
|
1
|
+
{"version":3,"file":"Check.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Check.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,WAAW,EAAE,UAAU,CAClC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC/C,CAAA;eACT,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Comment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;
|
|
1
|
+
{"version":3,"file":"Comment.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Comment.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;eACX,aAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Description.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,iBAAiB,EAAE,UAAU,CACxC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;
|
|
1
|
+
{"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Description.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,iBAAiB,EAAE,UAAU,CACxC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACzC,CAAA;eACf,iBAAiB"}
|
package/react/v1/16/Dot.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dot.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,SAAS,EAAE,UAAU,CAChC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACjD,CAAA;
|
|
1
|
+
{"version":3,"file":"Dot.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Dot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,SAAS,EAAE,UAAU,CAChC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACjD,CAAA;eACP,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Down.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Down.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Down.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Down.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,WAAW,EAAE,UAAU,CAClC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC/C,CAAA;
|
|
1
|
+
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,WAAW,EAAE,UAAU,CAClC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC/C,CAAA;eACT,WAAW"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,YAAY,EAAE,UAAU,CACnC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC9C,CAAA;
|
|
1
|
+
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,YAAY,EAAE,UAAU,CACnC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC9C,CAAA;eACV,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageResponse.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/ImageResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACvC,CAAA;
|
|
1
|
+
{"version":3,"file":"ImageResponse.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/ImageResponse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAwB9B,eAAO,MAAM,mBAAmB,EAAE,UAAU,CAC1C,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CACvC,CAAA;eACjB,mBAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Info.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Info.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Like.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Like.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Like.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Like.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAqB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"More.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/More.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;
|
|
1
|
+
{"version":3,"file":"More.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/More.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,UAAU,EAAE,UAAU,CACjC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAChD,CAAA;eACR,UAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Nextworks.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Nextworks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC3C,CAAA;
|
|
1
|
+
{"version":3,"file":"Nextworks.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Nextworks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,eAAe,EAAE,UAAU,CACtC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC3C,CAAA;eACb,eAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pencil.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Pencil.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,YAAY,EAAE,UAAU,CACnC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC9C,CAAA;
|
|
1
|
+
{"version":3,"file":"Pencil.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Pencil.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAmB9B,eAAO,MAAM,YAAY,EAAE,UAAU,CACnC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC9C,CAAA;eACV,YAAY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Question.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA6C9B,eAAO,MAAM,cAAc,EAAE,UAAU,CACrC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC5C,CAAA;
|
|
1
|
+
{"version":3,"file":"Question.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Question.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AA6C9B,eAAO,MAAM,cAAc,EAAE,UAAU,CACrC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC5C,CAAA;eACZ,cAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ranking.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Ranking.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;
|
|
1
|
+
{"version":3,"file":"Ranking.d.ts","sourceRoot":"","sources":["../../../src/react/v1/16/Ranking.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAsB9B,eAAO,MAAM,aAAa,EAAE,UAAU,CACpC,OAAO,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAC7C,CAAA;eACX,aAAa"}
|