@redneckz/wildless-cms-uni-blocks 0.14.86 → 0.14.88

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 (60) hide show
  1. package/bundle/blocks.schema.json +1 -1
  2. package/bundle/bundle.umd.js +10 -4
  3. package/bundle/bundle.umd.min.js +1 -1
  4. package/bundle/components/Tabs/TabActivationEvent.d.ts +1 -0
  5. package/bundle/components/Tabs/TabsContent.d.ts +2 -0
  6. package/bundle/model/ContentPageDef.d.ts +1 -0
  7. package/dist/components/StickyBottomMenu/StickyBottomMenuItem.js +3 -1
  8. package/dist/components/StickyBottomMenu/StickyBottomMenuItem.js.map +1 -1
  9. package/dist/components/Tabs/TabActivationEvent.d.ts +1 -0
  10. package/dist/components/Tabs/Tabs.js +6 -2
  11. package/dist/components/Tabs/Tabs.js.map +1 -1
  12. package/dist/components/Tabs/TabsContent.d.ts +2 -0
  13. package/dist/model/ContentPageDef.d.ts +1 -0
  14. package/dist/ui-kit/BlockWrapper.js +3 -1
  15. package/dist/ui-kit/BlockWrapper.js.map +1 -1
  16. package/lib/components/StickyBottomMenu/StickyBottomMenuItem.js +3 -1
  17. package/lib/components/StickyBottomMenu/StickyBottomMenuItem.js.map +1 -1
  18. package/lib/components/Tabs/TabActivationEvent.d.ts +1 -0
  19. package/lib/components/Tabs/Tabs.js +6 -2
  20. package/lib/components/Tabs/Tabs.js.map +1 -1
  21. package/lib/components/Tabs/TabsContent.d.ts +2 -0
  22. package/lib/model/ContentPageDef.d.ts +1 -0
  23. package/lib/ui-kit/BlockWrapper.js +3 -1
  24. package/lib/ui-kit/BlockWrapper.js.map +1 -1
  25. package/mobile/bundle/bundle.umd.js +13 -5
  26. package/mobile/bundle/bundle.umd.min.js +1 -1
  27. package/mobile/bundle/components/Tabs/TabActivationEvent.d.ts +1 -0
  28. package/mobile/bundle/components/Tabs/TabsContent.d.ts +2 -0
  29. package/mobile/bundle/model/ContentPageDef.d.ts +1 -0
  30. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuItem.js +3 -1
  31. package/mobile/dist/components/StickyBottomMenu/StickyBottomMenuItem.js.map +1 -1
  32. package/mobile/dist/components/Tabs/TabActivationEvent.d.ts +1 -0
  33. package/mobile/dist/components/Tabs/Tabs.js +6 -2
  34. package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
  35. package/mobile/dist/components/Tabs/TabsContent.d.ts +2 -0
  36. package/mobile/dist/model/ContentPageDef.d.ts +1 -0
  37. package/mobile/dist/ui-kit/BlockWrapper.js +3 -1
  38. package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
  39. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuItem.js +3 -1
  40. package/mobile/lib/components/StickyBottomMenu/StickyBottomMenuItem.js.map +1 -1
  41. package/mobile/lib/components/Tabs/TabActivationEvent.d.ts +1 -0
  42. package/mobile/lib/components/Tabs/Tabs.js +6 -2
  43. package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
  44. package/mobile/lib/components/Tabs/TabsContent.d.ts +2 -0
  45. package/mobile/lib/model/ContentPageDef.d.ts +1 -0
  46. package/mobile/lib/ui-kit/BlockWrapper.js +3 -1
  47. package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
  48. package/mobile/src/components/StickyBottomMenu/StickyBottomMenuItem.tsx +3 -2
  49. package/mobile/src/components/Tabs/TabActivationEvent.ts +1 -0
  50. package/mobile/src/components/Tabs/Tabs.tsx +6 -2
  51. package/mobile/src/components/Tabs/TabsContent.ts +2 -0
  52. package/mobile/src/model/ContentPageDef.ts +1 -0
  53. package/mobile/src/ui-kit/BlockWrapper.tsx +5 -3
  54. package/package.json +1 -1
  55. package/src/components/StickyBottomMenu/StickyBottomMenuItem.tsx +3 -2
  56. package/src/components/Tabs/TabActivationEvent.ts +1 -0
  57. package/src/components/Tabs/Tabs.tsx +6 -2
  58. package/src/components/Tabs/TabsContent.ts +2 -0
  59. package/src/model/ContentPageDef.ts +1 -0
  60. package/src/ui-kit/BlockWrapper.tsx +5 -3
