@redneckz/wildless-cms-uni-blocks 0.13.0 → 0.13.2
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/bundle.umd.js +33 -22
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/model/HeadlineType.d.ts +1 -1
- package/bundle/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/dist/components/Blocks.mobile.js +17 -13
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/MortgageFiltration/MortgageFiltration.js +5 -5
- package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/dist/components/Tabs/Tabs.js +6 -6
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/model/HeadlineType.d.ts +1 -1
- package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
- package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItem.js +15 -29
- package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/dist/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/dist/ui-kit/TabsControl/TabItemInner.js +33 -0
- package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -0
- package/lib/components/Blocks.mobile.js +17 -13
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/MortgageFiltration/MortgageFiltration.js +5 -5
- package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/lib/components/Tabs/Tabs.js +6 -6
- package/lib/components/Tabs/Tabs.js.map +1 -1
- package/lib/model/HeadlineType.d.ts +1 -1
- package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
- package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItem.js +15 -29
- package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/lib/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/lib/ui-kit/TabsControl/TabItemInner.js +31 -0
- package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -0
- package/mobile/bundle/bundle.umd.js +98 -79
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/model/HeadlineType.d.ts +1 -1
- package/mobile/bundle/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/mobile/dist/components/Blocks.js +17 -13
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +5 -5
- package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/dist/components/Tabs/Tabs.js +6 -6
- package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
- package/mobile/dist/model/HeadlineType.d.ts +1 -1
- package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
- package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItem.js +15 -29
- package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +33 -0
- package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -0
- package/mobile/lib/components/Blocks.js +17 -13
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +5 -5
- package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
- package/mobile/lib/components/Tabs/Tabs.js +6 -6
- package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
- package/mobile/lib/model/HeadlineType.d.ts +1 -1
- package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
- package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItem.js +15 -29
- package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +31 -0
- package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -0
- package/mobile/src/components/Blocks.ts +17 -13
- package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +6 -6
- package/mobile/src/components/Tabs/Tabs.tsx +12 -9
- package/mobile/src/model/HeadlineType.ts +1 -1
- package/mobile/src/ui-kit/BaseFiltration/checkShouldRenderBlock.ts +2 -4
- package/mobile/src/ui-kit/TabsControl/TabItem.tsx +18 -57
- package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +69 -0
- package/package.json +1 -1
- package/src/components/Blocks.mobile.ts +17 -13
- package/src/components/MortgageFiltration/MortgageFiltration.tsx +6 -6
- package/src/components/Tabs/Tabs.tsx +12 -9
- package/src/model/HeadlineType.ts +1 -1
- package/src/ui-kit/BaseFiltration/checkShouldRenderBlock.ts +2 -4
- package/src/ui-kit/TabsControl/TabItem.tsx +18 -57
- package/src/ui-kit/TabsControl/TabItemInner.tsx +69 -0
package/bundle/bundle.umd.js
CHANGED
|
@@ -2802,10 +2802,8 @@
|
|
|
2802
2802
|
if (typeof subPattern === 'number') {
|
|
2803
2803
|
return isNumberFieldMatch(key, pattern);
|
|
2804
2804
|
}
|
|
2805
|
-
if (typeof subPattern === 'object') {
|
|
2806
|
-
|
|
2807
|
-
return isValueInRange(key, pattern);
|
|
2808
|
-
}
|
|
2805
|
+
if (typeof subPattern === 'object' && 'min' in subPattern && 'max' in subPattern) {
|
|
2806
|
+
return isValueInRange(key, pattern);
|
|
2809
2807
|
}
|
|
2810
2808
|
return Array.isArray(subPattern)
|
|
2811
2809
|
? isMultipleFieldMatch(key, pattern)
|
|
@@ -3927,14 +3925,27 @@
|
|
|
3927
3925
|
underlined: 'bg-white',
|
|
3928
3926
|
rounded: 'bg-primary-main',
|
|
3929
3927
|
};
|
|
3930
|
-
const
|
|
3928
|
+
const TabItemInner = JSX(({ tag = 'div', item = {}, isActive, type = 'default', onClick }) => {
|
|
3929
|
+
const Tag = tag;
|
|
3930
|
+
const { text, ...link } = item;
|
|
3931
|
+
return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, onClick: onClick, ...link, children: jsx("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: jsx(Text, { size: "text-m", children: text }) }) }));
|
|
3932
|
+
});
|
|
3933
|
+
|
|
3934
|
+
const TabItem = JSX((props) => props?.item?.href ? jsx(LinkTabItem, { ...props }) : jsx(ButtonTabItem, { ...props }));
|
|
3935
|
+
const LinkTabItem = JSX((props) => {
|
|
3931
3936
|
const link = useLink();
|
|
3932
|
-
const handleClick = () => {
|
|
3937
|
+
const handleClick = useCallback(() => {
|
|
3938
|
+
props.onClick && props.onClick(props.item || {});
|
|
3939
|
+
}, [props.onClick, props.item]);
|
|
3940
|
+
const { onClick, ...item } = link({ ...props.item, onClick: handleClick });
|
|
3941
|
+
return jsx(TabItemInner, { ...props, tag: "a", item: item, onClick: onClick });
|
|
3942
|
+
});
|
|
3943
|
+
// TODO: Update handlerDecorator (support buttons?)
|
|
3944
|
+
const ButtonTabItem = JSX(({ item = {}, onClick, ...rest }) => {
|
|
3945
|
+
const handleClick = useCallback(() => {
|
|
3933
3946
|
onClick && onClick(item);
|
|
3934
|
-
};
|
|
3935
|
-
|
|
3936
|
-
const Tag = item.href ? 'a' : 'div';
|
|
3937
|
-
return (jsx(Tag, { className: style('h-12', 'block flex-1', 'cursor-pointer', tabPaddingStyleMap[type], isActive ? activeTabBgStyleMap[type] : tabBgStyleMap[type]), role: "tab", "aria-selected": isActive, ...linkProps, children: jsx("div", { className: style('h-full', 'flex justify-center items-center', 'text-center whitespace-nowrap', isActive ? activeTabTextStyleMap[type] : tabTextStyle), children: jsx(Text, { size: "text-m", children: text }) }) }));
|
|
3947
|
+
}, [onClick, item]);
|
|
3948
|
+
return jsx(TabItemInner, { item: item, onClick: handleClick, ...rest });
|
|
3938
3949
|
});
|
|
3939
3950
|
|
|
3940
3951
|
const renderTab = (activeTab, onClick, type) => (tab, i) => (jsx(TabItem, { isActive: tab === activeTab, onClick: onClick, type: type, item: tab }, String(i)));
|
|
@@ -3962,19 +3973,19 @@
|
|
|
3962
3973
|
};
|
|
3963
3974
|
const MortgageFiltration = JSX(({ className, hotFilters = [], filtrationSchema = {}, resetButton, ...rest }) => {
|
|
3964
3975
|
const [filtrationState, { field, reset, update: replaceFiltrationState }] = useForm(initialFiltrationState);
|
|
3965
|
-
const
|
|
3976
|
+
const tabsControlItems = useMemo(() => hotFilters.map(({ text }) => ({
|
|
3966
3977
|
text,
|
|
3967
3978
|
})), [hotFilters]);
|
|
3968
3979
|
const [hotFilterIndex, setHotFilterIndex] = useState(0);
|
|
3969
3980
|
const handleHotFilterSelect = useCallback((_) => {
|
|
3970
|
-
setHotFilterIndex(
|
|
3971
|
-
replaceFiltrationState(hotFilters[
|
|
3972
|
-
}, [
|
|
3981
|
+
setHotFilterIndex(tabsControlItems.indexOf(_));
|
|
3982
|
+
replaceFiltrationState(hotFilters[tabsControlItems.indexOf(_)].filter || initialFiltrationState);
|
|
3983
|
+
}, [hotFilters, tabsControlItems]);
|
|
3973
3984
|
useEffect(() => {
|
|
3974
3985
|
const suggestedHotFilterIndex = hotFilters.findIndex((_) => hotFilterRecordCmp(_.filter, filtrationState));
|
|
3975
3986
|
setHotFilterIndex(suggestedHotFilterIndex !== -1 ? suggestedHotFilterIndex : 0);
|
|
3976
3987
|
}, [hotFilters, filtrationState]);
|
|
3977
|
-
return (jsxs(BlockWrapper, { className: style(className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { className: "mb-2xs", items:
|
|
3988
|
+
return (jsxs(BlockWrapper, { className: style(className), defaultPadding: "p-0", version: "transparent", ...rest, children: [jsx(TabsControl, { className: "mb-2xs", items: tabsControlItems, value: tabsControlItems[hotFilterIndex], onChange: handleHotFilterSelect }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { filtrationState: filtrationState, ...rest })] }));
|
|
3978
3989
|
});
|
|
3979
3990
|
MortgageFiltration.childrenTypes = ['ProductTile'];
|
|
3980
3991
|
MortgageFiltration.childSchema = (content) => content?.filtrationSchema || {};
|
|
@@ -4665,7 +4676,7 @@
|
|
|
4665
4676
|
};
|
|
4666
4677
|
|
|
4667
4678
|
const Tabs = JSX(({ className = '', isSticky, tabs = [], tabsMode, ...rest }) => {
|
|
4668
|
-
const
|
|
4679
|
+
const tabsControlItems = useMemo(() => tabs.map(normalizeTab), [tabs]);
|
|
4669
4680
|
const [activeTabIndex, setActiveTabIndex] = useState(0);
|
|
4670
4681
|
useEffect(() => {
|
|
4671
4682
|
if (!tabs || !tabs[0]) {
|
|
@@ -4680,15 +4691,15 @@
|
|
|
4680
4691
|
}
|
|
4681
4692
|
}, [tabs, activeTabIndex]);
|
|
4682
4693
|
const handleChange = useCallback((_) => {
|
|
4683
|
-
const index =
|
|
4694
|
+
const index = tabsControlItems.indexOf(_);
|
|
4684
4695
|
setActiveTabIndex(index);
|
|
4685
4696
|
fireTabEvent(tabs[index]);
|
|
4686
|
-
}, []);
|
|
4697
|
+
}, [tabs, tabsControlItems]);
|
|
4687
4698
|
return (jsx(BlockWrapper, { className: style(isSticky ? 'sticky top-1 z-20' : '', className), defaultPadding: "p-0", ...rest, children: renderTabs({
|
|
4688
|
-
items:
|
|
4689
|
-
|
|
4690
|
-
value: normalizedTabs[activeTabIndex],
|
|
4699
|
+
items: tabsControlItems,
|
|
4700
|
+
value: tabsControlItems[activeTabIndex],
|
|
4691
4701
|
tabsMode,
|
|
4702
|
+
onChange: handleChange,
|
|
4692
4703
|
}) }));
|
|
4693
4704
|
});
|
|
4694
4705
|
const fireTabEvent = (tab) => {
|
|
@@ -5162,7 +5173,7 @@
|
|
|
5162
5173
|
return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-3xl sticky bottom-0 pointer-events-auto" }) }));
|
|
5163
5174
|
}
|
|
5164
5175
|
|
|
5165
|
-
const packageVersion = "0.13.
|
|
5176
|
+
const packageVersion = "0.13.2";
|
|
5166
5177
|
|
|
5167
5178
|
exports.Blocks = Blocks;
|
|
5168
5179
|
exports.ContentPage = ContentPage;
|