@redneckz/wildless-cms-uni-blocks 0.8.5 → 0.8.6

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 (169) hide show
  1. package/bundle/bundle.umd.js +34 -43
  2. package/bundle/bundle.umd.min.js +1 -1
  3. package/bundle/components/Footer/Sitemap.d.ts +0 -2
  4. package/bundle/components/Header/Header.fallback.d.ts +1 -2
  5. package/bundle/hooks/useLink.d.ts +6 -5
  6. package/bundle/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  7. package/bundle/services/sitemap/isHrefActive.d.ts +4 -2
  8. package/bundle/services/sitemap/useSWRResource.d.ts +1 -1
  9. package/bundle/utils/url.d.ts +1 -3
  10. package/dist/components/Footer/Footer.fallback.js +3 -6
  11. package/dist/components/Footer/Footer.fallback.js.map +1 -1
  12. package/dist/components/Footer/Sitemap.d.ts +0 -2
  13. package/dist/components/Footer/Sitemap.js +2 -4
  14. package/dist/components/Footer/Sitemap.js.map +1 -1
  15. package/dist/components/Header/Header.fallback.d.ts +1 -2
  16. package/dist/components/Header/Header.fallback.js +2 -7
  17. package/dist/components/Header/Header.fallback.js.map +1 -1
  18. package/dist/hooks/useLink.d.ts +6 -5
  19. package/dist/hooks/useLink.js +22 -18
  20. package/dist/hooks/useLink.js.map +1 -1
  21. package/dist/services/BlockRouter/BlockRouter.js +1 -1
  22. package/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  23. package/dist/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  24. package/dist/services/sitemap/fallbackWCMSResource.js +8 -0
  25. package/dist/services/sitemap/fallbackWCMSResource.js.map +1 -0
  26. package/dist/services/sitemap/isHrefActive.d.ts +4 -2
  27. package/dist/services/sitemap/isHrefActive.js +1 -6
  28. package/dist/services/sitemap/isHrefActive.js.map +1 -1
  29. package/dist/services/sitemap/isTopItemActive.js +4 -1
  30. package/dist/services/sitemap/isTopItemActive.js.map +1 -1
  31. package/dist/services/sitemap/useSWRResource.d.ts +1 -1
  32. package/dist/services/sitemap/useSWRResource.js +2 -2
  33. package/dist/setup-fixture.js +3 -1
  34. package/dist/setup-fixture.js.map +1 -1
  35. package/dist/utils/url.d.ts +1 -3
  36. package/dist/utils/url.js +4 -8
  37. package/dist/utils/url.js.map +1 -1
  38. package/lib/components/Footer/Footer.fallback.js +1 -4
  39. package/lib/components/Footer/Footer.fallback.js.map +1 -1
  40. package/lib/components/Footer/Sitemap.d.ts +0 -2
  41. package/lib/components/Footer/Sitemap.js +2 -4
  42. package/lib/components/Footer/Sitemap.js.map +1 -1
  43. package/lib/components/Header/Header.fallback.d.ts +1 -2
  44. package/lib/components/Header/Header.fallback.js +2 -7
  45. package/lib/components/Header/Header.fallback.js.map +1 -1
  46. package/lib/hooks/useLink.d.ts +6 -5
  47. package/lib/hooks/useLink.js +23 -19
  48. package/lib/hooks/useLink.js.map +1 -1
  49. package/lib/services/BlockRouter/BlockRouter.js +1 -1
  50. package/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  51. package/lib/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  52. package/lib/services/sitemap/fallbackWCMSResource.js +5 -0
  53. package/lib/services/sitemap/fallbackWCMSResource.js.map +1 -0
  54. package/lib/services/sitemap/isHrefActive.d.ts +4 -2
  55. package/lib/services/sitemap/isHrefActive.js +1 -6
  56. package/lib/services/sitemap/isHrefActive.js.map +1 -1
  57. package/lib/services/sitemap/isTopItemActive.js +4 -1
  58. package/lib/services/sitemap/isTopItemActive.js.map +1 -1
  59. package/lib/services/sitemap/useSWRResource.d.ts +1 -1
  60. package/lib/services/sitemap/useSWRResource.js +2 -2
  61. package/lib/setup-fixture.js +3 -1
  62. package/lib/setup-fixture.js.map +1 -1
  63. package/lib/utils/url.d.ts +1 -3
  64. package/lib/utils/url.js +2 -4
  65. package/lib/utils/url.js.map +1 -1
  66. package/mobile/bundle/bundle.umd.js +32 -35
  67. package/mobile/bundle/bundle.umd.min.js +1 -1
  68. package/mobile/bundle/components/Footer/Sitemap.d.ts +0 -2
  69. package/mobile/bundle/components/Header/Header.fallback.d.ts +1 -2
  70. package/mobile/bundle/hooks/useLink.d.ts +6 -5
  71. package/mobile/bundle/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  72. package/mobile/bundle/services/sitemap/isHrefActive.d.ts +4 -2
  73. package/mobile/bundle/services/sitemap/useSWRResource.d.ts +1 -1
  74. package/mobile/bundle/utils/url.d.ts +1 -3
  75. package/mobile/dist/components/Footer/Footer.fallback.js +3 -6
  76. package/mobile/dist/components/Footer/Footer.fallback.js.map +1 -1
  77. package/mobile/dist/components/Footer/Sitemap.d.ts +0 -2
  78. package/mobile/dist/components/Footer/Sitemap.js +2 -4
  79. package/mobile/dist/components/Footer/Sitemap.js.map +1 -1
  80. package/mobile/dist/components/Header/Header.fallback.d.ts +1 -2
  81. package/mobile/dist/components/Header/Header.fallback.js +2 -7
  82. package/mobile/dist/components/Header/Header.fallback.js.map +1 -1
  83. package/mobile/dist/hooks/useLink.d.ts +6 -5
  84. package/mobile/dist/hooks/useLink.js +22 -18
  85. package/mobile/dist/hooks/useLink.js.map +1 -1
  86. package/mobile/dist/services/BlockRouter/BlockRouter.js +1 -1
  87. package/mobile/dist/services/BlockRouter/BlockRouter.js.map +1 -1
  88. package/mobile/dist/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  89. package/mobile/dist/services/sitemap/fallbackWCMSResource.js +8 -0
  90. package/mobile/dist/services/sitemap/fallbackWCMSResource.js.map +1 -0
  91. package/mobile/dist/services/sitemap/isHrefActive.d.ts +4 -2
  92. package/mobile/dist/services/sitemap/isHrefActive.js +1 -6
  93. package/mobile/dist/services/sitemap/isHrefActive.js.map +1 -1
  94. package/mobile/dist/services/sitemap/isTopItemActive.js +4 -1
  95. package/mobile/dist/services/sitemap/isTopItemActive.js.map +1 -1
  96. package/mobile/dist/services/sitemap/useSWRResource.d.ts +1 -1
  97. package/mobile/dist/services/sitemap/useSWRResource.js +2 -2
  98. package/mobile/dist/setup-fixture.js +3 -1
  99. package/mobile/dist/setup-fixture.js.map +1 -1
  100. package/mobile/dist/utils/url.d.ts +1 -3
  101. package/mobile/dist/utils/url.js +4 -8
  102. package/mobile/dist/utils/url.js.map +1 -1
  103. package/mobile/lib/components/Footer/Footer.fallback.js +1 -4
  104. package/mobile/lib/components/Footer/Footer.fallback.js.map +1 -1
  105. package/mobile/lib/components/Footer/Sitemap.d.ts +0 -2
  106. package/mobile/lib/components/Footer/Sitemap.js +2 -4
  107. package/mobile/lib/components/Footer/Sitemap.js.map +1 -1
  108. package/mobile/lib/components/Header/Header.fallback.d.ts +1 -2
  109. package/mobile/lib/components/Header/Header.fallback.js +2 -7
  110. package/mobile/lib/components/Header/Header.fallback.js.map +1 -1
  111. package/mobile/lib/hooks/useLink.d.ts +6 -5
  112. package/mobile/lib/hooks/useLink.js +23 -19
  113. package/mobile/lib/hooks/useLink.js.map +1 -1
  114. package/mobile/lib/services/BlockRouter/BlockRouter.js +1 -1
  115. package/mobile/lib/services/BlockRouter/BlockRouter.js.map +1 -1
  116. package/mobile/lib/services/sitemap/fallbackWCMSResource.d.ts +2 -0
  117. package/mobile/lib/services/sitemap/fallbackWCMSResource.js +5 -0
  118. package/mobile/lib/services/sitemap/fallbackWCMSResource.js.map +1 -0
  119. package/mobile/lib/services/sitemap/isHrefActive.d.ts +4 -2
  120. package/mobile/lib/services/sitemap/isHrefActive.js +1 -6
  121. package/mobile/lib/services/sitemap/isHrefActive.js.map +1 -1
  122. package/mobile/lib/services/sitemap/isTopItemActive.js +4 -1
  123. package/mobile/lib/services/sitemap/isTopItemActive.js.map +1 -1
  124. package/mobile/lib/services/sitemap/useSWRResource.d.ts +1 -1
  125. package/mobile/lib/services/sitemap/useSWRResource.js +2 -2
  126. package/mobile/lib/setup-fixture.js +3 -1
  127. package/mobile/lib/setup-fixture.js.map +1 -1
  128. package/mobile/lib/utils/url.d.ts +1 -3
  129. package/mobile/lib/utils/url.js +2 -4
  130. package/mobile/lib/utils/url.js.map +1 -1
  131. package/mobile/src/components/Footer/Footer.fallback.ts +1 -6
  132. package/mobile/src/components/Footer/Sitemap.tsx +2 -6
  133. package/mobile/src/components/Header/Header.fallback.ts +2 -12
  134. package/mobile/src/hooks/useLink.ts +26 -20
  135. package/mobile/src/services/BlockRouter/BlockRouter.ts +1 -1
  136. package/mobile/src/services/sitemap/fallbackWCMSResource.ts +7 -0
  137. package/mobile/src/services/sitemap/isHrefActive.ts +3 -12
  138. package/mobile/src/services/sitemap/isTopItemActive.ts +4 -1
  139. package/mobile/src/services/sitemap/useSWRResource.ts +2 -2
  140. package/mobile/src/setup-fixture.ts +3 -1
  141. package/mobile/src/utils/url.ts +4 -4
  142. package/package.json +1 -1
  143. package/src/components/Footer/Footer.fallback.ts +1 -6
  144. package/src/components/Footer/Sitemap.tsx +2 -6
  145. package/src/components/Header/Header.fallback.ts +2 -12
  146. package/src/hooks/useLink.ts +26 -20
  147. package/src/services/BlockRouter/BlockRouter.ts +1 -1
  148. package/src/services/sitemap/fallbackWCMSResource.ts +7 -0
  149. package/src/services/sitemap/isHrefActive.ts +3 -12
  150. package/src/services/sitemap/isTopItemActive.ts +4 -1
  151. package/src/services/sitemap/useSWRResource.ts +2 -2
  152. package/src/setup-fixture.ts +3 -1
  153. package/src/utils/url.ts +4 -4
  154. package/bundle/services/sitemap/mergeTopItems.d.ts +0 -2
  155. package/dist/services/sitemap/mergeTopItems.d.ts +0 -2
  156. package/dist/services/sitemap/mergeTopItems.js +0 -8
  157. package/dist/services/sitemap/mergeTopItems.js.map +0 -1
  158. package/lib/services/sitemap/mergeTopItems.d.ts +0 -2
  159. package/lib/services/sitemap/mergeTopItems.js +0 -5
  160. package/lib/services/sitemap/mergeTopItems.js.map +0 -1
  161. package/mobile/bundle/services/sitemap/mergeTopItems.d.ts +0 -2
  162. package/mobile/dist/services/sitemap/mergeTopItems.d.ts +0 -2
  163. package/mobile/dist/services/sitemap/mergeTopItems.js +0 -8
  164. package/mobile/dist/services/sitemap/mergeTopItems.js.map +0 -1
  165. package/mobile/lib/services/sitemap/mergeTopItems.d.ts +0 -2
  166. package/mobile/lib/services/sitemap/mergeTopItems.js +0 -5
  167. package/mobile/lib/services/sitemap/mergeTopItems.js.map +0 -1
  168. package/mobile/src/services/sitemap/mergeTopItems.ts +0 -12
  169. package/src/services/sitemap/mergeTopItems.ts +0 -12
