<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://cherry-pi.tailb1a250.ts.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfoboxLua%2FTypes</id>
	<title>Module:InfoboxLua/Types - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://cherry-pi.tailb1a250.ts.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AInfoboxLua%2FTypes"/>
	<link rel="alternate" type="text/html" href="https://cherry-pi.tailb1a250.ts.net/index.php?title=Module:InfoboxLua/Types&amp;action=history"/>
	<updated>2026-11-11T04:45:46Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://cherry-pi.tailb1a250.ts.net/index.php?title=Module:InfoboxLua/Types&amp;diff=360&amp;oldid=prev</id>
		<title>Gravy: Created page with &quot;require( &#039;strict&#039; )  local p = {}   --- MediaWiki built-in types  --- @class mw.frame @The frame object provides access to the parameters passed to a module, and to the parser. --- @field args table @A table to access arguments passed to the frame. --- @field callParserFunction function @Calls a parser function. --- @field expandTemplate function @Transcludes a template. --- @field extensionTag function @Calls a parser extension tag. --- @field getParent function @Return...&quot;</title>
		<link rel="alternate" type="text/html" href="https://cherry-pi.tailb1a250.ts.net/index.php?title=Module:InfoboxLua/Types&amp;diff=360&amp;oldid=prev"/>
		<updated>2026-06-14T02:19:40Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;require( &amp;#039;strict&amp;#039; )  local p = {}   --- MediaWiki built-in types  --- @class mw.frame @The frame object provides access to the parameters passed to a module, and to the parser. --- @field args table @A table to access arguments passed to the frame. --- @field callParserFunction function @Calls a parser function. --- @field expandTemplate function @Transcludes a template. --- @field extensionTag function @Calls a parser extension tag. --- @field getParent function @Return...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;require( &amp;#039;strict&amp;#039; )&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- MediaWiki built-in types&lt;br /&gt;
&lt;br /&gt;
--- @class mw.frame @The frame object provides access to the parameters passed to a module, and to the parser.&lt;br /&gt;
--- @field args table @A table to access arguments passed to the frame.&lt;br /&gt;
--- @field callParserFunction function @Calls a parser function.&lt;br /&gt;
--- @field expandTemplate function @Transcludes a template.&lt;br /&gt;
--- @field extensionTag function @Calls a parser extension tag.&lt;br /&gt;
--- @field getParent function @Returns the parent frame.&lt;br /&gt;
--- @field getTitle function @Returns the title associated with the frame.&lt;br /&gt;
--- @field newChild function @Creates a new child frame.&lt;br /&gt;
--- @field preprocess function @Preprocesses wikitext.&lt;br /&gt;
--- @field getArgument function @Gets an argument to the frame.&lt;br /&gt;
--- @field newParserValue function @Returns a parser value object.&lt;br /&gt;
--- @field newTemplateParserValue function @Returns a template parser value object.&lt;br /&gt;
--- @field argumentPairs function @Iterates over the arguments.&lt;br /&gt;
&lt;br /&gt;
--- @class mw.html @Built-in Lua type for HtmlBuilder in MediaWiki.&lt;br /&gt;
--- @field addClass function @Adds a class to the HTML element.&lt;br /&gt;
--- @field create function @Creates a new HTML element.&lt;br /&gt;
--- @field node function @Adds a node to the HTML element.&lt;br /&gt;
--- @field wikitext function @Adds wikitext to the HTML element.&lt;br /&gt;
--- @field tag function @Creates a new HTML element.&lt;br /&gt;
--- @field attr function @Sets the attributes of the HTML element.&lt;br /&gt;
--- @field css function @Sets the CSS properties of the HTML element.&lt;br /&gt;
--- @field done function @Finishes the HTML element.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Schema definitions for InfoboxLua components.&lt;br /&gt;
&lt;br /&gt;
--- @class DataSchemaFieldDefinition @Represents the definition of a single field within a schema.&lt;br /&gt;
--- @field type string The expected Lua type (e.g., &amp;quot;string&amp;quot;, &amp;quot;number&amp;quot;, &amp;quot;table&amp;quot;, &amp;quot;boolean&amp;quot;).&lt;br /&gt;
--- @field required boolean|nil Whether the field is mandatory. Defaults to effectively false if nil.&lt;br /&gt;
--- @field default any|nil A default value to use if the field is not present in rawData and not required.&lt;br /&gt;
&lt;br /&gt;
--- @alias DataSchemaDefinition table&amp;lt;string, DataSchemaFieldDefinition&amp;gt; @Represents a schema for validating data, mapping field names to their definitions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--- Component data types&lt;br /&gt;
&lt;br /&gt;
--- @class ImageComponentData @Represents the structure of a validated infobox image for ImageComponent.&lt;br /&gt;
--- @field src string The source of the image.&lt;br /&gt;
--- @field overlay string|nil The overlay wikitext of the image. Optional.&lt;br /&gt;
--- @field label string|nil The label text for the image. Only used for tabber. Optional.&lt;br /&gt;
--- @field size number|nil The size of the image. Optional.&lt;br /&gt;
--- @field class string|nil The class of the image. Optional.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for ImageComponent data.&lt;br /&gt;
p.ImageComponentDataSchema = {&lt;br /&gt;
	src = { type = &amp;#039;string&amp;#039;, required = true },&lt;br /&gt;
	overlay = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	label = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	size = { type = &amp;#039;number&amp;#039;, required = false, default = 400 },&lt;br /&gt;
	class = { type = &amp;#039;string&amp;#039;, required = false, default = nil }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- @class HeaderComponentData @Represents the structure of a validated infobox header for HeaderComponent.&lt;br /&gt;
--- @field title string The title of the header.&lt;br /&gt;
--- @field subtitle string|nil The subtitle of the header. Optional.&lt;br /&gt;
--- @field image ImageComponentData|string|nil The image of the header. Optional.&lt;br /&gt;
--- @field images table&amp;lt;ImageComponentData&amp;gt;|nil The images of the header. Optional.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for HeaderComponent data.&lt;br /&gt;
p.HeaderComponentDataSchema = {&lt;br /&gt;
	title = { type = &amp;#039;string&amp;#039;, required = true },&lt;br /&gt;
	subtitle = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	image = { type = &amp;#039;table&amp;#039;, required = false, default = nil },&lt;br /&gt;
	images = { type = &amp;#039;table&amp;#039;, required = false, default = nil }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- @class SectionComponentData @Represents the structure of a validated infobox section for SectionComponent.&lt;br /&gt;
--- @field label string|nil The label text for the section. Optional.&lt;br /&gt;
--- @field columns number|nil The number of columns in the section. Optional.&lt;br /&gt;
--- @field content string|nil The HTML content of the section. Optional.&lt;br /&gt;
--- @field items table&amp;lt;ItemComponentData&amp;gt;|nil The items in the section. Optional.&lt;br /&gt;
--- @field sections table&amp;lt;SectionComponentData&amp;gt;|nil The sections in the section. Optional.&lt;br /&gt;
--- @field collapsible boolean|nil Whether the section is collapsible. Optional.&lt;br /&gt;
--- @field collapsed boolean|nil Whether the section is collapsed. Optional.&lt;br /&gt;
--- @field class string|nil An additional HTML class for the section&amp;#039;s container. Optional.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for SectionComponent data.&lt;br /&gt;
p.SectionComponentDataSchema = {&lt;br /&gt;
	label = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	columns = { type = &amp;#039;number&amp;#039;, required = false, default = 1 },&lt;br /&gt;
	content = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	items = { type = &amp;#039;table&amp;#039;, required = false, default = nil },&lt;br /&gt;
	sections = { type = &amp;#039;table&amp;#039;, required = false, default = nil },&lt;br /&gt;
	collapsible = { type = &amp;#039;boolean&amp;#039;, required = false, default = false },&lt;br /&gt;
	collapsed = { type = &amp;#039;boolean&amp;#039;, required = false, default = false },&lt;br /&gt;
	class = { type = &amp;#039;string&amp;#039;, required = false, default = nil }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- @class ItemComponentData @Represents the structure of a validated infobox item for ItemComponent.&lt;br /&gt;
--- @field content string The HTML content of the item.&lt;br /&gt;
--- @field label string|nil The label text for the item. Optional.&lt;br /&gt;
--- @field class string|nil An additional HTML class for the item&amp;#039;s container. Optional.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for ItemComponent data.&lt;br /&gt;
p.ItemComponentDataSchema = {&lt;br /&gt;
	content = { type = &amp;#039;string&amp;#039;, required = true },&lt;br /&gt;
	label   = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	class   = { type = &amp;#039;string&amp;#039;, required = false, default = nil }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- @class ItemCardComponentData @Represents the structure of a validated infobox item card for ItemCardComponent.&lt;br /&gt;
--- @field label string|nil The label of the item card.&lt;br /&gt;
--- @field columns number|nil The number of columns in the item card.&lt;br /&gt;
--- @field content string|nil The HTML content of the item card.&lt;br /&gt;
--- @field items table&amp;lt;ItemComponentData&amp;gt;|nil The items of the item card.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for ItemCardComponent data.&lt;br /&gt;
p.ItemCardComponentDataSchema = {&lt;br /&gt;
	label = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	columns = { type = &amp;#039;number&amp;#039;, required = false, default = 1 },&lt;br /&gt;
	content = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	items = { type = &amp;#039;table&amp;#039;, required = false, default = nil }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
--- @class CollapsibleComponentData @Represents the structure of a validated collapsible component.&lt;br /&gt;
--- @field summary string The summary/button content displayed when collapsed.&lt;br /&gt;
--- @field content string The content to be shown/hidden.&lt;br /&gt;
--- @field class string|nil An additional HTML class for the details element. Optional.&lt;br /&gt;
--- @field summaryClass string|nil An additional HTML class for the summary element. Optional.&lt;br /&gt;
--- @field open boolean|nil Whether the collapsible starts open. Defaults to true. Optional.&lt;br /&gt;
&lt;br /&gt;
--- @type DataSchemaDefinition @The schema for CollapsibleComponent data.&lt;br /&gt;
p.CollapsibleComponentDataSchema = {&lt;br /&gt;
	summary = { type = &amp;#039;string&amp;#039;, required = true },&lt;br /&gt;
	content = { type = &amp;#039;string&amp;#039;, required = true },&lt;br /&gt;
	class = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	summaryClass = { type = &amp;#039;string&amp;#039;, required = false, default = nil },&lt;br /&gt;
	open = { type = &amp;#039;boolean&amp;#039;, required = false, default = true }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Gravy</name></author>
	</entry>
</feed>