@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.
Files changed (79) hide show
  1. package/bundle/bundle.umd.js +33 -22
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/model/HeadlineType.d.ts +1 -1
  4. package/bundle/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  5. package/dist/components/Blocks.mobile.js +17 -13
  6. package/dist/components/Blocks.mobile.js.map +1 -1
  7. package/dist/components/MortgageFiltration/MortgageFiltration.js +5 -5
  8. package/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  9. package/dist/components/Tabs/Tabs.js +6 -6
  10. package/dist/components/Tabs/Tabs.js.map +1 -1
  11. package/dist/model/HeadlineType.d.ts +1 -1
  12. package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
  13. package/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
  14. package/dist/ui-kit/TabsControl/TabItem.js +15 -29
  15. package/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  16. package/dist/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  17. package/dist/ui-kit/TabsControl/TabItemInner.js +33 -0
  18. package/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -0
  19. package/lib/components/Blocks.mobile.js +17 -13
  20. package/lib/components/Blocks.mobile.js.map +1 -1
  21. package/lib/components/MortgageFiltration/MortgageFiltration.js +5 -5
  22. package/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  23. package/lib/components/Tabs/Tabs.js +6 -6
  24. package/lib/components/Tabs/Tabs.js.map +1 -1
  25. package/lib/model/HeadlineType.d.ts +1 -1
  26. package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
  27. package/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
  28. package/lib/ui-kit/TabsControl/TabItem.js +15 -29
  29. package/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  30. package/lib/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  31. package/lib/ui-kit/TabsControl/TabItemInner.js +31 -0
  32. package/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -0
  33. package/mobile/bundle/bundle.umd.js +98 -79
  34. package/mobile/bundle/bundle.umd.min.js +1 -1
  35. package/mobile/bundle/model/HeadlineType.d.ts +1 -1
  36. package/mobile/bundle/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  37. package/mobile/dist/components/Blocks.js +17 -13
  38. package/mobile/dist/components/Blocks.js.map +1 -1
  39. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js +5 -5
  40. package/mobile/dist/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  41. package/mobile/dist/components/Tabs/Tabs.js +6 -6
  42. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  43. package/mobile/dist/model/HeadlineType.d.ts +1 -1
  44. package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
  45. package/mobile/dist/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
  46. package/mobile/dist/ui-kit/TabsControl/TabItem.js +15 -29
  47. package/mobile/dist/ui-kit/TabsControl/TabItem.js.map +1 -1
  48. package/mobile/dist/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  49. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js +33 -0
  50. package/mobile/dist/ui-kit/TabsControl/TabItemInner.js.map +1 -0
  51. package/mobile/lib/components/Blocks.js +17 -13
  52. package/mobile/lib/components/Blocks.js.map +1 -1
  53. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js +5 -5
  54. package/mobile/lib/components/MortgageFiltration/MortgageFiltration.js.map +1 -1
  55. package/mobile/lib/components/Tabs/Tabs.js +6 -6
  56. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  57. package/mobile/lib/model/HeadlineType.d.ts +1 -1
  58. package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js +2 -4
  59. package/mobile/lib/ui-kit/BaseFiltration/checkShouldRenderBlock.js.map +1 -1
  60. package/mobile/lib/ui-kit/TabsControl/TabItem.js +15 -29
  61. package/mobile/lib/ui-kit/TabsControl/TabItem.js.map +1 -1
  62. package/mobile/lib/ui-kit/TabsControl/TabItemInner.d.ts +6 -0
  63. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js +31 -0
  64. package/mobile/lib/ui-kit/TabsControl/TabItemInner.js.map +1 -0
  65. package/mobile/src/components/Blocks.ts +17 -13
  66. package/mobile/src/components/MortgageFiltration/MortgageFiltration.tsx +6 -6
  67. package/mobile/src/components/Tabs/Tabs.tsx +12 -9
  68. package/mobile/src/model/HeadlineType.ts +1 -1
  69. package/mobile/src/ui-kit/BaseFiltration/checkShouldRenderBlock.ts +2 -4
  70. package/mobile/src/ui-kit/TabsControl/TabItem.tsx +18 -57
  71. package/mobile/src/ui-kit/TabsControl/TabItemInner.tsx +69 -0
  72. package/package.json +1 -1
  73. package/src/components/Blocks.mobile.ts +17 -13
  74. package/src/components/MortgageFiltration/MortgageFiltration.tsx +6 -6
  75. package/src/components/Tabs/Tabs.tsx +12 -9
  76. package/src/model/HeadlineType.ts +1 -1
  77. package/src/ui-kit/BaseFiltration/checkShouldRenderBlock.ts +2 -4
  78. package/src/ui-kit/TabsControl/TabItem.tsx +18 -57
  79. package/src/ui-kit/TabsControl/TabItemInner.tsx +69 -0
@@ -2802,10 +2802,8 @@
2802
2802
  if (typeof subPattern === 'number') {
2803
2803
  return isNumberFieldMatch(key, pattern);
2804
2804
  }
2805
- if (typeof subPattern === 'object') {
2806
- if ('min' in subPattern && 'max' in subPattern) {
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 TabItem = JSX(({ item = {}, isActive, onClick, type = 'default' }) => {
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
- const { text, ...linkProps } = link({ ...item, onClick: handleClick });
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 normalizedHotFilters = useMemo(() => hotFilters.map(({ text }) => ({
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(normalizedHotFilters.indexOf(_));
3971
- replaceFiltrationState(hotFilters[normalizedHotFilters.indexOf(_)].filter || initialFiltrationState);
3972
- }, [normalizedHotFilters]);
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: normalizedHotFilters, value: normalizedHotFilters[hotFilterIndex], onChange: handleHotFilterSelect }), renderFiltrationForm({ field, reset, filtrationSchema, resetButton }), jsx(BaseFiltrationInner, { filtrationState: filtrationState, ...rest })] }));
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 normalizedTabs = useMemo(() => tabs.map(normalizeTab), [tabs]);
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 = normalizedTabs.indexOf(_);
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: normalizedTabs,
4689
- onChange: handleChange,
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.0";
5176
+ const packageVersion = "0.13.2";
5166
5177
 
5167
5178
  exports.Blocks = Blocks;
5168
5179
  exports.ContentPage = ContentPage;