Skip to content

Theme Editor XML Provisioning#


Below you can find the XML structure used to manage Theme Editor configurations within the Miva admin interface. These definitions allow developers to create and update theme breakpoints, buttons, and typography styles using structured XML inputs. Each node represents a configurable entity with expected child elements and attributes for precise styling control.

Note: All unit attributes support the following values: px, pt, em, rem, vw, vh, %.

<ThemeSettings_Update>
    <SiteBreakpoints>
        <Breakpoint>
            <Code>mobile</Code>         <!-- Code validated -->
            <Name>Mobile</Name>         <!-- String, 254 max length -->

            <!-- Either Start or End is required, both may also be used together -->
            <Start unit="px">40</Size>  <!-- Any number -->
            <End unit="px">40</Size>    <!-- Any number -->
        </Breakpoint>
        <Breakpoint>
            <Code>tablet</Code>
            <Name>Tablet</Name>
            <Start unit="em">40</Size>
            <End unit="em">40</Size>
        </Breakpoint>
    </SiteBreakpoints>
</ThemeSettings_Update>

<ThemeButton_Delete_All />
<ThemeButton_Delete code="primary" />

<ThemeButton_Add>
    <Code>primary</Code>                                                <!-- Code validated -->
    <Name>Primary Button</Name>                                         <!-- String, 254 max length -->
    <Styles>
        <Color>#fff</Color>                                             <!-- Any valid HTML color -->
        <BackgroundColor>#2f75ff</BackgroundColor>                      <!-- Any valid HTML color -->
        <FontFamily>verdana</FontFamily>                                <!-- Font code (Font Manager) -->
        <FontWeight>100-900</FontWeight>                                <!-- List: 100, 200, 300, 400, 500, 600, 700, 800, 900 -->
        <FontSize unit="px">14</FontSize>                               <!-- Any number -->
        <FontStyle>Normal</FontStyle>                                   <!-- List: Normal, Italic -->
        <LineHeight unit="em">1.2</LineHeight>                          <!-- Any number -->
        <LetterSpacing unit="px">3</LetterSpacing>                      <!-- Any number -->
        <TextTransform>Capitalize</TextTransform>                       <!-- List: None, Uppercase, Lowercase, Capitalize -->
        <OverflowWrap>Normal</OverflowWrap>                             <!-- List: Normal, Break-Word, Anywhere -->
        <BoxShadowInset>None</BoxShadowInset>                           <!-- List: None, Inset -->
        <BoxShadowOffsetX unit="px">0</BoxShadowOffsetX>                <!-- Any number -->
        <BoxShadowOffsetY unit="px">0</BoxShadowOffsetY>                <!-- Any number -->
        <BoxShadowBlur unit="px">0</BoxShadowBlur>                      <!-- Any number -->
        <BoxShadowSpread unit="px">0</BoxShadowSpread>                  <!-- Any number -->
        <BoxShadowColor>#000</BoxShadowColor>                          <!-- Any valid HTML color -->

        <!-- Border Width -->
        <BorderWidth unit="px">1</BorderWidth>                          <!-- Any number -->
        <!-- The following are interpreted after BorderWidth to provide override of individual parts -->
        <BorderTopWidth unit="px">1</BorderTopWidth>                    <!-- Any number --> 
        <BorderRightWidth unit="px">1</BorderRightWidth>                <!-- Any number -->
        <BorderBottomWidth unit="px">1</BorderBottomWidth>              <!-- Any number -->
        <BorderLeftWidth unit="px">1</BorderLeftWidth>                  <!-- Any number -->

        <BorderStyle>Solid</BorderStyle>                                <!-- List: Dotted, Dashed, Solid -->
        <BorderColor>#ddd</BorderColor>                                 <!-- Any valid HTML color -->

        <!-- Border Radius -->
        <BorderRadius unit="px">4</BorderRadius>                        <!-- Any number -->
        <!-- The following are interpreted after BorderRadius to provide override of individual parts -->
        <BorderTopLeftRadius unit="px">4</BorderTopLeftRadius>          <!-- Any number -->
        <BorderTopRightRadius unit="px">4</BorderTopRightRadius>        <!-- Any number -->
        <BorderBottomRightRadius unit="px">4</BorderBottomRightRadius>  <!-- Any number -->
        <BorderBottomLeftRadius unit="px">4</BorderBottomLeftRadius>    <!-- Any number -->
    </Styles>
    <HoverStyles>
        <Color>#fff</Color>                                             <!-- Any valid HTML color -->
        <BackgroundColor>#2f75ff</BackgroundColor>                      <!-- Any valid HTML color -->
        <BorderColor>#ddd</BorderColor>                                 <!-- Any valid HTML color -->
        <BoxShadowInset>None</BoxShadowInset>                           <!-- List: None, Inset -->
        <BoxShadowOffsetX unit="px">0</BoxShadowOffsetX>                <!-- Any number -->
        <BoxShadowOffsetY unit="px">0</BoxShadowOffsetY>                <!-- Any number -->
        <BoxShadowBlur unit="px">0</BoxShadowBlur>                      <!-- Any number -->
        <BoxShadowSpread unit="px">0</BoxShadowSpread>                  <!-- Any number -->
        <BoxShadowColor>#000</BoxShadowColor>                          <!-- Any valid HTML color -->
    </HoverStyles>
    <DisabledStyles>
        <Color>#fff</Color>                                             <!-- Any valid HTML color -->
        <BackgroundColor>#2f75ff</BackgroundColor>                      <!-- Any valid HTML color -->
        <BorderColor>#ddd</BorderColor>                                 <!-- Any valid HTML color -->
        <BoxShadowInset>None</BoxShadowInset>                           <!-- List: None, Inset -->
        <BoxShadowOffsetX unit="px">0</BoxShadowOffsetX>                <!-- Any number -->
        <BoxShadowOffsetY unit="px">0</BoxShadowOffsetY>                <!-- Any number -->
        <BoxShadowBlur unit="px">0</BoxShadowBlur>                      <!-- Any number -->
        <BoxShadowSpread unit="px">0</BoxShadowSpread>                  <!-- Any number -->
        <BoxShadowColor>#000</BoxShadowColor>                          <!-- Any valid HTML color -->
    </DisabledStyles>
    <Sizes>
        <Size>
            <Code>small</Code>                                          <!-- Code validated -->
            <Name>Small</Name>                                          <!-- String, 254 max length -->
            <Styles>
                <FontSize unit="px">14</FontSize>                       <!-- Any number -->

                <!-- Padding -->
                <Padding unit="px">10</Padding>                         <!-- Any number -->
                <!-- The following are interpreted after Padding to provide override of individual parts -->
                <PaddingTop unit="px">5</PaddingTop>                    <!-- Any number -->
                <PaddingRight unit="px">4</PaddingRight>                <!-- Any number -->
                <PaddingBottom unit="px">3</PaddingBottom>              <!-- Any number -->
                <PaddingLeft unit="px">2</PaddingLeft>                  <!-- Any number -->
            </Styles>
            <BreakpointStyles>
                <Breakpoint code="mobile">
                    <FontSize unit="px">14</FontSize>               <!-- Any number -->

                    <!-- Padding -->
                    <Padding unit="px">10</Padding>                 <!-- Any number -->
                    <!-- The following are interpreted after Padding to provide override of individual parts -->
                    <PaddingTop unit="px">5</PaddingTop>            <!-- Any number -->
                    <PaddingRight unit="px">4</PaddingRight>        <!-- Any number -->
                    <PaddingBottom unit="px">3</PaddingBottom>      <!-- Any number -->
                    <PaddingLeft unit="px">2</PaddingLeft>          <!-- Any number -->
                </Breakpoint>

                <Breakpoint code="tablet">
                    <FontSize unit="px">14</FontSize>               <!-- Any number -->

                    <!-- Padding -->
                    <Padding unit="px">10</Padding>                 <!-- Any number -->
                    <!-- The following are interpreted after Padding to provide override of individual parts -->
                    <PaddingTop unit="px">5</PaddingTop>            <!-- Any number -->
                    <PaddingRight unit="px">4</PaddingRight>        <!-- Any number -->
                    <PaddingBottom unit="px">3</PaddingBottom>      <!-- Any number -->
                    <PaddingLeft unit="px">2</PaddingLeft>          <!-- Any number -->
                </Breakpoint>
            </BreakpointStyles>
        </Size>
    </Sizes>
