<?xml version="1.0" encoding="UTF-8"?>
<!--
  DeckKit for Microsoft PowerPoint.

  Sideload with `npm run ms:sideload` (macOS) or by copying this file into the
  wef folder for your platform. The URLs below point at the local dev server
  started by `npm run ms:serve`; change DECKKIT_ORIGIN throughout when hosting
  it somewhere permanent.

  Requirement set: PowerPointApi 1.2 is the floor, because inserting the
  generated slides uses Presentation.insertSlidesFromBase64. Reading the open
  deck (Deck Check, "read my deck") needs 1.4, and knowing which slide is
  selected needs 1.5; both are checked at runtime rather than declared, so the
  add-in still loads and still inserts on an older build.
-->
<OfficeApp
  xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
  xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides"
  xsi:type="TaskPaneApp">

  <Id>9f8a3be1-8c4e-4e2d-a6d9-3e2a0f7b5c11</Id>
  <!-- Office rejects a manifest below 1.0.0, and this project is still on 0.x.
       So the add-in version is the package version with its major raised to
       one — 0.66.0 here is 1.66.0 there — and the two are checked against each
       other by npm test and scripts/package.sh. A stale version here means
       PowerPoint keeps serving the cached previous build. -->
  <Version>1.67.0</Version>
  <ProviderName>DeckKit</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="DeckKit"/>
  <Description DefaultValue="Compiles a validated JSON specification into native, editable PowerPoint slides — templates, exhibits, deck check and the assistant."/>
  <IconUrl DefaultValue="https://deckkit-f5d.pages.dev/assets/icon-56.png"/>
  <HighResolutionIconUrl DefaultValue="https://deckkit-f5d.pages.dev/assets/icon-56.png"/>
  <SupportUrl DefaultValue="https://github.com/"/>

  <AppDomains>
    <AppDomain>https://deckkit-f5d.pages.dev</AppDomain>
  </AppDomains>

  <Hosts>
    <Host Name="Presentation"/>
  </Hosts>

  <!-- Deliberately no <Requirements> block. A manifest that declares one it
       cannot match is not merely disabled, it is hidden: it never appears in
       My Add-ins and Office reports nothing. Every requirement set this add-in
       cares about is checked at runtime in ms/office-host.js instead, so an
       older PowerPoint gets a pane that says what it cannot do rather than no
       pane and no explanation. -->

  <DefaultSettings>
    <SourceLocation DefaultValue="https://deckkit-f5d.pages.dev/surfaces/addin/taskpane"/>
  </DefaultSettings>

  <Permissions>ReadWriteDocument</Permissions>

  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <Host xsi:type="Presentation">
        <DesktopFormFactor>
          <GetStarted>
            <Title resid="GetStarted.Title"/>
            <Description resid="GetStarted.Description"/>
            <LearnMoreUrl resid="GetStarted.LearnMoreUrl"/>
          </GetStarted>
          <!-- The ONLYOFFICE build puts a DeckKit tab on the ribbon; this is
               the same idea, in the shape an Office add-in is allowed to take. -->
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="DeckKit.Tab">
              <Group id="DeckKit.Group">
                <Label resid="Group.Label"/>
                <Icon>
                  <bt:Image size="16" resid="Icon.16"/>
                  <bt:Image size="32" resid="Icon.32"/>
                  <bt:Image size="80" resid="Icon.80"/>
                </Icon>
                <Control xsi:type="Button" id="DeckKit.Open">
                  <Label resid="OpenPanel.Label"/>
                  <Supertip>
                    <Title resid="OpenPanel.Label"/>
                    <Description resid="OpenPanel.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16"/>
                    <bt:Image size="32" resid="Icon.32"/>
                    <bt:Image size="80" resid="Icon.80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>DeckKit.Taskpane</TaskpaneId>
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
              </Group>
              <Label resid="Tab.Label"/>
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>

    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16" DefaultValue="https://deckkit-f5d.pages.dev/assets/icon-28.png"/>
        <bt:Image id="Icon.32" DefaultValue="https://deckkit-f5d.pages.dev/assets/icon-28.png"/>
        <bt:Image id="Icon.80" DefaultValue="https://deckkit-f5d.pages.dev/assets/icon-56.png"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Taskpane.Url" DefaultValue="https://deckkit-f5d.pages.dev/surfaces/addin/taskpane"/>
        <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://deckkit-f5d.pages.dev/surfaces/addin/taskpane"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Tab.Label" DefaultValue="DeckKit"/>
        <bt:String id="Group.Label" DefaultValue="DeckKit"/>
        <bt:String id="OpenPanel.Label" DefaultValue="Open DeckKit"/>
        <bt:String id="GetStarted.Title" DefaultValue="DeckKit is ready"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="OpenPanel.Tooltip" DefaultValue="Templates, exhibits, deck check and the assistant, in a side panel."/>
        <bt:String id="GetStarted.Description" DefaultValue="Open the DeckKit tab and pick a template, or describe the slide you want."/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>
