@redneckz/wildless-cms-uni-blocks 0.8.12 → 0.8.13

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.
@@ -14,17 +14,10 @@ export const blockStyles = {
14
14
  export const BlockWrapper = JSX(({ className = '', version = 'primary', block, tag = 'section', role, children }) => {
15
15
  const Tag = tag;
16
16
  const ref = useBlockIntersectionObserver(block);
17
- const [isVisible, setVisible] = useState(true);
17
+ const [isHidden, setHidden] = useState(false);
18
18
  useEffect(() => defaultEventBus.subscribe('tab', (event) => {
19
- if (event.type === 'group') {
20
- setVisible(!block?.labels?.length ||
21
- !event.label ||
22
- Boolean(block?.labels?.includes(event.label)));
23
- }
24
- else {
25
- setVisible(true);
26
- }
19
+ setHidden(Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)));
27
20
  }), [block]);
28
- return isVisible ? (_jsx(Tag, { className: style('group', blockStyles[version], className), ...(version ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children })) : null;
21
+ return (_jsx(Tag, { className: style('group', blockStyles[version], isHidden ? 'hidden' : '', className), ...(version ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
29
22
  });
30
23
  //# sourceMappingURL=BlockWrapper.js.map
@@ -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,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,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,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;YAC1B,UAAU,CACR,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM;gBACpB,CAAC,KAAK,CAAC,KAAK;gBACZ,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAChD,CAAC;SACH;aAAM;YACL,UAAU,CAAC,IAAI,CAAC,CAAC;SAClB;IACH,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,KACtD,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,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACpD,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC,CAAC,CAAC,IAAI,CAAC;AACX,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,4BAA4B,EAAE,MAAM,sDAAsD,CAAC;AACpG,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,EAAE,SAAS,GAAG,EAAE,EAAE,OAAO,GAAG,SAAS,EAAE,KAAK,EAAE,GAAG,GAAG,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClF,MAAM,GAAG,GAAQ,GAAG,CAAC;IAErB,MAAM,GAAG,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,SAAS,CACP,GAAG,EAAE,CACH,eAAe,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACzC,SAAS,CACP,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CACvF,CAAC;IACJ,CAAC,CAAC,EACJ,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CACL,KAAC,GAAG,IACF,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,CAAC,KAChF,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,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACpD,IAAI,EAAE,IAAI,YAET,QAAQ,GACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -19,26 +19,11 @@ export const Tabs = JSX<TabsBlockProps>((props) => {
19
19
 
20
20
  const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
21
21
 
22
- useEffect(
23
- () =>
24
- defaultEventBus.subscribe('tab', (event) => {
25
- const tab = tabs?.find(checkTab(event));
26
- if (event.type === 'link' && tab) {
27
- setCurrentTab(tab);
28
- }
29
-
30
- return [];
31
- }),
32
- [tabs],
33
- );
34
-
35
- useEffect(
36
- () =>
37
- currentTab?.type === 'group'
38
- ? defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref })
39
- : undefined,
40
- [currentTab],
41
- );
22
+ useEffect(() => {
23
+ if (currentTab?.type === 'group') {
24
+ defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref });
25
+ }
26
+ }, [currentTab]);
42
27
 
43
28
  const handleClick = useCallback((selectedTab: TabData) => {
44
29
  if (selectedTab?.type === 'group') {
@@ -76,6 +61,3 @@ export const Tabs = JSX<TabsBlockProps>((props) => {
76
61
  </BlockWrapper>
77
62
  );
78
63
  });
79
-
80
- const checkTab = (event: TabActivationEvent) => (_: TabData) =>
81
- _.type === 'link' && _.href === `#${event.label}`;
@@ -25,32 +25,26 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
25
25
 
26
26
  const ref = useBlockIntersectionObserver(block);
27
27
 
28
- const [isVisible, setVisible] = useState(true);
28
+ const [isHidden, setHidden] = useState(false);
29
29
  useEffect(
30
30
  () =>
31
31
  defaultEventBus.subscribe('tab', (event) => {
32
- if (event.type === 'group') {
33
- setVisible(
34
- !block?.labels?.length ||
35
- !event.label ||
36
- Boolean(block?.labels?.includes(event.label)),
37
- );
38
- } else {
39
- setVisible(true);
40
- }
32
+ setHidden(
33
+ Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)),
34
+ );
41
35
  }),
42
36
  [block],
43
37
  );
44
38
 
45
- return isVisible ? (
39
+ return (
46
40
  <Tag
47
- className={style('group', blockStyles[version], className)}
41
+ className={style('group', blockStyles[version], isHidden ? 'hidden' : '', className)}
48
42
  {...(version ? { 'data-ver': version } : {})}
49
43
  {...(block?.anchor ? { id: block.anchor, ref } : {})}
50
44
  role={role}
51
45
  >
52
46
  {children}
53
47
  </Tag>
54
- ) : null;
48
+ );
55
49
  },
56
50
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.8.12",
3
+ "version": "0.8.13",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -19,26 +19,11 @@ export const Tabs = JSX<TabsBlockProps>((props) => {
19
19
 
20
20
  const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
21
21
 
22
- useEffect(
23
- () =>
24
- defaultEventBus.subscribe('tab', (event) => {
25
- const tab = tabs?.find(checkTab(event));
26
- if (event.type === 'link' && tab) {
27
- setCurrentTab(tab);
28
- }
29
-
30
- return [];
31
- }),
32
- [tabs],
33
- );
34
-
35
- useEffect(
36
- () =>
37
- currentTab?.type === 'group'
38
- ? defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref })
39
- : undefined,
40
- [currentTab],
41
- );
22
+ useEffect(() => {
23
+ if (currentTab?.type === 'group') {
24
+ defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref });
25
+ }
26
+ }, [currentTab]);
42
27
 
43
28
  const handleClick = useCallback((selectedTab: TabData) => {
44
29
  if (selectedTab?.type === 'group') {
@@ -76,6 +61,3 @@ export const Tabs = JSX<TabsBlockProps>((props) => {
76
61
  </BlockWrapper>
77
62
  );
78
63
  });
79
-
80
- const checkTab = (event: TabActivationEvent) => (_: TabData) =>
81
- _.type === 'link' && _.href === `#${event.label}`;
@@ -25,32 +25,26 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
25
25
 
26
26
  const ref = useBlockIntersectionObserver(block);
27
27
 
28
- const [isVisible, setVisible] = useState(true);
28
+ const [isHidden, setHidden] = useState(false);
29
29
  useEffect(
30
30
  () =>
31
31
  defaultEventBus.subscribe('tab', (event) => {
32
- if (event.type === 'group') {
33
- setVisible(
34
- !block?.labels?.length ||
35
- !event.label ||
36
- Boolean(block?.labels?.includes(event.label)),
37
- );
38
- } else {
39
- setVisible(true);
40
- }
32
+ setHidden(
33
+ Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)),
34
+ );
41
35
  }),
42
36
  [block],
43
37
  );
44
38
 
45
- return isVisible ? (
39
+ return (
46
40
  <Tag
47
- className={style('group', blockStyles[version], className)}
41
+ className={style('group', blockStyles[version], isHidden ? 'hidden' : '', className)}
48
42
  {...(version ? { 'data-ver': version } : {})}
49
43
  {...(block?.anchor ? { id: block.anchor, ref } : {})}
50
44
  role={role}
51
45
  >
52
46
  {children}
53
47
  </Tag>
54
- ) : null;
48
+ );
55
49
  },
56
50
  );