</ThemeButton_Add>

<ThemeTypography_Delete_All />
<ThemeTypography_Delete code="heading1" />

<ThemeTypography_Add>
    <Code>heading1</Code>                                   <!-- Code validated -->
    <Name>Heading 1</Name>                                  <!-- String, 254 max length -->
    <Type>Heading</Custom>                                  <!-- List: Heading, Paragraph -->
    <ClassName>mm_heading_1</ClassName>                     <!-- Value limited to the following characters: [a-zA-Z0-9_-] -->
    <Styles>
        <!-- Common styles -->
        <Color>#fff</Color>                                 <!-- Any valid HTML color -->
        <FontFamily>verdana</FontFamily>                    <!-- Font code (Font Manager) -->
        <FontWeight>100-900</FontWeight>                    <!-- List: 100, 200, 300, 400, 500, 600, 700, 800, 900 -->
        <FontSize unit="px">14</FontSize>                   <!-- Any number -->
        <FontStyle>Normal</FontStyle>                       <!-- List: Normal, Italic -->
        <LineHeight unit="em">1.2</LineHeight>              <!-- Any number -->
        <LetterSpacing unit="px">3</LetterSpacing>          <!-- Any number -->
        <TextTransform>Capitalize</TextTransform>           <!-- List: None, Uppercase, Lowercase, Capitalize -->
        <OverflowWrap>Normal</OverflowWrap>                 <!-- List: Normal, Break-Word, Anywhere -->
        <WhiteSpace>Nowrap</WhiteSpace>                     <!-- List: Normal, Nowrap, Pre, PreWrap, PreLine -->

        <!-- Paraphragh only styles -->
        <ParaphraphSpacing unit="px">20</ParagraphSpacing>  <!-- Any number -->
    </Styles>
    <BreakpointStyles>
        <Breakpoint code="mobile">
            <FontSize unit="px"></FontSize>             <!-- Any number -->
            <LineHeight unit="em">1.2</LineHeight>      <!-- Any number -->
            <LetterSpacing unit="px">3</LetterSpacing>  <!-- Any number -->
        </Breakpoint>

        <Breakpoint code="tablet">
            <FontSize unit="px"></FontSize>             <!-- Any number -->
            <LineHeight unit="em">1.2</LineHeight>      <!-- Any number -->
            <LetterSpacing unit="px">3</LetterSpacing>  <!-- Any number -->
        </Breakpoint>
    </BreakpointStyles>
</ThemeTypography_Add>