var that = this;
function __skpm_run (key, context) {
  that.context = context;

var exports =
/******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "./src/measure/measureSlice.js");
/******/ })
/************************************************************************/
/******/ ({

/***/ "./src/measure/measureSlice.js":
/*!*************************************!*\
  !*** ./src/measure/measureSlice.js ***!
  \*************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var sketch_ui__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! sketch/ui */ "sketch/ui");
/* harmony import */ var sketch_ui__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(sketch_ui__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var sketch_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sketch/dom */ "sketch/dom");
/* harmony import */ var sketch_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sketch_dom__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _util_lang_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../util/lang.js */ "./src/util/lang.js");




var Group = __webpack_require__(/*! sketch/dom */ "sketch/dom").Group;

function measureSlice(context) {
  // login.loginInfo('', { type: 'slice', callback: callback, context });
  callback(context);
}

function callback(context) {
  var selection = context.document.selectedLayers().layers();

  if (selection.count() <= 0) {
    sketch_ui__WEBPACK_IMPORTED_MODULE_0___default.a.message(_util_lang_js__WEBPACK_IMPORTED_MODULE_2__["default"].LSTR('请选择Shape/Text类型进行样式标注'));
    return false;
  }

  for (var i = 0; i < selection.count(); i++) {
    var layer = selection[i];
    var slice = layer;
    slice = MSSliceLayer.sliceLayerFromLayer(layer); // sketch.fromNative(slice).moveToFront();

    var msRect = MSRect.rectWithUnionOfRects([MSRect.alloc().initWithRect(slice.absoluteRect().rect()), MSRect.alloc().initWithRect(layer.absoluteRect().rect())]);
    slice.absoluteRect().setRect(msRect.rect());
    var group = new Group({
      name: 'sliceGroup'
    });
    group.adjustToFit();

    if (layer && slice) {
      if (layer.class() === MSLayerGroup) {
        slice.moveToLayer_beforeLayer(layer, layer.firstLayer());
        slice.exportOptions().setLayerOptions(2);
      } else {
        var jsLayer = sketch_dom__WEBPACK_IMPORTED_MODULE_1___default.a.fromNative(layer);
        var jsSlice = sketch_dom__WEBPACK_IMPORTED_MODULE_1___default.a.fromNative(slice);
        group.frame.width = jsLayer.frame.width;
        group.frame.height = jsLayer.frame.height;
        group.frame.x = jsLayer.frame.x;
        group.frame.y = jsLayer.frame.y;
        jsLayer.frame.x = 0;
        jsLayer.frame.y = 0;
        jsSlice.frame.x = 0;
        jsSlice.frame.y = 0;
        group.parent = jsLayer.parent;
        jsLayer.parent = group;
        jsSlice.parent = group;
        slice.exportOptions().setLayerOptions(2);
      }

      slice.exportOptions().removeAllExportFormats();
      var size = slice.exportOptions().addExportFormat();
      size.setName('');
      size.setScale(1);
      size.setFileFormat('png');
    }
  }

  ;
}

/* harmony default export */ __webpack_exports__["default"] = (function (context) {
  measureSlice(context);
});

/***/ }),

