INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(95, 0x61646d696e, 0x626173655f70726f6d70745f65646974, 0, '<xf:if is=\"$prompt.isInsert()\">\n	<xf:title>{{ phrase(\'add_prompt\') }}</xf:title>\n	<xf:else />\n	<xf:title>{{ phrase(\'edit_prompt:\') }} {$prompt.title}</xf:title>\n</xf:if>\n\n<xf:pageaction if=\"$prompt.isUpdate()\">\n	<xf:button href=\"{{ link($linkPrefix . \'/delete\', $prompt) }}\" icon=\"delete\" overlay=\"true\" />\n</xf:pageaction>\n\n<xf:form action=\"{{ link($linkPrefix . \'/save\', $prompt) }}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n\n			<xf:textboxrow name=\"title\" value=\"{$prompt}\"\n				label=\"{{ phrase(\'title\') }}\" />\n\n			<hr class=\"formRowSep\" />\n\n			<xf:macro id=\"base_prompt_edit_macros::prompt_groups\" arg-prompt=\"{$prompt}\"\n				arg-promptGroups=\"{$promptGroups}\" />\n\n			<xf:macro id=\"display_order_macros::row\" arg-value=\"{$prompt}\" />\n\n			<hr class=\"formRowSep\" />\n\n			{$extraOptions|raw}\n		</div>\n		<xf:submitrow sticky=\"true\" icon=\"save\" />\n	</div>\n</xf:form>', 0x[encoded data, 16908 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057),
(96, 0x61646d696e, 0x626173655f70726f6d70745f656469745f6d6163726f73, 0, '<xf:macro id=\"prompt_groups\" arg-prompt=\"!\" arg-promptGroups=\"!\" arg-withRow=\"1\">\n\n	<xf:if is=\"$withRow\">\n		<xf:selectrow name=\"prompt_group_id\" value=\"{$prompt}\" label=\"{{ phrase(\'prompt_group\') }}\">\n			<xf:option value=\"\" label=\"{{ phrase(\'(none)\') }}\" />\n			<xf:options source=\"{$promptGroups}\" />\n		</xf:selectrow>\n	<xf:else />\n		<xf:select name=\"prompt_group_id\" value=\"{$prompt}\">\n			<xf:option value=\"\" label=\"{{ phrase(\'(none)\') }}\" />\n			<xf:options source=\"{$promptGroups}\" />\n		</xf:select>\n	</xf:if>\n</xf:macro>', 0x[encoded data, 10404 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057),
(97, 0x61646d696e, 0x626173655f70726f6d70745f67726f75705f64656c657465, 0, '<xf:title>{{ phrase(\'confirm_action\') }}</xf:title>\n\n<xf:form action=\"{{ link($groupLinkPrefix . \'/delete\', $promptGroup) }}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow rowtype=\"confirm\">\n				{{ phrase(\'please_confirm_that_you_want_to_delete_following:\') }}\n				<strong><a href=\"{{ link($groupLinkPrefix . \'/edit\', $promptGroup) }}\" data-xf-click=\"overlay\">{$promptGroup.title}</a></strong>\n				{{ phrase(\'prompts_belonging_to_this_group_will_be_disassociated_rather_than_deleted\') }}\n			</xf:inforow>\n		</div>\n		<xf:submitrow rowtype=\"simple\" icon=\"delete\" />\n	</div>\n</xf:form>', 0x[encoded data, 10532 characters], 0x5846, 2000035, '2.0.0 Beta 5', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(98, 0x61646d696e, 0x626173655f70726f6d70745f67726f75705f65646974, 0, '<xf:if is=\"$promptGroup.isInsert()\">\n	<xf:title>{{ phrase(\'add_prompt_group\') }}</xf:title>\n	<xf:else />\n	<xf:title>{{ phrase(\'edit_prompt_group:\') }} {$promptGroup.title}</xf:title>\n</xf:if>\n\n<xf:pageaction if=\"$promptGroup.isUpdate()\">\n	<xf:button href=\"{{ link($groupLinkPrefix . \'/delete\', $promptGroup) }}\" icon=\"delete\" overlay=\"true\" />\n</xf:pageaction>\n\n<xf:form action=\"{{ link($groupLinkPrefix . \'/save\', $promptGroup) }}\" class=\"block\" ajax=\"true\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:textboxrow name=\"title\" value=\"{$promptGroup}\"\n				label=\"{{ phrase(\'title\') }}\" />\n\n			<xf:macro id=\"display_order_macros::row\" arg-value=\"{$promptGroup}\" />\n		</div>\n		<xf:submitrow icon=\"save\" />\n	</div>\n</xf:form>', 0x[encoded data, 14728 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(99, 0x61646d696e, 0x626173655f70726f6d70745f6c697374, 0, '<xf:pageaction>\n	<div class=\"buttonGroup\">\n		<xf:button href=\"{{ link($linkPrefix . \'/add\') }}\" icon=\"add\">{{ phrase(\'add_prompt\') }}</xf:button>\n		<xf:button href=\"{{ link($groupLinkPrefix . \'/add\') }}\" icon=\"add\" overlay=\"true\">{{ phrase(\'add_prompt_group\') }}</xf:button>\n	</div>\n</xf:pageaction>\n\n<xf:if is=\"$promptsGrouped is not empty OR count($promptGroups) > 1\">\n	<xf:form action=\"{{ link($linkPrefix . \'/quick-set\') }}\" ajax=\"true\" class=\"block\"\n\n		data-xf-init=\"select-plus\"\n		data-sp-checkbox=\".dataList-row:not(.dataList-row--subSection) input[type=\'checkbox\']\"\n		data-sp-container=\".dataList-row:not(.dataList-row--subSection, .dataList-row--noHover)\"\n		data-sp-control=\".dataList-cell a\">\n\n		<div class=\"block-outer\">\n			<xf:macro id=\"filter_macros::quick_filter\" arg-key=\"{$linkPrefix}\" arg-class=\"block-outer-opposite\" />\n		</div>\n		<div class=\"block-container\">\n			<div class=\"block-body\">\n				<xf:datalist>\n					<xf:foreach loop=\"$promptGroups\" key=\"$promptGroupId\" value=\"$promptGroup\">\n						<tbody class=\"dataList-rowGroup\" id=\"js-promptGroup{$promptGroupId}\">\n\n						<xf:if is=\"{{ count($promptGroups) > 1 }}\">\n							<xf:datarow rowtype=\"subsection\" rowclass=\"{{ !$promptGroupId ? \'dataList-row--noHover\' : \'\' }}\">\n								<xf:if is=\"{{ $promptGroupId > 0 }}\">\n									<xf:cell class=\"dataList-cell--min\">\n										<xf:if is=\"{{ count($promptsGrouped.{$promptGroupId}) }}\">\n											<xf:checkbox standalone=\"true\"><xf:option check-all=\"#js-promptGroup{$promptGroupId}\" /></xf:checkbox>\n										</xf:if>\n									</xf:cell>\n									<xf:cell href=\"{{ link($groupLinkPrefix . \'/edit\', $promptGroup) }}\" overlay=\"true\">\n										{$promptGroup.title}\n									</xf:cell>\n									<xf:delete href=\"{{ link($groupLinkPrefix . \'/delete\', $promptGroup) }}\" />\n									<xf:elseif is=\"{{ count($promptsGrouped.{$promptGroupId}) }}\" />\n									<xf:cell class=\"dataList-cell--min\">\n										<xf:checkbox standalone=\"true\"><xf:option check-all=\"#js-promptGroup{$promptGroupId}\" /></xf:checkbox>\n									</xf:cell>\n									<xf:cell>{{ phrase(\'(ungrouped)\') }}</xf:cell>\n									<xf:cell>&nbsp;</xf:cell>\n								</xf:if>\n							</xf:datarow>\n						</xf:if>\n\n						<xf:foreach loop=\"{$promptsGrouped.{$promptGroupId}}\" key=\"$promptId\" value=\"$prompt\">\n							<xf:datarow rowclass=\"promptGroup{$promptGroupId}\">\n								<xf:toggle name=\"prompt_ids[]\" value=\"{$prompt.prompt_id}\" />\n								<xf:cell href=\"{{ link($linkPrefix . \'/edit\', $prompt) }}\" class=\"dataList-cell\">\n									{$prompt.title}\n								</xf:cell>\n								<xf:delete href=\"{{ link($linkPrefix . \'/delete\', $prompt) }}\" />\n							</xf:datarow>\n							<xf:else />\n							<xf:if is=\"{{ count($promptsGrouped.{$promptGroupId}) || $promptGroupId > 0 }}\">\n								<xf:datarow rowclass=\"dataList-row--noHover\">\n									<xf:cell colspan=\"3\" class=\"dataList-cell--noSearch\">\n										<xf:if is=\"{{ count($promptGroups) > 1 }}\">\n											{{ phrase(\'no_prompts_have_been_added_to_this_group_yet\') }}\n											<xf:else />\n											{{ phrase(\'no_prompts_have_been_added_yet\') }}\n										</xf:if>\n									</xf:cell>\n								</xf:datarow>\n							</xf:if>\n						</xf:foreach>\n						</tbody>\n					</xf:foreach>\n				</xf:datalist>\n			</div>\n			<div class=\"block-footer block-footer--split\">\n				<span class=\"block-footer-counter\">{{ display_totals($promptTotal) }}</span>\n				<span class=\"block-footer-select\"><xf:checkbox standalone=\"true\"><xf:option check-all=\".dataList\" label=\"{{ phrase(\'select_all\') }}\" /></xf:checkbox></span>\n				<span class=\"block-footer-controls\"><xf:button type=\"submit\" name=\"quickset\" value=\"1\">{{ phrase(\'quick_set\') }}</xf:button></span>\n			</div>\n		</div>\n	</xf:form>\n	<xf:else />\n	<div class=\"blockMessage\">{{ phrase(\'no_items_have_been_created_yet\') }}</div>\n</xf:if>', 0x[encoded data, 66924 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(100, 0x61646d696e, 0x626173655f70726f6d70745f717569636b7365745f63686f6f736572, 0, '<xf:title>{{ phrase(\'quick_set_prompts\') }}</xf:title>\n\n<xf:form action=\"{{ link($linkPrefix . \'/quick-set\') }}\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:selectrow name=\"prompt_id\"\n				label=\"{{ phrase(\'copy_settings_from\') }}\"\n				explain=\"{{ phrase(\'on_next_page_you_may_apply_settings_to_all_selected_prompts\') }}\">\n\n				<xf:option value=\"-1\">{{ phrase(\'(none)\') }}</xf:option>\n				<xf:foreach loop=\"$promptGroups\" key=\"$groupId\" value=\"$promptGroup\" if=\"{{ count($promptsGrouped.{$groupId}) > 0 }}\">\n					<xf:optgroup label=\"{{ $groupId ? $promptGroup.title : phrase(\'ungrouped\') }}\">\n						<xf:foreach loop=\"{$promptsGrouped.{$groupId}}\" key=\"$promptId\" value=\"$prompt\">\n							<xf:option value=\"{$promptId}\" label=\"{$prompt.title}\" />\n						</xf:foreach>\n					</xf:optgroup>\n				</xf:foreach>\n\n			</xf:selectrow>\n		</div>\n		<xf:submitrow submit=\"{{ phrase(\'proceed...\') }}\" name=\"quickset\" value=\"1\" />\n	</div>\n	<xf:foreach loop=\"$promptIds\" value=\"$promptId\">\n		<xf:hiddenval name=\"prompt_ids[]\">{$promptId}</xf:hiddenval>\n	</xf:foreach>\n</xf:form>', 0x[encoded data, 19722 characters], 0x5846, 2000010, '2.0.0 Alpha', 1748686057),
(101, 0x61646d696e, 0x626173655f70726f6d70745f717569636b7365745f656469746f72, 0, '<xf:title>{{ phrase(\'quick_set_prompts\') }}</xf:title>\n\n<xf:form action=\"{{ link($linkPrefix . \'/quick-set\') }}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:checkboxrow name=\"prompt_ids\" listclass=\"_listInline\"\n				label=\"{{ phrase(\'apply_options_to_these_prompts\') }}\">\n\n				<xf:foreach loop=\"$prompts\" key=\"$promptId\" value=\"$_prompt\">\n					<xf:option value=\"{$promptId}\" checked=\"checked\">\n						<xf:label>{$_prompt.title}</xf:label>\n					</xf:option>\n				</xf:foreach>\n			</xf:checkboxrow>\n\n			<hr class=\"formRowSep\" />\n\n			<xf:checkboxrow name=\"apply_prompt_group_id\"\n				label=\"{{ phrase(\'prompt_group\') }}\">\n\n				<xf:option label=\"{{ phrase(\'apply_prompt_group_options:\') }}\">\n					<xf:dependent>\n						<xf:macro id=\"base_prompt_edit_macros::prompt_groups\"\n							arg-prompt=\"{$prompt}\"\n							arg-promptGroups=\"{$promptGroups}\"\n							arg-withRow=\"0\" />\n					</xf:dependent>\n				</xf:option>\n			</xf:checkboxrow>\n\n			<hr class=\"formRowSep\" />\n\n			{$extraOptions|raw}\n		</div>\n		<xf:submitrow sticky=\"true\" icon=\"save\" />\n	</div>\n</xf:form>', 0x[encoded data, 16306 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(102, 0x61646d696e, 0x62625f636f64655f627574746f6e5f6d616e616765725f64726f70646f776e5f65646974, 0, '<xf:title>\n	<xf:if is=\"$dropdown.isInsert()\">\n		{{ phrase(\'add_dropdown\') }}\n	<xf:else />\n		{{ phrase(\'edit_dropdown:\') }} {$dropdown.title}\n	</xf:if>\n</xf:title>\n\n<xf:macro id=\"bb_code_button_manager_editor::setup\" />\n\n<xf:form action=\"{{ link(\'button-manager/dropdown/save\', $dropdown) }}\" ajax=\"true\" data-xf-init=\"editor-manager\" data-command-tray-class=\".js-dragList-commandTrayDropdown\">\n	<div class=\"block\">\n		<div class=\"block-container\">\n			<div class=\"block-body\">\n				<xf:if is=\"$dropdown.isInsert()\">\n					<xf:textboxrow name=\"cmd\" label=\"{{ phrase(\'command_id\') }}\" />\n				<xf:else />\n					<xf:formrow label=\"{{ phrase(\'command_id\') }}\">{$dropdown.cmd}</xf:formrow>\n				</xf:if>\n\n				<xf:textboxrow name=\"title\" value=\"{$dropdown}\" label=\"{{ phrase(\'title\') }}\" />\n\n				<xf:textboxrow name=\"icon\" value=\"{$dropdown}\" label=\"{{ phrase(\'icon\') }}\">\n					<xf:explain>{{ phrase(\'you_can_preview_icons_and_their_names_here\') }}</xf:explain>\n				</xf:textboxrow>\n\n				<xf:macro id=\"display_order_macros::row\" arg-value=\"{$dropdown}\" />\n\n				<xf:checkboxrow label=\"\">\n					<xf:option name=\"active\" selected=\"$dropdown.active\"\n						label=\"{{ phrase(\'dropdown_is_active\') }}\" />\n				</xf:checkboxrow>\n			</div>\n		</div>\n	</div>\n\n	<div class=\"block\">\n		<div class=\"block-container\">\n			<h2 class=\"block-header\">\n				{{ phrase(\'available_buttons\') }}\n			</h2>\n			<xf:macro id=\"bb_code_button_manager_editor::toolbar_block\"\n				arg-buttons=\"{{ array_keys($buttonData) }}\"\n				arg-buttonData=\"{$buttonData}\"\n				arg-toolbarType=\"commandTrayDropdown\"\n				arg-displayTooltips=\"{{ true }}\" />\n\n			<div class=\"block-row block-row--minor u-muted\">\n				{{ phrase(\'note_not_all_buttons_supported_inside_dropdowns\') }}\n			</div>\n		</div>\n	</div>\n\n	<div class=\"block\">\n		<div class=\"block-container\">\n			<h2 class=\"block-header\">\n				{{ phrase(\'dropdown_buttons\') }}\n			</h2>\n\n			<xf:macro id=\"bb_code_button_manager_editor::toolbar_block\"\n				arg-name=\"buttons\"\n				arg-buttons=\"{$dropdown.buttons}\"\n				arg-buttonData=\"{$buttonData}\"\n				arg-toolbarType=\"toolbarDropdown\" />\n\n			<xf:submitrow icon=\"save\" />\n		</div>\n	</div>\n</xf:form>', 0x[encoded data, 28920 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(103, 0x61646d696e, 0x62625f636f64655f627574746f6e5f6d616e616765725f656469746f72, 0, '<xf:title>{{ phrase(\'edit_toolbar\') }}: {$typeTitle}</xf:title>\n\n<xf:macro id=\"setup\" />\n\n<xf:pageaction>\n\n	<a class=\"button menuTrigger\"\n		data-xf-click=\"menu\"\n		role=\"button\"\n		tabindex=\"0\"\n		aria-expanded=\"false\"\n		aria-haspopup=\"true\">{$typeTitle}</a>\n\n	<div class=\"menu\" data-menu=\"menu\" aria-hidden=\"true\">\n		<div class=\"menu-content\">\n			<h3 class=\"menu-header\">{{ phrase(\'editor_toolbars\') }}</h3>\n			<xf:foreach loop=\"$toolbarTypes\" key=\"$_toolbarTypeId\" value=\"$_toolbarType\">\n				<a href=\"{{ link(\'button-manager/edit\', [], {\'type\': $_toolbarTypeId}) }}\"\n					class=\"menu-linkRow {{ ($_toolbarTypeId == $type) ? \'is-selected\' : \'\' }}\">\n					{$_toolbarType.title}\n				</a>\n			</xf:foreach>\n		</div>\n	</div>\n\n	<xf:button href=\"{{ link(\'button-manager/reset\', null, {\'type\': $type}) }}\" data-xf-click=\"overlay\" icon=\"refresh\">\n		{{ phrase(\'reset_button_configuration\') }}\n	</xf:button>\n</xf:pageaction>\n\n<script type=\"application/json\" id=\"js-toolbarButtons\">{$json}</script>\n<script type=\"application/json\" id=\"js-buttonData\">{$buttonData|json|raw}</script>\n\n<xf:css>\n.toolbarWidthLimit { margin: 0 auto; }\n.toolbarWidthLimit.toolbarWidthLimit--toolbarButtons   { width: {$toolbarSizes.LG}px; }\n.toolbarWidthLimit.toolbarWidthLimit--toolbarButtonsMD { width: {$toolbarSizes.MD}px; }\n.toolbarWidthLimit.toolbarWidthLimit--toolbarButtonsSM { width: {$toolbarSizes.SM}px; }\n.toolbarWidthLimit.toolbarWidthLimit--toolbarButtonsXS { width: 320px; }\n</xf:css>\n\n<xf:form action=\"{{ link(\'button-manager/save\', null, {\'type\': $type}) }}\" ajax=\"true\" data-xf-init=\"editor-manager\" data-force-flash-message=\"on\">\n	<div class=\"block\">\n		<div class=\"block-container\">\n			<h2 class=\"block-header\">\n				{{ phrase(\'available_buttons_and_dropdown_menus\') }}\n			</h2>\n\n			<div class=\"block-body\">\n				<div class=\"block-row\">\n					<div class=\"fr-box fr-box--editor fr-box--editor--{$type} fr-ltr fr-basic fr-top\">\n						<div class=\"js-dragList js-dragList-commandTray toolbar-commandTray fr-toolbar fr-ltr fr-desktop fr-top fr-basic\">\n							<xf:foreach loop=\"{{ array_keys($buttonData) }}\" value=\"$cmd\">\n								<xf:if is=\"{$buttonData.{$cmd}}\">\n									<xf:macro id=\"toolbar_button\"\n										arg-button=\"{$buttonData.{$cmd}}\"\n										arg-cmd=\"{$cmd}\"\n										arg-displayTooltips=\"{{ true }}\"\n										arg-includeDropdownControls=\"{{ true }}\" />\n								<xf:elseif is=\"$cmd == \'-hr\'\" />\n									<div class=\"hr\"></div>\n								</xf:if>\n							</xf:foreach>\n							<xf:if is=\"$name\">\n								<xf:hiddenval name=\"{$name}\" class=\"js-dragListValue\" />\n							</xf:if>\n						</div>\n					</div>\n				</div>\n			</div>\n\n			<div class=\"block-row block-row--minor u-muted\">\n				{{ phrase(\'available_buttons_and_dropdown_menus_desc\') }}\n			</div>\n		</div>\n	</div>\n\n	<div class=\"block\">\n		<div class=\"block-container\">\n			<h3 class=\"block-header\">\n				{$typeTitle}\n			</h3>\n\n			<div class=\"block-body\">\n				<xf:foreach loop=\"$toolbarButtons.toolbarButtons\" key=\"$key\" value=\"$data\">\n					<xf:macro id=\"button_group\"\n						arg-key=\"{$key}\"\n						arg-data=\"{$data}\"\n						arg-buttonData=\"{$buttonData}\" />\n				</xf:foreach>\n			</div>\n\n			<div class=\"block-row block-row--minor u-muted\">\n				{$typeDescription}\n			</div>\n\n			<xf:hiddenval name=\"editor_toolbar_config[{$type}]\" data-toolbar-type=\"{$type}\" class=\"js-dragListValue\" />\n			<xf:submitrow icon=\"save\" rowtype=\"simple\" />\n		</div>\n	</div>\n</xf:form>\n\n<xf:form action=\"{{ link(\'button-manager/dummy-post\', $thread) }}\" class=\"block\" ajax=\"true\"\n	draft=\"{{ link(\'button-manager/dummy-draft\') }}\"\n	data-xf-init=\"attachment-manager\">\n\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<p></p>\n\n			<!--this overrides the normal toolbar json sent to the RTE as document.querySelector(\'.js-editorToolbars\')-->\n			<script class=\"js-editorToolbars\" type=\"application/json\">{$toolbarButtons|json|raw}</script>\n\n\n			<div class=\"toolbarWidthLimit toolbarWidthLimit--{$type}\">\n				<xf:editor name=\"button_layout_preview\"\n					value=\"\"\n					attachments=\"{{ [] }}\"\n					data-min-height=\"50\"\n					data-max-height=\"100\"\n					placeholder=\"{{ phrase(\'this_is_preview_of_your_button_layout\') }}...\"\n					data-deferred=\"off\"\n					data-xf-key=\"{{ phrase(\'shortcut.quick_reply\') }}\"\n					data-preview-url=\"{{ link(\'button-manager/dummy-preview\') }}\" />\n				<xf:macro id=\"public:helper_attach_upload::upload_block\" arg-attachmentData=\"{{ {\'constraints\': { \'extensions\': [\'txt\',\'mp4\',\'png\'] } } }}\" />\n			</div>\n\n			<p></p>\n\n		</div>\n	</div>\n</xf:form>\n\n<xf:macro id=\"button_group\" arg-key=\"!\" arg-data=\"!\" arg-buttonData=\"!\">\n	<div class=\"block-row block-row--buttonGroup js-buttonGroup\" id=\"js-buttonGroup--{$key}\">\n		<div class=\"block-row--buttons\">\n			<div class=\"js-dragList toolbar toolbar--dragTarget toolbar--{$key}\" id=\"js-toolbar--{$key}\">\n				<xf:foreach loop=\"$data.buttons\" value=\"$cmd\">\n					<xf:macro id=\"toolbar_button\"\n						arg-button=\"{$buttonData.{$cmd}}\"\n						arg-cmd=\"{$cmd}\"\n						arg-displayTooltips=\"{{ true }}\"\n						arg-includeDropdownControls=\"{{ false }}\" />\n				</xf:foreach>\n			</div>\n		</div>\n		<div class=\"block-row--buttonMenu\">\n			<xf:button class=\"menuTrigger button--link button--icon button--iconOnly\"\n				data-xf-click=\"menu\"\n				aria-expanded=\"false\"\n				aria-haspopup=\"true\"\n				fa=\"fa-tools\"\n				notfa=\"fa-info-circle\" />\n			<div class=\"menu\" data-menu=\"menu\" aria-hidden=\"true\" id=\"js-toolbar-menu--{$key}\">\n				<div class=\"menu-content\">\n					<h3 class=\"menu-header\">{{ phrase(\'group_options\') }}</h3>\n\n					<div class=\"menu-row menu-row--separated\">\n						{{ phrase(\'buttons_visible:\') }}\n						<div class=\"u-inputSpacer\">\n							<xf:numberbox name=\"buttonsVisible\" value=\"{$data.buttonsVisible}\"\n								autofocus=\"autofocus\" min=\"0\"\n								data-button-smaller=\"1\" />\n						</div>\n					</div>\n\n					<div class=\"menu-row menu-row--separated\">\n						{{ phrase(\'group_alignment:\') }}\n						<div class=\"u-inputSpacer\">\n							<xf:select name=\"align\" value=\"{$data.align}\">\n								<xf:option value=\"left\">{{ phrase(\'left\') }}</xf:option>\n								<xf:option value=\"right\">{{ phrase(\'right\') }}</xf:option>\n							</xf:select>\n						</div>\n					</div>\n				</div>\n			</div>\n		</div>\n	</div>\n</xf:macro>\n\n<xf:macro id=\"toolbar_block\"\n	arg-type=\"\"\n	arg-name=\"\"\n	arg-buttons=\"!\"\n	arg-buttonData=\"!\"\n	arg-toolbarType=\"!\"\n	arg-displayTooltips=\"{{ false }}\"\n	arg-includeDropdownControls=\"{{ false }}\">\n	<div class=\"block-body\">\n		<div class=\"block-row\">\n			<div class=\"fr-box fr-box--editor fr-box--editor--{$type} fr-ltr fr-basic fr-top\">\n				<div class=\"toolbar--dragTarget js-dragList js-dragList-{$toolbarType} toolbar-{$toolbarType} fr-toolbar fr-ltr fr-desktop fr-top fr-basic\">\n					<xf:foreach loop=\"$buttons\" value=\"$cmd\">\n						<xf:if is=\"{$buttonData.{$cmd}}\">\n							<xf:macro id=\"toolbar_button\"\n								arg-button=\"{$buttonData.{$cmd}}\"\n								arg-cmd=\"{$cmd}\"\n								arg-displayTooltips=\"{$displayTooltips}\"\n								arg-includeDropdownControls=\"{$includeDropdownControls}\" />\n						</xf:if>\n					</xf:foreach>\n					<xf:if is=\"$name\">\n						<xf:hiddenval name=\"{$name}\" class=\"js-dragListValue\" />\n					</xf:if>\n				</div>\n			</div>\n		</div>\n	</div>\n</xf:macro>\n\n<xf:macro id=\"toolbar_button\" arg-button=\"!\" arg-cmd=\"!\" arg-displayTooltips=\"{{ false }}\" arg-includeDropdownControls=\"{{ false }}\">\n	<div data-cmd=\"{$cmd}\" data-xf-init=\"{{ $displayTooltips ? \'tooltip\' : \'\' }}\" title=\"{{ $displayTooltips ? $button.title : \'\' }}\"\n		class=\"{{ $button.type ? \'toolbar-\' . $button.type : \'\' }} fr-command fr-btn {{ ($button.type == \'dropdown\' OR $button.type == \'editable_dropdown\') ? \'fr-dropdown\' : \'\' }} {{ $button.fa ? \'fr-btn-font_awesome\' : ($button.text ? \'fr-btn-text\' : \'fr-btn-image\') }}\">\n		<xf:macro id=\"toolbar_icon\" arg-button=\"{$button}\" />\n		<span class=\"fr-sr-only\">{$button.title}</span>\n	</div>\n</xf:macro>\n\n<xf:macro id=\"toolbar_icon\" arg-button=\"!\">\n	<xf:if is=\"$button.fa\">\n		<xf:fa icon=\"{$button.fa}\" />\n	<xf:elseif is=\"$button.image\" />\n		<img src=\"{$button.image}\" alt=\"\" />\n	<xf:elseif is=\"$button.text\" />\n		<span style=\"text-align: center;\">{$button.text}</span>\n	<xf:elseif is=\"$button.svg\" />\n		<svg class=\"fr-svg\" focusable=\"false\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n			<path d=\"{$button.svg}\"></path>\n		</svg>\n	</xf:if>\n</xf:macro>\n\n<xf:macro id=\"setup\">\n	<xf:css src=\"public:editor.less\" />\n	<xf:css src=\"button_manager.less\" />\n	<xf:js dev=\"vendor/dragula/dragula.js, xf/editor_manager.js\" prod=\"xf/editor_manager-compiled.js\" />\n\n	<script class=\"js-extraPhrases\" type=\"application/json\">\n		{\n			\"buttons_menus_may_not_be_duplicated\": \"{{ phrase(\'buttons_menus_may_not_be_duplicated\')|escape(\'json\') }}\",\n			\"button_removed\": \"{{ phrase(\'button_removed\')|escape(\'json\') }}\"\n		}\n	</script>\n</xf:macro>', 0x[encoded data, 113230 characters], 0x5846, 2030032, '2.3.0 Beta 2', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(104, 0x61646d696e, 0x62625f636f64655f627574746f6e5f6d616e616765725f6c697374, 0, '<xf:title>{{ phrase(\'bb_code_button_manager\') }}</xf:title>\n\n<xf:pageaction>\n	<xf:button href=\"{{ link(\'button-manager/dropdown/add\') }}\" icon=\"add\">{{ phrase(\'add_dropdown\') }}</xf:button>\n</xf:pageaction>\n\n<div class=\"block\">\n	<div class=\"block-container\">\n		<h2 class=\"block-header\">\n			{{ phrase(\'editor_toolbars\') }}\n			<span class=\"block-desc\">{{ phrase(\'rich_text_editor_supports_four_button_configs\') }}</span>\n		</h2>\n		<div class=\"block-body\">\n			<xf:datalist>\n				<xf:foreach loop=\"$toolbarTypes\" key=\"$type\" value=\"$phrases\">\n					<xf:datarow\n						label=\"{$phrases.title}\"\n						explain=\"{$phrases.description}\"\n						href=\"{{ link(\'button-manager/edit\', null, {\'type\': $type}) }}\" />\n				</xf:foreach>\n			</xf:datalist>\n		</div>\n	</div>\n</div>\n\n<xf:if is=\"$editorDropdowns is not empty\">\n	<xf:form action=\"{{ link(\'button-manager/dropdown/toggle\') }}\" class=\"block\" ajax=\"true\">\n		<div class=\"block-container\">\n			<h2 class=\"block-header\">\n				{{ phrase(\'editor_dropdowns\') }}\n			</h2>\n			<div class=\"block-body\">\n				<xf:datalist>\n					<xf:foreach loop=\"$editorDropdowns\" value=\"$editorDropdown\">\n						<xf:datarow\n							label=\"{$editorDropdown.title}\"\n							href=\"{{ link(\'button-manager/dropdown/edit\', $editorDropdown) }}\"\n							icon=\"{{ $editorDropdown.icon ?: \'none\' }}\"\n							delete=\"{{ link(\'button-manager/dropdown/delete\', $editorDropdown) }}\">\n							<xf:toggle name=\"active[{$editorDropdown.cmd}]\" selected=\"$editorDropdown.active\"\n								class=\"dataList-cell--separated\" submit=\"true\"\n								tooltip=\"{{ phrase(\'enable_disable_x\', {\'title\': $editorDropdown.title}) }}\" />\n						</xf:datarow>\n					</xf:foreach>\n				</xf:datalist>\n			</div>\n		</div>\n	</xf:form>\n</xf:if>', 0x[encoded data, 24438 characters], 0x5846, 2010033, '2.1.0 Beta 3', 1748686057),
(105, 0x61646d696e, 0x62625f636f64655f627574746f6e5f6d616e616765725f7265736574, 0, '<xf:title>{{ phrase(\'reset_button_configuration\') }}</xf:title>\n\n<xf:form action=\"{{ link(\'button-manager/reset\', null, {\'type\': $type}) }}\" ajax=\"true\" class=\"block\" data-force-flash-message=\"on\">\n	<div class=\"block-container\">\n		<div class=\"block-body\">\n			<xf:inforow rowtype=\"confirm close\">\n				{{ phrase(\'please_confirm_that_you_want_to_reset_following_button_configuration:\') }}\n				<strong><a href=\"{{ link(\'button-manager/edit\', null, {\'type\': $type}) }}\">{$typeTitle}</a></strong>\n			</xf:inforow>\n			<xf:inforow>\n				<p class=\"block-rowMessage block-rowMessage--warning block-rowMessage--iconic\">\n					<strong>{{ phrase(\'note:\') }}</strong>\n					{{ phrase(\'button_manager_reset_it_is_not_possible_to_reverse_this_action\') }}\n				</p>\n			</xf:inforow>\n		</div>\n		<xf:submitrow rowtype=\"simple\" icon=\"refresh\" submit=\"{{ phrase(\'reset_button_configuration\') }}\" />\n	</div>\n</xf:form>', 0x[encoded data, 11972 characters], 0x5846, 2010010, '2.1.0 Alpha', 1748686057);
INSERT INTO `xf_template` (`template_id`, `type`, `title`, `style_id`, `template`, `template_parsed`, `addon_id`, `version_id`, `version_string`, `last_edit_date`) VALUES
(106, 0x61646d696e, 0x62625f636f64655f65646974, 0, '<xf:if is=\"$bbCode.isInsert()\">\n	<xf:title>{{ phrase(\'add_bb_code\') }}</xf:title>\n<xf:else />\n	<xf:title>{{ phrase(\'edit_bb_code:\') }} [{$bbCode.bb_code_id}]</xf:title>\n</xf:if>\n\n<xf:pageaction if=\"$bbCode.isUpdate() AND $bbCode.canEdit()\">\n	<xf:button href=\"{{ link(\'bb-codes/delete\', $bbCode) }}\" icon=\"delete\" overlay=\"true\" />\n</xf:pageaction>\n\n<xf:if is=\"{{ !$bbCode.canEdit() }}\">\n	<div class=\"blockMessage blockMessage--important blockMessage--iconic\">\n		{{ phrase(\'only_limited_fields_in_item_may_be_edited\') }}\n	</div>\n</xf:if>\n\n<xf:form action=\"{{ link(\'bb-codes/save\', $bbCode) }}\" ajax=\"true\" class=\"block\">\n	<div class=\"block-container\">\n\n		<div class=\"block-body\">\n			<xf:textboxrow name=\"bb_code_id\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'bb_code_tag\') }}\"\n				dir=\"ltr\" />\n\n			<xf:textboxrow name=\"title\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'title\') }}\" />\n			<xf:textarearow name=\"desc\" value=\"{$bbCode}\" autosize=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'description\') }}\" />\n\n			<xf:radiorow name=\"bb_code_mode\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'replacement_mode\') }}\">\n\n				<xf:option value=\"replace\">{{ phrase(\'simple_replacement\') }}</xf:option>\n				<xf:option value=\"callback\">{{ phrase(\'php_callback\') }}</xf:option>\n			</xf:radiorow>\n\n			<xf:radiorow name=\"has_option\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'supports_option_parameter\') }}\">\n\n				<xf:option value=\"yes\">{{ phrase(\'yes\') }}</xf:option>\n				<xf:option value=\"no\">{{ phrase(\'no\') }}</xf:option>\n				<xf:option value=\"optional\" explain=\"{{ phrase(\'bb_code_tag_will_work_with_and_without_option_provided\') }}\">\n					{{ phrase(\'optional\') }}\n				</xf:option>\n			</xf:radiorow>\n\n			<xf:codeeditorrow name=\"replace_html\" value=\"{$bbCode.replace_html}\"\n				mode=\"html\" data-line-wrapping=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				class=\"codeEditor--autoSize\"\n				label=\"{{ phrase(\'html_replacement\') }}\"\n				explain=\"{{ phrase(\'use_option_and_text_in_custom_bb_code\') }}\" />\n\n			<xf:macro id=\"helper_callback_fields::callback_row\"\n				arg-label=\"{{ phrase(\'php_callback\') }}\"\n				arg-explain=\"{{ phrase(\'custom_bb_code_callback_will_receive_parameters\') }}\"\n				arg-data=\"{$bbCode}\"\n				arg-readOnly=\"{{ !$bbCode.canEdit() }}\" />\n\n			<hr class=\"formRowSep\" />\n\n			<xf:radiorow name=\"editor_icon_type\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'editor_icon\') }}\">\n\n				<xf:option value=\"\">{{ phrase(\'none\') }}</xf:option>\n				<xf:option value=\"fa\" label=\"{{ phrase(\'font_awesome_icon\') }}\">\n					<xf:textbox name=\"editor_icon_fa\"\n						readonly=\"{{ !$bbCode.canEdit() }}\"\n						value=\"{{ $bbCode.editor_icon_type == \'fa\' ? $bbCode.editor_icon_value : \'\' }}\"\n						maxlength=\"{{ max_length($bbCode, \'editor_icon_value\') }}\"\n						dir=\"ltr\" />\n				</xf:option>\n				<xf:option value=\"image\" label=\"{{ phrase(\'image\') }}\">\n					<xf:assetupload name=\"editor_icon_image\" asset=\"editor_icons\"\n						readonly=\"{{ !$bbCode.canEdit() }}\"\n						value=\"{{ $bbCode.editor_icon_type == \'image\' ? $bbCode.editor_icon_value : \'\' }}\"\n						maxlength=\"{{ max_length($bbCode, \'editor_icon_value\') }}\" />\n				</xf:option>\n			</xf:radiorow>\n\n			<hr class=\"formRowSep\" />\n\n			<xf:textarearow name=\"example\" value=\"{$bbCode}\" autosize=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'example_usage\') }}\"\n				explain=\"{{ phrase(\'if_provide_example_bb_code_appear_on_bb_code_help_page\') }}\" />\n\n			<xf:textarearow name=\"output\" value=\"{$bbCode}\" autosize=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'example_output\') }}\"\n				explain=\"{{ phrase(\'control_how_example_appear_on_bb_code_help_page\') }}\" />\n\n			<hr class=\"formRowSep\" />\n\n			<xf:checkboxrow>\n				<xf:option name=\"allow_signature\" value=\"1\" selected=\"$bbCode.allow_signature\">\n					{{ phrase(\'allow_this_bb_code_in_signatures\') }}\n				</xf:option>\n			</xf:checkboxrow>\n\n			<xf:checkboxrow>\n				<xf:option name=\"active\" value=\"1\" selected=\"$bbCode.active\"\n					hint=\"{{ ($xf.development AND $bbCode.addon_id) ? phrase(\'field_value_maintained_addon_upgrade_explain\') : \'\' }}\">\n					{{ phrase(\'enabled\') }}\n				</xf:option>\n			</xf:checkboxrow>\n\n			<xf:macro id=\"addon_macros::addon_edit\" arg-addOnId=\"{$bbCode.addon_id}\" />\n		</div>\n\n		<h3 class=\"block-formSectionHeader\">\n			<span class=\"collapseTrigger collapseTrigger--block\" data-xf-click=\"toggle\" data-target=\"< :up:next\">\n				<span class=\"block-formSectionHeader-aligner\">{{ phrase(\'advanced_options\') }}</span>\n			</span>\n		</h3>\n		<div class=\"block-body block-body--collapsible\">\n			<xf:textarearow name=\"option_regex\" value=\"{$bbCode}\" code=\"true\" autosize=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'option_match_regular_expression\') }}\"\n				explain=\"{{ phrase(\'if_provided_tag_only_be_valid_if_option_matches_regex\') }}\" />\n\n			<xf:checkboxrow label=\"{{ phrase(\'within_this_bb_code\') }}\" readonly=\"{{ !$bbCode.canEdit() }}\">\n				<xf:option name=\"disable_smilies\" value=\"1\" selected=\"$bbCode.disable_smilies\">\n					{{ phrase(\'disable_smilies\') }}\n				</xf:option>\n				<xf:option name=\"disable_nl2br\" value=\"1\" selected=\"$bbCode.disable_nl2br\">\n					{{ phrase(\'disable_line_break_conversion\') }}\n				</xf:option>\n				<xf:option name=\"disable_autolink\" value=\"1\" selected=\"$bbCode.disable_autolink\">\n					{{ phrase(\'disable_auto_linking\') }}\n				</xf:option>\n				<xf:option name=\"plain_children\" value=\"1\" selected=\"$bbCode.plain_children\">\n					{{ phrase(\'stop_parsing_bb_code\') }}\n				</xf:option>\n			</xf:checkboxrow>\n\n			<xf:checkboxrow readonly=\"{{ !$bbCode.canEdit() }}\">\n				<xf:option name=\"allow_empty\" value=\"1\" selected=\"$bbCode.allow_empty\"\n					label=\"{{ phrase(\'display_html_replacement_when_empty\') }}\"\n					explain=\"{{ phrase(\'if_selected_replacement_html_displayed_no_text_inside_bb_code\') }}\" />\n			</xf:checkboxrow>\n\n			<xf:numberboxrow name=\"trim_lines_after\" value=\"{$bbCode}\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				label=\"{{ phrase(\'trim_line_breaks_after\') }}\"\n				explain=\"{{ phrase(\'if_tag_is_block_level_may_want_to_ignore_line_breaks\') }}\" />\n\n			<hr class=\"formRowSep\" />\n\n			<xf:codeeditorrow name=\"replace_html_email\" value=\"{$bbCode.replace_html_email}\"\n				mode=\"html\" data-line-wrapping=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				class=\"codeEditor--autoSize\"\n				label=\"{{ phrase(\'html_email_replacement\') }}\"\n				explain=\"{{ phrase(\'if_provided_bb_code_replace_html_email_desc\') }}\" />\n\n			<xf:codeeditorrow name=\"replace_text\" value=\"{$bbCode.replace_text}\"\n				mode=\"text\" data-line-wrapping=\"true\"\n				readonly=\"{{ !$bbCode.canEdit() }}\"\n				class=\"codeEditor--autoSize\"\n				label=\"{{ phrase(\'text_replacement\') }}\"\n				explain=\"{{ phrase(\'if_provided_bb_code_replace_text_desc\') }}\" />\n		</div>\n\n		<xf:submitrow sticky=\"true\" icon=\"save\" />\n	</div>\n\n</xf:form>', 0x[encoded data, 111100 characters], 0x5846, 2030010, '2.3.0 Alpha', 1748686057);
