igniteui-sassdoc-theme
Version:
Default SassDoc theme used in Ignite UI for Angular.
2 lines (1 loc) • 10.3 kB
JavaScript
;var P=Object.create;var y=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,I=Object.prototype.hasOwnProperty;var S=(s,e,o)=>e in s?y(s,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[e]=o;var G=(s,e,o,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of C(e))!I.call(s,i)&&i!==o&&y(s,i,{get:()=>e[i],enumerable:!(n=b(e,i))||n.enumerable});return s};var O=(s,e,o)=>(o=s!=null?P(D(s)):{},G(e||!s||!s.__esModule?y(o,"default",{value:s,enumerable:!0}):o,s));var g=(s,e,o)=>S(s,typeof e!="symbol"?e+"":e,o);const u=require("fs-extra"),a=require("path"),m=require("url"),N=require("jsdom");var p=typeof document<"u"?document.currentScript:null;const F={development:{id:"en-development",url:"https://www.infragistics.com",navigationURL:"https://www.infragistics.com/navigation",gaID:"GTM-WLXLBZD",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/"},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/"}},$={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.staging.infragistics.com/products/ignite-ui-angular/docs/sass/latest/"},staging:{id:"ja-staging",url:"https://jp.staging.infragistics.com",navigationURL:"https://jp.staging.infragistics.com/navigation",gaID:"GTM-WLWSDK",versions:"https://jp.staging.infragistics.com/angular-docs/angular-api-docs-versions-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/"}},q={en:F,ja:$};function A(s,e){return q[s][e]}const M=a.dirname(m.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:p&&p.tagName.toUpperCase()==="SCRIPT"&&p.src||new URL("index.js",document.baseURI).href)),k=a.resolve(M),w=a.join(k,"data","navigation.json");async function B(s){var o,n,i;const{navigationURL:e}=A(s.language,s.environment);try{const t=new AbortController,r=setTimeout(()=>t.abort(),5e3),c=await fetch(e,{signal:t.signal});clearTimeout(r);const l=await c.text(),h=new N.JSDOM(l),R=((o=h.window.document.querySelector("#header"))==null?void 0:o.outerHTML)??null,L=((n=h.window.document.querySelector("footer"))==null?void 0:n.outerHTML)??null,U=((i=h.window.document.querySelector("#footer"))==null?void 0:i.outerHTML)??null;u.ensureDir(a.dirname(w)),u.writeJsonSync(w,{header:R,footer:L,copyright:U})}catch(t){console.error("Failed to fetch navigation parts.",t),u.writeJsonSync(w,{header:"",footer:"",copyright:""})}}const E=a.dirname(m.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:p&&p.tagName.toUpperCase()==="SCRIPT"&&p.src||new URL("index.js",document.baseURI).href)),H=a.resolve(E),v=a.join(H,"data","versions.json");async function J(s){const{url:e,versions:o}=A(s.language,s.environment);try{const n=new AbortController,i=setTimeout(()=>n.abort(),5e3),t=await fetch(o,{signal:n.signal});clearTimeout(i);const c=(await t.json()).folders.map(l=>({version:l,url:`${e}/products/ignite-ui-angular/docs/${l}/sass/`})).reverse();u.ensureDir(a.dirname(v)),u.writeJsonSync(v,{versions:c})}catch(n){console.error("Failed to fetch previous documentation versions.",n),u.writeJsonSync(v,{versions:[{version:"0.0.0",url:"#"}]})}}function W(s){if(s.data){s.groups=s.groups||{},s.groupDescriptions=s.groupDescriptions||{};for(const e of Object.keys(s.groups))s.groups&&(s.groups[e.toLowerCase()]=s.groups[e]);for(const e of s.data){if(!e.group||e.group.length===0)continue;const o={},n=[];for(const i of e.group){const t=i.toLowerCase();s.groups&&t in s.groups?o[t]=s.groups[t]:s.groups&&(o[t]=s.groups[t]=t);const r=o[t];r&&n.push(r)}e.groupDescriptions&&s.groupDescriptions&&Object.assign(s.groupDescriptions,e.groupDescriptions),e.groupName=o,n.length>0&&(e.group=n)}}}function K(s,e){const{item:o,...n}=e;if(!n.external&&n.name){const i=s.get(n.name);i&&(n.group=i,n.name=o.name??n.name)}return n}function _(s,e){const{context:o,description:n,name:i}=e,t={description:n,context:o,group:"",name:""};if(o!=null&&o.name){const r=s.get(o.name);r&&(t.group=r,t.name=i??o.name)}return t}function V(s,e){const o=s.data.find(n=>n.context.name===e.name);return o?{name:o.name??o.context.name,group:e.group}:e}function X(s,e){const o=s.data.find(n=>n.context.name===e);return(o==null?void 0:o.name)??e}function Z(s,e){const o=s.data.find(n=>n.context.name===e.alias);return(o&&o.name)??e.alias}function z(s){var o;if(!s.data)return;const e=new Map;for(const n of s.data)(o=n.context)!=null&&o.name&&Array.isArray(n.group)&&e.set(n.context.name,n.group[0]);for(const n of s.data)n.require&&Array.isArray(n.require)&&(n.require=n.require.map(i=>K(e,i))),n.usedBy&&Array.isArray(n.usedBy)&&(n.usedBy=n.usedBy.map(i=>_(e,i))),n.see&&Array.isArray(n.see)&&(n.see=n.see.map(i=>_(e,i))),n.aliased&&Array.isArray(n.aliased)&&(n.aliased=n.aliased.map(i=>X(s,i))),n.aliasedGroup&&Array.isArray(n.aliasedGroup)&&(n.aliasedGroup=n.aliasedGroup.map(i=>V(s,i))),n.alias&&(n.alias=Z(s,n))}function Q(s){var o,n;const e=Object.create(null);for(const i of s){const t=(o=i.group)==null?void 0:o[0],r=(n=i.context)==null?void 0:n.type;t===void 0||r===void 0||(Object.prototype.hasOwnProperty.call(e,t)||(e[t]=Object.create(null)),Object.prototype.hasOwnProperty.call(e[t],r)||(e[t][r]=[]),e[t][r].push(i))}return e}function Y(s){const e={placeholder:1,variable:2,function:3,mixin:4},o=Object.create(null);for(const n in s){o[n]={};const i=Object.keys(s[n]);i.sort((t,r)=>{const c=e[t]||Number.MAX_SAFE_INTEGER,l=e[r]||Number.MAX_SAFE_INTEGER;return c-l});for(const t of i)o[n][t]=s[n][t]}return o}function x(s){const e=Q(s);return Y(e)}function ee(s){s.display&&(s.data=s.data.filter(e=>{var t,r;const o=(t=s.display)!=null&&t.access?s.display.access.indexOf(e.access)!==-1:!1,n=!!e.alias,i=!!((r=s.display)!=null&&r.alias);return o&&!(n&&!i)}))}const ne=new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),se="\x1B[35m",oe="\x1B[2m",te="\x1B[0m";function f(s,e){console.info(`${oe}${ne} ${se}[${s}]${te} ${e}`)}const d=class d{constructor(){g(this,"_annotations",[]);g(this,"_plugins",[]);g(this,"_shouldTerminate",!1)}registerAnnotation(e){this._annotations.push(e)}get annotations(){return this._annotations}registerPlugin(e){this._plugins.push(e),f("plugin",`Plugin registered: ${e.name}`)}async loadConfigPlugins(e){if(!(!e.plugins||!Array.isArray(e.plugins)))for(const o of e.plugins)try{if(!o.path){console.warn(`Plugin ${o.name||"unnamed"} has no path specified, skipping`);continue}const n=a.resolve(process.cwd(),o.path),t=await import(process.platform==="win32"?m.pathToFileURL(n).href:n),r=t.default||t,c=typeof r=="function"?r(o.options||{}):r;c.name||(c.name=o.name||a.basename(n,a.extname(n))),this.registerPlugin(c)}catch(n){console.error(`Failed to load plugin ${o.name||o.path}:`,n)}}async executePluginHooks(e,o){for(const n of this._plugins){const i=n[e];if(typeof i=="function")try{const t=await i.call(n,o);if(e==="beforeProcess"&&t)return f("plugin",`Plugin ${n.name} requested to terminate processing`),!0}catch(t){console.error(`Error in plugin ${n.name} at ${e}:`,t)}}return!1}async processData(e){if(e.display={...d.DEFAULT_CONFIG.display,...structuredClone(e.display)},e.groups={...d.DEFAULT_CONFIG.groups,...structuredClone(e.groups)},e.language??(e.language="en"),e.environment??(e.environment="production"),await this.loadConfigPlugins(e),await this.executePluginHooks("beforeProcess",e)){this._shouldTerminate=!0;return}ee(e),W(e),z(e),e.groupedData=x(e.data),await this.executePluginHooks("afterProcess",e)}async generate(e,o){try{if(u.ensureDirSync(e),await this.processData(o),this._shouldTerminate)return f("sassdoc","Generation stopped by plugin after data processing"),o;const{build:n}=await import("astro"),i=a.dirname(m.fileURLToPath(typeof document>"u"?require("url").pathToFileURL(__filename).href:p&&p.tagName.toUpperCase()==="SCRIPT"&&p.src||new URL("index.js",document.baseURI).href)),t=a.resolve(i),r=a.join(t,"data","sassdoc-data.json");return u.ensureDir(a.dirname(r)),u.writeJsonSync(r,o.groupedData),await B(o),await J(o),await this.executePluginHooks("beforeBuild",o),process.env.PUBLIC_LANG=o.language,await n({logLevel:"error",mode:o.environment,root:t}),u.copySync(a.join(t,"site"),e),f("sassdoc","Site generated"),await this.executePluginHooks("afterBuild",o),o}catch(n){throw console.error("Error generating Sassdoc site:",n),n}}};g(d,"DEFAULT_CONFIG",{display:{access:["public","private"],alias:!0,watermark:!1},groups:{undefined:"utilities"},plugins:[]});let j=d;function ie(){const s=new j,e=function(o,n){return s.generate(o,n)};return Object.defineProperty(e,"annotations",{get:function(){return s.annotations}}),e.registerAnnotation=function(o){s.registerAnnotation(o)},e.registerPlugin=function(o){s.registerPlugin(o)},e}const re=()=>({name:"package",parse:function(s){return{name:s.trim()}},resolve:function(s){s.forEach(e=>{e.package&&e.package.name==="auto"&&(e.package.name="default")})},default:function(){return{name:"auto"}},multiple:!1}),ae=[re],T=ie();for(const s of ae)T.registerAnnotation(s);module.exports=T;