-- Compiled with roblox-ts v1.2.7 local TS = _G[script] local Roact = TS.import(script, TS.getModule(script, "@rbxts", "roact").src) local ThemeContext = TS.import(script, script.Parent.Parent, "UIKit", "ThemeContext").default local function icon(x, y) local _arg0 = { Offset = Vector2.new(-16 + 16 * x, -16 + 16 * y), } return _arg0 end local function tintedIcon(x, y, defaultTint) local _arg0 = { Offset = Vector2.new(-16 + 16 * x, -16 + 16 * y), } return _arg0 end local _object = {} local _left = "DownArrow" local _arg0 = { Offset = Vector2.new(0, 0), } _object[_left] = _arg0 local _left_1 = "UpArrow" local _arg0_1 = { Offset = Vector2.new(16, 0), } _object[_left_1] = _arg0_1 local _left_2 = "RightArrow" local _arg0_2 = { Offset = Vector2.new(16 * 2, 0), } _object[_left_2] = _arg0_2 local _left_3 = "LeftArrow" local _arg0_3 = { Offset = Vector2.new(16 * 3, 0), } _object[_left_3] = _arg0_3 local _left_4 = "Close" local _arg0_4 = { Offset = Vector2.new(16 * 4, 0), } _object[_left_4] = _arg0_4 local _left_5 = "MaximizeDown" local _arg0_5 = { Offset = Vector2.new(16 * 5, 0), } _object[_left_5] = _arg0_5 local _left_6 = "MaximizeUp" local _arg0_6 = { Offset = Vector2.new(16 * 6, 0), } _object[_left_6] = _arg0_6 local _left_7 = "Minimize" local _arg0_7 = { Offset = Vector2.new(16 * 7, 0), } _object[_left_7] = _arg0_7 local _left_8 = "Zirconium" local _arg0_8 = { Offset = Vector2.new(16 * 8, 0), } _object[_left_8] = _arg0_8 local _left_9 = "ActionExecute" local _arg0_9 = { Offset = Vector2.new(0, 16 * 2), } _object[_left_9] = _arg0_9 local _left_10 = "ContextClient" local _arg0_10 = { Offset = Vector2.new(0, 16 * 3), } _object[_left_10] = _arg0_10 local _left_11 = "ContextServer" local _arg0_11 = { Offset = Vector2.new(16, 16 * 3), } _object[_left_11] = _arg0_11 local _left_12 = "ActionContextClient" local _arg0_12 = { Offset = Vector2.new(16 * 2, 16 * 3), } _object[_left_12] = _arg0_12 local _left_13 = "ActionContextServer" local _arg0_13 = { Offset = Vector2.new(16 * 3, 16 * 3), } _object[_left_13] = _arg0_13 local _left_14 = "ActionTrash" local _arg0_14 = { Offset = Vector2.new(16 * 2, 16 * 2), } _object[_left_14] = _arg0_14 local _left_15 = "ActionAdd" local _arg0_15 = { Offset = Vector2.new(16 * 3, 16 * 2), } _object[_left_15] = _arg0_15 local _left_16 = "ActionElipsisMenu" local _arg0_16 = { Offset = Vector2.new(16, 16 * 2), } _object[_left_16] = _arg0_16 local _left_17 = "SplitPanels" local _arg0_17 = { Offset = Vector2.new(16 * 4, 16 * 2), } _object[_left_17] = _arg0_17 local _left_18 = "Checkmark" local _arg0_18 = { Offset = Vector2.new(16 * 5, 16 * 2), } _object[_left_18] = _arg0_18 _object.TypeClass = tintedIcon(1, 2, Color3.fromRGB(255, 165, 0)) _object.TypeMember = tintedIcon(2, 2, Color3.fromRGB(0, 148, 255)) _object.TypeFunction = tintedIcon(3, 2, Color3.fromRGB(233, 0, 255)) _object.TypeProperty = tintedIcon(4, 2, Color3.fromRGB(216, 216, 216)) _object.TypeKeyword = tintedIcon(5, 2, Color3.fromRGB(216, 216, 216)) _object.Folder = icon(3, 5) _object.FloppyDisk = icon(4, 5) _object.Infinity = icon(1, 5) _object.Sun = icon(2, 5) _object.RightDoubleArrow = icon(5, 5) _object.LeftDoubleArrow = icon(6, 5) _object.UpDoubleArrow = icon(7, 5) _object.DownDoubleArrow = icon(8, 5) _object.Gear = icon(9, 5) _object.Paper = icon(1, 6) _object.Funnel = icon(8, 3) _object.ListClear = icon(9, 3) _object.CheckmarkHeavy = icon(1, 9) _object.CrossHeavy = icon(2, 9) _object.Square = icon(3, 9) _object.Diamond = icon(4, 9) _object.Circle = icon(5, 9) _object.OuterSquare = icon(6, 9) local IconsV2 = _object local ZirconIcon do ZirconIcon = Roact.PureComponent:extend("ZirconIcon") function ZirconIcon:init(props) end function ZirconIcon:render() local icon = IconsV2[self.props.Icon] if self.props.Size then return Roact.createElement(ThemeContext.Consumer, { render = function(theme) return Roact.createElement("ImageButton", { Image = "", BackgroundTransparency = 1, BackgroundColor3 = theme.PrimaryBackgroundColor3, BorderColor3 = theme.SecondaryBackgroundColor3, Size = self.props.Size, ZIndex = self.props.ZIndex, Position = self.props.Position, }, { Roact.createElement("UIListLayout", { VerticalAlignment = "Center", HorizontalAlignment = "Center", }), Roact.createElement("ImageLabel", { Size = UDim2.new(0, 16, 0, 16), BackgroundTransparency = 1, Image = theme.IconAssetUri, ImageColor3 = theme.IconColor3, ImageRectOffset = icon.Offset, ZIndex = self.props.ZIndex, ImageRectSize = Vector2.new(16, 16), }), }) end, }) else return Roact.createElement(ThemeContext.Consumer, { render = function(theme) return Roact.createElement("ImageLabel", { Size = UDim2.new(0, 16, 0, 16), BackgroundTransparency = 1, Image = theme.IconAssetUri, ImageColor3 = theme.IconColor3, ImageRectOffset = icon.Offset, Position = self.props.Position, ZIndex = self.props.ZIndex, ImageRectSize = Vector2.new(16, 16), }) end, }) end end end local function ZirconIconButton(_param) local Icon = _param.Icon local OnClick = _param.OnClick local Position = _param.Position local Size = _param.Size local Floating = _param.Floating local ZIndex = _param.ZIndex return Roact.createElement(ThemeContext.Consumer, { render = function(theme) local _attributes = { Image = "", ZIndex = ZIndex, Position = Position, [Roact.Event.MouseButton1Down] = OnClick, BackgroundTransparency = Floating and 0 or 1, BackgroundColor3 = theme.PrimaryBackgroundColor3, BorderColor3 = theme.SecondaryBackgroundColor3, } local _condition = Size if _condition == nil then _condition = UDim2.new(0, 20, 0, 20) end _attributes.Size = _condition return Roact.createElement("ImageButton", _attributes, { Roact.createElement("UIListLayout", { VerticalAlignment = "Center", HorizontalAlignment = "Center", }), Roact.createElement(ZirconIcon, { Icon = Icon, ZIndex = ZIndex, }), }) end, }) end return { ZirconIconButton = ZirconIconButton, default = ZirconIcon, }