@redneckz/wildless-cms-uni-blocks 0.14.238 → 0.14.239

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.
@@ -5,6 +5,7 @@ const useEventListener_1 = require("@redneckz/uni-jsx/lib/hooks/useEventListener
5
5
  const ProjectSettings_1 = require("../ProjectSettings");
6
6
  const adjustSessionQuery_1 = require("../utils/adjustSessionQuery");
7
7
  const getSessionQuery_1 = require("../utils/getSessionQuery");
8
+ const tableFunc_1 = require("../utils/tableFunc");
8
9
  const url_1 = require("../utils/url");
9
10
  const handlerDecorator_1 = require("./handlerDecorator");
10
11
  exports.useNavigateHandler = (0, handlerDecorator_1.handlerDecorator)(() => {
@@ -25,7 +26,7 @@ const navigationHandler = (ev) => {
25
26
  ev.stopPropagation();
26
27
  const url = (0, adjustSessionQuery_1.adjustSessionQuery)(element?.href) || element?.href;
27
28
  if (url) {
28
- globalThis.location.href = url;
29
+ goTransition(element?.target)?.(url);
29
30
  }
30
31
  }
31
32
  };
@@ -36,4 +37,15 @@ const getAnchorElement = (target) => {
36
37
  }
37
38
  return _target;
38
39
  };
40
+ const goTransition = (0, tableFunc_1.tableFunc)([
41
+ [(_) => _ === '_blank', (url) => globalThis.open(url, '_blank')],
42
+ [(_) => _ === '_parent', (url) => globalThis.parent && (globalThis.parent.location.href = url)],
43
+ [
44
+ (_) => _ === '_top',
45
+ (url) => {
46
+ globalThis.top && (globalThis.top.location.href = url);
47
+ },
48
+ ],
49
+ [() => true, (url) => globalThis.location && (globalThis.location.href = url)],
50
+ ]);
39
51
  //# sourceMappingURL=useNavigateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigateHandler.js","sourceRoot":"","sources":["../../src/hooks/useNavigateHandler.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AACxD,mFAAgF;AAChF,wDAAqD;AAErD,oEAAiE;AACjE,8DAA2D;AAC3D,sCAAqC;AACrC,yDAAsD;AAIzC,QAAA,kBAAkB,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE;IACtD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAA,iCAAe,GAAE,CAAC,CAAC,oDAAoD;IACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,mCAAgB,EAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,EAAqD,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAyB,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,GAAG,iCAAe,CAAC,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IAE9C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,WAAK,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnF,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,IAAA,uCAAkB,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC;QAC/D,IAAI,GAAG,EAAE;YACP,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAChC;KACF;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,EAAE;IACnD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAK,OAAmB,CAAC,OAAO,KAAK,GAAG,EAAE;QAC/D,OAAO,GAAG,OAAO,EAAE,UAA6B,CAAC;KAClD;IAED,OAAO,OAAmC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"useNavigateHandler.js","sourceRoot":"","sources":["../../src/hooks/useNavigateHandler.ts"],"names":[],"mappings":";;AAAA,uDAAwD;AACxD,mFAAgF;AAEhF,wDAAqD;AAErD,oEAAiE;AACjE,8DAA2D;AAC3D,kDAA+C;AAC/C,sCAAqC;AACrC,yDAAsD;AAIzC,QAAA,kBAAkB,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE;IACtD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAA,iCAAe,GAAE,CAAC,CAAC,oDAAoD;IACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAA,mCAAgB,EAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,EAAqD,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAyB,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,GAAG,iCAAe,CAAC,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IAE9C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,WAAK,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnF,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,IAAA,uCAAkB,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC;QAC/D,IAAI,GAAG,EAAE;YACP,YAAY,CAAC,OAAO,EAAE,MAAgB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;SAChD;KACF;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,EAAE;IACnD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAK,OAAmB,CAAC,OAAO,KAAK,GAAG,EAAE;QAC/D,OAAO,GAAG,OAAO,EAAE,UAA6B,CAAC;KAClD;IAED,OAAO,OAAmC,CAAC;AAC7C,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,IAAA,qBAAS,EAAgC;IAC5D,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC/F;QACE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM;QACnB,CAAC,GAAG,EAAE,EAAE;YACN,UAAU,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;QACzD,CAAC;KACF;IACD,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;CAC/E,CAAC,CAAC"}
@@ -3,6 +3,7 @@ import { useEventListener } from '@redneckz/uni-jsx/lib/hooks/useEventListener';
3
3
  import { projectSettings } from '../ProjectSettings.js';
4
4
  import { adjustSessionQuery } from '../utils/adjustSessionQuery.js';
5
5
  import { getSessionQuery } from '../utils/getSessionQuery.js';
6
+ import { tableFunc } from '../utils/tableFunc.js';
6
7
  import { isURL } from '../utils/url.js';
7
8
  import { handlerDecorator } from './handlerDecorator.js';
8
9
  export const useNavigateHandler = handlerDecorator(() => {
@@ -23,7 +24,7 @@ const navigationHandler = (ev) => {
23
24
  ev.stopPropagation();
24
25
  const url = adjustSessionQuery(element?.href) || element?.href;
25
26
  if (url) {
26
- globalThis.location.href = url;
27
+ goTransition(element?.target)?.(url);
27
28
  }
28
29
  }
29
30
  };
@@ -34,4 +35,15 @@ const getAnchorElement = (target) => {
34
35
  }
35
36
  return _target;
36
37
  };
38
+ const goTransition = tableFunc([
39
+ [(_) => _ === '_blank', (url) => globalThis.open(url, '_blank')],
40
+ [(_) => _ === '_parent', (url) => globalThis.parent && (globalThis.parent.location.href = url)],
41
+ [
42
+ (_) => _ === '_top',
43
+ (url) => {
44
+ globalThis.top && (globalThis.top.location.href = url);
45
+ },
46
+ ],
47
+ [() => true, (url) => globalThis.location && (globalThis.location.href = url)],
48
+ ]);
37
49
  //# sourceMappingURL=useNavigateHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigateHandler.js","sourceRoot":"","sources":["../../src/hooks/useNavigateHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAItD,MAAM,CAAC,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,GAAG,EAAE;IACtD,SAAS,CAAC,GAAG,EAAE;QACb,eAAe,EAAE,CAAC,CAAC,oDAAoD;IACzE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,EAAqD,EAAE,EAAE;IAClF,MAAM,OAAO,GAAG,gBAAgB,CAAC,EAAE,CAAC,MAAyB,CAAC,CAAC;IAE/D,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,iBAAiB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/E,MAAM,UAAU,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC;IAE9C,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QACpD,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;KAC9C;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE;QACnF,EAAE,CAAC,cAAc,EAAE,CAAC;QACpB,EAAE,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,GAAG,GAAG,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,EAAE,IAAI,CAAC;QAC/D,IAAI,GAAG,EAAE;YACP,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;SAChC;KACF;AACH,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,MAAuB,EAAE,EAAE;IACnD,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAK,OAAmB,CAAC,OAAO,KAAK,GAAG,EAAE;QAC/D,OAAO,GAAG,OAAO,EAAE,UAA6B,CAAC;KAClD;IAED,OAAO,OAAmC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"useNavigateHandler.js","sourceRoot":"","sources":["../../src/hooks/useNavigateHandler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useEventListener } from '@redneckz/uni-jsx/lib/hooks/useEventListener';
3
+ import { type Target } from '../model/LinkProps';
3
4
  import { projectSettings } from '../ProjectSettings';
4
5
  import { type PreventableEvent } from '../ui-kit/PreventableEvent';
5
6
  import { adjustSessionQuery } from '../utils/adjustSessionQuery';
6
7
  import { getSessionQuery } from '../utils/getSessionQuery';
8
+ import { tableFunc } from '../utils/tableFunc';
7
9
  import { isURL } from '../utils/url';
8
10
  import { handlerDecorator } from './handlerDecorator';
9
11
 
@@ -33,7 +35,7 @@ const navigationHandler = (ev: PreventableEvent & { target: EventTarget | null }
33
35
 
34
36
  const url = adjustSessionQuery(element?.href) || element?.href;
35
37
  if (url) {
36
- globalThis.location.href = url;
38
+ goTransition(element?.target as Target)?.(url);
37
39
  }
38
40
  }
39
41
  };
