You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
17 KiB
1 lines
17 KiB
{"version":3,"file":"8630-8630.js?v=eb1ab06c4928352754c5","mappings":"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","sources":["webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppType.vue?vue&type=style&index=0&id=14ba7d0d&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue?vue&type=style&index=0&id=11c20724&prod&scoped=true&lang=scss","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppType.vue","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/AppType.vue?vue&type=script&setup=true&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppType.vue?6315","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/AppType.vue?2e10","webpack:///nextcloud/apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue?vue&type=script&lang=ts","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue?2561","webpack://nextcloud/./apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue?7d08"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.app-discover-app[data-v-14ba7d0d]{width:100% !important}.app-discover-app[data-v-14ba7d0d]:hover{background:var(--color-background-hover);border-radius:var(--border-radius-rounded)}.app-discover-app__skeleton[data-v-14ba7d0d]{display:flex;flex-direction:column;gap:8px;padding:30px}.app-discover-app__skeleton[data-v-14ba7d0d]>:first-child{height:50%;min-height:130px}.app-discover-app__skeleton[data-v-14ba7d0d]>:nth-child(2){width:50px}.app-discover-app__skeleton[data-v-14ba7d0d]>:nth-child(5){height:20px;width:100px}.app-discover-app__skeleton[data-v-14ba7d0d]>:not(:first-child){border-radius:4px}.skeleton-element[data-v-14ba7d0d]{min-height:var(--default-font-size, 15px);background:linear-gradient(90deg, var(--color-background-dark), var(--color-background-darker), var(--color-background-dark));background-size:400% 400%;animation:gradient-14ba7d0d 6s ease infinite}@keyframes gradient-14ba7d0d{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/AppType.vue\"],\"names\":[],\"mappings\":\"AACA,mCACC,qBAAA,CAEA,yCACC,wCAAA,CACA,0CAAA,CAGD,6CACC,YAAA,CACA,qBAAA,CACA,OAAA,CAEA,YAAA,CAEA,0DACC,UAAA,CACA,gBAAA,CAGD,2DACC,UAAA,CAGD,2DACC,WAAA,CACA,WAAA,CAGD,gEACC,iBAAA,CAKH,mCACC,yCAAA,CAEA,6HAAA,CACA,yBAAA,CACA,4CAAA,CAGD,6BACC,GACC,0BAAA,CAED,IACC,4BAAA,CAED,KACC,0BAAA,CAAA\",\"sourcesContent\":[\"\\n.app-discover-app {\\n\\twidth: 100% !important; // full with of the showcase item\\n\\n\\t&:hover {\\n\\t\\tbackground: var(--color-background-hover);\\n\\t\\tborder-radius: var(--border-radius-rounded);\\n\\t}\\n\\n\\t&__skeleton {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\tgap: 8px;\\n\\n\\t\\tpadding: 30px; // Same as AppItem\\n\\n\\t\\t> :first-child {\\n\\t\\t\\theight: 50%;\\n\\t\\t\\tmin-height: 130px;\\n\\t\\t}\\n\\n\\t\\t> :nth-child(2) {\\n\\t\\t\\twidth: 50px;\\n\\t\\t}\\n\\n\\t\\t> :nth-child(5) {\\n\\t\\t\\theight: 20px;\\n\\t\\t\\twidth: 100px;\\n\\t\\t}\\n\\n\\t\\t> :not(:first-child) {\\n\\t\\t\\tborder-radius: 4px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.skeleton-element {\\n\\tmin-height: var(--default-font-size, 15px);\\n\\n\\tbackground: linear-gradient(90deg, var(--color-background-dark), var(--color-background-darker), var(--color-background-dark));\\n\\tbackground-size: 400% 400%;\\n\\tanimation: gradient 6s ease infinite;\\n}\\n\\n@keyframes gradient {\\n\\t0% {\\n\\t\\tbackground-position: 0% 50%;\\n\\t}\\n\\t50% {\\n\\t\\tbackground-position: 100% 50%;\\n\\t}\\n\\t100% {\\n\\t\\tbackground-position: 0% 50%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `h3[data-v-11c20724]{font-size:24px;font-weight:600;margin-block:0 1em}.app-discover-showcase__list[data-v-11c20724]{list-style:none;display:flex;flex-wrap:wrap;gap:calc(var(--default-clickable-area, 44px)/2)}.app-discover-showcase__item[data-v-11c20724]{display:flex;align-items:stretch;position:relative;width:calc(33% - var(--default-clickable-area, 44px)/2)}.app-discover-showcase--small .app-discover-showcase__item[data-v-11c20724]{width:calc(50% - var(--default-clickable-area, 44px)/2)}.app-discover-showcase--extra-small .app-discover-showcase__item[data-v-11c20724]{width:100%}`, \"\",{\"version\":3,\"sources\":[\"webpack://./apps/settings/src/components/AppStoreDiscover/ShowcaseType.vue\"],\"names\":[],\"mappings\":\"AAGA,oBACC,cAAA,CACA,eAAA,CACA,kBAAA,CAIA,8CACC,eAAA,CAEA,YAAA,CACA,cAAA,CACA,+CAdS,CAiBV,8CACC,YAAA,CACA,mBAAA,CAEA,iBAAA,CACA,uDAAA,CAKD,4EACC,uDAAA,CAKD,kFACC,UAAA\",\"sourcesContent\":[\"\\n$item-gap: calc(var(--default-clickable-area, 44px) / 2);\\n\\nh3 {\\n\\tfont-size: 24px;\\n\\tfont-weight: 600;\\n\\tmargin-block: 0 1em;\\n}\\n\\n.app-discover-showcase {\\n\\t&__list {\\n\\t\\tlist-style: none;\\n\\n\\t\\tdisplay: flex;\\n\\t\\tflex-wrap: wrap;\\n\\t\\tgap: $item-gap;\\n\\t}\\n\\n\\t&__item {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: stretch;\\n\\n\\t\\tposition: relative;\\n\\t\\twidth: calc(33% - $item-gap);\\n\\t}\\n}\\n\\n.app-discover-showcase--small {\\n\\t.app-discover-showcase__item {\\n\\t\\twidth: calc(50% - $item-gap);\\n\\t}\\n}\\n\\n.app-discover-showcase--extra-small {\\n\\t.app-discover-showcase__item {\\n\\t\\twidth: 100%;\\n\\t}\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('section',{ref:\"container\",staticClass:\"app-discover-showcase\",class:{\n\t\t'app-discover-showcase--small': _vm.isSmallWidth,\n\t\t'app-discover-showcase--extra-small': _vm.isExtraSmallWidth,\n\t}},[(_vm.translatedHeadline)?_c('h3',[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.translatedHeadline)+\"\\n\\t\")]):_vm._e(),_vm._v(\" \"),_c('ul',{staticClass:\"app-discover-showcase__list\"},_vm._l((_vm.content),function(item,index){return _c('li',{key:item.id ?? index,staticClass:\"app-discover-showcase__item\"},[(item.type === 'post')?_c('PostType',_vm._b({attrs:{\"inline\":\"\"}},'PostType',item,false)):(item.type === 'app')?_c('AppType',{attrs:{\"model-value\":item}}):_vm._e()],1)}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (_setup.app)?_c(_setup.AppItem,{staticClass:\"app-discover-app\",attrs:{\"app\":_setup.app,\"category\":\"discover\",\"inline\":\"\",\"list-view\":false}}):_c('a',{staticClass:\"app-discover-app app-discover-app__skeleton\",attrs:{\"href\":_setup.appStoreLink,\"target\":\"_blank\",\"title\":_vm.modelValue.appId,\"rel\":\"noopener noreferrer\"}},[_c('span',{staticClass:\"skeleton-element\"}),_vm._v(\" \"),_c('span',{staticClass:\"skeleton-element\"}),_vm._v(\" \"),_c('span',{staticClass:\"skeleton-element\"}),_vm._v(\" \"),_c('span',{staticClass:\"skeleton-element\"}),_vm._v(\" \"),_c('span',{staticClass:\"skeleton-element\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppType.vue?vue&type=script&setup=true&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppType.vue?vue&type=script&setup=true&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppType.vue?vue&type=style&index=0&id=14ba7d0d&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppType.vue?vue&type=style&index=0&id=14ba7d0d&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./AppType.vue?vue&type=template&id=14ba7d0d&scoped=true\"\nimport script from \"./AppType.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./AppType.vue?vue&type=script&setup=true&lang=ts\"\nimport style0 from \"./AppType.vue?vue&type=style&index=0&id=14ba7d0d&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"14ba7d0d\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowcaseType.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??clonedRuleSet-4.use[1]!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowcaseType.vue?vue&type=script&lang=ts\"","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowcaseType.vue?vue&type=style&index=0&id=11c20724&prod&scoped=true&lang=scss\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/sass-loader/dist/cjs.js!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ShowcaseType.vue?vue&type=style&index=0&id=11c20724&prod&scoped=true&lang=scss\";\n export default content && content.locals ? content.locals : undefined;\n","import { render, staticRenderFns } from \"./ShowcaseType.vue?vue&type=template&id=11c20724&scoped=true\"\nimport script from \"./ShowcaseType.vue?vue&type=script&lang=ts\"\nexport * from \"./ShowcaseType.vue?vue&type=script&lang=ts\"\nimport style0 from \"./ShowcaseType.vue?vue&type=style&index=0&id=11c20724&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"11c20724\",\n null\n \n)\n\nexport default component.exports"],"names":["___CSS_LOADER_EXPORT___","push","module","id","_defineComponent","__name","props","modelValue","setup","__props","store","useAppsStore","app","computed","getAppById","appId","appStoreLink","concat","__sfc","AppItem","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","_vm","this","_c","_self","_setup","_setupProxy","staticClass","attrs","_v","defineComponent","name","components","AppType","PostType","commonAppDiscoverProps","content","type","Array","required","translatedHeadline","useLocalizedValue","headline","container","ref","width","containerWidth","useElementSize","isSmallWidth","value","isExtraSmallWidth","t","class","_s","_e","_l","item","index","_item$id","key","_b"],"sourceRoot":""} |