@taiga-ui/addon-doc 3.52.0 → 3.53.0-canary.0974e5c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -124,6 +124,10 @@ function tuiInspectAny(data, depth) {
124
124
  return inspectObject(data, depth);
125
125
  }
126
126
 
127
+ function tuiIsPageGroup(page) {
128
+ return `subPages` in page;
129
+ }
130
+
127
131
  function tuiTryParseMarkdownCodeBlock(text = ``) {
128
132
  const tokens = new MarkdownIt().parse(text, {});
129
133
  const result = tokens
@@ -150,6 +154,28 @@ function tuiRawLoadRecord(example) {
150
154
  });
151
155
  }
152
156
 
157
+ function tuiSortPages(pages, excludeSections = new Set()) {
158
+ const sections = Array.from(new Set(pages.map(page => page.section)));
159
+ const sortedPages = pages.slice().sort((a, b) => {
160
+ var _a, _b;
161
+ if (excludeSections.has((_a = a.section) !== null && _a !== void 0 ? _a : ``) ||
162
+ excludeSections.has((_b = b.section) !== null && _b !== void 0 ? _b : ``)) {
163
+ return 0;
164
+ }
165
+ const aSectionIndex = sections.indexOf(a.section);
166
+ const bSectionIndex = sections.indexOf(b.section);
167
+ if (aSectionIndex !== bSectionIndex) {
168
+ return aSectionIndex - bSectionIndex;
169
+ }
170
+ if (a.title > b.title) {
171
+ return 1;
172
+ }
173
+ return a.title.localeCompare(b.title);
174
+ });
175
+ return sortedPages.map(page => tuiIsPageGroup(page)
176
+ ? Object.assign(Object.assign({}, page), { subPages: tuiSortPages(page.subPages, excludeSections) }) : page);
177
+ }
178
+
153
179
  function tuiToFlatMapPages(pages) {
154
180
  const map = new Map();
155
181
  for (const page of pages) {
@@ -224,5 +250,5 @@ function tuiTransliterateKeyboardLayout(string) {
224
250
  * Generated bundle index. Do not edit.
225
251
  */
226
252
 
227
- export { tuiCoerceValue, tuiCoerceValueIsTrue, tuiGenerateRoutes, tuiInspectAny, tuiRawLoad, tuiRawLoadRecord, tuiToFlatMapPages, tuiTransliterateKeyboardLayout, tuiTryParseMarkdownCodeBlock };
253
+ export { tuiCoerceValue, tuiCoerceValueIsTrue, tuiGenerateRoutes, tuiInspectAny, tuiIsPageGroup, tuiRawLoad, tuiRawLoadRecord, tuiSortPages, tuiToFlatMapPages, tuiTransliterateKeyboardLayout, tuiTryParseMarkdownCodeBlock };
228
254
  //# sourceMappingURL=taiga-ui-addon-doc-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-addon-doc-utils.js","sources":["../../../projects/addon-doc/utils/coerce-boolean.ts","../../../projects/addon-doc/utils/coerce-value.ts","../../../projects/addon-doc/utils/generate-routes.ts","../../../projects/addon-doc/utils/inspect.ts","../../../projects/addon-doc/utils/parse-code-block.ts","../../../projects/addon-doc/utils/raw-load.ts","../../../projects/addon-doc/utils/raw-load-record.ts","../../../projects/addon-doc/utils/to-flat-map-pages.ts","../../../projects/addon-doc/utils/transliterate-keyboard-layout.ts","../../../projects/addon-doc/utils/taiga-ui-addon-doc-utils.ts"],"sourcesContent":["export function tuiCoerceValueIsTrue(value?: boolean | string): boolean {\n return value?.toString() === `true`;\n}\n","export function tuiCoerceValue<T>(\n value?: T,\n): Record<string, any> | T | boolean | number | string | null {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n }\n\n if (isBooleanParamValue(prepared)) {\n return String(prepared) === `true`;\n }\n\n if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nfunction isEmptyParamValue(value: string): boolean {\n return [`undefined`, `null`, `NaN`].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === `true` || value === `false`;\n}\n\nfunction isNumberParamValue(value: string): boolean {\n return !!value.trim() && !Number.isNaN(Number(value)) && !value.startsWith(`+`);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith(`[`) && value.endsWith(`]`);\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith(`{`) && value.endsWith(`}`);\n}\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\nexport function tuiGenerateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: ``,\n component: type,\n children: [\n {\n path: `:tab`,\n component: type,\n },\n ],\n },\n ];\n}\n","function inspectArray(array: readonly unknown[], depth: number): string {\n if (depth === 0) {\n return `[…]`;\n }\n\n let result = ``;\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += `, `;\n }\n\n result += index in array ? tuiInspectAny(array[index], depth - 1) : `empty`;\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: unknown}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = ``;\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += `, `;\n }\n\n result += `${key}: ${tuiInspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function tuiInspectAny<T>(data: T, depth: number): string {\n if (data === null) {\n return `null`;\n }\n\n switch (typeof data) {\n case `string`:\n return `'${data}'`;\n case `undefined`:\n case `number`:\n case `boolean`:\n case `function`:\n return String(data);\n default:\n break;\n }\n\n if (data instanceof RegExp) {\n return String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\nexport function tuiTryParseMarkdownCodeBlock(text: string = ``): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === `code` && type === `fence`)\n .map(({content}) => content.trim());\n\n return result.length ? result : [text];\n}\n","import {TuiRawLoaderContent} from '@taiga-ui/addon-doc/interfaces';\n\nexport async function tuiRawLoad(content: TuiRawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n","import type {TuiDocExample} from '@taiga-ui/addon-doc/interfaces';\n\nimport {tuiRawLoad} from './raw-load';\n\nexport async function tuiRawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await tuiRawLoad(content);\n }\n }\n\n return processedContent;\n}\n","import type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\n\nexport function tuiToFlatMapPages(pages: TuiDocPages): Map<string, TuiDocPage> {\n const map = new Map<string, TuiDocPage>();\n\n for (const page of pages) {\n if (`subPages` in page) {\n for (const subPage of page.subPages) {\n ngDevMode && assertTitle(subPage, map);\n map.set(subPage.title, subPage);\n }\n } else {\n ngDevMode && assertTitle(page, map);\n map.set(page.title, page);\n }\n }\n\n return map;\n}\n\nfunction assertTitle(page: TuiDocPage, map: Map<string, TuiDocPage>): void {\n if (map.has(page.title) && map.get(page.title)?.route !== page.route) {\n console.error(\n `Title for page should be unique for prevent inconsistent page names`,\n page,\n `<== Collisions between ==>`,\n map.get(page.title),\n );\n }\n}\n","const MAP: Record<string, string> = {\n а: `f`,\n б: `,`,\n в: `d`,\n г: `u`,\n д: `l`,\n е: `t`,\n ё: `\\``,\n ж: `;`,\n з: `p`,\n и: `b`,\n й: `q`,\n к: `r`,\n л: `k`,\n м: `v`,\n н: `y`,\n о: `j`,\n п: `g`,\n р: `h`,\n с: `c`,\n т: `n`,\n у: `e`,\n ф: `a`,\n х: `[`,\n ц: `w`,\n ч: `x`,\n ш: `i`,\n щ: `o`,\n ъ: `]`,\n ы: `s`,\n ь: `m`,\n ю: `.`,\n я: `z`,\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function tuiTransliterateKeyboardLayout(string: string): string {\n let newStr = ``;\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-addon-doc-utils.js","sources":["../../../projects/addon-doc/utils/coerce-boolean.ts","../../../projects/addon-doc/utils/coerce-value.ts","../../../projects/addon-doc/utils/generate-routes.ts","../../../projects/addon-doc/utils/inspect.ts","../../../projects/addon-doc/utils/is-page-group.ts","../../../projects/addon-doc/utils/parse-code-block.ts","../../../projects/addon-doc/utils/raw-load.ts","../../../projects/addon-doc/utils/raw-load-record.ts","../../../projects/addon-doc/utils/sort-pages.ts","../../../projects/addon-doc/utils/to-flat-map-pages.ts","../../../projects/addon-doc/utils/transliterate-keyboard-layout.ts","../../../projects/addon-doc/utils/taiga-ui-addon-doc-utils.ts"],"sourcesContent":["export function tuiCoerceValueIsTrue(value?: boolean | string): boolean {\n return value?.toString() === `true`;\n}\n","export function tuiCoerceValue<T>(\n value?: T,\n): Record<string, any> | T | boolean | number | string | null {\n const prepared = String(value).trim();\n\n if (isEmptyParamValue(prepared)) {\n return null;\n }\n\n if (isBooleanParamValue(prepared)) {\n return String(prepared) === `true`;\n }\n\n if (isNumberParamValue(prepared)) {\n return Number(prepared);\n }\n\n const decodedValue = decodeURIComponent(prepared);\n\n try {\n return isPossibleArray(decodedValue) || isPossibleObject(decodedValue)\n ? JSON.parse(decodedValue)\n : decodedValue;\n } catch {\n return decodedValue;\n }\n}\n\nfunction isEmptyParamValue(value: string): boolean {\n return [`undefined`, `null`, `NaN`].includes(value);\n}\n\nfunction isBooleanParamValue(value: string): boolean {\n return value === `true` || value === `false`;\n}\n\nfunction isNumberParamValue(value: string): boolean {\n return !!value.trim() && !Number.isNaN(Number(value)) && !value.startsWith(`+`);\n}\n\nfunction isPossibleArray(value: string): boolean {\n return value.startsWith(`[`) && value.endsWith(`]`);\n}\n\nfunction isPossibleObject(value: string): boolean {\n return value.startsWith(`{`) && value.endsWith(`}`);\n}\n","import {Type} from '@angular/core';\nimport {Routes} from '@angular/router';\n\nexport function tuiGenerateRoutes(type: Type<unknown>): Routes {\n return [\n {\n path: ``,\n component: type,\n children: [\n {\n path: `:tab`,\n component: type,\n },\n ],\n },\n ];\n}\n","function inspectArray(array: readonly unknown[], depth: number): string {\n if (depth === 0) {\n return `[…]`;\n }\n\n let result = ``;\n let first = true;\n\n for (let index = 0; index < array.length; index++) {\n if (first) {\n first = false;\n } else {\n result += `, `;\n }\n\n result += index in array ? tuiInspectAny(array[index], depth - 1) : `empty`;\n }\n\n return `[${result}]`;\n}\n\nfunction inspectObject(object: {[key: string]: unknown}, depth: number): string {\n if (depth === 0) {\n return `{…}`;\n }\n\n let result = ``;\n\n let first = true;\n\n for (const key in object) {\n if (!object.hasOwnProperty(key)) {\n continue;\n }\n\n if (first) {\n first = false;\n } else {\n result += `, `;\n }\n\n result += `${key}: ${tuiInspectAny(object[key], depth - 1)}`;\n }\n\n return `{${result}}`;\n}\n\n/**\n * Returns readable JS entity\n * @param data\n * @param depth\n * @return readable JS entity\n */\nexport function tuiInspectAny<T>(data: T, depth: number): string {\n if (data === null) {\n return `null`;\n }\n\n switch (typeof data) {\n case `string`:\n return `'${data}'`;\n case `undefined`:\n case `number`:\n case `boolean`:\n case `function`:\n return String(data);\n default:\n break;\n }\n\n if (data instanceof RegExp) {\n return String(data);\n }\n\n if (Array.isArray(data)) {\n return inspectArray(data, depth);\n }\n\n return inspectObject(data as unknown as {[key: string]: unknown}, depth);\n}\n","import {TuiDocPage, TuiDocPageGroup} from '@taiga-ui/addon-doc/interfaces';\n\nexport function tuiIsPageGroup(\n page: TuiDocPage | TuiDocPageGroup,\n): page is TuiDocPageGroup {\n return `subPages` in page;\n}\n","import MarkdownIt from 'markdown-it';\nimport Token from 'markdown-it/lib/token';\n\nexport function tuiTryParseMarkdownCodeBlock(text: string = ``): string[] {\n const tokens: Token[] = new MarkdownIt().parse(text, {});\n const result = tokens\n .filter(({tag, type}) => tag === `code` && type === `fence`)\n .map(({content}) => content.trim());\n\n return result.length ? result : [text];\n}\n","import {TuiRawLoaderContent} from '@taiga-ui/addon-doc/interfaces';\n\nexport async function tuiRawLoad(content: TuiRawLoaderContent): Promise<string> {\n return content instanceof Promise ? (await content).default : content;\n}\n","import type {TuiDocExample} from '@taiga-ui/addon-doc/interfaces';\n\nimport {tuiRawLoad} from './raw-load';\n\nexport async function tuiRawLoadRecord(\n example: TuiDocExample,\n): Promise<Record<string, string>> {\n const processedContent: Record<string, string> = {};\n\n for (const [key, content] of Object.entries(example)) {\n if (content) {\n processedContent[key] = await tuiRawLoad(content);\n }\n }\n\n return processedContent;\n}\n","import {TuiDocPage, TuiDocPageGroup} from '@taiga-ui/addon-doc/interfaces';\n\nimport {tuiIsPageGroup} from './is-page-group';\n\nexport function tuiSortPages<T extends TuiDocPage | TuiDocPageGroup>(\n pages: readonly T[],\n excludeSections = new Set<string>(),\n): readonly T[] {\n const sections = Array.from(new Set(pages.map(page => page.section)));\n\n const sortedPages = pages.slice().sort((a, b) => {\n if (\n excludeSections.has(a.section ?? ``) ||\n excludeSections.has(b.section ?? ``)\n ) {\n return 0;\n }\n\n const aSectionIndex = sections.indexOf(a.section);\n const bSectionIndex = sections.indexOf(b.section);\n\n if (aSectionIndex !== bSectionIndex) {\n return aSectionIndex - bSectionIndex;\n }\n\n if (a.title > b.title) {\n return 1;\n }\n\n return a.title.localeCompare(b.title);\n });\n\n return sortedPages.map(page =>\n tuiIsPageGroup(page)\n ? {\n ...page,\n subPages: tuiSortPages(page.subPages, excludeSections),\n }\n : page,\n );\n}\n","import type {TuiDocPage} from '@taiga-ui/addon-doc/interfaces';\nimport type {TuiDocPages} from '@taiga-ui/addon-doc/types';\n\nexport function tuiToFlatMapPages(pages: TuiDocPages): Map<string, TuiDocPage> {\n const map = new Map<string, TuiDocPage>();\n\n for (const page of pages) {\n if (`subPages` in page) {\n for (const subPage of page.subPages) {\n ngDevMode && assertTitle(subPage, map);\n map.set(subPage.title, subPage);\n }\n } else {\n ngDevMode && assertTitle(page, map);\n map.set(page.title, page);\n }\n }\n\n return map;\n}\n\nfunction assertTitle(page: TuiDocPage, map: Map<string, TuiDocPage>): void {\n if (map.has(page.title) && map.get(page.title)?.route !== page.route) {\n console.error(\n `Title for page should be unique for prevent inconsistent page names`,\n page,\n `<== Collisions between ==>`,\n map.get(page.title),\n );\n }\n}\n","const MAP: Record<string, string> = {\n а: `f`,\n б: `,`,\n в: `d`,\n г: `u`,\n д: `l`,\n е: `t`,\n ё: `\\``,\n ж: `;`,\n з: `p`,\n и: `b`,\n й: `q`,\n к: `r`,\n л: `k`,\n м: `v`,\n н: `y`,\n о: `j`,\n п: `g`,\n р: `h`,\n с: `c`,\n т: `n`,\n у: `e`,\n ф: `a`,\n х: `[`,\n ц: `w`,\n ч: `x`,\n ш: `i`,\n щ: `o`,\n ъ: `]`,\n ы: `s`,\n ь: `m`,\n ю: `.`,\n я: `z`,\n};\n\n/**\n * Translates text mistakenly typed in the Russian layout into English\n * @param string string with Russian layout characters\n * @return string with English layout characters\n */\nexport function tuiTransliterateKeyboardLayout(string: string): string {\n let newStr = ``;\n\n for (let i = 0; i < string.length; i++) {\n newStr += string.charAt(i) in MAP ? MAP[string.charAt(i)] : string.charAt(i);\n }\n\n return newStr;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/addon-doc",
3
- "version": "3.52.0",
3
+ "version": "3.53.0-canary.0974e5c",
4
4
  "description": "Taiga UI based library for developing documentation portals for Angular libraries.",
5
5
  "keywords": [
6
6
  "angular",
@@ -24,10 +24,10 @@
24
24
  "@angular/forms": ">=12.0.0",
25
25
  "@angular/router": ">=12.0.0",
26
26
  "@ng-web-apis/common": ">=3.0.0",
27
- "@taiga-ui/addon-mobile": ">=3.52.0",
28
- "@taiga-ui/cdk": ">=3.52.0",
29
- "@taiga-ui/core": ">=3.52.0",
30
- "@taiga-ui/kit": ">=3.52.0",
27
+ "@taiga-ui/addon-mobile": ">=3.53.0",
28
+ "@taiga-ui/cdk": ">=3.53.0",
29
+ "@taiga-ui/core": ">=3.53.0",
30
+ "@taiga-ui/kit": ">=3.53.0",
31
31
  "@tinkoff/ng-polymorpheus": ">=4.0.0"
32
32
  },
33
33
  "main": "bundles/taiga-ui-addon-doc.umd.js",
package/utils/index.d.ts CHANGED
@@ -2,8 +2,10 @@ export * from './coerce-boolean';
2
2
  export * from './coerce-value';
3
3
  export * from './generate-routes';
4
4
  export * from './inspect';
5
+ export * from './is-page-group';
5
6
  export * from './parse-code-block';
6
7
  export * from './raw-load';
7
8
  export * from './raw-load-record';
9
+ export * from './sort-pages';
8
10
  export * from './to-flat-map-pages';
9
11
  export * from './transliterate-keyboard-layout';
@@ -0,0 +1,2 @@
1
+ import { TuiDocPage, TuiDocPageGroup } from '@taiga-ui/addon-doc/interfaces';
2
+ export declare function tuiIsPageGroup(page: TuiDocPage | TuiDocPageGroup): page is TuiDocPageGroup;
@@ -0,0 +1,2 @@
1
+ import { TuiDocPage, TuiDocPageGroup } from '@taiga-ui/addon-doc/interfaces';
2
+ export declare function tuiSortPages<T extends TuiDocPage | TuiDocPageGroup>(pages: readonly T[], excludeSections?: Set<string>): readonly T[];