@@ -1,5 +1,6 @@
1
1
  import { type TabData } from './TabsContent';
2
2
  export interface TabActivationEvent {
3
3
  type?: TabData['type'];
4
+ groupName?: string;
4
5
  label?: string;
5
6
  }
@@ -7,6 +7,8 @@ import { type LinkProps } from '../../model/LinkProps';
7
7
  export declare type GroupTabData = TitleProps & {
8
8
  /** @default group */
9
9
  type: 'group';
10
+ /** @title Имя группы */
11
+ name?: string;
10
12
  /** @title Тег */
11
13
  ref?: string;
12
14
  };
@@ -9,6 +9,7 @@ export interface BaseBlockDef extends Slot {
9
9
  hidden?: boolean;
10
10
  anchor?: string;
11
11
  labels?: string[];
12
+ labelGroup?: string;
12
13
  }
13
14
  export interface BlockDef extends BaseBlockDef {
14
15
  mobile?: BaseBlockDef;
@@ -7,7 +7,9 @@ const ProjectSettings_1 = require("../../ProjectSettings");
7
7
  const Icon_1 = require("../../ui-kit/Icon/Icon");
8
8
  const style_1 = require("../../utils/style");
9
9
  exports.StickyBottomMenuItem = (0, uni_jsx_1.JSX)(({ isActive, item, onClick }) => {
10
- const isAnotherPortal = !ProjectSettings_1.projectSettings?.BASE_PATH || !item?.href?.startsWith(ProjectSettings_1.projectSettings.BASE_PATH);
10
+ const isAnotherPortal = ProjectSettings_1.projectSettings?.BASE_PATH
11
+ ? !item?.href?.startsWith(ProjectSettings_1.projectSettings?.BASE_PATH)
12
+ : true;
11
13
  const link = (0, useLink_1.useLink)({ isRemote: isAnotherPortal });
12
14
  const { href, onClick: handleClick } = link({ href: item?.href, onClick });
13
15
  return ((0, jsx_runtime_1.jsxs)("a", { className: (0, style_1.style)(isActive ? 'text-primary-main' : 'text-primary-text', `w-10 m-4 flex justify-center items-center flex-col text-xs cursor-pointer`), href: href, target: "_self", title: item?.title || '', onClick: handleClick, children: [(0, jsx_runtime_1.jsx)(Icon_1.Icon, { className: "w-6 h-6", name: item?.icon?.icon, iconVersion: isActive ? 'color' : 'black' }), item?.title || ''] }));
@@ -1 +1 @@
1
- {"version":3,"file":"StickyBottomMenuItem.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuItem.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAC9C,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAS7B,QAAA,oBAAoB,GAAG,IAAA,aAAG,EACrC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9B,MAAM,eAAe,GACnB,CAAC,iCAAe,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,iCAAe,CAAC,SAAS,CAAC,CAAC;IAEpF,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3E,OAAO,CACL,+BACE,SAAS,EAAE,IAAA,aAAK,EACd,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EACpD,2EAA2E,CAC5E,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,OAAO,EACd,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EACxB,OAAO,EAAE,WAAW,aAEpB,uBAAC,WAAI,IACH,SAAS,EAAC,SAAS,EACnB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACtB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GACzC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,IAChB,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"StickyBottomMenuItem.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuItem.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,iDAA8C;AAC9C,2DAAwD;AACxD,iDAA8C;AAC9C,6CAA0C;AAS7B,QAAA,oBAAoB,GAAG,IAAA,aAAG,EACrC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9B,MAAM,eAAe,GAAG,iCAAe,EAAE,SAAS;QAChD,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,iCAAe,EAAE,SAAS,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,IAAI,GAAG,IAAA,iBAAO,EAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3E,OAAO,CACL,+BACE,SAAS,EAAE,IAAA,aAAK,EACd,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EACpD,2EAA2E,CAC5E,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,OAAO,EACd,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EACxB,OAAO,EAAE,WAAW,aAEpB,uBAAC,WAAI,IACH,SAAS,EAAC,SAAS,EACnB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACtB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GACzC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,IAChB,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type TabData } from './TabsContent';
2
2
  export interface TabActivationEvent {
3
3
  type?: TabData['type'];
4
+ groupName?: string;
4
5
  label?: string;
5
6
  }
@@ -28,7 +28,11 @@ exports.Tabs = (0, uni_jsx_1.JSX)(({ className = '', isSticky, tabs = [], tabsMo
28
28
  (0, hooks_1.useEffect)(() => {
29
29
  const activeTab = tabs[activeTabIndex];
30
30
  if (activeTab?.type === 'group') {
31
- defaultEventBus_1.defaultEventBus.subject('tab', { type: activeTab.type, label: activeTab.ref });
31
+ defaultEventBus_1.defaultEventBus.subject('tab', {
32
+ type: activeTab.type,
33
+ label: activeTab.ref,
34
+ groupName: activeTab.name,
35
+ });
32
36
  }
33
37
  }, [tabs, activeTabIndex]);
34
38
  const updateUrlSearchTabParam = (_) => {
@@ -59,7 +63,7 @@ exports.Tabs = (0, uni_jsx_1.JSX)(({ className = '', isSticky, tabs = [], tabsMo
59
63
  });
60
64
  const fireTabEvent = (tab) => {
61
65
  if (tab.type === 'group') {
62
- defaultEventBus_1.defaultEventBus.fire('tab', { type: tab.type, label: tab.ref });
66
+ defaultEventBus_1.defaultEventBus.fire('tab', { type: tab.type, label: tab.ref, groupName: tab.name });
63
67
  }
64
68
  if (tab.type === 'link') {
65
69
  defaultEventBus_1.defaultEventBus.fire('tab', { type: tab.type, label: tab.href });
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import { type LinkProps } from '../../model/LinkProps';
7
7
  export declare type GroupTabData = TitleProps & {
8
8
  /** @default group */
9
9
  type: 'group';
10
+ /** @title Имя группы */
11
+ name?: string;
10
12
  /** @title Тег */
11
13
  ref?: string;
12
14
  };
@@ -9,6 +9,7 @@ export interface BaseBlockDef extends Slot {
9
9
  hidden?: boolean;
10
10
  anchor?: string;
11
11
  labels?: string[];
12
+ labelGroup?: string;
12
13
  }
13
14
  export interface BlockDef extends BaseBlockDef {
14
15
  mobile?: BaseBlockDef;
@@ -16,7 +16,9 @@ exports.BlockWrapper = (0, uni_jsx_1.JSX)(({ className, version = 'primary', isT
16
16
  const Tag = tag;
17
17
  const [isHidden, setHidden] = (0, hooks_1.useState)(false);
18
18
  (0, hooks_1.useEffect)(() => defaultEventBus_1.defaultEventBus.subscribe('tab', (event) => {
19
- setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
19
+ if (!event.groupName || event.groupName === block?.labelGroup) {
20
+ setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
21
+ }
20
22
  }), [block]);
21
23
  const isGroup = version && isTheme;
22
24
  return ((0, jsx_runtime_1.jsx)(Tag, { className: (0, style_1.style)('@container font-sans', isGroup ? 'group' : '', exports.blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor } : {}), role: role, children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,iEAA8D;AAG9D,0CAAuC;AAO1B,QAAA,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,aAAG,EAC7B,CAAC,EACC,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,MAAM,EACvB,OAAO,EACP,KAAK,EACL,GAAG,GAAG,SAAS,EACf,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,iCAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,SAAS,CACP,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;IAEnC,OAAO,CACL,uBAAC,GAAG,IACF,SAAS,EAAE,IAAA,aAAK,EACd,sBAAsB,EACtB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,mBAAW,CAAC,OAAO,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,OAAO,IAAI,cAAc,EACzB,SAAS,CACV,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,iEAA8D;AAG9D,0CAAuC;AAO1B,QAAA,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEW,QAAA,YAAY,GAAG,IAAA,aAAG,EAC7B,CAAC,EACC,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,MAAM,EACvB,OAAO,EACP,KAAK,EACL,GAAG,GAAG,SAAS,EACf,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE9C,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,iCAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,UAAU,EAAE;YAC7D,SAAS,CACP,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACrF,CAAC;SACH;IACH,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;IAEnC,OAAO,CACL,uBAAC,GAAG,IACF,SAAS,EAAE,IAAA,aAAK,EACd,sBAAsB,EACtB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,mBAAW,CAAC,OAAO,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,OAAO,IAAI,cAAc,EACzB,SAAS,CACV,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -5,7 +5,9 @@ import { projectSettings } from '../../ProjectSettings.js';
5
5
  import { Icon } from '../../ui-kit/Icon/Icon.js';
6
6
  import { style } from '../../utils/style.js';
7
7
  export const StickyBottomMenuItem = JSX(({ isActive, item, onClick }) => {
8
- const isAnotherPortal = !projectSettings?.BASE_PATH || !item?.href?.startsWith(projectSettings.BASE_PATH);
8
+ const isAnotherPortal = projectSettings?.BASE_PATH
9
+ ? !item?.href?.startsWith(projectSettings?.BASE_PATH)
10
+ : true;
9
11
  const link = useLink({ isRemote: isAnotherPortal });
10
12
  const { href, onClick: handleClick } = link({ href: item?.href, onClick });
11
13
  return (_jsxs("a", { className: style(isActive ? 'text-primary-main' : 'text-primary-text', `w-10 m-4 flex justify-center items-center flex-col text-xs cursor-pointer`), href: href, target: "_self", title: item?.title || '', onClick: handleClick, children: [_jsx(Icon, { className: "w-6 h-6", name: item?.icon?.icon, iconVersion: isActive ? 'color' : 'black' }), item?.title || ''] }));
@@ -1 +1 @@
1
- {"version":3,"file":"StickyBottomMenuItem.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9B,MAAM,eAAe,GACnB,CAAC,eAAe,EAAE,SAAS,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAEpF,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3E,OAAO,CACL,aACE,SAAS,EAAE,KAAK,CACd,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EACpD,2EAA2E,CAC5E,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,OAAO,EACd,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EACxB,OAAO,EAAE,WAAW,aAEpB,KAAC,IAAI,IACH,SAAS,EAAC,SAAS,EACnB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACtB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GACzC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,IAChB,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"StickyBottomMenuItem.js","sourceRoot":"","sources":["../../../src/components/StickyBottomMenu/StickyBottomMenuItem.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAS1C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CACrC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9B,MAAM,eAAe,GAAG,eAAe,EAAE,SAAS;QAChD,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,eAAe,EAAE,SAAS,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC;IAET,MAAM,IAAI,GAAG,OAAO,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IACpD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3E,OAAO,CACL,aACE,SAAS,EAAE,KAAK,CACd,QAAQ,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,EACpD,2EAA2E,CAC5E,EACD,IAAI,EAAE,IAAI,EACV,MAAM,EAAC,OAAO,EACd,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,EACxB,OAAO,EAAE,WAAW,aAEpB,KAAC,IAAI,IACH,SAAS,EAAC,SAAS,EACnB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EACtB,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GACzC,EACD,IAAI,EAAE,KAAK,IAAI,EAAE,IAChB,CACL,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { type TabData } from './TabsContent';
2
2
  export interface TabActivationEvent {
3
3
  type?: TabData['type'];
4
+ groupName?: string;
4
5
  label?: string;
5
6
  }
@@ -26,7 +26,11 @@ export const Tabs = JSX(({ className = '', isSticky, tabs = [], tabsMode, ...res
26
26
  useEffect(() => {
27
27
  const activeTab = tabs[activeTabIndex];
28
28
  if (activeTab?.type === 'group') {
29
- defaultEventBus.subject('tab', { type: activeTab.type, label: activeTab.ref });
29
+ defaultEventBus.subject('tab', {
30
+ type: activeTab.type,
31
+ label: activeTab.ref,
32
+ groupName: activeTab.name,
33
+ });
30
34
  }
31
35
  }, [tabs, activeTabIndex]);
32
36
  const updateUrlSearchTabParam = (_) => {
@@ -57,7 +61,7 @@ export const Tabs = JSX(({ className = '', isSticky, tabs = [], tabsMode, ...res
57
61
  });
58
62
  const fireTabEvent = (tab) => {
59
63
  if (tab.type === 'group') {
60
- defaultEventBus.fire('tab', { type: tab.type, label: tab.ref });
64
+ defaultEventBus.fire('tab', { type: tab.type, label: tab.ref, groupName: tab.name });
61
65
  }
62
66
  if (tab.type === 'link') {
63
67
  defaultEventBus.fire('tab', { type: tab.type, label: tab.href });
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ import { type LinkProps } from '../../model/LinkProps';
7
7
  export declare type GroupTabData = TitleProps & {
8
8
  /** @default group */
9
9
  type: 'group';
10
+ /** @title Имя группы */
11
+ name?: string;
10
12
  /** @title Тег */
11
13
  ref?: string;
12
14
  };
@@ -9,6 +9,7 @@ export interface BaseBlockDef extends Slot {
9
9
  hidden?: boolean;
10
10
  anchor?: string;
11
11
  labels?: string[];
12
+ labelGroup?: string;
12
13
  }
13
14
  export interface BlockDef extends BaseBlockDef {
14
15
  mobile?: BaseBlockDef;
@@ -14,7 +14,9 @@ export const BlockWrapper = JSX(({ className, version = 'primary', isTheme = tru
14
14
  const Tag = tag;
15
15
  const [isHidden, setHidden] = useState(false);
16
16
  useEffect(() => defaultEventBus.subscribe('tab', (event) => {
17
- setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
17
+ if (!event.groupName || event.groupName === block?.labelGroup) {
18
+ setHidden(Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)));
19
+ }
18
20
  }), [block]);
19
21
  const isGroup = version && isTheme;
20
22
  return (_jsx(Tag, { className: style('@container font-sans', isGroup ? 'group' : '', blockStyles[version], isHidden ? 'hidden' : '', padding || defaultPadding, className), ...(isGroup ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor } : {}), role: role, children: children }));
@@ -1 +1 @@
1
- {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EACC,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,MAAM,EACvB,OAAO,EACP,KAAK,EACL,GAAG,GAAG,SAAS,EACf,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,SAAS,CACP,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACrF,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;IAEnC,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CACd,sBAAsB,EACtB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,WAAW,CAAC,OAAO,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,OAAO,IAAI,cAAc,EACzB,SAAS,CACV,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAiC;IACvD,OAAO,EAAE,4BAA4B;IACrC,SAAS,EAAE,4BAA4B;IACvC,IAAI,EAAE,mCAAmC;IACzC,WAAW,EAAE,kCAAkC;IAC/C,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAC7B,CAAC,EACC,SAAS,EACT,OAAO,GAAG,SAAS,EACnB,OAAO,GAAG,IAAI,EACd,cAAc,GAAG,MAAM,EACvB,OAAO,EACP,KAAK,EACL,GAAG,GAAG,SAAS,EACf,IAAI,EACJ,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,KAAK,EAAE,UAAU,EAAE;YAC7D,SAAS,CACP,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACrF,CAAC;SACH;IACH,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC;IAEnC,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CACd,sBAAsB,EACtB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EACtB,WAAW,CAAC,OAAO,CAAC,EACpB,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EACxB,OAAO,IAAI,cAAc,EACzB,SAAS,CACV,KACG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC/C,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -13,8 +13,9 @@ interface StickyBottomMenuItemProps {
13
13
 
14
14
  export const StickyBottomMenuItem = JSX<StickyBottomMenuItemProps>(
15
15
  ({ isActive, item, onClick }) => {
16
- const isAnotherPortal =
17
- !projectSettings?.BASE_PATH || !item?.href?.startsWith(projectSettings.BASE_PATH);
16
+ const isAnotherPortal = projectSettings?.BASE_PATH
17
+ ? !item?.href?.startsWith(projectSettings?.BASE_PATH)
18
+ : true;
18
19
 
19
20
  const link = useLink({ isRemote: isAnotherPortal });
20
21
  const { href, onClick: handleClick } = link({ href: item?.href, onClick });
@@ -2,5 +2,6 @@ import { type TabData } from './TabsContent';
2
2
 
3
3
  export interface TabActivationEvent {
4
4
  type?: TabData['type'];
5
+ groupName?: string;
5
6
  label?: string;
6
7
  }
@@ -40,7 +40,11 @@ export const Tabs = JSX<TabsBlockProps>(
40
40
  const activeTab = tabs[activeTabIndex];
41
41
 
42
42
  if (activeTab?.type === 'group') {
43
- defaultEventBus.subject('tab', { type: activeTab.type, label: activeTab.ref });
43
+ defaultEventBus.subject('tab', {
44
+ type: activeTab.type,
45
+ label: activeTab.ref,
46
+ groupName: activeTab.name,
47
+ });
44
48
  }
45
49
  }, [tabs, activeTabIndex]);
46
50
 
@@ -88,7 +92,7 @@ export const Tabs = JSX<TabsBlockProps>(
88
92
 
89
93
  const fireTabEvent = (tab: TabData) => {
90
94
  if (tab.type === 'group') {
91
- defaultEventBus.fire('tab', { type: tab.type, label: tab.ref });
95
+ defaultEventBus.fire('tab', { type: tab.type, label: tab.ref, groupName: tab.name });
92
96
  }
93
97
  if (tab.type === 'link') {
94
98
  defaultEventBus.fire('tab', { type: tab.type, label: tab.href });
@@ -8,6 +8,8 @@ import { type LinkProps } from '../../model/LinkProps';
8
8
  export type GroupTabData = TitleProps & {
9
9
  /** @default group */
10
10
  type: 'group';
11
+ /** @title Имя группы */
12
+ name?: string;
11
13
  /** @title Тег */
12
14
  ref?: string;
13
15
  };
@@ -10,6 +10,7 @@ export interface BaseBlockDef extends Slot {
10
10
  hidden?: boolean;
11
11
  anchor?: string;
12
12
  labels?: string[]; // TODO: Remove and refactor group tabs
13
+ labelGroup?: string;
13
14
  }
14
15
 
15
16
  export interface BlockDef extends BaseBlockDef {
@@ -37,9 +37,11 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
37
37
  useEffect(
38
38
  () =>
39
39
  defaultEventBus.subscribe('tab', (event) => {
40
- setHidden(
41
- Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)),
42
- );
40
+ if (!event.groupName || event.groupName === block?.labelGroup) {
41
+ setHidden(
42
+ Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)),
43
+ );
44
+ }
43
45
  }),
44
46
  [block],
45
47
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.86",
3
+ "version": "0.14.88",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -13,8 +13,9 @@ interface StickyBottomMenuItemProps {
13
13
 
14
14
  export const StickyBottomMenuItem = JSX<StickyBottomMenuItemProps>(
15
15
  ({ isActive, item, onClick }) => {
16
- const isAnotherPortal =
17
- !projectSettings?.BASE_PATH || !item?.href?.startsWith(projectSettings.BASE_PATH);
16
+ const isAnotherPortal = projectSettings?.BASE_PATH
17
+ ? !item?.href?.startsWith(projectSettings?.BASE_PATH)
18
+ : true;
18
19
 
19
20
  const link = useLink({ isRemote: isAnotherPortal });
20
21
  const { href, onClick: handleClick } = link({ href: item?.href, onClick });
@@ -2,5 +2,6 @@ import { type TabData } from './TabsContent';
2
2
 
3
3
  export interface TabActivationEvent {
4
4
  type?: TabData['type'];
5
+ groupName?: string;
5
6
  label?: string;
6
7
  }
@@ -40,7 +40,11 @@ export const Tabs = JSX<TabsBlockProps>(
40
40
  const activeTab = tabs[activeTabIndex];
41
41
 
42
42
  if (activeTab?.type === 'group') {
43
- defaultEventBus.subject('tab', { type: activeTab.type, label: activeTab.ref });
43
+ defaultEventBus.subject('tab', {
44
+ type: activeTab.type,
45
+ label: activeTab.ref,
46
+ groupName: activeTab.name,
47
+ });
44
48
  }
45
49
  }, [tabs, activeTabIndex]);
46
50
 
@@ -88,7 +92,7 @@ export const Tabs = JSX<TabsBlockProps>(
88
92
 
89
93
  const fireTabEvent = (tab: TabData) => {
90
94
  if (tab.type === 'group') {
91
- defaultEventBus.fire('tab', { type: tab.type, label: tab.ref });
95
+ defaultEventBus.fire('tab', { type: tab.type, label: tab.ref, groupName: tab.name });
92
96
  }
93
97
  if (tab.type === 'link') {
94
98
  defaultEventBus.fire('tab', { type: tab.type, label: tab.href });
@@ -8,6 +8,8 @@ import { type LinkProps } from '../../model/LinkProps';
8
8
  export type GroupTabData = TitleProps & {
9
9
  /** @default group */
10
10
  type: 'group';
11
+ /** @title Имя группы */
12
+ name?: string;
11
13
  /** @title Тег */
12
14
  ref?: string;
13
15
  };
@@ -10,6 +10,7 @@ export interface BaseBlockDef extends Slot {
10
10
  hidden?: boolean;
11
11
  anchor?: string;
12
12
  labels?: string[]; // TODO: Remove and refactor group tabs
13
+ labelGroup?: string;
13
14
  }
14
15
 
15
16
  export interface BlockDef extends BaseBlockDef {
@@ -37,9 +37,11 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
37
37
  useEffect(
38
38
  () =>
39
39
  defaultEventBus.subscribe('tab', (event) => {
40
- setHidden(
41
- Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)),
42
- );
40
+ if (!event.groupName || event.groupName === block?.labelGroup) {
41
+ setHidden(
42
+ Boolean(event.label && block?.labels?.length && !block.labels.includes(event.label)),
43
+ );
44
+ }
43
45
  }),
44
46
  [block],
45
47
  );