/***/ "./src/util/lang.js":
/*!**************************!*\
  !*** ./src/util/lang.js ***!
  \**************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
var zhDict = {};
var enDict = {
  '设置': 'Settings',
  '设计系统': 'Design style',
  '资源面板': 'Resource Panel',
  '标注工具栏': 'Annotation toolbar',
  '控件库': 'Symbol library',
  '图标库': 'Icon library',
  '标注间距': 'Annotation spacing',
  '标注尺寸': 'Annotation Size',
  '标注控件': 'Annotation Widgets',
  '标注热区': 'Annotation Hotspot',
  '添加备注': 'Add Comments',
  '标注栅格': 'Annotation Grid',
  '标注原子能力': 'Annotation Adaptive',
  '切片': 'Slice',
  '标注样式': 'Annotation styles',
  '请至少选择一种原子能力': 'Please select at least one kind of adaptive ability',
  '主题切换': 'Switch theme',
  '切换侧边栏': 'Show/Hide sidebar',
  '原子化布局能力开关': 'Atomic layout feature',
  '原子化布局能力已开启': 'Atomic layout feature enabled.',
  '原子化布局能力已关闭': 'Atomic layout feature disabled.',
  '帮助': 'Help',
  '解绑symbol': 'Detach Symbol',
  '注销账号': 'Logout',
  '原子化布局': 'Atomic layout',
  '侧边工具栏': 'Sidebar',
  '请先选中一个Artboard': 'Please select an Artboard',
  '无法关联样式, 请在文件共享中检查样式文件是否已添加': 'Attach to style failed, please check the libraries',
  '圆角过大, 设置失败!': 'Invalid Round Corner: value too big!',
  '注销成功': 'Logout seccuss',
  '请选择一个库': 'Please select a library',
  '请至少选择一种栅格': 'Please select at least one kind of grid',
  '切换主题成功, sketch界面刷新可能会有延迟, 请稍候!': 'Theme changed successfully. There may be a delay for the page to refresh.',
  '请选择至少一个图层': 'Please select one layer at least',
  '请选择一个或两个图层进行间距标注!': 'Please select one or two layers.',
  '请先导入对应的主题库文件': 'Import theme library first',
  '没有平台信息，请先进行设置': 'No platform infomation, please set it in the web page first',
  '无对应的主题库可用': 'No usable style libraries',
  '请选中一个节点': 'Please select a node',
  '固定内部排版成功!': 'Fix inner layout success',
  '清除成功': 'Clean success',
  '恢复默认参数成功': 'Restore default configuration success',
  '已经同步最新的规范栅格': 'Sync with latest grid specification Done',
  '响应式断点设置生效': 'Set adaptive break point success',
  '拷贝响应式变化能力属性成功': 'Copy adaptive properties success',
  '请先拷贝扩展属性': 'Please copy extended properties first',
  '粘贴响应式变化能力属性成功': 'Paste adaptive properties success',
  // '拉伸能力边距异常': 'en_拉伸能力边距异常',
  '请选中且只选中一个图层': 'en_请选中且只选中一个图层',
  '当前选中的元素不是画板内的图层, 无法获取信息': 'en_当前选中的元素不是画板内的图层, 无法获取信息',
  '请选中一个symbol': 'Please select a Symbol',
  '解绑Symbol成功': 'Detach Symbol success',
  '请选择至少一个画板': 'Please select at least one Artboard',
  '恢复默认设置成功': 'Restore default settings success',
  '成功模拟尺寸设置': 'en_成功模拟尺寸设置',
  '图层的扩展属性': 'en_图层的扩展属性',
  '请选择要插入的栅格类型': 'en_请选择要插入的栅格类型',
  '请选择Shape/Text类型进行样式标注': 'Please select the Shape or Text type.',
  // '无法直接标注样式，请尝试选择Style Layer进行标注': 'en_无法直接标注样式，请尝试选择Style Layer进行标注',
  '没有任何属性可以选择': 'en_没有任何属性可以选择',
  '内部shape元素都没有样式': 'en_内部shape元素都没有样式',
  '成功添加响应式布局能力': 'en_成功添加响应式布局能力',
  '请选中一到两个图层': 'en_请选中一到两个图层',
  '所选对象不在Artboard上，无法进行边距标注': 'en_所选对象不在Artboard上，无法进行边距标注',
  '请选择一个或多个对象对应区域标注的栅格容器参数': 'en_请选择一个或多个对象对应区域标注的栅格容器参数',
  '请选择Symbol Instance类型进行控件标注': 'Please select the Symbol Instance type.',
  '拉伸能力边距异常': 'en_拉伸能力边距异常',
  '容差尺寸不可小于0或大于5, 请重新输入': 'en_容差尺寸不可小于0或大于5, 请重新输入',
  '热区占单栅格比例不可小于0或大于1, 请重新输入': 'en_热区占单栅格比例不可小于0或大于1, 请重新输入',
  '热区固定尺寸不可小于0或大于100, 请重新输入': 'en_热区固定尺寸不可小于0或大于100, 请重新输入',
  '输入数据错误, 请输入纯数字': 'en_输入数据错误, 请输入纯数字',
  '不是Group, 不能应用此设置': 'en_不是Group, 不能应用此设置',
  '不是Artboard内的图层, 无法使用此功能': 'en_不是Artboard内的图层, 无法使用此功能',
  '找不到该屏幕下的栅格配置': 'en_找不到该屏幕下的栅格配置',
  '当前画布宽度不能添加分栏栅格': 'en_当前画布宽度不能添加分栏栅格',
  '无法获取对应的栅格配置, 请检查断点设置': 'en_无法获取对应的栅格配置, 请检查断点设置',
  '分栏栅格': 'en_分栏栅格',
  '画布的宽度不够，不能添加分栏栅格': 'en_画布的宽度不够，不能添加分栏栅格',
  '必须先创建Artboard': 'en_必须先创建Artboard',
  '屏幕宽度不满足分栏要求': 'en_屏幕宽度不满足分栏要求',
  '无可导入的Symbol': 'No importable symbols',
  '没有找到可用的库': 'No valid library found',
  '没有找到Symbol': 'No symbol found',
  '只能替换Symbol库里面的Symbol': 'Replace only Symbol in Symbol library',
  '无法直接标注样式，请尝试选择Style Layer进行标注': 'en_无法直接标注样式，请尝试选择Style Layer进行标注',
  '库中无可导入的Icon': 'No import icons in library',
  '文本对象无法完成替换': 'en_文本对象无法完成替换',
  '请检查选中对象是否为图标': 'en_请检查选中对象是否为图标',
  '非Symbol对象无法完成替换': 'en_非Symbol对象无法完成替换',
  '更改属性失败，内部元素已全部固定宽高': 'en_更改属性失败，内部元素已全部固定宽高',
  '只能选中一个对象设置': 'en_只能选中一个对象设置',
  '父容器不能是页面': 'en_父容器不能是页面',
  '画板边距关系应用成功': 'en_画板边距关系应用成功',
  '只能选中两个对象设置': 'en_只能选中两个对象设置',
  '对象间距关系不生效，需设置其任一对象宽度为Pin': 'en_对象间距关系不生效，需设置其任一对象宽度为Pin',
  '选中一个对象只能是已经设置过兄弟关系的group才行': 'en_选中一个对象只能是已经设置过兄弟关系的group才行',
  '间距关系应用成功': 'en_间距关系应用成功',
  '至少选中一个对象': 'en_至少选中一个对象',
  '选中一个对象只能是已经设置过层叠关系的group才行': 'en_选中一个对象只能是已经设置过层叠关系的group才行',
  '底部元素不是Shape或者Image': 'en_底部元素不是Shape或者Image',
  '应用样式成功': 'Style applied successfully.',
  '多个对象': 'Multiple layers',
  '请检查网络环境': 'Please check the network connection',
  '下载成功': 'Download success',
  '下载失败': 'Download failed',
  '下载超时': 'Download timeout',
  '添加失败，未知原因': 'Add failure, unknown cause',
  '请求超时，请稍后再试': 'Request timeout, please try again later',
  '网络请求异常，导致无法加载,请稍后再试': 'Network request exception, resulting in unable to load, try again later',
  'Library与当前Sketch版本不兼容，请更新版本再试': 'Library is not compatible with the current Sketch version, please update the version and try again',
  '该库已存在': 'The library already exists',
  '不透明': 'opacity',
  '颜色': 'Color',
  '字体': 'Font',
  '圆角': 'Round corners',
  'HarmonyOS 设计插件与当前sketch版本不兼容': 'HarmonyOS Design Tool is incompatible with the current Sketch',
  '网络错误': 'Network Error'
};
var allDict = {
  zh: zhDict,
  en: enDict
};
var lang = {
  LSTR: function LSTR(key) {
    var code = NSLocale.currentLocale().languageCode();
    var langDict = allDict[code];
    var str = langDict[key];

    if (!str) {
      return key;
    }

    return str;
  }
};
/* harmony default export */ __webpack_exports__["default"] = (lang);

/***/ }),

/***/ "sketch/dom":
/*!*****************************!*\
  !*** external "sketch/dom" ***!
  \*****************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = require("sketch/dom");

/***/ }),

/***/ "sketch/ui":
/*!****************************!*\
  !*** external "sketch/ui" ***!
  \****************************/
/*! no static exports found */
/***/ (function(module, exports) {

module.exports = require("sketch/ui");

/***/ })

/******/ });
  if (key === 'default' && typeof exports === 'function') {
    exports(context);
  } else {
    exports[key](context);
  }
}
that['onRun'] = __skpm_run.bind(this, 'default')

//# sourceMappingURL=measureSlice.js.map