@redneckz/wildless-cms-uni-blocks 0.13.5 → 0.13.6
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/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +59 -40
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/bundle/components/Header/HeaderSubMenu.d.ts +1 -1
- package/bundle/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/bundle/icons/IconName.d.ts +4 -2
- package/bundle/model/HeadlineType.d.ts +1 -1
- package/bundle/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/cosmos-static/icons/CourtHouseIcon.svg +1 -0
- package/dist/components/ButtonsBlock/ButtonsBlock.js +9 -1
- package/dist/components/ButtonsBlock/ButtonsBlock.js.map +1 -1
- package/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/dist/components/Header/HeaderSubMenu.d.ts +1 -1
- package/dist/components/Header/HeaderSubMenu.js +4 -4
- package/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/dist/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/dist/icons/IconName.d.ts +4 -2
- package/dist/icons/IconName.js +2 -0
- package/dist/icons/IconName.js.map +1 -1
- package/dist/model/HeadlineType.d.ts +1 -1
- package/dist/ui-kit/DialogManager/DialogManager.js +9 -29
- package/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
- package/dist/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/dist/ui-kit/DialogManager/useDialogsList.js +37 -0
- package/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -0
- package/lib/components/ButtonsBlock/ButtonsBlock.js +9 -1
- package/lib/components/ButtonsBlock/ButtonsBlock.js.map +1 -1
- package/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/lib/components/Header/HeaderSubMenu.d.ts +1 -1
- package/lib/components/Header/HeaderSubMenu.js +4 -4
- package/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/lib/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/lib/icons/IconName.d.ts +4 -2
- package/lib/icons/IconName.js +2 -0
- package/lib/icons/IconName.js.map +1 -1
- package/lib/model/HeadlineType.d.ts +1 -1
- package/lib/ui-kit/DialogManager/DialogManager.js +9 -29
- package/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
- package/lib/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/lib/ui-kit/DialogManager/useDialogsList.js +34 -0
- package/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +29 -10
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/mobile/bundle/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/mobile/bundle/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/mobile/bundle/components/Header/HeaderSubMenu.d.ts +1 -1
- package/mobile/bundle/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/mobile/bundle/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/mobile/bundle/icons/IconName.d.ts +4 -2
- package/mobile/bundle/model/HeadlineType.d.ts +1 -1
- package/mobile/bundle/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/mobile/dist/components/ButtonsBlock/ButtonsBlock.js +9 -1
- package/mobile/dist/components/ButtonsBlock/ButtonsBlock.js.map +1 -1
- package/mobile/dist/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/mobile/dist/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/mobile/dist/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/mobile/dist/components/Header/HeaderSubMenu.d.ts +1 -1
- package/mobile/dist/components/Header/HeaderSubMenu.js +4 -4
- package/mobile/dist/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/dist/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/mobile/dist/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/mobile/dist/icons/IconName.d.ts +4 -2
- package/mobile/dist/icons/IconName.js +2 -0
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/dist/model/HeadlineType.d.ts +1 -1
- package/mobile/dist/ui-kit/DialogManager/DialogManager.js +9 -29
- package/mobile/dist/ui-kit/DialogManager/DialogManager.js.map +1 -1
- package/mobile/dist/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/mobile/dist/ui-kit/DialogManager/useDialogsList.js +37 -0
- package/mobile/dist/ui-kit/DialogManager/useDialogsList.js.map +1 -0
- package/mobile/lib/components/ButtonsBlock/ButtonsBlock.js +9 -1
- package/mobile/lib/components/ButtonsBlock/ButtonsBlock.js.map +1 -1
- package/mobile/lib/components/ButtonsBlock/ButtonsBlockContent.d.ts +2 -0
- package/mobile/lib/components/CarouselProductCard/CarouselProductCardContent.d.ts +2 -4
- package/mobile/lib/components/CarouselRecommendationCard/CarouselRecommendationCardContent.d.ts +2 -4
- package/mobile/lib/components/Header/HeaderSubMenu.d.ts +1 -1
- package/mobile/lib/components/Header/HeaderSubMenu.js +4 -4
- package/mobile/lib/components/Header/HeaderSubMenu.js.map +1 -1
- package/mobile/lib/components/LinkDocs/LinkDocsContent.d.ts +2 -5
- package/mobile/lib/components/ParagraphBlock/ParagraphBlockContent.d.ts +3 -3
- package/mobile/lib/icons/IconName.d.ts +4 -2
- package/mobile/lib/icons/IconName.js +2 -0
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/lib/model/HeadlineType.d.ts +1 -1
- package/mobile/lib/ui-kit/DialogManager/DialogManager.js +9 -29
- package/mobile/lib/ui-kit/DialogManager/DialogManager.js.map +1 -1
- package/mobile/lib/ui-kit/DialogManager/useDialogsList.d.ts +7 -0
- package/mobile/lib/ui-kit/DialogManager/useDialogsList.js +34 -0
- package/mobile/lib/ui-kit/DialogManager/useDialogsList.js.map +1 -0
- package/mobile/src/components/ButtonsBlock/ButtonsBlock.tsx +22 -5
- package/mobile/src/components/ButtonsBlock/ButtonsBlockContent.ts +2 -0
- package/mobile/src/components/CarouselProductCard/CarouselProductCardContent.ts +7 -4
- package/mobile/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +3 -4
- package/mobile/src/components/Header/HeaderSubMenu.tsx +17 -15
- package/mobile/src/components/Headline/Headline.example.json +1 -1
- package/mobile/src/components/LinkDocs/LinkDocsContent.ts +3 -5
- package/mobile/src/components/ParagraphBlock/ParagraphBlockContent.ts +9 -8
- package/mobile/src/icons/CourtHouseIcon.svg +1 -0
- package/mobile/src/icons/IconName.ts +4 -4
- package/mobile/src/model/HeadlineType.ts +1 -1
- package/mobile/src/ui-kit/DialogManager/DialogManager.tsx +9 -34
- package/mobile/src/ui-kit/DialogManager/useDialogsList.ts +50 -0
- package/package.json +1 -1
- package/src/components/ButtonsBlock/ButtonsBlock.tsx +22 -5
- package/src/components/ButtonsBlock/ButtonsBlockContent.ts +2 -0
- package/src/components/CarouselProductCard/CarouselProductCardContent.ts +7 -4
- package/src/components/CarouselRecommendationCard/CarouselRecommendationCardContent.ts +3 -4
- package/src/components/Header/HeaderSubMenu.tsx +17 -15
- package/src/components/Headline/Headline.example.json +1 -1
- package/src/components/LinkDocs/LinkDocsContent.ts +3 -5
- package/src/components/ParagraphBlock/ParagraphBlockContent.ts +9 -8
- package/src/icons/CourtHouseIcon.svg +1 -0
- package/src/icons/IconName.ts +4 -1
- package/src/model/HeadlineType.ts +1 -1
- package/src/ui-kit/DialogManager/DialogManager.tsx +9 -34
- package/src/ui-kit/DialogManager/useDialogsList.ts +50 -0
|
@@ -7,11 +7,11 @@ export const IconsWithoutInversion = new Set([
|
|
|
7
7
|
]);
|
|
8
8
|
|
|
9
9
|
export enum IconMap {
|
|
10
|
-
ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowDownSolidIcon = 'ArrowDownSolidIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowUpIcon = 'ArrowUpIcon', ArrowUpSolidIcon = 'ArrowUpSolidIcon', AtmIcon = 'AtmIcon', BagIcon = 'BagIcon', BankIcon = 'BankIcon', BelarusianFlag = 'BelarusianFlag', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', ChevronLeftIcon = 'ChevronLeftIcon', CinemaIcon = 'CinemaIcon', ClientIcon = 'ClientIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MailIcon = 'MailIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PercentIcon = 'PercentIcon', PersonalCardIcon = 'PersonalCardIcon', PhoneIcon = 'PhoneIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', ResponceFailIcon = 'ResponceFailIcon', ResponceOKIcon = 'ResponceOKIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon', YoutubeIcon = 'YoutubeIcon'
|
|
10
|
+
ActualBalanceIcon = 'ActualBalanceIcon', AirPlaneIcon = 'AirPlaneIcon', AppleIcon = 'AppleIcon', ArrowDownIcon = 'ArrowDownIcon', ArrowDownSolidIcon = 'ArrowDownSolidIcon', ArrowLeftIcon = 'ArrowLeftIcon', ArrowRightIcon = 'ArrowRightIcon', ArrowTopRightIcon = 'ArrowTopRightIcon', ArrowUpIcon = 'ArrowUpIcon', ArrowUpSolidIcon = 'ArrowUpSolidIcon', AtmIcon = 'AtmIcon', BagIcon = 'BagIcon', BankIcon = 'BankIcon', BelarusianFlag = 'BelarusianFlag', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'BuildingIcon', BurgerIcon = 'BurgerIcon', Calendar2Icon = 'Calendar2Icon', CalendarCircleIcon = 'CalendarCircleIcon', CalendarIcon = 'CalendarIcon', CalendarTickIcon = 'CalendarTickIcon', Car2Icon = 'Car2Icon', CardIcon = 'CardIcon', CardPosIcon = 'CardPosIcon', CardTickIcon = 'CardTickIcon', CardWithGemIcon = 'CardWithGemIcon', CarIcon = 'CarIcon', ChartSquareIcon = 'ChartSquareIcon', ChevronLeftIcon = 'ChevronLeftIcon', CinemaIcon = 'CinemaIcon', ClientIcon = 'ClientIcon', ClockIcon = 'ClockIcon', CloseIcon = 'CloseIcon', ComfortableCompIcon = 'ComfortableCompIcon', CourtHouseIcon = 'CourtHouseIcon', CreditCardsIcon = 'CreditCardsIcon', DiscountShapeIcon = 'DiscountShapeIcon', DocDownloadIcon = 'DocDownloadIcon', DocIcon = 'DocIcon', DocIconMonoColor = 'DocIconMonoColor', DocsIcon = 'DocsIcon', DocumentText2Icon = 'DocumentText2Icon', DocumentTextIcon = 'DocumentTextIcon', DollarIcon = 'DollarIcon', DoneIcon = 'DoneIcon', DoneSimpleIcon = 'DoneSimpleIcon', EarthIcon = 'EarthIcon', EmptyWalletChangeIcon = 'EmptyWalletChangeIcon', EmptyWalletIcon = 'EmptyWalletIcon', EuroIcon = 'EuroIcon', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'GeolocationIcon', GlassIcon = 'GlassIcon', GlobalIcon = 'GlobalIcon', GpsIcon = 'GpsIcon', GridIcon = 'GridIcon', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'HeartIcon', HuaweiIcon = 'HuaweiIcon', InterestGrowthIcon = 'InterestGrowthIcon', InterestIcon = 'InterestIcon', JCBIcon = 'JCBIcon', LogoIcon = 'LogoIcon', LoupeIcon = 'LoupeIcon', MailIcon = 'MailIcon', MapMarkerClusterIcon = 'MapMarkerClusterIcon', MapMarkerSingleIcon = 'MapMarkerSingleIcon', MasterCardIcon = 'MasterCardIcon', MetroIcon = 'MetroIcon', MinusIcon = 'MinusIcon', MirIcon = 'MirIcon', MoneyIcon = 'MoneyIcon', MoneyInsuranceIcon = 'MoneyInsuranceIcon', MoneysIcon = 'MoneysIcon', MonitorMobileIcon = 'MonitorMobileIcon', NewDocIcon = 'NewDocIcon', OfficeIcon = 'OfficeIcon', OkIcon = 'OkIcon', PackA4Icon = 'PackA4Icon', PassSendIcon = 'PassSendIcon', PercentageRoundIcon = 'PercentageRoundIcon', PercentageSquareIcon = 'PercentageSquareIcon', PercentIcon = 'PercentIcon', PersonalCardIcon = 'PersonalCardIcon', PhoneIcon = 'PhoneIcon', PlayMarketIcon = 'PlayMarketIcon', PlusIcon = 'PlusIcon', PowerIcon = 'PowerIcon', Profile2UserIcon = 'Profile2UserIcon', ProfileIcon = 'ProfileIcon', PumpkinIcon = 'PumpkinIcon', ResponceFailIcon = 'ResponceFailIcon', ResponceOKIcon = 'ResponceOKIcon', RoundRubleIcon = 'RoundRubleIcon', SafeIcon = 'SafeIcon', ShieldTickIcon = 'ShieldTickIcon', SignDocsIcon = 'SignDocsIcon', SmallClockIcon = 'SmallClockIcon', SoundIcon = 'SoundIcon', StrongBoxIcon = 'StrongBoxIcon', TelegramIcon = 'TelegramIcon', UnionPayIcon = 'UnionPayIcon', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'UserSquareIcon', UserTickIcon = 'UserTickIcon', VisaIcon = 'VisaIcon', VKIcon = 'VKIcon', WalletAdd2Icon = 'WalletAdd2Icon', WalletAddIcon = 'WalletAddIcon', WalletIcon = 'WalletIcon', WalletWithMoneyIcon = 'WalletWithMoneyIcon', WateringCanIcon = 'WateringCanIcon', YoutubeIcon = 'YoutubeIcon'
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export enum IconTitleMap {
|
|
14
|
-
ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BagIcon = 'Сумка', BankIcon = 'Банк', BelarusianFlag = 'Белорусский флаг', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeftIcon = 'Стрелка \'Влево\'', CinemaIcon = 'Кинотеатр', ClientIcon = 'Клиент', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MailIcon = 'E-mail', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PercentIcon = 'PercentIcon', PersonalCardIcon = 'Персональная карта', PhoneIcon = 'Телефон', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', ResponceFailIcon = 'Ошибка', ResponceOKIcon = 'Ок', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт', YoutubeIcon = 'Лого «Youtube»'
|
|
14
|
+
ActualBalanceIcon = 'Деньги', AirPlaneIcon = 'Самолёт', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BagIcon = 'Сумка', BankIcon = 'Банк', BelarusianFlag = 'Белорусский флаг', BriefcaseIcon = 'BriefcaseIcon', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', Calendar2Icon = 'Календарь 2', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', Car2Icon = 'Машина2', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardTickIcon = 'Кред. карта с галочкой', CardWithGemIcon = 'Карта с драгоценностями', CarIcon = 'Машина', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeftIcon = 'Стрелка \'Влево\'', CinemaIcon = 'Кинотеатр', ClientIcon = 'Клиент', ClockIcon = 'Часы', CloseIcon = 'Крестик', ComfortableCompIcon = 'Кресло', CourtHouseIcon = 'Здание суда', CreditCardsIcon = 'Кредитные карты', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DocIconMonoColor = 'Документ (одноцветный)', DocsIcon = 'Документы', DocumentText2Icon = 'Документы-2', DocumentTextIcon = 'Документ с текстом', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', EarthIcon = 'Земля', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlassIcon = 'Зеркало', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HuaweiIcon = 'Лого «Huawei»', InterestGrowthIcon = 'Диаграмма роста', InterestIcon = 'Скидка', JCBIcon = 'JCB', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MailIcon = 'E-mail', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MasterCardIcon = 'MasterCard', MetroIcon = 'Лого Метро', MinusIcon = 'Минус', MirIcon = 'МИР', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MoneysIcon = 'Купюры', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', OfficeIcon = 'Офис', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentageSquareIcon = 'Проценты', PercentIcon = 'PercentIcon', PersonalCardIcon = 'Персональная карта', PhoneIcon = 'Телефон', PlayMarketIcon = 'Лого «PlayMarket»', PlusIcon = 'Плюс', PowerIcon = 'Щит', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', PumpkinIcon = 'Тыква', ResponceFailIcon = 'Ошибка', ResponceOKIcon = 'Ок', RoundRubleIcon = 'Рубль (круг.)', SafeIcon = 'Сейф', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Звук', StrongBoxIcon = 'Ящик с замочной скважиной', TelegramIcon = 'Лого «Telegram»', UnionPayIcon = 'UnionPay', UserGeoLocationIcon = 'UserGeoLocationIcon', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VisaIcon = 'Visa', VKIcon = 'Лого «VK»', WalletAdd2Icon = 'Пополнение карты', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', WateringCanIcon = 'Добавить продукт', YoutubeIcon = 'Лого «Youtube»'
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/**
|
|
@@ -19,7 +19,7 @@ export enum IconTitleMap {
|
|
|
19
19
|
* @title Иконка
|
|
20
20
|
* @enumNames [
|
|
21
21
|
* "",
|
|
22
|
-
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'Белорусский флаг', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
|
|
22
|
+
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'Белорусский флаг', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Здание суда', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
|
|
23
23
|
* ]
|
|
24
24
|
*/
|
|
25
|
-
export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowDownSolidIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'ArrowUpSolidIcon' | 'AtmIcon' | 'BagIcon' | 'BankIcon' | 'BelarusianFlag' | 'BriefcaseIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'ChevronLeftIcon' | 'CinemaIcon' | 'ClientIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeadphonesIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MailIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentIcon' | 'PersonalCardIcon' | 'PhoneIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'ResponceFailIcon' | 'ResponceOKIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon' | 'YoutubeIcon';
|
|
25
|
+
export type IconName = '' | 'ActualBalanceIcon' | 'AirPlaneIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowDownSolidIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'ArrowUpSolidIcon' | 'AtmIcon' | 'BagIcon' | 'BankIcon' | 'BelarusianFlag' | 'BriefcaseIcon' | 'BuildingIcon' | 'BurgerIcon' | 'Calendar2Icon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'Car2Icon' | 'CardIcon' | 'CardPosIcon' | 'CardTickIcon' | 'CardWithGemIcon' | 'CarIcon' | 'ChartSquareIcon' | 'ChevronLeftIcon' | 'CinemaIcon' | 'ClientIcon' | 'ClockIcon' | 'CloseIcon' | 'ComfortableCompIcon' | 'CourtHouseIcon' | 'CreditCardsIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DocIconMonoColor' | 'DocsIcon' | 'DocumentText2Icon' | 'DocumentTextIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'EarthIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlassIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeadphonesIcon' | 'HeartIcon' | 'HuaweiIcon' | 'InterestGrowthIcon' | 'InterestIcon' | 'JCBIcon' | 'LogoIcon' | 'LoupeIcon' | 'MailIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MasterCardIcon' | 'MetroIcon' | 'MinusIcon' | 'MirIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MoneysIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'OfficeIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentageSquareIcon' | 'PercentIcon' | 'PersonalCardIcon' | 'PhoneIcon' | 'PlayMarketIcon' | 'PlusIcon' | 'PowerIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'PumpkinIcon' | 'ResponceFailIcon' | 'ResponceOKIcon' | 'RoundRubleIcon' | 'SafeIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'StrongBoxIcon' | 'TelegramIcon' | 'UnionPayIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VisaIcon' | 'VKIcon' | 'WalletAdd2Icon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'WateringCanIcon' | 'YoutubeIcon';
|
|
@@ -1,49 +1,24 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import { defaultEventBus } from '../../EventBus/defaultEventBus';
|
|
4
|
-
import { useList } from '../../hooks/useList';
|
|
5
|
-
import { assertUnreachable } from '../../utils/assertUnreachable';
|
|
6
3
|
import { style } from '../../utils/style';
|
|
7
4
|
import type { DialogOpenAction } from './DialogAction';
|
|
5
|
+
import { useDialogManager } from './useDialogManager';
|
|
6
|
+
import { useDialogsList } from './useDialogsList';
|
|
8
7
|
|
|
9
8
|
export const DialogManager = JSX(() => {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const closeAll = useCallback(() => {
|
|
9
|
+
const handleCloseAll = useCallback((dialogs: DialogOpenAction[]) => {
|
|
13
10
|
for (const _ of dialogs) {
|
|
14
|
-
_
|
|
11
|
+
_?.onClose && _.onClose();
|
|
15
12
|
}
|
|
13
|
+
}, []);
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
}, [dialogs]);
|
|
19
|
-
|
|
20
|
-
const close = useCallback(() => {
|
|
21
|
-
const _ = dialogs[dialogs.length - 1];
|
|
15
|
+
const handleClose = useCallback((_: DialogOpenAction) => {
|
|
22
16
|
_?.onClose && _.onClose();
|
|
17
|
+
}, []);
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
}, [dialogs]);
|
|
19
|
+
const dialogs = useDialogsList({ onCloseAll: handleCloseAll, onClose: handleClose });
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
() =>
|
|
29
|
-
defaultEventBus.subscribe('dialog', (action) => {
|
|
30
|
-
switch (action.type) {
|
|
31
|
-
case 'open':
|
|
32
|
-
push(action);
|
|
33
|
-
break;
|
|
34
|
-
case 'close':
|
|
35
|
-
if (action.all) {
|
|
36
|
-
closeAll();
|
|
37
|
-
} else {
|
|
38
|
-
close();
|
|
39
|
-
}
|
|
40
|
-
break;
|
|
41
|
-
default:
|
|
42
|
-
assertUnreachable(action);
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
[closeAll, close],
|
|
46
|
-
);
|
|
21
|
+
const { close } = useDialogManager();
|
|
47
22
|
|
|
48
23
|
useEffect(() => {
|
|
49
24
|
const handleEscape = ({ key }: { key: string }) => {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { defaultEventBus } from '../../EventBus/defaultEventBus';
|
|
3
|
+
import { useList } from '../../hooks/useList';
|
|
4
|
+
import { assertUnreachable } from '../../utils/assertUnreachable';
|
|
5
|
+
import type { DialogOpenAction } from './DialogAction';
|
|
6
|
+
|
|
7
|
+
interface DialogsListOptions {
|
|
8
|
+
onCloseAll?: (dialogs: DialogOpenAction[]) => void;
|
|
9
|
+
onClose?: (_: DialogOpenAction) => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const useDialogsList = ({
|
|
13
|
+
onCloseAll,
|
|
14
|
+
onClose,
|
|
15
|
+
}: DialogsListOptions = {}): DialogOpenAction[] => {
|
|
16
|
+
const [dialogs, { push, pop, clear }] = useList<DialogOpenAction>();
|
|
17
|
+
|
|
18
|
+
const closeAll = useCallback(() => {
|
|
19
|
+
onCloseAll && onCloseAll(dialogs);
|
|
20
|
+
clear();
|
|
21
|
+
}, [dialogs, onCloseAll]);
|
|
22
|
+
|
|
23
|
+
const close = useCallback(() => {
|
|
24
|
+
onClose && onClose(dialogs[dialogs.length - 1]);
|
|
25
|
+
pop();
|
|
26
|
+
}, [dialogs, onClose]);
|
|
27
|
+
|
|
28
|
+
useEffect(
|
|
29
|
+
() =>
|
|
30
|
+
defaultEventBus.subscribe('dialog', (action) => {
|
|
31
|
+
switch (action.type) {
|
|
32
|
+
case 'open':
|
|
33
|
+
push(action);
|
|
34
|
+
break;
|
|
35
|
+
case 'close':
|
|
36
|
+
if (action.all) {
|
|
37
|
+
closeAll();
|
|
38
|
+
} else {
|
|
39
|
+
close();
|
|
40
|
+
}
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
assertUnreachable(action);
|
|
44
|
+
}
|
|
45
|
+
}),
|
|
46
|
+
[closeAll, close],
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
return dialogs;
|
|
50
|
+
};
|
package/package.json
CHANGED
|
@@ -4,11 +4,28 @@ import { BlockWrapper } from '../../ui-kit/BlockWrapper';
|
|
|
4
4
|
import { renderButtonsSection } from '../../ui-kit/Button/renderButtonsSection';
|
|
5
5
|
import { style } from '../../utils/style';
|
|
6
6
|
import type { ButtonsBlockContent } from './ButtonsBlockContent';
|
|
7
|
+
import type { Align } from '../../model/Align';
|
|
7
8
|
|
|
8
9
|
interface ButtonsBlockProps extends ButtonsBlockContent, UniBlockProps {}
|
|
9
10
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
const alignStyleMap: Record<Align, string> = {
|
|
12
|
+
start: 'justify-start',
|
|
13
|
+
center: 'justify-center',
|
|
14
|
+
end: 'justify-end',
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export const ButtonsBlock = JSX<ButtonsBlockProps>(
|
|
18
|
+
({ buttons, className = '', align, ...rest }) => {
|
|
19
|
+
const alignStyle = align ? style('flex', alignStyleMap[align]) : '';
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<BlockWrapper
|
|
23
|
+
className={style('!bg-transparent', alignStyle, className)}
|
|
24
|
+
defaultPadding="p-0"
|
|
25
|
+
{...rest}
|
|
26
|
+
>
|
|
27
|
+
{renderButtonsSection(buttons)}
|
|
28
|
+
</BlockWrapper>
|
|
29
|
+
);
|
|
30
|
+
},
|
|
31
|
+
);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
2
|
+
import type { Align } from '../../model/Align';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @title Блок кнопок
|
|
@@ -6,4 +7,5 @@ import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
|
6
7
|
export interface ButtonsBlockContent {
|
|
7
8
|
/** @title Кнопки */
|
|
8
9
|
buttons?: ButtonContent[];
|
|
10
|
+
align?: Align;
|
|
9
11
|
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import type { BulletsProps } from '../../model/Bullets';
|
|
2
|
-
import type {
|
|
2
|
+
import type {
|
|
3
|
+
AdditionalDescriptionProps,
|
|
4
|
+
AlignProps,
|
|
5
|
+
HeadlineSmallProps,
|
|
6
|
+
} from '../../model/HeadlineType';
|
|
3
7
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
4
8
|
import type { IconProps } from '../../model/Picture';
|
|
5
9
|
import type { LinkCommonProps } from '../../model/LinkProps';
|
|
6
|
-
import type { TextAlign } from '../../ui-kit/Text/TextProps';
|
|
7
10
|
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
8
11
|
|
|
9
12
|
/**
|
|
@@ -22,10 +25,10 @@ export type CarouselProductCardContent = UniBlockContent &
|
|
|
22
25
|
AdditionalDescriptionProps &
|
|
23
26
|
IconProps &
|
|
24
27
|
BulletsProps &
|
|
25
|
-
LinkCommonProps &
|
|
28
|
+
LinkCommonProps &
|
|
29
|
+
AlignProps & {
|
|
26
30
|
/** @title Список */
|
|
27
31
|
items?: ListProps[];
|
|
28
|
-
align?: TextAlign;
|
|
29
32
|
/** @title Изображение на всю ширину */
|
|
30
33
|
isImageFullWidth?: boolean;
|
|
31
34
|
/** @title Картинка сверху над текстом */
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
1
|
+
import type { AlignProps, HeadlineCommonProps } from '../../model/HeadlineType';
|
|
2
2
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
3
3
|
import type { LinkCommonProps } from '../../model/LinkProps';
|
|
4
4
|
import type { IconProps } from '../../model/Picture';
|
|
5
5
|
import type { ListContent } from '../../ui-kit/List/ListContent';
|
|
6
|
-
import type { TextAlign } from '../../ui-kit/Text/TextProps';
|
|
7
6
|
import type { ButtonContent } from '../../ui-kit/Button/ButtonContent';
|
|
8
7
|
|
|
9
8
|
export type RecommendationSocialMedia = LinkCommonProps & IconProps & ButtonContent;
|
|
@@ -15,8 +14,8 @@ export type CarouselRecommendationCardContent = UniBlockContent &
|
|
|
15
14
|
HeadlineCommonProps &
|
|
16
15
|
ListContent &
|
|
17
16
|
IconProps &
|
|
18
|
-
LinkCommonProps &
|
|
17
|
+
LinkCommonProps &
|
|
18
|
+
AlignProps & {
|
|
19
19
|
/** @title Соц сети */
|
|
20
20
|
socialMedia?: RecommendationSocialMedia[];
|
|
21
|
-
align?: TextAlign;
|
|
22
21
|
};
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useMemo, useRef, useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import { useRouter } from '../../hooks/useRouter';
|
|
4
|
-
import { findActiveSubItem } from './findActiveSubItem';
|
|
5
|
-
import { DropdownMenu } from './DropdownMenu';
|
|
6
|
-
import { HeaderSubMenuItem } from './HeaderSubMenuItem';
|
|
7
3
|
import { projectSettings } from '../../ProjectSettings';
|
|
8
|
-
import { HeaderChatBotButton } from './HeaderChatBotButton';
|
|
9
|
-
import { InternetBankButton } from './InternetBankButton';
|
|
10
|
-
import type { LinkProps } from '../../model/LinkProps';
|
|
11
4
|
import type { IntersectionObserverOptions } from '../../hooks/useIntersectionObserver';
|
|
5
|
+
import { useRouter } from '../../hooks/useRouter';
|
|
12
6
|
import type { BlockVersion } from '../../model/BlockVersion';
|
|
13
7
|
import type { IconVersion } from '../../model/IconVersion';
|
|
8
|
+
import type { LinkProps } from '../../model/LinkProps';
|
|
9
|
+
import { DropdownMenu } from './DropdownMenu';
|
|
10
|
+
import { HeaderChatBotButton } from './HeaderChatBotButton';
|
|
11
|
+
import { HeaderSubMenuItem } from './HeaderSubMenuItem';
|
|
12
|
+
import { InternetBankButton } from './InternetBankButton';
|
|
13
|
+
import { findActiveSubItem } from './findActiveSubItem';
|
|
14
14
|
|
|
15
15
|
export interface HeaderSubMenuProps {
|
|
16
16
|
version?: BlockVersion;
|
|
@@ -68,14 +68,16 @@ export const HeaderSubMenu = JSX<HeaderSubMenuProps>(
|
|
|
68
68
|
activeItem={activeSubItem}
|
|
69
69
|
/>
|
|
70
70
|
) : null}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
<div className="flex">
|
|
72
|
+
{projectSettings.CHAT_BOT ? (
|
|
73
|
+
<HeaderChatBotButton
|
|
74
|
+
className="ml-4xl"
|
|
75
|
+
iconVersion={iconVersion}
|
|
76
|
+
chat={projectSettings.CHAT_BOT}
|
|
77
|
+
/>
|
|
78
|
+
) : null}
|
|
79
|
+
<InternetBankButton version={version} internetBankUrl={internetBankUrl} />
|
|
80
|
+
</div>
|
|
79
81
|
</nav>
|
|
80
82
|
);
|
|
81
83
|
},
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Attachment } from '../../model/Attachment';
|
|
2
2
|
import { EmptyOption } from '../../model/EmptyOptionType';
|
|
3
|
-
import type { HeadlineCommonProps } from '../../model/HeadlineType';
|
|
3
|
+
import type { AlignProps, HeadlineCommonProps } from '../../model/HeadlineType';
|
|
4
4
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
5
5
|
import type { LinkProps, Target } from '../../model/LinkProps';
|
|
6
6
|
import type { IconProps } from '../../model/Picture';
|
|
7
|
-
import type { TextAlign } from '../../ui-kit/Text/TextProps';
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* @title Отображение списка
|
|
@@ -52,10 +51,9 @@ export type DocBlockDef = EmptyOption | LinkDocDef | AttachmentDocDef;
|
|
|
52
51
|
*/
|
|
53
52
|
export type LinkDocsContent = UniBlockContent &
|
|
54
53
|
HeadlineCommonProps &
|
|
55
|
-
IconProps &
|
|
54
|
+
IconProps &
|
|
55
|
+
AlignProps & {
|
|
56
56
|
/** @title Список */
|
|
57
57
|
documents?: DocBlockDef[];
|
|
58
58
|
columnsMode?: LinkColumnsMode;
|
|
59
|
-
/** @title Выравнивание */
|
|
60
|
-
align?: TextAlign;
|
|
61
59
|
};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import type { UniBlockContent } from '../../model/JSXBlock';
|
|
2
|
-
import type { FontWeight,
|
|
2
|
+
import type { FontWeight, TextSize } from '../../ui-kit/Text/TextProps';
|
|
3
|
+
import type { AlignProps } from '../../model/HeadlineType';
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* @title Параграф
|
|
6
7
|
*/
|
|
7
|
-
export type ParagraphBlockContent = UniBlockContent &
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
};
|
|
8
|
+
export type ParagraphBlockContent = UniBlockContent &
|
|
9
|
+
AlignProps & {
|
|
10
|
+
size?: TextSize;
|
|
11
|
+
font?: FontWeight;
|
|
12
|
+
/** @title Текст */
|
|
13
|
+
text?: string;
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg title="Здание суда" isInverse="true" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><path stroke="#1C1C1C" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M2 22h20M12 2c1.6.64 3.4.64 5 0v3c-1.6.64-3.4.64-5 0V2ZM12 5v3M4 15.91V22h16V11c0-2-1-3-3-3H7c-2 0-3 1-3 3v1M4 12h15.42"/><path stroke="#1C1C1C" stroke-linejoin="round" stroke-miterlimit="10" stroke-width="2" d="M7.992 12v10M11.992 12v10M15.992 12v10"/></svg>
|
package/src/icons/IconName.ts
CHANGED
|
@@ -86,6 +86,7 @@ export enum IconMap {
|
|
|
86
86
|
ClockIcon = 'ClockIcon',
|
|
87
87
|
CloseIcon = 'CloseIcon',
|
|
88
88
|
ComfortableCompIcon = 'ComfortableCompIcon',
|
|
89
|
+
CourtHouseIcon = 'CourtHouseIcon',
|
|
89
90
|
CreditCardsIcon = 'CreditCardsIcon',
|
|
90
91
|
DiscountShapeIcon = 'DiscountShapeIcon',
|
|
91
92
|
DocDownloadIcon = 'DocDownloadIcon',
|
|
@@ -201,6 +202,7 @@ export enum IconTitleMap {
|
|
|
201
202
|
ClockIcon = 'Часы',
|
|
202
203
|
CloseIcon = 'Крестик',
|
|
203
204
|
ComfortableCompIcon = 'Кресло',
|
|
205
|
+
CourtHouseIcon = 'Здание суда',
|
|
204
206
|
CreditCardsIcon = 'Кредитные карты',
|
|
205
207
|
DiscountShapeIcon = 'Скидка',
|
|
206
208
|
DocDownloadIcon = 'Скачать документ',
|
|
@@ -286,7 +288,7 @@ export enum IconTitleMap {
|
|
|
286
288
|
* @title Иконка
|
|
287
289
|
* @enumNames [
|
|
288
290
|
* "",
|
|
289
|
-
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'Белорусский флаг', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
|
|
291
|
+
* 'Деньги', 'Самолёт', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Сумка', 'Банк', 'Белорусский флаг', 'BriefcaseIcon', 'Здание с деревом', 'Бургер', 'Календарь 2', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Машина2', 'Кред. карта', 'Кред. карта под наклоном', 'Кред. карта с галочкой', 'Карта с драгоценностями', 'Машина', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Кинотеатр', 'Клиент', 'Часы', 'Крестик', 'Кресло', 'Здание суда', 'Кредитные карты', 'Скидка', 'Скачать документ', 'Документ', 'Документ (одноцветный)', 'Документы', 'Документы-2', 'Документ с текстом', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Земля', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'FullScreenIcon', 'Геолокация', 'Зеркало', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Лого «Huawei»', 'Диаграмма роста', 'Скидка', 'JCB', 'Logo', 'Лупа', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'MasterCard', 'Лого Метро', 'Минус', 'МИР', 'Деньги', 'Денежное страхование', 'Купюры', 'Монитор и мобильный', 'Новый документ', 'Офис', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'Проценты', 'PercentIcon', 'Персональная карта', 'Телефон', 'Лого «PlayMarket»', 'Плюс', 'Щит', 'Профиль, 2 персоны', 'Профиль', 'Тыква', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Сейф', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Звук', 'Ящик с замочной скважиной', 'Лого «Telegram»', 'UnionPay', 'UserGeoLocationIcon', 'Пользователь в рамке', 'Пользователь', 'Visa', 'Лого «VK»', 'Пополнение карты', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Добавить продукт', 'Лого «Youtube»'
|
|
290
292
|
* ]
|
|
291
293
|
*/
|
|
292
294
|
export type IconName =
|
|
@@ -325,6 +327,7 @@ export type IconName =
|
|
|
325
327
|
| 'ClockIcon'
|
|
326
328
|
| 'CloseIcon'
|
|
327
329
|
| 'ComfortableCompIcon'
|
|
330
|
+
| 'CourtHouseIcon'
|
|
328
331
|
| 'CreditCardsIcon'
|
|
329
332
|
| 'DiscountShapeIcon'
|
|
330
333
|
| 'DocDownloadIcon'
|
|
@@ -1,49 +1,24 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
2
|
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import { defaultEventBus } from '../../EventBus/defaultEventBus';
|
|
4
|
-
import { useList } from '../../hooks/useList';
|
|
5
|
-
import { assertUnreachable } from '../../utils/assertUnreachable';
|
|
6
3
|
import { style } from '../../utils/style';
|
|
7
4
|
import type { DialogOpenAction } from './DialogAction';
|
|
5
|
+
import { useDialogManager } from './useDialogManager';
|
|
6
|
+
import { useDialogsList } from './useDialogsList';
|
|
8
7
|
|
|
9
8
|
export const DialogManager = JSX(() => {
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
const closeAll = useCallback(() => {
|
|
9
|
+
const handleCloseAll = useCallback((dialogs: DialogOpenAction[]) => {
|
|
13
10
|
for (const _ of dialogs) {
|
|
14
|
-
_
|
|
11
|
+
_?.onClose && _.onClose();
|
|
15
12
|
}
|
|
13
|
+
}, []);
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
}, [dialogs]);
|
|
19
|
-
|
|
20
|
-
const close = useCallback(() => {
|
|
21
|
-
const _ = dialogs[dialogs.length - 1];
|
|
15
|
+
const handleClose = useCallback((_: DialogOpenAction) => {
|
|
22
16
|
_?.onClose && _.onClose();
|
|
17
|
+
}, []);
|
|
23
18
|
|
|
24
|
-
|
|
25
|
-
}, [dialogs]);
|
|
19
|
+
const dialogs = useDialogsList({ onCloseAll: handleCloseAll, onClose: handleClose });
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
() =>
|
|
29
|
-
defaultEventBus.subscribe('dialog', (action) => {
|
|
30
|
-
switch (action.type) {
|
|
31
|
-
case 'open':
|
|
32
|
-
push(action);
|
|
33
|
-
break;
|
|
34
|
-
case 'close':
|
|
35
|
-
if (action.all) {
|
|
36
|
-
closeAll();
|
|
37
|
-
} else {
|
|
38
|
-
close();
|
|
39
|
-
}
|
|
40
|
-
break;
|
|
41
|
-
default:
|
|
42
|
-
assertUnreachable(action);
|
|
43
|
-
}
|
|
44
|
-
}),
|
|
45
|
-
[closeAll, close],
|
|
46
|
-
);
|
|
21
|
+
const { close } = useDialogManager();
|
|
47
22
|
|
|
48
23
|
useEffect(() => {
|
|
49
24
|
const handleEscape = ({ key }: { key: string }) => {
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { useCallback, useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { defaultEventBus } from '../../EventBus/defaultEventBus';
|
|
3
|
+
import { useList } from '../../hooks/useList';
|
|
4
|
+
import { assertUnreachable } from '../../utils/assertUnreachable';
|
|
5
|
+
import type { DialogOpenAction } from './DialogAction';
|
|
6
|
+
|
|
7
|
+
interface DialogsListOptions {
|
|
8
|
+
onCloseAll?: (dialogs: DialogOpenAction[]) => void;
|
|
9
|
+
onClose?: (_: DialogOpenAction) => void;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const useDialogsList = ({
|
|
13
|
+
onCloseAll,
|
|
14
|
+
onClose,
|
|
15
|
+
}: DialogsListOptions = {}): DialogOpenAction[] => {
|
|
16
|
+
const [dialogs, { push, pop, clear }] = useList<DialogOpenAction>();
|
|
17
|
+
|
|
18
|
+
const closeAll = useCallback(() => {
|
|
19
|
+
onCloseAll && onCloseAll(dialogs);
|
|
20
|
+
clear();
|
|
21
|
+
}, [dialogs, onCloseAll]);
|
|
22
|
+
|
|
23
|
+
const close = useCallback(() => {
|
|
24
|
+
onClose && onClose(dialogs[dialogs.length - 1]);
|
|
25
|
+
pop();
|
|
26
|
+
}, [dialogs, onClose]);
|
|
27
|
+
|
|
28
|
+
useEffect(
|
|
29
|
+
() =>
|
|
30
|
+
defaultEventBus.subscribe('dialog', (action) => {
|
|
31
|
+
switch (action.type) {
|
|
32
|
+
case 'open':
|
|
33
|
+
push(action);
|
|
34
|
+
break;
|
|
35
|
+
case 'close':
|
|
36
|
+
if (action.all) {
|
|
37
|
+
closeAll();
|
|
38
|
+
} else {
|
|
39
|
+
close();
|
|
40
|
+
}
|
|
41
|
+
break;
|
|
42
|
+
default:
|
|
43
|
+
assertUnreachable(action);
|
|
44
|
+
}
|
|
45
|
+
}),
|
|
46
|
+
[closeAll, close],
|
|
47
|
+
);
|
|
48
|
+
|
|
49
|
+
return dialogs;
|
|
50
|
+
};
|