local C=script.Parent.Parent.Parent local U=C.Parent local Z=require(C.Utility.FrameVisualizer)local b=require(U.Sift)local p=require(U.Roact)local w=p.createElement local m=require(script.Parent.Dialog)local O=p.PureComponent:extend(script.Name)function O.render(C)local U=C.props local O=w(m,b.Dictionary.join({TitleText="\084\105\116\108\101";BodyText=U.BodyText;Buttons=U.Buttons and{[1]={Text="\065\099\099\101\112\116";Style="\065\099\099\101\110\116",[p.Event.Activated]=print},[2]={Text="\067\097\110\099\101\108",Style="\083\116\097\110\100\097\114\100",[p.Event.Activated]=print},[3]={Disabled=true;Text="\068\105\115\097\098\108\101\100";Style="\083\116\097\110\100\097\114\100",[p.Event.Activated]=print}},TitleBarProps={Icon="\105\109\097\103\101\115\047\114\111\098\108\111\120\047\105\099\111\110\115\047\108\111\103\111\047\115\116\117\100\105\111\108\111\103\111\095\115\109\097\108\108\047\049\120";Text="\065\112\112 \110\097\109\101";ReleaseText="\080\114\101\118\105\101\119";OnClose=print},WindowProps={FooterHeight=80}},C.props.Props))if C.props.Wireframe then return w(Z,{Size=UDim2.new(1,0,1,0)},O)else return O end end return{controls={Wireframe=false;Buttons=true,BodyText="\084\104\105\115 \105\115 \098\111\100\121 \116\101\120\116\046 \087\105\110\100\111\119\115 \049\049 \109\097\114\107\115 \097 \118\105\115\117\097\108 \101\118\111\108\117\116\105\111\110 \111\102 \116\104\101 \111\112\101\114\097\116\105\110\103 \115\121\115\116\101\109\046 \087\101 \104\097\118\101 \101\118\111\108\118\101\100 \111\117\114 \100\101\115\105\103\110 \108\097\110\103\117\097\103\101 \097\108\111\110\103\115\105\100\101 \119\105\116\104 \070\108\117\101\110\116 \116\111 \099\114\101\097\116\101 \097 \100\101\115\105\103\110 \119\104\105\099\104 \105\115 \104\117\109\097\110\044 \117\110\105\118\101\114\115\097\108 \097\110\100 \116\114\117\108\121 \102\101\101\108\115 \108\105\107\101 \087\105\110\100\111\119\115\046 \n\n\084\104\101 \100\101\115\105\103\110 \112\114\105\110\099\105\112\108\101\115 \098\101\108\111\119 \104\097\118\101 \103\117\105\100\101\100 \117\115 \116\104\114\111\117\103\104\111\117\116 \116\104\101 \106\111\117\114\110\101\121 \111\102 \109\097\107\105\110\103 \087\105\110\100\111\119\115 \116\104\101 \098\101\115\116-\105\110-\099\108\097\115\115 \105\109\112\108\101\109\101\110\116\097\116\105\111\110 \111\102 \070\108\117\101\110\116\046"};stories={Dialog=function(C)return w(O,C.controls)end}}
-- TitleBar: The top bar of a window component

local Winro = script.Parent.Parent.Parent
local Packages = Winro.Parent

local FrameVisualizer = require(Winro.Utility.FrameVisualizer)

local Sift = require(Packages.Sift)
local Roact = require(Packages.Roact)
local new = Roact.createElement

local Dialog = require(script.Parent.Dialog)

local DialogStory = Roact.PureComponent:extend(script.Name)

function DialogStory:render()
	local props = self.props

	local Dialog = new(Dialog, Sift.Dictionary.join({
		TitleText = 'Title',
		BodyText = props.BodyText,
		
		Buttons = props.Buttons and {
			[1] = {
				Text = 'Accept',
				Style = 'Accent',
				[Roact.Event.Activated] = print,
			},
			[2] = {
				Text = 'Cancel',
				Style = 'Standard',
				[Roact.Event.Activated] = print,
			},
			[3] = {
				Disabled = true,
				Text = 'Disabled',
				Style = 'Standard',
				[Roact.Event.Activated] = print,
			},
		},
		-- ButtonStackProps = {
		-- 	StackWidth = UDim.new(0, 300),
		-- },
		TitleBarProps = {
			Icon = 'images/roblox/icons/logo/studiologo_small/1x',
			Text = 'App name',
			ReleaseText = 'Preview',
			OnClose = print,
		},
		WindowProps = {
			FooterHeight = 80,
		}
	}, self.props.Props))

	if self.props.Wireframe then
		return new(FrameVisualizer, {
			Size = UDim2.new(1, 0, 1, 0),
		}, Dialog)
	else
		return Dialog
	end
end

return {
	controls = {
		Wireframe = false,
		Buttons = true,
		BodyText = [[This is body text. Windows 11 marks a visual evolution of the operating system. We have evolved our design language alongside with Fluent to create a design which is human, universal and truly feels like Windows. 

The design principles below have guided us throughout the journey of making Windows the best-in-class implementation of Fluent.]]
	},
	stories = {
		Dialog = function(props)
			return new(DialogStory, props.controls)
		end
	}
}
