@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,139 @@
|
|
|
1
|
+
@scope (.Text) {
|
|
2
|
+
:scope {
|
|
3
|
+
--text-align: start;
|
|
4
|
+
--text-max-width: none;
|
|
5
|
+
--text-white-space: normal;
|
|
6
|
+
--text-padding-inline-start: 0;
|
|
7
|
+
--text-padding-inline-end: 0;
|
|
8
|
+
--text-padding-block-start: 0;
|
|
9
|
+
--text-padding-block-end: 0;
|
|
10
|
+
--text-font-family: var(--font-family-body);
|
|
11
|
+
--text-fluid-factor: 5vw;
|
|
12
|
+
--text-font-size: clamp(var(--font-scale-body-small), var(--text-fluid-factor, 5vw), var(--font-scale-body-medium));
|
|
13
|
+
--text-font-weight: 400;
|
|
14
|
+
--text-font-width: 100;
|
|
15
|
+
--text-font-opsz: 16;
|
|
16
|
+
--text-line-height: var(--font-leading-standard);
|
|
17
|
+
|
|
18
|
+
margin: 0;
|
|
19
|
+
min-inline-size: 0;
|
|
20
|
+
max-inline-size: var(--text-max-width);
|
|
21
|
+
font-family: var(--text-font-family);
|
|
22
|
+
font-size: var(--text-font-size);
|
|
23
|
+
line-height: var(--text-line-height);
|
|
24
|
+
text-align: var(--text-align);
|
|
25
|
+
white-space: var(--text-white-space);
|
|
26
|
+
word-break: break-word;
|
|
27
|
+
font-optical-sizing: auto;
|
|
28
|
+
font-variation-settings:
|
|
29
|
+
'wght' var(--text-font-weight),
|
|
30
|
+
'wdth' var(--text-font-width),
|
|
31
|
+
'opsz' var(--text-font-opsz);
|
|
32
|
+
text-box: var(--text-trim) var(--text-trim-type);
|
|
33
|
+
|
|
34
|
+
&[data-text-balanced='true'] {
|
|
35
|
+
text-wrap: balance;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
&[data-text-has-padding='true'] {
|
|
39
|
+
padding: var(--text-padding-block-start) var(--text-padding-inline-end) var(--text-padding-block-end)
|
|
40
|
+
var(--text-padding-inline-start);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&[data-text-family='mono'] {
|
|
44
|
+
--text-font-family: var(--font-family-mono);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
&[data-text-size='x-large'] {
|
|
48
|
+
--text-font-size: clamp(
|
|
49
|
+
var(--font-scale-body-large),
|
|
50
|
+
var(--text-fluid-factor, 5vw),
|
|
51
|
+
var(--font-scale-body-x-large)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
&[data-text-size='large'] {
|
|
56
|
+
--text-font-size: clamp(
|
|
57
|
+
var(--font-scale-body-medium),
|
|
58
|
+
var(--text-fluid-factor, 5vw),
|
|
59
|
+
var(--font-scale-body-large)
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
&[data-text-size='medium'] {
|
|
64
|
+
--text-font-size: clamp(
|
|
65
|
+
var(--font-scale-body-small),
|
|
66
|
+
var(--text-fluid-factor, 5vw),
|
|
67
|
+
var(--font-scale-body-medium)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
&[data-text-size='small'] {
|
|
72
|
+
--text-font-size: clamp(
|
|
73
|
+
var(--font-scale-body-x-small),
|
|
74
|
+
var(--text-fluid-factor, 5vw),
|
|
75
|
+
var(--font-scale-body-small)
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
&[data-text-size='x-small'] {
|
|
80
|
+
--text-font-size: var(--font-scale-body-x-small);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
&[data-text-weight='light'] {
|
|
84
|
+
--text-font-weight: 200;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&[data-text-weight='semibold'] {
|
|
88
|
+
--text-font-weight: 600;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
&[data-text-weight='bold'] {
|
|
92
|
+
--text-font-weight: 800;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
&[data-text-tone='muted'] {
|
|
96
|
+
color: var(--global-muted);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
&[data-text-tone='interactive'] {
|
|
100
|
+
color: var(--global-interactive-text);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
&[data-text-tone='positive'] {
|
|
104
|
+
color: var(--highlight-green);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
&[data-text-tone='informative'] {
|
|
108
|
+
color: var(--highlight-blue);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&[data-text-tone='danger'] {
|
|
112
|
+
color: var(--highlight-red);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
&[data-text-tone='warning'] {
|
|
116
|
+
color: var(--highlight-yellow);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
&[data-text-has-literal-color='true'] {
|
|
120
|
+
color: var(--text-literal-color);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
&[data-text-line-height='none'] {
|
|
124
|
+
--text-line-height: 0;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
&[data-text-line-height='x-small'] {
|
|
128
|
+
--text-line-height: var(--font-leading-x-small);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
&[data-text-line-height='small'] {
|
|
132
|
+
--text-line-height: var(--font-leading-small);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
&[data-text-line-height='large'] {
|
|
136
|
+
--text-line-height: var(--font-leading-large);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { useRender } from '@base-ui/react/use-render';
|
|
2
|
+
import type { ThemeTypes } from '@foundation/platforms/web/vira/types';
|
|
3
|
+
import type { IntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
4
|
+
import type * as React from 'react';
|
|
5
|
+
import './text.css';
|
|
6
|
+
type TextSpace = ThemeTypes['space'];
|
|
7
|
+
type TextAxisPadding = TextSpace | [TextSpace | 0, TextSpace | 0];
|
|
8
|
+
/**
|
|
9
|
+
* Public Text props.
|
|
10
|
+
*
|
|
11
|
+
* Includes standard inline text attributes such as `children`, `id`, `title`, and event handlers,
|
|
12
|
+
* plus Vira-owned body typography, color, and layout controls.
|
|
13
|
+
*
|
|
14
|
+
* @default Base HTML pass-through props keep upstream defaults.
|
|
15
|
+
*/
|
|
16
|
+
export type TextProps = React.ComponentPropsWithoutRef<'span'> & IntrinsicViraProps & {
|
|
17
|
+
/**
|
|
18
|
+
* Replaces the default `span` root using Base UI render semantics.
|
|
19
|
+
*
|
|
20
|
+
* @default The text renders a `span` root.
|
|
21
|
+
*/
|
|
22
|
+
render?: useRender.RenderProp;
|
|
23
|
+
/**
|
|
24
|
+
* Ref forwarded to the rendered text root element.
|
|
25
|
+
*
|
|
26
|
+
* @default No ref is attached.
|
|
27
|
+
*/
|
|
28
|
+
ref?: React.Ref<HTMLElement>;
|
|
29
|
+
/**
|
|
30
|
+
* Selects a semantic body typography size from the active theme scale.
|
|
31
|
+
*
|
|
32
|
+
* @default 'body-medium'
|
|
33
|
+
*/
|
|
34
|
+
size?: 'x-large' | 'large' | 'medium' | 'small' | 'x-small';
|
|
35
|
+
/**
|
|
36
|
+
* Selects the semantic font family for body copy and inline code-like text.
|
|
37
|
+
*
|
|
38
|
+
* @default 'body'
|
|
39
|
+
*/
|
|
40
|
+
family?: 'body' | 'mono';
|
|
41
|
+
/**
|
|
42
|
+
* Selects a semantic weight keyword or a numeric variable-font weight override.
|
|
43
|
+
*
|
|
44
|
+
* @default 'regular'
|
|
45
|
+
*/
|
|
46
|
+
weight?: 'light' | 'regular' | 'semibold' | 'bold' | number;
|
|
47
|
+
/**
|
|
48
|
+
* Sets the semantic text color role when no literal `color` override is used.
|
|
49
|
+
*
|
|
50
|
+
* @default No semantic tone override.
|
|
51
|
+
*/
|
|
52
|
+
tone?: 'default' | 'muted' | 'interactive' | 'positive' | 'informative' | 'danger' | 'warning';
|
|
53
|
+
/**
|
|
54
|
+
* Applies a literal color escape hatch when semantic `tone` is not used.
|
|
55
|
+
*
|
|
56
|
+
* @default No literal color override.
|
|
57
|
+
*/
|
|
58
|
+
color?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Controls line height through foundation leading tokens.
|
|
61
|
+
*
|
|
62
|
+
* @default 'standard'
|
|
63
|
+
*/
|
|
64
|
+
lineHeight?: 'none' | 'x-small' | 'small' | 'standard' | 'large';
|
|
65
|
+
/**
|
|
66
|
+
* Aligns text using logical alignment values.
|
|
67
|
+
*
|
|
68
|
+
* @default 'start'
|
|
69
|
+
*/
|
|
70
|
+
align?: React.CSSProperties['textAlign'];
|
|
71
|
+
/**
|
|
72
|
+
* Constrains the maximum inline size of the rendered text block.
|
|
73
|
+
*
|
|
74
|
+
* @default No max width constraint.
|
|
75
|
+
*/
|
|
76
|
+
maxWidth?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Controls white-space preservation and wrapping behavior.
|
|
79
|
+
*
|
|
80
|
+
* @default 'normal'
|
|
81
|
+
*/
|
|
82
|
+
whiteSpace?: React.CSSProperties['whiteSpace'];
|
|
83
|
+
/**
|
|
84
|
+
* Enables balanced wrapping for block-like copy.
|
|
85
|
+
*
|
|
86
|
+
* @default false
|
|
87
|
+
*/
|
|
88
|
+
balanced?: boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Sets inline padding using one token for both sides or a `[start, end]` tuple.
|
|
91
|
+
*
|
|
92
|
+
* @default No inline padding.
|
|
93
|
+
*/
|
|
94
|
+
hPadding?: TextAxisPadding;
|
|
95
|
+
/**
|
|
96
|
+
* Sets block padding using one token for both sides or a `[start, end]` tuple.
|
|
97
|
+
*
|
|
98
|
+
* @default No block padding.
|
|
99
|
+
*/
|
|
100
|
+
vPadding?: TextAxisPadding;
|
|
101
|
+
/**
|
|
102
|
+
* Trims text box whitespace at the chosen edge when the browser supports `text-box`.
|
|
103
|
+
*
|
|
104
|
+
* @default 'both'
|
|
105
|
+
*/
|
|
106
|
+
trim?: 'start' | 'end' | 'both';
|
|
107
|
+
/**
|
|
108
|
+
* Selects the `text-box` trim basis when `trim` is active.
|
|
109
|
+
*
|
|
110
|
+
* @default 'text alphabetic'
|
|
111
|
+
*/
|
|
112
|
+
trimType?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Overrides the variable-font width axis when the active font supports it.
|
|
115
|
+
*
|
|
116
|
+
* @default No width override.
|
|
117
|
+
*/
|
|
118
|
+
fontWidth?: number;
|
|
119
|
+
/**
|
|
120
|
+
* Overrides the variable-font optical size axis when the active font supports it.
|
|
121
|
+
*
|
|
122
|
+
* @default No optical size override.
|
|
123
|
+
*/
|
|
124
|
+
opticalSize?: number;
|
|
125
|
+
};
|
|
126
|
+
export declare const Text: React.FC<TextProps>;
|
|
127
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
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 './text.css';
|
|
7
|
+
export const Text = ({ align = 'start', balanced = false, className, color, family = 'body', fontWidth, hPadding, lineHeight = 'standard', maxWidth, opticalSize, ref, render, size = 'medium', style, tone, trim, trimType = 'cap alphabetic', vPadding, weight = 'regular', whiteSpace = 'normal', ...otherProps }) => {
|
|
8
|
+
const hasPadding = Boolean(hPadding || vPadding);
|
|
9
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(otherProps);
|
|
10
|
+
const dynamicStyle = {
|
|
11
|
+
'--text-align': align,
|
|
12
|
+
'--text-max-width': maxWidth ?? 'none',
|
|
13
|
+
'--text-literal-color': color,
|
|
14
|
+
'--text-white-space': whiteSpace,
|
|
15
|
+
'--text-trim': trim ? `trim-${trim}` : 'initial',
|
|
16
|
+
'--text-trim-type': trim ? trimType : 'initial',
|
|
17
|
+
...(typeof weight === 'number' ? { '--text-font-weight': weight } : {}),
|
|
18
|
+
...(fontWidth !== undefined ? { '--text-font-width': fontWidth } : {}),
|
|
19
|
+
...(opticalSize !== undefined ? { '--text-font-opsz': opticalSize } : {}),
|
|
20
|
+
...resolveAxisPadding(hPadding, '--text-padding-inline-start', '--text-padding-inline-end'),
|
|
21
|
+
...resolveAxisPadding(vPadding, '--text-padding-block-start', '--text-padding-block-end'),
|
|
22
|
+
...style,
|
|
23
|
+
};
|
|
24
|
+
return useRender({
|
|
25
|
+
defaultTagName: 'span',
|
|
26
|
+
render,
|
|
27
|
+
ref,
|
|
28
|
+
props: {
|
|
29
|
+
...componentProps,
|
|
30
|
+
...intrinsicAttributes,
|
|
31
|
+
'data-text-size': size,
|
|
32
|
+
'data-text-family': family,
|
|
33
|
+
'data-text-weight': typeof weight === 'string' ? weight : 'custom',
|
|
34
|
+
'data-text-tone': tone,
|
|
35
|
+
'data-text-line-height': lineHeight,
|
|
36
|
+
'data-text-balanced': balanced ? 'true' : 'false',
|
|
37
|
+
'data-text-has-padding': hasPadding ? 'true' : 'false',
|
|
38
|
+
'data-text-has-literal-color': color ? 'true' : 'false',
|
|
39
|
+
className: clsx('Text', className),
|
|
40
|
+
style: dynamicStyle,
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Textarea } from './textarea';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
@scope (.Textarea) {
|
|
2
|
+
:scope {
|
|
3
|
+
--textarea-min-block-size: calc(var(--space-x-large) * 2);
|
|
4
|
+
--textarea-padding-block: var(--space-small);
|
|
5
|
+
--textarea-input-border-radius: var(--radius-small);
|
|
6
|
+
inline-size: 100%;
|
|
7
|
+
|
|
8
|
+
> .BasicInput {
|
|
9
|
+
--basic-input-border-radius: var(--textarea-input-border-radius);
|
|
10
|
+
border: 1px solid var(--global-contrast);
|
|
11
|
+
min-block-size: var(--textarea-min-block-size);
|
|
12
|
+
padding-block: var(--textarea-padding-block);
|
|
13
|
+
line-height: 1.4;
|
|
14
|
+
resize: none;
|
|
15
|
+
|
|
16
|
+
&[data-resize='vertical'] {
|
|
17
|
+
resize: vertical;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
&[data-resize='both'] {
|
|
21
|
+
resize: both;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
&[data-invalid] {
|
|
25
|
+
border-color: var(--highlight-red);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
&:disabled,
|
|
29
|
+
&[data-disabled] {
|
|
30
|
+
border-color: transparent;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
/* Required field: append red asterisk on Label */
|
|
35
|
+
&:has([required]) > .Label::after {
|
|
36
|
+
content: ' *';
|
|
37
|
+
color: var(--highlight-red);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
> .Label,
|
|
41
|
+
> .Description {
|
|
42
|
+
padding-inline: calc(var(--textarea-input-border-radius) / 2);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { FieldRoot } from '@base-ui/react/field';
|
|
2
|
+
import type * as React from 'react';
|
|
3
|
+
import './textarea.css';
|
|
4
|
+
import type { IntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
5
|
+
/**
|
|
6
|
+
* Public Textarea props.
|
|
7
|
+
*
|
|
8
|
+
* Includes native textarea props such as `value`, `defaultValue`, `placeholder`, `disabled`,
|
|
9
|
+
* `rows`, and event handlers on `Field.Control` (`render={<textarea />}`), plus optional
|
|
10
|
+
* `label`, `description`, and `error` copy rendered with `Text` inside a `Stack` field layout.
|
|
11
|
+
*
|
|
12
|
+
* @default Base UI `Field.Root` pass-through props keep upstream defaults.
|
|
13
|
+
*/
|
|
14
|
+
export type TextareaProps = React.ComponentPropsWithoutRef<'textarea'> & Omit<FieldRoot.Props, 'ref'> & {
|
|
15
|
+
/**
|
|
16
|
+
* Adds `data-grow="false"` to the field root when false.
|
|
17
|
+
*
|
|
18
|
+
* @default The field root does not render a grow attribute.
|
|
19
|
+
*/
|
|
20
|
+
grow?: IntrinsicViraProps['grow'];
|
|
21
|
+
/**
|
|
22
|
+
* Adds `data-shrink="false"` to the field root when false.
|
|
23
|
+
*
|
|
24
|
+
* @default The field root does not render a shrink attribute.
|
|
25
|
+
*/
|
|
26
|
+
shrink?: IntrinsicViraProps['shrink'];
|
|
27
|
+
ref?: React.Ref<HTMLTextAreaElement>;
|
|
28
|
+
/**
|
|
29
|
+
* Visible label rendered with `Field.Label` and `Text`.
|
|
30
|
+
*
|
|
31
|
+
* @default No label is rendered.
|
|
32
|
+
*/
|
|
33
|
+
label?: React.ReactNode;
|
|
34
|
+
/**
|
|
35
|
+
* Helper copy rendered with `Field.Description` and `Text` while the field is valid.
|
|
36
|
+
*
|
|
37
|
+
* @default No description is rendered.
|
|
38
|
+
*/
|
|
39
|
+
description?: React.ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Error copy rendered with `Field.Error` and `Text` in the same slot as `description`.
|
|
42
|
+
* Replaces description while the field is invalid. Validation messages from `validate`
|
|
43
|
+
* are shown by `Field.Error` even when this prop is omitted.
|
|
44
|
+
*
|
|
45
|
+
* @default No static error copy is rendered.
|
|
46
|
+
*/
|
|
47
|
+
error?: React.ReactNode;
|
|
48
|
+
/**
|
|
49
|
+
* Resize behavior for the control. Omitted disables resize; `"vertical"` allows vertical resize;
|
|
50
|
+
* `"both"` allows horizontal and vertical resize.
|
|
51
|
+
*
|
|
52
|
+
* @default undefined (no resize)
|
|
53
|
+
*/
|
|
54
|
+
resize?: 'vertical' | 'both';
|
|
55
|
+
};
|
|
56
|
+
export declare const Textarea: React.FC<TextareaProps>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Field } from '@base-ui/react/field';
|
|
4
|
+
import { BasicInput } from '@react/src/components/basic-input';
|
|
5
|
+
import { FieldHelperCopy } from '@react/src/components/basic-input/field-helper-copy';
|
|
6
|
+
import { Stack } from '@react/src/components/stack';
|
|
7
|
+
import { Text } from '@react/src/components/text';
|
|
8
|
+
import { extractIntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
9
|
+
import './textarea.css';
|
|
10
|
+
export const Textarea = ({ className, description, dirty, disabled, error, invalid, label, name, ref, resize, touched, validate, validationDebounceTime, validationMode, ...textareaProps }) => {
|
|
11
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(textareaProps);
|
|
12
|
+
return (_jsxs(Field.Root, { ...intrinsicAttributes, className: "Textarea", dirty: dirty, disabled: disabled, invalid: invalid, name: name, touched: touched, validate: validate, validationDebounceTime: validationDebounceTime, validationMode: validationMode, render: _jsx(Stack, { direction: "column", fillChildren: false, rowGap: "small" }), children: [label && (_jsx(Text, { size: "small", weight: "semibold", className: "Label", render: _jsx(Field.Label, {}), children: label })), _jsx(BasicInput, { ...componentProps, ref: ref, className: className, "data-resize": resize, disabled: disabled, render: _jsx("textarea", {}) }), _jsx(FieldHelperCopy, { description: description, error: error })] }));
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Textfield } from './textfield';
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
@scope (.Textfield) {
|
|
2
|
+
:scope {
|
|
3
|
+
--input-height: var(--space-x-large);
|
|
4
|
+
--control-group-background: var(--base-1);
|
|
5
|
+
--control-group-color: var(--global-foreground);
|
|
6
|
+
--control-group-border-color: var(--global-contrast);
|
|
7
|
+
--control-group-border-radius: var(--radius-small);
|
|
8
|
+
inline-size: 100%;
|
|
9
|
+
|
|
10
|
+
> .ControlGroup {
|
|
11
|
+
box-sizing: border-box;
|
|
12
|
+
inline-size: 100%;
|
|
13
|
+
min-inline-size: 0;
|
|
14
|
+
block-size: var(--input-height);
|
|
15
|
+
background: var(--control-group-background);
|
|
16
|
+
border: 1px solid var(--control-group-border-color);
|
|
17
|
+
border-radius: var(--control-group-border-radius);
|
|
18
|
+
|
|
19
|
+
&:has(.BasicInput[data-focused]),
|
|
20
|
+
&:has(.BasicInput:focus-visible) {
|
|
21
|
+
outline: 2px solid var(--global-foreground);
|
|
22
|
+
outline-offset: 2px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Invalid: propagate BasicInput error border and outline to ControlGroup shell */
|
|
26
|
+
&:has(.BasicInput[data-invalid]) {
|
|
27
|
+
--control-group-border-color: var(--highlight-red);
|
|
28
|
+
box-shadow: none;
|
|
29
|
+
outline-color: oklab(from var(--highlight-red) l a b / 0.5);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/* Disabled: mirror disabled input background/border on ControlGroup */
|
|
33
|
+
&:has(.BasicInput:disabled),
|
|
34
|
+
&:has(.BasicInput[data-disabled]) {
|
|
35
|
+
--control-group-background: var(--global-disabled-background);
|
|
36
|
+
--control-group-border-color: transparent;
|
|
37
|
+
|
|
38
|
+
box-shadow: none;
|
|
39
|
+
cursor: not-allowed;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
> .BasicInput {
|
|
43
|
+
flex: 1 1 auto;
|
|
44
|
+
min-inline-size: 0;
|
|
45
|
+
block-size: 100%;
|
|
46
|
+
line-height: 1.2;
|
|
47
|
+
border: none;
|
|
48
|
+
background: transparent;
|
|
49
|
+
box-shadow: none;
|
|
50
|
+
border-radius: inherit;
|
|
51
|
+
|
|
52
|
+
&:focus-visible {
|
|
53
|
+
outline: none;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&:disabled {
|
|
57
|
+
cursor: not-allowed;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
> .Addon {
|
|
62
|
+
min-inline-size: var(--space-x-large);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* Addon start: tighten input padding so text does not sit under the addon */
|
|
66
|
+
&:has(.Addon[data-position='start']) > .BasicInput {
|
|
67
|
+
padding-inline-start: var(--space-x-small);
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
/* Addon end: tighten trailing padding on the input */
|
|
71
|
+
&:has(.Addon[data-position='end']) > .BasicInput {
|
|
72
|
+
padding-inline-end: var(--space-x-small);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/* Required field: append red asterisk on Label */
|
|
77
|
+
&:has([required]) > .Label::after {
|
|
78
|
+
content: ' *';
|
|
79
|
+
color: var(--highlight-red);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
> .Label,
|
|
83
|
+
> .Description {
|
|
84
|
+
padding-inline: calc(var(--control-group-border-radius) / 2);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import type { FieldRoot } from '@base-ui/react/field';
|
|
2
|
+
import { Input as PrimitiveInput } from '@base-ui/react/input';
|
|
3
|
+
import type * as React from 'react';
|
|
4
|
+
import './textfield.css';
|
|
5
|
+
import type { IntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
6
|
+
/**
|
|
7
|
+
* Public Textfield props.
|
|
8
|
+
*
|
|
9
|
+
* Includes Base UI input props such as `value`, `defaultValue`, `placeholder`, `disabled`,
|
|
10
|
+
* and event handlers, plus optional `label`, `description`, and `error` copy rendered with
|
|
11
|
+
* `Text` inside a `Stack` field layout.
|
|
12
|
+
*
|
|
13
|
+
* @default Base UI pass-through props keep upstream defaults.
|
|
14
|
+
*/
|
|
15
|
+
export type TextfieldProps = PrimitiveInput.Props & FieldRoot.Props & IntrinsicViraProps & {
|
|
16
|
+
/**
|
|
17
|
+
* Visible label rendered with `Field.Label` and `Text`.
|
|
18
|
+
*
|
|
19
|
+
* @default No label is rendered.
|
|
20
|
+
*/
|
|
21
|
+
label?: React.ReactNode;
|
|
22
|
+
/**
|
|
23
|
+
* Helper copy rendered with `Field.Description` and `Text` while the field is valid.
|
|
24
|
+
*
|
|
25
|
+
* @default No description is rendered.
|
|
26
|
+
*/
|
|
27
|
+
description?: React.ReactNode;
|
|
28
|
+
/**
|
|
29
|
+
* Error copy rendered with `Field.Error` and `Text` in the same slot as `description`.
|
|
30
|
+
* Replaces description while the field is invalid. Validation messages from `validate`
|
|
31
|
+
* are shown by `Field.Error` even when this prop is omitted.
|
|
32
|
+
*
|
|
33
|
+
* @default No static error copy is rendered.
|
|
34
|
+
*/
|
|
35
|
+
error?: React.ReactNode;
|
|
36
|
+
/**
|
|
37
|
+
* Leading decoration (prefix text, icon). Not a second field control.
|
|
38
|
+
*
|
|
39
|
+
* @default No start addon is rendered.
|
|
40
|
+
*/
|
|
41
|
+
startAddon?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* Trailing decoration (icon, button). Buttons must use `type="button"`.
|
|
44
|
+
*
|
|
45
|
+
* @default No end addon is rendered.
|
|
46
|
+
*/
|
|
47
|
+
endAddon?: React.ReactNode;
|
|
48
|
+
};
|
|
49
|
+
export declare const Textfield: React.FC<TextfieldProps>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Field } from '@base-ui/react/field';
|
|
4
|
+
import { Input as PrimitiveInput } from '@base-ui/react/input';
|
|
5
|
+
import { Stack, Text } from '@react/src/components';
|
|
6
|
+
import { BasicInput } from '@react/src/components/basic-input';
|
|
7
|
+
import { FieldHelperCopy } from '@react/src/components/basic-input/field-helper-copy';
|
|
8
|
+
import { InputControlGroup } from '@react/src/components/basic-input/input-control-group';
|
|
9
|
+
import { extractIntrinsicViraProps } from '@react/src/core/props/intrinsic-vira-props';
|
|
10
|
+
import './textfield.css';
|
|
11
|
+
export const Textfield = ({ className, description, dirty, disabled, endAddon, error, invalid, label, name, ref, startAddon, touched, validate, validationDebounceTime, validationMode, ...inputProps }) => {
|
|
12
|
+
const { componentProps, intrinsicAttributes } = extractIntrinsicViraProps(inputProps);
|
|
13
|
+
return (_jsxs(Field.Root, { ...intrinsicAttributes, className: "Textfield", dirty: dirty, disabled: disabled, invalid: invalid, name: name, touched: touched, validate: validate, validationDebounceTime: validationDebounceTime, validationMode: validationMode, render: _jsx(Stack, { direction: "column", fillChildren: false, rowGap: "small" }), children: [label && (_jsx(Text, { size: "small", weight: "semibold", className: "Label", render: _jsx(Field.Label, {}), children: label })), _jsx(InputControlGroup, { endAddon: endAddon, startAddon: startAddon, children: _jsx(BasicInput, { ...componentProps, ref: ref, className: className, disabled: disabled, render: _jsx(PrimitiveInput, {}) }) }), _jsx(FieldHelperCopy, { description: description, error: error })] }));
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Title } from './title';
|