@redneckz/wildless-cms-uni-blocks 0.14.335 → 0.14.337
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/bin/migration-scripts/0.14.213.js +1 -1
- package/bundle/blocks.schema.json +1 -1
- package/bundle/bundle.umd.js +57 -42
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/bundle/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/bundle/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/bundle/utils/getVersion.d.ts +1 -0
- package/dist/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +3 -2
- package/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/dist/components/TabsLayout/TabsLayout.js +16 -10
- package/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/dist/components/TabsLayout/renderTabsLayout.js +14 -12
- package/dist/components/TabsLayout/renderTabsLayout.js.map +1 -1
- package/dist/ui-kit/Badge/Badge.js +1 -3
- package/dist/ui-kit/Badge/Badge.js.map +1 -1
- package/dist/ui-kit/BaseFiltration/useHotFilters.js +3 -3
- package/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -1
- package/dist/ui-kit/TabsControl/ScrollableTabsControl.js +9 -4
- package/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/dist/ui-kit/TabsControl/TabItemInner.js +4 -2
- package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/dist/utils/getVersion.d.ts +1 -0
- package/dist/utils/getVersion.js +5 -0
- package/dist/utils/getVersion.js.map +1 -0
- package/lib/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +3 -2
- package/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/lib/components/TabsLayout/TabsLayout.fixture.d.ts +4 -3
- package/lib/components/TabsLayout/TabsLayout.fixture.mobile.d.ts +4 -2
- package/lib/components/TabsLayout/TabsLayout.js +16 -10
- package/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/lib/components/TabsLayout/renderTabsLayout.js +14 -12
- package/lib/components/TabsLayout/renderTabsLayout.js.map +1 -1
- package/lib/ui-kit/Badge/Badge.js +1 -3
- package/lib/ui-kit/Badge/Badge.js.map +1 -1
- package/lib/ui-kit/BaseFiltration/useHotFilters.js +3 -3
- package/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -1
- package/lib/ui-kit/TabsControl/ScrollableTabsControl.js +9 -4
- package/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/lib/ui-kit/TabsControl/TabItemInner.js +4 -2
- package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/lib/utils/getVersion.d.ts +1 -0
- package/lib/utils/getVersion.js +2 -0
- package/lib/utils/getVersion.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +57 -42
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/mobile/bundle/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/mobile/bundle/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/mobile/bundle/utils/getVersion.d.ts +1 -0
- package/mobile/dist/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +3 -2
- package/mobile/dist/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/dist/components/TabsLayout/TabsLayout.js +16 -10
- package/mobile/dist/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/dist/components/TabsLayout/renderTabsLayout.js +14 -12
- package/mobile/dist/components/TabsLayout/renderTabsLayout.js.map +1 -1
- package/mobile/dist/ui-kit/Badge/Badge.js +1 -3
- package/mobile/dist/ui-kit/Badge/Badge.js.map +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js +3 -3
- package/mobile/dist/ui-kit/BaseFiltration/useHotFilters.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js +9 -4
- package/mobile/dist/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +4 -2
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/mobile/dist/utils/getVersion.d.ts +1 -0
- package/mobile/dist/utils/getVersion.js +5 -0
- package/mobile/dist/utils/getVersion.js.map +1 -0
- package/mobile/lib/components/ApplicationForm/ApplicationFormContent.d.ts +4 -1
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js +3 -2
- package/mobile/lib/components/OfficesAtmsMap/OfficesAtmsMapLayout.js.map +1 -1
- package/mobile/lib/components/TabsLayout/TabsLayout.js +16 -10
- package/mobile/lib/components/TabsLayout/TabsLayout.js.map +1 -1
- package/mobile/lib/components/TabsLayout/renderTabsLayout.js +14 -12
- package/mobile/lib/components/TabsLayout/renderTabsLayout.js.map +1 -1
- package/mobile/lib/ui-kit/Badge/Badge.js +1 -3
- package/mobile/lib/ui-kit/Badge/Badge.js.map +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js +3 -3
- package/mobile/lib/ui-kit/BaseFiltration/useHotFilters.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js +9 -4
- package/mobile/lib/ui-kit/TabsControl/ScrollableTabsControl.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItem.d.ts +1 -2
- package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.d.ts +1 -0
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +4 -2
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -1
- package/mobile/lib/utils/getVersion.d.ts +1 -0
- package/mobile/lib/utils/getVersion.js +2 -0
- package/mobile/lib/utils/getVersion.js.map +1 -0
- package/mobile/src/components/ApplicationForm/ApplicationFormContent.ts +4 -1
- package/mobile/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +3 -2
- package/mobile/src/components/TabsLayout/TabsLayout.tsx +20 -10
- package/mobile/src/components/TabsLayout/renderTabsLayout.tsx +24 -20
- package/mobile/src/ui-kit/Badge/Badge.tsx +13 -15
- package/mobile/src/ui-kit/BaseFiltration/useHotFilters.tsx +3 -7
- package/mobile/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +13 -16
- package/mobile/src/ui-kit/TabsControl/TabItem.tsx +1 -2
- package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +9 -2
- package/mobile/src/utils/getVersion.ts +1 -0
- package/package.json +1 -1
- package/src/components/ApplicationForm/ApplicationFormContent.ts +4 -1
- package/src/components/OfficesAtmsMap/OfficesAtmsMapLayout.tsx +3 -2
- package/src/components/TabsLayout/TabsLayout.fixture.mobile.tsx +70 -24
- package/src/components/TabsLayout/TabsLayout.fixture.tsx +33 -29
- package/src/components/TabsLayout/TabsLayout.tsx +20 -10
- package/src/components/TabsLayout/renderTabsLayout.tsx +24 -20
- package/src/ui-kit/Badge/Badge.tsx +13 -15
- package/src/ui-kit/BaseFiltration/useHotFilters.tsx +3 -7
- package/src/ui-kit/TabsControl/ScrollableTabsControl.tsx +13 -16
- package/src/ui-kit/TabsControl/TabItem.tsx +1 -2
- package/src/ui-kit/TabsControl/TabItemInner.tsx +9 -2
- package/src/utils/getVersion.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/ui-kit/Badge/Badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQpC,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AAEF,MAAM,sBAAsB,GAA8B;IACxD,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,qBAAqB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAa,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,EAAE,EAAE
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../../src/ui-kit/Badge/Badge.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAQpC,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,iBAAiB;CAC7B,CAAC;AAEF,MAAM,sBAAsB,GAA8B;IACxD,OAAO,EAAE,YAAY;IACrB,SAAS,EAAE,qBAAqB;CACjC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,CAAa,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,WAAW,EAAE,EAAE,EAAE,CAAC,CACzE,cACE,SAAS,EAAE,KAAK,CACd,uDAAuD,EACvD,eAAe,CAAC,OAAO,CAAC,CACzB,EACD,IAAI,EAAC,QAAQ,YAEb,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,YACxD,KAAK,GACD,GACH,CACP,CAAC,CAAC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
1
|
import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
3
|
-
import {
|
|
2
|
+
import { getVersion } from '../../utils/getVersion.js';
|
|
4
3
|
import { getBadgeCount } from './getBadgeCount.js';
|
|
5
4
|
import { hotFilterRecordCmp } from './hotFilterRecordCmp.js';
|
|
6
5
|
const EMPTY_ARR = [];
|
|
@@ -9,7 +8,8 @@ export const useHotFilters = ({ hotFilters = EMPTY_ARR, filtrationState = EMPTY_
|
|
|
9
8
|
const activeItemIndex = useMemo(() => Math.max(0, hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState))), [hotFilters, filtrationState]);
|
|
10
9
|
const items = useMemo(() => hotFilters.map((_) => ({
|
|
11
10
|
text: _.text,
|
|
12
|
-
|
|
11
|
+
count: getBadgeCount(blocks, _.filter),
|
|
12
|
+
version: getVersion(_ === hotFilters[activeItemIndex]),
|
|
13
13
|
})), [hotFilters, blocks, activeItemIndex]);
|
|
14
14
|
const handleChange = useCallback((_) => {
|
|
15
15
|
onFiltrationStateChange(hotFilters[items.indexOf(_)].filter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHotFilters.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/useHotFilters.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useHotFilters.js","sourceRoot":"","sources":["../../../src/ui-kit/BaseFiltration/useHotFilters.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEnE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAGpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,SAAS,GAAG,EAAE,CAAC;AAarB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAC5B,UAAU,GAAG,SAAS,EACtB,eAAe,GAAG,SAAS,EAC3B,MAAM,GAAG,SAAS,EAClB,uBAAuB,GACH,EAAoB,EAAE;IAC1C,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CACH,IAAI,CAAC,GAAG,CACN,CAAC,EACD,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAC3E,EACH,CAAC,UAAU,EAAE,eAAe,CAAC,CAC9B,CAAC;IAEF,MAAM,KAAK,GAAkB,OAAO,CAClC,GAAG,EAAE,CACH,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrB,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,KAAK,EAAE,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACtC,OAAO,EAAE,UAAU,CAAC,CAAC,KAAK,UAAU,CAAC,eAAe,CAAC,CAAC;KACvD,CAAC,CAAC,EACL,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,CAAC,CACtC,CAAC;IAEF,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,CAAc,EAAE,EAAE;QACjB,uBAAuB,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC,EACD,CAAC,UAAU,EAAE,KAAK,CAAC,CACpB,CAAC;IAEF,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,eAAe,CAAC;QAC7B,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,YAAY;KACvB,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -6,14 +6,19 @@ import { SwipeListContainer } from '../SwipeListControl/SwipeListContainer.js';
|
|
|
6
6
|
import { useSwipeListScroll } from '../SwipeListControl/useSwipeListScroll.js';
|
|
7
7
|
import { renderTab } from './renderTab.js';
|
|
8
8
|
const scrollButtonStyle = 'hidden sm:flex absolute z-40';
|
|
9
|
-
const
|
|
9
|
+
const scrollStyle = {
|
|
10
|
+
default: {
|
|
11
|
+
item: 'flex-1',
|
|
12
|
+
gap: 0,
|
|
13
|
+
buttonTop: 'top-0',
|
|
14
|
+
},
|
|
10
15
|
animated: {
|
|
11
|
-
|
|
16
|
+
item: 'flex',
|
|
12
17
|
gap: 8,
|
|
13
18
|
buttonTop: 'top-5',
|
|
14
19
|
},
|
|
15
20
|
underlined: {
|
|
16
|
-
|
|
21
|
+
item: '',
|
|
17
22
|
gap: 0,
|
|
18
23
|
buttonTop: 'top-0',
|
|
19
24
|
},
|
|
@@ -22,6 +27,6 @@ export const ScrollableTabsControl = JSX(({ className, items = [], value, onChan
|
|
|
22
27
|
const [containerRef, scroll] = useSwipeListScroll({
|
|
23
28
|
itemCount: items?.length || 0,
|
|
24
29
|
});
|
|
25
|
-
return (_jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), children: [_jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName:
|
|
30
|
+
return (_jsxs("div", { className: style('relative overflow-x-auto no-scrollbar', className), children: [_jsx(SwipeListContainer, { containerRef: containerRef, snapAlign: "snap-start", onVisibleIndicesChange: scroll.handleVisibleIndicesChange, itemClassName: scrollStyle[tabsType].item, gap: scrollStyle[tabsType].gap, children: items.map(renderTab(value, onChange, tabsType)) }), scroll.canScrollLeft ? (_jsx(ScrollLeftButton, { className: style('left-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollLeft })) : null, scroll.canScrollRight ? (_jsx(ScrollRightButton, { className: style('right-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop), onClick: scroll.scrollRight })) : null] }));
|
|
26
31
|
});
|
|
27
32
|
//# sourceMappingURL=ScrollableTabsControl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollableTabsControl.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/ScrollableTabsControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD,MAAM,
|
|
1
|
+
{"version":3,"file":"ScrollableTabsControl.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/ScrollableTabsControl.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,MAAM,iBAAiB,GAAG,8BAA8B,CAAC;AAEzD,MAAM,WAAW,GAAuE;IACtF,OAAO,EAAE;QACP,IAAI,EAAE,QAAQ;QACd,GAAG,EAAE,CAAC;QACN,SAAS,EAAE,OAAO;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,CAAC;QACN,SAAS,EAAE,OAAO;KACnB;IACD,UAAU,EAAE;QACV,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,CAAC;QACN,SAAS,EAAE,OAAO;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CACtC,CAAC,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAAE,EAAE,EAAE;IACnE,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,GAAG,kBAAkB,CAAiB;QAChE,SAAS,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC;KAC9B,CAAC,CAAC;IAEH,OAAO,CACL,eAAK,SAAS,EAAE,KAAK,CAAC,uCAAuC,EAAE,SAAS,CAAC,aACvE,KAAC,kBAAkB,IACjB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAC,YAAY,EACtB,sBAAsB,EAAE,MAAM,CAAC,0BAA0B,EACzD,aAAa,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EACzC,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,YAE7B,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,GAC7B,EACpB,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CACtB,KAAC,gBAAgB,IACf,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAC9E,OAAO,EAAE,MAAM,CAAC,UAAU,GAC1B,CACH,CAAC,CAAC,CAAC,IAAI,EACP,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CACvB,KAAC,iBAAiB,IAChB,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,iBAAiB,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAC/E,OAAO,EAAE,MAAM,CAAC,WAAW,GAC3B,CACH,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { type DescriptionProps, type TitleProps } from '../../model/HeadlineType';
|
|
2
2
|
import { type LinkProps } from '../../model/LinkProps';
|
|
3
3
|
import { type IconProps } from '../../model/Picture';
|
|
4
|
-
import { type VNode } from '../../model/VNode';
|
|
5
4
|
import { type TabsControlProps, type TabsType } from './TabsControlProps';
|
|
6
5
|
export interface TabItemBase extends LinkProps, TitleProps, DescriptionProps, IconProps {
|
|
7
6
|
name?: string;
|
|
8
|
-
|
|
7
|
+
count?: number;
|
|
9
8
|
}
|
|
10
9
|
export interface TabItemProps {
|
|
11
10
|
item?: TabItemBase;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItem.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/TabItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"TabItem.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/TabItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAI9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAc9C,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,CAAe,CAAC,KAAK,EAAE,EAAE,CACjD,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,KAAC,WAAW,OAAK,KAAK,GAAI,CAAC,CAAC,CAAC,KAAC,aAAa,OAAK,KAAK,GAAI,CAC9E,CAAC;AAEF,MAAM,WAAW,GAAG,GAAG,CAAe,CAAC,KAAK,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC;IAEvB,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;IAE3E,OAAO,KAAC,YAAY,OAAK,KAAK,EAAE,GAAG,EAAC,GAAG,EAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC;AAC3E,CAAC,CAAC,CAAC;AAEH,mDAAmD;AACnD,MAAM,aAAa,GAAG,GAAG,CAAe,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE;IAC1E,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAEpB,OAAO,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,KAAM,IAAI,GAAI,CAAC;AACtE,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
|
+
import { getVersion } from '../../utils/getVersion.js';
|
|
3
4
|
import { style } from '../../utils/style.js';
|
|
5
|
+
import { Badge } from '../Badge/Badge.js';
|
|
4
6
|
import { renderTabItemInner } from './renderTabItemInner.js';
|
|
5
7
|
const tabPaddingStyleMap = {
|
|
6
8
|
default: 'px-xs',
|
|
@@ -25,13 +27,13 @@ const activeTabBgStyleMap = {
|
|
|
25
27
|
};
|
|
26
28
|
export const TabItemInner = JSX(({ tag = 'div', item = {}, isActive = false, type = 'default', onClick }) => {
|
|
27
29
|
const Tag = tag;
|
|
28
|
-
const { text, description, icon,
|
|
30
|
+
const { text, description, icon, count, ...link } = item;
|
|
29
31
|
return (_jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tablist", onClick: onClick, ...link, children: _jsxs("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: [renderTabItemInner({
|
|
30
32
|
text,
|
|
31
33
|
description,
|
|
32
34
|
icon,
|
|
33
35
|
isActive,
|
|
34
36
|
type,
|
|
35
|
-
}),
|
|
37
|
+
}), Number.isInteger(count) ? (_jsx("div", { className: "ml-xs", children: _jsx(Badge, { count: count, version: getVersion(isActive) }) })) : null] }) }));
|
|
36
38
|
});
|
|
37
39
|
//# sourceMappingURL=TabItemInner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TabItemInner.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/TabItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,kBAAkB,GAA6B;IACnD,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,kFAAkF;CAC7F,CAAC;AAEF,MAAM,YAAY,GAAG,6CAA6C,CAAC;AAEnE,MAAM,qBAAqB,GAA6B;IACtD,OAAO,EAAE,0BAA0B;IACnC,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,0BAA0B;CACrC,CAAC;AAEF,MAAM,aAAa,GAA6B;IAC9C,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,mEAAmE;CAC9E,CAAC;AAEF,MAAM,mBAAmB,GAA6B;IACpD,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,sDAAsD;CACjE,CAAC;
|
|
1
|
+
{"version":3,"file":"TabItemInner.js","sourceRoot":"","sources":["../../../src/ui-kit/TabsControl/TabItemInner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAI1D,MAAM,kBAAkB,GAA6B;IACnD,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,kFAAkF;CAC7F,CAAC;AAEF,MAAM,YAAY,GAAG,6CAA6C,CAAC;AAEnE,MAAM,qBAAqB,GAA6B;IACtD,OAAO,EAAE,0BAA0B;IACnC,UAAU,EAAE,8BAA8B;IAC1C,QAAQ,EAAE,0BAA0B;CACrC,CAAC;AAEF,MAAM,aAAa,GAA6B;IAC9C,OAAO,EAAE,UAAU;IACnB,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,mEAAmE;CAC9E,CAAC;AAEF,MAAM,mBAAmB,GAA6B;IACpD,OAAO,EAAE,oBAAoB;IAC7B,UAAU,EAAE,UAAU;IACtB,QAAQ,EAAE,sDAAsD;CACjE,CAAC;AAOF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EAAE,GAAG,GAAG,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IAC1E,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzD,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CACd,MAAM,EACN,cAAc,EACd,gBAAgB,EAChB,kBAAkB,CAAC,IAAI,CAAC,EACxB,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAC3D,EACD,IAAI,EAAC,SAAS,EACd,OAAO,EAAE,OAAO,KACZ,IAAI,YAER,eACE,SAAS,EAAE,KAAK,CACd,QAAQ,EACR,kCAAkC,EAClC,+BAA+B,EAC/B,QAAQ,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CACtD,aAEA,kBAAkB,CAAC;oBAClB,IAAI;oBACJ,WAAW;oBACX,IAAI;oBACJ,QAAQ;oBACR,IAAI;iBACL,CAAC,EACD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzB,cAAK,SAAS,EAAC,OAAO,YACpB,KAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAI,GAClD,CACP,CAAC,CAAC,CAAC,IAAI,IACJ,GACF,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getVersion: (isPrimary: boolean) => "primary" | "secondary";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getVersion.js","sourceRoot":"","sources":["../../src/utils/getVersion.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,SAAkB,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC"}
|
|
@@ -76,6 +76,10 @@ export type FieldCommonDef = FieldDefaultDef & {
|
|
|
76
76
|
fieldType: 'common';
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* @title Значение по умолчанию
|
|
81
|
+
* @enumNames ["Валютный контроль","Документарные операции","Конверсионные операции","Иные вопросы ВЭД"]
|
|
82
|
+
*/
|
|
79
83
|
type VedTypes = 'currencyControl' | 'documentOperations' | 'conversionTransactions' | 'otherIssues';
|
|
80
84
|
|
|
81
85
|
/**
|
|
@@ -85,7 +89,6 @@ type VedTypes = 'currencyControl' | 'documentOperations' | 'conversionTransactio
|
|
|
85
89
|
export type FieldVedDef = FieldDefaultDef & {
|
|
86
90
|
/** @default "ved" */
|
|
87
91
|
fieldType: 'ved';
|
|
88
|
-
/** @title Значение по умолчанию */
|
|
89
92
|
defaultValue?: VedTypes;
|
|
90
93
|
};
|
|
91
94
|
|
|
@@ -7,6 +7,7 @@ import { ClientOnly } from '../../ui-kit/ClientOnly';
|
|
|
7
7
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
8
8
|
import { Text } from '../../ui-kit/Text/Text';
|
|
9
9
|
import { YandexMap } from '../../ui-kit/YandexMap/YandexMap';
|
|
10
|
+
import { getVersion } from '../../utils/getVersion';
|
|
10
11
|
import { style } from '../../utils/style';
|
|
11
12
|
import { type AtmsDef } from './OfficesAtmsMapContent';
|
|
12
13
|
import { type Atm, type Branch, type RemoteWorkplace } from './OfficesAtmsMapProps';
|
|
@@ -117,9 +118,9 @@ const renderButtonsGroup = (
|
|
|
117
118
|
activeButton: string,
|
|
118
119
|
onButtonClick: (item: string) => void,
|
|
119
120
|
) => {
|
|
120
|
-
const allButtonVersion = activeButton === 'all'
|
|
121
|
+
const allButtonVersion = getVersion(activeButton === 'all');
|
|
121
122
|
|
|
122
|
-
const businessButtonVersion = activeButton === 'business'
|
|
123
|
+
const businessButtonVersion = getVersion(activeButton === 'business');
|
|
123
124
|
|
|
124
125
|
const handleClick = (e: any, key: string, branches: Branch[]) => {
|
|
125
126
|
if (e.currentTarget === e.target && key === 'business') {
|
|
@@ -11,21 +11,31 @@ import { type Tab, type TabsLayoutContent } from './TabsLayoutContent';
|
|
|
11
11
|
|
|
12
12
|
const TAB_QUERY_PARAM_KEY = 'tab';
|
|
13
13
|
|
|
14
|
+
type TabCountedProps = Tab & {
|
|
15
|
+
count?: number;
|
|
16
|
+
};
|
|
14
17
|
export interface TabsLayoutProps extends TabsLayoutContent, UniBlockProps {}
|
|
15
18
|
|
|
16
19
|
export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
17
|
-
({ className = '', tabs = [], block, tabsType, ...rest }) => {
|
|
20
|
+
({ className = '', tabs = [], block, tabsType, showCounter = false, ...rest }) => {
|
|
18
21
|
const router = useRouter();
|
|
19
22
|
|
|
23
|
+
const tabsCounted: TabCountedProps[] = showCounter
|
|
24
|
+
? tabs.map((_) => ({
|
|
25
|
+
..._,
|
|
26
|
+
count: block?.slots?.[_?.text ?? '']?.length ?? 0,
|
|
27
|
+
}))
|
|
28
|
+
: tabs;
|
|
29
|
+
|
|
20
30
|
const { isReady } = router;
|
|
21
31
|
|
|
22
|
-
const [activeTabIndex, setActiveTabIndex] = useState(getInitSelectedIndex(
|
|
32
|
+
const [activeTabIndex, setActiveTabIndex] = useState(getInitSelectedIndex(tabsCounted));
|
|
23
33
|
|
|
24
|
-
const defaultSelectedTab =
|
|
34
|
+
const defaultSelectedTab = tabsCounted.findIndex((_) => Boolean(_.selected));
|
|
25
35
|
|
|
26
36
|
useEffect(() => {
|
|
27
37
|
const defaultTabIndex = router.query[TAB_QUERY_PARAM_KEY]
|
|
28
|
-
?
|
|
38
|
+
? tabsCounted.findIndex(
|
|
29
39
|
(_, index) => _.type === 'group' && String(index) === router.query[TAB_QUERY_PARAM_KEY],
|
|
30
40
|
)
|
|
31
41
|
: defaultSelectedTab;
|
|
@@ -33,7 +43,7 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
33
43
|
setActiveTabIndex(defaultTabIndex === -1 ? 0 : defaultTabIndex);
|
|
34
44
|
}, [isReady, defaultSelectedTab]);
|
|
35
45
|
|
|
36
|
-
const slotName = getSlotName(
|
|
46
|
+
const slotName = getSlotName(tabsCounted[activeTabIndex], activeTabIndex);
|
|
37
47
|
|
|
38
48
|
const updateUrlSearchTabParam = (_: TabItemBase, index: number) => {
|
|
39
49
|
const searchParams = new URLSearchParams(router.query as Record<string, string>);
|
|
@@ -47,8 +57,8 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
47
57
|
|
|
48
58
|
const handleChange = useCallback(
|
|
49
59
|
(_: TabItemBase) => {
|
|
50
|
-
const index =
|
|
51
|
-
const tab =
|
|
60
|
+
const index = tabsCounted.indexOf(_ as Tab);
|
|
61
|
+
const tab = tabsCounted[index];
|
|
52
62
|
|
|
53
63
|
setActiveTabIndex(index);
|
|
54
64
|
|
|
@@ -56,14 +66,14 @@ export const TabsLayout = UniBlock<TabsLayoutProps>(
|
|
|
56
66
|
updateUrlSearchTabParam(_, index);
|
|
57
67
|
}
|
|
58
68
|
},
|
|
59
|
-
[
|
|
69
|
+
[tabsCounted],
|
|
60
70
|
);
|
|
61
71
|
|
|
62
72
|
return (
|
|
63
73
|
<BlockWrapper className={style(className)} defaultPadding="p-0" {...rest}>
|
|
64
74
|
{renderTabsLayout({
|
|
65
|
-
items:
|
|
66
|
-
value:
|
|
75
|
+
items: tabsCounted,
|
|
76
|
+
value: tabsCounted[activeTabIndex],
|
|
67
77
|
tabsType,
|
|
68
78
|
onChange: handleChange,
|
|
69
79
|
})}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { ScrollableTabsControl } from '../../ui-kit/TabsControl/ScrollableTabsControl';
|
|
2
2
|
import { type TabItemBase } from '../../ui-kit/TabsControl/TabItem';
|
|
3
|
-
import { TabsControl } from '../../ui-kit/TabsControl/TabsControl';
|
|
4
3
|
import { type TabsControlProps, type TabsType } from '../../ui-kit/TabsControl/TabsControlProps';
|
|
5
4
|
|
|
6
5
|
interface RenderTabsProps {
|
|
@@ -10,23 +9,28 @@ interface RenderTabsProps {
|
|
|
10
9
|
tabsType?: TabsType;
|
|
11
10
|
}
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
<ScrollableTabsControl className="m-auto" {...props} tabsType="animated" />
|
|
27
|
-
</div>
|
|
28
|
-
);
|
|
29
|
-
default:
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
12
|
+
const tabsStyle: Record<TabsType, { wrapper: string; component: string }> = {
|
|
13
|
+
default: {
|
|
14
|
+
wrapper: '',
|
|
15
|
+
component: '',
|
|
16
|
+
},
|
|
17
|
+
animated: {
|
|
18
|
+
wrapper: 'border-b-8 border-primary-main bg-white',
|
|
19
|
+
component: 'm-auto',
|
|
20
|
+
},
|
|
21
|
+
underlined: {
|
|
22
|
+
wrapper: 'flex',
|
|
23
|
+
component: 'm-auto',
|
|
24
|
+
},
|
|
32
25
|
};
|
|
26
|
+
|
|
27
|
+
export const renderTabsLayout = ({ tabsType = 'animated', ...props }: RenderTabsProps) =>
|
|
28
|
+
tabsType ? (
|
|
29
|
+
<div className={tabsStyle[tabsType].wrapper}>
|
|
30
|
+
<ScrollableTabsControl
|
|
31
|
+
className={tabsStyle[tabsType].component}
|
|
32
|
+
tabsType={tabsType}
|
|
33
|
+
{...props}
|
|
34
|
+
/>
|
|
35
|
+
</div>
|
|
36
|
+
) : null;
|
|
@@ -18,18 +18,16 @@ const badgeTextColorStyleMap: Record<string, TextColor> = {
|
|
|
18
18
|
secondary: 'text-secondary-text',
|
|
19
19
|
};
|
|
20
20
|
|
|
21
|
-
export const Badge = JSX<BadgeProps>(({ count, version = 'secondary' }) =>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
>
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
);
|
|
35
|
-
});
|
|
21
|
+
export const Badge = JSX<BadgeProps>(({ count, version = 'secondary' }) => (
|
|
22
|
+
<div
|
|
23
|
+
className={style(
|
|
24
|
+
'w-6 h-6 rounded-full flex items-center justify-center',
|
|
25
|
+
badgeBgStyleMap[version],
|
|
26
|
+
)}
|
|
27
|
+
role="status"
|
|
28
|
+
>
|
|
29
|
+
<Text size="text-xs" color={badgeTextColorStyleMap[version]}>
|
|
30
|
+
{count}
|
|
31
|
+
</Text>
|
|
32
|
+
</div>
|
|
33
|
+
));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback, useMemo } from '@redneckz/uni-jsx/lib/hooks';
|
|
2
2
|
import { type BlockDef } from '../../model/ContentPageDef';
|
|
3
|
-
import {
|
|
3
|
+
import { getVersion } from '../../utils/getVersion';
|
|
4
4
|
import { type TabItemBase } from '../TabsControl/TabItem';
|
|
5
5
|
import { type TabsControlProps } from '../TabsControl/TabsControlProps';
|
|
6
6
|
import { getBadgeCount } from './getBadgeCount';
|
|
@@ -40,12 +40,8 @@ export const useHotFilters = ({
|
|
|
40
40
|
() =>
|
|
41
41
|
hotFilters.map((_) => ({
|
|
42
42
|
text: _.text,
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
version={_ === hotFilters[activeItemIndex] ? 'primary' : 'secondary'}
|
|
46
|
-
count={getBadgeCount(blocks, _.filter)}
|
|
47
|
-
/>
|
|
48
|
-
),
|
|
43
|
+
count: getBadgeCount(blocks, _.filter),
|
|
44
|
+
version: getVersion(_ === hotFilters[activeItemIndex]),
|
|
49
45
|
})),
|
|
50
46
|
[hotFilters, blocks, activeItemIndex],
|
|
51
47
|
);
|
|
@@ -4,18 +4,23 @@ import { ScrollLeftButton, ScrollRightButton } from '../LinkButton/ArrowButton';
|
|
|
4
4
|
import { SwipeListContainer } from '../SwipeListControl/SwipeListContainer';
|
|
5
5
|
import { useSwipeListScroll } from '../SwipeListControl/useSwipeListScroll';
|
|
6
6
|
import { renderTab } from './renderTab';
|
|
7
|
-
import { type TabsControlProps } from './TabsControlProps';
|
|
7
|
+
import { type TabsControlProps, type TabsType } from './TabsControlProps';
|
|
8
8
|
|
|
9
9
|
const scrollButtonStyle = 'hidden sm:flex absolute z-40';
|
|
10
10
|
|
|
11
|
-
const
|
|
11
|
+
const scrollStyle: Record<TabsType, { item: string; gap: number; buttonTop: string }> = {
|
|
12
|
+
default: {
|
|
13
|
+
item: 'flex-1',
|
|
14
|
+
gap: 0,
|
|
15
|
+
buttonTop: 'top-0',
|
|
16
|
+
},
|
|
12
17
|
animated: {
|
|
13
|
-
|
|
18
|
+
item: 'flex',
|
|
14
19
|
gap: 8,
|
|
15
20
|
buttonTop: 'top-5',
|
|
16
21
|
},
|
|
17
22
|
underlined: {
|
|
18
|
-
|
|
23
|
+
item: '',
|
|
19
24
|
gap: 0,
|
|
20
25
|
buttonTop: 'top-0',
|
|
21
26
|
},
|
|
@@ -33,28 +38,20 @@ export const ScrollableTabsControl = JSX<TabsControlProps>(
|
|
|
33
38
|
containerRef={containerRef}
|
|
34
39
|
snapAlign="snap-start"
|
|
35
40
|
onVisibleIndicesChange={scroll.handleVisibleIndicesChange}
|
|
36
|
-
itemClassName={
|
|
37
|
-
gap={
|
|
41
|
+
itemClassName={scrollStyle[tabsType].item}
|
|
42
|
+
gap={scrollStyle[tabsType].gap}
|
|
38
43
|
>
|
|
39
44
|
{items.map(renderTab(value, onChange, tabsType))}
|
|
40
45
|
</SwipeListContainer>
|
|
41
46
|
{scroll.canScrollLeft ? (
|
|
42
47
|
<ScrollLeftButton
|
|
43
|
-
className={style(
|
|
44
|
-
'left-6',
|
|
45
|
-
scrollButtonStyle,
|
|
46
|
-
scrollStyleType[tabsType].buttonTop as string,
|
|
47
|
-
)}
|
|
48
|
+
className={style('left-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop)}
|
|
48
49
|
onClick={scroll.scrollLeft}
|
|
49
50
|
/>
|
|
50
51
|
) : null}
|
|
51
52
|
{scroll.canScrollRight ? (
|
|
52
53
|
<ScrollRightButton
|
|
53
|
-
className={style(
|
|
54
|
-
'right-6',
|
|
55
|
-
scrollButtonStyle,
|
|
56
|
-
scrollStyleType[tabsType].buttonTop as string,
|
|
57
|
-
)}
|
|
54
|
+
className={style('right-6', scrollButtonStyle, scrollStyle[tabsType].buttonTop)}
|
|
58
55
|
onClick={scroll.scrollRight}
|
|
59
56
|
/>
|
|
60
57
|
) : null}
|
|
@@ -4,12 +4,11 @@ import { useLink } from '../../hooks/useLink';
|
|
|
4
4
|
import { type DescriptionProps, type TitleProps } from '../../model/HeadlineType';
|
|
5
5
|
import { type LinkProps } from '../../model/LinkProps';
|
|
6
6
|
import { type IconProps } from '../../model/Picture';
|
|
7
|
-
import { type VNode } from '../../model/VNode';
|
|
8
7
|
import { TabItemInner } from './TabItemInner';
|
|
9
8
|
import { type TabsControlProps, type TabsType } from './TabsControlProps';
|
|
10
9
|
export interface TabItemBase extends LinkProps, TitleProps, DescriptionProps, IconProps {
|
|
11
10
|
name?: string;
|
|
12
|
-
|
|
11
|
+
count?: number;
|
|
13
12
|
}
|
|
14
13
|
|
|
15
14
|
export interface TabItemProps {
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { JSX } from '@redneckz/uni-jsx';
|
|
2
|
+
import { getVersion } from '../../utils/getVersion';
|
|
2
3
|
import { style } from '../../utils/style';
|
|
4
|
+
import { Badge } from '../Badge/Badge';
|
|
3
5
|
import { renderTabItemInner } from './renderTabItemInner';
|
|
4
6
|
import { type TabItemProps } from './TabItem';
|
|
5
7
|
import { type TabsType } from './TabsControlProps';
|
|
@@ -32,13 +34,14 @@ const activeTabBgStyleMap: Record<TabsType, string> = {
|
|
|
32
34
|
|
|
33
35
|
interface TabItemInnerProps extends TabItemProps {
|
|
34
36
|
tag?: string;
|
|
37
|
+
count?: number;
|
|
35
38
|
}
|
|
36
39
|
|
|
37
40
|
export const TabItemInner = JSX<TabItemInnerProps>(
|
|
38
41
|
({ tag = 'div', item = {}, isActive = false, type = 'default', onClick }) => {
|
|
39
42
|
const Tag: any = tag;
|
|
40
43
|
|
|
41
|
-
const { text, description, icon,
|
|
44
|
+
const { text, description, icon, count, ...link } = item;
|
|
42
45
|
|
|
43
46
|
return (
|
|
44
47
|
<Tag
|
|
@@ -68,7 +71,11 @@ export const TabItemInner = JSX<TabItemInnerProps>(
|
|
|
68
71
|
isActive,
|
|
69
72
|
type,
|
|
70
73
|
})}
|
|
71
|
-
{
|
|
74
|
+
{Number.isInteger(count) ? (
|
|
75
|
+
<div className="ml-xs">
|
|
76
|
+
<Badge count={count} version={getVersion(isActive)} />
|
|
77
|
+
</div>
|
|
78
|
+
) : null}
|
|
72
79
|
</div>
|
|
73
80
|
</Tag>
|
|
74
81
|
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const getVersion = (isPrimary: boolean) => (isPrimary ? 'primary' : 'secondary');
|
package/package.json
CHANGED
|
@@ -76,6 +76,10 @@ export type FieldCommonDef = FieldDefaultDef & {
|
|
|
76
76
|
fieldType: 'common';
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* @title Значение по умолчанию
|
|
81
|
+
* @enumNames ["Валютный контроль","Документарные операции","Конверсионные операции","Иные вопросы ВЭД"]
|
|
82
|
+
*/
|
|
79
83
|
type VedTypes = 'currencyControl' | 'documentOperations' | 'conversionTransactions' | 'otherIssues';
|
|
80
84
|
|
|
81
85
|
/**
|
|
@@ -85,7 +89,6 @@ type VedTypes = 'currencyControl' | 'documentOperations' | 'conversionTransactio
|
|
|
85
89
|
export type FieldVedDef = FieldDefaultDef & {
|
|
86
90
|
/** @default "ved" */
|
|
87
91
|
fieldType: 'ved';
|
|
88
|
-
/** @title Значение по умолчанию */
|
|
89
92
|
defaultValue?: VedTypes;
|
|
90
93
|
};
|
|
91
94
|
|
|
@@ -7,6 +7,7 @@ import { ClientOnly } from '../../ui-kit/ClientOnly';
|
|
|
7
7
|
import { Heading } from '../../ui-kit/Heading/Heading';
|
|
8
8
|
import { Text } from '../../ui-kit/Text/Text';
|
|
9
9
|
import { YandexMap } from '../../ui-kit/YandexMap/YandexMap';
|
|
10
|
+
import { getVersion } from '../../utils/getVersion';
|
|
10
11
|
import { style } from '../../utils/style';
|
|
11
12
|
import { type AtmsDef } from './OfficesAtmsMapContent';
|
|
12
13
|
import { type Atm, type Branch, type RemoteWorkplace } from './OfficesAtmsMapProps';
|
|
@@ -117,9 +118,9 @@ const renderButtonsGroup = (
|
|
|
117
118
|
activeButton: string,
|
|
118
119
|
onButtonClick: (item: string) => void,
|
|
119
120
|
) => {
|
|
120
|
-
const allButtonVersion = activeButton === 'all'
|
|
121
|
+
const allButtonVersion = getVersion(activeButton === 'all');
|
|
121
122
|
|
|
122
|
-
const businessButtonVersion = activeButton === 'business'
|
|
123
|
+
const businessButtonVersion = getVersion(activeButton === 'business');
|
|
123
124
|
|
|
124
125
|
const handleClick = (e: any, key: string, branches: Branch[]) => {
|
|
125
126
|
if (e.currentTarget === e.target && key === 'business') {
|