UNPKG

igniteui-sassdoc-theme

Version:

Default SassDoc theme used in Ignite UI for Angular.

1 lines 8.89 kB
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require("fs-extra");c=s(c);let l=require("path");l=s(l);let u=require("url"),d=require("jsdom");var f={en:{development:{id:`en-development`,url:`https://www.infragistics.com`,navigationURL:`https://www.infragistics.com/navigation`,gaID:`GTM-WLXLBZD`,versions:`https://www.infragistics.com/angular-docs/angular-api-docs-versions-prod.json`,sassdoc_default_url:`https://infragistics.com/products/ignite-ui-angular/docs/sass/latest/`},staging:{id:`en-staging`,url:`https://staging.infragistics.com`,navigationURL:`https://staging.infragistics.com/navigation`,gaID:`GTM-NCKNPN`,versions:`https://staging.infragistics.com/angular-docs/angular-api-docs-versions.json`,sassdoc_default_url:`https://staging.infragistics.com/products/ignite-ui-angular/docs/sass/latest/`},production:{id:`en-production`,url:`https://www.infragistics.com`,navigationURL:`https://www.infragistics.com/navigation`,gaID:`GTM-T65CF7`,versions:`https://www.infragistics.com/angular-docs/angular-api-docs-versions-prod.json`,sassdoc_default_url:`https://www.infragistics.com/products/ignite-ui-angular/docs/sass/latest/`}},ja:{development:{id:`ja-development`,url:`https://jp.infragistics.com`,navigationURL:`https://jp.infragistics.com/navigation`,gaID:`GTM-NNHVMC7`,versions:`https://jp.infragistics.com/angular-docs/angular-api-docs-versions-prod-jp.json`,sassdoc_default_url:`https://jp.infragistics.com/products/ignite-ui-angular/docs/sass/latest/`},staging:{id:`ja-staging`,url:`https://jp.staging.infragistics.com`,navigationURL:`https://jp.infragistics.com/navigation`,gaID:`GTM-WLWSDK`,versions:`https://jp.infragistics.com/angular-docs/angular-api-docs-versions-prod-jp.json`,sassdoc_default_url:`https://jp.staging.infragistics.com/products/ignite-ui-angular/docs/sass/latest/`},production:{id:`ja-production`,url:`https://jp.infragistics.com`,navigationURL:`https://jp.infragistics.com/navigation`,gaID:`GTM-KVNSWJ`,versions:`https://jp.infragistics.com/angular-docs/angular-api-docs-versions-prod-jp.json`,sassdoc_default_url:`https://jp.infragistics.com/products/ignite-ui-angular/docs/sass/latest/`}}};function p(e,t){return f[e][t]}var m=l.default.dirname((0,u.fileURLToPath)(require("url").pathToFileURL(__filename).href)),h=l.default.resolve(m),g=l.default.join(h,`data`,`navigation.json`);async function _(e){let{navigationURL:t}=p(e.language,e.environment);try{let e=new AbortController,n=setTimeout(()=>e.abort(),5e3),r=await fetch(t,{signal:e.signal});clearTimeout(n);let i=new d.JSDOM(await r.text()),a=i.window.document.querySelector(`#header`)?.outerHTML??null,o=i.window.document.querySelector(`footer`)?.outerHTML??null,s=i.window.document.querySelector(`#footer`)?.outerHTML??null;c.default.ensureDir(l.default.dirname(g)),c.default.writeJsonSync(g,{header:a,footer:o,copyright:s})}catch(e){console.error(`Failed to fetch navigation parts.`,e),c.default.writeJsonSync(g,{header:``,footer:``,copyright:``})}}function v(e){if(e.data){e.groups=e.groups||{},e.groupDescriptions=e.groupDescriptions||{};for(let t of Object.keys(e.groups))e.groups&&(e.groups[t.toLowerCase()]=e.groups[t]);for(let t of e.data){if(!t.group||t.group.length===0)continue;let n={},r=[];for(let i of t.group){let t=i.toLowerCase();e.groups&&t in e.groups?n[t]=e.groups[t]:e.groups&&(n[t]=e.groups[t]=t);let a=n[t];a&&r.push(a)}t.groupDescriptions&&e.groupDescriptions&&Object.assign(e.groupDescriptions,t.groupDescriptions),t.groupName=n,r.length>0&&(t.group=r)}}}function y(e,t){let{item:n,...r}=t;if(!r.external&&r.name){let t=e.get(r.name);t&&(r.group=t,r.name=n.name??r.name)}return r}function b(e,t){let{context:n,description:r,name:i}=t,a={description:r,context:n,group:``,name:``};if(n?.name){let t=e.get(n.name);t&&(a.group=t,a.name=i??n.name)}return a}function x(e,t){let n=e.data.find(e=>e.context.name===t.name);return n?{name:n.name??n.context.name,group:t.group}:t}function S(e,t){return e.data.find(e=>e.context.name===t)?.name??t}function C(e,t){let n=e.data.find(e=>e.context.name===t.alias);return(n&&n.name)??t.alias}function w(e){if(!e.data)return;let t=new Map;for(let n of e.data)n.context?.name&&Array.isArray(n.group)&&t.set(n.context.name,n.group[0]);for(let n of e.data)n.require&&Array.isArray(n.require)&&(n.require=n.require.map(e=>y(t,e))),n.usedBy&&Array.isArray(n.usedBy)&&(n.usedBy=n.usedBy.map(e=>b(t,e))),n.see&&Array.isArray(n.see)&&(n.see=n.see.map(e=>b(t,e))),n.aliased&&Array.isArray(n.aliased)&&(n.aliased=n.aliased.map(t=>S(e,t))),n.aliasedGroup&&Array.isArray(n.aliasedGroup)&&(n.aliasedGroup=n.aliasedGroup.map(t=>x(e,t))),n.alias&&=C(e,n)}function T(e){let t=Object.create(null);for(let n of e){let e=n.group?.[0],r=n.context?.type;e===void 0||r===void 0||(Object.prototype.hasOwnProperty.call(t,e)||(t[e]=Object.create(null)),Object.prototype.hasOwnProperty.call(t[e],r)||(t[e][r]=[]),t[e][r].push(n))}return t}function E(e){let t={placeholder:1,variable:2,function:3,mixin:4},n=Object.create(null);for(let r in e){n[r]={};let i=Object.keys(e[r]);i.sort((e,n)=>(t[e]||2**53-1)-(t[n]||2**53-1));for(let t of i)n[r][t]=e[r][t]}return n}function D(e){return E(T(e))}function O(e){e.display&&(e.data=e.data.filter(t=>{let n=e.display?.access?e.display.access.indexOf(t.access)!==-1:!1,r=!!t.alias,i=!!e.display?.alias;return n&&!(r&&!i)}))}var k=new Date().toLocaleTimeString(`en-US`,{hour12:!1,hour:`2-digit`,minute:`2-digit`,second:`2-digit`}),A=`\x1B[35m`,j=`\x1B[2m`,M=`\x1B[0m`;function N(e,t){console.info(`${j}${k} ${A}[${e}]${M} ${t}`)}var P=class e{static DEFAULT_CONFIG={display:{access:[`public`,`private`],alias:!0,watermark:!1},groups:{undefined:`utilities`},plugins:[]};_annotations=[];_plugins=[];_shouldTerminate=!1;registerAnnotation(e){this._annotations.push(e)}get annotations(){return this._annotations}registerPlugin(e){this._plugins.push(e),N(`plugin`,`Plugin registered: ${e.name}`)}async loadConfigPlugins(e){if(!(!e.plugins||!Array.isArray(e.plugins)))for(let t of e.plugins)try{if(!t.path){console.warn(`Plugin ${t.name||`unnamed`} has no path specified, skipping`);continue}let e=l.default.resolve(process.cwd(),t.path),n=await(process.platform===`win32`?import((0,u.pathToFileURL)(e).href):import(e)),r=n.default||n,i=typeof r==`function`?r(t.options||{}):r;i.name||=t.name||l.default.basename(e,l.default.extname(e)),this.registerPlugin(i)}catch(e){console.error(`Failed to load plugin ${t.name||t.path}:`,e)}}async executePluginHooks(e,t){for(let n of this._plugins){let r=n[e];if(typeof r==`function`)try{let i=await r.call(n,t);if(e===`beforeProcess`&&i)return N(`plugin`,`Plugin ${n.name} requested to terminate processing`),!0}catch(t){console.error(`Error in plugin ${n.name} at ${String(e)}:`,t)}}return!1}async processData(t){if(t.display={...e.DEFAULT_CONFIG.display,...structuredClone(t.display)},t.groups={...e.DEFAULT_CONFIG.groups,...structuredClone(t.groups)},t.language??=`en`,t.environment??=`production`,await this.loadConfigPlugins(t),await this.executePluginHooks(`beforeProcess`,t)){this._shouldTerminate=!0;return}O(t),v(t),w(t),t.groupedData=D(t.data),await this.executePluginHooks(`afterProcess`,t)}async generate(e,t){try{if(c.default.ensureDirSync(e),await this.processData(t),this._shouldTerminate)return N(`sassdoc`,`Generation stopped by plugin after data processing`),t;let{build:n}=await import(`astro`),r=l.default.dirname((0,u.fileURLToPath)(require("url").pathToFileURL(__filename).href)),i=l.default.resolve(r),a=l.default.join(i,`data`,`sassdoc-data.json`);return c.default.ensureDir(l.default.dirname(a)),c.default.writeJsonSync(a,t.groupedData),await _(t),await this.executePluginHooks(`beforeBuild`,t),process.env.PUBLIC_LANG=t.language,await n({logLevel:`error`,mode:t.environment,root:i}),c.default.copySync(l.default.join(i,`site`),e),N(`sassdoc`,`Site generated`),await this.executePluginHooks(`afterBuild`,t),t}catch(e){throw console.error(`Error generating Sassdoc site:`,e),e}}};function F(){let e=new P,t=function(t,n){return e.generate(t,n)};return Object.defineProperty(t,"annotations",{get:function(){return e.annotations}}),t.registerAnnotation=function(t){e.registerAnnotation(t)},t.registerPlugin=function(t){e.registerPlugin(t)},t}var I=[()=>({name:`package`,parse:function(e){return{name:e.trim()}},resolve:function(e){e.forEach(e=>{e.package&&e.package.name===`auto`&&(e.package.name=`default`)})},default:function(){return{name:`auto`}},multiple:!1})],L=F();for(let e of I)L.registerAnnotation(e);module.exports=L;