@redneckz/wildless-cms-uni-blocks 0.8.11 → 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.
- package/bundle/bundle.umd.js +12 -21
- package/bundle/bundle.umd.min.js +1 -1
- package/dist/components/Tabs/Tabs.js +4 -10
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/services/BlockRouter/BlockRouter.js +4 -1
- package/dist/services/BlockRouter/BlockRouter.js.map +1 -1
- package/dist/ui-kit/BlockWrapper.js +3 -9
- package/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/lib/components/Tabs/Tabs.js +4 -10
- package/lib/components/Tabs/Tabs.js.map +1 -1
- package/lib/services/BlockRouter/BlockRouter.js +4 -1
- package/lib/services/BlockRouter/BlockRouter.js.map +1 -1
- package/lib/ui-kit/BlockWrapper.js +3 -9
- package/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +8 -11
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/dist/components/Tabs/Tabs.js +4 -10
- package/mobile/dist/components/Tabs/Tabs.js.map +1 -1
- package/mobile/dist/services/BlockRouter/BlockRouter.js +4 -1
- package/mobile/dist/services/BlockRouter/BlockRouter.js.map +1 -1
- package/mobile/dist/ui-kit/BlockWrapper.js +3 -9
- package/mobile/dist/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/lib/components/Tabs/Tabs.js +4 -10
- package/mobile/lib/components/Tabs/Tabs.js.map +1 -1
- package/mobile/lib/services/BlockRouter/BlockRouter.js +4 -1
- package/mobile/lib/services/BlockRouter/BlockRouter.js.map +1 -1
- package/mobile/lib/ui-kit/BlockWrapper.js +3 -9
- package/mobile/lib/ui-kit/BlockWrapper.js.map +1 -1
- package/mobile/src/components/Tabs/Tabs.tsx +5 -23
- package/mobile/src/services/BlockRouter/BlockRouter.ts +5 -5
- package/mobile/src/ui-kit/BlockWrapper.tsx +7 -12
- package/package.json +1 -1
- package/src/components/Tabs/Tabs.tsx +5 -23
- package/src/services/BlockRouter/BlockRouter.ts +5 -5
- package/src/ui-kit/BlockWrapper.tsx +7 -12
|
@@ -16,16 +16,10 @@ exports.blockStyles = {
|
|
|
16
16
|
exports.BlockWrapper = (0, uni_jsx_1.JSX)(({ className = '', version = 'primary', block, tag = 'section', role, children }) => {
|
|
17
17
|
const Tag = tag;
|
|
18
18
|
const ref = (0, useBlockIntersectionObserver_1.useBlockIntersectionObserver)(block);
|
|
19
|
-
const [
|
|
19
|
+
const [isHidden, setHidden] = (0, hooks_1.useState)(false);
|
|
20
20
|
(0, hooks_1.useEffect)(() => defaultEventBus_1.defaultEventBus.subscribe('tab', (event) => {
|
|
21
|
-
|
|
22
|
-
const hasSettings = block?.labels?.length || block?.anchor;
|
|
23
|
-
setVisible(event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true);
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
setVisible(true);
|
|
27
|
-
}
|
|
21
|
+
setHidden(Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)));
|
|
28
22
|
}), [block]);
|
|
29
|
-
return
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)(Tag, { className: (0, style_1.style)('group', exports.blockStyles[version], isHidden ? 'hidden' : '', className), ...(version ? { 'data-ver': version } : {}), ...(block?.anchor ? { id: block.anchor, ref } : {}), role: role, children: children }));
|
|
30
24
|
});
|
|
31
25
|
//# sourceMappingURL=BlockWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,iEAA8D;AAG9D,uGAAoG;AACpG,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,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,IAAA,2DAA4B,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"BlockWrapper.js","sourceRoot":"","sources":["../../src/ui-kit/BlockWrapper.tsx"],"names":[],"mappings":";;;AAAA,+CAAwC;AACxC,uDAAkE;AAClE,iEAA8D;AAG9D,uGAAoG;AACpG,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,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,IAAA,2DAA4B,EAAC,KAAK,CAAC,CAAC;IAEhD,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,IAAA,iBAAS,EACP,GAAG,EAAE,CACH,iCAAe,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,uBAAC,GAAG,IACF,SAAS,EAAE,IAAA,aAAK,EAAC,OAAO,EAAE,mBAAW,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"}
|
|
@@ -8,16 +8,11 @@ import { ScrollableTabs } from './ScrollableTabs.js';
|
|
|
8
8
|
export const Tabs = JSX((props) => {
|
|
9
9
|
const { className = '', tabs, showCounter, isSticky, tabsMode, ...rest } = props;
|
|
10
10
|
const [currentTab, setCurrentTab] = useState(tabs ? tabs[0] : undefined);
|
|
11
|
-
useEffect(() =>
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
setCurrentTab(tab);
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
if (currentTab?.type === 'group') {
|
|
13
|
+
defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref });
|
|
15
14
|
}
|
|
16
|
-
|
|
17
|
-
}), [tabs]);
|
|
18
|
-
useEffect(() => currentTab?.type === 'group'
|
|
19
|
-
? defaultEventBus.subject('tab', { type: currentTab.type, label: currentTab.ref })
|
|
20
|
-
: undefined, [currentTab]);
|
|
15
|
+
}, [currentTab]);
|
|
21
16
|
const handleClick = useCallback((selectedTab) => {
|
|
22
17
|
if (selectedTab?.type === 'group') {
|
|
23
18
|
defaultEventBus.fire('tab', { type: selectedTab.type, label: selectedTab.ref });
|
|
@@ -31,5 +26,4 @@ export const Tabs = JSX((props) => {
|
|
|
31
26
|
...rest,
|
|
32
27
|
}))) }));
|
|
33
28
|
});
|
|
34
|
-
const checkTab = (event) => (_) => _.type === 'link' && _.href === `#${event.label}`;
|
|
35
29
|
//# sourceMappingURL=Tabs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUlD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAiB,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEjF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,SAAS,
|
|
1
|
+
{"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../src/components/Tabs/Tabs.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAUlD,MAAM,CAAC,MAAM,IAAI,GAAG,GAAG,CAAiB,CAAC,KAAK,EAAE,EAAE;IAChD,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAEjF,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,UAAU,EAAE,IAAI,KAAK,OAAO,EAAE;YAChC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC;SAClF;IACH,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,WAAoB,EAAE,EAAE;QACvD,IAAI,WAAW,EAAE,IAAI,KAAK,OAAO,EAAE;YACjC,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC;SACjF;QACD,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,KAAC,YAAY,IACX,SAAS,EAAE,2CACT,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EACpC,IAAI,SAAS,EAAE,EACf,IAAI,EAAC,SAAS,KACV,IAAI,YAEP,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,CAC3B,KAAC,cAAc,IACb,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,KACpB,IAAI,GACR,CACH,CAAC,CAAC,CAAC,CACF,IAAI,EAAE,GAAG,CACP,SAAS,CAAC;YACR,OAAO,EAAE,WAAW;YACpB,UAAU;YACV,WAAW;YACX,GAAG,IAAI;SACR,CAAC,CACH,CACF,GACY,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
const normalizeAnchor = (anchor) => anchor?.replace('#', '') || '';
|
|
2
2
|
export function trackBlock(block) {
|
|
3
|
-
|
|
3
|
+
const hash = `#${normalizeAnchor(block?.anchor)}`;
|
|
4
|
+
if (globalThis.location?.hash !== hash) {
|
|
5
|
+
globalThis.history?.replaceState(globalThis.history?.state, '', hash);
|
|
6
|
+
}
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=BlockRouter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockRouter.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/BlockRouter.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAE5E,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,
|
|
1
|
+
{"version":3,"file":"BlockRouter.js","sourceRoot":"","sources":["../../../src/services/BlockRouter/BlockRouter.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG,CAAC,MAAe,EAAE,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;AAE5E,MAAM,UAAU,UAAU,CAAC,KAAgB;IACzC,MAAM,IAAI,GAAG,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;IAElD,IAAI,UAAU,CAAC,QAAQ,EAAE,IAAI,KAAK,IAAI,EAAE;QACtC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;KACvE;AACH,CAAC"}
|
|
@@ -14,16 +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 [
|
|
17
|
+
const [isHidden, setHidden] = useState(false);
|
|
18
18
|
useEffect(() => defaultEventBus.subscribe('tab', (event) => {
|
|
19
|
-
|
|
20
|
-
const hasSettings = block?.labels?.length || block?.anchor;
|
|
21
|
-
setVisible(event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
setVisible(true);
|
|
25
|
-
}
|
|
19
|
+
setHidden(Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)));
|
|
26
20
|
}), [block]);
|
|
27
|
-
return
|
|
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 }));
|
|
28
22
|
});
|
|
29
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,
|
|
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.
|
|
25
|
-
|
|
26
|
-
|
|
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}`;
|
|
@@ -3,9 +3,9 @@ import type { BlockDef } from '../../model/ContentPageDef';
|
|
|
3
3
|
const normalizeAnchor = (anchor?: string) => anchor?.replace('#', '') || '';
|
|
4
4
|
|
|
5
5
|
export function trackBlock(block?: BlockDef) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const hash = `#${normalizeAnchor(block?.anchor)}`;
|
|
7
|
+
|
|
8
|
+
if (globalThis.location?.hash !== hash) {
|
|
9
|
+
globalThis.history?.replaceState(globalThis.history?.state, '', hash);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
@@ -25,31 +25,26 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
|
|
|
25
25
|
|
|
26
26
|
const ref = useBlockIntersectionObserver(block);
|
|
27
27
|
|
|
28
|
-
const [
|
|
28
|
+
const [isHidden, setHidden] = useState(false);
|
|
29
29
|
useEffect(
|
|
30
30
|
() =>
|
|
31
31
|
defaultEventBus.subscribe('tab', (event) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true,
|
|
36
|
-
);
|
|
37
|
-
} else {
|
|
38
|
-
setVisible(true);
|
|
39
|
-
}
|
|
32
|
+
setHidden(
|
|
33
|
+
Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)),
|
|
34
|
+
);
|
|
40
35
|
}),
|
|
41
36
|
[block],
|
|
42
37
|
);
|
|
43
38
|
|
|
44
|
-
return
|
|
39
|
+
return (
|
|
45
40
|
<Tag
|
|
46
|
-
className={style('group', blockStyles[version], className)}
|
|
41
|
+
className={style('group', blockStyles[version], isHidden ? 'hidden' : '', className)}
|
|
47
42
|
{...(version ? { 'data-ver': version } : {})}
|
|
48
43
|
{...(block?.anchor ? { id: block.anchor, ref } : {})}
|
|
49
44
|
role={role}
|
|
50
45
|
>
|
|
51
46
|
{children}
|
|
52
47
|
</Tag>
|
|
53
|
-
)
|
|
48
|
+
);
|
|
54
49
|
},
|
|
55
50
|
);
|
package/package.json
CHANGED
|
@@ -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.
|
|
25
|
-
|
|
26
|
-
|
|
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}`;
|
|
@@ -3,9 +3,9 @@ import type { BlockDef } from '../../model/ContentPageDef';
|
|
|
3
3
|
const normalizeAnchor = (anchor?: string) => anchor?.replace('#', '') || '';
|
|
4
4
|
|
|
5
5
|
export function trackBlock(block?: BlockDef) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const hash = `#${normalizeAnchor(block?.anchor)}`;
|
|
7
|
+
|
|
8
|
+
if (globalThis.location?.hash !== hash) {
|
|
9
|
+
globalThis.history?.replaceState(globalThis.history?.state, '', hash);
|
|
10
|
+
}
|
|
11
11
|
}
|
|
@@ -25,31 +25,26 @@ export const BlockWrapper = JSX<BlockWrapperProps>(
|
|
|
25
25
|
|
|
26
26
|
const ref = useBlockIntersectionObserver(block);
|
|
27
27
|
|
|
28
|
-
const [
|
|
28
|
+
const [isHidden, setHidden] = useState(false);
|
|
29
29
|
useEffect(
|
|
30
30
|
() =>
|
|
31
31
|
defaultEventBus.subscribe('tab', (event) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
event.label ? !hasSettings || Boolean(block?.labels?.includes(event.label)) : true,
|
|
36
|
-
);
|
|
37
|
-
} else {
|
|
38
|
-
setVisible(true);
|
|
39
|
-
}
|
|
32
|
+
setHidden(
|
|
33
|
+
Boolean(event.type === 'group' && event.label && block?.labels?.includes(event.label)),
|
|
34
|
+
);
|
|
40
35
|
}),
|
|
41
36
|
[block],
|
|
42
37
|
);
|
|
43
38
|
|
|
44
|
-
return
|
|
39
|
+
return (
|
|
45
40
|
<Tag
|
|
46
|
-
className={style('group', blockStyles[version], className)}
|
|
41
|
+
className={style('group', blockStyles[version], isHidden ? 'hidden' : '', className)}
|
|
47
42
|
{...(version ? { 'data-ver': version } : {})}
|
|
48
43
|
{...(block?.anchor ? { id: block.anchor, ref } : {})}
|
|
49
44
|
role={role}
|
|
50
45
|
>
|
|
51
46
|
{children}
|
|
52
47
|
</Tag>
|
|
53
|
-
)
|
|
48
|
+
);
|
|
54
49
|
},
|
|
55
50
|
);
|