@viraui/react 0.0.17 → 0.0.19
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/catalog.json +30 -0
- package/dist/components/avatar/avatar.css +1 -1
- package/dist/components/avatar/avatar.d.ts +1 -1
- package/dist/components/avatar/avatar.js +2 -0
- package/dist/components/avatar-group/avatar-group.css +1 -0
- package/dist/components/avatar-group/avatar-group.d.ts +55 -0
- package/dist/components/avatar-group/avatar-group.guide.json +22 -0
- package/dist/components/avatar-group/avatar-group.js +61 -0
- package/dist/components/avatar-group/avatar-group.module.js +9 -0
- package/dist/components/avatar-group/index.d.ts +2 -0
- package/dist/components/basic-input/basic-input.js +1 -1
- package/dist/components/basic-input/field-helper-copy.js +3 -3
- package/dist/components/basic-input/field-label.d.ts +2 -1
- package/dist/components/basic-input/field-label.js +4 -3
- package/dist/components/button/button.css +1 -1
- package/dist/components/button/button.js +1 -1
- package/dist/components/checkbox/checkbox.css +1 -1
- package/dist/components/checkbox/checkbox.js +6 -3
- package/dist/components/chip/chip.css +1 -0
- package/dist/components/chip/chip.d.ts +46 -0
- package/dist/components/chip/chip.guide.json +26 -0
- package/dist/components/chip/chip.js +48 -0
- package/dist/components/chip/chip.module.js +8 -0
- package/dist/components/chip/index.d.ts +2 -0
- package/dist/components/clamp-text/clamp-text.js +1 -1
- package/dist/components/icon/icon.css +1 -1
- package/dist/components/icon/index.d.ts +1 -1
- package/dist/components/index.d.ts +5 -0
- package/dist/components/linear-progress/index.d.ts +2 -0
- package/dist/components/linear-progress/linear-progress.css +1 -0
- package/dist/components/linear-progress/linear-progress.d.ts +44 -0
- package/dist/components/linear-progress/linear-progress.guide.json +27 -0
- package/dist/components/linear-progress/linear-progress.js +61 -0
- package/dist/components/linear-progress/linear-progress.module.js +8 -0
- package/dist/components/masonry/index.d.ts +2 -0
- package/dist/components/masonry/masonry-item.d.ts +32 -0
- package/dist/components/masonry/masonry-item.js +22 -0
- package/dist/components/masonry/masonry.css +1 -0
- package/dist/components/masonry/masonry.d.ts +67 -0
- package/dist/components/masonry/masonry.guide.json +24 -0
- package/dist/components/masonry/masonry.js +38 -0
- package/dist/components/masonry/masonry.module.js +6 -0
- package/dist/components/radio/index.d.ts +4 -0
- package/dist/components/radio/radio-group.d.ts +44 -0
- package/dist/components/radio/radio-group.js +54 -0
- package/dist/components/radio/radio.css +1 -0
- package/dist/components/radio/radio.d.ts +44 -0
- package/dist/components/radio/radio.guide.json +26 -0
- package/dist/components/radio/radio.js +45 -0
- package/dist/components/radio/radio.module.js +9 -0
- package/dist/components/select/select-group.js +1 -1
- package/dist/components/select/select-option.js +1 -1
- package/dist/components/select/select.css +1 -1
- package/dist/components/select/select.guide.json +5 -1
- package/dist/components/select/select.js +7 -4
- package/dist/components/slider/slider.js +2 -2
- package/dist/components/stack/stack.css +1 -1
- package/dist/components/stack/stack.js +1 -1
- package/dist/components/surface/surface.css +1 -1
- package/dist/components/surface/surface.js +2 -2
- package/dist/components/switch/switch.css +1 -1
- package/dist/components/switch/switch.js +7 -3
- package/dist/components/text/text.js +1 -1
- package/dist/components/textarea/textarea.js +2 -2
- package/dist/components/textfield/textfield.js +2 -2
- package/dist/components/title/title.d.ts +5 -2
- package/dist/components/title/title.guide.json +5 -2
- package/dist/components/title/title.js +1 -1
- package/dist/core/props/intrinsic-vira-props.d.ts +7 -0
- package/dist/core/props/intrinsic-vira-props.js +3 -2
- package/dist/core/theme/resolve-theme-value.d.ts +3 -4
- package/dist/core/theme/resolve-theme-value.js +1 -2
- package/dist/index.js +9 -3
- package/dist/internal-icons/icon-registry.d.ts +11 -217
- package/dist/internal-icons/icon-registry.js +30 -648
- package/dist/internal-icons/icons/duo/ArrowDown.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowDownRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowRight.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUp.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpLeft.js +1 -1
- package/dist/internal-icons/icons/duo/ArrowUpRight.js +1 -1
- package/dist/internal-icons/icons/duo/CaretDown.js +1 -1
- package/dist/internal-icons/icons/duo/CaretLeft.js +1 -1
- package/dist/internal-icons/icons/duo/CaretRight.js +1 -1
- package/dist/internal-icons/icons/duo/CaretUp.js +1 -1
- package/dist/internal-icons/icons/duo/ChevronExpandY.js +1 -1
- package/dist/internal-icons/icons/duo/CircleHalfDottedClock.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfDottedClock.js +13 -0
- package/dist/internal-icons/icons/duo/CircleImage.d.ts +7 -0
- package/dist/internal-icons/icons/duo/{SavedItems2.js → CircleImage.js} +4 -4
- package/dist/internal-icons/icons/duo/{Embed.d.ts → Clock.d.ts} +3 -3
- package/dist/internal-icons/icons/duo/Clock.js +13 -0
- package/dist/internal-icons/icons/duo/DarkLight.js +1 -1
- package/dist/internal-icons/icons/duo/History.d.ts +7 -0
- package/dist/internal-icons/icons/duo/History.js +13 -0
- package/dist/internal-icons/icons/duo/{Child.d.ts → Image.d.ts} +3 -3
- package/dist/internal-icons/icons/duo/Image.js +13 -0
- package/dist/internal-icons/icons/duo/ImagesLayered.d.ts +7 -0
- package/dist/internal-icons/icons/duo/{Images3.js → ImagesLayered.js} +4 -4
- package/dist/internal-icons/icons/duo/{Box3.d.ts → Lock.d.ts} +3 -3
- package/dist/internal-icons/icons/duo/Lock.js +13 -0
- package/dist/internal-icons/icons/duo/LockOpen.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LockOpen.js +13 -0
- package/dist/internal-icons/icons/duo/Magnifier.js +1 -1
- package/dist/internal-icons/icons/duo/MoonStars.js +1 -1
- package/dist/internal-icons/icons/duo/Quickstart.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Quickstart.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwise.js +1 -1
- package/dist/internal-icons/icons/duo/Sun.js +1 -1
- package/dist/internal-icons/icons/duo/{Img4k.d.ts → Xmark.d.ts} +3 -3
- package/dist/internal-icons/icons/duo/{ProfileBasic.js → Xmark.js} +4 -4
- package/dist/internal-icons/icons/duo/index.d.ts +11 -217
- package/dist/internal-icons/icons/duo/index.js +11 -217
- package/dist/preflight.css +1 -1
- package/dist/theme-surface.json +5 -0
- package/package.json +2 -2
- package/dist/internal-icons/icons/duo/AddSection.d.ts +0 -7
- package/dist/internal-icons/icons/duo/AddSection.js +0 -13
- package/dist/internal-icons/icons/duo/AiDeveloper.d.ts +0 -7
- package/dist/internal-icons/icons/duo/AiDeveloper.js +0 -13
- package/dist/internal-icons/icons/duo/AiLoading.d.ts +0 -7
- package/dist/internal-icons/icons/duo/AiLoading.js +0 -13
- package/dist/internal-icons/icons/duo/Album3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Album3.js +0 -13
- package/dist/internal-icons/icons/duo/ArchiveContent2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArchiveContent2.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowRotate.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowRotate.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowsFilter.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowsFilter.js +0 -13
- package/dist/internal-icons/icons/duo/ArrowsToLineY2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ArrowsToLineY2.js +0 -13
- package/dist/internal-icons/icons/duo/Birdhouse.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Birdhouse.js +0 -13
- package/dist/internal-icons/icons/duo/BookmarkList.d.ts +0 -7
- package/dist/internal-icons/icons/duo/BookmarkList.js +0 -13
- package/dist/internal-icons/icons/duo/BookmarkedBook.d.ts +0 -7
- package/dist/internal-icons/icons/duo/BookmarkedBook.js +0 -13
- package/dist/internal-icons/icons/duo/BookmarkedBook2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/BookmarkedBook2.js +0 -13
- package/dist/internal-icons/icons/duo/Box3.js +0 -13
- package/dist/internal-icons/icons/duo/BoxSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/BoxSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/BoxSparkle2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/BoxSparkle2.js +0 -13
- package/dist/internal-icons/icons/duo/Brochure.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Brochure.js +0 -13
- package/dist/internal-icons/icons/duo/ButtonPlus.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ButtonPlus.js +0 -13
- package/dist/internal-icons/icons/duo/Calculator3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Calculator3.js +0 -13
- package/dist/internal-icons/icons/duo/Chart3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Chart3.js +0 -13
- package/dist/internal-icons/icons/duo/ChartBar.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChartBar.js +0 -13
- package/dist/internal-icons/icons/duo/ChartCandlestick2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChartCandlestick2.js +0 -13
- package/dist/internal-icons/icons/duo/ChatImage.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChatImage.js +0 -13
- package/dist/internal-icons/icons/duo/ChatInfo.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChatInfo.js +0 -13
- package/dist/internal-icons/icons/duo/ChatTask.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChatTask.js +0 -13
- package/dist/internal-icons/icons/duo/CheckBoxArrow.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CheckBoxArrow.js +0 -13
- package/dist/internal-icons/icons/duo/ChevronLeftToLine.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChevronLeftToLine.js +0 -13
- package/dist/internal-icons/icons/duo/ChevronRightToLine.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ChevronRightToLine.js +0 -13
- package/dist/internal-icons/icons/duo/Child.js +0 -13
- package/dist/internal-icons/icons/duo/CircleCoinIn.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleCoinIn.js +0 -13
- package/dist/internal-icons/icons/duo/CircleCoinOut.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleCoinOut.js +0 -13
- package/dist/internal-icons/icons/duo/CircleCoinPlus.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleCoinPlus.js +0 -13
- package/dist/internal-icons/icons/duo/CircleConversion.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleConversion.js +0 -13
- package/dist/internal-icons/icons/duo/CircleCross.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleCross.js +0 -13
- package/dist/internal-icons/icons/duo/CircleHalfArrowDown.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleHalfArrowDown.js +0 -13
- package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.js +0 -13
- package/dist/internal-icons/icons/duo/CircleHalfArrowRight.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleHalfArrowRight.js +0 -13
- package/dist/internal-icons/icons/duo/CircleHalfArrowUp.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleHalfArrowUp.js +0 -13
- package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.js +0 -13
- package/dist/internal-icons/icons/duo/ClockTime.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ClockTime.js +0 -13
- package/dist/internal-icons/icons/duo/CloneDashed3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CloneDashed3.js +0 -13
- package/dist/internal-icons/icons/duo/CloneImageDashed.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CloneImageDashed.js +0 -13
- package/dist/internal-icons/icons/duo/CloneVideoDashed.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CloneVideoDashed.js +0 -13
- package/dist/internal-icons/icons/duo/CloudeCode.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CloudeCode.js +0 -13
- package/dist/internal-icons/icons/duo/CoinStack.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CoinStack.js +0 -13
- package/dist/internal-icons/icons/duo/ConditionalLogic.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ConditionalLogic.js +0 -13
- package/dist/internal-icons/icons/duo/ConnectPlus.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ConnectPlus.js +0 -13
- package/dist/internal-icons/icons/duo/Connection3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Connection3.js +0 -13
- package/dist/internal-icons/icons/duo/CopyDelete.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CopyDelete.js +0 -13
- package/dist/internal-icons/icons/duo/CopyId.d.ts +0 -7
- package/dist/internal-icons/icons/duo/CopyId.js +0 -13
- package/dist/internal-icons/icons/duo/Deaf.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Deaf.js +0 -13
- package/dist/internal-icons/icons/duo/DependencyLink.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DependencyLink.js +0 -13
- package/dist/internal-icons/icons/duo/DesktopDock.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DesktopDock.js +0 -13
- package/dist/internal-icons/icons/duo/DiamondSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DiamondSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/DocumentScan.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DocumentScan.js +0 -13
- package/dist/internal-icons/icons/duo/Dog2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Dog2.js +0 -13
- package/dist/internal-icons/icons/duo/DogLeash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DogLeash.js +0 -13
- package/dist/internal-icons/icons/duo/DogSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DogSlash.js +0 -13
- package/dist/internal-icons/icons/duo/DotFormation.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DotFormation.js +0 -13
- package/dist/internal-icons/icons/duo/DrawFinger.d.ts +0 -7
- package/dist/internal-icons/icons/duo/DrawFinger.js +0 -13
- package/dist/internal-icons/icons/duo/Ear.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Ear.js +0 -13
- package/dist/internal-icons/icons/duo/EarSound.d.ts +0 -7
- package/dist/internal-icons/icons/duo/EarSound.js +0 -13
- package/dist/internal-icons/icons/duo/Embed.js +0 -13
- package/dist/internal-icons/icons/duo/EnterDoor.d.ts +0 -7
- package/dist/internal-icons/icons/duo/EnterDoor.js +0 -13
- package/dist/internal-icons/icons/duo/EnterHome.d.ts +0 -7
- package/dist/internal-icons/icons/duo/EnterHome.js +0 -13
- package/dist/internal-icons/icons/duo/ExitDoor.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ExitDoor.js +0 -13
- package/dist/internal-icons/icons/duo/Export2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Export2.js +0 -13
- package/dist/internal-icons/icons/duo/EyeSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/EyeSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/FaceRobot.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FaceRobot.js +0 -13
- package/dist/internal-icons/icons/duo/FaceRobot2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FaceRobot2.js +0 -13
- package/dist/internal-icons/icons/duo/FaceRobot3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FaceRobot3.js +0 -13
- package/dist/internal-icons/icons/duo/FerrisWheel.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FerrisWheel.js +0 -13
- package/dist/internal-icons/icons/duo/FileExport.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FileExport.js +0 -13
- package/dist/internal-icons/icons/duo/FlagMenu.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FlagMenu.js +0 -13
- package/dist/internal-icons/icons/duo/FocusCenter.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FocusCenter.js +0 -13
- package/dist/internal-icons/icons/duo/FoodOrder.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FoodOrder.js +0 -13
- package/dist/internal-icons/icons/duo/FuelCan.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FuelCan.js +0 -13
- package/dist/internal-icons/icons/duo/FuelCan2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/FuelCan2.js +0 -13
- package/dist/internal-icons/icons/duo/Gear3Sparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Gear3Sparkle.js +0 -13
- package/dist/internal-icons/icons/duo/GridSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/GridSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/HandHoldingGlobe.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HandHoldingGlobe.js +0 -13
- package/dist/internal-icons/icons/duo/Handshake2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Handshake2.js +0 -13
- package/dist/internal-icons/icons/duo/Haptic.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Haptic.js +0 -13
- package/dist/internal-icons/icons/duo/HelpChat.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HelpChat.js +0 -13
- package/dist/internal-icons/icons/duo/HexagonSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HexagonSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/Hiking.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Hiking.js +0 -13
- package/dist/internal-icons/icons/duo/History2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/History2.js +0 -13
- package/dist/internal-icons/icons/duo/HorseHead.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HorseHead.js +0 -13
- package/dist/internal-icons/icons/duo/HouseDollarSign.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HouseDollarSign.js +0 -13
- package/dist/internal-icons/icons/duo/HouseMinus2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/HouseMinus2.js +0 -13
- package/dist/internal-icons/icons/duo/Images3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Img4k.js +0 -13
- package/dist/internal-icons/icons/duo/InsertCrypto.d.ts +0 -7
- package/dist/internal-icons/icons/duo/InsertCrypto.js +0 -13
- package/dist/internal-icons/icons/duo/InsertDollar.d.ts +0 -7
- package/dist/internal-icons/icons/duo/InsertDollar.js +0 -13
- package/dist/internal-icons/icons/duo/InstantMoney.d.ts +0 -7
- package/dist/internal-icons/icons/duo/InstantMoney.js +0 -13
- package/dist/internal-icons/icons/duo/InvoiceIn.d.ts +0 -7
- package/dist/internal-icons/icons/duo/InvoiceIn.js +0 -13
- package/dist/internal-icons/icons/duo/InwardFlow.d.ts +0 -7
- package/dist/internal-icons/icons/duo/InwardFlow.js +0 -13
- package/dist/internal-icons/icons/duo/JoinedHands.d.ts +0 -7
- package/dist/internal-icons/icons/duo/JoinedHands.js +0 -13
- package/dist/internal-icons/icons/duo/LawShield.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LawShield.js +0 -13
- package/dist/internal-icons/icons/duo/Lectern.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Lectern.js +0 -13
- package/dist/internal-icons/icons/duo/Lectern2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Lectern2.js +0 -13
- package/dist/internal-icons/icons/duo/LightSpark.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LightSpark.js +0 -13
- package/dist/internal-icons/icons/duo/LightSpark2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LightSpark2.js +0 -13
- package/dist/internal-icons/icons/duo/ListExport.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ListExport.js +0 -13
- package/dist/internal-icons/icons/duo/ListFavs3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ListFavs3.js +0 -13
- package/dist/internal-icons/icons/duo/ListFavs4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ListFavs4.js +0 -13
- package/dist/internal-icons/icons/duo/LoadingStatus.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LoadingStatus.js +0 -13
- package/dist/internal-icons/icons/duo/LoadingStatus2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LoadingStatus2.js +0 -13
- package/dist/internal-icons/icons/duo/LockedChat.d.ts +0 -7
- package/dist/internal-icons/icons/duo/LockedChat.js +0 -13
- package/dist/internal-icons/icons/duo/MagicHat.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MagicHat.js +0 -13
- package/dist/internal-icons/icons/duo/MagicRabbit.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MagicRabbit.js +0 -13
- package/dist/internal-icons/icons/duo/MagnifierSparkle2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MagnifierSparkle2.js +0 -13
- package/dist/internal-icons/icons/duo/MediaLibrary2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MediaLibrary2.js +0 -13
- package/dist/internal-icons/icons/duo/Membership.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Membership.js +0 -13
- package/dist/internal-icons/icons/duo/Menu4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Menu4.js +0 -13
- package/dist/internal-icons/icons/duo/MilitaryMedal.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MilitaryMedal.js +0 -13
- package/dist/internal-icons/icons/duo/MobileCircuit.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MobileCircuit.js +0 -13
- package/dist/internal-icons/icons/duo/MoneyRefund.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MoneyRefund.js +0 -13
- package/dist/internal-icons/icons/duo/MoneyRefund2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MoneyRefund2.js +0 -13
- package/dist/internal-icons/icons/duo/MotionAlongPath.d.ts +0 -7
- package/dist/internal-icons/icons/duo/MotionAlongPath.js +0 -13
- package/dist/internal-icons/icons/duo/Msgs2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Msgs2.js +0 -13
- package/dist/internal-icons/icons/duo/Navigation.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Navigation.js +0 -13
- package/dist/internal-icons/icons/duo/NavigationHorizontal.d.ts +0 -7
- package/dist/internal-icons/icons/duo/NavigationHorizontal.js +0 -13
- package/dist/internal-icons/icons/duo/NavigationVertical.d.ts +0 -7
- package/dist/internal-icons/icons/duo/NavigationVertical.js +0 -13
- package/dist/internal-icons/icons/duo/ObjectSelection.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ObjectSelection.js +0 -13
- package/dist/internal-icons/icons/duo/OfficeUser.d.ts +0 -7
- package/dist/internal-icons/icons/duo/OfficeUser.js +0 -13
- package/dist/internal-icons/icons/duo/OpenExternal.d.ts +0 -7
- package/dist/internal-icons/icons/duo/OpenExternal.js +0 -13
- package/dist/internal-icons/icons/duo/OrbitSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/OrbitSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/OutwardFlow.d.ts +0 -7
- package/dist/internal-icons/icons/duo/OutwardFlow.js +0 -13
- package/dist/internal-icons/icons/duo/PaperPlaneFast.d.ts +0 -7
- package/dist/internal-icons/icons/duo/PaperPlaneFast.js +0 -13
- package/dist/internal-icons/icons/duo/Parachute.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Parachute.js +0 -13
- package/dist/internal-icons/icons/duo/Paw.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Paw.js +0 -13
- package/dist/internal-icons/icons/duo/Peace.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Peace.js +0 -13
- package/dist/internal-icons/icons/duo/PicnicTable.d.ts +0 -7
- package/dist/internal-icons/icons/duo/PicnicTable.js +0 -13
- package/dist/internal-icons/icons/duo/Pillow.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Pillow.js +0 -13
- package/dist/internal-icons/icons/duo/Playground.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Playground.js +0 -13
- package/dist/internal-icons/icons/duo/Playlist4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Playlist4.js +0 -13
- package/dist/internal-icons/icons/duo/Plug3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Plug3.js +0 -13
- package/dist/internal-icons/icons/duo/Plug3Sparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Plug3Sparkle.js +0 -13
- package/dist/internal-icons/icons/duo/PlugOff.d.ts +0 -7
- package/dist/internal-icons/icons/duo/PlugOff.js +0 -13
- package/dist/internal-icons/icons/duo/PlugSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/PlugSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/PopEffect.d.ts +0 -7
- package/dist/internal-icons/icons/duo/PopEffect.js +0 -13
- package/dist/internal-icons/icons/duo/ProfileAnalytics.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ProfileAnalytics.js +0 -13
- package/dist/internal-icons/icons/duo/ProfileBasic.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ProgressIndicator2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ProgressIndicator2.js +0 -13
- package/dist/internal-icons/icons/duo/QuickActions.d.ts +0 -7
- package/dist/internal-icons/icons/duo/QuickActions.js +0 -13
- package/dist/internal-icons/icons/duo/QuickTimer.d.ts +0 -7
- package/dist/internal-icons/icons/duo/QuickTimer.js +0 -13
- package/dist/internal-icons/icons/duo/Rabbit.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Rabbit.js +0 -13
- package/dist/internal-icons/icons/duo/Receipt3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Receipt3.js +0 -13
- package/dist/internal-icons/icons/duo/Receipt4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Receipt4.js +0 -13
- package/dist/internal-icons/icons/duo/Redo2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Redo2.js +0 -13
- package/dist/internal-icons/icons/duo/Redo3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Redo3.js +0 -13
- package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.js +0 -13
- package/dist/internal-icons/icons/duo/Refrigerator.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Refrigerator.js +0 -13
- package/dist/internal-icons/icons/duo/RemoteControl.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RemoteControl.js +0 -13
- package/dist/internal-icons/icons/duo/RemoteControl2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RemoteControl2.js +0 -13
- package/dist/internal-icons/icons/duo/ReportFile.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ReportFile.js +0 -13
- package/dist/internal-icons/icons/duo/Reposition.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Reposition.js +0 -13
- package/dist/internal-icons/icons/duo/Rerouting.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Rerouting.js +0 -13
- package/dist/internal-icons/icons/duo/Robot2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Robot2.js +0 -13
- package/dist/internal-icons/icons/duo/Robot3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Robot3.js +0 -13
- package/dist/internal-icons/icons/duo/Robot4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Robot4.js +0 -13
- package/dist/internal-icons/icons/duo/RockOn.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RockOn.js +0 -13
- package/dist/internal-icons/icons/duo/RopeStanchions.d.ts +0 -7
- package/dist/internal-icons/icons/duo/RopeStanchions.js +0 -13
- package/dist/internal-icons/icons/duo/Rotation3602.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Rotation3602.js +0 -13
- package/dist/internal-icons/icons/duo/SavedItems2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ScaleImg4k.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ScaleImg4k.js +0 -13
- package/dist/internal-icons/icons/duo/ScanImage.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ScanImage.js +0 -13
- package/dist/internal-icons/icons/duo/ScissorsSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ScissorsSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/Seatbelt.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Seatbelt.js +0 -13
- package/dist/internal-icons/icons/duo/ShakaHand.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ShakaHand.js +0 -13
- package/dist/internal-icons/icons/duo/ShapeRectangle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ShapeRectangle.js +0 -13
- package/dist/internal-icons/icons/duo/Shovel.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Shovel.js +0 -13
- package/dist/internal-icons/icons/duo/ShuffleSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/ShuffleSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/SideProfileQuestion.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SideProfileQuestion.js +0 -13
- package/dist/internal-icons/icons/duo/SideProfileSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SideProfileSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/SidebarEdit.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SidebarEdit.js +0 -13
- package/dist/internal-icons/icons/duo/SlashCircle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SlashCircle.js +0 -13
- package/dist/internal-icons/icons/duo/Sliders4.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Sliders4.js +0 -13
- package/dist/internal-icons/icons/duo/Snail.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Snail.js +0 -13
- package/dist/internal-icons/icons/duo/Spiral.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Spiral.js +0 -13
- package/dist/internal-icons/icons/duo/SplitView.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SplitView.js +0 -13
- package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.js +0 -13
- package/dist/internal-icons/icons/duo/SquareDashedText.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SquareDashedText.js +0 -13
- package/dist/internal-icons/icons/duo/SquarePath.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SquarePath.js +0 -13
- package/dist/internal-icons/icons/duo/Star2Slash.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Star2Slash.js +0 -13
- package/dist/internal-icons/icons/duo/StopSign.d.ts +0 -7
- package/dist/internal-icons/icons/duo/StopSign.js +0 -13
- package/dist/internal-icons/icons/duo/StopwatchBolt.d.ts +0 -7
- package/dist/internal-icons/icons/duo/StopwatchBolt.js +0 -13
- package/dist/internal-icons/icons/duo/SummitFlag.d.ts +0 -7
- package/dist/internal-icons/icons/duo/SummitFlag.js +0 -13
- package/dist/internal-icons/icons/duo/Sunrise2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Sunrise2.js +0 -13
- package/dist/internal-icons/icons/duo/Task.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Task.js +0 -13
- package/dist/internal-icons/icons/duo/Task2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Task2.js +0 -13
- package/dist/internal-icons/icons/duo/TaskDebug.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TaskDebug.js +0 -13
- package/dist/internal-icons/icons/duo/TaskSearch.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TaskSearch.js +0 -13
- package/dist/internal-icons/icons/duo/Teepee.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Teepee.js +0 -13
- package/dist/internal-icons/icons/duo/TextAdjust.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TextAdjust.js +0 -13
- package/dist/internal-icons/icons/duo/TheatreMask.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TheatreMask.js +0 -13
- package/dist/internal-icons/icons/duo/TheatreMask2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TheatreMask2.js +0 -13
- package/dist/internal-icons/icons/duo/TimerProgress.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TimerProgress.js +0 -13
- package/dist/internal-icons/icons/duo/TimerProgress2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TimerProgress2.js +0 -13
- package/dist/internal-icons/icons/duo/TransactionSplit.d.ts +0 -7
- package/dist/internal-icons/icons/duo/TransactionSplit.js +0 -13
- package/dist/internal-icons/icons/duo/Undo2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Undo2.js +0 -13
- package/dist/internal-icons/icons/duo/Undo3.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Undo3.js +0 -13
- package/dist/internal-icons/icons/duo/UnicornHead.d.ts +0 -7
- package/dist/internal-icons/icons/duo/UnicornHead.js +0 -13
- package/dist/internal-icons/icons/duo/UserContact.d.ts +0 -7
- package/dist/internal-icons/icons/duo/UserContact.js +0 -13
- package/dist/internal-icons/icons/duo/UserVoice2.d.ts +0 -7
- package/dist/internal-icons/icons/duo/UserVoice2.js +0 -13
- package/dist/internal-icons/icons/duo/VipBadge.d.ts +0 -7
- package/dist/internal-icons/icons/duo/VipBadge.js +0 -13
- package/dist/internal-icons/icons/duo/VoiceCaption.d.ts +0 -7
- package/dist/internal-icons/icons/duo/VoiceCaption.js +0 -13
- package/dist/internal-icons/icons/duo/WalletCoins.d.ts +0 -7
- package/dist/internal-icons/icons/duo/WalletCoins.js +0 -13
- package/dist/internal-icons/icons/duo/Weight.d.ts +0 -7
- package/dist/internal-icons/icons/duo/Weight.js +0 -13
package/dist/catalog.json
CHANGED
|
@@ -8,6 +8,18 @@
|
|
|
8
8
|
"summary": "Circular identity image or fallback for users, entities, or profile chips.",
|
|
9
9
|
"guidePath": "./components/avatar/avatar.guide.json"
|
|
10
10
|
},
|
|
11
|
+
{
|
|
12
|
+
"id": "avatar-group",
|
|
13
|
+
"name": "AvatarGroup",
|
|
14
|
+
"summary": "Overlapping avatar stack with shared sizing, directional layout, and an optional overflow pill.",
|
|
15
|
+
"guidePath": "./components/avatar-group/avatar-group.guide.json"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"id": "chip",
|
|
19
|
+
"name": "Chip",
|
|
20
|
+
"summary": "Compact visual label primitive for short status, category, or metadata treatments.",
|
|
21
|
+
"guidePath": "./components/chip/chip.guide.json"
|
|
22
|
+
},
|
|
11
23
|
{
|
|
12
24
|
"id": "clamp-text",
|
|
13
25
|
"name": "ClampText",
|
|
@@ -32,6 +44,18 @@
|
|
|
32
44
|
"summary": "Icon-only button that requires an accessible name through aria-label or aria-labelledby.",
|
|
33
45
|
"guidePath": "./components/icon-button/icon-button.guide.json"
|
|
34
46
|
},
|
|
47
|
+
{
|
|
48
|
+
"id": "linear-progress",
|
|
49
|
+
"name": "LinearProgress",
|
|
50
|
+
"summary": "Shows determinate or indeterminate progress for a task in a compact horizontal track.",
|
|
51
|
+
"guidePath": "./components/linear-progress/linear-progress.guide.json"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "masonry",
|
|
55
|
+
"name": "Masonry",
|
|
56
|
+
"summary": "Multi-column layout primitive for read-only mixed-height content walls.",
|
|
57
|
+
"guidePath": "./components/masonry/masonry.guide.json"
|
|
58
|
+
},
|
|
35
59
|
{
|
|
36
60
|
"id": "textfield",
|
|
37
61
|
"name": "Textfield",
|
|
@@ -62,6 +86,12 @@
|
|
|
62
86
|
"summary": "Field-wrapped checkbox control with optional field copy.",
|
|
63
87
|
"guidePath": "./components/checkbox/checkbox.guide.json"
|
|
64
88
|
},
|
|
89
|
+
{
|
|
90
|
+
"id": "radio",
|
|
91
|
+
"name": "Radio",
|
|
92
|
+
"summary": "Mutually exclusive choice within a RadioGroup, with optional per-option label and helper text.",
|
|
93
|
+
"guidePath": "./components/radio/radio.guide.json"
|
|
94
|
+
},
|
|
65
95
|
{
|
|
66
96
|
"id": "select",
|
|
67
97
|
"name": "Select",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.avatar-module_Avatar_BRuS3{--avatar-size:var(--space-2x-large);--avatar-background:var(--global-contrast);--avatar-foreground:var(--global-foreground);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--avatar-size);block-size:var(--avatar-size);min-inline-size:var(--avatar-size);min-block-size:var(--avatar-size);overflow:hidden;border-radius:var(--radius
|
|
1
|
+
.avatar-module_Avatar_BRuS3{--avatar-size:var(--space-2x-large);--avatar-background:var(--global-contrast);--avatar-foreground:var(--global-foreground);--avatar-radius:var(--radius-infinite);display:inline-flex;align-items:center;justify-content:center;inline-size:var(--avatar-size);block-size:var(--avatar-size);min-inline-size:var(--avatar-size);min-block-size:var(--avatar-size);overflow:hidden;border-radius:var(--avatar-radius);background:var(--avatar-background);color:var(--avatar-foreground);vertical-align:middle;-webkit-user-select:none;user-select:none;container-name:viraui-avatar;container-type:inline-size;&[data-size=x-small]{--avatar-size:var(--space-large)}&[data-size=small]{--avatar-size:var(--space-2x-large)}&[data-size=regular]{--avatar-size:var(--space-wide)}&[data-size=big]{--avatar-size:var(--space-2x-wide)}}.avatar-module_Image_Q7bHi{inline-size:100%;block-size:100%;display:block;object-fit:cover}.avatar-module_Label_QASTF{font-size:30cqw}
|
|
@@ -8,7 +8,7 @@ import type * as React from 'react';
|
|
|
8
8
|
*
|
|
9
9
|
* @default Native span pass-through props keep React defaults.
|
|
10
10
|
*/
|
|
11
|
-
export type AvatarProps = React.
|
|
11
|
+
export type AvatarProps = React.ComponentPropsWithRef<'span'> & IntrinsicViraProps & {
|
|
12
12
|
/**
|
|
13
13
|
* Supplies the avatar image source URL.
|
|
14
14
|
*
|
|
@@ -25,6 +25,8 @@ var Avatar$1 = ({ alt = "", className, fallback, loading = false, ref, size = "s
|
|
|
25
25
|
"data-has-image": hasImage ? "true" : "false",
|
|
26
26
|
"data-loading": loading ? "true" : "false",
|
|
27
27
|
"data-size": size,
|
|
28
|
+
"data-grow": false,
|
|
29
|
+
"data-shrink": false,
|
|
28
30
|
children: loading ? /* @__PURE__ */ jsx(Skeleton, {
|
|
29
31
|
minHeight: "100%",
|
|
30
32
|
minWidth: "100%",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.avatar-group-module_AvatarGroup_zOrR-{--avatar-size:var(--space-2x-large);--avatar-overlap-distance:var(--space-medium);--avatar-group-gap-size:var(--space-x-small);--avatar-mask-anti-alias-size:0.5px;--avatar-mask-radius:calc((var(--avatar-size) / 2) + var(--avatar-group-gap-size));display:inline-flex;flex-wrap:nowrap;align-items:flex-start;min-inline-size:max-content;vertical-align:middle;&[data-direction=horizontal]{flex-direction:row}&[data-direction=vertical]{flex-direction:column}&[data-size=x-small]{--avatar-size:var(--space-large);--avatar-overlap-distance:var(--space-x-small)}&[data-size=small]{--avatar-size:var(--space-2x-large);--avatar-overlap-distance:var(--space-small)}&[data-size=regular]{--avatar-size:var(--space-wide);--avatar-overlap-distance:var(--space-medium)}&[data-size=big]{--avatar-size:var(--space-2x-wide);--avatar-overlap-distance:var(--space-large)}}.avatar-group-module_AvatarWrapper_0opqY{position:relative;display:inline-flex;flex:0 0 auto;inline-size:var(--avatar-size);block-size:var(--avatar-size);.avatar-group-module_AvatarGroup_zOrR-[data-direction=horizontal] &:not(:first-child){margin-inline-start:calc(var(--avatar-overlap-distance) * -1)}.avatar-group-module_AvatarGroup_zOrR-[data-direction=vertical] &:not(:first-child){margin-block-start:calc(var(--avatar-overlap-distance) * -1)}.avatar-group-module_AvatarGroup_zOrR-:dir(ltr)[data-direction=horizontal] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at calc(100% + (var(--avatar-size) / 2) - var(--avatar-overlap-distance)) 50%,transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}.avatar-group-module_AvatarGroup_zOrR-:dir(rtl)[data-direction=horizontal] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at calc((var(--avatar-size) / 2) - var(--avatar-overlap-distance)) 50%,transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}.avatar-group-module_AvatarGroup_zOrR-[data-direction=vertical] &:not(:last-child){mask-image:radial-gradient(circle var(--avatar-mask-radius) at 50% calc(100% + (var(--avatar-size) / 2) - var(--avatar-overlap-distance)),transparent calc(var(--avatar-mask-radius) - var(--avatar-mask-anti-alias-size)),#000 calc(var(--avatar-mask-radius) + var(--avatar-mask-anti-alias-size)))}}.avatar-group-module_OverflowWrapper_bKv6I{inline-size:auto;min-inline-size:var(--avatar-size)}.avatar-group-module_AvatarGroupItem_Vvlyh{--avatar-radius:100%;corner-shape:unset}.avatar-group-module_OverflowPill_nMmTD{display:inline-flex;align-items:center;justify-content:center;min-inline-size:var(--avatar-size);block-size:var(--avatar-size);min-block-size:var(--avatar-size);corner-shape:unset}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AvatarProps } from '..';
|
|
2
|
+
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
3
|
+
import { ThemeTypes } from '@viraui/foundation/vira/types';
|
|
4
|
+
import type * as React from 'react';
|
|
5
|
+
type AvatarGroupAvatarProps = Omit<AvatarProps, 'size' | 'ref'>;
|
|
6
|
+
/**
|
|
7
|
+
* Public AvatarGroup props.
|
|
8
|
+
*
|
|
9
|
+
* Includes standard `div` attributes such as `id`, `role`, `title`, data attributes, and event handlers,
|
|
10
|
+
* plus Vira-owned avatar composition controls.
|
|
11
|
+
*
|
|
12
|
+
* @default Native div pass-through props keep React defaults.
|
|
13
|
+
*/
|
|
14
|
+
export type AvatarGroupProps = React.ComponentPropsWithRef<'div'> & IntrinsicViraProps & {
|
|
15
|
+
/**
|
|
16
|
+
* Supplies the avatar payloads rendered by the group in DOM order.
|
|
17
|
+
*
|
|
18
|
+
* @default No default; consumers must provide an array.
|
|
19
|
+
*/
|
|
20
|
+
avatars: AvatarGroupAvatarProps[];
|
|
21
|
+
/**
|
|
22
|
+
* Selects the shared avatar footprint for every rendered avatar.
|
|
23
|
+
*
|
|
24
|
+
* @default 'small'
|
|
25
|
+
*/
|
|
26
|
+
size?: AvatarProps['size'];
|
|
27
|
+
/**
|
|
28
|
+
* Chooses whether avatars overlap across the inline or block axis.
|
|
29
|
+
*
|
|
30
|
+
* @default 'horizontal'
|
|
31
|
+
*/
|
|
32
|
+
direction?: 'horizontal' | 'vertical';
|
|
33
|
+
/**
|
|
34
|
+
* Sets the empty visual separation preserved inside the overlap cutout.
|
|
35
|
+
*
|
|
36
|
+
* @default 'x-small'
|
|
37
|
+
*/
|
|
38
|
+
gap?: Extract<ThemeTypes['space'], '2x-small' | 'x-small' | 'small'>;
|
|
39
|
+
/**
|
|
40
|
+
* Limits how many real avatars render before the optional overflow pill is appended.
|
|
41
|
+
*
|
|
42
|
+
* Omitted, zero, and negative values are ignored.
|
|
43
|
+
*
|
|
44
|
+
* @default No truncation.
|
|
45
|
+
*/
|
|
46
|
+
maxVisible?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Supplies the content rendered inside the optional overflow pill when truncation is active.
|
|
49
|
+
*
|
|
50
|
+
* @default No overflow pill content.
|
|
51
|
+
*/
|
|
52
|
+
overflowText?: React.ReactNode;
|
|
53
|
+
};
|
|
54
|
+
export declare const AvatarGroup: React.FC<AvatarGroupProps>;
|
|
55
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "AvatarGroup",
|
|
3
|
+
"summary": "Overlapping avatar stack with shared sizing, directional layout, and an optional overflow pill.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Show a compact list of people or entities with consistent avatar sizing",
|
|
6
|
+
"Display overlapping circular identity clusters in horizontal or vertical layouts",
|
|
7
|
+
"Collapse long avatar lists into a final overflow pill such as +15 or +9938"
|
|
8
|
+
],
|
|
9
|
+
"whenNotToUse": ["Interactive chip collections that need per-item actions", "Mixed avatar sizes inside one group"],
|
|
10
|
+
"accessibility": [
|
|
11
|
+
"Provide meaningful alt text on each avatar image when identity matters",
|
|
12
|
+
"Treat overflow content such as +3 or +9938 as summary text rather than an interactive affordance",
|
|
13
|
+
"Keep decorative avatars on empty alt text when the surrounding context already labels the group"
|
|
14
|
+
],
|
|
15
|
+
"antiPatterns": [
|
|
16
|
+
"Passing per-avatar size values instead of using the group size prop",
|
|
17
|
+
"Expecting AvatarGroup to derive hidden-count labels instead of passing overflowText directly",
|
|
18
|
+
"Expecting grouped avatars to follow theme radius tokens instead of always rendering as circles",
|
|
19
|
+
"Using non-positive maxVisible values expecting truncation"
|
|
20
|
+
],
|
|
21
|
+
"related": ["Avatar"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import './avatar-group.css';
|
|
2
|
+
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
3
|
+
import { Avatar } from "../avatar/avatar.js";
|
|
4
|
+
import { resolveThemeValue } from "../../core/theme/resolve-theme-value.js";
|
|
5
|
+
import avatar_group_module_default from "./avatar-group.module.js";
|
|
6
|
+
import { Stack } from "../stack/stack.js";
|
|
7
|
+
import { Text } from "../text/text.js";
|
|
8
|
+
import { Surface } from "../surface/surface.js";
|
|
9
|
+
import { clsx } from "clsx";
|
|
10
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
+
//#region src/components/avatar-group/avatar-group.tsx
|
|
12
|
+
var getAvatarKey = (avatar, index) => `${avatar.src ?? "fallback"}-${typeof avatar.fallback === "string" ? avatar.fallback : "node"}-${index}`;
|
|
13
|
+
var AvatarGroup = ({ avatars, className, direction = "horizontal", gap = "x-small", maxVisible, overflowText, size = "small", style, ...otherProps }) => {
|
|
14
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
15
|
+
const isOverflowing = typeof maxVisible === "number" && maxVisible > 0 && avatars.length > maxVisible;
|
|
16
|
+
const hasOverflow = isOverflowing && overflowText !== void 0 && overflowText !== null;
|
|
17
|
+
const truncatedAvatars = isOverflowing ? avatars.slice(0, maxVisible) : avatars;
|
|
18
|
+
const dynamicStyle = {
|
|
19
|
+
"--avatar-group-gap-size": resolveThemeValue(gap, "space", "var(--space-x-small)"),
|
|
20
|
+
...style
|
|
21
|
+
};
|
|
22
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
23
|
+
...componentProps,
|
|
24
|
+
...intrinsicAttributes,
|
|
25
|
+
className: clsx(avatar_group_module_default.AvatarGroup, className),
|
|
26
|
+
"data-direction": direction,
|
|
27
|
+
"data-gap": gap,
|
|
28
|
+
"data-has-overflow": hasOverflow ? "true" : "false",
|
|
29
|
+
"data-size": size,
|
|
30
|
+
style: dynamicStyle,
|
|
31
|
+
children: [truncatedAvatars.map((avatar, index) => /* @__PURE__ */ jsx("div", {
|
|
32
|
+
className: avatar_group_module_default.AvatarWrapper,
|
|
33
|
+
children: /* @__PURE__ */ jsx(Avatar, {
|
|
34
|
+
className: avatar_group_module_default.AvatarGroupItem,
|
|
35
|
+
...avatar,
|
|
36
|
+
size
|
|
37
|
+
})
|
|
38
|
+
}, getAvatarKey(avatar, index))), hasOverflow && /* @__PURE__ */ jsx("div", {
|
|
39
|
+
className: clsx(avatar_group_module_default.AvatarWrapper, avatar_group_module_default.OverflowWrapper),
|
|
40
|
+
children: /* @__PURE__ */ jsx(Surface, {
|
|
41
|
+
className: avatar_group_module_default.OverflowPill,
|
|
42
|
+
color: 3,
|
|
43
|
+
render: /* @__PURE__ */ jsx(Stack, {
|
|
44
|
+
inline: true,
|
|
45
|
+
direction: "row",
|
|
46
|
+
fillChildren: false,
|
|
47
|
+
hAlign: "center",
|
|
48
|
+
vAlign: "center",
|
|
49
|
+
hPadding: "medium"
|
|
50
|
+
}),
|
|
51
|
+
style: { "--surface-border-radius": "1e5px" },
|
|
52
|
+
children: /* @__PURE__ */ jsx(Text, {
|
|
53
|
+
whiteSpace: "nowrap",
|
|
54
|
+
children: overflowText
|
|
55
|
+
})
|
|
56
|
+
})
|
|
57
|
+
})]
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { AvatarGroup };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
var avatar_group_module_default = {
|
|
2
|
+
AvatarGroup: "avatar-group-module_AvatarGroup_zOrR-",
|
|
3
|
+
AvatarWrapper: "avatar-group-module_AvatarWrapper_0opqY",
|
|
4
|
+
OverflowWrapper: "avatar-group-module_OverflowWrapper_bKv6I",
|
|
5
|
+
AvatarGroupItem: "avatar-group-module_AvatarGroupItem_Vvlyh",
|
|
6
|
+
OverflowPill: "avatar-group-module_OverflowPill_nMmTD"
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { avatar_group_module_default as default };
|
|
@@ -16,7 +16,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
|
|
|
16
16
|
match: true,
|
|
17
17
|
render: /* @__PURE__ */ jsx(Text, {
|
|
18
18
|
selection: false,
|
|
19
|
-
size: "
|
|
19
|
+
size: "small",
|
|
20
20
|
tone: "danger"
|
|
21
21
|
}),
|
|
22
22
|
children: error
|
|
@@ -25,7 +25,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
|
|
|
25
25
|
className,
|
|
26
26
|
render: /* @__PURE__ */ jsx(Text, {
|
|
27
27
|
selection: false,
|
|
28
|
-
size: "
|
|
28
|
+
size: "small",
|
|
29
29
|
tone: "muted"
|
|
30
30
|
}),
|
|
31
31
|
children: description
|
|
@@ -34,7 +34,7 @@ var FieldHelperCopy = ({ className, description, error }) => /* @__PURE__ */ jsx
|
|
|
34
34
|
className,
|
|
35
35
|
render: /* @__PURE__ */ jsx(Text, {
|
|
36
36
|
selection: false,
|
|
37
|
-
size: "
|
|
37
|
+
size: "small",
|
|
38
38
|
tone: "danger"
|
|
39
39
|
})
|
|
40
40
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import './field-label.css';
|
|
2
1
|
"use client";
|
|
2
|
+
import './field-label.css';
|
|
3
3
|
import { Text } from "../text/text.js";
|
|
4
4
|
import field_label_module_default from "./field-label.module.js";
|
|
5
5
|
import { clsx } from "clsx";
|
|
@@ -12,12 +12,13 @@ import { jsx } from "react/jsx-runtime";
|
|
|
12
12
|
* label must associate with a control; choice inputs wrap `Field.Label` around the
|
|
13
13
|
* control and render this component for the visible label copy.
|
|
14
14
|
*/
|
|
15
|
-
var FieldLabel = ({ children, className }) => /* @__PURE__ */ jsx(Text, {
|
|
15
|
+
var FieldLabel = ({ children, className, size = "small", ...textProps }) => /* @__PURE__ */ jsx(Text, {
|
|
16
16
|
className: clsx(field_label_module_default.FieldLabel, className),
|
|
17
17
|
lineHeight: "small",
|
|
18
18
|
selection: false,
|
|
19
|
-
size
|
|
19
|
+
size,
|
|
20
20
|
weight: "semibold",
|
|
21
|
+
...textProps,
|
|
21
22
|
children
|
|
22
23
|
});
|
|
23
24
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.button-module_Button_oPhrP{--button-background:var(--global-primary);--button-color:var(--base-1);--button-height:var(--space-2x-large);--button-padding-inline:var(--space-medium);--button-padding-block:var(--space-small);--button-spinner-color:currentColor;--button-icon-size:1.125em;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-inline-size:min-content;max-block-size:var(--button-height);block-size:var(--button-height);justify-content:center;text-decoration:none;white-space:nowrap;appearance:button;overflow:hidden;position:relative;padding:var(--button-padding-block) var(--button-padding-inline);font-weight:400;font-variation-settings:"wght" 400;gap:var(--space-small);border:1px solid transparent;background:var(--button-background);color:var(--button-color);font-size:var(--font-scale-body-medium);border-radius:var(--radius-small);transition:translate var(--easing-elastic) var(--duration-instant);background-clip:padding-box;will-change:translate;&:not(:disabled):active{translate:0 1px}&[data-size=medium]{--button-height:var(--space-x-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-small);--button-icon-size:1.125em
|
|
1
|
+
.button-module_Button_oPhrP{--button-background:var(--global-primary);--button-color:var(--base-1);--button-height:var(--space-2x-large);--button-padding-inline:var(--space-medium);--button-padding-block:var(--space-small);--button-spinner-color:currentColor;--button-icon-size:1.125em;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;margin:0;cursor:pointer;font-family:inherit;display:inline-flex;align-items:center;min-inline-size:min-content;max-block-size:var(--button-height);block-size:var(--button-height);justify-content:center;text-decoration:none;white-space:nowrap;appearance:button;overflow:hidden;position:relative;padding:var(--button-padding-block) var(--button-padding-inline);font-weight:400;font-variation-settings:"wght" 400;gap:var(--space-small);border:1px solid transparent;background:var(--button-background);color:var(--button-color);font-size:var(--font-scale-body-medium);border-radius:var(--radius-small);transition:translate var(--easing-elastic) var(--duration-instant);background-clip:padding-box;will-change:translate;&:not(:disabled):active{translate:0 1px}&[data-size=medium]{--button-height:var(--space-x-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-small);--button-icon-size:1.125em}&[data-size=small]{--button-height:var(--space-large);--button-padding-inline:var(--space-small);--button-padding-block:var(--space-x-small);--button-icon-size:0.9em;gap:var(--space-x-small);font-size:var(--font-scale-body-small)}&[data-variant=primary]{--button-background:var(--global-primary);--button-color:contrast-color(var(--global-primary))}&[data-variant=secondary]{--button-background:var(--global-contrast);--button-color:var(--base-6);background-clip:unset;&:hover{--button-background:oklab(from var(--global-contrast) l a b/calc(alpha + 0.05))}}&[data-variant=flat]{--button-background:transparent;--button-color:var(--base-5);&:hover{--button-background:var(--global-contrast);--button-color:var(--base-7)}}&[data-variant=destructive]{--button-background:oklab(from var(--highlight-red) l a b/15%);--button-color:var(--highlight-red);&:hover{--button-background:oklab(from var(--highlight-red) l a b/30%)}}&[data-icon-position=start]{flex-direction:row}&[data-icon-position=end]{flex-direction:row-reverse}&[data-icon-only=true]{gap:0;padding-block:var(--button-padding-block);padding-inline:var(--button-padding-block);inline-size:var(--button-height);min-inline-size:var(--button-height);max-inline-size:var(--button-height);aspect-ratio:1/1}&:disabled,&:disabled:hover,&[aria-disabled=true]{--button-background:var(--global-disabled-background);--button-color:var(--global-disabled-foreground);cursor:not-allowed;box-shadow:none}&[data-loading=true][data-disabled]{pointer-events:none;border:0;box-shadow:none;--button-color:var(--base-7)}}.button-module_Content_w-pX-{display:inline-grid;place-items:center;&[data-loading=true]{opacity:0}&:first-child>svg{block-size:var(--button-icon-size);inline-size:var(--button-icon-size);flex-shrink:0}}.button-module_SpinnerOverlay_vKqw1{position:absolute;inset:0;display:grid;place-content:center;pointer-events:none}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.checkbox-module_Checkbox_3oGip{--checkbox-size:var(--space-medium);--checkbox-radius:var(--radius-x-small);--checkbox-background:var(--global-contrast);--checkbox-border-color:transparent;--checkbox-indicator-color:contrast-color(var(--global-primary));&:has([required]) [data-field-label]:after{content:" *";color:var(--highlight-red)}}.checkbox-module_CheckboxRoot_PeyF5{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--checkbox-border-color);inline-size:var(--checkbox-size);block-size:var(--checkbox-size);background:var(--checkbox-background);border-radius:var(--checkbox-radius);&[data-size=regular]{--checkbox-size:var(--space-large);--checkbox-radius:var(--radius-small)}&[data-checked]:not([data-disabled]):not([data-invalid]),&[data-indeterminate]:not([data-disabled]):not([data-invalid]){--checkbox-background:var(--global-primary);--checkbox-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),.checkbox-module_Checkbox_3oGip[data-invalid]>&:not([data-disabled]){--checkbox-border-color:var(--highlight-red);--checkbox-indicator-color:var(--
|
|
1
|
+
.checkbox-module_Checkbox_3oGip{--checkbox-size:var(--space-medium);--checkbox-radius:var(--radius-x-small);--checkbox-background:var(--global-contrast);--checkbox-border-color:transparent;--checkbox-indicator-color:contrast-color(var(--global-primary));&:has([required]) [data-field-label]:after{content:" *";color:var(--highlight-red)}}.checkbox-module_CheckboxRoot_PeyF5{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;appearance:none;border:0;box-shadow:inset 0 0 0 1px var(--checkbox-border-color);inline-size:var(--checkbox-size);block-size:var(--checkbox-size);background:var(--checkbox-background);border-radius:var(--checkbox-radius);&[data-size=regular]{--checkbox-size:var(--space-large);--checkbox-radius:var(--radius-small)}&[data-checked]:not([data-disabled]):not([data-invalid]),&[data-indeterminate]:not([data-disabled]):not([data-invalid]){--checkbox-background:var(--global-primary);--checkbox-border-color:var(--global-primary);box-shadow:none}&[data-invalid]:not([data-disabled]),.checkbox-module_Checkbox_3oGip[data-invalid]>&:not([data-disabled]){--checkbox-border-color:var(--highlight-red);--checkbox-indicator-color:var(--global-primary);box-shadow:inset 0 0 0 1px var(--highlight-red);outline-color:oklab(from var(--highlight-red) l a b/.5)}&[data-disabled],.checkbox-module_Checkbox_3oGip[data-disabled]>&{--checkbox-background:var(--global-disabled-background);--checkbox-border-color:transparent;--checkbox-indicator-color:var(--global-disabled-foreground);box-shadow:none;cursor:not-allowed}}.checkbox-module_Indicator_C-k-l{display:inline-flex;align-items:center;justify-content:center;color:var(--checkbox-indicator-color)}.checkbox-module_Icon_926Sa{stroke:currentColor}.checkbox-module_CheckboxRoot_PeyF5:not([data-indeterminate]) .checkbox-module_MinusIcon_Q57pY,.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_CheckIcon_XqUcs{display:none}.checkbox-module_CheckboxRoot_PeyF5[data-indeterminate] .checkbox-module_MinusIcon_Q57pY{display:inline-flex}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import './checkbox.css';
|
|
2
1
|
"use client";
|
|
2
|
+
import './checkbox.css';
|
|
3
3
|
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
4
|
+
import { Stack } from "../stack/stack.js";
|
|
4
5
|
import { FieldHelperCopy } from "../basic-input/field-helper-copy.js";
|
|
5
6
|
import { FieldLabel } from "../basic-input/field-label.js";
|
|
6
|
-
import { Stack } from "../stack/stack.js";
|
|
7
7
|
import checkbox_module_default from "./checkbox.module.js";
|
|
8
8
|
import { Icon } from "../icon/icon.js";
|
|
9
9
|
import { clsx } from "clsx";
|
|
@@ -61,7 +61,10 @@ var Checkbox$1 = ({ className, description, dirty, disabled, error, invalid, lab
|
|
|
61
61
|
direction: "column",
|
|
62
62
|
fillChildren: false,
|
|
63
63
|
rowGap: size === "small" ? "2x-small" : "x-small",
|
|
64
|
-
children: [label && /* @__PURE__ */ jsx(FieldLabel, {
|
|
64
|
+
children: [label && /* @__PURE__ */ jsx(FieldLabel, {
|
|
65
|
+
size: size === "small" ? "small" : "medium",
|
|
66
|
+
children: label
|
|
67
|
+
}), /* @__PURE__ */ jsx(FieldHelperCopy, {
|
|
65
68
|
description,
|
|
66
69
|
error
|
|
67
70
|
})]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.chip-module_Chip_2D18T{--chip-background:var(--global-primary);--chip-border-color:transparent;--chip-color:contrast-color(var(--global-primary));--chip-height:var(--space-large);--chip-icon-size:0.9em;--chip-color-bg-opacity:13%;--chip-color-border-opacity:0%;min-block-size:var(--chip-height);block-size:var(--chip-height);border:1px solid var(--chip-border-color);border-radius:var(--radius-infinite);background:var(--chip-background);color:var(--chip-color);font-size:var(--font-scale-body-small);font-variation-settings:"wght" 400;text-decoration:none;white-space:nowrap;overflow:hidden;&[data-variant=primary]{--chip-background:var(--global-primary);--chip-color:contrast-color(var(--global-primary))}&[data-variant=secondary]{--chip-background:var(--global-contrast);--chip-color:var(--base-6)}&[data-variant=outline]{--chip-background:transparent;--chip-border-color:oklab(from var(--global-contrast) l a b/0.2);--chip-color:var(--base-6)}&[data-variant=gray]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-gray)}&[data-variant=slate]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-slate)}&[data-variant=yellow]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-yellow)}&[data-variant=green]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-green)}&[data-variant=blue]{--chip-color:var(--highlight-blue)}&[data-variant=blue],&[data-variant=red]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity))}&[data-variant=red]{--chip-color:var(--highlight-red)}&[data-variant=cyan]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-cyan)}&[data-variant=purple]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-purple)}&[data-variant=indigo]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-indigo)}&[data-variant=acid]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-acid)}&[data-variant=salmon]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-salmon)}&[data-variant=magenta]{--chip-background:oklab(from currentColor l a b/var(--chip-color-bg-opacity));--chip-border-color:oklab(from currentColor l a b/var(--chip-color-border-opacity));--chip-color:var(--highlight-magenta)}}.chip-module_Content_7mLuL{min-inline-size:0;min-block-size:100%}.chip-module_IconSlot_9N5vD{display:inline-grid;place-items:center;flex-shrink:0;>svg{inline-size:var(--chip-icon-size);block-size:var(--chip-icon-size)}}.chip-module_Label_Hdx7l{display:inline-block;min-inline-size:0;overflow:hidden;text-overflow:ellipsis}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
2
|
+
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
3
|
+
import { ThemeTypes } from '@viraui/foundation/vira/types';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
/**
|
|
7
|
+
* Public Chip props.
|
|
8
|
+
*
|
|
9
|
+
* Includes standard `div` attributes such as `children`, `id`, `title`, and event handlers,
|
|
10
|
+
* plus Vira-owned visual variant, decorative addon, and Base UI `render` support for replacing the root element.
|
|
11
|
+
*
|
|
12
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
13
|
+
*/
|
|
14
|
+
export type ChipProps = React.ComponentPropsWithRef<'div'> & IntrinsicViraProps & {
|
|
15
|
+
/**
|
|
16
|
+
* Replaces the default `div` root using Base UI render semantics.
|
|
17
|
+
*
|
|
18
|
+
* @default The chip renders a `div` root.
|
|
19
|
+
*/
|
|
20
|
+
render?: useRender.RenderProp;
|
|
21
|
+
/**
|
|
22
|
+
* Ref forwarded to the rendered chip root element.
|
|
23
|
+
*
|
|
24
|
+
* @default No ref is attached.
|
|
25
|
+
*/
|
|
26
|
+
ref?: React.Ref<HTMLElement>;
|
|
27
|
+
/**
|
|
28
|
+
* Selects the visual treatment for the chip.
|
|
29
|
+
*
|
|
30
|
+
* @default 'primary'
|
|
31
|
+
*/
|
|
32
|
+
variant?: 'primary' | 'secondary' | 'outline' | ThemeTypes['highlight'];
|
|
33
|
+
/**
|
|
34
|
+
* Decorative addon rendered alongside the chip label.
|
|
35
|
+
*
|
|
36
|
+
* @default No default; omit when the chip has no addon.
|
|
37
|
+
*/
|
|
38
|
+
addon?: ReactNode;
|
|
39
|
+
/**
|
|
40
|
+
* Controls whether the addon appears before or after the label.
|
|
41
|
+
*
|
|
42
|
+
* @default 'start'
|
|
43
|
+
*/
|
|
44
|
+
addonPosition?: 'start' | 'end';
|
|
45
|
+
};
|
|
46
|
+
export declare const Chip: React.FC<ChipProps>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Chip",
|
|
3
|
+
"summary": "Compact visual label primitive for short status, category, or metadata treatments.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Short, non-interactive labels that need a compact pill treatment",
|
|
6
|
+
"Metadata, category, status, or inline tag-like presentation",
|
|
7
|
+
"Color-coded badges using the semantic highlight palette",
|
|
8
|
+
"Polymorphic label content that should render as div by default or as another semantic tag through render"
|
|
9
|
+
],
|
|
10
|
+
"whenNotToUse": [
|
|
11
|
+
"Interactive actions or dismiss controls — use Button or IconButton",
|
|
12
|
+
"Long-form text content that should wrap like body copy — use Text"
|
|
13
|
+
],
|
|
14
|
+
"accessibility": [
|
|
15
|
+
"Chip renders a div by default, so choose render explicitly when a different semantic element is needed",
|
|
16
|
+
"Decorative addons are aria-hidden and should not carry the accessible name",
|
|
17
|
+
"Chip does not add button semantics, disabled state, or loading behavior in v1"
|
|
18
|
+
],
|
|
19
|
+
"antiPatterns": [
|
|
20
|
+
"Using Chip as a button replacement for clickable actions",
|
|
21
|
+
"Expecting addonPosition to have any effect when addon is omitted",
|
|
22
|
+
"Introducing custom size variants instead of the fixed compact height",
|
|
23
|
+
"Re-adding a one-off destructive variant instead of using the red highlight color"
|
|
24
|
+
],
|
|
25
|
+
"related": ["Button", "Icon", "IconButton", "Stack", "Text"]
|
|
26
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import './chip.css';
|
|
3
|
+
import { extractIntrinsicViraProps } from "../../core/props/intrinsic-vira-props.js";
|
|
4
|
+
import { Stack } from "../stack/stack.js";
|
|
5
|
+
import chip_module_default from "./chip.module.js";
|
|
6
|
+
import { clsx } from "clsx";
|
|
7
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { useRender } from "@base-ui/react/use-render";
|
|
9
|
+
import "react";
|
|
10
|
+
//#region src/components/chip/chip.tsx
|
|
11
|
+
var Chip = ({ addon, addonPosition = "start", children, className, ref, render, variant = "primary", ...otherProps }) => {
|
|
12
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
13
|
+
const content = /* @__PURE__ */ jsxs(Stack, {
|
|
14
|
+
inline: true,
|
|
15
|
+
direction: addonPosition === "start" ? "row" : "row-reverse",
|
|
16
|
+
vAlign: "center",
|
|
17
|
+
fillChildren: false,
|
|
18
|
+
hPadding: "small",
|
|
19
|
+
columnGap: "x-small",
|
|
20
|
+
className: chip_module_default.Content,
|
|
21
|
+
children: [addon && /* @__PURE__ */ jsx("span", {
|
|
22
|
+
"aria-hidden": "true",
|
|
23
|
+
className: chip_module_default.IconSlot,
|
|
24
|
+
children: addon
|
|
25
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
26
|
+
className: chip_module_default.Label,
|
|
27
|
+
children
|
|
28
|
+
})]
|
|
29
|
+
});
|
|
30
|
+
return useRender({
|
|
31
|
+
defaultTagName: "div",
|
|
32
|
+
render,
|
|
33
|
+
ref,
|
|
34
|
+
props: {
|
|
35
|
+
...componentProps,
|
|
36
|
+
...intrinsicAttributes,
|
|
37
|
+
"data-grow": false,
|
|
38
|
+
"data-shrink": false,
|
|
39
|
+
children: content,
|
|
40
|
+
className: clsx(chip_module_default.Chip, className),
|
|
41
|
+
"data-has-icon": addon ? "true" : void 0,
|
|
42
|
+
"data-icon-position": addon ? addonPosition : void 0,
|
|
43
|
+
"data-variant": variant
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
};
|
|
47
|
+
//#endregion
|
|
48
|
+
export { Chip };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.icon-module_Icon_6DoBq{display:inline-flex;flex:none;vertical-align:middle;& [fill]{fill:currentcolor}& [fill=none][stroke]{fill:none;stroke:currentcolor}}
|
|
1
|
+
.icon-module_Icon_6DoBq{display:inline-flex;flex:none;vertical-align:middle;& [fill]{fill:currentcolor}& [stroke]{stroke:currentcolor}& [fill=none][stroke]{fill:none;stroke:currentcolor}}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { Icon } from './icon';
|
|
2
|
-
export type { IconProps } from './icon';
|
|
2
|
+
export type { IconName, IconProps, IconVariant } from './icon';
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
export * from './avatar';
|
|
2
|
+
export * from './avatar-group';
|
|
3
|
+
export * from './chip';
|
|
2
4
|
export * from './clamp-text';
|
|
3
5
|
export * from './elevator';
|
|
4
6
|
export * from './button';
|
|
5
7
|
export * from './icon-button';
|
|
8
|
+
export * from './linear-progress';
|
|
9
|
+
export * from './masonry';
|
|
6
10
|
export * from './textfield';
|
|
7
11
|
export * from './textarea';
|
|
8
12
|
export * from './slider';
|
|
9
13
|
export * from './switch';
|
|
10
14
|
export * from './checkbox';
|
|
15
|
+
export * from './radio';
|
|
11
16
|
export * from './select';
|
|
12
17
|
export * from './icon';
|
|
13
18
|
export * from './skeleton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.linear-progress-module_LinearProgress_-KN0j{--linear-progress-track-size:var(--space-x-small);--linear-progress-track-background:var(--global-contrast);--linear-progress-indicator-color:var(--global-primary);& .linear-progress-module_Track_qUz8P{position:relative;overflow:hidden;block-size:var(--linear-progress-track-size);background:var(--linear-progress-track-background);border-radius:var(--radius-infinite)}& .linear-progress-module_Indicator_maaZF{block-size:100%;background:var(--linear-progress-indicator-color);border-radius:inherit;&[data-indeterminate]{position:absolute;inset:0;inline-size:100%;background:transparent;&:before{position:absolute;inset-block:0;inline-size:40%;background:var(--linear-progress-indicator-color);border-radius:inherit;animation:linear-progress-module_linear-progress-indeterminate_g0cSO 1.4s var(--easing-standard) infinite;content:""}}}}@keyframes linear-progress-module_linear-progress-indeterminate_g0cSO{0%{transform:translateX(-120%)}to{transform:translateX(260%)}}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ProgressRoot } from '@base-ui/react/progress';
|
|
2
|
+
import { IntrinsicViraProps } from '../../core/props/intrinsic-vira-props';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
/**
|
|
5
|
+
* Public LinearProgress props.
|
|
6
|
+
*
|
|
7
|
+
* Includes Base UI progress root props such as `value`, `min`, `max`, `format`,
|
|
8
|
+
* and `getAriaValueText`, plus optional label, description, and value display.
|
|
9
|
+
*
|
|
10
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
11
|
+
*/
|
|
12
|
+
export type LinearProgressProps = ProgressRoot.Props & {
|
|
13
|
+
/**
|
|
14
|
+
* Adds `data-grow="false"` to the progress root when false.
|
|
15
|
+
*
|
|
16
|
+
* @default The progress root does not render a grow attribute.
|
|
17
|
+
*/
|
|
18
|
+
grow?: IntrinsicViraProps['grow'];
|
|
19
|
+
/**
|
|
20
|
+
* Adds `data-shrink="false"` to the progress root when false.
|
|
21
|
+
*
|
|
22
|
+
* @default The progress root does not render a shrink attribute.
|
|
23
|
+
*/
|
|
24
|
+
shrink?: IntrinsicViraProps['shrink'];
|
|
25
|
+
/**
|
|
26
|
+
* Visible label rendered through `Progress.Label` with shared internal `FieldLabel`.
|
|
27
|
+
*
|
|
28
|
+
* @default No label is rendered.
|
|
29
|
+
*/
|
|
30
|
+
label?: React.ReactNode;
|
|
31
|
+
/**
|
|
32
|
+
* Static helper copy rendered with `Text` below the progress track.
|
|
33
|
+
*
|
|
34
|
+
* @default No description is rendered.
|
|
35
|
+
*/
|
|
36
|
+
description?: React.ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Renders the formatted current value via `Progress.Value` and `Text`.
|
|
39
|
+
*
|
|
40
|
+
* @default false
|
|
41
|
+
*/
|
|
42
|
+
showValue?: boolean;
|
|
43
|
+
};
|
|
44
|
+
export declare const LinearProgress: React.FC<LinearProgressProps>;
|