@viraui/react 0.0.1
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/avatar/avatar.guide.json +20 -0
- package/dist/button/button.guide.json +20 -0
- package/dist/catalog.json +110 -0
- package/dist/clamp-text/clamp-text.guide.json +23 -0
- package/dist/components/avatar/avatar.css +55 -0
- package/dist/components/avatar/avatar.d.ts +50 -0
- package/dist/components/avatar/avatar.js +17 -0
- package/dist/components/avatar/index.d.ts +2 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/basic-input/basic-input.css +45 -0
- package/dist/components/basic-input/basic-input.d.ts +14 -0
- package/dist/components/basic-input/basic-input.js +17 -0
- package/dist/components/basic-input/field-helper-copy.d.ts +13 -0
- package/dist/components/basic-input/field-helper-copy.js +25 -0
- package/dist/components/basic-input/index.d.ts +2 -0
- package/dist/components/basic-input/index.js +1 -0
- package/dist/components/basic-input/input-control-group.d.ts +26 -0
- package/dist/components/basic-input/input-control-group.js +8 -0
- package/dist/components/button/button.css +156 -0
- package/dist/components/button/button.d.ts +46 -0
- package/dist/components/button/button.js +17 -0
- package/dist/components/button/index.d.ts +2 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/clamp-text/clamp-text.css +12 -0
- package/dist/components/clamp-text/clamp-text.d.ts +39 -0
- package/dist/components/clamp-text/clamp-text.js +24 -0
- package/dist/components/clamp-text/index.d.ts +2 -0
- package/dist/components/clamp-text/index.js +1 -0
- package/dist/components/elevator/elevator.d.ts +52 -0
- package/dist/components/elevator/elevator.js +29 -0
- package/dist/components/elevator/index.d.ts +2 -0
- package/dist/components/elevator/index.js +1 -0
- package/dist/components/icon/icon.css +7 -0
- package/dist/components/icon/icon.d.ts +9 -0
- package/dist/components/icon/icon.js +11 -0
- package/dist/components/icon/index.d.ts +2 -0
- package/dist/components/icon/index.js +1 -0
- package/dist/components/icon-button/icon-button.d.ts +31 -0
- package/dist/components/icon-button/icon-button.js +3 -0
- package/dist/components/icon-button/index.d.ts +2 -0
- package/dist/components/icon-button/index.js +1 -0
- package/dist/components/index.d.ts +17 -0
- package/dist/components/index.js +17 -0
- package/dist/components/select/index.d.ts +2 -0
- package/dist/components/select/index.js +1 -0
- package/dist/components/select/select-group.d.ts +12 -0
- package/dist/components/select/select-group.js +10 -0
- package/dist/components/select/select-indicator-slot.d.ts +12 -0
- package/dist/components/select/select-indicator-slot.js +11 -0
- package/dist/components/select/select-option.d.ts +16 -0
- package/dist/components/select/select-option.js +11 -0
- package/dist/components/select/select-separator.d.ts +9 -0
- package/dist/components/select/select-separator.js +7 -0
- package/dist/components/select/select.css +194 -0
- package/dist/components/select/select.d.ts +66 -0
- package/dist/components/select/select.js +35 -0
- package/dist/components/skeleton/index.d.ts +2 -0
- package/dist/components/skeleton/index.js +1 -0
- package/dist/components/skeleton/skeleton.css +36 -0
- package/dist/components/skeleton/skeleton.d.ts +51 -0
- package/dist/components/skeleton/skeleton.js +17 -0
- package/dist/components/slider/index.d.ts +2 -0
- package/dist/components/slider/index.js +1 -0
- package/dist/components/slider/slider-control.css +71 -0
- package/dist/components/slider/slider-control.d.ts +8 -0
- package/dist/components/slider/slider-control.js +22 -0
- package/dist/components/slider/slider-utils.d.ts +2 -0
- package/dist/components/slider/slider-utils.js +4 -0
- package/dist/components/slider/slider.css +64 -0
- package/dist/components/slider/slider.d.ts +70 -0
- package/dist/components/slider/slider.js +19 -0
- package/dist/components/spinner/index.d.ts +2 -0
- package/dist/components/spinner/index.js +1 -0
- package/dist/components/spinner/spinner.css +45 -0
- package/dist/components/spinner/spinner.d.ts +17 -0
- package/dist/components/spinner/spinner.js +8 -0
- package/dist/components/stack/index.d.ts +2 -0
- package/dist/components/stack/index.js +1 -0
- package/dist/components/stack/stack.css +57 -0
- package/dist/components/stack/stack.d.ts +104 -0
- package/dist/components/stack/stack.js +38 -0
- package/dist/components/surface/index.d.ts +2 -0
- package/dist/components/surface/index.js +1 -0
- package/dist/components/surface/surface.css +61 -0
- package/dist/components/surface/surface.d.ts +69 -0
- package/dist/components/surface/surface.js +43 -0
- package/dist/components/switch/index.d.ts +2 -0
- package/dist/components/switch/index.js +1 -0
- package/dist/components/switch/switch.css +73 -0
- package/dist/components/switch/switch.d.ts +54 -0
- package/dist/components/switch/switch.js +15 -0
- package/dist/components/text/index.d.ts +2 -0
- package/dist/components/text/index.js +1 -0
- package/dist/components/text/text.css +139 -0
- package/dist/components/text/text.d.ts +127 -0
- package/dist/components/text/text.js +43 -0
- package/dist/components/textarea/index.d.ts +2 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/textarea.css +45 -0
- package/dist/components/textarea/textarea.d.ts +56 -0
- package/dist/components/textarea/textarea.js +13 -0
- package/dist/components/textfield/index.d.ts +2 -0
- package/dist/components/textfield/index.js +1 -0
- package/dist/components/textfield/textfield.css +87 -0
- package/dist/components/textfield/textfield.d.ts +49 -0
- package/dist/components/textfield/textfield.js +14 -0
- package/dist/components/title/index.d.ts +2 -0
- package/dist/components/title/index.js +1 -0
- package/dist/components/title/title.css +126 -0
- package/dist/components/title/title.d.ts +117 -0
- package/dist/components/title/title.js +41 -0
- package/dist/core/elevation/elevation-types.d.ts +17 -0
- package/dist/core/elevation/elevation-types.js +4 -0
- package/dist/core/elevation/get-elevation-props.d.ts +12 -0
- package/dist/core/elevation/get-elevation-props.js +12 -0
- package/dist/core/props/intrinsic-vira-props.d.ts +23 -0
- package/dist/core/props/intrinsic-vira-props.js +10 -0
- package/dist/core/styles/resolve-axis-padding.d.ts +5 -0
- package/dist/core/styles/resolve-axis-padding.js +17 -0
- package/dist/core/theme/resolve-theme-value.d.ts +5 -0
- package/dist/core/theme/resolve-theme-value.js +7 -0
- package/dist/elevator/elevator.guide.json +23 -0
- package/dist/guides/consumption.json +44 -0
- package/dist/guides/theme-surface.json +61 -0
- package/dist/icon/icon.guide.json +23 -0
- package/dist/icon-button/icon-button.guide.json +20 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/internal-icons/icon-registry.d.ts +248 -0
- package/dist/internal-icons/icon-registry.js +713 -0
- package/dist/internal-icons/icons/duo/AddSection.d.ts +7 -0
- package/dist/internal-icons/icons/duo/AddSection.js +13 -0
- package/dist/internal-icons/icons/duo/AiDeveloper.d.ts +7 -0
- package/dist/internal-icons/icons/duo/AiDeveloper.js +13 -0
- package/dist/internal-icons/icons/duo/AiLoading.d.ts +7 -0
- package/dist/internal-icons/icons/duo/AiLoading.js +13 -0
- package/dist/internal-icons/icons/duo/Album3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Album3.js +13 -0
- package/dist/internal-icons/icons/duo/ArchiveContent2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArchiveContent2.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowDown.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowDown.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowDownLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowDownLeft.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowDownRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowDownRight.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowLeft.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRight.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRotate.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRotate.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseCheck.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRotateAnticlockwiseXmark.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowRotateClockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowUp.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowUp.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowUpLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowUpLeft.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowUpRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowUpRight.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowsFilter.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowsFilter.js +13 -0
- package/dist/internal-icons/icons/duo/ArrowsToLineY2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ArrowsToLineY2.js +13 -0
- package/dist/internal-icons/icons/duo/Birdhouse.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Birdhouse.js +13 -0
- package/dist/internal-icons/icons/duo/BookmarkList.d.ts +7 -0
- package/dist/internal-icons/icons/duo/BookmarkList.js +13 -0
- package/dist/internal-icons/icons/duo/BookmarkedBook.d.ts +7 -0
- package/dist/internal-icons/icons/duo/BookmarkedBook.js +13 -0
- package/dist/internal-icons/icons/duo/BookmarkedBook2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/BookmarkedBook2.js +13 -0
- package/dist/internal-icons/icons/duo/Box3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Box3.js +13 -0
- package/dist/internal-icons/icons/duo/BoxSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/BoxSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/BoxSparkle2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/BoxSparkle2.js +13 -0
- package/dist/internal-icons/icons/duo/Brochure.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Brochure.js +13 -0
- package/dist/internal-icons/icons/duo/ButtonPlus.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ButtonPlus.js +13 -0
- package/dist/internal-icons/icons/duo/Calculator3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Calculator3.js +13 -0
- package/dist/internal-icons/icons/duo/CaretDown.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CaretDown.js +13 -0
- package/dist/internal-icons/icons/duo/CaretLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CaretLeft.js +13 -0
- package/dist/internal-icons/icons/duo/CaretRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CaretRight.js +13 -0
- package/dist/internal-icons/icons/duo/CaretUp.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CaretUp.js +13 -0
- package/dist/internal-icons/icons/duo/Chart3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Chart3.js +13 -0
- package/dist/internal-icons/icons/duo/ChartBar.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChartBar.js +13 -0
- package/dist/internal-icons/icons/duo/ChartCandlestick2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChartCandlestick2.js +13 -0
- package/dist/internal-icons/icons/duo/ChatImage.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChatImage.js +13 -0
- package/dist/internal-icons/icons/duo/ChatInfo.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChatInfo.js +13 -0
- package/dist/internal-icons/icons/duo/ChatTask.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChatTask.js +13 -0
- package/dist/internal-icons/icons/duo/Check.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Check.js +13 -0
- package/dist/internal-icons/icons/duo/CheckBoxArrow.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CheckBoxArrow.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronDown.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronDown.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronExpandY.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronExpandY.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronLeft.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronLeftToLine.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronLeftToLine.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronRight.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronRightToLine.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronRightToLine.js +13 -0
- package/dist/internal-icons/icons/duo/ChevronUp.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ChevronUp.js +13 -0
- package/dist/internal-icons/icons/duo/Child.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Child.js +13 -0
- package/dist/internal-icons/icons/duo/CircleCoinIn.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCoinIn.js +13 -0
- package/dist/internal-icons/icons/duo/CircleCoinOut.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCoinOut.js +13 -0
- package/dist/internal-icons/icons/duo/CircleCoinPlus.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCoinPlus.js +13 -0
- package/dist/internal-icons/icons/duo/CircleConversion.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleConversion.js +13 -0
- package/dist/internal-icons/icons/duo/CircleCross.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleCross.js +13 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowDown.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowDown.js +13 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowLeft.js +13 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowRight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowRight.js +13 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowUp.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfArrowUp.js +13 -0
- package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CircleHalfDottedChart2.js +13 -0
- package/dist/internal-icons/icons/duo/ClockTime.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ClockTime.js +13 -0
- package/dist/internal-icons/icons/duo/CloneDashed3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CloneDashed3.js +13 -0
- package/dist/internal-icons/icons/duo/CloneImageDashed.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CloneImageDashed.js +13 -0
- package/dist/internal-icons/icons/duo/CloneVideoDashed.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CloneVideoDashed.js +13 -0
- package/dist/internal-icons/icons/duo/CloudeCode.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CloudeCode.js +13 -0
- package/dist/internal-icons/icons/duo/CoinStack.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CoinStack.js +13 -0
- package/dist/internal-icons/icons/duo/ConditionalLogic.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ConditionalLogic.js +13 -0
- package/dist/internal-icons/icons/duo/ConnectPlus.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ConnectPlus.js +13 -0
- package/dist/internal-icons/icons/duo/Connection3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Connection3.js +13 -0
- package/dist/internal-icons/icons/duo/CopyDelete.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CopyDelete.js +13 -0
- package/dist/internal-icons/icons/duo/CopyId.d.ts +7 -0
- package/dist/internal-icons/icons/duo/CopyId.js +13 -0
- package/dist/internal-icons/icons/duo/Deaf.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Deaf.js +13 -0
- package/dist/internal-icons/icons/duo/DependencyLink.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DependencyLink.js +13 -0
- package/dist/internal-icons/icons/duo/DesktopDock.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DesktopDock.js +13 -0
- package/dist/internal-icons/icons/duo/DiamondSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DiamondSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/DocumentScan.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DocumentScan.js +13 -0
- package/dist/internal-icons/icons/duo/Dog2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Dog2.js +13 -0
- package/dist/internal-icons/icons/duo/DogLeash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DogLeash.js +13 -0
- package/dist/internal-icons/icons/duo/DogSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DogSlash.js +13 -0
- package/dist/internal-icons/icons/duo/DotFormation.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DotFormation.js +13 -0
- package/dist/internal-icons/icons/duo/DrawFinger.d.ts +7 -0
- package/dist/internal-icons/icons/duo/DrawFinger.js +13 -0
- package/dist/internal-icons/icons/duo/Ear.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Ear.js +13 -0
- package/dist/internal-icons/icons/duo/EarSound.d.ts +7 -0
- package/dist/internal-icons/icons/duo/EarSound.js +13 -0
- package/dist/internal-icons/icons/duo/Embed.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Embed.js +13 -0
- package/dist/internal-icons/icons/duo/EnterDoor.d.ts +7 -0
- package/dist/internal-icons/icons/duo/EnterDoor.js +13 -0
- package/dist/internal-icons/icons/duo/EnterHome.d.ts +7 -0
- package/dist/internal-icons/icons/duo/EnterHome.js +13 -0
- package/dist/internal-icons/icons/duo/ExitDoor.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ExitDoor.js +13 -0
- package/dist/internal-icons/icons/duo/Export2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Export2.js +13 -0
- package/dist/internal-icons/icons/duo/EyeSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/EyeSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/FaceRobot.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FaceRobot.js +13 -0
- package/dist/internal-icons/icons/duo/FaceRobot2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FaceRobot2.js +13 -0
- package/dist/internal-icons/icons/duo/FaceRobot3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FaceRobot3.js +13 -0
- package/dist/internal-icons/icons/duo/FerrisWheel.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FerrisWheel.js +13 -0
- package/dist/internal-icons/icons/duo/FileExport.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FileExport.js +13 -0
- package/dist/internal-icons/icons/duo/FlagMenu.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FlagMenu.js +13 -0
- package/dist/internal-icons/icons/duo/FocusCenter.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FocusCenter.js +13 -0
- package/dist/internal-icons/icons/duo/FoodOrder.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FoodOrder.js +13 -0
- package/dist/internal-icons/icons/duo/FuelCan.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FuelCan.js +13 -0
- package/dist/internal-icons/icons/duo/FuelCan2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/FuelCan2.js +13 -0
- package/dist/internal-icons/icons/duo/Gear3Sparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Gear3Sparkle.js +13 -0
- package/dist/internal-icons/icons/duo/GridSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/GridSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/HandHoldingGlobe.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HandHoldingGlobe.js +13 -0
- package/dist/internal-icons/icons/duo/Handshake2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Handshake2.js +13 -0
- package/dist/internal-icons/icons/duo/Haptic.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Haptic.js +13 -0
- package/dist/internal-icons/icons/duo/HelpChat.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HelpChat.js +13 -0
- package/dist/internal-icons/icons/duo/HexagonSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HexagonSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/Hiking.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Hiking.js +13 -0
- package/dist/internal-icons/icons/duo/History2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/History2.js +13 -0
- package/dist/internal-icons/icons/duo/HorseHead.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HorseHead.js +13 -0
- package/dist/internal-icons/icons/duo/HouseDollarSign.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HouseDollarSign.js +13 -0
- package/dist/internal-icons/icons/duo/HouseMinus2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/HouseMinus2.js +13 -0
- package/dist/internal-icons/icons/duo/Images3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Images3.js +13 -0
- package/dist/internal-icons/icons/duo/Img4k.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Img4k.js +13 -0
- package/dist/internal-icons/icons/duo/InsertCrypto.d.ts +7 -0
- package/dist/internal-icons/icons/duo/InsertCrypto.js +13 -0
- package/dist/internal-icons/icons/duo/InsertDollar.d.ts +7 -0
- package/dist/internal-icons/icons/duo/InsertDollar.js +13 -0
- package/dist/internal-icons/icons/duo/InstantMoney.d.ts +7 -0
- package/dist/internal-icons/icons/duo/InstantMoney.js +13 -0
- package/dist/internal-icons/icons/duo/InvoiceIn.d.ts +7 -0
- package/dist/internal-icons/icons/duo/InvoiceIn.js +13 -0
- package/dist/internal-icons/icons/duo/InwardFlow.d.ts +7 -0
- package/dist/internal-icons/icons/duo/InwardFlow.js +13 -0
- package/dist/internal-icons/icons/duo/JoinedHands.d.ts +7 -0
- package/dist/internal-icons/icons/duo/JoinedHands.js +13 -0
- package/dist/internal-icons/icons/duo/LawShield.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LawShield.js +13 -0
- package/dist/internal-icons/icons/duo/Lectern.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Lectern.js +13 -0
- package/dist/internal-icons/icons/duo/Lectern2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Lectern2.js +13 -0
- package/dist/internal-icons/icons/duo/LightSpark.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LightSpark.js +13 -0
- package/dist/internal-icons/icons/duo/LightSpark2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LightSpark2.js +13 -0
- package/dist/internal-icons/icons/duo/ListExport.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ListExport.js +13 -0
- package/dist/internal-icons/icons/duo/ListFavs3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ListFavs3.js +13 -0
- package/dist/internal-icons/icons/duo/ListFavs4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ListFavs4.js +13 -0
- package/dist/internal-icons/icons/duo/LoadingStatus.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LoadingStatus.js +13 -0
- package/dist/internal-icons/icons/duo/LoadingStatus2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LoadingStatus2.js +13 -0
- package/dist/internal-icons/icons/duo/LockedChat.d.ts +7 -0
- package/dist/internal-icons/icons/duo/LockedChat.js +13 -0
- package/dist/internal-icons/icons/duo/MagicHat.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MagicHat.js +13 -0
- package/dist/internal-icons/icons/duo/MagicRabbit.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MagicRabbit.js +13 -0
- package/dist/internal-icons/icons/duo/MagnifierSparkle2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MagnifierSparkle2.js +13 -0
- package/dist/internal-icons/icons/duo/MediaLibrary2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MediaLibrary2.js +13 -0
- package/dist/internal-icons/icons/duo/Membership.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Membership.js +13 -0
- package/dist/internal-icons/icons/duo/Menu4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Menu4.js +13 -0
- package/dist/internal-icons/icons/duo/MilitaryMedal.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MilitaryMedal.js +13 -0
- package/dist/internal-icons/icons/duo/MobileCircuit.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MobileCircuit.js +13 -0
- package/dist/internal-icons/icons/duo/MoneyRefund.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MoneyRefund.js +13 -0
- package/dist/internal-icons/icons/duo/MoneyRefund2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MoneyRefund2.js +13 -0
- package/dist/internal-icons/icons/duo/MotionAlongPath.d.ts +7 -0
- package/dist/internal-icons/icons/duo/MotionAlongPath.js +13 -0
- package/dist/internal-icons/icons/duo/Msgs2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Msgs2.js +13 -0
- package/dist/internal-icons/icons/duo/Navigation.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Navigation.js +13 -0
- package/dist/internal-icons/icons/duo/NavigationHorizontal.d.ts +7 -0
- package/dist/internal-icons/icons/duo/NavigationHorizontal.js +13 -0
- package/dist/internal-icons/icons/duo/NavigationVertical.d.ts +7 -0
- package/dist/internal-icons/icons/duo/NavigationVertical.js +13 -0
- package/dist/internal-icons/icons/duo/ObjectSelection.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ObjectSelection.js +13 -0
- package/dist/internal-icons/icons/duo/OfficeUser.d.ts +7 -0
- package/dist/internal-icons/icons/duo/OfficeUser.js +13 -0
- package/dist/internal-icons/icons/duo/OpenExternal.d.ts +7 -0
- package/dist/internal-icons/icons/duo/OpenExternal.js +13 -0
- package/dist/internal-icons/icons/duo/OrbitSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/OrbitSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/OutwardFlow.d.ts +7 -0
- package/dist/internal-icons/icons/duo/OutwardFlow.js +13 -0
- package/dist/internal-icons/icons/duo/PaperPlaneFast.d.ts +7 -0
- package/dist/internal-icons/icons/duo/PaperPlaneFast.js +13 -0
- package/dist/internal-icons/icons/duo/Parachute.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Parachute.js +13 -0
- package/dist/internal-icons/icons/duo/Paw.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Paw.js +13 -0
- package/dist/internal-icons/icons/duo/Peace.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Peace.js +13 -0
- package/dist/internal-icons/icons/duo/PicnicTable.d.ts +7 -0
- package/dist/internal-icons/icons/duo/PicnicTable.js +13 -0
- package/dist/internal-icons/icons/duo/Pillow.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Pillow.js +13 -0
- package/dist/internal-icons/icons/duo/Playground.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Playground.js +13 -0
- package/dist/internal-icons/icons/duo/Playlist4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Playlist4.js +13 -0
- package/dist/internal-icons/icons/duo/Plug3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Plug3.js +13 -0
- package/dist/internal-icons/icons/duo/Plug3Sparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Plug3Sparkle.js +13 -0
- package/dist/internal-icons/icons/duo/PlugOff.d.ts +7 -0
- package/dist/internal-icons/icons/duo/PlugOff.js +13 -0
- package/dist/internal-icons/icons/duo/PlugSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/PlugSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/PopEffect.d.ts +7 -0
- package/dist/internal-icons/icons/duo/PopEffect.js +13 -0
- package/dist/internal-icons/icons/duo/ProfileAnalytics.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ProfileAnalytics.js +13 -0
- package/dist/internal-icons/icons/duo/ProfileBasic.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ProfileBasic.js +13 -0
- package/dist/internal-icons/icons/duo/ProgressIndicator2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ProgressIndicator2.js +13 -0
- package/dist/internal-icons/icons/duo/QuickActions.d.ts +7 -0
- package/dist/internal-icons/icons/duo/QuickActions.js +13 -0
- package/dist/internal-icons/icons/duo/QuickTimer.d.ts +7 -0
- package/dist/internal-icons/icons/duo/QuickTimer.js +13 -0
- package/dist/internal-icons/icons/duo/Rabbit.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Rabbit.js +13 -0
- package/dist/internal-icons/icons/duo/Receipt3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Receipt3.js +13 -0
- package/dist/internal-icons/icons/duo/Receipt4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Receipt4.js +13 -0
- package/dist/internal-icons/icons/duo/Redo2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Redo2.js +13 -0
- package/dist/internal-icons/icons/duo/Redo3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Redo3.js +13 -0
- package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Refresh3AnticlockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Refresh3ClockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwise.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwise.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RefreshAnticlockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RefreshClockwiseSlash.js +13 -0
- package/dist/internal-icons/icons/duo/Refrigerator.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Refrigerator.js +13 -0
- package/dist/internal-icons/icons/duo/RemoteControl.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RemoteControl.js +13 -0
- package/dist/internal-icons/icons/duo/RemoteControl2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RemoteControl2.js +13 -0
- package/dist/internal-icons/icons/duo/ReportFile.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ReportFile.js +13 -0
- package/dist/internal-icons/icons/duo/Reposition.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Reposition.js +13 -0
- package/dist/internal-icons/icons/duo/Rerouting.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Rerouting.js +13 -0
- package/dist/internal-icons/icons/duo/Robot2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Robot2.js +13 -0
- package/dist/internal-icons/icons/duo/Robot3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Robot3.js +13 -0
- package/dist/internal-icons/icons/duo/Robot4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Robot4.js +13 -0
- package/dist/internal-icons/icons/duo/RockOn.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RockOn.js +13 -0
- package/dist/internal-icons/icons/duo/RopeStanchions.d.ts +7 -0
- package/dist/internal-icons/icons/duo/RopeStanchions.js +13 -0
- package/dist/internal-icons/icons/duo/Rotation3602.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Rotation3602.js +13 -0
- package/dist/internal-icons/icons/duo/SavedItems2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SavedItems2.js +13 -0
- package/dist/internal-icons/icons/duo/ScaleImg4k.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ScaleImg4k.js +13 -0
- package/dist/internal-icons/icons/duo/ScanImage.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ScanImage.js +13 -0
- package/dist/internal-icons/icons/duo/ScissorsSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ScissorsSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/Seatbelt.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Seatbelt.js +13 -0
- package/dist/internal-icons/icons/duo/ShakaHand.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ShakaHand.js +13 -0
- package/dist/internal-icons/icons/duo/ShapeRectangle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ShapeRectangle.js +13 -0
- package/dist/internal-icons/icons/duo/Shovel.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Shovel.js +13 -0
- package/dist/internal-icons/icons/duo/ShuffleSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/ShuffleSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/SideProfileQuestion.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SideProfileQuestion.js +13 -0
- package/dist/internal-icons/icons/duo/SideProfileSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SideProfileSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/SidebarEdit.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SidebarEdit.js +13 -0
- package/dist/internal-icons/icons/duo/SlashCircle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SlashCircle.js +13 -0
- package/dist/internal-icons/icons/duo/Sliders4.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Sliders4.js +13 -0
- package/dist/internal-icons/icons/duo/Snail.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Snail.js +13 -0
- package/dist/internal-icons/icons/duo/Spiral.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Spiral.js +13 -0
- package/dist/internal-icons/icons/duo/SplitView.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SplitView.js +13 -0
- package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SquareDashedSearchSparkle.js +13 -0
- package/dist/internal-icons/icons/duo/SquareDashedText.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SquareDashedText.js +13 -0
- package/dist/internal-icons/icons/duo/SquarePath.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SquarePath.js +13 -0
- package/dist/internal-icons/icons/duo/Star2Slash.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Star2Slash.js +13 -0
- package/dist/internal-icons/icons/duo/StopSign.d.ts +7 -0
- package/dist/internal-icons/icons/duo/StopSign.js +13 -0
- package/dist/internal-icons/icons/duo/StopwatchBolt.d.ts +7 -0
- package/dist/internal-icons/icons/duo/StopwatchBolt.js +13 -0
- package/dist/internal-icons/icons/duo/SummitFlag.d.ts +7 -0
- package/dist/internal-icons/icons/duo/SummitFlag.js +13 -0
- package/dist/internal-icons/icons/duo/Sunrise2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Sunrise2.js +13 -0
- package/dist/internal-icons/icons/duo/Task.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Task.js +13 -0
- package/dist/internal-icons/icons/duo/Task2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Task2.js +13 -0
- package/dist/internal-icons/icons/duo/TaskDebug.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TaskDebug.js +13 -0
- package/dist/internal-icons/icons/duo/TaskSearch.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TaskSearch.js +13 -0
- package/dist/internal-icons/icons/duo/Teepee.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Teepee.js +13 -0
- package/dist/internal-icons/icons/duo/TextAdjust.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TextAdjust.js +13 -0
- package/dist/internal-icons/icons/duo/TheatreMask.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TheatreMask.js +13 -0
- package/dist/internal-icons/icons/duo/TheatreMask2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TheatreMask2.js +13 -0
- package/dist/internal-icons/icons/duo/TimerProgress.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TimerProgress.js +13 -0
- package/dist/internal-icons/icons/duo/TimerProgress2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TimerProgress2.js +13 -0
- package/dist/internal-icons/icons/duo/TransactionSplit.d.ts +7 -0
- package/dist/internal-icons/icons/duo/TransactionSplit.js +13 -0
- package/dist/internal-icons/icons/duo/Undo2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Undo2.js +13 -0
- package/dist/internal-icons/icons/duo/Undo3.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Undo3.js +13 -0
- package/dist/internal-icons/icons/duo/UnicornHead.d.ts +7 -0
- package/dist/internal-icons/icons/duo/UnicornHead.js +13 -0
- package/dist/internal-icons/icons/duo/UserContact.d.ts +7 -0
- package/dist/internal-icons/icons/duo/UserContact.js +13 -0
- package/dist/internal-icons/icons/duo/UserVoice2.d.ts +7 -0
- package/dist/internal-icons/icons/duo/UserVoice2.js +13 -0
- package/dist/internal-icons/icons/duo/VipBadge.d.ts +7 -0
- package/dist/internal-icons/icons/duo/VipBadge.js +13 -0
- package/dist/internal-icons/icons/duo/VoiceCaption.d.ts +7 -0
- package/dist/internal-icons/icons/duo/VoiceCaption.js +13 -0
- package/dist/internal-icons/icons/duo/WalletCoins.d.ts +7 -0
- package/dist/internal-icons/icons/duo/WalletCoins.js +13 -0
- package/dist/internal-icons/icons/duo/Weight.d.ts +7 -0
- package/dist/internal-icons/icons/duo/Weight.js +13 -0
- package/dist/internal-icons/icons/duo/index.d.ts +245 -0
- package/dist/internal-icons/icons/duo/index.js +245 -0
- package/dist/preflight.css +1 -0
- package/dist/select/select.guide.json +17 -0
- package/dist/skeleton/skeleton.guide.json +23 -0
- package/dist/slider/slider.guide.json +23 -0
- package/dist/spinner/spinner.guide.json +23 -0
- package/dist/stack/stack.guide.json +20 -0
- package/dist/surface/surface.guide.json +23 -0
- package/dist/switch/switch.guide.json +23 -0
- package/dist/text/text.guide.json +20 -0
- package/dist/textarea/textarea.guide.json +17 -0
- package/dist/textfield/textfield.guide.json +20 -0
- package/dist/title/title.guide.json +20 -0
- package/package.json +64 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
@scope (.Title) {
|
|
2
|
+
:scope {
|
|
3
|
+
/* --- fluid scale --- */
|
|
4
|
+
--title-scale-min-vw: 320;
|
|
5
|
+
--title-scale-max-vw: 1440;
|
|
6
|
+
--title-scale-progress: clamp(
|
|
7
|
+
0,
|
|
8
|
+
(100vw - calc(var(--title-scale-min-vw) * 1px)) /
|
|
9
|
+
calc((var(--title-scale-max-vw) - var(--title-scale-min-vw)) * 1px),
|
|
10
|
+
1
|
|
11
|
+
);
|
|
12
|
+
|
|
13
|
+
/* Default fallback ≈ h2 → h3 */
|
|
14
|
+
--title-font-size: calc(
|
|
15
|
+
var(--font-scale-h3) + (var(--font-scale-h2) - var(--font-scale-h3)) * var(--title-scale-progress)
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
/* --- typography --- */
|
|
19
|
+
--title-font-family: var(--font-family-heading);
|
|
20
|
+
--title-font-weight: 500;
|
|
21
|
+
--title-font-width: 100;
|
|
22
|
+
--title-font-opsz: 16;
|
|
23
|
+
--title-line-height: var(--font-leading-standard);
|
|
24
|
+
--title-letter-spacing: -0.03em;
|
|
25
|
+
|
|
26
|
+
/* --- layout defaults --- */
|
|
27
|
+
--title-align: start;
|
|
28
|
+
--title-max-width: none;
|
|
29
|
+
--title-white-space: normal;
|
|
30
|
+
--title-padding-inline-start: 0;
|
|
31
|
+
--title-padding-inline-end: 0;
|
|
32
|
+
--title-padding-block-start: 0;
|
|
33
|
+
--title-padding-block-end: 0;
|
|
34
|
+
|
|
35
|
+
margin: 0;
|
|
36
|
+
max-inline-size: var(--title-max-width);
|
|
37
|
+
font-family: var(--title-font-family);
|
|
38
|
+
font-size: var(--title-font-size);
|
|
39
|
+
line-height: var(--title-line-height);
|
|
40
|
+
letter-spacing: var(--title-letter-spacing);
|
|
41
|
+
text-align: var(--title-align);
|
|
42
|
+
white-space: var(--title-white-space);
|
|
43
|
+
word-break: break-word;
|
|
44
|
+
font-optical-sizing: auto;
|
|
45
|
+
font-variation-settings:
|
|
46
|
+
'wght' var(--title-font-weight),
|
|
47
|
+
'wdth' var(--title-font-width),
|
|
48
|
+
'opsz' var(--title-font-opsz);
|
|
49
|
+
text-box: var(--title-trim) var(--title-trim-type);
|
|
50
|
+
|
|
51
|
+
&[data-title-balanced='true'] {
|
|
52
|
+
text-wrap: balance;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&[data-title-has-padding='true'] {
|
|
56
|
+
padding: var(--title-padding-block-start) var(--title-padding-inline-end) var(--title-padding-block-end)
|
|
57
|
+
var(--title-padding-inline-start);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/* --- level overrides --- */
|
|
61
|
+
&[data-title-level='display'] {
|
|
62
|
+
--title-font-size: calc(
|
|
63
|
+
var(--font-scale-h1) + (var(--font-scale-display) - var(--font-scale-h1)) * var(--title-scale-progress)
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
&[data-title-level='h1'] {
|
|
68
|
+
--title-font-size: calc(
|
|
69
|
+
var(--font-scale-h2) + (var(--font-scale-h1) - var(--font-scale-h2)) * var(--title-scale-progress)
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&[data-title-level='h2'] {
|
|
74
|
+
--title-font-size: calc(
|
|
75
|
+
var(--font-scale-h3) + (var(--font-scale-h2) - var(--font-scale-h3)) * var(--title-scale-progress)
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&[data-title-level='h3'] {
|
|
80
|
+
--title-font-size: calc(
|
|
81
|
+
var(--font-scale-h4) + (var(--font-scale-h3) - var(--font-scale-h4)) * var(--title-scale-progress)
|
|
82
|
+
);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
&[data-title-level='h4'] {
|
|
86
|
+
--title-font-size: calc(
|
|
87
|
+
var(--font-scale-h5) + (var(--font-scale-h4) - var(--font-scale-h5)) * var(--title-scale-progress)
|
|
88
|
+
);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&[data-title-level='h5'] {
|
|
92
|
+
--title-font-size: calc(
|
|
93
|
+
var(--font-scale-h6) + (var(--font-scale-h5) - var(--font-scale-h6)) * var(--title-scale-progress)
|
|
94
|
+
);
|
|
95
|
+
--title-letter-spacing: -0.02em;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&[data-title-level='h6'] {
|
|
99
|
+
--title-font-size: calc(
|
|
100
|
+
var(--font-scale-body-medium) + (var(--font-scale-h6) - var(--font-scale-body-medium)) *
|
|
101
|
+
var(--title-scale-progress)
|
|
102
|
+
);
|
|
103
|
+
--title-letter-spacing: -0.02em;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
&[data-title-has-literal-color='true'] {
|
|
107
|
+
color: var(--title-literal-color);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
&[data-title-line-height='none'] {
|
|
111
|
+
--title-line-height: 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
&[data-title-line-height='x-small'] {
|
|
115
|
+
--title-line-height: var(--font-leading-x-small);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
&[data-title-line-height='small'] {
|
|
119
|
+
--title-line-height: var(--font-leading-small);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
&[data-title-line-height='large'] {
|
|
123
|
+
--title-line-height: var(--font-leading-large);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
2
|
+
import type { ThemeTypes } from '@foundation/platforms/web/vira/types';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
import './title.css';
|
|
5
|
+
import type { IntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
6
|
+
type TitleSpace = ThemeTypes['space'];
|
|
7
|
+
type TitleAxisPadding = TitleSpace | [TitleSpace | 0, TitleSpace | 0];
|
|
8
|
+
/**
|
|
9
|
+
* Public Title props.
|
|
10
|
+
*
|
|
11
|
+
* Includes standard text and heading HTML attributes such as `children`, `id`, `title`, and event handlers,
|
|
12
|
+
* plus Vira-owned heading typography, color, and layout controls.
|
|
13
|
+
*
|
|
14
|
+
* @default Base HTML pass-through props keep upstream defaults.
|
|
15
|
+
*/
|
|
16
|
+
export type TitleProps = React.ComponentPropsWithoutRef<'span'> & IntrinsicViraProps & {
|
|
17
|
+
/**
|
|
18
|
+
* Replaces the default `span` root using Base UI render semantics.
|
|
19
|
+
*
|
|
20
|
+
* @default The title renders a `span` root.
|
|
21
|
+
*/
|
|
22
|
+
render?: useRender.RenderProp;
|
|
23
|
+
/**
|
|
24
|
+
* Ref forwarded to the rendered title root element.
|
|
25
|
+
*
|
|
26
|
+
* @default No ref is attached.
|
|
27
|
+
*/
|
|
28
|
+
ref?: React.Ref<HTMLElement>;
|
|
29
|
+
/**
|
|
30
|
+
* Selects a semantic heading typography size from the active theme scale.
|
|
31
|
+
*
|
|
32
|
+
* This controls only the visual preset. Semantic heading choice remains owned by `render`.
|
|
33
|
+
*
|
|
34
|
+
* @default 'h1'
|
|
35
|
+
*/
|
|
36
|
+
level?: 'display' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
37
|
+
/**
|
|
38
|
+
* Overrides the level preset weight when a custom variable-font value is needed.
|
|
39
|
+
*
|
|
40
|
+
* @default No weight override.
|
|
41
|
+
*/
|
|
42
|
+
weight?: number;
|
|
43
|
+
/**
|
|
44
|
+
* Applies a literal color escape hatch.
|
|
45
|
+
*
|
|
46
|
+
* @default No literal color override.
|
|
47
|
+
*/
|
|
48
|
+
color?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Controls line height through foundation leading tokens.
|
|
51
|
+
*
|
|
52
|
+
* @default 'standard'
|
|
53
|
+
*/
|
|
54
|
+
lineHeight?: 'none' | 'x-small' | 'small' | 'standard' | 'large';
|
|
55
|
+
/**
|
|
56
|
+
* Aligns text using logical alignment values.
|
|
57
|
+
*
|
|
58
|
+
* @default 'start'
|
|
59
|
+
*/
|
|
60
|
+
align?: React.CSSProperties['textAlign'];
|
|
61
|
+
/**
|
|
62
|
+
* Constrains the maximum inline size of the rendered text block.
|
|
63
|
+
*
|
|
64
|
+
* @default No max width constraint.
|
|
65
|
+
*/
|
|
66
|
+
maxWidth?: string;
|
|
67
|
+
/**
|
|
68
|
+
* Controls white-space preservation and wrapping behavior.
|
|
69
|
+
*
|
|
70
|
+
* @default 'normal'
|
|
71
|
+
*/
|
|
72
|
+
whiteSpace?: React.CSSProperties['whiteSpace'];
|
|
73
|
+
/**
|
|
74
|
+
* Enables balanced wrapping for block-like titles.
|
|
75
|
+
*
|
|
76
|
+
* @default false
|
|
77
|
+
*/
|
|
78
|
+
balanced?: boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Sets inline padding using one token for both sides or a `[start, end]` tuple.
|
|
81
|
+
*
|
|
82
|
+
* @default No inline padding.
|
|
83
|
+
*/
|
|
84
|
+
hPadding?: TitleAxisPadding;
|
|
85
|
+
/**
|
|
86
|
+
* Sets block padding using one token for both sides or a `[start, end]` tuple.
|
|
87
|
+
*
|
|
88
|
+
* @default No block padding.
|
|
89
|
+
*/
|
|
90
|
+
vPadding?: TitleAxisPadding;
|
|
91
|
+
/**
|
|
92
|
+
* Trims text box whitespace at the chosen edge when the browser supports `text-box`.
|
|
93
|
+
*
|
|
94
|
+
* @default 'both'
|
|
95
|
+
*/
|
|
96
|
+
trim?: 'start' | 'end' | 'both';
|
|
97
|
+
/**
|
|
98
|
+
* Selects the `text-box` trim basis when `trim` is active.
|
|
99
|
+
*
|
|
100
|
+
* @default 'cap alphabetic'
|
|
101
|
+
*/
|
|
102
|
+
trimType?: string;
|
|
103
|
+
/**
|
|
104
|
+
* Overrides the variable-font width axis when the active font supports it.
|
|
105
|
+
*
|
|
106
|
+
* @default No width override.
|
|
107
|
+
*/
|
|
108
|
+
fontWidth?: number;
|
|
109
|
+
/**
|
|
110
|
+
* Overrides the variable-font optical size axis when the active font supports it.
|
|
111
|
+
*
|
|
112
|
+
* @default No optical size override.
|
|
113
|
+
*/
|
|
114
|
+
opticalSize?: number;
|
|
115
|
+
};
|
|
116
|
+
export declare const Title: React.FC<TitleProps>;
|
|
117
|
+
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
3
|
+
import { extractIntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
4
|
+
import { resolveAxisPadding } from '@react/src/core/styles/resolve-axis-padding';
|
|
5
|
+
import { clsx } from 'clsx';
|
|
6
|
+
import './title.css';
|
|
7
|
+
export const Title = ({ align = 'start', balanced = false, className, color, fontWidth, hPadding, level = 'h1', lineHeight = 'standard', maxWidth, opticalSize, ref, render, style, trim = 'both', trimType = 'cap alphabetic', vPadding, weight, whiteSpace = 'normal', ...otherProps }) => {
|
|
8
|
+
const hasPadding = Boolean(hPadding || vPadding);
|
|
9
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
10
|
+
const dynamicStyle = {
|
|
11
|
+
'--title-align': align,
|
|
12
|
+
'--title-max-width': maxWidth ?? 'none',
|
|
13
|
+
'--title-literal-color': color,
|
|
14
|
+
'--title-white-space': whiteSpace,
|
|
15
|
+
'--title-trim': trim ? `trim-${trim}` : 'initial',
|
|
16
|
+
'--title-trim-type': trim ? trimType : 'initial',
|
|
17
|
+
...(typeof weight === 'number' ? { '--title-font-weight': weight } : {}),
|
|
18
|
+
...(fontWidth !== undefined ? { '--title-font-width': fontWidth } : {}),
|
|
19
|
+
...(opticalSize !== undefined ? { '--title-font-opsz': opticalSize } : {}),
|
|
20
|
+
...resolveAxisPadding(hPadding, '--title-padding-inline-start', '--title-padding-inline-end'),
|
|
21
|
+
...resolveAxisPadding(vPadding, '--title-padding-block-start', '--title-padding-block-end'),
|
|
22
|
+
...style,
|
|
23
|
+
};
|
|
24
|
+
return useRender({
|
|
25
|
+
defaultTagName: 'span',
|
|
26
|
+
render,
|
|
27
|
+
ref,
|
|
28
|
+
props: {
|
|
29
|
+
...componentProps,
|
|
30
|
+
...intrinsicAttributes,
|
|
31
|
+
'data-title-level': level,
|
|
32
|
+
'data-title-weight': weight !== undefined ? 'custom' : 'preset',
|
|
33
|
+
'data-title-line-height': lineHeight,
|
|
34
|
+
'data-title-balanced': balanced ? 'true' : 'false',
|
|
35
|
+
'data-title-has-padding': hasPadding ? 'true' : 'false',
|
|
36
|
+
'data-title-has-literal-color': color ? 'true' : 'false',
|
|
37
|
+
className: clsx('Title', className),
|
|
38
|
+
style: dynamicStyle,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
41
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Resting elevation level backed by preflight `elevations.css`. */
|
|
2
|
+
export type ElevationLevel = 0 | 1 | 2 | 3 | 4;
|
|
3
|
+
/** Shadow cast axis backed by preflight `elevations.css`. */
|
|
4
|
+
export type ElevationDirection = 'right' | 'left' | 'top' | 'bottom';
|
|
5
|
+
/** CSS color value for the `--shadow-color` custom property. */
|
|
6
|
+
export type ElevationShadowColor = string;
|
|
7
|
+
export declare const ELEVATION_DEFAULTS: {
|
|
8
|
+
readonly direction: "bottom";
|
|
9
|
+
readonly shadowColor: "oklch(0% 0 0)";
|
|
10
|
+
};
|
|
11
|
+
export type ElevationConfig = {
|
|
12
|
+
resting: ElevationLevel;
|
|
13
|
+
hover?: ElevationLevel;
|
|
14
|
+
direction?: ElevationDirection;
|
|
15
|
+
shadowColor?: ElevationShadowColor;
|
|
16
|
+
extraShadow?: string;
|
|
17
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
import { type ElevationConfig, type ElevationDirection, type ElevationLevel } from './elevation-types';
|
|
3
|
+
export type ElevationAttributes = {
|
|
4
|
+
'data-elevation': ElevationLevel;
|
|
5
|
+
'data-elevation-direction': ElevationDirection;
|
|
6
|
+
'data-elevation-hover'?: ElevationLevel;
|
|
7
|
+
};
|
|
8
|
+
export type ElevationPropsResult = {
|
|
9
|
+
attributes: ElevationAttributes;
|
|
10
|
+
style: React.CSSProperties;
|
|
11
|
+
};
|
|
12
|
+
export declare const getElevationProps: ({ resting, hover, direction, shadowColor, extraShadow, }: ElevationConfig) => ElevationPropsResult;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ELEVATION_DEFAULTS, } from './elevation-types';
|
|
2
|
+
export const getElevationProps = ({ resting, hover, direction = ELEVATION_DEFAULTS.direction, shadowColor = ELEVATION_DEFAULTS.shadowColor, extraShadow, }) => ({
|
|
3
|
+
attributes: {
|
|
4
|
+
'data-elevation': resting,
|
|
5
|
+
'data-elevation-direction': direction,
|
|
6
|
+
...(hover !== undefined ? { 'data-elevation-hover': hover } : {}),
|
|
7
|
+
},
|
|
8
|
+
style: {
|
|
9
|
+
'--shadow-color': shadowColor,
|
|
10
|
+
...(extraShadow !== undefined ? { '--extra-shadow': extraShadow } : {}),
|
|
11
|
+
},
|
|
12
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export type IntrinsicViraProps = {
|
|
2
|
+
/**
|
|
3
|
+
* Adds `data-grow="false"` to the component root when false.
|
|
4
|
+
*
|
|
5
|
+
* @default The component root does not render a grow attribute.
|
|
6
|
+
*/
|
|
7
|
+
grow?: boolean | undefined;
|
|
8
|
+
/**
|
|
9
|
+
* Adds `data-shrink="false"` to the component root when false.
|
|
10
|
+
*
|
|
11
|
+
* @default The component root does not render a shrink attribute.
|
|
12
|
+
*/
|
|
13
|
+
shrink?: boolean | undefined;
|
|
14
|
+
};
|
|
15
|
+
type IntrinsicViraAttributes = {
|
|
16
|
+
'data-grow'?: 'false';
|
|
17
|
+
'data-shrink'?: 'false';
|
|
18
|
+
};
|
|
19
|
+
export declare const extractIntrinsicViraProps: <Props extends IntrinsicViraProps>(props: Props) => {
|
|
20
|
+
componentProps: Omit<Props, keyof IntrinsicViraProps>;
|
|
21
|
+
intrinsicAttributes: IntrinsicViraAttributes;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const extractIntrinsicViraProps = (props) => {
|
|
2
|
+
const { grow, shrink, ...componentProps } = props;
|
|
3
|
+
return {
|
|
4
|
+
componentProps,
|
|
5
|
+
intrinsicAttributes: {
|
|
6
|
+
...(grow === false ? { 'data-grow': 'false' } : {}),
|
|
7
|
+
...(shrink === false ? { 'data-shrink': 'false' } : {}),
|
|
8
|
+
},
|
|
9
|
+
};
|
|
10
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ThemeTypes } from '@foundation/platforms/web/vira/types';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
type AxisPadding = ThemeTypes['space'] | [ThemeTypes['space'] | 0, ThemeTypes['space'] | 0];
|
|
4
|
+
export declare const resolveAxisPadding: (value: AxisPadding | undefined, startKey: string, endKey: string) => React.CSSProperties;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { resolveThemeValue } from '@react/src/core/theme/resolve-theme-value';
|
|
2
|
+
export const resolveAxisPadding = (value, startKey, endKey) => {
|
|
3
|
+
if (!value) {
|
|
4
|
+
return {};
|
|
5
|
+
}
|
|
6
|
+
if (Array.isArray(value)) {
|
|
7
|
+
return {
|
|
8
|
+
[startKey]: resolveThemeValue(value[0], 'space', 0),
|
|
9
|
+
[endKey]: resolveThemeValue(value[1], 'space', 0),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
const resolvedValue = resolveThemeValue(value, 'space', 0);
|
|
13
|
+
return {
|
|
14
|
+
[startKey]: resolvedValue,
|
|
15
|
+
[endKey]: resolvedValue,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import theme from '@foundation/platforms/web/vira/vira-nested.json';
|
|
2
|
+
type ThemeTree = typeof theme;
|
|
3
|
+
type ThemeKey = keyof ThemeTree;
|
|
4
|
+
export declare const resolveThemeValue: <TKey extends ThemeKey, TValue extends keyof ThemeTree[TKey], TFallback>(key: TValue | null | undefined | 0, themeKey: TKey, fallbackValue: TFallback) => ThemeTree[TKey][TValue] | TFallback;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Elevator",
|
|
3
|
+
"summary": "No-DOM elevation utility that merges shadow hooks onto valid element children.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Apply resting and optional hover elevation to existing elements",
|
|
6
|
+
"Compose animated box-shadow transitions with data-elevation hooks",
|
|
7
|
+
"Use getElevationProps when you need the mapping directly"
|
|
8
|
+
],
|
|
9
|
+
"whenNotToUse": [
|
|
10
|
+
"When you need a wrapper DOM node for layout or styling isolation",
|
|
11
|
+
"Non-element children that cannot receive merged props"
|
|
12
|
+
],
|
|
13
|
+
"accessibility": [
|
|
14
|
+
"Elevation is visual only — do not use shadow depth as the only affordance for interactivity",
|
|
15
|
+
"Preserve child focus order and semantics; Elevator does not add a focusable node",
|
|
16
|
+
"Respect reduced-motion preferences when pairing animated elevation with motion"
|
|
17
|
+
],
|
|
18
|
+
"antiPatterns": [
|
|
19
|
+
"Wrapping invalid or non-element nodes",
|
|
20
|
+
"Overwriting child transition shorthand without composing box-shadow"
|
|
21
|
+
],
|
|
22
|
+
"related": ["Surface"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"summary": "Minimal bootstrap for external apps consuming @viraui/react.",
|
|
3
|
+
"requiredPackages": {
|
|
4
|
+
"@viraui/react": "Public components, preflight CSS, and usage guides.",
|
|
5
|
+
"react": "Peer dependency.",
|
|
6
|
+
"react-dom": "Peer dependency.",
|
|
7
|
+
"@base-ui/react": "Peer dependency for wrapped primitives."
|
|
8
|
+
},
|
|
9
|
+
"optionalPackages": {
|
|
10
|
+
"@viraui/foundation": "Preset Vira brand theme CSS, ThemeTypes, and JSON only.",
|
|
11
|
+
"@viraui/icons": "ViraUI icons assets when not using Icon from @viraui/react."
|
|
12
|
+
},
|
|
13
|
+
"importOrder": [
|
|
14
|
+
"@viraui/react/preflight.css",
|
|
15
|
+
"Compatible theme CSS (preset @viraui/foundation/vira/css, custom theme CSS, or future theme-builder export)",
|
|
16
|
+
"Consumer @font-face rules matching theme font-family strings or import from fontsource packages"
|
|
17
|
+
],
|
|
18
|
+
"themePaths": [
|
|
19
|
+
{
|
|
20
|
+
"id": "preset-vira",
|
|
21
|
+
"label": "Preset Vira brand",
|
|
22
|
+
"foundation": true,
|
|
23
|
+
"themeCss": "@viraui/foundation/vira/css"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"id": "custom",
|
|
27
|
+
"label": "Consumer custom theme",
|
|
28
|
+
"foundation": false,
|
|
29
|
+
"themeCss": "Consumer-authored CSS with public semantic variables"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"id": "theme-builder",
|
|
33
|
+
"label": "Future theme builder export",
|
|
34
|
+
"foundation": false,
|
|
35
|
+
"themeCss": "Exported theme CSS from a Vira theme builder"
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"discovery": {
|
|
39
|
+
"catalog": "@viraui/react/catalog.json",
|
|
40
|
+
"consumption": "@viraui/react/consumption.json",
|
|
41
|
+
"themeSurface": "@viraui/react/theme-surface.json",
|
|
42
|
+
"componentGuide": "@viraui/react/<component>.guide.json"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"summary": "Public semantic CSS custom properties required by @viraui/react components.",
|
|
3
|
+
"groups": [
|
|
4
|
+
{
|
|
5
|
+
"id": "base",
|
|
6
|
+
"pattern": "--base-*",
|
|
7
|
+
"purpose": "Semantic neutral ramp for surfaces and text on themed backgrounds."
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"id": "global",
|
|
11
|
+
"pattern": "--global-*",
|
|
12
|
+
"purpose": "App-facing foreground, background, primary, muted, interactive, disabled, and contrast colors."
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
"id": "highlight",
|
|
16
|
+
"pattern": "--highlight-*",
|
|
17
|
+
"purpose": "Status and decorative highlight palette."
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "radius",
|
|
21
|
+
"pattern": "--radius-*",
|
|
22
|
+
"purpose": "Semantic radius scale for component chrome."
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "space",
|
|
26
|
+
"pattern": "--space-*",
|
|
27
|
+
"purpose": "Semantic spacing scale for layout and component padding."
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "font-scale",
|
|
31
|
+
"pattern": "--font-scale-*",
|
|
32
|
+
"purpose": "Semantic typography sizes including display, headings, and body steps."
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "font-family",
|
|
36
|
+
"pattern": "--font-family-heading | --font-family-body | --font-family-mono",
|
|
37
|
+
"purpose": "Semantic font-family touchpoints; consumers must provide matching @font-face rules."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "font-leading",
|
|
41
|
+
"pattern": "--font-leading-*",
|
|
42
|
+
"purpose": "Semantic line-height scale for text and title components."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "color-primitives",
|
|
46
|
+
"pattern": "--color-{palette}-{step}",
|
|
47
|
+
"purpose": "Raw palette steps referenced by semantic aliases; not the primary consumer override API."
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "breakpoint",
|
|
51
|
+
"pattern": "--breakpoint-*",
|
|
52
|
+
"purpose": "Theme-owned min-width tokens for responsive layout."
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "motion",
|
|
56
|
+
"pattern": "--duration-* | --easing-*",
|
|
57
|
+
"purpose": "Duration and easing tokens for component motion."
|
|
58
|
+
}
|
|
59
|
+
],
|
|
60
|
+
"compatibilityRule": "Custom and builder-generated themes must keep documented semantic variable names stable while values may change."
|
|
61
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Icon",
|
|
3
|
+
"summary": "Decorative Vira SVG icon selected by name and variant.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Decorative glyphs inside buttons, fields, or labels",
|
|
6
|
+
"Named icons from the Vira icon set via name and variant",
|
|
7
|
+
"Passing icon slots to components that accept ReactNode icons"
|
|
8
|
+
],
|
|
9
|
+
"whenNotToUse": [
|
|
10
|
+
"Standalone interactive controls — wrap in Button or IconButton",
|
|
11
|
+
"Meaningful icons without an accessible name on the parent control"
|
|
12
|
+
],
|
|
13
|
+
"accessibility": [
|
|
14
|
+
"Icon is decorative by default (aria-hidden) — the parent control or label must convey meaning",
|
|
15
|
+
"Do not use Icon as the only accessible name for an action",
|
|
16
|
+
"When the glyph carries unique meaning, expose that meaning on the interactive parent"
|
|
17
|
+
],
|
|
18
|
+
"antiPatterns": [
|
|
19
|
+
"Passing IconName strings into components that expect ReactNode icon slots",
|
|
20
|
+
"Using Icon as the only accessible name for an action"
|
|
21
|
+
],
|
|
22
|
+
"related": ["Button", "IconButton"]
|
|
23
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "IconButton",
|
|
3
|
+
"summary": "Icon-only button that requires an accessible name through aria-label or aria-labelledby.",
|
|
4
|
+
"whenToUse": [
|
|
5
|
+
"Compact toolbar or chrome actions identified only by icon",
|
|
6
|
+
"Same size, variant, and loading model as Button without visible label",
|
|
7
|
+
"Decorative glyph with explicit accessible naming on the root button"
|
|
8
|
+
],
|
|
9
|
+
"whenNotToUse": ["Actions that need visible text — use Button", "Missing both aria-label and aria-labelledby"],
|
|
10
|
+
"accessibility": [
|
|
11
|
+
"Provide aria-label or aria-labelledby on every IconButton — icon alone is not a name",
|
|
12
|
+
"Loading sets aria-busy on the control; Spinner is decorative",
|
|
13
|
+
"Keep the accessible name stable when loading state changes"
|
|
14
|
+
],
|
|
15
|
+
"antiPatterns": [
|
|
16
|
+
"Passing children or iconPosition — not part of the public API",
|
|
17
|
+
"Using icon-only Button instead of IconButton"
|
|
18
|
+
],
|
|
19
|
+
"related": ["Button", "Icon", "Spinner"]
|
|
20
|
+
}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|