{"version":3,"sources":["webpack:///./node_modules/@pressmedia/google/src/importScript.js","webpack:///./node_modules/@pressmedia/google/src/loadGoogleAnalytics.js","webpack:///./node_modules/@pressmedia/google/src/loadGoogleTagManager.js","webpack:///./node_modules/@pressmedia/google/index.js","webpack:///./node_modules/@pressmedia/vuwcmscomponents/src/assets/vuwer/_fixBottom.js","webpack:///./node_modules/@pressmedia/vuwcmscomponents/src/assets/vuwer/_onReady.js","webpack:///./node_modules/@pressmedia/vuwcmscomponents/src/components/copyright/index.js","webpack:///./node_modules/@pressmedia/vuwcmscomponents/src/assets/klass/VuwLoader/index.js","webpack:///./node_modules/@pressmedia/vuwcmscomponents/src/components/pageLoader/index.js","webpack:///./node_modules/@pressmedia/vuwer/src/klass.Vuw.js","webpack:///./node_modules/@pressmedia/vuwer/src/vuwer.js","webpack:///./node_modules/@pressmedia/vuwer/src/klass.VuwerComponent.js","webpack:///./node_modules/@pressmedia/vuwer/src/klass.VuwFade.js","webpack:///./node_modules/@pressmedia/vuwer/src/index.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-exec/src/exec.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-exec/src/DOMReadyPromise.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-exec/src/main.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/addAlert.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/init.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/display.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/contents.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/displayContents.js","webpack:///./node_modules/@pressmedia/webappbase-plugin-popup/src/main.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/RegExp.escape.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/isType.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/utill.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/mb.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/qs.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/fileInfo.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/rfc.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/mapRecursive.js","webpack:///./node_modules/@pressmedia/webappbase/node_modules/@pressmedia/u_/src/index.js","webpack:///./node_modules/@pressmedia/webappbase/src/klass.js","webpack:///./node_modules/@pressmedia/webappbase/src/csl/browserInfo.js","webpack:///./node_modules/@pressmedia/webappbase/src/csl/deviceInfo.js","webpack:///./node_modules/@pressmedia/webappbase/src/csl/core.js","webpack:///./node_modules/@pressmedia/webappbase/src/csl/index.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/core.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/historyAPI.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/webStorageAPI.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/scrollPosition.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/imgPreload.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/xhr.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/require.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/dnd.js","webpack:///./node_modules/@pressmedia/webappbase/src/WebAppBase/index.js"],"names":["importScript","src","TypeError","elmScript","document","createElement","args","slice","callback","pop","onload","this","onerror","async","shift","elmTarget","HTMLElement","getElementsByTagName","parentNode","insertBefore","loadGoogleAnalytics","trackingID","autoSendPageview","gtag","window","dataLayer","push","arguments","Array","isArray","Date","sendPageview","pagePath","page_path","canCreateComment","createComment","commentTag","_version","loadGoogleTagManager","gtmID","getTime","loadGA","loadGTM","fixBottom","vuw","u_","isString","get","Klass","$self","$wrap","parent","length","eq","css","isBorderBox","setProp","updStyle","vuwer","$window","outerHeight","on","e","clearTimeout","_fixTimer","setTimeout","position","bottom","left","addClass","csl","warn","getAddress","app","onReady","scrollingElement","documentElement","scrollStartY","scrollTop","_scrollTimer","isTrigger","isNumber","log","gray","enablePushState","state","originalEvent","Object","keys","assign","parseQueryString","location","search","blue","setUrl","_GET","popstate","setState","_setMeta","$head","$","head","$description","children","$keywords","$canonical","attr","rel","href","URL","$robots","robotsContent","name","insertAfter","isObject","config","page","noindex","nofollow","content","join","meta","add","selector","copyright","render","$elm","html","parseHTML","$toYear","find","nowYear","now","moment","format","text","remove","appendKlass","animation","_initialize","apply","_createProgressBox","$box","$circle","i","clone","appendTo","empty","append","show","cb","then","isFunction","bind","hide","vuwType","body","showLoading","str","pageLoader","_loadingBy","isReady","getReady","green","hideLoading","Promise","resolve","create","$template","opt","conf","createTemplate","onReadyFirst","onReadyLast","onChangeState","$templateClone","renderComplete","renderedElm","String","valueOf","_onReadyCallbacks","_onChangeStateCallbacks","_stateBooked","_stateBookedCBs","getProp","k","hasProperty","undefined","v","isOverride","forEach","prop","_templateAreaPropTo","getTemplateArea","as$","_$templateArea","isGettingReady","call","data","rtn","res","methods","map","fn","all","getState","err","Error","isChangingState","nextState","_bookState","changeState","trigger","_setStateBooked","stateBooked","CB_count","len","_execRender","getCloneFromTemplate","$clone","removeClass","unshift","isElement","replaceWith","new_","_vuwMap","childKlass","_getComponentsReady","names","filter","arg","red","klass","container","toUpperCase","test","arr","split","getChildren","list","idx","concat","isRemoved","removeChildren","extends_","getAsArray","targetVuw","getOther","addr","prototype","each","elm","vuwName","delay","_onReadyDefault","_onChangeVisible","indexOf","orgHeight","height","parseFloat","isNaN","prev","cuVisible","visible","toVisible","_ver","getVersion","grey","methodName","onExec","afterExec","_execCallbacks","exec","readyState","addEventListener","classList","console","error","WAB","PACKAGE_VERSION","addAlert","addContent","confirm","alert","msg","cbTrue","cbFalse","flgShowFalse","isBoolean","ppup","popup","$alert","getContents","Deferred","df","preventDefault","hideContents","reject","showContents","promise","always","off","init","wAB","$parent","_wAB","def","useCssTransform","browser","_$wrap","_$bgElm","contents","_appendDefaultContent","scrollLock","fadeTime","status","keyName","removeContent","_getContents","$arr","t","trim","updDataActive","active","hasClass","sort","a","b","aIdx","parseInt","bIdx","$this","outerWidth","_hideContents","removeCss","hideAllContents","display","displayContents","RegExp","escape","replace","it","isInteger","Math","round","isNumeric","flgStrict","nodeType","style","ownerDocument","obj","key","hasOwnProperty","zeroPadding","target","replaceHtmlTag","replacement","textareaParse","isBlock","txts","innerHTML","outerHTML","doc","implementation","createHTMLDocument","base","appendChild","scripts","removeChild","newCall","Func","Function","hasHalfKana","hasHalfChar","denyHalfKana","re","c","charAt","hasFullChar","query","pathInfo","qArr","decodeURIComponent","createQueryString","encodeURIComponent","fileSizeToString","fsize","fstr","ceil","path","_a","delimiter","hash","pathParts","basename","dirname","filename","extension","replacePathinfo","encodeRFC","decodeRFC","mapRecursive","self","r","utill","mb","qs","fileInfo","rfc","Core","klassName","_klassMap","inherits","ctor","superCtor","super_","__proto__","setPrototypeOf","goog","childCtor","parentCtor","tempCtor","superClass_","constructor","KlassConstructor","parentName","Parent","browserInfo","ua","navigator","userAgent","toLowerCase","ver","appVersion","lastIndexOf","deviceInfo","Console","colors","orange","purple","_attachColors","method","isOn","isIE","device","ACTION_URL","_environment","rootdir","setRootDir","host","url","origin","pathname","rootpath","pattern","currentPath","pageDirLv","_relativePath","dev","prod","history","pushState","dataObj","_changeHistoryState","replaceState","urlChange","storage","_prefix","setPrefix","prefix","set","value","localStorage","JSON","stringify","setItem","getItem","parse","del","removeItem","clear","_scrollTop","saveScroll","offset","pageYOffset","loadScroll","scrollTo","pageXOffset","setScroll","_preloadedImgs","imgPreload","force","preloadedImgs","img","bookCB","callbacks","Image","clearPreloadedImg","isDir","ajaxErrorCallback","xhr","textStatus","errorThrown","responseText","message","getJSON","XMLHttpRequest","onloadend","open","send","writeHTML","cache","beforeElm","leaveBeforeElm","literal","s","insertAdjacentHTML","code","messages","_imports","require","success","type","tag","docKey","title","extensions","ext","imported","element","setAttribute","_callbacks","_importsByType","nextSibling","arg1","count","item","sync","_self","match","flg","se","matches","escaped","and","fallback","d","enableDnD","core","historyAPI","webStorageAPI","scrollPositon","dnd"],"mappings":"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","file":"zaitaku/assets/scripts/pm.js","sourcesContent":["/**\n * scriptタグの挿入\n * @param {String} src: 読み込むスクリプトのURL\n * @param {Boolean} [async=true]: 非同期ON | OFF\n * @param {HTMLElement} [elmTarget]: insertBeforeのターゲット\n * @param {Function} [callback]: コールバック関数\n * @returns\n */\nexport default function importScript(src, ...args) {\n\tif(!src || typeof src !== \"string\") {\n\t\tthrow new TypeError(\"arguments[0] is required and must be string.\");\n\t}\n\t\n\t// ** create DOM. **\n\tconst elmScript = document.createElement(\"script\");\n\telmScript.src = src;\n\t\n\t// callback\n\tif(typeof args.slice(-1)[0] === \"function\") {\n\t\tconst callback = args.pop();\n\t\telmScript.onload = function() {\n\t\t\tcallback(null, this);\n\t\t};\n\t\t\n\t\telmScript.onerror = function() {\n\t\t\tcallback(true, this);\n\t\t};\n\t}\n\t\n\t// async ... default: true\n\tlet async = args[0];\n\t(typeof async === \"boolean\") && args.shift();\n\t(async === false) || (elmScript.async = 1);\n\t\n\t// append to DOM tree\n\tlet elmTarget = args.shift();\n\tif( !elmTarget || !(elmTarget instanceof HTMLElement) ) {\n\t\telmTarget = document.getElementsByTagName(\"script\")[0];\n\t}\n\t\n\telmTarget.parentNode.insertBefore(elmScript, elmTarget);\n\t\n\treturn elmScript;\n}\n","const version = \"3.0.0\";\n\nimport importScript from \"./importScript\";\n\nfunction loadGoogleAnalytics(trackingID, autoSendPageview, callback) {\n\tif(!trackingID || typeof trackingID !== \"string\") {\n\t\treturn false;\n\t}\n\t\n\t// タグの読み込みが完了するまで使用されるものを定義\n\tArray.isArray(window.dataLayer) || (window.dataLayer = []);\n\t\n\tfunction gtag() {\n\t\twindow.dataLayer.push(arguments);\n\t}\n\t\n\tgtag( \"js\", new Date() );\n\t\n\t// ** extend gtag **\n\tgtag.sendPageview = function sendPageview(pagePath) {\n\t\treturn this(\"config\", trackingID, (pagePath && typeof pagePath === \"string\") && {\n\t\t\tpage_path: pagePath\n\t\t});\n\t};\n\t(autoSendPageview !== false) && gtag.sendPageview();\n\t\n\twindow.gtag =\tgtag;\n\t\n\t// 読み込み用スクリプトの挿入\n\tconst canCreateComment = (typeof document.createComment === \"function\");\n\t\n\t// create script & insert DOM tree.\n\tconst elmScript = importScript(\n\t\t`//www.googletagmanager.com/gtag/js?id=${trackingID}`,\n\t\tcallback\n\t);\n\t\n\tif(canCreateComment) {\n\t\tconst commentTag = document.createComment(\" Global site tag (gtag.js) - Google Analytics \");\n\t\telmScript.parentNode.insertBefore(commentTag, elmScript);\n\t}\n\t\n\treturn gtag;\n}\n\nloadGoogleAnalytics._version = version;\n\nexport default loadGoogleAnalytics;\n","const version = \"2.0.0\";\n\nimport importScript from \"./importScript\";\n\nfunction loadGoogleTagManager(gtmID, callback) {\n\tif(!gtmID || typeof gtmID !== \"string\") {\n\t\treturn false;\n\t}\n\t\n\t// タグの読み込みが完了するまで使用されるものを定義\n\tArray.isArray(window.dataLayer) || (window.dataLayer = []);\n\twindow.dataLayer.push({\n\t\t\"gtm.start\": new Date().getTime(),\n\t\t\"event\": \"gtm.js\"\n\t});\n\t\n\t// 読み込み用スクリプトの挿入\n\tconst canCreateComment = (typeof document.createComment === \"function\");\n\t\n\tlet elmTarget = document.getElementsByTagName(\"script\")[0];\n\t\n\tif(canCreateComment) {\n\t\tconst commentTag = document.createComment(\" End Google Tag Manager \");\n\t\telmTarget.parentNode.insertBefore(commentTag, elmTarget);\n\t\telmTarget = commentTag;\n\t}\n\t\n\t// create script & insert DOM tree.\n\tconst elmScript = importScript(\n\t\t`//www.googletagmanager.com/gtm.js?id=${gtmID}`,\n\t\telmTarget,\n\t\tcallback\n\t);\n\t\n\tif(canCreateComment) {\n\t\telmTarget = elmScript;\n\t\tconst commentTag = document.createComment(\" Google Tag Manager \");\n\t\telmScript.parentNode.insertBefore(commentTag, elmScript);\n\t}\n\t\n\treturn true;\n}\n\nloadGoogleTagManager._version = version;\n\nexport default loadGoogleTagManager;\n","import loadGA from \"./src/loadGoogleAnalytics\";\nimport loadGTM from \"./src/loadGoogleTagManager\";\n\nexport default {\n\tloadGA: loadGA._version,\n\tloadGTM: loadGTM._version\n};\n\nexport { loadGA, loadGTM };\n","import { Klass, u_, csl } from \"@pressmedia/webappbase\";\nimport vuwer from \"@pressmedia/vuwer\";\n\nexport default {\n\tfixBottom(vuw) {\n\t\tif( u_.isString(vuw) ) {\n\t\t\tvuw = this.get(vuw);\n\t\t}\n\t\t\n\t\tif( !( vuw instanceof Klass(\"Vuw\") ) ) {\n\t\t\tcsl.warn(\"fixBottom() ... arguments[0] must be vuw address or instance.\");\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tif(!vuw.$self) {\n\t\t\tcsl.warn(`fixBottom() ... ${vuw.getAddress()} has no $element.`);\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t// 親要素を格納\n\t\tvuw.$wrap = vuw.$self.parent();\n\t\t(vuw.$wrap.length > 1) && ( vuw.$wrap = vuw.$wrap.eq(0) );\n\t\t(vuw.$wrap.css(\"position\") === \"static\") && vuw.$wrap.css(\"position\", \"relative\");\n\t\tvuw.$wrap.isBorderBox = (vuw.$wrap.css(\"box-sizing\") === \"border-box\");\n\t\t\n\t\t// スタイル更新関数\n\t\tvuw.setProp({\n\t\t\tupdStyle() {\n\t\t\t\tconst css = {\n\t\t\t\t\t\"min-height\": vuwer.$window.outerHeight() - 1,\n\t\t\t\t\t\"padding-bottom\": this.$self.outerHeight(true)\n\t\t\t\t};\n\t\t\t\tthis.$wrap.isBorderBox || (css[\"min-height\"] -= css[\"padding-bottom\"]);\n\t\t\t\tthis.$wrap.css(css);\n\t\t\t\treturn this;\n\t\t\t}\n\t\t});\n\t\t\n\t\tvuw.updStyle();\n\t\t\n\t\t// for window resize event\n\t\tthis.$window.on(\"resize\", e => {\n\t\t\tclearTimeout(vuw._fixTimer);\n\t\t\tvuw._fixTimer = setTimeout(() => vuw.updStyle(), 100);\n\t\t});\n\t\t\n\t\tvuw.$self.css({\n\t\t\tposition: \"absolute\",\n\t\t\tbottom: 0,\n\t\t\tleft: 0\n\t\t}).addClass(\"fixed-bottom\");\n\t\t\n\t\treturn vuw;\n\t}\n};\n","import $ from \"jquery\";\nimport { csl, u_ } from \"@pressmedia/webappbase\";\nconst { app } = window;\n\nexport default {\n\tonReady($window) {\n\t\t!document.scrollingElement && (document.scrollingElement = document.documentElement);\n\t\t\n\t\t$window\n\t\t.on(\"scroll\", e => {\n\t\t\t!this.scrollStartY && (this.scrollStartY = $window.scrollTop());\n\t\t\t!!this._scrollTimer && clearTimeout(this._scrollTimer);\n\t\t\tthis._scrollTimer = setTimeout(() => {\n\t\t\t\tdelete this.scrollStartY;\n\t\t\t}, 50);\n\t\t})\n\t\t.on(\"resize\", (e , isTrigger) => {\n\t\t\tif( !isTrigger && u_.isNumber(this.scrollStartY) ) {\n\t\t\t\tcsl.log.gray(\"resize cancel because scrolling\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t});\n\t\t\n\t\t// for pop state\n\t\tapp.enablePushState && $window.on(\"popstate\", e => {\n\t\t\tconst state = e.originalEvent.state || {};\n\t\t\t!Object.keys(state).length && Object.assign(\n\t\t\t\tstate,\n\t\t\t\tu_.parseQueryString(location.search)\n\t\t\t);\n\t\t\tcsl.log.blue(\"popstate\", state);\n\t\t\tapp.setUrl();\n\t\t\tapp._GET = Object.assign({}, state);\n\t\t\tstate.popstate = true;\n\t\t\tthis.setState(state);\n\t\t});\n\t\t\n\t\t// for meta\n\t\treturn this._setMeta();\n\t},\n\t\n\t_setMeta() {\n\t\tif(!this.$window) {\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\tconst $head = $(document.head);\n\t\tconst $description = $head.children(\"meta[name='description']\");\n\t\tconst $keywords = $head.children(\"meta[name='keywords']\");\n\t\t\n\t\tlet $canonical = $head.children(\"link[rel='canonical']\");\n\t\tif(!$canonical.length) {\n\t\t\t$canonical = $(\"\").attr({\n\t\t\t\trel: \"canonical\",\n\t\t\t\thref: app.URL\n\t\t\t}).insertBefore( $head.children(\"link\").eq(0) );\n\t\t}\n\t\t\n\t\tlet $robots = $head.children(\"meta[name='robots']\");\n\t\tlet robotsContent = [];\n\t\tif(!$robots.length) {\n\t\t\t$robots = $(\"\").attr({\n\t\t\t\tname: \"robots\",\n\t\t\t}).insertAfter( $head.children(\"meta\").eq(-1) );\n\t\t\t\n\t\t\trobotsContent.push(\"index\");\n\t\t\trobotsContent.push(\"follow\");\n\t\t}\n\t\t\n\t\tif( u_.isObject(app.config.page) ) {\n\t\t\trobotsContent = [\n\t\t\t\t!app.config.page.noindex ? \"index\" : \"noindex\",\n\t\t\t\t!app.config.page.nofollow ? \"follow\" : \"nofollow\"\n\t\t\t];\n\t\t}\n\t\t\n\t\t!!robotsContent.length && $robots.attr({\n\t\t\tcontent: robotsContent.join(\",\")\n\t\t});\n\t\t\n\t\tthis.$head = $head;\n\t\tthis.meta = {\n\t\t\t$description,\n\t\t\t$keywords,\n\t\t\t$canonical,\n\t\t\t$robots\n\t\t}\n\t\t\n\t\treturn this;\n\t}\n};\n","import $ from \"jquery\";\nimport moment from \"moment\";\nimport vuwer from \"@pressmedia/vuwer\";\nconst { app } = window;\n\n// [copyright]\nvuwer.add(\"copyright\", {\n\tselector: \"#copyright\",\n\t\n\tonReady($self) {\n\t\tif($self && app.config.copyright) {\n\t\t\treturn this.setState(\"html\", app.config.copyright);\n\t\t}\n\t},\n\t\n\trender($elm, state) {\n\t\t$elm = $(\"

\").addClass(this.name);\n\t\tif(state.html) {\n\t\t\t$elm.html( $.parseHTML(state.html) );\n\t\t\t\n\t\t\tconst $toYear = $elm.find(\".toyear\");\n\t\t\tif($toYear.length) {\n\t\t\t\tconst nowYear = ( app.now || moment() ).format(\"YYYY\");\n\t\t\t\tconst fromYear = $elm.find(\".fromyear\").text();\n\t\t\t\tif(fromYear === nowYear) {\n\t\t\t\t\t$toYear.remove();\n\t\t\t\t} else {\n\t\t\t\t\t$toYear.text(nowYear);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t\treturn $elm;\n\t\t}\n\t}\n});\n","// **** import modules ****\n// jquery\nimport $ from \"jquery\";\n\n// pm modules\nimport { Klass, u_ } from \"@pressmedia/webappbase\";\nimport vuwer from \"@pressmedia/vuwer\";\n\n\n// **** process ****\n// [loader用Vuwの定義]\n// prototype継承して登録\nvuwer.appendKlass(\"VuwLoader\", {\n\t// \"circle\" | \"bar\"\n\tanimation: \"circle\",\n\t\n\t_initialize() {\n\t\tif( Klass(\"VuwLoader\").parent._initialize.apply(this, arguments) ) {\n\t\t\t// [push onReady callback]\n\t\t\tthis.onReady($self => {\n\t\t\t\tif($self) {\n\t\t\t\t\t$self.addClass(\"vuw-loader\");\n\t\t\t\t\tthis._createProgressBox();\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn this;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t\n\t_createProgressBox() {\n\t\tconst $box = $(\"

\").addClass(\"progress-box\").attr({\n\t\t\t\"data-animation\": this.animation\n\t\t});\n\t\t\n\t\tconst $circle = $(\"
\").addClass(\"progress\");\n\t\t\n\t\tfor(let i = 0; i < 8; i++) {\n\t\t\t$circle.clone().appendTo($box);\n\t\t}\n\t\t\n\t\tthis.$self.empty().append($box);\n\t\t\n\t\treturn this;\n\t},\n\t\n\tshow(cb) {\n\t\tthis.setState(\"visible\", true).then( u_.isFunction(cb) && cb.bind(this) );\n\t\treturn this;\n\t},\n\t\n\thide(cb) {\n\t\tthis.setState(\"visible\", false).then( u_.isFunction(cb) && cb.bind(this) );\n\t\treturn this;\n\t}\n}, \"VuwFade\");\n","import $ from \"jquery\";\nimport { csl, u_ } from \"@pressmedia/webappbase\";\nimport vuwer from \"@pressmedia/vuwer\";\nimport \"../../assets/klass/VuwLoader\";\n\nconst { app } = window;\n\nvuwer.add(\"pageLoader\", {\n\tvuwType: \"loader\",\n\tanimation: \"bar\",\n\t\n\tselector() {\n\t\treturn $(\"
\").addClass(\"page-loader\").appendTo(document.body);\n\t}\n});\n\n// ** extend app **\n!!app && Object.assign(app, {\n\t/**\n\t * ローディング表示 ON\n\t * @param {String} str\n\t * @returns Promise\n\t */\n\tasync showLoading(str) {\n\t\tconst pageLoader = vuwer.get(\"pageLoader\");\n\t\t\n\t\tif( !pageLoader || !u_.isString(str) ) {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tif(pageLoader._loadingBy) {\n\t\t\tcsl.log.gray(` (kick showLoading ${str})`);\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tpageLoader.isReady || await pageLoader.getReady();\n\t\t\n\t\tpageLoader._loadingBy = str;\n\t\tcsl.log.green(`showLoading: ${pageLoader._loadingBy}`);\n\t\treturn pageLoader.show();\n\t},\n\t\n\t/*----------------\n\t* ローディング表示 OFF\n\t* @return Promise\n\t*/\n\t/**\n\t * ローディング表示 OFF\n\t * @param {String} str\n\t * @returns Promise\n\t */\n\thideLoading(str) {\n\t\tconst pageLoader = vuwer.get(\"pageLoader\");\n\t\t\n\t\tif( !pageLoader || !pageLoader._loadingBy || !u_.isString(str) ) {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tif(pageLoader._loadingBy !== str) {\n\t\t\tcsl.log.gray(` (kick hideLoading ${str})`);\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\treturn new Promise(resolve => pageLoader.hide(() => {\n\t\t\tcsl.log.green(`hideLoading: ${pageLoader._loadingBy}`);\n\t\t\tdelete pageLoader._loadingBy;\n\t\t\tresolve();\n\t\t}));\n\t}\n});\n","import $ from \"jquery\";\nimport { Klass, u_, csl } from \"@pressmedia/webappbase\";\n\nKlass.create(\"Vuw\", {\n\t// メンバ変数\n\t$self: false,\n\t$template: false,\n\t\n\t/**\n\t* コンストラクタ\n\t* @param {Object} [opt]: オプション値\n\t*/\n\t_initialize(opt) {\n\t\tlet conf = {\t// 設定項目\n\t\t\t/**\n\t\t\t* インスタンス名\n\t\t\t*/\n\t\t\tname: \"\",\n\t\t\t\n\t\t\t/**\n\t\t\t* selector [string or function]\n\t\t\t* ここで指定したセレクタが、getReady()時に$オブジェクトとして$selfプロパティに格納される\n\t\t\t* (functionを指定する場合は、$オブジェクトを返す様にする)\n\t\t\t* ただし、指定された要素にdata-vuw-template属性が指定されている場合は$templateプロパティ\n\t\t\t* に格納され、body直下のテンプレート配置領域に移動される\n\t\t\t* 元の場所にはが配置される\n\t\t\t*/\n\t\t\tselector: \"\",\n\t\t\t\n\t\t\t/**\n\t\t\t* template生成関数\n\t\t\t* $オブジェクトを返す様にすると、getReady実行後に$templateプロパティに格納される\n\t\t\t*/\n\t\t\tcreateTemplate() {},\n\t\t\t\n\t\t\t/**\n\t\t\t* DOM操作準備関数のコールバック\n\t\t\t* ※非同期対応可\n\t\t\t*/\n\t\t\tonReady($self) {},\n\t\t\t\n\t\t\t// DOM操作準備関数のコールバック(必ず最初に実行される) ※非同期対応可\n\t\t\tonReadyFirst($self) {},\n\t\t\t// DOM操作準備関数のコールバック(必ず最後に実行される) ※非同期対応可\n\t\t\tonReadyLast($self) {},\n\t\t\t\n\t\t\t/**\n\t\t\t* 状態が変化した際のコールバック\n\t\t\t* ※非同期対応可\n\t\t\t*/\n\t\t\tonChangeState($self) {},\n\t\t\t\n\t\t\t/**\n\t\t\t* DOM更新用関数\n\t\t\t* $instanceかHTMLElementをreturnすると、selectorで指定した要素($self)が置き換わる\n\t\t\t* 状態が変化した際(上記onChangeState後)に実行される\n\t\t\t* ※非同期対応不可\n\t\t\t* @param {$ instance} $templateClone: $templateから生成したクローン\n\t\t\t*/\n\t\t\trender($templateClone) {},\n\t\t\t\n\t\t\t/**\n\t\t\t* renderの完了コールバック\n\t\t\t* @param {$ instance | HTMLElement} renderedElm: render関数で返されたデータ\n\t\t\t*/\n\t\t\trenderComplete: function(renderedElm) {}\n\t\t};\n\t\t\n\t\tconf = u_.isObject(opt) ? opt : {};\n\t\t\n\t\t// nameが未指定の場合は現在時間から生成\n\t\t!conf.name && ( conf.name = String( ( new Date() ).valueOf() ) );\n\t\t\n\t\tthis.isReady = false;\n\t\tthis.state = {};\t\t// 状態オブジェクト\n\t\tthis._onReadyCallbacks = [];\t\t// onReady用\n\t\tthis._onChangeStateCallbacks = [];\t\t// onChangeState用\n\t\tthis._stateBooked = {};\t\t// _bookState用\n\t\tthis._stateBookedCBs = [];\t\t// _bookState用\n\t\t\n\t\treturn this.setProp(conf);\n\t},\n\t\n\t/**\n\t* 自要素のゲッター\n\t* @param {string} k: プロパティ名\n\t*/\n\tgetProp(k) {\n\t\treturn u_.hasProperty(this, k) ? this[k] : undefined;\n\t},\n\t\n\t/**\n\t* 自要素のセッター\n\t* ※第1引数:kがobjectの場合、第2引数をisOverrideとみなします\n\t* @param {String | Object} k: objectの場合は自身にマージされる\n\t* @param {mixed} v: kがstringの場合、値として登録される\n\t* @param {Boolean} [isOverride=false]: trueの場合、既に存在していた場合に上書きを行う\n\t* @return this\n\t*/\n\tsetProp(k, v, isOverride) {\n\t\tif(k) {\n\t\t\tif( u_.isString(k) ) {\n\t\t\t\tif( u_.hasProperty(this, k) && !isOverride ) {\n\t\t\t\t\tcsl.warn((this.name || \"Vuw\") + \".setProp() ... '\" + k + \"' is already defined.\");\n\t\t\t\t} else {\n\t\t\t\t\tthis[k] = v;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else\n\t\t\tif( u_.isObject(k) ) {\n\t\t\t\tisOverride = (v === true);\n\t\t\t\t\n\t\t\t\t// 第1引数にobjectが指定された場合、onReadyとonChangeStateは上書きではなく追加とする\n\t\t\t\tif(k.onReady) {\n\t\t\t\t\tthis.onReady(k.onReady);\n\t\t\t\t\tdelete k.onReady;\n\t\t\t\t}\n\t\t\t\tif(k.onChangeState) {\n\t\t\t\t\tthis.onChangeState(k.onChangeState);\n\t\t\t\t\tdelete k.onChangeState;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tObject.keys(k).forEach(prop => {\n\t\t\t\t\tthis.setProp(prop, k[prop], isOverride);\n\t\t\t\t});\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\tcsl.warn((this.name || \"Vuw\") + \".setProp() ... arguments[0] is required.\");\n\t\t}\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* テンプレート退避領域の登録先\n\t*/\n\t_templateAreaPropTo: \"_tmp\",\n\t\n\t/**\n\t* テンプレート退避領域の取得\n\t* @param {Boolean} [as$]: falseの場合にHTMLElementとして返す\n\t* @return {$object | HTMLElement}\n\t*/\n\tgetTemplateArea(as$) {\n\t\tif(!Klass(\"Vuw\")._$templateArea) {\n\t\t\t// [create _$templateArea]\n\t\t\tKlass(\"Vuw\")._$templateArea = $(\"
\").addClass(\"vuw-template-area\").hide()\n\t\t\t.appendTo(document.body);\n\t\t}\n\t\treturn (as$ === false) ? Klass(\"Vuw\")._$templateArea.get(0) : Klass(\"Vuw\")._$templateArea;\n\t},\n\t\n\t/**\n\t* DOM操作準備完了コールバック\n\t* (documentの読み込み後に実行すること)\n\t* @return {Promise}\n\t*/\n\tasync getReady() {\n\t\tif(this.isReady) {\n\t\t\tcsl.log(\"** \" + this.name + \".getReady() is already executed.\");\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tif(this.isGettingReady) {\n\t\t\tcsl.log(\"** \" + this.name + \" is getting ready now...\");\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tthis.isGettingReady = true;\n\t\t\n\t\t// selectorから$selfないし$templateを生成\n\t\tif(this.selector) {\n\t\t\tlet $elm;\n\t\t\tif( u_.isString(this.selector) ) {\n\t\t\t\t$elm = $(this.selector);\n\t\t\t} else\n\t\t\tif( u_.isFunction(this.selector) ) {\n\t\t\t\t$elm = this.selector.call(this);\n\t\t\t}\n\t\t\t\n\t\t\tif($elm && $elm instanceof $ && $elm.length) {\n\t\t\t\tif( $elm.attr(\"data-vuw-template\") !== undefined ) {\n\t\t\t\t\t// data-vuw-template属性がある場合はテンプレートとみなし、$templateプロパティに格納\n\t\t\t\t\tthis.$template = $elm;\n\t\t\t\t\t// 代替要素を配置し、$selfプロパティに格納\n\t\t\t\t\t$elm = $(\"\").attr(\"data-vuw\", this.name).insertBefore(this.$template);\n\t\t\t\t\tthis.$self = $elm;\n\t\t\t\t} else {\n\t\t\t\t\t// $selfプロパティに格納\n\t\t\t\t\tthis.$self = $elm;\n\t\t\t\t\t// イベントのコールバック等で使用できる様に$.dataに自身を登録\n\t\t\t\t\t$.data(this.$self.get(0), \"vuw\", this);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\t// createTemplateが指定されてされている場合、実行して$templateを生成\n\t\tif( u_.isFunction(this.createTemplate) ) {\n\t\t\tlet $elm;\n\t\t\t$elm = this.createTemplate.call(this);\n\t\t\tif($elm && $elm instanceof $ && $elm.length) {\n\t\t\t\tthis.$template = $elm;\n\t\t\t}\n\t\t}\n\t\t\n\t\t// $templateが生成されている場合、body直下の専用領域に退避する\n\t\tif(this.$template) {\n\t\t\t!!this.$template.attr(\"id\") && this.$template.attr({\n\t\t\t\t\"data-id\": this.$template.attr(\"id\"),\n\t\t\t\t\"id\": null\n\t\t\t});\n\t\t\tthis.$template.appendTo( this.getTemplateArea() );\n\t\t}\n\t\t\n\t\t// isReady -> ON\n\t\tthis.isReady = true;\n\t\t\n\t\tconst rtn = [];\n\t\t\n\t\tif( u_.isFunction(this.onReadyFirst) ) {\n\t\t\t// execute onReadyFirst\n\t\t\tconst res = await this.onReadyFirst(this.$self, this.$template);\n\t\t\trtn.push(res);\n\t\t}\n\t\t\n\t\t// コールバックの実行\n\t\tconst methods = this._onReadyCallbacks.map(fn => {\n\t\t\treturn fn.call(this, this.$self, this.$template);\n\t\t});\n\t\t\n\t\tif(methods.length) {\n\t\t\tconst res = await Promise.all(methods);\n\t\t\trtn.push(...res);\n\t\t}\n\t\t\n\t\tif( u_.isFunction(this.onReadyLast) ) {\n\t\t\t// execute onReadyLast\n\t\t\tconst res = await this.onReadyLast(this.$self, this.$template);\n\t\t\trtn.push(res);\n\t\t}\n\t\t\n\t\tdelete this.isGettingReady;\n\t\t\n\t\treturn rtn;\n\t},\n\t\n\t/**\n\t* DOM操作準備関数のコールバック登録関数\n\t* @return this\n\t*/\n\tonReady(fn) {\n\t\tif( u_.isFunction(fn) ) {\n\t\t\tif(this.isReady) {\n\t\t\t\tfn.call(this, this.$self, this.$template);\n\t\t\t} else {\n\t\t\t\tthis._onReadyCallbacks.push(fn);\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* 状態オブジェクトのゲッター\n\t* @param {String} [k]: キー\n\t* @return {mixed} キーに紐付いた値\n\t*/\n\tgetState(k) {\n\t\tif(!this.isReady) {\n\t\t\tcsl.warn(this.name + \".getState() ... getReady() didn't execute yet.\");\n\t\t\treturn false;\n\t\t} else\n\t\tif( k && u_.isString(k) ) {\n\t\t\treturn this.state[k];\n\t\t} else {\n\t\t\treturn this.state;\n\t\t}\n\t},\n\t\n\t/**\n\t* 状態オブジェクトのセッター\n\t* (changeStateが実行された後、$selfにchangeイベントがトリガーされます)\n\t* @param {String | Object} k: objectの場合は元のデータに置換される\n\t* @param {mixed} v: kがstringの場合、値として登録される\n\t* @return {Promise}\n\t*/\n\tasync setState(k, v) {\n\t\tif(!this.isReady) {\n\t\t\tconst err = `${this.name}.setState() ... getReady() didn't execute yet.`;\n\t\t\tcsl.warn(err);\n\t\t\tthrow new Error(err);\n\t\t}\n\t\t\n\t\tif(!k) {\n\t\t\tconst err = `${this.name}.setState() ... arguments[0] is required.`;\n\t\t\tcsl.warn(err);\n\t\t\tthrow new Error(err);\n\t\t}\n\t\t\n\t\tlet state = { ...this.state };\n\t\t\n\t\tif( u_.isString(k) ) {\n\t\t\tif(this.isChangingState) {\n\t\t\t\t// [book]\n\t\t\t\tconst nextState = {};\n\t\t\t\tnextState[k] = v;\n\t\t\t\treturn new Promise(resolve => this._bookState(nextState, resolve));\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t// [state change]\n\t\t\t\tstate[k] = v;\n\t\t\t}\n\t\t} else\n\t\tif( u_.isObject(k) ) {\n\t\t\tif(this.isChangingState) {\n\t\t\t\t// [book]\n\t\t\t\treturn new Promise(resolve => this._bookState(k, resolve));\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t// [state change]\n\t\t\t\tstate = k;\n\t\t\t}\n\t\t} else {\n\t\t\tconst err = `${this.name}.setState() ... arguments error.`;\n\t\t\tcsl.warn(err);\n\t\t\tthrow new Error(err);\n\t\t}\n\t\t\n\t\t// call changeState\n\t\tconst res = await this.changeState(state);\n\t\t\n\t\treturn new Promise(resolve => {\n\t\t\tresolve(res);\n\t\t\t!!this.$self && this.$self.trigger(\"changeState\");\n\t\t\t\n\t\t\t// apply booked (if it has.)\n\t\t\tthis._setStateBooked();\n\t\t});\n\t},\n\t\n\t/**\n\t* 状態が変化の予約関数(setState()でisChangingState: trueの場合に実行される)\n\t* @return this\n\t*/\n\t_bookState(state, cb) {\n\t\tObject.assign(this._stateBooked, state);\n\t\tthis._stateBookedCBs.push(cb);\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* 状態変化の予約用コールバックの実行関数\n\t* @return {Promise}\n\t*/\n\tasync _setStateBooked() {\n\t\tif( !Object.keys(this._stateBooked).length ) {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tconst stateBooked = { ...this._stateBooked };\n\t\tthis._stateBooked = {};\n\t\tawait this.setState(stateBooked);\n\t\t\n\t\tcsl.log.gray(`${this.name} ... set booked state`, {\n\t\t\tCB_count: this._stateBookedCBs.length,\n\t\t\t...stateBooked\n\t\t});\n\t\t\n\t\tconst len = this._stateBookedCBs.length;\n\t\tif(len) {\n\t\t\tfor(let i = 0; i < len; i++) {\n\t\t\t\tthis._stateBookedCBs[i]();\n\t\t\t}\n\t\t\tthis._stateBookedCBs = [];\n\t\t}\n\t\t\n\t\treturn true;\n\t},\n\t\n\t/**\n\t* 状態が変化した際に呼び出される関数\n\t* @return {Promise}\n\t*/\n\tasync changeState(state) {\n\t\tif( !u_.isObject(state) ) {\n\t\t\tthrow new TypeError(\"state must be object.\");\n\t\t}\n\t\t\n\t\tthis.isChangingState = true;\n\t\t\n\t\t// コールバックの実行\n\t\tconst methods = this._onChangeStateCallbacks.map(fn => {\n\t\t\treturn fn.call(this, state);\n\t\t});\n\t\t\n\t\ttry {\n\t\t\tconst res = await Promise.all(methods);\n\t\t\t\n\t\t\tthis.state = state;\n\t\t\tconst renderedElm = this._execRender(...res);\n\t\t\t\n\t\t\tthis.isChangingState = false;\n\t\t\treturn renderedElm;\n\t\t\t\n\t\t} catch(e) {\n\t\t\tthis.isChangingState = false;\n\t\t\tthrow new Error(e);\n\t\t}\n\t},\n\t\n\t/**\n\t* 状態が変化した際のコールバック登録関数\n\t* @return this\n\t*/\n\tonChangeState(fn) {\n\t\tu_.isFunction(fn) && this._onChangeStateCallbacks.push(fn);\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* $templateからcloneを生成して返す\n\t* @return {$object}\n\t*/\n\tgetCloneFromTemplate() {\n\t\tlet $clone = false;\n\t\tif(this.$template) {\n\t\t\t$clone = this.$template.clone().attr({\n\t\t\t\t\"id\": this.$template.attr(\"data-id\") || null,\n\t\t\t\t\"data-id\": null,\n\t\t\t\t\"data-vuw-template\": null\n\t\t\t}).removeClass(\"template\");\n\t\t}\n\t\treturn $clone;\n\t},\n\t\n\t/**\n\t* renderの実行関数\n\t* @return {Promise}\n\t*/\n\t_execRender(...args) {\n\t\targs.unshift( this.state );\n\t\targs.unshift( this.getCloneFromTemplate() );\n\t\t\n\t\tlet renderedElm = this.render.apply(this, args);\n\t\t\n\t\tif(this.$self && renderedElm) {\n\t\t\t// render()の戻り値でDOM要素を更新\n\t\t\tif( !(renderedElm instanceof $) && (\n\t\t\t\tu_.isElement(renderedElm) || u_.isString(renderedElm)\n\t\t\t) ) {\n\t\t\t\trenderedElm = $(renderedElm);\n\t\t\t}\n\t\t\t\n\t\t\tif(renderedElm instanceof $ && renderedElm.length) {\n\t\t\t\tthis.$self.replaceWith(renderedElm);\n\t\t\t\tthis.$self = renderedElm;\n\t\t\t\t$.data(this.$self.get(0), \"vuw\", this);\n\t\t\t\t\n\t\t\t\t// 完了コールバックの実行\n\t\t\t\tu_.isFunction(this.renderComplete) && this.renderComplete(renderedElm);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn renderedElm;\n\t},\n\t\n\t/**\n\t* DOM更新用関数\n\t* 状態が変化した際(上記setState後)に実行される\n\t* returnで$elementを返すと$selfと置き換わる\n\t* @param {$object} $templateClone: $templateから生成したクローン\n\t*/\n\trender($templateClone, state) {},\n\t\n\t/**\n\t* renderの完了コールバック\n\t* @param {$object | HTMLElement} renderedElm: render関数で返されたデータ\n\t*/\n\trenderComplete(renderedElm) {}\n});\n","import $ from \"jquery\";\nimport { Klass, u_, csl } from \"@pressmedia/webappbase\";\nimport \"./klass.Vuw\";\n\nconst vuwer = Klass.new_(\"Vuw\", {\n\tname: \"vuwer\",\n\tselector() {\n\t\treturn $(window);\n\t},\n\t\n\t_vuwMap: {},\n\tchildKlass: \"VuwerComponent\",\n\t\n\t/**\n\t * add関数で追加されたVuwのgetReady関数を実行する\n\t * @returns {Promise}\n\t */\n\tasync _getComponentsReady() {\n\t\tconst res = await Promise.all( Object.keys(this._vuwMap).map(name => {\n\t\t\tconst vuw = this._vuwMap[name];\n\t\t\tif(vuw instanceof Klass(this.childKlass) && !vuw.isReady) {\n\t\t\t\treturn vuw.getReady();\n\t\t\t}\n\t\t}) );\n\t\t\n\t\tconst names = Object.keys(this._vuwMap);\n\t\tconst rtn = {};\n\t\t\n\t\t// 各getReady()内でresolveによって渡された値を戻り値に格納\n\t\tres.forEach((res, i) => {\n\t\t\tif( Array.isArray(res) ) {\n\t\t\t\tres = res.filter(arg => {\n\t\t\t\t\treturn !!arg &&\n\t\t\t\t\t\t(!u_.isObject(arg) || Object.keys(arg).length) &&\n\t\t\t\t\t\t(!Array.isArray(arg) || arg.length);\n\t\t\t\t});\n\t\t\t\t!res.length && (res = undefined);\n\t\t\t}\n\t\t\t\n\t\t\t(res === undefined) || (rtn[ names[i] ] = res);\n\t\t});\n\t\t\n\t\treturn rtn;\n\t},\n\t\n\t/**\n\t * DOM操作の準備完了コールバック\n\t * @param {$object} $self\n\t * @returns {Promise}\n\t */\n\tonReady($self) {\n\t\tthis.$window = $self;\n\t\treturn this._getComponentsReady();\n\t},\n\t\n\t/**\n\t * 子Vuwの追加関数\n\t * @param {String} name: Vuwの名称 (optがVuwインスタンスの場合はvuwerへの登録名)\n\t * @param {Object | Vuw instance} [opt]: Vuwコンストラクタのオプション | childKlassで指定したKlassのインスタンス\n\t * @param {Function} [callback]: 追加したVuwに対する処理(this = 追加したVuw)※非同期非対応\n\t * @param {Boolean} [isOverride=false]: true->既に存在していた場合に上書きを行う\n\t * @return this\n\t */\n\tadd(name, opt, callback, isOverride) {\n\t\t// 第3引数がbooleanの場合の処理\n\t\t(typeof callback === \"boolean\") && (isOverride = callback);\n\t\t\n\t\tif( !u_.isString(name) ) {\n\t\t\tcsl.warn.red(`${this.name}.add() ... arguments[0] is must be string.`, typeof name);\n\t\t\treturn this;\n\t\t}\n\t\tif(name in this._vuwMap && !isOverride) {\n\t\t\tcsl.warn(`${this.name}.add() ... '${name}' is already defined.`);\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\tlet vuw;\n\t\t\n\t\tif( u_.isObject(opt) ) {\n\t\t\tif( opt instanceof Klass(this.childKlass) ) {\n\t\t\t\t// 第2引数がVuwインスタンスの場合\n\t\t\t\tvuw = opt;\n\t\t\t\tif( vuw.container instanceof Klass(\"Vuw\") ) {\n\t\t\t\t\t// コンテナに紐付いている場合は外す\n\t\t\t\t\tdelete vuw.container._vuwMap[vuw.name];\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\topt = {};\n\t\t}\n\t\t\n\t\tObject.assign(opt, {\n\t\t\tname: name,\n\t\t\tcontainer: this\n\t\t});\n\t\t\n\t\tif(!vuw) {\n\t\t\tlet klass;\n\t\t\tif( opt.vuwType && u_.isString(opt.vuwType) ) {\n\t\t\t\tklass = `Vuw${opt.vuwType.slice(0, 1).toUpperCase()}${opt.vuwType.slice(1)}`;\n\t\t\t\tif( !u_.isFunction( Klass(klass) ) ) {\n\t\t\t\t\tklass = this.childKlass;\n\t\t\t\t\topt.vuwType = \"component\";\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tklass = this.childKlass;\n\t\t\t\topt.vuwType = \"component\";\n\t\t\t}\n\t\t\t\n\t\t\tvuw = Klass.new_(klass, opt);\n\t\t}\n\t\t\n\t\tthis._vuwMap[name] = vuw;\n\t\t\n\t\tu_.isFunction(callback) && callback.call(vuw);\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 子Vuwの取得関数\n\t * @param {String} name: Vuwの名称 | アドレス\n\t * @return Vuw instance | false\n\t */\n\tget(name) {\n\t\tlet rtn = false;\n\t\tif( !u_.isString(name) ) {\n\t\t\tcsl.warn(`${this.name}.get() ... arguments[0] is must be string.`, typeof name);\n\t\t\treturn rtn;\n\t\t}\n\t\t\n\t\trtn = this._vuwMap[name] || false;\n\t\t\n\t\tif( !rtn && (/\\./).test(name) ) {\n\t\t\t// 引数にアドレスを指定した場合\n\t\t\tconst arr = name.split(\".\");\n\t\t\trtn = this._vuwMap[ arr.pop() ] || false;\n\t\t\tfor(let i = arr.length - 1; i >= 0; i--) {\n\t\t\t\tif(rtn) {\n\t\t\t\t\tif(rtn._vuwMap) {\n\t\t\t\t\t\trtn = rtn._vuwMap[ arr[i] ] || false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\trtn = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn rtn;\n\t},\n\t\n\t/**\n\t * 子Vuwリストの取得関数\n\t * @return {Array}\n\t */\n\tgetChildren() {\n\t\tconst list = Object.keys(this._vuwMap).map(k => {\n\t\t\treturn this._vuwMap[k];\n\t\t});\n\t\tlist.get = function(idx) {\n\t\t\tif( u_.isNumber(idx) ) {\n\t\t\t\t(idx < 0) && (idx = this.length + idx);\n\t\t\t\treturn this[idx] || false;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t};\n\t\treturn list;\n\t},\n\t\n\t/**\n\t * 末端階層まで対象にしたVuwリストの取得関数\n\t * @param {String} name:Vuwインスタンスのname\n\t * @return {Array}\n\t */\n\tfind(name) {\n\t\tlet list = [];\n\t\tthis.getChildren().forEach(vuw => {\n\t\t\t(vuw.name === name) && list.push(vuw);\n\t\t\tlist = list.concat( vuwer.find.call(vuw, name) );\n\t\t});\n\t\tlist.get = function(idx) {\n\t\t\tif( u_.isNumber(idx) ) {\n\t\t\t\t(idx < 0) && (idx = this.length + idx);\n\t\t\t\treturn this[idx] || false;\n\t\t\t} else {\n\t\t\t\treturn this;\n\t\t\t}\n\t\t};\n\t\treturn list;\n\t},\n\t\n\t/**\n\t * 子Vuwの削除関数\n\t * @param {String} name: Vuwインスタンスのname\n\t * @return this\n\t */\n\tremove(name) {\n\t\tif( !u_.isString(name) ) {\n\t\t\tcsl.warn(`${this.name}.remove() ... arguments[0] is must be string.`, typeof name);\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\tconst vuw = this.get(name);\n\t\tif(!vuw) {\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t(vuw.$self && vuw.$self.length) && vuw.$self.remove();\n\t\t(vuw.$template && vuw.$template.length) && vuw.$template.remove();\n\t\tvuw.isRemoved = true;\n\t\tdelete this._vuwMap[name];\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 全ての子Vuwの削除関数\n\t * @param {String} name: Vuwインスタンスのname\n\t * @return this\n\t */\n\tremoveChildren() {\n\t\tthis.getChildren().forEach(vuw => this.remove(vuw.name));\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * Class 継承用関数\n\t * @param {String} name: 継承先の登録名称\n\t * @param {Object} [prop]: 継承先のプロパティ\n\t * @param {String | function} [parent]: 継承元の名称 | 継承元Class\n\t * @return this\n\t */\n\tappendKlass(name, prop, parent) {\n\t\tif( !u_.isString(name) ) {\n\t\t\tcsl.warn.red(`${this.name}.appendKlass() ... arguments[0] is must be string.`, typeof name);\n\t\t\treturn this;\n\t\t} else\n\t\tif( Klass(name) ) {\n\t\t\tcsl.warn.red(`${this.name}.appendKlass() ... '${name}' is already defined.`);\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\tif( u_.isString(parent) ) {\n\t\t\tif( !u_.isFunction( Klass(parent) ) ) {\n\t\t\t\tcsl.warn(`${this.name}.appendKlass() ... '${parent}' is undefined.`);\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} else {\n\t\t\t// default\n\t\t\tif( !u_.isFunction( Klass(this.childKlass) ) ) {\n\t\t\t\tcsl.warn(`${this.name}.appendKlass() ... '${this.childKlass}' is undefined.`);\n\t\t\t\treturn this;\n\t\t\t}\n\t\t\tparent = this.childKlass;\n\t\t}\n\t\t\n\t\tKlass.create(name).extends_(parent, prop);\n\t\treturn this;\n\t}\n});\n\nexport default vuwer;\n","import $ from \"jquery\";\nimport { Klass, u_, csl } from \"@pressmedia/webappbase\";\nimport vuwer from \"./vuwer\";\n\nvuwer\n/*************************************\n* define VuwerComponent (extends Vuw) *\n*************************************/\n// prototype継承して登録\n.appendKlass(\"VuwerComponent\", {\n\tchildKlass: \"VuwerComponent\",\n\t\n\t/**\n\t * コンストラクタ\n\t * @param {Object} [opt]: オプション値\n\t * @returns this | false\n\t */\n\t_initialize(opt) {\n\t\tif( Klass(\"VuwerComponent\").parent._initialize.call(this, opt) ) {\n\t\t\tif(!this.childKlass) {\n\t\t\t\tcsl.warn(\"VuwerComponent._initialize() ... 'childKlass' is required prop.\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\tif( !u_.isString(this.childKlass) || !Klass(this.childKlass) ) {\n\t\t\t\tcsl.warn(\"VuwerComponent._initialize() ... 'childKlass' is must be Klass.\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\tthis._vuwMap = {};\n\t\t\t\n\t\t\t// [push onReady callback]\n\t\t\tthis.onReady( vuwer._getComponentsReady.bind(this) );\n\t\t\treturn this;\n\t\t\t\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t\n\t/**\n\t * 子Vuwの追加関数\n\t * @param {String} name: Vuwの名称 (optがVuwインスタンスの場合はvuwerへの登録名)\n\t * @param {Object | Vuw instance} [opt]: Vuwコンストラクタのオプション | childKlassで指定したKlassのインスタンス\n\t * @param {Function} [callback]: 追加したVuwに対する処理(this = 追加したVuw)※非同期非対応\n\t * @param {Boolean} [isOverride=false]: true->既に存在していた場合に上書きを行う\n\t * @return this\n\t */\n\tadd(name) {\n\t\tvuwer.add.apply( this, u_.getAsArray(arguments) );\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 子Vuwの取得関数\n\t * @param {String} name: Vuwの名称 | アドレス\n\t * @return Vuw instance | false\n\t */\n\tget(name) {\n\t\treturn vuwer.get.call(this, name);\n\t},\n\t\n\t/**\n\t * 子Vuwリストの取得関数\n\t * @return {Array}\n\t */\n\tgetChildren() {\n\t\treturn vuwer.getChildren.call(this);\n\t},\n\t\n\t/**\n\t * 末端階層まで対象にしたVuwリストの取得関数\n\t * @param {String} name:Vuwインスタンスのname\n\t * @return {Array}\n\t */\n\tfind(name) {\n\t\treturn vuwer.find.call(this, name);\n\t},\n\t\n\t/**\n\t * 子Vuwの削除関数\n\t * @param {String} name:Vuwインスタンスのname\n\t * @return this\n\t */\n\tremove(name) {\n\t\tconst targetVuw = this.get(name);\n\t\tif(targetVuw) {\n\t\t\ttargetVuw.getChildren().forEach(vuw => targetVuw.remove(vuw.name));\n\t\t\tvuwer.remove.call(this, name);\n\t\t}\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 全ての子Vuwの削除関数\n\t * @param {String} name: Vuwインスタンスのname\n\t * @return this\n\t */\n\tremoveChildren() {\n\t\treturn vuwer.removeChildren.call(this);\n\t},\n\t\n\t/**\n\t * vuwerに登録されている他のvuwを取得\n\t * @param {String} name: Vuwの名称 | アドレス\n\t * @return Vuw instance\n\t */\n\tgetOther(name) {\n\t\treturn this.container.get(name);\n\t},\n\t\n\t/**\n\t* vuwerからのアドレスを取得\n\t* @return string\n\t*/\n\tgetAddress() {\n\t\tconst addr = !arguments.length ? [] : arguments[0];\n\t\taddr.push(this.name);\n\t\tif(this.container && this.container.getAddress) {\n\t\t\treturn this.container.getAddress(addr);\n\t\t} else {\n\t\t\t// getAddressを持たないcontainer === vuwer\n\t\t\treturn addr.join(\".\");\n\t\t}\n\t},\n\t\n\t/**\n\t* $templateからcloneを生成して返す\n\t* ($templat内部に[data-vuw]プロパティを持つ要素が存在した場合に\n\t* 対象のVuwのstateの書き換えを行う)\n\t* @return $clone\n\t*/\n\tgetCloneFromTemplate() {\n\t\tconst $clone = Klass(\"Vuw\").prototype.getCloneFromTemplate.call(this);\n\t\t\n\t\tif($clone) {\n\t\t\t$clone.find(\"[data-vuw]\").each((i, elm) => {\n\t\t\t\tconst $elm = $(elm);\n\t\t\t\tconst vuwName = $elm.data(\"vuw\");\n\t\t\t\tconst vuw = this.get(vuwName);\n\t\t\t\t\n\t\t\t\tif(vuw) {\n\t\t\t\t\tvuw.setProp(\"$self\", $elm, true);\n\t\t\t\t\tconst state = this.getState(vuwName);\n\t\t\t\t\tu_.isObject(state) && vuw.setState(state);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\treturn $clone;\n\t}\n}, \"Vuw\");\n","import { Klass, csl } from \"@pressmedia/webappbase\";\nimport vuwer from \"./vuwer\";\nimport \"./klass.VuwerComponent\";\n\nvuwer\n/******************************************\n* define VuwFade (extends VuwerComponent) *\n******************************************/\n// prototype継承して登録\n.appendKlass(\"VuwFade\", {\n\tdelay: 0,\n\t\n\t/**\n\t* コンストラクタ\n\t* @param {Object} [opt]: オプション値\n\t*/\n\t_initialize(opt) {\n\t\tif( Klass(\"VuwFade\").parent._initialize.call(this, opt) ) {\n\t\t\t// [unshift onReady callback]\n\t\t\tthis._onReadyCallbacks.unshift(this._onReadyDefault);\n\t\t\t\n\t\t\t// [unshift onChangeState callback]\n\t\t\tthis._onChangeStateCallbacks.unshift(this._onChangeVisible);\n\t\t\treturn this;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t},\n\t\n\t/**\n\t * DOM操作の準備完了コールバック\n\t * @param {$object} $self\n\t * @returns this\n\t */\n\t_onReadyDefault($self) {\n\t\tif($self) {\n\t\t\tif( (\"absolute_fixed\").indexOf( $self.css(\"position\") ) >= 0 ) {\n\t\t\t\tthis.orgHeight = $self.height();\n\t\t\t}\n\t\t\t\n\t\t\t$self.addClass(\"vuw-fade\").attr(\"data-visible\", $self.attr(\"data-visible\") || \"0\");\n\t\t\tconst delay = parseFloat( $self.css(\"transition-duration\") );\n\t\t\tif( isNaN(delay) ) {\n\t\t\t\t$self.css(\"transition-duration\", `${String(this.delay / 1000)}s`);\n\t\t\t} else {\n\t\t\t\tthis.delay += delay * 1000;\n\t\t\t}\n\t\t\t\n\t\t\t// VuwFadeが連続する場合は親ブロックにvuw-fade-containerクラスを付与\n\t\t\t!!$self.prev(\".vuw-fade\").length && $self.parent().addClass(\"vuw-fade-container\");\n\t\t}\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 表示ON/OFFの切り替え\n\t * @param {Object} state\n\t * @returns {Promise}\n\t */\n\t_onChangeVisible(state) {\n\t\tconst\n\t\t\tcuVisible = !!this.state.visible,\n\t\t\ttoVisible = !!state.visible;\n\t\t\n\t\tif(toVisible !== cuVisible) {\n\t\t\t// visibleが変更になった場合のみ処理を行う\n\t\t\t\n\t\t\tif(!this.$self) {\n\t\t\t\tcsl.log.red(\" \" + this.name + \".onChangeState\", \"$self is false.\");\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\t\n\t\t\treturn new Promise(resolve => {\n\t\t\t\t// CSSアニメーション様に処理をずらす\n\t\t\t\t!!this.orgHeight && this.$self.css(\"height\", this.orgHeight);\n\t\t\t\t// [show or clear]\n\t\t\t\tthis.$self.attr(\"data-visible\", toVisible ? \"1\" : \"\");\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t// [hide]\n\t\t\t\t\ttoVisible || this.$self.attr(\"data-visible\", \"0\");\n\t\t\t\t\t!!this.orgHeight && this.$self.css(\"height\", \"\");\n\t\t\t\t\tresolve();\n\t\t\t\t}, this.delay);\n\t\t\t});\n\t\t}\n\t}\n}, \"VuwerComponent\");\n","import { Klass, csl } from \"@pressmedia/webappbase\";\nimport vuwer from \"./vuwer\";\nimport \"./klass.VuwerComponent\";\nimport \"./klass.VuwFade\";\n\nconst version = {\n\t_ver: \"2.2.0\",\n\t\n\t/**\n\t * バージョン情報を取得\n\t * @returns {String}\n\t */\n\tgetVersion() {\n\t\treturn this._ver;\n\t},\n};\n\nObject.assign(Klass(\"Vuw\"), version);\n\ncsl.log.grey(`** vuwer (Vuw version:${Klass(\"Vuw\").getVersion()}) **`);\n\nexport default vuwer;\n","import { u_ } from \"@pressmedia/webappbase\";\nimport DOMReadyPromise from \"./DOMReadyPromise\";\n\nexport default {\n\tisReady: false,\n\tshowLoading(methodName) {},\n\thideLoading(methodName) {},\n\t\n\t// [exec関数実行時コールバック(document onready後にコールされます)]\n\tonExec: null,\n\t\n\t// [onReadyで登録された関数の完了コールバック]\n\tafterExec: null,\n\t\n\t/**\n\t * exec実行時のコールバックを登録\n\t * ※onExec後に並列実行されます\n\t * @param {Funciton} fn\n\t * @returns this\n\t */\n\tonReady(fn) {\n\t\tu_.isFunction(fn) && this._execCallbacks.push(fn);\n\t\treturn this;\n\t},\n\t\n\t// onReady用配列\n\t_execCallbacks: [],\n\t\n\t/**\n\t * アプリケーションの実行\n\t * @returns promise\n\t */\n\tasync exec() {\n\t\tconst methodName = \"exec\";\n\t\tlet rtn;\n\t\t\n\t\ttry {\n\t\t\tconst readyState = await DOMReadyPromise();\n\t\t\tlet res = await Promise.all([\n\t\t\t\tu_.isFunction(this.showLoading) && this.showLoading(methodName)\n\t\t\t]);\n\t\t\t\n\t\t\t// onExecの実行\n\t\t\tres = await Promise.all([\n\t\t\t\tu_.isFunction(this.onExec) && this.onExec(null, readyState, ...res)\n\t\t\t]);\n\t\t\t\n\t\t\t// onReadyで登録されたコールバックの実行\n\t\t\tres = await Promise.all(\n\t\t\t\tthis._execCallbacks.map(fn => fn.apply(this, res))\n\t\t\t);\n\t\t\t\n\t\t\tthis.isReady = true;\n\t\t\tdocument.body.classList.add(\"is-ready\");\n\t\t\t\n\t\t\t// afterExecの実行\n\t\t\tres = await Promise.all([\n\t\t\t\tu_.isFunction(this.afterExec) && this.afterExec.apply(this, res)\n\t\t\t]);\n\t\t\t\n\t\t\trtn = res[0];\n\t\t\t\n\t\t} catch(err) {\n\t\t\tconsole.error(err || `An Error occurred on '${methodName}'`);\n\t\t\trtn = err;\n\t\t}\n\t\t\n\t\tawait Promise.all([\n\t\t\tu_.isFunction(this.hideLoading) && this.hideLoading(methodName)\n\t\t]);\n\t\t\n\t\treturn rtn;\n\t}\n};\n","export default function DOMReadyPromise() {\n\treturn new Promise(resolve => {\n\t\tif(document.readyState === \"loading\") {\n\t\t\tdocument.addEventListener(\"DOMContentLoaded\", () => {\n\t\t\t\tresolve(document.readyState);\n\t\t\t});\n\t\t} else {\n\t\t\tresolve(document.readyState);\n\t\t}\n\t});\n}\n","import { Klass } from \"@pressmedia/webappbase\";\nimport exec from \"./exec\";\n\nconst WAB = Klass(\"WebAppBase\").prototype;\n\nObject.assign(exec.exec, {\n\t_version: PACKAGE_VERSION,\n\tgetVersion() {\n\t\treturn this._version;\n\t}\n});\n\nObject.assign(WAB, exec);\n","import { Klass, u_ } from \"@pressmedia/webappbase\";\nimport $ from \"jquery\";\n\n/**\n * アラート用コンテンツを追加\n * @returns this\n */\nexport default function addAlert() {\n\tconst elm = `
\n\t\t
\n\t\t
\n\t\t\tOK\n\t\t\tキャンセル\n\t\t
\n\t
`;\n\tthis.addContent(\"alert\", elm);\n\t\n\tconst WAB = Klass(\"WebAppBase\").prototype;\n\tWAB.confirm = confirm;\n\tWAB.alert = alert;\n}\n\n/**\n * 確認表示\n * @param {Strng} msg: 表示メッセージ\n * @param {Function} cbTrue: OKボタン押下時のコールバック関数\n * @param {Function} cbFalse: キャンセルボタン押下時のコールバック関数\n * @param {Boolean} [flgShowFalse=true]: キャンセルボタンの表示ON / OFF\n * @returns $.Deferred().promise()\n */\nfunction confirm(msg, cbTrue, cbFalse, flgShowFalse) {\n\tu_.isString(msg) || (msg = \"\");\n\tu_.isBoolean(flgShowFalse) || (flgShowFalse = true);\n\t\n\tconst\n\t\tppup = this.popup,\n\t\t$alert = ppup.getContents(\"alert\");\n\t\n\treturn $.Deferred(df => {\n\t\t// メッセージをセット\n\t\t$alert.children(\".msg\").html(msg);\n\t\t\n\t\t//ボタン押下時のコールバックをセット\n\t\t$alert\n\t\t.on(\"click.confirm\", \".btn-ok\", function(e) {\n\t\t\te.preventDefault();\n\t\t\tppup.hideContents( \"alert\", df.resolve.bind(df) );\n\t\t})\n\t\t.on(\"click.confirm\", \".btn-cancel\", function(e) {\n\t\t\te.preventDefault();\n\t\t\tppup.hideContents( \"alert\", df.reject.bind(df) );\n\t\t});\n\t\t\n\t\tif(flgShowFalse) {\n\t\t\t$alert.find(\".btn-cancel\").show();\n\t\t} else {\n\t\t\t$alert.find(\".btn-cancel\").hide();\n\t\t}\n\t\t\n\t\t// メッセージを表示\n\t\tppup.showContents(\"alert\", function() {\n\t\t\t$alert.find(\".btn-ok\").trigger(\"focus\");\n\t\t\t$alert.scrollTop(0);\n\t\t});\n\t\t\n\t\treturn df.promise();\n\t}).then(\n\t\tu_.isFunction(cbTrue) && cbTrue,\n\t\tu_.isFunction(cbFalse) && cbFalse\n\t).always(() => {\n\t\t$alert.off(\".confirm\");\n\t});\n}\n\n/**\n * アラート表示\n * @param {Strng} msg: 表示メッセージ\n * @param {Function} callback: OKボタン押下時のコールバック関数\n * @returns $.Deferred().promise()\n */\nfunction alert(msg, callback) {\n\treturn this.confirm(msg, callback, null, false);\n}\n","import { Klass, csl, u_ } from \"@pressmedia/webappbase\";\nimport $ from \"jquery\";\nimport addAlert from \"./addAlert\";\n\nexport default {\n\t/**\n\t* イニシャライズ関数(最初にこの関数を実行して利用)\n\t* @param {WebAppBase}: WebAppBaseインスタンス\n\t* @param {object} [opt]: オプション\n\t* @param {$object} [$parent=$(document.body)]: 親となるDOM要素\n\t* @return this\n\t*/\n\tinit(wAB, opt, $parent) {\n\t\tif( !( wAB instanceof Klass(\"WebAppBase\") ) ) {\n\t\t\tcsl.warn(\"popup.init\", \"arguments[0] must be WebAppBase instance.\");\n\t\t\treturn false;\n\t\t}\n\t\t(!$parent || !$parent.length) && ( $parent = $(document.body) );\n\t\t\n\t\tthis._wAB = wAB;\n\t\t\n\t\tconst def = {\n\t\t\t// [オプション初期値]\n\t\t\tuseCssTransform: (wAB.browser.join(\"\") !== \"ie8under\")\n\t\t};\n\t\t\n\t\topt = u_.isObject(opt) ? Object.assign(def, opt) : def;\n\t\tObject.keys(opt).forEach(k => {\n\t\t\tthis[k] = opt[k];\n\t\t});\n\t\t\n\t\tthis._$wrap = $(\"
\").addClass(\"ppup-wrap\").attr({\n\t\t\t\"data-shown\": \"0\",\n\t\t\t\"data-useCssTransform\": this.useCssTransform ? \"1\" : \"0\"\n\t\t});\n\t\tthis._$bgElm = $(\"
\").addClass(\"ppup-bg\").appendTo( this._$wrap );\n\t\tthis._$wrap.appendTo( $parent );\n\t\tthis.$parent = $parent;\n\t\tthis.contents = {};\n\t\t\n\t\t// [default content]\n\t\tthis._appendDefaultContent();\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* デフォルトのコンテンツ(アラート表示)の登録関数\n\t* @return this\n\t*/\n\t_appendDefaultContent() {\n\t\taddAlert.call(this);\n\t\treturn this;\n\t}\n};\n","import { u_ } from \"@pressmedia/webappbase\";\n\nexport default {\n\t// ポップアップ表示中にスクロールをロックするかどうか\n\tscrollLock: true,\n\t\n\t/**\n\t* ポップアップ表示関数\n\t* @param {Function} [callback]: 完了コールバック\n\t* @return Promise\n\t*/\n\tshow(callback) {\n\t\tconst fadeTime = (parseFloat( this._$wrap.css(\"transition-duration\") ) || 0.4) * 1000;\n\t\tconst status = this._$wrap.attr(\"data-shown\");\n\t\t\n\t\treturn new Promise(resolve => {\n\t\t\tif(status === \"0\") {\n\t\t\t\tthis.scrollLock && this.$parent.css(\"overflow\", \"hidden\");\n\t\t\t\tthis._$wrap.attr(\"data-shown\", \"\");\n\t\t\t\t\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis._$wrap.attr(\"data-shown\", \"1\");\n\t\t\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t\t\t\tresolve();\n\t\t\t\t}, fadeTime);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t},\n\t\n\t/**\n\t* ポップアップ非表示関数\n\t* @param {Function} [callback]: 完了コールバック\n\t* @return Promise\n\t*/\n\thide(callback) {\n\t\tconst fadeTime = (parseFloat( this._$wrap.css(\"transition-duration\") ) || 0.4) * 1000;\n\t\tconst status = this._$wrap.attr(\"data-shown\");\n\t\t\n\t\treturn new Promise(resolve => {\n\t\t\tif(status === \"1\") {\n\t\t\t\tthis._$wrap.attr(\"data-shown\", \"\");\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis._$wrap.attr(\"data-shown\", \"0\");\n\t\t\t\t\tthis.scrollLock && this.$parent.css(\"overflow\", \"\");\n\t\t\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t\t\t\tresolve();\n\t\t\t\t}, fadeTime);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t\t\tresolve();\n\t\t\t}\n\t\t});\n\t}\n};\n","import { u_ } from \"@pressmedia/webappbase\";\nimport $ from \"jquery\";\n\nexport default {\n\t/**\n\t* ポップアップコンテンツの追加関数\n\t* @param {String} keyName: 任意のコンテンツ名\n\t* @param {$object | HTMLElement} elm: コンテンツの中身\n\t* @return this\n\t*/\n\taddContent(keyName, elm) {\n\t\tconst $elm = (elm instanceof $) ? elm : $(elm);\n\t\tif(!$elm.length) {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\t$elm.addClass(\"ppup-content \" + keyName).appendTo(this._$wrap);\n\t\tthis.contents[keyName] = $elm;\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* ポップアップコンテンツの削除関数\n\t* @param {String} keyName: 対象のコンテンツ名\n\t* @return this\n\t*/\n\tremoveContent(keyName) {\n\t\tconsole.log(\"removeContent\", this.contents);\n\t\tif( u_.hasProperty(this.contents, keyName) ) {\n\t\t\tthis.contents[keyName].remove();\n\t\t\tdelete this.contents[keyName];\n\t\t}\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 内部関数(getContents用)\n\t * @param {Array} arr: コンテンツ名のリスト\n\t * @returns $object\n\t */\n\t_getContents(arr) {\n\t\tif( !Array.isArray(arr) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be Array.\")\n\t\t}\n\t\t\n\t\tlet $arr;\n\t\t\n\t\tarr.forEach(k => {\n\t\t\tif( u_.hasProperty(this.contents, k) ) {\n\t\t\t\tif($arr) {\n\t\t\t\t\t$arr.add( this.contents[k] );\n\t\t\t\t} else {\n\t\t\t\t\t$arr = this.contents[k];\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t\t\n\t\treturn $arr;\n\t},\n\t\n\t/**\n\t* ポップアップコンテンツの取得関数\n\t* @param {String | Array} keyName: 対象のコンテンツ名\n\t* @return $object\n\t*/\n\tgetContents(keyName) {\n\t\tlet arr;\n\t\tif( Array.isArray(keyName) ) {\n\t\t\tarr = keyName;\n\t\t} else\n\t\tif( u_.isString(keyName) ) {\n\t\t\tarr = keyName.split(\",\").map(t => {\n\t\t\t\treturn t.trim();\n\t\t\t});\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\treturn this._getContents(arr);\n\t}\n};\n","import { u_ } from \"@pressmedia/webappbase\";\nimport $ from \"jquery\";\n\nexport default {\n\t/**\n\t * アクティブなコンテンツの情報を更新\n\t * @returns this\n\t */\n\tupdDataActive() {\n\t\tconst active = [];\n\t\tObject.keys(this.contents).forEach(keyName => {\n\t\t\tthis.contents[keyName].hasClass(\"is-active\") && active.push(keyName);\n\t\t});\n\t\t\n\t\t!!active.length && active.sort((a, b) => {\n\t\t\tlet\n\t\t\t\taIdx = parseInt( this.contents[a].css(\"z-index\") ),\n\t\t\t\tbIdx = parseInt( this.contents[b].css(\"z-index\") );\n\t\t\t\n\t\t\tisNaN(aIdx) && (aIdx = -1);\n\t\t\tisNaN(bIdx) && (bIdx = -1);\n\t\t\t\n\t\t\tif(aIdx > bIdx) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif(aIdx < bIdx) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t\t\n\t\tthis._$wrap.attr( \"data-active\", active.join(\",\") );\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t* ポップアップコンテンツの表示関数\n\t* @param {String} keyName: 対象のコンテンツ名\n\t* @param {Function} [callback]: 完了コールバック\n\t* @return promise\n\t*/\n\tshowContents(keyName, callback) {\n\t\tconst $elm = this.getContents(keyName);\n\t\t\n\t\tif(!$elm || !$elm.length) {\n\t\t\treturn this;\n\t\t}\n\t\t\n\t\t$elm.addClass(\"is-active\").css({\n\t\t\t\"z-index\": this._$wrap.children(\".is-active\").length\n\t\t});\n\t\t\n\t\tthis.useCssTransform || setTimeout(() => {\n\t\t\t$elm.each(function() {\n\t\t\t\tconst $this = $(this);\n\t\t\t\t$this.css({\n\t\t\t\t\t\"margin-left\": $this.outerWidth() / -2,\n\t\t\t\t\t\"margin-top\": $this.outerHeight() / -2\n\t\t\t\t});\n\t\t\t});\n\t\t}, 0);\n\t\t\n\t\tthis.updDataActive();\n\t\t\n\t\treturn this.show(callback);\n\t},\n\t\n\t/**\n\t * 内部関数(hideContents用)\n\t * @param {String} keyName: 対象のコンテンツ名\n\t * @returns $object\n\t */\n\t_hideContents(keyName) {\n\t\tconst $elm = this.getContents(keyName);\n\t\t\n\t\tif(!$elm || !$elm.length) {\n\t\t\treturn $elm;\n\t\t}\n\t\t\n\t\tconst removeCss = {\n\t\t\t\"z-index\": \"\"\n\t\t};\n\t\t\n\t\tthis.useCssTransform || Object.assign(removeCss, {\n\t\t\t\"margin-left\": \"\",\n\t\t\t\"margin-top\": \"\"\n\t\t});\n\t\t\n\t\treturn $elm.removeClass(\"is-active\").css(removeCss);\n\t},\n\t\n\t/**\n\t* ポップアップコンテンツの非表示関数\n\t* @param {String} keyName: 対象のコンテンツ名\n\t* @param {Function} [callback]: 完了コールバック\n\t* @return proimse\n\t*/\n\thideContents(keyName, callback) {\n\t\treturn new Promise(resolve => {\n\t\t\tconst len = this._$wrap.children(\".is-active\").length;\n\t\t\t\n\t\t\tif(len > 1) {\n\t\t\t\tthis._hideContents(keyName);\n\t\t\t\tresolve();\n\t\t\t} else {\n\t\t\t\tconst $elm = this.getContents(keyName);\n\t\t\t\tif( $elm && $elm.length && $elm.hasClass(\"is-active\") ) {\n\t\t\t\t\tthis.hide(function() {\n\t\t\t\t\t\tthis._hideContents(keyName);\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\tresolve();\n\t\t\t\t}\n\t\t\t}\n\t\t}).then(() => {\n\t\t\tthis.updDataActive();\n\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t});\n\t},\n\t\n\t/**\n\t* 全ポップアップコンテンツの非表示関数\n\t* @param {Function} [callback]: 完了コールバック\n\t* @return promise\n\t*/\n\thideAllContents(callback) {\n\t\tconst removeCss = {\n\t\t\t\"z-index\": \"\"\n\t\t};\n\t\t\n\t\tthis.useCssTransform || Object.assign(removeCss, {\n\t\t\t\"margin-left\": \"\",\n\t\t\t\"margin-top\": \"\"\n\t\t});\n\t\t\n\t\treturn this.hide(function() {\n\t\t\tthis._$wrap.children(\".is-active\").removeClass(\"is-active\").css(removeCss);\n\t\t\tu_.isFunction(callback) && callback.call(this);\n\t\t});\n\t}\n};\n","import { Klass } from \"@pressmedia/webappbase\";\n\nimport init from \"./init\";\nimport display from \"./display\";\nimport contents from \"./contents\";\nimport displayContents from \"./displayContents\";\n\nconst WAB = Klass(\"WebAppBase\").prototype;\n\nWAB.popup = {\n\t_version: \"2.2.1\",\n\tgetVersion() {\n\t\treturn this._version;\n\t},\n\t\n\t...init, ...display, ...contents, ...displayContents,\n};\n","/** extend RegExp */\nRegExp.escape = function escape(str) {\n\t//\t\treturn (typeof str === \"string\") ? str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\") : str;\n\treturn typeof str === \"string\" ? str.replace(/[-\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\") : str;\n};\n","const it = {\n\t/**\n\t * Object判定\n\t * nullおよびArrayの場合はfalse\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisObject: function isObject(arg) {\n\t\treturn typeof arg === \"object\" && arg !== null && !Array.isArray(arg);\n\t},\n\t\n\t/**\n\t * Array判定(Array.isArrayのエイリアス)\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisArray: function isArray(arg) {\n\t\treturn Array.isArray(arg);\n\t},\n\t\n\t/**\n\t * Boolean判定\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisBoolean: function isBoolean(arg) {\n\t\treturn typeof arg === \"boolean\";\n\t},\n\t\n\t/**\n\t * String判定\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisString: function isString(arg) {\n\t\treturn typeof arg === \"string\";\n\t},\n\t\n\t/**\n\t * Number判定\n\t * NaNはfalse\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisNumber: function isNumber(arg) {\n\t\treturn typeof arg === \"number\" && !isNaN(arg);\n\t},\n\t\n\t/**\n\t * Integer判定\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisInteger: function isInteger(arg) {\n\t\treturn it.isNumber(arg) && Math.round(arg) === arg;\n\t},\n\t\n\t/**\n\t * 数値と認められる値かどうかの判定\n\t * @param {mixed} arg\n\t * @param {mixed} [flgStrict]: trueの場合に厳密に判定を行う(\"1s\"はfalse)\n\t * @returns {Boolean}\n\t */\n\tisNumeric: function isNumeric(arg, flgStrict) {\n\t\tconst t = typeof arg;\n\t\treturn (t === \"number\" || t === \"string\") && !isNaN( parseFloat(arg) - (flgStrict ? arg : 0) );\n\t},\n\t\n\t/**\n\t * Function判定\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisFunction: function isFunction(arg) {\n\t\treturn typeof arg === \"function\";\n\t},\n\t\n\t/**\n\t * HTMLElement判定\n\t * @param {mixed} arg\n\t * @returns {Boolean}\n\t */\n\tisElement: function isElement(arg) {\n\t\ttry {\n\t\t\t//Using W3 DOM2 (works for FF, Opera and Chrom)\n\t\t\treturn arg instanceof HTMLElement;\n\t\t} catch(e) {\n\t\t\t//Browsers not supporting W3 DOM2 don't have HTMLElement and\n\t\t\t//an exception is thrown and we end up here. Testing some\n\t\t\t//properties that all elements have. (works on IE7)\n\t\t\treturn (\n\t\t\t\ttypeof arg === \"object\" &&\n\t\t\t\targ.nodeType === 1 &&\n\t\t\t\ttypeof arg.style === \"object\" &&\n\t\t\t\ttypeof arg.ownerDocument === \"object\"\n\t\t\t);\n\t\t}\n\t}\n};\n\nexport default it;\n","import it from \"./isType\";\n\nexport default {\n\t/**\n\t * 配列的なオブジェクトを配列に変換\n\t * @param {Object | Array} arg: 配列的なオブジェクト\n\t * @returns {Array} 変換された配列\n\t */\n\tgetAsArray(arg) {\n\t\treturn Array.prototype.slice.call(arg, 0);\n\t},\n\t\n\t/**\n\t * 第一引数で渡されたオブジェクトに第二引数のキーが存在するか\n\t * @param {Object} obj\n\t * @param {String} key\n\t */\n\thasProperty(obj, key) {\n\t\tif( !it.isObject(obj) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be Object.\");\n\t\t}\n\t\tif( !it.isString(key) ) {\n\t\t\tthrow new TypeError(\"arguments[1] must be String.\");\n\t\t}\n\t\t\n\t\treturn Object.prototype.hasOwnProperty.call(obj, key);\n\t},\n\t\n\t/**\n\t * 左0埋め\n\t * @param {String | Number} target\n\t * @param {Number} length\n\t * @returns {String}\n\t */\n\tzeroPadding(target, length) {\n\t\tit.isNumber(target) && ( target = String(target) );\n\t\tit.isNumber(length) || (length = target.length);\n\t\t\n\t\tif( !it.isString(target) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string or number.\");\n\t\t}\n\t\t\n\t\tif(target.length >= length) {\n\t\t\treturn target;\n\t\t}\n\t\t\n\t\treturn (new Array(length).join(\"0\") + target).slice(length * -1);\n\t},\n\t\n\t/**\n\t * 文字列からHTMLタグを置換して返す\n\t * @param {String} str: 対象文字列\n\t * @param {String} [replacement=\"\"]: 置換文字列\n\t * @returns {String}\n\t */\n\treplaceHtmlTag(str, replacement) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tit.isString(replacement) || (replacement = \"\");\n\t\treturn str.replace(/<(\"[^\"]*\"|'[^']*'|[^'\">])*>/g, replacement);\n\t},\n\t\n\t/**\n\t * 改行を含む可能性のある文字列をHTML文字列に変換\n\t *\n\t * @param {String} str: 変換元文字列\n\t * @param {boolean} isBlock: 行ごとにブロック要素とするか\n\t * @returns {String} HTML文字列\n\t */\n\ttextareaParse(str, isBlock) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tit.isBoolean(isBlock) || (isBlock = false);\n\t\t\n\t\tconst arr = str.split(/\\r\\n|\\r|\\n/); // 改行コードで分割\n\t\tconst len = arr.length;\n\t\tconst txts = [];\n\t\tconst elm = document.createElement(isBlock ? \"p\" : \"span\");\n\t\t\n\t\tfor(let i = 0; i < len; i++) {\n\t\t\tarr[i] || (arr[i] = \" \");\n\t\t\telm.innerHTML = arr[i];\n\t\t\ttxts.push(elm.outerHTML);\n\t\t}\n\t\t\n\t\treturn txts.join(isBlock ? \"\" : \"
\");\n\t},\n\t\n\t/**\n\t * 文字列をHTMLCollectionにパースする\n\t * @param {String} str: HTML文字列\n\t * @returns {HTMLCollection}\n\t */\n\tparseHTML(str) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tconst doc = document.implementation.createHTMLDocument();\n\t\tconst base = doc.createElement(\"base\");\n\t\tbase.href = document.location.href;\n\t\tdoc.head.appendChild(base);\n\t\t\n\t\tdoc.body.innerHTML = str;\n\t\t\n\t\t// remove scripts\n\t\tconst scripts = doc.getElementsByTagName(\"script\");\n\t\t!!scripts.length && scripts.forEach(elm => {\n\t\t\telm.parentNode.removeChild(elm);\n\t\t});\n\t\t\n\t\treturn doc.body.children;\n\t},\n\t\n\t/**\n\t * create Instance metod\n\t * @param {Function} Func: コンストラクタ\n\t * @returns Instance\n\t */\n\tnewCall(Func) {\n\t\treturn new ( Function.prototype.bind.apply(Func, arguments) )();\n\t}\n};\n","import it from \"./isType\";\n\nexport default {\n\t/**\n\t * 文字列内に半角カナが含まれているかのチェック\n\t * @param {String} str: 対象文字列\n\t * @returns {boolean}\n\t */\n\thasHalfKana: function hasHalfKana(str) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"hasHalfKana: arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\treturn /[ヲァ-ッーア-ン゙゚]/.test(str);\n\t},\n\t\n\t/**\n\t * 文字列内に半角文字が含まれているかのチェック\n\t * @param {String} str: 対象文字列\n\t * @param {boolean} denyHalfKana: 半角カナを対象から除外するかどうか\n\t * @returns {boolean}\n\t */\n\thasHalfChar: function hasHalfChar(str, denyHalfKana) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"hasHalfChar: arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tif(!denyHalfKana && this.hasHalfKana(str)) {\n\t\t\treturn true;\n\t\t}\n\t\t\n\t\tconst len = str.length;\n\t\tconst re = /[。「」、・]/;\n\t\t\n\t\tfor(let i = 0; i < len; i++) {\n\t\t\tconst c = str.charAt(i);\n\t\t\t// 1文字ずつ文字コードをエスケープし、その長さが4文字+2文字(%u)未満なら半角\n\t\t\tif( escape(c).length < 6 || re.test(c) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n\t\n\t/**\n\t * 文字列内に全角文字が含まれているかのチェック\n\t * @param {String} str: 対象文字列\n\t * @returns {boolean}\n\t */\n\thasFullChar: function hasFullChar(str) {\n\t\tif( !it.isString(str) ) {\n\t\t\tthrow new TypeError(\"hasFullChar: arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tconst len = str.length;\n\t\tconst re = /[。「」、・]/;\n\t\t\n\t\tfor(let i = 0; i < len; i++) {\n\t\t\tconst c = str.charAt(i);\n\t\t\t// 1文字ずつ文字コードをエスケープし、その長さが4文字+2文字(%u)以上なら全角\n\t\t\tif( escape(c).length >= 6 && !re.test(c) && !this.hasHalfKana(c) ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}\n};\n","import it from \"./isType\";\n\nexport default {\n\t/**\n\t * クエリ文字列をオブジェクトへパースする\n\t * @param {String} search: クエリ文字列\n\t * @returns {Object}\n\t */\n\tparseQueryString: function parseQueryString(search) {\n\t\tif( !it.isString(search) ) {\n\t\t\tthrow new TypeError(\"parseQueryString: arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tconst obj = {};\n\t\t\n\t\tif( !/^[.|/|?]/.test(search) && !/^https?:/.test(search) ) {\n\t\t\t// searchがURL形式じゃない場合の対処\n\t\t\tsearch = \"?\" + search;\n\t\t}\n\t\t\n\t\t// urlのsearch部分を取得\n\t\tlet query = this.pathInfo(search).search;\n\t\t\n\t\t// 最初に出現する?は取り除く\n\t\tquery = query.replace(/^\\?/, \"\");\n\t\t\n\t\tif(query) {\n\t\t\tquery = query.split(\"&\");\n\t\t\tconst len = query.length;\n\t\t\tfor(let i = 0; i < len; i++) {\n\t\t\t\tconst q = query[i];\n\t\t\t\tconst qArr = q.split(\"=\").map((v, i) => {\n\t\t\t\t\treturn decodeURIComponent(v);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tobj[qArr.shift()] = qArr.join(\"=\");\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn obj;\n\t},\n\n\t/**\n\t * オブジェクトからクエリ文字列を生成\n\t * @param {Object} obj: 生成元オブジェクト\n\t * @returns {String} クエリ文字列\n\t */\n\tcreateQueryString: function createQueryString(obj) {\n\t\tif( !it.isObject(obj) ) {\n\t\t\tthrow new TypeError(\"createQueryString: arguments[0] must be object.\");\n\t\t}\n\t\t\n\t\tconst arr = [];\n\t\t\n\t\tObject.keys(obj).forEach((k, i) => {\n\t\t\tarr.push(`${k}=${encodeURIComponent(obj[k])}`);\n\t\t});\n\t\t\n\t\treturn !arr.length ? \"\" : \"?\" + arr.join(\"&\");\n\t}\n};\n","import it from \"./isType\";\n\nexport default {\n\t/**\n\t * ファイルサイズ(Byte)を文字列にフォーマットする\n\t * @param {Number} fsize\n\t * @returns {String}\n\t */\n\tfileSizeToString: function fileSizeToString(fsize) {\n\t\tif( !it.isNumber(fsize) ) {\n\t\t\tthrow new TypeError(\"fileSizeToString: arguments[0] must be number.\");\n\t\t}\n\t\t\n\t\tlet fstr = fsize / 1024;\n\t\tif(fstr >= 1024) {\n\t\t\tfstr = fstr / 1024;\n\t\t\tif(fstr >= 1024) {\n\t\t\t\tfstr = String(Math.ceil(fstr / 1024)) + \"GB\";\n\t\t\t} else {\n\t\t\t\tfstr = String(Math.ceil(fstr)) + \"MB\";\n\t\t\t}\n\t\t} else {\n\t\t\tfstr = String(Math.ceil(fstr)) + \"KB\";\n\t\t}\n\t\treturn fstr;\n\t},\n\t\n\t/**\n\t * ファイルパス、URLに関する情報を返す\n\t * @param {String} path\n\t * @returns {Object}\n\t */\n\tpathInfo: function pathInfo(path) {\n\t\tif( !it.isString(path) ) {\n\t\t\tthrow new TypeError(\"pathInfo: arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tconst _a = document.createElement(\"a\");\n\t\t\n\t\t_a.href = path || \"./\";\n\t\tpath = path.replace(_a.search, \"\").replace(_a.hash, \"\");\n\t\t\n\t\tconst delimiter = path.indexOf(\"/\") >= 0 ? \"/\" : \"\\\\\";\n\t\tconst pathParts = path.split(delimiter);\n\t\tconst basename = pathParts.slice(-1)[0];\n\t\tconst arr = basename.split(\".\");\n\t\t\n\t\treturn {\n\t\t\tdirname: pathParts.slice(0, -1).join(\"/\"),\n\t\t\tbasename: basename,\n\t\t\tfilename: arr.shift(),\n\t\t\textension: arr.pop() || \"\",\n\t\t\tsearch: _a.search,\n\t\t\thash: _a.hash\n\t\t};\n\t},\n\n\t/**\n\t * 第1引数の文字列内の{dirname}, {basename}, {extension}, {filename}を置換\n\t * @param {String} str: 置換対象の文字列\n\t * @param {String} path: ファイルのパス\n\t * @returns {String} 置換後の文字列\n\t */\n\treplacePathinfo: function replacePathinfo(str, path) {\n\t\tif(!it.isString(str) || !it.isString(path)) {\n\t\t\treturn str;\n\t\t}\n\t\t\n\t\tconst pathInfo = this.pathInfo(path);\n\t\tstr = str.replace(/\\{dirname\\}/g, pathInfo.dirname);\n\t\tstr = str.replace(/\\{basename\\}/g, pathInfo.basename);\n\t\tstr = str.replace(/\\{extension\\}/g, pathInfo.extension);\n\t\tstr = str.replace(/\\{filename\\}/g, pathInfo.filename);\n\t\treturn str;\n\t}\n};\n","// [RFC encode / decode]\nexport default {\n\tencodeRFC: function encodeRFC(str) {\n\t\treturn encodeURIComponent(str).replace(/%20/g, \"+\");\n\t},\n\tdecodeRFC: function decodeRFC(str) {\n\t\treturn decodeURIComponent( str.replace(/\\+/g, \"%20\") );\n\t}\n};\n","import it from \"./isType\";\n\nexport default {\n\t/**\n\t * オブジェクトの中身に再帰的に処理を実行し、戻り値を適用する\n\t *\n\t * @param {Object} data: 処理対象のオブジェクト\n\t * @param {Function} cb: コールバック関数\n\t * @param {mixed} self: cbのcaller\n\t * @returns this\n\t */\n\tmapRecursive: function mapRecursive (data, cb, self) {\n\t\tif(typeof data !== \"object\" || data === null) {\n\t\t\tthrow new TypeError(\"arguments[0] must be object or array.\");\n\t\t}\n\t\t\n\t\tit.isFunction(cb) || (cb = function() {});\n\t\t\n\t\tconst isArray = Array.isArray(data);\n\t\tconst arr = isArray ? data : Object.keys(data);\n\t\tconst len = arr.length;\n\t\tfor(let i = 0; i < len; i++) {\n\t\t\tconst k = isArray ? i : arr[i];\n\t\t\t\n\t\t\tif(typeof data[k] !== \"object\" || data[k] === null) {\n\t\t\t\tconst r = cb.call(self, data[k], k);\n\t\t\t\tif(r !== undefined) {\n\t\t\t\t\tdata[k] = r;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.mapRecursive(data[k], cb, self);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t}\n};\n","import \"./RegExp.escape\";\nimport utill from \"./utill\";\nimport it from \"./isType\";\nimport mb from \"./mb\";\nimport qs from \"./qs\";\nimport fileInfo from \"./fileInfo\";\nimport rfc from \"./rfc\";\nimport mapRecursive from \"./mapRecursive\";\n\nexport default Object.assign(it, utill, mb, qs, fileInfo, rfc, mapRecursive, {\n\t_version: \"2.3.0\",\n});\n","import u_ from \"@pressmedia/u_\";\n\n// **** define Core ****\nfunction Core() {}\n\n// [Core prototype] extends u_.\nObject.assign(Core.prototype, u_);\n\n\n// **** define Klass ****\nfunction Klass(klassName) {\n\tif(klassName === undefined) {\n\t\treturn Object.assign({}, Klass._klassMap);\n\t} else\n\tif( !u_.isString(klassName) ) {\n\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t}\n\t\n\treturn Klass._klassMap[klassName];\n}\n\n/**\n * prototypeの継承用関数\n * (via. http://qiita.com/LightSpeedC/items/d307d809ecf2710bd957)\n * @param {Function} ctor: コンストラクタ\n * @param {Function} superCtor: 継承元コンストラクタ\n * @returns this\n */\nKlass.inherits = function inherits(ctor, superCtor) {\n\t// check args.\n\tif(ctor === undefined || ctor === null) {\n\t\tthrow new TypeError(\"The constructor to `inherits` must not be null or undefined.\");\n\t}\n\tif(superCtor === undefined || superCtor === null) {\n\t\tthrow new TypeError(\"The super constructor to `inherits` must not be null or undefined.\");\n\t}\n\tif(superCtor.prototype === undefined) {\n\t\tthrow new TypeError(\"The super constructor to `inherits` must have a prototype.\");\n\t}\n\t\n\tctor.super_ = superCtor;\n\tif(typeof Object.__proto__ === \"function\") {\n\t\tObject.setPrototypeOf(ctor.prototype, superCtor.prototype);\n\t} else {\n\t\tthis.goog.inherits(ctor, superCtor);\n\t}\n\treturn this;\n};\n\n// ** [for legacy browser] **\nif( !u_.isFunction(Object.__proto__) ) {\n\tKlass.goog = {\t// via. Google Closure\n\t\tinherits: function inherits(childCtor, parentCtor) {\n\t\t\t/** @constructor */\n\t\t\tfunction tempCtor() {}\n\t\t\ttempCtor.prototype = parentCtor.prototype;\n\t\t\tchildCtor.superClass_ = parentCtor.prototype;\n\t\t\tchildCtor.prototype = new tempCtor();\n\t\t\t/** @override */\n\t\t\tchildCtor.prototype.constructor = childCtor;\n\t\t}\n\t};\n}\n\n// [作成したClassのリスト領域]\nKlass._klassMap = {\n\t\"Klass\": Core\n};\nCore.prototype.klass = \"Klass\";\n\n/**\n * Klass継承関数\n * ※'extends'はIEで予約語になっているため使用不可\n * @param {Function} KlassConstructor: コンストラクタ\n * @param {String} parentName: 継承元Klass名\n * @param {Object} prop: 追加プロパティ\n * @returns {Function} コンストラクタ\n */\nKlass.extends_ = function extends_(KlassConstructor, parentName, prop) {\n\tif( !u_.isString(parentName) ) {\n\t\tthrow new TypeError(\"arguments[1] must be string.\");\n\t}\n\t\n\tconst Parent = this._klassMap[parentName];\n\tif(!Parent) {\n\t\tthrow new Error(`'${parentName}' is undefined.`);\n\t}\n\t\n\t// prototype継承\n\tthis.inherits(KlassConstructor, Parent);\n\tKlassConstructor.parent = Parent.prototype;\n\t\n\t// propで渡された属性値の反映\n\tu_.isObject(prop) && Object.keys(prop).forEach(k => {\n\t\tKlassConstructor.prototype[k] = prop[k];\n\t});\n\t\n\treturn KlassConstructor;\n};\n\n/**\n * Klass生成関数\n * @param {String} klassName: クラス名\n * @param {Object} prop: プロパティ\n * @returns {Function} コンストラクタ\n */\nKlass.create = function create(klassName, prop) {\n\tif( !u_.isString(klassName) ) {\n\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t}\n\tif(this._klassMap[klassName]) {\n\t\tthrow new Error(\"'\" + klassName + \"' is already defined.\");\n\t}\n\t\n\tu_.isObject(prop) || (prop = {});\n\t\n\tconst KlassConstructor = function KlassConstructor() {\n\t\tthis._initialize.apply(this, arguments);\n\t};\n\t\n\t// コンストラクタへextends_関数を登録\n\tKlassConstructor.extends_ = function extends_(parentName, prop) {\n\t\treturn Klass.extends_(this, parentName, prop);\n\t};\n\t\n\tthis._klassMap[klassName] = KlassConstructor;\n\t\n\tif( Object.keys(prop).length ) {\n\t\t!prop._initialize && (prop._initialize = function _initialize() {});\n\t\t// コアKlassから継承\n\t\tthis.extends_(KlassConstructor, \"Klass\", prop);\n\t}\n\t\n\tKlassConstructor.prototype.klass = klassName;\n\t\n\treturn KlassConstructor;\n};\n\n/**\n * インスタンス生成関数\n * ※'new'はIEで予約語になっているため使用不可\n * @param {String} klassName: クラス名\n * @returns {Object} インスタンス\n */\nKlass.new_ = function new_(klassName) {\n\tif( !u_.isString(klassName) ) {\n\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t}\n\t\n\tconst args = Array.prototype.slice.call(arguments, 0);\n\targs[0] = this(klassName);\n\treturn new ( Function.prototype.bind.apply(args[0], args) )();\n};\n\nexport default Klass;\n","const browserInfo = [];\nconst ua = navigator.userAgent.toLowerCase();\nconst ver = navigator.appVersion.toLowerCase();\n\nif(ua.indexOf(\"msie\") != -1) {\n\tbrowserInfo.push(\"ie\");\n\t\n\tif(ver.indexOf(\"msie 10.\") != -1) {\n\t\tbrowserInfo.push(10);\n\t} else\n\tif(ver.indexOf(\"msie 9.\") != -1) {\n\t\tbrowserInfo.push(9);\n\t} else {\n\t\tbrowserInfo.push(8);\n\t\tbrowserInfo.push(\"under\");\n\t}\n} else\nif(ua.indexOf(\"trident\") != -1) {\n\tbrowserInfo.push(\"ie\");\n\tbrowserInfo.push(11);\n\tbrowserInfo.push(\"over\");\n} else\nif(ua.indexOf(\"edge\") != -1) {\n\tbrowserInfo.push(\"edge\");\n\tbrowserInfo.push( parseInt( ua.slice(ua.lastIndexOf(\"/\") + 1) ) );\n} else\nif(ua.indexOf(\"chrome\") != -1) {\n\tbrowserInfo.push(\"chrome\");\n} else\nif(ua.indexOf(\"safari\") != -1) {\n\tbrowserInfo.push(\"safari\");\n} else\nif(ua.indexOf(\"firefox\") != -1) {\n\tbrowserInfo.push(\"firefox\");\n} else\nif(ua.indexOf(\"opera\") != -1) {\n\tbrowserInfo.push(\"opera\");\n}\n\nexport default browserInfo;\n","const deviceInfo = [\"pc\"];\nconst ua = navigator.userAgent.toLowerCase();\n\nif(ua.indexOf('iphone') !== -1) {\n\tdeviceInfo[0] = \"sp\";\n\tdeviceInfo.push(\"ios\");\n\tdeviceInfo.push( (/os ([^\\s]*) /).exec(ua)[1] );\n\tdeviceInfo.push(\"iphone\");\n} else\nif(ua.indexOf('ipad') !== -1) {\n\tdeviceInfo[0] = \"sp\";\n\tdeviceInfo.push(\"ios\");\n\tdeviceInfo.push( (/os ([^\\s]*) /).exec(ua)[1] );\n\tdeviceInfo.push(\"ipad\");\n} else\nif(ua.indexOf('ipod') !== -1) {\n\tdeviceInfo[0] = \"sp\";\n\tdeviceInfo.push(\"ios\");\n\tdeviceInfo.push( (/os ([^\\s]*) /).exec(ua)[1] );\n\tdeviceInfo.push(\"ipod\");\n} else\nif(ua.indexOf('android ') !== -1) {\n\tdeviceInfo[0] = \"sp\";\n\tdeviceInfo.push(\"android\");\n\tdeviceInfo.push( (/android ([^\\s]*);/).exec(ua)[1].replace(/\\./g, \"_\") );\n} else\nif(ua.indexOf('windows phone ') !== -1) {\n\tdeviceInfo[0] = \"sp\";\n\tdeviceInfo.push(\"windows\");\n}\n\nexport default deviceInfo;\n","import u_ from \"@pressmedia/u_\";\nimport Klass from \"../klass\";\n\nconst Console = Klass.create(\"Console\", {\n\t// [constructor]\n\t_initialize: function() {\n\t\t// default methods [log, warn]\n\t\treturn this.off(\"log\").off(\"warn\");\n\t},\n\t\n\t// color settings.\n\tcolors: {\n\t\tblue: \"#0862b1\",\n\t\tgreen: \"#0c861a\",\n\t\torange: \"#de6d0b\",\n\t\tred: \"#e2291e\",\n\t\tpurple: \"#920ea5\",\n\t\tgray: \"#aaa\",\n\t\tgrey: \"#aaa\"\n\t},\n\t\n\t_attachColors: function(method, isOn) {\n\t\tconst isIE = (Klass(\"Console\").browser[0] === \"ie\");\n\t\t\n\t\tObject.keys(this.colors).forEach(k => {\n\t\t\tif( isOn && u_.isFunction(this[method]) ) {\n\t\t\t\tif(isIE) {\n\t\t\t\t\tthis[method][k] = this[method];\n\t\t\t\t} else {\n\t\t\t\t\tthis[method][k] = this[method].bind(console, \"%c%s\", \"color:\" + this.colors[k] + \";\");\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis[method][k] = function() {};\n\t\t\t}\n\t\t});\n\t\t\n\t\treturn this;\n\t},\n\t\n\ton: function(method) {\n\t\tif( !u_.isString(method) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tif( u_.isFunction(console[method]) ) {\n\t\t\tthis[method] = console[method].bind(console);\n\t\t\t([\"log\", \"warn\"].indexOf(method) >= 0) && this._attachColors(method, true);\n\t\t} else {\n\t\t\tthis.off(method);\n\t\t}\n\t\t\n\t\treturn this;\n\t},\n\t\n\toff: function(method) {\n\t\tif( !u_.isString(method) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tthis[method] = function() {};\n\t\t([\"log\", \"warn\"].indexOf(method) >= 0) && this._attachColors(method, false);\n\t\t\n\t\treturn this;\n\t}\n});\n\nimport browserInfo from \"./browserInfo\";\nimport deviceInfo from \"./deviceInfo\";\n\nConsole.browser = browserInfo;\nConsole.device = deviceInfo;\n\nexport default Console;\nexport { Klass };\n","import { Klass } from \"./core\";\n\nconst csl = Klass.new_(\"Console\");\nexport default csl;\nexport { Klass };\n","import u_ from \"@pressmedia/u_\";\nimport { Klass } from \"../csl/index\";\n\nexport default {\n\tname: \"\",\n\tACTION_URL: \"\",\n\t_environment: \"\",\n\t_GET: {},\n\tbrowser: Klass(\"Console\").browser,\n\tdevice: Klass(\"Console\").device,\n\t\n\t// [constructor]\n\t_initialize: function(str, rootdir) {\n\t\tif( u_.isString(str) ) {\n\t\t\tif( str.slice(0, 4) === \"http\" || str.slice(0, 1) === \".\" || str.slice(0, 1) === \"/\") {\n\t\t\t\tthis.ACTION_URL = str;\n\t\t\t} else {\n\t\t\t\tthis.name = str;\n\t\t\t}\n\t\t} else\n\t\tif( u_.isObject(str) && !rootdir ) {\n\t\t\trootdir = str;\n\t\t}\n\t\t\n\t\tthis.config = {};\n\t\t\n\t\t// set rootdir, rootpath\n\t\tthis.setRootDir(rootdir || location.host);\n\t\t\n\t\tthis._GET = u_.parseQueryString(location.search);\n\t},\n\t\n\t/**\n\t * URLの設定\n\t * @param {String} [url=location.origin + location.pathname]\n\t * @returns this\n\t */\n\tsetUrl: function setUrl(url) {\n\t\tif( !url || !u_.isString(url) ) {\n\t\t\turl = location.origin + location.pathname;\n\t\t}\n\t\t\n\t\tthis.URL = url;\n\t\t\n\t\tif(this.config.rootpath) {\n\t\t\tconst pattern = RegExp.escape(this.config.rootpath);\n\t\t\t\n\t\t\t// [set currentPath]\n\t\t\tthis.currentPath = this.URL.replace(new RegExp( \"^\" + pattern.replace(/\\/$/, \"\") ), \"\");\n\t\t\t\n\t\t\t// [set relativePath]\n\t\t\tconst pageDirLv = this.URL.replace(new RegExp(\"^\" + pattern), \"\").split(\"/\").length;\n\t\t\tif(pageDirLv === 1) {\n\t\t\t\tthis._relativePath = \".\";\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tconst arr = [];\n\t\t\t\tconst len = pageDirLv - 1;\n\t\t\t\tfor(let i = 0; i < len; i++) {\n\t\t\t\t\tarr.push(\"..\");\n\t\t\t\t}\n\t\t\t\tthis._relativePath = arr.join(\"/\");\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * ルートディレクトリの設定\n\t * @param {String | Object} rootdir\n\t * @returns this\n\t */\n\tsetRootDir: function setRootDir(rootdir) {\n\t\tconst arr = (location.origin + location.pathname).split(\"/\");\n\t\tlet i;\n\t\t\n\t\tif( u_.isObject(rootdir) ) {\n\t\t\trootdir.dev || (rootdir.dev = \"dev\");\n\t\t\trootdir.test || (rootdir.test = \"test\");\n\t\t\trootdir.prod || (rootdir.prod = location.host);\n\t\t\t\n\t\t\ti = arr.lastIndexOf(rootdir.dev);\n\t\t\tthis._environment = \"dev\";\n\t\t\tif(i < 0) {\n\t\t\t\ti = arr.lastIndexOf(rootdir.test);\n\t\t\t\tthis._environment = \"test\";\n\t\t\t\tif(i < 0) {\n\t\t\t\t\ti = arr.lastIndexOf(rootdir.prod);\n\t\t\t\t\tthis._environment = \"prod\";\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t} else\n\t\tif( u_.isString(rootdir) ) {\n\t\t\ti = arr.lastIndexOf(rootdir);\n\t\t\tthis._environment = \"prod\";\n\t\t} else {\n\t\t\tthrow new TypeError(\"arguments[0] must be object or string.\");\n\t\t}\n\t\t\n\t\tthis.config.rootpath = arr.slice(0, i + 1).join(\"/\") + \"/\";\n\t\tthis.config.rootdir = arr[i];\n\t\t\n\t\treturn this.setUrl();\n\t}\n};\n","// [for History API]\nimport u_ from \"@pressmedia/u_\";\nimport csl from \"../csl/index\";\n\nexport default {\n\t// history.pushStateが使用可能かどうか\n\tenablePushState: (history && history.pushState && history.state !== undefined) ? true : false,\n\t\n\t/**\n\t * 履歴の追加\n\t * @param {Object} [dataObj={}]: state object\n\t * @param {String} [url=\"\"]\n\t * @returns this\n\t */\n\tpushState: function pushState(dataObj, url) {\n\t\tthis.enablePushState && this._changeHistoryState(\"pushState\", dataObj, url);\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * URLの書き換え\n\t * @param {Object} [dataObj={}]: state object\n\t * @param {String} [url=\"\"]\n\t * @returns this\n\t */\n\treplaceState: function replaceState(dataObj, url) {\n\t\tthis.enablePushState && this._changeHistoryState(\"replaceState\", dataObj, url);\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * historyAPIの実行\n\t * @param {String} method: \"pushState\" | \"replaceState\"\n\t * @param {Object} [dataObj={}]: state object\n\t * @param {String} [url=\"\"]\n\t * @returns this\n\t */\n\t_changeHistoryState: function _changeHistoryState(method, dataObj, url) {\n\t\tlet urlChange;\n\t\t\n\t\ttry {\n\t\t\tu_.isObject(dataObj) || (dataObj = {});\n\t\t\tu_.isString(url) || (url = undefined);\n\t\t\turlChange = !!url;\n\t\t\t\n\t\t\tif(urlChange) {\n\t\t\t\tthis._GET = (url.indexOf(\"?\") < 0) ? {} : u_.parseQueryString(url);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\tthis._GET = Object.assign({}, dataObj);\n\t\t\t\turl = this.URL + u_.createQueryString(this._GET);\n\t\t\t\t!!location.hash && (url += location.hash);\n\t\t\t}\n\t\t\t\n\t\t\thistory[method](Object.assign({}, dataObj), this.name, url);\n\t\t\t\n\t\t} catch(e) {\n\t\t\tcsl.warn(\"history.\" + method, e);\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\turlChange && this.setUrl();\n\t\t\n\t\tcsl.log.blue(method, this.currentPath);\n\t\treturn this;\n\t}\n};\n","// [for Web Storage API]\nimport u_ from \"@pressmedia/u_\";\n\nexport default {\n\tstorage: {\n\t\t_prefix: \"\",\n\t\t\n\t\t/**\n\t\t * 接頭辞の設定\n\t\t * @param {String} prefix: 接頭辞\n\t\t * @returns this\n\t\t */\n\t\tsetPrefix: function setPrefix(prefix) {\n\t\t\tif( !u_.isString(prefix) ) {\n\t\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t\t}\n\t\t\t\n\t\t\t(prefix !== this._prefix) && (this._prefix = prefix);\n\t\t\treturn this;\n\t\t},\n\t\t\n\t\t/**\n\t\t * 値の登録\n\t\t * @param {String} key\n\t\t * @param {mixed} value\n\t\t * @returns this\n\t\t */\n\t\tset: function set(key, value) {\n\t\t\tif( !u_.isString(key) ) {\n\t\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t\t}\n\t\t\t\n\t\t\tif(localStorage) {\n\t\t\t\t(value && typeof value === \"object\") && ( value = \"JSON.\" + JSON.stringify(value) );\n\t\t\t\tlocalStorage.setItem(this._prefix + key, value);\n\t\t\t}\n\t\t\treturn this;\n\t\t},\n\t\t\n\t\t/**\n\t\t * 値の取得\n\t\t * @param {String} key\n\t\t * @returns this\n\t\t */\n\t\tget: function get(key) {\n\t\t\tif( !u_.isString(key) ) {\n\t\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t\t}\n\t\t\t\n\t\t\tlet value = null;\n\t\t\tif(localStorage) {\n\t\t\t\tvalue = localStorage.getItem(this._prefix + key);\n\t\t\t\tif( value && (/^JSON\\./).test(value) ) {\n\t\t\t\t\tvalue = JSON.parse( value.replace(/^JSON\\./, \"\") );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\t\t\n\t\t/**\n\t\t * 値の削除\n\t\t * @param {String} key\n\t\t * @returns this\n\t\t */\n\t\tdel: function del(key) {\n\t\t\tif( !u_.isString(key) ) {\n\t\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t\t}\n\t\t\t\n\t\t\t!!localStorage && localStorage.removeItem(this._prefix + key);\n\t\t\treturn this;\n\t\t},\n\t\t\n\t\t/**\n\t\t * ストレージのクリア\n\t\t * @returns this\n\t\t */\n\t\tclear: function clear() {\n\t\t\t!!localStorage && localStorage.clear();\n\t\t\treturn this;\n\t\t}\n\t}\n};\n\n","// [for scroll]\nimport u_ from \"@pressmedia/u_\";\nimport csl from \"../csl/index\";\n\nexport default {\n\t_scrollTop: 0,\n\t\n\t/**\n\t * 現在のスクロール位置のY座標を保存\n\t * @param {Number} [offset=window.pageYOffse]\n\t * @returns this\n\t */\n\tsaveScroll: function saveScroll(offset) {\n\t\tu_.isNumber(offset) || (offset = window.pageYOffset);\n\t\tthis._scrollTop = offset;\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 最後に実行したsaveScrollの座標に戻す\n\t * @returns this\n\t */\n\tloadScroll: function loadScroll() {\n\t\twindow.scrollTo(window.pageXOffset, this._scrollTop);\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * スクロールのY座標を更新\n\t * @param {Number} offset\n\t * @returns this\n\t */\n\tsetScroll: function setScroll(offset) {\n\t\tif( u_.isNumber(offset) ) {\n\t\t\twindow.scrollTo(window.pageXOffset, offset);\n\t\t} else {\n\t\t\tcsl.warn(offset, \"isn't Number.\");\n\t\t}\n\t\treturn this;\n\t}\n};\n","// [for preload images]\nimport u_ from \"@pressmedia/u_\";\n\nexport default {\n\t_preloadedImgs: {},\n\t\n\t/**\n\t * 画像プリロードの実行\n\t * @param {String} path: ファイルパス\n\t * @param {Function} [cb]: プリロード完了コールバック\n\t * @param {Boolean} force: 再読込フラグ\n\t * @returns this\n\t */\n\timgPreload: function imgPreload(path, cb, force) {\n\t\tif( !u_.isString(path) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\t// rootディレクトリへの相対パスを絶対パスへ変更\n\t\tpath = path.replace(\n\t\t\t( new RegExp( \"^\" + RegExp.escape(this._relativePath + \"/\") ) ),\n\t\t\t// originは削除\n\t\t\tthis.config.rootpath.replace( ( new RegExp( \"^\" + RegExp.escape(location.origin) ) ), \"\" )\n\t\t);\n\t\t\n\t\t// 画像へのパスを分解\n\t\tconst pathInfo = u_.pathInfo(path);\n\t\t\n\t\t// 画像格納領域を取得\n\t\tif( !u_.isObject(this._preloadedImgs[pathInfo.dirname]) ) {\n\t\t\tthis._preloadedImgs[pathInfo.dirname] = {};\n\t\t}\n\t\t\n\t\t// 同一ディレクトリのプリロード済みリストを取得\n\t\tconst preloadedImgs = this._preloadedImgs[pathInfo.dirname];\n\t\t\n\t\tif(preloadedImgs[pathInfo.basename] && !force) {\n\t\t\tif( u_.isFunction(cb) ) {\n\t\t\t\tif( u_.isFunction(preloadedImgs[pathInfo.basename]) ) {\n\t\t\t\t\t// プリロード実行中\n\t\t\t\t\tpreloadedImgs[pathInfo.basename](cb);\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// プリロードが既に完了済\n\t\t\t\t\tconst img = preloadedImgs[pathInfo.basename];\n\t\t\t\t\tcb(null, img.src, img);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t} else {\n\t\t\t// プリロード未実行\n\t\t\tpreloadedImgs[pathInfo.basename] = bookCB => {\n\t\t\t\tpreloadedImgs[pathInfo.basename].callbacks.push(bookCB);\n\t\t\t};\n\t\t\tpreloadedImgs[pathInfo.basename].callbacks = [];\n\t\t\tu_.isFunction(cb) && preloadedImgs[pathInfo.basename](cb);\n\t\t\t\n\t\t\tconst img = new Image();\n\t\t\t\n\t\t\timg.onerror = e => {\n\t\t\t\tpreloadedImgs[pathInfo.basename].callbacks.forEach(function(fn) {\n\t\t\t\t\tfn(true, e.target.src, e.target, e);\n\t\t\t\t});\n\t\t\t\tdelete preloadedImgs[pathInfo.basename];\n\t\t\t};\n\t\t\t\n\t\t\timg.onload = e => {\n\t\t\t\tpreloadedImgs[pathInfo.basename].callbacks.forEach(function(fn) {\n\t\t\t\t\tfn(null, e.target.src, e.target, e);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\tpreloadedImgs[pathInfo.basename] = img;\n\t\t\t};\n\t\t\t\n\t\t\timg.src = path;\n\t\t}\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * プリロード済みリストから削除\n\t * @param {String} path: ファイル(ディレクトリ)パス\n\t * @param {Boolean} isDir: ディレクトリごと削除するか\n\t * @returns this\n\t */\n\tclearPreloadedImg: function clearPreloadedImg(path, isDir) {\n\t\tif( !u_.isString(path) ) {\n\t\t\tthrow new TypeError(\"arguments[0] must be string.\");\n\t\t}\n\t\t\n\t\tif(isDir && !(/\\/$/).test(path) ) {\n\t\t\t// ディレクトリ指定の場合でパスの末尾に/がなければ付与する\n\t\t\tpath += \"/\";\n\t\t}\n\t\t\n\t\t// rootディレクトリへの相対パスを絶対パスへ変更\n\t\tpath = path.replace(\n\t\t\t( new RegExp( \"^\" + RegExp.escape(this._relativePath + \"/\") ) ),\n\t\t\t// originは削除\n\t\t\tthis.config.rootpath.replace( ( new RegExp( \"^\" + RegExp.escape(location.origin) ) ), \"\" )\n\t\t);\n\t\t\n\t\t// 画像へのパスを分解\n\t\tconst pathInfo = this.pathInfo(path);\n\t\t\n\t\tif( u_.isObject(this._preloadedImgs[pathInfo.dirname]) ) {\n\t\t\tif(pathInfo.basename && !isDir) {\n\t\t\t\tif(this._preloadedImgs[pathInfo.dirname][pathInfo.basename]) {\n\t\t\t\t\t// プリロード済のデータを削除\n\t\t\t\t\tdelete this._preloadedImgs[pathInfo.dirname][pathInfo.basename];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\t// ディレクトリに対応する画像格納領域ごと削除\n\t\t\t\tdelete this._preloadedImgs[pathInfo.dirname];\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t}\n};\n","// [for preload images]\nimport u_ from \"@pressmedia/u_\";\nimport csl, { Klass } from \"../csl/index\";\n\nexport default {\n\t/**\n\t * ajax通信のエラーコールバック\n\t * @param {Object} xhr\n\t * @param {String} textStatus\n\t * @param {Object} errorThrown\n\t * @returns {String}\n\t */\n\tajaxErrorCallback: function ajaxErrorCallback(xhr, textStatus, errorThrown) {\n\t\tlet msg = \"Status: \" + xhr.status;\n\t\t( textStatus && u_.isString(textStatus) ) && (msg += ` (${textStatus})`);\n\t\t\n\t\tif(xhr.status === 404) {\n\t\t\tmsg += \"
存在しないURLへアクセスしようとしています\";\n\t\t} else {\n\t\t\tmsg += \"
サーバーとの通信に失敗しました\";\n\t\t}\n\t\t\n\t\tif(this instanceof Klass(\"WebAppBase\") && this._environment !== \"prod\") {\n\t\t\tlet responseText = xhr.responseText;\n\t\t\tif( responseText && (/^\\{[\\S\\s]*\\}\\r?\\n?$/).test(responseText) ) {\n\t\t\t\tresponseText = JSON.parse(responseText);\n\t\t\t}\n\t\t\t\n\t\t\tcsl.warn(\"通信失敗\", xhr.status, textStatus, responseText);\n\t\t\t\n\t\t\t!!xhr.responseText && (msg += `
${xhr.responseText}`);\n\t\t\t!!errorThrown.message && (msg += `

Error message: ${errorThrown.message}`);\n\t\t}\n\t\t\n\t\treturn msg;\n\t},\n\t\n\t/**\n\t * JSONデータの取得\n\t * @param {String} url\n\t * @param {Function} [callback]: 完了コールバック\n\t * @returns this\n\t */\n\tgetJSON: function getJSON(url, callback) {\n\t\tif( !url || !u_.isString(url) ) {\n\t\t\tthrow new TypeError(\"arguments error.\");\n\t\t}\n\t\t\n\t\t!u_.pathInfo(url).extension && (url += \".json\");\n\t\t(/^\\/(?!\\/)/).test(url) && (url = this._relativePath + url);\n\t\t\n\t\tconst xhr = new XMLHttpRequest();\n\t\txhr.onloadend = function() {\n\t\t\tif(this.status === 200) {\n\t\t\t\tu_.isFunction(callback) && callback(JSON.parse(this.responseText), this);\n\t\t\t}\n\t\t};\n\t\txhr.open(\"GET\", url, true);\n\t\txhr.send();\n\t\t\n\t\treturn this;\n\t},\n\t\n\t/**\n\t * 第一引数で指定されたHTMLファイルを読み込み、DOMに追加\n\t * @param {String} url\n\t * @param {Boolean} [async=true]\n\t * @param {Boolean} [cache=true]\n\t * @param {HTMLElement} [beforeElm={current script}]\n\t * @param {Boolean} [leaveBeforeElm=false]\n\t * @param {Function} [callback]\n\t */\n\twriteHTML: function writeHTML(url, async, cache, beforeElm, leaveBeforeElm, callback) {\n\t\tvar\n\t\t\txhr = new XMLHttpRequest(),\n\t\t\tliteral = /\\{root\\}/g;\t// {root}\n\t\t\n\t\tif(!beforeElm) {\n\t\t\t// get current script\n\t\t\tconst s = document.getElementsByTagName(\"script\");\n\t\t\tbeforeElm = s[s.length - 1];\n\t\t}\n\t\t\n\t\tif( literal.test(url) ) {\n\t\t\turl = url.replace(literal, this._relativePath);\n\t\t} else\n\t\tif( (/^\\/(?!\\/)/).test(url) ) {\n\t\t\turl = this._relativePath + url;\n\t\t} else\n\t\tif( !(/^\\./).test(url) ) {\n\t\t\turl = this._relativePath + \"/\" + url;\n\t\t}\n\t\t\n\t\tu_.isBoolean(async) || (async = true);\n\t\t(cache === false) && ( url += \"?_=\" + String( ( new Date() ).valueOf() ) );\n\t\t\n\t\txhr.onloadend = e => {\n\t\t\tlet res = e.target.responseText;\n\t\t\tif(e.target.status === 200) {\n\t\t\t\tu_.isString(res) && ( res = res.replace(literal, this._relativePath) );\n\t\t\t\tbeforeElm.insertAdjacentHTML(\"afterend\", res);\n\t\t\t}\n\t\t\t!leaveBeforeElm && beforeElm.parentNode.removeChild(beforeElm);\n\t\t\t\n\t\t\tu_.isFunction(callback) && callback(\n\t\t\t\t(e.target.status >= 200 && e.target.status < 300) ? null : {\n\t\t\t\t\tcode: e.target.status,\n\t\t\t\t\tmessages: [res]\n\t\t\t\t},\n\t\t\t\tres\n\t\t\t);\n\t\t};\n\t\t\n\t\txhr.open(\"GET\", url, async);\n\t\txhr.send(null);\n\t\t\n\t\treturn this;\n\t}\n};\n","// [for require]\nimport u_ from \"@pressmedia/u_\";\n\nexport default {\n\t_imports: {},\n\t\n\t/**\n\t * 第一引数で指定されたパス(script || stylesheet)を読み込む関数\n\t * @param {String | Array | Object} path\n\t * @param {Object} [opt={success:undefined}]\n\t * @param {HTMLElement} [elmTarget]\n\t * @param {Number} [idx]\n\t * @returns this\n\t */\n\trequire(path, opt, elmTarget, idx) {\n\t\tif(!path) {\n\t\t\tthrow new TypeError(\"arguments error.\");\n\t\t}\n\t\t\n\t\t// ** opt {object} **\n\t\t// - success {function}\n\t\t// - error {function}\n\t\t// - doc {DOM Document} default: global.document\n\t\t// - type {string} \"script\" || \"stylesheet\", default: \"script\"\n\t\tu_.isObject(opt) || (opt = {\n\t\t\tsuccess: opt\n\t\t});\n\t\tu_.isFunction(opt.success) || (opt.success = null);\n\t\t\n\t\tif( !opt.doc || !u_.isObject(opt.doc) || !u_.isFunction(opt.doc.createElement) ) {\n\t\t\topt.doc = document;\n\t\t}\n\t\t\n\t\t( opt.type && u_.isString(opt.type) ) || (opt.type = \"script\");\n\t\t\n\t\tif(!elmTarget) {\n\t\t\t// get current script\n\t\t\tconst tag = (opt.type === \"stylesheet\") ? \"link\" : opt.type;\n\t\t\tconst elm = opt.doc.getElementsByTagName(tag);\n\t\t\telmTarget = !!elm.length ? elm[elm.length - 1] : false;\n\t\t}\n\t\t\n\t\tif( u_.isString(path) ) {\n\t\t\t// [string]\n\t\t\topt.docKey = (opt.doc === document) ? \"global\" : opt.doc.title;\n\t\t\tif(!opt.docKey) {\n\t\t\t\topt.docKey = `frame${( new Date() ).valueOf()}`;\n\t\t\t\topt.doc.title = opt.docKey;\n\t\t\t}\n\t\t\t\n\t\t\tu_.isObject(this._imports[opt.docKey]) || (this._imports[opt.docKey] = {});\n\t\t\t\n\t\t\tif( !u_.isObject(this._imports[opt.docKey][opt.type]) ) {\n\t\t\t\tthis._imports[opt.docKey][opt.type] = {};\n\t\t\t}\n\t\t\t\n\t\t\topt.callback = function(err) {\n\t\t\t\t// thisはelement\n\t\t\t\tif(err) {\n\t\t\t\t\tu_.isFunction(opt.error) && opt.error.call(this);\n\t\t\t\t} else {\n\t\t\t\t\tu_.isFunction(opt.success) && opt.success.call(this);\n\t\t\t\t}\n\t\t\t};\n\t\t\t\n\t\t\t// 拡張子がない場合は付与\n\t\t\tconst extensions = {\n\t\t\t\t\"script\": \"js\",\n\t\t\t\t\"stylesheet\": \"css\"\n\t\t\t};\n\t\t\tObject.keys(extensions).forEach(k => {\n\t\t\t\tconst ext = `.${extensions[k]}`;\n\t\t\t\tif( k === opt.type && !( new RegExp( RegExp.escape(ext) + \"$\") ).test(path) ) {\n\t\t\t\t\tpath += ext;\n\t\t\t\t}\n\t\t\t});\n\t\t\t\n\t\t\tif( u_.hasProperty(this._imports[opt.docKey][opt.type], path) ) {\n\t\t\t\tif( u_.isFunction(this._imports[opt.docKey][opt.type][path]) ) {\n\t\t\t\t\t// 実行中\n\t\t\t\t\tthis._imports[opt.docKey][opt.type][path](opt.callback);\n\t\t\t\t\t\n\t\t\t\t} else {\n\t\t\t\t\t// 実行完了済\n\t\t\t\t\tconst imported = this._imports[opt.docKey][opt.type][path];\n\t\t\t\t\topt.callback.call(imported.element, imported.error);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t// 未実行\n\t\t\t\t// create element\n\t\t\t\topt.path = path;\n\t\t\t\t(/^\\/(?!\\/)/).test(opt.path) && (opt.path = this._relativePath + opt.path);\n\t\t\t\t\n\t\t\t\tlet elm;\n\t\t\t\tswitch(opt.type) {\n\t\t\t\t\tcase \"script\": {\n\t\t\t\t\t\t(/\\.js$/).test(opt.path) || (opt.path += \".js\");\n\t\t\t\t\t\telm = opt.doc.createElement(\"script\");\n\t\t\t\t\t\telm.src = opt.path;\n\t\t\t\t\t\telm.async = 1;\n\t\t\t\t\t} break;\n\t\t\t\t\t\t\n\t\t\t\t\tcase \"stylesheet\": {\n\t\t\t\t\t\telm = opt.doc.createElement(\"link\");\n\t\t\t\t\t\telm.rel = \"stylesheet\";\n\t\t\t\t\t\telm.href = opt.path;\n\t\t\t\t\t} break;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tu_.isObject(opt.attr) && Object.keys(opt.attr).forEach(k => {\n\t\t\t\t\tu_.isString(opt.attr[k]) && elm.setAttribute(k, opt.attr[k]);\n\t\t\t\t});\n\t\t\t\t\n\t\t\t\t// append to document\n\t\t\t\tthis._imports[opt.docKey][opt.type][path] = (function(fn) {\n\t\t\t\t\tu_.isFunction(fn) && this._imports[opt.docKey][opt.type][path]._callbacks.push(fn);\n\t\t\t\t}).bind(this);\n\t\t\t\tthis._imports[opt.docKey][opt.type][path]._callbacks = [];\n\t\t\t\tthis._imports[opt.docKey][opt.type][path](opt.callback);\n\t\t\t\t\n\t\t\t\telm.callback = function(err, k, _importsByType) {\n\t\t\t\t\tif( u_.isFunction(_importsByType[k]) ) {\n\t\t\t\t\t\t_importsByType[k]._callbacks.forEach(function(fn) {\n\t\t\t\t\t\t\tfn.call(this, err);\n\t\t\t\t\t\t}, this);\n\t\t\t\t\t}\n\t\t\t\t\t_importsByType[k] = {\n\t\t\t\t\t\terror: err,\n\t\t\t\t\t\telement: this\n\t\t\t\t\t};\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\telm.onload = elm.callback.bind(elm, null, path, this._imports[opt.docKey][opt.type]);\n\t\t\t\telm.onerror = elm.callback.bind(elm, true, path, this._imports[opt.docKey][opt.type]);\n\t\t\t\t\n\t\t\t\tif(elmTarget) {\n\t\t\t\t\telmTarget.parentNode.insertBefore(elm, elmTarget.nextSibling);\n\t\t\t\t} else {\n\t\t\t\t\topt.doc.head.appendChild(elm);\n\t\t\t\t}\n\t\t\t}\n\t\t\t\n\t\t} else\n\t\tif( Array.isArray(path) ) {\n\t\t\tif(u_.isNumber(idx) && path[idx]) {\n\t\t\t\tthis.require(path[idx], opt, elmTarget);\n\t\t\t\t\n\t\t\t} else {\n\t\t\t\t// [array (parallel)]\n\t\t\t\tconst arg1 = {\n\t\t\t\t\tcount: 0,\n\t\t\t\t\tlen: path.length\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\targ1.cb = {};\n\t\t\t\tu_.isFunction(opt.success) && (arg1.cb.success = function() {\n\t\t\t\t\targ1.count++;\n\t\t\t\t\t// 全て読み込み終わったらコールバックを実行\n\t\t\t\t\t(arg1.count === arg1.len) && opt.success.call(elmTarget || this);\n\t\t\t\t});\n\t\t\t\tu_.isFunction(opt.error) && (arg1.cb.error = opt.error);\n\t\t\t\t\n\t\t\t\tpath.forEach(item => {\n\t\t\t\t\tthis.require(item, arg1.cb, elmTarget);\n\t\t\t\t\telmTarget = elmTarget.nextSibling;\n\t\t\t\t});\n\t\t\t}\n\t\t} else\n\t\tif( u_.isObject(path) ) {\n\t\t\t// [sync]\n\t\t\tif( Array.isArray(path.sync) ) {\n\t\t\t\t(!u_.isNumber(idx) || idx < 0) && (idx = 0);\n\t\t\t\tconst arg1 = {\n\t\t\t\t\t_self: this,\n\t\t\t\t\tsuccess: function() {\n\t\t\t\t\t\tidx++;\n\t\t\t\t\t\tif(path.sync[idx]) {\n\t\t\t\t\t\t\targ1._self.require(path, opt, this, idx);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tu_.isFunction(opt.success) && opt.success.call(this);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tu_.isFunction(opt.error) && (arg1.error = opt.error);\n\t\t\t\tthis.require(path.sync[idx], arg1, elmTarget);\n\t\t\t} else\n\t\t\t\n\t\t\t// [match]\n\t\t\tif(path.match) {\n\t\t\t\tu_.isString(path.match) && (path.match = [path.match]);\n\t\t\t\tlet flg = false;\n\t\t\t\t\n\t\t\t\tif( Array.isArray(path.match) ) {\n\t\t\t\t\tconst se = /^\\^|\\$$/g;\n\t\t\t\t\tlet matches = 0;\n\t\t\t\t\t\n\t\t\t\t\tpath.match.forEach(match => {\n\t\t\t\t\t\tconst escaped = match.match(se);\n\t\t\t\t\t\tif(escaped) {\n\t\t\t\t\t\t\t(escaped.length === 1 && escaped[0] === \"$\") && escaped.unshift(\"\");\n\t\t\t\t\t\t\tmatch = match.replace(se, \"\");\n\t\t\t\t\t\t}\n\t\t\t\t\t\t\n\t\t\t\t\t\tmatch = RegExp.escape(match);\n\t\t\t\t\t\tArray.isArray(escaped) && ( match = escaped[0] + match + (escaped[1] || \"\") );\n\t\t\t\t\t\t\n\t\t\t\t\t\tconst literal = new RegExp(match);\n\t\t\t\t\t\tliteral.test(this.currentPath) && (matches++);\n\t\t\t\t\t});\n\t\t\t\t\t\n\t\t\t\t\tflg = !path.and ? !!matches : (matches === path.match.length);\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tif(flg) {\n\t\t\t\t\tif(path.then) {\n\t\t\t\t\t\tthis.require(path.then, opt, elmTarget);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tu_.isFunction(opt.success) && opt.success.call(elmTarget);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif(path[\"else\"]) {\n\t\t\t\t\t\tthis.require(path[\"else\"], opt, elmTarget);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tu_.isFunction(opt.success) && opt.success.call(elmTarget);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else\n\t\t\t\n\t\t\t// [path, fallback]\n\t\t\tif( u_.isString(path.path) ) {\n\t\t\t\tconst arg1 = {\n\t\t\t\t\t_self: this,\n\t\t\t\t};\n\t\t\t\t!!opt.type && (arg1.type = opt.type);\n\t\t\t\t!!opt.doc && (arg1.doc = opt.doc);\n\t\t\t\tu_.isFunction(opt.success) && (arg1.success = opt.success);\n\t\t\t\t\n\t\t\t\tif( path.fallback && u_.isString(path.fallback) ) {\n\t\t\t\t\targ1.error = function() {\n\t\t\t\t\t\targ1._self.require(path.fallback, opt, this);\n\t\t\t\t\t};\n\t\t\t\t} else\n\t\t\t\tif( u_.isFunction(opt.error) ) {\n\t\t\t\t\targ1.error = opt.error;\n\t\t\t\t}\n\t\t\t\t\n\t\t\t\tu_.isObject(path.attr) && (arg1.attr = path.attr);\n\t\t\t\t\n\t\t\t\tthis.require(path.path, arg1, elmTarget);\n\t\t\t}\n\t\t}\n\t\t\n\t\treturn this;\n\t}\n};\n","// [for Drag and Drop API]\nconst d = document.createElement(\"div\");\nexport default {\n\tenableDnD: \"draggable\" in d || (\"ondragstart\" in d && \"ondrop\" in d)\n};\n","import { Klass } from \"../csl/index\";\nimport core from \"./core\";\nimport historyAPI from \"./historyAPI\";\nimport webStorageAPI from \"./webStorageAPI\";\nimport scrollPositon from \"./scrollPosition\";\nimport imgPreload from \"./imgPreload\";\nimport xhr from \"./xhr\";\nimport require from \"./require\";\nimport dnd from \"./dnd\";\n\n// [for version info]\nconst version = {\n\t_ver: \"5.3.0\",\n\t\n\t/**\n\t * バージョン情報を取得\n\t * @returns {String}\n\t */\n\tgetVersion: function() {\n\t\treturn this._ver;\n\t},\n};\n\nconst prop = Object.assign(\n\tcore,\n\thistoryAPI,\n\twebStorageAPI,\n\tscrollPositon,\n\timgPreload,\n\txhr,\n\trequire,\n\tdnd,\n\tversion\n);\n\nexport default Klass.create(\"WebAppBase\", prop);\nexport { Klass };\n"],"sourceRoot":""}