@redneckz/wildless-cms-uni-blocks 0.14.152 → 0.14.154
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 +31 -12
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/bundle/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/bundle/icons/IconName.d.ts +2 -2
- package/cosmos-static/icons/HuaweiIcon.svg +1 -1
- package/cosmos-static/icons/sprites.svg +1 -1
- package/dist/components/TabsLayout/TabsLayout.js +5 -6
- package/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/dist/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/dist/components/TabsLayout/TabsLayoutRedirectSection.js +27 -0
- package/dist/components/TabsLayout/TabsLayoutRedirectSection.js.map +1 -0
- package/dist/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/dist/components/TabsLayout/useScrollToTab.js +17 -0
- package/dist/components/TabsLayout/useScrollToTab.js.map +1 -0
- package/dist/icons/IconName.d.ts +2 -2
- package/dist/icons/IconName.js +2 -2
- package/dist/icons/IconName.js.map +1 -1
- package/lib/components/TabsLayout/TabsLayout.js +6 -7
- package/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/lib/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/lib/components/TabsLayout/TabsLayoutRedirectSection.js +25 -0
- package/lib/components/TabsLayout/TabsLayoutRedirectSection.js.map +1 -0
- package/lib/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/lib/components/TabsLayout/useScrollToTab.js +14 -0
- package/lib/components/TabsLayout/useScrollToTab.js.map +1 -0
- package/lib/icons/IconName.d.ts +2 -2
- package/lib/icons/IconName.js +2 -2
- package/lib/icons/IconName.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +31 -12
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/mobile/bundle/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/mobile/bundle/icons/IconName.d.ts +2 -2
- package/mobile/dist/components/TabsLayout/TabsLayout.js +5 -6
- package/mobile/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectSection.js +27 -0
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectSection.js.map +1 -0
- package/mobile/dist/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/mobile/dist/components/TabsLayout/useScrollToTab.js +17 -0
- package/mobile/dist/components/TabsLayout/useScrollToTab.js.map +1 -0
- package/mobile/dist/icons/IconName.d.ts +2 -2
- package/mobile/dist/icons/IconName.js +2 -2
- package/mobile/dist/icons/IconName.js.map +1 -1
- package/mobile/lib/components/TabsLayout/TabsLayout.js +6 -7
- package/mobile/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectSection.d.ts +6 -0
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectSection.js +25 -0
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectSection.js.map +1 -0
- package/mobile/lib/components/TabsLayout/useScrollToTab.d.ts +2 -0
- package/mobile/lib/components/TabsLayout/useScrollToTab.js +14 -0
- package/mobile/lib/components/TabsLayout/useScrollToTab.js.map +1 -0
- package/mobile/lib/icons/IconName.d.ts +2 -2
- package/mobile/lib/icons/IconName.js +2 -2
- package/mobile/lib/icons/IconName.js.map +1 -1
- package/mobile/src/components/TabsLayout/TabsLayout.tsx +6 -7
- package/mobile/src/components/TabsLayout/TabsLayoutRedirectSection.tsx +32 -0
- package/mobile/src/components/TabsLayout/useScrollToTab.ts +16 -0
- package/mobile/src/icons/HuaweiIcon.svg +3 -1
- package/mobile/src/icons/IconName.ts +3 -3
- package/package.json +1 -1
- package/src/components/TabsLayout/TabsLayout.tsx +6 -7
- package/src/components/TabsLayout/TabsLayoutRedirectSection.tsx +32 -0
- package/src/components/TabsLayout/useScrollToTab.ts +16 -0
- package/src/icons/HuaweiIcon.svg +3 -1
- package/src/icons/IconName.ts +2 -3
- package/bundle/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/dist/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/dist/components/TabsLayout/TabsLayoutRedirectTab.js +0 -17
- package/dist/components/TabsLayout/TabsLayoutRedirectTab.js.map +0 -1
- package/lib/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/lib/components/TabsLayout/TabsLayoutRedirectTab.js +0 -15
- package/lib/components/TabsLayout/TabsLayoutRedirectTab.js.map +0 -1
- package/mobile/bundle/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectTab.js +0 -17
- package/mobile/dist/components/TabsLayout/TabsLayoutRedirectTab.js.map +0 -1
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectTab.d.ts +0 -6
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectTab.js +0 -15
- package/mobile/lib/components/TabsLayout/TabsLayoutRedirectTab.js.map +0 -1
- package/mobile/src/components/TabsLayout/TabsLayoutRedirectTab.tsx +0 -26
- package/src/components/TabsLayout/TabsLayoutRedirectTab.tsx +0 -26
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable max-len, max-lines */
|
|
4
4
|
|
|
5
5
|
export const IconsWithoutInversion = new Set([
|
|
6
|
-
'ActualBalanceIcon', 'BelarusianFlag', 'ChartIcon', 'ChevronLeftIcon', 'ClientIcon', 'DollarIcon', 'DoneIcon', 'EuroIcon', 'FullScreenIcon', 'HeadphonesIcon', 'HeartIcon', 'HouseIcon', '
|
|
6
|
+
'ActualBalanceIcon', 'BelarusianFlag', 'ChartIcon', 'ChevronLeftIcon', 'ClientIcon', 'DollarIcon', 'DoneIcon', 'EuroIcon', 'FullScreenIcon', 'HeadphonesIcon', 'HeartIcon', 'HouseIcon', 'MagnifierIcon', 'MapMarkerClusterIcon', 'MapMarkerSingleIcon', 'MapOpenedIcon', 'MoneyInsuranceIcon', 'NewDocIcon', 'PackA4Icon', 'PassSendIcon', 'PercentIcon', 'ResponseFailIcon', 'ResponseOKIcon', 'SignDocsIcon', 'SoundIcon'
|
|
7
7
|
]);
|
|
8
8
|
|
|
9
9
|
export enum IconMap {
|
|
@@ -11,7 +11,7 @@ export enum IconMap {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
export enum IconTitleMap {
|
|
14
|
-
AchievementIcon = 'Достижение', ActualBalanceIcon = 'Деньги', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BankIcon = 'Банк', BelarusianFlag = 'Белорусский флаг', BriefcaseIcon = 'Портфель', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardSendIcon = 'Карта', CardTickIcon = 'Кред. карта с галочкой', ChartIcon = 'Инвестиции', ChartRoundIcon = 'Диаграмма (в круге)', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeftIcon = 'Стрелка \'Влево\'', ClientIcon = 'Клиент', CloseIcon = 'Крестик', CoinIcon = 'Монеты', ConvertCardIcon = 'Конвертирование', CopyIcon = 'Копирование', CourtHouseIcon = 'Здание суда', CupIcon = 'Кубок', DevIcon = 'Разработка', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', DzenIcon = 'Лого «Дзен»', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FaxIcon = 'Факс', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HeartTickIcon = 'Сердцебеение', HouseIcon = 'Ипотека', HuaweiIcon = 'Лого
|
|
14
|
+
AchievementIcon = 'Достижение', ActualBalanceIcon = 'Деньги', AppleIcon = 'Лого «Apple»', ArrowDownIcon = 'Стрелка \'Вниз\'', ArrowDownSolidIcon = 'Стрелка сплошная \'Вниз\'', ArrowLeftIcon = 'Стрелка \'Влево\'', ArrowRightIcon = 'Стрелка \'Вправо\'', ArrowTopRightIcon = 'Стрелка \'Вверх-право\'', ArrowUpIcon = 'Стрелка \'Вверх\'', ArrowUpSolidIcon = 'Стрелка сплошная \'Вверх\'', AtmIcon = 'Банкомат', BankIcon = 'Банк', BelarusianFlag = 'Белорусский флаг', BriefcaseIcon = 'Портфель', BuildingIcon = 'Здание с деревом', BurgerIcon = 'Бургер', CalendarCircleIcon = 'Скруглённый календарь', CalendarIcon = 'Календарь', CalendarTickIcon = 'Календарь с галочкой', CardIcon = 'Кред. карта', CardPosIcon = 'Кред. карта под наклоном', CardSendIcon = 'Карта', CardTickIcon = 'Кред. карта с галочкой', ChartIcon = 'Инвестиции', ChartRoundIcon = 'Диаграмма (в круге)', ChartSquareIcon = 'Деньги внутри кошелька', ChevronLeftIcon = 'Стрелка \'Влево\'', ClientIcon = 'Клиент', CloseIcon = 'Крестик', CoinIcon = 'Монеты', ConvertCardIcon = 'Конвертирование', CopyIcon = 'Копирование', CourtHouseIcon = 'Здание суда', CupIcon = 'Кубок', DevIcon = 'Разработка', DiscountShapeIcon = 'Скидка', DocDownloadIcon = 'Скачать документ', DocIcon = 'Документ', DollarIcon = 'Доллар', DoneIcon = 'Зелёная \'галочка\' в круге', DoneSimpleIcon = 'Зелёная \'галочка\'', DzenIcon = 'Лого «Дзен»', EmptyWalletChangeIcon = 'Пустой кошелёк с возвратом', EmptyWalletIcon = 'Пустой кошелёк', EuroIcon = 'Евро', FaxIcon = 'Факс', FullScreenIcon = 'FullScreenIcon', GeolocationIcon = 'Геолокация', GlobalIcon = 'Глобус', GpsIcon = 'Gps', GridIcon = 'Сетка (белая)', HeadphonesIcon = 'HeadphonesIcon', HeartIcon = 'Сердце', HeartTickIcon = 'Сердцебеение', HouseIcon = 'Ипотека', HuaweiIcon = 'Лого \'Huawei\'', LockIcon = 'Замок', LogoIcon = 'Logo', LoupeIcon = 'Лупа', MagnifierIcon = 'MagnifierIcon', MailIcon = 'E-mail', MapMarkerClusterIcon = 'Маркер карты', MapMarkerSingleIcon = 'Маркер карты РСХБ', MapOpenedIcon = 'Иконка Развёрнутая карта', MinusIcon = 'Минус', MoneyIcon = 'Деньги', MoneyInsuranceIcon = 'Денежное страхование', MonitorMobileIcon = 'Монитор и мобильный', NewDocIcon = 'Новый документ', NotificationBingIcon = 'Колокольчик нотификаций', OkIcon = 'Лого «Одноклассники»', PackA4Icon = 'Пачка бумаги А4', PassSendIcon = 'Бизнес', PercentageRoundIcon = 'Проценты (круг.)', PercentIcon = 'PercentIcon', PersonalCardIcon = 'Персональная карта', PhoneCallingIcon = 'Звонящий телефон', PhoneIcon = 'Телефон', PlayMarketIcon = 'Лого «PlayMarket»', PlusCircleIcon = 'Плюс в круге', PlusIcon = 'Плюс', Profile2UserIcon = 'Профиль, 2 персоны', ProfileIcon = 'Профиль', ResponseFailIcon = 'Ошибка', ResponseOKIcon = 'Ок', RoundRubleIcon = 'Рубль (круг.)', RutubeIcon = 'Лого «Rutube»', SafeIcon = 'Сейф', SecurityСardIcon = 'Безопасность', ShieldTickIcon = 'Безопасность', SignDocsIcon = 'Подписанные документы', SmallClockIcon = 'Маленькие часы', SoundIcon = 'Кольцо', TelegramIcon = 'Лого «Telegram»', UserGeoLocationIcon = 'Самолётик', UserSquareIcon = 'Пользователь в рамке', UserTickIcon = 'Пользователь', VKIcon = 'Лого «VK»', WalletAddIcon = 'Кошелёк с плюсом', WalletIcon = 'Кошелёк', WalletWithMoneyIcon = 'Кошелёк с деньгами', 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»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Банк', 'Белорусский флаг', 'Портфель', 'Здание с деревом', 'Бургер', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Кред. карта', 'Кред. карта под наклоном', 'Карта', 'Кред. карта с галочкой', 'Инвестиции', 'Диаграмма (в круге)', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Клиент', 'Крестик', 'Монеты', 'Конвертирование', 'Копирование', 'Здание суда', 'Кубок', 'Разработка', 'Скидка', 'Скачать документ', 'Документ', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Лого «Дзен»', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'Факс', 'FullScreenIcon', 'Геолокация', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Сердцебеение', 'Ипотека', 'Лого
|
|
22
|
+
* 'Достижение', 'Деньги', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Банк', 'Белорусский флаг', 'Портфель', 'Здание с деревом', 'Бургер', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Кред. карта', 'Кред. карта под наклоном', 'Карта', 'Кред. карта с галочкой', 'Инвестиции', 'Диаграмма (в круге)', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Клиент', 'Крестик', 'Монеты', 'Конвертирование', 'Копирование', 'Здание суда', 'Кубок', 'Разработка', 'Скидка', 'Скачать документ', 'Документ', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Лого «Дзен»', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'Факс', 'FullScreenIcon', 'Геолокация', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Сердцебеение', 'Ипотека', 'Лого \'Huawei\'', 'Замок', 'Logo', 'Лупа', 'MagnifierIcon', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'Иконка Развёрнутая карта', 'Минус', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Колокольчик нотификаций', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'PercentIcon', 'Персональная карта', 'Звонящий телефон', 'Телефон', 'Лого «PlayMarket»', 'Плюс в круге', 'Плюс', 'Профиль, 2 персоны', 'Профиль', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Лого «Rutube»', 'Сейф', 'Безопасность', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Кольцо', 'Лого «Telegram»', 'Самолётик', 'Пользователь в рамке', 'Пользователь', 'Лого «VK»', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Лого «Youtube»'
|
|
23
23
|
* ]
|
|
24
24
|
*/
|
|
25
25
|
export type IconName = '' | 'AchievementIcon' | 'ActualBalanceIcon' | 'AppleIcon' | 'ArrowDownIcon' | 'ArrowDownSolidIcon' | 'ArrowLeftIcon' | 'ArrowRightIcon' | 'ArrowTopRightIcon' | 'ArrowUpIcon' | 'ArrowUpSolidIcon' | 'AtmIcon' | 'BankIcon' | 'BelarusianFlag' | 'BriefcaseIcon' | 'BuildingIcon' | 'BurgerIcon' | 'CalendarCircleIcon' | 'CalendarIcon' | 'CalendarTickIcon' | 'CardIcon' | 'CardPosIcon' | 'CardSendIcon' | 'CardTickIcon' | 'ChartIcon' | 'ChartRoundIcon' | 'ChartSquareIcon' | 'ChevronLeftIcon' | 'ClientIcon' | 'CloseIcon' | 'CoinIcon' | 'ConvertCardIcon' | 'CopyIcon' | 'CourtHouseIcon' | 'CupIcon' | 'DevIcon' | 'DiscountShapeIcon' | 'DocDownloadIcon' | 'DocIcon' | 'DollarIcon' | 'DoneIcon' | 'DoneSimpleIcon' | 'DzenIcon' | 'EmptyWalletChangeIcon' | 'EmptyWalletIcon' | 'EuroIcon' | 'FaxIcon' | 'FullScreenIcon' | 'GeolocationIcon' | 'GlobalIcon' | 'GpsIcon' | 'GridIcon' | 'HeadphonesIcon' | 'HeartIcon' | 'HeartTickIcon' | 'HouseIcon' | 'HuaweiIcon' | 'LockIcon' | 'LogoIcon' | 'LoupeIcon' | 'MagnifierIcon' | 'MailIcon' | 'MapMarkerClusterIcon' | 'MapMarkerSingleIcon' | 'MapOpenedIcon' | 'MinusIcon' | 'MoneyIcon' | 'MoneyInsuranceIcon' | 'MonitorMobileIcon' | 'NewDocIcon' | 'NotificationBingIcon' | 'OkIcon' | 'PackA4Icon' | 'PassSendIcon' | 'PercentageRoundIcon' | 'PercentIcon' | 'PersonalCardIcon' | 'PhoneCallingIcon' | 'PhoneIcon' | 'PlayMarketIcon' | 'PlusCircleIcon' | 'PlusIcon' | 'Profile2UserIcon' | 'ProfileIcon' | 'ResponseFailIcon' | 'ResponseOKIcon' | 'RoundRubleIcon' | 'RutubeIcon' | 'SafeIcon' | 'SecurityСardIcon' | 'ShieldTickIcon' | 'SignDocsIcon' | 'SmallClockIcon' | 'SoundIcon' | 'TelegramIcon' | 'UserGeoLocationIcon' | 'UserSquareIcon' | 'UserTickIcon' | 'VKIcon' | 'WalletAddIcon' | 'WalletIcon' | 'WalletWithMoneyIcon' | 'YoutubeIcon';
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import {
|
|
2
|
+
import { useState } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
3
|
import { renderBlocksList } from '../../BlockRenderer/renderBlockList';
|
|
4
4
|
import { useCarouselControls } from '../../hooks/useCarouselControls';
|
|
5
5
|
import { type Align } from '../../model/Align';
|
|
@@ -12,7 +12,8 @@ import { CarouselScrollButtons } from '../Carousel/CarouselScrollButtons';
|
|
|
12
12
|
import { alignTabStyle } from './alignTabStyle';
|
|
13
13
|
import { TabsLayoutButton } from './TabsLayoutButton';
|
|
14
14
|
import { type Tab, type TabsLayoutContent } from './TabsLayoutContent';
|
|
15
|
-
import {
|
|
15
|
+
import { TabsLayoutRedirectSection } from './TabsLayoutRedirectSection';
|
|
16
|
+
import { useScrollToTab } from './useScrollToTab';
|
|
16
17
|
|
|
17
18
|
export interface TabsLayoutProps extends TabsLayoutContent, UniBlockProps {}
|
|
18
19
|
|
|
@@ -29,9 +30,7 @@ export const TabsLayout: JSXBlock<TabsLayoutProps> = JSX<TabsLayoutProps>(
|
|
|
29
30
|
|
|
30
31
|
const [containerRef, scroll] = useSwipeListScroll<HTMLDivElement>({ itemCount });
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
scroll.scrollTo(activeTabIndex, { behavior: 'auto' });
|
|
34
|
-
}, []);
|
|
33
|
+
useScrollToTab(activeTabIndex, scroll);
|
|
35
34
|
|
|
36
35
|
return (
|
|
37
36
|
<BlockWrapper className={style(className)} defaultPadding="p-0" {...rest}>
|
|
@@ -56,7 +55,7 @@ export const TabsLayout: JSXBlock<TabsLayoutProps> = JSX<TabsLayoutProps>(
|
|
|
56
55
|
</div>
|
|
57
56
|
<div className="space-y-px @5xl:space-y-0 @5xl:grid @5xl:grid-cols-12 @5xl:gap-2xs">
|
|
58
57
|
{tabs[activeTabIndex]?.href ? (
|
|
59
|
-
<
|
|
58
|
+
<TabsLayoutRedirectSection tab={tabs[activeTabIndex]} />
|
|
60
59
|
) : (
|
|
61
60
|
renderBlocksList(block?.slots?.[slotName], { ...rest?.options, slotName })
|
|
62
61
|
)}
|
|
@@ -67,7 +66,7 @@ export const TabsLayout: JSXBlock<TabsLayoutProps> = JSX<TabsLayoutProps>(
|
|
|
67
66
|
);
|
|
68
67
|
|
|
69
68
|
TabsLayout.slots = ({ tabs }) => tabs?.filter((_) => !_.href).map(getSlotName) || [];
|
|
70
|
-
TabsLayout.childrenTypes = { exclude: ['TabsLayout'] };
|
|
69
|
+
TabsLayout.childrenTypes = { exclude: ['TabsLayout'] }; //TODO: fix this on wcms
|
|
71
70
|
|
|
72
71
|
const getSlotName = (tab: Tab, index: number): string => tab?.title || `Слот №${index}`;
|
|
73
72
|
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { useDebouncedEffect } from '@redneckz/uni-jsx/lib/hooks/useDebouncedEffect';
|
|
3
|
+
import { useLink } from '../../hooks/useLink';
|
|
4
|
+
import { Shimmer } from '../../ui-kit/Shimmer/Shimmer';
|
|
5
|
+
import { isLocalURL } from '../../utils/url';
|
|
6
|
+
import { type Tab } from './TabsLayoutContent';
|
|
7
|
+
|
|
8
|
+
const REDIRECT_DELAY = 0.8 * 1000;
|
|
9
|
+
|
|
10
|
+
interface TabsLayoutRedirectSectionProps {
|
|
11
|
+
tab: Tab;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export const TabsLayoutRedirectSection = JSX<TabsLayoutRedirectSectionProps>(({ tab }) => {
|
|
15
|
+
const link = useLink();
|
|
16
|
+
const { onClick } = link({
|
|
17
|
+
...tab,
|
|
18
|
+
onClick: () => {
|
|
19
|
+
/**
|
|
20
|
+
* In the current implementation of useLink, there is no follow-by-link method,
|
|
21
|
+
* and default routing won't work if the link is external.
|
|
22
|
+
*/
|
|
23
|
+
if (tab.href && !isLocalURL(tab.href)) {
|
|
24
|
+
globalThis.location.href = tab.href;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
useDebouncedEffect(onClick, [], REDIRECT_DELAY);
|
|
30
|
+
|
|
31
|
+
return <Shimmer className="col-span-12 p-xl" size={5} />;
|
|
32
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
|
+
import { useBool } from '@redneckz/uni-jsx/lib/hooks/useBool';
|
|
3
|
+
import { type SwipeListScroll } from '../../ui-kit/SwipeListControl/useSwipeListScroll';
|
|
4
|
+
|
|
5
|
+
export const useScrollToTab = (activeTabIndex: number, scroll: SwipeListScroll) => {
|
|
6
|
+
const [initState, { setTrue: setInitStateTrue }] = useBool(false);
|
|
7
|
+
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
scroll.scrollTo(activeTabIndex, {
|
|
10
|
+
behavior: initState ? 'smooth' : 'auto',
|
|
11
|
+
block: 'nearest',
|
|
12
|
+
inline: 'center',
|
|
13
|
+
});
|
|
14
|
+
!initState && setInitStateTrue();
|
|
15
|
+
}, [activeTabIndex, initState]);
|
|
16
|
+
};
|
package/src/icons/HuaweiIcon.svg
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
<svg title="Лого
|
|
1
|
+
<svg title="Лого 'Huawei'" isInverse="true" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M8.471 1.4c-5.177 0-7.07 1.894-7.07 7.07V19.53c0 5.176 1.893 7.07 7.07 7.07h11.055c5.177 0 7.074-1.894 7.074-7.07V8.47c0-5.176-1.893-7.07-7.07-7.07H8.47z"
|
|
3
|
+
/><path fill-rule="evenodd" clip-rule="evenodd" d="M12.393 16.015h1.012l-.508-1.18-.504 1.18zm-.249.595-.3.687h-.683L12.614 14h.59l1.448 3.297h-.702l-.296-.687h-1.51zm10.997.685h.66V14h-.66v3.295zm-2.63-1.416h1.218v-.6h-1.217v-.676h1.767v-.6h-2.427v3.294h2.49v-.601h-1.83v-.817zm-2.623.39L17.138 14h-.546l-.748 2.269-.73-2.267h-.712l1.15 3.297h.554l.75-2.166.75 2.166h.56l1.146-3.297h-.694l-.73 2.267zm-7.736-.38c0 .536-.266.822-.75.822-.486 0-.754-.294-.754-.845v-1.864H7.98v1.886c0 .928.516 1.46 1.414 1.46.908 0 1.428-.542 1.428-1.487V14h-.669v1.888zM6.382 14h.669v3.3h-.67v-1.34h-1.51v1.34H4.2V14h.67v1.33h1.51V14zM14 9.8a4.205 4.205 0 0 1-4.2-4.2h.594a3.61 3.61 0 0 0 3.607 3.607 3.61 3.61 0 0 0 3.607-3.606h.593c0 2.316-1.884 4.2-4.2 4.2z" fill="currentColor"/></svg>
|
package/src/icons/IconName.ts
CHANGED
|
@@ -14,7 +14,6 @@ export const IconsWithoutInversion = new Set([
|
|
|
14
14
|
'HeadphonesIcon',
|
|
15
15
|
'HeartIcon',
|
|
16
16
|
'HouseIcon',
|
|
17
|
-
'HuaweiIcon',
|
|
18
17
|
'MagnifierIcon',
|
|
19
18
|
'MapMarkerClusterIcon',
|
|
20
19
|
'MapMarkerSingleIcon',
|
|
@@ -191,7 +190,7 @@ export enum IconTitleMap {
|
|
|
191
190
|
HeartIcon = 'Сердце',
|
|
192
191
|
HeartTickIcon = 'Сердцебеение',
|
|
193
192
|
HouseIcon = 'Ипотека',
|
|
194
|
-
HuaweiIcon =
|
|
193
|
+
HuaweiIcon = "Лого 'Huawei'",
|
|
195
194
|
LockIcon = 'Замок',
|
|
196
195
|
LogoIcon = 'Logo',
|
|
197
196
|
LoupeIcon = 'Лупа',
|
|
@@ -245,7 +244,7 @@ export enum IconTitleMap {
|
|
|
245
244
|
* @title Иконка
|
|
246
245
|
* @enumNames [
|
|
247
246
|
* "",
|
|
248
|
-
* 'Достижение', 'Деньги', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Банк', 'Белорусский флаг', 'Портфель', 'Здание с деревом', 'Бургер', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Кред. карта', 'Кред. карта под наклоном', 'Карта', 'Кред. карта с галочкой', 'Инвестиции', 'Диаграмма (в круге)', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Клиент', 'Крестик', 'Монеты', 'Конвертирование', 'Копирование', 'Здание суда', 'Кубок', 'Разработка', 'Скидка', 'Скачать документ', 'Документ', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Лого «Дзен»', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'Факс', 'FullScreenIcon', 'Геолокация', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Сердцебеение', 'Ипотека', 'Лого
|
|
247
|
+
* 'Достижение', 'Деньги', 'Лого «Apple»', 'Стрелка \'Вниз\'', 'Стрелка сплошная \'Вниз\'', 'Стрелка \'Влево\'', 'Стрелка \'Вправо\'', 'Стрелка \'Вверх-право\'', 'Стрелка \'Вверх\'', 'Стрелка сплошная \'Вверх\'', 'Банкомат', 'Банк', 'Белорусский флаг', 'Портфель', 'Здание с деревом', 'Бургер', 'Скруглённый календарь', 'Календарь', 'Календарь с галочкой', 'Кред. карта', 'Кред. карта под наклоном', 'Карта', 'Кред. карта с галочкой', 'Инвестиции', 'Диаграмма (в круге)', 'Деньги внутри кошелька', 'Стрелка \'Влево\'', 'Клиент', 'Крестик', 'Монеты', 'Конвертирование', 'Копирование', 'Здание суда', 'Кубок', 'Разработка', 'Скидка', 'Скачать документ', 'Документ', 'Доллар', 'Зелёная \'галочка\' в круге', 'Зелёная \'галочка\'', 'Лого «Дзен»', 'Пустой кошелёк с возвратом', 'Пустой кошелёк', 'Евро', 'Факс', 'FullScreenIcon', 'Геолокация', 'Глобус', 'Gps', 'Сетка (белая)', 'HeadphonesIcon', 'Сердце', 'Сердцебеение', 'Ипотека', 'Лого \'Huawei\'', 'Замок', 'Logo', 'Лупа', 'MagnifierIcon', 'E-mail', 'Маркер карты', 'Маркер карты РСХБ', 'Иконка Развёрнутая карта', 'Минус', 'Деньги', 'Денежное страхование', 'Монитор и мобильный', 'Новый документ', 'Колокольчик нотификаций', 'Лого «Одноклассники»', 'Пачка бумаги А4', 'Бизнес', 'Проценты (круг.)', 'PercentIcon', 'Персональная карта', 'Звонящий телефон', 'Телефон', 'Лого «PlayMarket»', 'Плюс в круге', 'Плюс', 'Профиль, 2 персоны', 'Профиль', 'Ошибка', 'Ок', 'Рубль (круг.)', 'Лого «Rutube»', 'Сейф', 'Безопасность', 'Безопасность', 'Подписанные документы', 'Маленькие часы', 'Кольцо', 'Лого «Telegram»', 'Самолётик', 'Пользователь в рамке', 'Пользователь', 'Лого «VK»', 'Кошелёк с плюсом', 'Кошелёк', 'Кошелёк с деньгами', 'Лого «Youtube»'
|
|
249
248
|
* ]
|
|
250
249
|
*/
|
|
251
250
|
export type IconName =
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.TabsLayoutRedirectTab = void 0;
|
|
3
|
-
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const useDebouncedEffect_1 = require("@redneckz/uni-jsx/lib/hooks/useDebouncedEffect");
|
|
6
|
-
const useLink_1 = require("../../hooks/useLink");
|
|
7
|
-
const Shimmer_1 = require("../../ui-kit/Shimmer/Shimmer");
|
|
8
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
9
|
-
exports.TabsLayoutRedirectTab = (0, uni_jsx_1.JSX)(({ tab }) => {
|
|
10
|
-
const link = (0, useLink_1.useLink)();
|
|
11
|
-
(0, useDebouncedEffect_1.useDebouncedEffect)(() => {
|
|
12
|
-
const { onClick } = link(tab);
|
|
13
|
-
onClick();
|
|
14
|
-
}, [tab], REDIRECT_DELAY);
|
|
15
|
-
return (0, jsx_runtime_1.jsx)(Shimmer_1.Shimmer, { className: "col-span-12 p-xl", size: 5 });
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=TabsLayoutRedirectTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsLayoutRedirectTab.js","sourceRoot":"","sources":["../../../src/components/TabsLayout/TabsLayoutRedirectTab.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uFAAoF;AACpF,iDAA8C;AAC9C,0DAAuD;AAGvD,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAMrB,QAAA,qBAAqB,GAAG,IAAA,aAAG,EAA6B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEvB,IAAA,uCAAkB,EAChB,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,GAAG,CAAC,EACL,cAAc,CACf,CAAC;IAEF,OAAO,uBAAC,iBAAO,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAE,CAAC,GAAI,CAAC;AAC3D,CAAC,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { useDebouncedEffect } from '@redneckz/uni-jsx/lib/hooks/useDebouncedEffect';
|
|
4
|
-
import { useLink } from '../../hooks/useLink.js';
|
|
5
|
-
import { Shimmer } from '../../ui-kit/Shimmer/Shimmer.js';
|
|
6
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
7
|
-
export const TabsLayoutRedirectTab = JSX(({ tab }) => {
|
|
8
|
-
const link = useLink();
|
|
9
|
-
useDebouncedEffect(() => {
|
|
10
|
-
const { onClick } = link(tab);
|
|
11
|
-
onClick();
|
|
12
|
-
}, [tab], REDIRECT_DELAY);
|
|
13
|
-
return _jsx(Shimmer, { className: "col-span-12 p-xl", size: 5 });
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=TabsLayoutRedirectTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsLayoutRedirectTab.js","sourceRoot":"","sources":["../../../src/components/TabsLayout/TabsLayoutRedirectTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGvD,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAMlC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAA6B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,kBAAkB,CAChB,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,GAAG,CAAC,EACL,cAAc,CACf,CAAC;IAEF,OAAO,KAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAE,CAAC,GAAI,CAAC;AAC3D,CAAC,CAAC,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.TabsLayoutRedirectTab = void 0;
|
|
3
|
-
const jsx_runtime_1 = require("@redneckz/uni-jsx/jsx-runtime");
|
|
4
|
-
const uni_jsx_1 = require("@redneckz/uni-jsx");
|
|
5
|
-
const useDebouncedEffect_1 = require("@redneckz/uni-jsx/lib/hooks/useDebouncedEffect");
|
|
6
|
-
const useLink_1 = require("../../hooks/useLink");
|
|
7
|
-
const Shimmer_1 = require("../../ui-kit/Shimmer/Shimmer");
|
|
8
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
9
|
-
exports.TabsLayoutRedirectTab = (0, uni_jsx_1.JSX)(({ tab }) => {
|
|
10
|
-
const link = (0, useLink_1.useLink)();
|
|
11
|
-
(0, useDebouncedEffect_1.useDebouncedEffect)(() => {
|
|
12
|
-
const { onClick } = link(tab);
|
|
13
|
-
onClick();
|
|
14
|
-
}, [tab], REDIRECT_DELAY);
|
|
15
|
-
return (0, jsx_runtime_1.jsx)(Shimmer_1.Shimmer, { className: "col-span-12 p-xl", size: 5 });
|
|
16
|
-
});
|
|
17
|
-
//# sourceMappingURL=TabsLayoutRedirectTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsLayoutRedirectTab.js","sourceRoot":"","sources":["../../../src/components/TabsLayout/TabsLayoutRedirectTab.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uFAAoF;AACpF,iDAA8C;AAC9C,0DAAuD;AAGvD,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAMrB,QAAA,qBAAqB,GAAG,IAAA,aAAG,EAA6B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAC;IAEvB,IAAA,uCAAkB,EAChB,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,GAAG,CAAC,EACL,cAAc,CACf,CAAC;IAEF,OAAO,uBAAC,iBAAO,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAE,CAAC,GAAI,CAAC;AAC3D,CAAC,CAAC,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
-
import { useDebouncedEffect } from '@redneckz/uni-jsx/lib/hooks/useDebouncedEffect';
|
|
4
|
-
import { useLink } from '../../hooks/useLink.js';
|
|
5
|
-
import { Shimmer } from '../../ui-kit/Shimmer/Shimmer.js';
|
|
6
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
7
|
-
export const TabsLayoutRedirectTab = JSX(({ tab }) => {
|
|
8
|
-
const link = useLink();
|
|
9
|
-
useDebouncedEffect(() => {
|
|
10
|
-
const { onClick } = link(tab);
|
|
11
|
-
onClick();
|
|
12
|
-
}, [tab], REDIRECT_DELAY);
|
|
13
|
-
return _jsx(Shimmer, { className: "col-span-12 p-xl", size: 5 });
|
|
14
|
-
});
|
|
15
|
-
//# sourceMappingURL=TabsLayoutRedirectTab.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TabsLayoutRedirectTab.js","sourceRoot":"","sources":["../../../src/components/TabsLayout/TabsLayoutRedirectTab.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGvD,MAAM,cAAc,GAAG,GAAG,GAAG,IAAI,CAAC;AAMlC,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAA6B,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE;IAC/E,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,kBAAkB,CAChB,GAAG,EAAE;QACH,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC,EACD,CAAC,GAAG,CAAC,EACL,cAAc,CACf,CAAC;IAEF,OAAO,KAAC,OAAO,IAAC,SAAS,EAAC,kBAAkB,EAAC,IAAI,EAAE,CAAC,GAAI,CAAC;AAC3D,CAAC,CAAC,CAAC"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useDebouncedEffect } from '@redneckz/uni-jsx/lib/hooks/useDebouncedEffect';
|
|
3
|
-
import { useLink } from '../../hooks/useLink';
|
|
4
|
-
import { Shimmer } from '../../ui-kit/Shimmer/Shimmer';
|
|
5
|
-
import { type Tab } from './TabsLayoutContent';
|
|
6
|
-
|
|
7
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
8
|
-
|
|
9
|
-
interface TabsLayoutRedirectTabProps {
|
|
10
|
-
tab: Tab;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const TabsLayoutRedirectTab = JSX<TabsLayoutRedirectTabProps>(({ tab }) => {
|
|
14
|
-
const link = useLink();
|
|
15
|
-
|
|
16
|
-
useDebouncedEffect(
|
|
17
|
-
() => {
|
|
18
|
-
const { onClick } = link(tab);
|
|
19
|
-
onClick();
|
|
20
|
-
},
|
|
21
|
-
[tab],
|
|
22
|
-
REDIRECT_DELAY,
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
return <Shimmer className="col-span-12 p-xl" size={5} />;
|
|
26
|
-
});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
-
import { useDebouncedEffect } from '@redneckz/uni-jsx/lib/hooks/useDebouncedEffect';
|
|
3
|
-
import { useLink } from '../../hooks/useLink';
|
|
4
|
-
import { Shimmer } from '../../ui-kit/Shimmer/Shimmer';
|
|
5
|
-
import { type Tab } from './TabsLayoutContent';
|
|
6
|
-
|
|
7
|
-
const REDIRECT_DELAY = 0.5 * 1000;
|
|
8
|
-
|
|
9
|
-
interface TabsLayoutRedirectTabProps {
|
|
10
|
-
tab: Tab;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
export const TabsLayoutRedirectTab = JSX<TabsLayoutRedirectTabProps>(({ tab }) => {
|
|
14
|
-
const link = useLink();
|
|
15
|
-
|
|
16
|
-
useDebouncedEffect(
|
|
17
|
-
() => {
|
|
18
|
-
const { onClick } = link(tab);
|
|
19
|
-
onClick();
|
|
20
|
-
},
|
|
21
|
-
[tab],
|
|
22
|
-
REDIRECT_DELAY,
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
return <Shimmer className="col-span-12 p-xl" size={5} />;
|
|
26
|
-
});
|