@redneckz/wildless-cms-uni-blocks 0.3.65 → 0.3.66
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.
- package/dist/content-page-repository/ContentPageRepository.d.ts +2 -1
- package/dist/content-page-repository/ContentPageRepository.js +16 -6
- package/dist/content-page-repository/ContentPageRepository.js.map +1 -1
- package/dist/icons/IconName.d.ts +1 -1
- package/dist/icons/IconName.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/lib/content-page-repository/ContentPageRepository.d.ts +2 -1
- package/lib/content-page-repository/ContentPageRepository.js +16 -6
- package/lib/content-page-repository/ContentPageRepository.js.map +1 -1
- package/lib/icons/IconName.d.ts +2 -2
- package/lib/icons/IconName.js.map +1 -1
- package/lib/types.d.ts +1 -1
- package/mobile/dist/content-page-repository/ContentPageRepository.d.ts +2 -1
- package/mobile/dist/content-page-repository/ContentPageRepository.js +16 -6
- package/mobile/dist/content-page-repository/ContentPageRepository.js.map +1 -1
- package/mobile/dist/icons/IconName.d.ts +2 -2
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/types.d.ts +1 -1
- package/mobile/lib/content-page-repository/ContentPageRepository.d.ts +2 -1
- package/mobile/lib/content-page-repository/ContentPageRepository.js +16 -6
- package/mobile/lib/content-page-repository/ContentPageRepository.js.map +1 -1
- package/mobile/lib/icons/IconName.d.ts +2 -2
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/types.d.ts +1 -1
- package/mobile/src/content-page-repository/ContentPageRepository.ts +26 -6
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/types.ts +1 -1
- package/package.json +2 -2
- package/src/content-page-repository/ContentPageRepository.ts +26 -6
- package/src/icons/IconName.ts +1 -1
- package/src/types.ts +1 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ContentPageDef } from '../types';
|
|
2
2
|
import type { TransformationOptions } from './TransformationOptions';
|
|
3
3
|
export declare function ContentPageRepository({ contentDir, publicDir, }?: Partial<TransformationOptions>): {
|
|
4
|
+
getAllContentPagesMap: () => Promise<Record<string, ContentPageDef>>;
|
|
4
5
|
getAllContentPages: () => Promise<ContentPageDef[]>;
|
|
5
6
|
getContentPageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
|
|
6
|
-
getSecondaryContentPages: () => Promise<ContentPageDef[]>;
|
|
7
|
+
getSecondaryContentPages: (customPageType?: string) => Promise<ContentPageDef[]>;
|
|
7
8
|
getIndexPage: () => Promise<ContentPageDef | undefined>;
|
|
8
9
|
};
|
|
@@ -8,19 +8,28 @@ const util_1 = __importDefault(require("util"));
|
|
|
8
8
|
const transformContentPage_1 = require("./transformContentPage");
|
|
9
9
|
const INDEX_PAGE_SLUG = 'index';
|
|
10
10
|
const find = util_1.default.promisify(glob_1.default);
|
|
11
|
-
|
|
11
|
+
const bySlug = (slug) => (content) => content.slug === slug;
|
|
12
|
+
const byCustomPageType = (type) => (content) => type ? content._customPageType === type : !content._customPageType;
|
|
13
|
+
const not = (predicate) => (_) => !predicate(_);
|
|
12
14
|
function ContentPageRepository({ contentDir = 'content', publicDir = 'public', } = {}) {
|
|
13
|
-
async function
|
|
15
|
+
async function getAllContentPagesMap() {
|
|
14
16
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
15
|
-
|
|
17
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
18
|
+
return pagePaths.reduce((result, path, i) => ({
|
|
19
|
+
...result,
|
|
20
|
+
[path]: pages[i],
|
|
21
|
+
}), {});
|
|
22
|
+
}
|
|
23
|
+
async function getAllContentPages() {
|
|
24
|
+
return Object.values(await getAllContentPagesMap());
|
|
16
25
|
}
|
|
17
|
-
async function getSecondaryContentPages() {
|
|
26
|
+
async function getSecondaryContentPages(customPageType) {
|
|
18
27
|
const pages = await getAllContentPages();
|
|
19
|
-
return pages.filter((
|
|
28
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
20
29
|
}
|
|
21
30
|
async function getContentPageBySlug(slug) {
|
|
22
31
|
const pages = await getAllContentPages();
|
|
23
|
-
return pages.find((
|
|
32
|
+
return pages.find(bySlug(slug));
|
|
24
33
|
}
|
|
25
34
|
async function getIndexPage() {
|
|
26
35
|
return await getContentPageBySlug(INDEX_PAGE_SLUG);
|
|
@@ -36,6 +45,7 @@ function ContentPageRepository({ contentDir = 'content', publicDir = 'public', }
|
|
|
36
45
|
return cache[filePath];
|
|
37
46
|
}
|
|
38
47
|
return {
|
|
48
|
+
getAllContentPagesMap,
|
|
39
49
|
getAllContentPages,
|
|
40
50
|
getContentPageBySlug,
|
|
41
51
|
getSecondaryContentPages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAGxB,iEAA8D;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,CAAC;AAElC,
|
|
1
|
+
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAGxB,iEAA8D;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,CAAC;AAElC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AACpF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CACtE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAErE,MAAM,GAAG,GACP,CAAM,SAA8B,EAAE,EAAE,CACxC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAElB,SAAgB,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,qBAAqB;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,MAAM;YACT,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,UAAU,wBAAwB,CAAC,cAAuB;QAC7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,YAAY;QACzB,OAAO,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAA,2CAAoB,EAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,kBAAkB;QAClB,oBAAoB;QACpB,wBAAwB;QACxB,YAAY;KACb,CAAC;AACJ,CAAC;AApDD,sDAoDC"}
|
package/dist/icons/IconName.d.ts
CHANGED
|
@@ -175,7 +175,7 @@ export declare enum IconTitleMap {
|
|
|
175
175
|
* @title Иконка
|
|
176
176
|
* @enumNames [
|
|
177
177
|
* "",
|
|
178
|
-
*
|
|
178
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
179
179
|
* ]
|
|
180
180
|
*/
|
|
181
181
|
export declare type IconName = '' | 'ActualBalanceIcon' | 'AirPlane' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowsRewindRight' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BurgerIcon' | 'BurgerIconWhite' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CalendarWhiteIcon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentTextIcon' | 'DollarIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EmptyWalletWhiteIcon' | 'EuroIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'GridIconWhite' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LoupeIcon' | 'MasterCardIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentageSquareWhiteIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCan';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -38,12 +38,12 @@ export interface ContentPageMeta {
|
|
|
38
38
|
jsonLd?: string;
|
|
39
39
|
}
|
|
40
40
|
export interface ContentPageDef extends ContentPageMeta {
|
|
41
|
+
_customPageType?: string;
|
|
41
42
|
style?: string[];
|
|
42
43
|
blocks?: BlockDef[];
|
|
43
44
|
slots?: SlotsMap;
|
|
44
45
|
likeControl?: boolean;
|
|
45
46
|
colorPalette?: ColorPalette;
|
|
46
|
-
_customPageType?: string;
|
|
47
47
|
}
|
|
48
48
|
export interface UniBlockProps {
|
|
49
49
|
className?: string;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ContentPageDef } from '../types';
|
|
2
2
|
import type { TransformationOptions } from './TransformationOptions';
|
|
3
3
|
export declare function ContentPageRepository({ contentDir, publicDir, }?: Partial<TransformationOptions>): {
|
|
4
|
+
getAllContentPagesMap: () => Promise<Record<string, ContentPageDef>>;
|
|
4
5
|
getAllContentPages: () => Promise<ContentPageDef[]>;
|
|
5
6
|
getContentPageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
|
|
6
|
-
getSecondaryContentPages: () => Promise<ContentPageDef[]>;
|
|
7
|
+
getSecondaryContentPages: (customPageType?: string) => Promise<ContentPageDef[]>;
|
|
7
8
|
getIndexPage: () => Promise<ContentPageDef | undefined>;
|
|
8
9
|
};
|
|
@@ -3,19 +3,28 @@ import util from 'util';
|
|
|
3
3
|
import { transformContentPage } from './transformContentPage.js';
|
|
4
4
|
const INDEX_PAGE_SLUG = 'index';
|
|
5
5
|
const find = util.promisify(glob);
|
|
6
|
-
|
|
6
|
+
const bySlug = (slug) => (content) => content.slug === slug;
|
|
7
|
+
const byCustomPageType = (type) => (content) => type ? content._customPageType === type : !content._customPageType;
|
|
8
|
+
const not = (predicate) => (_) => !predicate(_);
|
|
7
9
|
export function ContentPageRepository({ contentDir = 'content', publicDir = 'public', } = {}) {
|
|
8
|
-
async function
|
|
10
|
+
async function getAllContentPagesMap() {
|
|
9
11
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
10
|
-
|
|
12
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
13
|
+
return pagePaths.reduce((result, path, i) => ({
|
|
14
|
+
...result,
|
|
15
|
+
[path]: pages[i],
|
|
16
|
+
}), {});
|
|
17
|
+
}
|
|
18
|
+
async function getAllContentPages() {
|
|
19
|
+
return Object.values(await getAllContentPagesMap());
|
|
11
20
|
}
|
|
12
|
-
async function getSecondaryContentPages() {
|
|
21
|
+
async function getSecondaryContentPages(customPageType) {
|
|
13
22
|
const pages = await getAllContentPages();
|
|
14
|
-
return pages.filter((
|
|
23
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
15
24
|
}
|
|
16
25
|
async function getContentPageBySlug(slug) {
|
|
17
26
|
const pages = await getAllContentPages();
|
|
18
|
-
return pages.find((
|
|
27
|
+
return pages.find(bySlug(slug));
|
|
19
28
|
}
|
|
20
29
|
async function getIndexPage() {
|
|
21
30
|
return await getContentPageBySlug(INDEX_PAGE_SLUG);
|
|
@@ -31,6 +40,7 @@ export function ContentPageRepository({ contentDir = 'content', publicDir = 'pub
|
|
|
31
40
|
return cache[filePath];
|
|
32
41
|
}
|
|
33
42
|
return {
|
|
43
|
+
getAllContentPagesMap,
|
|
34
44
|
getAllContentPages,
|
|
35
45
|
getContentPageBySlug,
|
|
36
46
|
getSecondaryContentPages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,
|
|
1
|
+
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AACpF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CACtE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAErE,MAAM,GAAG,GACP,CAAM,SAA8B,EAAE,EAAE,CACxC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAElB,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,qBAAqB;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,MAAM;YACT,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,UAAU,wBAAwB,CAAC,cAAuB;QAC7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,YAAY;QACzB,OAAO,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,kBAAkB;QAClB,oBAAoB;QACpB,wBAAwB;QACxB,YAAY;KACb,CAAC;AACJ,CAAC"}
|
package/lib/icons/IconName.d.ts
CHANGED
|
@@ -175,7 +175,7 @@ export declare enum IconTitleMap {
|
|
|
175
175
|
* @title Иконка
|
|
176
176
|
* @enumNames [
|
|
177
177
|
* "",
|
|
178
|
-
*
|
|
178
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
179
179
|
* ]
|
|
180
180
|
*/
|
|
181
|
-
export declare type IconName =
|
|
181
|
+
export declare type IconName = '' | 'ActualBalanceIcon' | 'AirPlane' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowsRewindRight' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BurgerIcon' | 'BurgerIconWhite' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CalendarWhiteIcon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentTextIcon' | 'DollarIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EmptyWalletWhiteIcon' | 'EuroIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'GridIconWhite' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LoupeIcon' | 'MasterCardIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentageSquareWhiteIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCan';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"AACA,0BAA0B;AAC1B,8BAA8B;AAE9B,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0CAA+B,CAAA;IAAE,0CAA+B,CAAA;IAAE,kDAAuC,CAAA;IAAE,sCAA2B,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8CAAmC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,gDAAqC,CAAA;IAAE,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,sCAA2B,CAAA;IAAE,wCAA6B,CAAA;IAAE,8CAAmC,CAAA;IAAE,8BAAmB,CAAA;IAAE,8CAAmC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,kCAAuB,CAAA;IAAE,sDAA2C,CAAA;IAAE,8CAAmC,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gDAAqC,CAAA;IAAE,gCAAqB,CAAA;IAAE,gDAAqC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0DAA+C,CAAA;IAAE,8CAAmC,CAAA;IAAE,wDAA6C,CAAA;IAAE,gCAAqB,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,oDAAyC,CAAA;IAAE,kDAAuC,CAAA;IAAE,oCAAyB,CAAA;IAAE,oCAAyB,CAAA;IAAE,4BAAiB,CAAA;IAAE,wCAA6B,CAAA;IAAE,sDAA2C,CAAA;IAAE,wDAA6C,CAAA;IAAE,kEAAuD,CAAA;IAAE,gDAAqC,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,gDAAqC,CAAA;IAAE,sCAA2B,CAAA;IAAE,sCAA2B,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,gCAAqB,CAAA;IAAE,4BAAiB,CAAA;IAAE,4CAAiC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oCAAyB,CAAA;IAAE,sDAA2C,CAAA;IAAE,sCAA2B,CAAA;AACxmF,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB;AAED,MAAM,CAAN,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,0EAA4B,CAAA;IAAE,uEAAoB,CAAA;IAAE,wEAA0B,CAAA;IAAE,uGAAkC,CAAA;IAAE,4EAAyB,CAAA;IAAE,gFAA6B,CAAA;IAAE,yGAA6B,CAAA;IAAE,4EAAoB,CAAA;IAAE,qDAAiB,CAAA;IAAE,mEAAqB,CAAA;IAAE,yGAAkC,CAAA;IAAE,0FAA6B,CAAA;IAAE,gKAA4C,CAAA;IAAE,uFAA0B,CAAA;IAAE,mJAAyC,CAAA;IAAE,2HAAqC,CAAA;IAAE,qFAAwB,CAAA;IAAE,4JAAwC,CAAA;IAAE,iJAAuC,CAAA;IAAE,oKAA2C,CAAA;IAAE,gEAAkB,CAAA;IAAE,8JAA0C,CAAA;IAAE,uDAAmB,CAAA;IAAE,sDAAkB,CAAA;IAAE,wEAAqB,CAAA;IAAE,4EAA8B,CAAA;IAAE,yHAAmC,CAAA;IAAE,0EAA4B,CAAA;IAAE,4EAAoB,CAAA;IAAE,0JAA2C,CAAA;IAAE,mFAAsB,CAAA;IAAE,uIAAuC,CAAA;IAAE,mEAAqB,CAAA;IAAE,4DAAmB,CAAA;IAAE,uLAAoD,CAAA;IAAE,mHAAkC,CAAA;IAAE,yJAA+C,CAAA;IAAE,qDAAiB,CAAA;IAAE,gGAA8B,CAAA;IAAE,wEAAqB,CAAA;IAAE,mEAAqB,CAAA;IAAE,+BAAe,CAAA;IAAE,2DAAkB,CAAA;IAAE,iGAA+B,CAAA;IAAE,4HAAsC,CAAA;IAAE,qEAAuB,CAAA;IAAE,+BAAe,CAAA;IAAE,sDAAkB,CAAA;IAAE,6CAA6B,CAAA;IAAE,4DAAmB,CAAA;IAAE,8CAAe,CAAA;IAAE,kEAAoB,CAAA;IAAE,0JAA2C,CAAA;IAAE,8IAAyC,CAAA;IAAE,8GAA6B,CAAA;IAAE,uDAAmB,CAAA;IAAE,8IAA+B,CAAA;IAAE,qEAAuB,CAAA;IAAE,oHAAwC,CAAA;IAAE,yFAAiC,CAAA;IAAE,6HAA4C,CAAA;IAAE,4IAAuC,CAAA;IAAE,kFAAoC,CAAA;IAAE,qDAAiB,CAAA;IAAE,gDAAiB,CAAA;IAAE,6HAAuC,CAAA;IAAE,0EAAuB,CAAA;IAAE,8DAAqB,CAAA;IAAE,6FAAgC,CAAA;IAAE,qDAAiB,CAAA;IAAE,2GAA+B,CAAA;IAAE,0JAAsC,CAAA;IAAE,kHAAiC,CAAA;IAAE,sDAAkB,CAAA;IAAE,8EAAgC,CAAA;IAAE,yCAAyB,CAAA;IAAE,yGAA6B,CAAA;IAAE,iCAAiB,CAAA;IAAE,kEAAoB,CAAA;IAAE,8HAAmC,CAAA;IAAE,wHAAkC,CAAA;IAAE,yEAAsB,CAAA;IAAE,0IAA0C,CAAA;IAAE,2HAAgC,CAAA;AACpgF,CAAC,EAFW,YAAY,KAAZ,YAAY,QAEvB"}
|
package/lib/types.d.ts
CHANGED
|
@@ -38,12 +38,12 @@ export interface ContentPageMeta {
|
|
|
38
38
|
jsonLd?: string;
|
|
39
39
|
}
|
|
40
40
|
export interface ContentPageDef extends ContentPageMeta {
|
|
41
|
+
_customPageType?: string;
|
|
41
42
|
style?: string[];
|
|
42
43
|
blocks?: BlockDef[];
|
|
43
44
|
slots?: SlotsMap;
|
|
44
45
|
likeControl?: boolean;
|
|
45
46
|
colorPalette?: ColorPalette;
|
|
46
|
-
_customPageType?: string;
|
|
47
47
|
}
|
|
48
48
|
export interface UniBlockProps {
|
|
49
49
|
className?: string;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ContentPageDef } from '../types';
|
|
2
2
|
import type { TransformationOptions } from './TransformationOptions';
|
|
3
3
|
export declare function ContentPageRepository({ contentDir, publicDir, }?: Partial<TransformationOptions>): {
|
|
4
|
+
getAllContentPagesMap: () => Promise<Record<string, ContentPageDef>>;
|
|
4
5
|
getAllContentPages: () => Promise<ContentPageDef[]>;
|
|
5
6
|
getContentPageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
|
|
6
|
-
getSecondaryContentPages: () => Promise<ContentPageDef[]>;
|
|
7
|
+
getSecondaryContentPages: (customPageType?: string) => Promise<ContentPageDef[]>;
|
|
7
8
|
getIndexPage: () => Promise<ContentPageDef | undefined>;
|
|
8
9
|
};
|
|
@@ -8,19 +8,28 @@ const util_1 = __importDefault(require("util"));
|
|
|
8
8
|
const transformContentPage_1 = require("./transformContentPage");
|
|
9
9
|
const INDEX_PAGE_SLUG = 'index';
|
|
10
10
|
const find = util_1.default.promisify(glob_1.default);
|
|
11
|
-
|
|
11
|
+
const bySlug = (slug) => (content) => content.slug === slug;
|
|
12
|
+
const byCustomPageType = (type) => (content) => type ? content._customPageType === type : !content._customPageType;
|
|
13
|
+
const not = (predicate) => (_) => !predicate(_);
|
|
12
14
|
function ContentPageRepository({ contentDir = 'content', publicDir = 'public', } = {}) {
|
|
13
|
-
async function
|
|
15
|
+
async function getAllContentPagesMap() {
|
|
14
16
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
15
|
-
|
|
17
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
18
|
+
return pagePaths.reduce((result, path, i) => ({
|
|
19
|
+
...result,
|
|
20
|
+
[path]: pages[i],
|
|
21
|
+
}), {});
|
|
22
|
+
}
|
|
23
|
+
async function getAllContentPages() {
|
|
24
|
+
return Object.values(await getAllContentPagesMap());
|
|
16
25
|
}
|
|
17
|
-
async function getSecondaryContentPages() {
|
|
26
|
+
async function getSecondaryContentPages(customPageType) {
|
|
18
27
|
const pages = await getAllContentPages();
|
|
19
|
-
return pages.filter((
|
|
28
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
20
29
|
}
|
|
21
30
|
async function getContentPageBySlug(slug) {
|
|
22
31
|
const pages = await getAllContentPages();
|
|
23
|
-
return pages.find((
|
|
32
|
+
return pages.find(bySlug(slug));
|
|
24
33
|
}
|
|
25
34
|
async function getIndexPage() {
|
|
26
35
|
return await getContentPageBySlug(INDEX_PAGE_SLUG);
|
|
@@ -36,6 +45,7 @@ function ContentPageRepository({ contentDir = 'content', publicDir = 'public', }
|
|
|
36
45
|
return cache[filePath];
|
|
37
46
|
}
|
|
38
47
|
return {
|
|
48
|
+
getAllContentPagesMap,
|
|
39
49
|
getAllContentPages,
|
|
40
50
|
getContentPageBySlug,
|
|
41
51
|
getSecondaryContentPages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAGxB,iEAA8D;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,CAAC;AAElC,
|
|
1
|
+
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AACxB,gDAAwB;AAGxB,iEAA8D;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,cAAI,CAAC,SAAS,CAAC,cAAI,CAAC,CAAC;AAElC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AACpF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CACtE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAErE,MAAM,GAAG,GACP,CAAM,SAA8B,EAAE,EAAE,CACxC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAElB,SAAgB,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,qBAAqB;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,MAAM;YACT,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,UAAU,wBAAwB,CAAC,cAAuB;QAC7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,YAAY;QACzB,OAAO,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAA,2CAAoB,EAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,kBAAkB;QAClB,oBAAoB;QACpB,wBAAwB;QACxB,YAAY;KACb,CAAC;AACJ,CAAC;AApDD,sDAoDC"}
|
|
@@ -175,7 +175,7 @@ export declare enum IconTitleMap {
|
|
|
175
175
|
* @title Иконка
|
|
176
176
|
* @enumNames [
|
|
177
177
|
* "",
|
|
178
|
-
*
|
|
178
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
179
179
|
* ]
|
|
180
180
|
*/
|
|
181
|
-
export declare type IconName =
|
|
181
|
+
export declare type IconName = '' | 'ActualBalanceIcon' | 'AirPlane' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowsRewindRight' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BurgerIcon' | 'BurgerIconWhite' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CalendarWhiteIcon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentTextIcon' | 'DollarIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EmptyWalletWhiteIcon' | 'EuroIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'GridIconWhite' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LoupeIcon' | 'MasterCardIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentageSquareWhiteIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCan';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"AACA,0BAA0B;AAC1B,8BAA8B;;;AAE9B,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0CAA+B,CAAA;IAAE,0CAA+B,CAAA;IAAE,kDAAuC,CAAA;IAAE,sCAA2B,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8CAAmC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,gDAAqC,CAAA;IAAE,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,sCAA2B,CAAA;IAAE,wCAA6B,CAAA;IAAE,8CAAmC,CAAA;IAAE,8BAAmB,CAAA;IAAE,8CAAmC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,kCAAuB,CAAA;IAAE,sDAA2C,CAAA;IAAE,8CAAmC,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gDAAqC,CAAA;IAAE,gCAAqB,CAAA;IAAE,gDAAqC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0DAA+C,CAAA;IAAE,8CAAmC,CAAA;IAAE,wDAA6C,CAAA;IAAE,gCAAqB,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,oDAAyC,CAAA;IAAE,kDAAuC,CAAA;IAAE,oCAAyB,CAAA;IAAE,oCAAyB,CAAA;IAAE,4BAAiB,CAAA;IAAE,wCAA6B,CAAA;IAAE,sDAA2C,CAAA;IAAE,wDAA6C,CAAA;IAAE,kEAAuD,CAAA;IAAE,gDAAqC,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,gDAAqC,CAAA;IAAE,sCAA2B,CAAA;IAAE,sCAA2B,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,gCAAqB,CAAA;IAAE,4BAAiB,CAAA;IAAE,4CAAiC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oCAAyB,CAAA;IAAE,sDAA2C,CAAA;IAAE,sCAA2B,CAAA;AACxmF,CAAC,EAFW,OAAO,GAAP,eAAO,KAAP,eAAO,QAElB;AAED,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,0EAA4B,CAAA;IAAE,uEAAoB,CAAA;IAAE,wEAA0B,CAAA;IAAE,
|
|
1
|
+
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"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"}
|
package/mobile/dist/types.d.ts
CHANGED
|
@@ -38,12 +38,12 @@ export interface ContentPageMeta {
|
|
|
38
38
|
jsonLd?: string;
|
|
39
39
|
}
|
|
40
40
|
export interface ContentPageDef extends ContentPageMeta {
|
|
41
|
+
_customPageType?: string;
|
|
41
42
|
style?: string[];
|
|
42
43
|
blocks?: BlockDef[];
|
|
43
44
|
slots?: SlotsMap;
|
|
44
45
|
likeControl?: boolean;
|
|
45
46
|
colorPalette?: ColorPalette;
|
|
46
|
-
_customPageType?: string;
|
|
47
47
|
}
|
|
48
48
|
export interface UniBlockProps {
|
|
49
49
|
className?: string;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ContentPageDef } from '../types';
|
|
2
2
|
import type { TransformationOptions } from './TransformationOptions';
|
|
3
3
|
export declare function ContentPageRepository({ contentDir, publicDir, }?: Partial<TransformationOptions>): {
|
|
4
|
+
getAllContentPagesMap: () => Promise<Record<string, ContentPageDef>>;
|
|
4
5
|
getAllContentPages: () => Promise<ContentPageDef[]>;
|
|
5
6
|
getContentPageBySlug: (slug: string) => Promise<ContentPageDef | undefined>;
|
|
6
|
-
getSecondaryContentPages: () => Promise<ContentPageDef[]>;
|
|
7
|
+
getSecondaryContentPages: (customPageType?: string) => Promise<ContentPageDef[]>;
|
|
7
8
|
getIndexPage: () => Promise<ContentPageDef | undefined>;
|
|
8
9
|
};
|
|
@@ -3,19 +3,28 @@ import util from 'util';
|
|
|
3
3
|
import { transformContentPage } from './transformContentPage.js';
|
|
4
4
|
const INDEX_PAGE_SLUG = 'index';
|
|
5
5
|
const find = util.promisify(glob);
|
|
6
|
-
|
|
6
|
+
const bySlug = (slug) => (content) => content.slug === slug;
|
|
7
|
+
const byCustomPageType = (type) => (content) => type ? content._customPageType === type : !content._customPageType;
|
|
8
|
+
const not = (predicate) => (_) => !predicate(_);
|
|
7
9
|
export function ContentPageRepository({ contentDir = 'content', publicDir = 'public', } = {}) {
|
|
8
|
-
async function
|
|
10
|
+
async function getAllContentPagesMap() {
|
|
9
11
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
10
|
-
|
|
12
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
13
|
+
return pagePaths.reduce((result, path, i) => ({
|
|
14
|
+
...result,
|
|
15
|
+
[path]: pages[i],
|
|
16
|
+
}), {});
|
|
17
|
+
}
|
|
18
|
+
async function getAllContentPages() {
|
|
19
|
+
return Object.values(await getAllContentPagesMap());
|
|
11
20
|
}
|
|
12
|
-
async function getSecondaryContentPages() {
|
|
21
|
+
async function getSecondaryContentPages(customPageType) {
|
|
13
22
|
const pages = await getAllContentPages();
|
|
14
|
-
return pages.filter((
|
|
23
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
15
24
|
}
|
|
16
25
|
async function getContentPageBySlug(slug) {
|
|
17
26
|
const pages = await getAllContentPages();
|
|
18
|
-
return pages.find((
|
|
27
|
+
return pages.find(bySlug(slug));
|
|
19
28
|
}
|
|
20
29
|
async function getIndexPage() {
|
|
21
30
|
return await getContentPageBySlug(INDEX_PAGE_SLUG);
|
|
@@ -31,6 +40,7 @@ export function ContentPageRepository({ contentDir = 'content', publicDir = 'pub
|
|
|
31
40
|
return cache[filePath];
|
|
32
41
|
}
|
|
33
42
|
return {
|
|
43
|
+
getAllContentPagesMap,
|
|
34
44
|
getAllContentPages,
|
|
35
45
|
getContentPageBySlug,
|
|
36
46
|
getSecondaryContentPages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,
|
|
1
|
+
{"version":3,"file":"ContentPageRepository.js","sourceRoot":"","sources":["../../src/content-page-repository/ContentPageRepository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,MAAM,eAAe,GAAG,OAAO,CAAC;AAChC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC;AACpF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,OAAuB,EAAE,EAAE,CACtE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;AAErE,MAAM,GAAG,GACP,CAAM,SAA8B,EAAE,EAAE,CACxC,CAAC,CAAM,EAAE,EAAE,CACT,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAElB,MAAM,UAAU,qBAAqB,CAAC,EACpC,UAAU,GAAG,SAAS,EACtB,SAAS,GAAG,QAAQ,MACc,EAAE;IACpC,KAAK,UAAU,qBAAqB;QAClC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,UAAU,iBAAiB,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC,MAAM,CACrB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACpB,GAAG,MAAM;YACT,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;SACjB,CAAC,EACF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,UAAU,kBAAkB;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,qBAAqB,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,UAAU,wBAAwB,CAAC,cAAuB;QAC7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,KAAK,UAAU,oBAAoB,CAAC,IAAY;QAC9C,MAAM,KAAK,GAAG,MAAM,kBAAkB,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,UAAU,YAAY;QACzB,OAAO,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,KAAK,GAAmC,EAAE,CAAC;IACjD,KAAK,UAAU,QAAQ,CAAC,QAAgB;QACtC,IAAI,CAAC,CAAC,QAAQ,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,QAAQ,CAAC,GAAG,MAAM,oBAAoB,CAAC,QAAQ,EAAE;gBACrD,UAAU;gBACV,SAAS;aACV,CAAC,CAAC;SACJ;QACD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC;IAED,OAAO;QACL,qBAAqB;QACrB,kBAAkB;QAClB,oBAAoB;QACpB,wBAAwB;QACxB,YAAY;KACb,CAAC;AACJ,CAAC"}
|
|
@@ -175,7 +175,7 @@ export declare enum IconTitleMap {
|
|
|
175
175
|
* @title Иконка
|
|
176
176
|
* @enumNames [
|
|
177
177
|
* "",
|
|
178
|
-
*
|
|
178
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
179
179
|
* ]
|
|
180
180
|
*/
|
|
181
|
-
export declare type IconName =
|
|
181
|
+
export declare type IconName = '' | 'ActualBalanceIcon' | 'AirPlane' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowsRewindRight' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BurgerIcon' | 'BurgerIconWhite' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CalendarWhiteIcon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentTextIcon' | 'DollarIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EmptyWalletWhiteIcon' | 'EuroIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'GridIconWhite' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LoupeIcon' | 'MasterCardIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentageSquareWhiteIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCan';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"AACA,0BAA0B;AAC1B,8BAA8B;AAE9B,MAAM,CAAN,IAAY,OAEX;AAFD,WAAY,OAAO;IACjB,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0CAA+B,CAAA;IAAE,0CAA+B,CAAA;IAAE,kDAAuC,CAAA;IAAE,sCAA2B,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8CAAmC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,gDAAqC,CAAA;IAAE,kDAAuC,CAAA;IAAE,gCAAqB,CAAA;IAAE,sCAA2B,CAAA;IAAE,wCAA6B,CAAA;IAAE,8CAAmC,CAAA;IAAE,8BAAmB,CAAA;IAAE,8CAAmC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,kCAAuB,CAAA;IAAE,sDAA2C,CAAA;IAAE,8CAAmC,CAAA;IAAE,kDAAuC,CAAA;IAAE,8BAAmB,CAAA;IAAE,gDAAqC,CAAA;IAAE,gCAAqB,CAAA;IAAE,gDAAqC,CAAA;IAAE,oCAAyB,CAAA;IAAE,kCAAuB,CAAA;IAAE,0DAA+C,CAAA;IAAE,8CAAmC,CAAA;IAAE,wDAA6C,CAAA;IAAE,gCAAqB,CAAA;IAAE,8CAAmC,CAAA;IAAE,kCAAuB,CAAA;IAAE,oCAAyB,CAAA;IAAE,8BAAmB,CAAA;IAAE,gCAAqB,CAAA;IAAE,0CAA+B,CAAA;IAAE,oDAAyC,CAAA;IAAE,wCAA6B,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,8BAAmB,CAAA;IAAE,kCAAuB,CAAA;IAAE,oDAAyC,CAAA;IAAE,kDAAuC,CAAA;IAAE,oCAAyB,CAAA;IAAE,oCAAyB,CAAA;IAAE,4BAAiB,CAAA;IAAE,wCAA6B,CAAA;IAAE,sDAA2C,CAAA;IAAE,wDAA6C,CAAA;IAAE,kEAAuD,CAAA;IAAE,gDAAqC,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,kCAAuB,CAAA;IAAE,gDAAqC,CAAA;IAAE,sCAA2B,CAAA;IAAE,sCAA2B,CAAA;IAAE,4CAAiC,CAAA;IAAE,gCAAqB,CAAA;IAAE,4CAAiC,CAAA;IAAE,wCAA6B,CAAA;IAAE,4CAAiC,CAAA;IAAE,kCAAuB,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,wCAA6B,CAAA;IAAE,gCAAqB,CAAA;IAAE,4BAAiB,CAAA;IAAE,4CAAiC,CAAA;IAAE,0CAA+B,CAAA;IAAE,oCAAyB,CAAA;IAAE,sDAA2C,CAAA;IAAE,sCAA2B,CAAA;AACxmF,CAAC,EAFW,OAAO,KAAP,OAAO,QAElB;AAED,MAAM,CAAN,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,0EAA4B,CAAA;IAAE,uEAAoB,CAAA;IAAE,wEAA0B,CAAA;IAAE,
|
|
1
|
+
{"version":3,"file":"IconName.js","sourceRoot":"","sources":["../../src/icons/IconName.ts"],"names":[],"mappings":"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"}
|
package/mobile/lib/types.d.ts
CHANGED
|
@@ -38,12 +38,12 @@ export interface ContentPageMeta {
|
|
|
38
38
|
jsonLd?: string;
|
|
39
39
|
}
|
|
40
40
|
export interface ContentPageDef extends ContentPageMeta {
|
|
41
|
+
_customPageType?: string;
|
|
41
42
|
style?: string[];
|
|
42
43
|
blocks?: BlockDef[];
|
|
43
44
|
slots?: SlotsMap;
|
|
44
45
|
likeControl?: boolean;
|
|
45
46
|
colorPalette?: ColorPalette;
|
|
46
|
-
_customPageType?: string;
|
|
47
47
|
}
|
|
48
48
|
export interface UniBlockProps {
|
|
49
49
|
className?: string;
|
|
@@ -7,24 +7,43 @@ import { transformContentPage } from './transformContentPage';
|
|
|
7
7
|
const INDEX_PAGE_SLUG = 'index';
|
|
8
8
|
const find = util.promisify(glob);
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const bySlug = (slug: string) => (content: ContentPageDef) => content.slug === slug;
|
|
11
|
+
const byCustomPageType = (type?: string) => (content: ContentPageDef) =>
|
|
12
|
+
type ? content._customPageType === type : !content._customPageType;
|
|
13
|
+
|
|
14
|
+
const not =
|
|
15
|
+
<Arg>(predicate: (_: Arg) => boolean) =>
|
|
16
|
+
(_: Arg) =>
|
|
17
|
+
!predicate(_);
|
|
18
|
+
|
|
11
19
|
export function ContentPageRepository({
|
|
12
20
|
contentDir = 'content',
|
|
13
21
|
publicDir = 'public',
|
|
14
22
|
}: Partial<TransformationOptions> = {}) {
|
|
15
|
-
async function
|
|
23
|
+
async function getAllContentPagesMap(): Promise<Record<string, ContentPageDef>> {
|
|
16
24
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
17
|
-
|
|
25
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
26
|
+
return pagePaths.reduce(
|
|
27
|
+
(result, path, i) => ({
|
|
28
|
+
...result,
|
|
29
|
+
[path]: pages[i],
|
|
30
|
+
}),
|
|
31
|
+
{},
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async function getAllContentPages(): Promise<ContentPageDef[]> {
|
|
36
|
+
return Object.values(await getAllContentPagesMap());
|
|
18
37
|
}
|
|
19
38
|
|
|
20
|
-
async function getSecondaryContentPages() {
|
|
39
|
+
async function getSecondaryContentPages(customPageType?: string) {
|
|
21
40
|
const pages = await getAllContentPages();
|
|
22
|
-
return pages.filter((
|
|
41
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
23
42
|
}
|
|
24
43
|
|
|
25
44
|
async function getContentPageBySlug(slug: string): Promise<ContentPageDef | undefined> {
|
|
26
45
|
const pages = await getAllContentPages();
|
|
27
|
-
return pages.find((
|
|
46
|
+
return pages.find(bySlug(slug));
|
|
28
47
|
}
|
|
29
48
|
|
|
30
49
|
async function getIndexPage() {
|
|
@@ -43,6 +62,7 @@ export function ContentPageRepository({
|
|
|
43
62
|
}
|
|
44
63
|
|
|
45
64
|
return {
|
|
65
|
+
getAllContentPagesMap,
|
|
46
66
|
getAllContentPages,
|
|
47
67
|
getContentPageBySlug,
|
|
48
68
|
getSecondaryContentPages,
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
/* eslint-disable max-lines */
|
|
4
4
|
|
|
5
5
|
export enum IconMap {
|
|
6
|
-
ActualBalanceIcon =
|
|
6
|
+
ActualBalanceIcon = 'ActualBalanceIcon', AirPlane = 'AirPlane', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowsRewindRight = 'ArrowsRewindRight', ArrowUpIcon = 'ArrowUpIcon', AtmIcon = 'AtmIcon', BankIcon = 'BankIcon', BurgerIcon = 'BurgerIcon', BurgerIconWhite = 'BurgerIconWhite', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', CalendarWhiteIcon = 'CalendarWhiteIcon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', CinemaIcon = 'CinemaIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EmptyWalletWhiteIcon = 'EmptyWalletWhiteIcon', EuroIcon = 'EuroIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', GridIconWhite = 'GridIconWhite', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LoupeIcon = 'LoupeIcon', MasterCardIcon = 'MasterCardIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PercentageSquareWhiteIcon = 'PercentageSquareWhiteIcon', PersonalCardIcon = 'PersonalCardIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCan = 'WateringCan'
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export enum IconTitleMap {
|
|
10
|
-
ActualBalanceIcon =
|
|
10
|
+
ActualBalanceIcon = 'Деньги', AirPlane = 'Самолет', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowLeftIcon = 'Стрелка', ArrowsRewindRight = 'Стрелка', ArrowUpIcon = 'Стрелка вверх', AtmIcon = 'Банкомат', BankIcon = 'Банк', BurgerIcon = 'Бургер', BurgerIconWhite = 'Бургер (белый)', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', CalendarWhiteIcon = 'Календарь белый', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', CinemaIcon = 'Кино', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EmptyWalletWhiteIcon = 'Пустой кошелёк (белый)', EuroIcon = 'Евро', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка', GridIconWhite = 'Сетка (белая)', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LoupeIcon = 'Лупа', MasterCardIcon = 'MasterCard', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PercentageSquareWhiteIcon = 'Проценты белые', PersonalCardIcon = 'Персональная карта', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCan = 'Добавить продукт'
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -15,7 +15,7 @@ export enum IconTitleMap {
|
|
|
15
15
|
* @title Иконка
|
|
16
16
|
* @enumNames [
|
|
17
17
|
* "",
|
|
18
|
-
*
|
|
18
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
19
19
|
* ]
|
|
20
20
|
*/
|
|
21
|
-
export type IconName =
|
|
21
|
+
export type IconName = '' | 'ActualBalanceIcon' | 'AirPlane' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowLeftIcon' | 'ArrowsRewindRight' | 'ArrowUpIcon' | 'AtmIcon' | 'BankIcon' | 'BurgerIcon' | 'BurgerIconWhite' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CalendarWhiteIcon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'CinemaIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentTextIcon' | 'DollarIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EmptyWalletWhiteIcon' | 'EuroIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'GridIconWhite' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LoupeIcon' | 'MasterCardIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentageSquareWhiteIcon' | 'PersonalCardIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCan';
|
package/mobile/src/types.ts
CHANGED
|
@@ -45,12 +45,12 @@ export interface ContentPageMeta {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export interface ContentPageDef extends ContentPageMeta {
|
|
48
|
+
_customPageType?: string;
|
|
48
49
|
style?: string[];
|
|
49
50
|
blocks?: BlockDef[];
|
|
50
51
|
slots?: SlotsMap;
|
|
51
52
|
likeControl?: boolean;
|
|
52
53
|
colorPalette?: ColorPalette;
|
|
53
|
-
_customPageType?: string;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export interface UniBlockProps {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@redneckz/wildless-cms-uni-blocks",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.66",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "ЦК",
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
"scripts": {
|
|
73
73
|
"start": "npm run cosmos",
|
|
74
74
|
"start:mobile": "npm run cosmos:mobile",
|
|
75
|
-
"prebuild": "rimraf ./mobile/src",
|
|
75
|
+
"prebuild": "rimraf ./mobile/src && npm run build:icons",
|
|
76
76
|
"build": "npm run build:lib && npm run build:commonjs && npm run bundle && npm run build:style && npm run build:design && npm run size && npm run build:mobile",
|
|
77
77
|
"prebuild:mobile": "rimraf ./mobile/src && node ./scripts/prebuild-mobile.js ./src ./mobile",
|
|
78
78
|
"build:mobile": "npm run --prefix ./mobile build",
|
|
@@ -7,24 +7,43 @@ import { transformContentPage } from './transformContentPage';
|
|
|
7
7
|
const INDEX_PAGE_SLUG = 'index';
|
|
8
8
|
const find = util.promisify(glob);
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
const bySlug = (slug: string) => (content: ContentPageDef) => content.slug === slug;
|
|
11
|
+
const byCustomPageType = (type?: string) => (content: ContentPageDef) =>
|
|
12
|
+
type ? content._customPageType === type : !content._customPageType;
|
|
13
|
+
|
|
14
|
+
const not =
|
|
15
|
+
<Arg>(predicate: (_: Arg) => boolean) =>
|
|
16
|
+
(_: Arg) =>
|
|
17
|
+
!predicate(_);
|
|
18
|
+
|
|
11
19
|
export function ContentPageRepository({
|
|
12
20
|
contentDir = 'content',
|
|
13
21
|
publicDir = 'public',
|
|
14
22
|
}: Partial<TransformationOptions> = {}) {
|
|
15
|
-
async function
|
|
23
|
+
async function getAllContentPagesMap(): Promise<Record<string, ContentPageDef>> {
|
|
16
24
|
const pagePaths = await find(`${contentDir}/**/*.page.json`);
|
|
17
|
-
|
|
25
|
+
const pages = await Promise.all(pagePaths.map(readPage));
|
|
26
|
+
return pagePaths.reduce(
|
|
27
|
+
(result, path, i) => ({
|
|
28
|
+
...result,
|
|
29
|
+
[path]: pages[i],
|
|
30
|
+
}),
|
|
31
|
+
{},
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
async function getAllContentPages(): Promise<ContentPageDef[]> {
|
|
36
|
+
return Object.values(await getAllContentPagesMap());
|
|
18
37
|
}
|
|
19
38
|
|
|
20
|
-
async function getSecondaryContentPages() {
|
|
39
|
+
async function getSecondaryContentPages(customPageType?: string) {
|
|
21
40
|
const pages = await getAllContentPages();
|
|
22
|
-
return pages.filter((
|
|
41
|
+
return pages.filter(not(bySlug(INDEX_PAGE_SLUG))).filter(byCustomPageType(customPageType));
|
|
23
42
|
}
|
|
24
43
|
|
|
25
44
|
async function getContentPageBySlug(slug: string): Promise<ContentPageDef | undefined> {
|
|
26
45
|
const pages = await getAllContentPages();
|
|
27
|
-
return pages.find((
|
|
46
|
+
return pages.find(bySlug(slug));
|
|
28
47
|
}
|
|
29
48
|
|
|
30
49
|
async function getIndexPage() {
|
|
@@ -43,6 +62,7 @@ export function ContentPageRepository({
|
|
|
43
62
|
}
|
|
44
63
|
|
|
45
64
|
return {
|
|
65
|
+
getAllContentPagesMap,
|
|
46
66
|
getAllContentPages,
|
|
47
67
|
getContentPageBySlug,
|
|
48
68
|
getSecondaryContentPages,
|
package/src/icons/IconName.ts
CHANGED
|
@@ -180,7 +180,7 @@ export enum IconTitleMap {
|
|
|
180
180
|
* @title Иконка
|
|
181
181
|
* @enumNames [
|
|
182
182
|
* "",
|
|
183
|
-
*
|
|
183
|
+
* 'Деньги', 'Самолет', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка', 'Стрелка', 'Стрелка вверх', 'Банкомат', 'Банк', 'Бургер', 'Бургер (белый)', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Календарь белый', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Кино', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документ с текстом', 'Доллар', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Пустой кошелёк (белый)', 'Евро', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка', 'Сетка (белая)', 'Диаграмма роста', 'Скидка', 'JCB', 'Лупа', 'MasterCard', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'Проценты белые', 'Персональная карта', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Лого «Telegram»', 'UnionPay', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт'
|
|
184
184
|
* ]
|
|
185
185
|
*/
|
|
186
186
|
export type IconName =
|
package/src/types.ts
CHANGED
|
@@ -45,12 +45,12 @@ export interface ContentPageMeta {
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
export interface ContentPageDef extends ContentPageMeta {
|
|
48
|
+
_customPageType?: string;
|
|
48
49
|
style?: string[];
|
|
49
50
|
blocks?: BlockDef[];
|
|
50
51
|
slots?: SlotsMap;
|
|
51
52
|
likeControl?: boolean;
|
|
52
53
|
colorPalette?: ColorPalette;
|
|
53
|
-
_customPageType?: string;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
export interface UniBlockProps {
|