@@ -46,3 +48,15 @@ const getAnchorElement = (target: NavigateElement) => {
46
48
 
47
49
  return _target as HTMLAnchorElement | null;
48
50
  };
51
+
52
+ const goTransition = tableFunc<Target, (url: string) => void>([
53
+ [(_) => _ === '_blank', (url) => globalThis.open(url, '_blank')],
54
+ [(_) => _ === '_parent', (url) => globalThis.parent && (globalThis.parent.location.href = url)],
55
+ [
56
+ (_) => _ === '_top',
57
+ (url) => {
58
+ globalThis.top && (globalThis.top.location.href = url);
59
+ },
60
+ ],
61
+ [() => true, (url) => globalThis.location && (globalThis.location.href = url)],
62
+ ]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redneckz/wildless-cms-uni-blocks",
3
- "version": "0.14.238",
3
+ "version": "0.14.239",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "author": "ЦК",
@@ -209,7 +209,7 @@
209
209
  "path": "lib/common.css"
210
210
  },
211
211
  {
212
- "limit": "64 kB",
212
+ "limit": "65 kB",
213
213
  "path": "bundle/bundle.umd.min.js"
214
214
  }
215
215
  ],
@@ -1,9 +1,11 @@
1
1
  import { useEffect } from '@redneckz/uni-jsx/lib/hooks';
2
2
  import { useEventListener } from '@redneckz/uni-jsx/lib/hooks/useEventListener';
3
+ import { type Target } from '../model/LinkProps';
3
4
  import { projectSettings } from '../ProjectSettings';
4
5
  import { type PreventableEvent } from '../ui-kit/PreventableEvent';
5
6
  import { adjustSessionQuery } from '../utils/adjustSessionQuery';
6
7
  import { getSessionQuery } from '../utils/getSessionQuery';
8
+ import { tableFunc } from '../utils/tableFunc';
7
9
  import { isURL } from '../utils/url';
8
10
  import { handlerDecorator } from './handlerDecorator';
9
11
 
@@ -33,7 +35,7 @@ const navigationHandler = (ev: PreventableEvent & { target: EventTarget | null }
33
35
 
34
36
  const url = adjustSessionQuery(element?.href) || element?.href;
35
37
  if (url) {
36
- globalThis.location.href = url;
38
+ goTransition(element?.target as Target)?.(url);
37
39
  }
38
40
  }
39
41
  };
@@ -46,3 +48,15 @@ const getAnchorElement = (target: NavigateElement) => {
46
48
 
47
49
  return _target as HTMLAnchorElement | null;
48
50
  };
51
+
52
+ const goTransition = tableFunc<Target, (url: string) => void>([
53
+ [(_) => _ === '_blank', (url) => globalThis.open(url, '_blank')],
54
+ [(_) => _ === '_parent', (url) => globalThis.parent && (globalThis.parent.location.href = url)],
55
+ [
56
+ (_) => _ === '_top',
57
+ (url) => {
58
+ globalThis.top && (globalThis.top.location.href = url);
59
+ },
60
+ ],
61
+ [() => true, (url) => globalThis.location && (globalThis.location.href = url)],
62
+ ]);