Module:Navigation header

local p = {}

local standardIcons = require('Module:Standard icons') local shortcut = require('Module:Shortcut')

local function getIcon(key) local iconTable = standardIcons.getIconTable return iconTable[key] or key end

function p._main(args) local icon = {} local label = {} local itemType = {} do local i = 1 while args["icon" .. i] or args["type" .. i] or args["label" .. i] do icon[i] = args["icon" .. i] or getIcon(args["type" .. i]) label[i] = args["label" .. i] or "" itemType[i] = args["type" .. i] or "" i = i + 1 end end

local theme = args["theme"] or "blue-theme" if theme ~= "gray-theme" and theme ~= "blue-theme" then theme = "blue-theme" end

local output = {} output[#output + 1] = string.format(' ', theme)

local shortcutParam = args["shortcut"] if shortcutParam then local shortcutBox = shortcut._main({shortcutParam}) output[#output + 1] = string.format(' %s ', shortcutBox) end

output[#output + 1] = ''

-- Add leadtab if leadtab-label is defined local leadtabLabel = args["leadtab-label"] if leadtabLabel then local leadtabIcon = args["leadtab-icon"] if leadtabIcon then output[#output + 1] = string.format(				' %s',				leadtabIcon,				leadtabLabel			) else output[#output + 1] = string.format(				' %s',				leadtabLabel			) end end

for j = 1, #icon do		output[#output + 1] = string.format(			' %s',			itemType[j],			icon[j],			label[j]		) end

output[#output + 1] = '' output[#output + 1] = ' '

return mw.getCurrentFrame:extensionTag{ name = 'templatestyles', args = { src = 'Module:Navigation header/styles.css' } } .. table.concat(output, '\n') end

function p.main(frame) return p._main(frame:getParent.args) end

return p