@@ -342,7 +342,7 @@
342
342
  .concat(1);
343
343
  }
344
344
 
345
- const normalizeAnchor = (rawAnchor) => rawAnchor?.replace('#', '');
345
+ const normalizeAnchor = (rawAnchor) => rawAnchor?.replace('#', '') || '';
346
346
  const getURLWithAnchor = (rawAnchor) => `${globalThis.location?.pathname}#${normalizeAnchor(rawAnchor)}`;
347
347
  class BlockRouter {
348
348
  static inst = new BlockRouter();
@@ -658,10 +658,8 @@
658
658
  const isURL = (href) => Boolean(href?.includes('//'));
659
659
  const isLocalURL = (href, target) => Boolean(href && !isURL(href) && (!target || target === '_self'));
660
660
  const isHash = (href) => Boolean(href?.startsWith('#'));
661
- const withoutQuery = (href) => (href || '').replace(/\/?\?.*/, '');
662
- const getOrigin = (href) => (isURL(href) ? new URL(href).origin : undefined);
663
- const getPathname = (href) => (isURL(href) ? new URL(href).pathname : undefined);
664
- const getHash = (href) => (isURL(href) ? new URL(href).hash : undefined);
661
+ const withoutQuery = (href) => (href || '').replace(/\?.*/, '').replace(/\/$/, '');
662
+ const joinPath = (...path) => path.filter(Boolean).join('/').replace(/\/+/g, '/');
665
663
 
666
664
  var url = /*#__PURE__*/Object.freeze({
667
665
  __proto__: null,
@@ -669,9 +667,7 @@
669
667
  isLocalURL: isLocalURL,
670
668
  isHash: isHash,
671
669
  withoutQuery: withoutQuery,
672
- getOrigin: getOrigin,
673
- getPathname: getPathname,
674
- getHash: getHash
670
+ joinPath: joinPath
675
671
  });
676
672
 
677
673
  /* eslint-disable @typescript-eslint/ban-types */
@@ -704,28 +700,31 @@
704
700
  function useLink(isRemote) {
705
701
  const router = useRouter();
706
702
  const blockRouter = useBlockRouter();
707
- const handleLocalURL = (href, target) => (ev) => {
708
- if (isRemote || !isLocalURL(href, target)) {
709
- // Proceed with native handle
710
- return;
711
- }
712
- // Client routing
713
- ev?.preventDefault();
714
- if (isHash(href)) {
715
- blockRouter.goto(href);
716
- }
717
- else if (href) {
718
- router.push(href);
719
- }
720
- };
721
703
  return (props) => ({
722
704
  ...props,
705
+ href: projectSettings.BASE_PATH && props.href && !(isRemote || isURL(props.href))
706
+ ? joinPath(projectSettings.BASE_PATH, props.href)
707
+ : props.href,
723
708
  'aria-label': props.text,
724
- onClick: handlerDecorator((ev) => {
725
- props.onClick && props.onClick(ev);
726
- handleLocalURL(props.href, props.target)(ev);
727
- }, props),
709
+ onClick: handlerDecorator(handleHref(props), props),
728
710
  });
711
+ function handleHref({ href, target, onClick }) {
712
+ return (ev) => {
713
+ onClick && onClick(ev);
714
+ if (isRemote || !isLocalURL(href, target)) {
715
+ // Default routing
716
+ return;
717
+ }
718
+ // Client routing
719
+ ev?.preventDefault();
720
+ if (isHash(href)) {
721
+ blockRouter.goto(href);
722
+ }
723
+ else if (href) {
724
+ router.push(href);
725
+ }
726
+ };
727
+ }
729
728
  }
730
729
 
731
730
  const buttonStyleMap = {
@@ -2457,8 +2456,8 @@
2457
2456
  return currencies?.filter((_) => _?.currency?.id === 1 || _?.currency?.id === 2) || [];
2458
2457
  };
2459
2458
 
2460
- function useSWRResource(fileName, fallback = {}) {
2461
- const { data } = useAsyncData(`/wcms-resources/${fileName}.json`, fetchJSONUnsafe, {
2459
+ function useSWRResource(filename, fallback = {}) {
2460
+ const { data } = useAsyncData(`/wcms-resources/${filename}.json`, fetchJSONUnsafe, {
2462
2461
  fallback,
2463
2462
  });
2464
2463
  return data || {};
@@ -2544,16 +2543,10 @@
2544
2543
  return (jsx("div", { className: className, children: links?.length ? (jsx("div", { className: "flex justify-between items-center gap-5 py-5 border-solid border-x-0 border-y border-y-main-divider", children: links.map((_, i) => (jsx(HorizontalNavigationLink, { index: i, className: "text-l-light max-w-[292px]", ..._ }, String(i)))) })) : null }));
2545
2544
  });
2546
2545
 
2547
- const cmp = (a) => (b) => a?.href === b?.href;
2548
- const substitute = (items, substitution) => (items || []).map((_) => substitution?.find(cmp(_)) || _);
2549
- const subtract = (minuend, subtrahend) => (minuend || []).filter((_) => !subtrahend?.find(cmp(_)));
2550
- const mergeTopItems = (left, right) => substitute(left, right).concat(subtract(right, left));
2551
-
2552
- const Sitemap = JSX(({ className = '', items, fallback }) => {
2546
+ const Sitemap = JSX(({ className = '', fallback }) => {
2553
2547
  const link = useLink();
2554
2548
  const sitemap = useSWRResource(projectSettings.SITEMAP || 'sitemap', fallback);
2555
- const mergedItems = mergeTopItems(sitemap.topItems, items);
2556
- return (jsx("div", { className: `flex flex-grow items-start justify-between gap-[54px] xl:gap-5 ${className}`, children: mergedItems?.map((_, i) => renderColumn(link(_), i)) }));
2549
+ return (jsx("div", { className: `flex flex-grow items-start justify-between gap-[54px] xl:gap-5 ${className}`, children: sitemap.topItems?.map((_, i) => renderColumn(link(_), i)) }));
2557
2550
  });
2558
2551
  const renderColumn = (menuItem, index) => {
2559
2552
  const { text, items, href, target, onClick } = menuItem;
@@ -2640,13 +2633,11 @@
2640
2633
  const renderMonthNames = (item, colSize) => item.month?.map((_, i) => (jsx("div", { style: { flexBasis: `${colSize}%` }, children: _.text }, `monthName-${i}`)));
2641
2634
  const renderMonthImages = (item) => item.month?.map((_) => _.image?.src ? (jsx("div", { className: "h-[207px] border-r pr-3 mr-3 border-main-divider last:border-r-0 last:pr-0 last:mr-0", children: jsx(ImgInner, { image: _.image, className: "flex" }) }, `monthImage-${_.image.src}`)) : null);
2642
2635
 
2643
- const isHrefActive = (router) => ({ href }) => {
2644
- const { BASE_PATH } = projectSettings;
2645
- const relativeHref = BASE_PATH && href?.startsWith(BASE_PATH) ? href.substring(BASE_PATH.length) : href;
2646
- return withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(relativeHref));
2647
- };
2636
+ const isHrefActive = (router) => ({ href }) => withoutQuery(isURL(href) ? router.href : router.pathname).startsWith(withoutQuery(href));
2648
2637
 
2649
- const isTopItemActive = (router) => (topItem) => topItem.items?.some(isHrefActive(router)) || isHrefActive(router)(topItem);
2638
+ const isTopItemActive = (router) => (topItem) => projectSettings.BASE_PATH
2639
+ ? isHrefActive({ pathname: projectSettings.BASE_PATH })(topItem)
2640
+ : topItem.items?.some(isHrefActive(router)) || isHrefActive(router)(topItem);
2650
2641
 
2651
2642
  const TopItem = JSX(({ className = '', active, flat, children, ...rest }) => {
2652
2643
  const link = useLink(true);
@@ -4562,7 +4553,7 @@
4562
4553
  return (jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto" }) }));
4563
4554
  }
4564
4555
 
4565
- const packageVersion = "0.8.5";
4556
+ const packageVersion = "0.8.6";
4566
4557
 
4567
4558
  exports.Blocks = Blocks;
4568
4559
  exports.ContentPage = ContentPage;