Plugin Directory

Changeset 2184321


Ignore:
Timestamp:
11/01/2019 10:32:15 AM (6 years ago)
Author:
iseulde
Message:

v0.0.27

Location:
slide/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • slide/trunk/common.css

    r2180409 r2184321  
    1616.wp-block-slide-slide .wp-block-code {
    1717    margin-top: 0;
    18     margin-bottom: .5em;
     18    /* Back compat */
     19    margin-bottom: 0;
     20    /* margin-bottom: .5em; */
    1921    margin-left: 0;
    2022    margin-right: 0;
     
    4446    font-weight: normal;
    4547    margin-top: 0;
    46     margin-bottom: .5em;
     48    /* Back compat */
     49    margin-bottom: 0;
     50    /* margin-bottom: .5em; */
    4751    margin-left: 0;
    4852    margin-right: 0;
  • slide/trunk/index.css

    r2180409 r2184321  
    8585.wp-block-slide-slide__body {
    8686    position: relative;
    87     padding: 50px;
     87    padding: 28.125px 50px;
    8888    overflow: hidden;
    8989    outline: 1px dashed currentColor;
     90}
     91
     92.presentation-contain .wp-block-slide-slide__body {
     93    display: flex;
     94    flex-direction: column;
     95    justify-content: center;
    9096}
    9197
     
    99105    height: 720px !important;
    100106    padding: 0.2em;
     107}
     108
     109html:not( .presentation-contain ) .wp-block-slide-slide {
    101110    display: flex;
    102111    flex-direction: column;
  • slide/trunk/index.js

    r2181106 r2184321  
    997997var _window$wp = window.wp,
    998998    __ = _window$wp.i18n.__,
    999     e = _window$wp.element.createElement,
     999    _window$wp$element = _window$wp.element,
     1000    e = _window$wp$element.createElement,
     1001    useEffect = _window$wp$element.useEffect,
    10001002    registerPlugin = _window$wp.plugins.registerPlugin,
    10011003    PluginDocumentSettingPanel = _window$wp.editPost.PluginDocumentSettingPanel,
     
    10131015    TextControl = _window$wp$components.TextControl,
    10141016    RadioControl = _window$wp$components.RadioControl,
     1017    CheckboxControl = _window$wp$components.CheckboxControl,
    10151018    _window$wp$blockEdito = _window$wp.blockEditor,
    10161019    MediaUpload = _window$wp$blockEdito.MediaUpload,
     
    10411044var verticalPaddingKey = 'presentation-vertical-padding';
    10421045var colorPaletteKey = 'presentation-color-palette';
     1046var containKey = 'presentation-contain';
    10431047var ALLOWED_MEDIA_TYPES = ['image'];
    10441048registerPlugin('slide', {
     
    10741078      'padding-right': meta[horizontalPaddingKey] ? meta[horizontalPaddingKey] : '0.2em'
    10751079    };
     1080    var width = parseInt(meta[widthKey] || '960', 10) + 30;
     1081
     1082    if (meta[containKey] === 'true') {
     1083      rules.width = 'auto !important';
     1084      rules.height = 'auto !important';
     1085      bodyRules.width = meta[widthKey] ? meta[widthKey] + 'px !important' : '960px !important';
     1086      bodyRules.height = '720px !important';
     1087    } else {
     1088      width += 100;
     1089    }
     1090
     1091    useEffect(function () {
     1092      if (meta[containKey] === 'true') {
     1093        document.documentElement.classList.add('presentation-contain');
     1094      } else {
     1095        document.documentElement.classList.remove('presentation-contain');
     1096      }
     1097    });
    10761098    var backgroundRules = {
    10771099      'background-image': meta[backgroundUrlKey] ? "url(\"".concat(meta[backgroundUrlKey], "\")") : 'none',
     
    10861108    })), _toConsumableArray(Object.keys(backgroundRules).map(function (key) {
    10871109      return e('style', null, ".wp-block-slide-slide__background {".concat(key, ":").concat(backgroundRules[key], "}"));
    1088     })), [e('style', null, meta[cssKey]), !!meta[fontFamilyUrlKey] && e('style', null, "@import url(\"".concat(meta[fontFamilyUrlKey], "\")")), !!meta[fontFamilyHeadingKey] && e('style', null, (meta[fontFamilyHeadingUrlKey] ? "@import url(\"".concat(meta[fontFamilyHeadingUrlKey], "\");") : '') + ".wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-family: ".concat(meta[fontFamilyHeadingKey], " }")), !!meta[fontWeightHeadingKey] && e('style', null, ".wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-weight: ".concat(meta[fontWeightHeadingKey], " }")), !!meta[widthKey] && e('style', null, ".editor-styles-wrapper .editor-writing-flow { width: ".concat(parseInt(meta[widthKey], 10) + 130, "px !important; }")), e(PluginDocumentSettingPanel, {
     1110    })), [e('style', null, meta[cssKey]), !!meta[fontFamilyUrlKey] && e('style', null, "@import url(\"".concat(meta[fontFamilyUrlKey], "\")")), !!meta[fontFamilyHeadingKey] && e('style', null, (meta[fontFamilyHeadingUrlKey] ? "@import url(\"".concat(meta[fontFamilyHeadingUrlKey], "\");") : '') + ".wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-family: ".concat(meta[fontFamilyHeadingKey], " }")), !!meta[fontWeightHeadingKey] && e('style', null, ".wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-weight: ".concat(meta[fontWeightHeadingKey], " }")), e('style', null, ".editor-styles-wrapper .editor-writing-flow { width: ".concat(width, "px !important; }")), e(PluginDocumentSettingPanel, {
    10891111      name: 'slide-dimensions',
    10901112      title: __('Setup', 'slide'),
     
    11041126        });
    11051127      }
     1128    }), e(CheckboxControl, {
     1129      label: __('Contain view to dimensions', 'slide'),
     1130      help: __('This can be useful if positions from background and full width blocks must be preserved.', 'slide'),
     1131      checked: meta[containKey] === 'true',
     1132      onChange: function onChange(value) {
     1133        editPost({
     1134          meta: _defineProperty({}, containKey, value + '')
     1135        });
     1136      }
    11061137    }), e(TextControl, {
    11071138      label: __('Horizontal Padding'),
     
    11351166      value: meta[fontFamilyKey],
    11361167      onChange: function onChange(value, fontUrl) {
    1137         var _meta2;
     1168        var _meta3;
    11381169
    11391170        editPost({
    1140           meta: (_meta2 = {}, _defineProperty(_meta2, fontFamilyKey, value), _defineProperty(_meta2, fontFamilyUrlKey, fontUrl), _meta2)
     1171          meta: (_meta3 = {}, _defineProperty(_meta3, fontFamilyKey, value), _defineProperty(_meta3, fontFamilyUrlKey, fontUrl), _meta3)
    11411172        });
    11421173      }
     
    11551186      value: meta[fontFamilyHeadingKey],
    11561187      onChange: function onChange(value, fontUrl) {
    1157         var _meta3;
     1188        var _meta4;
    11581189
    11591190        editPost({
    1160           meta: (_meta3 = {}, _defineProperty(_meta3, fontFamilyHeadingKey, value), _defineProperty(_meta3, fontFamilyHeadingUrlKey, fontUrl), _meta3)
     1191          meta: (_meta4 = {}, _defineProperty(_meta4, fontFamilyHeadingKey, value), _defineProperty(_meta4, fontFamilyHeadingUrlKey, fontUrl), _meta4)
    11611192        });
    11621193      }
  • slide/trunk/index.js.map

    r2181106 r2184321  
    1 {"version":3,"sources":["font-picker.js","font-weight-picker.js","block-attributes.js","resize.js","data-subscription.js","fragment.js","block.js","code-editor.js","plugin.js","entry.js"],"names":["window","wp","e","element","createElement","BaseControl","components","withInstanceId","compose","googleFonts","weight","Anton","Arvo","Asap","Barlow","Faustina","Inconsolata","Heebo","Karla","Lato","Lora","Merriweather","Montserrat","Oswald","Roboto","Rubik","Tajawal","Ubuntu","Yrsa","Martel","label","value","help","instanceId","onChange","className","props","id","systemFonts","fonts","sortThings","a","b","Object","keys","sort","map","k","push","customFonts","document","forEach","font","family","find","onChangeValue","target","googleFontsAttr","isSystemFont","filter","length","url","replace","undefined","option","index","key","selected","__","i18n","SelectControl","FontWeightPicker","fontFamily","options","weights","Set","add","size","has","disabled","addFilter","hooks","f","Fragment","InspectorControls","blockEditor","PanelBody","allowedBlocks","settings","name","attributes","type","fontWeight","BlockEdit","setAttributes","isSelected","title","icon","initialOpen","FontPicker","BlockListBlock","block","wrapperProps","style","extraProps","blockType","addEventListener","resize","querySelector","requestAnimationFrame","width","clientWidth","parentWidth","parentNode","margin","innerParentWidth","scale","Math","min","marginLeft","transform","transformOrigin","createBlock","blocks","data","subscribe","select","dispatch","getBlocks","slide","replaceBlock","clientId","richText","registerFormatType","toggleFormat","RichTextToolbarButton","tagName","edit","onClick","registerBlockType","useSelect","TextareaControl","RangeControl","ToggleControl","Button","FocalPointPicker","Notice","TextControl","RadioControl","MediaUpload","InnerBlocks","ColorPalette","ALLOWED_MEDIA_TYPES","backgroundUrlKey","description","category","keywords","notes","color","backgroundColor","backgroundId","backgroundUrl","focalPoint","backgroundOpacity","backgroundSize","hidden","backgroundIframeUrl","meta","getEditedPostAttribute","rows","isDefault","parseInt","max","initialPosition","onSelect","media","allowedTypes","render","open","checked","status","isDismissible","backgroundImage","backgroundPosition","x","y","opacity","src","save","display","Content","useRef","useEffect","memo","codeEditor","initialize","defaultSettings","ref","editor","current","codemirror","tabSize","mode","lineNumbers","on","getValue","toTextArea","registerPlugin","plugins","PluginDocumentSettingPanel","editPost","useDispatch","ExternalLink","__experimentalGradientPickerControl","addQueryArgs","colorKey","bgColorKey","backgroundGradientKey","backgroundIdKey","backgroundPositionKey","backgroundOpacityKey","cssKey","fontSizeKey","fontFamilyKey","fontFamilyUrlKey","fontFamilyHeadingKey","fontFamilyHeadingUrlKey","fontWeightHeadingKey","transitionKey","backgroundTransitionKey","transitionSpeedKey","controlsKey","progressKey","widthKey","horizontalPaddingKey","verticalPaddingKey","colorPaletteKey","link","getCurrentPost","updateMeta","bodyRules","rules","backgroundRules","placeholder","fontUrl","split","parseFloat","CodeEditor","href"],"mappings":"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","file":"index.js","sourceRoot":"src","sourcesContent":["const {\n  element: { createElement: e },\n  components: { BaseControl },\n  compose: { withInstanceId }\n} = window.wp;\n\nconst googleFonts = {\n  'Abril Fatface': { weight: ['400'] },\n  Anton: { weight: ['400'] },\n  Arvo: { weight: ['400', '700'] },\n  Asap: { weight: ['400', '500', '600', '700'] },\n  'Barlow Condensed': { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  Barlow: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'Cormorant Garamond': { weight: ['300', '400', '500', '600', '700'] },\n  Faustina: { weight: ['400', '500', '600', '700'] },\n  'Fira Sans': { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'IBM Plex Sans': { weight: ['100', '200', '300', '400', '500', '600', '700'] },\n  Inconsolata: { weight: ['400', '700'] },\n  Heebo: { weight: ['100', '300', '400', '500', '700', '800', '900'] },\n  Karla: { weight: ['400', '700'] },\n  Lato: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  Lora: { weight: ['400', '700'] },\n  Merriweather: { weight: ['300', '400', '500', '600', '700', '800', '900'] },\n  Montserrat: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'Noto Sans': { weight: ['400', '700'] },\n  'Noto Serif': { weight: ['400', '700'] },\n  'Open Sans': { weight: ['300', '400', '500', '600', '700', '800'] },\n  Oswald: { weight: ['200', '300', '400', '500', '600', '700'] },\n  'Playfair Display': { weight: ['400', '700', '900'] },\n  'PT Serif': { weight: ['400', '700'] },\n  Roboto: { weight: ['100', '300', '400', '500', '700', '900'] },\n  Rubik: { weight: ['300', '400', '500', '700', '900'] },\n  Tajawal: { weight: ['200', '300', '400', '500', '700', '800', '900'] },\n  Ubuntu: { weight: ['300', '400', '500', '700'] },\n  Yrsa: { weight: ['300', '400', '500', '600', '700'] },\n  'Source Serif Pro': { weight: ['200', '300', '400', '600', '700', '900'] },\n  'Source Sans Pro': { weight: ['200', '300', '400', '600', '700', '900'] },\n  Martel: { weight: ['200', '300', '400', '600', '700', '800', '900'] }\n};\n\nexport default withInstanceId(({ label, value, help, instanceId, onChange, className, ...props }) => {\n  const id = `inspector-coblocks-font-family-${instanceId}`;\n  const systemFonts = [\n    { value: 'Arial', label: 'Arial' },\n    { value: '', label: 'Helvetica' },\n    { value: 'Times New Roman', label: 'Times New Roman' },\n    { value: 'Georgia', label: 'Georgia' }\n  ];\n  const fonts = [];\n\n  function sortThings (a, b) {\n    return a > b ? 1 : b > a ? -1 : 0;\n  }\n\n  // Add Google Fonts\n  Object.keys(googleFonts).sort(sortThings).map((k) => {\n    fonts.push(\n      { value: k, label: k }\n    );\n  });\n\n  const customFonts = [];\n\n  if (document.fonts && document.fonts.forEach) {\n    document.fonts.forEach((font) => {\n      if (googleFonts[font.family]) {\n        return;\n      }\n\n      if (font.family === 'dashicons') {\n        return;\n      }\n\n      if (customFonts.find(({ value }) => value === font.family)) {\n        return;\n      }\n\n      customFonts.push({ value: font.family, label: font.family });\n    });\n  }\n\n  const onChangeValue = ({ target: { value } }) => {\n    const googleFontsAttr = ':100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic';\n    const isSystemFont = systemFonts.filter(function (font) {\n      return font.label === value;\n    }).length > 0;\n\n    let url = '';\n\n    if (!isSystemFont) {\n      url = 'https://fonts.googleapis.com/css?family=' + value.replace(/ /g, '+') + googleFontsAttr;\n    }\n\n    onChange(value, url);\n  };\n\n  return (\n    e(\n      BaseControl,\n      {\n        label,\n        id,\n        help,\n        className\n      },\n      e(\n        'select',\n        {\n          className: 'components-select-control__input components-select-control__input--coblocks-fontfamily',\n          onChange: onChangeValue,\n          'aria-describedby': help ? `${id}__help` : undefined,\n          ...props\n        },\n        customFonts.length > 0 && e('optgroup', { label: 'Custom Loaded Fonts' },\n          customFonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        ),\n        e('optgroup', { label: 'System Fonts' },\n          systemFonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        ),\n        e('optgroup', { label: 'Google Fonts' },\n          fonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        )\n      )\n    )\n  );\n});\n","const {\n  i18n: { __ },\n  element: { createElement: e },\n  components: { SelectControl }\n} = window.wp;\n\nexport default function FontWeightPicker ({ fontFamily, ...props }) {\n  const options = [\n    { value: '100', label: __('Thin', 'slide') },\n    { value: '200', label: __('Extra Light', 'slide') },\n    { value: '300', label: __('Light', 'slide') },\n    { value: '400', label: __('Normal', 'slide') },\n    { value: '500', label: __('Medium', 'slide') },\n    { value: '600', label: __('Semi Bold', 'slide') },\n    { value: '700', label: __('Bold', 'slide') },\n    { value: '800', label: __('Extra Bold', 'slide') },\n    { value: '900', label: __('Black', 'slide') }\n  ];\n\n  const weights = new Set();\n\n  if (document.fonts && document.fonts.forEach) {\n    document.fonts.forEach((font) => {\n      if (font.family !== fontFamily) {\n        return;\n      }\n\n      weights.add(font.weight);\n    });\n  }\n\n  if (weights.size) {\n    options.forEach((option) => {\n      if (weights.has(option.value)) {\n        return;\n      }\n\n      option.disabled = true;\n    });\n  }\n\n  return e(SelectControl, {\n    ...props,\n    options\n  });\n}\n","import FontPicker from './font-picker';\nimport FontWeightPicker from './font-weight-picker';\n\nconst {\n  hooks: { addFilter },\n  element: { createElement: e, Fragment: f },\n  blockEditor: { InspectorControls },\n  components: { PanelBody },\n  i18n: { __ }\n} = window.wp;\n\nconst allowedBlocks = new Set(['core/paragraph']);\n\naddFilter(\n  'blocks.registerBlockType',\n  'slide/register-block-attributes',\n  (settings) => {\n    if (!allowedBlocks.has(settings.name)) {\n      return settings;\n    }\n\n    return {\n      ...settings,\n      attributes: {\n        ...settings.attributes,\n        fontFamily: {\n          type: 'string'\n        },\n        fontWeight: {\n          type: 'string'\n        }\n      }\n    };\n  }\n);\n\naddFilter(\n  'editor.BlockEdit',\n  'slide/control-block-attributes',\n  (BlockEdit) => {\n    return (props) => {\n      const { attributes, setAttributes, isSelected, name } = props;\n      return e(\n        f,\n        null,\n        e(BlockEdit, props),\n        isSelected && allowedBlocks.has(name) && e(\n          InspectorControls,\n          null,\n          e(\n            PanelBody,\n            {\n              title: __('Font', 'slide'),\n              icon: 'format-text',\n              initialOpen: false\n            },\n            e(FontPicker, {\n              label: __('Font Family', 'slide'),\n              value: attributes.fontFamily,\n              onChange: (fontFamily) => setAttributes({ fontFamily })\n            }),\n            e(FontWeightPicker, {\n              label: __('Font Weight', 'slide'),\n              value: attributes.fontWeight || '400',\n              onChange: (fontWeight) => setAttributes({ fontWeight }),\n              fontFamily: attributes.fontFamily\n            })\n          )\n        )\n      );\n    };\n  }\n);\n\naddFilter(\n  'editor.BlockListBlock',\n  'slide/edit-block-attributes',\n  (BlockListBlock) => {\n    return (props) => {\n      if (allowedBlocks.has(props.block.name)) {\n        const { wrapperProps = {}, attributes } = props;\n        const { style = {} } = wrapperProps;\n        const { fontFamily, fontWeight } = attributes;\n\n        if (fontFamily) {\n          props = {\n            ...props,\n            wrapperProps: {\n              ...wrapperProps,\n              style: {\n                ...style,\n                fontFamily,\n                fontWeight\n              }\n            }\n          };\n        }\n      }\n\n      return e(BlockListBlock, props);\n    };\n  }\n);\n\naddFilter(\n  'blocks.getSaveContent.extraProps',\n  'slide/save-block-attributes',\n  (extraProps, blockType, attributes) => {\n    if (!allowedBlocks.has(blockType.name)) {\n      return extraProps;\n    }\n\n    const { fontFamily, fontWeight } = attributes;\n    const { style = {} } = extraProps;\n\n    return {\n      ...extraProps,\n      style: {\n        ...style,\n        fontFamily,\n        fontWeight\n      }\n    };\n  }\n);\n","window.addEventListener('DOMContentLoaded', resize);\n\nfunction resize () {\n  const element = document.querySelector('.block-editor-writing-flow');\n\n  if (!element) {\n    window.requestAnimationFrame(resize);\n    return;\n  }\n\n  const width = element.clientWidth;\n  const parentWidth = element.parentNode.clientWidth;\n  const margin = parentWidth / 26;\n  const innerParentWidth = element.parentNode.clientWidth - margin * 2;\n  const scale = Math.min(1, innerParentWidth / width);\n  const marginLeft = scale === 1 ? ((innerParentWidth - width) / 2) + margin : margin;\n  const transform = `translate(${marginLeft}px, ${margin}px) scale(${scale})`;\n\n  if (element.style.transform !== transform) {\n    element.style.transformOrigin = '0 0';\n    element.style.transform = transform;\n  }\n\n  window.requestAnimationFrame(resize);\n}\n","const {\n  blocks: { createBlock },\n  data: { subscribe, select, dispatch }\n} = window.wp;\n\nsubscribe(() => {\n  const blocks = select('core/block-editor').getBlocks();\n  const block = blocks.find(({ name }) => name !== 'slide/slide');\n\n  if (!block) {\n    return;\n  }\n\n  const slide = createBlock('slide/slide', {}, [\n    block.name === 'core/paragraph'\n      ? createBlock('core/heading')\n      : createBlock(block.name, block.attributes)\n  ]);\n\n  dispatch('core/block-editor').replaceBlock(block.clientId, slide);\n});\n","const {\n  i18n: { __ },\n  element: { createElement: e },\n  richText: { registerFormatType, toggleFormat },\n  blockEditor: { RichTextToolbarButton }\n} = window.wp;\n\nregisterFormatType('slide/fragment', {\n  title: __('Slide Fragment', 'slide'),\n  tagName: 'span',\n  className: 'fragment',\n  edit: ({ value, onChange }) =>\n    e(RichTextToolbarButton, {\n      icon: 'editor-textcolor',\n      title: __('Slide Fragment', 'slide'),\n      onClick: () => {\n        onChange(toggleFormat(value, { type: 'slide/fragment' }));\n      }\n    })\n});\n","const {\n  i18n: { __ },\n  blocks: { registerBlockType },\n  element: { createElement: e, Fragment },\n  data: { useSelect },\n  components: { TextareaControl, PanelBody, RangeControl, ToggleControl, Button, FocalPointPicker, Notice, TextControl, RadioControl },\n  blockEditor: { MediaUpload, InnerBlocks, InspectorControls, ColorPalette }\n} = window.wp;\nconst ALLOWED_MEDIA_TYPES = ['image'];\nconst backgroundUrlKey = 'presentation-background-url';\n\nregisterBlockType('slide/slide', {\n  title: __('Slide', 'slide'),\n  description: __('With this blocks you can form your slide deck! You can override document level setting for each slide block.'),\n  icon: 'slides',\n  category: 'common',\n  keywords: [__('Presentation', 'slide')],\n  attributes: {\n    notes: {\n      type: 'string'\n    },\n    color: {\n      type: 'string'\n    },\n    backgroundColor: {\n      type: 'string'\n    },\n    backgroundId: {\n      type: 'string'\n    },\n    backgroundUrl: {\n      type: 'string'\n    },\n    focalPoint: {\n      type: 'object'\n    },\n    backgroundOpacity: {\n      type: 'string'\n    },\n    backgroundSize: {\n      type: 'string'\n    },\n    hidden: {\n      type: 'boolean'\n    },\n    backgroundIframeUrl: {\n      type: 'string'\n    }\n  },\n  edit: ({ attributes, setAttributes, className }) => {\n    const meta = useSelect((select) =>\n      select('core/editor').getEditedPostAttribute('meta')\n    );\n\n    return e(\n      Fragment,\n      null,\n      e(\n        InspectorControls,\n        null,\n        e(\n          PanelBody,\n          {\n            title: __('Speaker Notes', 'slide'),\n            icon: 'edit',\n            initialOpen: false\n          },\n          e(TextareaControl, {\n            label: __('Anything you want to remember.', 'slide'),\n            value: attributes.notes,\n            onChange: (notes) => setAttributes({ notes }),\n            rows: 10\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Font', 'slide'),\n            icon: 'text',\n            initialOpen: false\n          },\n          e(ColorPalette, {\n            label: __('Color', 'slide'),\n            value: attributes.color,\n            onChange: (color) =>\n              setAttributes({ color })\n          }),\n          !!attributes.color && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                color: undefined\n              });\n            }\n          }, __('Remove'))\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Color', 'slide'),\n            icon: 'art',\n            initialOpen: false\n          },\n          e(ColorPalette, {\n            label: __('Background Color', 'slide'),\n            value: attributes.backgroundColor,\n            onChange: (backgroundColor) =>\n              setAttributes({ backgroundColor })\n          }),\n          (attributes.backgroundUrl || meta[backgroundUrlKey]) &&\n            e(RangeControl, {\n              label: __('Opacity', 'slide'),\n              value: attributes.backgroundOpacity ? 100 - parseInt(attributes.backgroundOpacity, 10) : undefined,\n              min: 0,\n              max: 100,\n              initialPosition: 0,\n              onChange: (value) => {\n                if (value === undefined) {\n                  setAttributes({\n                    backgroundOpacity: undefined\n                  });\n                } else {\n                  setAttributes({\n                    backgroundOpacity: 100 - value + ''\n                  });\n                }\n              }\n            }),\n          !!attributes.backgroundColor && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                backgroundColor: undefined\n              });\n            }\n          }, __('Remove'))\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Image', 'slide'),\n            icon: 'format-image',\n            initialOpen: false\n          },\n          e(MediaUpload, {\n            onSelect: (media) => {\n              if (!media || !media.url) {\n                setAttributes({\n                  backgroundUrl: undefined,\n                  backgroundId: undefined,\n                  backgroundSize: undefined,\n                  focalPoint: undefined\n                });\n                return;\n              }\n\n              setAttributes({\n                backgroundUrl: media.url,\n                backgroundId: media.id\n              });\n            },\n            allowedTypes: ALLOWED_MEDIA_TYPES,\n            value: attributes.backgroundId,\n            render: ({ open }) => e(Button, {\n              isDefault: true,\n              onClick: open\n            }, attributes.backgroundUrl ? __('Change') : __('Add Background Image'))\n          }),\n          ' ',\n          !!attributes.backgroundUrl && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                backgroundUrl: undefined,\n                backgroundId: undefined,\n                backgroundSize: undefined,\n                focalPoint: undefined\n              });\n            }\n          }, __('Remove')),\n          e('br'), e('br'),\n          !!attributes.backgroundUrl && e(FocalPointPicker, {\n            label: __('Focal Point Picker'),\n            url: attributes.backgroundUrl,\n            value: attributes.focalPoint,\n            onChange: (focalPoint) => setAttributes({ focalPoint })\n          }),\n          !!attributes.backgroundUrl && e(RangeControl, {\n            label: __('Opacity', 'slide'),\n            value: attributes.backgroundOpacity ? parseInt(attributes.backgroundOpacity, 10) : undefined,\n            min: 0,\n            max: 100,\n            initialPosition: 100,\n            onChange: (value) => setAttributes({\n              backgroundOpacity: value + ''\n            })\n          }),\n          !!attributes.backgroundUrl && e(RadioControl, {\n            label: __('Size', 'slide'),\n            selected: attributes.backgroundSize,\n            options: [\n              { label: __('Cover'), value: 'cover' },\n              { label: __('Contain'), value: 'contain' }\n            ],\n            onChange: (backgroundSize) => setAttributes({\n              backgroundSize\n            })\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Iframe', 'slide'),\n            icon: 'format-video',\n            initialOpen: false\n          },\n          e(TextControl, {\n            label: __('Iframe URL'),\n            value: attributes.backgroundIframeUrl,\n            onChange: (backgroundIframeUrl) => setAttributes({ backgroundIframeUrl })\n          }),\n          e('br'), e('br'),\n          !!attributes.backgroundIframeUrl && e(RangeControl, {\n            label: __('Opacity', 'slide'),\n            value: attributes.backgroundOpacity ? parseInt(attributes.backgroundOpacity, 10) : undefined,\n            min: 0,\n            max: 100,\n            initialPosition: 100,\n            onChange: (value) => setAttributes({\n              backgroundOpacity: value + ''\n            })\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Visibility', 'slide'),\n            icon: 'visibility',\n            initialOpen: false\n          },\n          e(ToggleControl, {\n            label: __('Hide Slide', 'slide'),\n            checked: attributes.hidden,\n            onChange: (hidden) => setAttributes({ hidden })\n          })\n        )\n      ),\n      attributes.hidden && e(\n        Notice,\n        { status: 'warning', isDismissible: false },\n        'This slide is hidden'\n      ),\n      e(\n        'div',\n        {\n          className: 'wp-block-slide-slide__body',\n          style: {\n            color: attributes.color || undefined,\n            backgroundColor: attributes.backgroundColor || undefined,\n            // If a background color is set, disable the global gradient.\n            backgroundImage: attributes.backgroundColor ? 'none' : undefined\n          }\n        },\n        e(\n          'div',\n          {\n            className: 'wp-block-slide-slide__background',\n            style: {\n              backgroundImage: attributes.backgroundUrl ? `url(\"${attributes.backgroundUrl}\")` : undefined,\n              backgroundPosition: attributes.focalPoint ? `${attributes.focalPoint.x * 100}% ${attributes.focalPoint.y * 100}%` : undefined,\n              backgroundSize: attributes.backgroundSize ? attributes.backgroundSize : undefined,\n              opacity: attributes.backgroundOpacity ? attributes.backgroundOpacity / 100 : undefined\n            }\n          },\n          !!attributes.backgroundIframeUrl && e('iframe', {\n            src: attributes.backgroundIframeUrl\n          })\n        ),\n        e(\n          'section',\n          { className },\n          e(InnerBlocks)\n        )\n      )\n    );\n  },\n  save: ({ attributes }) => e(\n    attributes.hidden ? 'div' : 'section',\n    {\n      style: {\n        color: attributes.color || undefined,\n        display: attributes.hidden ? 'none' : undefined\n      },\n      'data-background-color': attributes.backgroundColor || undefined,\n      'data-background-image': attributes.backgroundUrl ? attributes.backgroundUrl : undefined,\n      'data-background-position': attributes.focalPoint ? `${attributes.focalPoint.x * 100}% ${attributes.focalPoint.y * 100}%` : undefined,\n      'data-background-opacity': attributes.backgroundOpacity ? attributes.backgroundOpacity / 100 : undefined,\n      'data-background-iframe': attributes.backgroundIframeUrl ? attributes.backgroundIframeUrl : undefined,\n      'data-background-size': attributes.backgroundSize ? attributes.backgroundSize : undefined\n    },\n    e(InnerBlocks.Content)\n  )\n});\n","const {\n  element: { createElement: e, useRef, useEffect, memo },\n  codeEditor: { initialize, defaultSettings }\n} = window.wp;\n\nexport default memo(({ onChange, ...props }) => {\n  const ref = useRef();\n\n  useEffect(() => {\n    const editor = initialize(ref.current, {\n      ...defaultSettings,\n      codemirror: {\n        ...defaultSettings.codemirror,\n        tabSize: 2,\n        mode: 'css',\n        lineNumbers: false\n      }\n    });\n\n    editor.codemirror.on('change', () => {\n      onChange(editor.codemirror.getValue());\n    });\n\n    return () => {\n      editor.codemirror.toTextArea();\n    };\n  });\n\n  return e('textarea', {\n    ref,\n    ...props\n  });\n  // Never rerender.\n}, () => true);\n","import FontPicker from './font-picker';\nimport FontWeightPicker from './font-weight-picker';\nimport CodeEditor from './code-editor';\n\nconst {\n  i18n: { __ },\n  element: { createElement: e },\n  plugins: { registerPlugin },\n  editPost: { PluginDocumentSettingPanel },\n  data: { useSelect, useDispatch },\n  components: { TextareaControl, RangeControl, SelectControl, ToggleControl, Button, FocalPointPicker, ExternalLink, TextControl, RadioControl },\n  blockEditor: { MediaUpload, __experimentalGradientPickerControl, ColorPalette },\n  url: { addQueryArgs }\n} = window.wp;\n\nconst colorKey = 'presentation-color';\nconst bgColorKey = 'presentation-background-color';\nconst backgroundGradientKey = 'presentation-background-gradient';\nconst backgroundUrlKey = 'presentation-background-url';\nconst backgroundIdKey = 'presentation-background-id';\nconst backgroundPositionKey = 'presentation-background-position';\nconst backgroundOpacityKey = 'presentation-background-opacity';\nconst cssKey = 'presentation-css';\nconst fontSizeKey = 'presentation-font-size';\nconst fontFamilyKey = 'presentation-font-family';\nconst fontFamilyUrlKey = 'presentation-font-family-url';\nconst fontFamilyHeadingKey = 'presentation-font-family-heading';\nconst fontFamilyHeadingUrlKey = 'presentation-font-family-heading-url';\nconst fontWeightHeadingKey = 'presentation-font-weight-heading';\nconst transitionKey = 'presentation-transition';\nconst backgroundTransitionKey = 'presentation-background-transition';\nconst transitionSpeedKey = 'presentation-transition-speed';\nconst controlsKey = 'presentation-controls';\nconst progressKey = 'presentation-progress';\nconst widthKey = 'presentation-width';\nconst horizontalPaddingKey = 'presentation-horizontal-padding';\nconst verticalPaddingKey = 'presentation-vertical-padding';\nconst colorPaletteKey = 'presentation-color-palette';\nconst ALLOWED_MEDIA_TYPES = ['image'];\n\nregisterPlugin('slide', {\n  render: () => {\n    const meta = useSelect((select) =>\n      select('core/editor').getEditedPostAttribute('meta')\n    );\n    const link = useSelect((select) =>\n      select('core/editor').getCurrentPost('meta').link\n    );\n    const { editPost } = useDispatch('core/editor');\n    const updateMeta = (value, key) => editPost({\n      meta: { ...meta, [key]: value }\n    });\n\n    const bodyRules = {\n      'background-color': meta[bgColorKey] || '#fff',\n      'background-image': meta[backgroundGradientKey] || 'none',\n      color: meta[colorKey] || '#000',\n      'font-size': (meta[fontSizeKey] || '42') + 'px',\n      'font-family': meta[fontFamilyKey] || 'Helvetica, sans-serif'\n    };\n\n    const rules = {\n      width: meta[widthKey] ? meta[widthKey] + 'px !important' : undefined,\n      'padding-top': meta[verticalPaddingKey] ? meta[verticalPaddingKey] : '0.2em',\n      'padding-bottom': meta[verticalPaddingKey] ? meta[verticalPaddingKey] : '0.2em',\n      'padding-left': meta[horizontalPaddingKey] ? meta[horizontalPaddingKey] : '0.2em',\n      'padding-right': meta[horizontalPaddingKey] ? meta[horizontalPaddingKey] : '0.2em'\n    };\n\n    const backgroundRules = {\n      'background-image': meta[backgroundUrlKey] ? `url(\"${meta[backgroundUrlKey]}\")` : 'none',\n      'background-size': 'cover',\n      'background-position': meta[backgroundPositionKey] ? meta[backgroundPositionKey] : '50% 50%',\n      opacity: meta[backgroundOpacityKey] ? meta[backgroundOpacityKey] / 100 : 1\n    };\n\n    return [\n      ...Object.keys(bodyRules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide__body {${key}:${bodyRules[key]}}`\n        );\n      }),\n      ...Object.keys(rules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide {${key}:${rules[key]}}`\n        );\n      }),\n      ...Object.keys(backgroundRules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide__background {${key}:${backgroundRules[key]}}`\n        );\n      }),\n      e('style', null, meta[cssKey]),\n      !!meta[fontFamilyUrlKey] && e(\n        'style',\n        null,\n          `@import url(\"${meta[fontFamilyUrlKey]}\")`\n      ),\n      !!meta[fontFamilyHeadingKey] && e(\n        'style',\n        null,\n        (meta[fontFamilyHeadingUrlKey] ? `@import url(\"${meta[fontFamilyHeadingUrlKey]}\");` : '') +\n          `.wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-family: ${meta[fontFamilyHeadingKey]} }`\n      ),\n      !!meta[fontWeightHeadingKey] && e(\n        'style',\n        null,\n          `.wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-weight: ${meta[fontWeightHeadingKey]} }`\n      ),\n      !!meta[widthKey] && e(\n        'style',\n        null,\n          `.editor-styles-wrapper .editor-writing-flow { width: ${parseInt(meta[widthKey], 10) + 130}px !important; }`\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-dimensions',\n          title: __('Setup', 'slide'),\n          icon: 'editor-expand'\n        },\n        e(RadioControl, {\n          selected: meta[widthKey] === '1280' ? '16:9' : '',\n          options: [\n            { label: __('Standard 4:3'), value: '' },\n            { label: __('Widescreen 16:9'), value: '16:9' }\n          ],\n          onChange: (value) => {\n            editPost({\n              meta: {\n                [widthKey]: value === '16:9' ? '1280' : ''\n              }\n            });\n          }\n        }),\n        e(TextControl, {\n          label: __('Horizontal Padding'),\n          placeholder: '0.2em',\n          value: meta[horizontalPaddingKey],\n          onChange: (value) => updateMeta(value, horizontalPaddingKey)\n        }),\n        e(TextControl, {\n          label: __('Vertical Padding'),\n          placeholder: '0.2em',\n          value: meta[verticalPaddingKey],\n          onChange: (value) => updateMeta(value, verticalPaddingKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-font',\n          title: __('Base Font', 'slide'),\n          icon: 'text'\n        },\n        e(RangeControl, {\n          label: __('Font Size', 'slide'),\n          value: meta[fontSizeKey] ? parseInt(meta[fontSizeKey], 10) : undefined,\n          min: 10,\n          max: 100,\n          initialPosition: 42,\n          onChange: (value) => updateMeta(value + '', fontSizeKey)\n        }),\n        e(FontPicker, {\n          label: __('Font Family', 'slide'),\n          value: meta[fontFamilyKey],\n          onChange: (value, fontUrl) => {\n            editPost({\n              meta: {\n                [fontFamilyKey]: value,\n                [fontFamilyUrlKey]: fontUrl\n              }\n            });\n          }\n        }),\n        e(ColorPalette, {\n          label: __('Color', 'slide'),\n          value: meta[colorKey],\n          onChange: (value) => updateMeta(value, colorKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-heading-font',\n          title: __('Heading Font', 'slide'),\n          icon: 'text'\n        },\n        e(FontPicker, {\n          label: __('Font Family', 'slide'),\n          value: meta[fontFamilyHeadingKey],\n          onChange: (value, fontUrl) => {\n            editPost({\n              meta: {\n                [fontFamilyHeadingKey]: value,\n                [fontFamilyHeadingUrlKey]: fontUrl\n              }\n            });\n          }\n        }),\n        e(FontWeightPicker, {\n          label: __('Font Weight', 'slide'),\n          value: meta[fontWeightHeadingKey] || '400',\n          onChange: (value) => updateMeta(value, fontWeightHeadingKey),\n          fontFamily: meta[fontFamilyHeadingKey]\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-background',\n          title: __('Background', 'slide'),\n          icon: 'art'\n        },\n        e(ColorPalette, {\n          label: __('Background Color', 'slide'),\n          value: meta[bgColorKey],\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [bgColorKey]: value,\n                [backgroundGradientKey]: ''\n              }\n            });\n          }\n        }),\n        __('Experimental:'),\n        __experimentalGradientPickerControl && e(__experimentalGradientPickerControl, {\n          onChange: (value) => updateMeta(value, backgroundGradientKey),\n          value: meta[backgroundGradientKey]\n        }),\n        !!meta[backgroundUrlKey] && e(RangeControl, {\n          label: __('Opacity', 'slide'),\n          help: __('May be overridden by the block!'),\n          value: meta[backgroundOpacityKey] ? 100 - parseInt(meta[backgroundOpacityKey], 10) : undefined,\n          min: 0,\n          max: 100,\n          initialPosition: 0,\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundOpacityKey]: 100 - value + ''\n              }\n            });\n          }\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-background-image',\n          title: __('Background Image', 'slide'),\n          icon: 'format-image'\n        },\n        e(MediaUpload, {\n          onSelect: (media) => {\n            if (!media || !media.url) {\n              editPost({\n                meta: {\n                  ...meta,\n                  [backgroundUrlKey]: undefined,\n                  [backgroundIdKey]: undefined,\n                  [backgroundPositionKey]: undefined,\n                  [backgroundOpacityKey]: undefined\n                }\n              });\n              return;\n            }\n\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundUrlKey]: media.url,\n                [backgroundIdKey]: media.id + ''\n              }\n            });\n          },\n          allowedTypes: ALLOWED_MEDIA_TYPES,\n          value: meta[backgroundIdKey] ? parseInt(meta[backgroundIdKey], 10) : undefined,\n          render: ({ open }) => e(Button, {\n            isDefault: true,\n            onClick: open\n          }, meta[backgroundUrlKey] ? __('Change') : __('Add Background Image'))\n        }),\n        ' ',\n        !!meta[backgroundUrlKey] && e(Button, {\n          isDefault: true,\n          onClick: () => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundUrlKey]: '',\n                [backgroundIdKey]: '',\n                [backgroundPositionKey]: '',\n                [backgroundOpacityKey]: ''\n              }\n            });\n          }\n        }, __('Remove')),\n        e('br'), e('br'),\n        !!meta[backgroundUrlKey] && e(FocalPointPicker, {\n          label: __('Focal Point Picker'),\n          url: meta[backgroundUrlKey],\n          value: (() => {\n            if (!meta[backgroundPositionKey]) {\n              return;\n            }\n\n            let [x, y] = meta[backgroundPositionKey].split(' ');\n\n            x = parseFloat(x) / 100;\n            y = parseFloat(y) / 100;\n\n            return { x, y };\n          })(),\n          onChange: (focalPoint) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundPositionKey]: `${focalPoint.x * 100}% ${focalPoint.y * 100}%`\n              }\n            });\n          }\n        }),\n        !!meta[backgroundUrlKey] && e(RangeControl, {\n          label: __('Opacity', 'slide'),\n          help: __('May be overridden by the block!'),\n          value: meta[backgroundOpacityKey] ? parseInt(meta[backgroundOpacityKey], 10) : undefined,\n          min: 0,\n          max: 100,\n          initialPosition: 100,\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundOpacityKey]: value + ''\n              }\n            });\n          }\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-palette',\n          title: __('Color Palette', 'slide'),\n          icon: 'art'\n        },\n        e(TextareaControl, {\n          label: __('Comma separated list of color values. Please refresh the page to be able to use the palette.', 'slide'),\n          value: meta[colorPaletteKey],\n          onChange: (value) => updateMeta(value, colorPaletteKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-css',\n          title: __('Custom CSS', 'slide'),\n          icon: 'editor-code'\n        },\n        e(CodeEditor, {\n          value: meta[cssKey] || '/* Always a block prefix! */\\n.wp-block-slide-slide {\\n\\t\\n}\\n',\n          onChange: (value) => updateMeta(value, cssKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-transition',\n          title: __('Transition', 'slide'),\n          icon: 'slides'\n        },\n        e(SelectControl, {\n          label: __('Transition Style', 'slide'),\n          options: [\n            { value: 'none', label: __('None', 'slide') },\n            { value: 'fade', label: __('Fade', 'slide') },\n            { value: 'slide', label: __('Slide', 'slide') },\n            { value: 'convex', label: __('Convex', 'slide') },\n            { value: 'concave', label: __('Concave', 'slide') },\n            { value: 'zoom', label: __('Zoom', 'slide') }\n          ],\n          value: meta[transitionKey],\n          onChange: (value) => updateMeta(value, transitionKey)\n        }),\n        e(SelectControl, {\n          label: __('Background Transition Style', 'slide'),\n          options: [\n            { value: 'none', label: __('None', 'slide') },\n            { value: 'fade', label: __('Fade', 'slide') },\n            { value: 'slide', label: __('Slide', 'slide') },\n            { value: 'convex', label: __('Convex', 'slide') },\n            { value: 'concave', label: __('Concave', 'slide') },\n            { value: 'zoom', label: __('Zoom', 'slide') }\n          ],\n          value: meta[backgroundTransitionKey],\n          onChange: (value) => updateMeta(value, backgroundTransitionKey)\n        }),\n        e(SelectControl, {\n          label: __('Transition Speed', 'slide'),\n          options: [\n            { value: 'default', label: __('Default', 'slide') },\n            { value: 'fast', label: __('Fast', 'slide') },\n            { value: 'slow', label: __('Slow', 'slide') }\n          ],\n          value: meta[transitionSpeedKey],\n          onChange: (value) => updateMeta(value, transitionSpeedKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-controls',\n          title: __('Controls', 'slide'),\n          icon: 'leftright'\n        },\n        e(ToggleControl, {\n          label: __('Control Arrows', 'slide'),\n          checked: meta[controlsKey] === 'true',\n          onChange: (value) => updateMeta(value + '', controlsKey)\n        }),\n        e(ToggleControl, {\n          label: __('Progress Bar', 'slide'),\n          checked: meta[progressKey] === 'true',\n          onChange: (value) => updateMeta(value + '', progressKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-pdf',\n          title: __('PDF (Experimental)', 'slide'),\n          icon: 'page'\n        },\n        e(\n          'p',\n          {},\n          e(\n            ExternalLink,\n            {\n              href: addQueryArgs(link, { 'print-pdf': true }),\n              target: '_blank'\n            },\n            __('Print (Save as PDF).', 'slides')\n          ),\n          e('br'),\n          __('Enable backgrounds and remove margins.', 'slides')\n        )\n      )\n    ];\n  }\n});\n","import './block-attributes';\nimport './resize';\nimport './data-subscription';\nimport './fragment';\nimport './block';\nimport './plugin';\n"]}
     1{"version":3,"sources":["font-picker.js","font-weight-picker.js","block-attributes.js","resize.js","data-subscription.js","fragment.js","block.js","code-editor.js","plugin.js","entry.js"],"names":["window","wp","e","element","createElement","BaseControl","components","withInstanceId","compose","googleFonts","weight","Anton","Arvo","Asap","Barlow","Faustina","Inconsolata","Heebo","Karla","Lato","Lora","Merriweather","Montserrat","Oswald","Roboto","Rubik","Tajawal","Ubuntu","Yrsa","Martel","label","value","help","instanceId","onChange","className","props","id","systemFonts","fonts","sortThings","a","b","Object","keys","sort","map","k","push","customFonts","document","forEach","font","family","find","onChangeValue","target","googleFontsAttr","isSystemFont","filter","length","url","replace","undefined","option","index","key","selected","__","i18n","SelectControl","FontWeightPicker","fontFamily","options","weights","Set","add","size","has","disabled","addFilter","hooks","f","Fragment","InspectorControls","blockEditor","PanelBody","allowedBlocks","settings","name","attributes","type","fontWeight","BlockEdit","setAttributes","isSelected","title","icon","initialOpen","FontPicker","BlockListBlock","block","wrapperProps","style","extraProps","blockType","addEventListener","resize","querySelector","requestAnimationFrame","width","clientWidth","parentWidth","parentNode","margin","innerParentWidth","scale","Math","min","marginLeft","transform","transformOrigin","createBlock","blocks","data","subscribe","select","dispatch","getBlocks","slide","replaceBlock","clientId","richText","registerFormatType","toggleFormat","RichTextToolbarButton","tagName","edit","onClick","registerBlockType","useSelect","TextareaControl","RangeControl","ToggleControl","Button","FocalPointPicker","Notice","TextControl","RadioControl","MediaUpload","InnerBlocks","ColorPalette","ALLOWED_MEDIA_TYPES","backgroundUrlKey","description","category","keywords","notes","color","backgroundColor","backgroundId","backgroundUrl","focalPoint","backgroundOpacity","backgroundSize","hidden","backgroundIframeUrl","meta","getEditedPostAttribute","rows","isDefault","parseInt","max","initialPosition","onSelect","media","allowedTypes","render","open","checked","status","isDismissible","backgroundImage","backgroundPosition","x","y","opacity","src","save","display","Content","useRef","useEffect","memo","codeEditor","initialize","defaultSettings","ref","editor","current","codemirror","tabSize","mode","lineNumbers","on","getValue","toTextArea","registerPlugin","plugins","PluginDocumentSettingPanel","editPost","useDispatch","ExternalLink","CheckboxControl","__experimentalGradientPickerControl","addQueryArgs","colorKey","bgColorKey","backgroundGradientKey","backgroundIdKey","backgroundPositionKey","backgroundOpacityKey","cssKey","fontSizeKey","fontFamilyKey","fontFamilyUrlKey","fontFamilyHeadingKey","fontFamilyHeadingUrlKey","fontWeightHeadingKey","transitionKey","backgroundTransitionKey","transitionSpeedKey","controlsKey","progressKey","widthKey","horizontalPaddingKey","verticalPaddingKey","colorPaletteKey","containKey","link","getCurrentPost","updateMeta","bodyRules","rules","height","documentElement","classList","remove","backgroundRules","placeholder","fontUrl","split","parseFloat","CodeEditor","href"],"mappings":"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","file":"index.js","sourceRoot":"src","sourcesContent":["const {\n  element: { createElement: e },\n  components: { BaseControl },\n  compose: { withInstanceId }\n} = window.wp;\n\nconst googleFonts = {\n  'Abril Fatface': { weight: ['400'] },\n  Anton: { weight: ['400'] },\n  Arvo: { weight: ['400', '700'] },\n  Asap: { weight: ['400', '500', '600', '700'] },\n  'Barlow Condensed': { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  Barlow: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'Cormorant Garamond': { weight: ['300', '400', '500', '600', '700'] },\n  Faustina: { weight: ['400', '500', '600', '700'] },\n  'Fira Sans': { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'IBM Plex Sans': { weight: ['100', '200', '300', '400', '500', '600', '700'] },\n  Inconsolata: { weight: ['400', '700'] },\n  Heebo: { weight: ['100', '300', '400', '500', '700', '800', '900'] },\n  Karla: { weight: ['400', '700'] },\n  Lato: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  Lora: { weight: ['400', '700'] },\n  Merriweather: { weight: ['300', '400', '500', '600', '700', '800', '900'] },\n  Montserrat: { weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'] },\n  'Noto Sans': { weight: ['400', '700'] },\n  'Noto Serif': { weight: ['400', '700'] },\n  'Open Sans': { weight: ['300', '400', '500', '600', '700', '800'] },\n  Oswald: { weight: ['200', '300', '400', '500', '600', '700'] },\n  'Playfair Display': { weight: ['400', '700', '900'] },\n  'PT Serif': { weight: ['400', '700'] },\n  Roboto: { weight: ['100', '300', '400', '500', '700', '900'] },\n  Rubik: { weight: ['300', '400', '500', '700', '900'] },\n  Tajawal: { weight: ['200', '300', '400', '500', '700', '800', '900'] },\n  Ubuntu: { weight: ['300', '400', '500', '700'] },\n  Yrsa: { weight: ['300', '400', '500', '600', '700'] },\n  'Source Serif Pro': { weight: ['200', '300', '400', '600', '700', '900'] },\n  'Source Sans Pro': { weight: ['200', '300', '400', '600', '700', '900'] },\n  Martel: { weight: ['200', '300', '400', '600', '700', '800', '900'] }\n};\n\nexport default withInstanceId(({ label, value, help, instanceId, onChange, className, ...props }) => {\n  const id = `inspector-coblocks-font-family-${instanceId}`;\n  const systemFonts = [\n    { value: 'Arial', label: 'Arial' },\n    { value: '', label: 'Helvetica' },\n    { value: 'Times New Roman', label: 'Times New Roman' },\n    { value: 'Georgia', label: 'Georgia' }\n  ];\n  const fonts = [];\n\n  function sortThings (a, b) {\n    return a > b ? 1 : b > a ? -1 : 0;\n  }\n\n  // Add Google Fonts\n  Object.keys(googleFonts).sort(sortThings).map((k) => {\n    fonts.push(\n      { value: k, label: k }\n    );\n  });\n\n  const customFonts = [];\n\n  if (document.fonts && document.fonts.forEach) {\n    document.fonts.forEach((font) => {\n      if (googleFonts[font.family]) {\n        return;\n      }\n\n      if (font.family === 'dashicons') {\n        return;\n      }\n\n      if (customFonts.find(({ value }) => value === font.family)) {\n        return;\n      }\n\n      customFonts.push({ value: font.family, label: font.family });\n    });\n  }\n\n  const onChangeValue = ({ target: { value } }) => {\n    const googleFontsAttr = ':100,100italic,200,200italic,300,300italic,400,400italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic';\n    const isSystemFont = systemFonts.filter(function (font) {\n      return font.label === value;\n    }).length > 0;\n\n    let url = '';\n\n    if (!isSystemFont) {\n      url = 'https://fonts.googleapis.com/css?family=' + value.replace(/ /g, '+') + googleFontsAttr;\n    }\n\n    onChange(value, url);\n  };\n\n  return (\n    e(\n      BaseControl,\n      {\n        label,\n        id,\n        help,\n        className\n      },\n      e(\n        'select',\n        {\n          className: 'components-select-control__input components-select-control__input--coblocks-fontfamily',\n          onChange: onChangeValue,\n          'aria-describedby': help ? `${id}__help` : undefined,\n          ...props\n        },\n        customFonts.length > 0 && e('optgroup', { label: 'Custom Loaded Fonts' },\n          customFonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        ),\n        e('optgroup', { label: 'System Fonts' },\n          systemFonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        ),\n        e('optgroup', { label: 'Google Fonts' },\n          fonts.map((option, index) =>\n            e('option', {\n              key: option.value,\n              value: option.value,\n              selected: value === option.value\n            }, option.label)\n          )\n        )\n      )\n    )\n  );\n});\n","const {\n  i18n: { __ },\n  element: { createElement: e },\n  components: { SelectControl }\n} = window.wp;\n\nexport default function FontWeightPicker ({ fontFamily, ...props }) {\n  const options = [\n    { value: '100', label: __('Thin', 'slide') },\n    { value: '200', label: __('Extra Light', 'slide') },\n    { value: '300', label: __('Light', 'slide') },\n    { value: '400', label: __('Normal', 'slide') },\n    { value: '500', label: __('Medium', 'slide') },\n    { value: '600', label: __('Semi Bold', 'slide') },\n    { value: '700', label: __('Bold', 'slide') },\n    { value: '800', label: __('Extra Bold', 'slide') },\n    { value: '900', label: __('Black', 'slide') }\n  ];\n\n  const weights = new Set();\n\n  if (document.fonts && document.fonts.forEach) {\n    document.fonts.forEach((font) => {\n      if (font.family !== fontFamily) {\n        return;\n      }\n\n      weights.add(font.weight);\n    });\n  }\n\n  if (weights.size) {\n    options.forEach((option) => {\n      if (weights.has(option.value)) {\n        return;\n      }\n\n      option.disabled = true;\n    });\n  }\n\n  return e(SelectControl, {\n    ...props,\n    options\n  });\n}\n","import FontPicker from './font-picker';\nimport FontWeightPicker from './font-weight-picker';\n\nconst {\n  hooks: { addFilter },\n  element: { createElement: e, Fragment: f },\n  blockEditor: { InspectorControls },\n  components: { PanelBody },\n  i18n: { __ }\n} = window.wp;\n\nconst allowedBlocks = new Set(['core/paragraph']);\n\naddFilter(\n  'blocks.registerBlockType',\n  'slide/register-block-attributes',\n  (settings) => {\n    if (!allowedBlocks.has(settings.name)) {\n      return settings;\n    }\n\n    return {\n      ...settings,\n      attributes: {\n        ...settings.attributes,\n        fontFamily: {\n          type: 'string'\n        },\n        fontWeight: {\n          type: 'string'\n        }\n      }\n    };\n  }\n);\n\naddFilter(\n  'editor.BlockEdit',\n  'slide/control-block-attributes',\n  (BlockEdit) => {\n    return (props) => {\n      const { attributes, setAttributes, isSelected, name } = props;\n      return e(\n        f,\n        null,\n        e(BlockEdit, props),\n        isSelected && allowedBlocks.has(name) && e(\n          InspectorControls,\n          null,\n          e(\n            PanelBody,\n            {\n              title: __('Font', 'slide'),\n              icon: 'format-text',\n              initialOpen: false\n            },\n            e(FontPicker, {\n              label: __('Font Family', 'slide'),\n              value: attributes.fontFamily,\n              onChange: (fontFamily) => setAttributes({ fontFamily })\n            }),\n            e(FontWeightPicker, {\n              label: __('Font Weight', 'slide'),\n              value: attributes.fontWeight || '400',\n              onChange: (fontWeight) => setAttributes({ fontWeight }),\n              fontFamily: attributes.fontFamily\n            })\n          )\n        )\n      );\n    };\n  }\n);\n\naddFilter(\n  'editor.BlockListBlock',\n  'slide/edit-block-attributes',\n  (BlockListBlock) => {\n    return (props) => {\n      if (allowedBlocks.has(props.block.name)) {\n        const { wrapperProps = {}, attributes } = props;\n        const { style = {} } = wrapperProps;\n        const { fontFamily, fontWeight } = attributes;\n\n        if (fontFamily) {\n          props = {\n            ...props,\n            wrapperProps: {\n              ...wrapperProps,\n              style: {\n                ...style,\n                fontFamily,\n                fontWeight\n              }\n            }\n          };\n        }\n      }\n\n      return e(BlockListBlock, props);\n    };\n  }\n);\n\naddFilter(\n  'blocks.getSaveContent.extraProps',\n  'slide/save-block-attributes',\n  (extraProps, blockType, attributes) => {\n    if (!allowedBlocks.has(blockType.name)) {\n      return extraProps;\n    }\n\n    const { fontFamily, fontWeight } = attributes;\n    const { style = {} } = extraProps;\n\n    return {\n      ...extraProps,\n      style: {\n        ...style,\n        fontFamily,\n        fontWeight\n      }\n    };\n  }\n);\n","window.addEventListener('DOMContentLoaded', resize);\n\nfunction resize () {\n  const element = document.querySelector('.block-editor-writing-flow');\n\n  if (!element) {\n    window.requestAnimationFrame(resize);\n    return;\n  }\n\n  const width = element.clientWidth;\n  const parentWidth = element.parentNode.clientWidth;\n  const margin = parentWidth / 26;\n  const innerParentWidth = element.parentNode.clientWidth - margin * 2;\n  const scale = Math.min(1, innerParentWidth / width);\n  const marginLeft = scale === 1 ? ((innerParentWidth - width) / 2) + margin : margin;\n  const transform = `translate(${marginLeft}px, ${margin}px) scale(${scale})`;\n\n  if (element.style.transform !== transform) {\n    element.style.transformOrigin = '0 0';\n    element.style.transform = transform;\n  }\n\n  window.requestAnimationFrame(resize);\n}\n","const {\n  blocks: { createBlock },\n  data: { subscribe, select, dispatch }\n} = window.wp;\n\nsubscribe(() => {\n  const blocks = select('core/block-editor').getBlocks();\n  const block = blocks.find(({ name }) => name !== 'slide/slide');\n\n  if (!block) {\n    return;\n  }\n\n  const slide = createBlock('slide/slide', {}, [\n    block.name === 'core/paragraph'\n      ? createBlock('core/heading')\n      : createBlock(block.name, block.attributes)\n  ]);\n\n  dispatch('core/block-editor').replaceBlock(block.clientId, slide);\n});\n","const {\n  i18n: { __ },\n  element: { createElement: e },\n  richText: { registerFormatType, toggleFormat },\n  blockEditor: { RichTextToolbarButton }\n} = window.wp;\n\nregisterFormatType('slide/fragment', {\n  title: __('Slide Fragment', 'slide'),\n  tagName: 'span',\n  className: 'fragment',\n  edit: ({ value, onChange }) =>\n    e(RichTextToolbarButton, {\n      icon: 'editor-textcolor',\n      title: __('Slide Fragment', 'slide'),\n      onClick: () => {\n        onChange(toggleFormat(value, { type: 'slide/fragment' }));\n      }\n    })\n});\n","const {\n  i18n: { __ },\n  blocks: { registerBlockType },\n  element: { createElement: e, Fragment },\n  data: { useSelect },\n  components: { TextareaControl, PanelBody, RangeControl, ToggleControl, Button, FocalPointPicker, Notice, TextControl, RadioControl },\n  blockEditor: { MediaUpload, InnerBlocks, InspectorControls, ColorPalette }\n} = window.wp;\nconst ALLOWED_MEDIA_TYPES = ['image'];\nconst backgroundUrlKey = 'presentation-background-url';\n\nregisterBlockType('slide/slide', {\n  title: __('Slide', 'slide'),\n  description: __('With this blocks you can form your slide deck! You can override document level setting for each slide block.'),\n  icon: 'slides',\n  category: 'common',\n  keywords: [__('Presentation', 'slide')],\n  attributes: {\n    notes: {\n      type: 'string'\n    },\n    color: {\n      type: 'string'\n    },\n    backgroundColor: {\n      type: 'string'\n    },\n    backgroundId: {\n      type: 'string'\n    },\n    backgroundUrl: {\n      type: 'string'\n    },\n    focalPoint: {\n      type: 'object'\n    },\n    backgroundOpacity: {\n      type: 'string'\n    },\n    backgroundSize: {\n      type: 'string'\n    },\n    hidden: {\n      type: 'boolean'\n    },\n    backgroundIframeUrl: {\n      type: 'string'\n    }\n  },\n  edit: ({ attributes, setAttributes, className }) => {\n    const meta = useSelect((select) =>\n      select('core/editor').getEditedPostAttribute('meta')\n    );\n\n    return e(\n      Fragment,\n      null,\n      e(\n        InspectorControls,\n        null,\n        e(\n          PanelBody,\n          {\n            title: __('Speaker Notes', 'slide'),\n            icon: 'edit',\n            initialOpen: false\n          },\n          e(TextareaControl, {\n            label: __('Anything you want to remember.', 'slide'),\n            value: attributes.notes,\n            onChange: (notes) => setAttributes({ notes }),\n            rows: 10\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Font', 'slide'),\n            icon: 'text',\n            initialOpen: false\n          },\n          e(ColorPalette, {\n            label: __('Color', 'slide'),\n            value: attributes.color,\n            onChange: (color) =>\n              setAttributes({ color })\n          }),\n          !!attributes.color && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                color: undefined\n              });\n            }\n          }, __('Remove'))\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Color', 'slide'),\n            icon: 'art',\n            initialOpen: false\n          },\n          e(ColorPalette, {\n            label: __('Background Color', 'slide'),\n            value: attributes.backgroundColor,\n            onChange: (backgroundColor) =>\n              setAttributes({ backgroundColor })\n          }),\n          (attributes.backgroundUrl || meta[backgroundUrlKey]) &&\n            e(RangeControl, {\n              label: __('Opacity', 'slide'),\n              value: attributes.backgroundOpacity ? 100 - parseInt(attributes.backgroundOpacity, 10) : undefined,\n              min: 0,\n              max: 100,\n              initialPosition: 0,\n              onChange: (value) => {\n                if (value === undefined) {\n                  setAttributes({\n                    backgroundOpacity: undefined\n                  });\n                } else {\n                  setAttributes({\n                    backgroundOpacity: 100 - value + ''\n                  });\n                }\n              }\n            }),\n          !!attributes.backgroundColor && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                backgroundColor: undefined\n              });\n            }\n          }, __('Remove'))\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Image', 'slide'),\n            icon: 'format-image',\n            initialOpen: false\n          },\n          e(MediaUpload, {\n            onSelect: (media) => {\n              if (!media || !media.url) {\n                setAttributes({\n                  backgroundUrl: undefined,\n                  backgroundId: undefined,\n                  backgroundSize: undefined,\n                  focalPoint: undefined\n                });\n                return;\n              }\n\n              setAttributes({\n                backgroundUrl: media.url,\n                backgroundId: media.id\n              });\n            },\n            allowedTypes: ALLOWED_MEDIA_TYPES,\n            value: attributes.backgroundId,\n            render: ({ open }) => e(Button, {\n              isDefault: true,\n              onClick: open\n            }, attributes.backgroundUrl ? __('Change') : __('Add Background Image'))\n          }),\n          ' ',\n          !!attributes.backgroundUrl && e(Button, {\n            isDefault: true,\n            onClick: () => {\n              setAttributes({\n                backgroundUrl: undefined,\n                backgroundId: undefined,\n                backgroundSize: undefined,\n                focalPoint: undefined\n              });\n            }\n          }, __('Remove')),\n          e('br'), e('br'),\n          !!attributes.backgroundUrl && e(FocalPointPicker, {\n            label: __('Focal Point Picker'),\n            url: attributes.backgroundUrl,\n            value: attributes.focalPoint,\n            onChange: (focalPoint) => setAttributes({ focalPoint })\n          }),\n          !!attributes.backgroundUrl && e(RangeControl, {\n            label: __('Opacity', 'slide'),\n            value: attributes.backgroundOpacity ? parseInt(attributes.backgroundOpacity, 10) : undefined,\n            min: 0,\n            max: 100,\n            initialPosition: 100,\n            onChange: (value) => setAttributes({\n              backgroundOpacity: value + ''\n            })\n          }),\n          !!attributes.backgroundUrl && e(RadioControl, {\n            label: __('Size', 'slide'),\n            selected: attributes.backgroundSize,\n            options: [\n              { label: __('Cover'), value: 'cover' },\n              { label: __('Contain'), value: 'contain' }\n            ],\n            onChange: (backgroundSize) => setAttributes({\n              backgroundSize\n            })\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Background Iframe', 'slide'),\n            icon: 'format-video',\n            initialOpen: false\n          },\n          e(TextControl, {\n            label: __('Iframe URL'),\n            value: attributes.backgroundIframeUrl,\n            onChange: (backgroundIframeUrl) => setAttributes({ backgroundIframeUrl })\n          }),\n          e('br'), e('br'),\n          !!attributes.backgroundIframeUrl && e(RangeControl, {\n            label: __('Opacity', 'slide'),\n            value: attributes.backgroundOpacity ? parseInt(attributes.backgroundOpacity, 10) : undefined,\n            min: 0,\n            max: 100,\n            initialPosition: 100,\n            onChange: (value) => setAttributes({\n              backgroundOpacity: value + ''\n            })\n          })\n        ),\n        e(\n          PanelBody,\n          {\n            title: __('Visibility', 'slide'),\n            icon: 'visibility',\n            initialOpen: false\n          },\n          e(ToggleControl, {\n            label: __('Hide Slide', 'slide'),\n            checked: attributes.hidden,\n            onChange: (hidden) => setAttributes({ hidden })\n          })\n        )\n      ),\n      attributes.hidden && e(\n        Notice,\n        { status: 'warning', isDismissible: false },\n        'This slide is hidden'\n      ),\n      e(\n        'div',\n        {\n          className: 'wp-block-slide-slide__body',\n          style: {\n            color: attributes.color || undefined,\n            backgroundColor: attributes.backgroundColor || undefined,\n            // If a background color is set, disable the global gradient.\n            backgroundImage: attributes.backgroundColor ? 'none' : undefined\n          }\n        },\n        e(\n          'div',\n          {\n            className: 'wp-block-slide-slide__background',\n            style: {\n              backgroundImage: attributes.backgroundUrl ? `url(\"${attributes.backgroundUrl}\")` : undefined,\n              backgroundPosition: attributes.focalPoint ? `${attributes.focalPoint.x * 100}% ${attributes.focalPoint.y * 100}%` : undefined,\n              backgroundSize: attributes.backgroundSize ? attributes.backgroundSize : undefined,\n              opacity: attributes.backgroundOpacity ? attributes.backgroundOpacity / 100 : undefined\n            }\n          },\n          !!attributes.backgroundIframeUrl && e('iframe', {\n            src: attributes.backgroundIframeUrl\n          })\n        ),\n        e(\n          'section',\n          { className },\n          e(InnerBlocks)\n        )\n      )\n    );\n  },\n  save: ({ attributes }) => e(\n    attributes.hidden ? 'div' : 'section',\n    {\n      style: {\n        color: attributes.color || undefined,\n        display: attributes.hidden ? 'none' : undefined\n      },\n      'data-background-color': attributes.backgroundColor || undefined,\n      'data-background-image': attributes.backgroundUrl ? attributes.backgroundUrl : undefined,\n      'data-background-position': attributes.focalPoint ? `${attributes.focalPoint.x * 100}% ${attributes.focalPoint.y * 100}%` : undefined,\n      'data-background-opacity': attributes.backgroundOpacity ? attributes.backgroundOpacity / 100 : undefined,\n      'data-background-iframe': attributes.backgroundIframeUrl ? attributes.backgroundIframeUrl : undefined,\n      'data-background-size': attributes.backgroundSize ? attributes.backgroundSize : undefined\n    },\n    e(InnerBlocks.Content)\n  )\n});\n","const {\n  element: { createElement: e, useRef, useEffect, memo },\n  codeEditor: { initialize, defaultSettings }\n} = window.wp;\n\nexport default memo(({ onChange, ...props }) => {\n  const ref = useRef();\n\n  useEffect(() => {\n    const editor = initialize(ref.current, {\n      ...defaultSettings,\n      codemirror: {\n        ...defaultSettings.codemirror,\n        tabSize: 2,\n        mode: 'css',\n        lineNumbers: false\n      }\n    });\n\n    editor.codemirror.on('change', () => {\n      onChange(editor.codemirror.getValue());\n    });\n\n    return () => {\n      editor.codemirror.toTextArea();\n    };\n  });\n\n  return e('textarea', {\n    ref,\n    ...props\n  });\n  // Never rerender.\n}, () => true);\n","import FontPicker from './font-picker';\nimport FontWeightPicker from './font-weight-picker';\nimport CodeEditor from './code-editor';\n\nconst {\n  i18n: { __ },\n  element: { createElement: e, useEffect },\n  plugins: { registerPlugin },\n  editPost: { PluginDocumentSettingPanel },\n  data: { useSelect, useDispatch },\n  components: { TextareaControl, RangeControl, SelectControl, ToggleControl, Button, FocalPointPicker, ExternalLink, TextControl, RadioControl, CheckboxControl },\n  blockEditor: { MediaUpload, __experimentalGradientPickerControl, ColorPalette },\n  url: { addQueryArgs }\n} = window.wp;\n\nconst colorKey = 'presentation-color';\nconst bgColorKey = 'presentation-background-color';\nconst backgroundGradientKey = 'presentation-background-gradient';\nconst backgroundUrlKey = 'presentation-background-url';\nconst backgroundIdKey = 'presentation-background-id';\nconst backgroundPositionKey = 'presentation-background-position';\nconst backgroundOpacityKey = 'presentation-background-opacity';\nconst cssKey = 'presentation-css';\nconst fontSizeKey = 'presentation-font-size';\nconst fontFamilyKey = 'presentation-font-family';\nconst fontFamilyUrlKey = 'presentation-font-family-url';\nconst fontFamilyHeadingKey = 'presentation-font-family-heading';\nconst fontFamilyHeadingUrlKey = 'presentation-font-family-heading-url';\nconst fontWeightHeadingKey = 'presentation-font-weight-heading';\nconst transitionKey = 'presentation-transition';\nconst backgroundTransitionKey = 'presentation-background-transition';\nconst transitionSpeedKey = 'presentation-transition-speed';\nconst controlsKey = 'presentation-controls';\nconst progressKey = 'presentation-progress';\nconst widthKey = 'presentation-width';\nconst horizontalPaddingKey = 'presentation-horizontal-padding';\nconst verticalPaddingKey = 'presentation-vertical-padding';\nconst colorPaletteKey = 'presentation-color-palette';\nconst containKey = 'presentation-contain';\nconst ALLOWED_MEDIA_TYPES = ['image'];\n\nregisterPlugin('slide', {\n  render: () => {\n    const meta = useSelect((select) =>\n      select('core/editor').getEditedPostAttribute('meta')\n    );\n    const link = useSelect((select) =>\n      select('core/editor').getCurrentPost('meta').link\n    );\n    const { editPost } = useDispatch('core/editor');\n    const updateMeta = (value, key) => editPost({\n      meta: { ...meta, [key]: value }\n    });\n\n    const bodyRules = {\n      'background-color': meta[bgColorKey] || '#fff',\n      'background-image': meta[backgroundGradientKey] || 'none',\n      color: meta[colorKey] || '#000',\n      'font-size': (meta[fontSizeKey] || '42') + 'px',\n      'font-family': meta[fontFamilyKey] || 'Helvetica, sans-serif'\n    };\n\n    const rules = {\n      width: meta[widthKey] ? meta[widthKey] + 'px !important' : undefined,\n      'padding-top': meta[verticalPaddingKey] ? meta[verticalPaddingKey] : '0.2em',\n      'padding-bottom': meta[verticalPaddingKey] ? meta[verticalPaddingKey] : '0.2em',\n      'padding-left': meta[horizontalPaddingKey] ? meta[horizontalPaddingKey] : '0.2em',\n      'padding-right': meta[horizontalPaddingKey] ? meta[horizontalPaddingKey] : '0.2em'\n    };\n\n    let width = parseInt((meta[widthKey] || '960'), 10) + 30;\n\n    if (meta[containKey] === 'true') {\n      rules.width = 'auto !important';\n      rules.height = 'auto !important';\n      bodyRules.width = meta[widthKey] ? meta[widthKey] + 'px !important' : '960px !important';\n      bodyRules.height = '720px !important';\n    } else {\n      width += 100;\n    }\n\n    useEffect(() => {\n      if (meta[containKey] === 'true') {\n        document.documentElement.classList.add('presentation-contain');\n      } else {\n        document.documentElement.classList.remove('presentation-contain');\n      }\n    });\n\n    const backgroundRules = {\n      'background-image': meta[backgroundUrlKey] ? `url(\"${meta[backgroundUrlKey]}\")` : 'none',\n      'background-size': 'cover',\n      'background-position': meta[backgroundPositionKey] ? meta[backgroundPositionKey] : '50% 50%',\n      opacity: meta[backgroundOpacityKey] ? meta[backgroundOpacityKey] / 100 : 1\n    };\n\n    return [\n      ...Object.keys(bodyRules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide__body {${key}:${bodyRules[key]}}`\n        );\n      }),\n      ...Object.keys(rules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide {${key}:${rules[key]}}`\n        );\n      }),\n      ...Object.keys(backgroundRules).map((key) => {\n        return e(\n          'style',\n          null,\n            `.wp-block-slide-slide__background {${key}:${backgroundRules[key]}}`\n        );\n      }),\n      e('style', null, meta[cssKey]),\n      !!meta[fontFamilyUrlKey] && e(\n        'style',\n        null,\n          `@import url(\"${meta[fontFamilyUrlKey]}\")`\n      ),\n      !!meta[fontFamilyHeadingKey] && e(\n        'style',\n        null,\n        (meta[fontFamilyHeadingUrlKey] ? `@import url(\"${meta[fontFamilyHeadingUrlKey]}\");` : '') +\n          `.wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-family: ${meta[fontFamilyHeadingKey]} }`\n      ),\n      !!meta[fontWeightHeadingKey] && e(\n        'style',\n        null,\n          `.wp-block-slide-slide h1, .wp-block-slide-slide h2, .wp-block-slide-slide h3, .wp-block-slide-slide h4, .wp-block-slide-slide h5, .wp-block-slide-slide h6 { font-weight: ${meta[fontWeightHeadingKey]} }`\n      ),\n      e(\n        'style',\n        null,\n          `.editor-styles-wrapper .editor-writing-flow { width: ${width}px !important; }`\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-dimensions',\n          title: __('Setup', 'slide'),\n          icon: 'editor-expand'\n        },\n        e(RadioControl, {\n          selected: meta[widthKey] === '1280' ? '16:9' : '',\n          options: [\n            { label: __('Standard 4:3'), value: '' },\n            { label: __('Widescreen 16:9'), value: '16:9' }\n          ],\n          onChange: (value) => {\n            editPost({\n              meta: {\n                [widthKey]: value === '16:9' ? '1280' : ''\n              }\n            });\n          }\n        }),\n        e(CheckboxControl, {\n          label: __('Contain view to dimensions', 'slide'),\n          help: __('This can be useful if positions from background and full width blocks must be preserved.', 'slide'),\n          checked: meta[containKey] === 'true',\n          onChange: (value) => {\n            editPost({\n              meta: {\n                [containKey]: value + ''\n              }\n            });\n          }\n        }),\n        e(TextControl, {\n          label: __('Horizontal Padding'),\n          placeholder: '0.2em',\n          value: meta[horizontalPaddingKey],\n          onChange: (value) => updateMeta(value, horizontalPaddingKey)\n        }),\n        e(TextControl, {\n          label: __('Vertical Padding'),\n          placeholder: '0.2em',\n          value: meta[verticalPaddingKey],\n          onChange: (value) => updateMeta(value, verticalPaddingKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-font',\n          title: __('Base Font', 'slide'),\n          icon: 'text'\n        },\n        e(RangeControl, {\n          label: __('Font Size', 'slide'),\n          value: meta[fontSizeKey] ? parseInt(meta[fontSizeKey], 10) : undefined,\n          min: 10,\n          max: 100,\n          initialPosition: 42,\n          onChange: (value) => updateMeta(value + '', fontSizeKey)\n        }),\n        e(FontPicker, {\n          label: __('Font Family', 'slide'),\n          value: meta[fontFamilyKey],\n          onChange: (value, fontUrl) => {\n            editPost({\n              meta: {\n                [fontFamilyKey]: value,\n                [fontFamilyUrlKey]: fontUrl\n              }\n            });\n          }\n        }),\n        e(ColorPalette, {\n          label: __('Color', 'slide'),\n          value: meta[colorKey],\n          onChange: (value) => updateMeta(value, colorKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-heading-font',\n          title: __('Heading Font', 'slide'),\n          icon: 'text'\n        },\n        e(FontPicker, {\n          label: __('Font Family', 'slide'),\n          value: meta[fontFamilyHeadingKey],\n          onChange: (value, fontUrl) => {\n            editPost({\n              meta: {\n                [fontFamilyHeadingKey]: value,\n                [fontFamilyHeadingUrlKey]: fontUrl\n              }\n            });\n          }\n        }),\n        e(FontWeightPicker, {\n          label: __('Font Weight', 'slide'),\n          value: meta[fontWeightHeadingKey] || '400',\n          onChange: (value) => updateMeta(value, fontWeightHeadingKey),\n          fontFamily: meta[fontFamilyHeadingKey]\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-background',\n          title: __('Background', 'slide'),\n          icon: 'art'\n        },\n        e(ColorPalette, {\n          label: __('Background Color', 'slide'),\n          value: meta[bgColorKey],\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [bgColorKey]: value,\n                [backgroundGradientKey]: ''\n              }\n            });\n          }\n        }),\n        __('Experimental:'),\n        __experimentalGradientPickerControl && e(__experimentalGradientPickerControl, {\n          onChange: (value) => updateMeta(value, backgroundGradientKey),\n          value: meta[backgroundGradientKey]\n        }),\n        !!meta[backgroundUrlKey] && e(RangeControl, {\n          label: __('Opacity', 'slide'),\n          help: __('May be overridden by the block!'),\n          value: meta[backgroundOpacityKey] ? 100 - parseInt(meta[backgroundOpacityKey], 10) : undefined,\n          min: 0,\n          max: 100,\n          initialPosition: 0,\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundOpacityKey]: 100 - value + ''\n              }\n            });\n          }\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-background-image',\n          title: __('Background Image', 'slide'),\n          icon: 'format-image'\n        },\n        e(MediaUpload, {\n          onSelect: (media) => {\n            if (!media || !media.url) {\n              editPost({\n                meta: {\n                  ...meta,\n                  [backgroundUrlKey]: undefined,\n                  [backgroundIdKey]: undefined,\n                  [backgroundPositionKey]: undefined,\n                  [backgroundOpacityKey]: undefined\n                }\n              });\n              return;\n            }\n\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundUrlKey]: media.url,\n                [backgroundIdKey]: media.id + ''\n              }\n            });\n          },\n          allowedTypes: ALLOWED_MEDIA_TYPES,\n          value: meta[backgroundIdKey] ? parseInt(meta[backgroundIdKey], 10) : undefined,\n          render: ({ open }) => e(Button, {\n            isDefault: true,\n            onClick: open\n          }, meta[backgroundUrlKey] ? __('Change') : __('Add Background Image'))\n        }),\n        ' ',\n        !!meta[backgroundUrlKey] && e(Button, {\n          isDefault: true,\n          onClick: () => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundUrlKey]: '',\n                [backgroundIdKey]: '',\n                [backgroundPositionKey]: '',\n                [backgroundOpacityKey]: ''\n              }\n            });\n          }\n        }, __('Remove')),\n        e('br'), e('br'),\n        !!meta[backgroundUrlKey] && e(FocalPointPicker, {\n          label: __('Focal Point Picker'),\n          url: meta[backgroundUrlKey],\n          value: (() => {\n            if (!meta[backgroundPositionKey]) {\n              return;\n            }\n\n            let [x, y] = meta[backgroundPositionKey].split(' ');\n\n            x = parseFloat(x) / 100;\n            y = parseFloat(y) / 100;\n\n            return { x, y };\n          })(),\n          onChange: (focalPoint) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundPositionKey]: `${focalPoint.x * 100}% ${focalPoint.y * 100}%`\n              }\n            });\n          }\n        }),\n        !!meta[backgroundUrlKey] && e(RangeControl, {\n          label: __('Opacity', 'slide'),\n          help: __('May be overridden by the block!'),\n          value: meta[backgroundOpacityKey] ? parseInt(meta[backgroundOpacityKey], 10) : undefined,\n          min: 0,\n          max: 100,\n          initialPosition: 100,\n          onChange: (value) => {\n            editPost({\n              meta: {\n                ...meta,\n                [backgroundOpacityKey]: value + ''\n              }\n            });\n          }\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-palette',\n          title: __('Color Palette', 'slide'),\n          icon: 'art'\n        },\n        e(TextareaControl, {\n          label: __('Comma separated list of color values. Please refresh the page to be able to use the palette.', 'slide'),\n          value: meta[colorPaletteKey],\n          onChange: (value) => updateMeta(value, colorPaletteKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-css',\n          title: __('Custom CSS', 'slide'),\n          icon: 'editor-code'\n        },\n        e(CodeEditor, {\n          value: meta[cssKey] || '/* Always a block prefix! */\\n.wp-block-slide-slide {\\n\\t\\n}\\n',\n          onChange: (value) => updateMeta(value, cssKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-transition',\n          title: __('Transition', 'slide'),\n          icon: 'slides'\n        },\n        e(SelectControl, {\n          label: __('Transition Style', 'slide'),\n          options: [\n            { value: 'none', label: __('None', 'slide') },\n            { value: 'fade', label: __('Fade', 'slide') },\n            { value: 'slide', label: __('Slide', 'slide') },\n            { value: 'convex', label: __('Convex', 'slide') },\n            { value: 'concave', label: __('Concave', 'slide') },\n            { value: 'zoom', label: __('Zoom', 'slide') }\n          ],\n          value: meta[transitionKey],\n          onChange: (value) => updateMeta(value, transitionKey)\n        }),\n        e(SelectControl, {\n          label: __('Background Transition Style', 'slide'),\n          options: [\n            { value: 'none', label: __('None', 'slide') },\n            { value: 'fade', label: __('Fade', 'slide') },\n            { value: 'slide', label: __('Slide', 'slide') },\n            { value: 'convex', label: __('Convex', 'slide') },\n            { value: 'concave', label: __('Concave', 'slide') },\n            { value: 'zoom', label: __('Zoom', 'slide') }\n          ],\n          value: meta[backgroundTransitionKey],\n          onChange: (value) => updateMeta(value, backgroundTransitionKey)\n        }),\n        e(SelectControl, {\n          label: __('Transition Speed', 'slide'),\n          options: [\n            { value: 'default', label: __('Default', 'slide') },\n            { value: 'fast', label: __('Fast', 'slide') },\n            { value: 'slow', label: __('Slow', 'slide') }\n          ],\n          value: meta[transitionSpeedKey],\n          onChange: (value) => updateMeta(value, transitionSpeedKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-controls',\n          title: __('Controls', 'slide'),\n          icon: 'leftright'\n        },\n        e(ToggleControl, {\n          label: __('Control Arrows', 'slide'),\n          checked: meta[controlsKey] === 'true',\n          onChange: (value) => updateMeta(value + '', controlsKey)\n        }),\n        e(ToggleControl, {\n          label: __('Progress Bar', 'slide'),\n          checked: meta[progressKey] === 'true',\n          onChange: (value) => updateMeta(value + '', progressKey)\n        })\n      ),\n      e(\n        PluginDocumentSettingPanel,\n        {\n          name: 'slide-pdf',\n          title: __('PDF (Experimental)', 'slide'),\n          icon: 'page'\n        },\n        e(\n          'p',\n          {},\n          e(\n            ExternalLink,\n            {\n              href: addQueryArgs(link, { 'print-pdf': true }),\n              target: '_blank'\n            },\n            __('Print (Save as PDF).', 'slides')\n          ),\n          e('br'),\n          __('Enable backgrounds and remove margins.', 'slides')\n        )\n      )\n    ];\n  }\n});\n","import './block-attributes';\nimport './resize';\nimport './data-subscription';\nimport './fragment';\nimport './block';\nimport './plugin';\n"]}
  • slide/trunk/index.php

    r2181786 r2184321  
    55 * Plugin URI:  https://wordpress.org/plugins/slide/
    66 * Description: Allows you to create presentations with the block editor.
    7  * Version:     0.0.26
     7 * Version:     0.0.27
    88 * Author:      Ella van Durpe
    99 * Author URI:  https://ellavandurpe.com
  • slide/trunk/readme.md

    r2181786 r2184321  
    66    Requires PHP:      5.6
    77    Tested up to:      5.3
    8     Stable tag:        0.0.26
     8    Stable tag:        0.0.27
    99    License:           GPL-2.0-or-later
    1010    License URI:       http://www.gnu.org/licenses/gpl-2.0.html
  • slide/trunk/register.php

    r2180208 r2184321  
    7474    'vertical-padding',
    7575    'color-palette',
     76    'contain',
    7677) as $key ) {
    7778    register_post_meta( 'presentation', "presentation-$key", array(
  • slide/trunk/template.php

    r2181786 r2184321  
    2323        }
    2424
     25        #wpadminbar {
     26            opacity: 0.5;
     27            transition: opacity 0.5s ease;
     28        }
     29
     30        #wpadminbar:hover {
     31            opacity: 1;
     32        }
     33
    2534        @media print {
    2635            .print-pdf #wpadminbar {
     
    5160        html {
    5261            margin-top: 0 !important;
     62        }
     63
     64        .presentation-contain body {
     65            background: #000;
    5366        }
    5467
     
    101114        }
    102115
     116        .presentation-contain .slides {
     117            overflow: hidden;
     118            padding: 28.125px 50px;
     119            box-sizing: border-box;
     120        }
     121
     122        .presentation-contain .slides > section {
     123            left: 50px;
     124            right: 50px;
     125            width: auto;
     126        }
     127
    103128        .receiver .reveal .slides *,
    104129        .receiver .reveal .backgrounds * {
     
    128153        }
    129154
    130         .alignfull {
     155        html:not( .presentation-contain ) .alignfull {
    131156            width: 100vw;
    132157            left: 50%;
     
    135160            max-width: none;
    136161            max-height: 100vh;
     162        }
     163
     164        .presentation-contain .alignfull {
     165            margin: 0 calc( -50px - <?php echo get_post_meta( get_the_ID(), 'presentation-horizontal-padding', true ) ?: '0.2em'; ?> );
     166            max-width: none;
    137167        }
    138168
     
    155185    <?php wp_footer(); ?>
    156186    <script>
     187        const contain = <?php echo get_post_meta( get_the_ID(), 'presentation-contain', true ) ?: 'false'; ?>;
     188
    157189        Reveal.initialize( {
    158190            transition: '<?php echo get_post_meta( get_the_ID(), 'presentation-transition', true ) ?: 'none'; ?>',
     
    167199            height: 720,
    168200            width: <?php echo get_post_meta( get_the_ID(), 'presentation-width', true ) ?: '960'; ?>,
    169             margin: 0.08,
     201            margin: contain ? 0 : 0.08,
    170202            keyboard: {
    171203                38: 'prev',
     
    189221                .style.flexBasis = `${ 100 - percentage }%`;
    190222        } );
    191         document.querySelectorAll( '.alignfull' ).forEach( ( element ) => {
    192             element.style.width = 100 / Reveal.getScale() + 'vw';
    193             element.style.maxHeight = 84 / Reveal.getScale() + 'vh';
    194         } );
    195         Reveal.addEventListener( 'ready', function( event ) {
     223
     224        if ( contain ) {
     225            const slidesElement = document.querySelector( '.slides' );
     226            const backgroundsElement = document.querySelector( '.backgrounds' );
     227
     228            slidesElement.appendChild( backgroundsElement );
     229            document.documentElement.classList.add( 'presentation-contain' );
     230        } else {
    196231            document.querySelectorAll( '.alignfull' ).forEach( ( element ) => {
    197232                element.style.width = 100 / Reveal.getScale() + 'vw';
    198233                element.style.maxHeight = 84 / Reveal.getScale() + 'vh';
    199234            } );
    200         } );
    201         Reveal.addEventListener( 'resize', function( event ) {
    202             document.querySelectorAll( '.alignfull' ).forEach( ( element ) => {
    203                 element.style.width = 100 / event.scale + 'vw';
    204                 element.style.maxHeight = 100 / event.scale + 'vh';
    205             } );
    206         } );
     235            Reveal.addEventListener( 'ready', function( event ) {
     236                document.querySelectorAll( '.alignfull' ).forEach( ( element ) => {
     237                    element.style.width = 100 / Reveal.getScale() + 'vw';
     238                    element.style.maxHeight = 84 / Reveal.getScale() + 'vh';
     239                } );
     240            } );
     241            Reveal.addEventListener( 'resize', function( event ) {
     242                document.querySelectorAll( '.alignfull' ).forEach( ( element ) => {
     243                    element.style.width = 100 / event.scale + 'vw';
     244                    element.style.maxHeight = 100 / event.scale + 'vh';
     245                } );
     246            } );
     247        }
     248
     249        // Admin bar buttons.
    207250        ( () => {
    208251            const bar = document.querySelector('ul#wp-admin-bar-root-default');
Note: See TracChangeset for help on using the changeset viewer.